:root{color-scheme:dark;--lime:#d7fa52;--muted:#8f99a6}*{box-sizing:border-box}body{margin:0;background:#10151c;color:#f6f6ee;font-family:'Space Mono',monospace}main{max-width:1160px;margin:auto;padding:30px 36px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #30363d;padding-bottom:24px}.brand{text-decoration:none;color:#fff;font:800 26px 'Barlow Condensed',sans-serif;letter-spacing:1px;display:flex;align-items:center;gap:3px}.brand>span:not(.brand-icon){color:var(--lime)}.brand-icon{font-size:34px;color:var(--lime);margin-right:9px}.brand small{font:9px 'Space Mono',monospace;color:var(--muted);letter-spacing:2px;margin-left:24px}button{font:700 11px 'Space Mono',monospace;cursor:pointer;color:#fff;background:#202832;border:1px solid #3c4653;padding:12px 16px;border-radius:4px}button:hover{border-color:var(--lime);color:var(--lime)}button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.heading{display:flex;justify-content:space-between;align-items:center;padding:30px 0 27px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--lime)}h1{font:800 48px/1 'Barlow Condensed',sans-serif;margin:12px 0 0}h1 span,h2 span{color:var(--lime)}.heading>p{font-size:11px;color:var(--muted);line-height:1.9}.cabinet{border:1px solid #414b57;border-radius:9px;overflow:hidden;box-shadow:0 20px 70px #0005}.dashboard{background:#1a222c;display:flex;align-items:center;justify-content:space-between;padding:17px 26px}.dashboard>div{color:var(--muted);font-size:9px;letter-spacing:2px}.dashboard strong{display:block;font:700 30px 'Barlow Condensed',sans-serif;color:#fff;letter-spacing:1px;margin-top:3px}.dashboard>div:first-child strong{color:var(--lime)}strong small{font:11px 'Space Mono',monospace;color:var(--muted)}#pause{font-size:20px;padding:7px 13px}.screen{position:relative;aspect-ratio:16/9;background:#63c8d9;overflow:hidden}canvas{width:100%;height:100%;display:block}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0000000c 3px 4px)}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0c172bea,#0c172b77 60%,#0c172b11);display:flex;align-items:center;padding:6%}.start-card h2{font:900 clamp(32px,5.6vw,68px)/.93 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:20px 0}.start-card>p:not(.eyebrow){font-size:11px;line-height:1.9;color:#d1dae3}.start{background:var(--lime);border:0;color:#151a20;width:285px;max-width:100%;padding:18px;margin:13px 0 18px;display:flex;justify-content:space-between}.start:hover{background:#ebff9e;color:#151a20}.start-card>small{display:block;font-size:9px;letter-spacing:1px;color:#bac4cf}#toast{position:absolute;top:15%;left:0;right:0;text-align:center;color:#fff;font:800 38px 'Barlow Condensed',sans-serif;text-shadow:3px 3px #132036;pointer-events:none}.track-strip{display:flex;align-items:center;gap:25px;background:#1a222c;padding:14px 25px;font-size:9px;letter-spacing:1px;color:#abb6c4}.track-strip i{display:inline-block;background:var(--lime);width:6px;height:6px;border-radius:50%;margin-right:7px}.progress{height:3px;flex:1;background:#35404c}.progress b{display:block;height:100%;background:var(--lime);width:0}.controls{display:flex;align-items:center;gap:24px;padding:25px 0}.controls>div{display:flex;align-items:center;gap:5px}kbd{font:12px 'Space Mono',monospace;border:1px solid #45505d;box-shadow:0 2px #303943;border-radius:3px;padding:4px 7px;color:#dce2e7}.controls span{font-size:9px;color:#9ba6b4;margin-left:5px}.controls p{font-size:9px;color:#687585;margin-left:auto}footer{border-top:1px solid #30363d;display:flex;justify-content:space-between;padding-top:22px;font-size:8px;color:#74808f;letter-spacing:1px}.touch-controls{display:none;gap:10px;padding-bottom:20px}.touch-controls button{touch-action:none;user-select:none;flex:1;padding:18px 8px}.gas{background:var(--lime);color:#111}.touch-controls button:active{background:#758f21}@media(max-width:760px){main{padding:18px 14px}.brand small,.heading>p,.controls p{display:none}.heading{padding:22px 0}h1{font-size:38px}.dashboard{padding:12px}.dashboard strong{font-size:24px}.dashboard>div{font-size:8px;letter-spacing:1px}.controls{gap:12px;flex-wrap:wrap;padding:18px 0}.controls span{font-size:8px}.touch-controls{display:flex}.track-strip{padding:12px;gap:12px;font-size:7px}footer{line-height:1.8;gap:20px;font-size:7px}.start-card h2{margin:9px 0;font-size:36px}.start-card .eyebrow{font-size:7px}.start-card>p:not(.eyebrow){font-size:9px}.start{padding:12px;margin:8px 0;font-size:9px;width:240px}.start-card>small{font-size:7px}.screen{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){.scanlines{display:none}}

.gear-button{padding:6px 12px;min-width:65px;border-color:#687e36;background:#d7fa520c;text-align:left}.gear-button>span{font-size:8px;color:var(--muted);letter-spacing:1px}.dashboard .gear-button strong{color:var(--lime)}@media(max-width:480px){.dashboard{padding:8px;gap:6px}.dashboard strong{font-size:20px}.dashboard strong small{font-size:8px}.gear-button{padding:6px;min-width:46px}.dashboard>div{font-size:7px}.controls{gap:9px}}

.audio-controls{display:flex;gap:8px}@media(max-width:480px){.audio-controls{gap:4px}.audio-controls button{font-size:8px;padding:10px 7px}.brand{font-size:21px}}

#lights-warning{position:absolute;bottom:18%;left:50%;transform:translateX(-50%);background:#10151ce8;border:1px solid #d7fa52;color:#d7fa52;padding:12px 18px;text-align:center;font-size:clamp(10px,1.5vw,15px);white-space:nowrap;pointer-events:none}#lights-warning[hidden]{display:none}#lights-warning small{display:block;color:#d7dddf;font-size:9px;margin-top:5px}

.controls{flex-wrap:wrap}.controls #camera{font-size:9px}

#engine-warning{position:absolute;top:8%;left:50%;transform:translateX(-50%);padding:10px 14px;background:#301912e8;color:#ffd1a6;border:1px solid #ff7948;font-size:clamp(9px,1.3vw,14px);white-space:nowrap;pointer-events:none}#engine-warning[hidden]{display:none}

.race-timing{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:12px 26px;background:#121b24;border-top:1px solid #35404c;color:#92a0af;font-size:9px;letter-spacing:1px}.race-timing strong{display:block;margin-top:5px;color:#edf1ec;font-size:14px;letter-spacing:0;font-variant-numeric:tabular-nums}.race-timing>div:first-child strong{color:var(--lime)}.race-timing small{font-size:7px;color:#70808e}@media(max-width:600px){.race-timing{padding:10px;gap:6px;font-size:7px;letter-spacing:0}.race-timing strong{font-size:10px}.race-timing small{display:none}}

.race-setup{display:flex;align-items:center;gap:14px;padding:0 0 18px;font-size:10px;color:#aebbc6}.race-setup select{padding:10px;background:#1a222c;color:#edf1ec;border:1px solid #455360;border-radius:4px;max-width:100%;font:inherit}.race-setup span{margin-left:auto;font-size:8px;color:#8997a5}.race-setup select:disabled{opacity:.6}@media(max-width:600px){.race-setup{flex-wrap:wrap}.race-setup span{display:none}.track-strip{flex-wrap:wrap;gap:10px}.track-strip .progress{min-width:60px}}

.game-menu{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#08101de8;padding:4%;overflow:auto}.game-menu[hidden],#pit-service[hidden]{display:none}.menu-card{width:min(510px,100%);max-height:100%;overflow:auto;padding:20px 26px;border:1px solid #4d5d6a;background:linear-gradient(140deg,#23313d,#101820);border-radius:8px}.menu-card h2{font:800 34px 'Barlow Condensed',sans-serif;margin:4px 0 16px}.menu-card p{font-size:10px;color:#aebdca;line-height:1.8}.menu-card .start{width:100%;margin-bottom:8px}.option-row{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-size:10px}.option-row select{width:100%;padding:10px;background:#0d1721;color:#edf1ec;border:1px solid #526675;border-radius:4px;font:inherit}.option-row>span{display:none}.option-row small{color:#8fa4b5;font-size:9px;line-height:1.6}.option-buttons{display:flex;gap:8px;flex-wrap:wrap}.option-buttons button{font-size:9px}.secondary-menu{display:block;margin-bottom:14px;min-width:160px}#menu-button{position:absolute;right:12px;top:10px;z-index:4;font-size:9px;background:#101b27bb;padding:8px}#pit-service{position:absolute;top:10%;left:50%;transform:translateX(-50%);width:250px;padding:15px;text-align:center;background:#101d29e8;border:1px solid #d7fa52;pointer-events:none;font-size:12px}#pit-service>div{height:5px;background:#40515d;margin:10px 0}#service-progress{display:block;height:100%;background:#d7fa52}#pit-service small{font-size:9px;color:#c6d3dd}@media(max-width:600px){.menu-card{padding:12px 16px}.menu-card h2{font-size:24px}.option-row{margin:8px 0}.menu-help{font-size:8px!important}.option-buttons button{padding:8px}.start-card .secondary-menu{padding:8px;margin-bottom:8px}.screen:has(.game-menu:not([hidden])){min-height:440px}}

#skid-warning{position:absolute;top:23%;left:50%;transform:translateX(-50%);background:#261a0dd9;border:1px solid #ffc66c;color:#ffdda0;padding:7px 12px;font-size:10px;pointer-events:none;white-space:nowrap}#skid-warning[hidden]{display:none}

.damage-meter{height:5px;max-width:110px;margin-top:6px;background:#34424e;border-radius:3px;overflow:hidden}.damage-meter b{display:block;width:0;height:100%;background:#d7fa52;transition:width .2s,background-color .2s}.car-condition strong{color:#d7fa52}

.game-menu button:focus,.game-menu select:focus,#overlay button:focus{outline:2px solid #d7fa52;outline-offset:3px;border-color:#d7fa52;box-shadow:0 0 16px #d7fa5222}.menu-nav{color:#d7fa52!important;font-size:9px!important}

#draft-indicator{position:absolute;top:7%;left:20px;border-left:3px solid #a1e9de;background:#0c252dcc;color:#b8fff1;padding:7px 12px;font-size:10px;letter-spacing:2px;pointer-events:none}#draft-indicator[hidden]{display:none}

#pit-approach{position:absolute;top:30%;left:50%;transform:translateX(-50%);padding:10px 16px;background:#153438e8;color:#e5ffa5;border:1px solid #b9d88a;border-radius:4px;font-size:clamp(8px,1.1vw,12px);text-align:center;white-space:nowrap;pointer-events:none}#pit-approach[hidden]{display:none}

#tire-status{font:inherit;color:#d7fa52;padding:5px 8px;white-space:nowrap;border-color:#62703b;background:#d7fa520a}

#fullscreen{position:absolute;left:12px;top:10px;z-index:4;font-size:9px;padding:8px;background:#101b27bb}
html:fullscreen{background:#10151c;overflow:auto}
html:fullscreen body main{max-width:none;min-width:0;width:min(100%,calc((100dvh - 200px)*1.7778));padding:8px;margin:auto}
html:fullscreen header,html:fullscreen .heading,html:fullscreen footer{display:none}
html:fullscreen .screen{aspect-ratio:16/9;min-height:0}
html:fullscreen .controls{padding:8px 0;gap:12px;flex-wrap:wrap}
html:fullscreen .controls p{display:none}
html:fullscreen .dashboard{padding:8px 18px}
html:fullscreen .track-strip{padding:9px 16px}
html:fullscreen .start-card h2{font-size:clamp(28px,5vw,56px);margin:8px 0}
html:fullscreen .start-card>p:not(.eyebrow){font-size:10px;line-height:1.45}
html:fullscreen .start{padding:12px;margin:8px 0}

/* Fit the exported game into the itch.io viewport, including fullscreen. */
body.itch-game{overflow:auto}
.itch-game main{max-width:1200px;width:min(100%,calc((100dvh - 200px)*1.7778));min-width:0;padding:8px;margin:auto}
.itch-game header,.itch-game .heading,.itch-game footer{display:none}
.itch-game .dashboard{padding:8px 18px}
.itch-game .dashboard strong{font-size:26px}
.itch-game .screen{aspect-ratio:16/9}
.itch-game .controls{padding:8px 0;gap:12px;flex-wrap:wrap}
.itch-game .controls p{display:none}
.itch-game .track-strip{padding:9px 16px}
.itch-game .start-card h2{font-size:clamp(28px,5vw,56px);margin:8px 0}
.itch-game .start-card>p:not(.eyebrow){font-size:10px;line-height:1.45}
.itch-game .start{padding:12px;margin:8px 0}
@media(max-width:600px){.itch-game main{min-width:0;width:100%}.itch-game .screen{min-height:330px}.itch-game .touch-controls{display:flex}}
