:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e12;--bg-deep:#090e12;--bg-glow:#26332d55;--surface:#151e27;--surface-panel:#1a2029;--surface-panel-end:#12171d;--surface-raised:#19242e;--surface-hud:#10161e;--surface-option:#111922;--surface-input:#0e151d;--surface-hover:#223138;--surface-hover-soft:#1e2c33;--surface-track:#2a3640;--line:#34424e;--line-subtle:#2b333b;--line-hover:#59706f;--line-option-hover:#688c87;--text-strong:#e8f0ec;--text:#e3edf3;--text-soft:#c5d1dc;--text-body:#aeb7bf;--text-muted:#9aadb9;--text-placeholder:#798b99;--text-label:#b9c2bd;--accent:#82d9c0;--accent-bright:#a7efda;--accent-text:#c6f6e7;--accent-tint:#82d9c014;--accent-border:#82d9c04d;--on-accent:#102820;--selection-bg:#286654;--warning:#e4c285;--danger:#e27870;--danger-hover:#ef9088;--on-danger:#241310;--resource:#f5cc71;--surface-panel-glass:#1a2029cc;--surface-panel-end-glass:#12171dcc;--surface-hud-glass:#10161ef2;--scrim:#090e12b8;--scrim-soft:#090e1252;--accent-tint-strong:#82d9c026;--accent-halo:#82d9c08c;--font-sans:Inter, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--font-canvas-label:600 12px var(--font-sans);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--control-sm:32px;--control-md:36px;--control-lg:40px;--control-xl:48px;--shadow-panel:inset 0 1px 0 #ffffff04;--shadow-control:inset 0 1px 0 #ffffff10;--shadow-hud:0 8px 24px #0005;--shadow-modal:0 24px 64px #0008;--shadow-accent-glow:0 4px 22px #82d9c014;--focus-ring:0 0 0 2px var(--bg-deep), 0 0 0 4px var(--accent);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.35s;--duration-toast:1.6s;--duration-drawer:.28s;--duration-drawer-exit:.18s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--drawer-width:440px;--landing-max:620px;--landing-header-h:56px;font:14px / 1.5 var(--font-sans)}*{box-sizing:border-box}html,body{background:var(--bg-deep);height:100%;color:var(--text);overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;margin:0}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}::selection{background:var(--selection-bg);color:#e8fff7}h1,h2,p{margin:0}.icon{vertical-align:-.15em;flex:none;display:inline-block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{background:var(--bg-deep);position:fixed;inset:0;overflow:hidden}.play-area{left:0;right:0;top:env(safe-area-inset-top,0px);position:absolute;bottom:0}.canvas-host{position:absolute;inset:0}.game-canvas{touch-action:none;display:block}.hud{pointer-events:none;padding:var(--space-2) var(--space-3);text-shadow:0 1px 2px #000000b3,0 0 12px #00000080;position:absolute}.hud-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.hud-meters{align-items:baseline;gap:var(--space-1);display:flex}.hud-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text-strong);font-size:32px;font-weight:750;line-height:1}.hud-unit{color:var(--text-muted);font-size:14px;font-weight:600}.hud-score{margin-top:var(--space-2);font-variant-numeric:tabular-nums;color:var(--resource);text-align:right;margin-left:auto;font-size:14px;font-weight:600}.hud-practice{font:600 9px / 12px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--warning);margin-top:2px;display:block}.hud-actions{gap:var(--space-2);display:flex}.hud-actions[inert]{visibility:hidden}.hud-btn{pointer-events:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-hud-glass);width:44px;height:44px;color:var(--text);cursor:pointer;text-shadow:none;place-items:center;padding:0;display:grid}@media (max-width:360px),(max-height:480px){.hud-actions{flex-direction:column}}.hud-combo{text-align:center;animation:.22s ease-out pop;position:absolute;top:72px;left:0;right:0}.hud-combo-word{letter-spacing:-.02em;color:var(--accent);font-size:26px;font-weight:850;line-height:1.1;display:block}.hud-combo-floors{color:var(--text-soft);font-size:12px;font-weight:600;display:block}.hud-flash{text-align:center;font-variant-numeric:tabular-nums;color:var(--accent-bright);font-size:22px;font-weight:750;animation:1.2s ease-out forwards float-up;position:absolute;top:130px;left:0;right:0}.hud-flash-boost{color:var(--text);font-size:15px;animation-duration:.9s;top:176px}.hud-chapter{left:var(--space-4);right:var(--space-4);text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-hud-glass);box-shadow:var(--shadow-hud);text-shadow:none;animation:3.6s ease-in-out forwards banner;position:absolute;top:38%}.hud-chapter-eyebrow{font:600 10px / 14px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-label)}.hud-chapter-name{letter-spacing:-.02em;color:var(--text-strong);margin-top:2px;font-size:22px;font-weight:750;line-height:1.2}.hud-chapter-story{margin-top:var(--space-1);color:var(--text-body);font-size:13px}.overlay{padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:radial-gradient(ellipse at 70% 0%, var(--bg-glow), transparent 55%), var(--scrim);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.panel{gap:var(--space-3);width:min(100%,380px);max-height:100%;padding:var(--space-6);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--accent), transparent) top / 100% 2px no-repeat, linear-gradient(135deg, var(--surface-panel-glass), var(--surface-panel-end-glass));box-shadow:var(--shadow-modal), var(--shadow-panel);animation:panel-enter var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex;position:relative;overflow-y:auto}.panel-wide{width:min(100%,480px)}.panel-menu{text-align:center}.panel-corner{top:var(--space-2);right:var(--space-2);width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid;position:absolute}.panel-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.panel h2{letter-spacing:-.02em;color:var(--text-strong);font-size:22px;font-weight:750;line-height:1.2}.brand{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.wordmark{letter-spacing:.12em;text-transform:uppercase;color:var(--text-strong);font-size:13px;font-weight:850;line-height:1}.brand-chip{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:5px;padding:3px 6px;font-size:11px;font-weight:600;line-height:1;display:inline-block}.title{margin-top:var(--space-2);letter-spacing:-.055em;color:var(--text-strong);font-size:clamp(30px,9vw,40px);font-weight:850;line-height:1.06}.title-accent{color:var(--accent)}.subtitle{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--text-soft);font-size:13px;font-weight:600;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-xl);padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-control);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-size:14px;font-weight:600;line-height:20px;display:inline-flex}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.45;filter:saturate(.5);cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent-bright);color:var(--on-accent);box-shadow:var(--shadow-accent-glow), var(--shadow-control)}.btn-ghost{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn-small{min-height:var(--control-lg);padding:0 var(--space-3);width:auto;font-size:13px}.btn-ghost.btn-small{padding:0 var(--space-2)}.btn-icon{min-width:var(--control-lg);justify-content:center;padding:0}.muted{color:var(--text-muted);font-size:14px}.hint{margin-top:var(--space-1);color:var(--text-body);font-size:12px}.warning{color:var(--warning);font-size:12px}.unlock{color:var(--accent-bright);font-size:14px;font-weight:600}.practice{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line-subtle);flex-direction:column;display:flex}.practice-label,.section-label{font:600 10px / 14px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-label)}.section-label{margin:0}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip,.tab{align-items:center;gap:var(--space-1);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-option);color:var(--text);font:inherit;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);font-size:13px;font-weight:600;line-height:16px;display:inline-flex}.chip:disabled,.chip[aria-disabled=true]{opacity:.45;cursor:default}.card-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.card{align-items:stretch;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-option);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);display:flex}.card-selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:inset 0 -2px 0 var(--accent);cursor:default}.card-locked{opacity:.45;cursor:default}.card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.card-title{align-items:center;gap:var(--space-1);font-size:14px;font-weight:600;display:inline-flex}.card-selected .card-title{color:var(--accent-text)}.card-text{color:var(--text-muted);font-size:12px}.card-meta{color:var(--text-muted);font-size:11px}.tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.tab-active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text);box-shadow:inset 0 -2px 0 var(--accent);cursor:default}.board{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;color:var(--text-soft);font-size:13px}.board th,.board td{padding:var(--space-2) var(--space-1);text-align:left;border-bottom:1px solid var(--line-subtle)}.board th{font:400 10px / 12px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.board .num{text-align:right}.board tbody tr:first-child td{color:var(--accent-text);font-weight:600}.summit{color:var(--resource);margin-right:var(--space-1)}.board tbody tr.board-you td{background:var(--accent-tint);color:var(--accent-text);font-weight:600}.board tbody tr.board-you td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.board-you-tag{margin-left:var(--space-2);padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--accent-tint-strong);font:400 10px / 16px var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.board-panel{gap:var(--space-3);flex-direction:column;display:flex}.board-best{align-items:center;gap:var(--space-2);color:var(--resource);font-variant-numeric:tabular-nums;font-size:13px;display:flex}.drawer{width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.drawer::backdrop{background:var(--scrim);animation:drawer-fade-in var(--duration-drawer) var(--ease-out)}.drawer[data-closing]::backdrop{animation:drawer-fade-out var(--duration-drawer-exit) var(--ease-in) forwards}.drawer-panel{width:min(100%, var(--drawer-width));gap:var(--space-4);padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) calc(var(--space-5) + env(safe-area-inset-right,0px)) calc(var(--space-5) + env(safe-area-inset-bottom,0px)) var(--space-5);border-left:1px solid var(--line-subtle);background:linear-gradient(180deg, var(--accent), transparent) left / 2px 100% no-repeat, linear-gradient(160deg, var(--surface-panel), var(--surface-panel-end));box-shadow:var(--shadow-modal);animation:drawer-in var(--duration-drawer) var(--ease-out);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.drawer[data-closing] .drawer-panel{animation:drawer-out var(--duration-drawer-exit) var(--ease-in) forwards}.drawer-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.drawer-header h2{letter-spacing:-.02em;color:var(--text-strong);font-size:22px;font-weight:750;line-height:1.2}.drawer-body{gap:var(--space-3);min-height:0;margin:0 calc(-1 * var(--space-1));padding:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-footer{padding-top:var(--space-3);border-top:1px solid var(--line-subtle)}@media (max-width:600px){.drawer-panel{border-left:0;width:100%}}.field{gap:var(--space-2);color:var(--text);flex-direction:column;font-size:14px;display:flex}.field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600;line-height:1.4}.field-row{min-height:var(--control-xl);flex-direction:row;justify-content:space-between;align-items:center}.field-row>span{letter-spacing:0;text-transform:none;color:var(--text);font-size:14px;font-weight:600}.field input[type=text]{min-height:var(--control-lg);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-input);color:var(--text);font:inherit;font-size:16px}.field input[type=text]::placeholder{color:var(--text-placeholder)}.field input[type=text]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint-strong);outline:none}.switch{flex:none;align-items:center;display:inline-flex;position:relative}.switch input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.switch-track{border-radius:var(--radius-pill);background:var(--surface-track);width:36px;height:20px;transition:background-color var(--duration-fast) var(--ease-out);display:block;position:relative}.switch-thumb{background:var(--text-soft);width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track .switch-thumb{background:var(--on-accent);transform:translate(16px)}.switch input:focus-visible+.switch-track{box-shadow:var(--focus-ring)}.segmented{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-option);display:flex;overflow:hidden}.segment{min-height:var(--control-lg);color:var(--text);font:inherit;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:1;place-items:center;font-size:13px;font-weight:600;display:grid;position:relative}.segment input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.segment:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--accent)}.segment+.segment{border-left:1px solid var(--line)}.segment-active{background:var(--accent-tint);color:var(--accent-text);box-shadow:inset 0 -2px 0 var(--accent);cursor:default}.segment-active:has(input:focus-visible){box-shadow:inset 0 -2px 0 var(--accent), inset 0 0 0 2px var(--accent)}.settings-group{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle);flex-direction:column;display:flex}.slider-row{justify-content:space-between;gap:var(--space-2);display:flex}.slider-value{font-variant-numeric:tabular-nums;color:var(--text-muted)}.slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;display:block}.slider:focus-visible{outline:none}.slider::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:linear-gradient(to right, var(--accent) var(--fill,0%), var(--surface-track) var(--fill,0%));height:4px}.slider::-webkit-slider-thumb{appearance:none;box-sizing:border-box;border:1px solid var(--line);background:var(--text-strong);width:18px;height:18px;transition:box-shadow var(--duration-fast) var(--ease-out);border-radius:50%;margin-top:-7px}.slider::-moz-range-track{border-radius:var(--radius-pill);background:var(--surface-track);height:4px}.slider::-moz-range-progress{border-radius:var(--radius-pill);background:var(--accent);height:4px}.slider::-moz-range-thumb{box-sizing:border-box;border:1px solid var(--line);background:var(--text-strong);width:18px;height:18px;transition:box-shadow var(--duration-fast) var(--ease-out);border-radius:50%}.slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--focus-ring)}.slider:focus-visible::-moz-range-thumb{box-shadow:var(--focus-ring)}.is-muted .slider{opacity:.6}.save-form{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--accent-tint);border:1px solid var(--accent-border);flex-direction:column;display:flex}.stats{justify-content:space-around;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.stat{flex-direction:column;align-items:center;display:flex}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text-strong);font-size:28px;font-weight:750;line-height:1.1}.stat-label{margin-top:var(--space-1);font:400 9px / 12px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.toast-region{left:0;right:0;top:calc(16% + env(safe-area-inset-top,0px));pointer-events:none;z-index:5;justify-content:center;display:flex;position:absolute}.toast{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-hud-glass);box-shadow:var(--shadow-hud);color:var(--text);animation:toast var(--duration-toast) var(--ease-out) forwards;font-size:13px;font-weight:600;display:inline-flex}.toast-key{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface-option);color:var(--text-soft);font:600 11px / 16px var(--font-mono);padding:1px 6px}.stage[data-screen=landing] .canvas-host{transform:translate3d(calc(var(--px,0px) + var(--flow-x,0px)), var(--py,0px), 0) scale(calc(1.04 * var(--zoom,1)));transition:transform .7s var(--ease-out)}.landing-backdrop{pointer-events:none;transition:opacity var(--duration-slow) var(--ease-out);background:radial-gradient(circle 320px at var(--spot-x,70%) var(--spot-y,30%), var(--accent-tint-strong), transparent 70%), linear-gradient(180deg, var(--scrim-soft) 0%, var(--scrim) 42%, var(--bg-deep) 82%);position:absolute;inset:0}.landing-backdrop:after{content:"";background:var(--bg-deep);opacity:calc(var(--scrolled,0) * .82);position:absolute;inset:0}.landing{overscroll-behavior:contain;scroll-behavior:smooth;scroll-padding-top:calc(var(--landing-header-h) + var(--space-4));outline:none;position:absolute;inset:0;overflow-y:auto}.landing-header{z-index:2;align-items:center;gap:var(--space-4);min-height:calc(var(--landing-header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) calc(var(--space-4) + env(safe-area-inset-right,0px)) 0 calc(var(--space-4) + env(safe-area-inset-left,0px));background:var(--surface-hud-glass);border-bottom:1px solid var(--line-subtle);display:flex;position:sticky;top:0}.landing-progress{background:linear-gradient(90deg, var(--accent-border), var(--accent));height:2px;transform:scaleX(var(--progress,0));transform-origin:0;pointer-events:none;position:absolute;bottom:-1px;left:0;right:0}.landing-header[data-landed]>:not(.landing-progress){animation:landing-header-dip .3s var(--ease-out)}.landing-header[data-landed] .landing-progress{animation:landing-progress-flare .5s var(--ease-out)}@keyframes landing-header-dip{30%{transform:translateY(3px)}}@keyframes landing-progress-flare{0%{filter:brightness(1.8);box-shadow:0 0 10px var(--accent)}}.landing-brand{flex:none;text-decoration:none}.landing-nav{gap:var(--space-1);display:none;position:relative}.landing-nav-pill{width:var(--pill-w,0px);border-radius:var(--radius-sm);background:var(--surface-hover-soft);opacity:0;transform:translateX(var(--pill-x,0px)) scaleX(.6);pointer-events:none;transition:transform .45s var(--ease-spring), width .45s var(--ease-spring), opacity var(--duration-base) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.landing-nav-pill:after{content:"";left:var(--space-3);right:var(--space-3);border-radius:var(--radius-pill);background:var(--accent);height:2px;position:absolute;bottom:3px}.landing-nav[data-active] .landing-nav-pill{opacity:1;transform:translateX(var(--pill-x,0px))}.landing-nav a{position:relative}.landing-nav a[aria-current]{color:var(--text-strong)}.landing-nav a,.landing-footer a{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;transition:color var(--duration-fast) var(--ease-out);font-size:13px;font-weight:600;text-decoration:none}.landing-tools{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.version-chip{padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--text-muted);font:400 11px / 18px var(--font-mono);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);text-decoration:none}.landing-tool-label{display:none}.landing-main{gap:var(--space-10);width:min(100%, var(--landing-max));padding:0 calc(var(--space-4) + env(safe-area-inset-right,0px)) var(--space-10) calc(var(--space-4) + env(safe-area-inset-left,0px));flex-direction:column;margin:0 auto;display:flex}.hero{justify-content:flex-end;gap:var(--space-4);min-height:calc(100svh - var(--landing-header-h) - env(safe-area-inset-top,0px));padding:var(--space-8) 0 var(--space-6);flex-direction:column;display:flex}.landing-eyebrow{color:var(--accent);font:400 11px / 16px var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.hero-title{color:var(--text-strong);letter-spacing:-.035em;font-size:clamp(40px,9vw,64px);font-weight:800;line-height:1}.hero-lead,.landing-lead{max-width:52ch;color:var(--text-body);font-size:16px}.hero-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-actions .btn{width:auto;padding:0 var(--space-6)}.hero-secondary{text-decoration:none}.hero-meta{gap:var(--space-2) var(--space-5);color:var(--text-muted);flex-wrap:wrap;font-size:13px;display:flex}.hero-meta a{color:var(--accent-text);text-decoration:none}.landing-section{gap:var(--space-3);flex-direction:column;display:flex}.landing-section:focus,.hero:focus{outline:none}.landing-title{color:var(--text-strong);letter-spacing:-.02em;font-size:28px;font-weight:750;line-height:1.15}.landing-eyebrow{position:relative}.landing-eyebrow:after{content:"";border-radius:var(--radius-pill);background:var(--accent);opacity:0;transform-origin:0;pointer-events:none;width:72px;height:2px;position:absolute;bottom:-3px;left:0}[data-arrived]>.landing-eyebrow:after{animation:landing-arrive-line .7s var(--ease-out)}[data-arrived]>.landing-title,[data-arrived]>.hero-title{animation:landing-arrive-title .7s var(--ease-out)}@keyframes landing-arrive-line{0%{opacity:1;transform:scaleX(0)}35%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes landing-arrive-title{0%{text-shadow:0 0 #0000}25%{color:var(--accent-text);text-shadow:0 0 24px var(--accent-border)}}.landing-grid{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:0;list-style:none;display:grid}.landing-card{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--surface-panel-glass), var(--surface-panel-end-glass));box-shadow:var(--shadow-panel);transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.landing-card h3{align-items:center;gap:var(--space-2);color:var(--text-strong);font-size:16px;font-weight:700;display:flex}.landing-card p{color:var(--text-body)}.how-index{color:var(--accent);font:400 11px / 16px var(--font-mono);letter-spacing:.09em}.key{border-radius:var(--radius-xs);border:1px solid var(--line);background:var(--surface-option);min-width:22px;color:var(--text-soft);font:600 11px / 18px var(--font-mono);text-align:center;border-bottom-width:2px;padding:0 5px;display:inline-block}.tag{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-tint-strong);color:var(--accent-text);font:400 10px / 18px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-self:flex-start}.tag-soon{border:1px dashed var(--accent-border);background:0 0}.world-list{gap:var(--space-3);margin-top:var(--space-2);padding:0;list-style:none;display:grid}.world-card{position:relative;overflow:hidden}.world-card-selected{border-color:var(--accent-border)}.world-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.world-meta{font-size:13px}.world-card-locked .world-head,.world-card-locked .world-tagline,.world-card-locked .world-meta{opacity:.7}.landing-card .world-meta,.landing-card .world-lock{color:var(--text-muted)}.world-art{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--line-subtle);background:var(--bg-deep);max-width:100%;position:relative;overflow:hidden}.world-art img{image-rendering:pixelated;display:block}.world-art-view{object-fit:cover;width:100%;height:100%}.world-art-hero{width:auto;height:72%;position:absolute;bottom:4%;left:8%}.world-card-locked .world-art{filter:grayscale();opacity:.6}.cast{gap:var(--space-2);display:grid}.cast-pick{min-height:0;padding:var(--space-2) var(--space-1);gap:var(--space-1);text-align:center;grid-template-rows:64px auto;font-size:12px;line-height:1.2}.cast-pick img{object-fit:contain;width:auto;max-width:100%;height:64px;image-rendering:pixelated}.landing-card .cast-story,.landing-card .world-note{color:var(--text-muted);font-size:12px}.landing-card .world-best{color:var(--resource);font-variant-numeric:tabular-nums;font-size:13px}.world-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.world-actions .btn{width:auto}.news-list{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.news-item{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--surface-panel-glass)}.news-item-open{border-color:var(--line)}.news-toggle{align-items:center;gap:var(--space-2) var(--space-3);width:100%;min-height:var(--control-xl);padding:var(--space-2) var(--space-4);border-radius:inherit;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;display:flex}.news-version{color:var(--accent);font:600 12px / 18px var(--font-mono)}.news-title{color:var(--text-strong);font-weight:650}.news-date{color:var(--text-muted);margin-left:auto;font-size:12px}.news-chevron{transition:transform var(--duration-base) var(--ease-out)}.news-toggle[aria-expanded=true] .news-chevron{transform:rotate(180deg)}.news-panel{padding:0 var(--space-4) var(--space-4) calc(var(--space-4) + var(--space-5));color:var(--text-body)}.news-panel ul{gap:var(--space-2);flex-direction:column;padding:0;display:flex}.landing-footer{justify-content:space-between;align-items:center;gap:var(--space-3);width:min(100%, var(--landing-max));padding:var(--space-6) calc(var(--space-4) + env(safe-area-inset-right,0px)) calc(var(--space-8) + env(safe-area-inset-bottom,0px)) calc(var(--space-4) + env(safe-area-inset-left,0px));border-top:1px solid var(--line-subtle);color:var(--text-muted);flex-wrap:wrap;margin:0 auto;font-size:12px;display:flex}@media (max-width:419px){.landing-header{gap:var(--space-2);padding-left:calc(var(--space-3) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-3) + env(safe-area-inset-right,0px))}.landing-tools{gap:var(--space-1)}.landing-header .version-chip{display:none}}@media (min-width:640px){.landing-tool-label{display:inline}}@media (min-width:1080px){.landing-nav{display:flex}}@media (min-width:960px) and (min-aspect-ratio:5/4){.stage[data-screen=landing] .play-area{left:46%}.landing-backdrop{background:radial-gradient(circle 360px at var(--spot-x,70%) var(--spot-y,30%), var(--accent-tint-strong), transparent 70%), linear-gradient(90deg, var(--bg-deep) 0%, var(--bg-deep) 34%, var(--scrim) 48%, transparent 70%)}.landing-backdrop:after{opacity:0}.landing-main,.landing-footer{width:min(var(--landing-max), 42vw);margin:0 0 0 max(var(--space-8), 5vw)}.hero{min-height:calc(100vh - var(--landing-header-h));padding:var(--space-10) 0;justify-content:center}}.stage[data-screen=landing] .landing{transition:transform var(--duration-slow) var(--ease-out), opacity var(--duration-base) var(--ease-out)}.stage[data-flow]{--zoom:1.14}.stage[data-flow] .landing{opacity:0;transform:translateY(48px)}.stage[data-flow] .landing-backdrop{opacity:0}@media (min-width:960px) and (min-aspect-ratio:5/4){.stage[data-flow]{--flow-x:-42.6%}}.start{--sprite-zoom:3;gap:var(--space-4);padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) max(var(--space-4), env(safe-area-inset-right,0px)) calc(var(--space-4) + env(safe-area-inset-bottom,0px)) max(var(--space-4), env(safe-area-inset-left,0px));background:radial-gradient(ellipse 75% 65% at 50% 55%, var(--scrim-soft) 0%, var(--scrim) 60%, var(--bg-deep) 100%);-webkit-backdrop-filter:blur(3px);animation:start-in var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}@media (max-width:640px),(max-height:760px){.start{--sprite-zoom:2;gap:var(--space-3)}}@media (max-height:600px){.start{--sprite-zoom:1}}@keyframes start-in{0%{opacity:0}}.start-head{align-items:center;gap:var(--space-3);grid-template-columns:1fr auto 1fr;width:min(100%,1100px);margin:0 auto;display:grid}.start-back{justify-self:start}.start-title{letter-spacing:-.02em;color:var(--text-strong);text-align:center;text-wrap:balance;margin:0;font-size:clamp(20px,2.6vw,28px);font-weight:750;line-height:1.15}.start-worlds,.start-world{justify-self:end}.start-worlds .segment{padding:0 var(--space-3);white-space:nowrap}.start-world{font:400 11px / 16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}@media (max-width:640px){.start-head{grid-template-columns:auto minmax(0,1fr)}.start-title{grid-area:2/1/auto/-1}.start-worlds .segment{padding:0 var(--space-2);font-size:12px}}.start-body{gap:var(--space-4);flex-direction:column;flex:1;width:min(100%,1100px);min-height:0;margin:0 auto;display:flex}.start-actions{justify-content:center;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.start-go{min-width:220px}@media (max-width:640px){.start-go{width:100%}}.start-keys{font:400 11px / 18px var(--font-mono);color:var(--text-muted);margin:0}@media (hover:none){.start-keys{display:none}}.start-note{text-align:center;margin:0}.start-panel{padding:var(--space-4) var(--space-5);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--accent), transparent) top / 100% 2px no-repeat, linear-gradient(135deg, var(--surface-panel-glass), var(--surface-panel-end-glass));box-shadow:var(--shadow-panel)}.climber-stage{touch-action:pan-y;border:0;flex:1;justify-content:center;align-items:flex-end;min-width:0;min-height:0;margin:0;padding:0;display:flex;overflow:hidden}.climber-row{--slot:calc(52px * var(--sprite-zoom));transition:transform var(--duration-slow) var(--ease-out);flex-direction:column;align-items:center;display:flex}@media (max-width:640px){.climber-row{transform:translateX(calc(((var(--count) - 1) / 2 - var(--pick)) * var(--slot)))}}.climber-slots{display:flex}.climber{width:var(--slot);justify-content:flex-end;align-items:center;gap:var(--space-2);cursor:pointer;flex-direction:column;display:flex;position:relative}.climber-key{font:400 10px / 14px var(--font-mono);color:var(--text-muted);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}@media (hover:hover){.climber-on .climber-key,.climber:hover .climber-key{opacity:1}}.climber-name{padding:2px var(--space-3);border-radius:var(--radius-pill);white-space:nowrap;color:var(--text-muted);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-size:13px;font-weight:600;line-height:20px}.climber-on .climber-name{background:var(--accent);color:var(--on-accent)}.climber-figure{width:100%;height:calc(80px * var(--sprite-zoom));display:block;position:relative}.climber-stage[data-hop] .climber-figure{animation:climber-hop .62s var(--ease-spring) both;animation-delay:calc(var(--i) * 90ms + .18s)}@keyframes climber-hop{0%{opacity:0;transform:translateY(-140px)}55%{opacity:1;transform:translateY(6px)}75%{transform:translateY(-10px)}to{transform:translateY(0)}}.climber-glow{background:radial-gradient(closest-side, var(--accent-tint-strong), transparent);opacity:0;width:120%;height:20px;transition:opacity var(--duration-base) var(--ease-out);border-radius:50%;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.climber-on .climber-glow{opacity:1}.climber-glow:before,.climber-glow:after{content:"";background:var(--accent-bright);width:3px;height:3px;box-shadow:18px 6px 0 var(--accent), 34px -2px 0 var(--accent-bright), 52px 8px 0 var(--accent);opacity:0;position:absolute;bottom:50%;left:30%}.climber-on .climber-glow:before{animation:2.4s ease-out infinite climber-mote}.climber-on .climber-glow:after{animation:2.4s ease-out 1.2s infinite climber-mote;left:38%}@keyframes climber-mote{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}to{transform:translateY(calc(-36px * var(--sprite-zoom)));opacity:0}}.climber-marker{top:calc(-2px * var(--sprite-zoom));color:var(--accent);opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);place-items:center;display:grid;position:absolute;left:50%;transform:translate(-50%,-6px)}.climber-on .climber-marker{opacity:1;animation:.9s ease-in-out infinite alternate climber-marker;transform:translate(-50%)}@keyframes climber-marker{to{transform:translate(-50%,5px)}}.climber:has(input:focus-visible) .climber-glow{animation:1.6s ease-in-out infinite climber-breathe}.climber:has(input:focus-visible) .climber-name{background:var(--accent-bright)}@keyframes climber-breathe{50%{opacity:.55;transform:translate(-50%)scaleX(1.15)}}.climber-portrait{height:calc(64px * var(--sprite-zoom) / 2);image-rendering:pixelated;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.sprite{--s:calc(var(--sprite-zoom) * var(--unit) * 1px);left:calc(50% - var(--ax) * var(--s));bottom:calc((var(--feet) - var(--fh)) * var(--s));width:calc(var(--fw) * var(--s));height:calc(var(--fh) * var(--s));background:var(--sheet) 0 0 / calc(var(--fw) * var(--frames) * var(--s)) 100% no-repeat;image-rendering:pixelated;pointer-events:none;animation:sprite-loop calc(var(--frames) / var(--fps) * 1s) steps(var(--frames)) infinite;position:absolute}.sprite-once{animation:sprite-once calc(var(--frames) / var(--fps) * 1s) steps(var(--frames), jump-none) 1 both}@keyframes sprite-loop{to{background-position-x:calc(var(--fw) * var(--frames) * var(--s) * -1)}}@keyframes sprite-once{to{background-position-x:calc(var(--fw) * (var(--frames) - 1) * var(--s) * -1)}}.climber-on .sprite,.climber-on .climber-portrait{filter:drop-shadow(0 0 1px var(--accent-halo)) drop-shadow(0 0 6px var(--accent-halo))}.climber:not(.climber-on) .sprite,.climber:not(.climber-on) .climber-portrait{filter:saturate(.5)brightness(.62);opacity:.85}.pedestal{--ps:calc(var(--sprite-zoom) * var(--unit,1) * 1px);width:calc(var(--slot) * var(--count) + var(--space-8));height:calc(var(--ph,12) * var(--ps));display:flex}.pedestal i{height:100%;image-rendering:pixelated;display:block}.pedestal-left{width:calc(var(--lw) * var(--ps));background:var(--left) 0 0 / 100% 100% no-repeat;flex:none}.pedestal-mid{background:var(--mid) 0 0 / calc(var(--mw) * var(--ps)) 100% repeat-x;flex:1}.pedestal-right{width:calc(var(--rw) * var(--ps));background:var(--right) 0 0 / 100% 100% no-repeat;flex:none}.pedestal-plain{height:var(--space-3);border-top:2px solid var(--line-hover);border-radius:var(--radius-sm);background:var(--surface-raised)}.pedestal-plain i{display:none}.climber-info{gap:var(--space-3) var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center;width:min(100%,900px);margin:0 auto;display:grid}.climber-who h3{margin:0 0 var(--space-1);color:var(--text-strong);font-size:22px;font-weight:750;line-height:1.2}.climber-who{min-width:0}.climber-who h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.climber-story{max-width:52ch;position:relative}.climber-story p{overscroll-behavior:contain;scrollbar-width:none;height:4.5em;color:var(--text-body);margin:0;font-size:14px;line-height:1.5;overflow-y:auto}.climber-story p::-webkit-scrollbar{display:none}.climber-story[data-more] p{-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.climber-more{width:var(--control-sm);height:var(--control-sm);color:var(--accent);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;animation:1.2s ease-in-out infinite climber-more;display:none;position:absolute;bottom:-4px;right:0}.climber-story[data-more] .climber-more{display:grid}@keyframes climber-more{50%{opacity:.35;transform:translateY(2px)}}.climber-stats{gap:var(--space-2) var(--space-5);grid-template-columns:repeat(4,8.5rem);margin:0;display:grid}.climber-stat{column-gap:var(--space-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.climber-stat .icon{color:var(--accent);grid-row:1/3}.climber-stat dt{font:400 9px / 12px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.climber-stat dd{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:4ch;color:var(--text-strong);margin:0;font-size:20px;font-weight:750;line-height:1.15}.climber-first{font:400 12px / 18px var(--font-mono);color:var(--accent-text);margin:0}@media (max-width:760px){.climber-info{padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr)}.climber-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.chapter-list{min-width:0;min-height:0;padding:var(--space-2) 0;gap:var(--space-3);border:0;flex:1;grid-template-columns:repeat(5,minmax(0,1fr));align-content:center;margin:0;display:grid}.chapter-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel-glass);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.chapter-view{aspect-ratio:3/4;object-fit:cover;object-position:center 30%;width:100%;image-rendering:pixelated;display:block}.chapter-text{align-items:flex-start;gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.chapter-name{color:var(--text-strong);text-wrap:balance;font-size:15px;font-weight:700;line-height:1.25}.chapter-from,.chapter-lock{font:400 11px / 16px var(--font-mono);color:var(--text-muted)}.chapter-lock{align-items:center;gap:var(--space-1);display:inline-flex}.chapter-on{border-color:var(--accent);box-shadow:var(--shadow-accent-glow);transform:translateY(-4px)}.chapter-card:has(input:focus-visible){box-shadow:var(--focus-ring)}.chapter-locked{cursor:default;opacity:.72}.chapter-locked .chapter-view{filter:grayscale()brightness(.5)}.tag-practice{border:1px solid var(--line);color:var(--text-soft);background:0 0}@media (max-width:760px),(max-height:640px){.chapter-list{scroll-snap-type:x mandatory;padding:var(--space-3) var(--space-1);align-content:normal;align-items:center;display:flex;overflow-x:auto}.chapter-card{scroll-snap-align:center;flex:0 0 min(64vw,240px)}.chapter-view{aspect-ratio:4/5}}.start[data-launch] .start-head,.start[data-launch] .start-body{opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out)}.start-leap{pointer-events:none;justify-content:center;align-items:flex-end;padding-bottom:18vh;display:flex;position:absolute;inset:0}.start-leap-climber{width:calc(80px * var(--sprite-zoom));height:calc(80px * var(--sprite-zoom));animation:.76s cubic-bezier(.5,0,.75,0) both start-leap;position:relative}@keyframes start-leap{0%{transform:translateY(0)}20%{transform:translateY(8px)}to{transform:translateY(-120vh)}}.touch{height:clamp(calc(136px + env(safe-area-inset-bottom,0px)), calc(100% - var(--playfield-bottom,100%) - 8px), calc(240px + env(safe-area-inset-bottom,0px)));padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px));gap:var(--space-3);pointer-events:none;display:flex;position:absolute;bottom:0;left:0;right:0}.touch-pad,.touch-jump{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-xl);border:1px solid var(--line);color:var(--text);font:inherit}.touch-pad{background:var(--surface-raised);flex:3;display:flex;overflow:hidden}.touch-half{color:var(--text-muted);flex:1;place-items:center;display:grid}.touch-half+.touch-half{border-left:1px solid var(--line-subtle)}.touch-jump{isolation:isolate;background:var(--accent-tint-strong);border-color:var(--accent-border);color:var(--accent-bright);letter-spacing:.08em;text-transform:uppercase;flex:2;font-size:14px;font-weight:600;position:relative;overflow:hidden}.touch-pad:active{background:var(--surface-hover)}.touch-jump:active{background:var(--accent-border)}.touch-jump:before,.touch-jump:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.touch-jump:before{background:var(--accent-border);transform:scaleY(var(--charge,0));transform-origin:50% 100%}.touch-jump:after{background:var(--accent);opacity:0}.touch-jump[data-full=a]:after{animation:jump-full-a var(--duration-slow) var(--ease-out)}.touch-jump[data-full=b]:after{animation:jump-full-b var(--duration-slow) var(--ease-out)}.tune{top:calc(var(--space-2) + env(safe-area-inset-top,0px));right:var(--space-2);z-index:10;background:var(--surface-hud-glass);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2);max-height:80vh;font-size:12px;position:fixed;overflow-y:auto}.tune-collapsed{padding:var(--space-1) var(--space-2)}.tune-toggle{font:600 10px / 14px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.tune-body{gap:var(--space-1);margin-top:var(--space-2);display:grid}.tune-field{justify-content:space-between;gap:var(--space-2);align-items:center;display:flex}.tune-field input{width:80px;font:inherit;background:var(--surface-input);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);padding:2px var(--space-1);font-size:12px}.tune-left{right:auto;left:var(--space-2)}.sb{width:min(360px, calc(100vw - 2 * var(--space-2)))}.sb.tune-collapsed{width:auto}.sb-board{gap:var(--space-1);margin-top:var(--space-1);display:grid}.sb-section{border-top:1px solid var(--line-subtle);padding-top:var(--space-1)}.sb-summary{cursor:pointer;font:600 10px / 18px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.sb-body{gap:var(--space-1);padding:var(--space-1) 0 var(--space-2);display:grid}.sb-grid{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.sb-row{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.sb-btn{min-height:24px;padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font:500 11px / 16px var(--font-mono);text-align:left;cursor:pointer}.sb-btn:disabled{opacity:.45;cursor:default}.sb-btn-on{border-color:var(--accent-border);background:var(--accent-tint-strong);color:var(--accent-text)}.sb-label{color:var(--text-muted);font:500 11px / 16px var(--font-mono);min-width:52px}.sb-field{align-items:center;gap:var(--space-2);grid-template-columns:88px 1fr 40px;display:grid}.sb-field output{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right}.sb-range{width:100%;accent-color:var(--accent);margin:0}.sb-inline{align-items:center;gap:var(--space-1);color:var(--text-muted);display:inline-flex}.sb-inline select{font:inherit;background:var(--surface-input);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm)}.sb-stat{gap:2px var(--space-2);font:400 11px / 16px var(--font-mono);grid-template-columns:auto 1fr;margin:0;display:grid}.sb-stat dt{color:var(--text-muted)}.sb-stat dd{color:var(--text);margin:0}.sb-meter{vertical-align:middle;border-radius:var(--radius-pill);background:var(--surface-track);width:64px;height:6px;display:inline-block;position:relative;overflow:hidden}.sb-meter-fill{width:var(--level,0%);background:var(--accent);position:absolute;inset:0 auto 0 0}.sb-meter-hot .sb-meter-fill{background:var(--warning)}.sb-meter-clip .sb-meter-fill{background:var(--danger)}.sb-ok{color:var(--accent)}.sb-bad{color:var(--danger)}.sb-note{color:var(--text-body);margin:0;font-size:11px}.sb-log{padding-left:var(--space-4);color:var(--text-body);font:400 10px / 15px var(--font-mono);margin:0}.sb-tree{gap:2px;display:grid}.sb-group{padding-left:var(--space-2)}.sb-group>summary{cursor:pointer;color:var(--text-label);font:500 11px / 18px var(--font-mono)}.sb-result{font:400 11px / 16px var(--font-mono);gap:2px;display:grid}.btn:focus-visible,.landing-nav a:focus-visible,.landing-footer a:focus-visible,.landing-brand:focus-visible,.version-chip:focus-visible,.news-toggle:focus-visible,.chip:focus-visible,.tab:focus-visible,.card:focus-visible,.hud-btn:focus-visible,.panel-corner:focus-visible,.touch-jump:focus-visible,.tune-toggle:focus-visible,.sb-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary:focus-visible{box-shadow:var(--focus-ring), var(--shadow-accent-glow)}@media (hover:hover){.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-hover)}.btn-primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.chip:hover:not(:disabled):not([aria-disabled=true]),.tab:hover:not(.tab-active){background:var(--surface-hover-soft);border-color:var(--line-option-hover)}.card:hover:not(.card-selected):not(:disabled):not([aria-disabled=true]){border-color:var(--accent)}.segment:hover:not(.segment-active){background:var(--surface-hover-soft)}.hud-btn:hover,.panel-corner:hover{background:var(--surface-hover);border-color:var(--line-hover);color:var(--text)}.sb-btn:hover:not(:disabled){border-color:var(--line-hover)}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes drawer-out{to{transform:translate(100%)}}@keyframes drawer-fade-in{0%{opacity:0}}@keyframes drawer-fade-out{to{opacity:0}}@keyframes jump-full-a{0%{opacity:.5}to{opacity:0}}@keyframes jump-full-b{0%{opacity:.5}to{opacity:0}}@keyframes panel-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes banner{0%{opacity:0;transform:translateY(8px)}12%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@keyframes toast{0%{opacity:0;transform:translateY(4px)}12%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0}}@keyframes toast-fade{0%{opacity:0}12%,75%{opacity:1}to{opacity:0}}@font-face{font-family:"Jacquard 24";src:url(/assets/jacquard-24-latin-400-normal-C1P8W-p0.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/assets/pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2)format("woff2");font-weight:500 900;font-display:swap}.stage[data-skin] :is(.hero-title,.landing-title,.start-title,.panel h2,.drawer-header h2,.climber-who h3,.chapter-name,.hud-chapter-name,.world-head h3,.landing-card h3){font-family:var(--skin-font-display);letter-spacing:0;font-weight:400}.stage[data-skin] .hero-title{font-size:72px;line-height:.95}.stage[data-skin] .landing-title{font-size:48px;line-height:1}.stage[data-skin] :is(.panel h2,.drawer-header h2){font-size:36px;line-height:1}.stage[data-skin] .climber-who h3{color:var(--accent);font-size:48px;line-height:1}.stage[data-skin] :is(.chapter-name,.world-head h3,.landing-card h3,.hud-chapter-name){font-size:30px;line-height:1}@media (max-width:640px){.stage[data-skin] .hero-title{font-size:48px}.stage[data-skin] .landing-title,.stage[data-skin] .climber-who h3{font-size:36px}}.stage[data-skin] :is(.hud-value,.hud-score,.stat-value,.climber-stat dd,.board .num,.hero-meta,.version-chip,.chapter-from,.chapter-lock,.start-keys,.climber-first,.key,.tag){font-family:var(--skin-font-numeric);letter-spacing:0}.stage[data-skin] .wordmark{font-family:var(--skin-font-display);letter-spacing:0;text-transform:none;font-size:24px;font-weight:400}.stage[data-skin-art]{--ui-px:2px;image-rendering:pixelated}.stage[data-skin-art] :is(.panel,.start-panel,.drawer-panel,.world-card,.hud-chapter){border-style:solid;border-color:#0000;border-width:calc(var(--frame-panel-t) * var(--ui-px)) calc(var(--frame-panel-r) * var(--ui-px)) calc(var(--frame-panel-b) * var(--ui-px)) calc(var(--frame-panel-l) * var(--ui-px));border-image-source:var(--frame-panel);border-image-slice:var(--frame-panel-t) var(--frame-panel-r) var(--frame-panel-b) var(--frame-panel-l);background:var(--surface) padding-box;border-image-repeat:round;border-radius:0}.stage[data-skin-art] .world-card-selected{box-shadow:var(--shadow-accent-glow)}.stage[data-skin-art] .btn{border-style:solid;border-color:#0000;border-width:calc(var(--frame-button-alt-t) * var(--ui-px)) calc(var(--frame-button-alt-r) * var(--ui-px));border-image-source:var(--frame-button-alt);border-image-slice:var(--frame-button-alt-t) var(--frame-button-alt-r) var(--frame-button-alt-b) var(--frame-button-alt-l) fill;box-shadow:none;color:var(--text);text-shadow:0 1px 0 var(--bg-deep);background:0 0;border-image-repeat:stretch;border-radius:0}.stage[data-skin-art] .btn-primary{border-width:calc(var(--frame-button-t) * var(--ui-px)) calc(var(--frame-button-r) * var(--ui-px));border-image-source:var(--frame-button);border-image-slice:var(--frame-button-t) var(--frame-button-r) var(--frame-button-b) var(--frame-button-l) fill;color:var(--on-accent);text-shadow:none}.stage[data-skin-art] .btn-ghost{text-shadow:none;background:0 0;border-color:#0000;border-image:}.stage[data-skin-art] .btn:hover:not(:disabled):not(.btn-ghost){filter:brightness(1.1)}.stage[data-skin-art] .btn:focus-visible{box-shadow:var(--focus-ring)}.stage[data-skin-art] .tag{padding:0 var(--space-1);border-style:solid;border-color:#0000;border-width:calc(var(--frame-chip-t) * 1px) calc(var(--frame-chip-r) * 1px);border-image-source:var(--frame-chip);border-image-slice:var(--frame-chip-t) var(--frame-chip-r) var(--frame-chip-b) var(--frame-chip-l) fill;color:var(--accent);background:0 0;border-image-repeat:stretch;border-radius:0;line-height:16px}.stage[data-skin-art] .tag-practice,.stage[data-skin-art] .tag-soon{color:var(--text-soft)}.stage[data-skin-art] :is(.start-title,.panel-menu h2){height:calc(29 * var(--ui-px));min-width:calc(112 * var(--ui-px));padding:calc(1 * var(--ui-px)) var(--space-2) 0;border-style:solid;border-color:#0000;border-width:0 calc(var(--frame-banner-r) * var(--ui-px)) 0 calc(var(--frame-banner-l) * var(--ui-px));border-image-source:var(--frame-banner);border-image-slice:0 var(--frame-banner-r) 0 var(--frame-banner-l) fill;font-size:30px;line-height:calc(17 * var(--ui-px));white-space:nowrap;color:var(--text);text-shadow:0 2px 0 var(--bg-deep);border-image-repeat:stretch;justify-content:center;place-self:center;align-items:flex-start;display:inline-flex}.hero-crest{image-rendering:pixelated;display:block}.pixel-icon{image-rendering:pixelated;flex:none}.climber-stat .pixel-icon{grid-row:1/3}@media (prefers-reduced-motion:reduce){.hud-combo,.hud-flash,.hud-chapter{animation-duration:1ms}.hud-flash,.hud-chapter{display:none}.panel{animation:none}.stage[data-screen=landing] .canvas-host{transition:none;transform:none}.landing{scroll-behavior:auto}.landing-card,.news-chevron,.landing-nav-pill{transition:none}.stage[data-flow]{--zoom:1}.stage[data-screen=landing] .landing,.climber-row,.chapter-card{transition:none}.start,.sprite,.sprite-once,.climber-stage[data-hop] .climber-figure,.start-leap-climber,.climber-on .climber-glow:before,.climber-on .climber-glow:after,.climber-on .climber-marker,.climber-more{animation:none}.climber:has(input:focus-visible) .climber-glow{animation:none}.chapter-on{transform:none}.drawer-panel{animation-name:drawer-fade-in}.drawer[data-closing] .drawer-panel{animation-name:drawer-fade-out}.toast{animation-name:toast-fade}.btn,.chip,.tab,.card,.segment,.switch-track,.switch-thumb,.panel-corner{transition:none}.slider::-webkit-slider-thumb{transition:none}.slider::-moz-range-thumb{transition:none}}@media (pointer:coarse){.chip,.tab{min-height:var(--control-lg)}.field input[type=text]{min-height:var(--control-xl)}.panel-corner{width:44px;height:44px}.slider{height:var(--control-lg)}.slider::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px}.slider::-moz-range-thumb{width:24px;height:24px}}@media (hover:hover){.landing-nav a:hover,.landing-footer a:hover{color:var(--text-strong)}.version-chip:hover{color:var(--accent-text);border-color:var(--accent-border)}.landing-card:hover{border-color:var(--line-hover)}.world-card:not(.world-card-locked):hover{transform:translateY(-2px)}.news-toggle:hover .news-title{color:var(--accent-text)}}
