:root{color-scheme:light;font-family:Avenir Next,Avenir,Helvetica Neue,Helvetica,Arial,sans-serif;font-synthesis:none;color:#09283b;background:#dcecf2;--field: #dcecf2;--live: #08283b;--cyan: #006898;--quiet: #426a7c;--faint: #8eabb8;--metric-value: #092f48;--metric-glow: rgb(255 255 255 / 72%);--brand: #075e83;--secondary: #175f7c;--secondary-underline: color-mix(in srgb, var(--secondary) 34%, transparent);--prompt: #205e78;--result-fade: linear-gradient(to bottom, transparent 38%, rgb(220 236 242 / 82%) 77%, var(--field) 100%);--result-muted: #3a6578;--control-stroke: #3d7289;--control-stroke-hover: #075e83;--control-text: #f3fbfe;--control-surface: #0a4562;--control-surface-hover: #06384f;--pause-surface: rgb(220 236 242 / 88%);--dialog-surface: #eaf5f8;--dialog-backdrop: rgb(218 235 241 / 90%);--dialog-shadow: rgb(34 77 96 / 18%);--score-rule: rgb(18 78 104 / 16%);--debug-surface: #eaf5f8eb}:root[data-look=nocturne]{color-scheme:dark;color:#eaf9ff;background:#020308;--field: #020308;--live: #eafcff;--cyan: #66e4ff;--quiet: #7389a8;--faint: #35425f;--metric-value: #c7f5ff;--metric-glow: rgb(72 213 255 / 24%);--brand: #78dff7;--secondary: #80cfe3;--prompt: #7ccce0;--result-fade: linear-gradient(to bottom, transparent 45%, rgb(2 3 8 / 72%) 78%, var(--field) 100%);--result-muted: #8ba1c5;--control-stroke: #4a7890;--control-stroke-hover: #92e9fb;--control-text: #d9f9ff;--control-surface: #07111a;--control-surface-hover: #0b1b27;--pause-surface: rgb(2 3 8 / 82%);--dialog-surface: #020308;--dialog-backdrop: rgb(2 3 8 / 88%);--dialog-shadow: rgb(0 0 0 / 44%);--score-rule: rgb(91 137 178 / 20%);--debug-surface: #030710e8}:root[data-look=pulse]{color-scheme:dark;color:#eefaff;background:#000105;--field: #000105;--live: #f2fdff;--cyan: #78edff;--quiet: #8376ad;--faint: #31274b;--metric-value: #d7faff;--metric-glow: rgb(105 222 255 / 32%);--brand: #8feaff;--secondary: #a79ad3;--prompt: #9e91c9;--result-fade: linear-gradient(to bottom, transparent 40%, rgb(0 1 5 / 76%) 78%, var(--field) 100%);--result-muted: #a79ad3;--control-stroke: #615292;--control-stroke-hover: #aa92ff;--control-text: #f0edff;--control-surface: #0c0718;--control-surface-hover: #160c2a;--pause-surface: rgb(0 1 5 / 86%);--dialog-surface: #030108;--dialog-backdrop: rgb(0 1 5 / 90%);--dialog-shadow: rgb(0 0 0 / 48%);--score-rule: rgb(126 91 190 / 22%);--debug-surface: #05020deb}:root[data-look=first-frost]{color-scheme:light;color:#123641;background:#e7f3f2;--field: #e7f3f2;--live: #123641;--cyan: #0c778c;--quiet: #50727a;--faint: #93afb4;--metric-value: #173743;--metric-glow: rgb(255 255 255 / 82%);--brand: #0d6572;--secondary: #376f78;--secondary-underline: color-mix(in srgb, var(--secondary) 34%, transparent);--prompt: #2e6f78;--result-fade: linear-gradient(to bottom, transparent 38%, rgb(231 243 242 / 84%) 77%, var(--field) 100%);--result-muted: #4d737a;--control-stroke: #397887;--control-stroke-hover: #0d6572;--control-text: #f5ffff;--control-surface: #185666;--control-surface-hover: #104553;--pause-surface: rgb(231 243 242 / 90%);--dialog-surface: #f2fbfa;--dialog-backdrop: rgb(226 241 240 / 92%);--dialog-shadow: rgb(41 86 90 / 17%);--score-rule: rgb(17 79 91 / 16%);--debug-surface: #f2fbfaeb}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--field)}body{min-width:280px;-webkit-font-smoothing:antialiased;user-select:none}button{font:inherit}#app{position:relative;isolation:isolate;touch-action:pinch-zoom}@supports (height: 100dvh){#app{height:100dvh}}#game{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:crosshair;forced-color-adjust:none}#game:focus-visible{outline:0}#game:focus-visible~.hud .brand__title{text-decoration:underline 2px var(--cyan);text-underline-offset:6px}.hud{position:absolute;inset:0;z-index:2;pointer-events:none;padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));color:var(--live)}.metric,.brand,.sound{position:absolute}.metric{top:max(20px,env(safe-area-inset-top));display:grid;gap:3px;font-variant-numeric:tabular-nums}.metric--score{left:max(22px,env(safe-area-inset-left))}.metric--time{right:max(22px,env(safe-area-inset-right));text-align:right}.metric__label{color:var(--quiet);font-size:.625rem;font-weight:600;letter-spacing:.18em;line-height:1;text-transform:uppercase}.metric__value{color:var(--metric-value);font-size:clamp(1.25rem,2.4vw,2rem);font-weight:350;letter-spacing:.03em;line-height:1;text-shadow:0 0 18px var(--metric-glow)}.metric__record{margin-top:2px;color:var(--quiet);font-size:.5rem;font-weight:600;letter-spacing:.15em;line-height:1;text-transform:uppercase}.metric__value.is-best{animation:best-score-crest .76s cubic-bezier(.16,1,.3,1);transform-origin:left center}@keyframes best-score-crest{0%{color:var(--metric-value);transform:scale(1)}22%{color:var(--live);text-shadow:0 0 26px var(--metric-glow);transform:scale(1.12)}to{color:var(--metric-value);transform:scale(1)}}.brand{left:max(22px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));color:var(--brand);font-size:.72rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase}.brand__title,.brand__season{display:block}.brand__season{margin-top:5px;color:var(--quiet);font-size:.5rem;font-weight:600;letter-spacing:.2em}.sound{right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid;min-width:72px;min-height:44px;padding:5px 0 4px 10px;border:0;color:var(--secondary);background:transparent;pointer-events:auto;cursor:pointer;justify-items:end;text-align:right}.sound__label,.sound__state{display:block;text-transform:uppercase}.sound__label{font-size:.625rem;font-weight:600;letter-spacing:.16em}.sound__state{margin-top:2px;color:var(--quiet);font-size:.5rem;font-weight:600;letter-spacing:.14em}.sound:not(:disabled):hover{color:var(--live)}.sound:not(:disabled):hover .sound__state{color:var(--secondary)}.sound:focus-visible,.result button:focus-visible,.reward-dialog button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.ready,.result,.pause{position:absolute;z-index:3;inset:0;display:grid;place-content:center;justify-items:center;pointer-events:none;text-align:center}.ready{transition:opacity .42s cubic-bezier(.16,1,.3,1)}.ready.is-hidden{opacity:0}.ready h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ready p,.pause span{margin:0;color:var(--prompt);font-size:.66rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase}.ready p{transform:translateY(44px)}.result{align-content:end;padding:0 24px max(76px,calc(env(safe-area-inset-bottom) + 58px));background:var(--result-fade);pointer-events:none}.result button{pointer-events:auto}.result[hidden],.pause[hidden],.debug[hidden]{display:none}.result__cause{margin:0 0 .55rem;color:var(--result-muted);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.result h2{margin:0;color:var(--live);font-size:clamp(2rem,5vw,3.8rem);font-weight:260;letter-spacing:-.025em;line-height:1}.result__facts{margin:.55rem 0 1.35rem;color:var(--result-muted);font-size:.82rem;font-variant-numeric:tabular-nums}.result__record{margin:.7rem 0 0;color:var(--brand);font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.result__signal{display:flex;align-items:center;gap:11px;max-width:min(440px,calc(100vw - 32px));min-height:48px;padding:4px 8px;margin:.5rem 0 0;border:0;color:var(--live);background:transparent;cursor:pointer;text-align:left}.result__signal[hidden]{display:none}.result__signal-glyphs{display:flex;margin-left:-4px}.result__signal-glyphs svg{width:42px;height:42px;margin-right:-9px}.result__signal-copy{display:grid;gap:3px}.result__signal-copy small{color:var(--brand);font-size:.55rem;font-weight:600;letter-spacing:.18em;line-height:1;text-transform:uppercase}.result__signal-copy strong{font-size:.82rem;font-weight:500;letter-spacing:.08em}.signal-glyph__silhouette{fill:var(--dialog-surface);stroke:var(--live);stroke-width:3;stroke-linejoin:round}.signal-glyph__detail{fill:none;stroke:var(--cyan);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.result__status{min-height:1em;margin:.85rem 0 -1.85rem;color:var(--result-muted);font-size:.72rem}.result__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px}.action-primary{min-width:148px;min-height:46px;padding:0 22px;border:1px solid var(--control-stroke);border-radius:999px;color:var(--control-text);background:var(--control-surface);cursor:pointer;font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:border-color .18s ease-out,background-color .18s ease-out,transform .18s ease-out}.action-primary:not(:disabled):hover{border-color:var(--control-stroke-hover);background:var(--control-surface-hover);transform:translateY(-1px)}.action-secondary,.text-action{min-height:44px;padding:0 4px;border:0;border-radius:0;color:var(--secondary);background:transparent;cursor:pointer;font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--secondary-underline);text-underline-offset:5px}.action-secondary:not(:disabled):hover,.text-action:not(:disabled):hover{color:var(--live);text-decoration-color:var(--cyan)}.action-primary:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.56}.pause{width:100%;height:100%;border:0;color:inherit;background:var(--pause-surface);pointer-events:auto;cursor:pointer}.pause:focus-visible{outline:0}.pause:focus-visible span{outline:2px solid var(--cyan);outline-offset:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.reward-dialog{width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:0;color:var(--live);background:transparent;overflow:auto}.reward-dialog::backdrop{background:var(--dialog-backdrop)}.menu-dialog{width:min(560px,calc(100vw - 32px))}.menu-dialog__inner{padding:24px;background:var(--dialog-surface);box-shadow:0 24px 72px var(--dialog-shadow)}.menu-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:24px}.menu-dialog__header h2,.menu-section h3,.menu-guide h3{margin:0;color:var(--brand);font-weight:600;text-transform:uppercase}.menu-dialog__header h2{font-size:.72rem;font-weight:500;letter-spacing:.3em}.menu-dialog__header p,.menu-dialog__intro,.menu-section__heading p,.menu-guide p{color:var(--result-muted)}.menu-dialog__header p{margin:5px 0 0;font-size:.625rem;letter-spacing:.08em}.menu-dialog__intro{max-width:48ch;margin:24px 0 20px;font-size:.82rem;line-height:1.5}.menu-section{border-top:1px solid var(--score-rule)}.menu-section__heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:16px 0 12px}.menu-section h3,.menu-guide h3{font-size:.625rem;letter-spacing:.16em}.menu-section__heading p{margin:0;font-size:.7rem}.audio-options{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--score-rule)}.audio-option{position:relative;display:grid;min-width:0;min-height:68px;padding:12px 12px 11px 38px;cursor:pointer;align-content:center}.audio-option+.audio-option{border-left:1px solid var(--score-rule)}.audio-option input{position:absolute;top:50%;left:13px;width:14px;height:14px;margin:0;border:1px solid var(--control-stroke);border-radius:50%;appearance:none;transform:translateY(-50%)}.audio-option input:after{position:absolute;inset:3px;border-radius:50%;background:var(--brand);content:"";opacity:0;transform:scale(.4);transition:opacity .16s ease-out,transform .16s ease-out}.audio-option input:checked:after{opacity:1;transform:scale(1)}.audio-option input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.audio-option span{display:grid;gap:4px}.audio-option strong{color:var(--live);font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.audio-option small{overflow:hidden;color:var(--result-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.audio-option:has(input:checked) strong{color:var(--brand)}.audio-option:hover strong{color:var(--cyan)}.audio-option:has(input:disabled){cursor:not-allowed;opacity:.52}.daily-run{display:flex;width:100%;min-height:66px;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border:0;border-bottom:1px solid var(--score-rule);color:var(--live);background:transparent;text-align:left;cursor:pointer}.daily-run span{display:grid;gap:5px}.daily-run strong,.daily-run em{font-size:.68rem;font-style:normal;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.daily-run strong{color:var(--brand)}.daily-run small{color:var(--result-muted);font-size:.7rem}.daily-run em{color:var(--secondary);text-decoration:underline;text-decoration-color:var(--secondary-underline);text-underline-offset:4px}.daily-run:hover em{color:var(--cyan)}.daily-run:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.menu-guide{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}.menu-guide section{min-width:0;padding:0 18px 0 0}.menu-guide section+section{padding:0 0 0 18px;border-left:1px solid var(--score-rule)}.menu-guide p{margin:8px 0 0;font-size:.72rem;line-height:1.5}.menu-dialog__return{display:block;margin:26px auto 0}.drawing-dialog__inner{display:grid;grid-template-columns:1fr auto;gap:14px 20px;padding:18px;background:var(--dialog-surface);box-shadow:0 24px 72px var(--dialog-shadow)}.drawing-dialog__header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between}.drawing-dialog__header h2{margin:0;color:var(--brand);font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase}#drawing-card{grid-column:1 / -1;display:block;width:min(100%,calc(100dvh - 190px));height:auto;margin:0 auto;border:0;background:var(--field)}.drawing-dialog__facts{align-self:center;margin:0;color:var(--result-muted);font-size:.82rem;font-variant-numeric:tabular-nums}.drawing-dialog__status{grid-column:1 / -1;margin:-2px 0 0;color:var(--live);font-size:.72rem;font-weight:500;letter-spacing:.04em}.drawing-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;justify-self:end}.scorebook-dialog{width:min(520px,calc(100vw - 32px))}.scorebook-dialog__inner{padding:22px 22px 14px;background:var(--dialog-surface);box-shadow:0 24px 72px var(--dialog-shadow)}.scorebook-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.scorebook-dialog__header h2{margin:0;color:var(--brand);font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase}.scorebook-dialog__header p{margin:5px 0 0;color:var(--result-muted);font-size:.72rem}.scorebook{padding:0;margin:0;list-style:none}.scorebook__run{display:grid;grid-template-columns:38px minmax(86px,auto) 1fr;align-items:baseline;gap:12px;padding:14px 0;border-top:1px solid var(--score-rule);font-variant-numeric:tabular-nums}.scorebook__rank{color:var(--quiet);font-size:.625rem;font-weight:600;letter-spacing:.15em}.scorebook__score{color:var(--live);font-size:1.15rem;font-weight:350;white-space:nowrap}.scorebook__facts{color:var(--result-muted);font-size:.76rem;text-align:right}.scorebook-dialog__empty{margin:0;padding:20px 0 14px;border-top:1px solid var(--score-rule);color:var(--result-muted);font-size:.82rem}.archive-dialog{width:min(860px,calc(100vw - 32px))}.archive-dialog__inner{padding:24px 24px 20px;background:var(--dialog-surface);box-shadow:0 24px 72px var(--dialog-shadow)}.archive-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:24px}.archive-dialog__header h2{margin:0;color:var(--brand);font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase}.archive-dialog__header p,.archive-dialog__intro{color:var(--result-muted);font-size:.72rem}.archive-dialog__header p{margin:5px 0 0}.archive-dialog__intro{max-width:56ch;margin:20px 0 18px;line-height:1.45}.archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--score-rule);list-style:none}.archive__item{min-width:0;padding:22px 20px 16px;font-variant-numeric:tabular-nums}.archive__item+.archive__item{border-left:1px solid var(--score-rule)}.archive__specimen{display:grid;width:104px;height:104px;margin:0 auto 20px;place-items:center}.archive__specimen svg{width:88px;height:88px;overflow:visible;filter:drop-shadow(0 9px 14px var(--dialog-shadow))}.archive__item.is-undiscovered .archive__specimen svg{opacity:.38;filter:none}.archive__item.is-undiscovered .signal-glyph__silhouette{fill:transparent;stroke:var(--quiet)}.archive__item.is-undiscovered .signal-glyph__detail{stroke:var(--quiet)}.archive__identity{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.archive__identity h3{margin:0;color:var(--live);font-size:1.02rem;font-weight:420;letter-spacing:.02em}.archive__rarity{color:var(--quiet);font-size:.5rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.archive__status{min-height:2.4em;margin:9px 0 0;color:var(--brand);font-size:.625rem;font-weight:600;letter-spacing:.06em;line-height:1.35}.archive__detail{margin:10px 0 0;color:var(--result-muted);font-size:.72rem;line-height:1.45}.debug{position:absolute;z-index:5;top:72px;left:22px;max-width:min(360px,calc(100vw - 44px));padding:10px 12px;border:1px solid var(--faint);color:var(--cyan);background:var(--debug-surface);font-family:Avenir Next,Avenir,Helvetica Neue,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:11px;line-height:1.5;white-space:pre-wrap;pointer-events:none}@media(max-width:560px){.hud{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.metric--score,.brand{left:max(16px,env(safe-area-inset-left))}.metric--time{right:max(16px,env(safe-area-inset-right))}.brand{bottom:max(16px,env(safe-area-inset-bottom));letter-spacing:.28em}.result{padding-inline:16px}.result__actions{display:grid;grid-template-columns:repeat(2,auto);max-width:310px;gap:2px 18px}.result__actions .action-primary{grid-column:1 / -1;justify-self:center}.result__actions #export-test:not([hidden]){grid-column:1 / -1;justify-self:center}.drawing-dialog__inner{padding:12px}.menu-dialog__inner{padding:18px 16px 16px}.menu-dialog__intro{margin-block:18px 16px}.menu-section__heading{display:grid;gap:5px}.audio-options{grid-template-columns:1fr}.audio-option{min-height:58px}.audio-option+.audio-option{border-top:1px solid var(--score-rule);border-left:0}.menu-guide{grid-template-columns:1fr;margin-top:18px}.menu-guide section,.menu-guide section+section{padding:0}.menu-guide section+section{padding-top:14px;margin-top:14px;border-top:1px solid var(--score-rule);border-left:0}.menu-dialog__return{margin-top:20px}.scorebook-dialog__inner{padding:16px 16px 10px}.scorebook__run{grid-template-columns:30px minmax(80px,auto) 1fr;gap:8px}.scorebook__facts{font-size:.7rem}.archive-dialog__inner{padding:18px 16px 12px}.archive-dialog__intro{margin-block:15px 12px}.archive{grid-template-columns:1fr}.archive__item{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;padding:16px 0}.archive__item+.archive__item{border-top:1px solid var(--score-rule);border-left:0}.archive__specimen{width:76px;height:76px;margin:0}.archive__specimen svg{width:66px;height:66px}.archive__status{min-height:0}}@media(max-height:480px){.menu-dialog__inner{padding-block:14px}.menu-dialog__intro{margin-block:12px 10px}.menu-section__heading{padding-block:10px 8px}.audio-option{min-height:52px;padding-block:8px}.menu-guide{grid-template-columns:1fr 1fr;margin-top:14px}.menu-guide section+section{padding:0 0 0 14px;margin-top:0;border-top:0;border-left:1px solid var(--score-rule)}.menu-dialog__return{margin-top:14px}:root[data-phase=result] .metric{opacity:0}.result{background:linear-gradient(to bottom,transparent 0%,var(--field) 48%,var(--field) 100%)}.result__cause{margin-bottom:.25rem}.result__record,.result__signal{margin-top:.25rem}.result__signal{min-height:38px;padding-block:0}.result__signal-glyphs svg{width:34px;height:34px}.result__facts{margin:.3rem 0 .65rem}}@media(prefers-reduced-motion:reduce){.ready,.result button,.metric__value.is-best{transition-duration:1ms;animation-duration:1ms}}@media(prefers-contrast:more){:root{--quiet: var(--live);--secondary: var(--live)}.metric__value{text-shadow:none}}:root[data-motion=reduce] .ready,:root[data-motion=reduce] .result button,:root[data-motion=reduce] .metric__value.is-best{transition-duration:1ms;animation-duration:1ms}
