@import url('./vendor/fonts.css');
:root{font-family:Manrope,Arial,sans-serif;color:#fff;background:#88baca;font-synthesis:none;--orange:#ff713e;--ink:#14242c;--muted:#b7c4c7}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffb490;outline-offset:5px}button:disabled{cursor:wait;opacity:.55}button{color:inherit}#world,#world canvas,.cinema-shade{position:absolute;inset:0;width:100%;height:100%}.cinema-shade{pointer-events:none;background:linear-gradient(90deg,rgba(10,25,32,.82) 0%,rgba(14,30,37,.54) 28%,rgba(14,30,37,0) 58%),linear-gradient(0deg,rgba(8,22,27,.5),transparent 28%,transparent 80%,rgba(8,22,27,.22));transition:background 1s}body.playing .cinema-shade{background:linear-gradient(0deg,rgba(8,22,27,.32),transparent 24%,transparent 83%,rgba(8,22,27,.3))}.topbar{position:absolute;left:38px;right:38px;top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;z-index:4}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff;font-size:19px;font-weight:800;letter-spacing:1.4px;line-height:1.1}.brand-sub{display:block;font-size:11px;letter-spacing:5px;font-weight:500;margin-top:7px}.brand-mark{height:44px;width:43px;background:var(--orange);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:29px;transform:skew(-9deg);color:#122630;position:relative}.brand-mark span{font-size:20px;position:absolute;top:0;right:1px;color:#fff}.session{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:600;padding:11px 17px;background:#10252d49;border:1px solid #ffffff1c;border-radius:5px;backdrop-filter:blur(12px)}.sun-icon{color:#ffe2a8;font-size:20px;line-height:1}.session-divider{height:13px;width:1px;background:#ffffff50;margin:0 3px}.session-time{font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:8px}.icon-button{display:grid;place-items:center;border:1px solid #ffffff26;background:#11272e58;border-radius:5px;width:41px;height:41px;backdrop-filter:blur(10px);transition:.2s}.icon-button:hover{background:#ff713e;border-color:#ff713e}.icon-button svg{width:18px;height:18px}.start-screen{position:absolute;top:24%;left:6.5%;width:min(420px,36vw);z-index:3;transition:opacity .5s,transform .7s}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;display:flex;align-items:center;gap:10px;color:#c7d5d7}.eyebrow>span{height:2px;width:23px;background:var(--orange)}h1{font-size:clamp(52px,5.4vw,84px);line-height:1.05;font-weight:800;letter-spacing:-4px;margin:23px 0 22px}h1 em{color:var(--orange);font-style:normal}.intro{font-size:14px;line-height:1.9;color:#dae0e0;margin-bottom:24px}.car-select{border-top:1px solid #ffffff2b;padding:19px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.small-label{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}.car-select strong{font-size:15px;display:block;margin-top:9px}.car-select strong>span{font-size:11px;color:#a8babc;border:1px solid #ffffff30;border-radius:3px;padding:2px 5px;margin-left:7px}.swatches{display:flex;gap:10px}.swatch{width:21px;height:21px;display:block;border:3px solid #22373d;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #ffffff35;padding:0}.swatch.selected{box-shadow:0 0 0 2px var(--orange)}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--orange);border:0;border-radius:4px;padding:18px 23px;font-size:14px;font-weight:800;box-shadow:0 6px 28px #ff713e1a;transition:background .2s,transform .2s}.primary:hover{background:#ff8a5d;transform:translateY(-1px)}.primary>span:last-child{font-size:24px;line-height:1;font-weight:500}.primary #start-label{font-size:14px;font-weight:800}.start-hints{display:flex;gap:17px;font-size:10px;color:#c2ced0;margin:18px 0;align-items:center}.start-hints>span{display:flex;align-items:center;gap:4px}kbd{font-family:inherit;font-size:10px;border:1px solid #ffffff40;background:#ffffff0a;border-radius:3px;padding:3px 5px;margin-right:2px;color:#f1f5f5;line-height:1.2}.edition{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.4px;color:#9aafb4;margin-top:32px;font-weight:700}.edition-line{width:14px;height:1px;background:#869b9f}.edition-version{margin-left:auto;color:#779096;font-size:8px}.map-panel{position:absolute;left:38px;bottom:30px;width:226px;background:#0f252bdb;backdrop-filter:blur(12px);border:1px solid #e0f0ed29;border-radius:7px;overflow:hidden;box-shadow:0 4px 20px #13282a15;z-index:3}.map-heading{padding:11px 13px 7px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px;font-weight:700}.map-title{display:flex;align-items:center;gap:7px}.map-dot{width:5px;height:5px;background:var(--orange);border-radius:50%}.north{font-size:10px;color:#b5c9c9}#minimap{width:100%;height:140px;display:block}.map-footer{display:flex;justify-content:space-between;gap:5px;align-items:center;border-top:1px solid #ffffff14;padding:10px 12px;font-size:9px;color:#b8cecd}.map-scale{font-size:8px;white-space:nowrap;border-top:1px solid #a1b9b7;padding-top:3px}.bottom-center{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px;letter-spacing:1px;color:#dde9e6;z-index:3}.uz-flag{width:20px;height:12px;background:linear-gradient(#45b7d8 0 30%,#c14648 30% 35%,#fff 35% 64%,#c14648 64% 69%,#60a36a 69%);border-radius:1px}.bottom-separator{opacity:.5}#drive-state{font-size:8px;letter-spacing:1.7px}.speed-panel{position:absolute;right:38px;bottom:30px;width:205px;color:white;z-index:3}.speed-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.2px;font-weight:700}.speed-top #gear{display:grid;place-items:center;letter-spacing:0;font-size:15px;font-weight:700;width:27px;height:27px;background:#17323a88;border:1px solid #ffffff45;border-radius:4px}.speed-main{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;margin:4px 0 10px}.speed-main strong{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:94px;font-weight:500;line-height:1;letter-spacing:1px;font-variant-numeric:tabular-nums}.speed-main>span{font-size:11px;color:#ccd9d9}.rev-track{height:5px;background:#ffffff25;position:relative;display:flex;justify-content:space-evenly;overflow:hidden}.rev-track>span{width:3px;height:100%;background:#24414b;position:relative;z-index:1}.rev-track>div{position:absolute;left:0;top:0;width:2%;height:100%;background:var(--orange);transition:width .12s}.speed-bottom{display:flex;justify-content:space-between;color:#c7d4d5;font-size:9px;letter-spacing:1.1px;margin-top:13px}.orange{color:var(--orange)}#car-status{font-size:8px}.route-card{position:absolute;top:108px;left:38px;display:flex;gap:12px;align-items:center;padding:14px 16px;background:#10272bd9;backdrop-filter:blur(12px);border:1px solid #ffffff23;border-radius:5px;min-width:290px;z-index:3}.route-card .small-label{font-size:8px;letter-spacing:1.3px}.route-card strong{font-size:12px;display:block;margin:6px 0}.route-arrow{font-size:29px;color:var(--orange)}#destination-distance{font-size:10px;color:#b9cecf}#discover-count{margin-left:auto;align-self:flex-start;font-size:11px;color:#fca87e}.driving-hints{position:absolute;bottom:69px;left:50%;transform:translateX(-50%);display:flex;gap:18px;white-space:nowrap;font-size:10px;color:#dce9e6;z-index:3}.location-toast{position:absolute;top:18%;left:50%;transform:translate(-50%,-15px);padding:15px 25px;background:#122d32e8;backdrop-filter:blur(12px);border:1px solid #ffffff30;border-left:3px solid var(--orange);border-radius:4px;font-size:14px;opacity:0;transition:opacity .35s,transform .35s;z-index:4;pointer-events:none;text-align:center}.location-toast.show{opacity:1;transform:translate(-50%,0)}.location-toast small{display:block;color:#a8c6c7;font-size:10px;margin-top:6px;letter-spacing:.5px}.pause-dialog{background:#142b31f5;color:#fff;border:1px solid #7794934d;border-radius:10px;max-width:450px;width:calc(100% - 36px);padding:36px;box-shadow:0 30px 100px #0007}.pause-dialog::backdrop{background:#041b266e;backdrop-filter:blur(7px)}.pause-dialog h2{font-size:32px;letter-spacing:-1px;margin:16px 0 8px}.pause-dialog>p{color:#b5c9ca;font-size:14px;line-height:1.6;margin-bottom:27px}.secondary{width:100%;padding:15px;border:1px solid #ffffff25;background:transparent;border-radius:4px;font-size:12px;margin-top:10px}.secondary:hover{background:#ffffff10}.pause-controls{margin-top:24px;padding-top:10px;border-top:1px solid #ffffff20}.pause-controls p{display:flex;gap:6px;align-items:center;font-size:10px;color:#adc4c5}.pause-dialog .map-note{font-size:10px;margin:20px 0 5px}.source-link{font-size:10px;color:#d0dedd;text-underline-offset:3px}.touch-controls{display:none;position:absolute;bottom:24px;left:20px;right:20px;justify-content:space-between;z-index:5;pointer-events:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid #ffffff40;border-radius:10px;background:#102d36b0;backdrop-filter:blur(10px);height:60px;width:65px;font-size:30px;font-weight:600}.touch-controls button.pressed{background:#ff713edd}.touch-controls button.gas{background:#ed703bdd;font-size:15px}.touch-controls button.brake{font-size:10px}.error-screen{position:absolute;z-index:20;inset:0;background:#142b31;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.error-screen p{max-width:430px;color:#c6d6d6;font-size:16px;line-height:1.8}.error-screen .primary{max-width:260px;margin-top:20px}[hidden]{display:none!important}body.playing .start-screen{opacity:0;transform:translateX(-40px);pointer-events:none}
@media(min-width:1600px){.start-screen{top:25%;width:445px}.intro{font-size:16px}.small-label{font-size:11px}.eyebrow{font-size:11px}.car-select strong{font-size:17px}.primary{font-size:16px;padding:22px}.map-panel{width:250px}#minimap{height:156px}.speed-panel{width:230px}.speed-main strong{font-size:112px}}
@media(max-height:820px) and (min-width:901px){.start-screen{top:20%;left:6%}h1{font-size:62px;margin:17px 0}.intro{margin:0 0 12px;font-size:13px}.car-select{padding:13px 0 17px}.edition{margin-top:20px}.map-panel{width:190px;bottom:24px}#minimap{height:100px}.map-heading{padding-top:9px}.map-footer{padding:8px}.start-hints{margin:13px 0}.speed-main strong{font-size:84px}}
@media(max-width:1000px){.topbar{left:24px;right:24px;top:23px}.session{font-size:10px}.start-screen{left:5%;width:360px;max-width:45vw}h1{font-size:60px;letter-spacing:-3px}.eyebrow{font-size:8px;letter-spacing:1.2px}.intro{font-size:13px}.map-panel{left:24px;width:195px}#minimap{height:110px}.speed-panel{right:24px;width:170px}.speed-main strong{font-size:80px}.bottom-center{font-size:9px;bottom:30px}.start-hints{font-size:9px;gap:9px}.edition-version{display:none}.route-card{left:24px}.driving-hints{font-size:9px;gap:9px}}
@media(max-width:700px){.topbar{top:max(18px,env(safe-area-inset-top));left:20px;right:20px;gap:10px}.brand{font-size:15px;gap:9px}.brand-mark{width:34px;height:37px;font-size:25px}.brand-sub{font-size:8px;letter-spacing:4px}.session{display:none}.toolbar{gap:6px}.icon-button{width:35px;height:35px}.icon-button svg{width:16px;height:16px}.cinema-shade{background:linear-gradient(90deg,#112832df,rgba(14,30,37,.5) 70%,#10242d11),linear-gradient(0deg,#10242d7a,transparent 60%)}.start-screen{top:23%;left:25px;width:320px;max-width:calc(100vw - 50px)}h1{font-size:60px;letter-spacing:-3.5px}.eyebrow{font-size:8px;letter-spacing:1px}.intro{font-size:13px;line-height:1.8}.car-select{padding:15px 0 18px}.car-select strong{font-size:14px}.small-label{font-size:9px}.primary{padding:17px 20px}.start-hints{display:none}.edition{margin-top:19px;font-size:8px;letter-spacing:1px}.map-panel{left:20px;bottom:24px;width:150px}.map-heading{padding:9px;font-size:8px}#minimap{height:87px}.map-footer{font-size:7px;padding:8px}.map-scale{display:none}.speed-panel{right:20px;bottom:27px;width:120px}.speed-top{font-size:7px;letter-spacing:.3px}.speed-top #gear{width:21px;height:23px;font-size:13px}.speed-main strong{font-size:67px}.speed-main{gap:5px}.speed-main>span{font-size:9px}.speed-bottom{font-size:7px;letter-spacing:0}.speed-top{gap:3px}#car-status{font-size:7px}.bottom-center{bottom:7px;font-size:7px;gap:7px}#drive-state{font-size:6px}.route-card{top:80px;left:20px;min-width:240px;padding:11px;gap:10px;max-width:calc(100% - 40px)}.route-card strong{font-size:11px}.location-toast{top:25%;max-width:90%;width:max-content;font-size:12px}.driving-hints{display:none!important}body.playing .map-panel{bottom:104px;width:140px}body.playing #minimap{height:80px}body.playing .speed-panel{bottom:111px}body.playing .bottom-center{bottom:7px}.pause-dialog{padding:26px}.pause-controls p{font-size:9px;flex-wrap:wrap}.pause-controls kbd{font-size:8px}}
@media(pointer:coarse){body.playing .touch-controls:not([hidden]){display:flex}body.playing .map-panel{bottom:112px}body.playing .speed-panel{bottom:115px}.driving-hints{display:none!important}.start-hints{visibility:hidden}}
@media(max-height:590px){.topbar{top:15px}.start-screen{top:22%;width:310px}h1{font-size:43px;letter-spacing:-2px;margin:12px 0}.intro{font-size:11px;margin-bottom:9px}.car-select{padding:10px 0}.car-select strong{font-size:12px}.car-select .small-label{font-size:8px}.primary{padding:12px 16px}.edition,.start-hints{display:none}.map-panel{width:145px;left:auto;right:24px;top:85px;bottom:auto}#minimap{height:72px}.map-footer{font-size:7px;padding:7px}.speed-panel{bottom:20px}.speed-main strong{font-size:65px}.bottom-center{bottom:17px}body.playing .map-panel{top:80px;bottom:auto;left:auto;right:20px;width:140px}body.playing .speed-panel{right:20px;bottom:100px;width:125px}.route-card{top:77px;left:20px;min-width:220px}.route-card strong{font-size:10px}.touch-controls{bottom:20px}.touch-controls button{width:58px;height:54px}.location-toast{top:20%}.pause-dialog{padding:23px;max-height:95vh}.pause-dialog h2{font-size:25px;margin:10px 0}.pause-dialog>p{margin-bottom:15px}.pause-controls{margin-top:10px}.pause-dialog .map-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep the driving interface readable on compact displays. */
.session,.intro,.primary,.primary #start-label{font-size:14px}
.small-label,.eyebrow,.start-hints,.edition,.map-heading,.map-footer,.bottom-center,.speed-top,.speed-bottom,.driving-hints,.route-card .small-label,.route-card strong,#destination-distance,#discover-count,.location-toast small,.pause-controls p,.pause-dialog .map-note,.source-link,#car-status,#drive-state,.map-scale,.edition-version{font-size:12px}
.eyebrow{letter-spacing:1px}.edition{letter-spacing:.8px}.edition-version{display:none}.car-select strong{font-size:16px}.map-footer{line-height:1.4}.map-scale{display:none}.map-heading{letter-spacing:1px}.speed-top{letter-spacing:.4px}.speed-top>span:first-child{font-size:11px}.speed-bottom{letter-spacing:.5px}.bottom-center{letter-spacing:.7px}#drive-state{letter-spacing:.8px}kbd{font-size:12px}.pause-controls p{flex-wrap:wrap;line-height:1.7}.route-card{max-width:360px}.route-card .small-label{font-size:10px;letter-spacing:1px}.route-card strong{font-size:14px}.start-hints{gap:12px}.start-hints kbd{font-size:10px;padding:3px}.start-hints>span{gap:3px}.start-hints{font-size:11px}
@media(max-width:1000px){.session{font-size:12px}.start-screen{width:365px}.eyebrow{font-size:10px}.edition{font-size:10px}.map-footer{font-size:10px}.speed-top>span:first-child{font-size:10px}.speed-bottom,#car-status{font-size:10px}.driving-hints{font-size:11px}.bottom-center{font-size:10px}#drive-state{font-size:10px}.map-heading{font-size:11px}}
@media(max-width:700px){.start-screen{max-width:calc(100vw - 50px);width:330px}.eyebrow{font-size:9px;letter-spacing:.8px}.intro{font-size:14px}.car-select strong{font-size:15px}.car-select .small-label{font-size:10px}.edition{font-size:10px}.map-footer{font-size:10px;padding:7px 9px}.map-heading{font-size:10px}.speed-top>span:first-child{font-size:9px}.speed-bottom,#car-status{font-size:9px}.bottom-center{font-size:10px}#drive-state{font-size:9px}.route-card strong{font-size:12px}.route-card .small-label{font-size:10px}.route-card{max-width:calc(100% - 40px)}.route-card #destination-distance{font-size:11px}.pause-controls kbd{font-size:11px}.pause-controls p{font-size:12px}}
@media(max-width:700px) and (min-height:591px) and (max-height:750px){.start-screen{top:18%}h1{font-size:48px;margin:15px 0}.intro{font-size:13px;margin:0 0 12px}.car-select{padding:11px 0 14px}.edition{margin-top:12px}.map-panel{bottom:25px}.map-heading{padding:7px 9px}#minimap{height:65px}}
@media(max-height:590px){.eyebrow{font-size:9px}.intro{font-size:12px}.map-footer{font-size:9px}.start-screen .small-label{font-size:9px}.car-select strong{font-size:13px}}
