:root{color-scheme:dark;--ink:#edf7fa;--muted:#a4b7c3;--accent:#81ffe0;--line:#ffffff24;--panel:#091923eb;font-family:Inter,Segoe UI,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#07121b;color:var(--ink)}body{overflow-x:hidden}button,a,input,select{touch-action:manipulation}button,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffdf86;outline-offset:4px}button{border:1px solid var(--line);background:#ffffff09;border-radius:8px}button:hover{background:#ffffff18}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}#world,#vignette{position:fixed;inset:0;width:100%;height:100%}#world{display:block}#vignette{pointer-events:none;background:linear-gradient(90deg,#03121baf,transparent 65%),linear-gradient(0deg,#03121b9f,transparent 35%)}body.racing{overflow:hidden;position:fixed;inset:0}body.racing #vignette{background:linear-gradient(0deg,#03121b80,transparent 27%,transparent 80%,#03121b80)}.panel{background:var(--panel);border:1px solid #b1e1ee35;box-shadow:0 25px 80px #0006;border-radius:16px;backdrop-filter:blur(18px)}#loading,#failure{position:fixed;z-index:20;top:40%;left:50%;transform:translate(-50%,-50%);text-align:center;letter-spacing:.2em;font-size:15px;width:min(90%,500px)}#loading span{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:18px}#failure{padding:30px;letter-spacing:0}#failure h1{font-size:26px}#failure a{display:block;margin:20px}#menu{position:relative;z-index:2;min-height:100dvh;padding:28px max(28px,calc((100vw - 1480px)/2)) 18px;display:flex;flex-direction:column}.mast{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.13em;font-weight:800}.mast a{font-size:17px}.mast a span{font-weight:400}.edition{color:var(--accent)}.edition i{font-style:normal;color:var(--muted);margin-left:14px;font-size:10px}.menu-layout{flex:1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:7vw;padding:42px 0}.hero{align-self:center}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:800;color:var(--accent)}h1{font-size:clamp(36px,4.7vw,76px);line-height:1.02;letter-spacing:-.05em;font-weight:900;margin:24px 0}h1 em{font-size:1.62em;color:#effbfa;font-style:italic;letter-spacing:-.08em;display:inline-block;transform:translateX(-.03em);text-shadow:0 3px 0 #438780,0 16px 70px #20ffdf45}h1 small{display:block;color:var(--accent);font-size:.34em;letter-spacing:.7em;font-weight:500;margin-top:16px}.tagline{color:#e0f0f6;font-size:18px;line-height:1.6;text-shadow:0 2px 20px #000}.tech-line{display:flex;gap:16px;margin-top:30px;font-size:9px;font-weight:800;letter-spacing:.1em}.tech-line span{border-top:2px solid #82f1da88;padding-top:10px}.setup{padding:25px;width:100%;max-width:580px;justify-self:end}.section-title{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:700;margin-bottom:14px}.section-title span:last-child{color:var(--accent)}.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.track{position:relative;text-align:left;padding:10px;min-height:95px;overflow:hidden}.track b,.track small{position:relative;display:block}.track b{font-size:13px;margin-top:10px}.track small{color:var(--muted);font-size:10px;margin-top:3px}.track.selected{border-color:var(--accent);background:#5cf3c914;box-shadow:inset 0 0 20px #70ffcf0b}.swatch{display:block;height:20px;width:100%;border-radius:4px;opacity:.9}.sunny{background:linear-gradient(155deg,#7ad1da 25%,#ffc890 26%,#eeb86d 45%,#467e62 46%,#183d35 75%)}.dino{background:linear-gradient(155deg,#fdb265 25%,#c45e41 26%,#a5593b 55%,#476d45 56%,#163b30)}.neon{background:linear-gradient(155deg,#1d164f 25%,#803fbd 26%,#ec5594 45%,#23496a 46%,#14203b)}.moon{background:linear-gradient(155deg,#10162f 25%,#66b7d8 26%,#608ca0 45%,#53647c 46%,#253246)}.setup-row{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin:18px 0}.setup-row label{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:700}select{display:block;width:100%;margin-top:7px;padding:11px 7px;border-radius:6px;border:1px solid var(--line);background:#152833;color:#eff9ff;font-size:12px;letter-spacing:0}.options{margin-bottom:18px;font-size:11px}.options summary{cursor:pointer;color:var(--muted);padding:7px 0}.options[open]{border-top:1px solid var(--line);padding-top:5px}.table-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:10px 0}.table-grid button{min-height:32px;font-size:11px}.table-grid .selected{border-color:var(--accent);background:#81ffe027}.range{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin:8px 0}.range input{width:70%;accent-color:#81ffe0}.micro{font-size:10px;color:var(--muted)}.check{display:flex;align-items:center;gap:6px}.check input{accent-color:#81ffe0}.primary{background:var(--accent);color:#08251f;border:0;border-radius:7px;min-height:52px;padding:16px 20px;font-size:12px;letter-spacing:.11em;font-weight:900;width:100%;text-align:left}.primary:hover{background:#b0ffeb;box-shadow:0 0 25px #81ffe025}.primary span{float:right;font-size:19px;line-height:16px}.instructions{font-size:11px;color:var(--muted);line-height:1.65;margin:14px 0 0}.instructions b{color:var(--ink)}footer{display:flex;align-items:center;gap:22px;font-size:10px;color:var(--muted)}footer span{margin-left:auto}footer button{border:0;background:none;padding:8px 0;font-size:10px}.modal{position:fixed;z-index:15;inset:0;display:flex;align-items:center;justify-content:center;background:#01091199;padding:20px;overflow:auto}.dialog,.result-dialog{width:min(100%,470px);padding:32px;max-height:calc(100dvh - 40px);overflow:auto}.dialog h2,.result-dialog h2{font-size:36px;line-height:1.08;letter-spacing:-.04em;margin:20px 0 15px}.dialog p,.result-dialog p{font-size:13px;line-height:1.65;color:var(--muted)}.secondary{width:100%;padding:13px;margin-top:10px;font-size:12px}.credits a{text-decoration:underline;color:var(--accent)}.credits h3{margin-top:24px}.result-dialog{width:min(100%,580px)}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.result-stats div{border-top:2px solid #81ffe068;padding-top:12px}.result-stats small{display:block;font-size:8px;color:var(--muted);letter-spacing:.1em}.result-stats b{display:block;font-size:24px;margin-top:6px}.best{color:var(--accent)!important}.lesson{padding:15px 18px;border-radius:8px;background:#ffffff06;margin-bottom:20px}.lesson small{letter-spacing:.16em;font-size:9px;color:var(--accent)}.lesson p{margin:7px 0 0}
#hud{position:fixed;inset:0;pointer-events:none;z-index:3;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));font-variant-numeric:tabular-nums}#hud button{pointer-events:auto}.hud-top{display:flex;align-items:center;gap:24px;text-shadow:0 2px 7px #000}.race-brand{font-size:24px;letter-spacing:.3em;font-style:italic;font-weight:900;margin-right:auto}.race-brand span{font-size:8px;letter-spacing:.2em;font-style:normal;font-weight:500;display:block;margin-top:5px}.lap-block{display:flex;align-items:center;gap:10px}.lap-block small,.time-block small{font-size:9px;letter-spacing:.12em;color:#d7e4ec}.lap-block b{font-size:28px}.lap-block b span{font-size:14px;color:#c5d4dc;margin-left:6px}.place-block{display:flex;align-items:center;gap:8px}.place-block b{font-size:42px;line-height:1}.place-block span{font-size:9px;line-height:1.5}.hud-top button{height:40px;min-width:42px;padding:0 10px;background:#071724a6;font-size:10px}.hud-top #pause{font-size:20px}.progress{height:2px;background:#fff3;margin-top:14px}.progress i{display:block;height:100%;background:var(--accent);width:0;box-shadow:0 0 9px var(--accent)}.question-panel{position:absolute;top:105px;left:50%;transform:translateX(-50%);text-align:center;min-width:220px;padding:10px 30px 14px;background:linear-gradient(110deg,#081b2ae8,#0a2636d9);border:1px solid #a9f4ed70;border-radius:12px;box-shadow:0 8px 32px #0005}.question-panel small{font-size:9px;letter-spacing:.22em;color:#b7d6dd}.question-panel strong{display:block;font-size:clamp(30px,4vw,48px);letter-spacing:.04em;line-height:1.2}.gate-timer{height:3px;background:#fff2;margin-top:8px}.gate-timer i{display:block;background:#81ffe0;height:100%;width:100%;transform-origin:left}#toast{position:absolute;top:33%;left:50%;transform:translateX(-50%);text-align:center;font-size:17px;font-weight:850;letter-spacing:.08em;color:#a4ffe6;text-shadow:0 2px 14px #001b27;background:#071824cd;border-radius:7px;padding:10px 20px;opacity:0;transition:opacity .16s;max-width:85%;width:max-content}#toast.visible{opacity:1}#toast.bad{color:#ffb8a6}#countdown{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-size:120px;font-weight:900;font-style:italic;filter:drop-shadow(0 0 22px #80ffe3);color:white}.hud-bottom{position:absolute;bottom:115px;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:end;gap:30px;text-shadow:0 2px 10px #000}.speed-block{width:130px}.speed-block strong{font-size:64px;font-weight:850;font-style:italic;letter-spacing:-.06em;line-height:1}.speed-block>span{font-size:9px;color:#c6d8e3;margin-left:9px}.speed-block>small{font-size:9px;letter-spacing:.12em}#rpm{height:4px;background:#fff2;margin:8px 0 4px;width:100%}#rpm i{display:block;background:var(--accent);height:100%}.charge{max-width:340px;flex:1;margin:0 auto}.charge>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:center}.charge small{font-size:9px;letter-spacing:.16em}.charge b{font-size:15px}.charge>span{display:block;font-size:10px;color:#d5e1e8;margin-top:7px;height:24px}#chargeCells{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-top:8px}#chargeCells i{height:8px;transform:skew(-20deg);background:#ffffff26;border:1px solid #fff3}#chargeCells i.on{background:#81ffe0;border-color:#c6ffee;box-shadow:0 0 10px #81ffe099}.time-block{width:130px;text-align:right;margin-bottom:25px}.time-block b{display:block;font-size:23px;margin-top:7px}.answer-controls{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(520px,calc(100% - 38px))}.answer-controls button{min-height:70px;background:#071b29dd;border:1px solid #a8d0e54d;box-shadow:0 5px 25px #0003;transition:border .15s,background .15s}.answer-controls button.chosen{border-color:var(--accent);background:#114f4cda;box-shadow:0 0 22px #81ffe029}.answer-controls small{display:block;font-size:8px;letter-spacing:.2em;color:#b4cbd8}.answer-controls b{display:block;font-size:28px;line-height:1.2}.answer-controls button:active{transform:translateY(2px)}#warpTitle{position:absolute;inset:32% 0 auto;text-align:center;text-shadow:0 0 30px #73e3ff}#warpTitle small,#warpTitle span{display:block;letter-spacing:.25em;font-size:11px}#warpTitle b{display:block;font-size:clamp(38px,8vw,100px);font-style:italic;font-weight:900;letter-spacing:-.05em}body.warp #questionPanel,body.warp #answers{visibility:hidden}
@media(min-aspect-ratio:24/9){.hud-top,.progress{max-width:1800px;margin-left:auto;margin-right:auto}.hud-bottom{max-width:1750px;left:50%;transform:translateX(-50%);width:90%}.menu-layout{gap:100px}#menu{max-width:1580px;padding-left:40px;padding-right:40px;margin:auto}}
@media(max-width:800px){#menu{padding:18px 18px 14px}.mast{font-size:9px}.mast a{font-size:13px}.edition i{display:none}.menu-layout{grid-template-columns:1fr;gap:20px;padding:24px 0}.hero h1{font-size:38px;margin:12px 0}.hero h1 br{display:none}.hero h1 em{display:block;font-size:1.65em;line-height:.9}.hero h1 small{display:inline-block;position:absolute;margin:0 0 0 195px;transform:translateY(-18px);font-size:15px;letter-spacing:.28em}.hero .eyebrow{font-size:8px}.tagline,.tech-line{display:none}.setup{max-width:none;padding:18px}.track{min-height:79px}.swatch{height:14px}.setup-row{margin:13px 0}.options{margin-bottom:12px}footer{flex-wrap:wrap;gap:14px}footer span{margin-left:0;width:100%;font-size:9px}.hud-top{gap:13px}.race-brand{font-size:18px}.race-brand span{font-size:7px}.place-block b{font-size:31px}.lap-block{gap:5px}.lap-block b{font-size:22px}.hud-top button{height:36px;min-width:34px;padding:0 7px}#hud{padding:14px 14px max(12px,env(safe-area-inset-bottom))}.question-panel{top:87px;min-width:170px;padding:9px 20px}.question-panel strong{font-size:34px}.hud-bottom{left:16px;right:16px;bottom:106px;gap:15px}.speed-block{width:90px}.speed-block strong{font-size:44px}.speed-block>span{font-size:8px;margin-left:4px}.charge small{font-size:7px;letter-spacing:.08em}.charge b{font-size:12px}.charge>span{font-size:9px}.time-block{display:none}#toast{font-size:12px;padding:9px 13px;top:30%}.answer-controls button{min-height:65px}.answer-controls{gap:8px}.result-stats b{font-size:21px}.dialog,.result-dialog{padding:24px}.dialog h2,.result-dialog h2{font-size:30px}}
@media(max-height:600px) and (orientation:landscape){#menu{padding:15px 25px}.menu-layout{grid-template-columns:.85fr 1.15fr;gap:28px;padding:20px 0}.hero h1{font-size:36px}.hero h1 br{display:block}.hero h1 em{font-size:1.5em}.hero h1 small{display:block;position:static;margin:12px 0 0;transform:none}.hero .tagline{display:block;font-size:12px}.setup{padding:15px}.track{min-height:62px;padding:7px}.track b{font-size:11px;margin-top:5px}.track small{font-size:8px}.swatch{height:7px}.section-title{margin-bottom:8px;font-size:8px}.setup-row{margin:10px 0}select{padding:7px}.primary{min-height:42px;padding:12px 15px}.instructions{font-size:9px;margin-top:8px}.options{margin-bottom:7px}footer span{width:auto;margin-left:auto}.hud-top{gap:16px;align-items:start}.race-brand{font-size:16px}.place-block b{font-size:30px}.progress{margin-top:7px}.question-panel{top:16px;padding:5px 24px 8px;min-width:165px}.question-panel strong{font-size:27px}.question-panel small{font-size:7px}.gate-timer{margin-top:3px}.hud-bottom{bottom:20px;left:25px;right:25px}.speed-block strong{font-size:40px}.charge{max-width:220px;margin-right:0;flex:initial;width:26%}.charge small{font-size:7px}.charge>span{font-size:8px;margin-top:5px}.time-block{display:none}.answer-controls{bottom:12px;width:36%;max-width:410px;gap:8px}.answer-controls button{min-height:51px}.answer-controls b{font-size:23px}.answer-controls small{font-size:7px}.hud-top #mute{margin-left:10px}#toast{top:27%;font-size:11px}#countdown{font-size:80px}.race-brand{max-width:22%}.lap-block{margin-left:auto}.question-panel~.hud-bottom{pointer-events:none}#warpTitle{top:31%}.result-dialog{width:min(650px,95%)}.result-dialog h2{margin:8px 0}.result-stats{margin:15px 0}.lesson{margin-bottom:12px;padding:10px}.dialog,.result-dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.failure-detail{margin:12px 0 16px;padding:10px 12px;border:1px solid #9bdfff33;border-radius:10px;background:#06131dcc;color:#9fb6c5;font:700 10px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-word}

.renderer-notice{position:fixed;z-index:35;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(720px,calc(100% - 28px));padding:10px 12px;border:1px solid #9bdfff55;border-radius:12px;background:#06131ee8;box-shadow:0 10px 30px #0008;color:#d8edf8;font:700 11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;pointer-events:auto}.renderer-notice.hidden{display:none}.renderer-notice span{flex:1}.renderer-notice button{flex:none;width:30px;height:30px;padding:0;border-radius:8px}.diagnostic-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.diagnostic-actions button{min-height:34px;padding:7px 10px;font-size:10px}.diagnostic-actions span{margin-left:auto;color:#8ca4b2;font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:800px){.renderer-notice{top:max(8px,env(safe-area-inset-top));font-size:9px}.diagnostic-actions span{width:100%;margin-left:0}}
