@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#e9f2f4;font-synthesis:none;--accent:#56dacf;--muted:#8c9ba4;background:#080e14;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.mono{font-family:IBM Plex Mono,monospace}.hangar{background:radial-gradient(at 72% 48%,#142830 0%,#0a141d 36%,#080e14 70%);grid-template-rows:100px minmax(570px,1fr) 98px;grid-template-columns:36% 64%;min-height:100dvh;display:grid;position:relative;overflow:hidden}.masthead{z-index:2;border-bottom:1px solid #ffffff0d;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 4.5%;display:flex}.wordmark{color:#e9f2f4;letter-spacing:1.8px;align-items:center;gap:11px;font-size:18px;font-weight:750;text-decoration:none;display:flex}.wordmark svg{width:24px;height:30px;fill:var(--accent)}.wordmark-divider{background:#ffffff29;width:1px;height:16px;margin:0 10px}.wordmark-caption{letter-spacing:1.8px;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400}.location{color:#b6c4ca;align-items:center;gap:10px;font-size:12px;display:flex}.location .mono{color:#62777f;margin-left:7px}.status-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.introduction{z-index:1;align-self:center;padding:28px 0 32px 12.5%}.eyebrow{color:var(--accent);letter-spacing:1.5px;align-items:center;gap:13px;margin:0 0 30px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.short-rule{background:var(--accent);width:24px;height:1px}h1{letter-spacing:-1.5px;margin:0;font-family:Barlow Condensed,Impact,Arial Narrow,sans-serif;font-size:clamp(70px,8.4vw,132px);font-weight:600;line-height:.88}h1 span{color:#687e89}.intro-copy{color:#a4b7c0;margin:20px 0 24px;font-size:15px;line-height:1.9}.model-id{color:var(--muted);align-items:center;gap:16px;margin-bottom:21px;font-size:11px;display:flex}.model-id .mono{color:var(--accent);font-size:13px}.specs{border-top:1px solid #ffffff13;max-width:290px;margin:0}.specs div{border-bottom:1px solid #ffffff0a;grid-template-columns:96px 1fr;gap:15px;padding:11px 0;font-size:11px;display:grid}.specs dt{color:#78909c}.thrust-test{max-width:290px;margin-top:16px}.thrust-heading{color:#91a6b0;justify-content:space-between;font-size:11px;display:flex}#thrust-status{color:var(--accent)}.thrust-controls{gap:7px;margin-top:12px;display:flex}.thrust-controls button{color:#a5b6bf;background:#ffffff03;border:1px solid #ffffff1a;border-radius:3px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 5px;font-size:11px;transition:background .16s,border-color .16s;display:flex}.thrust-controls button:hover{background:#ffffff09}.thrust-controls button[aria-pressed=true]{color:#d6fffa;background:#56dacf13;border-color:#56dacf80}.thrust-controls kbd{color:#718690;font-family:IBM Plex Mono,monospace;font-size:10px}.thrust-controls button[aria-pressed=true] kbd{color:var(--accent)}.thrust-hint{color:#78909c;margin:10px 0 0;font-size:10px}.specs dd{color:#bdcbd1;margin:0}.development-note{color:#7d919b;margin:16px 0 0;font-size:11px}.viewport{min-width:0;min-height:0;position:relative}.scene{position:absolute;inset:0}.scene canvas{touch-action:none;width:100%;height:100%;display:block}.scene-label{letter-spacing:1.5px;color:#718690;pointer-events:none;align-items:center;gap:16px;font-family:IBM Plex Mono,monospace;font-size:9px;display:flex;position:absolute;top:32px;right:7%}.scene-label .mono{color:#b4c4c9}.scene-status{color:#8ba1aa;font-size:10px;position:absolute;bottom:38px;right:7%}.scene-status.is-ready:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:8px;display:inline-block}.orbit-hint{color:#91a6b0;pointer-events:none;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:26px;left:10%}.hint-cross{color:#a9bfc8;margin-right:3px;font-size:21px;font-weight:200}.hint-divider{color:#415e6a;margin:0 2px}.toolbar{z-index:2;background:#080e1480;border-top:1px solid #ffffff13;grid-column:1/-1;align-items:center;gap:34px;padding:0 4.5%;display:flex}.toolbar-label{color:#a5b6bf;align-items:center;gap:14px;margin-right:auto;font-size:12px;display:flex}.toolbar-label .mono{color:var(--accent);font-size:10px}.view-controls{gap:5px;display:flex}.view-controls button{color:#a5b6bf;background:0 0;border:1px solid #0000;border-radius:3px;padding:11px 18px;font-size:12px;transition:background .16s,color .16s}.view-controls button:hover{color:#e9f2f4;background:#ffffff07;border-color:#ffffff14}.view-controls button span{color:#718690;padding-left:14px}.effect-controls{border-left:1px solid #ffffff1a;gap:28px;padding-left:34px;display:flex}.toggle{color:#a5b6bf;background:0 0;border:0;align-items:center;gap:13px;padding:9px 0;font-size:12px;display:flex}.toggle-track{background:#23343e;border-radius:12px;width:27px;height:14px;padding:3px;transition:background .16s;display:block}.toggle-track:after{content:"";background:#899da6;border-radius:50%;width:8px;height:8px;transition:transform .16s;display:block}.toggle[aria-pressed=true] .toggle-track{background:#234c4e}.toggle[aria-pressed=true] .toggle-track:after{background:var(--accent);transform:translate(13px)}.scene-error{background:#0f1d26;border:1px solid #39515d;width:min(90%,360px);padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-error h2{font-size:18px}.scene-error p{color:#a5b6bf;font-size:13px;line-height:1.7}.scene-error button{color:#d8f9f4;background:#173c40;border:1px solid #456f75;padding:10px 14px}@media (width>=1500px){.hangar{grid-template-rows:100px minmax(570px,calc(100dvh - 198px)) 98px}}@media (width<=1050px){.hangar{grid-template-rows:80px minmax(530px,calc(100dvh - 166px)) 86px;grid-template-columns:35% 65%}.wordmark-caption,.wordmark-divider{display:none}.introduction{padding-left:12.85%}h1{font-size:9vw}.toolbar{gap:15px}.effect-controls{gap:18px;padding-left:18px}.view-controls button{padding:11px 13px}.orbit-hint{left:4%}}@media (width<=760px){.hangar{grid-template-rows:72px auto minmax(340px,50dvh) auto;grid-template-columns:1fr}.masthead{padding:0 24px}.wordmark{font-size:15px}.location{font-size:11px}.introduction{grid-template-columns:1fr 1fr;column-gap:24px;padding:36px 24px 12px;display:grid}.eyebrow{grid-column:1/-1;margin-bottom:18px;font-size:9px}h1{font-size:69px}.intro-copy{align-self:center;margin:0;font-size:13px}.model-id{margin:22px 0 0}.development-note{align-self:center;margin:22px 0 0;line-height:1.6}.specs{display:none}.viewport{grid-column:1}.scene-label{top:15px;right:24px}.scene-status{bottom:26px;right:24px}.orbit-hint{gap:7px;font-size:10px;bottom:14px;left:24px}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:16px;padding:17px 24px}.toolbar-label{display:none}.effect-controls{border:0;gap:18px;padding:0}.view-controls{gap:0}.view-controls button{padding:9px 12px}}@media (width<=420px){.toolbar{justify-content:center}.effect-controls{border-top:1px solid #ffffff0d;justify-content:center;width:100%;padding-top:10px}.scene-status{bottom:57px}.development-note{font-size:10px}.intro-copy{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}@media (width<=760px){.thrust-test{grid-column:1/-1;max-width:none;margin-top:24px}.thrust-controls,.thrust-heading{max-width:360px}}.primary-action{color:#081a1d;background:var(--accent);border:1px solid var(--accent);justify-content:space-between;align-items:center;gap:30px;min-height:48px;padding:14px 22px;font-size:13px;font-weight:650;display:flex}.hangar-start{width:min(290px,100%);margin-top:18px}.drive-screen{background:#080f19;height:100dvh;min-height:580px;position:relative;overflow:hidden}.race-scene{position:absolute;inset:0}.race-scene canvas{width:100%;height:100%;display:block}.race-header{z-index:4;background:linear-gradient(#080f19db,#0000);justify-content:space-between;align-items:center;gap:20px;padding:26px 3.5%;display:flex;position:absolute;top:0;left:0;right:0}.race-identity{align-items:center;gap:24px;display:flex}.race-brand{letter-spacing:1.8px;font-size:17px;font-weight:750}.race-identity .mono{color:#9eb6c3;font-size:10px}.race-actions{gap:6px;display:flex}.race-actions button{color:#c9dadf;background:#091520a6;border:1px solid #58717d50;padding:10px 13px;font-size:12px}.race-actions button:hover{background:#17303c}.race-actions button[aria-pressed=true]{color:var(--accent);border-color:#56dacf70}.drive-screen kbd{color:#99b8c4;font-family:IBM Plex Mono,monospace;font-size:10px}.race-actions kbd{margin-left:8px}.course-label{pointer-events:none;position:absolute;top:108px;left:3.5%}.course-label p{letter-spacing:1.7px;color:var(--accent);margin:0 0 12px;font-size:9px}.course-label h1{letter-spacing:0;font-size:44px}.course-label h1 span{letter-spacing:0;color:#8fabb8;margin-top:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:400;display:block}.corner-guide{text-align:right;pointer-events:none;gap:9px;display:grid;position:absolute;top:117px;right:3.5%}.corner-guide .mono{color:#8fabb8;letter-spacing:1.4px;font-size:9px}.corner-guide strong{font-size:17px;font-weight:500}.corner-guide span:last-child{color:#8fabb8;font-size:10px}.drive-hud{pointer-events:none;background:linear-gradient(#0000,#080f19e6 40%);grid-template-columns:190px minmax(160px,260px) minmax(160px,230px) 1fr;align-items:center;gap:36px;padding:52px 3.5% 28px;display:grid;position:absolute;bottom:0;left:0;right:0}.hud-label{color:#93adba;letter-spacing:1px;font-size:10px}.speed-readout>div{align-items:baseline;gap:14px;display:flex}.speed-readout strong{font-variant-numeric:tabular-nums;font-family:Barlow Condensed,Impact,sans-serif;font-size:80px;font-weight:600;line-height:1}.speed-readout .mono{color:#93adba;font-size:10px}.hud-pair{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.hud-pair .mono{color:var(--accent);font-size:11px}.hud-label kbd{margin-left:12px}.boost-meter{background:#29414d;height:5px;margin:13px 0 10px;overflow:hidden}.boost-meter>span{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}.boost-meter.is-boosting>span{background:#ffb163}#boost-status{color:#8fabb8;font-size:10px}.boost-stage-meter{background:#29414d;height:2px;margin:-4px 0 9px;overflow:hidden}.boost-stage-meter>span{transform-origin:0;background:#ffb163;height:100%;display:block;transform:scaleX(0)}.boost-meter.is-stage2>span,.boost-stage-meter.is-stage2>span{background:#b9ecff;box-shadow:0 0 10px #b9ecff}.drive-stats{border-left:1px solid #7696a42b;gap:12px;margin:0;padding-left:25px;display:grid}.drive-stats div{justify-content:space-between;gap:16px;display:flex}.drive-stats dt{color:#8fabb8;font-size:10px}.drive-stats dd{margin:0;font-size:11px}.drive-keys{color:#8fabb8;grid-template-columns:repeat(2,max-content);justify-content:end;gap:12px 22px;font-size:10px;display:grid}.drive-keys kbd{text-align:center;color:#b4c9d1;border:1px solid #58717d66;min-width:20px;margin-right:3px;padding:3px 4px;display:inline-block}.race-notice{color:#ffc58e;white-space:nowrap;font-size:13px;position:absolute;bottom:175px;left:50%;transform:translate(-50%)}.drive-overlay{z-index:3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050d17a8;justify-content:center;align-items:safe center;padding:85px 24px 155px;display:flex;position:absolute;inset:0;overflow-y:auto}.drive-dialog{width:min(480px,100%)}.drive-dialog .eyebrow{margin-bottom:22px;font-size:10px}.drive-dialog h2{margin:0 0 22px;font-family:Barlow Condensed,-apple-system,sans-serif;font-size:clamp(31px,4vw,50px);font-weight:600;line-height:1.3}.drive-dialog p{color:#b0c3cf;font-size:13px;line-height:1.9}.drive-dialog .drive-scope{color:#859eac;margin:24px 0;font-size:11px}.drive-dialog .primary-action{width:100%}.drive-dialog .keyboard-note{color:#859eac;margin:17px 0 0;font-size:10px}@media (width<=1050px){.race-identity .mono{display:none}.drive-hud{grid-template-columns:150px 1fr 190px;gap:22px}.drive-keys{grid-column:1/-1;grid-template-columns:repeat(4,max-content);justify-content:start;gap:18px}.speed-readout strong{font-size:68px}.race-notice{bottom:190px}}@media (width<=760px){.hangar-start{grid-column:1/-1;margin-top:18px}.race-header{flex-wrap:wrap;gap:16px;padding:18px 20px}.race-actions{gap:5px;width:100%}.race-actions button{flex:1;padding:10px 6px;font-size:10px}.race-actions kbd{display:none}.course-label{top:125px;left:20px}.course-label h1{font-size:32px}.corner-guide{max-width:155px;top:130px;right:20px}.corner-guide strong{font-size:13px}.corner-guide span:last-child{font-size:9px}.drive-hud{grid-template-columns:120px 1fr;gap:16px;padding:40px 20px 20px}.speed-readout strong{font-size:62px}.speed-readout>div{gap:8px}.drive-stats{border:0;grid-column:1/-1;justify-content:space-between;padding:0;display:flex}.drive-stats div{gap:7px;display:grid}.drive-keys{grid-template-columns:repeat(2,max-content);gap:9px 16px;font-size:9px}.drive-keys kbd{font-size:9px}.drive-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:100px 24px 220px}.drive-dialog h2{font-size:31px}.drive-dialog .drive-scope{margin:18px 0}.race-notice{font-size:11px;bottom:250px}}.height-guide{pointer-events:none;color:#d7dce3;gap:12px;width:190px;display:grid;position:absolute;top:235px;left:3.5%}.height-guide .hud-label{letter-spacing:1px;font-size:9px}.height-current{align-items:baseline;gap:8px;display:flex}.height-current strong{font-family:Barlow Condensed,sans-serif;font-size:42px;font-weight:500;line-height:1}.height-current .mono{color:#8b99a9;font-size:10px}.height-meter{background:#243342;width:7px;height:94px;margin:4px 0 4px 5px;position:relative}.height-meter span{background:#ad4cec70;position:absolute;left:0;right:0}.height-guide[data-kind=descend] .height-meter span{background:#388bee80}.height-meter i{background:#fff;width:17px;height:3px;position:absolute;left:-5px}.height-guide>strong{font-size:12px;font-weight:500}.height-guide>span:last-child{color:#8998a8;font-size:10px}.height-ready>strong{color:var(--accent)}.height-urgent>strong{color:#fdbb75}@media (height<=750px){.height-guide{gap:8px;top:210px}.height-meter{height:58px}}@media (width<=760px){.height-guide{gap:6px;width:180px;top:220px;left:20px}.height-current strong{font-size:32px}.height-meter{height:50px}.height-guide>strong{font-size:11px}}.race-impact{z-index:2;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, #f0f5ff8c, rgba(var(--impact-color,201, 132, 255), .8));position:absolute;inset:0}.difficulty-picker{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 10px;padding:0;display:grid}.difficulty-picker[hidden]{display:none}.difficulty-picker legend{color:#abc0cc;margin-bottom:12px;font-size:12px}.difficulty-picker label{cursor:pointer;position:relative}.difficulty-picker input{opacity:0;position:absolute}.difficulty-picker label>span{color:#abc0cc;border:1px solid #58717d70;gap:6px;padding:14px;font-size:14px;display:grid}.difficulty-picker small{font-size:10px;font-weight:400}.difficulty-picker input:checked+span{border-color:var(--accent);color:var(--accent);background:#17303c}.difficulty-picker input:focus-visible+span{outline-offset:3px;outline:2px solid #fff}.drive-dialog .difficulty-description{color:#9ab0be;margin-bottom:20px;font-size:11px;line-height:1.6}.course-label h1>span>span{margin:0}.height-guide[data-kind=middle] .height-meter span{background:#f8b95290}@media (width<=1050px){.race-header{align-items:flex-start}.race-actions{flex-wrap:wrap;justify-content:flex-end;max-width:420px}.race-identity{flex-direction:column;align-items:flex-start;gap:7px}}@media (width<=760px){.drive-overlay{align-items:safe center;padding:130px 24px 220px;overflow-y:auto}.race-actions button{white-space:nowrap;flex:1 0 auto;padding:8px;font-size:10px}.race-actions{max-width:none}.difficulty-picker label>span{padding:12px 10px}}@media (height<=750px) and (width>=761px){.drive-overlay{padding:150px 24px 40px}}.race-pip-frame{pointer-events:none;color:#c4ece8;background:linear-gradient(#0000 72%,#020406d9);border:1px solid #57d9cc80;align-items:flex-end;padding:9px;font:10px IBM Plex Mono,monospace;display:flex;position:absolute;box-shadow:0 0 0 4px #020406a6,0 8px 28px #0007}.race-pip-frame[hidden]{display:none}@media (width<=600px){.race-pip-frame{padding:6px;font-size:8px}}.drive-screen:has(.race-pip-frame:not([hidden])) .corner-guide{top:415px}@media (width<=600px){.drive-screen:has(.race-pip-frame:not([hidden])) .corner-guide{top:310px}}@media (height<=500px) and (width>=601px){.drive-screen{min-height:0}.race-header{gap:8px;padding:12px 20px}.race-brand{font-size:14px}.race-identity .mono,.race-actions kbd{display:none}.race-actions{flex-wrap:nowrap;max-width:none}.race-actions button{padding:8px 9px;font-size:10px}.course-label{top:60px;left:20px}.course-label h1{font-size:26px}.course-label p,.course-label h1 span{margin:6px 0}.height-guide{gap:5px;width:180px;top:145px;left:20px}.height-current strong{font-size:28px}.height-meter{height:30px;margin:2px 0 2px 5px}.height-guide>span:last-child{display:none}.corner-guide{gap:4px;top:260px}.drive-screen:has(.race-pip-frame:not([hidden])) .corner-guide{gap:4px;top:260px}.corner-guide strong{font-size:13px}.corner-guide span:last-child{display:none}.drive-hud{grid-template-columns:115px minmax(180px,250px) 1fr;gap:20px;padding:20px 20px 12px}.speed-readout strong{font-size:48px}.drive-keys{display:none}.drive-stats{border:0;grid-template-columns:repeat(3,1fr);gap:12px;padding:0}.drive-stats div{gap:5px;display:grid}.race-notice{bottom:100px}.drive-overlay{padding:65px 24px 100px}}.touch-controls{z-index:2;padding:12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;inset:auto 0 0}.touch-controls[hidden]{display:none}.touch-pad{pointer-events:auto;gap:8px;display:grid}.touch-caption{color:#b9cdd4;font-size:9px}.touch-steer-row,.touch-height-row{grid-template-columns:repeat(2,56px);gap:8px;display:grid}.touch-controls button{color:#dbf9f4;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#081b25df;border:1px solid #73b7bb80;border-radius:8px;min-height:48px;font-size:23px;transition:background 80ms,transform 80ms}.touch-controls button.is-held{background:#22666b;border-color:#7bf6e6;transform:translateY(2px)}.touch-controls .touch-brake{color:#ffbd8a;font-size:12px}.touch-controls .touch-boost{color:#b2f7eb;font-family:IBM Plex Mono,monospace;font-size:12px}.touch-boost span{color:#9cbdc5;margin-top:4px;font-family:sans-serif;font-size:9px;display:block}.has-touch-controls .race-scene{touch-action:none}.has-touch-controls .drive-keys,.has-touch-controls .drive-hud kbd{display:none}.has-touch-controls .drive-hud{bottom:126px}.has-touch-controls .race-notice{bottom:255px}@media (width<=760px){.has-touch-controls .drive-hud{grid-template-columns:110px 1fr;gap:12px 16px;padding:22px 20px 12px}.has-touch-controls .speed-readout strong{font-size:52px}.has-touch-controls .drive-stats{grid-template-columns:repeat(3,1fr);gap:12px}}@media (height<=500px) and (width>=601px){.touch-controls{padding-bottom:max(8px, env(safe-area-inset-bottom))}.touch-steer-row,.touch-height-row{grid-template-columns:repeat(2,52px)}.touch-caption{display:none}.has-touch-controls .drive-hud{grid-template-columns:110px 1fr;gap:14px;padding:15px 0 8px;bottom:4px;left:160px;right:160px}.has-touch-controls .speed-readout>div{gap:5px}.has-touch-controls .drive-stats{grid-column:1/-1}.has-touch-controls .race-notice{bottom:130px}}
