:root{--black:#050608;--graphite:#16181c;--graphite-2:#22252b;--white:#f4f5f7;--silver:#a9afb8;--dim:#f4f5f78f;--faint:#f4f5f71a;--accent:#3d9bff;--accent-soft:#7cc4ff;--danger:#ff5a4f;--glass:#1012168f;--glass-strong:#0c0e11c7;--line:#ffffff17;--line-hi:#ffffff29;--ease:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1);--t-fast:.15s;--t:.22s;--t-slow:.3s;--radius:18px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--pad:clamp(14px, 3.2vmin, 32px);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--black);width:100%;height:100%;color:var(--white);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;overflow:hidden}#app{position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}canvas.scene{outline:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ui{pointer-events:none;font-variant-numeric:tabular-nums;position:absolute;top:0;bottom:0;left:0;right:0}.ui button,.ui input,.ui [data-interactive]{pointer-events:auto}.flight-surface{touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.flight-surface.on{pointer-events:auto;cursor:grab}.flight-surface.on:active{cursor:grabbing}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:600}.wordmark{letter-spacing:.42em;margin-right:-.42em;font-weight:250;line-height:1}.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(22px)saturate(1.35);backdrop-filter:blur(22px)saturate(1.35);box-shadow:inset 0 1px #ffffff0f,0 24px 60px #00000059}.btn{-webkit-appearance:none;appearance:none;font:inherit;color:var(--white);border:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:48px;transition:transform var(--t-fast) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), opacity var(--t) var(--ease);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;background:#ffffff0f;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--line-hi);background:#ffffff1a}.btn:active{transition-duration:60ms;transform:scale(.965)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn.primary{background:var(--white);color:#0b0c0e;border-color:#0000;box-shadow:0 10px 30px #00000059,0 0 #3d9bff00}.btn.primary:hover{background:#fff;box-shadow:0 10px 30px #00000059,0 0 0 4px #3d9bff40}.btn.ghost{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.icon{width:48px;padding:0}.btn svg{flex:none;width:20px;height:20px}.btn[disabled]{opacity:.4;pointer-events:none}.btn.big{letter-spacing:.2em;border-radius:18px;min-height:64px;padding:0 28px;font-size:16px}.btn .sub{letter-spacing:.12em;opacity:.55;font-size:11px;font-weight:600}.btn.stacked{flex-direction:column;align-items:flex-start;gap:4px}.screen{padding:calc(var(--pad) + var(--sat)) calc(var(--pad) + var(--sar)) calc(var(--pad) + var(--sab)) calc(var(--pad) + var(--sal));opacity:0;visibility:hidden;transition:opacity var(--t) var(--ease), transform var(--t-slow) var(--ease), visibility 0s linear var(--t);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(10px)scale(.99)}.screen.show{opacity:1;visibility:visible;transition:opacity var(--t) var(--ease), transform var(--t-slow) var(--ease), visibility 0s;transform:none}.screen.show>*{pointer-events:auto}.screen.passthrough.show>*{pointer-events:none}.screen.dim:before{content:"";pointer-events:none;background:radial-gradient(120% 120% at 50% 40%,#05060833,#050608b3);position:absolute;top:0;bottom:0;left:0;right:0}.topbar{z-index:2;align-items:center;gap:14px;display:flex;position:relative}.topbar h2{letter-spacing:.24em;flex:1;margin:0;font-size:15px;font-weight:600}.chip-stat{letter-spacing:.06em;border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.chip-stat svg{width:14px;height:14px}.menu{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,520px) 1fr;align-items:end;display:grid}.menu:before{content:"";pointer-events:none;background:linear-gradient(90deg,#050608b8 0%,#05060840 45%,#05060800 70%),linear-gradient(#05060800 60%,#0506088c);position:absolute;top:0;bottom:0;left:0;right:0}.menu .stats{grid-area:1/1/auto/-1;place-self:start end;gap:10px;display:flex;position:relative}.menu .panel{transform-style:preserve-3d;transition:transform var(--t-slow) var(--ease);will-change:transform;flex-direction:column;grid-area:3/1;gap:12px;display:flex;position:relative}.menu .title{margin:0 0 4px;font-size:clamp(44px,9vmin,92px)}.menu .tagline{color:var(--dim);letter-spacing:.06em;margin:0 0 18px;font-size:14px}.menu .play{justify-content:space-between;width:100%}.menu .play .play-meta{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.menu .row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu .row .btn{justify-content:space-between;min-height:56px}.menu .icons{gap:10px;display:flex}.menu .icons .btn{flex:1;min-width:0}.menu .panel,.menu .row .btn{min-width:0}.hud{padding:calc(12px + var(--sat)) calc(14px + var(--sar)) calc(12px + var(--sab)) calc(14px + var(--sal));opacity:0;transition:opacity var(--t) var(--ease);text-shadow:0 1px 2px #0000008c,0 0 18px #00000040;position:absolute;top:0;bottom:0;left:0;right:0}.hud:not(.show){visibility:hidden;transition:opacity var(--t) var(--ease), visibility 0s linear var(--t)}.hud.show{opacity:1}.hud .progress{background:#ffffff1f;height:3px;position:absolute;top:0;left:0;right:0}.hud .progress i{background:var(--hud-accent,var(--accent));width:0%;height:100%;box-shadow:0 0 10px var(--hud-accent,var(--accent));display:block}.hud .score-block{left:50%;top:calc(14px + var(--sat));text-align:center;position:absolute;transform:translate(-50%)}.hud .score{letter-spacing:.02em;font-size:clamp(30px,6.2vmin,48px);font-weight:600;line-height:1}.hud .combo{letter-spacing:.08em;transition:transform var(--t) var(--ease-spring);align-items:center;gap:8px;margin-top:6px;font-size:15px;font-weight:700;display:inline-flex}.hud .combo.bump{transform:scale(1.25)}.hud .pips{gap:3px;display:inline-flex}.hud .pips i{width:14px;height:4px;transition:background var(--t) var(--ease);background:#ffffff38;border-radius:2px}.hud .pips i.on{background:var(--hud-accent,var(--accent));box-shadow:0 0 8px var(--hud-accent,var(--accent))}.hud .tl{left:calc(14px + var(--sal));top:calc(12px + var(--sat));position:absolute}.hud .tr{right:calc(16px + var(--sar));top:calc(18px + var(--sat));text-align:right;position:absolute}.hud .bl{left:calc(18px + var(--sal));bottom:calc(14px + var(--sab));position:absolute}.hud .readout{letter-spacing:.04em;font-size:18px;font-weight:600}.hud .readout small{letter-spacing:.18em;color:var(--dim);margin-bottom:2px;font-size:10px;font-weight:700;display:block}.hud .pause-btn{background:#0a0c0e59;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0}.hud .precision{right:calc(18px + var(--sar));bottom:calc(16px + var(--sab));border:2px solid #fff3;border-radius:50%;width:34px;height:34px;display:none;position:absolute}.hud .precision.on{display:block}.hud .precision.ready{border-color:var(--hud-accent,var(--accent));box-shadow:0 0 12px var(--hud-accent,var(--accent))}.popups{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%)}.popup{letter-spacing:.18em;text-shadow:0 2px 10px #00000080;animation:popup .9s var(--ease) forwards;white-space:nowrap;align-items:center;gap:10px;font-size:clamp(16px,3.4vmin,24px);font-weight:700;display:flex}.popup .pts{letter-spacing:.04em;opacity:.85;font-weight:600}.popup.perfect{color:#fff;text-shadow:0 0 18px var(--hud-accent,var(--accent)), 0 2px 10px #00000080;font-size:clamp(22px,5vmin,36px)}.popup.warn{color:#ffd2cc}.popup.accent{color:var(--hud-accent,var(--accent-soft))}.popup svg{width:18px;height:18px}@keyframes popup{0%{opacity:0;transform:translateY(10px)scale(.86)}14%{opacity:1;transform:translateY(0)scale(1.06)}26%{transform:scale(1)}78%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.drag-indicator{pointer-events:none;opacity:0;transition:opacity var(--t-fast) var(--ease);position:absolute;top:0;left:0}.drag-indicator.on{opacity:1}.drag-indicator .ring{border:1.5px solid #ffffff38;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.drag-indicator .dot{background:#ffffffd9;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 16px #ffffff80}.edge{pointer-events:none;opacity:0;transition:opacity .26s var(--ease);position:absolute;top:0;bottom:0;left:0;right:0}.edge.left{background:linear-gradient(90deg,#ffffff47,#fff0 18%)}.edge.right{background:linear-gradient(270deg,#ffffff47,#fff0 18%)}.edge.warn{background:linear-gradient(#ff5a4f47,#ff5a4f00 30%),linear-gradient(90deg,#ff5a4f2e,#ff5a4f00 12% 88%,#ff5a4f2e)}.edge.on{opacity:1;transition-duration:60ms}.flash{opacity:0;pointer-events:none;background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.flash.go{animation:flash .52s var(--ease) forwards}@keyframes flash{0%{opacity:var(--flash,.8)}to{opacity:0}}.gate-arrow{opacity:0;width:26px;height:26px;transition:opacity var(--t) var(--ease);color:var(--white);filter:drop-shadow(0 1px 4px #0009);margin:-13px 0 0 -13px;position:absolute}.gate-arrow.on{opacity:.85}.hint{left:50%;bottom:calc(18% + var(--sab));text-align:center;opacity:0;transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);position:absolute;transform:translate(-50%)}.hint.on{opacity:1}.hint .big{letter-spacing:.28em;margin-right:-.28em;font-size:clamp(20px,4.4vmin,30px);font-weight:600}.hint .small{color:var(--dim);letter-spacing:.08em;margin-top:8px;font-size:12px}.hint .finger{width:46px;height:46px;animation:finger 1.8s var(--ease) infinite;border:2px solid #fffc;border-radius:50%;margin:0 auto 14px}@keyframes finger{0%,to{transform:translate(0)}25%{transform:translate(-34px,-8px)}50%{transform:translateY(-24px)}75%{transform:translate(34px,-8px)}}.countdown{place-items:center;display:grid}.countdown .course{top:calc(18% + var(--sat));text-align:center;position:absolute;left:0;right:0}.countdown .course .name{letter-spacing:.3em;margin-top:8px;margin-right:-.3em;font-size:clamp(22px,5vmin,40px);font-weight:300}.countdown .num{text-shadow:0 6px 40px #00000059;font-size:clamp(90px,22vmin,200px);font-weight:200;line-height:1}.countdown .num.tick{animation:tick .56s var(--ease) forwards}@keyframes tick{0%{opacity:0;transform:scale(1.5)}30%{opacity:1;transform:scale(1)}to{opacity:.9;transform:scale(.94)}}.results{place-items:center;display:grid}.results .card{scrollbar-width:none;flex-direction:column;gap:16px;width:min(560px,100%);max-height:100%;padding:clamp(18px,3.6vmin,30px);display:flex;overflow:auto}.results .card::-webkit-scrollbar{display:none}.results .head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.results .outcome{letter-spacing:.2em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.results .outcome svg{width:16px;height:16px}.results .outcome.fail{color:#ffb3aa}.results .scoreline{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.results .final{letter-spacing:-.01em;font-size:clamp(44px,10vmin,76px);font-weight:600;line-height:.95}.results .newbest{letter-spacing:.18em;color:#0b0c0e;background:linear-gradient(110deg, #f4f5f7 30%, #fff 45%, var(--accent-soft) 50%, #f4f5f7 60%);animation:shimmer 1.6s var(--ease) infinite, popin .36s var(--ease-spring) both;background-size:300% 100%;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}@keyframes popin{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.medal{--mc:var(--silver);flex-direction:column;align-items:center;gap:6px;min-width:84px;display:flex}.medal .disc{background:radial-gradient(circle at 35% 30%, #ffffff8c, transparent 45%), var(--mc);color:#0b0c0e;width:58px;height:58px;box-shadow:0 0 0 3px #ffffff14, 0 8px 26px #0006, 0 0 30px color-mix(in srgb, var(--mc) 45%, transparent);border-radius:50%;place-items:center;display:grid}.medal .disc svg{width:28px;height:28px}.medal.none .disc{color:var(--dim);box-shadow:inset 0 0 0 1px var(--line);background:#ffffff0f}.medal .tier{letter-spacing:.18em;font-size:10px;font-weight:800}.medal.award .disc{animation:award .7s var(--ease-spring) both}@keyframes award{0%{opacity:0;transform:scale(.2)rotate(-40deg)}60%{opacity:1;transform:scale(1.12)rotate(6deg)}to{transform:scale(1)rotate(0)}}.medal-track{background:#ffffff1a;border-radius:2px;height:4px;margin:6px 0 18px;position:relative}.medal-track i.fill{background:var(--accent);width:0;transition:width .7s var(--ease);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.medal-track b{background:var(--graphite-2);border:2px solid var(--mc);border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:-3px}.medal-track b span{letter-spacing:.1em;color:var(--dim);white-space:nowrap;font-size:9px;font-weight:700;position:absolute;top:14px;left:50%;transform:translate(-50%)}.stats-grid{background:var(--line);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stats-grid>div{background:#0e1013d9;padding:12px 14px}.stats-grid .v{margin-top:4px;font-size:19px;font-weight:600}.results .actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.results .actions .btn.primary{min-height:60px}.results .actions.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.results .actions .btn{min-width:0}.results .extra{flex-direction:column;gap:8px;display:flex}.results .extra:empty{display:none}.ad-tag{letter-spacing:.12em;border:1px solid var(--line-hi);color:var(--dim);border-radius:6px;padding:3px 6px;font-size:9px;font-weight:800}.pause{background:#05060873;place-items:center;display:grid}.pause .card{flex-direction:column;gap:10px;width:min(360px,100%);padding:26px;display:flex}.pause h2{text-align:center;letter-spacing:.3em;margin:0 0 10px;font-size:16px;font-weight:600}.hangar{flex-direction:column;display:flex}.hangar .body{pointer-events:none;flex-direction:column;flex:1;justify-content:flex-end;gap:14px;min-height:0;display:flex}.hangar .body>*{pointer-events:auto}.hangar .drag-area{touch-action:none;cursor:grab;position:absolute;top:0;bottom:0;left:0;right:0}.hangar .nameplate{justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.hangar .ac-name{letter-spacing:.3em;font-size:clamp(40px,9vmin,84px);font-weight:250;line-height:1}.hangar .ac-tag{color:var(--dim);letter-spacing:.04em;margin-top:8px;font-size:14px}.hangar .switch{gap:8px;display:flex}.hangar .info{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;display:grid;position:relative}.hangar .statbox{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.stat-row{color:var(--dim);letter-spacing:.06em;grid-template-columns:86px 1fr;align-items:center;gap:10px;font-size:12px;font-weight:600;display:grid}.stat-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.stat-bar i{background:var(--white);height:100%;transition:width var(--t-slow) var(--ease);border-radius:2px;display:block}.hangar .statbox .btn{margin-top:4px}.lock-note{border:1px dashed var(--line-hi);min-height:48px;color:var(--dim);letter-spacing:.12em;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.lock-note svg{width:14px;height:14px}.cosmetics{flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.cos-tabs{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.cos-tabs button{-webkit-appearance:none;appearance:none;color:var(--dim);font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background var(--t) var(--ease), color var(--t) var(--ease);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700}.cos-tabs button.on{color:var(--white);background:#ffffff14}.cos-list{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.cos-list::-webkit-scrollbar{display:none}.cos-tabs::-webkit-scrollbar{display:none}.swatch{-webkit-appearance:none;appearance:none;font:inherit;color:var(--white);border:1px solid var(--line);cursor:pointer;width:82px;transition:transform var(--t-fast) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);background:#ffffff0a;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:8px;padding:10px 8px 9px;display:flex}.swatch:active{transform:scale(.95)}.swatch i{background:var(--c1);border-radius:50%;width:28px;height:28px;box-shadow:inset 0 0 0 1px #fff3}.swatch.grad i{background:linear-gradient(135deg, var(--c1), var(--c2))}.swatch span{letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.swatch.on{border-color:var(--accent);background:#3d9bff1f}.swatch.locked{color:var(--dim)}.swatch.locked i{opacity:.25}.swatch.shake{animation:shake .32s var(--ease)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.challenges{flex-direction:column;gap:16px;display:flex}.challenges .scroll{touch-action:pan-y;scrollbar-width:none;flex-direction:column;flex:1;gap:18px;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 12px calc(100% - 16px),#0000);mask-image:linear-gradient(#0000,#000 12px calc(100% - 16px),#0000)}.challenges .scroll::-webkit-scrollbar{display:none}.env-group h3{letter-spacing:.22em;align-items:baseline;gap:12px;margin:8px 2px 10px;font-size:13px;font-weight:700;display:flex}.env-group h3 span{letter-spacing:.04em;color:var(--dim);font-size:12px;font-weight:500}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.ccard{-webkit-appearance:none;appearance:none;font:inherit;color:var(--white);text-align:left;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;min-height:84px;transition:transform var(--t-fast) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 16px;display:grid}.ccard:hover{border-color:var(--line-hi);background:#181b20b3}.ccard:active{transform:scale(.975)}.ccard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ccard .num{color:var(--dim);letter-spacing:.14em;font-size:11px;font-weight:700}.ccard .nm{letter-spacing:.12em;font-size:15px;font-weight:650}.ccard .best{color:var(--dim);font-size:12px}.ccard .badge{grid-area:1/2/span 3}.ccard .badge .disc{width:38px;height:38px}.ccard .badge .disc svg{width:18px;height:18px}.ccard.locked{opacity:.5;cursor:default}.ccard.current{border-color:#3d9bff8c}.settings{flex-direction:column;align-items:center;gap:16px;display:flex}.settings .topbar{width:min(560px,100%)}.settings .list{touch-action:pan-y;scrollbar-width:none;flex:0 auto;width:min(560px,100%);min-height:0;padding:6px 18px;overflow-y:auto}.settings .list::-webkit-scrollbar{display:none}.set-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.set-row:last-child{border-bottom:0}.set-row .lbl{letter-spacing:.02em;font-size:14px;font-weight:550}.set-row .lbl small{color:var(--dim);margin-top:3px;font-size:12px;font-weight:450;display:block}.seg{border:1px solid var(--line);background:#ffffff0f;border-radius:12px;padding:3px;display:inline-flex}.seg button{-webkit-appearance:none;appearance:none;color:var(--dim);font:inherit;letter-spacing:.1em;cursor:pointer;min-height:34px;transition:background var(--t) var(--ease), color var(--t) var(--ease);background:0 0;border:0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:700}.seg button.on{background:var(--white);color:#0b0c0e}.toggle{-webkit-appearance:none;appearance:none;cursor:pointer;width:50px;height:30px;transition:background var(--t) var(--ease);background:#ffffff24;border:0;border-radius:999px;flex:none;position:relative}.toggle:after{content:"";width:24px;height:24px;transition:transform var(--t) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000059}.toggle[aria-checked=true]{background:var(--accent)}.toggle[aria-checked=true]:after{transform:translate(20px)}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.slider{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-x;background:0 0;width:min(190px,42vw);height:30px}.slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--white) var(--p,50%), #ffffff29 var(--p,50%));border-radius:2px;height:4px}.slider::-moz-range-track{background:#ffffff29;border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--white);border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:22px;height:22px;margin-top:-9px;box-shadow:0 2px 8px #0006}.slider::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:22px;height:22px}.slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.toasts{left:50%;top:calc(16px + var(--sat));z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.toast{letter-spacing:.06em;animation:toast 3.2s var(--ease) forwards;white-space:nowrap;border-radius:16px;align-items:center;gap:12px;padding:12px 18px;font-size:13px;font-weight:600;display:flex}.toast b{letter-spacing:.16em;font-weight:800}.toast small{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.toast svg{width:18px;height:18px;color:var(--accent-soft)}@keyframes toast{0%{opacity:0;transform:translateY(-12px)scale(.96)}8%{opacity:1;transform:none}88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.diag{right:calc(8px + var(--sar));bottom:calc(8px + var(--sab));white-space:pre;z-index:30;background:#0000008c;border-radius:8px;padding:6px 8px;font:11px/1.4 ui-monospace,Menlo,Consolas,monospace;position:absolute}.fatal{text-align:center;color:var(--silver);place-items:center;padding:32px;font-size:15px;line-height:1.6;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@media (max-aspect-ratio:1){.menu{grid-template-columns:minmax(0,1fr)}.menu:before{background:linear-gradient(#05060800 35%,#05060859 55%,#050608d1 100%)}.menu .panel{width:100%}.menu .stats{justify-self:center}.hangar .info{grid-template-columns:1fr}.hangar .nameplate{flex-direction:column;align-items:flex-start}.hangar .switch{position:absolute;bottom:0;right:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.popups{top:24%}}@media (max-height:520px){.menu .title{font-size:clamp(30px,9vh,52px)}.menu .tagline{display:none}.menu .panel{gap:8px}.btn.big{min-height:54px}.menu .row .btn{min-height:46px}.results .card{gap:10px}.results .final{font-size:clamp(34px,12vh,56px)}.stats-grid>div{padding:8px 12px}.stats-grid .v{font-size:16px}.hangar .ac-name{font-size:clamp(30px,10vh,52px)}.hangar .ac-tag{display:none}.hangar .info{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.countdown .course{top:calc(21% + var(--sat))}.countdown .course .name{margin-top:4px;font-size:clamp(18px,5vh,26px)}.countdown .num{font-size:clamp(64px,20vh,120px)}}@media (max-height:380px){.results .medal-track,.results .medal .tier{display:none}.results .card{padding:14px 18px}}@media (max-width:520px){.menu .icons .btn{letter-spacing:.1em;flex-direction:column;gap:5px;min-height:62px;padding:0 6px;font-size:11px}.menu .row .btn{padding:0 16px}}@media (max-width:380px){.btn{letter-spacing:.1em;padding:0 14px}.stats-grid .v{font-size:16px}}.reduce-motion .screen,.reduce-motion .menu .panel{transform:none!important}.reduce-motion .popup,.reduce-motion .toast{animation-name:fadehold!important}.reduce-motion .hint .finger,.reduce-motion .newbest{animation:none!important}.reduce-motion .countdown .num.tick,.reduce-motion .medal.award .disc{animation-name:fadein!important}@keyframes fadehold{0%{opacity:0}10%,80%{opacity:1}to{opacity:0}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.screen,.menu .panel{transition-duration:1ms}}
