:root{
  color-scheme:dark;
  --ink:#08111d;--panel:#0d1b2c;--mint:#74ead4;--gold:#ffd36c;
  --text:#f5f7f9;--muted:#aac0ce;--line:#ffffff26;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#08111d;color:var(--text);overflow:hidden}
button,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:1px solid var(--line);background:#12243a;color:var(--text);border-radius:11px;padding:10px 14px;font-weight:800}
button:hover:not(:disabled){background:#1a3551}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
[hidden]{display:none!important}
#world{position:fixed;inset:0;width:100%;height:100%;display:block;background:#8ab6d0;touch-action:none}
.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#08111dcf 0%,#08111d4d 42%,transparent 72%),linear-gradient(0deg,#07101b80,transparent 45%)}
.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:17px 24px;gap:12px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:900;letter-spacing:.08em}
.brand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--mint);color:#06222a;font-style:italic}
.brand strong{font-size:17px}.brand small{display:block;font-size:8px;letter-spacing:.23em;color:var(--muted);margin-top:1px}
.top-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.top-actions button{background:#0b1a2cbd;backdrop-filter:blur(7px);font-size:11px}
.glass{border:1px solid #ffffff29;background:#0a1729df;backdrop-filter:blur(16px);box-shadow:0 25px 90px #02091266}
.intro{position:relative;z-index:4;width:min(590px,calc(100% - 32px));margin:5vh 0 0 5vw;border-radius:24px;padding:32px}
.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--mint);margin:0 0 12px}
.intro h1{font-size:clamp(58px,8vw,110px);line-height:.87;margin:18px 0 22px;letter-spacing:-.06em;font-weight:950}
.intro h1 em{color:var(--mint);font-style:italic}
.strap{color:#d2e1e8;line-height:1.65;max-width:450px}
.stats{display:flex;gap:28px;margin:28px 0;flex-wrap:wrap}
.stats span{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.stats b{display:block;font-size:24px;color:#fff;letter-spacing:-.03em}
.primary{width:100%;background:var(--mint);color:#07262b;border:0;padding:15px 18px;font-weight:950}
.fine{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.hud-left{position:fixed;z-index:4;left:24px;top:82px;display:grid;gap:8px}
.cash,.mission,.status,.clock,.wanted,.condition,.district,.fuel,.health,.weather,.career-hud,.contract,.radio-hud,.service-hud,.tyre-hud,.breakdown-hud,.mechanical-hud{border:1px solid #ffffff2b;background:#071522db;backdrop-filter:blur(7px);border-radius:14px;padding:11px 14px}
.cash small,.mission small,.status small,.clock small,.wanted small,.condition small,.district small,.fuel small,.health small,.weather small,.career-hud small,.contract small,.radio-hud small,.service-hud small,.tyre-hud small,.breakdown-hud small,.mechanical-hud small{display:block;font-size:7px;letter-spacing:.16em;color:#9fb6c6}
.cash strong{font-size:26px}
.mission{max-width:min(390px,58vw)}
.mission strong{font-size:13px;line-height:1.35;display:block;margin-top:4px}
.hud-right{position:fixed;z-index:4;right:23px;top:82px;display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.status{text-align:right;min-width:105px}
.status strong{font-size:36px;line-height:1;display:inline-block}
.status span{font-size:8px;color:#bdd0da;margin-left:3px}
.status small{color:var(--mint)}
.clock,.district{padding:8px 11px;min-width:105px;text-align:right}.district strong{font-size:13px;color:#9fe7d8;letter-spacing:.06em}.condition{min-width:150px}.condition strong{font-size:20px}.condition span{display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#82e4b9}.condition.warn{border-color:#ffd36c88;background:#302b17dd}.condition.bad{border-color:#ff826f88;background:#351a1ddd}.condition.warn span{color:#ffd36c}.condition.bad span{color:#ff9d89}
.clock strong{font-size:17px;font-variant-numeric:tabular-nums}.career-hud{min-width:125px}.career-hud strong{font-size:15px;color:#9fe7d8;display:block}.career-hud span{display:block;margin-top:3px;font-size:8px;color:#b7cad5}.fuel{min-width:125px}.fuel strong{font-size:20px}.fuel span{display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#83e4c2}.fuel.warn{border-color:#ffd36c88;background:#302b17dd}.fuel.bad{border-color:#ff826f88;background:#351a1ddd}.fuel.warn span{color:#ffd36c}.fuel.bad span{color:#ff9d89}
.health{min-width:125px}.health strong{font-size:20px}.health span{display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#8de7b8}.health.warn{border-color:#ffd36c88;background:#302b17dd}.health.bad{border-color:#ff826f88;background:#351a1ddd}.health.warn span{color:#ffd36c}.health.bad span{color:#ff9d89}.weather{min-width:125px;text-align:right}.weather strong{display:block;font-size:15px;letter-spacing:.06em;color:#d8ecf5}.weather span{display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.11em;color:#8ed7e6}.weather.rain{border-color:#72aee088;background:#15293bdd}.weather.fog{border-color:#b7c0c988;background:#252c33dd}
#map{width:165px;height:134px;background:#071522d5;border:1px solid #ffffff26;border-radius:15px}
.prompt{position:fixed;z-index:5;left:50%;bottom:28px;transform:translateX(-50%);background:#071522e8;border:1px solid var(--mint);border-radius:30px;padding:10px 16px;font-size:11px;font-weight:900;white-space:nowrap}
.toast{position:fixed;z-index:7;top:26%;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:30px;background:#0a1d30e9;border:1px solid var(--gold);color:#ffe5a7;font-size:13px;font-weight:900;opacity:0;transition:opacity .18s;pointer-events:none}
.toast.show{opacity:1}
.touch{position:fixed;z-index:6;bottom:max(14px,env(safe-area-inset-bottom));left:14px;right:14px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.touch>div{display:flex;gap:7px;pointer-events:auto}
.touch button{width:58px;height:58px;padding:4px;background:#0a1b2ddd;backdrop-filter:blur(7px);touch-action:none}
.touch .actions button{font-size:9px}.touch .action{width:66px;border-color:var(--mint);color:var(--mint)}.touch .go{background:#76e8d1cc;color:#082a2f}
.dialog{color:#f5f7f9;background:#0d1c30f7;border:1px solid #ffffff2d;border-radius:20px;max-width:540px;width:calc(100% - 28px);padding:25px;box-shadow:0 30px 100px #0008;max-height:90vh;overflow:auto}
.dialog::backdrop{background:#020912c9;backdrop-filter:blur(8px)}
.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dialog h2{font-size:31px;margin:0 0 12px}
.dialog p{font-size:13px;line-height:1.7;color:#c5d6df}
.button-row{display:flex;align-items:center;gap:9px;margin-top:12px;flex-wrap:wrap}
.button-row>*{flex:1;text-align:center;text-decoration:none;border:1px solid var(--line);border-radius:11px;padding:11px}
.garage-dialog{max-width:760px}
.vehicle-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.vehicle{display:flex;flex-direction:column;gap:8px;text-align:left;padding:15px;min-height:190px;position:relative}
.vehicle[aria-pressed=true]{border-color:var(--mint);background:#16384a}
.vehicle-preview{height:64px;border-radius:12px;background:linear-gradient(145deg,#1b3146,#0b1727);position:relative;overflow:hidden}
.vehicle-preview::before{content:"";position:absolute;left:15%;right:15%;top:25%;bottom:20%;border-radius:18px 18px 8px 8px;background:var(--vehicle)}
.vehicle-preview::after{content:"";position:absolute;left:31%;right:31%;top:30%;height:23%;border-radius:8px;background:#9ac2cf}
.vehicle strong{font-size:17px}.vehicle small{font-size:10px;color:#b7cad5;line-height:1.45}
.vehicle .price{margin-top:auto;color:#ffe0a0;font-weight:900}
.vehicle .selected{color:var(--mint)}
.vehicle-bars{display:grid;gap:4px}.vehicle-bars span{display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center;font-size:8px;color:#8fa6b6}
.vehicle-bars i{height:4px;border-radius:4px;background:#ffffff20;overflow:hidden;position:relative}
.vehicle-bars i::after{content:"";display:block;height:100%;width:var(--fill);background:var(--mint)}
.garage-balance{margin:0!important;color:#ffe0a0!important;font-weight:900}
.wanted{min-width:118px}.wanted strong{display:block;font-size:22px;letter-spacing:.08em;color:#8ca0ad;line-height:1}.wanted.active{border-color:#ff9d7f88;background:#2a1720e8}.wanted.active strong{color:#ffb189;text-shadow:0 0 12px #ff835c55}.wanted span{display:block;margin-top:5px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#9fb6c6}
.business-dialog{max-width:820px}.business-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.business-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:15px;min-height:208px;position:relative}.business-card.owned{border-color:#74ead488;background:#123245}.business-icon{height:66px;border-radius:12px;display:grid;place-items:center;font-size:28px;background:linear-gradient(145deg,#1b3146,#0b1727);border:1px solid #ffffff15}.business-card strong{font-size:17px}.business-card small{font-size:10px;color:#b7cad5;line-height:1.45}.business-card .income{color:#83e8bd;font-weight:900}.business-card .distance{color:#8fa6b6}.business-card .price{margin-top:auto;color:#ffe0a0;font-weight:900}.business-card .owned-label{margin-top:auto;color:var(--mint);font-weight:900}
.repair-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px;border:1px solid #ffffff1f;border-radius:12px;background:#0a1727}.repair-panel span{font-size:11px;color:#b8ccd8}.repair-panel button{white-space:nowrap}
.jobs-dialog,.life-dialog{max-width:820px}.job-list,.home-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.job-card,.home-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:15px;min-height:170px}.job-card strong,.home-card strong{font-size:17px}.job-card small,.home-card small{font-size:10px;color:#b7cad5;line-height:1.5}.job-card .reward,.home-card .price{margin-top:auto;color:#ffe0a0;font-weight:900}.job-card.active,.home-card.owned{border-color:#74ead488;background:#123245}.job-card.active .reward,.home-card.owned .price{color:var(--mint)}
.outfit-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 22px}.outfit{padding:10px;text-align:center}.outfit[aria-pressed=true]{border-color:var(--mint);background:#17384a}.outfit-preview{display:block;width:46px;height:70px;margin:2px auto 8px;position:relative}.outfit-preview::before{content:"";position:absolute;left:12px;right:12px;top:0;height:18px;border-radius:50%;background:#e9bea0}.outfit-preview::after{content:"";position:absolute;left:7px;right:7px;top:18px;bottom:0;border-radius:10px 10px 4px 4px;background:var(--outfit)}.outfit small{font-size:9px;color:#b7cad5}
.life-dialog h3{font-size:14px;margin:20px 0 6px;color:#d9e7ee}.home-card .home-actions{display:flex;gap:7px;flex-wrap:wrap}.home-card .home-actions button{font-size:9px;padding:7px 9px;min-height:34px}
.services-dialog{max-width:880px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.service-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:15px;min-height:220px}.service-card.near{border-color:#74ead488;background:#123245}.service-card strong{font-size:17px}.service-card small{font-size:10px;color:#b7cad5;line-height:1.45}.service-card .service-icon{font-size:29px}.service-card .service-action{margin-top:auto;color:#ffe0a0;font-weight:900}.upgrade-grid{display:grid;gap:7px;margin-top:7px}.upgrade-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px;border:1px solid #ffffff16;border-radius:8px}.upgrade-row span{font-size:9px;color:#b7cad5}.upgrade-row button{font-size:9px;padding:7px 9px;min-height:34px}.npc-dialog{max-width:500px}.npc-dialog #npc-dialogue{font-size:15px;line-height:1.8}.local-tag{font-size:8px;letter-spacing:.12em;color:#b8d3de}
.career-dialog{max-width:760px}.career-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.career-summary>div{padding:13px;border:1px solid #ffffff20;border-radius:12px;background:#0a1727}.career-summary small{display:block;font-size:8px;letter-spacing:.14em;color:#8fa6b6}.career-summary strong{display:block;margin-top:5px;font-size:20px}.xp-track{height:7px;background:#ffffff18;border-radius:999px;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:var(--mint);border-radius:999px}.career-next{font-size:11px!important;color:#b7cad5!important;margin-top:8px!important}.career-dialog h3{font-size:14px;margin:20px 0 8px}.achievement-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.achievement{padding:11px;border:1px solid #ffffff18;border-radius:11px;background:#0a1727;opacity:.55}.achievement.earned{opacity:1;border-color:#74ead477;background:#11302c}.achievement strong{display:block;font-size:12px}.achievement small{display:block;margin-top:4px;font-size:9px;color:#9fb6c6;line-height:1.45}.achievement.earned strong{color:#8fe9ca}
.places-dialog{max-width:860px}.place-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.place-card{display:flex;flex-direction:column;gap:8px;padding:15px;min-height:165px;text-align:left}.place-card.near{border-color:#74ead488;background:#123245}.place-card strong{font-size:17px}.place-card small{font-size:10px;color:#b7cad5;line-height:1.5}.place-card .place-icon{font-size:30px}.place-card .place-distance{margin-top:auto;color:#9fb6c6}.facility-dialog{max-width:760px}.facility-scene{height:210px;border-radius:16px;margin:12px 0 18px;display:grid;place-items:end center;padding:18px;border:1px solid #ffffff26;background:linear-gradient(180deg,#173149,#0c1725);position:relative;overflow:hidden}.facility-scene::before{content:"";position:absolute;left:8%;right:8%;top:17%;height:34%;border:1px solid #ffffff25;border-radius:10px;background:linear-gradient(90deg,#243f56 0 23%,#6e8ca0 23% 26%,#243f56 26% 49%,#6e8ca0 49% 52%,#243f56 52% 75%,#6e8ca0 75% 78%,#243f56 78%)}.facility-scene::after{content:"";position:absolute;left:16%;right:16%;bottom:17%;height:26%;border-radius:8px 8px 3px 3px;background:#1a2c3e;border:1px solid #ffffff1e}.facility-scene span{position:relative;z-index:2;font-size:11px;font-weight:900;letter-spacing:.16em;color:#d8edf3}.facility-scene.hospital{background:linear-gradient(180deg,#dbeff0,#6fa3ad)}.facility-scene.police{background:linear-gradient(180deg,#20304d,#0d1628)}.facility-scene.dealer{background:linear-gradient(180deg,#30384b,#0e1724)}.facility-scene.market{background:linear-gradient(180deg,#9a744e,#2b211b)}.facility-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.facility-actions button{min-height:48px}.dealer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;width:100%}.dealer-car{display:flex;flex-direction:column;gap:6px;text-align:left}.dealer-car strong{font-size:15px}.dealer-car small{font-size:10px;color:#b7cad5}.dealer-car .price{color:#ffe0a0;font-weight:900}.npc-dialog .primary{margin-top:12px}
.economy-dialog{max-width:900px}.economy-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0 22px}.economy-stat{padding:13px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.economy-stat small{display:block;font-size:8px;letter-spacing:.12em;color:#91a8b7}.economy-stat strong{display:block;margin-top:5px;font-size:21px;color:#edf7f8}.economy-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.economy-card{display:flex;flex-direction:column;gap:7px;padding:15px;border:1px solid #ffffff20;border-radius:12px;background:#0b1828;min-height:190px}.economy-card.owned{border-color:#74ead477;background:#123245}.economy-card strong{font-size:16px}.economy-card small{font-size:10px;line-height:1.5;color:#b7cad5}.economy-card .income{color:#8be4b9;font-weight:900}.economy-card button{margin-top:auto}.economy-dialog h3{font-size:14px;margin:8px 0;color:#d9e7ee}
.facility-scene.hotel{background:linear-gradient(180deg,#5a4f6c,#1e1b2a)}.facility-scene.restaurant{background:linear-gradient(180deg,#7c4e32,#211711)}
.showroom-car{--car:#7f8796;position:absolute;left:50%;top:50%;width:170px;height:76px;transform-style:preserve-3d;animation:showroom-spin 5.8s linear infinite;z-index:3;filter:drop-shadow(0 18px 18px #0007)}.showroom-car::before{content:"";position:absolute;left:12px;right:12px;top:20px;bottom:10px;border-radius:22px 26px 12px 12px;background:var(--car);box-shadow:inset 0 -10px 0 #0002}.showroom-car::after{content:"";position:absolute;left:47px;right:47px;top:7px;height:30px;border-radius:15px 15px 5px 5px;background:#9fc1cf;border:4px solid var(--car)}.showroom-car i,.showroom-car b{position:absolute;bottom:0;width:31px;height:31px;border-radius:50%;background:#101820;border:6px solid #35404a;z-index:4}.showroom-car i{left:24px}.showroom-car b{right:24px}@keyframes showroom-spin{0%{transform:translate(-50%,-50%) perspective(520px) rotateY(-24deg)}50%{transform:translate(-50%,-54%) perspective(520px) rotateY(24deg)}100%{transform:translate(-50%,-50%) perspective(520px) rotateY(-24deg)}}
.paint-panel{grid-column:1/-1;padding:12px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.paint-panel strong{display:block;font-size:12px;margin-bottom:9px}.paint-swatches{display:flex;flex-wrap:wrap;gap:8px}.paint-swatch{width:42px;height:42px;border-radius:50%;padding:0;border:3px solid #ffffff2b;background:var(--paint)}.paint-swatch:hover:not(:disabled){transform:scale(1.08);background:var(--paint)}.paint-swatch.selected{border-color:#fff;box-shadow:0 0 0 3px #74ead466}.paint-note{margin-top:8px;font-size:9px;color:#9fb6c6}
.npc-progress{padding:9px 11px;border-radius:10px;background:#0a1727;border:1px solid #ffffff18;color:#94d8c9!important;font-size:10px!important;font-weight:800}
.hotel-actions,.restaurant-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%}
.contract{min-width:155px;border-color:#67b7ff77;background:#10243bdd}.contract strong{display:block;font-size:20px;color:#9fd5ff;font-variant-numeric:tabular-nums}.contract span{display:block;margin-top:4px;font-size:8px;font-weight:900;letter-spacing:.12em;color:#8bc6ef}.contract.urgent{border-color:#ffb36c99;background:#332318dd}.contract.urgent strong,.contract.urgent span{color:#ffc27d}
.phone-dialog{max-width:980px}.phone-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 20px}.phone-stat{padding:12px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.phone-stat small{display:block;font-size:8px;letter-spacing:.12em;color:#92a9b8}.phone-stat strong{display:block;margin-top:5px;font-size:19px;color:#eff8fa}.phone-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.phone-columns h3{font-size:13px;margin:0 0 9px;color:#dcebf0}.phone-contracts,.phone-messages{display:grid;gap:9px}.phone-contract,.phone-message{padding:13px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.phone-contract.owned{border-color:#74ead466;background:#11302c}.phone-contract.active{border-color:#67b7ff88;background:#10243b}.phone-contract strong,.phone-message strong{display:block;font-size:13px}.phone-contract small,.phone-message small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#9fb6c6}.phone-contract .reward{margin-top:7px;color:#ffe0a0;font-weight:900}.phone-contract button{width:100%;margin-top:9px}.phone-message .from{color:#8fe0d0;font-weight:900}.staff-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #ffffff16}.staff-row span{font-size:9px;color:#a9bdc8}.staff-row button{margin-top:0;font-size:9px;padding:7px 9px}
.phone-tools{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #ffffff18}.phone-tools h3{font-size:13px;margin:0 0 9px;color:#dcebf0}.phone-challenge,.phone-gps{display:grid;gap:9px}.challenge-card,.gps-card{padding:13px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.challenge-card.complete{border-color:#74ead477;background:#11302c}.challenge-card strong,.gps-card strong{display:block;font-size:13px}.challenge-card small,.gps-card small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#9fb6c6}.challenge-track{display:grid;gap:6px;margin-top:9px}.challenge-task{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#b8ccd7}.challenge-task b{font-size:10px;color:#e9f4f6}.challenge-task.done b{color:#78e7bd}.challenge-card button{width:100%;margin-top:10px}.gps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.gps-grid button{font-size:9px;padding:8px 9px;min-height:38px}.gps-active{border-color:#74ead477!important;background:#11302c!important}.gps-clear{margin-top:8px;width:100%}
.phone-city-alert,.phone-service-record{display:grid;gap:9px}.city-alert-card,.service-record-card{padding:13px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.city-alert-card.available{border-color:#67b7ff77;background:#10243b}.city-alert-card.active{border-color:#74ead477;background:#11302c}.city-alert-card.complete{border-color:#8bc98266;background:#17311f}.city-alert-card strong,.service-record-card strong{display:block;font-size:13px}.city-alert-card small,.service-record-card small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#9fb6c6}.city-alert-card .reward{margin-top:8px;color:#ffe0a0;font-weight:900}.city-alert-card button{width:100%;margin-top:10px}.service-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.service-metric{padding:8px;border-radius:9px;background:#101d2c;border:1px solid #ffffff14}.service-metric span{display:block;font-size:8px;color:#91a8b7}.service-metric b{display:block;margin-top:3px;font-size:14px;color:#eaf5f7}
.parking-bay-label{font-size:8px;font-weight:900;letter-spacing:.12em}.repair-panel.impounded{border-color:#ff8f7a77;background:#321d1ddd}.repair-panel.impounded span{color:#ffb1a2}
.fleet-dialog{max-width:930px}.fleet-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.fleet-card{padding:14px;border:1px solid #ffffff20;border-radius:13px;background:#0a1727;display:flex;flex-direction:column;gap:8px}.fleet-card.active{border-color:#74ead477;background:#11302c}.fleet-card.impounded{border-color:#ff8d7377;background:#321d22}.fleet-card strong{font-size:16px}.fleet-card small{font-size:9px;color:#a8beca;line-height:1.5}.fleet-meta{display:flex;gap:8px;flex-wrap:wrap}.fleet-meta span{font-size:8px;padding:5px 7px;border-radius:999px;background:#ffffff0d;color:#bed0da}.fleet-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.fleet-actions button{font-size:9px;padding:8px 10px;min-height:36px}.fleet-location{color:#8fe9ca!important;font-weight:900}
.phone-road-incident,.phone-licences{display:grid;gap:9px}.incident-card,.licence-card{padding:13px;border:1px solid #ffffff1e;border-radius:12px;background:#0a1727}.incident-card{border-color:#ffae6c66;background:#2a2118}.incident-card strong,.licence-card strong{display:block;font-size:13px}.incident-card small,.licence-card small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#9fb6c6}.incident-effect{margin-top:7px;color:#ffd096;font-weight:900;font-size:9px}.licence-list{display:grid;gap:7px}.licence-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #ffffff12;border-radius:9px}.licence-row span{font-size:9px;color:#adc1cb}.licence-row b{font-size:9px;color:#8fe9ca}.incident-map-note{margin-top:7px;font-size:8px;color:#d3b28f}
.facility-scene.service-depot{background:linear-gradient(180deg,#223844,#101820)}
.service-depot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%}.service-vehicle-card{display:flex;flex-direction:column;gap:7px;text-align:left;padding:13px;border:1px solid #ffffff20;border-radius:12px;background:#0a1727;min-height:185px}.service-vehicle-card.owned{border-color:#74ead477;background:#11302c}.service-vehicle-card.locked{opacity:.72}.service-vehicle-card strong{font-size:14px}.service-vehicle-card small{font-size:9px;line-height:1.45;color:#9fb6c6}.service-vehicle-card .price{margin-top:auto;color:#ffe0a0;font-weight:900}.service-vehicle-card .service-bonus{color:#8fe9ca;font-weight:900}.service-vehicle-card button{margin-top:7px}.fleet-meta .mileage{color:#cbb9ff}
.error{position:relative;z-index:10;max-width:500px;margin:80px auto;padding:26px;border-radius:20px}
.error p{color:var(--muted);line-height:1.6}
@media(pointer:coarse),(max-width:760px){
  .touch{display:flex!important}.prompt{bottom:95px}.topbar{padding:12px}.top-actions{gap:4px}.top-actions button{font-size:9px;padding:8px}
  .brand strong{font-size:14px}.intro{margin:2vh auto 0;padding:22px}.intro h1{font-size:59px}.stats{gap:18px}
  .hud-left{left:12px;top:67px}.hud-right{right:12px;top:67px}.mission{max-width:55vw}.cash strong{font-size:20px}
  #map{width:108px;height:88px}.status strong{font-size:27px}.status{padding:8px 10px;min-width:88px}.clock{padding:6px 8px}
  .toast{top:34%;font-size:11px}.vehicle-list,.business-list,.job-list,.home-list,.service-list,.place-list,.economy-list,.fleet-list{grid-template-columns:1fr}.economy-summary,.phone-summary{grid-template-columns:repeat(2,1fr)}.phone-columns,.phone-tools{grid-template-columns:1fr}.facility-actions,.dealer-grid,.hotel-actions,.restaurant-actions,.gps-grid,.service-depot-grid,.assistance-actions{grid-template-columns:1fr}.assistance-details{grid-template-columns:repeat(2,1fr)}.mechanical-grid{grid-template-columns:1fr}.vehicle{min-height:155px}.business-card,.job-card,.home-card{min-height:145px}.outfit-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:470px){
  .intro h1{font-size:52px}.stats{margin:20px 0}.touch button{width:48px;height:54px}.touch .action{width:59px}
  .mission strong{font-size:11px}.wanted{padding:8px 10px;min-width:92px}.wanted strong{font-size:18px}.top-actions #help,.top-actions #sound{display:none}.top-actions button{padding:7px 8px}
  .clock strong{font-size:14px}.career-hud{min-width:96px;padding:8px 10px}.career-hud strong{font-size:12px}.district{min-width:88px}.district strong{font-size:11px}.condition,.fuel,.health,.weather,.contract,.radio-hud,.service-hud,.tyre-hud,.breakdown-hud,.mechanical-hud{min-width:110px;padding:8px 10px}.condition strong,.fuel strong,.health strong{font-size:17px}.weather strong{font-size:13px}.dialog{padding:20px}.top-actions #business-open,.top-actions #services-open{display:none}
}
@media(max-height:560px) and (orientation:landscape){
  .topbar{padding:7px 12px}.intro{margin:0 0 0 3vw;padding:18px}.intro h1{font-size:48px;margin:8px 0}.stats{margin:12px 0}.fine{display:none}
  .hud-left,.hud-right{top:58px}.touch button{height:46px}.prompt{bottom:66px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}