:root{color-scheme:dark;--bg:#0c1015;--panel:#131920;--border:#2a323a;--muted:#87919c;--text:#e8eceb;--acid:#d9f447;--cyan:#63d9d2;--red:#ff694f;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px var(--body);min-width:320px}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,canvas:focus-visible{outline:2px solid var(--acid);outline-offset:4px}button{touch-action:manipulation}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#shell{max-width:1920px;margin:auto;min-height:100dvh;display:flex;flex-direction:column}.topbar{height:91px;display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 3.2%;gap:24px}.brand{border:0;background:none;display:flex;align-items:center;gap:12px;padding:0;margin-right:clamp(0px,3vw,50px)}.brand-mark{font:900 italic 50px var(--display);line-height:1;color:var(--acid);letter-spacing:-7px}.brand-mark span{font-size:40px;letter-spacing:-5px}.brand-words{font:800 22px/.95 var(--display);letter-spacing:2px;display:flex;flex-direction:column;text-align:left}.brand-words>span{font-size:15px;letter-spacing:7px;margin-top:5px}.topbar nav{align-self:stretch;display:flex;gap:27px}.nav-btn{border:0;border-bottom:3px solid transparent;background:none;text-transform:uppercase;font:700 16px var(--display);letter-spacing:1px;white-space:nowrap;padding:3px 0 0}.nav-btn span{font:12px var(--mono);color:#64707a;margin-left:6px}.nav-btn.active{color:var(--acid);border-color:var(--acid)}.nav-btn.active span{color:var(--acid)}.wallet{display:flex;margin-left:auto;gap:26px}.wallet>div{position:relative;padding-right:20px}.wallet-label{display:block;font:11px var(--mono);letter-spacing:1px;color:var(--muted);margin-bottom:3px}.wallet strong{font:600 18px var(--mono);letter-spacing:-.5px}.currency{position:absolute;right:0;bottom:0;font:18px var(--mono);color:var(--acid);font-style:normal}.scrap-icon{color:var(--muted)}.icon-btn{width:36px;height:36px;background:none;border:1px solid var(--border);display:grid;place-items:center;color:var(--muted);padding:0}.icon-btn:hover{color:var(--acid);border-color:var(--acid)}.help-button{font:600 18px var(--mono);margin-left:-14px}#content{padding:27px 3.2% 20px;flex:1}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font:12px var(--mono);letter-spacing:1.6px;color:var(--muted);text-transform:uppercase}.section-heading h1{font:700 35px/.95 var(--display);text-transform:uppercase;letter-spacing:.5px;margin:0}.section-heading h1 span{color:var(--muted);font-weight:500}.circuit-status{display:flex;gap:16px;align-items:center;font:12px var(--mono);color:var(--muted)}.rank-tag{border:1px solid var(--border);padding:8px 12px;color:var(--text)}.rank-tag b{color:var(--acid);font-weight:500}.briefing-grid{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:20px}.track-panel{position:relative;background:#101820;border:1px solid var(--border);height:490px;overflow:hidden}.track-panel canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.track-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,11,15,.94) 0%,transparent 42%,transparent 75%,rgba(6,11,15,.6) 100%)}.track-top{position:absolute;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;z-index:1}.live-tag{font:12px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:8px}.live-tag:before{content:"";width:5px;height:5px;background:var(--acid);box-shadow:0 0 9px #d9f44770}.track-weather{font:12px var(--mono);color:#bac7cb}.track-bottom{position:absolute;bottom:24px;left:27px;right:27px;z-index:1;display:flex;justify-content:space-between;align-items:end}.track-bottom .eyebrow{color:var(--acid)}.track-title{font:800 italic clamp(45px,4.8vw,74px)/.95 var(--display);letter-spacing:.8px;margin:8px 0 12px;text-transform:uppercase}.track-subtitle{color:#aab6bd;font-size:14px;margin:0}.track-number{font:500 64px/1 var(--display);color:#5e717780;display:block}.track-tabs{display:flex;gap:6px;margin-top:18px}.track-tab{width:34px;height:3px;background:#56626b;border:0;padding:0;transition:.2s}.track-tab.active{width:64px;background:var(--acid)}.side-panel{display:flex;flex-direction:column;gap:15px}.mode-switch{display:flex;border:1px solid var(--border);background:#10161b;padding:4px;gap:3px}.mode-switch button{flex:1;background:none;border:0;font:600 14px var(--display);letter-spacing:1px;text-transform:uppercase;padding:10px}.mode-switch button.active{background:#d9f447;color:#11160a}.contract-card{border:1px solid var(--border);background:linear-gradient(140deg,#182029,#11171d);padding:18px 18px 15px;flex:1}.small-title{font:600 14px var(--display);letter-spacing:1.6px;text-transform:uppercase;color:#9ba8b4;margin:0 0 13px}.contract-choice{width:100%;background:none;border:1px solid var(--border);display:flex;text-align:left;align-items:center;gap:12px;padding:12px;margin-bottom:7px}.contract-choice.active{border-color:#aebf42;background:#cde8440b}.contract-choice:hover{background:#ffffff06}.contract-icon{width:30px;display:grid;place-items:center;color:var(--muted);font:23px var(--display)}.contract-choice.active .contract-icon{color:var(--acid)}.contract-name{display:block;font:700 18px var(--display);letter-spacing:.4px;text-transform:uppercase}.contract-detail{font:12px var(--mono);color:var(--muted);display:block;margin-top:3px}.choice-dot{width:12px;height:12px;border:1px solid #526069;margin-left:auto;border-radius:50%;flex-shrink:0}.active>.choice-dot{border:3px solid #232b11;background:var(--acid);box-shadow:0 0 0 1px var(--acid)}.reward{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-top:12px;margin-top:13px;font:12px var(--mono);color:var(--muted)}.reward strong{font:600 16px var(--mono);color:var(--acid)}.launch-button{min-height:63px;display:flex;align-items:center;justify-content:space-between;background:var(--acid);color:#111806;border:1px solid var(--acid);padding:0 22px;font:800 italic 26px var(--display);letter-spacing:1px;text-transform:uppercase;transition:.15s;box-shadow:0 5px 25px #d9f44708}.launch-button:hover{background:#eeff8d;box-shadow:0 0 25px #d9f44728}.launch-button svg{width:28px;height:28px;stroke-width:2}.launch-button small{font:12px var(--mono);font-style:normal;letter-spacing:0}.briefing-under{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:20px;margin-top:20px}.loadout-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;border:1px solid var(--border);background:#11171d}.loadout-cell{padding:17px 20px;display:flex;gap:13px;align-items:center;text-align:left;background:none;border:0;border-right:1px solid var(--border)}.loadout-cell:last-child{border-right:0}.loadout-cell:hover{background:#ffffff04}.loadout-icon{width:35px;color:#acb4bd;flex-shrink:0}.loadout-icon svg{width:31px;height:31px}.loadout-label{font:11px var(--mono);letter-spacing:.8px;color:var(--muted);display:block;margin-bottom:5px}.loadout-name{font:600 20px var(--display);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.loadout-status{font:12px var(--mono);color:var(--acid);margin-left:auto}.run-info{border:1px solid var(--border);background:#11171d;display:flex;align-items:center;gap:14px;padding:16px 18px}.run-info svg{width:29px;height:29px;fill:none;stroke:var(--muted);stroke-width:1.4}.run-info p{margin:0;font-size:14px;color:#9ba7b3;line-height:1.4}.run-info b{color:var(--text);font-weight:500}.keybar{display:flex;gap:25px;align-items:center;color:var(--muted);padding:22px 0 0;font-size:13px;flex-wrap:wrap}.keybar b{font:12px var(--mono);color:#c4cacf;border:1px solid #39434b;background:#171d23;padding:4px 6px;margin-right:7px;box-shadow:0 2px 0 #050709;font-weight:500}.keybar .controls-link{margin-left:auto;background:none;border:0;color:#afbbc5;font-size:13px;padding:0}.footer{margin:0 3.2%;padding:17px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:1px;color:#85909c}.tiny-mark{color:var(--acid);font-weight:600;margin-right:6px}.muted{color:var(--muted)}.acid{color:var(--acid)}.red{color:var(--red)}.cyan{color:var(--cyan)}.version{color:#66747e}.panel{border:1px solid var(--border);background:var(--panel);padding:24px}.garage-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px}.garage-hero{height:370px;position:relative;background:#11191c linear-gradient(135deg,#24383f,#0b131b) center 56%/cover;border:1px solid var(--border)}.garage-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c1015eb,transparent 70%)}.garage-label{position:absolute;bottom:24px;left:25px;right:25px;z-index:1}.garage-label h2{font:800 italic 53px var(--display);margin:0;text-transform:uppercase}.garage-label p{margin:3px 0 0;color:#c9d1d4;font-size:14px}.vehicle-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.vehicle-pick{background:#141b21;border:1px solid var(--border);text-align:left;padding:15px}.vehicle-pick.active{border-color:var(--acid)}.vehicle-pick b{font:700 22px var(--display);text-transform:uppercase}.vehicle-pick span{display:block;color:var(--muted);font:12px var(--mono);margin-top:5px}.vehicle-pick.active span{color:var(--acid)}.stats{margin-bottom:25px}.stat-row{margin:13px 0}.stat-header{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--muted);margin-bottom:7px}.stat-header b{color:var(--text);font-weight:500}.bar{height:5px;background:#30383e;overflow:hidden}.bar>i{display:block;background:var(--acid);height:100%}.bar.cyan>i{background:var(--cyan)}.bar.red>i{background:var(--red)}.upgrade{display:flex;gap:12px;align-items:center;padding:16px 0;border-top:1px solid var(--border)}.upgrade div{flex:1}.upgrade h3{margin:0 0 5px;font:600 19px var(--display);text-transform:uppercase;letter-spacing:.5px}.upgrade p{margin:0;font-size:13px;color:var(--muted)}.small-button{border:1px solid #515e36;background:#d9f4470b;color:var(--acid);font:500 12px var(--mono);padding:10px 12px;white-space:nowrap}.small-button:hover{background:#d9f44718}.neutral-button{background:#1b242d;border:1px solid #3b4751;color:#dbe2e5;padding:12px 18px;font:600 16px var(--display);letter-spacing:.6px;text-transform:uppercase}.equipment-section{margin-top:24px}.equipment-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.equip-pick{display:flex;width:100%;text-align:left;background:none;border:1px solid var(--border);padding:13px;gap:12px;align-items:center;margin-bottom:8px}.equip-pick.active{border-color:#a9bd3f;background:#d9f44709}.equip-pick svg{width:28px;color:#a3adb7;flex-shrink:0}.equip-pick div{flex:1}.equip-pick strong{font:600 18px var(--display);text-transform:uppercase}.equip-pick small{display:block;font-size:13px;line-height:1.4;color:#96a3af;margin-top:4px}.equip-pick>span{font:11px var(--mono);color:var(--acid);white-space:nowrap}.market-intro{max-width:680px;font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 25px}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.market-card{border:1px solid var(--border);background:linear-gradient(150deg,#18212a,#10161c);padding:25px;min-height:320px;display:flex;flex-direction:column}.market-card>svg{width:50px;height:50px;fill:none;stroke:var(--acid);stroke-width:1.2;margin-bottom:35px}.market-card h2{font:700 29px var(--display);margin:0 0 10px;text-transform:uppercase}.market-card p{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 25px}.market-card button{margin-top:auto;padding:14px}.market-card.owned{border-color:#80982d}.market-note{border-left:2px solid var(--acid);margin-top:30px;padding:6px 18px;color:var(--muted);font-size:14px}.standings-wrap{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.standings-table{width:100%;border-collapse:collapse;text-align:left;font:14px var(--mono)}.standings-table th{color:var(--muted);font:11px var(--mono);letter-spacing:1px;padding:12px 16px;border-bottom:1px solid var(--border)}.standings-table td{padding:12px 16px;border-bottom:1px solid #253039}.standings-table td:nth-child(2){font:600 20px var(--display);letter-spacing:.7px}.standings-table tr.player{background:#d9f4470d;color:var(--acid)}.standings-table tr.defeated{color:#73808a}.rival-tag{font:10px var(--mono);color:var(--red);border:1px solid #733d34;padding:3px 5px;margin-left:9px}.career-stat{padding:20px 0;border-bottom:1px solid var(--border)}.career-stat strong{font:700 40px var(--display);color:var(--acid);display:block}.career-stat span{font:12px var(--mono);color:var(--muted);text-transform:uppercase}.career-copy{color:var(--muted);line-height:1.6;font-size:14px}.boss-card{background:#281a1a;border:1px solid #82372b;padding:16px;margin-bottom:12px}.boss-card h3{font:700 25px var(--display);color:var(--red);margin:5px 0}.boss-card p{color:#b5a7a4;font-size:13px;margin:0;line-height:1.5}dialog{background:#131b22;border:1px solid #3c4b54;color:var(--text);padding:0;max-width:700px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 30px 160px #000b}dialog::backdrop{background:#02080ddd;backdrop-filter:blur(8px)}.modal-inner{padding:32px}.modal-inner h2{font:800 italic 48px/1 var(--display);text-transform:uppercase;margin:10px 0 18px}.modal-inner>p{font-size:16px;line-height:1.55;color:var(--muted)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.modal-actions .launch-button{min-height:50px;font-size:21px;padding:0 22px;gap:25px}.control-table{display:grid;grid-template-columns:170px 1fr;font-size:15px;gap:12px 20px;color:#b5c0c7}.control-table b{font:12px var(--mono);color:var(--acid)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:25px 0}.result-stats>div{padding:16px 10px;border-right:1px solid var(--border)}.result-stats>div:last-child{border:0}.result-stats strong{font:600 34px var(--display);display:block}.result-stats span{font:11px var(--mono);color:var(--muted);text-transform:uppercase}.result-list{display:flex;flex-direction:column;gap:7px}.result-row{display:flex;align-items:center;gap:15px;padding:8px 12px;background:#ffffff04;font:14px var(--mono)}.result-row strong{font:600 19px var(--display);flex:1}.result-row.you{color:var(--acid);background:#d9f4470a}.perk-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.perk-option{background:#1a252d;border:1px solid #3e545d;padding:22px 15px;text-align:left;min-height:170px}.perk-option:hover{border-color:var(--acid);background:#273221}.perk-option b{display:block;color:var(--acid);font:700 23px var(--display);text-transform:uppercase;margin:9px 0}.perk-option p{color:#a9b7c0;font-size:14px;line-height:1.4;margin:0}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#242e33;color:var(--text);border:1px solid #5e7152;padding:14px 25px;font-size:15px;z-index:30;pointer-events:none;opacity:0;transition:.2s;box-shadow:0 10px 30px #0008;max-width:90vw;text-align:center}#toast.visible{transform:translate(-50%,0);opacity:1}#race-screen{position:fixed;inset:0;background:#0b151c;z-index:10;overflow:hidden}#race-canvas{width:100%;height:100%;display:block;outline:none}#race-hud{position:absolute;inset:0;pointer-events:none}.race-top{position:absolute;left:27px;right:27px;top:24px;display:flex;justify-content:space-between;align-items:start}.race-top-left{display:flex;align-items:center;gap:22px}.race-position{font:800 italic 72px/.85 var(--display);color:var(--acid);text-shadow:0 4px 15px #000}.race-position small{font:500 22px var(--display);color:#ced7d7}.hud-overline{font:11px var(--mono);letter-spacing:1.5px;color:#a2b7bb}.hud-stat{font:700 29px var(--display);text-shadow:0 3px 6px #000}.race-metric{border-left:1px solid #7e999b66;padding-left:21px}.race-top-right{display:flex;gap:12px;align-items:start}.race-top-right button{pointer-events:auto;background:#0b131dcc;border-color:#617a7c;color:white}.race-clock{text-align:right;background:#09141bb0;border:1px solid #3b51576b;padding:10px 17px;min-width:120px}.leaderboard{position:absolute;left:27px;top:123px;min-width:170px;display:flex;flex-direction:column;gap:5px}.leader-row{display:flex;align-items:center;gap:10px;background:#0a131ac4;padding:7px 12px;font:13px var(--mono);border-left:2px solid #61787d}.leader-row.you{color:var(--acid);border-color:var(--acid);background:#142018d4}.leader-row.out{opacity:.45;text-decoration:line-through}.leader-row strong{font:600 17px var(--display);flex:1;letter-spacing:.4px}.leader-row .gap{font:11px var(--mono);color:#8badaf}.race-bottom{position:absolute;bottom:23px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:end}.speed-panel{width:220px;background:linear-gradient(90deg,#081219ee,#08121940);padding:16px 20px;border-left:2px solid var(--acid)}.speed-number{font:800 italic 72px/.9 var(--display);display:inline-block}.speed-unit{font:11px var(--mono);color:#9fb6bb;margin-left:8px}.hud-bar-row{margin-top:12px}.hud-bar-label{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:1px;color:#a0b8bc;margin-bottom:6px}.hud-bar-row .bar{height:5px;background:#35494f}.weapon-hud{display:flex;gap:9px}.weapon-block{padding:13px 15px;background:#08151edc;border:1px solid #314b5466;min-width:110px;border-bottom:2px solid #d9f44788}.weapon-block.cool{border-bottom-color:#4e656d}.weapon-block b{display:block;font:600 18px var(--display);letter-spacing:.7px;margin:5px 0}.weapon-block small{font:10px var(--mono);letter-spacing:1px;color:#abc1c6}.weapon-block .hud-key{font:10px var(--mono);border:1px solid #5b737c;padding:2px 5px;color:var(--acid)}.race-center{position:absolute;top:38%;left:0;right:0;text-align:center}.countdown-number{font:900 italic 150px/1 var(--display);color:var(--acid);text-shadow:0 0 65px #d9f44766,0 7px 0 #182821}.center-message{font:800 italic 52px/1 var(--display);color:var(--acid);text-shadow:0 5px 20px #000}.center-sub{font:13px var(--mono);color:#d7e5e6;margin-top:10px;letter-spacing:2px;text-shadow:0 2px 10px #000}.race-event{position:absolute;left:50%;transform:translateX(-50%);top:23px;text-align:center;padding:10px 20px;background:#0b181ed9;border:1px solid #466066;font:600 19px var(--display);letter-spacing:1px;color:var(--acid)}.race-help{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font:10px var(--mono);color:#93b0b4;white-space:nowrap}.touch-drive,.touch-combat{display:none}#touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none}dialog{z-index:50}#race-screen~dialog{z-index:50}.game-toast{background:#252c24!important}.end-run-note{background:#d9f4470b;border:1px solid #d9f44736;padding:14px;font-size:14px;color:#b9c6a5;margin-top:16px}.boss-choice{border-color:#82372b!important}.boss-choice.active{border-color:var(--red)!important}.boss-choice .contract-name{color:var(--red)}
@media(min-width:1600px){.track-panel{height:580px}.topbar{height:100px}#content{padding-top:32px}.contract-choice{padding:16px 12px}.contract-card{padding:21px}.briefing-grid,.briefing-under{grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:1150px){.topbar{gap:16px;padding:0 24px}.topbar nav{gap:17px}.nav-btn span{display:none}.brand{margin-right:6px}.wallet{gap:16px}.help-button{display:none}.briefing-grid,.briefing-under{grid-template-columns:minmax(0,1fr) 290px}#content{padding-left:24px;padding-right:24px}.track-panel{height:480px}.loadout-cell{padding:14px 12px}.loadout-name{font-size:17px}.loadout-icon{width:25px}.loadout-icon svg{width:25px}.loadout-status{display:none}.market-grid{grid-template-columns:repeat(2,1fr)}.keybar{gap:17px}.brand-words{font-size:20px}.footer{margin:0 24px}.track-bottom{left:22px;right:22px}.track-number{font-size:50px}.track-title{font-size:50px}}
@media(max-width:900px){.topbar{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding-top:16px}.topbar nav{order:4;width:100%;justify-content:space-around;height:45px}.wallet{margin-left:auto}.brand-mark{font-size:44px}.brand-words{font-size:21px}.briefing-grid{grid-template-columns:minmax(0,1fr) 265px;gap:14px}.briefing-under{grid-template-columns:1fr}.briefing-under>.run-info{display:none}.circuit-status>span:first-child{display:none}.track-panel{height:466px}.contract-card{padding:15px 12px}.track-title{font-size:43px}.track-subtitle{font-size:13px}.track-weather{display:none}.keybar{gap:16px}.garage-grid{grid-template-columns:1fr}.garage-hero{height:400px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:15px}.equipment-columns{grid-template-columns:1fr}.standings-wrap{grid-template-columns:1fr 240px}.standings-table th,.standings-table td{padding:10px}.footer{letter-spacing:.5px}.footer #save-status{display:none}.weapon-block{min-width:95px;padding:10px}.race-help{display:none}}
@media(max-width:650px){#content{padding:20px 16px}.topbar{padding-left:16px;padding-right:16px}.wallet{gap:15px}.wallet strong{font-size:15px}.wallet-label{font-size:9px}.currency{font-size:15px}.topbar>.icon-btn{width:30px;height:30px}.brand-words{font-size:18px}.brand-words>span{font-size:12px}.brand-mark{font-size:40px}.brand{gap:9px}.nav-btn{font-size:16px}.section-heading{margin-bottom:15px}.section-heading h1{font-size:29px}.rank-tag{font-size:10px;padding:7px}.briefing-grid{grid-template-columns:1fr}.track-panel{height:330px}.track-title{font-size:48px}.track-top{top:16px;left:18px;right:18px}.track-bottom{left:18px;bottom:20px}.track-number{font-size:55px}.side-panel{gap:12px}.contract-card{padding:15px}.contract-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.contract-choice{padding:10px 8px;gap:5px;margin:0}.contract-name{font-size:17px}.contract-detail{font-size:10px}.contract-icon{width:25px}.choice-dot{width:10px;height:10px}.contract-card .small-title{margin-bottom:12px}.reward{margin-top:15px}.launch-button{min-height:59px}.briefing-under{margin-top:14px}.loadout-row{grid-template-columns:repeat(3,1fr)}.loadout-cell{padding:13px 10px}.loadout-icon{display:none}.loadout-label{font-size:9px}.loadout-name{font-size:15px;white-space:normal}.keybar{gap:14px 13px;font-size:11px;padding-top:20px}.keybar b{font-size:10px;margin-right:4px}.keybar .controls-link{margin-left:0;font-size:12px}.footer{margin:0 16px;font-size:8px;gap:10px}.garage-hero{height:310px}.garage-label h2{font-size:44px}.vehicle-pick{padding:12px 8px}.vehicle-pick b{font-size:19px}.vehicle-pick span{font-size:10px}.panel{padding:19px}.stats{gap:13px}.stat-header{font-size:10px}.stat-header b{font-size:10px}.market-grid{gap:12px}.market-card{padding:18px;min-height:310px}.market-card h2{font-size:25px}.market-card>svg{margin-bottom:24px}.market-card p{font-size:14px}.market-card button{font-size:11px}.standings-wrap{grid-template-columns:1fr}.standings-wrap>aside{display:none}.standings-table{font-size:12px}.standings-table th{font-size:10px}.standings-table td:nth-child(2){font-size:18px}.rival-tag{font-size:8px;margin-left:4px}.modal-inner{padding:23px}.modal-inner h2{font-size:39px}.control-table{grid-template-columns:130px 1fr;font-size:13px;gap:12px}.control-table b{font-size:11px}.perk-options{grid-template-columns:1fr;gap:9px}.perk-option{min-height:0;padding:12px 15px}.perk-option b{font-size:21px;margin:0 0 4px}.perk-option p{font-size:13px}.race-top{top:15px;left:15px;right:15px}.race-position{font-size:55px}.race-top-left{gap:12px}.race-metric{padding-left:12px}.hud-stat{font-size:23px}.hud-overline{font-size:9px}.race-clock{padding:8px 10px;min-width:90px}.leaderboard{left:15px;top:95px;min-width:128px}.leader-row{font-size:10px;padding:5px 8px;gap:6px}.leader-row strong{font-size:14px}.leader-row .gap{font-size:9px}.race-bottom{bottom:130px;left:15px;right:15px}.speed-panel{width:155px;padding:12px}.speed-number{font-size:52px}.weapon-hud{flex-direction:column;gap:4px}.weapon-block{padding:6px 9px;min-width:105px}.weapon-block b{font-size:14px;display:inline-block;margin:0 3px}.weapon-block small{font-size:8px}.weapon-block .hud-key{display:none}.weapon-block .bar{height:3px;margin-top:3px}.race-event{top:80px;left:auto;right:15px;transform:none;font-size:14px;max-width:180px;padding:7px 10px}.center-message{font-size:40px}.center-sub{font-size:10px}.countdown-number{font-size:120px}}
@media(pointer:coarse){.touch-drive,.touch-combat{display:flex;position:absolute;bottom:22px;gap:7px;align-items:end}.touch-drive{left:15px;flex-wrap:wrap;width:142px}.touch-combat{right:15px;flex-wrap:wrap;width:151px;justify-content:end}.touch-drive button,.touch-combat button{width:63px;height:48px;border:1px solid #79949666;background:#10232bba;color:#e5efed;border-radius:6px;font:600 21px var(--display);backdrop-filter:blur(6px)}.touch-combat button{width:43px;height:39px;font-size:16px}.touch-combat .touch-fire{width:143px;height:55px;background:#d9f44730;border-color:#d9f447a0;color:var(--acid);font-size:22px}.touch-drive button.pressed,.touch-combat button.pressed{background:#d9f44780;color:#152210}.race-bottom{bottom:145px}.race-help{display:none}}
/* Garage shows the same class-specific chassis used on the circuit. */
.garage-hero{background:#0d1720;overflow:hidden}
.garage-hero>canvas{display:block;width:100%;height:100%}
.garage-hero:after{background:linear-gradient(0deg,#0b121afa 0%,#0b121a66 22%,transparent 48%);pointer-events:none}
.garage-label{pointer-events:none}
.vehicle-thumbnail{display:block;width:100%;height:86px;margin-bottom:12px}
.vehicle-pick{padding-top:8px}
.vehicle-pick.active{box-shadow:inset 0 -2px var(--acid)}
.equipment-count{border:1px solid var(--border);padding:2px 5px;color:#c4d0ca;font-size:11px;margin-left:5px}
.equip-pick{min-height:101px}
.equip-pick strong{line-height:1.2}
.new-badge{display:inline-block;vertical-align:middle;font:500 9px var(--mono);letter-spacing:.5px;color:var(--cyan);border:1px solid #4da6a44d;padding:2px 4px;margin-left:7px;font-style:normal}
.equip-pick:disabled{opacity:.7}
.equip-pick:disabled>span{color:#a3afb9}
@media(max-width:650px){.vehicle-thumbnail{height:68px}.equip-pick{min-height:90px}.garage-hero{height:350px}.garage-label{left:20px;bottom:20px}.garage-label h2{font-size:39px}.garage-label p{max-width:95%;font-size:13px}.garage-label .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.circuit-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:22px}.circuit-tile{display:flex;align-items:center;gap:10px;background:#111d24;border:1px solid #2c3b42;color:var(--text);text-align:left;padding:10px;min-height:84px;cursor:pointer}.circuit-tile.active{border-color:var(--acid);background:#222a20;box-shadow:inset 0 -3px var(--acid)}.circuit-tile canvas{width:64px;height:54px;flex:none}.circuit-tile b{display:block;font:600 14px var(--display);line-height:1.25}.circuit-tile small{display:block;color:var(--muted);font:12px var(--mono);margin-top:6px}.workshop-tile strong{font-size:30px;color:var(--acid);padding:0 12px}.run-track-note{font:14px var(--mono);padding:14px 0 22px;color:var(--muted)}.workshop-kicker{font:14px var(--mono);color:var(--muted)}.workshop-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.workshop-nav .mode-switch{width:450px;max-width:100%}.workshop-account{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:14px}.workshop-account a{color:var(--acid)}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.editor-board{background:#101b22;border:1px solid #30424b;min-width:0}.editor-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #30424b}.editor-tools{display:flex;gap:8px;flex-wrap:wrap}.editor-tools .neutral-button{font:14px var(--display);padding:10px 12px}.editor-tools .selected{background:var(--acid);color:#101618;border-color:var(--acid)}.snap-toggle{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.snap-toggle input{accent-color:var(--acid);width:18px;height:18px}#editor-canvas{display:block;width:100%;height:min(58vh,610px);min-height:350px;touch-action:none;cursor:crosshair}#editor-canvas:focus-visible{outline:2px solid var(--acid);outline-offset:-3px}.editor-bottom{display:flex;justify-content:space-between;gap:18px;padding:14px 18px;color:var(--muted);border-top:1px solid #30424b;font-size:14px;line-height:1.5}.editor-bottom span:last-child{font:12px var(--mono);white-space:nowrap}.editor-selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px;border-top:1px solid #30424b}.editor-selection strong{font:14px var(--mono);color:var(--acid);margin-right:8px}.editor-selection label{display:flex;align-items:center;gap:6px;font-size:14px}.editor-selection input{width:78px}.editor-selection .neutral-button{font-size:14px;padding:9px 10px}.field-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:#c9d5da;margin:18px 0}.field-label small{font-size:12px;font-weight:400;color:var(--muted)}.field-label input,.field-label select,.editor-selection input{border:1px solid #40515b;background:#0d171e;color:#eef4e5;padding:11px 12px;min-width:0;font:16px var(--body);border-radius:2px;width:100%}.editor-selection input{width:88px;padding:8px}.field-label input:focus,.field-label select:focus,.editor-selection input:focus{outline:2px solid var(--acid);outline-offset:2px}.field-label input[type=range]{accent-color:var(--acid);padding:0;min-height:24px}.editor-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-field-pair .field-label{margin:0}.editor-validation{display:flex;flex-direction:column;gap:6px;padding:14px;background:#18322e;border:1px solid #38564a;font-size:14px;line-height:1.5;color:#bce9cc;margin:16px 0}.editor-validation strong{font:600 18px var(--display)}.editor-validation.invalid{background:#302923;border-color:#725b3b;color:#f4d5a1}.editor-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-main-actions .launch-button{grid-column:1/-1;margin-top:2px;height:54px;font-size:19px}.editor-main-actions .neutral-button,.editor-main-actions .small-button{font-size:14px;padding:12px 8px}.editor-save-state{font-size:14px;line-height:1.5;color:var(--acid)}.workshop-note{font-size:14px;line-height:1.6;color:var(--muted)}.editor-secondary-actions,.editor-published-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.editor-secondary-actions .neutral-button,.editor-published-actions .neutral-button{font-size:14px;padding:9px 10px}.workshop-library-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0;gap:20px}.workshop-library-head h2{font:600 28px var(--display);margin:0 0 8px}.workshop-library-head p{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.workshop-empty{padding:80px 25px;text-align:center;border:1px dashed #3c525c;background:#0e1920}.workshop-empty h3{font:600 30px var(--display);margin:16px 0}.workshop-empty p{font-size:16px;color:var(--muted);line-height:1.6;margin:14px auto 24px;max-width:560px}.workshop-empty .small-button{display:inline-flex}.map-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.map-card{border:1px solid #30434c;background:#111e26;min-width:0}.map-card canvas{width:100%;height:220px;display:block}.map-card-body{padding:20px}.map-card h3{font:600 25px var(--display);margin:12px 0 8px;overflow-wrap:anywhere}.map-card p{font-size:14px;color:var(--muted);margin:0 0 18px}.map-card-actions{display:flex;gap:8px;flex-wrap:wrap}.map-card-actions button{font-size:14px;padding:10px 14px}.load-more{display:block;margin:26px auto}.shared-track-preview{width:100%;height:260px;display:block}.editor-settings.panel{padding:22px}.editor-settings input,.editor-settings select{box-sizing:border-box}.workshop-nav .small-button{display:inline-flex;text-decoration:none}.editor-main-actions button:disabled{opacity:.4;cursor:not-allowed}.editor-toolbar button:disabled{opacity:.4}.workshop-nav .mode-switch button{font-size:14px}.topbar nav{gap:22px}
@media(min-width:1500px){.editor-grid{grid-template-columns:minmax(0,1fr) 360px}.circuit-tile canvas{width:85px;height:64px}}
@media(max-width:1200px){.circuit-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar nav{gap:15px}.nav-btn span{display:none}.editor-grid{grid-template-columns:minmax(0,1fr) 300px}.editor-settings.panel{padding:18px}.workshop-account{max-width:300px}.circuit-tile b{font-size:16px}}
@media(max-width:900px){.editor-grid{grid-template-columns:1fr}.editor-settings.panel{display:block}.editor-main-actions{grid-template-columns:1fr 1fr 1fr}.editor-main-actions .launch-button{grid-column:auto;margin:0}.map-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-nav{flex-wrap:wrap}.workshop-kicker{display:none}.editor-settings .field-label{max-width:100%}}
@media(max-width:600px){.circuit-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.circuit-tile{padding:8px;gap:7px}.circuit-tile canvas{width:44px;height:42px}.circuit-tile b{font-size:14px}.circuit-tile small{font-size:12px}.workshop-tile strong{padding:0 6px}.editor-toolbar{padding:12px;gap:12px}.editor-tools{gap:6px}.editor-tools .neutral-button{font-size:14px;padding:9px}.editor-bottom{flex-direction:column;gap:8px;padding:12px}#editor-canvas{height:420px;min-height:0}.editor-selection{padding:12px;gap:8px}.editor-selection strong{flex-basis:100%}.editor-selection .neutral-button{font-size:14px}.editor-main-actions{grid-template-columns:1fr 1fr}.editor-main-actions .launch-button{grid-column:1/-1}.map-card-grid{grid-template-columns:1fr}.workshop-nav .mode-switch{width:100%}.workshop-nav{gap:14px}.workshop-library-head{align-items:flex-start}.workshop-library-head h2{font-size:25px}.workshop-library-head .neutral-button{font-size:14px;padding:10px}.workshop-empty{padding:48px 20px}.workshop-account{max-width:none}.topbar nav{gap:24px}}

.circuit-tile>span{min-width:0}.circuit-tile b{overflow-wrap:anywhere}
@media(max-width:650px){.topbar nav{overflow-x:auto;justify-content:flex-start;gap:22px}.nav-btn{flex:0 0 auto}}
.mp-driver-setup{display:grid;grid-template-columns:1.15fr repeat(5,minmax(0,1fr));gap:18px;margin-bottom:24px;align-items:end}.mp-driver-setup .field-label{margin:0}.mp-driver-setup .eyebrow{display:block;margin-bottom:10px}.mp-home-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.mp-home-grid h2{font:700 38px var(--display);margin:14px 0 24px}.mp-track-map{display:block;width:100%;height:225px;border:1px solid #2d424a}.mp-create .launch-button{width:100%;margin-top:22px}.mp-join .field-label{margin-top:28px}.room-code-input{font:600 32px var(--mono)!important;letter-spacing:.3em;text-transform:uppercase;min-height:70px}.mp-join>.small-button{width:100%;padding:17px;font-size:19px}.mp-room-notes{display:grid;grid-template-columns:40px 1fr;column-gap:18px;align-items:center;margin-top:38px;padding-top:22px;border-top:1px solid var(--border)}.mp-room-notes>span{color:var(--acid);font:600 22px var(--mono)}.mp-room-notes p{font-size:16px;line-height:1.6;color:#b9c8ce}.mp-error{color:#ffaf8a;font-size:16px;min-height:24px}.mp-lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.mp-lobby-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.mp-lobby-heading h2{font:600 28px var(--display);margin:0}.mp-lobby-heading h2 span{font:14px var(--mono);color:var(--muted);margin-left:12px}.mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mp-driver{background:#14212a;border:1px solid #35464f;min-width:0}.mp-driver.ready{border-color:#95ac46;box-shadow:inset 0 -3px #d9f447}.mp-driver-heading{display:flex;align-items:center;gap:9px;padding:14px 12px;border-bottom:1px solid #2a3b45;font-size:14px}.mp-driver-heading>span:first-child{font:14px var(--mono);color:var(--muted)}.mp-driver-heading strong{font:600 17px var(--display);min-width:0;overflow-wrap:anywhere}.mp-driver-heading small{font:12px var(--mono);color:var(--acid);display:block;margin-top:4px}.mp-host-tag{font:12px var(--mono);padding:3px 5px;border:1px solid #637042;color:var(--acid);margin-left:auto}.mp-driver canvas{display:block;width:100%;height:150px}.mp-driver-details{display:flex;flex-direction:column;gap:8px;padding:0 15px 16px}.mp-driver-details b{font:600 20px var(--display)}.mp-driver-details span{font-size:13px;color:var(--muted);line-height:1.4}.mp-driver-details em{font:14px var(--mono);color:#a4b6c2;margin-top:8px}.mp-driver.ready em{color:var(--acid)}.mp-empty-slot{border:1px dashed #344852;min-height:283px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;color:#81929b;background:#0e1920}.mp-empty-slot b{font:600 33px var(--display);color:#3d5864}.mp-empty-slot span{font-size:14px}.mp-room-panel .room-code{font:600 35px var(--mono);letter-spacing:.18em;color:var(--acid);margin:16px 0 22px;white-space:nowrap}.mp-room-panel>.neutral-button{width:100%;font-size:14px}.mp-lobby-track{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.mp-lobby-track .mp-track-map{height:150px}.mp-lobby-track h2{font:600 27px var(--display);margin:15px 0 8px;overflow-wrap:anywhere}.mp-lobby-track p{font:12px var(--mono);color:var(--muted);line-height:1.6}.mp-room-panel .launch-button{width:100%;font-size:22px;margin-top:12px}#mp-room-actions{display:flex;flex-direction:column;gap:10px;margin-top:25px}#mp-room-actions button{width:100%}.mp-ready-active{border-color:var(--acid);background:#293620}.mp-race-status{position:absolute;left:50%;top:17px;transform:translateX(-50%);background:#07151ed9;border:1px solid #49616c;padding:9px 12px;color:#d9f447;font:12px var(--mono);text-align:center;max-width:40%;line-height:1.5}.topbar nav{gap:18px}.brand{margin-right:clamp(0px,1vw,18px)}
@media(max-width:1200px){.mp-driver-setup{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-driver-setup>div{grid-column:1/-1}.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar nav{gap:14px}.mp-lobby-grid{grid-template-columns:minmax(0,1fr) 300px}.mp-room-panel .room-code{font-size:30px}}
@media(max-width:900px){.topbar nav{overflow-x:auto;justify-content:flex-start;gap:25px}.nav-btn{flex:0 0 auto}.mp-home-grid,.mp-lobby-grid{grid-template-columns:1fr}.mp-driver-setup{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-room-panel{display:block}.mp-race-status{top:98px;max-width:65%}.mp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-lobby-track .mp-track-map{height:200px}}
@media(max-width:600px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mp-driver-setup{padding:18px;gap:16px}.mp-home-grid h2{font-size:32px}.mp-driver-heading{flex-wrap:wrap;padding:11px 9px}.mp-driver-heading strong{font-size:16px}.mp-driver canvas{height:115px}.mp-driver-details{padding:0 10px 12px}.mp-driver-details span{font-size:12px}.mp-empty-slot{min-height:258px}.mp-lobby-heading h2{font-size:26px}.mp-lobby-heading .neutral-button{font-size:14px;padding:10px}.mp-race-status{top:90px;left:18px;transform:none;max-width:70%;font-size:12px}.mp-room-panel .room-code{font-size:35px}.mp-driver-setup select{font-size:14px}.room-code-input{font-size:27px!important}}

/* Controller hints and rival scouting use the existing garage palette. */
.controls-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:0;font-size:14px;margin:22px 0}.controls-grid>*{padding:10px 8px;border-bottom:1px solid var(--border)}.controls-grid>b{font:12px var(--mono);color:var(--acid)}.controller-tuning{margin:22px 0;display:block}.controller-tuning output{float:right;color:var(--acid)}.controller-tuning input{display:block;width:100%;margin-top:12px;accent-color:var(--acid)}.gamepad-focus{outline:2px solid var(--acid)!important;outline-offset:3px}.rival-style{display:block;font:11px var(--mono);color:var(--cyan);margin-top:3px;font-weight:400}.leader-row .rival-style{font-size:10px;letter-spacing:1px}.rival-guide{border-top:1px solid var(--border);padding-top:20px;margin-top:24px}.rival-guide p{margin:0 0 15px}.rival-guide b{display:block;color:var(--cyan);font-size:14px}.rival-guide span{display:block;font-size:14px;color:var(--muted);line-height:1.45;margin-top:4px}@media(max-width:600px){.controls-grid{font-size:13px}.controls-grid>*{padding:10px 3px}.controls-grid>b{font-size:11px}}

/* Supplied paint catalog: body-only previews keep every livery visible. */
.skin-picker{margin-top:18px;padding:20px;background:var(--panel);border:1px solid var(--border)}
.skin-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.skin-heading h2{margin:0 0 6px}.skin-heading p{margin:0;color:var(--acid);font-size:15px;font-weight:700}
.skin-heading>span,.skin-note{color:var(--muted);font-size:12px;line-height:1.5}
.skin-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.skin-pick{min-width:0;padding:4px 3px 9px;background:#111b21;border:1px solid #344149;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}
.skin-pick canvas{display:block;width:100%;height:66px;pointer-events:none}
.skin-pick span{display:block;min-height:28px;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.skin-pick:hover{border-color:#85956c}.skin-pick.active{border-color:var(--acid);color:var(--acid);background:#242c20;box-shadow:inset 0 -2px var(--acid)}
.skin-pick:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.skin-note{margin:12px 0 0}
@media(max-width:700px){.skin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skin-pick span{font-size:12px}.skin-picker{padding:14px}.skin-heading{align-items:start}.skin-heading>span{max-width:95px;text-align:right}}

/* Marathon licenses and earned cosmetic skins. */
.track-license{padding:18px;background:#101e25;border:1px solid #40515a}.track-license>b{font:12px var(--mono);color:var(--acid)}.track-license p{color:var(--muted);font-size:14px;line-height:1.5}.track-license small{display:block;margin-top:12px;color:var(--muted);line-height:1.5}.track-license .launch-button{width:100%;font-size:18px}
.skin-pick .skin-state{display:block;padding:4px 3px 11px;font:10px var(--mono);color:var(--acid)}.skin-pick.locked{border-style:dashed}.skin-pick:disabled{opacity:.64}.skin-pick:disabled canvas{opacity:.7}.skin-pick.active .skin-state{color:var(--acid)}.art-load-error{max-width:600px;margin:15vh auto;padding:24px}
/* Touch layout: pedals left, abilities middle, steering right. */
#touch-controls{display:none;position:absolute;z-index:8;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:56px minmax(132px,216px) 112px;justify-content:space-between;gap:8px;align-items:end;pointer-events:none}
.touch-enabled #touch-controls{display:grid}.touch-throttle{display:grid;grid-template-rows:repeat(2,52px);gap:6px}.touch-steer{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.touch-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,52px);gap:6px}
#touch-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;padding:4px 1px;border:1px solid #93bec58a;border-radius:10px;background:#091b27dd;color:#ecf5f1;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;box-shadow:0 3px 10px #0005;font-family:var(--display)}
#touch-controls b{font-size:13px;line-height:1.15}#touch-controls small,#touch-controls span{font:8px var(--mono);white-space:nowrap}#touch-controls .touch-throttle b,#touch-controls .touch-steer b{font-size:24px}#touch-controls .touch-steer button{height:110px}#touch-controls .touch-fire{border-color:#d9f447bc;color:var(--acid);background:#26331de8}#touch-controls button.pressed{background:#d9f447d9;color:#142110;border-color:#ecffa0;transform:translateY(1px)}#touch-controls button.cooling small{color:#ffbf84}#touch-controls button[aria-disabled=true]{opacity:.55}
.touch-enabled #race-screen{touch-action:none;overscroll-behavior:none}.touch-enabled .race-help,.touch-enabled .weapon-hud{display:none}.touch-enabled .race-bottom{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(max(10px,env(safe-area-inset-bottom)) + 125px)}.touch-enabled .speed-panel{display:grid;grid-template-columns:48px 1fr;gap:3px 12px;width:210px;padding:8px 10px}.touch-enabled .speed-number{grid-column:1;grid-row:1 / 3;font-size:30px;align-self:center}.touch-enabled .speed-unit{display:none}.touch-enabled .hud-bar-row{grid-column:2;margin:0}.touch-enabled .hud-bar-label{font-size:8px;margin-bottom:3px;letter-spacing:0}.touch-enabled .hud-bar-row .bar{height:4px}.touch-enabled .race-pause-button{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px}.touch-enabled .race-top{left:max(12px,env(safe-area-inset-left));right:calc(max(12px,env(safe-area-inset-right)) + 52px);top:max(12px,env(safe-area-inset-top))}.touch-enabled .race-top-left{gap:12px}.touch-enabled .race-top .race-metric:last-child{display:none}.touch-enabled .race-position{font-size:38px}.touch-enabled .hud-stat{font-size:24px}.touch-enabled .hud-overline{font-size:8px}.touch-enabled .leaderboard{top:82px;left:max(12px,env(safe-area-inset-left))}.touch-enabled .leader-row{font-size:11px}.touch-enabled .race-event{top:85px;left:auto;right:12px;transform:none;max-width:45%;font-size:14px;padding:7px}.touch-enabled .mp-race-status{top:65px;left:auto;right:12px;transform:none;max-width:45%;font-size:9px;padding:5px}.touch-enabled .race-center{top:31%}.touch-enabled .center-sub{padding:0 12px;letter-spacing:.7px}
@media(max-width:420px){#touch-controls{grid-template-columns:52px minmax(132px,1fr) 104px;gap:7px}.touch-enabled .race-clock .hud-stat{font-size:21px}.touch-enabled .race-position{font-size:34px}.touch-enabled .race-top-left{gap:9px}}
@media(max-height:500px){.touch-enabled .race-bottom{top:max(68px,calc(env(safe-area-inset-top) + 62px));bottom:auto;left:auto;right:max(10px,env(safe-area-inset-right))}.touch-enabled .speed-panel{width:190px}.touch-enabled .leaderboard{display:none}.touch-enabled .race-event{top:75px;right:230px;font-size:13px}.touch-enabled .race-position{font-size:32px}.touch-enabled .hud-stat{font-size:22px}.touch-enabled .race-top{top:max(8px,env(safe-area-inset-top))}.touch-enabled .mp-race-status{top:58px;right:230px;max-width:42%;font-size:9px}.touch-enabled .countdown-number{font-size:76px}.touch-enabled .center-message{font-size:28px}.touch-enabled .race-center{top:32%}.touch-enabled .story-objective-live{left:12px;right:auto;top:65px;bottom:auto;transform:none;width:38%;max-width:320px;padding:7px}.touch-enabled .story-objective-live strong{font-size:12px}.touch-enabled .story-objective-live span{font-size:10px}.touch-enabled .story-radio{left:22%;right:22%;bottom:135px;transform:none;width:auto;max-width:none;padding:5px;font-size:11px}}
@media(max-height:340px){.touch-enabled .speed-panel{display:none}#touch-controls{grid-template-columns:52px 180px 104px}.touch-abilities,.touch-throttle{grid-template-rows:repeat(2,48px)}#touch-controls .touch-steer button{height:102px}.touch-enabled .race-center{top:25%}}

@media(max-width:359px){#touch-controls{grid-template-columns:48px minmax(104px,1fr) 96px}.touch-abilities{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,48px)}.touch-steer{gap:0}#touch-controls .touch-steer button{border-radius:7px}.touch-enabled .race-bottom{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 172px)}}

/* Surface and driving-skill feedback sits beside the existing race instruments. */
.track-surface{font:14px/1.4 var(--body);margin:8px 0 0;color:#dce6dd;max-width:44ch}.driving-guide{border-top:1px solid var(--border);margin-top:22px;padding-top:10px}.driving-guide h3{font:700 24px var(--display);margin:8px 0}.driving-guide p{font:15px/1.5 var(--body);color:#b8c8ce}
.driving-hud{position:absolute;bottom:calc(100% + 10px);left:0;width:220px;display:flex;flex-wrap:wrap;gap:6px 10px;background:#08151ee6;border-left:2px solid var(--cyan);padding:9px 12px;font:12px/1.35 var(--mono);color:#d5e2e4}.surface-status{flex-basis:100%;color:#a9bec3}.draft-status{color:#81ece6}.chain-status{color:var(--acid)}.driving-reward{flex-basis:100%;font:700 17px/1.1 var(--display);color:var(--acid)}
.touch-enabled .driving-hud{width:210px;padding:6px 9px;gap:4px 8px}.touch-enabled .driving-reward{font-size:16px}
@media(max-width:650px){.driving-hud{width:195px}.track-surface{font-size:14px}}
@media(max-height:500px){.touch-enabled .driving-hud{left:auto;right:0;bottom:auto;top:calc(100% + 6px);width:190px}.touch-enabled .driving-hud .surface-status{font-size:12px}}
@media(max-height:340px){.touch-enabled .driving-hud{width:190px}.touch-enabled .driving-hud .surface-status{display:none}}

/* Milestone 0.92: warnings share the driving HUD on every screen size. */
.track-features{color:#d7c8ac;font-size:11px;line-height:1.55;max-width:600px;margin:5px 0 9px}.hazard-status{color:#ffc27b;letter-spacing:.06em;font-size:10px}.driving-hud{max-width:min(560px,80vw)}
@media(max-width:700px),(max-height:500px){.track-features{font-size:9px;max-width:340px}.hazard-status{font-size:8px;letter-spacing:0}.driving-hud{max-width:65vw}}

.route-briefing{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.route-briefing>div{padding:12px 15px;border:1px solid #42505b;border-left:3px solid #74d6c2;background:#111d26}.route-briefing b{display:block;font:700 18px var(--display);color:#8ee5cb}.route-briefing span,.route-briefing p{font:14px/1.45 var(--body);color:#b9c9ce}.route-briefing .route-combat{border-left-color:#ffbb73}.route-combat b{color:#ffbb73}.route-briefing .route-speed{border-left-color:#c197ff}.route-speed b{color:#c197ff}.route-briefing p{grid-column:1/-1;margin:0}@media(max-width:650px){.route-briefing{grid-template-columns:1fr;gap:6px}.route-briefing>div{padding:8px 12px}.route-briefing b{font-size:17px}}

.boss-briefing{margin-top:16px;padding:18px 22px;background:#211e1a;border-left:3px solid #ffbb73}.boss-briefing b{font-size:16px;color:#ffcf94}.boss-briefing p{font-size:16px;line-height:1.55;margin:8px 0 0;color:#d3dadd}.boss-status{position:absolute;top:100px;left:24px;width:min(430px,calc(100% - 48px));padding:10px 14px;background:#08131eed;border-left:3px solid #ff9273;pointer-events:none}.boss-status>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:14px}.boss-status b{color:#ffbb8a}.boss-status span{color:#d6e4e7;font-size:12px}.boss-status .bar{height:4px;margin:7px 0}.boss-status small{display:block;color:#d9e7ed;font:14px var(--mono);line-height:1.3}@media(max-width:600px),(max-height:500px){.boss-status{top:78px;left:12px;width:min(360px,calc(100% - 24px));padding:7px 10px}.boss-status small{font-size:12px}.boss-status>div:first-child{font-size:13px}}
.boss-rematches{display:grid;gap:8px;margin-top:24px}.boss-rematches button{text-align:left}

.build-refund{border:1px solid #638473;padding:14px 18px;color:#cbe8d5;font-size:14px;line-height:1.5;background:#18251e}.build-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.build-heading h3{font:700 18px var(--display);margin:0}.build-heading>b{color:var(--acid);font:14px var(--mono);white-space:nowrap}.build-note{color:#aab9c0;font-size:14px;line-height:1.5;margin:10px 0 14px}.build-name{font-size:14px;color:#b9e6e4;border-left:2px solid var(--cyan);padding-left:10px}.car-build-nodes{display:grid;gap:9px}.build-node{display:flex;flex-direction:column;gap:7px;align-items:flex-start;width:100%;text-align:left;background:#101920;border:1px solid #33444b;padding:14px;border-radius:3px}.build-node.active{border-color:var(--cyan);background:#142b2b}.build-node.active:disabled{opacity:1}.build-node>b{font-size:16px}.build-tier{font:12px var(--mono);color:#95b2bc}.build-effect{font-size:14px;line-height:1.4;color:#bed0d6}.build-node>strong{font:14px var(--mono);color:var(--acid);margin-top:3px}.gear-build{border:1px solid #3b4e55;background:#101a22;padding:16px;margin:0 0 18px}.gear-branches{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.gear-build>.build-node{border-color:#796a47}.build-base{width:100%;text-align:left;background:#18252d;border:1px solid #364852;padding:10px;color:#c4d5dc;font:14px var(--mono)}.build-base:disabled{opacity:.8}.car-build{margin-top:20px}@media(max-width:1200px){.gear-branches{grid-template-columns:1fr}}
.build-summary{font-size:14px;line-height:1.6;color:#b5d3d6;background:#122126;border-left:2px solid var(--cyan);padding:12px 16px;overflow-wrap:anywhere}.build-summary b{color:var(--cyan);margin-right:12px}
/* Audio mixer */
.audio-settings-button{flex-shrink:0;min-height:38px;padding:0 10px;color:var(--muted);border:1px solid var(--line);border-radius:5px;background:transparent;font:600 11px var(--font-body);cursor:pointer}.audio-settings-button:hover,.audio-settings-button:focus-visible{color:var(--acid);border-color:var(--acid)}
.audio-settings{max-width:560px}.audio-sliders{display:grid;gap:20px;margin:26px 0}.audio-sliders label{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:14px}.audio-sliders output{color:var(--acid);font-variant-numeric:tabular-nums}.audio-sliders input{grid-column:1/-1;width:100%;height:28px;accent-color:var(--acid);cursor:pointer}.audio-settings details{font-size:12px;color:var(--muted);line-height:1.6}.audio-settings summary{cursor:pointer;min-height:35px}.audio-settings a{color:var(--acid)}.audio-settings .audio-note{font-size:12px;line-height:1.6}.audio-settings details p{font-size:12px}.audio-settings-button:focus-visible,.audio-sliders input:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
@media(max-width:600px){.audio-settings-button{padding:0 7px;min-height:38px}.audio-settings .modal-actions{position:sticky;bottom:0;background:var(--panel,#141b22);padding-top:12px}}
/* Stock-series track records */
.record-season{color:var(--acid);font:600 13px var(--mono)}.record-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin:20px 0;border:1px solid #3d4d43;border-left:3px solid var(--acid);background:#141e20}.record-invite b{display:block;font-size:19px}.record-invite span{display:block;margin-top:6px;color:var(--muted);font-size:14px}.records-controls{display:flex;align-items:end;gap:20px;margin:0 0 24px;flex-wrap:wrap}.records-controls label{flex:1;min-width:190px;margin:0}.records-controls .mode-switch{height:46px}.records-controls select,.record-entry select,.record-entry input{min-height:46px;font-size:16px}.records-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.records-board{padding:26px;min-width:0}.records-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.records-heading h2{font:700 32px var(--display);margin:10px 0 20px}.record-personal{background:#1d2a29;border:1px solid #3f594d;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:18px;margin-bottom:22px}.record-personal>span{font:600 13px var(--mono);color:var(--acid)}.record-personal>strong{font:600 25px var(--mono)}.record-personal small{color:var(--muted);font-size:14px}.records-scroll{overflow-x:auto}.records-table{width:100%;border-collapse:collapse;white-space:nowrap}.records-table th{text-align:left;color:var(--muted);font:500 13px var(--mono);text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--border)}.records-table td{font-size:16px;padding:17px 12px;border-bottom:1px solid var(--border)}.records-table td:first-child{font:600 17px var(--mono);color:var(--acid)}.records-table td:last-child,.records-table th:last-child{text-align:right}.records-table small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.records-table .record-time{font:600 20px var(--mono);font-variant-numeric:tabular-nums}.record-you{background:#d9f4470b}.record-you strong{color:var(--acid)}.records-pagination{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:20px;color:var(--muted);font-size:13px}.records-pagination>div{display:flex;gap:8px}.records-empty{padding:46px 24px;text-align:center;color:var(--muted)}.records-empty h3{font-size:22px;color:var(--text);margin:0 0 14px}.record-entry{padding:24px}.record-entry>canvas{width:100%;height:170px;margin-bottom:22px;border:1px solid var(--border)}.record-entry h2{font:700 30px var(--display);margin:10px 0 24px}.record-entry .field-label{margin:18px 0}.record-entry .launch-button{width:100%;font-size:17px}.record-note,.record-entry details p{font-size:14px;line-height:1.6;color:var(--muted)}.record-entry details{padding-top:12px;border-top:1px solid var(--border)}.record-entry summary{cursor:pointer;min-height:40px;font-size:14px}.record-error{color:#ffb190;font-size:14px;line-height:1.5}.record-accepted{margin:20px 0;padding:20px;background:#1d2a29;border-left:3px solid var(--acid)}.record-accepted>b{display:block;color:var(--acid);font:600 13px var(--mono)}.record-accepted>strong{display:block;font:600 36px var(--mono);margin:10px 0}.record-accepted>span{font-size:16px}.record-accepted p{font-size:14px}.record-race-banner{position:absolute;top:115px;left:24px;color:var(--acid);background:#0b131de6;border-left:3px solid var(--acid);padding:10px 13px;font:600 13px var(--mono)}.record-active .leaderboard,.record-active .weapon-hud{display:none}.record-active [data-key="Space"],.record-active [data-key="KeyE"],.record-active [data-key="KeyQ"],.record-active [data-key="KeyR"]{display:none!important}
@media(max-width:1100px){.topbar{flex-wrap:wrap}.topbar nav{order:5;flex-basis:100%;overflow-x:auto;justify-content:flex-start}.records-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.records-board{padding:18px}.records-table td{padding:14px 8px}.records-table .record-time{font-size:17px}}
@media(max-width:760px){.records-layout{grid-template-columns:1fr}.record-entry{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.record-entry>canvas{display:none}.record-entry>h2,.record-entry>.eyebrow,.record-entry>p,.record-entry>button,.record-entry>details{grid-column:1/-1}.record-entry h2{margin-bottom:0}.records-controls{gap:12px}.records-controls .mode-switch{width:100%}.record-invite{align-items:stretch;flex-direction:column}.records-heading h2{font-size:28px}.record-personal{gap:10px}.record-personal strong{font-size:21px}.record-race-banner{top:88px;left:12px;max-width:calc(100% - 24px);font-size:11px}.records-pagination{flex-wrap:wrap}.record-season{display:none}}
@media(max-width:400px){.record-entry{grid-template-columns:1fr}.records-board{padding:12px}.records-table td{font-size:14px;padding:12px 6px}.records-table .record-time{font-size:16px}}

@media(max-width:1400px){.topbar{height:auto;min-height:90px;flex-wrap:wrap;padding-top:14px}.topbar nav{order:5;flex-basis:100%;height:48px;overflow-x:auto;justify-content:flex-start;flex-shrink:0}.topbar .nav-btn{flex-shrink:0}}
.record-active .touch-abilities{grid-template-columns:repeat(2,minmax(60px,1fr));max-width:210px}

/* Class identity is readable without covering the garage sprite. */
.garage-label .vehicle-signature{color:#8bb9c4;font-size:14px;margin-top:7px;line-height:1.3}
@media(max-width:600px){.garage-label .vehicle-signature{max-width:100%;font-size:14px}.garage-hero{min-height:370px}}
