: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.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;display:grid;position:absolute;left:0;right:0}.touch-stat{color:#adbdba;text-transform:uppercase}.touch-stat strong{color:#fff6d8;display:block}.touch-note{color:#9fe8ff;grid-column:1/-1;line-height:1.3}.touch-note.warning{color:#ffb49c}.touch-controls{z-index:8;bottom:env(safe-area-inset-bottom,0px);touch-action:none;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:44px;font:700 13px ui-monospace,monospace}.touch-controls button.held{color:#141b22;background:#ffd23f}}@media (orientation:portrait) and (width<=900px){.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}}@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}}.home-menu{max-height:45%;bottom:7%;overflow:auto}.home-start{width:100%;min-height:68px;margin:0 0 10px;display:block}.home-start strong{font-size:20px}.home-menu .menu-actions{grid-template-columns:repeat(5,1fr);display:grid}.home-menu .menu-actions .menu-button{min-height:48px;padding:8px 10px}.home-menu .menu-actions strong{font-size:12px}.first-fare-guide{z-index:7;color:#fff6d8;pointer-events:auto;background:#141b22f2;border:1px solid #c5ac52;border-radius:10px;width:min(520px,85%);padding:12px 16px;position:absolute;top:100px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0004}.first-fare-guide>strong{color:#ffd23f;font-size:16px;display:block}.first-fare-guide>span{color:#9fe8ff;margin:6px 0;font-size:12px;display:block}.first-fare-guide p{margin:0;font-size:13px;line-height:1.4}.lesson-tools{gap:14px;margin-top:8px;display:flex}.lesson-tools button{color:#d3ded6;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a2b6aa;min-height:32px;padding:6px 0;font-size:12px}.lesson-tools button:focus-visible,.contract-tracker summary:focus-visible{outline-offset:3px;outline:3px solid #9fe8ff}.contract-tracker{pointer-events:auto;width:min(650px,80%);max-width:none;padding:8px 12px;top:90px}.contract-tracker summary{color:#ffd23f;cursor:pointer;min-height:24px;font-size:12px;line-height:24px}.contract-tracker:not([open]) .contract-goals,.contract-tracker:not([open]) .contract-hint{display:none}.result-menu{max-width:620px}.result-hero{border-top:1px solid #53695d;border-bottom:1px solid #53695d;margin:14px 0;padding:14px 0}.result-hero strong{color:#ffd23f;font-size:36px;display:block}.result-hero span{color:#c4d1ca;font-size:12px}.result-ledger{gap:8px;margin:16px 0;font-size:13px;display:grid}.result-ledger>div{justify-content:space-between;gap:16px;display:flex}.result-ledger dd{margin:0;font-weight:700}.result-ledger>div:last-child{border-top:1px solid #53695d;padding-top:9px}.result-menu .result-service,.result-menu .incident-note{margin-bottom:12px;font-size:12px}.result-menu .personal-best{color:#7fe8a2;margin-bottom:8px;font-size:13px}.result-menu .bank-reward{color:#ffd23f;font-weight:700}.result-menu progress{accent-color:#ffd23f;width:100%;height:12px}.job.locked{opacity:.72}@media (width<=900px),(pointer:coarse){.touch-status{grid-template-columns:1fr .6fr 1fr 1fr;gap:3px;padding:5px 10px}.touch-stat{font-size:9px}.touch-stat strong{margin-top:2px;font-size:14px}.touch-note{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.touch-controls{padding:6px max(8px, env(safe-area-inset-right));pointer-events:none;background:linear-gradient(#0000,#10191fee 45%);justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.touch-controls button,.touch-controls input,.drive-extras{pointer-events:auto}.thumb-group{gap:6px;display:flex}.thumb-group button{background:#233b32f2;border:1px solid #a0b7a7;width:clamp(54px,9vw,86px);height:72px;font-size:14px}.driving button[data-action=gas]{color:#141b22;background:#ffd23f}.drive-actions{flex:1;align-items:flex-end;gap:8px;max-width:300px;display:flex}.touch-controls .passenger-action{white-space:pre-line;background:#233b32f2;flex:1;min-height:60px;padding:6px 8px;font-size:11px;line-height:1.5}.touch-controls .passenger-action:not(:disabled){color:#ffd23f;border-color:#ffd23f}.touch-controls .passenger-action:disabled{color:#c1d1c7;border-color:#53695d}.drive-tools{flex-direction:column;gap:4px;display:flex}.touch-controls .drive-tools button{min-height:32px;padding:4px 7px;font-size:11px}.drive-extras{background:#141b22fa;border:1px solid #a0b7a7;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;width:min(650px,100vw - 24px);padding:10px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.touch-controls .drive-extras button{min-height:44px;padding:6px 10px;font-size:11px}.drive-extras label{align-items:center;gap:8px;font-size:12px;display:flex}.drive-extras input{max-width:100px;min-height:44px}.first-fare-guide{width:min(490px,100% - 140px);padding:8px 12px;top:58px}.first-fare-guide>strong{font-size:13px}.first-fare-guide p{font-size:11px}.first-fare-guide>span{margin:3px 0;font-size:10px}.lesson-tools{gap:12px;margin-top:3px}.lesson-tools button{min-height:26px;font-size:10px}.contract-tracker{max-width:calc(100% - 28px);padding:5px 10px;top:57px}.contract-tracker summary{font-size:11px}}.route-playing .touch-status{z-index:6;top:env(safe-area-inset-top,0px);pointer-events:none;background:#10191ff5;display:grid;position:absolute;left:0;right:0}.route-playing .touch-stat{color:#adbdba;text-transform:uppercase}.route-playing .touch-stat strong{color:#fff6d8;display:block}.route-playing .touch-note{color:#9fe8ff;grid-column:1/-1;line-height:1.3}.route-playing .touch-note.warning{color:#ffb49c}.route-playing .touch-controls{z-index:8;bottom:env(safe-area-inset-bottom,0px);touch-action:none;position:absolute;left:0;right:0}.route-playing .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:44px;font:700 13px ui-monospace,monospace}.route-playing .touch-controls button.held{color:#141b22;background:#ffd23f}.route-playing .touch-status{grid-template-columns:1fr .6fr 1fr 1fr;gap:3px;padding:5px 10px}.route-playing .touch-stat{font-size:9px}.route-playing .touch-stat strong{margin-top:2px;font-size:14px}.route-playing .touch-note{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.route-playing .touch-controls{padding:6px max(8px, env(safe-area-inset-right));pointer-events:none;background:linear-gradient(#0000,#10191fee 45%);justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.route-playing .touch-controls button,.route-playing .touch-controls input,.route-playing .drive-extras{pointer-events:auto}.route-playing .thumb-group{gap:6px;display:flex}.route-playing .thumb-group button{background:#233b32f2;border:1px solid #a0b7a7;width:clamp(54px,9vw,86px);height:72px;font-size:14px}.route-playing .driving button[data-action=gas]{color:#141b22;background:#ffd23f}.route-playing .drive-actions{flex:1;align-items:flex-end;gap:8px;max-width:300px;display:flex}.route-playing .touch-controls .passenger-action{white-space:pre-line;background:#233b32f2;flex:1;min-height:60px;padding:6px 8px;font-size:11px;line-height:1.5}.route-playing .touch-controls .passenger-action:not(:disabled){color:#ffd23f;border-color:#ffd23f}.route-playing .touch-controls .passenger-action:disabled{color:#c1d1c7;border-color:#53695d}.route-playing .drive-tools{flex-direction:column;gap:4px;display:flex}.route-playing .touch-controls .drive-tools button{min-height:32px;padding:4px 7px;font-size:11px}.route-playing .drive-extras{background:#141b22fa;border:1px solid #a0b7a7;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;width:min(650px,100vw - 24px);padding:10px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.route-playing .touch-controls .drive-extras button{min-height:44px;padding:6px 10px;font-size:11px}.route-playing .drive-extras label{align-items:center;gap:8px;font-size:12px;display:flex}.route-playing .drive-extras input{max-width:100px;min-height:44px}@media (orientation:portrait) and (width<=900px){.home-menu{max-height:50%;bottom:14px}.home-menu .menu-actions{grid-template-columns:repeat(2,1fr)}.home-menu .menu-actions .menu-button{min-height:44px}.home-menu .menu-actions .menu-button:last-child{grid-column:1/-1}.home-start{min-height:68px}.touch-controls{padding-bottom:max(8px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:6px}.thumb-group{order:2}.thumb-group button{width:clamp(54px,19vw,80px);height:74px}.drive-actions{flex:100%;order:1;justify-content:space-between;max-width:none}.touch-controls .passenger-action{min-height:44px}.drive-tools{flex-direction:row}.touch-controls .drive-tools button{min-width:52px;min-height:44px}.first-fare-guide,.contract-tracker{width:calc(100% - 28px);top:60px}.result-menu{padding:18px}}@media (height<=500px){.result-menu .result-hero{margin:8px 0;padding:8px 0}.result-menu .result-hero strong{font-size:28px}.result-menu .result-ledger{gap:5px;margin:10px 0}}.home-menu .menu-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.game-credits{color:#d3ded6;margin-top:10px;font-size:12px}.game-credits summary{cursor:pointer}.game-credits p{margin:8px 0;font-size:12px}.game-credits a{color:#9fe8ff;margin-right:16px;padding:6px 0;display:inline-block}.map-attribution{color:#b8cfc4;padding:8px 0 0;font-size:11px;display:inline-block}.result-menu .menu-actions{margin:12px 0 16px}.result-menu .result-home{flex:none;min-height:40px;padding:8px 12px;font-size:12px}@media (orientation:portrait) and (width<=900px){.home-menu .menu-actions{grid-template-columns:repeat(2,1fr)}.home-menu .menu-actions .menu-button:last-child{grid-column:auto}}.result-bank{padding:4px 0}.result-bank p{margin-bottom:7px;font-size:12px}.result-bank progress{margin-bottom:5px}@media (width<=900px),(pointer:coarse){.first-fare-guide{width:min(390px,46vw);left:14px;transform:none}.lesson-tools button{min-height:44px}}@media (orientation:portrait) and (width<=900px){.first-fare-guide{width:calc(100% - 28px)}.route-playing .touch-controls{flex-wrap:wrap;gap:6px}.route-playing .thumb-group button{width:clamp(54px,19vw,80px);height:74px}.route-playing .drive-actions{flex:100%;justify-content:space-between;max-width:none}}.course-menu{background:#132c2cf5;border-color:#6a8e7d;padding:clamp(18px,3vw,36px);position:absolute;inset:4%;overflow:auto}.course-menu h1{color:#f5e5ba;letter-spacing:-2px;font-family:system-ui,sans-serif;font-size:clamp(28px,4vw,48px)}.course-menu>p{font-family:system-ui,sans-serif}.course-menu .course-eyebrow{color:#b7d0b8;letter-spacing:2px;margin-bottom:12px;font-size:10px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.course-card{background:#203b35;border:1px solid #789284;border-radius:14px;flex-direction:column;min-width:0;padding:14px;display:flex}.course-preview{background:#91aa76;border-radius:8px;height:180px;position:relative;overflow:hidden}.course-preview svg{object-fit:cover;width:100%;height:100%}.course-preview>span{color:#fff7d9;background:#183b32dd;border-radius:5px;padding:5px 8px;font-size:14px;position:absolute;top:10px;left:10px}.course-card h2{color:#f5e5ba;margin:16px 0 5px;font:700 clamp(18px,2.1vw,25px) system-ui,sans-serif}.course-card p{margin-bottom:18px;font:13px/1.55 system-ui,sans-serif}.course-card .course-place{color:#b7ddc8;min-height:17px;margin-bottom:12px;font-size:11px}.course-card .menu-button{flex:none;margin-top:auto}.course-menu .course-footnote{color:#a8c5b8;max-width:800px;margin:18px 0 0;font-size:11px}.course-record{color:#ffe17c!important;font-weight:700!important}.service-minimap{z-index:6;color:#fff6d8;cursor:pointer;background:#19352ee8;border:1px solid #a7b8a5;border-radius:8px;width:180px;padding:5px;position:absolute;top:72px;right:14px}.service-minimap svg{border-radius:4px;width:100%;height:118px;display:block}.service-minimap span{padding:5px 2px;font:10px/1.3 system-ui,sans-serif;display:block}.service-minimap:focus-visible{outline:3px solid #9fe8ff}.service-pause-map{border-radius:8px;width:100%;height:min(260px,32vh);display:block}.route-playing .touch-status{display:grid}.route-playing .touch-controls{display:flex}@media (width<=650px){.course-menu{padding:18px;inset:10px}.course-grid{grid-template-columns:1fr;gap:12px}.course-preview{height:150px}.course-card h2{font-size:24px}.service-minimap{width:120px;top:70px;right:10px}.service-minimap svg{height:80px}.service-minimap span{font-size:9px}}@media (height<=500px) and (width>=651px){.course-menu{padding:16px;inset:8px}.course-menu h1{font-size:28px}.course-grid{gap:10px;margin:12px 0}.course-preview{height:110px}.course-card h2{font-size:19px}.course-card p{margin-bottom:10px;font-size:11px}.service-minimap{width:130px;top:58px}.service-minimap svg{height:85px}}.service-radar{z-index:6;pointer-events:none;width:128px;height:142px;position:absolute;top:72px;left:14px}@media (width<=650px){.service-radar{width:104px;height:116px;top:70px;left:10px}}@media (width>=901px){.route-playing .touch-stat{font-size:11px}.route-playing .touch-stat strong{font-size:18px}.route-playing .touch-note{font-size:12px}}@media (height<=500px) and (width>=651px){.service-radar{width:96px;height:106px;top:58px}}.difficulty-choice{border:1px solid #718d84;border-radius:9px;flex-wrap:wrap;gap:12px;margin:16px 0;padding:10px 13px;display:flex}.difficulty-choice legend{color:#ffda78;padding:0 6px;font-weight:700}.difficulty-choice label{cursor:pointer;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.difficulty-choice input{accent-color:#ffd85d;width:18px;height:18px}.native-damage-bar{appearance:none;accent-color:#ffb84f;background:#42514c;border:0;border-radius:5px;width:100%;height:7px;margin-top:3px;display:block}.native-damage-bar::-webkit-progress-bar{background:#42514c;border-radius:5px}.native-damage-bar::-webkit-progress-value{background:#ffb84f;border-radius:5px}.native-damage-bar::-moz-progress-bar{background:#ffb84f;border-radius:5px}.native-damage-bar.critical{accent-color:#ff635b}.native-damage-bar.critical::-webkit-progress-value{background:#ff635b}.native-damage-bar.critical::-moz-progress-bar{background:#ff635b}.privacy-controls{color:#fff6d8;text-align:left;background:#112e27cc;border:1px solid #789887;border-radius:8px;margin-top:12px;padding:9px 12px;font:12px/1.45 system-ui,sans-serif}.privacy-controls summary{cursor:pointer;color:#ffd23f;min-height:30px;font-weight:800;line-height:30px}.privacy-controls label{cursor:pointer;align-items:flex-start;gap:10px;margin:10px 0;padding:3px 0;display:flex}.privacy-controls input{accent-color:#ffd23f;flex:none;width:20px;height:20px;margin:1px 0}.privacy-controls strong,.privacy-controls small{display:block}.privacy-controls small{color:#cadbd0;margin-top:4px;font-size:11px}.privacy-controls button{color:#fff6d8;cursor:pointer;background:#314e3e;border:1px solid #9db799;border-radius:6px;min-height:42px;margin:4px 0;padding:8px 12px;font:800 11px system-ui,sans-serif}.privacy-controls button:disabled{opacity:.45;cursor:default}.privacy-controls .privacy-status{color:#9fe8ff;margin:7px 0}.privacy-controls .privacy-copy{color:#cadbd0;margin:8px 0 0;font-size:10px}.privacy-controls a{color:#a2e4f2;text-decoration:underline}.privacy-controls input:focus-visible,.privacy-controls summary:focus-visible,.privacy-controls button:focus-visible,.privacy-controls a:focus-visible{outline-offset:2px;outline:3px solid #9fe8ff}.repair-panel{z-index:8;box-sizing:border-box;color:#fff6d8;pointer-events:auto;background:#16352ef5;border:1px solid #9db49e;border-radius:9px;width:min(330px,100% - 24px);max-height:calc(100% - 180px);padding:9px 11px;font:12px/1.4 system-ui,sans-serif;position:absolute;bottom:112px;right:12px;overflow:auto;box-shadow:0 4px 18px #0005}.repair-panel[hidden],.repair-panel [hidden]{display:none}.repair-panel summary{cursor:pointer;color:#ffd23f;min-height:25px;font-weight:800;line-height:25px}.repair-panel button{color:#fff6d8;cursor:pointer;touch-action:manipulation;background:#314e3e;border:1px solid #a8bc99;border-radius:6px;width:100%;min-height:44px;margin:7px 0;padding:8px;font:800 11px/1.3 system-ui,sans-serif;display:block}.repair-panel button:disabled{opacity:.48;cursor:default}.repair-panel button.repair-accept{color:#14372e;background:#ffd23f}.repair-panel button:focus-visible,.repair-panel summary:focus-visible,.repair-panel input:focus-visible{outline-offset:2px;outline:3px solid #9fe8ff}.repair-panel fieldset{border:1px solid #6f8e7a;border-radius:6px;margin:8px 0;padding:6px}.repair-panel label{cursor:pointer;align-items:flex-start;gap:7px;padding:5px 0;display:flex}.repair-panel input{accent-color:#ffd23f;flex:none;width:18px;height:18px;margin:1px 0}.repair-panel small{color:#c7d9ce;margin-top:2px;display:block}.repair-panel .repair-note{color:#c7d9ce;font-size:10px}.repair-panel .repair-status{color:#9fe8ff;margin:7px 0}.repair-panel .repair-quote{margin:8px 0}.repair-panel progress{accent-color:#7fe8a2;width:100%;height:12px}.repair-panel.repair-prompt{border-color:#ffd23f}@media (width<=600px){.repair-panel{max-height:calc(100% - 230px);font-size:11px;bottom:139px}.repair-panel:not([open]){width:auto;max-width:calc(100% - 24px)}}.arrest-menu{overscroll-behavior:contain;background:#15242cfb;border-color:#b4b5a0;width:min(960px,100% - 28px);max-height:calc(100% - 24px);padding:16px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}#menus.arrest-open{pointer-events:auto}.arrest-menu h1{letter-spacing:.06em;margin:0;font-size:21px}.arrest-menu .arrest-subtitle{color:#bac9c6;margin:4px 0 10px;font-size:11px}.arrest-theatre{isolation:isolate;background:#f5d4a3;border:2px solid #d5bf91;border-radius:9px;margin:0;position:relative;overflow:hidden}.arrest-art{width:100%;height:auto;max-height:350px;display:block}.arrest-balloon{z-index:1;color:#233844;background:#fff5da;border:2px solid #283e49;border-radius:15px;width:43%;padding:10px 13px 12px;position:absolute;top:6%;box-shadow:3px 4px #37495845}.arrest-balloon:after{content:"";background:#fff5da;border-bottom:2px solid #283e49;border-right:2px solid #283e49;width:13px;height:15px;position:absolute;bottom:-10px;transform:skewY(30deg)}.arrest-balloon strong{letter-spacing:.12em;text-transform:uppercase;color:#826335;margin-bottom:4px;font-size:9px;display:block}.arrest-menu .arrest-balloon p{color:#233844;margin:0;font:800 clamp(12px,1.75vw,17px)/1.3 ui-sans-serif,system-ui,sans-serif}.arrest-balloon-officer{right:3%}.arrest-balloon-officer:after{right:43%}.arrest-balloon-driver{top:9%;left:3%}.arrest-balloon-driver:after{right:12%}.arrest-caption{color:#f8e9ca;text-align:center;background:#223844e8;padding:5px 10px;font-size:10px;line-height:1.3;position:absolute;bottom:0;left:0;right:0}.arrest-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin:8px 0;display:flex}.arrest-text-button{cursor:pointer;color:#c6e4e1;font:inherit;background:#263e48;border:1px solid #78978f;border-radius:6px;min-height:40px;padding:9px 12px;font-size:11px}.arrest-text-button:hover{background:#35535b}.arrest-text-button:focus-visible{outline-offset:2px;outline:3px solid #9fe8ff}.arrest-details{border-top:1px solid #60777b;padding-top:10px}.arrest-details h2{color:#ffda7e;margin:0 0 8px;font-size:14px}.arrest-details .charge-list{gap:6px;margin:10px 0 15px;font-size:12px}.arrest-details .charge-list div:last-child{padding-top:8px}.arrest-details .menu-actions{grid-template-columns:1fr 1fr;display:grid}.arrest-menu .arrest-outcome-note{margin:8px 0;font-size:12px}.arrest-menu .arrest-outcome-next{width:100%;margin-top:12px}.arrest-person{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s}.arrest-head{transform-box:fill-box;transform-origin:50% 90%}.arrest-arm{transform-box:fill-box;transform-origin:70% 12%;transition:transform .55s}.arm-right{transform-origin:20% 12%}.arrest-door{transform-origin:151px 215px;transition:transform .65s}.mouth-talk{display:none}[data-stage=approach] .actor-driver{opacity:0;transform:translate(-45px,12px)}[data-stage=approach] .actor-officer{transform:translate(45px,-12px)}[data-stage=approach] .actor-officer .mouth-talk,[data-stage=bribe-failed] .actor-officer .mouth-talk,[data-stage=protest] .actor-driver .mouth-talk{display:initial}[data-stage=approach] .actor-officer .mouth-rest,[data-stage=bribe-failed] .actor-officer .mouth-rest,[data-stage=protest] .actor-driver .mouth-rest{display:none}[data-stage=protest] .arrest-door,[data-stage=charges] .arrest-door{transform:skewY(-9deg)scaleX(1.15)}[data-stage=protest] .actor-driver .arm-left{transform:rotate(95deg)}[data-stage=protest] .actor-driver .arm-right{transform:rotate(-85deg)}[data-stage=protest] .actor-driver .arrest-head{animation:1.1s ease-in-out 2 arrest-protest}[data-stage=protest] .actor-officer .arm-right,[data-stage=charges] .actor-officer .arm-right{transform:rotate(-18deg)}[data-stage=charges] .actor-driver .arm-left{transform:rotate(36deg)}[data-stage=bribed] .actor-officer .arm-left{transform:rotate(110deg)}[data-stage=bribed] .actor-officer .arrest-head{transform:rotate(-7deg)}[data-stage=paid] .actor-officer .arm-left{transform:rotate(52deg)}[data-stage=bribe-failed] .actor-officer .arm-left{transform:rotate(92deg)}[data-stage=bribe-failed] .actor-driver .arrest-head{transform:rotate(9deg)}[data-stage=bribe-failed] .actor-officer .arrest-brows{transform:translateY(2px)}@keyframes arrest-protest{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}.arrest-paused *,.arrest-paused :after{animation-play-state:paused!important}.arrest-still *,.arrest-still :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.arrest-theatre *,.arrest-theatre :after{transition:none!important;animation:none!important}}@media (width<=560px){.arrest-menu{width:calc(100% - 16px);max-height:calc(100% - 16px);padding:11px}.arrest-menu h1{font-size:18px}.arrest-art{object-fit:cover;min-height:214px}.arrest-balloon{width:45%;padding:7px 8px 9px;top:4%}.arrest-balloon-driver{left:2%}.arrest-balloon-officer{right:2%}.arrest-balloon strong{margin-bottom:3px;font-size:8px}.arrest-menu .arrest-balloon p{font-size:12px}.arrest-caption{font-size:9px}.arrest-details .menu-actions{grid-template-columns:1fr}.arrest-details .menu-button{min-height:48px;padding:9px 11px}.arrest-details .charge-list{font-size:11px}}@media (width>=800px),(height<=560px) and (width>=561px){.arrest-menu{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);column-gap:14px;padding:12px;display:grid}.arrest-menu>h1,.arrest-menu>.arrest-subtitle{grid-column:1/-1}.arrest-theatre{grid-area:3/1;align-self:start}.arrest-art{object-fit:cover;min-height:220px}.arrest-toolbar{grid-area:4/1;align-self:start;margin:6px 0 0}.arrest-details{border:none;grid-area:3/2/5;padding-top:0}.arrest-details .menu-actions{grid-template-columns:1fr}.arrest-balloon{padding:7px 9px}.arrest-menu .arrest-balloon p{font-size:12px}.arrest-details .charge-list{gap:4px;font-size:11px}.arrest-details .menu-button{min-height:44px;padding:8px 10px}}@media (height<=560px) and (width>=561px){.arrest-details .charge-list{overscroll-behavior:contain;max-height:clamp(48px,100dvh - 300px,150px);padding-right:6px;overflow-y:auto}}
