:root{color-scheme:dark;--white:#f1f4f6;--muted:#8193a6;--acid:#70ff10;--green:#30ff10;--red:#ff2516;font-family:Arial,Helvetica,sans-serif;background:#080e19;color:var(--white);--mono:Menlo,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:hover{filter:brightness(1.2)}button:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:4px}[hidden]{display:none!important}#race-shell{width:100%;height:100svh;min-height:580px;position:relative;isolation:isolate;overflow:hidden}#race-canvas{position:absolute;inset:0;width:100%;height:100%;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#040810c0,transparent 24%,transparent 70%,#040810e6),radial-gradient(ellipse at 50% 55%,transparent 42%,#04081066);z-index:1}.in-hangar .vignette{background:linear-gradient(90deg,#050a11f7 0%,#050a11eb 25%,#050a118c 46%,#050a1105 75%),linear-gradient(0deg,#050a11eb,transparent 19%)}
.topbar{height:92px;position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 42px;z-index:5;border-bottom:1px solid #29324280}.wordmark{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:2px}.wordmark svg{width:28px;fill:none;stroke:var(--acid);stroke-width:1.3}.wordmark small{display:block;font:8px var(--mono);letter-spacing:2px;margin-top:5px;color:#b6c4cb}.league-label{font:9px var(--mono);letter-spacing:2px;color:#a9b6c6}.league-label b{margin:0 16px;color:#4e5e70}.toolbar{display:flex;gap:10px;align-items:center}.toolbar button{height:31px;background:#0d152080;border:1px solid #3e4b5c70;padding:0 10px;display:flex;gap:8px;align-items:center;font:9px var(--mono);letter-spacing:1px}.toolbar svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.2;fill:none}.toolbar i{width:4px;height:4px;border-radius:50%;background:var(--acid);box-shadow:0 0 7px var(--acid)}
.hangar{position:absolute;inset:92px 0 0;z-index:3;padding:32px 0 55px 6vw;display:flex;align-items:center}.hangar-copy{width:min(440px,45vw)}.eyebrow{font:9px var(--mono);letter-spacing:2px;color:#b4c3cf}.eyebrow>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--acid);margin-right:9px;box-shadow:0 0 8px #aaff4060}h1{font-size:clamp(50px,5.8vw,90px);font-style:italic;font-weight:900;letter-spacing:-5px;line-height:.87;margin:25px 0 17px}h1>span{display:block;font-size:1.65em;letter-spacing:-9px;color:var(--acid)}.title-cross{font-size:.37em;vertical-align:20%;margin-left:10px;display:inline-block;color:var(--white);font-style:normal;letter-spacing:0}.tagline{font-size:14px;letter-spacing:.2px;color:#bac5d2;margin:0 0 26px}.track-chip{display:flex;align-items:center;gap:14px;border-block:1px solid #3a4655;padding:14px 0}.track-number{font:italic 32px var(--mono);font-weight:700;color:#93a3b5}.track-chip div{flex:1}.track-chip div>span{font:8px var(--mono);letter-spacing:1.7px;color:var(--muted)}.track-chip strong{display:block;font-size:17px;letter-spacing:.7px;margin-top:4px}.track-chip svg{width:26px;fill:none;stroke:var(--acid);stroke-width:1.4}.race-spec{display:flex;align-items:center;gap:18px;font:8px var(--mono);letter-spacing:1px;color:#b2c0d1;margin:14px 0 24px}.race-spec b{color:var(--white);font-size:13px;margin-right:3px}.race-class{color:var(--acid);margin-left:auto;font-size:7px}.selection-label{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.4px;color:#a4b3c6;margin-bottom:10px}.selection-label span:last-child{color:var(--green);font-size:7px}.ship-picker{display:flex;gap:7px}.ship-choice{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:65px;background:#101a2980;border:1px solid #3a4756;color:#a9b7c5;transition:background .2s,border .2s}.ship-choice svg{width:35px;height:30px;fill:none;stroke:currentColor;stroke-width:1}.ship-choice span{font-size:12px;font-weight:800;letter-spacing:1px;text-align:left}.ship-choice small{display:block;font:7px var(--mono);letter-spacing:1px;color:#8493a5;margin-top:5px}.ship-choice.selected{color:var(--craft);background:color-mix(in srgb,var(--craft) 8%,#0a1220);border-color:color-mix(in srgb,var(--craft) 75%,#0a1220)}.craft-stats{display:flex;gap:16px;margin:13px 0 25px}.craft-stats>div{flex:1}.craft-stats span{font:7px var(--mono);color:#8292a6;letter-spacing:1.2px}.craft-stats i{display:block;height:3px;background:#344355;margin-top:7px}.craft-stats b{display:block;height:100%;width:80%;background:var(--green);transition:width .2s}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;height:53px;padding:0 22px;background:var(--acid);color:#0b151a;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));font-size:12px;font-weight:800;letter-spacing:1.5px}.primary>span:last-child{font-size:25px;font-weight:400}.start-note{margin-top:12px;display:flex;justify-content:space-between;align-items:center;font:7px var(--mono);color:#778a9d;letter-spacing:1.4px}.start-note button{padding:0;background:none;font:8px var(--mono);color:#b9c7d5;letter-spacing:1px}.start-note button span{margin-left:10px;color:var(--acid);font-size:14px}.craft-callout{position:absolute;right:7vw;bottom:18%;display:flex;gap:15px;align-items:center}.callout-line{width:75px;height:1px;background:#7f9aad;position:relative;transform:rotate(-30deg);transform-origin:right}.callout-line:before{content:'';position:absolute;left:0;top:-2px;width:5px;height:5px;background:var(--green)}.craft-callout div>span{font:8px var(--mono);letter-spacing:2px;color:#9aafbd}.craft-callout strong{display:block;font:italic 34px Arial,sans-serif;font-weight:800;letter-spacing:2px;margin:4px 0;color:var(--green)}.craft-callout small{font:7px var(--mono);letter-spacing:1.2px;color:#8ca5b7}.hangar-footer{position:absolute;bottom:23px;left:42px;right:42px;display:flex;justify-content:space-between;font:7px var(--mono);color:#7e91a9;letter-spacing:1.7px}.hangar-footer a{color:#cad6dd}.hangar-footer a span{color:var(--acid);margin-left:8px}
.hud{position:absolute;inset:92px 0 0;z-index:2;pointer-events:none}.hud-top{display:flex;justify-content:space-between;align-items:start;margin:34px 42px}.hud-top>div>span,.speed-label,.weapon-block>span,.map-block>div>span{display:block;font:9px var(--mono);letter-spacing:2px;color:#b1c1d3}.position strong{display:block;font-size:62px;font-weight:800;letter-spacing:-4px;font-style:italic;line-height:1.15}.position strong small,.lap-block strong small{font:14px var(--mono);letter-spacing:1px;color:#7f92a7;margin-left:5px}.position-ticks{display:flex;gap:3px;margin-top:4px}.position-ticks i{display:block;width:13px;height:3px;background:#3d4c5c;transform:skew(-20deg)}.position-ticks i.on{background:var(--acid)}.lap-block{text-align:center}.lap-block span i{font-style:normal;color:#677e92;margin:0 8px}.lap-block strong{display:block;font:italic 42px var(--mono);letter-spacing:-2px;line-height:1.5}.timing{text-align:right}.timing>strong{font:24px var(--mono);letter-spacing:-1px;display:block;margin:13px 0}.timing>div{font:8px var(--mono);letter-spacing:1px;color:#8a9cae}.timing b{color:#d9e6ef;font-weight:400;margin-left:14px}.hud-bottom{position:absolute;bottom:65px;left:42px;right:42px;display:flex;align-items:end;justify-content:space-between}.speed-block{width:240px}.speed-label{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px}.speed-label span{font-size:7px;color:var(--green)}.speed-block>div:nth-child(2){display:flex;align-items:baseline;gap:8px}.speed-block>div:nth-child(2)>strong{font:italic 84px var(--mono);letter-spacing:-7px;line-height:1.15}.speed-block>div:nth-child(2)>span{font:9px var(--mono);letter-spacing:2px;color:#91a6b9}.speed-meter{height:4px;background:#344252;margin:6px 0 19px;transform:skew(-20deg)}.speed-meter b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--acid));box-shadow:0 0 9px #84ff9630}.weapon-block{text-align:center;width:180px;border-top:1px solid #566276;padding-top:13px;background:linear-gradient(180deg,#14203560,transparent);clip-path:polygon(12% 0,88% 0,100% 30%,100% 100%,0 100%,0 30%)}.weapon-block>span{font-size:7px;letter-spacing:1.5px}.weapon-block svg{display:block;margin:10px auto 7px;width:37px;height:37px;fill:none;stroke:var(--red);stroke-width:1.2;filter:drop-shadow(0 0 5px #ff251630)}.weapon-block>strong{display:block;font-size:13px;letter-spacing:2px}.weapon-block>small{display:block;font:7px var(--mono);letter-spacing:1px;color:#9badbe;margin-top:7px}.map-block{width:180px}.map-block>div:first-child{display:flex;justify-content:space-between;align-items:center}.map-block>div>span{font-size:7px;letter-spacing:1.3px}.map-block button{pointer-events:auto;width:29px;height:25px;background:#172237a0;border:1px solid #59677980;font-size:13px}.map-block svg{height:130px;width:180px;display:block;margin:7px 0 3px;overflow:visible}.map-block path{fill:none;stroke:#8da6b3;stroke-width:1.4}.map-block circle{fill:var(--red)}.map-block #map-player{fill:var(--acid);stroke:#d8ff9c;stroke-width:1.2;filter:drop-shadow(0 0 4px #bcff70)}.race-progress{height:2px;background:#435066}.race-progress b{height:100%;width:0;display:block;background:var(--acid)}.map-caption{display:block;text-align:right;font:7px var(--mono);letter-spacing:1.5px;color:#b5c5d5;margin-top:9px}.drive-hints{position:absolute;bottom:21px;left:42px;right:42px;display:flex;justify-content:center;gap:25px;font:7px var(--mono);letter-spacing:1px;color:#8094a9}.countdown{position:absolute;top:35%;left:0;right:0;text-align:center;font:italic 140px Arial,sans-serif;font-weight:900;text-shadow:0 0 25px #92ffca44;color:var(--acid);letter-spacing:-9px}.countdown:empty{display:none}
.modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:420px;padding:34px;background:#080f1cf2;border:1px solid #4d6174;box-shadow:0 20px 100px #000b}.modal-panel h2,dialog h2{font-size:36px;font-style:italic;letter-spacing:-1px;line-height:1;margin:20px 0}.modal-panel>p,dialog>p{font-size:12px;line-height:1.7;color:#adbdce;margin-bottom:25px}.secondary{width:100%;height:43px;margin-top:10px;background:#1b293b;border:1px solid #40526b;font-size:10px;font-weight:700;letter-spacing:1px}.text-button{display:block;background:none;color:#9bacbe;font:8px var(--mono);letter-spacing:1px;margin:20px auto 0}.result-rank{display:flex;align-items:center;gap:15px;border-block:1px solid #3d4a5c;padding:15px 0;margin:20px 0}.result-rank strong{font:italic 65px var(--mono);line-height:1;color:var(--acid);letter-spacing:-6px}.result-rank span{font:8px var(--mono);line-height:1.8;letter-spacing:2px;color:#b8c9d9}.result-time{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font:8px var(--mono);letter-spacing:1px;color:#879ab0}.result-time strong{color:var(--white);font-size:20px}.result-laps{display:flex;gap:15px;font:8px var(--mono);line-height:2;color:#8fa3b9}.result-laps b{display:block;color:var(--white);font-size:11px;font-weight:400}.modal-panel #result-record{font:8px var(--mono);color:var(--acid);letter-spacing:1px;min-height:12px;margin:19px 0 23px}.loading{position:absolute;bottom:30px;right:42px;z-index:7;font:9px var(--mono);letter-spacing:2px;color:var(--acid)}.loading span{display:inline-block;width:6px;height:6px;background:var(--acid);margin-right:9px;animation:pulse .6s infinite alternate}@keyframes pulse{to{opacity:.2}}
dialog{width:min(480px,calc(100vw - 28px));max-height:90svh;overflow:auto;background:#0b1421;border:1px solid #4a5f77;color:var(--white);padding:32px}dialog::backdrop{background:#030810aa;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:13px;top:10px;background:none;color:#9aaec4;font-size:25px}.controls-list{margin:0 0 25px}.controls-list>div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2e3d50;padding:10px 0}.controls-list dt{font-size:11px;color:#b7c7d8}.controls-list dd{margin:0;font-size:9px;color:#9aaac0}.controls-list kbd{font:9px var(--mono);border:1px solid #4b5d72;padding:3px 5px;margin-left:4px;background:#19253a}.pad-key p{font-size:10px;line-height:1.6;color:#9caec4}.pad-key i{display:inline-block;width:5px;height:5px;margin-right:8px;transform:rotate(45deg)}.pad-key .green{background:var(--acid)}.pad-key .magenta{background:var(--red)}.pad-key strong{font-size:9px;color:var(--white);letter-spacing:1px;margin-right:5px}.fine-print{font:9px/1.8 var(--mono)!important;color:#859ab1!important;letter-spacing:.1px}.fine-print a{color:var(--acid)}.colour-options{display:flex;gap:5px;margin:24px 0}.colour-options button{flex:1;padding:13px 3px;font:9px var(--mono);border:1px solid #405169;background:#182439}.colour-options button.active{color:var(--acid);border-color:var(--acid);background:#193025}.colour-options button:disabled{opacity:.3;cursor:not-allowed}.range-label{display:flex;justify-content:space-between;font-size:11px;color:#b5c9d7;margin-bottom:13px}input[type=range]{width:100%;accent-color:var(--acid);margin-bottom:18px}.touch-controls{position:absolute;z-index:4;bottom:14px;left:15px;right:15px;display:none;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:7px;align-items:end}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;width:49px;height:48px;background:#152439aa;color:#bcd6e9;border:1px solid #5c7d94;font-size:23px;border-radius:3px}.touch-controls button.active{background:#225242;color:var(--acid);border-color:var(--acid)}.touch-controls .touch-thrust{height:65px;color:var(--acid);border-color:#a1d663}
.soundtrack{position:absolute;z-index:5;bottom:17px;left:42px;display:flex;align-items:center;gap:10px;padding:4px 0;background:none;color:#aebfcd;text-align:left;font:8px var(--mono);letter-spacing:1.1px}.soundtrack small{display:block;color:#6e859c;font-size:6px;letter-spacing:1px;margin-top:5px}.music-meter{display:flex;align-items:end;height:18px;gap:3px}.music-meter b{display:block;width:2px;height:5px;background:#577089}.music-meter b:nth-child(2){height:11px}.music-meter b:nth-child(3){height:8px}.soundtrack.playing .music-meter b{background:var(--acid);transform:scaleY(calc(.35 + var(--pulse,0)*.65));transform-origin:bottom}.soundtrack.playing small{color:var(--green)}.music-settings{margin-left:8px;color:#6e859c;font-size:14px}.hangar-footer{justify-content:flex-end;gap:50px}.track-credit{display:flex;gap:16px;font:8px var(--mono);letter-spacing:1px;color:var(--green);margin-bottom:23px}.track-credit span:last-child{color:#8da2b6;font-size:7px}.audio-levels{margin-top:28px}.audio-levels input{margin-bottom:24px}.audio-levels input:last-child{margin-bottom:0}
@media(max-width:1000px){.soundtrack{left:26px}.drive-hints{justify-content:flex-end}.drive-hints span:nth-child(-n+2){display:none}}
@media(max-width:700px){.soundtrack{left:22px;bottom:14px;font-size:6px;gap:7px}.soundtrack small{font-size:5px;letter-spacing:.5px}.music-meter{height:14px}.music-settings{display:none}.in-hangar .hangar-footer{font-size:5px;right:22px;left:auto;max-width:140px}.in-hangar .soundtrack{max-width:180px}body:not(.in-hangar) .soundtrack{bottom:85px;left:18px}.track-credit{gap:10px;font-size:7px}.track-credit span:last-child{font-size:6px}}
@supports(color:color(display-p3 1 0 0)){:root{--acid:color(display-p3 .15 1 0);--green:color(display-p3 0 1 0);--red:color(display-p3 1 0 0)}}
@media(min-height:950px){.hangar-copy{width:480px}h1{font-size:88px}.tagline{margin-bottom:34px}.craft-stats{margin-bottom:32px}.primary{height:59px}.hud-bottom{bottom:80px}}
@media(max-height:730px) and (min-width:801px){.topbar{height:72px}.hangar,.hud{top:72px}.hangar{padding-top:13px;padding-bottom:46px}h1{font-size:57px;margin:18px 0 11px}.tagline{margin-bottom:16px}.track-chip{padding:10px 0}.race-spec{margin:10px 0 18px}.craft-stats{margin:9px 0 16px}.ship-choice{height:52px}.primary{height:45px}.hangar-footer{bottom:15px}.hud-top{margin-top:22px}.hud-bottom{bottom:52px}.drive-hints{bottom:15px}}
@media(max-width:1000px){.topbar{padding-inline:26px}.league-label{display:none}.hangar{padding-left:5vw}.hangar-copy{width:410px;max-width:51vw}h1{font-size:59px}.craft-callout{right:4vw}.hangar-footer{left:26px;right:26px;font-size:6px;letter-spacing:1px}.hud-top{margin-inline:26px}.hud-bottom{left:26px;right:26px}.speed-block{width:200px}.speed-block>div:nth-child(2)>strong{font-size:70px}.drive-hints{gap:14px}}
@media(max-width:700px){#race-shell{min-height:640px}.topbar{height:66px;padding:0 17px}.wordmark{font-size:13px;letter-spacing:1.5px;gap:5px}.wordmark svg{width:22px}.wordmark small{font-size:6px;letter-spacing:1px}.toolbar{gap:5px}.toolbar button{padding-inline:7px;height:28px;font-size:7px;gap:5px}.toolbar #sound-label{display:none}.hangar,.hud{top:66px}.hangar{padding:22px 22px 45px;align-items:start}.hangar-copy{max-width:none;width:100%}.in-hangar .vignette{background:linear-gradient(90deg,#050a11eb,#050a11a0 80%),linear-gradient(0deg,#050a11ee,transparent 40%)}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:clamp(47px,10vw,65px);letter-spacing:-3px;margin:20px 0 13px}h1>span{font-size:1.55em;letter-spacing:-6px}.tagline{font-size:11px;margin-bottom:22px}.track-chip{padding:11px 0}.track-chip strong{font-size:15px}.track-number{font-size:28px}.race-spec{margin:12px 0 23px;gap:14px}.race-class{font-size:6px}.selection-label{font-size:7px;letter-spacing:.8px}.selection-label span:last-child{font-size:6px}.ship-choice{height:58px;gap:3px}.ship-choice svg{width:29px}.ship-choice span{font-size:10px}.ship-choice small{font-size:6px}.craft-stats{margin:12px 0 21px}.primary{height:48px;font-size:11px}.craft-callout{display:none}.hangar-footer{left:22px;right:22px;bottom:15px;gap:10px;font-size:5px;letter-spacing:.5px}.hangar-footer>span:last-child{display:none}.hud-top{margin:24px 18px}.position strong{font-size:43px;letter-spacing:-3px}.position strong small,.lap-block strong small{font-size:10px}.hud-top>div>span{font-size:6px;letter-spacing:1px}.lap-block>span{font-size:5px}.lap-block>span i{margin:0 3px}.lap-block strong{font-size:27px}.timing>strong{font-size:15px;margin:12px 0}.timing>div{font-size:5px}.timing b{margin-left:5px}.position-ticks i{width:8px;height:2px}.hud-bottom{left:18px;right:18px;bottom:106px;gap:14px}.speed-block{width:140px}.speed-label{font-size:6px}.speed-label span{font-size:5px}.speed-block>div:nth-child(2)>strong{font-size:49px;letter-spacing:-4px}.speed-block>div:nth-child(2)>span{font-size:6px;letter-spacing:1px}.speed-meter{height:3px;margin:7px 0 13px}.weapon-block{width:105px}.weapon-block>span{font-size:5px;letter-spacing:.8px}.weapon-block svg{width:29px;height:29px;margin:8px auto}.weapon-block>strong{font-size:9px;letter-spacing:1px}.weapon-block>small{font-size:5px}.map-block{position:absolute;right:0;bottom:138px;width:100px;opacity:.85}.map-block svg{width:100px;height:76px}.map-block>div>span{font-size:5px;letter-spacing:.5px}.map-block button{width:25px;height:23px}.map-caption{font-size:5px}.drive-hints{display:none}.touch-controls{display:flex}.countdown{top:34%;font-size:100px}.modal-panel{width:calc(100vw - 38px);max-width:400px;padding:27px}.modal-panel h2{font-size:31px}.loading{right:22px;bottom:50px;font-size:7px}dialog{padding:25px}.controls-list dt{font-size:10px}.controls-list kbd{padding:3px;font-size:8px}}
@media(max-width:700px) and (max-height:730px){.hangar{padding-top:16px}h1{font-size:45px;margin:17px 0 10px}.tagline{margin-bottom:17px}.race-spec{margin-bottom:17px}.craft-stats{margin-bottom:17px}.ship-choice{height:53px}.primary{height:44px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.turbo-vision{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;background:radial-gradient(ellipse at 50% 43%,transparent 48%,#19ff0012 72%,#ff170040 100%);mix-blend-mode:screen}.in-hangar .turbo-vision{display:none}
#music-title{font-weight:400}#audio-title{white-space:pre-line}.pad-key .cyan{background:var(--green)}

/* During a race, leave the view to telemetry and compact controls. */
body:not(.in-hangar) .wordmark,body:not(.in-hangar) .league-label,body:not(.in-hangar) #signal-button{display:none}
body:not(.in-hangar) .topbar{height:44px;justify-content:flex-end;padding:0 24px;border:0;pointer-events:none}
body:not(.in-hangar) .toolbar{pointer-events:auto}
body:not(.in-hangar) .soundtrack{top:7px;right:137px;left:auto;bottom:auto;width:32px;height:31px;padding:6px;justify-content:center;gap:0}
body:not(.in-hangar) .soundtrack>span,body:not(.in-hangar) .soundtrack .music-meter{display:none}
body:not(.in-hangar) .soundtrack::before{content:"⚙";font:18px Arial,sans-serif;color:#b1c1d3}
body:not(.in-hangar) .hud{top:24px}
body:not(.in-hangar) .hud-bottom{bottom:28px}
@media(max-width:720px){
  body:not(.in-hangar) .topbar{padding:0 14px}
  body:not(.in-hangar) .soundtrack{right:127px}
  body:not(.in-hangar) .hud{top:30px}
  body:not(.in-hangar) .hud-bottom{bottom:112px}
}

/* Event feedback stays beside the telemetry it changes. */
.hud-feedback{display:block;min-height:14px;font:9px var(--mono);letter-spacing:1px;color:var(--acid);text-shadow:0 1px 5px #000;margin:5px 0;white-space:nowrap}
.hud-feedback[data-tone=hit]{color:#ff7659}.hud-feedback[data-tone=action]{color:#ffcc78}
[data-feedback=hit]{color:#ff7659!important;filter:drop-shadow(0 0 6px #ff533c70)}
[data-feedback=good]{filter:drop-shadow(0 0 5px #adff4c60)}
[data-feedback=action]{filter:drop-shadow(0 0 5px #ffb14260)}
#hud-zone{display:block;font:9px var(--mono);letter-spacing:1.5px;color:#b4d5e4}
.weapon-block>.hud-feedback{font-size:8px;color:var(--acid);margin-top:8px}
.weapon-block>.hud-feedback[data-tone=hit]{color:#ff7659}
.position-ticks{gap:2px}.position-ticks i{width:9px}
@media(max-width:700px){.hud-feedback{font-size:6px;letter-spacing:.3px;min-height:9px;margin:4px 0}.weapon-block>.hud-feedback{font-size:5px}#hud-zone{font-size:6px;letter-spacing:.5px}.position-ticks i{width:5px}}

/* Countdown clock and time awards stay together in the HUD. */
.timing>strong{font:italic 44px var(--mono);letter-spacing:-2px;margin:5px 0;color:var(--acid);font-variant-numeric:tabular-nums}
#hud-checkpoint{display:block;font:8px var(--mono);letter-spacing:1px;color:#bed8d0;margin:4px 0 10px}
.timing.low>strong{color:#ff7659;text-shadow:0 0 14px #ff533c70}.timing.urgent>strong{animation:clock-warning .65s ease-in-out infinite alternate}
@keyframes clock-warning{to{opacity:.55}}
#map-checkpoints rect{fill:var(--acid);stroke:#101c22;stroke-width:1}
@media(max-width:700px){.timing>strong{font-size:30px;letter-spacing:-1px;margin:6px 0}#hud-checkpoint{font-size:5px;letter-spacing:.2px;margin-bottom:7px}}

.weapon-reserve{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:9px 8px 0;pointer-events:auto}.weapon-reserve button{padding:5px 1px;background:#142333d9;border:1px solid #4b6578;font:6px var(--mono);color:#b1c8d7;cursor:pointer}.weapon-reserve b{display:block;font-size:11px;margin-top:3px;font-weight:400}.weapon-reserve button[aria-pressed=true]{border-color:var(--red);color:var(--red);background:#39223aca}.weapon-reserve button:disabled{opacity:.3;cursor:default}.weapon-reserve button:focus-visible{outline-offset:1px}.weapon-block>small#weapon-hint{font-size:6px;letter-spacing:.3px}
@media(max-width:700px){.weapon-reserve{grid-template-columns:repeat(3,1fr);margin-inline:0;gap:3px}.weapon-reserve button{font-size:6px;padding:4px 1px;min-height:29px}.weapon-reserve b{font-size:9px;margin-top:2px}.weapon-block>small#weapon-hint{font-size:5px;letter-spacing:0}}

.ship-status{display:flex;gap:10px;flex-wrap:wrap;font:9px var(--mono);letter-spacing:.7px;margin-top:8px}.ship-status #protection-status{color:var(--green);text-shadow:0 0 8px #30ff1070}.ship-status #slow-status{color:#ff7659}.pad-key .rainbow{background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f)}
.turbo-vision.super{background:conic-gradient(from 25deg at 50% 43%,#ff000020,#ffff0020,#00ff0020,#00ffff20,#0000ff20,#ff00ff20,#ff000020);mask-image:radial-gradient(ellipse at 50% 43%,transparent 49%,#000 100%)}
@media(max-width:700px){.ship-status{font-size:6px;gap:6px;letter-spacing:.2px}}

.in-hangar{--acid:var(--hangar-accent,color(display-p3 0 1 0));--green:var(--hangar-accent,color(display-p3 0 1 0))}
.in-hangar .vignette::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 58%,var(--hangar-glow,transparent),transparent 62%)}
.in-hangar .eyebrow>span{box-shadow:0 0 8px var(--hangar-accent)}
.in-hangar[data-craft="vector"] .primary{color:#f4f0ff}
.modal-panel .primary:focus-visible,dialog .primary:focus-visible{outline:2px solid var(--white);outline-offset:-5px}

.pad-key .green{background:color(display-p3 0 1 0)}.pad-key .orange{background:color(display-p3 1 .55 0)}.pad-key .yellow{background:color(display-p3 1 .9 0)}

.pad-key .red{background:color(display-p3 1 0 .2)}

.track-chip .circuit-picker{display:flex;gap:5px}.circuit-picker button{width:34px;height:34px;background:#132435;border:1px solid #6a8093;color:var(--white);font:18px var(--mono)}.circuit-picker button:disabled{opacity:.25;cursor:default}.circuit-picker button:not(:disabled){border-color:var(--acid)}
@media(max-width:700px){.circuit-picker button{width:32px;height:32px}}

/* Keep the essential keys in view before entering the grid. */
.attract-controls{position:absolute;left:max(calc(50% - 80px),calc(6vw + min(440px,45vw) + 28px));top:44%;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;gap:24px;width:290px;padding:18px 20px;text-align:center;text-shadow:0 2px 8px #000,0 0 18px #000}
.attract-controls strong{display:block;font:700 11px var(--mono);letter-spacing:1.2px;color:var(--white)}
.arrow-keyboard{display:grid;grid-template-columns:repeat(3,34px);gap:5px;margin:12px 0 9px}
.attract-controls kbd{display:flex;align-items:center;justify-content:center;height:34px;background:#162738;border:1px solid #8ba5b8;border-bottom-width:3px;border-radius:4px;font:22px var(--mono);color:var(--white)}
.arrow-keyboard .key-up{grid-column:2}.arrow-keyboard kbd:nth-child(2){grid-column:1}
.arrow-control>span{display:block;font:8px/1.8 var(--mono);letter-spacing:.2px;color:#c6d5df;white-space:nowrap}
.fire-control{flex:1}.fire-control kbd{min-width:96px;height:42px;font-size:15px;letter-spacing:1.5px;border-color:var(--acid);margin-bottom:13px}
@media(min-width:701px) and (max-width:1000px){.attract-controls{left:calc(5vw + min(410px,51vw) + 20px);width:260px;gap:14px;padding-inline:14px}}
@media(max-width:700px){.attract-controls{position:static;transform:none;width:100%;justify-content:center;gap:30px;padding:10px 16px;margin:0 0 19px}.arrow-keyboard{grid-template-columns:repeat(3,28px);gap:4px;margin:8px 0 5px}.attract-controls kbd{height:28px;font-size:19px}.attract-controls strong{font-size:10px}.arrow-control>span{font-size:7px;line-height:1.6}.fire-control{flex:0}.fire-control kbd{height:36px;min-width:100px;font-size:13px;margin-bottom:10px}}
@media(max-width:700px) and (max-height:730px){.hangar{padding-top:12px}.hangar h1{font-size:39px;margin:12px 0 8px}.hangar .tagline{margin-bottom:12px}.attract-controls{margin-bottom:12px;padding-block:8px}.hangar .race-spec{margin-block:8px 12px}.hangar .craft-stats{margin-block:8px 12px}.hangar .ship-choice{height:45px}}

#race-shell:fullscreen,#race-shell:fullscreen *{cursor:none!important}
#race-shell:-webkit-full-screen,#race-shell:-webkit-full-screen *{cursor:none!important}
body.immersive,body.immersive *,body.fullscreen-active,body.fullscreen-active *{cursor:none!important}
#impact-vision{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 58%,#ffffffdd,#ffdfef88 28%,#b197ff33 70%,transparent);mix-blend-mode:screen}
