:root{--bg: #0a0b10;--panel: rgba(10, 11, 18, .78);--card: rgba(16, 17, 26, .94);--line: #2a2d3e;--ink: #f2ede0;--dim: #9a97a6;--accent: #f0a020;--red: #e5372e;--green: #4ccf6d;--blue: #4aa8ff;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, "Helvetica Neue", "Segoe UI", Roboto, Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body{height:100dvh}#game{position:fixed;inset:0;width:100vw;height:100dvh;display:block}[hidden]{display:none!important}small{font-size:10px;letter-spacing:.16em;color:var(--dim);font-weight:600}button,select,input{font:inherit;color:inherit}#hud{position:fixed;inset:0;pointer-events:none;font-family:var(--mono);text-shadow:0 1px 2px #000}.panel-s{background:var(--panel);border-radius:8px;padding:6px 10px;backdrop-filter:blur(3px)}#hud-top{position:absolute;top:calc(var(--sat) + 8px);left:calc(var(--sal) + 10px);right:calc(var(--sar) + 10px);display:flex;gap:8px;align-items:flex-start}#clock-box,#route-box{display:flex;flex-direction:column;min-width:120px}#clock-box b,#route-box b{font-size:18px;font-variant-numeric:tabular-nums}#clock-box span,#route-box span{font-size:11px;color:var(--dim)}#route-box{flex:1;align-items:center;text-align:center;min-width:0}#route-box small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hud-buttons{display:flex;gap:6px}.hud-buttons[hidden]{display:none}.hud-btn{pointer-events:auto;height:44px;min-width:44px;padding:0 10px;border-radius:8px;border:0;background:var(--panel);font-weight:800;cursor:pointer;font-family:var(--mono)}#hud-right{position:absolute;top:calc(var(--sat) + 72px);right:calc(var(--sar) + 10px);width:200px;display:flex;flex-direction:column;gap:6px}#minimap{width:100%;background:var(--panel);border-radius:8px;padding:4px}#minimap .us{fill:#20242f;stroke:#474d63;stroke-width:1}#minimap .route{fill:none;stroke:#636982;stroke-width:1.4;stroke-dasharray:3 2}#minimap .done{fill:none;stroke:var(--accent);stroke-width:2.4}#minimap .dot{fill:var(--accent);stroke:#fff;stroke-width:1.2}#minimap .city{fill:var(--dim);font-size:10px;font-family:var(--mono)}.det-head{display:flex;justify-content:space-between;align-items:center}#det-pwr{width:8px;height:8px;border-radius:50%;background:#2a5;box-shadow:0 0 6px #2a5;display:inline-block}.det-row{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;font-weight:800}.leds{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;flex:1}.leds i{height:8px;border-radius:2px;background:#2a2020}.leds i.on{background:var(--red);box-shadow:0 0 6px var(--red)}.leds i.on.g{background:var(--green);box-shadow:0 0 6px var(--green)}.leds i.on.a{background:var(--accent);box-shadow:0 0 6px var(--accent)}#cb ul{list-style:none;margin:4px 0 0;padding:0;font-size:11px;line-height:1.35;color:#e8dcb8;max-height:110px;overflow:hidden}#cb li{margin-bottom:4px}#cb li:empty{display:none}#hud-bottom{position:absolute;left:calc(var(--sal) + 12px);bottom:calc(var(--sab) + 12px);display:flex;align-items:flex-end;gap:10px}#dials{position:relative;display:flex;align-items:flex-end;gap:4px;background:var(--panel);border-radius:12px;padding:6px}#dials svg{width:132px;height:132px}#gear{position:absolute;left:50%;bottom:8px;transform:translate(-50%);font-size:20px;font-weight:900;color:var(--accent)}.dial-face{fill:#101219;stroke:#333849;stroke-width:2}.dial-tick{stroke:#aab;stroke-width:1.5}.dial-tick.major{stroke:#eee;stroke-width:2.5}.dial-red{fill:none;stroke:var(--red);stroke-width:6}.dial-num{fill:#ddd;font-size:11px;font-family:var(--mono);text-anchor:middle}.dial-label{fill:var(--dim);font-size:8px;letter-spacing:.15em;font-family:var(--mono);text-anchor:middle}.dial-needle{stroke:#ff7a2a;stroke-width:3;stroke-linecap:round}.dial-hub{fill:#333}.dial-digital{fill:#fff;font-size:16px;font-weight:800;font-family:var(--mono);text-anchor:middle}#gauges{display:grid;grid-template-columns:1fr;gap:5px;width:170px}.g{background:var(--panel);border-radius:8px;padding:4px 8px 6px;font-size:12px}.g span{display:block;font-size:11px;color:#ddd;margin-top:2px}.bar{height:7px;background:#2a2d3e;border-radius:4px;overflow:hidden;margin-top:3px}.bar i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:var(--green);transition:transform .2s}.bar.temp i{background:linear-gradient(90deg,var(--blue),var(--green) 40%,var(--accent) 75%,var(--red))}.bar.heat i{background:linear-gradient(90deg,var(--accent),var(--red))}.g.low .bar i{background:var(--red);animation:blink .7s steps(2) infinite}.bar.nos i{background:#4aa8ff}.g-nos small b{font-weight:700;margin-left:4px;color:#8a96a3;letter-spacing:.08em}.g-nos.armed small b{color:#4aa8ff}.g-nos.on small b{color:#fff;background:#1f6fd1;border-radius:3px;padding:0 4px;box-shadow:0 0 8px #4aa8ff}.g-nos.on .bar i{background:#9fd2ff;box-shadow:0 0 6px #4aa8ff}.g-nos.empty small b{color:var(--red)}.bar.batt i{background:linear-gradient(90deg,#2fbf71,#6fe3a5)}.g-batt small b{font-weight:700;margin-left:4px;color:#8a96a3;letter-spacing:.08em}.g-batt.assist small b{color:#4aa8ff}.g-batt.charging small b{color:#0d1a12;background:#49d78a;border-radius:3px;padding:0 4px;box-shadow:0 0 8px #49d78a}.g-batt.limited small b,.g-batt.flat small b{color:var(--red)}.g-batt small #batt-label{display:inline;font-size:inherit;color:inherit;margin:0}@keyframes blink{50%{opacity:.35}}#prompt{position:absolute;left:50%;top:30%;transform:translate(-50%);max-width:86vw;text-align:center;background:#14502de0;padding:8px 14px;border-radius:8px;font-weight:700;font-size:14px;opacity:0;transition:opacity .2s;font-family:var(--sans)}#prompt.show{opacity:1}#toast{position:absolute;left:50%;top:18%;transform:translate(-50%) scale(.92);max-width:90vw;text-align:center;font-size:clamp(18px,4.5vw,30px);font-weight:900;letter-spacing:.04em;opacity:0;transition:opacity .25s,transform .25s;white-space:pre-line;font-family:var(--sans)}#toast.show{opacity:1;transform:translate(-50%) scale(1)}#toast.hot{color:var(--red)}#toast.cool{color:var(--blue)}#toast.ok{color:var(--green)}#bust{position:absolute;left:50%;top:40%;transform:translate(-50%);width:220px;text-align:center;opacity:0;transition:opacity .2s}#bust.show{opacity:1}#bust small{color:var(--red);font-size:12px}#bust .bar i{background:var(--red)}#fps{position:absolute;left:50%;bottom:calc(var(--sab) + 4px);transform:translate(-50%);font-size:11px;background:var(--panel);padding:2px 6px;border-radius:4px;display:none}#touch{display:none}body.touch #touch{display:block}body.touch.tilt #touch .steer{display:none}#touch button{pointer-events:auto;touch-action:none;border:2px solid rgba(255,255,255,.25);background:#10121c8c;border-radius:14px;font-weight:800;font-size:15px;color:var(--ink)}#touch button.down{background:#f0a0208c;border-color:var(--accent)}#touch .steer{position:absolute;left:calc(var(--sal) + 12px);bottom:calc(var(--sab) + 12px);display:flex;gap:10px}#touch .steer button{width:76px;height:76px;font-size:26px}#touch .pedals{position:absolute;right:calc(var(--sar) + 12px);bottom:calc(var(--sab) + 12px);display:grid;grid-template-columns:auto auto;gap:10px;align-items:end}#t-gas{grid-column:2;grid-row:1 / span 2;width:84px;height:124px}#t-brake{grid-column:1;grid-row:2;width:74px;height:62px}#t-nos{grid-column:1;grid-row:1;width:74px;height:44px;font-size:12px!important}@media(max-height:500px)and (orientation:landscape){body:not(.touch) #hud-right{top:calc(var(--sat) + 60px);width:150px}body:not(.touch) #cb{display:none}body:not(.touch) #dials svg{width:96px;height:96px}}.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(var(--sat) + 16px);padding-bottom:calc(var(--sab) + 16px);background:radial-gradient(ellipse at center,#0a0b1059,#0a0b10e6);overflow-y:auto;touch-action:pan-y}.card{width:min(460px,100%);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;max-height:100%;overflow-y:auto}.card.hero{text-align:center}.card h1{margin:0;font-size:clamp(38px,10vw,60px);line-height:.92;letter-spacing:.03em;color:var(--accent);font-style:italic;font-weight:900}.card h1 span{display:block;font-size:.36em;color:var(--ink);letter-spacing:.6em;margin:6px 0;font-style:normal}.card h2{margin:0 0 4px;color:var(--accent)}.card h3{margin:8px 0 2px;font-size:12px;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}.kicker{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:700}.sub{margin:0 0 6px;color:var(--dim)}.card button{padding:13px;border-radius:10px;border:1px solid #3a3f58;background:#1a1d2c;font-weight:800;letter-spacing:.08em;cursor:pointer}.card button.primary{background:var(--accent);color:#1a1205;border-color:var(--accent)}.card button:hover{filter:brightness(1.12)}.fine{font-size:11px;color:var(--dim);margin:4px 0 0;line-height:1.45}.best{margin:2px 0;color:var(--green);font-size:13px;min-height:1em}.how{padding-left:18px;margin:0;line-height:1.5;font-size:13px}.keys{font-size:12px;color:var(--dim);line-height:1.6;margin:0}.row{display:flex;justify-content:space-between;align-items:center;padding:8px 2px;border-bottom:1px solid var(--line)}select{background:#1a1d2c;border:1px solid #3a3f58;border-radius:6px;padding:6px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.bigtime{font-size:46px;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums;font-family:var(--mono);text-align:center}.specs{width:100%;border-collapse:collapse;font-size:13px}.specs td{padding:4px 6px;border-bottom:1px solid var(--line)}.specs td:last-child{text-align:right;font-weight:700;font-family:var(--mono)}.row-btns{display:flex;gap:10px;margin-top:6px}.row-btns button{flex:1}.screen-wide{align-items:stretch;background:linear-gradient(90deg,#0a0b10eb,#0a0b1040 45% 60%,#0a0b10eb)}.garage{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:stretch}.garage-list{display:flex;flex-direction:column;gap:8px;width:240px;overflow-y:auto}.garage-list button{text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer}.garage-list button b{display:block;font-size:15px}.garage-list button span{font-size:11px;color:var(--dim)}.garage-list button .era-tag{display:block;font-size:10px;font-style:normal;color:var(--accent);opacity:.85;margin-top:2px;letter-spacing:.04em;text-transform:uppercase}.garage-list button.sel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.garage-detail{width:360px;align-self:center}.inspired{margin:0;color:var(--dim);font-size:12px;font-style:italic}.card.setup{width:min(1100px,100%);align-self:center}.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.setup-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:8px}.setup-grid label.chk{flex-direction:row;align-items:center;gap:8px}.setup-grid output{color:var(--accent);font-family:var(--mono);font-size:12px}.inline{display:flex;gap:6px}.inline select{flex:1}.small-btn{padding:8px!important;font-size:12px}@media(max-width:860px){.setup-grid{grid-template-columns:1fr}.garage{flex-direction:column;justify-content:flex-end}.garage-list{width:100%;flex-direction:row;overflow-x:auto;flex-shrink:0}.garage-list button{min-width:150px}.garage-detail{width:100%}.screen-wide{background:linear-gradient(180deg,#0a0b1033,#0a0b10eb 55%)}}body.cockpit #dials{display:none}.hud-btn.on{background:#f0c83cbf;color:#1a1205}.det-mute{font-size:8px;font-weight:800;letter-spacing:.1em;color:var(--dim);border:1px solid #444;border-radius:3px;padding:0 4px;margin-left:auto;margin-right:6px}.det-mute.on{color:#1a1205;background:var(--accent);border-color:var(--accent)}#detector{pointer-events:auto;cursor:pointer}#radio-root{position:absolute;right:calc(var(--sar) + 12px);bottom:calc(var(--sab) + 12px);pointer-events:auto}.card.load{text-align:center}.bar.big{height:10px;margin:6px 0 2px}#load-bar{background:var(--accent)}.tip{font-style:italic;min-height:2.8em}.hud-btn[hidden]{display:none}.hud-btn.start-btn{background:#c8281ed9;color:#fff;min-width:76px}.hud-btn.start-btn.down{background:#ff5a28f2}#guide{position:absolute;left:50%;top:76px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border-radius:8px;background:#0e4628e6;color:#fff;font-family:var(--sans);pointer-events:none;max-width:80vw;box-shadow:0 2px 8px #00000059}#guide[hidden]{display:none}#guide b{font-size:30px;line-height:1;min-width:30px;text-align:center}#guide span{display:block;font-weight:800;font-size:15px;letter-spacing:.02em}#guide small{display:block;font-size:12px;opacity:.85;font-family:var(--mono)}.procon{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 2px;font-size:13px;line-height:1.35}.procon ul{margin:0;padding-left:0;list-style:none}.procon li{margin:0 0 4px;padding-left:18px;position:relative}#car-pros li:before{content:"+";position:absolute;left:2px;color:#6fd27a;font-weight:800}#car-cons li:before{content:"–";position:absolute;left:2px;color:#f07a5a;font-weight:800}@media(max-width:640px){.procon{grid-template-columns:1fr}}.modern-only{display:none!important}body.era-modern .modern-only{display:flex!important}body.era-modern .era79-only{display:none!important}.det-laser{flex:1;text-align:center;font:700 9px/14px var(--mono);letter-spacing:2px;color:#5a2020;background:#1a0c0c;border-radius:3px}.det-laser.on{color:#fff;background:#e0201a;animation:laserflash .12s steps(2) infinite}@keyframes laserflash{50%{background:#7a0d0a}}.limit-sign{position:absolute;right:8px;bottom:calc(100% + 6px);width:46px;padding:3px 2px 4px;background:#f4f4f0;color:#111;border:2px solid #111;border-radius:5px;text-align:center;font-family:var(--mono);box-shadow:0 0 0 2px #f4f4f0}.limit-sign small{display:block;font:800 7px/8px Arial,sans-serif;letter-spacing:.3px}.limit-sign b{display:block;font:900 21px/22px Arial Narrow,Arial,sans-serif}.limit-sign[hidden]{display:none}body.era-modern #guide{background:#fafafcf5;color:#10131a;border-radius:14px;padding:8px 16px 8px 12px;box-shadow:0 4px 16px #00000059}body.era-modern #guide b{color:#fff;background:#1a73e8;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:26px}body.era-modern #guide small{color:#3c4048;opacity:1}body.era-modern #guide-eta{display:block!important;color:#0b8043!important;font-weight:700}#app{position:absolute;left:12px;top:84px;width:210px;background:#fafafcf2;color:#10131a;border-radius:14px;padding:8px 10px;font-family:var(--sans);pointer-events:none;box-shadow:0 4px 14px #0000004d;flex-direction:column}#app[hidden]{display:none!important}#app .app-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}#app .app-head b{font-size:13px;color:#6a1b9a}#app .app-head span{font-size:10px;color:#777}#app ul{list-style:none;margin:0;padding:0}#app li{padding:4px 0 4px 26px;position:relative;border-top:1px solid #eee;font-size:12px;line-height:1.25}#app li b{display:block}#app li span{color:#555;font-size:11px}#app li:before{content:"";position:absolute;left:2px;top:7px;width:18px;height:18px;border-radius:50%;background:#1a73e8}#app li.hazard:before{background:#f9a825}#app li.crash:before{background:#e53935}#app li.clear:before{background:#43a047}.tripc #trip-comp{font-size:11px}.lamps{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.lamps i{font-style:normal;font:700 9px/13px var(--mono);padding:0 4px;border-radius:3px}.lamps i.amber{background:#ffb300;color:#1a1205}.det-lock{font:800 8px/12px var(--mono);letter-spacing:.08em;color:#8fd3ff;border:1px solid #2d6c8f;border-radius:3px;padding:0 4px;margin-left:auto}.det-lock:not([hidden])+.det-mute{margin-left:6px}.turn-ind{position:absolute;left:50%;top:-22px;transform:translate(-50%);display:none;gap:60px;font-size:16px;color:#1d3a1d;pointer-events:none}body.era-modern .turn-ind{display:flex}.turn-ind b.on{color:#3cff5a;text-shadow:0 0 8px #3cff5a}#b-more{display:none}body.era-modern .det-lock[hidden]{display:none!important}body.cockpit #dials{display:flex;background:none;padding:0}body.cockpit #dials svg,body.cockpit #gear,body.cockpit .turn-ind{display:none!important}body.cockpit .limit-sign{position:static}body:not(.touch) #crew-tools{top:auto;bottom:calc(var(--sab) + 134px);right:calc(var(--sar) + 12px);flex-direction:row}body.era-modern:not(.touch) #mp-hud{top:262px}body:not(.touch) #app{max-height:168px;overflow:hidden}body:not(.touch) #toast{top:24%}body:not(.touch) #prompt{top:36%}body.touch{--col: calc(var(--sat) + 160px)}body.touch #b-more{display:block;font-size:18px}body.touch.hud-more #b-more{background:#f0c83cbf;color:#1a1205}body.touch #hud-top{top:calc(var(--sat) + 6px);left:calc(var(--sal) + 6px);right:calc(var(--sar) + 6px);gap:4px;flex-wrap:wrap}body.touch #clock-box,body.touch #route-box{height:44px;min-width:0;padding:3px 8px;justify-content:center}body.touch #clock-box{order:1;max-width:46%}body.touch #route-box{order:2;flex:1 1 0}body.touch #clock-box b,body.touch #route-box b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.touch #clock-box span,body.touch #route-box span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.touch #route-box small{display:none}body.touch #hud-top>.hud-buttons:not(#station-btns){order:3;flex:1 1 100%;justify-content:flex-end;gap:4px}body.touch .hud-btn{height:40px;min-width:44px;padding:0 6px;font-size:11px}body.touch .hud-btn.start-btn{min-width:60px}body.touch #station-btns{position:fixed;left:50%;top:72%;transform:translate(-50%)}body.touch #station-btns .hud-btn{height:44px;padding:0 14px}body.touch #guide{top:calc(var(--sat) + 98px);left:calc(var(--sal) + 6px);right:calc(var(--sar) + 6px);transform:none;max-width:none;height:56px;overflow:hidden;padding:4px 10px 4px 6px;gap:8px}body.touch #guide>div{flex:1;min-width:0}body.touch #guide b{font-size:22px;min-width:26px}body.touch #guide span,body.touch #guide small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.touch #guide span{font-size:13px}body.touch #guide small{font-size:10px;letter-spacing:.02em}body.touch.era-modern #guide{padding:4px 10px 4px 6px;border-radius:12px}body.touch.era-modern #guide b{width:32px;height:32px;font-size:20px;border-radius:8px}body.touch #hud-bottom{left:calc(var(--sal) + 6px);top:var(--col);bottom:auto;width:176px;flex-direction:column;align-items:stretch;gap:4px}body.touch #dials{align-self:flex-start;padding:3px;gap:2px;border-radius:10px}body.touch #dials svg{width:60px;height:60px}body.touch #gear{font-size:13px;bottom:1px}body.touch .limit-sign{left:calc(100% + 6px);right:auto;bottom:0;width:40px}body.touch .limit-sign b{font-size:18px;line-height:19px}body.touch.cockpit .limit-sign{position:static}body.touch .turn-ind{top:1px;gap:74px;font-size:12px}body.touch #gauges{width:100%;gap:3px}body.touch .g{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:6px;padding:3px 7px 4px;font-size:10px}body.touch .g small{font-size:8px;letter-spacing:.1em}body.touch .g span{font-size:9px;margin-top:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.touch .g .bar{grid-column:1 / -1;grid-row:2;height:5px;margin-top:2px}body.touch .g.g-tires,body.touch .g.tripc,body.touch .g.wx{display:none!important}body.touch.hud-more .g.g-tires,body.touch.hud-more .g.wx,body.touch.hud-more.era-modern .g.tripc{display:grid!important}body.touch .g.tripc span,body.touch .g.wx span,body.touch .g.g-tires span{white-space:normal;text-align:left;grid-column:1 / -1}body.touch #hud-right{top:var(--col);right:calc(var(--sar) + 6px);width:124px;gap:4px}body.touch #minimap{display:none;padding:2px;order:0}body.touch.street #minimap,body.touch.hud-more #minimap{display:block}body.touch #detector{order:1;padding:4px 6px}body.touch .det-head small{font-size:7px;letter-spacing:.06em;white-space:nowrap}body.touch .det-head:has(.det-lock:not([hidden])) small{display:none}body.touch .det-lock{font-size:0;margin-left:0;white-space:nowrap}body.touch .det-lock:before{content:"GPS LOCK";font-size:8px}body.touch .det-row{margin-top:3px;font-size:10px}body.touch .leds i{height:6px}body.touch #app{order:2;position:static;width:auto;padding:4px 7px;border-radius:10px;max-height:84px;overflow:hidden}body.touch #app .app-head b{font-size:11px}body.touch #app .app-head span{display:none}body.touch #app li{font-size:10px;padding:3px 0 3px 19px}body.touch #app li span{font-size:9px}body.touch #app li:before{width:13px;height:13px;top:5px}body.touch #app li:nth-child(n+3){display:none}body.touch #app li b,body.touch #app li span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.touch #cb{order:3;display:block;padding:4px 7px}body.touch #cb ul{font-size:9px;line-height:1.3;max-height:60px}body.touch #cb li:nth-child(n+3){display:none}body.touch.era-modern:not(.hud-more) #cb,body.touch.street #cb{display:none}body.touch #crew-tools{order:4;position:static;align-self:flex-end;flex-direction:row;gap:4px;z-index:auto}body.touch #crew-tools,body.touch #crew-tools button{pointer-events:auto}body.touch #crew-tools button{width:44px;height:44px;padding:0;font-size:20px}body.touch #crew-tools button .lbl{display:none}body.touch #mp-hud{position:static;align-self:flex-start;width:112px;max-width:112px;gap:4px;z-index:auto}body.touch #mp-hud .box{padding:4px 6px;font-size:10px;line-height:1.35}body.touch #mp-hud .box[style*=opacity]{display:none}body.touch #mp-hud .box>div:nth-child(n+6):not(.me):not(.calls){display:none}body.touch #mp-hud .box:has(.calls:not(.swap)) .badge{cursor:pointer}body.touch #mp-hud .box:has(.calls:not(.swap)) .badge:after{content:" ▾"}body.touch #mp-hud.open .box:has(.calls:not(.swap)) .badge:after{content:" ▴"}body.touch #mp-hud .calls{grid-template-columns:1fr 1fr}body.touch #mp-hud:not(.open) .calls:not(.swap){display:none}body.touch #mp-hud.open{width:220px;max-width:220px}body.touch #mp-hud button{min-height:44px;padding:4px;font-size:10px}body.touch.hud-more #mp-hud{display:none!important}body.touch #toast{top:50%;font-size:clamp(16px,4.6vw,22px);max-width:calc(100vw - 24px)}body.touch #prompt{top:61%;font-size:12px}body.touch #bust{top:67%}body.touch.cockpit #toast{top:41%}body.touch.cockpit #prompt{top:69%}body.touch #radio-root{top:auto;right:calc(var(--sar) + 6px);bottom:calc(var(--sab) + 144px);transform:none;z-index:3}body.touch #radio-root:has(.c2c-radio:not(.mini)){bottom:calc(var(--sab) + 204px)}body.touch #mp-voice{left:calc(var(--sal) + 6px);right:auto;bottom:calc(var(--sab) + 92px);flex-direction:column;align-items:flex-start;gap:4px}body.touch #mp-voice .talk{width:56px;height:56px;font-size:9px}body.touch #mp-voice .row{padding:0 4px;gap:4px;font-size:10px}body.touch #mp-voice .row button{min-height:44px;min-width:44px;padding:0 4px;font-size:10px}body.touch #mpv-who{display:inline-block;max-width:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(orientation:landscape){body.touch{--col: calc(var(--sat) + 50px)}body.touch #hud-top{flex-wrap:nowrap}body.touch #clock-box,body.touch #route-box{height:40px}body.touch #clock-box{max-width:170px}body.touch #hud-top>.hud-buttons:not(#station-btns){flex:0 0 auto}body.touch #guide{top:calc(var(--sat) + 50px);left:50%;right:auto;transform:translate(-50%);width:min(360px,calc(100vw - 360px));height:50px}body.touch #hud-bottom{width:160px;left:calc(var(--sal) + 6px)}body.touch #dials svg{width:52px;height:52px}body.touch .turn-ind{gap:60px}body.touch #hud-right{width:132px}body.touch #detector{padding:3px 6px}body.touch .det-row{margin-top:2px}body.touch #app{max-height:64px}body.touch #app li:nth-child(n+2){display:none}body.touch #cb li:nth-child(n+2){display:none}body.touch.street #minimap,body.touch.hud-more #minimap{height:62px}body.touch #mp-hud{width:150px;max-width:150px}body.touch #toast{top:30%;max-width:calc(100vw - 360px)}body.touch #prompt{top:54%;max-width:calc(100vw - 360px)}body.touch #bust{top:64%}body.touch.cockpit #toast{top:26%}body.touch.cockpit #prompt{top:45%}body.touch #station-btns{top:66%}body.touch #radio-root{right:calc(var(--sar) + 178px);bottom:calc(var(--sab) + 12px)}body.touch #mp-voice{left:calc(var(--sal) + 162px);bottom:calc(var(--sab) + 12px);flex-direction:row-reverse;align-items:flex-end}body.touch #radio-root:has(.c2c-radio:not(.mini)){bottom:calc(var(--sab) + 12px)}body.touch.hud-more #hud-bottom{width:330px}body.touch.hud-more #gauges{display:grid;grid-template-columns:1fr 1fr}body.touch.hud-more #app,body.touch.hud-more #crew-tools{display:none!important}body.touch #touch .steer button{width:66px;height:66px}body.touch #t-gas{height:108px;width:74px}}.det-hidden{display:none!important}.det-screen{display:none;width:100%;aspect-ratio:10 / 3;margin-top:5px;border-radius:6px;background:#000;box-shadow:inset 0 0 0 1px #2a2d31,0 0 0 2px #0b0c0e}body.era-modern #detector{background:linear-gradient(#17191c,#0d0e10);border:1px solid #2c3036}body.era-modern #detector .det-head small{color:#8d97a2;letter-spacing:.12em}body.era-modern #det-pwr{background:#3aa0ff;box-shadow:0 0 6px #3aa0ff}#dials svg#boost{width:88px;height:88px}#dials svg#boost[hidden]{display:none}body:not(.touch) #dials svg#boost{width:72px;height:72px}body.touch #dials svg#boost{width:44px;height:44px}#rotate-hint{display:none}@media(orientation:portrait){body.touch #hud:not([hidden]) #rotate-hint{display:block;position:absolute;left:50%;top:47%;transform:translate(-50%);white-space:nowrap;padding:6px 12px;border-radius:10px;background:#10121ccc;color:var(--ink);font:700 13px var(--sans);text-align:center;pointer-events:none;animation:rotate-hint 7s ease 1.5s both}}@keyframes rotate-hint{0%{opacity:0}8%{opacity:1}80%{opacity:1}to{opacity:0;visibility:hidden}}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../brand/fonts/BebasNeue-400.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(../brand/fonts/BarlowCondensed-400.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../brand/fonts/BarlowCondensed-500.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../brand/fonts/BarlowCondensed-600.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../brand/fonts/BarlowCondensed-700.woff2) format("woff2")}:root{--gg-red: #ce102c;--gg-black: #000;--gg-page: #0b0b0c;--gg-panel: #111214;--gg-line: #222226;--gg-ink: #ffffff;--gg-dim: #a3a3ab;--gg-display: "Bebas Neue", "Arial Narrow", Impact, sans-serif;--gg-body: "Barlow Condensed", "Arial Narrow", "Helvetica Neue", sans-serif}#gg-intro{position:fixed;inset:0;z-index:1000;background:var(--gg-black);display:grid;place-items:center;cursor:pointer;transition:opacity .5s ease}#gg-intro.out{opacity:0;pointer-events:none}#gg-intro .gg-intro-inner{padding:clamp(32px,8vw,72px);display:flex;flex-direction:column;align-items:center;gap:clamp(20px,4vw,36px);animation:gg-in .7s ease-out both}#gg-intro .gg-eyebrow{font-size:clamp(12px,2.6vw,15px);color:var(--gg-dim)}#gg-intro img{width:min(64vw,420px);height:auto;display:block}@keyframes gg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#gg-intro .gg-intro-inner{animation:gg-fade .4s ease-out both}@keyframes gg-fade{0%{opacity:0}to{opacity:1}}}.screen{--accent: var(--gg-red);--red: var(--gg-red);--card: var(--gg-panel);--line: var(--gg-line);--ink: var(--gg-ink);--dim: var(--gg-dim);font-family:var(--gg-body);font-size:17px;letter-spacing:.01em}.gg-eyebrow,.screen .kicker{margin:0;font-family:var(--gg-body);font-weight:600;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gg-red)}.screen .card{background:var(--gg-panel);border:1px solid var(--gg-line);border-radius:2px;box-shadow:0 20px 60px #0000008c}.screen .card h2{font-family:var(--gg-display);font-weight:400;font-size:40px;line-height:.95;letter-spacing:.01em;text-transform:uppercase;color:var(--gg-ink);margin:0 0 6px}.screen .card h3{font-family:var(--gg-body);font-weight:600;font-size:13px;letter-spacing:.22em;color:var(--gg-red)}.screen .sub,.screen p{color:#d6d6db}.screen .fine{color:var(--gg-dim);font-size:13px}.screen a{color:var(--gg-ink);text-decoration-color:var(--gg-red);text-underline-offset:3px}.screen button{font-family:var(--gg-display);font-weight:400;font-size:21px;letter-spacing:.05em;text-transform:uppercase;min-height:44px;border-radius:2px;cursor:pointer}.screen .card button{background:transparent;border:1px solid #3b3b42;color:var(--gg-ink);font-weight:400;letter-spacing:.05em}.screen .card button:hover{border-color:#6b6b74;filter:none;background:#ffffff0a}.screen .card button.primary,.gg-btn{background:var(--gg-red);border:1px solid var(--gg-red);color:#fff}.screen .card button.primary:hover,.gg-btn:hover{background:#e01535;border-color:#e01535}.screen select,.screen input[type=text],.screen input[type=number]{font-family:var(--gg-body);font-size:16px;background:#0b0b0c;color:var(--gg-ink);border:1px solid #33333a;border-radius:2px;padding:8px 10px;min-height:40px}.screen input[type=range]{accent-color:var(--gg-red)}.screen input[type=checkbox]{accent-color:var(--gg-red);width:18px;height:18px}.screen.gg-page{display:block;padding:0;background:var(--gg-page);overflow-y:auto;overflow-x:hidden;padding-bottom:var(--sab)}.gg-announce{background:var(--gg-red);color:#fff;text-align:center;font-family:var(--gg-display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:calc(var(--sat) + 7px) 12px 7px}.gg-header{display:flex;justify-content:center;align-items:center;background:var(--gg-black);border-bottom:1px solid var(--gg-line);padding:16px 24px}.gg-logo{display:block;padding:10px 14px}.gg-logo img{display:block;height:40px;width:auto}.gg-hero{position:relative;min-height:min(70vh,640px);display:flex;align-items:flex-end;overflow:hidden;background:#000}.gg-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}@media(min-width:861px){.gg-hero-img{left:24%;width:76%;object-position:40% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32%);mask-image:linear-gradient(90deg,transparent 0,#000 32%)}}.gg-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000000e0,#0000008c 45%,#0000000d 80%),linear-gradient(0deg,#0b0b0c,#0b0b0c00 35%)}.gg-hero-inner{position:relative;z-index:1;width:min(1100px,100%);margin:0 auto;padding:48px clamp(18px,5vw,56px) 44px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.gg-title{margin:0;font-family:var(--gg-display);font-weight:400;text-transform:uppercase;color:#fff;font-size:clamp(64px,13vw,132px);line-height:.86;letter-spacing:.005em}.gg-title em{font-style:normal;color:var(--gg-red)}.gg-sub{margin:0 0 8px;max-width:34ch;font-size:clamp(18px,2.2vw,22px);line-height:1.3;color:#e4e4e8}.gg-btn{font-size:24px;padding:12px 34px;min-height:52px;letter-spacing:.06em}.gg-page .best{color:#fff;font-family:var(--gg-display);font-size:20px;letter-spacing:.05em;margin:4px 0 0}.gg-tiles{width:min(1100px,100%);margin:0 auto;padding:28px clamp(12px,4vw,56px) 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.gg-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;background:#141416;color:#fff;min-height:44px;outline-offset:-2px}.gg-tile img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;filter:saturate(.9) brightness(.92);transition:filter .2s ease}.gg-tile .gg-eyebrow{padding:14px 14px 2px;font-size:12px}.gg-tile b{padding:0 14px 16px;font-family:var(--gg-display);font-weight:400;font-size:30px;line-height:1;letter-spacing:.01em;text-transform:uppercase}.gg-tile:hover img,.gg-tile:focus-visible img{filter:saturate(1.05) brightness(1.08)}.gg-tile:focus-visible{outline:2px solid var(--gg-red)}.gg-footer{width:min(1100px,100%);margin:26px auto 0;padding:22px clamp(18px,5vw,56px) 30px;border-top:1px solid var(--gg-line);display:flex;flex-direction:column;gap:6px}.gg-presented{margin:0;font-family:var(--gg-display);font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#fff}.gg-presented a{color:#fff;text-decoration:none}.gg-presented a:hover{color:var(--gg-red)}.gg-footer .fine{max-width:70ch}@media(max-width:860px){.gg-tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.gg-logo img{height:40px}.gg-header{padding:10px 16px}.gg-hero{min-height:62vh}.gg-hero-img{object-position:64% 50%}.gg-hero:after{background:linear-gradient(0deg,#0b0b0c,#0b0b0cbf 40%,#00000026 75%)}.gg-hero-inner{padding:28px 16px 26px}.gg-tiles{padding:18px 0 0;gap:2px}.gg-tile b{font-size:26px}.gg-tile .gg-eyebrow{font-size:11px;padding:12px 12px 2px}.gg-tile b{padding:0 12px 14px}}.screen-wide{background:linear-gradient(90deg,#000000e6,#0003 42% 62%,#000000e6)}.garage-list button{flex-shrink:0;border-radius:2px;background:#111214eb;border:1px solid var(--gg-line);font-family:var(--gg-body);text-transform:none;letter-spacing:.01em}.garage-list button b{font-family:var(--gg-display);font-weight:400;font-size:23px;letter-spacing:.02em;line-height:1;text-transform:uppercase}.garage-list button span{font-size:13px;color:var(--gg-dim)}.garage-list button .era-tag{font-family:var(--gg-body);font-weight:600;font-size:11px;letter-spacing:.18em;color:var(--gg-red);opacity:1}.garage-list button.sel{border-color:var(--gg-red);box-shadow:inset 3px 0 0 var(--gg-red);background:#180a0cf2}.screen .inspired{color:var(--gg-red);font-style:normal;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:12px}.screen .specs td{border-bottom-color:var(--gg-line);font-size:15px}.screen .specs td:last-child{font-family:var(--gg-body);font-weight:700;font-variant-numeric:tabular-nums}.screen .procon{font-size:15px}@media(max-width:860px){.screen-wide{background:linear-gradient(180deg,#00000026,#0b0b0cf0 55%)}}.screen .setup-grid label{font-size:15px}.screen .setup-grid output{font-family:var(--gg-body);font-weight:700;font-size:14px}.screen .how{font-size:16px;line-height:1.45}.screen .bar.big{border-radius:0}.screen .bar.big i{background:var(--gg-red)}.screen .best{color:#fff}#s-mp .code{font-family:var(--gg-display);font-weight:400;letter-spacing:.14em;color:var(--gg-red)}#s-mp .modes label,#s-mp input[type=text]{border-radius:2px}
