@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&family=Space+Mono:wght@400;700&display=swap');
:root{--lime:#d9ff43;--ink:#111b1c;--paper:#f5f3e5;--muted:#a7b4b0;--orange:#ff6a3d;--mono:'Space Mono',monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#101b20;color:var(--paper);font-family:var(--sans);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}button:disabled{opacity:.5;cursor:wait}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#grain{position:fixed;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:3}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 50%,transparent 32%,#07121c99 100%);z-index:2}#flash{position:fixed;inset:0;pointer-events:none;z-index:8;background:#ff592e;opacity:0;transition:opacity .18s}#topbar{position:fixed;top:0;left:0;right:0;height:110px;padding:32px 4.3vw;display:flex;justify-content:space-between;align-items:center;z-index:12}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);font-size:14px;font-weight:800;letter-spacing:1px;line-height:1.3}.brandmark{font-family:Arial,sans-serif;font-size:36px;font-weight:800;color:var(--lime);display:inline-block}.wordmark-sub{display:block;font-family:var(--mono);font-size:8px;font-weight:400;color:#acbcb4;letter-spacing:3px;margin-top:4px}.top-actions{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:1px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px #c6fa4755}.icon-btn{border:1px solid #b7c7bc40;background:#12232680;backdrop-filter:blur(12px);color:var(--paper);height:36px;min-width:36px;padding:0 10px;font-size:16px;border-radius:50px}.icon-btn span{font-size:8px;letter-spacing:1px}.icon-btn:hover{background:#d9ff4322;border-color:var(--lime)}.screen{position:fixed;inset:0;z-index:5}#menu{background:linear-gradient(90deg,#0b1a20e8 0%,#0b1a20ba 30%,#0b1a2040 56%,transparent 75%)}.menu-copy{position:absolute;top:22%;left:7%;max-width:670px}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:2.3px;display:flex;align-items:center;gap:10px;color:var(--lime)}.tiny-line{display:inline-block;width:24px;height:1px;background:var(--lime)}.version{color:#849593;margin-left:18px;font-size:9px}h1{font-family:var(--display);font-size:clamp(86px,10.5vw,170px);font-weight:900;letter-spacing:-.035em;line-height:.79;margin:30px 0 25px;text-transform:uppercase}h1 em{color:var(--lime);font-style:italic;display:block;margin-left:-7px}.title-dot{color:var(--orange)}.tagline{font-size:clamp(17px,1.55vw,23px);line-height:1.5;letter-spacing:-.5px;margin:0 0 18px}.tagline strong{font-weight:500;color:#c5d1ca}.menu-description{font-size:12px;color:#9dafab;line-height:1.8}.start-row{display:flex;gap:12px;margin-top:28px}.primary,.secondary{min-height:58px;padding:16px 24px;font-size:12px;font-weight:800;letter-spacing:1.3px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-radius:3px;transition:transform .15s,background .15s}.primary{background:var(--lime);color:var(--ink);box-shadow:0 4px 0 #88a323}.primary span{font-size:26px;line-height:1}.primary:hover{background:#e7ff8b;transform:translateY(-2px)}.primary:active{transform:translateY(2px);box-shadow:none}.secondary{background:#14282c99;color:var(--paper);border:1px solid #71848066;backdrop-filter:blur(10px)}.secondary:hover{background:#254344}.menu-meta{display:flex;gap:25px;margin-top:24px;font-family:var(--mono);font-size:8px;color:#9bac9e;letter-spacing:1px}.menu-meta .live-dot{width:4px;height:4px;margin-right:5px}.text-btn{color:inherit;background:none;padding:8px 0;font-family:var(--mono);font-size:9px;letter-spacing:1px}.text-btn:hover{color:var(--lime)}#howBtn{margin-top:23px;color:#9faea6;font-size:8px}#howBtn u{color:var(--paper);text-underline-offset:4px;margin-left:8px}.dispatch-preview{position:absolute;right:6%;top:23%;width:210px;transform:rotate(6deg);filter:drop-shadow(0 14px 20px #0007);opacity:.95}.receipt-top{padding:13px;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:space-between;font:700 8px var(--mono)}.receipt-top .live-dot{background:var(--ink);width:4px;height:4px}.receipt-body{background:var(--paper);color:var(--ink);padding:22px 20px 12px}.receipt-body small{font:9px var(--mono);letter-spacing:1px}.receipt-body h2{font:800 43px/.9 var(--display);margin:12px 0 18px;letter-spacing:-1px}.receipt-rule{border-top:1px dashed #89917e;margin:14px 0}.receipt-body p{font:700 18px var(--mono);display:flex;align-items:center;justify-content:space-between}.receipt-body p span{font:6px var(--mono)}.receipt-note{font-size:10px;line-height:1.7}.receipt-note span{font:7px var(--mono);color:#6d746a}.barcode{height:22px;margin-top:20px;background:repeating-linear-gradient(90deg,#18261f 0px,#18261f 2px,transparent 2px,transparent 5px,#18261f 5px,#18261f 6px,transparent 6px,transparent 9px)}.receipt-tear{height:10px;background:linear-gradient(135deg,var(--paper) 25%,transparent 25%) -5px 0/10px 10px,linear-gradient(225deg,var(--paper) 25%,transparent 25%) -5px 0/10px 10px}.menu-footer{position:absolute;bottom:25px;left:4.3%;right:4.3%;border-top:1px solid #71848044;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#b1bdb1}.menu-footer>div{display:flex;gap:28px}.footer-note{color:#9baea4}#loader{position:fixed;inset:0;background:#101b20;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s}#loader .brandmark{font-size:80px}#loader p{font:10px var(--mono);letter-spacing:3px}.hidden{display:none!important}#hud{position:fixed;inset:0;z-index:6;pointer-events:none}.score-strip{position:absolute;top:112px;left:4.3%;display:flex;gap:25px;padding:18px 24px;border:1px solid #99bdb02b;background:#0c2027bb;backdrop-filter:blur(12px);border-radius:4px}.score-strip small{display:block;font:8px var(--mono);color:#adbcad;letter-spacing:1px}.score-strip strong{font:700 36px var(--display);display:block;line-height:1.1;margin-top:5px}.score-strip>div:first-child strong{color:var(--lime)}.score-divider{width:1px;background:#8fa99d33}.mission-card{position:absolute;top:112px;right:4.3%;width:250px;background:#0b2028dc;border:1px solid #8da79c44;border-radius:4px;padding:19px;backdrop-filter:blur(12px)}.mission-label{display:flex;align-items:center;gap:7px;font:8px var(--mono);color:var(--lime);letter-spacing:1px}.mission-label>span:last-child{margin-left:auto;color:#9baea4}.mission-card h2{font:700 30px/.95 var(--display);letter-spacing:.5px;margin:17px 0 8px}.mission-card p{font-size:10px;color:#a3b8b3;margin:0 0 20px}.route-distance{display:flex;align-items:center;gap:10px}.route-distance>span{font:700 44px/.9 var(--display)}.route-distance small{font:7px var(--mono);color:#98b3aa}.route-distance b{display:block;font-weight:400;margin-top:7px;color:var(--lime)}#routeBar{height:2px;background:#334742;margin:16px 0}#routeBar i{display:block;width:0;background:var(--lime);height:100%;transition:width .15s}.order-stats{display:grid;gap:9px}.order-stats>span{font:7px var(--mono);color:#a6bab0;display:flex;justify-content:space-between}.order-stats b{color:var(--paper)}.meter{height:4px;background:#324740}.meter i{display:block;background:var(--lime);height:100%;width:100%;transition:width .2s}#map{width:100%;height:90px;margin-top:18px;border-top:1px solid #9aaf9922;padding-top:10px;opacity:.8}.speed-panel{position:absolute;bottom:70px;left:4.3%;width:190px}.speed-panel>div:first-child{display:flex;align-items:baseline;gap:9px}.speed-panel strong{font:800 87px/.85 var(--display);font-style:italic;letter-spacing:-3px}.speed-panel span{font:8px var(--mono);color:#b2c1b3}.boost-track{height:4px;background:#66807466;margin:15px 0 8px}.boost-track i{background:var(--lime);width:100%;height:100%;display:block}.speed-panel small{font:7px var(--mono);letter-spacing:.5px;color:#a8b9af}.speed-panel small span{float:right;font-size:7px}#objective{position:absolute;bottom:83px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#0b2029d9;border:1px solid #799b8744;padding:15px 24px;backdrop-filter:blur(8px);border-radius:4px;min-width:290px}#objectiveKey{color:var(--lime);font:32px var(--display)}#objective small{display:block;font:7px var(--mono);letter-spacing:1.4px;color:var(--lime);margin-bottom:5px}#objective strong{font-size:12px;font-weight:500}.game-controls{position:absolute;bottom:25px;left:0;right:0;display:flex;gap:25px;justify-content:center;font:8px var(--mono);color:#d0d9c8aa}kbd{font:9px var(--mono);display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border:1px solid #9ba99c66;border-radius:3px;margin-right:3px;padding:0 4px;color:var(--paper)}#toast{position:fixed;top:120px;left:50%;transform:translate(-50%,-20px);opacity:0;z-index:18;background:#112d30ee;border:1px solid #b6d58a44;backdrop-filter:blur(15px);padding:14px 20px;display:flex;align-items:center;gap:15px;pointer-events:none;transition:opacity .2s,transform .2s;border-radius:4px;max-width:430px}#toast.show{opacity:1;transform:translate(-50%,0)}#toastIcon{font-size:30px;color:var(--lime)}#toastTitle{font:700 18px var(--display);letter-spacing:.7px}#toastBody{font-size:10px;color:#aec3b5;margin:5px 0 0}#countdown{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none;background:#07161c33}#countdown strong{font:900 italic 200px/.9 var(--display);color:var(--lime);text-shadow:8px 10px #09212566}#countdown span{font:9px var(--mono);letter-spacing:3px;margin-top:22px}#combo{position:absolute;top:44%;left:50%;transform:translateX(-50%);color:var(--lime);font:700 30px var(--display);text-shadow:2px 3px #0b2028}#combo span{display:block;font:12px var(--mono);text-align:center;margin-top:6px}dialog{border:1px solid #819c6e55;border-radius:5px;background:#10272bf5;color:var(--paper);padding:40px;max-width:650px;width:calc(100% - 40px);max-height:90dvh;overflow-y:auto;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#05151bcc;backdrop-filter:blur(10px)}dialog h2{font:800 75px/.85 var(--display);letter-spacing:-1px;margin:25px 0}dialog h2 em{color:var(--lime)}dialog p{color:#a9bfb4;font-size:12px;line-height:1.7}.close-dialog{position:absolute;right:20px;top:15px;background:none;color:var(--paper);font-size:25px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.guide-grid b{font:9px var(--mono);color:var(--lime)}.guide-grid p{font-size:11px;margin:8px 0}.guide-keys{display:flex;flex-wrap:wrap;gap:12px;font:8px var(--mono);margin:20px 0 28px}dialog .primary{width:100%}#pause{max-width:440px}#pause .secondary{margin-top:14px;width:100%;justify-content:center}#results{max-width:580px;padding:36px 40px}#results h2{font-size:72px;margin:24px 0 16px}#resultSubtitle{margin:0}.result-money{margin:25px 0 20px;padding:20px 0;border-top:1px dashed #aac58755;border-bottom:1px dashed #aac58755;position:relative}.result-money small{font:8px var(--mono);letter-spacing:2px;color:#a9b8aa}.result-money strong{display:block;font:800 78px/1 var(--display);color:var(--lime);margin-top:7px}.result-money>span{position:absolute;right:0;bottom:25px;font:8px var(--mono);color:var(--lime);transform:rotate(-5deg);border:1px solid var(--lime);padding:7px}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.result-stats b{font:700 26px var(--display);display:block}.result-stats small{font:6px var(--mono);color:#abc1ac;letter-spacing:.5px}#resultAdvice{font-size:10px;margin:20px 0}.result-actions{display:flex;justify-content:space-between;margin:18px 0 10px}.local-record{font:6px var(--mono);letter-spacing:1px;color:#769b8e;display:block;text-align:center}#fatal{position:fixed;inset:0;z-index:110;background:#10272b;padding:20vh 12vw}#fatal h2{font:700 60px var(--display)}#fatal p{max-width:500px;line-height:1.7}#touchControls{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;z-index:11;display:flex;align-items:end;justify-content:space-between;pointer-events:none}#touchControls button{touch-action:none;user-select:none;-webkit-user-select:none;background:#0e292bcc;border:1px solid #b8d89a77;color:var(--paper);height:62px;min-width:62px;border-radius:10px;backdrop-filter:blur(10px);font:700 12px var(--mono);pointer-events:auto}#touchControls button:active,#touchControls button.pressed{background:var(--lime);color:var(--ink)}.touch-steer,.touch-pedals{display:flex;gap:8px}.touch-pedals button:last-child{background:#d9ff43d9!important;color:var(--ink)!important}.touch-boost{min-width:44px!important;height:44px!important;margin-bottom:75px;color:var(--lime)!important}body.touch .game-controls{display:none}body.touch .speed-panel{bottom:110px}body.touch #objective{bottom:110px}body.touch #touchControls.hidden{display:none!important}
@media(min-width:1700px){.menu-copy{top:25%}.dispatch-preview{right:10%;top:28%;width:230px}.receipt-body h2{font-size:48px}}
@media(max-height:800px) and (min-width:900px){.menu-copy{top:20%}h1{font-size:120px;margin:22px 0}.menu-description{margin:10px 0}.tagline{font-size:18px;margin-bottom:8px}.start-row{margin-top:20px}.menu-meta{margin-top:18px}#howBtn{margin-top:12px}.dispatch-preview{top:24%;width:185px}.receipt-body{padding:18px}.receipt-body h2{font-size:36px}}
@media(max-width:1000px){.dispatch-preview{right:4%;width:170px;top:26%}.receipt-body{padding:15px}.receipt-body h2{font-size:35px}.menu-copy{left:6%}h1{font-size:13vw}.mission-card{width:210px;padding:15px}.score-strip{gap:15px;padding:14px 18px}.score-strip strong{font-size:29px}.score-strip small{font-size:7px}#toast{top:220px}.footer-note{display:none}}
@media(max-width:650px){#topbar{height:80px;padding:20px}.wordmark{font-size:10px;gap:8px}.brandmark{font-size:29px}.wordmark-sub{font-size:6px;letter-spacing:2px}.top-actions{gap:8px}#edition,.top-actions>.live-dot,#fullBtn{display:none}.icon-btn{height:30px;min-width:30px;padding:0 8px}.menu-copy{top:20%;left:7%;right:7%;max-width:none}.eyebrow{font-size:7px;letter-spacing:1.4px}.version{font-size:7px;margin-left:auto}h1{font-size:clamp(82px,20vw,125px);margin:25px 0;line-height:.85}.tagline{font-size:17px}.menu-description{font-size:10px;line-height:1.7}.start-row{margin-top:25px;gap:10px}.primary,.secondary{min-height:53px;padding:14px 18px;gap:18px;font-size:10px}.start-row .primary{flex:1.1}.start-row .secondary{flex:1}.menu-meta{font-size:6px;gap:12px;letter-spacing:.5px}.dispatch-preview{display:none}#howBtn{font-size:6px;margin-top:18px}#howBtn u{margin-left:3px}.menu-footer{bottom:18px;left:7%;right:7%;font-size:6px;align-items:start;padding-top:14px;gap:14px}.menu-footer>span:first-child{max-width:100px;line-height:1.8}.menu-footer>div{gap:16px}.menu-footer .text-btn{font-size:7px}.score-strip{top:84px;left:15px;padding:10px 12px;gap:13px}.score-strip strong{font-size:26px}.score-strip small{font-size:6px;letter-spacing:.2px}.mission-card{top:175px;right:15px;width:163px;padding:12px;background:#0b2028b8}.mission-label{font-size:6px;letter-spacing:.5px}.mission-card h2{font-size:24px;margin:12px 0 5px}.mission-card p{font-size:8px;margin-bottom:12px}.route-distance>span{font-size:35px}.route-distance small{font-size:5px}.route-distance b{margin-top:4px}.order-stats>span{font-size:6px}#map{height:65px;margin-top:10px}#routeBar{margin:12px 0}.speed-panel{left:18px;bottom:55px;width:125px}.speed-panel strong{font-size:65px}.speed-panel small{font-size:5px}.speed-panel small span{font-size:5px}.speed-panel span{font-size:6px}.boost-track{margin:10px 0 6px}#objective{bottom:65px;left:auto;right:15px;transform:none;min-width:0;max-width:200px;padding:11px;gap:9px}#objective small{font-size:6px}#objective strong{font-size:9px}#objectiveKey{font-size:24px}body.touch #objective{bottom:115px;max-width:190px}#toast{top:87px;max-width:calc(100% - 30px);width:max-content;padding:10px 15px}#toastTitle{font-size:17px}#toastBody{font-size:9px}#toastIcon{font-size:24px}.game-controls{gap:7px;flex-wrap:wrap;bottom:15px;font-size:5px}.game-controls kbd{font-size:6px;min-width:14px;height:14px}.guide-grid{gap:15px}.guide-grid b{font-size:8px}.guide-grid p{font-size:10px}dialog{padding:28px 24px}dialog h2{font-size:58px}#results{padding:28px 24px}#results h2{font-size:60px}.result-money strong{font-size:65px}.result-money>span{font-size:6px}.result-stats small{font-size:5px}#countdown strong{font-size:150px}.touch-steer,.touch-pedals{gap:5px}#touchControls button{min-width:52px;height:58px}.touch-boost{min-width:38px!important}.result-actions .text-btn{font-size:7px}}
@media(max-height:650px){.menu-copy{top:18%}h1{font-size:clamp(70px,14vh,115px);margin:17px 0}.tagline{font-size:14px;margin-bottom:8px}.menu-description{display:none}.start-row{margin-top:16px}.menu-meta{margin-top:15px}#howBtn{margin-top:10px}.dispatch-preview{display:none}.mission-card{top:95px}.score-strip{top:90px}.mission-card #map{display:none}.mission-card p{margin-bottom:10px}.speed-panel{bottom:55px}#objective{bottom:65px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}#grain{display:none}}
/* Delhi crew rooms */
.friends-btn{display:flex;align-items:center;gap:15px;margin-top:14px;padding:13px 17px;background:#193332cc;border:1px solid #c8e59455;border-radius:3px;color:var(--paper);width:100%;max-width:405px;text-align:left}.friends-btn>span{font:700 10px var(--mono);letter-spacing:1px}.friends-btn small{font:6px var(--mono);color:#9cb9a9;margin-left:auto}.friends-btn b{color:var(--lime);font-size:21px}.friends-btn:hover{border-color:var(--lime);background:#24463c}.developer-credit{line-height:1.9}.developer-credit a{color:var(--lime);text-decoration:none}.developer-credit a:hover{text-decoration:underline}#rooms{max-width:660px}#rooms h2{font-size:66px;margin-bottom:16px}.room-intro{margin-bottom:24px}.room-field{display:flex;flex-direction:column;gap:9px;color:#a7c4b5;font:8px var(--mono);letter-spacing:1px}.room-field input,.room-field select{width:100%;height:46px;border:1px solid #7a9c8155;border-radius:3px;background:#091e24;color:var(--paper);padding:10px 13px;font:14px var(--sans);outline-offset:3px}.room-field input:focus,.room-field select:focus{outline:2px solid var(--lime)}#roomCodeInput{text-transform:uppercase;font-family:var(--mono);letter-spacing:3px}.room-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.room-options h3{font:700 9px var(--mono);letter-spacing:1px;color:var(--lime);margin:0 0 14px}.room-options button{width:100%;margin-top:15px;min-height:50px;padding:12px 16px;font-size:10px}.room-invite{display:flex;justify-content:space-between;align-items:center;background:#0a1f24;padding:18px;border:1px dashed #b4cd7455}.room-invite small{display:block;font:8px var(--mono);color:#a9bc9f;letter-spacing:2px}.room-invite strong{display:block;font:700 32px var(--mono);letter-spacing:5px;color:var(--lime);margin-top:7px}.room-invite button{font-size:8px;min-height:42px;padding:11px}.room-lobby-meta{display:flex;justify-content:space-between;margin:22px 0 12px;font:8px var(--mono);color:#adc6ad;letter-spacing:1px}#roomPlayers{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:7px}#roomPlayers li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#28463d88;border-radius:3px;font-size:12px}#roomPlayers li small{color:var(--lime);font:7px var(--mono);letter-spacing:1px}#roomLeaveBtn{margin-top:12px}#roomStatus{min-height:20px;margin:14px 0 0;color:var(--lime);font-size:11px}#roomStatus.error{color:#ff9c82}.room-footnote{font-size:9px!important;border-top:1px solid #8cae8e33;padding-top:13px;margin-bottom:0}#roomLeaderboard{position:fixed;left:4.3%;top:235px;z-index:7;width:230px;background:#0c2027d9;border:1px solid #99bdb02b;border-radius:4px;padding:14px;pointer-events:none}#roomLeaderboard>div{display:flex;gap:8px;align-items:center;font:8px var(--mono);letter-spacing:1px;color:var(--lime)}#roomLeaderboard>div b{margin-left:auto;color:#adc2b0;font-weight:400}#roomStandings{padding:0;margin:13px 0 0;list-style:none;display:grid;gap:9px;font-size:10px}#roomStandings li{display:flex;justify-content:space-between;gap:10px}#roomStandings li.self{color:var(--lime)}#roomConnection{font:7px var(--mono);color:#ffb188;margin-bottom:0}#guide{cursor:auto}#guide button{cursor:pointer}
@media(min-width:900px) and (max-height:850px){.menu-copy{top:17%}h1{font-size:105px;margin:20px 0}.menu-meta{margin-top:14px}#howBtn{margin-top:9px}.friends-btn{margin-top:10px;padding:9px 14px}.menu-description{margin:8px 0}.start-row{margin-top:16px}}
@media(max-width:650px){.friends-btn{max-width:none;gap:8px;padding:10px 13px}.friends-btn>span{font-size:8px}.friends-btn small{font-size:5px}.menu-copy{top:17%}.menu-meta{margin-top:16px}#howBtn{margin-top:12px}#rooms h2{font-size:53px}.room-options{gap:13px}.room-options h3{font-size:7px}.room-field{font-size:7px}.room-options button{font-size:8px;padding:10px;gap:7px}.room-invite{padding:13px;gap:10px}.room-invite strong{font-size:25px;letter-spacing:3px}.room-invite button{font-size:6px;padding:8px}.room-lobby-meta{font-size:6px}#roomLeaderboard{left:15px;top:160px;width:155px;padding:10px}#roomLeaderboard>div{font-size:6px;gap:5px}#roomStandings{font-size:8px;gap:7px}body.room-playing .mission-card{top:310px}.developer-credit{font-size:6px}}
@media(max-height:650px){.friends-btn{padding:7px 12px;margin-top:8px}.menu-copy{top:16%}.menu-meta{margin-top:10px}#howBtn{margin-top:5px}#roomLeaderboard{top:185px}.menu-footer{bottom:10px;padding-top:8px}h1{font-size:clamp(65px,13vh,100px)}}
/* Attribution stays readable and usable without JavaScript. */
.guide-credit{font:9px var(--mono)!important;line-height:1.9!important;margin:18px 0!important}.guide-credit a{color:var(--lime);text-underline-offset:3px}.developer-credit{max-width:none!important}.developer-credit a{display:inline-block}.credit-separator{color:#7f998b}.privacy-link{color:#b6c7b8!important}
@media(max-width:650px){.menu-footer{flex-wrap:wrap;gap:8px}.menu-footer>.developer-credit{flex-basis:100%;font-size:7px}.menu-footer>div{width:100%;justify-content:space-between}.guide-credit{font-size:8px!important}.menu-copy{top:15%}}

/* Painted street signage and a paper dispatch ticket. */
#menu{background:linear-gradient(90deg,#211a18f2,#251a18c9 32%,#30231822 75%)}
#menu h1 em{color:#ffd264;text-shadow:3px 4px #9e462d}
#menu .primary,.receipt-top{background:#ffd264;color:#281b15}
#menu .primary{box-shadow:0 4px #a55c31}
#menu .secondary{background:#633d32e0;border-color:#c38b66}
#menu .eyebrow{color:#ffd264}
#menu .receipt-body{background:#fff1cf}
#menu .receipt-tear{background:linear-gradient(135deg,#fff1cf 25%,transparent 25%) -5px 0/10px 10px,linear-gradient(225deg,#fff1cf 25%,transparent 25%) -5px 0/10px 10px}

/* Dispatch slips, painted shop signs, and warm night-market colors. */
.score-strip,.mission-card,#objective{background:#30221bea;border-color:#c9915b80;box-shadow:3px 4px #160e0b6b}
.score-strip>div:first-child strong,.mission-label,.route-distance b,#objectiveKey,#objective small{color:#ffd264}
.mission-card h2{color:#fff2cd}
dialog{background:#30221bf7;border-color:#c9915b88}
dialog h2 em{color:#ffd264}
dialog .primary{background:#ffd264;box-shadow:0 4px #a55c31}
.game-controls kbd{border-color:#c9915b88;background:#30221baa}

:root{--lime:#ffd264;--ink:#281b15;--paper:#fff2d4;--muted:#d0baaa}
#menu{background:linear-gradient(90deg,#221714f5 0%,#221714cb 28%,#22171435 55%,transparent 77%),linear-gradient(0deg,#201512d4,transparent 24%)}
#edition{display:inline-block;padding:6px 12px;background:#ffd264;color:#2c1c16;border:2px solid #3c251b;border-radius:4px;box-shadow:2px 3px #241714;transform:rotate(-3deg);font:800 15px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.icon-btn{background:#39251dea;border-color:#b17b58;color:#fff0d1}
#dailyBtn,#qualityBtn,#musicBtn{padding:7px 12px;border:1px solid #ad795b80;border-radius:4px;background:#43291f;font:800 14px/1 var(--display);letter-spacing:.035em;color:#ffe3ab;text-transform:uppercase}
#dailyBtn:hover,#qualityBtn:hover{background:#ffd264;color:#302015}
#friendsBtn{background:#733d30;border-color:#c98961;box-shadow:2px 3px #2b1812}
#friendsBtn small,.developer-credit,.footer-note{color:#ddc2ad}
#friendsBtn>span{font:800 19px/1 var(--display);letter-spacing:.05em}
#menu .menu-meta,#menu #howBtn{color:#e1c7ae}
#menu .dispatch-preview{filter:drop-shadow(5px 9px 11px #190f0cb0)}
dialog#rooms{background:#30221b;border:1px solid #ae795a;box-shadow:8px 9px #20120d}
dialog#rooms::backdrop,dialog::backdrop{background:#221713d9;backdrop-filter:blur(5px)}
#rooms h2 em,#rooms .eyebrow,#rooms .room-options h3{color:#ffd264}
#rooms .room-field,#rooms .room-lobby-meta,#rooms .room-footnote{color:#e1c5aa}
#rooms input,#rooms select,#rooms .room-invite,#rooms .secondary{background:#261a16;border-color:#a7795d;color:#fff2d4}
#rooms .primary{background:#ffd264;color:#281b15;box-shadow:0 4px #a55c31}
#rooms .room-intro{color:#e6cbb0}
@media(max-width:650px){#edition{display:none}#dailyBtn,#qualityBtn,#musicBtn{font-size:11px;padding:5px 8px}#friendsBtn>span{font-size:15px}}

/* Shared control states for home, room, guide, pause, and results. */
:root{--button-fill:#684033;--button-edge:#b38362;--button-hover:#8a5240;--button-ink:#fff2d4}
.primary:hover,dialog .primary:hover,#rooms .primary:hover{background:#ffe398;color:#281b15}
.secondary,#rooms .secondary,#friendsBtn{background:var(--button-fill);border-color:var(--button-edge);color:var(--button-ink)}
.secondary:hover,#rooms .secondary:hover,#friendsBtn:hover{background:var(--button-hover);border-color:#efbd81;color:#fff4de}
.icon-btn:hover,.text-btn:hover,#dailyBtn:hover,#qualityBtn:hover,#musicBtn:hover{background:#ffd264;color:#281b15;border-color:#ffd264}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffd264;outline-offset:4px}
button:disabled:hover{transform:none}
#menu .tagline{font-family:var(--display);font-size:clamp(20px,2.1vw,30px);font-weight:700;line-height:1.12}
#menu .tagline strong{color:#ffd264;font-weight:800}
#menu .menu-description{font:600 clamp(15px,1.2vw,18px)/1.35 var(--display);letter-spacing:.025em;color:#e7ccb1}
#menu .menu-meta,#menu #howBtn,.developer-credit{font-family:var(--display);font-size:14px;letter-spacing:.045em}
#menu #howBtn{color:#ffe2ac;padding-inline:8px}
#menu #howBtn:hover{color:#281b15}
dialog p,.room-intro{color:#e2cbb7}
dialog article b,.room-options h3{font:800 15px/1.2 var(--display);letter-spacing:.055em}
.room-field{color:#e2cbb7;font:700 13px/1.2 var(--display)}
@media(max-width:650px){#menu .menu-meta,#menu #howBtn,.developer-credit{font-size:11px}}

#loader{background:radial-gradient(ellipse at 50% 55%,#613b28,#241713 67%);color:#fff2d4}
#loader p{font:800 17px var(--display);letter-spacing:.14em;color:#ffd264}
#menu{display:grid;grid-template-rows:1fr auto;overflow-y:auto;padding:clamp(88px,15vh,190px) 4.3% 20px}
#menu .menu-copy{position:relative;top:auto;left:auto;right:auto;margin:0 0 24px 2.9%;align-self:center}
#menu .menu-footer{position:relative;inset:auto;grid-row:2;gap:12px}
#menu .menu-footer>div{gap:10px;flex-wrap:wrap}
#friendsBtn small{font:800 14px/1 var(--display);letter-spacing:.04em;color:#ffe1a9}
#rooms .duration-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border:0;padding:0;margin:0;min-inline-size:0}
.duration-picker legend{padding:0 0 9px;color:#e2cbb7;font:700 13px/1.2 var(--display)}
.duration-picker label{position:relative;cursor:pointer}
#rooms .duration-picker input{position:absolute;opacity:0;width:1px;height:1px}
.duration-picker span{display:grid;place-items:center;min-height:46px;padding:3px;border:1px solid #a7795d;border-radius:4px;background:#261a16;color:#fff2d4;font:800 clamp(10px,1.4vw,15px) var(--display);white-space:nowrap}
.duration-picker input:checked+span{background:#ffd264;color:#281b15;border-color:#ffd264}
.duration-picker input:focus-visible+span{outline:2px solid #ffd264;outline-offset:2px}
.duration-picker label:hover span{border-color:#ffd264}
@media(max-width:650px){#menu{padding:80px 7% 16px}#menu .menu-copy{margin-left:0}#friendsBtn small{font-size:11px}#rooms .duration-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.duration-picker span{min-height:32px}}

.wordmark .brandmark{width:38px;height:38px}
#loader .brandmark{width:76px;height:76px}
#menu{grid-template-rows:minmax(0,1fr) auto;padding:clamp(68px,10vh,112px) 4.3% 14px}
#menu .menu-copy{margin-bottom:10px}
#menu h1{font-size:clamp(62px,min(10.5vw,15vh),154px);margin:clamp(10px,2vh,22px) 0}
#menu .tagline,#menu .menu-description{margin:0 0 10px}
#menu .start-row,#menu #friendsBtn{width:min(100%,405px);max-width:none}
#menu .start-row{margin-top:clamp(10px,2vh,20px)}
#menu .start-row button{flex:1;min-width:0}
#menu .menu-meta{margin-top:10px}
#menu .menu-footer{padding-top:10px}
#menu .menu-footer>div{align-items:center;justify-content:flex-end;width:auto}
#menu .footer-privacy,#menu #howBtn{color:#ffe2ac;font:700 14px var(--display);padding:6px;text-decoration:none;margin:0}
#menu .footer-privacy:hover,#menu #howBtn:hover{text-decoration:underline;background:none;color:#ffe2ac}
#results .text-btn:hover{background:transparent;color:#ffd264;text-decoration:underline}
.graphics-lost #world{visibility:hidden}
body{background:#251914 url('./street-fallback.svg') center/cover fixed}
@media(max-width:650px){#menu{padding:72px 7% 10px}#menu h1{font-size:clamp(55px,min(18vw,14vh),105px)}#menu .menu-footer{flex-wrap:wrap}#menu .menu-footer>div{justify-content:flex-start}#menu .menu-footer .developer-credit{max-width:none}#menu .footer-privacy,#menu #howBtn{font-size:12px}}
@media(max-height:560px){#menu{grid-template-rows:auto auto}#menu h1{font-size:clamp(48px,13vh,75px)}#menu .menu-description{display:none}}

body:not(.touch) #touchControls{display:none}
#touchControls{bottom:calc(10px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));gap:10px}
#touchControls button{height:clamp(48px,14vw,66px);min-width:clamp(47px,14vw,66px);padding:4px 7px;border:1px solid #e1ac68;background:#302019ed;color:#fff2d4;box-shadow:0 3px #170d09;border-radius:10px;font:800 17px/1 var(--display);backdrop-filter:none}
#touchControls .touch-steer button{font:700 36px/1 var(--sans)}
.touch-drive{display:grid;gap:6px}
.touch-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#touchControls .touch-tools button{min-height:44px;height:44px;font-size:15px}
#touchControls .touch-pedals button[data-key="s"]{background:#7a3829}
#touchControls .touch-pedals button:last-child{background:#ffd264!important;color:#281b15!important}
#touchControls button.pressed,#touchControls button:active{box-shadow:inset 0 2px 5px #281b1599;transform:translateY(2px);outline:2px solid #ffd264}
#touchControls small{display:block;font:600 9px/1.2 var(--sans);margin-top:3px}
body.touch .speed-panel{bottom:calc(86px + env(safe-area-inset-bottom))}
body.touch #objective{bottom:calc(130px + env(safe-area-inset-bottom))}
@media(max-width:650px){
 body.touch .mission-card,body.touch.room-playing .mission-card{top:145px;right:10px;width:min(43vw,165px);padding:9px}
 body.touch .mission-card #map{display:none}
 body.touch .mission-card h2{font-size:20px}
 body.touch .mission-card p{font-size:10px}
 body.touch #roomLeaderboard{top:145px;left:10px;width:min(39vw,142px)}
 body.touch #roomStandings{max-height:82px;overflow:hidden}
 body.touch #objective{max-width:calc(100% - 28px);right:14px}
}
@media(max-height:520px) and (orientation:landscape){
 body.touch #touchControls button{height:48px}
 body.touch .mission-card{top:62px;padding:8px}
 body.touch .mission-card #map,body.touch .mission-card p{display:none}
 body.touch #objective{bottom:66px}
}

#loader{display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:20px;background:#241916;transition:opacity .24s ease}
#loader[hidden]{display:none}
#loader.loading-ready{opacity:0;pointer-events:none}
.loading-street{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 56%,#784b2c30 0,transparent 48%),linear-gradient(135deg,#211c1b,#121416 65%,#271d18)}
.loading-street::after{content:'';position:absolute;width:95vw;height:95vw;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-25deg);border:1px solid #d9a86b0c;border-radius:50%;box-shadow:0 0 0 65px #d9a86b04,0 0 0 130px #d9a86b03}
body:has(#loader:not([hidden])) #menu,body:has(#loader:not([hidden])) #topbar{visibility:hidden}
.loading-ticket{width:min(100%,430px);padding:clamp(20px,5vw,32px);background:#ffefcb;color:#281b15;border:2px solid #3e271e;border-radius:7px;box-shadow:0 24px 80px #0008,0 0 0 1px #ffd26417}
.loading-kicker{display:flex;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px dashed #825a43;font:700 10px/1.2 var(--mono);letter-spacing:.06em}
.loading-title{margin:17px 0 12px;font:900 clamp(37px,8vw,62px)/.95 var(--display);white-space:nowrap}
.loading-title em{color:#a4422e}
.loading-track{height:48px;position:relative;overflow:hidden;border-block:2px solid #b77d50;background:#372821}
.loading-track::before{content:'';position:absolute;top:50%;left:0;right:0;border-top:2px dashed #e5bc70;opacity:.65}
.loading-track img{position:absolute;top:5px;left:5px;width:34px;height:34px;animation:garage-run 2.3s ease-in-out infinite alternate}
@keyframes garage-run{to{left:calc(100% - 39px)}}
#loader p{color:#5f3828;font:800 16px/1.2 var(--display);letter-spacing:.035em;margin:12px 0 0}
@media(prefers-reduced-motion:reduce){.loading-track img{animation:none}#loader{transition:none}}

#touchControls .touch-pedals button[data-key=" "]{background:#7a3829}
#touchControls .touch-pedals button[data-key="s"]{background:#53382c!important;color:#fff2d4!important}
@media(max-width:650px){
 body.touch .score-strip{top:78px;left:10px;width:calc(45% - 12px);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px 6px}
 body.touch .score-strip .score-divider{display:none}
 body.touch .score-strip>div:first-child{grid-column:1 / -1}
 body.touch .score-strip strong{font-size:29px}
 body.touch .score-strip small{font-size:7px;line-height:1.3}
 body.touch .score-strip>div:first-child strong{font-size:34px}
 body.touch .mission-card,body.touch.room-playing .mission-card{top:78px;right:10px;width:calc(55% - 12px);padding:10px}
 body.touch .mission-card h2{font-size:21px;margin:9px 0 5px}
 body.touch .mission-card p{display:none}
 body.touch .route-distance>span{font-size:36px}
 body.touch .mission-card .order-stats{gap:5px}
 body.touch .mission-card #routeBar{margin:9px 0}
 body.touch #roomLeaderboard{top:260px;width:142px}
}

/* The two mobile status cards share the same header grid row. */
@media(max-width:650px){
 #hud{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);grid-template-rows:auto;align-content:start;align-items:stretch;gap:8px;padding:78px 10px 0}
 #hud .score-strip,body.touch #hud .score-strip{position:relative;inset:auto;width:100%;min-width:0;margin:0;grid-column:1;grid-row:1;align-self:stretch}
 #hud .mission-card,body.touch #hud .mission-card,body.touch.room-playing #hud .mission-card{position:relative;inset:auto;width:100%;min-width:0;margin:0;grid-column:2;grid-row:1;align-self:stretch}
 #hud .mission-card h2{overflow-wrap:anywhere}
 #hud .mission-card #map{display:none}
 #hud .score-strip{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:7px}
 #hud .score-divider{display:none}
 #hud .score-strip>div:first-child{grid-column:1 / -1}
}

/* Friend race scoreboard: warm street-game palette, readable at a glance. */
#roomLeaderboard{background:#302218f2;border:2px solid #b98650;border-radius:12px;padding:12px;width:244px;box-shadow:0 5px 0 #190f0cb3;color:#fff1cd}
#roomLeaderboard>div{font:20px var(--display,var(--sans));font-weight:800;letter-spacing:.4px;color:#ffda78;border-bottom:1px dashed #b9865080;padding-bottom:9px;gap:7px}
#roomLeaderboard>div b{font:10px var(--mono);letter-spacing:1px;color:#d9b995}
#roomStandings{margin:9px 0 0;gap:5px;max-height:260px;overflow:auto}
#roomStandings li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 7px;background:#ffffff08;border-radius:6px;font:17px var(--sans);line-height:1.2}
#roomStandings li.self{background:#fbd37320;box-shadow:inset 3px 0 #fbd373;color:#fff1cd}
#roomStandings .race-rank{font-weight:800;color:#d3ae7f;text-align:center;font-size:15px}
#roomStandings .leader .race-rank{color:#ffda78;font-size:22px}
.race-rider{min-width:0;display:grid;gap:3px}.race-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#roomStandings strong{font-weight:800;color:#ffda78;font-variant-numeric:tabular-nums}
#roomStandings small{font:11px var(--sans);color:#d9b995}#roomStandings li.out{opacity:.65}
#roomConnection{font:12px var(--sans);color:#d9b995;margin:9px 0 0;text-align:center;line-height:1.3}
@media(max-width:650px){body.touch #roomLeaderboard{width:160px;padding:8px;border-radius:8px}#roomLeaderboard>div{font-size:14px;gap:4px;padding-bottom:6px}#roomLeaderboard>div b{font-size:7px}body.touch #roomStandings{max-height:145px;overflow:auto;gap:3px}#roomStandings li{grid-template-columns:17px minmax(0,1fr) auto;gap:4px;padding:5px 4px;font-size:12px}#roomStandings .race-rank{font-size:11px}#roomStandings .leader .race-rank{font-size:16px}#roomStandings small{font-size:9px}#roomConnection{font-size:10px;margin-top:6px}}

/* Keep close-call rewards below the traffic sightline. */
#combo{top:68%;text-align:center;pointer-events:none}
@media(max-width:650px){#combo{top:66%;font-size:25px}#combo span{font-size:11px}}
