:root{color-scheme:dark;--ice:#91edff;--mint:#b4ffcc;--ink:#080f20}*{box-sizing:border-box}body{margin:0;background:#070d1b;color:#e5eff9;font-family:Inter,system-ui,sans-serif}button,a,input,select{touch-action:manipulation}button{cursor:pointer;font:inherit;color:inherit;background:#18243c;border:1px solid #61748e55;border-radius:8px;padding:12px 18px;min-height:44px}button:hover{background:#283c59;border-color:#9aedff}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #b4ffcc;outline-offset:3px}button:disabled{opacity:.4;cursor:default}a{color:#adc7e4;text-decoration:none}.dash-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #adc7e41a}.brand{font-size:20px;font-weight:800;color:#ebf6ff}.dash-header nav{display:flex;align-items:center;gap:24px;font-size:13px}.dash-header button{border:0;background:transparent}main{max-width:2200px;margin:auto;padding:20px 3vw}#viewport{position:relative;height:calc(100dvh - 155px);min-height:520px;max-height:1200px;overflow:hidden;background:#0a152c;border:1px solid #3b526d88;border-radius:16px;isolation:isolate}#game{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #04091c88}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding:4%;background:linear-gradient(90deg,#061023f2 0%,#07132ad9 33%,#07132a20 80%);overflow:auto}.menu-card{width:480px;max-width:100%;padding:8px}.eyebrow{color:#83c7df;font-size:10px;letter-spacing:3px;font-weight:700}h1{font-size:clamp(60px,7vw,104px);line-height:.86;margin:24px 0 20px;font-weight:900;letter-spacing:-6px}h1 em{font-style:normal;color:#a0f2fc;text-shadow:0 0 50px #53dbfc40}.tagline{font-size:21px;font-weight:650;margin:24px 0 12px}.intro{color:#a1b5cd;font-size:14px;line-height:1.7;max-width:350px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 14px}.mode-grid button{padding:13px 5px;text-align:left;background:#0c1a30ad;border-color:#304b67}.mode-grid strong,.mode-grid small{display:block;margin-left:7px}.mode-grid strong{font-size:13px}.mode-grid small{font-size:10px;color:#9eb5cb;margin-top:5px}.mode-grid .selected{background:#204257;border-color:#8ae9f2}.primary{display:block;background:#b5ffcc;color:#072226;border:0;font-weight:800;letter-spacing:.8px;text-align:center;padding:17px 22px;border-radius:8px;width:100%;margin:12px 0}.primary:hover{background:#d8ffe4;color:#072226}.primary span{float:right}.control-legend{display:flex;gap:12px;align-items:center;font-size:10px;color:#9fb2c8;margin-top:20px}kbd{display:inline-block;font:10px system-ui;background:#274056;border:1px solid #54748c;border-radius:3px;padding:3px 5px;margin-right:3px}.menu-links{display:flex;gap:10px;margin-top:14px}.menu-links button{padding:8px 0;background:none;border:0;color:#bdcfe3;font-size:12px}.world-caption{position:absolute;right:4%;bottom:7%;letter-spacing:3px;font-size:12px;color:#c8e9fd}.world-caption small{display:block;font-size:9px;margin-top:10px;text-align:right;color:#98abc4;letter-spacing:2px}.live-dot{display:inline-block;background:#b4ffcc;width:6px;height:6px;border-radius:50%;margin-right:7px}#seed-label{font-size:10px;color:#829bb9;overflow-wrap:anywhere}.touch-hint{display:none}#hud{position:absolute;inset:0;pointer-events:none;padding:25px 30px;text-shadow:0 2px 8px #000}.hud-top,.hud-bottom{display:flex;justify-content:space-between;align-items:flex-start}.hud-top>div{min-width:130px}.hud-top strong{font-size:28px;font-variant-numeric:tabular-nums}.hud-top small,.hud-bottom small{display:block;font-size:9px;letter-spacing:2px;color:#b0c4dc;margin-bottom:6px}.hud-top strong,.hud-top span{display:block}.hud-top span{font-size:10px;color:#a3b6cc;margin-top:6px}.hud-center{text-align:center}.hud-right{text-align:right}#health{font-size:19px;color:#aefacf;letter-spacing:4px}#pause{pointer-events:auto;background:#0c1b3080;padding:4px 12px;margin-top:10px;font-size:19px}.hud-bottom{position:absolute;bottom:28px;left:30px;right:30px;align-items:end}.hud-bottom strong{font-size:19px}.flow-wrap{width:38%;max-width:420px;font-size:10px;letter-spacing:2px}.flow-wrap>div{display:flex;justify-content:space-between;margin-bottom:8px}meter{display:block;width:100%;height:12px;border:0}meter::-webkit-meter-bar{background:#1a314b;border:1px solid #6c9caf55;border-radius:3px}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#77d6ff,#b4ffcc)}#feedback{position:absolute;top:22%;left:0;right:0;text-align:center;color:#c4ffdd;font-weight:700;letter-spacing:2px;font-size:15px}#guide{position:absolute;bottom:100px;left:15%;right:15%;text-align:center;font-size:13px;color:#d4e9f8}#fullscreen{position:absolute;bottom:12px;right:12px;background:#0e1d3388;padding:3px 10px;font-size:21px;min-height:36px}#hud:not([hidden])~#fullscreen{bottom:95px}#performance{position:absolute;left:15px;bottom:8px;font-size:9px;color:#7894b2;pointer-events:none}.below-track{display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:1px;color:#a1bbd6}.below-track span{font-size:11px;letter-spacing:0;color:#6f89a5}.below-track a{margin-left:auto;font-size:11px;letter-spacing:0}#status{font-size:12px;color:#a9ebc0}.compact{justify-content:center;background:#060e2099;backdrop-filter:blur(7px)}.panel{width:430px;max-width:100%;background:#0b172beb;padding:32px;border:1px solid #6a8ca755;border-radius:14px;text-align:center}.panel h2{font-size:30px;margin:18px 0}.panel p{font-size:13px;line-height:1.7;color:#a8bed5}.panel>button:not(.primary){background:none;border:0}.result-score{font-size:58px;color:#b4ffcc;font-variant-numeric:tabular-nums}#result-breakdown{font-size:12px;line-height:1.8;color:#bdd1e6}dialog{background:#0c192d;color:#dce9f7;border:1px solid #6587a9;border-radius:16px;width:460px;max-width:94vw;max-height:90dvh;padding:28px}dialog::backdrop{background:#030a1bc9;backdrop-filter:blur(6px)}dialog h2{margin:0 0 24px}dialog h3{font-size:14px;margin-top:24px}dialog label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;margin:20px 0}dialog input[type=range]{width:50%}dialog select{max-width:60%;padding:8px;border:1px solid #55738e;background:#182a40;color:#dbefff;border-radius:6px}dialog .check{justify-content:flex-start}dialog p{font-size:12px;line-height:1.7;color:#9eb6d0}.close{float:right;font-size:24px;background:none;border:0;padding:0;min-width:44px;position:relative;top:-13px;right:-13px}.import-label input{max-width:230px;font-size:11px}#records div{border-bottom:1px solid #2d435b;padding:10px 0;font-size:13px}#records small{display:block;color:#a4b7ca;margin-top:5px}#touch-controls{position:absolute;bottom:90px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}#touch-controls button{pointer-events:auto;background:#142e429c;font-size:10px;letter-spacing:1px;border-color:#99e7c980}#touch-boost.ready{background:#b4ffcc;color:#092931}#viewport:fullscreen{width:100vw;height:100dvh;max-height:none;border-radius:0;border:0}[hidden]{display:none!important}@media(pointer:fine){#touch-controls{display:none}}@media(pointer:coarse){.control-legend{display:none}.touch-hint{display:block;color:#a6bfd6;font-size:11px}}@media(min-width:2300px){#viewport{max-height:1300px}}@media(max-width:700px){.dash-header{height:54px;padding:0 18px}.brand{font-size:16px}.dash-header nav{gap:12px}.dash-header nav a:not(:first-child),.dash-header nav button span{display:none}main{padding:8px}#viewport{height:calc(100dvh - 98px);min-height:440px;border-radius:10px}.below-track{font-size:8px;gap:8px}.below-track span{display:none}.below-track a{font-size:9px}.overlay{padding:20px;background:linear-gradient(90deg,#071329ed,#08142988)}.menu-card{width:380px}h1{font-size:72px;letter-spacing:-4px;margin:20px 0}.tagline{font-size:18px}.intro{font-size:12px;line-height:1.6;max-width:300px}.mode-grid{margin-top:18px}.world-caption{display:none}.control-legend{gap:8px;font-size:9px}.mode-grid strong{font-size:12px}#hud{padding:18px 15px}.hud-top strong{font-size:23px}.hud-top>div{min-width:80px}#health{font-size:14px;letter-spacing:2px}.hud-top small{font-size:8px}.hud-bottom{left:18px;right:18px;bottom:28px}.flow-wrap{width:46%;font-size:8px}.hud-bottom strong{font-size:14px}#guide{font-size:11px;bottom:153px;left:12%;right:12%}.panel{padding:22px}.panel h2{font-size:26px}.result-score{font-size:44px}#feedback{top:26%;font-size:12px}}@media(max-height:650px) and (min-width:700px){#viewport{height:calc(100dvh - 100px);min-height:340px}.dash-header{height:48px}main{padding-top:8px}.menu-card{width:470px}h1{font-size:65px;float:left;margin:16px 22px 8px 0}.tagline{font-size:15px;margin:20px 0 8px}.intro{font-size:12px}.mode-grid{clear:both;margin:12px 0 8px}.control-legend,.world-caption{display:none}.primary{padding:12px}.menu-links{margin-top:0}#seed-label{margin:0}.hud-bottom{bottom:24px}.panel{padding:18px}.panel h2{margin:8px}.panel p{margin:8px}.result-score{font-size:36px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#viewport.overdrive{border-color:#86f2c4}#viewport.overdrive .vignette{box-shadow:inset 0 0 85px #35ffc224}
@media(max-height:500px) and (min-width:700px){#viewport{min-height:260px;height:calc(100dvh - 90px)}.overlay{padding:12px 28px}.menu-card{width:510px;padding:0}h1{font-size:52px;margin:10px 20px 8px 0;letter-spacing:-3px}.eyebrow{font-size:8px}.tagline{font-size:15px;margin:12px 0 8px}.intro{font-size:11px;line-height:1.5;margin:6px 0}.mode-grid{margin:10px 0 6px}.mode-grid button{padding:8px 4px}.mode-grid small{font-size:9px}.primary{margin:8px 0;padding:12px}.menu-links{gap:16px;margin:0}.menu-links button{font-size:10px;min-height:32px}.touch-hint,#seed-label{display:none}.below-track{margin:8px 0}.hud-top strong{font-size:22px}.hud-top small{font-size:8px}.hud-bottom{bottom:22px}.hud-bottom strong{font-size:15px}#hud{padding:12px 22px}#guide{bottom:75px;font-size:11px}#touch-controls{left:12px;right:12px;bottom:74px}#feedback{top:25%}.panel{padding:15px 25px}.panel .eyebrow{font-size:8px}.panel h2{font-size:22px;margin:5px}.panel p{font-size:11px;margin:5px}.panel .result-score{font-size:32px}#result-breakdown{font-size:10px}.panel>button:not(.primary){min-height:30px;padding:5px}.panel .primary{min-height:40px;padding:10px}}
main{max-width:none}@media(min-width:2300px){.menu-card{width:520px}#hud{padding-left:4vw;padding-right:4vw}.hud-bottom{left:4vw;right:4vw}}

@media(pointer:coarse){#hud:not([hidden])~#fullscreen{display:none}}

/* Compact, interactive telemetry; simulation units stay metres/second. */
#speedometer{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);pointer-events:auto;min-width:112px;min-height:66px;padding:8px 16px 11px;border:1px solid #91edff66;background:#09192cce;border-radius:12px;overflow:hidden;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 5px 18px #0003}
#speedometer strong{font-size:29px;line-height:1.15;font-weight:750;letter-spacing:-1px}#speedometer span{font-size:10px;letter-spacing:1px;margin-left:7px;color:#adc7df}#speedometer::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:100%;background:#91edff;transform:scaleX(var(--speed-ratio,.49));transform-origin:left;transition:transform .1s linear}.overdrive #speedometer{border-color:#b4ffcc;color:#b4ffcc}.overdrive #speedometer::after{background:#b4ffcc}
.hud-top #pb{font-size:13px;font-weight:700;letter-spacing:.5px;color:#c5d9ee}.hud-top #record-badge{font-size:9px;letter-spacing:1.5px;color:#b4ffcc;line-height:1.4}.record-pulse{animation:record-pulse 1.7s ease-out}@keyframes record-pulse{0%,30%{color:#b4ffcc;text-shadow:0 0 15px #b4ffcc99}100%{color:#c5d9ee}}#guide{bottom:158px}
@media(max-width:700px){#speedometer{min-width:94px;min-height:61px;bottom:84px;padding:7px 8px 10px}#speedometer strong{font-size:25px}#speedometer span{font-size:9px;margin-left:4px}.hud-top #pb{font-size:11px}.hud-top #record-badge{font-size:8px;letter-spacing:.5px}#guide{bottom:166px}}
@media(max-height:500px) and (min-width:700px){#speedometer{left:auto;right:170px;top:14px;bottom:auto;transform:none;min-width:96px;min-height:52px;padding:4px 10px 7px}#speedometer strong{font-size:23px}#guide{bottom:129px;font-size:10px}#feedback{top:34%;font-size:11px}}
@media(prefers-reduced-motion:reduce){.record-pulse{animation:none!important;color:#b4ffcc!important}}
