@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800;1,900&family=DM+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#090b17;color:#f3f4e9;font-family:'DM Sans',sans-serif;user-select:none;-webkit-user-select:none;overscroll-behavior:none}button{font:inherit;cursor:pointer;color:inherit;touch-action:none;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #e4ded1;outline-offset:4px}[hidden]{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;background:linear-gradient(#090c22,#453957 53%,#b5757e 74%,#0d1720);touch-action:none}.vignette{position:fixed;inset:0;background:linear-gradient(180deg,#02050b77,transparent 28%,transparent 70%,#03050bc9);pointer-events:none}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 4%;z-index:10}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:30px;font-weight:800;font-style:italic;letter-spacing:1px}.brand>span{color:#e4ded1}.brand small{font-family:'DM Sans',sans-serif;font-size:9px;display:block;font-style:normal;letter-spacing:2.4px;color:#a0a4b4;margin-top:2px}.tools{display:flex;gap:8px}.tools button{border:1px solid #ffffff24;border-radius:6px;background:#0c102466;padding:12px;font-size:11px;font-weight:700;letter-spacing:1px;backdrop-filter:blur(8px)}.menu{position:fixed;inset:0;background:linear-gradient(90deg,#070a12e8 0%,#080a1299 35%,transparent 65%);padding:150px 7% 70px;display:flex;align-items:center}.menu-content{position:relative;z-index:2}.edition{font-size:11px;letter-spacing:2px;font-weight:700;color:#e4ded1;display:flex;gap:10px;align-items:center}.edition i{width:7px;height:7px;background:#e4ded1;display:inline-block;border-radius:50%}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;letter-spacing:-2px;font-size:clamp(90px,9.8vw,155px);line-height:.83;margin:25px 0}h1 em{color:#e4ded1;font-style:italic}.menu p{font-size:16px;color:#afb2be;line-height:1.6}.paint{display:flex;align-items:center;gap:12px;margin:26px 0}.paint>span{font-size:10px;letter-spacing:2px;color:#989ead;margin-right:8px}.swatch{background:var(--paint);width:22px;height:22px;border:3px solid #151925;border-radius:50%;outline:1px solid transparent}.swatch.active{outline:1px solid #e8ebdd}.start{background:#e4ded1;color:#111b09;border:0;min-height:62px;padding:18px 25px;font-size:16px;letter-spacing:1px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:50px;width:100%;max-width:340px;border-radius:3px;box-shadow:0 5px 28px #e4ded120}.start span{font-size:25px}.start:hover{background:#f6eee0}.intro-tip{color:#848b9b;font-size:12px;line-height:1.8;margin-top:15px}.car-label{position:absolute;right:9%;bottom:17%;display:flex;flex-direction:column;text-align:right;gap:8px}.car-label>span{font-size:11px;letter-spacing:2px;color:#e4ded1}.car-label strong{font-family:'Barlow Condensed';font-size:28px;font-style:italic;letter-spacing:1px}.car-label small{font-size:10px;letter-spacing:2px;color:#9da4af}.bottom-line{position:absolute;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#888e9e;border-top:1px solid #ffffff17;padding-top:18px}#hud{position:fixed;inset:0;pointer-events:none}#hud button{pointer-events:auto}.score{position:absolute;top:120px;left:4%}.score label,.timer label{font-size:10px;color:#aab4bf;letter-spacing:2px;display:block}.score>strong{font-family:'Barlow Condensed';font-size:54px;letter-spacing:2px;display:block;line-height:1.1}.score small{display:block;font-size:9px;letter-spacing:1px;color:#8e9dad;margin-top:8px}.score small b{color:#e4ded1;margin-left:6px}.timer{position:absolute;top:110px;left:50%;transform:translateX(-50%);text-align:center}.timer strong{font-family:'Barlow Condensed';font-size:48px;display:block}.timer>span{font-size:10px;letter-spacing:2px;color:#b6bdd0}.combo{position:absolute;left:50%;top:30%;transform:translateX(-50%);text-align:center;opacity:.7}.combo.hot{opacity:1}.combo label{font-family:'Barlow Condensed';font-size:24px;font-style:italic;letter-spacing:2px;display:block;color:#e4ded1}.combo strong{font-family:'Barlow Condensed';font-size:48px;display:inline-block}.combo span{font-family:'Barlow Condensed';font-size:25px;color:#e4ded1;margin-left:8px}.meter{height:3px;width:170px;background:#ffffff20;margin:auto}.meter i{height:100%;background:#e4ded1;display:block;width:0}.map{position:absolute;right:3%;top:115px;text-align:center}.map canvas{width:170px;height:139px;display:block}.map span{font-size:8px;letter-spacing:2px;color:#8e9cad}.speed{position:absolute;bottom:65px;right:5%;text-align:right}.speed strong{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-size:95px;line-height:1}.speed span{font-size:12px;color:#aab8c1;margin-left:10px}.speed small{display:block;font-size:9px;letter-spacing:2px;color:#a9ba82}.keyboard{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);font-size:10px;letter-spacing:1px;color:#a1abb6;white-space:nowrap}.keyboard i{font-style:normal;color:#46505c;margin:0 14px}#recover{position:absolute;bottom:35px;left:4%;border:1px solid #ffffff28;background:#0c102488;padding:13px;font-size:10px;letter-spacing:1px;border-radius:5px}.controls{display:none;position:absolute;left:18px;right:18px;bottom:max(24px,env(safe-area-inset-bottom));justify-content:space-between;align-items:end}.controls button{background:#0e17258c;border:1px solid #a7b8d350;backdrop-filter:blur(10px);border-radius:12px;width:68px;height:68px;font-size:22px}.controls button.pressed{background:#e4ded1;color:#0a1521;border-color:#e4ded1}.steer,.pedals{display:flex;gap:10px}.pedals button{font-size:11px;font-weight:800;letter-spacing:1px}.pedals button:last-child{border-color:#e4ded1;color:#e4ded1;width:82px;height:82px}.pedals button.pressed:last-child{color:#0b1720}.pedals span{display:block;font-size:8px;margin-top:6px;color:#9eac99}.dialog{position:fixed;inset:0;background:#050811bd;backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;padding:28px;z-index:20}.dialog>div{max-width:380px;width:100%}.dialog h2{font-family:'Barlow Condensed';font-style:italic;font-size:70px;line-height:1;margin:20px 0}.dialog p{color:#b0b7c5;line-height:1.7}.dialog .start{max-width:none}.secondary{width:100%;padding:17px;border:1px solid #ffffff30;background:transparent;font-weight:600;font-size:12px;letter-spacing:2px;margin-top:12px}.dialog .edition{font-size:12px}#error{position:fixed;inset:20%;z-index:100;background:#151927;padding:40px;font-size:20px;line-height:1.6}@media(pointer:coarse){.controls{display:flex}.keyboard{display:none}.speed{bottom:135px;right:6%}.speed strong{font-size:66px}#recover{bottom:130px}.tools button{min-height:44px}}@media(max-width:600px){header{padding:20px}.brand{font-size:23px}.brand small{font-size:7px;letter-spacing:1.7px}.tools{gap:5px}.tools button{padding:10px 8px;font-size:9px}#camera{display:none}.menu{padding:100px 26px 85px;align-items:start;background:linear-gradient(90deg,#070a12d9,#080a1266 65%,transparent)}h1{font-size:91px;margin:22px 0}.menu p{font-size:14px}.edition{font-size:9px;letter-spacing:1.5px}.paint{margin:20px 0}.start{max-width:280px;min-height:58px}.intro-tip{font-size:11px}.car-label{bottom:60px;right:25px}.car-label strong{font-size:21px}.car-label small{display:none}.car-label>span{font-size:8px}.bottom-line{font-size:7px;bottom:20px}.bottom-line span:last-child{display:none}.score{top:100px;left:20px}.score>strong{font-size:39px}.score small{font-size:8px}.timer{top:95px;left:auto;right:20px;transform:none}.timer strong{font-size:38px}.map{top:190px;right:8px}.map canvas{width:112px;height:92px}.map span{display:none}.combo{top:31%;left:30%}.combo label{font-size:19px}.combo strong{font-size:35px}.meter{width:125px}.speed span{font-size:10px}.controls{left:14px;right:14px}.controls button{width:59px;height:65px}.steer,.pedals{gap:8px}.pedals button:last-child{width:75px;height:78px}#recover{font-size:9px;padding:11px}.dialog h2{font-size:60px}}@media(max-height:550px){header{padding:12px 24px}.brand{font-size:22px}.menu{padding:72px 6% 40px}.menu h1{font-size:68px;margin:15px 0}.menu p,.intro-tip,.car-label{display:none}.paint{margin:15px 0}.start{min-height:48px;padding:12px 20px}.score{top:80px}.timer{top:65px}.map{top:70px}.combo{top:24%}.speed{bottom:112px}.speed strong{font-size:48px}.controls button{height:52px;width:62px}.pedals button:last-child{height:62px}#recover{bottom:95px}.bottom-line{bottom:14px}.controls{bottom:18px}.menu .edition{font-size:9px}.score>strong{font-size:35px}}
/* Analog driving interface */
.assist-toggle{background:#151d2bba;border:1px solid #ffffff25;border-radius:5px;color:#aab6c4;padding:10px 13px;font-size:11px;letter-spacing:1.5px;margin-top:10px}.assist-toggle b{color:#e4ded1;margin-left:12px}.revbar{height:4px;background:#ffffff24;width:125px;margin:10px 0 0 auto}.revbar i{display:block;height:100%;background:linear-gradient(90deg,#e4ded1 65%,#ff7359);width:10%;transition:width .12s}.controls{align-items:flex-end;bottom:max(20px,env(safe-area-inset-bottom));left:28px;right:28px}.wheel-area{width:170px;text-align:center}.wheel-area>span{font-size:9px;letter-spacing:1.6px;color:#b9c6d5;display:block;margin-top:2px;text-shadow:0 2px 5px #000}#wheel{width:170px;height:170px;touch-action:none;pointer-events:auto;cursor:grab;filter:drop-shadow(0 5px 12px #0006)}#wheel:active{cursor:grabbing}#wheel svg{width:100%;height:100%;transform:rotate(var(--angle,0deg));will-change:transform}.pedal-cluster{position:relative;padding-top:50px}.controls .pedals{gap:14px;align-items:flex-end}.controls .pedals button{border-radius:13px;display:flex;flex-direction:column;justify-content:space-between;padding:11px 9px;background:linear-gradient(135deg,#54607199,#182332cc);box-shadow:inset 0 0 0 2px #ffffff12,0 8px 15px #0005;border:1px solid #a0aebc80;min-width:0}.controls .pedals .brake-pedal{width:73px;height:87px}.controls .pedals .gas-pedal{width:65px;height:134px;color:#e4ded1;border-color:#e4ded199}.pedals button>i{display:block;width:100%;flex:1;margin-bottom:10px;background:repeating-linear-gradient(180deg,#101722aa 0,#101722aa 4px,#72809366 5px,#72809366 7px,transparent 8px,transparent 13px);border-radius:4px}.controls .pedals button>span{font-size:10px;color:inherit;letter-spacing:1px;margin:0}.controls .pedals button.pressed{background:linear-gradient(135deg,#a5dc38,#547322);color:#f2ffd6;transform:translateY(3px)}.controls .handbrake{position:absolute;right:0;top:0;height:39px;width:112px;font-size:10px;letter-spacing:1px;font-weight:700;border-color:#e1b68a99;border-radius:8px;color:#ffd5a7}.controls #gear{position:absolute;left:0;top:0;width:38px;height:39px;font-size:14px;border-radius:8px;color:#e8effb}.controls #gear span{display:block;font-size:8px;color:#a6b5c6}.speed{bottom:245px;right:5%}.speed strong{font-size:64px}#recover{bottom:220px}.combo{top:26%}.keyboard{font-size:10px}.intro-tip{max-width:340px}.tools button{font-size:10px}@media(pointer:fine){.speed{bottom:65px}.speed strong{font-size:95px}#recover{bottom:35px}}@media(max-width:600px){.wheel-area,#wheel{width:143px}#wheel{height:143px}.controls{left:12px;right:16px;bottom:max(20px,env(safe-area-inset-bottom))}.controls .pedals .brake-pedal{width:62px;height:78px}.controls .pedals .gas-pedal{width:59px;height:123px}.controls .pedals{gap:10px}.controls .handbrake{width:94px;font-size:9px}.controls #gear{width:31px}#camera{display:block}.tools button{font-size:8px;padding:8px 6px}.brand{font-size:20px}.brand small{font-size:6px}header{padding:16px 14px}.speed{bottom:227px}.speed strong{font-size:55px}.revbar{width:95px}#recover{bottom:182px;font-size:8px}.score{top:86px}.timer{top:82px}.combo{top:29%;left:31%}.menu{padding-top:93px}h1{font-size:80px}.menu p{margin:10px 0}.paint{margin:16px 0}.intro-tip{font-size:11px}.car-label{bottom:52px}.map{top:169px}}@media(max-height:550px){.wheel-area,#wheel{width:128px}#wheel{height:128px}.controls{left:24px;right:24px;bottom:14px}.controls .pedals .gas-pedal{height:95px;width:57px}.controls .pedals .brake-pedal{height:67px;width:67px}.pedal-cluster{padding-top:42px}.controls .handbrake{height:32px;width:96px}.controls #gear{height:32px;width:31px}.speed{bottom:172px;right:4%}.speed strong{font-size:42px}#recover{left:180px;bottom:23px}.combo{top:26%}.map{top:62px}.map canvas{width:120px;height:98px}.score{top:70px}.timer{top:61px}.assist-toggle{position:absolute;left:330px;top:120px;width:145px}.intro-tip{display:none}.menu h1{font-size:68px}.menu{padding-top:65px}.paint{margin:15px 0}.start{min-height:45px}}@media(min-width:601px) and (max-width:1000px) and (min-height:551px){.controls{bottom:30px}.speed{bottom:250px}}@media(prefers-reduced-motion:reduce){.revbar i{transition:none}}

#position{display:block;font-family:'Barlow Condensed',sans-serif;font-size:24px;color:#fff;margin-top:8px}.menu-content h1{font-size:clamp(78px,8.6vw,136px)}.car-label{right:7%}.vignette{background:linear-gradient(180deg,#02050b66,transparent 26%,transparent 72%,#03050b8c)}.menu{background:linear-gradient(90deg,#070a12df 0%,#080a1280 32%,transparent 68%)}@media(max-width:600px){.menu-content h1{font-size:70px;letter-spacing:-1px}.menu{padding-left:22px;padding-right:22px}.menu p{font-size:13px}.car-label{bottom:49px}#position{font-size:21px;margin-top:6px}}@media(max-height:550px){.menu-content h1{font-size:65px}#position{position:absolute;top:12px;left:84px;white-space:nowrap}.menu p{display:none}}
/* Landscape-first race controls; native rotation keeps touch coordinates correct. */
.orientation-gate{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:linear-gradient(160deg,#142032f5,#070a12fa);padding:28px;text-align:center}.orientation-gate>div{width:min(360px,100%)}.orientation-gate svg{width:126px;height:94px;color:#e4ded1;margin-bottom:18px}.orientation-gate .edition{justify-content:center;font-size:12px}.orientation-gate h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:48px;font-style:italic;margin:18px 0;line-height:1}.orientation-gate p{font-size:16px;line-height:1.7;color:#c1cad4}.orientation-gate .start{max-width:none;font-size:14px;justify-content:center;min-height:56px;margin:25px 0 18px}.orientation-gate small{display:block;color:#96a4b3;font-size:13px;line-height:1.6}#fullscreen{font-size:20px;padding:7px 11px}#slipangle{display:block;font-size:12px;letter-spacing:1px;margin-top:8px;color:#d1d9e0}#driftassist{margin-right:8px}.menu-content{max-width:420px}.assist-toggle{font-size:11px}
@media(pointer:coarse) and (orientation:landscape){
header{padding:10px max(22px,calc(env(safe-area-inset-right) + 12px)) 10px max(22px,calc(env(safe-area-inset-left) + 12px));height:60px}.brand{font-size:24px}.brand small{font-size:8px}.tools{gap:7px}.tools button{min-height:40px;min-width:40px;padding:9px;font-size:10px}#fullscreen{font-size:21px}.controls{display:flex;left:max(22px,calc(env(safe-area-inset-left) + 12px));right:max(22px,calc(env(safe-area-inset-right) + 12px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 8px));align-items:flex-end}.wheel-area,#wheel{width:158px}#wheel{height:158px}.wheel-area>span{font-size:10px;letter-spacing:1px}.pedal-cluster{padding-top:47px}.controls .pedals{gap:15px}.controls .pedals .gas-pedal{width:70px;height:125px}.controls .pedals .brake-pedal{width:82px;height:84px}.controls .pedals button>span{font-size:12px}.controls .handbrake{height:39px;width:116px;font-size:11px}.controls #gear{width:41px;height:39px;font-size:17px}.controls #gear span{font-size:9px}.score{top:66px;left:max(24px,calc(env(safe-area-inset-left) + 12px))}.score>strong{font-size:33px}.score label{font-size:11px}.score small{font-size:10px}.timer{top:64px;right:auto;left:50%;transform:translateX(-50%)}.timer strong{font-size:35px}.timer label{font-size:10px}.timer>span{font-size:10px}#position{position:absolute;top:15px;left:78px;white-space:nowrap;font-size:25px}.combo{top:144px;left:50%;transform:translateX(-50%)}.combo label{font-size:20px}.combo strong{font-size:30px}.combo span{font-size:22px}.meter{width:130px}.map{top:63px;right:max(23px,calc(env(safe-area-inset-right) + 12px))}.map canvas{width:106px;height:87px}.map>span{display:none}.speed{bottom:205px;right:max(26px,calc(env(safe-area-inset-right) + 16px))}.speed strong{font-size:45px}.speed span{font-size:11px}.speed small{font-size:10px}.revbar{width:94px;margin-top:7px}#recover{left:calc(max(22px,env(safe-area-inset-left)) + 177px);bottom:28px;padding:12px;font-size:10px;min-height:40px}.keyboard{display:none}.menu{padding:75px 7% 40px;align-items:flex-start}.menu-content h1{font-size:66px;margin:16px 0}.menu-content p,.intro-tip{display:none}.menu .edition{font-size:10px}.paint{margin:15px 0}.assist-toggle{position:static;width:auto;margin-top:4px;padding:9px 10px;font-size:10px}.start{min-height:48px;padding:12px 20px}.car-label{display:flex;bottom:65px;right:8%}.car-label strong{font-size:24px}.bottom-line{bottom:13px;padding-top:10px}.dialog h2{font-size:55px}.dialog p{font-size:14px}.dialog .start{min-height:48px}.dialog>div{max-width:430px}.dialog{overflow:auto;padding:22px}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:360px){header{height:48px;padding-top:5px;padding-bottom:5px}.brand{font-size:21px}.brand small{font-size:7px}.tools button{min-height:36px}.wheel-area,#wheel{width:128px}#wheel{height:128px}.controls{bottom:12px}.controls .pedals .gas-pedal{height:100px;width:62px}.controls .pedals .brake-pedal{height:75px;width:73px}.pedal-cluster{padding-top:40px}.controls .handbrake{height:34px;width:105px;font-size:10px}.controls #gear{height:34px;width:37px}.map{display:none}.score{top:51px}.score>strong{font-size:29px}.score small{font-size:9px}.timer{top:50px}.timer strong{font-size:28px}.combo{top:125px}.combo strong{font-size:26px}.combo label{font-size:17px}#slipangle{font-size:10px;margin-top:5px}.speed{bottom:165px}.speed strong{font-size:36px}#recover{left:calc(max(22px,env(safe-area-inset-left)) + 143px);bottom:15px;padding:9px;font-size:9px}.menu{padding-top:57px}.menu-content h1{font-size:50px}.paint{margin:9px 0}.assist-toggle{font-size:9px;padding:7px}.menu .start{min-height:41px;padding:9px 17px}.car-label{bottom:48px}.dialog h2{font-size:42px;margin:12px 0}.dialog p{line-height:1.45}.dialog .start,.secondary{padding:12px;min-height:40px}}
@media(pointer:coarse) and (orientation:landscape) and (min-height:600px){.wheel-area,#wheel{width:200px}#wheel{height:200px}.controls .pedals .gas-pedal{height:163px;width:87px}.controls .pedals .brake-pedal{height:108px;width:98px}.controls .handbrake{width:135px;height:44px}.controls #gear{height:44px;width:47px}.pedal-cluster{padding-top:55px}.controls{bottom:30px;left:40px;right:40px}.speed{bottom:280px;right:45px}.speed strong{font-size:70px}.combo{top:28%}.menu-content h1{font-size:100px}.menu-content p,.intro-tip{display:block}.menu{align-items:center;padding-top:80px}#recover{left:270px;bottom:40px}}

@media(pointer:coarse) and (orientation:landscape) and (min-height:361px) and (max-height:480px){.menu{padding-top:65px}.menu-content h1{font-size:58px;margin:10px 0}.paint{margin:10px 0}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:480px){.map{display:none}}
/* Free exploration: the world takes priority; navigation replaces race pressure. */
.score{display:none}.timer{left:4%;top:108px;transform:none;text-align:left;right:auto}.timer label{font-size:12px}.timer strong{font-family:'DM Sans',sans-serif;font-size:24px;letter-spacing:.5px;margin:8px 0}.timer>span{font-size:12px}#position{position:static;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:1px;display:block;margin-top:10px;color:#b8c4bf}.combo{top:auto;bottom:100px;left:50%;transition:opacity .25s}.combo.quiet{opacity:0}#navigation{position:absolute;left:50%;top:115px;transform:translateX(-50%);font-size:13px;letter-spacing:.3px;color:#e4dfcc;padding:11px 16px;border:1px solid #ffffff20;border-radius:6px;background:#14252d99;white-space:nowrap}.map canvas{border:1px solid #ffffff25;border-radius:10px}.map{top:112px}.intro-tip{font-size:13px}.assist-toggle{font-size:12px}.menu-content h1{font-size:clamp(85px,9vw,130px)}.menu-content p{font-size:16px}.car-label strong{font-size:24px}.tools button{font-size:11px}.keyboard{font-size:11px}
#city-map{position:fixed;inset:0;z-index:60;background:linear-gradient(125deg,#10272dfc,#0c1b24fc);padding:28px max(28px,env(safe-area-inset-right)) 20px max(28px,env(safe-area-inset-left));overflow:auto}.map-heading{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto 20px}.map-heading small{font-size:12px;letter-spacing:2px;color:#aabbb5}.map-heading h2{font-size:32px;margin:6px 0 0;font-weight:500}.map-heading button{background:#ffffff0c;border:1px solid #ffffff35;border-radius:6px;padding:14px;font-size:12px;min-height:44px}.map-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(270px,.72fr);align-items:start;gap:30px;max-width:1100px;margin:auto}#city-map-canvas{width:100%;max-height:calc(100dvh - 135px);aspect-ratio:1;object-fit:contain;border-radius:14px;background:#12282d}.destinations>p{font-size:14px;color:#a6bab4;margin:0 0 12px}.destinations>button{width:100%;display:flex;align-items:center;text-align:left;gap:15px;padding:15px 12px;background:transparent;border:0;border-bottom:1px solid #ffffff18}.destinations>button:hover{background:#ffffff0c}.destinations>button>span{font-size:13px;color:#d3b97e}.destinations>button>div{flex:1}.destinations strong{display:block;font-size:16px;font-weight:500}.destinations small{display:block;font-size:12px;margin-top:5px;color:#a0b5af}.destinations b{font-size:20px;font-weight:400}#clear-route{margin-top:12px;font-size:12px;color:#c3c8bb;justify-content:center;border:1px solid #ffffff23;border-radius:6px}
@media(pointer:coarse) and (orientation:landscape){.timer{top:66px;left:max(24px,calc(env(safe-area-inset-left) + 12px));transform:none;text-align:left}.timer strong{font-size:20px;margin:5px 0}.timer label,.timer>span,#position{font-size:11px}#position{position:static;margin-top:6px}.combo{top:auto;bottom:35px;max-width:250px}.combo label{font-size:19px;letter-spacing:1px}.combo strong{font-size:28px}#navigation{top:67px;font-size:12px;max-width:310px;white-space:normal;text-align:center;padding:9px 12px}.map{display:none}.menu-content h1{font-size:65px}.menu-content{max-width:390px}.tools button{font-size:10px;min-width:36px;padding:8px}.tools{gap:5px}.brand{font-size:22px}.brand small{font-size:8px}.menu .start{font-size:14px}.assist-toggle{font-size:11px}.car-label{display:flex;bottom:60px}.dialog p{font-size:14px}.map-heading{margin-bottom:10px}.map-heading h2{font-size:24px}.map-heading small{font-size:11px}.map-heading button{padding:10px}.map-layout{grid-template-columns:minmax(220px,1fr) minmax(270px,1fr);gap:20px}#city-map{padding-top:15px}#city-map-canvas{max-height:calc(100dvh - 100px)}.destinations{max-height:calc(100dvh - 100px);overflow:auto;padding-right:6px}.destinations>button{padding:11px 8px}.destinations strong{font-size:14px}.destinations small{font-size:12px}.destinations>p{font-size:12px}.speed{bottom:205px}.controls .handbrake{font-size:11px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:360px){.timer{top:51px}.timer strong{font-size:17px}#navigation{top:53px;max-width:235px;font-size:11px}.combo{bottom:30px;max-width:205px}.combo label{font-size:15px}.combo strong{font-size:22px}.combo span{font-size:18px}.menu-content h1{font-size:49px;margin:10px 0}.assist-toggle{font-size:10px}.speed{bottom:165px}.brand{font-size:20px}.car-label strong{font-size:20px}}
@media(pointer:coarse) and (orientation:landscape) and (min-height:600px){.timer{top:95px}.timer strong{font-size:25px}#navigation{top:95px;font-size:14px}.map{display:block;top:90px}.combo{bottom:65px}.menu-content h1{font-size:100px}.speed{bottom:280px}}

#place-list>button{width:100%;display:flex;align-items:center;text-align:left;gap:15px;padding:14px 12px;background:transparent;border:0;border-bottom:1px solid #ffffff18}#place-list>button:hover{background:#ffffff0c}#place-list>button>span{font-size:13px;color:#d3b97e}#place-list>button>div{flex:1}#place-list>button>b{font-size:20px;font-weight:400}.destinations{max-height:calc(100dvh - 140px);overflow-y:auto;padding-right:8px}@media(pointer:coarse) and (orientation:landscape){.destinations{max-height:calc(100dvh - 100px)}#place-list>button{padding:12px 8px}}

#controller-status{position:fixed;z-index:12;bottom:6px;left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid #ffffff28;border-radius:6px;background:#10252bdd;font-size:11px;color:#c1d7c8;white-space:nowrap}.controller-active .controls,.controller-active .keyboard{display:none!important}.controller-active .speed{bottom:65px!important}.controller-active #recover{bottom:35px!important;left:4%!important}.controller-active .combo{bottom:105px!important}#place-list>button.pad-selected{background:#d8bb7730;outline:2px solid #dfc58e;outline-offset:-2px}#controller-help{z-index:85;overflow:auto}#controller-help>div{max-width:520px}#controller-help h2{font-size:43px}#controller-help p{font-size:14px;line-height:1.55}@media(max-height:480px){#controller-help>div{max-width:650px}#controller-help h2{font-size:29px;margin:8px 0}#controller-help p{margin:8px 0;font-size:12px}#controller-status{font-size:10px;padding:5px 9px}.controller-active .speed{bottom:50px!important}}

.map-accuracy{position:fixed;bottom:33px;left:50%;transform:translateX(-50%);font-size:10px;max-width:70vw;text-align:center;color:#b9cac0;pointer-events:auto;z-index:5}.map-accuracy a{color:inherit}.playing .map-accuracy{display:none}

.geography-note{font-size:12px!important;line-height:1.45;color:#a8bdb2}.geography-note a{color:#dbc58f}

#destination-hud{position:fixed;z-index:10;top:76px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;width:min(370px,70vw);padding:13px 15px;border:1px solid #b5e9d14d;border-radius:12px;background:#0b2029e8;box-shadow:0 8px 30px #0004;pointer-events:auto}#destination-hud[hidden],#destination-beacon[hidden]{display:none}#destination-arrow{font-size:36px;color:#b7f2da;line-height:1}#destination-hud>div{flex:1;min-width:0}#destination-name{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#destination-turn{display:block;font-size:14px;color:#c5e6d5;margin-top:3px}#destination-distance{display:block;font-size:12px;color:#a9bab5;margin-top:3px}#cancel-destination{font-size:25px;border:0;background:transparent;color:#d0e2da;padding:5px}#destination-beacon{position:fixed;z-index:6;transform:translate(-50%,-100%);text-align:center;pointer-events:none;color:#b9f4d6;text-shadow:0 2px 5px #000}#destination-beacon span{display:block;font-size:45px;line-height:1}#destination-beacon b{font-size:13px;padding:4px 7px;border-radius:5px;background:#123128dd}@media(max-height:500px){#destination-hud{top:51px;padding:8px 10px;width:290px;gap:8px}#destination-arrow{font-size:28px}#destination-name{font-size:14px}#destination-turn{font-size:12px}#destination-distance{font-size:11px}}

.vignette{background:linear-gradient(180deg,#02050b33,transparent 20%,transparent 82%,#03050b44)}

/* The atlas is a working map: its selected arrival stays beside the controls. */
#city-map{padding:20px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));overflow:hidden}
#city-map .map-heading{max-width:1280px;margin-bottom:16px}
#city-map .map-heading h2{font-size:27px;letter-spacing:-.7px}
#city-map .map-heading button{font-size:14px;min-width:80px}
#city-map .map-layout{max-width:1280px;height:calc(100dvh - 112px);grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}
.map-workspace{min-height:0;display:flex;flex-direction:column;gap:12px}
.map-stage{position:relative;min-height:140px;flex:1;border:1px solid #c1d5bf29;border-radius:12px;overflow:hidden}
#city-map-canvas{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:fill;border-radius:0;touch-action:none;cursor:crosshair}
.map-zoom{position:absolute;right:12px;top:12px;display:grid;gap:5px}
.map-zoom button,.map-view-tools button{background:#0e252beb;border:1px solid #b5cdb83d;border-radius:7px;min-height:44px;min-width:44px;font-size:23px;color:#dce9d9}
.map-view-tools{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.map-view-tools button{font-size:12px;padding:0 13px}
.map-selection{padding:14px 16px;background:#d0dfbd0a;border:1px solid #ced5b52b;border-radius:11px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}
.map-selection strong{font-size:17px;font-weight:600}
.map-selection p{font-size:13px;line-height:1.4;color:#b2c5b9;margin:5px 0 0}
.map-actions{display:flex;gap:8px}
.map-actions button{min-height:44px;padding:11px 15px;font-size:13px;border:1px solid #d8c39763;border-radius:7px;background:transparent;color:#e5deca}
.map-actions #map-teleport{background:#e5c790;border-color:#e5c790;color:#162e2d;font-weight:700}
.map-actions button:disabled{opacity:.4;cursor:default}
#map-status{grid-column:1/-1;margin:0;color:#e7cf9d;min-height:0}
#map-status:empty{display:none}
#city-map .destinations{max-height:none;min-height:0;overflow:auto;padding:0 3px 0 0}
.map-search-label{display:block;font-size:12px;letter-spacing:1.5px;color:#b3c5b9;margin:2px 0 9px}
#map-search{width:100%;min-height:44px;padding:11px 12px;border-radius:8px;border:1px solid #b3c8b342;color:#eff2e5;background:#071d2580;font:inherit;font-size:16px;margin-bottom:8px}
#street-results button{display:block;width:100%;text-align:left;padding:13px 10px;border:0;border-bottom:1px solid #ffffff1c;background:transparent;font-size:14px;color:#e7d9b7}
#city-map #place-list button{padding:13px 9px;gap:11px}
#city-map #place-list strong{font-size:14px;line-height:1.35}
#city-map #place-list small{font-size:12px;line-height:1.4}
#city-map #place-list button[hidden]{display:none}
#city-map .map-help{font-size:12px;line-height:1.6;color:#acbeb2;margin:16px 4px 12px}
#city-map .geography-note{font-size:12px;margin:14px 4px}
#city-map button:focus-visible,#map-search:focus-visible,#city-map-canvas:focus-visible{outline:2px solid #ffe0a3;outline-offset:-3px}
@media(max-width:900px){#city-map .map-layout{grid-template-columns:minmax(0,1fr) 245px;gap:12px}.map-selection{grid-template-columns:1fr;padding:10px 12px;gap:7px}.map-actions button{flex:1}.map-selection strong{font-size:15px}.map-selection p{font-size:12px}.map-actions{width:100%}}
@media(max-height:500px){#city-map{padding-top:10px;padding-bottom:10px}#city-map .map-heading{margin-bottom:8px}#city-map .map-heading small{font-size:10px}#city-map .map-heading h2{font-size:21px;margin:3px 0 0}#city-map .map-layout{height:calc(100dvh - 78px)}.map-workspace{gap:7px}.map-selection{padding:8px 10px}.map-actions button{padding:8px 9px;min-height:42px;font-size:12px}.map-view-tools{bottom:8px;right:8px}.map-view-tools button{padding:0 8px;font-size:11px;min-height:40px}.map-zoom{right:8px;top:8px;gap:3px}.map-zoom button{min-height:40px;min-width:40px}.map-selection p{margin-top:3px}}
@media(max-width:600px) and (orientation:portrait){#city-map{overflow:auto}#city-map .map-layout{display:flex;flex-direction:column;height:auto}.map-workspace{height:65dvh;min-height:400px}#city-map .destinations{max-height:32dvh}.map-stage{min-height:200px}}
#map-street-view{display:inline-block;margin:3px 0 0;color:#e5c68f;font-size:10px;font-weight:700;letter-spacing:.08em;text-underline-offset:3px}#map-street-view[hidden]{display:none}.map-loading .map-stage,.map-loading .destinations{pointer-events:none;opacity:.75}.map-loading #map-search{pointer-events:none}

@media(max-height:500px){.map-stage{min-height:80px}}
/* Two large, thumb-friendly vehicle choices. Paint applies to the EV. */
.vehicle-picker{display:flex;gap:9px;margin:15px 0 8px;max-width:360px}.vehicle-picker button{flex:1;min-height:54px;padding:10px 14px;border:1px solid #ffffff30;border-radius:10px;background:#101c20bb;color:#e3e7df;text-align:left;font:inherit;font-size:12px;font-weight:700;letter-spacing:.09em;cursor:pointer}.vehicle-picker small{display:block;font-size:9px;letter-spacing:.12em;opacity:.65;margin-top:5px}.vehicle-picker button.selected{border-color:#cedca1;background:#cddca119;box-shadow:inset 0 0 0 1px #cedca144}.vehicle-picker button:focus-visible{outline:2px solid #f0f6c9;outline-offset:3px}#ev-paints[hidden]{display:none!important}@media(max-height:500px){.vehicle-picker{margin:8px 0 5px}.vehicle-picker button{min-height:44px;padding:7px 11px}.vehicle-picker small{margin-top:3px}}

/* Optional free-roam activities stay beside map destinations. */
.local-tours{margin:16px 0;padding:15px 0;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}.local-tours>span{font-size:10px;letter-spacing:.14em;color:#dfbc81}.local-tours button{display:block;width:100%;text-align:left;margin-top:8px;padding:12px;border:1px solid #ffffff16;background:#172927;color:#efe8db;border-radius:9px;font-family:inherit;font-size:14px;font-weight:600}.local-tours small{display:block;color:#a9b9af;font-size:11px;margin-top:5px}.local-tours p{font-size:11px;line-height:1.5;color:#a9b9af}#horn{padding:9px 12px;background:#18252bbb;color:#d9ddd7;border:1px solid #6f7b8266;border-radius:7px;font-size:10px;letter-spacing:.06em}#horn:active{background:#536156}@media(max-height:500px){#local-drive{font-size:9px;padding:7px}#horn{padding:6px 9px}.tools{gap:4px}}

#horn{position:absolute;right:calc(100% + 12px);top:0;height:38px;width:55px}.tools{min-width:0}.tools button{white-space:nowrap}@media(max-width:740px){#local-drive{display:none}.tools{gap:4px}.tools button{padding:8px;font-size:9px}}@media(pointer:coarse) and (orientation:landscape){.controls #horn{right:calc(100% + 12px);top:0;height:40px;width:53px;min-height:40px}}

/* Native-resolution HTML sits above the adaptively rendered city. */
#display-settings{z-index:90;padding:24px;overflow:auto;background:#071117e8}
#display-settings>div{max-width:520px;margin:auto}
#display-settings h2{font-size:48px;margin:18px 0 12px;letter-spacing:-1px}
#display-settings p{font-size:15px;line-height:1.55;margin:12px 0;color:#bacac5}
.display-modes{display:grid;gap:9px;margin:24px 0}
.display-modes button{display:flex;align-items:center;gap:22px;width:100%;padding:17px 19px;border:1px solid #d2e1d32b;border-radius:10px;background:#172b2f;text-align:left}
.display-modes strong{width:54px;flex-shrink:0;font-size:15px;letter-spacing:1.4px}
.display-modes span{font-size:14px;line-height:1.55;color:#adc2b9}
.display-modes button[aria-pressed=true]{border-color:#c8ddac;background:#324238;box-shadow:inset 3px 0 #d4e2b6}
.display-modes button[aria-pressed=true] span{color:#e0e9d9}
.controller-active .display-modes button.pad-choice{outline:2px solid #f4daa5;outline-offset:3px}
.display-readout{display:grid;gap:9px;margin:21px 0 7px}
.display-readout>div{display:flex;justify-content:space-between;gap:15px}
.display-readout dt{font-size:12px;letter-spacing:1.4px;color:#a2b8ad;align-self:center}
.display-readout dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums;color:#ece7d7}
#display-settings .display-live{font-size:12px;letter-spacing:1.5px;color:#c8ddac;margin:10px 0 20px}
#display-settings .display-tip{font-size:13px;padding-top:16px;border-top:1px solid #ffffff1f}
#display-settings .secondary{margin:9px 0 12px;min-height:48px;font-size:13px}
#display-settings .start{min-height:54px;font-size:14px}
.display-pad-help{display:block;font-size:12px;line-height:1.6;color:#92aaa0;margin-top:15px;text-align:center}
.tv-mode{--tv-scale:1.2}
.tv-mode header{padding:3vh 4vw;gap:25px}
.tv-mode .brand{font-size:calc(30px * var(--tv-scale))}
.tv-mode .brand small{font-size:calc(10px * var(--tv-scale))}
.tv-mode .tools{gap:calc(8px * var(--tv-scale))}
.tv-mode .tools button{font-size:calc(12px * var(--tv-scale));padding:calc(12px * var(--tv-scale));min-height:44px}
.tv-mode .timer,.tv-mode .score{top:calc(100px * var(--tv-scale) + 3vh);left:4vw;transform:scale(var(--tv-scale));transform-origin:top left}
.tv-mode .timer strong{max-width:330px}
.tv-mode .map{right:4vw;top:calc(100px * var(--tv-scale) + 3vh);transform:scale(var(--tv-scale));transform-origin:top right}
.tv-mode .map span{font-size:11px}
.tv-mode .speed{right:4vw;bottom:7vh!important;transform:scale(var(--tv-scale));transform-origin:bottom right}
.tv-mode #recover{left:4vw!important;bottom:7vh!important;transform:scale(var(--tv-scale));transform-origin:bottom left}
.tv-mode .combo{bottom:calc(85px * var(--tv-scale))!important;transform:translateX(-50%) scale(var(--tv-scale));transform-origin:bottom center}
.tv-mode #navigation{top:calc(112px * var(--tv-scale) + 3vh);transform:translateX(-50%) scale(var(--tv-scale));transform-origin:top center}
.tv-mode #destination-hud{top:calc(100px * var(--tv-scale) + 3vh);transform:translateX(-50%) scale(var(--tv-scale));transform-origin:top center}
.tv-mode #destination-beacon b{font-size:calc(13px * var(--tv-scale))}
.tv-mode #destination-beacon span{font-size:calc(45px * var(--tv-scale))}
.tv-mode #controller-status{bottom:3vh;font-size:calc(12px * var(--tv-scale));padding:calc(8px * var(--tv-scale)) calc(14px * var(--tv-scale))}
.tv-mode .keyboard{bottom:3vh;font-size:calc(11px * var(--tv-scale))}
.tv-mode .menu-content{transform:scale(var(--tv-scale));transform-origin:left center}
.tv-mode .car-label{transform:scale(var(--tv-scale));transform-origin:bottom right;bottom:16vh}
.tv-mode .bottom-line{bottom:4vh;font-size:calc(10px * var(--tv-scale))}
.tv-mode .map-accuracy{bottom:8vh;font-size:calc(11px * var(--tv-scale))}
.tv-mode .dialog{padding:4vh 4vw}
.tv-mode .dialog>div{max-width:calc(480px * var(--tv-scale));max-height:90dvh;overflow:auto}
.tv-mode .dialog h2{font-size:calc(48px * var(--tv-scale))}
.tv-mode .dialog p{font-size:calc(15px * var(--tv-scale))}
.tv-mode .dialog .start,.tv-mode .dialog .secondary{font-size:calc(14px * var(--tv-scale));padding:calc(17px * var(--tv-scale));min-height:calc(52px * var(--tv-scale))}
.tv-mode .dialog .edition{font-size:calc(12px * var(--tv-scale))}
.tv-mode #display-settings>div{max-width:calc(520px * var(--tv-scale))}
.tv-mode #display-settings h2{font-size:calc(46px * var(--tv-scale))}
.tv-mode #display-settings p{font-size:calc(15px * var(--tv-scale))}
.tv-mode .display-modes{gap:calc(10px * var(--tv-scale));margin:calc(22px * var(--tv-scale)) 0}
.tv-mode .display-modes button{gap:calc(22px * var(--tv-scale));padding:calc(17px * var(--tv-scale))}
.tv-mode .display-modes strong{width:calc(54px * var(--tv-scale));font-size:calc(15px * var(--tv-scale))}
.tv-mode .display-modes span,.tv-mode .display-readout dd{font-size:calc(14px * var(--tv-scale))}
.tv-mode .display-readout dt,.tv-mode #display-settings .display-live,.tv-mode .display-pad-help{font-size:calc(12px * var(--tv-scale))}
.tv-mode #display-settings .display-tip{font-size:calc(13px * var(--tv-scale))}
.tv-mode #city-map{padding:4vh 4vw}
.tv-mode #city-map .map-heading,.tv-mode #city-map .map-layout{max-width:none}
.tv-mode #city-map .map-layout{height:calc(88dvh - 65px * var(--tv-scale));grid-template-columns:minmax(0,1fr) calc(300px * var(--tv-scale));gap:calc(20px * var(--tv-scale))}
.tv-mode #city-map .map-heading h2{font-size:calc(28px * var(--tv-scale))}
.tv-mode #city-map button,.tv-mode #city-map input,.tv-mode #city-map #place-list strong{font-size:calc(14px * var(--tv-scale))}
.tv-mode #city-map .map-help,.tv-mode #city-map #place-list small,.tv-mode #city-map .local-tours small{font-size:calc(12px * var(--tv-scale))}
.tv-mode .map-selection strong{font-size:calc(17px * var(--tv-scale))}
.tv-mode .map-selection p,.tv-mode #map-street-view{font-size:calc(13px * var(--tv-scale))}
.tv-mode #city-map #place-list button,.tv-mode .local-tours button{padding:calc(14px * var(--tv-scale))}
@media(max-height:600px){#display-settings{align-items:flex-start;padding:18px}#display-settings>div{max-width:660px}#display-settings h2{font-size:32px}.display-modes{grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.display-modes button{display:block;padding:12px}.display-modes strong{display:block;margin-bottom:8px}.display-modes span{font-size:12px}.display-modes span br{display:none}.display-readout{margin-top:10px}#display-settings .display-tip{margin-top:12px}}
