html,body{color:#e8edf3;background:#0a0c12;height:100%;margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#game{display:block;position:fixed;inset:0}#menu{pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#menu .card{pointer-events:auto;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);background:linear-gradient(#340c54e6,#0a0a28f0);border:1px solid #ff6ad5;border-left-width:6px;border-radius:4px;width:min(680px,92vw);max-height:92vh;padding:28px 36px;overflow:auto;box-shadow:0 30px 80px #0009}#menu .card.wide{width:min(900px,94vw)}#menu .card.map{width:min(820px,94vw)}h1,h2{text-transform:uppercase;font-family:Arial Black,Impact,Segoe UI,sans-serif;font-style:italic}h1{letter-spacing:2px;color:#fff;text-shadow:4px 4px #ff2fa8;margin:0 0 6px;font-size:54px}h2{color:#fff;text-shadow:3px 3px #ff2fa8;margin:0 0 10px;font-size:28px}h3{margin:0 0 6px}p{margin:6px 0;line-height:1.4}.sub{color:#b8c4d2}.controls,.hint{color:#9fb0c3;font-size:14px}.kicker{text-transform:uppercase;letter-spacing:2px;color:#9fe8ff;font-size:12px;font-weight:600}.seed code{background:#ffffff14;border-radius:6px;padding:2px 6px}.btns{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}button{font:inherit;color:#fff;cursor:pointer;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:#19e6ff1a;border:2px solid #19e6ff;border-radius:2px;padding:12px 24px;font-weight:700}button.selected,button:hover{background:#ff2fa847;border-color:#ff2fa8;box-shadow:0 0 0 3px #ff2fa859}button:focus-visible{outline-offset:-6px;outline:3px solid #fff}.carname{align-items:center;gap:10px;margin-bottom:14px;font-size:22px;font-weight:700;display:flex}.swatch{border:1px solid #0006;border-radius:6px;width:22px;height:22px;display:inline-block}.car-reveal-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:18px;display:grid}.car-model-frame{min-width:0;margin:0}.car-model-frame canvas{background:radial-gradient(circle,#ff2fa833,#0a0a28b8 70%);border:1px solid #19e6ffa6;width:100%;height:auto;display:block}.car-model-frame figcaption{color:#9fe8ff;letter-spacing:1px;text-align:center;text-transform:uppercase;margin-top:6px;font-size:12px;font-weight:700}@media (max-width:600px){.car-reveal-layout{grid-template-columns:1fr}.car-model-frame{width:min(240px,100%);margin:0 auto}}.stats{gap:8px;display:grid}.stat{grid-template-columns:90px 1fr 50px;grid-template-areas:"k bar v""blurb blurb blurb";align-items:center;gap:2px 10px;display:grid}.stat .k{text-transform:capitalize;color:#b8c4d2;grid-area:k}.stat .bar{background:#ffffff1a;border-radius:5px;grid-area:bar;height:10px;overflow:hidden}.stat .bar i{background:linear-gradient(90deg,#5ec8f2,#6ee7a8);height:100%;display:block}.stat .v{text-align:right;font-variant-numeric:tabular-nums;grid-area:v}.stat .blurb{color:#8a9bb0;grid-area:blurb;font-size:12px}.maprow{grid-template-columns:1fr 260px;gap:24px;display:grid}ol.events{gap:4px;margin:0;padding:0;list-style:none;display:grid}ol.events li{background:#ffffff0a;border-radius:8px;grid-template-columns:28px 1fr auto;grid-template-areas:"idx name type""idx mods mods";gap:0 10px;padding:6px 10px;font-size:14px;display:grid}ol.events li .idx{color:#9fb0c3;grid-area:idx}ol.events li .name{grid-area:name;font-weight:600}ol.events li .type{color:#b8c4d2;grid-area:type}ol.events li .mods{color:#ffb347;grid-area:mods;font-size:12px}ol.events li.done{opacity:.45}ol.events li.current{background:#19e6ff29;outline:1px solid #19e6ff}.side .perks{color:#6ee7a8}.modline{gap:8px;display:flex}.mod{color:#ffb347;background:#ffb3472e;border-radius:999px;padding:2px 10px;font-size:13px}.objective{font-size:18px}.card.won h2{color:#6ee7a8}.card.failed h2{color:#ff7b72}.score{font-size:22px;font-weight:700}.detail{color:#b8c4d2}.rewards{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}button.reward{text-align:left;border-color:var(--rc);background:#ffffff0a;align-content:start;gap:8px;min-height:170px;padding:18px;display:grid}button.reward.selected,button.reward:hover{background:color-mix(in srgb, var(--rc) 18%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--rc) 40%, transparent)}button.reward .rarity{text-transform:uppercase;letter-spacing:2px;color:var(--rc);font-size:11px}button.reward .rname{font-size:19px}button.reward .rdesc{color:#b8c4d2;font-size:14px;font-weight:400}ul.results{gap:3px;margin:10px 0;padding:0;font-size:14px;list-style:none;display:grid}ul.results li{background:#ffffff0a;border-radius:6px;justify-content:space-between;padding:4px 8px;display:flex}ul.results li.won span:first-child:before{content:"✓ ";color:#6ee7a8}ul.results li.failed span:first-child:before{content:"✗ ";color:#ff7b72}#menu .card.paused{text-align:center;width:min(460px,92vw)}#menu .card.paused .btns{justify-content:center}.stat .bar b.ref{background:#ffd166;width:2px;position:absolute;top:-3px;bottom:-3px;left:50%}.stat .v small{color:#8a9bb0;margin-left:4px;font-size:11px}table.derived{border-collapse:collapse;width:100%;margin:10px 0 4px;font-size:13px}table.derived th{text-align:left;color:#8a9bb0;padding:2px 6px;font-weight:500}table.derived td{border-top:1px solid #ffffff12;padding:3px 6px}table.derived td.v,table.derived td.ref{font-variant-numeric:tabular-nums;font-weight:400}table.derived td.ref,table.derived td.dep{color:#9fb0c3}table.derived td.win strong{color:#fff;font-weight:700}table.derived td.win strong:after{content:" ▲";color:#6ee7a8;font-size:10px}button.reward .rfx{color:#ffd166;font-size:12px;font-weight:400}body.hide-cursor,body.hide-cursor *{cursor:none!important}details.runlog{text-align:left;margin:10px 0}details.runlog summary{cursor:pointer;color:#9fb0c3;font-size:14px}#menu .card.map{width:min(1100px,96vw);padding:20px 24px}.maphead{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.maphead h2{margin:0}.map .maprow{grid-template-columns:1fr 230px;align-items:start;gap:16px}.mapscroll{overscroll-behavior:contain;background:linear-gradient(#ff2fa814,#19e6ff0f);border:1px solid #19e6ff4d;border-radius:4px;max-height:min(74vh,1000px);overflow:hidden auto}.mapscroll .mapsvg{background:0 0;border:0;width:100%;height:auto;display:block}.side.compact{font-size:14px}.side.compact h3{margin-top:0}.side.compact .stats{gap:5px;margin:0 0 1em}.side.compact .stat{grid-template-columns:50px 1fr 30px;gap:0 8px;font-size:13px}.mapsvg{background:linear-gradient(#ff2fa814,#19e6ff0f);border:1px solid #19e6ff4d;border-radius:4px;width:100%;height:auto;display:block}.mapsvg.compact{max-width:300px}.mapsvg .edge{stroke:#ffffff1f;stroke-width:1.5px}.mapsvg .edge.far{stroke:#ffffff14}.mapsvg .edge.open{stroke:#19e6ff;stroke-width:3px}.mapsvg .edge.travelled{stroke:#ffd166;stroke-width:3px}.mapsvg .node circle{fill:#1a0b33;stroke-width:2px}.mapsvg .node text{fill:#fff;pointer-events:none;font-size:15px}.mapsvg.compact .node text{font-size:10px}.mapsvg .node .ring{stroke-width:2.5px}.mapsvg .node .hit{fill:#0000;stroke:none}.mapsvg .node text.lbl{fill:#9fe8ff;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.mapsvg .node.hard text.lbl{fill:#ff9ee8}.mapsvg .node.locked .ring{fill:#120a26;stroke-opacity:.55}.mapsvg .node.locked text.glyph{fill:#c9d4e6}.mapsvg .node.locked text.lbl{fill:#8fa6c0}.mapsvg .node.inspect .ring{stroke:#fff;stroke-opacity:1}.mapsvg .edge.future{stroke:#ffffff38;stroke-width:2px}.mapsvg .edge.cut{stroke:#ffffff1a;stroke-dasharray:3 5}.mapsvg .node.cut{opacity:.5}.mapsvg .node.cut .ring{stroke-dasharray:4 3}.mapsvg .node.done circle:not(.hit){fill:#ffd166;stroke:#ffd166}.mapsvg .node.done text.glyph{fill:#1a0b33}.mapsvg .node.current circle:not(.hit){fill:#ffd166;stroke:#fff;stroke-width:3px}.mapsvg .node.current text.glyph{fill:#1a0b33}.mapsvg .node.open{cursor:pointer;outline:none}.mapsvg .node.open circle{stroke-width:3px;animation:1.2s ease-in-out infinite pulse}.mapsvg .node.open .hit{fill:#19e6ff1a;stroke:#19e6ff66;stroke-width:1.5px;animation:none}.mapsvg .node.open:hover .hit,.mapsvg .node.open:focus .hit,.mapsvg .node.open.selected .hit{fill:#ff2fa838;stroke:#ff2fa8;stroke-width:2px}.mapsvg .node.open.selected circle:not(.hit),.mapsvg .node.open:focus circle:not(.hit){fill:#19e6ff;animation:none}.mapsvg .node.open.selected text,.mapsvg .node.open:focus text{fill:#1a0b33}.mapsvg .node.open.selected text.lbl{fill:#fff}.mapsvg .node.final circle{stroke:#ff2fa8;stroke-width:3px}.mapsvg text.stage{fill:#9fb0c3;font-size:14px;font-weight:600}.mapsvg.compact text.stage{font-size:9px}.mapsvg text.stage.focus{fill:#fff;font-size:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.mapsvg .node.open circle{animation:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card.map{position:relative}.maptip{color:#dbe8ff;pointer-events:none;z-index:2;background:#0a0a28f5;border:1px solid #19e6ff;border-left:4px solid #ff2fa8;flex-direction:column;gap:2px;max-width:270px;padding:8px 12px;font-size:13px;display:none;position:fixed}.maptip.on{display:flex}.maptip b{color:#fff;font-size:15px}.maptip em{color:#ff9ee8;font-style:normal}.hint.boss{color:#ff9ee8}.rewardmap{grid-template-columns:1fr 300px;align-items:start;gap:14px;margin-top:14px;display:grid}ul.nextlist{color:#b8c4d2;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}ul.nextlist li{background:#19e6ff14;border-left:3px solid #19e6ff;border-radius:2px;padding:6px 8px}.courses{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}button.course{text-align:left;align-items:center;gap:10px;padding:10px 14px;display:flex}button.course span{color:#9fe8ff;min-width:140px;font-size:13px;font-weight:600}#menu .card.title{box-sizing:border-box;width:min(640px,92vw)}.drive-guide{grid-template-columns:126px 1fr;align-items:center;gap:10px 20px;margin:18px 0 12px;display:grid}.keyset-stage{width:126px;height:84px;position:relative}.keyset{grid-template:repeat(2,36px)/repeat(3,36px);justify-content:center;gap:6px;display:grid;position:absolute;inset:0}.keyset.wasd{opacity:0}.keyset .up{grid-area:1/2}.keyset .left{grid-area:2/1}.keyset .down{grid-area:2/2}.keyset .right{grid-area:2/3}.key{box-sizing:border-box;color:#fff;background:linear-gradient(#361c58fa,#0f0e2afa);border:1px solid #19e6ffb8;border-bottom:3px solid #19e6ff7a;border-radius:6px;place-items:center;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1;display:grid;box-shadow:0 6px 14px #00000057}.drive-cues{color:#d0dbee;gap:8px;font-size:13px;display:grid}.drive-cues b{color:#9fe8ff;min-width:86px;font-size:12px;font-weight:700;display:inline-block}.handbrake{color:#b8c4d2;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.handbrake .space{letter-spacing:.1em;text-transform:uppercase;width:132px;height:30px;font-size:11px}.shortcut-cues{color:#b8c4d2;justify-content:center;gap:18px;margin:8px 0;font-size:12px;display:flex}.shortcut-cues span,.sound-head span{align-items:center;gap:6px;display:inline-flex}.shortcut-cues kbd,.sound-head kbd{color:#fff;background:#19e6ff14;border:1px solid #19e6ff73;border-bottom-width:2px;border-radius:4px;padding:3px 6px;font-family:inherit;font-size:11px}@media (prefers-reduced-motion:no-preference){.keyset.arrows{animation:8s ease-in-out infinite arrows-cycle}.keyset.wasd{animation:8s ease-in-out infinite wasd-cycle}}@media (prefers-reduced-motion:reduce){.keyset.wasd{display:none}}@keyframes arrows-cycle{0%,42%,to{opacity:1}50%,92%{opacity:0}}@keyframes wasd-cycle{0%,42%,to{opacity:0}50%,92%{opacity:1}}.sound-settings{z-index:20;right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));color:#e8edf3;pointer-events:auto;position:fixed}.sound-settings[hidden],.sound-popover[hidden]{display:none}button.sound-trigger{clip-path:none;background:#0a0a28eb;border-radius:8px;place-items:center;width:48px;height:48px;padding:0;display:grid;box-shadow:0 8px 24px #0000006b}button.sound-trigger:focus-visible{outline-offset:3px}.sound-trigger svg{display:block}.sound-trigger .mute-slash{stroke:#ff6ad5;stroke-width:2.4px;display:none}.sound-settings.all-muted .sound-trigger .mute-slash{display:block}.sound-settings.all-muted .sound-trigger .sound-waves{opacity:.25}.sound-popover{box-sizing:border-box;background:linear-gradient(#340c54fa,#0a0a28fa);border:1px solid #19e6ffb3;border-radius:8px;width:min(280px,100vw - 28px);max-height:calc(100vh - 96px);padding:16px;position:absolute;bottom:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 16px 42px #00000094}.sound-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sound-popover h2{color:#fff;letter-spacing:.14em;text-shadow:none;margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-style:normal}.sound-head span{color:#b8c4d2;white-space:nowrap;font-size:11px}.audiobar{gap:14px;display:grid}.sound-row{grid-template-columns:52px minmax(0,1fr) 20px;align-items:center;gap:10px;font-size:13px;display:grid}.sound-row label{color:#d0dbee}.sound-row input[type=range]{accent-color:#ff2fa8;width:100%;min-width:0;margin:0}.sound-row input[type=checkbox]{accent-color:#19e6ff;width:16px;height:16px;margin:0}.sound-row input:focus-visible{outline-offset:3px;outline:2px solid #fff}.engine-bus{color:#8fa6c0;text-align:center;font-size:10px}body.hide-cursor .sound-settings{bottom:max(54px, env(safe-area-inset-bottom))}body.hide-cursor .sound-settings,body.hide-cursor .sound-settings *{cursor:auto!important}@media (max-width:520px){#menu .card.title{padding:22px 20px}#menu .card.title h1{font-size:clamp(38px,12vw,50px)}.drive-guide{grid-template-columns:106px 1fr;gap:8px 10px;margin-top:14px}.keyset-stage{width:106px;height:69px}.keyset{grid-template:repeat(2,32px)/repeat(3,32px);gap:5px}.key{font-size:14px}.drive-cues{gap:6px;font-size:12px}.drive-cues b{min-width:72px;font-size:11px}#menu .card.title .btns{gap:10px}#menu .card.title .btns button{padding:12px 16px}}.preview{background:#ffffff0a;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px 20px;margin:6px 0 10px;padding:10px 12px;display:grid}.preview .stats{gap:5px}.preview .stat{grid-template-columns:56px 1fr 170px;grid-template-areas:"k bar v";gap:0 10px;font-size:13px}.preview .stat .bar i{position:absolute;top:0;left:0}.stat .bar i.ghost{background:repeating-linear-gradient(135deg,#6ee7a8 0 3px,#0000 3px 6px);outline:1px solid #6ee7a8}.stat .bar i.ghost.neg{background:repeating-linear-gradient(45deg,#ff9a9a 0 3px,#0000 3px 6px);outline-color:#ff9a9a}.preview .stat .v .to{color:#6ee7a8;font-weight:700}.preview .stat .v .to.neg{color:#ff9a9a}.preview .stat .v .to.tie{color:#b8c4d2;font-weight:400}.preview .stat .v .cap{color:#ffd166;font-size:11px}.preview table.derived{margin:0}.preview .perkline{color:#ffd166;grid-column:1/-1;margin:2px 0 0;font-size:13px}.preview .perkline.reserve{visibility:hidden}.preview .stat .v{white-space:nowrap}button.reward{min-height:96px;padding:12px 14px}@media (prefers-reduced-motion:no-preference){.preview .stat .bar i{transition:width .15s,left .15s}}.laps{font-variant-numeric:tabular-nums;color:#dbe8ff;flex-wrap:wrap;gap:6px 14px;font-size:15px;display:flex}.laps b{color:#19e6ff}#menu .attract{pointer-events:auto;cursor:pointer;text-align:center;background:repeating-linear-gradient(#00000038 0 2px,#0000 2px 4px),radial-gradient(at 50% 42%,#ff2fa82e,#0a0a288c 70%);flex-direction:column;justify-content:center;align-items:center;gap:clamp(24px,6vh,64px);padding:16px;display:flex;position:absolute;inset:0}.attract h1.neon{letter-spacing:.02em;color:#fff;-webkit-text-stroke:2px #ff2fa8;text-shadow:0 0 6px #ff2fa8,0 0 24px #ff2fa8,0 0 64px #ff2fa8b3,.06em .06em #19e6ff;margin:0;font-size:clamp(64px,21vw,240px);line-height:.9;transform:skew(-6deg)}.attract button.press{text-transform:uppercase;letter-spacing:.12em;color:#9fe8ff;text-shadow:0 0 10px #19e6ff;background:#0a0a2899;border-color:#19e6ff;padding:14px 28px;font-family:Arial Black,Impact,Segoe UI,sans-serif;font-size:clamp(18px,3.2vw,34px);box-shadow:0 0 18px #19e6ff73}.attract button.press:hover,.attract button.press.selected{background:#19e6ff24;border-color:#19e6ff;box-shadow:0 0 24px #19e6ff99}.attract-seed{letter-spacing:.2em;text-transform:uppercase;color:#8a9bb0;margin:0;font-size:13px}@media (prefers-reduced-motion:no-preference){.attract button.press{animation:1.8s ease-in-out infinite breathe}.attract h1.neon{animation:.5s cubic-bezier(.2,1.4,.4,1) both neon-in}#menu .card.title.launch{animation:.28s cubic-bezier(.2,1.5,.4,1) both punch-in}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}@keyframes neon-in{0%{opacity:0;transform:skew(-6deg)scale(1.25)}to{opacity:1;transform:skew(-6deg)scale(1)}}@keyframes punch-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.attract.victory h1.neon{font-size:clamp(48px,15vw,190px)}.victory-sub{letter-spacing:.18em;text-transform:uppercase;color:#b8c4d2;margin:0;font-size:clamp(14px,2.4vw,22px)}.attract.victory:not([data-armed]) button.press{opacity:.5}#menu .card.recap h2:focus{outline:none}.recap-tiles{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 6px;display:grid}.recap-tiles .tile{background:#19e6ff14;border:1px solid #19e6ff73;gap:2px;min-width:0;padding:12px;display:grid}.recap-tiles .k{letter-spacing:.12em;text-transform:uppercase;color:#9fb0c3;font-size:12px}.recap-tiles b{color:#fff;text-shadow:2px 2px #ff2fa8;font-family:Arial Black,Impact,Segoe UI,sans-serif;font-size:clamp(20px,3.4vw,30px)}.recap-tiles small{color:#b8c4d2}.recap-h{letter-spacing:.12em;text-transform:uppercase;color:#9fb0c3;margin:14px 0 0;font-size:14px}.card.recap details.runlog summary{padding:13px 0}.card.recap .btns button{min-height:44px}@media (max-width:600px){.recap-tiles{grid-template-columns:repeat(2,1fr)}#menu .card.recap{padding:20px 16px}}.starter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px;display:grid}button.starter{text-align:left;border-color:var(--sc);clip-path:none;flex-direction:column;align-items:stretch;gap:3px;min-width:0;padding:10px 12px 12px;display:flex}button.starter canvas{background:radial-gradient(circle,#ff2fa833,#0a0a28b8 70%);border:1px solid #19e6ff73;width:100%;height:auto;margin-bottom:4px;display:block}button.starter .sname{text-transform:uppercase;color:var(--sc);font-family:Arial Black,Impact,Segoe UI,sans-serif;font-size:20px;font-style:italic}button.starter .stag{color:#9fe8ff;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600}button.starter .pro,button.starter .con{color:#d8e0ea;font-size:12px;font-weight:500;line-height:1.3}button.starter .pro:before{content:"+ ";color:#6ee7a8;font-weight:700}button.starter .con:before{content:"− ";color:#ff6ad5;font-weight:700}button.starter .stats{gap:4px;margin-top:8px;display:grid}button.starter .stat{grid-template-columns:58px 1fr 34px;font-size:12px;font-weight:500}button.starter .stat .bar{height:7px}.starter-preview{margin-top:12px}.starter-preview .kicker{margin-bottom:4px}@media (max-width:760px){.starter-row{grid-template-columns:1fr}button.starter canvas{align-self:center;max-width:180px}}#menu .card.starters{padding:20px 28px 22px}#menu .card.starters h2{margin-bottom:4px}#menu .card.starters>.hint{margin-top:0}.carrow button[aria-checked=true]{background:#6ee7a82e;border-color:#6ee7a8}.stat .bar{position:relative}.stat .bar b.cap100{opacity:.95;background:#ffb347;width:2px;position:absolute;top:-2px;bottom:-2px}.stat.over .v{color:#ffb347}.touch-controls{display:none}@media (pointer:coarse){html,body{overscroll-behavior:none;touch-action:manipulation}#game{touch-action:none}#menu{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}}body.touch-ui #game{touch-action:none}body.touch-ui .touch-controls{z-index:15;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:Arial Black,Impact,Segoe UI,sans-serif;font-style:italic;display:block;position:fixed;inset:0}.touch-controls .pad,.touch-controls .touch-pause{pointer-events:auto;touch-action:none;box-sizing:border-box;color:#ffffffbf;letter-spacing:1px;background:#0a0a2847;border:2px solid #19e6ff8c;border-radius:14px;place-items:center;font-size:15px;display:grid}.touch-controls .pad.held{color:#fff;background:#ff2fa859;border-color:#ff2fa8}.touch-controls .touch-steer,.touch-controls .touch-pedals,.touch-controls .touch-pause{display:none;position:absolute}body.touch-drive .touch-controls .touch-steer,body.touch-drive .touch-controls .touch-pedals,body.touch-drive .touch-controls .touch-pause{display:grid}.touch-controls .touch-steer{left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:92px 92px;gap:10px}.touch-controls .touch-steer .pad{height:110px;font-size:30px}.touch-controls .touch-pedals{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));grid-template:"hand gas"64px"brake gas"64px/84px 92px;gap:10px}.touch-controls .pad.hand{grid-area:hand}.touch-controls .pad.brake{grid-area:brake}.touch-controls .pad.gas{grid-area:gas;font-size:18px}.touch-controls .touch-pause{top:max(10px, env(safe-area-inset-top));clip-path:none;width:52px;height:52px;padding:0;font-size:18px;left:calc(50% - 56px)}.touch-controls .touch-rotate{display:none}@media (orientation:portrait) and (max-width:699px){body.touch-ui.touch-race .touch-controls .touch-rotate{top:max(12px, env(safe-area-inset-top));text-align:center;color:#fff;background:#340c54eb;border:1px solid #ff6ad5;padding:10px 14px;font-size:16px;display:block;position:absolute;left:16px;right:16px}}body.touch-ui.touch-drive .sound-settings{top:max(10px, env(safe-area-inset-top));bottom:auto;left:calc(50% + 4px);right:auto}body:not(.touch-ui) .touch-only,body.touch-ui .kbd-only{display:none}@media (max-width:699px){html body.result-board-on #menu{padding:var(--hud-bottom,16px) 16px calc(34vh + 54px)}html body.result-board-on #menu .card{max-height:100%}html body #result-board{bottom:max(16px, env(safe-area-inset-bottom));width:auto;left:16px;right:72px;max-height:34vh!important;top:auto!important}}@media (min-width:700px){body.touch-ui #result-board{max-height:calc(100vh - var(--hud-bottom,16px) - 100px)!important}}
