:root{color-scheme:dark;--ink:#09171d;--panel:#0a1b23d9;--cream:#efeee5;--muted:#a5b8bc;--mint:#f0c699;--amber:#9dd9dc;--line:#d0e5df24;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--cream)}body{overscroll-behavior:none}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit;background:#10272ec9;border:1px solid var(--line);border-radius:3px;padding:11px 14px;cursor:pointer}button:hover,select:hover{border-color:#f0c69980}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:disabled{opacity:.55;cursor:wait}button{touch-action:manipulation}button[aria-pressed=true]{color:var(--mint);border-color:#f0c69970;background:#1b393b}a{color:var(--mint)}[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;background:url('./assets/hero.jpg') center/cover no-repeat}header{position:absolute;z-index:4;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:25px 32px;background:linear-gradient(#07151dcc,transparent);pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;color:var(--cream);text-decoration:none}.brand-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid #f0c6994d;color:var(--mint);font-family:serif;font-size:25px}.brand small{display:block;font-size:8px;letter-spacing:2.8px;color:var(--mint);margin-bottom:6px}.brand strong{font-size:12px;font-weight:500;letter-spacing:1.3px}.brand i{font-style:normal;color:#acbfc1;margin-left:8px;font-size:9px}nav{display:flex;gap:7px}nav button{background:#091a24b3;backdrop-filter:blur(15px);font-size:10px;padding:10px 13px}nav button span{margin-left:8px;color:#819b9f;font-size:8px}.film-border{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #00141d35}#welcome{position:absolute;z-index:10;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,#07151df5,#091b27be 31%,#091b2720 73%),linear-gradient(0deg,#07171ddb,transparent 25%);transition:opacity .6s,visibility .6s;pointer-events:auto}#welcome.closed{opacity:0;visibility:hidden;pointer-events:none}.welcome-copy{margin-left:8vw;max-width:660px;padding-top:30px}.overline{color:var(--mint);font-size:9px;letter-spacing:3px;display:flex;gap:10px;align-items:center;margin:0 0 25px}.overline>span{width:5px;height:5px;background:var(--mint);box-shadow:0 0 10px #f0c69980;border-radius:50%}h1{font-size:clamp(60px,6.6vw,104px);line-height:.98;letter-spacing:-5px;font-weight:400;margin:0 0 25px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--amber)}.intro{font-size:13px;line-height:1.9;color:#c0cccc;margin:0 0 28px}.welcome-specs{display:flex;gap:36px;margin-bottom:29px;padding-top:20px;border-top:1px solid #f0c6992b;max-width:405px}.welcome-specs strong{display:block;font-size:23px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.welcome-specs small{font-size:9px;color:var(--muted);letter-spacing:1px}.welcome-specs span{display:block;font-size:7px;letter-spacing:1.8px;color:#91a8ae;margin-top:7px}.start-buttons{display:flex;gap:10px}.primary{background:var(--mint);color:#0a2428;border:1px solid var(--mint);padding:16px 22px;font-size:11px;font-weight:600;letter-spacing:.8px;min-width:215px}.primary:hover{background:#ffe0bb;border-color:#ffe0bb}.primary b{margin-left:22px;font-size:15px;font-weight:400}.secondary{padding:15px 20px;background:#152b35a8;font-size:11px;border-color:#b1c9cd50}.loading-row{margin-top:17px}.progress{width:332px;height:2px;background:#ffffff15}.progress i{display:block;height:100%;background:var(--mint);width:2%;transition:width .3s}#load-status{font-size:9px;line-height:1.6;color:#98b0b8;margin:8px 0 0;max-width:370px}.start-options{display:flex;gap:22px;margin-top:23px}.start-options label,.setting-grid label{font-size:7px;letter-spacing:1.7px;color:#8fa9af;display:flex;flex-direction:column;gap:8px}.start-options select{padding:8px 10px;font-size:10px;letter-spacing:0;background:#0e2632b3;min-width:125px;border-color:#c1e2df24}.welcome-bottom{position:absolute;bottom:30px;left:8vw;right:6vw;display:flex;justify-content:space-between;align-items:center;color:#8fa8ae;font-size:7px;letter-spacing:2px}.welcome-bottom b{font-family:serif;font-weight:400;color:#d1d9d6;margin-right:14px;font-size:14px;letter-spacing:5px}.edition{position:absolute;right:6vw;top:50%;font-size:9px;letter-spacing:3px;color:#e7e9df;text-align:right;line-height:2.3}.edition span{font-size:7px;color:#a1b5b8;letter-spacing:1.4px}#hud{position:absolute;inset:0;pointer-events:none}#drive-status{position:absolute;top:99px;left:33px;font-size:8px;letter-spacing:1.6px;color:var(--mint);display:flex;align-items:center;gap:9px}.status-dot{width:4px;height:4px;border-radius:50%;background:var(--mint)}#district{color:#9eb2b7;margin-left:9px;border-left:1px solid var(--line);padding-left:16px}#trial-panel{position:absolute;top:113px;left:50%;transform:translateX(-50%);text-align:center;padding:13px 25px;background:linear-gradient(#0a1b24bd,#0a1b2420);min-width:195px}#trial-panel>span{display:block;font-size:8px;letter-spacing:1.8px;color:var(--mint)}#trial-panel strong{display:block;font-size:30px;font-weight:400;letter-spacing:1px;font-variant-numeric:tabular-nums;margin:8px 0}#trial-panel #best-label{font-size:7px;letter-spacing:1.2px;color:#a9bdc0}#map-panel{position:absolute;bottom:42px;left:32px;width:190px;padding:12px 14px 10px;background:linear-gradient(135deg,#0c222ce8,#0a1b23ac);border:1px solid #accbc422;backdrop-filter:blur(12px);pointer-events:auto}.map-heading{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1.5px;color:#a9c2c6}.map-heading button{padding:0;width:18px;height:18px;font-size:13px;border:0;background:none;color:var(--mint)}#map{width:100%;height:auto;display:block;opacity:.95;margin:4px 0 7px}#map-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;font-size:6px;letter-spacing:1.1px;color:#8eaaae}#map-panel.collapsed #map,#map-panel.collapsed #map-foot{display:none}.telemetry{position:absolute;bottom:42px;right:32px;min-width:187px;padding:14px 17px 13px;background:linear-gradient(135deg,#0c222ce8,#0a1b23ac);border:1px solid #accbc422;border-top:1px solid #f0c69984;backdrop-filter:blur(12px)}.car-label{font-size:7px;letter-spacing:1.5px;color:#b0c5c5;display:flex;justify-content:space-between;align-items:center}.car-label span{font-size:13px;color:var(--mint)}.speed{display:flex;gap:10px;align-items:baseline;margin:6px 0 13px}.speed strong{font-size:57px;font-weight:300;letter-spacing:-2px;font-variant-numeric:tabular-nums;line-height:1}.speed>span{font-size:7px;letter-spacing:1.4px;color:#9bb0b4}.power{height:2px;background:#ffffff16;margin-bottom:10px}.power i{display:block;background:var(--mint);width:0;height:100%}.speed-note{display:flex;justify-content:space-between;gap:15px;font-size:6px;letter-spacing:.7px;color:#9ab5ba}#drive-state{color:var(--mint)}.keyboard-hint{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);font-size:7px;letter-spacing:.8px;color:#9ab0b5;white-space:nowrap}kbd{font:inherit;color:#cad6d5;padding:3px 4px;border:1px solid #cbe1de25;border-radius:2px;margin:0 4px 0 10px}#tour-panel{position:absolute;top:100px;right:32px;width:225px;padding:13px 15px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(14px);pointer-events:auto}#tour-panel label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:var(--mint)}#tour-panel output{font-size:11px;letter-spacing:0}#tour-speed{width:100%;accent-color:var(--mint);margin:14px 0 7px}#tour-panel>span{font-size:8px;color:#91abb2}#touch-controls{position:absolute;z-index:5;bottom:25px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none}.touch-group{display:flex;align-items:flex-end;gap:9px;pointer-events:auto}.touch-group button{width:57px;height:56px;background:#0b2732c9;backdrop-filter:blur(10px);font-size:22px;touch-action:none;user-select:none;-webkit-user-select:none;border-color:#badfdc32}.touch-group button.active{background:#6cae9cbf;color:#071e26;border-color:var(--mint)}.touch-group .accelerator{height:77px;color:var(--mint);border-color:#f0c6996b}.touch-group .handbrake{font-size:8px;letter-spacing:.7px;width:50px}#countdown{position:absolute;z-index:9;top:40%;left:50%;transform:translate(-50%,-50%);font-size:100px;font-weight:300;color:var(--mint);text-shadow:0 0 40px #f0c69950;pointer-events:none}#toast{position:absolute;z-index:15;top:185px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#0b242de8;border:1px solid #f0c69949;backdrop-filter:blur(14px);font-size:11px;color:#d9ebe4;text-align:center;max-width:90vw;pointer-events:none}#impact{position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 85px #d97a3f;opacity:0}#pause-screen{position:absolute;inset:0;background:#06171c94;backdrop-filter:blur(8px);z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center}#pause-screen small{font-size:8px;letter-spacing:4px;color:var(--mint)}#pause-screen h2{font-weight:400;letter-spacing:-1px;font-size:40px;margin:18px 0 30px}dialog{background:#0b1d25f5;color:var(--cream);border:1px solid #f0c69943;border-radius:5px;width:min(560px,calc(100vw - 30px));max-height:85dvh;padding:25px 29px;box-shadow:0 30px 150px #0009;backdrop-filter:blur(20px)}dialog::backdrop{background:#020e16a8;backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;color:var(--mint);font-size:8px;letter-spacing:2px}.dialog-top button{border:0;background:transparent;font-size:23px;padding:0 3px;color:#a7c4c5}dialog h2{font-weight:400;font-size:32px;letter-spacing:-1px;margin:23px 0 25px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 17px;margin-bottom:25px}.setting-grid label select,.setting-grid label button{font-size:11px;letter-spacing:0;padding:11px}.menu-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.menu-actions button{font-size:10px;min-width:0;padding:12px 15px}details{border-top:1px solid var(--line);padding:14px 0;font-size:11px;color:#a9bfc4;line-height:1.9}summary{cursor:pointer;color:#d0dddd}details p{margin:10px 0 0;font-size:10px}.menu-foot{font-size:7px;letter-spacing:2px;color:#79949b;margin:17px 0 0}#results{text-align:center}#result-medal{display:block;font-size:9px;letter-spacing:3px;color:var(--amber);margin-top:33px}#result-time{font-size:57px;font-variant-numeric:tabular-nums;letter-spacing:-2px;margin:13px 0}#result-copy{font-size:11px;color:#a9c0c3;line-height:1.9}.result-stats{display:flex;justify-content:center;gap:50px;margin:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px}.result-stats span{display:block;font-size:7px;letter-spacing:1.5px;color:#8ca7ad;margin-bottom:9px}.result-stats strong{font-weight:400;font-size:17px}#results>button{margin:0 3px 6px;font-size:10px;min-width:0}#error{position:absolute;z-index:50;bottom:20px;left:20px;right:20px;padding:20px;background:#3f2824f5;border:1px solid #bb7356;font-size:13px;line-height:1.7}#error p{margin:8px 0 14px;white-space:pre-line}#error button{background:#7c4837;border-color:#ba8265;font-size:11px}.noscript{position:absolute;inset:40% 15%;padding:30px;background:#12313b;z-index:100}
@media(max-width:1000px){header{padding:20px}.brand i{display:none}.welcome-copy{margin-left:6vw}h1{font-size:78px}.edition{right:5vw;font-size:8px}.welcome-bottom{left:6vw}.telemetry{right:20px}#map-panel{left:20px}#drive-status{left:22px;top:91px}}
@media(max-width:700px){header{padding:14px 12px;align-items:flex-start;gap:8px}.brand{gap:8px}.brand-symbol{width:29px;height:33px;font-size:20px}.brand small{font-size:6px;letter-spacing:1.5px;margin-bottom:5px}.brand strong{font-size:9px;letter-spacing:.7px}nav{gap:4px;max-width:210px;flex-wrap:wrap;justify-content:flex-end}nav button{padding:7px 8px;font-size:8px}nav button span{display:none}.welcome-copy{margin-left:27px;padding-top:10px;max-width:calc(100vw - 50px)}#welcome{background:linear-gradient(90deg,#07151df1,#091b2790),linear-gradient(0deg,#07151de6,transparent 45%)}h1{font-size:65px;letter-spacing:-3px}.overline{font-size:7px;letter-spacing:2px;margin-bottom:23px}.intro{font-size:11px;line-height:1.8;margin-bottom:22px}.welcome-specs{gap:31px;margin-bottom:23px;padding-top:17px;max-width:325px}.welcome-specs strong{font-size:21px}.welcome-specs span{font-size:6px;letter-spacing:1.2px}.primary{min-width:180px;font-size:10px;padding:15px 17px}.primary b{margin-left:16px}.secondary{padding:13px 15px;font-size:10px}.start-buttons{gap:8px}.edition{display:none}.welcome-bottom{bottom:21px;left:27px;right:27px;font-size:6px;letter-spacing:1px}.welcome-bottom>span:last-child{display:none}.welcome-bottom b{font-size:13px}.start-options{gap:16px;margin-top:21px}.progress{width:300px;max-width:100%}#load-status{font-size:8px}.start-options select{font-size:10px}.telemetry{bottom:127px;right:13px;padding:10px 12px;min-width:135px}.car-label{font-size:6px;letter-spacing:.7px}.speed strong{font-size:42px}.speed{margin:6px 0 9px}.speed-note{font-size:5px;gap:8px}.power{margin-bottom:7px}#map-panel{bottom:127px;left:13px;width:132px;padding:8px 10px}.map-heading{font-size:6px;letter-spacing:.8px}#map-foot{font-size:5px;letter-spacing:.5px;padding-top:6px}#drive-status{top:85px;left:14px;font-size:6px;letter-spacing:1px}#district{display:none}.keyboard-hint{display:none}#tour-panel{top:84px;right:13px;width:184px;padding:10px 12px}#tour-panel label{font-size:7px}#tour-panel output{font-size:10px}#tour-panel>span{font-size:7px}#trial-panel{top:100px;padding:10px 15px;min-width:160px}#trial-panel strong{font-size:25px}#trial-panel>span{font-size:7px}#toast{top:205px;padding:11px 15px;font-size:10px}dialog{padding:22px 20px}dialog h2{font-size:29px}.setting-grid{gap:18px 12px}#result-time{font-size:48px}.touch-group button{width:48px;height:49px}.touch-group .accelerator{height:69px}.touch-group .handbrake{width:43px;font-size:7px}#touch-controls{left:13px;right:13px;bottom:24px}.touch-group{gap:7px}}
@media(max-height:560px){header{padding:12px 18px}.brand-symbol{width:30px;height:30px;font-size:20px}#welcome{align-items:center}.welcome-copy{padding-top:15px;margin-left:6vw}.overline{margin-bottom:13px;font-size:7px}h1{font-size:52px;letter-spacing:-2px;margin-bottom:13px}.intro{font-size:10px;margin-bottom:13px}.welcome-specs{position:absolute;left:54vw;bottom:100px;border:0;gap:28px;margin:0}.welcome-specs span{font-size:6px}.welcome-specs strong{font-size:23px}.start-options{position:absolute;left:54vw;bottom:45px;margin:0;gap:12px}.loading-row{margin-top:10px}.welcome-bottom{bottom:12px}.edition{display:none}.start-buttons .primary{padding:12px 17px}.start-buttons .secondary{padding:12px 17px}#map-panel{bottom:20px;width:132px;left:18px}#map-panel #map{max-height:70px}.telemetry{bottom:20px;right:18px;min-width:145px;padding:10px 12px}.speed strong{font-size:39px}.car-label{font-size:6px}#touch-controls{bottom:20px;left:175px;right:180px}.touch-group button{width:43px;height:44px}.touch-group .accelerator{height:55px}.touch-group .handbrake{width:42px}#drive-status{top:66px;left:18px}#tour-panel{top:67px;right:18px;width:195px;padding:9px 12px}#trial-panel{top:65px}#toast{top:150px}.keyboard-hint{display:none}#pause-screen h2{font-size:30px}#countdown{font-size:70px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
