:root{--ink:#e7f1fb;--dim:#92a6bf;--faint:#5d7089;--bg:#05070d;--panel-a:#090f14d1;--panel-b:#05090dc7;--edge:#3ef0c221;--edge-hi:#3ef0c24d;--well:#7ea6d61a;--accent-rgb:62, 240, 194;--accent:rgb(var(--accent-rgb));--accent-soft:rgba(var(--accent-rgb), .14);--magenta:#ff5ea8;--warn:#ffc65c;--over:#ff6b8b;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--r:12px;--gut:12px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#stage{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{z-index:10;pointer-events:none;font-size:11px;line-height:1.45;position:fixed;inset:0}#hud.is-hidden .hud-panel,#hud.is-hidden .hud-hint{opacity:0;visibility:hidden;transition:opacity .24s,visibility 0s linear .24s}.hud-panel{top:max(var(--gut), env(safe-area-inset-top));left:max(var(--gut), env(safe-area-inset-left));width:316px;max-height:calc(100dvh - 2 * var(--gut));background:linear-gradient(170deg, var(--panel-a), var(--panel-b));border:1px solid var(--edge);border-radius:var(--r);-webkit-backdrop-filter:blur(16px)saturate(1.25);pointer-events:auto;flex-direction:column;transition:width .2s,background .2s,opacity .24s;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 60px -28px #000000f2,inset 0 1px #ffffff0b}#hud.is-collapsed .hud-panel{background:linear-gradient(170deg,#0b101a99,#0609108c);width:auto}#hud.is-collapsed .hud-mark{display:none}.hud-head{grid-template-columns:1fr auto auto;align-items:center;gap:0 10px;padding:10px 11px 10px 13px;display:grid}.hud-mark{flex-direction:column;min-width:0;display:flex}.hud-mark b{letter-spacing:.34em;color:var(--ink);font-size:11px;font-weight:500}.hud-mark span{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;overflow:hidden}.hud-fps{align-items:baseline;gap:3px;display:flex}.hud-fps b{color:var(--accent);font-size:19px;font-weight:400;line-height:1;transition:color .2s}.hud-fps b[data-tone=warn]{color:var(--warn)}.hud-fps b[data-tone=over]{color:var(--over)}.hud-fps span{letter-spacing:.14em;color:var(--faint);font-size:8.5px}.hud-acts{gap:4px;display:flex}.ico-btn{border:1px solid var(--edge);width:24px;height:24px;color:var(--dim);cursor:pointer;pointer-events:auto;background:0 0;border-radius:7px;place-items:center;padding:0;transition:color .14s,border-color .14s,background .14s;display:grid}.ico-btn svg{width:15px;height:15px}.ico-btn:hover{color:var(--ink);border-color:var(--edge-hi);background:var(--well)}.chev-u{display:none}#hud.is-collapsed .chev-u{display:inline}#hud.is-collapsed .chev-d{display:none}.hud-badge{letter-spacing:.2em;text-transform:uppercase;color:var(--magenta);grid-area:2/1/auto/-1;margin-top:2px;font-size:8px}.hud-badge:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:6px;display:inline-block;box-shadow:0 0 6px}.hud-badge.is-engine{color:var(--accent);grid-row:3}.hud-body{overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--edge-hi) transparent;overflow-y:auto}.hud-body::-webkit-scrollbar{width:6px}.hud-body::-webkit-scrollbar-thumb{background:var(--edge);border-radius:3px}.hud-sec{border-top:1px solid var(--edge);padding:10px 13px 12px}.hud-sec h2{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px;font-size:8.5px;font-weight:500;display:flex}.hud-sec h2 span{letter-spacing:.08em;color:#5d7089b8;text-transform:none}.m-row{grid-template-columns:44px 1fr 40px 14px;align-items:center;gap:7px;height:17px;display:grid}.m-key{letter-spacing:.06em;color:var(--dim);font-size:9.5px}.trk{background:var(--well);border-radius:2px;height:3px;position:relative;overflow:hidden}.trk-fill{width:var(--v,0%);background:var(--accent);border-radius:2px;transition:width .11s linear,background .18s;position:absolute;inset:0 auto 0 0}.trk-fill[data-tone=warn]{background:var(--warn)}.trk-fill[data-tone=over]{background:var(--over);box-shadow:0 0 8px #ff6b8b99}.trk-fill[data-tone=off]{background:var(--faint)}.trk-fill[data-tone=on]{background:var(--magenta);box-shadow:0 0 8px #ff5ea880}.m-val{text-align:right;color:var(--ink);font-size:10px}.m-unit{color:var(--faint);font-size:8.5px}.m-warp{margin-top:8px}.hud-spark{border-bottom:1px solid var(--edge);width:100%;height:26px;margin-top:8px;display:block}.c-grid{grid-template-columns:1fr 1fr;gap:1px 16px;display:grid}.c-box{border-bottom:1px solid #7ea6d612;justify-content:space-between;align-items:baseline;gap:6px;height:16px;display:flex}.c-box span{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap;font-size:8px}.c-box b{color:var(--ink);white-space:nowrap;font-size:10.5px;font-weight:400}.h-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.h-card{border:1px solid var(--edge);background:#070a1280;border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px 7px;transition:border-color .18s,background .18s;display:flex}.h-card span{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:8px}.h-card b{color:var(--faint);font-size:12px;font-weight:400;transition:color .18s}.h-card[data-state=idle] b{color:var(--dim)}.h-card[data-state=cast]{border-color:rgba(var(--accent-rgb), .45);background:var(--accent-soft)}.h-card[data-state=cast] b{color:var(--accent)}.g-list{gap:1px;margin:10px 0 0;padding:0;list-style:none;display:grid}.g-row{color:var(--dim);border-radius:6px;grid-template-columns:20px 1fr;align-items:center;gap:8px;padding:3px 6px;transition:background .16s,color .16s,box-shadow .16s;display:grid}.g-row svg{opacity:.75;width:16px;height:16px}.g-txt{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.g-txt b{white-space:nowrap;font-size:10px;font-weight:400}.g-txt i{letter-spacing:.06em;color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;font-style:normal;overflow:hidden}.g-row[data-on="1"]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 1px 0 0 var(--accent)}.g-row[data-on="1"] svg{opacity:1}.g-row[data-on="1"] .g-txt i{color:rgba(var(--accent-rgb), .7)}.seg{border:1px solid var(--edge);border-radius:8px;display:flex;overflow:hidden}.seg.is-presets{margin-bottom:10px}.seg-btn{border:0;border-right:1px solid var(--edge);min-width:0;color:var(--dim);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;flex:1 1 0;padding:6px 2px 7px;font-size:9px;transition:background .14s,color .14s;position:relative}.seg-btn:last-child{border-right:0}.seg-btn:hover{background:var(--well);color:var(--ink)}.seg-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.seg-key{letter-spacing:.1em;color:var(--faint);font-size:7.5px;display:block}.seg-btn[aria-pressed=true] .seg-key{color:rgba(var(--accent-rgb), .72)}.row-btn{border:1px solid var(--edge);width:100%;color:var(--dim);font:inherit;letter-spacing:.06em;cursor:pointer;background:#070a1280;border-radius:8px;justify-content:space-between;align-items:center;margin-top:7px;padding:6px 9px 7px;font-size:10px;transition:background .14s,color .14s,border-color .14s;display:flex}.row-btn b{color:var(--faint);font-weight:400}.row-btn:hover{color:var(--ink);border-color:var(--edge-hi);background:var(--well)}.row-btn[aria-pressed=true]{color:var(--ink)}.row-btn[aria-pressed=true] b{color:var(--accent)}.row-btn.is-action:hover{color:var(--magenta);border-color:#ff5ea880}.row-btn.is-action:hover b{color:var(--magenta)}.p-row{grid-template-columns:62px 1fr 48px;align-items:center;gap:8px;margin-top:7px;display:grid}.p-key{letter-spacing:.04em;color:var(--dim);font-size:9.5px}.p-val{text-align:right;color:var(--ink);font-size:9.5px}input[type=range]{appearance:none;cursor:ew-resize;pointer-events:auto;background:0 0;width:100%;height:14px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--edge-hi);border-radius:1px;height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:0;border-radius:50%;width:11px;height:11px;margin-top:-4.5px;box-shadow:0 0 0 1px #04050ae6}input[type=range]::-moz-range-track{background:var(--edge-hi);border-radius:1px;height:2px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:11px;height:11px}.hud-adv{border-top:1px solid var(--edge);padding:0 13px 12px}.hud-adv>summary{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);cursor:pointer;padding:10px 0 2px;font-size:8.5px;font-weight:500;list-style:none}.hud-adv>summary::-webkit-details-marker{display:none}.hud-adv>summary:before{content:"+ ";color:var(--accent)}.hud-adv[open]>summary:before{content:"− "}.hud-adv>summary:hover{color:var(--dim)}.hud-percep{border-top:1px solid var(--edge);grid-template-columns:10px 1fr;align-items:baseline;gap:2px 7px;margin:0;padding:9px 13px 11px;display:grid;position:relative}.hud-percep:before{content:"";pointer-events:none;background:linear-gradient(#06091000,#060910d9);height:18px;position:absolute;bottom:100%;left:0;right:0}.hud-percep .dot{background:var(--faint);border-radius:50%;grid-row:1;width:6px;height:6px;margin-bottom:1px;box-shadow:0 0 7px}.hud-percep b{color:var(--ink);font-size:10px;font-weight:400}.hud-percep span{color:var(--faint);grid-column:2;font-size:8.5px;line-height:1.5}.hud-percep[data-tone=ok] .dot{background:var(--accent);color:rgba(var(--accent-rgb), .55)}.hud-percep[data-tone=warn] .dot{background:var(--warn);color:#ffc65c80}.hud-percep[data-tone=wait] .dot{background:var(--dim);color:#0000;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.hud-hint{left:0;right:0;bottom:max(26px, env(safe-area-inset-bottom));text-align:center;opacity:1;flex-direction:column;align-items:center;gap:9px;padding:0 16px;transition:opacity 1.2s,transform 1.2s;display:flex;position:absolute}.hud-hint>*{max-width:min(960px,100%)}.hud-hint.is-gone{opacity:0;transform:translateY(8px)}.hud-hint>b{letter-spacing:.34em;text-transform:uppercase;color:var(--ink);text-shadow:0 2px 24px #000000e6;font-size:13px;font-weight:400}.hud-hint .chips{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.chip{border:1px solid var(--edge);letter-spacing:.08em;color:var(--dim);-webkit-backdrop-filter:blur(8px);background:#070a129e;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 4px;font-size:9px;display:inline-flex}.chip svg{opacity:.8;width:12px;height:12px}.hint-keys{letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-size:8.5px}.tut-scrim{pointer-events:none;background:linear-gradient(90deg,#04080ee6 0%,#04080eb3 26%,#04080e1f 52%,#04080e00 72%);animation:.42s both tut-fade;position:absolute;inset:0}@keyframes tut-fade{0%{opacity:0}}.tut{--v:0%;padding:clamp(18px, 4vh, 44px) var(--gut);pointer-events:auto;grid-template-rows:auto auto 1fr auto auto;grid-template-columns:min(420px,46vw);justify-content:start;gap:10px;display:grid;position:absolute;inset:0}.tut.is-in{animation:.52s both tut-fade}.tut.is-step .tut-num{animation:.9s cubic-bezier(.16,1,.3,1) both tut-num-in}.tut.is-step .tut-art{animation:.72s cubic-bezier(.16,1,.3,1) 90ms both tut-cut}.tut.is-step .tut-text>*{animation:.62s cubic-bezier(.16,1,.3,1) both tut-cut}.tut.is-step .tut-text>b{animation-delay:.18s}.tut.is-step .tut-text>.tut-effect{animation-delay:.27s}.tut.is-step .tut-text>.tut-how{animation-delay:.36s}@keyframes tut-cut{0%{opacity:0;filter:blur(8px);transform:translateY(16px)}}@keyframes tut-num-in{0%{opacity:0;filter:blur(14px);transform:translate(-.12em,.16em)scale(1.25)}}.tut-num{letter-spacing:-.04em;color:#0000;-webkit-text-stroke:1px rgba(var(--accent-rgb), .16);pointer-events:none;z-index:0;font-size:clamp(120px,26vh,240px);font-weight:300;line-height:.8;position:absolute;top:-.3em;left:-.06em}.tut.is-done .tut-num,.tut.is-pass .tut-num{-webkit-text-stroke-color:rgba(var(--accent-rgb), .4)}.tut-body>:not(.tut-num){z-index:1;position:relative}.tut-head{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);align-items:center;gap:14px;font-size:9px;display:flex}.tut-tag{color:var(--accent)}.tut-count{flex:1}.tut-dots{gap:5px;display:flex}.tut-dots i{background:var(--well);border-radius:999px;flex:1;height:2px;transition:background-color .22s,box-shadow .22s}.tut-dots i.is-done{background:rgba(var(--accent-rgb), .45)}.tut-dots i.is-now{background:var(--accent);box-shadow:0 0 8px var(--accent)}.tut-body{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(12px,2.4vh,22px);display:flex;position:relative}.tut-art{background:radial-gradient(90% 80% at 50% 20%, rgba(var(--accent-rgb), .1), transparent 70%), var(--well);border:1px solid var(--edge);width:clamp(112px,16vh,156px);height:clamp(112px,16vh,156px);color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.ha{transform-origin:50% 65%}.ha-hand{fill:currentColor;transform-origin:50% 65%}.ha-f1,.ha-f2{animation:2.6s ease-in-out infinite ha-frame}.ha-f1{opacity:0}.ha-f2{animation-delay:-1.3s}@keyframes ha-frame{0%,to{opacity:0;transform:scale(.9)}12%,42%{opacity:1;transform:scale(1)}54%{opacity:0;transform:scale(.9)}}.tut-pair{align-items:center;gap:clamp(6px,1.2vw,14px);display:flex}.tut-arrow{color:rgba(var(--accent-rgb), .55);flex:none;align-self:center;place-items:center;display:grid}.tut-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:clamp(22px,3.4vh,34px);height:clamp(22px,3.4vh,34px);animation:1.8s ease-in-out infinite tut-arrow-run}@keyframes tut-arrow-run{0%,to{opacity:.45;transform:translate(-3px)}50%{opacity:1;transform:translate(3px)}}.tut-goal{background:var(--well);border:1px solid var(--edge);border-radius:50%;flex:none;place-items:center;width:clamp(92px,13vh,128px);height:clamp(92px,13vh,128px);display:grid;position:relative}.tut-goal-art{fill:none;position:absolute;inset:14%;overflow:visible}.tut-goal-art .tut-mirror-line{stroke:var(--accent);stroke-width:1.4px;filter:drop-shadow(0 0 5px rgba(var(--accent-rgb), .5))}.tut.is-step .tut-goal,.tut.is-step .tut-arrow{animation:.72s cubic-bezier(.16,1,.3,1) .15s both tut-cut}.tut-mirror{opacity:0;fill:none;pointer-events:none;transition:opacity .26s;position:absolute;inset:16%;overflow:visible}.tut-mirror.is-live{opacity:1}.tut-mirror-line{stroke:#fff;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #ffffff8c)}.tut-mirror-fill{stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--accent))}.tut-mirror-wrist{fill:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.tut.is-pass .tut-mirror-line,.tut.is-done .tut-mirror-line{stroke:var(--accent);filter:drop-shadow(0 0 8px var(--accent))}.tut-hand svg{width:clamp(70px,10vh,100px);height:clamp(70px,10vh,100px);filter:drop-shadow(0 0 9px rgba(var(--accent-rgb), .4))}.tut-art{position:relative}.tut-hand{place-items:center;display:grid}.tut-ring{pointer-events:none;position:absolute;inset:8px;transform:rotate(-90deg)}.tut-ring circle{fill:none;stroke-width:3.5px;stroke-dasharray:1}.tut-ring-bg{stroke:rgba(var(--accent-rgb), .14)}.tut-ring-v{stroke:var(--accent);stroke-linecap:round;stroke-dashoffset:calc(1 - var(--vn,0));filter:drop-shadow(0 0 5px rgba(var(--accent-rgb), .7));transition:stroke-dashoffset 90ms linear}.ha-pull{animation:2.6s ease-in-out infinite ha-pull}.ha-push{animation:2.6s ease-in-out infinite ha-push}.ha-spin{animation:3.4s ease-in-out infinite ha-spin}.ha-trail,.ha-pop,.ha-burst{animation:2.4s ease-in-out infinite ha-breathe}@keyframes ha-pull{50%{transform:scale(.94)}}@keyframes ha-push{50%{transform:scale(1.06)}}@keyframes ha-spin{50%{transform:rotate(-9deg)}}@keyframes ha-breathe{50%{opacity:.72}}@media (prefers-reduced-motion:reduce){.ha-f1,.ha-f2,.ha-pull,.ha-push,.ha-spin,.ha-trail,.ha-pop,.ha-burst{animation:none}}.tut-text{flex-direction:column;align-items:flex-start;gap:8px;max-width:30ch;display:flex}.tut-text b{letter-spacing:.14em;text-transform:lowercase;color:var(--ink);text-shadow:0 0 26px rgba(var(--accent-rgb), .35);font-size:clamp(26px,4.4vh,40px);font-weight:300;line-height:1}.tut-effect{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:11px}.tut-how{letter-spacing:.02em;color:var(--dim);font-size:14px;line-height:1.6}.tut-btn{border:1px solid var(--edge);color:var(--dim);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:5px 10px;font-size:9px;transition:color .15s,border-color .15s}.tut-btn:hover,.tut-btn:focus-visible{color:var(--ink);border-color:var(--edge-hi);outline:none}.tut-track{background:var(--well);border-radius:999px;width:100%;height:2px;overflow:hidden}.tut-fill{height:100%;width:var(--v);background:var(--accent);border-radius:inherit;transition:width 80ms linear;display:block}.tut.is-pass .tut-fill,.tut.is-done .tut-fill{box-shadow:0 0 10px var(--accent)}.tut-foot{align-items:center;gap:14px;display:flex}.tut-dots{margin-top:10px}.tut-note{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);flex:1;font-size:8.5px}.tut.is-seen .tut-note{color:var(--dim)}#hud.is-hidden .tut,#hud.is-hidden .tut-scrim{display:none}.hud-help{-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;background:#020409b3;place-items:center;padding:18px;transition:opacity .18s,visibility 0s linear .18s;display:grid;position:absolute;inset:0}.hud-help.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.help-sheet{overscroll-behavior:contain;touch-action:pan-y;border:1px solid var(--edge-hi);background:linear-gradient(170deg,#0c111cf5,#060910f5);border-radius:14px;width:min(620px,100%);max-height:calc(100dvh - 36px);padding:16px 18px 20px;transition:transform .22s cubic-bezier(.2,.8,.2,1);overflow-y:auto;transform:translateY(6px)scale(.99);box-shadow:0 40px 90px -40px #000}.hud-help.is-open .help-sheet{transform:none}.help-sheet>header{border-bottom:1px solid var(--edge);align-items:center;gap:9px;margin-bottom:14px;padding-bottom:12px;display:flex}.help-sheet>header b{letter-spacing:.34em;font-size:11px;font-weight:500}.help-sheet>header span{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);flex:1;font-size:8.5px}.help-cols{grid-template-columns:1fr 1fr;gap:22px;display:grid}.help-cols h3{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;font-size:8.5px;font-weight:500}.help-cols h3+.k-list+h3{margin-top:16px}.g-list.is-static .g-row{padding:4px 0}.k-list{gap:4px;display:grid}.k-row{color:var(--dim);grid-template-columns:54px 1fr;align-items:baseline;gap:9px;font-size:9.5px;display:grid}kbd{border:1px solid var(--edge);background:var(--well);font:inherit;text-align:center;color:var(--ink);border-radius:5px;padding:1px 5px 2px;font-size:9px;display:inline-block}.help-note{color:var(--faint);margin:0;font-size:9.5px;line-height:1.7}#boot{--mint:#3ef0c2;z-index:100;box-sizing:border-box;color:#d7e4ef;background-color:#05070d4d;background-image:radial-gradient(#05070db3,#0000 62%);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:fixed;inset:0;overflow:auto}#boot:after{content:"";z-index:-1;pointer-events:none;background:#05070d;transition:opacity 2.6s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}#boot.ready:after{opacity:0}#boot.done{display:none}#boot:before{content:"";pointer-events:none;border:1px solid #3ef0c221;position:fixed;inset:28px}.landing-frame{box-sizing:border-box;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(48px,9vh,120px) clamp(24px,11.8vw,170px) clamp(44px,8vh,110px);animation:.7s cubic-bezier(.2,.8,.2,1) both landing-boot-in;display:flex}#boot.compact .landing-frame{justify-content:center;align-items:center;gap:34px}#boot:not(.revealed) .landing-lede,#boot:not(.revealed) .landing-cta,#boot:not(.revealed) .landing-note{display:none}#boot.resumed .landing-frame,.boot-resumed #boot .landing-frame{animation:none}#boot.revealed .landing-lede,#boot.revealed .landing-cta,#boot.revealed .landing-note{animation:.9s cubic-bezier(.2,.8,.2,1) backwards landing-reveal}#boot.revealed .landing-lede{animation-delay:.25s}#boot.revealed .landing-cta{animation-delay:.55s}#boot.revealed .landing-note{animation-delay:.85s}.landing-head{border-bottom:1px solid #263449;justify-content:space-between;align-items:center;padding-bottom:35px;display:flex}#boot.compact .landing-head{border:0;flex-direction:column;gap:18px;padding-bottom:0}.landing-title{align-items:center;gap:20px;display:flex}.landing-title h1{color:#f0f7fb;letter-spacing:.34em;text-shadow:0 0 40px #35d6ff40;margin:0;font-size:46px;font-weight:500;line-height:1}.landing-dot{background:#52647b;border-radius:50%;width:12px;height:12px;transition:background .4s;animation:1.8s ease-in-out infinite landing-pulse;position:relative;box-shadow:0 0 14px #3ef0c273}.landing-dot:after{content:"";background:#3ef0c224;border-radius:50%;animation:1.8s ease-in-out infinite landing-halo;position:absolute;inset:-8px}#boot.ready .landing-dot{background:var(--mint)}.landing-state{color:#7f93ad;letter-spacing:.28em;font-size:16px}#boot.ready .landing-state{color:var(--mint)}.landing-lede{color:#b4c3d3;text-align:center;letter-spacing:.02em;max-width:34ch;margin:0;font-size:19px;line-height:1.6}.landing-foot{border-top:1px solid #263449;padding-top:30px}#boot.compact .landing-foot{border:0;flex-direction:column;align-items:center;gap:30px;padding:0;display:flex}.landing-log{color:#7f93ad;letter-spacing:.1em;align-items:center;gap:12px;margin:0 0 26px;font-size:14px;display:flex}#boot.compact .landing-log{margin:0}.landing-prompt{color:var(--mint)}.landing-caret{background:var(--mint);width:8px;height:15px;animation:1s steps(2,start) infinite landing-blink}#boot.failed .landing-log,#boot.failed .landing-state{color:#ff6b8b}#boot.failed .landing-caret,#boot.failed .landing-dot{box-shadow:none;background:#ff6b8b;animation:none}#boot.failed .landing-dot:after{display:none}.landing-enter{--mx:50%;--my:50%;--tx:0px;--ty:0px;isolation:isolate;background:radial-gradient(180px circle at var(--mx) var(--my), #3ef0c23d, transparent 70%), #06120f;color:#dffcf4;font:inherit;letter-spacing:.3em;cursor:pointer;transform:translate(var(--tx), var(--ty));border:1px solid #3ef0c273;border-radius:999px;align-items:center;gap:22px;padding:22px 30px 22px 38px;font-size:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,color .2s;display:inline-flex;position:relative;box-shadow:0 0 28px #3ef0c224}.landing-enter:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;border:1px solid #3ef0c280;animation:2.6s ease-out infinite landing-beacon;position:absolute;inset:-1px}.landing-enter-ripples{z-index:-1;border-radius:inherit;pointer-events:none;opacity:.45;transition:opacity .3s;position:absolute;inset:0;overflow:hidden}.landing-enter-ripples:before,.landing-enter-ripples:after{content:"";left:var(--mx);top:var(--my);opacity:0;border:1.5px solid #3ef0c299;border-radius:50%;width:240px;height:240px;animation:1.6s ease-out infinite landing-ripple;position:absolute}.landing-enter-ripples:after{animation-delay:.8s}.landing-enter-label{text-align:left;min-width:15ch}.landing-enter-arrow{color:var(--mint);letter-spacing:0;font-size:22px;line-height:1;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:inline-flex}.landing-enter-arrow span{animation:1.4s ease-in-out infinite landing-chevron}.landing-enter-arrow span:nth-child(2){animation-delay:.16s}.landing-enter-arrow span:nth-child(3){animation-delay:.32s}.landing-cta{flex-direction:column;align-items:center;gap:16px;display:flex}.landing-hand{color:#667b94;letter-spacing:.08em;font-size:14px;transition:color .3s;display:none}.landing-hand:before{content:"✋ "}#boot.hand-ready .landing-hand{display:inline}#boot.hand-seen .landing-hand{color:var(--mint)}.landing-enter-charge{--charge:0;z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-enter-charge:before{content:"";transform:scaleX(var(--charge));transform-origin:0;background:linear-gradient(90deg,#3ef0c21f,#3ef0c26b);transition:transform 90ms linear;position:absolute;inset:0}.landing-enter-sheen{border-radius:inherit;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.landing-enter-sheen:before{content:"";background:linear-gradient(90deg,#0000,#35d6ff2e,#0000);width:30%;animation:1.7s ease-in-out infinite landing-sheen;position:absolute;top:0;bottom:0;left:0}.landing-enter:hover:not(:disabled){border-color:var(--mint);color:#fff}.landing-enter:hover:not(:disabled) .landing-enter-ripples{opacity:1}.landing-enter:hover:not(:disabled) .landing-enter-arrow{transform:translate(6px)}.landing-enter:hover:not(:disabled) .landing-enter-arrow span{animation-duration:.7s}.landing-enter:active:not(:disabled){transform:translate(var(--tx), var(--ty)) scale(.97)}.landing-enter:focus-visible{outline:2px solid var(--mint);outline-offset:8px}.landing-enter:disabled{cursor:progress;color:#52647b;box-shadow:none;background:#0a0f18;border-color:#263449}.landing-enter:disabled:after{display:none}.landing-enter:disabled .landing-enter-ripples,.landing-enter:disabled .landing-enter-arrow{opacity:0}.landing-enter:disabled .landing-enter-sheen{display:block}#boot.failed .landing-enter-sheen:before{opacity:0;animation:none}.landing-note{color:#5d7189;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:12px}#boot.entering{pointer-events:none;will-change:opacity;animation:1.15s cubic-bezier(.4,0,.2,1) forwards landing-out}#boot.entering .landing-frame{will-change:transform, opacity;animation:.65s cubic-bezier(.4,0,.2,1) forwards landing-dissolve}#boot.entering .landing-enter{color:#fff;animation:none;transform:scale(1.12);box-shadow:0 0 60px #3ef0c299}#boot.entering .landing-enter-ripples{opacity:1}.landing-shock{z-index:101;pointer-events:none;position:fixed;inset:0;overflow:hidden}.landing-shock span,.landing-shock:before{left:calc(var(--ex) - var(--reach) / 2);top:calc(var(--ey) - var(--reach) / 2);width:var(--reach);height:var(--reach);will-change:transform, opacity;border-radius:50%;position:absolute}.landing-shock span{box-sizing:border-box;border:2px solid #3ef0c2;animation:1.15s cubic-bezier(.2,.7,.2,1) both landing-shock;box-shadow:0 0 15px #3ef0c2,inset 0 0 15px #35d6ff99}.landing-shock span+span{border-color:#ff5ea8;animation-duration:1.01s;animation-delay:.14s;box-shadow:0 0 20px #ff5ea8}.landing-shock:before{content:"";background:radial-gradient(circle,#3ef0c259,#35d6ff1a 40%,#0000 70%);animation:1s cubic-bezier(.2,.8,.2,1) both landing-flash}#stage.surge{animation:1.4s cubic-bezier(.2,.8,.2,1) landing-surge}@keyframes landing-out{0%,35%{opacity:1}to{opacity:0}}@keyframes landing-dissolve{to{opacity:0;transform:scale(1.08)}}@keyframes landing-shock{0%{opacity:1;transform:scale(.06)}55%{opacity:1}to{opacity:0;transform:scale(2)}}@keyframes landing-flash{0%{opacity:0;transform:scale(.4)}25%{opacity:1}to{opacity:0;transform:scale(2)}}@keyframes landing-surge{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes landing-ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(.06)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes landing-beacon{0%{opacity:.8;transform:scale(1)}70%,to{opacity:0;transform:scale(1.08,1.4)}}@keyframes landing-chevron{0%,to{opacity:.25}50%{opacity:1}}@keyframes landing-sheen{0%{transform:translate(-150%)}60%,to{transform:translate(366.67%)}}@keyframes landing-boot-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-reveal{0%{opacity:0;transform:translateY(12px)}}@keyframes landing-blink{to{visibility:hidden}}@keyframes landing-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes landing-halo{0%,to{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}@media (max-width:860px){.landing-title h1{font-size:30px}}@media (prefers-reduced-motion:reduce){.landing-enter:after,.landing-enter-ripples:before,.landing-enter-ripples:after,.landing-enter-arrow span,.landing-dot:after,.landing-enter-sheen:before,.landing-dot{animation:none}}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px #04050ae6, 0 0 0 3px rgba(var(--accent-rgb), .45)}@media (max-width:620px){:root{--gut:8px}.hud-panel{width:auto;right:max(var(--gut), env(safe-area-inset-right));max-height:min(calc(100dvh - 2 * var(--gut) - 74px), 58dvh)}#hud.is-collapsed .hud-panel{width:auto;right:auto}.c-grid{grid-template-columns:1fr 1fr}.help-cols{grid-template-columns:1fr;gap:16px}.hud-hint{bottom:max(14px, env(safe-area-inset-bottom));gap:7px}.hud-hint>b{letter-spacing:.26em;font-size:11px}.hud-hint .chips{display:none}}@media (max-height:520px){.hud-panel{max-height:calc(100dvh - 2 * var(--gut))}.hud-hint .chips{display:none}}.row-btn.is-overdrive[aria-pressed=true]{color:var(--magenta);background:#ff5ea81a;border-color:#ff5ea88c}.row-btn.is-overdrive[aria-pressed=true] b{color:var(--magenta)}.od-banner{left:50%;bottom:max(18px, env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--panel-a), var(--panel-b));border-radius:var(--r);-webkit-backdrop-filter:blur(14px);white-space:nowrap;pointer-events:none;border:1px solid #ff5ea866;align-items:center;gap:22px;padding:10px 18px 11px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1px #ff5ea814,0 0 32px #ff5ea838,0 12px 40px #00000080}.od-banner.is-in{animation:.52s cubic-bezier(.2,.9,.2,1.1) both od-in}@keyframes od-in{0%{opacity:0;transform:translate(-50%)translateY(18px)scale(.94)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.od-tag{letter-spacing:.28em;text-transform:uppercase;color:var(--magenta);border-right:1px solid var(--edge);padding-right:18px;font-size:9px;animation:1.6s ease-in-out infinite od-pulse}@keyframes od-pulse{50%{text-shadow:0 0 14px #ff5ea8e6}}.od-cell{flex-direction:column;gap:3px;min-width:84px;display:flex}.od-cell b{letter-spacing:-.02em;color:var(--ink);font-size:20px;font-weight:500;line-height:1}.od-cell i{letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-size:8px;font-style:normal}.od-src{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border-left:1px solid var(--edge);padding-left:18px;font-size:8px}#hud.is-hidden .od-banner{display:none}@media (max-width:720px){.od-banner{gap:12px;padding:8px 12px}.od-src{display:none}.od-cell b{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hud-combos{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));border:1px solid var(--edge);border-radius:var(--r);-webkit-backdrop-filter:blur(8px);background:#070a1294;flex-direction:column;gap:5px;padding:9px 11px 10px;display:flex;position:absolute}.cb-section{flex-direction:column;gap:5px;display:flex}.cb-section+.cb-section:not([hidden]){margin-top:6px}.cb-title{letter-spacing:.3em;text-transform:uppercase;color:var(--faint);font-size:8px;font-weight:400}.cb-row{opacity:.55;align-items:center;gap:9px;transition:opacity .16s;display:flex}.cb-row[data-state=casting],.cb-row[data-state=fired]{opacity:1}.cb-name{min-width:66px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-size:9px}.cb-row[data-state=casting] .cb-name{color:var(--accent)}.cb-row[data-state=fired] .cb-name{color:var(--magenta)}.cb-pips{align-items:center;gap:4px;display:flex}.cb-pip{--charge:0%;border:1px solid var(--edge);background:linear-gradient(to right, var(--accent-soft) var(--charge), transparent var(--charge));font-family:var(--font-mono);letter-spacing:.08em;color:var(--faint);border-radius:999px;padding:3px 7px 4px;font-size:8.5px;font-style:normal;transition:color .12s,border-color .12s;position:relative}.cb-pip[data-state=hold]{color:var(--ink);border-color:var(--edge-hi)}.cb-pip[data-state=done]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.cb-row[data-state=fired] .cb-pip[data-state=done]{background:var(--magenta);border-color:var(--magenta)}.cb-arrow{background:var(--edge-hi);width:7px;height:1px}@media (max-width:620px){.hud-combos{gap:3px;padding:7px 9px 8px}.cb-name{min-width:54px;font-size:8px}}
