@font-face{font-family:system;src:local('Arial')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#10191d;color:#f5f8ed;font:14px Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{color:inherit;cursor:pointer;border:1px solid #ffffff30;background:#172025b8;border-radius:5px;min-height:42px;padding:0 14px;backdrop-filter:none}button:hover{border-color:#d9ff68;background:#28332b}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #d9ff68;outline-offset:3px}button:active,button.pressed{background:#d9ff68;color:#10191d}#game{display:block;width:100%;height:100%;outline:none;touch-action:none}header{position:absolute;left:34px;right:34px;top:max(28px,env(safe-area-inset-top));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.wordmark b{font-size:23px;line-height:.95;letter-spacing:-1.1px;font-style:italic;display:block}.wordmark b span{color:#d9ff68}.wordmark small{display:block;font-size:10px;letter-spacing:1.4px;margin-top:14px;color:#f2f4df}.wordmark i{display:inline-block;width:3px;height:3px;background:#d9ff68;margin:0 7px 2px}.top-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.build{font-size:10px;letter-spacing:1.5px;border:1px solid #ffffff40;padding:9px 12px;border-radius:3px;margin-right:12px}.top-actions button{min-width:42px}#pause{font-size:20px}#help{font-weight:bold}#drift-score{position:absolute;top:34px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 12px #0006}#drift-score small{font-size:11px;letter-spacing:2px}#drift-score strong{display:block;font-size:46px;line-height:1.1;font-weight:800;font-style:italic;letter-spacing:-2px}#drift-score span{font-size:12px;color:#e7eddb}.drifting strong,.drifting span{color:#d9ff68!important}.location{position:absolute;bottom:92px;left:34px;width:206px;pointer-events:none}.location-label{display:flex;gap:10px;align-items:center;margin-bottom:12px}.location-label>span{font-size:28px;color:#d9ff68;font-weight:800;font-style:italic}.location b{display:block;font-size:11px;letter-spacing:.8px}.location small{display:block;font-size:10px;color:#d6dfd6;margin-top:5px}#minimap{width:190px;height:158px;border:1px solid #ffffff30;border-radius:7px;background:#0c181bd4;backdrop-filter:none}.telemetry{position:absolute;right:36px;bottom:104px;width:264px;pointer-events:none;text-shadow:0 2px 15px #0006}.car-label{font-size:12px;letter-spacing:1.4px;font-weight:bold;display:flex;align-items:center;gap:8px}.car-label>span{font-size:10px;color:#d9ff68;border:1px solid #d9ff6870;padding:3px 5px}.car-label small{font-size:9px;color:#c7d1c8;letter-spacing:.7px;margin-left:auto}.speedrow{display:flex;align-items:baseline;gap:16px}.speedrow>b{font-size:25px;border-left:3px solid #d9ff68;padding-left:12px;line-height:1}.speedrow strong{font-size:92px;letter-spacing:-6px;font-weight:800;line-height:1.1;font-style:italic;font-variant-numeric:tabular-nums}.speedrow>span{font-size:10px;color:#d3ddd3}.rpm-track{height:6px;background:#ffffff25;transform:skew(-12deg);overflow:hidden;margin:4px 0 12px}.rpm-track i{height:100%;width:12%;display:block;background:#d9ff68;box-shadow:0 0 16px #d9ff6877}.rpm-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px}footer{position:absolute;left:34px;right:34px;bottom:max(27px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between}.keyhint{font-size:11px;color:#e2e7dd}kbd{font:11px Arial;background:#ffffff12;border:1px solid #ffffff30;padding:5px 7px;border-radius:3px;white-space:nowrap}.keyhint kbd{margin:0 8px 0 18px}.keyhint kbd:first-child{margin-left:0}.bottom-actions{display:flex;gap:8px}.bottom-actions button{font-size:12px}.bottom-actions kbd{margin-right:8px;font-size:10px}#loading{position:absolute;inset:0;background:#10191d;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s}#loading small{font-size:11px;letter-spacing:2px;color:#809083}.brand{font-weight:900;font-size:70px;font-style:italic;letter-spacing:-6px}.brand span{color:#d9ff68}#toast{position:absolute;left:50%;top:26%;transform:translateX(-50%);background:#172025df;padding:12px 20px;border:1px solid #d9ff6844;border-radius:5px;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center}#free-hint{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);background:#10191dd9;padding:12px;border-radius:5px;font-size:12px;max-width:80%;text-align:center}dialog{color:#edf2e4;background:#152126;border:1px solid #82918155;border-radius:14px;width:min(460px,90vw);max-height:90dvh;padding:32px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#07111577;backdrop-filter:none}dialog>small{font-size:10px;color:#d9ff68;letter-spacing:2px}dialog h1{font-size:34px;letter-spacing:-1.3px;margin:20px 0 10px}dialog p{font-size:14px;line-height:1.6;color:#b9c8bf}.close{position:absolute;right:13px;top:12px;background:transparent;border:0;font-size:26px;padding:0;width:35px;min-height:35px}.controls-list{display:grid;grid-template-columns:1fr auto;gap:13px;margin:24px 0;align-items:center;font-size:12px}.controls-list kbd{text-align:center}.settings{border-top:1px solid #ffffff17;padding-top:10px}.settings label{display:flex;align-items:center;justify-content:space-between;margin:14px 0;font-size:13px}.settings input[type=checkbox]{width:19px;height:19px;accent-color:#d9ff68}.settings select{background:#243437;color:#edf2e4;border:1px solid #ffffff30;padding:7px;border-radius:4px}.settings input[type=color]{border:0;background:transparent;width:52px;height:30px}.primary{width:100%;background:#d9ff68;color:#152126;font-weight:bold;margin-top:10px;border:0;min-height:48px}.prototype-note{font-size:11px!important;margin-bottom:0;color:#849b90!important}#touch{display:none} @media(pointer:coarse){#touch{display:flex;position:absolute;bottom:85px;left:22px;right:22px;justify-content:space-between;pointer-events:none}#touch button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;min-height:68px;min-width:65px}.steering,.pedals{display:flex;gap:10px;align-items:flex-end}.steering button{font-size:30px}.pedals button{font-size:10px;font-weight:bold}.pedals .throttle{height:94px;background:#d9ff6833;border-color:#d9ff6888}.pedals .handbrake{min-width:60px;min-height:48px;margin-right:8px}.keyhint{display:none}.location{bottom:200px}.telemetry{bottom:200px}}@media(max-width:700px){header{left:18px;right:18px;top:20px}.wordmark b{font-size:20px}.wordmark small{font-size:8px;letter-spacing:.5px}.build{display:none}.top-actions{gap:5px}.top-actions button{padding:0 9px;min-width:35px;min-height:36px}#audio{font-size:10px}#drift-score{top:106px}#drift-score strong{font-size:36px}#drift-score small{font-size:9px}.location{left:18px;width:136px}.location-label{gap:6px}.location-label>span{font-size:23px}.location b{font-size:8px}.location small{font-size:8px}#minimap{width:130px;height:110px}.telemetry{right:18px;width:166px}.car-label{font-size:9px;letter-spacing:0;gap:5px}.car-label small{display:none}.speedrow{gap:9px}.speedrow strong{font-size:62px;letter-spacing:-4px}.speedrow>b{font-size:20px;padding-left:7px}.speedrow>span{font-size:8px}.rpm-label{font-size:8px;letter-spacing:0}footer{left:18px;right:18px;bottom:20px;justify-content:center}.bottom-actions button{font-size:11px}.bottom-actions kbd{display:none}#touch{left:14px;right:14px}#touch button{min-width:51px;padding:0 11px}.steering,.pedals{gap:7px}.pedals .handbrake{min-width:53px;margin:0}#free-hint{bottom:160px;font-size:10px;width:80%}}@media(max-height:540px){header{top:14px}.location{bottom:78px}.telemetry{bottom:88px}#minimap{width:130px;height:94px}.location-label{margin-bottom:6px}.telemetry .speedrow strong{font-size:62px}#touch{bottom:65px;left:170px;right:205px}#touch button{min-height:50px;min-width:45px}.pedals .throttle{height:65px}.wordmark small{display:none}footer{bottom:12px}#drift-score{top:18px}#drift-score strong{font-size:32px}.keyhint{display:none}}
/* Narrow embedded previews also expose touch controls so the game is usable without a keyboard. */
@media(max-width:700px){#touch{display:flex;position:absolute;bottom:80px;left:14px;right:14px;justify-content:space-between;pointer-events:none}#touch button{pointer-events:auto;touch-action:none;user-select:none;min-height:62px;min-width:51px}.steering,.pedals{display:flex;gap:7px;align-items:flex-end}.steering button{font-size:27px}.pedals button{font-size:10px;font-weight:bold}.pedals .throttle{height:86px;background:#d9ff6833;border-color:#d9ff6888}.pedals .handbrake{min-width:53px;min-height:44px}.keyhint{display:none}.location{bottom:190px}.telemetry{bottom:200px}.location b,.location small{font-size:10px}.rpm-label{font-size:10px}.car-label{font-size:10px}.wordmark small{font-size:9px}.speedrow>span{font-size:10px}}
#debug{position:absolute;left:50%;top:190px;transform:translateX(-50%);padding:12px;background:#09151edc;border:1px solid #d9ff6850;font:11px/1.6 monospace;border-radius:5px;pointer-events:none;max-width:94vw;white-space:pre-wrap;color:#d9ff68}.demo-button{width:100%;margin-top:12px}.settings select{max-width:180px}
#worldmap{width:min(840px,94vw)}#worldmap h1{font-size:30px}#world-map-canvas{display:block;width:100%;max-height:38vh;object-fit:contain;background:#142b3a;border:1px solid #ffffff26;border-radius:6px}#poi-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}#poi-list button{text-align:left;padding:12px;min-height:64px}#poi-list b{display:block;font-size:13px}#poi-list small{display:block;font-size:11px;color:#aebeaf;margin-top:5px}@media(max-width:500px){#worldmap{padding:24px 16px}#worldmap h1{font-size:25px}#poi-list b{font-size:12px}#poi-list small{font-size:10px}#map{font-size:10px}.top-actions{gap:4px}.wordmark b{font-size:18px}}

#fps-live{position:fixed;right:35px;top:86px;color:#d9ff68;font:600 11px monospace;z-index:5} @media(max-width:700px){#fps-live{right:12px;top:68px;font-size:10px}}

@media(max-width:700px){.location{bottom:188px;left:12px;width:98px}.location-label{display:none}#minimap{width:96px;height:96px}.telemetry{bottom:184px;right:12px;width:142px}.speedrow strong{font-size:60px}.car-label{font-size:9px}.rpm-label{font-size:8px}#drift-score{top:103px}#debug{max-width:calc(100vw - 24px);white-space:pre-wrap;font-size:9px;max-height:140px;overflow:hidden}header{padding:16px 12px}.top-actions{gap:4px}.top-actions button{padding:9px 7px;font-size:11px}.wordmark b{font-size:17px}}

#minimap{aspect-ratio:1;height:auto}#world-map-canvas{max-height:55vh}button{background:#19272eed} @media(max-width:700px){.speedrow{gap:5px}.speedrow strong{font-size:52px}.speedrow>span{font-size:8px;white-space:nowrap}header{padding:0}.wordmark b{font-size:17px}#drift-score{top:95px}}

#benchmark-banner{position:absolute;top:170px;left:50%;transform:translateX(-50%);max-width:90%;padding:9px 14px;background:#152126;color:#d9ff68;font:11px monospace;z-index:6;text-align:center}#benchmark-banner[hidden]{display:none}

/* Give the cockpit dashboard space on a phone; the physical gauges remain readable. */
.cockpit-view .telemetry{opacity:.35;transform:scale(.75);transform-origin:bottom right}.cockpit-view .location{opacity:.55}.cockpit-view #drift-score{top:100px}
@media(max-width:700px){.cockpit-view .telemetry{display:none}.cockpit-view .location{bottom:182px;width:68px}.cockpit-view #minimap{width:68px;height:68px}.cockpit-view #drift-score{top:91px}.cockpit-view #drift-score span{display:none}}

.drive-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;padding:16px;border:1px solid #526248;border-radius:10px;background:#263229}.drive-mode-picker label{font-weight:700;align-self:center}.drive-mode-picker select{min-width:0;padding:10px;color:#e9eddf;background:#17211c;border:1px solid #66744f;border-radius:6px}.drive-mode-picker p{grid-column:1/-1;font-size:12px;line-height:1.5;margin:0;color:#b8c4b4}.settings select:disabled{opacity:.45}.cruising #score{font-size:24px!important;letter-spacing:.13em;line-height:1.5}.cruising #combo{font-size:10px}#chain-meter{height:3px;width:160px;background:#ffffff25;margin:8px auto 0;border-radius:4px;overflow:hidden}#chain-meter i{display:block;width:var(--chain-time,100%);height:100%;background:#d9ff68;transition:width .15s linear}

.inspect-view #touch,.inspect-view .telemetry,.inspect-view .location,.inspect-view #drift-score{display:none!important}.inspect-view #camera{border-color:#d9ff68;color:#d9ff68}

.review-view #drift-score,.review-view .telemetry,.review-view #touch{display:none!important}

#hood{display:none}.inspect-view #hood{display:inline-block}.inspect-view footer .bottom-actions{flex-wrap:wrap}
