@font-face{font-family:"Jersey 10";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jersey-10-latin-400-normal-DrL73VYW.woff2)format("woff2"),url(/assets/jersey-10-latin-400-normal-B8YT2i2g.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050608;--win-top:#1b1e26;--win-bot:#0c0d11;--line:#eef0f4b3;--line-soft:#eef0f41a;--line-mid:#eef0f459;--fg:#eef0f4;--muted:#9aa1ad;--ice:#a9c8ff;--ice-soft:#a9c8ff38;--gold:#e2c66d;--danger:#e0605a;--danger-soft:#e0605a2e;--bar-from:#6f95d9;--bar-to:#cfe0ff;--font-pixel:"Jersey 10", "Courier New", monospace;--font-body:"IBM Plex Sans", system-ui, sans-serif;--radius:4px;--tabbar-h:64px;--glow-ice:#a9c8ff4d;--glow-danger:#e0605a73;--glow-gold:#e2c66d99;--flash:#fff;--split-a:#e0605ae6;--split-b:#a9c8ffb3;--ease-out:cubic-bezier(.2, .9, .3, 1);--ease-spring:cubic-bezier(.3, 1.6, .5, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{min-height:100%}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--ice);outline-offset:2px}button:disabled{opacity:.45;cursor:default}h1,h2,h3,p{margin:0}.px{font-family:var(--font-pixel)}.muted{color:var(--muted)}.gold{color:var(--gold)}.ice{color:var(--ice)}.danger{color:var(--danger)}.small{color:var(--muted);font-size:12px}.num{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-weight:600}.glyph{font-family:var(--font-body);font-weight:700}.screen{max-width:430px;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;margin:0 auto;display:flex}.screen.no-tabs{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.win{background:linear-gradient(180deg, var(--win-top) 0%, var(--win-bot) 100%);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px 16px;display:flex;box-shadow:0 0 0 1px #000}.win.danger-win{border-color:var(--danger)}.win.tight{padding:8px}.row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.eyebrow{font-family:var(--font-pixel);letter-spacing:.08em;color:var(--ice);font-size:15px}.eyebrow.danger{color:var(--danger)}.bar{background:#000;border:1px solid #3a3f4b;border-radius:2px;height:6px}.bar>div{background:linear-gradient(90deg, var(--bar-from), var(--bar-to));border-radius:1px;height:100%;transition:width .4s ease-out}.btn{border:1px solid var(--line-mid);min-height:44px;color:var(--fg);font-family:var(--font-body);background:0 0;border-radius:3px;padding:0 12px;font-size:14px;font-weight:500}.btn[aria-pressed=true],.btn.solid{background:var(--fg);color:var(--win-bot);border-color:var(--fg)}.btn:active:not(:disabled){transform:translateY(1px)}.cta{border-radius:var(--radius);border:1px solid var(--fg);width:100%;min-height:60px;color:var(--fg);font-family:var(--font-pixel);letter-spacing:.06em;background:linear-gradient(#262a34 0%,#12141a 100%);font-size:24px;font-weight:700;box-shadow:0 0 0 1px #000}.cta:not(:disabled){--glow:var(--glow-ice)}.cta.danger:not(:disabled){--glow:var(--glow-danger)}.cta:active:not(:disabled){background:var(--fg);color:var(--win-bot)}.cta.danger:active:not(:disabled){background:var(--danger);color:var(--fg)}.cta.done{background:var(--fg);color:var(--win-bot)}.cta.danger{border-color:var(--danger);color:var(--fg);background:linear-gradient(#3a1d1d 0%,#1a0d0d 100%)}.cta:active:not(:disabled){transform:translateY(1px)}.choice{text-align:left;border:1px solid var(--line-mid);background:0 0;border-radius:3px;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 14px;font-size:16px;display:flex}.choice:hover,.choice:focus-visible,.choice.sel{background:linear-gradient(90deg, var(--ice-soft), transparent)}.cursor{flex:none;width:14px;display:flex}.btn.ghost{color:var(--muted);border-color:#0000}.btn.icon{min-width:44px;font-family:var(--font-body);padding:0;font-size:22px;line-height:1}.btn.danger-btn{border-color:var(--danger);color:var(--danger)}.btn.danger-btn:not(:disabled):hover{background:var(--danger-soft)}.onboard{justify-content:center}.wordmark{letter-spacing:.08em;text-align:center;text-shadow:0 0 18px var(--ice-soft);margin-bottom:12px;font-size:48px;font-weight:700}.system-intro{min-height:160px}.intro-text{font-size:18px;line-height:1.5}.caret{width:0;color:var(--ice);display:inline-block}.q-title{text-wrap:balance;font-size:30px;font-weight:700;line-height:1.15}.choices{flex-direction:column;gap:8px;display:flex}.choice-label{flex-direction:column;gap:2px;display:flex}.choice-hint{font-size:12px}.system-line{padding:10px 14px}.sys-text{font-size:14px;line-height:1.45}.save-warn .btn{margin-top:10px}.sys-tag{letter-spacing:.12em;color:var(--ice);margin-right:4px;font-size:13px}.sys-text.danger .sys-tag{color:var(--danger)}.hunter-name{font-size:28px;font-weight:700}.hunter-rank{font-size:18px}.rank-letter{font-weight:700}.xp{flex-direction:column;gap:4px;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:14px;display:grid}.stat-lbl{font-family:var(--font-pixel);color:var(--muted);letter-spacing:.04em;font-size:13px}.quest{gap:12px}.quest-name{text-wrap:balance;font-size:34px;font-weight:700;line-height:1.1}.quest-meta{font-size:13px}.moves{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.move{border:0;border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px;display:flex}.move.sel,.move:hover{background:linear-gradient(90deg, var(--ice-soft), transparent)}.move-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.move-name{font-size:15px}.move-howto{color:var(--muted);font-size:12px;line-height:1.35}.move-sets{color:var(--muted);white-space:nowrap;font-size:15px}.finisher{border-top:1px solid var(--danger);flex-direction:column;gap:4px;padding-top:10px;display:flex}.reward{font-size:16px}.cardio{border-top:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-top:12px;display:flex}.ovr{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.backdrop{z-index:20;background:#000000f5;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.dialog{width:100%;max-width:400px}.card-title{font-size:26px;line-height:1.15}.timer{justify-content:space-between;align-items:center;gap:12px;min-height:64px;display:flex}.timer-num{font-size:40px}.feedback-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.cleared{text-align:center;flex-direction:column;align-items:center;gap:10px;animation:.25s ease-out pop;display:flex}.cleared-title{letter-spacing:.04em;font-size:40px;font-weight:700}.cleared-xp{font-size:30px}.banner{border:1px solid var(--line);border-radius:var(--radius);background:var(--win-bot);padding:6px 14px;font-size:20px}.tap-hint{margin-top:12px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.status-top{align-items:center;gap:16px;display:flex}.rank-badge{border:1px solid var(--line);border-radius:var(--radius);background:#000;flex:none;justify-content:center;align-items:center;width:84px;height:84px;font-size:64px;font-weight:700;display:flex}.status-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.status-level{font-size:32px;font-weight:700}.next-rank{border-top:1px solid var(--line-soft);flex-direction:column;gap:6px;padding-top:10px;display:flex}.stats-big{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:6px;display:grid}.stat-num{font-size:30px}.cal-head{align-items:center}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-dow{text-align:center}.cal-cell{aspect-ratio:1;color:var(--muted);border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;font-size:12px;display:flex}.k-cleared,.k-saved{background:var(--fg);color:var(--win-bot)}.k-saved{background:var(--gold)}.k-cardio{background:var(--ice-soft);color:var(--fg);border-color:var(--ice)}.k-missed{border-color:var(--danger);color:var(--danger)}.k-blown{background:var(--danger-soft);color:var(--danger)}.k-paused{border:1px dashed var(--line-mid)}.k-planned,.k-today-training{border-color:var(--line-soft);color:var(--muted)}.k-today,.k-today-training{box-shadow:inset 0 0 0 2px var(--ice);color:var(--fg)}.k-before,.k-future{opacity:.4}.legend{flex-wrap:wrap;gap:6px 12px;display:flex}.legend-item{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.swatch{border:1px solid #0000;border-radius:2px;width:12px;height:12px}.setting-value{font-size:22px}.weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:0 -2px;display:grid}.btn.day{padding:0;font-size:12px}.pause-row{align-items:center;gap:8px;display:flex}.select,.input{border:1px solid var(--line-mid);min-height:44px;color:var(--fg);font:500 16px var(--font-body);background:#000;border-radius:3px;padding:0 10px}.input{letter-spacing:.1em;width:100%}.pause-row .btn{flex:1}.tabbar{z-index:10;background:var(--win-bot);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:143px;height:var(--tabbar-h);color:var(--muted);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:18px;display:flex;position:relative}.tab.on{color:var(--fg)}.tab-dot{background:var(--gold);border-radius:50%;width:7px;height:7px;position:absolute;top:16px;right:calc(50% - 34px)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.typed-rest{visibility:hidden}.screen>:nth-child(2){--i:1}.screen>:nth-child(3){--i:2}.screen>:nth-child(4){--i:3}.screen>:nth-child(5){--i:4}.screen>:nth-child(6){--i:5}.screen>:nth-child(7){--i:6}.screen>:nth-child(n+8){--i:7}.win{animation:win-open .26s var(--ease-out) calc(var(--i,0) * 55ms) backwards}.screen>.cta,.screen>.btn{animation:rise .26s ease-out calc(var(--i,0) * 55ms) backwards}.screen>.cta:not(:disabled){animation:rise .26s ease-out calc(var(--i,0) * 55ms) backwards, cta-glow 2.6s ease-in-out 1s infinite}@keyframes win-open{0%{clip-path:inset(50% 0);opacity:.4}to{clip-path:inset(-2px);opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cta-glow{0%,to{box-shadow:0 0 0 1px #000,0 0 #0000}50%{box-shadow:0 0 0 1px #000, 0 0 20px 2px var(--glow)}}.btn,.move,.choice,.tab{transition:background-color .12s ease-out,filter .12s ease-out}.btn:active:not(:disabled),.move:active,.choice:active,.tab:active{filter:brightness(1.5)}.menu{position:relative}.menu-cursor{width:14px;height:14px;color:var(--fg);pointer-events:none;transition:transform .11s ease-out;display:flex;position:absolute;top:0;left:6px}.choices-menu .menu-cursor{left:14px}.menu-cursor svg,.tab.on svg{animation:.8s step-end infinite bob}@keyframes bob{0%{transform:translate(0)}50%{transform:translate(-3px)}}.bar.live>div{transition:none}.bar.timer-bar>div{transition:width 1s linear}.xp{position:relative}.xp-gain{white-space:nowrap;pointer-events:none;font-size:18px;animation:1.6s ease-out both float-up;position:absolute;top:-4px;left:50%}@keyframes float-up{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%)}70%{opacity:1;transform:translate(-50%,-6px)}to{opacity:0;transform:translate(-50%,-16px)}}.pop-in{animation:pop-in .36s var(--ease-spring);display:inline-block}@keyframes pop-in{0%{color:var(--gold);transform:scale(1.7)}to{transform:scale(1)}}.backdrop.cleared-bg{background:var(--bg);align-items:flex-start;padding-top:max(72px,16vh)}.cleared{z-index:2;width:min(320px,100%);position:relative}.cleared-title.stamp{animation:stamp .38s var(--ease-spring) backwards}@keyframes stamp{0%{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}.cleared-bar{flex-direction:column;gap:6px;width:100%;animation:.24s ease-out .3s backwards rise;display:flex}.bar.big{height:10px}.levelup-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.levelup{color:var(--fg);text-shadow:0 0 18px var(--glow-ice);font-size:48px;line-height:1}.levelup span{animation:letter-drop .38s var(--ease-spring) calc(var(--d) * 45ms) backwards;display:inline-block}@keyframes letter-drop{0%{opacity:0;transform:translateY(-28px)scale(1.4)}to{opacity:1;transform:none}}.rankup .eyebrow{color:var(--gold)}.rankup{flex-direction:column;align-items:center;gap:2px;display:flex}.rank-stamp{text-shadow:0 0 28px var(--glow-gold);animation:stamp .52s var(--ease-spring) backwards;font-size:112px;line-height:.9}.flash{z-index:1;background:var(--flash);opacity:0;pointer-events:none;animation:.5s ease-out flash;position:fixed;inset:0}.flash.gold-flash{background:var(--gold)}@keyframes flash{0%{opacity:.85}to{opacity:0}}.shake{animation:.45s ease-in-out shake}@keyframes shake{0%,to{transform:none}15%{transform:translate(-7px,2px)}30%{transform:translate(6px,-3px)}45%{transform:translate(-5px,3px)}60%{transform:translate(4px,-2px)}75%{transform:translate(-2px,1px)}}.win.danger-win{box-shadow:0 0 0 1px #000, 0 0 18px var(--danger-soft)}.screen>.win.quest.danger-win{animation:win-open .26s var(--ease-out) calc(var(--i,0) * 55ms) backwards, shake .45s ease-in-out calc(var(--i,0) * 55ms + .3s)}.sys-text.danger{animation:.9s step-end .25s 2 glitch}@keyframes glitch{0%,20%,65%,to{text-shadow:none;transform:none}10%{text-shadow:2px 0 var(--split-a), -2px 0 var(--split-b);transform:translate(1px)}55%{text-shadow:-2px 0 var(--split-a), 2px 0 var(--split-b);transform:translate(-1px)}}.timer-main{flex-direction:column;flex:1;gap:6px;display:flex}.toggle-row{align-items:center}.btn.toggle{min-width:72px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.xp-gain,.flash{display:none}}
