/* Michi Club: clear sky, ocean blue, turquoise and sunshine. */
:root{--ink:#173b59;--green:#147bc1;--cream:#f3faff;--muted:#56728b;--coral:#fa7353;--gold:#ffb020;--teal:#13b6aa;--lilac:#2b96d6;--surface:#fff;--line:#d8e9f3}
html{min-width:0;scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);overflow-x:clip}button,input{font-family:inherit}button{touch-action:manipulation}button:disabled:hover{transform:none;filter:none}button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:3px solid #147bc1;outline-offset:4px}header{background:#fff;border-bottom:1px solid var(--line);gap:20px;box-shadow:0 3px 18px #1266a405}.brand{color:#173b59;white-space:nowrap}.brand>span:last-child{color:#147bc1!important}.logo{background:#ffb020;color:#173b59;box-shadow:0 3px 0 #e89a1933}nav{background:#f0f8fe;padding:4px;border-radius:16px;gap:3px}nav button{min-height:44px;padding:10px 17px;color:#476981;font-weight:600}nav button.active,nav button.active:hover{background:#147bc1;color:#fff;box-shadow:0 3px 8px #147bc122}nav button:hover{background:#e1f1fc;filter:none;transform:none}.wallet{background:#fff7e7;border-color:#ffd88d;color:#84500a;white-space:nowrap}.wallet span:last-child{color:#84500a!important}
main{max-width:1400px;padding-top:32px}.heading{gap:20px}.heading h1{color:var(--ink)}.eyebrow{color:#1266a4;letter-spacing:1.6px}.sub,.level,.section-title span,footer{color:var(--muted)}.sub{line-height:1.6}.day{background:#e4f6ff;color:#1266a4;border:1px solid #c8e7f8;white-space:nowrap}.layout>*,.side,.actions>*{min-width:0}
.scene{height:417px;border:6px solid #fff;border-radius:25px;background:#dcf4ff;box-shadow:0 9px 28px #1266a410}.scene-label{background:#fffffff0;color:#1266a4;font-weight:700;box-shadow:0 3px 12px #173b5910}.sound{width:44px;height:44px;background:#fff;color:#1266a4;box-shadow:0 2px 8px #173b5910;top:14px;right:14px;font-size:19px}.bubble{color:#1266a4;max-width:44%;line-height:1.5;overflow-wrap:anywhere;box-shadow:0 5px 16px #1266a414}.scene-foot{background:#fffffff0;color:#315b77;padding:5px 10px;border-radius:12px;font-weight:500}.scene .pet{cursor:pointer}.scene .pet:focus-visible{outline:3px solid #147bc1;outline-offset:-8px;border-radius:50%}
/* Keep the original room drawing, with a clean and colourful interior. */
.room [fill="#e8d9bb"]{fill:#f7fcff}.room [stroke="#d2ba9990"]{stroke:#bcdff080}.room [fill="#d6b58c"]{fill:#efc898}.room [stroke="#c59e72"]{stroke:#d5a46f}.room [stroke="#f7eddb"]{stroke:#fff}.room [stroke="#bc9f79"]{stroke:#c99866}.room [fill="#c0a37d"]{fill:#2b96d6}.room stop[stop-color="#b6d8cc"]{stop-color:#62ceff}.room stop[stop-color="#edf0ce"]{stop-color:#dff6ff}.room [fill="#a9c394"]{fill:#43c98b}.room [fill="#f3ede0"]{fill:#ffae55}.room [stroke="#fff5df"]{stroke:#fff}.room [fill="#95a27d"]{fill:#0ba99f}.room [fill="#aab28d"]{fill:#13b6aa}.room [fill="#bdc3a0"]{fill:#45cfc3}.room [fill="#e4d6b8"]{fill:#ffb020}.room [stroke="#d4c1a3"]{stroke:#fff0bc}.room [fill="#ece0bc"]{fill:#2389c4}.room [stroke="#d9cba8"]{stroke:#7bd4ed}.room [fill="#e8b3a0"]{fill:#fa7353}.room [fill="#c58e7c"]{fill:#ffb020}.room [stroke="#ecc2a4"]{stroke:#fff4c9}.room [fill="#7c9f6c"]{fill:#27b87b}.room [fill="#779364"]{fill:#1ca66b}.room [fill="#d5aa80"]{fill:#fa7353}.room [fill="#ead1a1"]{fill:#ffb020}.room [fill="#eee3c8"]{fill:#fff}.room [fill="#c5b5a0"]{fill:#13b6aa}.room [fill="#cdb78d"]{fill:#ffb020}.room [stroke="#b69770"]{stroke:#d1a477}.room [fill="#fff5d7"]{fill:#fff}
.card{background:#fff;border:1px solid var(--line);box-shadow:0 5px 18px #1266a407}.profile{border-top:4px solid #13b6aa;padding:21px}.profile .portrait{background:#e2f7ff;box-shadow:0 0 0 5px #fff,0 0 0 6px #d8e9f3}.profile h2{color:var(--ink);line-height:1.15;overflow-wrap:anywhere;min-width:0}.pet-name-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0}.pet-name-row h2{min-width:0;overflow-wrap:anywhere}.rename-button{min-height:44px;max-width:100%;padding:9px 13px;border-radius:12px;background:#eef8ff;color:#1266a4;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.choice .rename-button{width:100%;margin-top:8px;padding:8px 5px}.rename-button:hover{background:#dcefff;filter:none}.tag{background:#e8f8f6;color:#08766f;font-weight:700;margin:8px 3px}.level{line-height:1.5}.xp{height:6px;background:#e6f1f8}.xp i{background:#13b6aa}.stat label{color:#365b75}.stat label span:last-child{font-weight:700;color:var(--ink)}.bar{height:8px;background:#eaf3f9}.profile .stat:nth-last-child(5) .bar i{background:#ffb020!important}.profile .stat:nth-last-child(4) .bar i{background:#fa7353!important}.profile .stat:nth-last-child(3) .bar i{background:#13b6aa!important}.profile .stat:nth-last-child(2) .bar i{background:#147bc1!important}.bond{border:0;background:#eaf8ff;color:#1266a4;margin:18px -8px -7px;padding:13px 8px;border-radius:12px;font-weight:600;line-height:1.5}
.section-title{gap:20px}.section-title h2{color:var(--ink);line-height:1.25}.section-title span{flex-shrink:0}.actions{gap:12px}.action{min-height:120px;box-shadow:0 3px 0 #173b5907;transition:transform .16s,box-shadow .16s}.action .icon{margin-bottom:10px}.action strong{font-size:13px;line-height:1.35}.action small{line-height:1.5}.action:nth-child(1){background:#fff8e8;border-color:#ffdda1;color:#85530c}.action:nth-child(1) small{color:#90621d}.action:nth-child(2){background:#eafaf8;border-color:#a8e8e0;color:#08766f}.action:nth-child(2) small{color:#26796f}.action:nth-child(3){background:#fff1ec;border-color:#ffcbbb;color:#ae4931}.action:nth-child(3) small{color:#a65742}.action:nth-child(4){background:#eaf5ff;border-color:#c3e3fb;color:#1266a4}.action:nth-child(4) small{color:#3d7098}.action:hover{transform:translateY(-3px);box-shadow:0 6px 0 #173b5909;filter:none}
.contest{background:#147bc1;border:1px solid #1266a4;color:#fff;box-shadow:0 6px 18px #147bc11a}.contest::before{content:'✦';font-size:125px;line-height:1;color:#ffffff10;position:absolute;right:-18px;top:35px;pointer-events:none}.contest .eyebrow{color:#ffe095;font-size:9px;line-height:1.7;position:relative}.contest h3{color:#fff;position:relative}.contest p{color:#e6f6ff;position:relative}.primary{background:#147bc1;color:#fff;border:1px solid #147bc1;min-height:46px;font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;box-shadow:0 3px 0 #1266a420;transition:background .16s,transform .16s}.primary:hover{background:#1266a4;filter:none;transform:translateY(-2px)}.contest .primary{background:#ffb020;border-color:#ffb020;color:#173b59;position:relative;box-shadow:0 3px 0 #0c548b66}.contest .primary:hover{background:#ffc14d;border-color:#ffc14d}.secondary{background:#edf6fc;color:#1266a4;border:1px solid #d3e7f5;border-radius:12px;padding:12px 20px;font-size:13px;font-weight:700;min-height:46px}.secondary:hover{background:#deeffa;filter:none}
.bottom-banner{background:#eaf8ff;border-color:#b5ddf2;color:#476981;line-height:1.6}.bottom-banner strong{color:#1266a4}.bottom-banner span:last-child{color:#476981;white-space:nowrap}footer{gap:20px;line-height:1.6}.toast{background:#173b59;color:#fff;border:1px solid #2b709b;box-shadow:0 6px 26px #173b5926;line-height:1.5;z-index:20000;overflow-wrap:anywhere}
dialog{background:#fff;border:1px solid var(--line);box-shadow:0 24px 100px #173b5940;max-height:calc(100dvh - 32px);width:620px;max-width:calc(100% - 32px);padding:28px;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#0c2b4699;backdrop-filter:blur(6px)}dialog h2{color:var(--ink);line-height:1.2;padding-right:40px;overflow-wrap:anywhere}.close{background:#edf6fc;color:#1266a4;font-size:23px;width:44px;height:44px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;margin:-9px -9px 0 7px}.grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.choice{background:#f3faff;border:1px solid #cce7f7;box-shadow:0 3px 0 #147bc107;min-width:0;overflow-wrap:anywhere}.choice strong{color:#173b59;line-height:1.3}.choice small{color:#56728b;line-height:1.5}.choice:nth-child(3n+2){background:#f0fbf8;border-color:#bceadf}.choice:nth-child(3n+3){background:#fff8e9;border-color:#ffe0a5}.choice svg{max-width:100%;height:100px}.choice .primary{padding:11px 8px;font-size:12px}.item{border:1px solid var(--line);background:#fff;gap:16px}.item>div{min-width:0;overflow-wrap:anywhere}.item button{background:#e8f5ff;color:#1266a4;font-weight:700;min-height:44px;padding:10px 12px;flex-shrink:0}.item button:hover{background:#d8edff;filter:none}.item small{line-height:1.5;color:#56728b}.stage{background:#dff4ff}.result{color:var(--ink);overflow-wrap:anywhere}
.name-preview{width:105px;height:112px;margin:0 auto 15px}.name-preview svg{display:block;width:100%;height:100%}.name-form{text-align:left;margin-top:20px}.name-form label{display:block;font-size:13px;font-weight:700;color:#173b59;line-height:1.5;margin-bottom:8px}.name-input{display:block;width:100%;min-height:52px;min-width:0;background:#f6fbff;color:#173b59;border:2px solid #c8e2f3;border-radius:14px;padding:13px 15px;font-size:16px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.name-input::placeholder{color:#71899d}.name-input:focus{outline:none;border-color:#147bc1;box-shadow:0 0 0 4px #147bc114}.name-input[aria-invalid=true]{border-color:#d95538}.name-count{display:block;text-align:right;font-size:11px;color:#56728b;margin:7px 2px 0}.name-error{font-size:12px;line-height:1.5;color:#b73e27;min-height:18px;margin:7px 0}.name-actions{display:flex;align-items:stretch;gap:10px;margin-top:18px}.name-actions>*{flex:1;min-width:0}.name-actions .primary{width:auto}.name-form .sub{font-size:12px;margin:8px 0}
/* The contest is a bright blue festival, with orange marking your own cat. */
dialog.contest-modal{width:900px;padding:28px}.contest-copy{font-size:13px;line-height:1.7;color:#476981;margin:14px 0}.arena{position:relative;isolation:isolate;overflow:hidden;border:3px solid #55c9ef;border-radius:22px;padding:19px 16px 18px;margin:18px 0;background:linear-gradient(180deg,#1266a4 0,#147bc1 69%,#ffb020 69%,#ffb020 70%,#146aa6 70%,#146aa6 100%);box-shadow:0 4px 0 #147bc110}.arena::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 19%,#ffda7c 0 2px,transparent 3px),radial-gradient(circle at 30% 8%,#fff 0 2px,transparent 3px),radial-gradient(circle at 65% 15%,#83e8df 0 2px,transparent 3px),radial-gradient(circle at 89% 23%,#ffcf65 0 2px,transparent 3px)}.arena-lights{height:12px;overflow:hidden;color:transparent;position:absolute;top:0;left:0;right:0;background:repeating-linear-gradient(90deg,#ffb020 0 8px,transparent 8px 26px,#13b6aa 26px 34px,transparent 34px 52px,#fff 52px 60px,transparent 60px 78px);border-bottom:3px solid #0c548b44}.arena-title{text-align:center;font-family:Fredoka,sans-serif;color:#fff;font-size:19px;line-height:1.3;margin:6px 0 15px;letter-spacing:.3px}.contest-lineup{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;position:relative}.contestant{position:relative;text-align:center;border:1px solid #ffffff46;border-radius:16px;padding:8px 5px 10px;background:#ffffff12;min-width:0}.contestant svg{display:block;width:min(100%,104px);height:108px;margin:0 auto;filter:drop-shadow(0 5px 3px #083c602b)}.contestant-name{display:block;color:#fff;font-weight:700;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.contestant-kind{display:block;color:#e1f6ff;font-size:9px;line-height:1.4;margin-top:3px;min-height:25px}.contestant-badge{display:inline-block;font-size:9px;color:#fff;background:#0c548b;border-radius:9px;padding:3px 7px;margin-top:5px}.contestant.is-player{background:#fff2c61c;border:2px solid #ffb020;padding:7px 4px 9px}.contestant.is-player .contestant-name{color:#fff}.contestant.is-player .contestant-badge{background:#ffb020;color:#173b59;font-weight:700}.pose-arena{position:relative;text-align:center;background:#e7f7ff;border:1px solid #b8e4f6;border-radius:20px;padding:14px 12px 8px;margin:17px 0;overflow:hidden}.pose-arena p{color:#476981}.pose-arena::before{content:'✦';position:absolute;left:13%;top:26px;color:#ffb020;font-size:38px;transform:rotate(-16deg)}.pose-arena::after{content:'✧';position:absolute;right:16%;top:68px;color:#13b6aa;font-size:34px;transform:rotate(15deg)}.pose-hero{position:relative;z-index:1;width:175px;margin:0 auto;filter:drop-shadow(0 8px 4px #147bc11a)}.pose-hero svg{width:100%;height:auto;display:block}.rival-gallery{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px;padding-top:10px;border-top:1px solid #b8e4f6}.rival-mini{text-align:center;min-width:48px;max-width:75px;flex:1;font-size:9px;color:#476981;line-height:1.4;overflow-wrap:anywhere}.rival-mini svg{display:block;width:48px;height:50px;margin:0 auto 3px}.timing{height:38px;border:3px solid #fff;box-shadow:0 0 0 1px #d8e9f3;background:linear-gradient(90deg,#ffb698 35%,#26c9a3 35%,#26c9a3 65%,#ffb698 65%)}.needle{width:5px;background:#173b59;box-shadow:0 0 0 2px #fff9}.ranking-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}.ranking-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 12px;min-width:0}.ranking-row.is-player{background:#fff7e4;border:2px solid #ffb020;padding:6px 11px}.ranking-place{font-family:Fredoka,sans-serif;font-size:18px;color:#1266a4;min-width:22px;text-align:center}.ranking-cat{flex:0 0 38px;height:42px}.ranking-cat svg{width:38px;height:42px;display:block}.ranking-name{font-size:12px;font-weight:700;flex:1;min-width:0;color:var(--ink);overflow-wrap:anywhere}.ranking-name small{font-size:9px;display:block;font-weight:400;color:#56728b;margin-top:3px}.ranking-score{font-size:12px;font-weight:700;color:#1266a4;white-space:nowrap}.ranking-row.is-player .ranking-score{color:#84500a}.prize-card{background:#fff7e4!important;border:1px solid #ffd377;color:#84500a;margin:18px 0}.prize-card strong{color:#173b59}.prize-card p{font-size:13px;line-height:1.8}.prize-card small{color:#875f26;line-height:1.6}
@media(min-width:621px){.contest-lineup[data-count="7"],.contest-lineup[data-count="8"]{grid-template-columns:repeat(4,minmax(0,1fr))}.contest-lineup[data-count="9"]{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1200px){.brand>span:last-child{display:none}header{gap:14px}nav button{padding:10px 13px}.wallet{padding:10px 13px;font-size:13px}}
@media(max-width:950px){header{padding:14px 5% 10px;height:auto;flex-wrap:wrap;gap:12px}nav{order:3;width:100%;min-width:0;justify-content:center}nav button{flex:1}.layout{grid-template-columns:minmax(0,1fr)}main{padding-top:26px}.scene{height:380px}.side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contest{margin:0;display:flex;flex-direction:column;justify-content:center}.contest .primary{margin-top:8px}.heading{align-items:flex-start}.profile .stat{margin:12px 0}.day{font-size:11px;padding:10px 12px}}
@media(max-width:620px){dialog.contest-modal{padding:21px 16px}.arena{padding:18px 9px 12px}.contest-lineup{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.contestant{padding:6px 4px 8px;border-radius:12px}.contestant svg{height:83px;width:80px}.contestant-name{font-size:11px}.contestant-kind{font-size:8px;min-height:22px}.contestant-badge{font-size:8px;padding:3px 5px}.arena-title{font-size:16px;margin-bottom:11px}.ranking-list{gap:6px}.ranking-row{padding:7px;gap:6px}.ranking-row.is-player{padding:6px}.ranking-cat,.ranking-cat svg{width:30px;height:33px;flex-basis:30px}.ranking-place{font-size:14px;min-width:16px}.ranking-name,.ranking-score{font-size:10px}.ranking-name small{font-size:8px}.rival-gallery{gap:5px}.rival-mini{min-width:38px;font-size:8px}.rival-mini svg{width:38px;height:40px}.pose-hero{width:153px}}
@media(max-width:560px){header{padding:13px 16px 9px;gap:10px}.brand{font-size:25px;gap:8px}.logo{font-size:21px;padding:7px;border-radius:12px}.wallet{font-size:12px;padding:9px 11px}.wallet span:last-child{display:none}nav{gap:3px;padding:3px;border-radius:14px}nav button{font-size:11px;padding:10px 3px;min-height:44px;border-radius:11px}main{padding:24px 16px 18px}.heading{margin-bottom:20px}.heading h1{font-size:32px}.sub{font-size:12px}.day{display:none}.layout{gap:18px}.scene{height:320px;border-width:5px;border-radius:21px}.scene .pet{width:176px;height:184px;left:50%;margin-left:-88px;bottom:27px}.scene-label{left:10px;top:12px;font-size:10px;padding:8px 10px;max-width:72%}.sound{right:9px;top:9px}.bubble{font-size:11px;top:69px;left:43%;max-width:53%;padding:8px 11px}.scene-foot{font-size:9px;left:8px;bottom:8px;padding:4px 7px;max-width:95%}.section-title{gap:12px;margin-top:22px}.section-title h2{font-size:20px;max-width:230px}.section-title span{font-size:10px;text-align:right;flex:0 0 70px}.actions{grid-template-columns:1fr 1fr;gap:10px}.action{padding:15px;min-height:118px}.action .icon{margin-bottom:8px}.side{display:block}.profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:19px}.profile>.portrait,.profile>.pet-name-row,.profile>h2,.profile>.tag,.profile>.level,.profile>.xp,.profile>.bond{grid-column:1/-1}.profile>.tag{justify-self:center}.profile .portrait{height:78px;width:78px}.profile .stat{margin:9px 0}.profile .xp{margin-bottom:11px}.profile .bond{margin:13px -7px -5px}.profile h2{font-size:25px}.contest{margin-top:16px;min-height:216px;padding:21px}.contest h3{font-size:23px}.contest p{font-size:12px}.bottom-banner{padding:14px;gap:10px;font-size:11px}.bottom-banner>span:first-child{flex:0 0 25px}.bottom-banner span:last-child{display:none}footer{gap:16px;font-size:9px;line-height:1.6}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{padding:12px 9px}.choice small{font-size:10px;min-height:30px}.choice .primary{font-size:11px;padding:10px 6px}.item{gap:10px;padding:13px}.item button{white-space:nowrap;font-size:12px}dialog{padding:23px 18px;border-radius:22px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}dialog h2{font-size:27px;margin-bottom:15px}dialog .eyebrow{font-size:9px;line-height:1.6}.close{margin:-8px -6px 0 5px}.name-actions{gap:8px}.name-actions .secondary{padding:12px}.toast{bottom:16px;padding:13px 16px;font-size:12px;max-width:calc(100% - 24px);width:max-content}}
@media(max-width:380px){.brand{font-size:23px}.logo{font-size:19px;padding:7px}.wallet{padding:9px 10px}nav button{font-size:10px}main{padding-left:12px;padding-right:12px}.heading h1{font-size:30px}.scene{height:292px}.scene .pet{width:163px;height:171px;margin-left:-81.5px;bottom:24px}.bubble{font-size:10px;left:41%;max-width:55%}.section-title h2{font-size:18px}.section-title span{flex-basis:65px}.action{padding:13px}.action strong{font-size:12px}.profile{column-gap:15px}.stat label{font-size:11px}.ranking-list{grid-template-columns:1fr}.ranking-name,.ranking-score{font-size:11px}.contestant svg{width:68px;height:73px}.contestant-name{font-size:10px}.contestant-kind{font-size:7px}dialog h2{font-size:25px}.name-actions{flex-direction:column}.name-actions>*{flex:auto}.choice svg{height:88px;width:84px}}
@media(max-height:500px) and (orientation:landscape){header{padding-top:8px;padding-bottom:8px}main{padding-top:18px}.scene{height:300px}dialog,dialog.contest-modal{max-height:calc(100dvh - 16px);margin:8px auto;padding-top:18px;padding-bottom:18px}.pose-hero{width:125px}.pose-arena{margin:12px 0;padding-top:10px}.rival-gallery{margin-top:7px}.ranking-list{margin:12px 0}.name-form{margin-top:12px}.name-actions{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover,.action:hover{transform:none}}

@media(max-width:380px){.pose-hero{width:125px}.pose-arena{margin:12px 0;padding:12px 8px 8px}.pose-arena>p{font-size:12px;line-height:1.4;margin:10px 0}.rival-mini{min-width:30px}.rival-mini svg{width:32px;height:34px}.rival-gallery{gap:4px;margin-top:8px;padding-top:8px}.pose-arena::before{left:8%;font-size:28px}.pose-arena::after{right:8%;font-size:27px}}
