:root{--bg:#0b0d12;--surface:#141821;--surface-2:#1b202b;--line:#262c39;--text:#eef1f6;--muted:#8a93a6;--accent:#c6f432;--accent-soft:#c6f43229;--good:#4ade80;--bad:#ff5a5f;--warn:#facc15;--radius:18px;--display:"Unbounded", system-ui, sans-serif;--body:"Manrope", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:var(--body);margin:0;font-size:15px;line-height:1.45}body{overscroll-behavior-y:none;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.45;cursor:default}input,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:12px 14px}input:focus,textarea:focus{border-color:var(--accent)}h1,h2,h3{margin:0}.display{font-family:var(--display);letter-spacing:-.02em;font-weight:700}.muted{color:var(--muted)}.accent{color:var(--accent)}.good{color:var(--good)}.bad{color:var(--bad)}.center{text-align:center}.cap:first-letter{text-transform:uppercase}small{font-size:12.5px}.app{max-width:540px;padding:max(16px, env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.page{flex-direction:column;gap:14px;animation:.35s both rise;display:flex}.page-head h1{font-size:28px}.page-head p{margin:6px 0 0}.section-head{justify-content:space-between;align-items:baseline;margin:6px 2px 8px;display:flex}.section-head h3{font-size:15px;font-family:var(--display);font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>.btn-big{flex:1}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.grid3,.row-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.duo{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.tile.wide{gap:10px;padding:16px}.tile .big{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:700;overflow:hidden}.tile>small:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700}.row-cards .big{white-space:normal;font-size:16px;line-height:1.2}.tile-btn{transition:transform .15s,border-color .15s}.tile-btn:active{border-color:var(--accent);transform:scale(.97)}.tile.win{border-color:var(--good)}.chip{background:var(--surface-2);border:1px solid var(--line);border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.chip-new{color:var(--bg);background:var(--accent);border-color:var(--accent)}.btn{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-weight:700;transition:transform .12s}.btn:active:not(:disabled){transform:scale(.96)}.btn-sm{padding:8px 12px;font-size:13px}.btn-big{width:100%;font-size:16px;font-family:var(--display);border-radius:16px;padding:16px 20px;font-weight:600}.btn-accent{background:var(--accent);color:#10140a;border-color:var(--accent)}.btn.ghost{background:0 0}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.link{color:var(--muted);font-size:12px;text-decoration:underline}.icon-btn{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:40px;height:40px;font-size:16px}.ring{flex:none;place-items:center;display:grid;position:relative}.ring svg{position:absolute;inset:0}.ring-in{place-items:center;display:grid;position:relative}.ring-num{font-family:var(--display);font-size:13px;font-weight:700}.bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.bar.thin{height:4px}.bar i{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.radar{width:100%;max-width:320px;margin:0 auto;display:block;overflow:visible}.radar-label{fill:var(--text);font-size:11.5px;font-weight:700;font-family:var(--body)}.spark{grid-column:1/-1;width:100%;height:32px}.spark-empty{color:var(--line);grid-column:1/-1;font-size:12px}.hero{align-items:center;gap:14px;padding:6px 2px 4px;display:flex}.hero h1{font-size:26px;line-height:1.1}.hero-txt{flex-direction:column;min-width:0;display:flex}.lvl{font-size:24px}.launch{grid-template-columns:1.15fr 1fr;gap:10px;display:grid}.launch-btn{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:22px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;min-height:122px;padding:16px;transition:transform .15s;display:flex}.launch-btn:active{transform:scale(.97)}.launch-btn.primary{background:var(--accent);color:#10140a;border-color:var(--accent);box-shadow:0 10px 40px -12px #c6f4328c}.launch-btn.primary small{color:#10140ab3}.launch-k{font-size:14px;font-weight:800}.launch-t{font-family:var(--display);white-space:nowrap;font-size:24px;font-weight:700;line-height:1.1}.launch-btn small{color:var(--muted)}.quests{flex-direction:column;gap:8px;display:flex}.quest{background:var(--surface);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.quest.claimed{opacity:.55}.quest-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.quest-xp{font-family:var(--display);font-size:13px;font-weight:700}.tabbar{padding:8px 12px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:10;background:#0b0d12e0;justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:120px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:6px 0;display:flex}.tabbar button span{filter:grayscale();opacity:.7;font-size:20px;transition:all .2s}.tabbar button small{font-size:11px;font-weight:700}.tabbar button.on{color:var(--accent);background:var(--accent-soft)}.tabbar button.on span{filter:none;opacity:1}.overlay{background:var(--bg);z-index:20;flex-direction:column;animation:.25s both rise;display:flex;position:fixed;inset:0}.overlay-top{padding:max(12px, env(safe-area-inset-top)) 16px 8px;align-items:center;gap:12px;width:100%;max-width:540px;margin:0 auto;display:flex}.overlay-body{padding:8px 16px calc(20px + env(safe-area-inset-bottom));flex-direction:column;flex:1;width:100%;max-width:540px;margin:0 auto;display:flex;overflow-y:auto}.dots{flex:1;gap:5px;display:flex}.dots i{background:var(--line);border-radius:99px;flex:1;height:5px}.dots i.done{background:var(--accent)}.dots i.cur{background:linear-gradient(90deg, var(--accent) 40%, var(--line) 40%)}.review{flex-direction:column;flex:1;gap:12px;display:flex}.review-top{align-items:center;gap:8px;display:flex}.review-top .muted{margin-left:auto;font-weight:700}.flash{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:24px;flex-direction:column;flex:1;justify-content:center;gap:22px;min-height:300px;padding:28px 22px;animation:.3s both pop;display:flex}.flash-q{font-size:21px;font-weight:700;line-height:1.35}.flash-hint{color:var(--muted);font-size:13px}.flash-a{border-top:1px dashed var(--line);padding-top:20px;animation:.25s both rise}.answer{font-family:var(--display);color:var(--accent);font-size:22px;font-weight:700;line-height:1.3}.explain{color:var(--muted);margin:12px 0 0;font-size:14px}.grades{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grade{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:16px 0;font-weight:800}.grade.g0{color:var(--bad)}.grade.g1{color:var(--warn)}.grade.g2{color:var(--good)}.grade.g3{color:#10140a;background:var(--accent);border-color:var(--accent)}.checkin{flex-direction:column;gap:12px;display:flex}.checkin h2{font-size:24px}.checkin p{margin:0 0 4px}.mood{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.mood>span{font-weight:700}.mood div{justify-content:space-between;display:flex}.mood button{filter:grayscale();opacity:.5;border-radius:12px;padding:4px 8px;font-size:28px;transition:all .15s}.mood button.on{filter:none;opacity:1;background:var(--accent-soft);transform:scale(1.1)}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.stepper-label{font-size:14px;font-weight:600}.stepper-ctl{align-items:center;gap:6px;display:flex}.stepper-ctl button{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;width:40px;height:40px;font-size:20px;font-weight:700}.stepper-ctl b{text-align:center;min-width:62px;font-family:var(--display);font-size:16px}.stepper-ctl b small{font-family:var(--body);color:var(--muted);font-size:11px}.runner{flex-direction:column;flex:1;gap:16px;display:flex}.runner-intro,.runner-result,.recap{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.runner-intro h2{font-size:34px}.runner-intro p{color:var(--muted);max-width:300px;margin:0}.score-big{color:var(--accent);font-size:64px;line-height:1}.score-big span{color:var(--muted);margin-left:6px;font-size:18px}.xp-gain{font-family:var(--display);background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:8px 16px;font-weight:700}.burst{font-family:var(--display);letter-spacing:.08em;color:#10140a;background:var(--accent);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:800;animation:.5s cubic-bezier(.3,1.6,.5,1) both pop}.recap .tile{width:100%}.streak-tile{flex-direction:row;justify-content:center;align-items:center;gap:6px;font-size:16px}.game{flex-direction:column;flex:1;gap:14px;display:flex}.game-hud{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.game-hud b{font-family:var(--display)}.timebar{background:var(--line);border-radius:99px;height:4px;overflow:hidden}.timebar i{background:var(--accent);height:100%;transition:width .1s linear;display:block}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.key{background:var(--surface);border:1px solid var(--line);font-family:var(--display);-webkit-user-select:none;user-select:none;border-radius:14px;padding:16px 0;font-size:22px;font-weight:600}.key:active:not(:disabled){background:var(--surface-2);transform:scale(.95)}.span-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.span-digit{font-family:var(--display);color:var(--accent);height:130px;font-size:110px;font-weight:700;line-height:130px}.span-digit.on{animation:.25s both pop}.span-input{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.span-input .slot{background:var(--surface);border:1px solid var(--line);width:34px;height:46px;font-family:var(--display);border-radius:10px;place-items:center;font-size:22px;font-weight:700;display:grid}.span-input.good .slot{border-color:var(--good);color:var(--good)}.span-input.bad .slot{border-color:var(--bad);color:var(--bad);animation:.35s shake}.calc-stage{border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:180px;transition:background .15s;display:flex}.calc-stage.good{background:#4ade801f}.calc-stage.bad{background:#ff5a5f24;animation:.3s shake}.calc-problem{font-family:var(--display);font-size:46px;font-weight:700}.calc-input{font-family:var(--display);color:var(--accent);min-height:46px;font-size:36px}.nback-grid{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,340px);margin:10px auto;display:grid}.nback-cell{background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:background .1s,box-shadow .1s}.nback-cell.on{background:var(--accent);box-shadow:0 0 40px -6px var(--accent)}.nback-btn.good{background:var(--good);color:#0b0d12;border-color:var(--good)}.nback-btn.bad{background:var(--bad);color:#fff;border-color:var(--bad)}.stroop-stage{border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:200px;transition:background .12s;display:flex}.stroop-stage.good{background:#4ade801a}.stroop-stage.bad{background:#ff5a5f1f}.stroop-word{font-family:var(--display);letter-spacing:.02em;font-size:52px;font-weight:800}.stroop-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stroop-btn{background:var(--surface);border:1px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:18px 0;font-size:15px;font-weight:800;display:flex}.stroop-btn i{border-radius:6px;width:18px;height:18px}.stroop-btn:active{transform:scale(.95)}.reflex-pad{min-height:360px;font-family:var(--display);-webkit-user-select:none;user-select:none;border-radius:28px;flex:1;font-size:24px;font-weight:700;transition:background 50ms}.reflex-pad.wait{color:#ffb4b6;background:#2a1416}.reflex-pad.go{background:var(--good);color:#0b0d12;font-size:40px}.reflex-pad.early{background:var(--surface-2);color:var(--warn)}.reflex-pad.shown{background:var(--surface)}.reflex-pad.shown b{color:var(--accent);font-size:64px}.games{flex-direction:column;gap:10px;display:flex}.game-card{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:20px;flex-direction:column;gap:6px;padding:16px;transition:transform .15s;display:flex}.game-card:active{border-color:var(--accent);transform:scale(.98)}.game-card-top{justify-content:space-between;align-items:center;display:flex}.game-card-top b{font-size:18px}.game-card-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}.game-card-stats small,.records small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700;display:block}.game-card-stats b,.records b{font-family:var(--display);font-size:17px}.game-card-stats em,.records em{color:var(--muted);font-size:11px;font-style:normal;font-family:var(--body)}.decks{flex-direction:column;gap:10px;display:flex}.deck{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--deck);border-radius:20px;flex-direction:column;gap:10px;padding:14px;display:flex}.deck.off{opacity:.55}.deck-top{align-items:center;gap:12px;display:flex}.deck-emoji{font-size:26px}.deck-txt{flex-direction:column;flex:1;min-width:0;display:flex}.deck-bar{background:var(--line);border-radius:99px;height:6px;display:flex;overflow:hidden}.deck-bar .m{background:var(--deck)}.deck-bar .s{background:color-mix(in srgb, var(--deck) 35%, transparent)}.browse{flex-direction:column;gap:2px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.browse li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 2px;font-size:13.5px;display:flex}.browse li span{flex:200px}.switch{flex:none;width:46px;height:28px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.switch i{background:var(--line);border-radius:99px;transition:all .2s;position:absolute;inset:0}.switch i:after{content:"";background:var(--text);border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{background:#10140a;transform:translate(18px)}.form{flex-direction:column;gap:10px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.stat-list{flex-direction:column;gap:10px;display:flex}.stat-row{grid-template-columns:96px 1fr 28px 30px;align-items:center;gap:4px 10px;font-size:13.5px;font-weight:600;display:grid}.stat-row b{font-family:var(--display);text-align:right}.stat-row .stat-hint{grid-column:1/-1;margin-top:-4px;font-size:11.5px;font-weight:500}.heatmap{justify-content:space-between;gap:3px;display:flex}.hm-col{flex-direction:column;flex:1;gap:3px;display:flex}.hm{aspect-ratio:1;background:var(--surface-2);border-radius:3px;display:block}.hm.l1{background:#c6f43240}.hm.l2{background:#c6f43280}.hm.l3{background:#c6f432bf}.hm.l4{background:var(--accent)}.hm.lf{background:#5fb7ff}.hm.today{outline:1.5px solid var(--text);outline-offset:1px}.hm.future{opacity:.25}.legend{align-items:center;gap:4px;display:flex}.legend .hm{width:11px}.legend small:nth-of-type(2){margin-right:10px}.records{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.league-ladder{flex-wrap:wrap;gap:4px;display:flex}.league-ladder span{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:4px 8px;font-size:11.5px;font-weight:800}.league-ladder span.past{color:var(--c);border-color:color-mix(in srgb, var(--c) 40%, transparent)}.league-ladder span.on{color:#0b0d12;background:var(--c);border-color:var(--c)}.history{margin:0;padding:0;list-style:none}.history li{border-top:1px solid var(--line);grid-template-columns:1fr auto 90px;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:grid}.history li small{text-align:right}.badges{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.badge{text-align:center;background:var(--surface);border:1px solid var(--line);opacity:.5;border-radius:16px;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;display:flex}.badge.got{opacity:1;border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.badge-emoji{font-size:28px}.badge b{font-size:12px;line-height:1.2}.badge small{font-size:10.5px;line-height:1.25}.welcome{max-width:460px;padding:max(40px, env(safe-area-inset-top)) 20px 40px;flex-direction:column;gap:16px;margin:0 auto;animation:.4s both rise;display:flex}.welcome h1{font-size:44px}.lead{color:var(--muted);margin:-8px 0 4px;font-size:18px}.pitch{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.pitch li{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.pitch span{color:var(--muted);font-size:14px}.toasts{top:max(12px, env(safe-area-inset-top));z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed;left:0;right:0}.toast{pointer-events:auto;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;width:100%;max-width:420px;padding:10px 16px 10px 12px;animation:.35s cubic-bezier(.3,1.4,.5,1) both drop;display:flex;box-shadow:0 16px 40px -12px #000000b3}.toast b,.toast small{display:block}.toast small{color:var(--muted)}.toast-emoji{font-size:26px}.toast.big{background:var(--accent);color:#10140a;border-color:var(--accent)}.toast.big small{color:#10140ab3}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes drop{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (width<=370px){.launch{grid-template-columns:1fr}.launch-btn{min-height:0}.grid3 .big{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
