:root{color:#252b29;font-synthesis:none;background:#dce5e3;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline-offset:5px;outline:3px solid #ec7039}#game,#scene{width:100%;height:100dvh;position:fixed;inset:0}#scene{touch-action:none;display:block}.topbar{pointer-events:none;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:32px;left:38px;right:38px}.brand{align-items:center;gap:13px;display:flex}.brand-mark{letter-spacing:-6px;border-right:1px solid #65716b50;padding-right:20px;font-size:41px;font-weight:900}.brand-mark span{color:#df642f}.brand h1{letter-spacing:5px;margin:0 0 5px;font-size:21px}.brand p{letter-spacing:2.6px;margin:0;font-size:8px;font-weight:700}.session{letter-spacing:1.3px;background:#f6f3ebe6;border:1px solid #ffffff90;border-radius:6px;align-items:center;gap:12px;padding:13px 15px;font-size:10px;font-weight:700;display:flex}.live-dot{background:#66816c;border-radius:50%;width:6px;height:6px}.divider{background:#bfc1b8;width:1px;height:12px}.version{background:#e4e3da;border-radius:3px;padding:4px 5px;font-size:9px}.location{pointer-events:none;position:absolute;top:40px;left:40px}.eyebrow{letter-spacing:2.4px;color:#685e4e;font-size:9px;font-weight:700}.location h2{letter-spacing:-1.2px;margin:11px 0 9px;font-size:29px;font-weight:700}.location h2 span{color:#df642f}.location p{color:#545e5a;margin:0;font-size:12px}#notice{white-space:nowrap;pointer-events:none;background:#f8f5ece8;border-radius:30px;padding:10px 17px;font-size:11px;transition:opacity .3s;position:absolute;top:111px;left:50%;transform:translate(-50%)}.dashboard{background:#f8f5eeed;border:1px solid #fff9;border-radius:8px;width:220px;padding:18px 21px;position:absolute;bottom:111px;right:38px;box-shadow:0 5px 22px #26312c0d}.speed-row{align-items:center;gap:12px;display:flex}.speed-row>#speed{letter-spacing:-5px;font-variant-numeric:tabular-nums;min-width:95px;font-size:68px;font-weight:700;line-height:1.1}.speed-label{letter-spacing:1px;color:#777c70;gap:7px;font-size:9px;display:grid}#gear{color:#d65f2f;border:1px solid #cdcec4;border-radius:4px;place-items:center;width:23px;height:23px;font-size:12px;font-weight:700;display:grid}.speed-track{background:#d9ddd3;height:3px;margin:16px 0}.speed-track>div{background:#df642f;width:0;height:100%;transition:width .1s}.dash-footer{letter-spacing:.8px;color:#6a7068;justify-content:space-between;font-size:8px;display:flex}.dash-footer strong{font-variant-numeric:tabular-nums;font-weight:400}.bottom-bar{justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:28px;left:38px;right:38px}.keyboard-help{background:#f8f5eee8;border-radius:6px;flex-wrap:wrap;gap:23px;padding:13px 17px;display:flex}.keyboard-help>span{color:#5c645d;align-items:center;gap:5px;font-size:10px;display:flex}kbd{color:#485249;background:#f8f7ef;border:1px solid #b8bfb6;border-radius:3px;place-items:center;min-width:20px;height:21px;padding:0 4px;font-family:inherit;font-size:9px;display:inline-grid}.reset-button{color:#424c44;background:#f8f5eee8;border:1px solid #ffffff80;border-radius:6px;align-items:center;gap:12px;padding:13px 16px;font-size:11px;display:flex}.reset-button>span{font-size:19px}.reset-button:hover,#pause-button:hover{background:#fff}#pause-button{color:#4d574f;background:#f8f5eecc;border:1px solid #fff9;border-radius:5px;width:35px;height:35px;position:absolute;top:103px;right:38px}.overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#29393355;place-items:center;display:grid;position:absolute;inset:0}[hidden]{display:none!important}.pause-card{background:#f8f5ee;border-radius:12px;max-width:420px;margin:24px;padding:38px}.pause-card h2{letter-spacing:-1px;font-size:28px}.pause-card p{color:#687166;font-size:14px;line-height:1.5}.pause-card button{text-align:left;color:#fff;background:#dc693a;border:0;border-radius:5px;width:100%;margin-top:18px;padding:14px 18px}.pause-card button span{float:right}.touch-controls{pointer-events:none;justify-content:space-between;display:none;position:absolute;bottom:25px;left:20px;right:20px}.touch-controls>div{gap:8px;display:flex}.touch-controls button{pointer-events:auto;color:#3d493f;touch-action:none;-webkit-user-select:none;user-select:none;background:#f5f3e9e8;border:1px solid #fff9;border-radius:9px;width:54px;height:54px;font-size:23px}.touch-controls .accelerator{color:#fff;background:#dc693a}.touch-controls button.held{background:#a6b7a2}.touch-controls .accelerator.held{background:#ae4d23}@media (pointer:coarse){.touch-controls{display:flex}.keyboard-help{display:none}.bottom-bar{bottom:94px;left:20px}.dashboard{width:180px;bottom:165px}.speed-row>#speed{min-width:78px;font-size:54px}.reset-button kbd{display:none}}@media (width<=700px){.topbar{top:20px;left:20px;right:20px}.session{gap:7px;padding:10px;font-size:8px}.session-mode,.divider{display:none}.brand-mark{padding-right:16px;font-size:32px}.brand h1{letter-spacing:3px;font-size:16px}.brand p{letter-spacing:1.2px;font-size:7px}.location{top:26px;left:21px}.location h2{font-size:23px}.location p{font-size:10px}.location .eyebrow{font-size:8px}#notice{white-space:normal;text-align:center;max-width:90%;font-size:10px;top:auto;bottom:330px}.dashboard{width:170px;padding:13px 16px;right:20px}.bottom-bar{left:20px;right:20px}.keyboard-help{gap:9px;padding:9px}.keyboard-help>span{font-size:9px}.keyboard-help>span:last-child{display:none}.reset-button{padding:9px;font-size:10px}#pause-button{top:86px;right:20px}.speed-row>#speed{min-width:78px;font-size:52px}.dash-footer{font-size:7px}}@media (height<=500px){.location{top:18px}.location p{display:none}.dashboard{width:170px;padding:10px 15px;bottom:95px}.speed-row>#speed{font-size:44px}.speed-track{margin:7px 0}.topbar{top:15px}.bottom-bar{bottom:15px}#notice{top:80px;bottom:auto}.touch-controls{bottom:15px}.touch-controls~#pause-button{top:70px}}#map-button{color:#424c44;background:#f8f5eee8;border:1px solid #fff9;border-radius:5px;align-items:center;gap:9px;padding:10px 12px;font-size:11px;display:flex;position:absolute;top:150px;right:38px}.map-overlay{z-index:5;background:#f4f2e9;flex-direction:column;padding:26px 32px;display:flex;position:absolute;inset:0}.map-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.map-header h2{letter-spacing:-1px;margin:7px 0;font-size:32px}.map-header h2 span{color:#df642f}.map-header p{color:#6d766a;margin:0;font-size:11px}.map-header button,.map-tools button{color:#38483b;background:#fffdf5;border:1px solid #c6cec0;border-radius:5px;padding:10px 14px}.map-header button{font-size:12px}.map-header button span{margin-left:10px}.map-content{flex:1;grid-template-columns:minmax(0,1fr) 235px;gap:25px;min-height:0;display:grid}#map-drawing{background:#f4f2e7;border:1px solid #cfd5c8;border-radius:6px;min-height:0;overflow:hidden}#map-drawing svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-sidebar{padding:5px 0;font-size:12px;overflow:auto}.map-sidebar label{margin-bottom:10px;font-weight:700;display:block}.map-sidebar select{color:#354636;width:100%;font:inherit;background:#fffdf5;border:1px solid #c6cec0;border-radius:4px;padding:10px 7px}#map-detail{white-space:pre-line;border-bottom:1px solid #d4d9ce;min-height:95px;padding-bottom:15px;line-height:1.9}.map-legend{gap:10px;margin:15px 0;display:grid}.map-legend span{align-items:center;gap:8px;display:flex}.map-legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.map-tip{color:#6d7868;font-size:11px;line-height:1.7}.map-tools{gap:7px;margin:18px 0 8px;display:flex}.map-sidebar a{color:#ad532c;font-size:11px}.location h2{font-size:25px}@media (width<=700px){#map-button{top:130px;right:20px}.location h2{max-width:210px;font-size:19px}.map-overlay{padding:17px}.map-content{grid-template-rows:minmax(180px,1fr) auto;grid-template-columns:1fr;gap:10px}.map-header{margin-bottom:12px}.map-header h2{font-size:24px}.map-header .eyebrow{font-size:7px}.map-header button{padding:9px;font-size:10px}.map-sidebar{grid-template-columns:1fr 1fr;gap:7px 15px;max-height:220px;display:grid}.map-sidebar label{grid-column:1/-1;margin:0}.map-sidebar select{grid-column:1/-1}.map-sidebar #map-detail{min-height:0;margin:0;font-size:10px}.map-legend{gap:4px;margin:0;font-size:9px}.map-tip{display:none}.map-tools{margin:2px 0}.map-sidebar a{align-self:center}.map-header p{font-size:9px}}@media (height<=500px){.map-overlay{padding:12px 20px}.map-header{margin-bottom:10px}.map-header h2{font-size:22px}.map-header .eyebrow{display:none}.map-content{grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) 220px}.map-sidebar{max-height:none;display:block}#map-button{top:115px}.location h2{font-size:20px}}@media (pointer:coarse){#map-button kbd{display:none}}#interact-button{color:#424c44;background:#f8f5eee8;border:1px solid #fff9;border-radius:5px;padding:10px 12px;font-size:11px;position:absolute;top:150px;right:173px}#interact-button:disabled{opacity:.55;cursor:default}@media (width<=700px){#interact-button{top:130px;right:132px}}@media (height<=500px){#interact-button{top:115px}}#map-editor-button{color:#424c44;background:#f8f5eee8;border:1px solid #fff9;border-radius:5px;align-items:center;gap:9px;min-height:40px;padding:10px 12px;font-size:11px;text-decoration:none;display:flex;position:absolute;top:103px;right:85px}#map-editor-button:hover{background:#fff}#map-editor-button:focus-visible{outline-offset:5px;outline:3px solid #ec7039}@media (width<=700px){#map-editor-button{top:86px;right:67px}}@media (height<=500px){#map-editor-button{top:70px}}#menu-multiplayer label{margin-top:12px;font-size:12px;font-weight:700;display:block}#menu-multiplayer input{box-sizing:border-box;width:100%;font:inherit;color:#263f37;background:#fff;border:1px solid #bbbdae;border-radius:6px;margin:5px 0;padding:10px;display:block}#menu-multiplayer details{margin-top:14px;font-size:12px}#menu-multiplayer #multiplayer-create,#menu-multiplayer #multiplayer-join{color:#fff;background:#285e49;justify-content:center;width:100%}#multiplayer-status{min-height:20px}#multiplayer-hud{pointer-events:none;z-index:2;background:#f8f5eeed;border:1px solid #fff9;border-radius:8px;max-width:390px;padding:10px 16px;font-size:12px;position:absolute;top:100px;left:50%;transform:translate(-50%)}#multiplayer-hud p{margin:5px 0}#multiplayer-hud small{color:#526358;font-size:10px}#reset:disabled{opacity:.35}@media (width<=900px){#multiplayer-hud{width:330px;max-width:calc(100vw - 40px);top:auto;bottom:100px}}.start-menu .menu-card{max-height:calc(100dvh - 40px);overflow-y:auto}#route-dialog{color:#263f37;background:#f8f5eb;border:1px solid #fffa;border-radius:16px;width:min(960px,100vw - 32px);max-height:calc(100dvh - 32px);padding:32px;overflow:auto;box-shadow:0 20px 80px #0e201a66}#route-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#122c24a8}#route-dialog header{max-width:640px}#route-dialog h2{letter-spacing:-1px;margin:10px 0;font-size:34px}#route-description{color:#5b6b60;margin-bottom:24px;font-size:14px;line-height:1.6}#route-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.route-card{background:#fffdf5;border:1px solid #cbd5c8;border-radius:10px;flex-direction:column;padding:20px;display:flex}.route-count{letter-spacing:1.5px;color:#667c69;font-size:9px;font-weight:700}.route-card h3{margin:12px 0 5px;font-size:21px}.route-card p{color:#697569;min-height:36px;font-size:12px;line-height:1.5}.route-card ol{flex:1;margin:5px 0 22px;padding-left:21px;font-size:13px;line-height:1.5}.route-card li{padding:6px 0 6px 3px}.route-card li::marker{color:#ba622f;font-weight:700}.route-card button{color:#fff;background:#285e49;border:0;border-radius:6px;min-height:44px;padding:13px 10px;font-size:12px;font-weight:700}.route-card button:hover{background:#1c4736}.route-hint{color:#6f7e6c;margin:18px 0 0;font-size:11px}#cargo-hud{pointer-events:none;background:#f8f5eee8;border:1px solid #fff9;border-radius:8px;width:245px;padding:15px 18px;position:absolute;top:240px;left:40px}#cargo-hud h2{margin:7px 0;font-size:18px}#cargo-hud p{color:#526f59;margin:0 0 7px;font-size:11px}#cargo-stops{margin:0;padding-left:18px;font-size:11px;line-height:1.8}@media (width<=700px){#route-dialog{padding:20px}#route-dialog h2{font-size:27px}#route-options{grid-template-columns:1fr}.route-card{padding:16px}.route-card p{min-height:0;margin:4px 0}.route-card ol{margin:4px 0 12px}.route-card li{padding:2px 0}#cargo-hud{width:190px;padding:10px 12px;top:175px;left:20px}#cargo-hud h2{font-size:15px}#cargo-stops{font-size:10px}}@media (height<=540px){#cargo-hud{width:205px;padding:8px 12px;top:auto;bottom:90px}#cargo-stops{display:none}#route-dialog{padding:18px}#route-dialog h2{margin:5px 0;font-size:26px}#route-description{margin:6px 0 12px}.route-card{padding:12px}.route-card ol{margin-bottom:10px}}#package-dialog{color:#263f37;background:#f8f5eb;border:1px solid #fffa;border-radius:16px;width:min(540px,100vw - 32px);max-height:calc(100dvh - 32px);padding:28px;overflow:auto;box-shadow:0 20px 80px #0e201a66}#package-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#122c24a8}#package-dialog h2{margin:12px 0;font-size:27px}#package-description{color:#5b6b60;font-size:14px;line-height:1.6}#package-options{gap:10px;margin:22px 0;display:grid}.package-choice{text-align:left;color:#254333;background:#fffdf5;border:1px solid #98b7a2;border-radius:8px;gap:8px;padding:16px;display:grid}.package-choice:hover{background:#e4f2e6}.package-choice span{letter-spacing:1px;font-size:10px}.package-choice strong{font-size:18px}#package-cancel{color:#fff;background:#285e49;border:0;border-radius:6px;padding:12px 16px}#notice{white-space:normal;text-align:center;max-width:calc(100vw - 32px)}.touch-controls [data-control=slide]{font-size:13px;font-weight:700}.pause-card button.secondary{color:#3d493f;background:#e7e3d8;margin-top:10px}.pause-card button.secondary:hover{background:#ddd8ca}.start-menu{z-index:20;background:#29393366}.menu-card{background:#f8f5ee;border-radius:14px;width:min(470px,100vw - 32px);max-height:calc(100dvh - 32px);padding:34px 34px 26px;overflow:auto;box-shadow:0 18px 60px #1b262133}.menu-brand{align-items:center;gap:14px;margin-bottom:24px;display:flex}.menu-brand .brand-mark{letter-spacing:-6px;border-right:1px solid #65716b50;padding-right:20px;font-size:46px;font-weight:900}.menu-brand .brand-mark span{color:#df642f}.menu-brand h1{letter-spacing:6px;margin:0 0 5px;font-size:24px}.menu-brand p{letter-spacing:2.6px;margin:0;font-size:9px;font-weight:700}.menu-lede{color:#5c645d;margin:0 0 18px;font-size:14px}.menu-options{gap:10px;display:grid}.menu-options>button,.menu-options>a{color:#252b29;text-align:left;background:#fff;border:1px solid #e1ddd1;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:15px 16px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:grid}.menu-options>button:hover,.menu-options>a:hover,.menu-options>button:focus-visible,.menu-options>a:focus-visible{background:#fff8f2;border-color:#dc693a;transform:translate(2px)}.menu-options strong{margin-bottom:3px;font-size:16px;display:block}.menu-options small{color:#687166;font-size:12px;line-height:1.35;display:block}.menu-options i{color:#dc693a;font-size:19px;font-style:normal}.menu-options em{letter-spacing:1.2px;text-transform:uppercase;color:#8a6a2c;background:#f3e6c4;border-radius:20px;padding:4px 8px;font-size:9px;font-style:normal;font-weight:700}.menu-options>[data-menu=single]{color:#fff;background:#dc693a;border-color:#dc693a}.menu-options>[data-menu=single] small{color:#fde7da}.menu-options>[data-menu=single] i{color:#fff}.menu-options>[data-menu=single] kbd{color:#fff;background:#e98a60;border-color:#f3b392}.menu-options>[data-menu=single]:hover,.menu-options>[data-menu=single]:focus-visible{background:#c95c2e;border-color:#c95c2e}.menu-options kbd{min-width:26px;height:26px;font-size:11px}.menu-hint{color:#8a9188;text-align:center;margin:16px 0 0;font-size:11px}#menu-multiplayer h2{letter-spacing:-1px;margin:10px 0 8px;font-size:26px}#menu-multiplayer h2 span{color:#df642f}#menu-multiplayer p{color:#5c645d;font-size:14px;line-height:1.5}#menu-multiplayer button{color:#3d493f;background:#fff;border:1px solid #d9d5c9;border-radius:8px;align-items:center;gap:10px;margin-top:10px;padding:12px 16px;display:flex}#menu-multiplayer button:hover{border-color:#dc693a}@media (pointer:coarse){.menu-hint,.menu-options kbd{display:none}}body.at-menu .collision-debug-panel{display:none}#crosshair{pointer-events:none;width:28px;height:28px;margin:-14px 0 0 -14px;position:absolute;top:50%;left:50%}#crosshair i{background:#fff;position:absolute;box-shadow:0 0 0 1px #0008}#crosshair i:first-child{width:2px;height:9px;top:0;left:13px}#crosshair i:nth-child(2){width:2px;height:9px;bottom:0;left:13px}#crosshair i:nth-child(3){width:9px;height:2px;top:13px;left:0}#crosshair i:nth-child(4){width:9px;height:2px;top:13px;right:0}.multiplayer-list-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.multiplayer-list-heading h3{margin:18px 0 8px}#multiplayer-games{max-height:230px;margin:0;padding:0;list-style:none;overflow:auto}#multiplayer-games li{border-bottom:1px solid #ddd8ca;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}#multiplayer-games span{overflow-wrap:anywhere;min-width:0}#menu-multiplayer #multiplayer-games button{color:#fff;background:#285e49;margin:0}#menu-multiplayer button:disabled{opacity:.5;cursor:wait}.portal-return{text-align:center;margin:18px 0 0;font-size:12px}.portal-return a{color:#526358;text-underline-offset:3px}#health-hud{pointer-events:none;background:#f8f5eee8;border:1px solid #fff9;border-radius:6px;align-items:center;gap:9px;padding:8px 11px;display:flex;position:absolute;top:78px;left:40px}#health-hud>span{letter-spacing:1.6px;color:#685e4e;font-size:8px;font-weight:700}.health-track{background:#d9ddd3;border-radius:3px;width:150px;height:6px;overflow:hidden}#health-fill{background:#4f9a5c;width:100%;height:100%;transition:width .15s}#health-fill.low{background:#c8402c}#damage-flash{pointer-events:none;opacity:0;background:radial-gradient(#0000 55%,#b0140c55 80%,#8a0a06aa 100%);position:absolute;inset:0}#hit-marker{pointer-events:none;width:26px;height:26px;margin:-13px 0 0 -13px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}#hit-marker i{background:#ff3b2f;position:absolute;box-shadow:0 0 0 1px #0008}#hit-marker i:first-child{width:2px;height:8px;top:0;left:12px}#hit-marker i:nth-child(2){width:2px;height:8px;bottom:0;left:12px}#hit-marker i:nth-child(3){width:8px;height:2px;top:12px;left:0}#hit-marker i:nth-child(4){width:8px;height:2px;top:12px;right:0}#scene{transition:filter 1.2s}body.wasted #scene{filter:grayscale(.9)brightness(.75)contrast(1.1)}#wasted{text-align:center;pointer-events:none;background:linear-gradient(#0000 38%,#0008 50%,#0000 62%);place-content:center;animation:1.2s ease-out wasted-in;display:grid;position:absolute;inset:0}#wasted strong{letter-spacing:4px;color:#c8402c;text-shadow:0 3px #000,0 0 24px #000a;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,9vw,96px)}#wasted p{letter-spacing:1px;color:#f3efe6;text-shadow:0 1px 3px #000;margin:8px 0 0;font-size:13px}@keyframes wasted-in{0%{opacity:0}40%{opacity:0}to{opacity:1}}@media (width<=700px){#health-hud{top:58px;left:21px}.health-track{width:110px}}@media (height<=500px){#health-hud{top:40px}}#weapon-hud{pointer-events:none;letter-spacing:1.4px;color:#3c372f;background:#f8f5eee8;border:1px solid #fff9;border-radius:6px;align-items:baseline;gap:10px;padding:7px 11px;font-size:10px;font-weight:700;display:flex;position:absolute;top:118px;left:40px}#weapon-ammo{color:#8a5a22;font-size:12px}#weapon-wheel{pointer-events:none;z-index:5;background:radial-gradient(circle,#1b1f21cc 0 38%,#1b1f2199 39% 100%);border-radius:50%;width:340px;height:340px;margin:-170px 0 0 -170px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #fff3,0 10px 40px #0006}#weapon-wheel .wheel-slot{color:#f4f1ea;letter-spacing:1.2px;background:#ffffff12;border:2px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:92px;height:62px;margin:-31px 0 0 -46px;font-size:10px;font-weight:700;transition:transform 80ms,background 80ms;display:flex;position:absolute}#weapon-wheel .wheel-slot svg{fill:currentColor;width:54px;height:26px;margin-bottom:3px}#weapon-wheel .wheel-slot.selected{color:#1b1f21;background:#f0b44acc;border-color:#fff;transform:scale(1.12)}#weapon-wheel .wheel-slot.locked{opacity:.3}#weapon-wheel .wheel-center{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#wheel-label{letter-spacing:1.8px;font-size:13px}#wheel-detail{color:#fffb;letter-spacing:1px;font-size:9px}@media (width<=700px){#weapon-hud{top:96px;left:21px}#weapon-wheel{transform:scale(.8)}}@media (height<=500px){#weapon-hud{top:78px}}
