:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff6d8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}html,body,#app,#game-frame{width:100%;height:100%;margin:0}body{overscroll-behavior:none;background:#0a0a12}#app{height:100dvh}#game-frame{position:relative;overflow:hidden}#game{position:absolute;inset:0}canvas{touch-action:none;-webkit-user-select:none;user-select:none}#menus{pointer-events:none;z-index:20;position:absolute;inset:0}.shell-menu{pointer-events:auto;background:#141b22f5;border:1px solid #73847c;border-radius:12px;padding:22px;box-shadow:0 16px 70px #0009}.shell-menu h1{color:#ffd23f;margin:0 0 8px;font-size:clamp(20px,3vw,30px)}.shell-menu p{color:#d3ded6;margin:0 0 18px;font-size:14px;line-height:1.55}.home-menu{padding:14px;position:absolute;bottom:10%;left:5%;right:5%}.home-menu h1{margin-bottom:12px;font-size:17px}.home-menu>p{display:none}.menu-actions{flex-wrap:wrap;gap:10px;display:flex}.menu-button{cursor:pointer;min-height:52px;font:inherit;text-align:left;color:#fff6d8;background:#283b34;border:1px solid #879b8d;border-radius:7px;flex:140px;padding:12px 14px;transition:background .15s}.menu-button strong{font-size:14px;display:block}.menu-button span{opacity:.9;margin-top:5px;font-size:11px;line-height:1.4;display:block}.menu-button.primary{color:#171d23;background:#ffd23f;border-color:#ffd23f}.menu-button:hover{background:#3e5749}.menu-button.primary:hover{background:#ffe581}.menu-button:focus-visible,.touch-controls button:focus-visible{outline-offset:3px;outline:3px solid #9fe8ff}.menu-button:disabled{opacity:.45;cursor:default}.dialog,.garage-menu{width:min(680px,100% - 28px);max-height:calc(100% - 28px);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog .menu-actions{grid-template-columns:1fr 1fr;display:grid}.help-list{white-space:pre-line}.garage-van{object-fit:contain;float:right;width:120px;height:62px;margin:0 0 10px 12px}.garage-stats{color:#9fe8ff;flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.garage-expanded{width:min(820px,100% - 28px)}.career-path{clear:both;background:#20342c;border-radius:8px;margin-bottom:14px;padding:12px 14px}.career-path label{color:#d3ded6;font-size:12px;display:block}.career-path progress{accent-color:#ffd23f;width:100%;height:10px;margin:9px 0}.career-path p{margin:0;font-size:12px}.garage-tabs,.livery-choices{gap:8px;margin:14px 0;display:flex}.garage-tabs .menu-button{text-align:center;flex:1;min-height:44px}.garage-tabs [aria-pressed=true]{background:#3c482b;border-color:#ffd23f}.garage-notice{background:#20313d;border-left:3px solid #9fe8ff;padding:10px 12px;font-size:12px!important}.workshop-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.workshop-heading{color:#ffd23f;margin:18px 0 8px;font-size:15px}.livery-choices .menu-button{flex:1 1 0;min-width:0}.livery-swatch{float:right;object-fit:contain;width:64px;height:38px;margin-left:8px}.job.current{border-color:#ad963a}.contract-tracker{text-align:left;width:min(650px,80%);padding:9px 12px}.contract-tracker>strong{color:#ffd23f;font-size:12px}.contract-goals,.result-goals{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:7px;display:grid}.contract-goals>div{border-left:2px solid #ab9a63;padding-left:7px}.contract-goals span{color:#c4d1ca;font-size:10px;display:block}.contract-goals strong{font-size:12px;line-height:1.5;display:block}.contract-goals .met{border-color:#7fe8a2}.contract-hint{color:#d3e7e4;margin:7px 0 0;font-size:11px;line-height:1.4}.result-goals{margin:14px 0}.result-goals>div{border:1px solid #53695d;border-radius:6px;padding:10px}.result-goals strong,.result-goals span{font-size:12px;line-height:1.5;display:block}.result-goals .met strong{color:#7fe8a2}.result-goals .unmet strong{color:#ffc399}.contract-feedback{color:#9fe8ff!important}.job-list{gap:8px;margin-bottom:16px;display:grid}.job{background:#233329;border:1px solid #53695d;border-radius:7px;padding:12px}.job h2{margin:0 0 5px;font-size:15px}.job p{margin:0;font-size:12px}.job.locked{opacity:.5}.job.done h2{color:#7fe8a2}.save-note{color:#b1c0b5!important;font-size:12px!important}.summary-stats{grid-template-columns:1fr 1fr;gap:10px 22px;margin:20px 0;display:grid}.summary-stats div{border-bottom:1px solid #435b50;padding-bottom:7px}.summary-stats dt{color:#afc1b8;font-size:12px}.summary-stats dd{color:#fff6d8;margin:4px 0 0;font-size:18px}.charge-list{gap:9px;margin:20px 0;font-size:13px;display:grid}.charge-list div{justify-content:space-between;gap:18px;display:flex}.charge-list dd{white-space:nowrap;color:#ffd23f;margin:0}.charge-list div:last-child{border-top:1px solid #7c9284;padding-top:12px;font-weight:700}.career-banner{color:#fff6d8;text-align:center;pointer-events:none;z-index:5;background:#141b22ed;border:1px solid #ffd23f;border-radius:7px;max-width:65%;padding:8px 14px;font-size:13px;position:absolute;top:18%;left:50%;transform:translate(-50%)}.touch-status,.touch-controls{display:none}[hidden]{display:none!important}@media (width<=900px),(pointer:coarse){.touch-status{z-index:6;top:env(safe-area-inset-top,0px);pointer-events:none;background:#10191ff5;grid-template-columns:repeat(6,1fr);gap:5px;padding:7px 10px;display:grid;position:absolute;left:0;right:0}.touch-stat{color:#adbdba;text-transform:uppercase;font-size:9px}.touch-stat strong{color:#fff6d8;margin-top:3px;font-size:15px;display:block}.touch-note{color:#9fe8ff;grid-column:1/-1;font-size:11px;line-height:1.3}.touch-note.warning{color:#ffb49c}.touch-controls{z-index:8;bottom:env(safe-area-inset-bottom,0px);touch-action:none;background:#10191ff2;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;padding:6px;display:grid;position:absolute;left:0;right:0}.touch-controls button{color:#fff6d8;touch-action:none;-webkit-user-select:none;user-select:none;background:#30443a;border:1px solid #71877b;border-radius:7px;min-height:52px;font:700 13px ui-monospace,monospace}.touch-controls button.held{color:#141b22;background:#ffd23f}.touch-controls button[data-action=gas]{border-color:#ffd23f}.career-banner{max-width:86%;padding:6px 10px;font-size:11px;top:72px}.contract-tracker{width:650px;max-width:94%;top:64px}.home-menu{bottom:8%}}@media (orientation:portrait) and (width<=900px){.home-menu{bottom:max(24px, env(safe-area-inset-bottom));left:14px;right:14px}.home-menu .menu-actions{grid-template-columns:1fr 1fr;display:grid}.menu-button{min-height:64px}.touch-status{grid-template-columns:repeat(3,1fr)}.touch-controls{grid-template-columns:repeat(5,minmax(0,1fr))}.touch-controls button{min-height:54px}.career-banner{width:max-content;max-width:94%;top:114px}.dialog .menu-actions{grid-template-columns:1fr}.garage-menu{padding:18px}.workshop-grid{grid-template-columns:1fr}.livery-choices{flex-direction:column}.result-goals{gap:5px}.result-goals>div{padding:7px}.contract-tracker{width:calc(100% - 20px);top:114px}}@media (prefers-reduced-motion:reduce){.menu-button{transition:none}}@media (height<=500px){.dialog{padding:14px}.dialog h1{margin-bottom:6px;font-size:22px}.dialog p{margin-bottom:10px;font-size:12px}.dialog .menu-button{min-height:44px;padding:8px 12px}.summary-stats{gap:6px 18px;margin:12px 0}.summary-stats div{padding-bottom:5px}.summary-stats dt{font-size:11px}.summary-stats dd{margin-top:2px;font-size:15px}.charge-list{gap:6px;margin:12px 0;font-size:12px}}
