:root{--bg: #050811;--panel: #0c1424;--panel-2: #121d32;--line: #233557;--text: #e8eefb;--muted: #91a3c5;--ruby: #ff4d6b;--amber: #ffb224;--azure: #31c8ff;--rose: #d46bff;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--mode-accent, var(--azure)) 78%,white 12%);outline-offset:3px}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at 50% -20%,#101b31 0,transparent 36rem),linear-gradient(180deg,#070b15 0%,var(--bg) 48%,#04070d 100%);color:var(--text);font-family:Segoe UI Variable Display,Segoe UI,SF Pro Display,ui-sans-serif,system-ui,-apple-system,sans-serif;overscroll-behavior:none;overflow:hidden;-webkit-user-select:none;user-select:none}body:before,body:after{content:"";position:fixed;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;z-index:-1}body:before{background:radial-gradient(circle at 18% 23%,rgba(255,255,255,.2) 0 .7px,transparent 1px),radial-gradient(circle at 71% 68%,rgba(255,255,255,.14) 0 .6px,transparent 1px),radial-gradient(46rem 32rem at 78% 12%,rgba(212,107,255,.11),transparent 62%);background-size:173px 181px,227px 211px,auto;animation:auroraA 87s ease-in-out infinite alternate}body:after{background:radial-gradient(circle at 35% 42%,rgba(49,200,255,.14) 0 .6px,transparent 1px),radial-gradient(42rem 30rem at 16% 86%,rgba(49,200,255,.11),transparent 62%);background-size:193px 167px,auto;animation:auroraB 71s ease-in-out infinite alternate}@keyframes auroraA{0%{transform:translate(0) scale(1)}to{transform:translate(-4%,5%) scale(1.12)}}@keyframes auroraB{0%{transform:translate(0) scale(1.1)}to{transform:translate(5%,-4%) scale(1)}}.app{--mode-accent: var(--azure);--mode-secondary: var(--rose);height:100%;max-width:560px;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;position:relative;isolation:isolate}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(34rem 25rem at 50% 48%,color-mix(in srgb,var(--mode-accent) 8%,transparent),transparent 72%),radial-gradient(46rem 30rem at 50% 105%,color-mix(in srgb,var(--mode-secondary) 6%,transparent),transparent 70%);transition:background .7s ease}.top{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 8px;position:relative}.top:after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mode-accent) 35%,transparent),transparent);opacity:.7}.brand{display:flex;flex-direction:column;gap:1px;cursor:default}.wordmark{margin:0;font-size:19px;font-weight:800;letter-spacing:.2em;background:linear-gradient(92deg,var(--azure) 0%,var(--rose) 30%,var(--ruby) 50%,var(--rose) 70%,var(--azure) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px color-mix(in srgb,var(--mode-accent) 30%,transparent);animation:wordmarkDrift 14s ease-in-out infinite alternate}@keyframes wordmarkDrift{0%{background-position:0% 50%}to{background-position:100% 50%}}.tagline{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.actions{display:flex;align-items:center;gap:8px}.mastery-crest{--crest-color: #667795;display:inline-flex;align-items:center;gap:7px;min-width:0;padding:2px 4px 2px 2px;border:0;border-radius:999px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.mastery-crest.static{cursor:default}.mastery-crest-ring{width:34px;height:34px;flex:none;display:grid;place-items:center;position:relative;border-radius:50%;background:radial-gradient(circle,#101a2b 45%,transparent 47%),conic-gradient(from 215deg,color-mix(in srgb,var(--crest-color) 28%,transparent),var(--crest-color),color-mix(in srgb,var(--crest-color) 30%,#b77dff),var(--crest-color));box-shadow:inset 0 0 0 1px #ffffff17,0 0 12px color-mix(in srgb,var(--crest-color) 22%,transparent)}.mastery-crest-ring:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid color-mix(in srgb,var(--crest-color) 50%,#73829d);border-radius:50%;opacity:.62}.mastery-crest-ring[data-rank="0"]{--crest-color: #53627b;opacity:.72;box-shadow:inset 0 0 0 1px #ffffff0f}.mastery-crest-ring[data-rank="1"],.mastery-crest-ring[data-rank="2"]{--crest-color: var(--azure)}.mastery-crest-ring[data-rank="3"],.mastery-crest-ring[data-rank="4"],.mastery-crest-ring[data-rank="5"]{--crest-color: #6fa8ff}.mastery-crest-ring[data-rank="6"],.mastery-crest-ring[data-rank="7"]{--crest-color: var(--rose)}.mastery-crest-ring[data-rank="8"],.mastery-crest-ring[data-rank="9"],.mastery-crest-ring[data-rank="10"]{--crest-color: var(--amber)}.mastery-crest-ring span{position:relative;z-index:1;font-family:Georgia,serif;font-size:10px;font-weight:700;letter-spacing:-.02em;color:#f6f8ff}.mastery-crest-copy{display:flex;flex-direction:column;min-width:0;max-width:74px;line-height:1.05}.mastery-crest-copy small{color:var(--muted);font-size:8px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.mastery-crest-copy strong{margin-top:2px;overflow:hidden;color:var(--text);font-size:10.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.mastery-crest.empty .mastery-crest-copy{max-width:86px}.mastery-crest:hover .mastery-crest-ring{box-shadow:inset 0 0 0 1px #ffffff1f,0 0 18px color-mix(in srgb,var(--crest-color) 32%,transparent)}.mastery-introduction{display:flex;align-items:center;gap:8px;margin:7px 2px 0;padding:7px 9px 7px 12px;border:1px solid color-mix(in srgb,var(--mode-accent) 22%,var(--line));border-radius:11px;background:#09101cdb;color:#bcc9df;font-size:11.5px;line-height:1.3}.mastery-introduction span{flex:1}.mastery-introduction button{width:25px;height:25px;flex:none;border:0;background:transparent;color:var(--muted);cursor:pointer}.mode-mastery-strip{display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 2px 0}.challenge-selector{width:min(100%,470px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.challenge-selector button{min-width:0;padding:6px 3px;border:1px solid color-mix(in srgb,var(--line) 84%,white 8%);border-radius:10px;background:linear-gradient(180deg,#121d32c2,#070d18c7);color:var(--muted);cursor:pointer}.challenge-selector button.selected{border-color:color-mix(in srgb,var(--mode-accent) 58%,#53698e);color:var(--text);box-shadow:inset 0 0 14px color-mix(in srgb,var(--mode-accent) 8%,transparent)}.challenge-selector button:disabled{opacity:.48;cursor:default}.challenge-selector strong,.challenge-selector span,.challenge-selector small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-selector strong{font-size:11px}.challenge-selector span{margin-top:2px;font-size:9px;letter-spacing:.08em}.challenge-selector small{margin-top:2px;color:var(--amber);font-size:8px}.challenge-compact{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.challenge-compact select{max-width:205px;border:1px solid color-mix(in srgb,var(--mode-accent) 30%,var(--line));border-radius:999px;background:#101a2d;color:var(--text);padding:5px 25px 5px 10px;font:inherit;letter-spacing:.06em}.mode-progress{width:min(100%,500px);display:flex;align-items:center;justify-content:center;gap:8px;min-height:20px}.mode-progress p{margin:0;overflow:hidden;color:var(--muted);font-size:10.5px;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mode-progress.complete{color:#73dec1;font-size:11px}.proof-pips{display:inline-flex;gap:3px;flex:none}.proof-pips i{width:13px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--mode-accent) var(--pip-fill),rgba(126,146,181,.19) var(--pip-fill));box-shadow:0 0 6px color-mix(in srgb,var(--mode-accent) 12%,transparent)}.oneshot-meta{margin-bottom:0}.oneshot-tier-picker{display:inline-flex;align-items:center;gap:7px}.oneshot-tier-picker select{max-width:190px;border:0;border-left:1px solid color-mix(in srgb,var(--mode-accent) 24%,var(--line));background:transparent;color:var(--text);padding:2px 20px 2px 8px;font:inherit;cursor:pointer}.oneshot-tier-picker select:disabled{color:var(--muted);cursor:default}.oneshot-tier-picker option{background:#101a2d;color:var(--text)}.oneshot-brief{width:min(100%,520px);margin:5px auto 0;padding:6px 10px;border-top:1px solid color-mix(in srgb,var(--mode-accent) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--mode-accent) 10%,transparent);color:var(--muted);font-size:9.5px}.oneshot-proof,.oneshot-traits{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}.oneshot-proof strong{color:var(--text);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.oneshot-traits{gap:0;margin-top:4px;color:color-mix(in srgb,var(--muted) 86%,var(--mode-accent))}.oneshot-traits span+span:before{content:"·";margin:0 6px;color:color-mix(in srgb,var(--mode-accent) 40%,var(--muted))}.oneshot-brief.after-fire .oneshot-traits{display:none}.mode-session-contents{display:contents}.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 86%,white 14%);background:linear-gradient(145deg,#141f35eb,#080e19eb);color:var(--text);font-size:17px;line-height:1;cursor:pointer;box-shadow:inset 0 1px #ffffff0b,0 8px 22px #0000002e;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.icon-btn:hover{background:var(--panel-2);border-color:#35507e;box-shadow:inset 0 1px #ffffff14,0 0 18px color-mix(in srgb,var(--mode-accent) 18%,transparent)}.icon-btn:active{transform:scale(.94)}.icon-btn.active{border-color:var(--azure);color:var(--azure)}.meta{display:flex;justify-content:center;padding:9px 0 2px;min-height:44px}.chip{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--mode-accent) 24%,var(--line));background:linear-gradient(180deg,#121d32e0,#080e1ad6);color:var(--muted);font-size:13.5px;box-shadow:inset 0 1px #ffffff0b,0 0 22px color-mix(in srgb,var(--mode-accent) 7%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chip strong{color:var(--text)}.diff-picker{display:inline-flex;gap:4px;margin-left:2px}.diff{border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;padding:3px 9px;border-radius:999px;cursor:pointer}.diff.on{border-color:var(--azure);color:var(--azure)}.stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow-x:clip;padding:2px 0;position:relative;isolation:isolate}.stage:before,.stage:after{content:"";position:absolute;left:50%;top:50%;pointer-events:none;z-index:-1;transform:translate(-50%,-50%)}.stage:before{width:min(112%,610px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mode-accent) 9%,transparent),transparent 58%),repeating-radial-gradient(circle,transparent 0 12%,color-mix(in srgb,var(--mode-accent) 3%,transparent) 12.2% 12.45%,transparent 12.7% 20%);filter:blur(.2px);opacity:.9}.stage:after{width:min(96%,540px);aspect-ratio:1;border-radius:50%;border:1px solid color-mix(in srgb,var(--mode-accent) 8%,transparent);box-shadow:0 0 80px color-mix(in srgb,var(--mode-accent) 5%,transparent)}.mode-signal{position:absolute;z-index:3;top:10px;right:7px;display:inline-flex;align-items:center;gap:8px;padding:5px 8px 5px 10px;border:1px solid color-mix(in srgb,var(--mode-accent) 22%,var(--line));border-radius:999px;background:#050911b8;color:color-mix(in srgb,var(--mode-accent) 58%,var(--muted));font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none}.mode-signal i{width:7px;height:7px;border-radius:50%;background:var(--mode-accent);box-shadow:0 0 10px var(--mode-accent)}.oneshot-signal.planning i{animation:armedPulse 1.6s ease-in-out infinite}.oneshot-signal.revealing{color:var(--text);border-color:var(--mode-accent);box-shadow:0 0 18px color-mix(in srgb,var(--mode-accent) 18%,transparent)}.tempo-signal i{width:11px;height:11px;border:2px solid color-mix(in srgb,var(--mode-accent) 42%,transparent);background:var(--mode-accent);animation:tempoCharge var(--beat-ms) cubic-bezier(.2,.75,.25,1) infinite}.tempo-stage.beat-1 .tempo-signal{box-shadow:0 0 18px color-mix(in srgb,var(--mode-accent) 22%,transparent)}@keyframes tempoCharge{0%{transform:scale(.6);opacity:.45}82%{transform:scale(1);opacity:.9}to{transform:scale(1.45);opacity:0}}.fragile-signal i{border-radius:2px;background:linear-gradient(135deg,var(--mode-accent) 0 44%,transparent 46% 54%,var(--mode-accent) 56%)}.fragile-stage.has-damage .fragile-signal{color:#ffd486;border-color:#ffb2247a;box-shadow:0 0 18px #ffb2241c}.board{width:100%;height:100%;max-height:62vh;aspect-ratio:1;touch-action:manipulation;position:relative;z-index:1;filter:drop-shadow(0 22px 38px rgba(0,0,0,.24))}.field-plate{fill:url(#fieldGrad);stroke:color-mix(in srgb,var(--mode-accent) 14%,rgba(110,137,184,.16));stroke-width:1.4}.field-orbit,.field-axis{fill:none;stroke:color-mix(in srgb,var(--mode-accent) 21%,#52698f);stroke-width:1;opacity:.15;pointer-events:none}.field-orbit{stroke-dasharray:3 16;transform-box:fill-box;transform-origin:center}.orbit-b{stroke-dasharray:1 12;opacity:.1}.app[data-screen=tempo] .field-orbit{stroke:var(--mode-accent);opacity:.34;animation:tempoOrbit var(--beat-ms) linear infinite}.app[data-screen=tempo] .orbit-b{animation-direction:reverse;animation-duration:calc(var(--beat-ms) * 1.5)}@keyframes tempoOrbit{to{transform:rotate(360deg)}}.cell{fill:url(#cellGrad);stroke:#94afe61f;stroke-width:1.5}.wall{filter:saturate(.88)}.beams{mix-blend-mode:screen;pointer-events:none}.beam .bloom{animation:beamIn .3s ease-out}.beam .beam-haze{animation:beamHaze 2.8s ease-in-out infinite alternate}.beam-impact{transform-box:fill-box;transform-origin:center;animation:impactPulse 1.7s ease-in-out infinite}.beam .draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:beamDraw var(--dur) cubic-bezier(.25,.6,.3,1) forwards}@keyframes beamIn{0%{opacity:0}to{opacity:1}}@keyframes beamDraw{to{stroke-dashoffset:0}}@keyframes beamHaze{0%{opacity:.55}to{opacity:1}}@keyframes impactPulse{50%{transform:scale(1.55);opacity:.62}}.beam .flow{opacity:0;stroke-dasharray:5 75;animation-name:flowIn,flowMove;animation-duration:.5s,1.15s;animation-timing-function:ease-out,linear;animation-delay:var(--dur),var(--phase);animation-iteration-count:1,infinite;animation-fill-mode:forwards,none}@keyframes flowIn{to{opacity:.4}}@keyframes flowMove{0%{stroke-dashoffset:0}to{stroke-dashoffset:-80}}.source.armed{cursor:pointer;outline:none}.source-mount{transition:stroke .18s,filter .18s}.source.armed:hover .source-mount,.source.armed:focus-visible .source-mount{stroke:var(--mode-accent);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--mode-accent) 48%,transparent))}.source-arrow,.source-arrow-glow{transform-box:fill-box;transform-origin:center}.source.armed .source-arrow,.source.armed .source-arrow-glow{animation:sourceNudge 1.6s ease-in-out infinite}@keyframes sourceNudge{50%{transform:translateY(-3px)}}.armed-ring{transform-box:fill-box;transform-origin:center;animation:armedPulse 1.6s ease-in-out infinite}@keyframes armedPulse{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.7;transform:scale(1.12)}}.beat-mirror .mirror-ring{stroke:#ffb2248c;stroke-dasharray:2 5;animation:beatRing var(--beat-ms) ease-in-out infinite}@keyframes beatRing{50%{stroke:#ffb224f2}}.beat-mirror{cursor:default}.beat-badge circle{fill:#15130b;stroke:var(--amber);stroke-width:1.4;filter:drop-shadow(0 0 5px rgba(255,178,36,.55))}.beat-badge path{fill:var(--amber);transform:scale(.72);transform-origin:center}.beat-badge-pulse{transform-box:fill-box;transform-origin:center;animation:beatBadge var(--beat-ms) ease-in-out infinite}@keyframes beatBadge{82%{transform:scale(1)}to{transform:scale(1.25);opacity:.56}}.mirror.cracked .mirror-ring{stroke:#ffb224bf;filter:drop-shadow(0 0 5px rgba(255,178,36,.28))}.debris{pointer-events:none}.debris-scar{fill:#ffb22409;stroke:#ffb22438;stroke-width:1.5;stroke-dasharray:3 6}.debris-cross{fill:none;stroke:#ffb22426;stroke-width:2}.shard{transform-box:fill-box;transform-origin:center;animation:shardSettle .5s cubic-bezier(.2,.9,.4,1) both}@keyframes shardSettle{0%{transform:scale(2.4) rotate(90deg);opacity:0}55%{opacity:.85}to{transform:none;opacity:.55}}.halo{transform-box:fill-box;transform-origin:center;animation:breathe 3.6s ease-in-out infinite}.prism-aura{transform-box:fill-box;transform-origin:center;animation:prismBreathe 4.2s ease-in-out infinite}.prism-shine{animation:prismShine 3.8s ease-in-out infinite}.prism-spectrum{animation:spectrumPulse 2.8s ease-in-out infinite alternate}@keyframes prismBreathe{50%{transform:scale(1.18);opacity:.2}}@keyframes prismShine{0%,65%,to{opacity:.12}82%{opacity:.42}}@keyframes spectrumPulse{to{opacity:1;filter:brightness(1.3)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.78}50%{transform:scale(1.13);opacity:1}}.mirror{cursor:pointer;outline:none}.mirror-ring{fill:#94afe60d;stroke:#94afe647;stroke-width:1.5;stroke-dasharray:4 7;transition:stroke .15s,fill .15s}.mirror-mount{fill:#0a121fe6;stroke:#50699280;stroke-width:2}.mirror:hover .mirror-ring,.mirror:focus-visible .mirror-ring,.mirror.linked-active .mirror-ring{stroke:#78c8ffd9;fill:#78c8ff17}.mirror.frozen{cursor:default}.mirror.frozen .mirror-ring{stroke:#94afe61f}.mirror-bar{transform-box:fill-box;transform-origin:center;transition:transform .18s cubic-bezier(.34,1.4,.64,1)}.mirror-glint{transition:width .18s,opacity .18s}.mirror:hover .mirror-glint,.mirror:focus-visible .mirror-glint,.mirror.linked-active .mirror-glint{width:42px;opacity:.9}.gem-aura{transition:opacity .3s}.gem.mixed .gem-aura{fill:url(#spectrumGrad);opacity:.1}.mix-signature{mix-blend-mode:screen;filter:saturate(1.25) drop-shadow(0 0 4px rgba(255,255,255,.18))}.gem.mixed:not(.lit){animation:mixedGemIdle 3.8s ease-in-out infinite}@keyframes mixedGemIdle{50%{filter:brightness(1.16) saturate(1.12)}}.gem polygon{transition:fill-opacity .25s,stroke-opacity .25s}.gem .facet{transition:opacity .3s;pointer-events:none}.sparkle{transform-box:fill-box;transform-origin:center;opacity:0;animation:sparklePing 2.1s ease-in-out infinite}.sparkle.s2{animation-delay:.7s}.sparkle.s3{animation-delay:1.3s}@keyframes sparkleFade{0%,to{opacity:.1}50%{opacity:.9}}@keyframes sparklePing{0%,55%,to{opacity:0;transform:scale(0) rotate(0)}12%{opacity:1;transform:scale(1) rotate(28deg)}30%{opacity:0;transform:scale(.2) rotate(60deg)}}.gem.lit{animation:gemPop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes gemPop{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.gem.lit,.gem{transform-box:fill-box;transform-origin:center}.flash-ring{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:ringPing .55s ease-out both}@keyframes ringPing{0%{transform:scale(.55);opacity:.95}to{transform:scale(1.85);opacity:0}}.stage.just-solved .board{animation:solvedGlow 1.4s ease-out}.stage.just-solved .beams{animation:beamsSurge 1.5s ease-out}@keyframes solvedGlow{0%{filter:brightness(1)}25%{filter:brightness(1.5) saturate(1.3)}to{filter:brightness(1)}}@keyframes beamsSurge{0%{filter:brightness(1)}22%{filter:brightness(1.9) saturate(1.25)}to{filter:brightness(1)}}.celebration{pointer-events:none}.cheer-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:cheerRing .9s cubic-bezier(.2,.7,.3,1) both}.cheer-ring.wide{animation-duration:1.15s}@keyframes cheerRing{0%{transform:scale(.5);opacity:.9}to{transform:scale(2.6);opacity:0}}.mote{transform-box:fill-box;transform-origin:center;opacity:0;animation-name:moteRise;animation-timing-function:ease-out;animation-fill-mode:both}@keyframes moteRise{0%{transform:translate(0) scale(.6);opacity:0}18%{opacity:.95}to{transform:translate(var(--dx, 0px),-84px) scale(1.05);opacity:0}}.hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 2px}.hud-stat{display:flex;flex-direction:column;align-items:center;min-width:58px}.hud-stat em{font-style:normal;font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}.hud-stat span{font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.glass-stat.warning em{color:var(--amber);text-shadow:0 0 12px rgba(255,178,36,.3)}.glass-stat.danger em{color:var(--ruby);text-shadow:0 0 12px rgba(255,77,107,.35)}.hud-buttons{display:flex;gap:8px;margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.btn{border:1px solid color-mix(in srgb,var(--line) 88%,white 12%);background:linear-gradient(180deg,#141f35f0,#0a111ef0);color:var(--text);font-size:14px;font-weight:600;padding:10px 18px;border-radius:12px;cursor:pointer;box-shadow:inset 0 1px #ffffff0b,0 7px 20px #00000029;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--panel-2);border-color:#35507e;box-shadow:inset 0 1px #ffffff13,0 0 18px color-mix(in srgb,var(--mode-accent) 14%,transparent)}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:linear-gradient(100deg,color-mix(in srgb,var(--mode-accent) 74%,#1b3f8a),color-mix(in srgb,var(--mode-secondary) 78%,#3c1c76));border-color:transparent;box-shadow:0 5px 22px color-mix(in srgb,var(--mode-accent) 28%,transparent)}.btn.primary:hover{background:linear-gradient(100deg,color-mix(in srgb,var(--mode-accent) 84%,#2553a7),color-mix(in srgb,var(--mode-secondary) 88%,#56298d))}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:40;animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:min(430px,100%);max-height:86vh;overflow-y:auto;background:radial-gradient(24rem 14rem at 50% -12%,color-mix(in srgb,var(--mode-accent) 13%,transparent),transparent 72%),linear-gradient(180deg,#111a2e,#080e19);border:1px solid color-mix(in srgb,var(--mode-accent) 24%,#24345a);border-radius:20px;padding:20px 22px 24px;box-shadow:0 24px 80px #0000008c,0 0 36px color-mix(in srgb,var(--mode-accent) 7%,transparent);animation:rise .22s cubic-bezier(.34,1.3,.64,1)}@keyframes rise{0%{transform:translateY(14px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-head h2{margin:0;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.help-row{display:flex;align-items:center;gap:14px;margin:10px 0}.help-icon{width:54px;height:54px;flex:none;background:#94afe60f;border-radius:14px}.help-row p{margin:0;font-size:14.5px;line-height:1.45;color:#c6d2ea}.help-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;margin-bottom:18px}.stat-grid em{display:block;font-style:normal;font-size:26px;font-weight:800}.stat-grid span{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.dist h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.dist-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:13px}.dist-row>span{width:44px;color:var(--muted)}.dist-bar{height:22px;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;font-size:12px;font-weight:700;min-width:26px}.mastery-modal{width:min(720px,100%);max-height:min(88vh,760px);display:flex;flex-direction:column;overflow:hidden;padding-bottom:18px}.mastery-modal .modal-head{flex:none}.mastery-tabs{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#04080f70}.mastery-tabs button{padding:8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.mastery-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--mode-accent) 11%,var(--panel-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mode-accent) 24%,var(--line))}.mastery-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;margin:12px -5px 0 0;padding-right:5px}.mastery-dashboard{display:flex;flex-direction:column;gap:16px}.mastery-overall{display:flex;align-items:center;justify-content:center;gap:17px;padding:12px;border:1px solid color-mix(in srgb,var(--mode-accent) 18%,var(--line));border-radius:16px;background:radial-gradient(circle at 18% 50%,color-mix(in srgb,var(--mode-accent) 12%,transparent),transparent 34%),#070d1894}.mastery-crest.large .mastery-crest-ring{width:66px;height:66px}.mastery-crest.large .mastery-crest-ring span{font-size:16px}.mastery-crest.large .mastery-crest-copy{display:none}.mastery-overall small,.discipline-detail small{color:var(--muted);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.mastery-overall h3,.discipline-detail h3{margin:3px 0;font-size:21px;font-weight:680}.mastery-overall p{margin:0;color:var(--muted);font-size:11px}.spectrum-rail{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.spectrum-rail li{min-width:0;min-height:75px;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;padding:8px 2px 5px;border:1px solid rgba(80,103,143,.2);border-radius:9px;background:#080e199e;color:#667795;text-align:center}.spectrum-rail li:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(150deg,color-mix(in srgb,var(--azure) 9%,transparent),transparent 48%,color-mix(in srgb,var(--rose) 7%,transparent));opacity:0}.spectrum-rail li.earned{border-color:color-mix(in srgb,var(--mode-accent) 44%,var(--line));color:var(--text)}.spectrum-rail li.earned:before{opacity:1}.spectrum-rail li.current{box-shadow:0 0 17px color-mix(in srgb,var(--mode-accent) 15%,transparent)}.spectrum-rail li.locked{border-style:dashed}.spectrum-rail i{width:13px;height:13px;z-index:1;border:1px solid currentColor;border-radius:50%;box-shadow:inset 0 0 7px currentColor;opacity:.58}.spectrum-rail strong,.spectrum-rail span,.spectrum-rail small{z-index:1}.spectrum-rail strong{font-family:Georgia,serif;font-size:10px}.spectrum-rail span{font-size:8px;line-height:1.08}.spectrum-rail small{color:var(--amber);font-size:7px;text-transform:uppercase}.mastery-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.mastery-section-head h3{margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.mastery-section-head span{color:var(--muted);font-size:10px}.discipline-circles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.discipline-circles button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px 7px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer}.discipline-circles button.selected{border-color:color-mix(in srgb,var(--mode-accent) 30%,var(--line));background:color-mix(in srgb,var(--mode-accent) 6%,transparent);color:var(--text)}.discipline-circles strong{max-width:100%;overflow:hidden;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.discipline-ring{width:48px;height:48px;display:grid;place-items:center;position:relative;border-radius:50%;background:conic-gradient(var(--mode-accent) var(--discipline-progress),rgba(92,111,144,.19) 0);box-shadow:0 0 12px color-mix(in srgb,var(--mode-accent) 8%,transparent)}.discipline-ring:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#0b1322;border:1px solid rgba(129,152,191,.16)}.discipline-ring i{z-index:1;font-family:Georgia,serif;font-size:11px;font-style:normal}.discipline-detail{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);align-items:center;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--mode-accent) 20%,var(--line));border-radius:14px;background:linear-gradient(135deg,#101b2fc7,#070d18c7)}.discipline-detail h3{font-size:15px}.discipline-detail .mode-progress{justify-content:flex-end}.discipline-detail .mode-progress p{white-space:normal;text-align:right}.mastery-proof-note,.mastery-spectrum-note{position:fixed;left:50%;top:76px;z-index:65;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 28px);padding:8px 13px;border:1px solid color-mix(in srgb,var(--mode-accent) 35%,var(--line));border-radius:999px;background:#0a1220f0;color:#cfdaed;font-size:11.5px;white-space:nowrap;box-shadow:0 8px 30px #00000052}.mastery-proof-note i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--mode-accent);box-shadow:0 0 9px var(--mode-accent)}.ascension{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;display:grid;place-items:center;background:radial-gradient(circle,color-mix(in srgb,var(--mode-accent) 10%,transparent),transparent 45%);animation:ascension-arrive 1.8s cubic-bezier(.2,.8,.2,1) both}.ascension-crest{width:116px;height:116px;display:grid;place-items:center;position:absolute;left:50%;top:50%;border:2px solid rgba(230,241,255,.8);border-radius:50%;background:radial-gradient(circle,#101829 45%,transparent 47%),conic-gradient(from 210deg,var(--azure),var(--rose),var(--amber),var(--azure));box-shadow:0 0 58px color-mix(in srgb,var(--mode-accent) 46%,transparent);transform:translate(-50%,-68%) scale(.55);animation:ascension-crest-flight 1.8s cubic-bezier(.2,.8,.2,1) both}.ascension-crest:before,.ascension-crest:after{content:"";position:absolute;top:-25px;right:-25px;bottom:-25px;left:-25px;border:1px solid rgba(103,214,255,.38);border-radius:50%;opacity:0;animation:ascension-refract 1.8s ease both}.ascension-crest:after{top:-38px;right:-38px;bottom:-38px;left:-38px;border-color:#ff76c94d}.ascension-crest span{font-family:Georgia,serif;font-size:25px;font-weight:700}.ascension-title{display:flex;flex-direction:column;align-items:center;margin-top:130px;opacity:0;animation:ascension-title-resolve 1.8s ease both}.ascension-title small{color:#a9bad7;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.ascension-title strong{margin-top:6px;font-size:25px;letter-spacing:.03em;text-shadow:0 0 26px color-mix(in srgb,var(--mode-accent) 42%,transparent)}.app.has-ascension .stage{animation:ascension-board-dim 1.8s ease both}.app.has-ascension .overlay{opacity:0;pointer-events:none}@keyframes ascension-arrive{0%,8%{opacity:0}18%,82%{opacity:1}to{opacity:0}}@keyframes ascension-board-dim{0%,to{filter:brightness(1)}16%,82%{filter:brightness(.46) saturate(.72)}}@keyframes ascension-crest-flight{0%{transform:translate(-50%,-68%) scale(.42);opacity:0}22%{transform:translate(-50%,-68%) scale(1);opacity:1}68%{transform:translate(-50%,-68%) scale(1);opacity:1}to{transform:translate(calc(50vw - 72px),calc(-50vh + 48px)) scale(.28);opacity:.3}}@keyframes ascension-refract{0%,31%,55%,to{transform:scale(.78);opacity:0}39%{transform:scale(1);opacity:.85}49%{transform:scale(1.22);opacity:0}}@keyframes ascension-title-resolve{0%,35%{opacity:0;transform:translateY(7px)}49%,82%{opacity:1;transform:none}to{opacity:0}}.dist-bar.under{background:linear-gradient(90deg,#0ea5e9,#22d3ee)}.dist-bar.at{background:linear-gradient(90deg,#7c3aed,#a855f7)}.dist-bar.over{background:#2a3a5e}.win{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;position:relative}.win .btn{width:100%;margin-top:8px}.win-burst{font-size:30px;height:44px;display:flex;gap:14px;position:relative;align-items:center;justify-content:center;width:128px}.win-burst:before,.win-burst:after{content:"";position:absolute;top:-18px;right:13px;bottom:-18px;left:13px;z-index:-1;border:1px solid color-mix(in srgb,var(--mode-accent) 30%,transparent);border-radius:50%;animation:winOrbit 9s linear infinite}.win-burst:after{top:-8px;right:23px;bottom:-8px;left:23px;border-style:dashed;animation-direction:reverse;animation-duration:13s;opacity:.5}@keyframes winOrbit{to{transform:rotate(360deg)}}.win-burst .g1{color:var(--ruby);animation:burst .9s ease-out both}.win-burst .g2{color:var(--amber);animation:burst .9s .12s ease-out both}.win-burst .g3{color:var(--azure);animation:burst .9s .24s ease-out both}@keyframes burst{0%{transform:translateY(16px) scale(.4);opacity:0}55%{transform:translateY(-6px) scale(1.25);opacity:1}to{transform:none;opacity:1}}.win-headline{margin:0;font-size:21px;font-weight:800}.win-score{margin:0;color:#c6d2ea;font-size:15px}.win-verdict{margin:0;font-size:14px;color:var(--muted)}.win-verdict.good{color:#38e0b0;font-weight:700}.stamp{display:inline-block;margin:2px 0 0;padding:4px 14px;border:2px solid #38e0b0;border-radius:10px;color:#38e0b0;font-weight:800;font-size:13px;letter-spacing:.22em;text-transform:uppercase;animation:stampIn .4s cubic-bezier(.2,1.4,.4,1) .3s both}.stamp.gold{border-color:var(--amber);color:var(--amber);text-shadow:0 0 14px rgba(255,178,36,.5)}@keyframes stampIn{0%{transform:scale(1.9) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(-3deg);opacity:1}}.win-milestone{margin:4px 0 0;font-size:14px;font-weight:700;background:linear-gradient(92deg,var(--azure),var(--rose),var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}.win-streak{margin:2px 0 0;font-size:14.5px;font-weight:700;color:var(--amber)}.win-next{margin:10px 0 0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.chip-done{background:#38e0b01f;color:#38e0b0;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.chip-back{background:transparent;border:none;color:var(--azure);font-size:13.5px;font-weight:700;cursor:pointer;padding:0 2px}.toast{position:fixed;bottom:84px;left:50%;transform:translate(-50%);background:#14203a;border:1px solid #2c3f68;color:var(--text);padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;z-index:60;animation:rise .2s ease-out;box-shadow:0 10px 34px #00000080}.arcade-run{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;isolation:isolate}.arcade-run .stage{flex:1}.arcade-run[aria-busy=true] .stage{pointer-events:none}.arcade-spectral-sweep{position:absolute;z-index:4;pointer-events:none;left:5%;right:5%;top:10%;height:min(62vh,100%);overflow:hidden;opacity:0;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}.arcade-spectral-sweep:before{content:"";position:absolute;inset:5% auto 5% -22%;width:18%;border-radius:50%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mode-secondary) 14%,transparent),rgba(255,255,255,.18),color-mix(in srgb,var(--mode-accent) 18%,transparent),transparent);filter:blur(8px);transform:skew(-12deg)}.reassembly-retracting .arcade-spectral-sweep,.reassembly-assembling .arcade-spectral-sweep{opacity:1}.reassembly-retracting .arcade-spectral-sweep:before,.reassembly-assembling .arcade-spectral-sweep:before{animation:arcadeSpectralSweep .675s cubic-bezier(.32,.02,.3,1) both}.reassembly-retracting .mirror-mount,.reassembly-retracting .mirror-ring,.reassembly-retracting .mirror-pins{transform-box:fill-box;transform-origin:center;animation:arcadeMirrorRetract .29s cubic-bezier(.55,0,.8,.35) both}.reassembly-retracting .mirror-bar{opacity:0;transition:opacity .24s ease-in}.reassembly-assembling .mirror-mount,.reassembly-assembling .mirror-ring,.reassembly-assembling .mirror-pins{transform-box:fill-box;transform-origin:center;animation:arcadeMirrorAssemble .32s cubic-bezier(.2,.78,.32,1) both}.reassembly-retracting .source>:not(.source-shadow),.reassembly-assembling .source>:not(.source-shadow){transform-box:fill-box;transform-origin:center}.reassembly-retracting .source>:not(.source-shadow){animation:arcadeEmitterOut .29s ease-in both}.reassembly-assembling .source>:not(.source-shadow){animation:arcadeEmitterIn .32s ease-out both}.reassembly-retracting .source-mount,.reassembly-assembling .source-mount{stroke:color-mix(in srgb,var(--mode-accent) 72%,#ffffff);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--mode-accent) 58%,transparent))}@keyframes arcadeSpectralSweep{0%{transform:translate(0) skew(-12deg)}to{transform:translate(690%) skew(-12deg)}}@keyframes arcadeMirrorRetract{to{transform:scale(.18);opacity:0}}@keyframes arcadeMirrorAssemble{0%{transform:scale(.22);opacity:0}to{transform:scale(1);opacity:1}}@keyframes arcadeEmitterOut{to{transform:translate(15px);opacity:.08}}@keyframes arcadeEmitterIn{0%{transform:translate(-15px);opacity:.08}to{transform:translate(0);opacity:1}}.arcade-card{max-width:330px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;padding:28px 22px 24px;background:radial-gradient(18rem 12rem at 50% 0%,color-mix(in srgb,var(--mode-accent) 15%,transparent),transparent 68%),linear-gradient(160deg,#121d32fa,#060b14fa);border:1px solid color-mix(in srgb,var(--mode-accent) 30%,#24345a);border-radius:22px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 24px 70px #00000061,0 0 36px color-mix(in srgb,var(--mode-accent) 8%,transparent)}.arcade-card:after{content:"";position:absolute;inset:auto -25% -54% 40%;height:170px;border:1px solid color-mix(in srgb,var(--mode-accent) 17%,transparent);border-radius:50%;transform:rotate(-18deg);pointer-events:none}.arcade-kicker{color:var(--mode-accent);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.arcade-emblem{position:relative;width:90px;height:90px;display:grid;place-items:center}.arcade-emblem i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--mode-accent) 38%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--mode-accent) 11%,transparent),transparent 64%),conic-gradient(from 25deg,transparent 0 20%,var(--mode-accent) 21% 22%,transparent 23% 47%,var(--mode-accent) 48% 49%,transparent 50% 74%,var(--mode-accent) 75% 76%,transparent 77%);box-shadow:inset 0 0 28px color-mix(in srgb,var(--mode-accent) 7%,transparent);animation:arcadeOrbit 12s linear infinite}@keyframes arcadeOrbit{to{transform:rotate(360deg)}}.arcade-card h2{margin:0;font-size:22px;letter-spacing:.08em}.arcade-card p{margin:0;color:#c6d2ea;font-size:14.5px;line-height:1.5}.arcade-card .btn{width:100%}.arcade-icon{font-size:38px;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--mode-accent) 58%,transparent));z-index:1}.arcade-score{font-size:16px}.arcade-score em{font-style:normal;font-size:40px;font-weight:800;display:block}.arcade-best{color:var(--muted);font-size:13.5px}.arcade-card .arcade-proof{width:100%;padding:7px 10px;border-block:1px solid color-mix(in srgb,var(--mode-accent) 18%,transparent);color:color-mix(in srgb,var(--mode-accent) 58%,#dce7fb);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.arcade-hud{padding:6px 4px 0}.timer{height:9px;border-radius:999px;background:#94afe61f;overflow:hidden;border:1px solid rgba(148,175,230,.1);box-shadow:inset 0 2px 4px #0000006b}.timer-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--mode-secondary),var(--mode-accent) 72%,#ffffff 100%);transition:width .1s linear;box-shadow:0 0 12px color-mix(in srgb,var(--mode-accent) 58%,transparent);position:relative}.timer-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.24) 25px 26px)}.timer.urgent .timer-fill{background:linear-gradient(90deg,#ff4d6b,#ff8a2a);animation:timerThreat .54s ease-in-out infinite alternate}@keyframes timerThreat{to{filter:brightness(1.38);box-shadow:0 0 20px #ff4d6ba6}}.arcade-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 0;font-variant-numeric:tabular-nums}.timer-num{font-size:17px;font-weight:800}.timer-num.urgent{color:#ff5c77;animation:pulseText .8s infinite}@keyframes pulseText{50%{opacity:.55}}.arcade-solves{font-weight:700;color:#c6d2ea}.arcade-shields span{margin-left:3px}.arcade-shields .lost{opacity:.22;filter:grayscale(1)}.arcade-bank{padding-inline:14px;border-color:color-mix(in srgb,var(--mode-accent) 38%,var(--line));color:color-mix(in srgb,var(--mode-accent) 48%,var(--text));box-shadow:inset 0 0 16px color-mix(in srgb,var(--mode-accent) 5%,transparent)}.stage.vault{align-items:flex-start;overflow-y:auto;overflow-x:hidden}.vault-wrap{width:100%;padding:6px 2px 14px}.vault-hero{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:4px 2px 12px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--mode-accent) 26%,var(--line));border-radius:18px;background:radial-gradient(16rem 9rem at 0% 0%,color-mix(in srgb,var(--mode-accent) 12%,transparent),transparent 70%),linear-gradient(145deg,#121d32f0,#070d18f0);box-shadow:inset 0 1px #ffffff0b,0 12px 30px #0003}.vault-key{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;border:1px solid color-mix(in srgb,var(--mode-accent) 32%,var(--line));background:color-mix(in srgb,var(--mode-accent) 8%,var(--panel));font-size:20px;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--mode-accent) 42%,transparent))}.vault-hero h2,.vault-hero p{margin:0}.vault-hero h2{font-size:17px;letter-spacing:.06em}.vault-hero p{margin-top:2px;color:var(--muted);font-size:11.5px}.vault-hero>strong{color:var(--mode-accent);font-size:20px;font-variant-numeric:tabular-nums}.vault-hero>strong small{color:var(--muted);font-size:11px}.vault-progress{height:4px;margin:0 8px 9px;overflow:hidden;border-radius:999px;background:#94afe617}.vault-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mode-secondary),var(--mode-accent));box-shadow:0 0 12px var(--mode-accent)}.vault-note{text-align:center;color:var(--muted);font-size:13px;margin:4px 0 12px}.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.vault-cell{border:1px solid var(--line);background:linear-gradient(150deg,#121d32e6,#070d18e6);border-radius:14px;padding:10px 4px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:3px;align-items:center;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.vault-cell>i{position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mode-accent) 50%,transparent),transparent)}.vault-cell:hover{border-color:#35507e;background:var(--panel-2);transform:translateY(-1px);box-shadow:0 7px 18px #00000038}.vault-cell em{font-style:normal;font-weight:800;font-size:14.5px}.vault-cell span{font-size:11px;color:var(--muted);letter-spacing:.2em}.vault-cell.done{border-color:#38e0b073;background:linear-gradient(150deg,#143030b8,#071418e6)}.vault-cell.done span{color:#38e0b0;letter-spacing:0}.sheet-overlay{align-items:flex-end;padding:0}.sheet{width:100%;max-width:560px;margin:0 auto;max-height:88vh;overflow-y:auto;background:radial-gradient(32rem 18rem at 50% -8%,color-mix(in srgb,var(--mode-accent) 13%,transparent),transparent 72%),linear-gradient(180deg,#121c31,#080e19);border:1px solid #24345a;border-bottom:none;border-radius:22px 22px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:sheetUp .24s cubic-bezier(.34,1.2,.64,1);box-shadow:0 -24px 90px #0000009e,inset 0 1px #ffffff09}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet-grip{width:42px;height:4px;border-radius:999px;background:#2c3f68;margin:4px auto 10px}.mode-group+.mode-group{margin-top:15px}.sheet-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:14px 2px 8px}.sheet-heading span{color:#7183a7;font-size:10.5px;letter-spacing:.035em;text-align:right}.sheet-title{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.sheet>.sheet-title{margin:18px 2px 8px}.mode-list{display:flex;flex-direction:column;gap:6px}.mode-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--row-accent) 13%,var(--line));background:radial-gradient(12rem 5rem at 0% 50%,color-mix(in srgb,var(--row-accent) 7%,transparent),transparent 72%),linear-gradient(145deg,#111c30f5,#080e19f5);border-radius:14px;padding:11px 14px;color:var(--text);cursor:pointer;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.mode-row:before{content:"";position:absolute;inset:8px auto 8px 0;width:2px;border-radius:999px;background:var(--row-accent);box-shadow:0 0 12px var(--row-accent);opacity:.42}.mode-row:hover{border-color:color-mix(in srgb,var(--row-accent) 48%,#35507e);background:var(--panel-2);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 7px 18px #0003}.mode-row.on{border-color:color-mix(in srgb,var(--row-accent) 78%,white 8%);box-shadow:inset 0 0 24px color-mix(in srgb,var(--row-accent) 7%,transparent),0 0 20px color-mix(in srgb,var(--row-accent) 8%,transparent)}.mode-row.on:before{opacity:1}.mode-icon{font-size:18px;width:34px;height:34px;border-radius:11px;text-align:center;display:grid;place-items:center;color:var(--row-accent);border:1px solid color-mix(in srgb,var(--row-accent) 24%,var(--line));background:color-mix(in srgb,var(--row-accent) 7%,rgba(8,14,25,.8));text-shadow:0 0 12px color-mix(in srgb,var(--row-accent) 50%,transparent)}.mode-text{display:flex;flex-direction:column;gap:1px;flex:1}.mode-text strong{font-size:15px;letter-spacing:.01em}.mode-text small{color:var(--muted);font-size:12px}.mode-tag{color:var(--row-secondary);font-weight:800;font-size:15px}.mode-row.on .mode-tag{color:var(--row-accent);text-shadow:0 0 10px var(--row-accent)}.theme-row{display:flex;gap:10px;flex-wrap:wrap}.theme-swatch{position:relative;display:flex;gap:3px;padding:9px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;align-items:center;min-width:79px;justify-content:center}.theme-swatch span{width:8px;height:22px;border-radius:4px}.theme-swatch small{margin-left:3px;color:var(--muted);font-size:10.5px}.theme-swatch.on{border-color:var(--azure);box-shadow:0 0 0 1px var(--azure)}.theme-swatch.on small{color:var(--text)}.swatch-lock{position:absolute;top:-6px;right:-6px;font-style:normal;font-size:11px;color:var(--rose);background:#0b1220;border:1px solid #2c3f68;border-radius:999px;padding:1px 4px}.feel-row{display:flex;gap:10px}.feel-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.feel-toggle.on{border-color:var(--azure);color:var(--text)}.prism-banner{display:flex;align-items:center;gap:12px;width:100%;margin-top:16px;text-align:left;border:1px solid transparent;border-radius:16px;padding:13px 16px;color:var(--text);cursor:pointer;background:linear-gradient(#111a2e,#111a2e) padding-box,linear-gradient(92deg,var(--azure),var(--rose),var(--ruby)) border-box}.prism-gems{font-size:16px;letter-spacing:2px;background:linear-gradient(92deg,var(--azure),var(--rose),var(--ruby));-webkit-background-clip:text;background-clip:text;color:transparent}.prism-banner strong{display:block;font-size:15px}.prism-banner small{color:var(--muted);font-size:12px}.prism-banner .mode-tag{margin-left:auto}.sheet-foot{margin:16px 2px 0;text-align:center;color:var(--muted);font-size:12px}.sheet-foot a{color:var(--azure);text-decoration:none}.paywall{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.paywall-lead{margin:0;font-size:15px;line-height:1.5;font-weight:600}.paywall-list{list-style:none;margin:6px 0;padding:0;width:100%;display:flex;flex-direction:column;gap:9px;text-align:left}.paywall-list li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:#c6d2ea}.pw-icon{width:22px;text-align:center;flex:none;font-size:15px}.paywall-cta{width:100%;text-align:center;text-decoration:none;display:block}.paywall-note{margin:2px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.gate-absorption{opacity:0;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:gateAbsorb .28s ease-out both}.split-arrival{opacity:0;stroke-width:2.2;transform-box:fill-box;transform-origin:center;animation:splitArrival .3s ease-out both}@keyframes gateAbsorb{0%{opacity:.5;transform:scale(1.25)}to{opacity:0;transform:scale(.45)}}@keyframes splitArrival{0%{opacity:.72;transform:scale(.6)}to{opacity:0;transform:scale(1.85)}}.gate{--optic-color: #dfe9ff;pointer-events:none}.gate-aura{fill:var(--optic-color);opacity:.035;filter:url(#gemGlow)}.gate-rail{fill:none;stroke:var(--optic-color)}.gate-rail.outer{stroke-width:3;opacity:.72}.gate-rail.inner{stroke-width:1.5;opacity:.34}.gate-pattern{fill:none;stroke:var(--optic-color);stroke-width:2.2;stroke-linecap:round;opacity:.38}.gate-passing .gate-aura{opacity:.16}.gate-passing .gate-rail.outer{opacity:1;filter:drop-shadow(0 0 5px var(--optic-color))}.gate-blocked .gate-rail.inner{stroke-dasharray:3 5;opacity:.62}.dichroic{--optic-color: #dfe9ff;pointer-events:none}.dichroic-mount{fill:#070d18eb;stroke:#94afe661;stroke-width:1.8;stroke-dasharray:2 6}.dichroic-pane{fill:#dcecff33;stroke:#e5f1ffd1;stroke-width:2}.dichroic-coating{fill:var(--optic-color);opacity:.62}.dichroic-highlight{fill:none;stroke:#fff;stroke-width:2;opacity:.58}.dichroic-edge{fill:none;stroke:var(--optic-color);stroke-width:3;filter:drop-shadow(0 0 4px var(--optic-color))}.dichroic-center{fill:#fff;stroke:var(--optic-color);stroke-width:1.5}.dichroic.splitting .dichroic-mount{stroke:var(--optic-color);filter:drop-shadow(0 0 5px var(--optic-color))}.link-response{fill:none;stroke:#78c8ff94;stroke-width:2;stroke-dasharray:4 9;stroke-linecap:round;pointer-events:none;filter:drop-shadow(0 0 5px rgba(120,200,255,.48));animation:linkResponse .22s ease-out both}@keyframes linkResponse{0%{opacity:0;stroke-dashoffset:13}to{opacity:1;stroke-dashoffset:0}}.link-glyph circle{fill:#070d18e0;stroke:#78c8ff8f;stroke-width:1.2}.link-glyph path{fill:none;stroke:#c8e6ff80;stroke-width:.8;opacity:.32}.link-glyph text{fill:#d2edffe6;font:700 7px/1 system-ui,sans-serif;text-anchor:middle}.mirror.linked-active .link-glyph{filter:drop-shadow(0 0 4px rgba(120,200,255,.72))}.gem{--gem-body-opacity: .13;--gem-facet-opacity: .12}.gem.lit{--gem-body-opacity: 1;--gem-facet-opacity: .34}.gem-cut-def .gem-body{fill:currentColor;fill-opacity:var(--gem-body-opacity);stroke:currentColor;stroke-width:3;stroke-opacity:.78;stroke-linejoin:round}.gem-cut-def .gem-light-facet{fill:#fff;fill-opacity:var(--gem-facet-opacity);stroke:#ffffff52;stroke-width:1}.gem-cut-def .gem-dark-facet{fill:#02050b;fill-opacity:calc(var(--gem-facet-opacity) * .75);stroke:#ffffff29;stroke-width:1}.gem-cut-def .gem-crown{fill:#fff;fill-opacity:calc(var(--gem-facet-opacity) * 1.2);stroke:#ffffff57;stroke-width:1}.gem-cut-def .gem-sun-rays{fill:none;stroke-width:2.2}@media(prefers-reduced-motion:reduce){.beam .bloom,.beam .beam-haze,.beam-impact,.gate-absorption,.split-arrival,.link-response,.gem.lit,.gem.mixed:not(.lit),.flash-ring,.halo,.prism-aura,.prism-shine,.prism-spectrum,.armed-ring,.source.armed .source-arrow,.source.armed .source-arrow-glow,.beat-mirror .mirror-ring,.beat-badge-pulse,.app[data-screen=tempo] .field-orbit,.tempo-signal i,.shard,.cheer-ring,.mote,.stage.just-solved .board,.stage.just-solved .beams,.win-burst span,.stamp,.win-burst:before,.win-burst:after,.arcade-emblem i,.timer.urgent .timer-fill,.wordmark,.modal,.overlay,.ascension,.ascension-crest,.ascension-crest:before,.ascension-crest:after,.ascension-title,.app.has-ascension .stage,body:before,body:after{animation:none!important}.gate-absorption{opacity:.28;transform:scale(.65)}.split-arrival{opacity:.42;transform:scale(1)}.link-response{opacity:.68;stroke-dashoffset:0}.app.has-ascension .stage{filter:brightness(.62) saturate(.78)}.ascension{opacity:1;background:#050911b8}.ascension-crest{transform:translate(-50%,-68%) scale(.82);opacity:1}.ascension-crest:before,.ascension-crest:after{display:none}.ascension-title{opacity:1;transform:none}.beam .draw{stroke-dasharray:none;stroke-dashoffset:0;animation:none!important}.beam .flow{display:none}.stamp{opacity:1;transform:rotate(-3deg)}.sparkle{animation:sparkleFade 2.6s ease-in-out infinite}.sparkle.s2{animation-delay:.9s}.sparkle.s3{animation-delay:1.7s}.mirror-bar{transition:none}.arcade-spectral-sweep{display:none}.reassembly-retracting .stage{animation:arcadeReducedFadeOut .06s linear both}.reassembly-assembling .stage{animation:arcadeReducedFadeIn .06s linear both}.reassembly-retracting .mirror-mount,.reassembly-retracting .mirror-ring,.reassembly-retracting .mirror-pins,.reassembly-assembling .mirror-mount,.reassembly-assembling .mirror-ring,.reassembly-assembling .mirror-pins,.reassembly-retracting .source>:not(.source-shadow),.reassembly-assembling .source>:not(.source-shadow){animation:none!important;transform:none;opacity:1}}@keyframes arcadeReducedFadeOut{to{opacity:0}}@keyframes arcadeReducedFadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:400px){.wordmark{font-size:14px;letter-spacing:.16em}.tagline{display:none}.app{padding-inline:9px}.actions{gap:4px}.icon-btn{width:34px;height:34px}.mastery-crest{gap:5px}.mastery-crest-ring{width:31px;height:31px}.mastery-crest-copy{max-width:58px}.mastery-crest.empty .mastery-crest-copy{max-width:80px}.mastery-crest-copy small{font-size:7px}.mastery-crest-copy strong{font-size:9px}.mode-progress p{white-space:normal}.overlay{padding:8px}.mastery-modal{max-height:94vh;padding:15px 14px 14px}.spectrum-rail{grid-template-columns:repeat(5,minmax(0,1fr))}.spectrum-rail li{min-height:66px}.discipline-circles{gap:4px}.discipline-ring{width:43px;height:43px}.discipline-detail{grid-template-columns:1fr;gap:7px}.discipline-detail .mode-progress{justify-content:flex-start}.discipline-detail .mode-progress p{text-align:left}.chip{padding-inline:10px}.hud{gap:6px}.btn{padding-inline:13px}.mode-signal{right:2px;font-size:8px}.vault-hero{padding-inline:12px}.vault-hero p{display:none}}@media(max-height:650px){.app{padding-top:max(5px,env(safe-area-inset-top))}.top{padding-bottom:5px}.tagline{display:none}.meta{min-height:35px;padding-top:5px}.chip{padding-block:5px}.board{max-height:59vh}.hud{padding-top:4px}.mode-signal{top:3px}}
