@layer base{:root{--ink:#1d2a3a;--ink-soft:#4a5b70;--ink-faint:#1d2a3a40;--paper:#fff;--paper-soft:#f6fbfd;--paper-glass:#fffffff2;--well:#eef7fa;--track:#d5e6ec;--sky:#bfe6f5;--sky-light:#e6f6fb;--sky-deep:#7cc4e0;--sky-veil:#bfe6f58c;--sea:#2aa8c4;--night:#2a3a4f;--night-deep:#243347;--accent:#e23b3b;--accent-dark:#b92a2a;--good:#2fae4e;--good-light:#8ff0a8;--gold:#ffd84a;--cream:#ffe9a8;--font:ui-rounded, "Hiragino Maru Gothic ProN", Quicksand, "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-display:calc(clamp(1.6rem, 4.6vw, 2.6rem));--space-2xs:4px;--space-xs:6px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--line-thin:2px;--line:3px;--line-thick:3.5px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--drop-sm:3px;--drop-md:4px;--drop-lg:8px;--focus-ring:3px solid var(--sky-deep);--fast:80ms;--medium:.15s;--slow:.3s}*,:after,:before{box-sizing:border-box}#__nuxt,body,html{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--sky);-webkit-font-smoothing:antialiased}dd,dl,figure,h1,h2,p{margin:0}ol,ul{list-style:none}fieldset,ol,ul{margin:0;padding:0}fieldset{border:0;min-width:0}legend{padding:0}h1{font-size:var(--text-display);line-height:1.05}h1,h2{text-wrap:balance}h2{font-size:var(--text-lg);line-height:1.15}p{text-wrap:pretty}img{max-width:100%;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:var(--focus-ring);outline-offset:3px}kbd{font:inherit;opacity:.7;border:1.5px solid;border-radius:5px;padding:0 .4em;font-size:.8em}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}}@layer ui{:where(.btn,.pill,.plaque,.card,.dialog,.dock,.choice,.flag,.thumb){--surface-bg:var(--paper);--surface-line:var(--line);--surface-radius:var(--radius-md);--surface-drop:var(--drop-md);--surface-ring:0px;border:var(--surface-line) solid var(--ink);border-radius:var(--surface-radius);background:var(--surface-bg);box-shadow:0 0 0 var(--surface-ring) var(--gold),0 var(--surface-drop) 0 var(--surface-ring) var(--ink);transition:translate var(--fast),box-shadow var(--fast),background var(--medium),opacity var(--fast)}.is-picked{--surface-ring:3px;translate:0 -3px}.pill{--surface-line:var(--line-thin);--surface-radius:var(--radius-pill);--surface-drop:var(--drop-sm);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.3em;padding:.2em .8em;font-weight:800;line-height:1.45;display:inline-flex}.pill--gold{--surface-bg:var(--gold)}.pill--flat{--surface-drop:0px}.plaque{--surface-radius:var(--radius-lg);text-align:center;padding:.4em 1.2em}.card,.dialog{--surface-line:var(--line-thick);--surface-radius:var(--radius-xl);--surface-drop:var(--drop-lg);display:grid}.dialog{justify-items:center;gap:var(--space-md);width:min(100%,440px);padding:var(--space-xl);text-align:center;-webkit-user-select:text;user-select:text}.dialog h2{font-size:calc(clamp(1.5rem,5vw,2rem));line-height:1.1}.dialog p:not(.error){color:var(--ink-soft)}.dock{--surface-radius:var(--radius-lg);--surface-drop:5px;--surface-bg:var(--paper-glass);left:50%;bottom:var(--space-lg);position:absolute;translate:-50%}.well{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--well)}.overlay{padding:var(--space-lg);background:var(--sky-veil);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;display:grid;position:absolute;inset:0}.overlay--clear{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;place-items:end center;padding-bottom:28px}.loading{font-size:var(--text-lg);font-weight:800}@media (height<=520px){.dock{bottom:var(--space-sm)}}.btn{--btn-drop:var(--drop-md);--surface-radius:var(--radius-pill);--surface-drop:var(--btn-drop);color:var(--ink);justify-content:center;align-items:center;gap:.5em;padding:.7em 1.5em;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){--surface-drop:calc(1px + var(--btn-drop));translate:0 -1px}.btn:active:not(:disabled){--surface-drop:1px;translate:0 calc(-1px + var(--btn-drop))}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{--surface-bg:var(--accent);color:var(--paper)}.btn--icon{padding-inline:1em}.btn--small{--btn-drop:var(--drop-sm);--surface-line:var(--line-thin);font-size:var(--text-sm);padding:.4em 1em}.btn--small.btn--icon{padding-inline:.6em}.cluster{align-items:center;gap:var(--space-sm);display:flex}.actions{gap:var(--space-md);display:flex}.actions--center{flex-wrap:wrap;justify-content:center}.actions__go{font-size:var(--text-lg);flex:1}.topbar{align-items:start;gap:var(--space-md);padding:var(--space-lg) 18px;pointer-events:none;grid-template-columns:1fr auto 1fr;display:grid;position:absolute;inset:0 0 auto}.topbar__end,.topbar__start{align-items:center;gap:var(--space-sm);pointer-events:auto;display:flex}.topbar__start{justify-self:start}.topbar__end{flex-direction:column;justify-self:end;align-items:flex-end}.topbar__middle{justify-items:center;gap:var(--space-sm);min-width:0;display:grid}.topbar h1{line-height:1}@media (width<=560px){.topbar{padding:10px var(--space-md)}.topbar--stack{grid-template-columns:1fr auto}.topbar--stack .topbar__middle{grid-area:1/1/auto/-1}}@media (height<=520px){.topbar{padding:var(--space-sm) var(--space-md)}}.field{gap:var(--space-sm);min-width:0;display:grid}.field__label{font-weight:700}.field__hint{font-size:var(--text-xs);color:var(--ink-soft)}.input{border:var(--line) solid var(--ink);border-radius:var(--radius-md);background:var(--paper-soft);width:100%;padding:.7em 1em;font-size:1.1rem}.choices{gap:var(--space-md);display:grid}.choices--row{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.choice{--surface-bg:var(--paper-soft);--surface-drop:0px;padding:var(--space-md) 10px;text-align:center;gap:2px;font-weight:800;display:grid;position:relative}.choices--row .choice{padding:var(--space-sm) var(--space-xs)}.choice.is-picked{--surface-ring:0px;--surface-bg:var(--cream);--surface-drop:var(--drop-sm);translate:0 -2px}.choice__title{font-size:var(--text-xl)}.choice__detail{font-size:var(--text-sm);color:var(--ink-soft);font-weight:400}.cover-input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}:has(>.cover-input:focus-visible){outline:var(--focus-ring);outline-offset:3px}.option{align-items:center;gap:var(--space-lg);display:flex}.option:has(.choices){flex-direction:column;align-items:stretch}.option__text{gap:var(--space-xs);flex:1;display:grid}.option__text p{font-size:.95rem;line-height:1.45}.switch{border:var(--line) solid var(--ink);border-radius:var(--radius-pill);background:var(--track);width:58px;height:32px;transition:background var(--medium);flex:none;padding:0;position:relative}.switch[aria-checked=true]{background:var(--good)}.switch__knob{border:var(--line-thin) solid var(--ink);background:var(--paper);width:22px;height:22px;transition:translate var(--medium);border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch__knob{translate:26px}.flags{justify-content:center;gap:10px;display:flex}.flag{--surface-radius:var(--radius-sm);--surface-drop:1px;opacity:.6;width:46px;height:32px;padding:0;overflow:hidden}.flag img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.flag.is-picked,.flag:hover{opacity:1}.flag.is-picked{--surface-drop:var(--drop-sm)}.thumb{--surface-bg:var(--ink);--surface-drop:0px;width:100%;color:var(--paper);text-align:left;padding:0;display:grid;position:relative;overflow:hidden}.thumb:not(.thumb--locked):hover{--surface-drop:6px;translate:0 -2px}.thumb.is-picked{--surface-drop:7px}.thumb.is-picked:hover{--surface-drop:9px;translate:0 -4px}.thumb__picture{aspect-ratio:var(--thumb-aspect,1);background:var(--thumb-bg,var(--night));display:block;overflow:hidden}.thumb__picture img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:scale .45s}.thumb:not(.thumb--locked):hover .thumb__picture img{scale:1.1}.thumb__picture--blank{background:repeating-linear-gradient(45deg,var(--night) 0 12px,var(--night-deep) 12px 24px);color:#ffffff80;place-items:center;font-size:4rem;font-weight:900;display:grid}.thumb__label{padding:var(--space-xs) 10px var(--space-sm);transition:background var(--medium);gap:1px;display:grid}.thumb.is-picked .thumb__label{background:var(--accent)}.thumb__tag{top:var(--space-sm);left:var(--space-sm);position:absolute}.thumb__check{border:var(--line-thin) solid var(--ink);background:var(--gold);width:1.7em;height:1.7em;color:var(--ink);font-size:var(--text-sm);border-radius:50%;place-items:center;transition:scale .12s;display:grid;scale:0}.thumb.is-picked .thumb__check{scale:1}.thumb--locked{cursor:default}.thumb--locked .thumb__label{color:#ffffff8c}.meter{border-radius:var(--radius-pill);background:var(--track);width:100%;height:10px;overflow:hidden}.meter__fill{background:var(--good);transform-origin:0;height:100%;transition:transform 60ms linear}.countdown{border-radius:var(--radius-pill);background:var(--ink);transform-origin:0;width:100%;height:5px;animation:linear forwards countdown-drain}.countdown--paused{opacity:.45;animation-play-state:paused}@keyframes countdown-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}}@layer game{.scene{background:var(--sky);-webkit-user-select:none;user-select:none;position:fixed}.scene,.stage{inset:0;overflow:hidden}.anchor,.layer,.marker__hit,.stage{position:absolute}.stage canvas{width:100%;height:100%;display:block}.stage--look canvas{cursor:grab;touch-action:none}.stage--look canvas:active{cursor:grabbing}.layer{pointer-events:none;inset:0}.anchor{will-change:transform;top:0;left:0}.dots{max-width:100%;text-shadow:none;flex-wrap:wrap;justify-content:center;gap:5px;padding:5px 10px}.dot{border:var(--line-thin) solid var(--ink);background:var(--paper);width:11px;height:11px;transition:background var(--medium),scale var(--medium);border-radius:50%}.dot--cleared{background:var(--good)}.dot--current{background:var(--gold);scale:1.25}.marker{--unit:40px}.marker__hit{left:calc(var(--unit) * -1.3);top:calc(var(--unit) * -1.15);width:calc(var(--unit) * 2.6);height:calc(var(--unit) * 2.1);pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;padding:0}.marker__hit:focus-visible{outline:3px solid var(--paper);outline-offset:2px;box-shadow:0 0 0 6px var(--ink)}.marker__badge{left:50%;top:calc(100% - var(--unit) * .12);font-size:clamp(.8rem,var(--unit) * .36,1.15rem);position:absolute;translate:-50%}.marker__hit:hover .marker__badge{translate:-50% -2px}.marker--current .marker__badge{--surface-bg:var(--gold)}.marker--locked:not(.marker--current) .marker__badge,.marker--planned:not(.marker--current) .marker__badge{color:var(--ink-soft)}.marker__icon{width:1.1em;height:1.1em;color:var(--good)}.marker__icon--lock{color:var(--ink-soft)}.bubble{border:var(--line-thick) solid var(--ink);background:var(--paper);width:68px;height:68px;box-shadow:0 var(--drop-md) 0 #0000002e;border-radius:50%;place-items:center;font-size:1.75rem;font-weight:800;display:grid;position:absolute;top:0;left:0;translate:-50% -50%}.bubble--wide{width:auto;min-width:96px;padding:0 var(--space-md);border-radius:var(--radius-pill);white-space:nowrap;font-size:1.3rem}.bubble--upcoming{border:var(--line) dashed #1d2a3a73;width:26px;min-width:0;height:26px;box-shadow:none;background:#ffffff73;padding:0}.bubble--cleared{animation:.35s ease-out bubble-pop}.bubble--missed{animation:.4s bubble-shake}.bubble__label--wide{font-size:var(--text-xl);letter-spacing:-.03em}.bubble__label--snug{letter-spacing:-.03em;font-size:1.35rem}.bubble__label--tight{letter-spacing:-.03em;font-size:1.15rem}.bubble__label--long{font-size:.95rem}.bubble__parts{gap:.45em;display:inline-flex}.part--done{color:var(--good)}.part--next{opacity:.35}.bubble--current .bubble__label:not(.bubble__parts),.bubble--current .part--now{animation:1.2s ease-in-out infinite bubble-pulse}.bubble__mark,.bubble__ring{inset:calc(var(--line-thick) * -1);width:calc(100% + 2 * var(--line-thick));height:calc(100% + 2 * var(--line-thick));position:absolute}.bubble__ring{fill:none;stroke:var(--good);stroke-width:8px;stroke-linecap:round;rotate:-90deg}.bubble__bar{background:#1d2a3a1f;width:auto;height:5px;position:absolute;bottom:7px;left:14px;right:14px}.bubble__bar,.bubble__ring{opacity:0;transition:opacity var(--medium)}.bubble--listening .bubble__bar,.bubble--listening .bubble__ring{opacity:1}.bubble__mark--ok{color:var(--good);transform:translate(8%,10%)scale(.85)}.bubble__mark--no{color:var(--accent)}@media (prefers-reduced-motion:reduce){.bubble,.bubble__label,.part{animation:none!important}}@keyframes bubble-pop{0%{scale:.6}60%{scale:1.18}to{scale:1}}@keyframes bubble-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes bubble-pulse{0%,to{opacity:1}50%{opacity:.45}}}@layer screens{.screen{--card-width:560px;min-height:100%;padding:var(--space-xl) var(--space-lg);background:radial-gradient(120% 60% at 50% 110%,var(--sea) 0 38%,transparent 39%),linear-gradient(var(--sky),var(--sky-light));place-items:center;display:grid}.card{width:min(100%,var(--card-width));padding:28px var(--space-xl);gap:18px;position:relative}.card__head{justify-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);text-align:center;display:grid}.card__head h1{font-size:calc(clamp(2rem,8vw,2.6rem))}.card__corner{position:absolute;top:14px;left:14px}@media (width<=480px){.card{padding:22px 14px}}.mic-check{gap:var(--space-sm);font-size:.95rem;display:grid}.mic-check__row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.mic-check__note{min-width:3.4em;font-size:var(--text-xl);text-align:center;white-space:nowrap}.mic-check__ok{color:var(--good);align-items:center;gap:5px;font-weight:800;display:flex}.screen--select{--card-width:600px}.roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.roster .thumb__picture{--thumb-bg:radial-gradient(circle at 50% 38%, #fff 0, var(--tile) 62%)}.roster .thumb__label{letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:calc(clamp(.85rem,2.6vw,1.05rem));font-weight:800}.about{justify-content:space-between;align-items:center;gap:var(--space-md) 20px;flex-wrap:wrap;display:flex}.about__text{gap:var(--space-2xs);flex:220px;display:grid}.about h2{font-size:1.35rem}.stats{gap:var(--space-xs);display:grid}.stat{align-items:center;gap:var(--space-sm);grid-template-columns:6em auto;display:grid}.stat dt{font-size:var(--text-sm);font-weight:700}.stat dd{gap:var(--space-2xs);display:flex}.pip{border:var(--line-thin) solid var(--ink);background:var(--paper);border-radius:4px;width:14px;height:10px}.pip--on{background:var(--accent)}@media (width<=420px){.roster{gap:10px}}@media (height<=520px) and (orientation:landscape){.screen--select{--card-width:860px;padding:10px var(--space-md)}.screen--select .card{grid-template-columns:1fr auto;gap:10px 14px;padding:14px 18px 18px}.roster,.screen--select .card__head{grid-column:1/-1}.screen--select .card__head h1{font-size:1.8rem}.roster{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.screen--select .about{padding:var(--space-sm) var(--space-md)}.select__note{display:none}.screen--select .actions{align-items:center}}.screen--biomes{--card-width:820px}.biomes__unlocked{margin-top:var(--space-sm);border:var(--line-thin) solid var(--ink-soft);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:var(--text-sm);padding:.7em 1em;font-weight:700}.biomes__grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.biomes__grid .thumb__picture{--thumb-aspect:4 / 3}.biomes__number{opacity:.7}.biomes__name{font-size:var(--text-lg);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.biomes__info{font-variant-numeric:tabular-nums;font-size:.9rem}.biomes__done{vertical-align:middle;color:var(--good-light);align-items:center;gap:.2em;margin-left:.5em;font-weight:700;display:inline-flex}@media (width<=480px){.biomes__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.biomes__name{font-size:var(--text-md)}.screen--biomes .actions__go{font-size:var(--text-md);padding-inline:.8em}}.map__headline{font-size:var(--text-sm);margin-top:2px}.level-panel{align-items:center;gap:var(--space-md);width:min(100% - 24px,640px);padding:var(--space-md) 14px;-webkit-user-select:text;user-select:text;grid-template-columns:1fr auto;display:grid}.level-panel__info{gap:var(--space-sm);min-width:0;display:grid}.level-panel h2{gap:var(--space-2xs);font-size:calc(clamp(1.1rem,3.2vw,1.6rem));line-height:1.25;display:grid}.level-panel__status{font-weight:700}.level-panel__status--cleared{color:var(--good)}.level-panel__status--locked,.level-panel__status--planned{color:var(--ink-soft)}.level-panel__play{min-width:7.5em;font-size:1.1rem}@media (width<=560px){.level-panel{grid-template-columns:1fr;gap:10px}}@media (height<=520px){.level-panel{padding:var(--space-sm) var(--space-md)}.level-panel__blurb,.map__headline{display:none}}.lives{justify-content:flex-end;align-items:baseline;gap:var(--space-2xs) 10px;font-variant-numeric:tabular-nums;flex-wrap:wrap;padding-top:.35em;font-size:calc(clamp(1rem,2.4vw,1.35rem));font-weight:700;display:flex}.heart{color:var(--accent);transition:color var(--slow),scale var(--slow)}.heart--lost{color:var(--ink-faint);scale:.8}.prompt{min-width:min(340px,100% - 32px);padding:var(--space-md) 22px 14px;text-align:center;justify-items:center;gap:10px;display:grid}.prompt__text{font-size:calc(clamp(1.15rem,3vw,1.5rem));font-weight:800}.prompt--good .prompt__text{color:var(--good)}.prompt--bad .prompt__text{color:var(--accent-dark)}.prompt__sing{justify-items:center;gap:var(--space-sm);width:100%;display:grid}@media (height<=520px){.prompt{--surface-radius:var(--radius-md);--surface-drop:var(--drop-sm);min-width:0;padding:var(--space-xs) var(--space-lg) 9px;align-items:center;gap:14px;display:flex}.prompt__text{white-space:nowrap;font-size:1.05rem}.prompt__sing{align-items:center;gap:var(--space-md);width:auto;display:flex}.prompt .meter{width:90px}.prompt .countdown{left:var(--space-lg);right:var(--space-lg);width:auto;height:3px;position:absolute;bottom:3px}.prompt__debug{display:none}}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-soft)}.small{font-size:var(--text-sm)}.center{text-align:center}.tabular{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.error{color:var(--accent-dark);font-weight:700}.halo{text-shadow:0 0 6px #fff,0 0 2px #fff,0 1px #fff}}
