.objective-panel .supply-legend{display:flex;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid #ffffff20;font:8px Consolas,monospace;letter-spacing:.2px}.supply-legend .repair{color:#6effa5}.supply-legend .coolant{color:#6cdcff}.supply-legend .overdrive{color:#ffa759}#powerup-status{display:block;margin-top:6px;font:8px Consolas,monospace;color:#93aeba;letter-spacing:.3px}#powerup-status.boosted{color:#ffcb76}@media(max-width:760px),(pointer:coarse)and (max-width:1000px){.objective-panel .supply-legend{font-size:7px;gap:9px;margin-top:6px;padding-top:6px}#powerup-status{font-size:7px}}.camera-toggle{display:block;margin-top:12px;padding:7px 9px;border:1px solid #4b687a;background:#102335bc;color:#a1cbd5;font:8px Consolas,monospace;letter-spacing:1px;pointer-events:auto}main:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1924c9 0%,#0d19245c 23%,transparent 43%),linear-gradient(0deg,#0d192473,transparent 24%);pointer-events:none}:root{--bg:#101922;--panel:#111b26;--text:#eef2f0;--muted:#8599a8;--line:#ffffff19;--accent:#ef633f;--cyan:#82dce1;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(1.2)}[hidden]{display:none!important}#viewport{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none}header{height:88px;position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:45px;padding:0 38px;border-bottom:1px solid var(--line);background:linear-gradient(#0c1520f5,#101922aa);z-index:2}.brand{color:var(--text);font-size:29px;font-weight:950;font-style:italic;text-decoration:none;letter-spacing:-1.8px;white-space:nowrap}.brand b{color:var(--accent);font-weight:950;margin:0 2px}nav{display:flex;height:100%;gap:6px}nav button{padding:0 20px;background:none;letter-spacing:1.3px;font:10px Consolas,monospace;color:#738593;border-bottom:2px solid transparent}nav button span{font-family:Segoe UI,sans-serif;font-size:11px;font-weight:700;margin-left:9px;color:#b1bdc6}nav button.active{border-color:var(--accent);background:linear-gradient(transparent,#ef633f12);color:var(--accent)}nav button.active span{color:#fff}.build{margin-left:auto;font:10px Consolas,monospace;letter-spacing:1px;color:#a2b9c0;white-space:nowrap}.build i{display:inline-block;border-radius:50%;width:5px;height:5px;background:var(--cyan);margin-right:7px;box-shadow:0 0 8px #82dce155}.build small{display:block;color:#576f82;font-size:9px;text-align:right;margin-top:7px;letter-spacing:1.6px}main{position:absolute;inset:88px 0 39px;pointer-events:none}.vehicle-info{position:absolute;top:36px;left:40px;width:275px;pointer-events:auto}.eyebrow{font:10px Consolas,monospace;letter-spacing:1.1px;color:#b3c0c9;display:flex;gap:10px;align-items:center}.orange{color:var(--accent)}#vehicle-number{margin-left:auto;color:#69818f}#faction{margin-top:37px;font:10px Consolas,monospace;letter-spacing:3px;color:var(--accent)}h1{font-size:65px;font-weight:900;line-height:1.1;letter-spacing:-2.8px;margin:6px 0 3px}#vehicle-role{font-size:10px;letter-spacing:4px;color:#a8bac4}.tagline{font-size:19px;line-height:1.4;margin:28px 0 9px;font-weight:600}#vehicle-description{font-size:12px;line-height:1.75;color:#92a6b5;margin:0 0 24px;max-width:265px}#stats{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:12px}.stat{display:grid;grid-template-columns:82px 1fr 24px;gap:12px;align-items:center;font:9px Consolas,monospace;letter-spacing:1px;color:#b5c3cb}.stat .bar{height:5px;background:repeating-linear-gradient(90deg,#263540 0,#263540 12px,transparent 12px,transparent 15px);position:relative}.stat .bar i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--accent) 0,var(--accent) 12px,transparent 12px,transparent 15px)}.stat b{font-size:10px;color:#a1b1be;font-weight:400}.loadout{margin:24px 0 21px;border-left:2px solid #526876;padding-left:11px}.loadout>span{font:8px Consolas,monospace;color:#697f90;letter-spacing:1.6px}.loadout>div{font:9px Consolas,monospace;letter-spacing:.5px;margin-top:7px;color:#b3c3cc}.loadout b{color:#60788b;font-weight:400}.primary{width:100%;background:var(--accent);color:#111a22;height:47px;text-align:left;padding:0 18px;font-size:11px;font-weight:850;letter-spacing:.6px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}.primary span{float:right;font-size:21px;line-height:16px}.deploy-note{font:8px Consolas,monospace;margin-top:10px;letter-spacing:1px;color:#95a9b7}.deploy-note span{float:right;color:#516d81}.viewer-tools{position:absolute;right:36px;top:40px;text-align:right;pointer-events:auto}.plate{font:8px Consolas,monospace;letter-spacing:1.5px;color:#647f90;margin-bottom:35px}.plate b{display:block;font-size:10px;color:#9cb4c0;font-weight:400;margin-top:8px}.viewer-tools button{display:block;margin:12px 0 0 auto;width:155px;text-align:left;padding:11px;background:#111c25bb;border:1px solid #ffffff12;color:#a9c0cb;font-size:18px}.viewer-tools button span{font:8px Consolas,monospace;letter-spacing:.8px;margin-left:8px;vertical-align:middle}.viewer-tools button.active{border-color:#ef633f77;color:var(--accent)}.swatches{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:25px}.swatches span{font:8px Consolas,monospace;color:#6b8597;letter-spacing:1px;margin-right:5px}.swatches i{height:14px;width:14px;background:#e6e5da;border:1px solid #ffffff33;transform:skew(-10deg)}.swatches .steel-swatch{background:#33404c}.orbit-hint{position:absolute;left:50%;bottom:175px;transform:translate(-35%);display:flex;gap:23px;white-space:nowrap;font:8px Consolas,monospace;letter-spacing:1.3px;color:#78909f}.orbit-hint b{font-weight:400;color:#8ca5af}.roster-section{position:absolute;bottom:18px;left:38px;right:38px;pointer-events:auto}.roster-heading{display:flex;justify-content:space-between;align-items:center;font:9px Consolas,monospace;letter-spacing:1.8px;color:#a5b7c1;margin-bottom:14px}.roster-heading>span+span{color:#5e788b;font-size:8px}.roster-heading b{color:var(--accent);padding:0 8px}#roster{display:grid;grid-template-columns:repeat(12,minmax(65px,1fr));gap:7px}.vehicle-card{height:101px;position:relative;overflow:hidden;background:linear-gradient(145deg,#2635439a,#15212dcc);border:1px solid #4a607133;text-align:left;padding:9px 10px;transition:background .15s,border-color .15s}.vehicle-card:after{content:"";position:absolute;bottom:0;left:0;width:16px;height:2px;background:#607a8c}.vehicle-card.active{border-color:#ee684b;background:linear-gradient(130deg,#6a392c80,#202733dc)}.vehicle-card.active:after{width:100%;background:var(--accent)}.vehicle-card .index{font:8px Consolas,monospace;color:#617f93}.vehicle-card.active .index{color:var(--accent)}.vehicle-card svg{width:100%;height:42px;display:block;opacity:.8}.vehicle-card b{font-size:9px;letter-spacing:.7px;display:block}.vehicle-card small{font:6px Consolas,monospace;color:#718e9f;display:block;margin-top:4px;white-space:nowrap}footer{height:39px;position:absolute;inset:auto 0 0;display:flex;align-items:center;padding:0 38px;gap:20px;border-top:1px solid var(--line);background:#0b141eee;font:8px Consolas,monospace;letter-spacing:1.2px;color:#6c8597}footer>div:first-child{font-weight:700;color:#c3cdd1}footer>div:first-child span{font-weight:400;color:#4f687b;margin-left:20px}#performance{margin-left:auto;color:#7da2ac;letter-spacing:.3px}footer button{font:8px Consolas,monospace;letter-spacing:.6px;background:none;color:#829baa;padding:7px;border-left:1px solid var(--line)}#loading{position:fixed;inset:0;z-index:20;background:#101922;display:flex;align-items:center;justify-content:center;flex-direction:column}#loading .brand{font-size:55px}#loading p{font:10px Consolas,monospace;letter-spacing:4px;color:#6f9aa7;margin-top:25px}.blink{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}dialog{background:#14222ef5;color:var(--text);border:1px solid #4f677a;padding:34px;width:min(470px,calc(100vw - 30px));box-shadow:0 30px 100px #0009}dialog::backdrop{background:#040c16c9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog h2{font-size:33px;letter-spacing:-1px;margin:22px 0 12px}dialog p{color:#92a8b8;font-size:12px;line-height:1.8}dialog label{display:block;font:9px Consolas,monospace;letter-spacing:1px;margin:22px 0;color:#c3d3dc}dialog label span{float:right;color:#5e7a8e;font-size:8px}dialog input{display:block;margin-top:9px;width:100%;padding:13px;border:1px solid #395166;background:#0c1824;color:#edf4f4;outline:none}dialog input:focus{border-color:var(--cyan)}.close{position:absolute;right:17px;top:13px;font-size:26px;background:none;color:#7f98aa}#connection-status{font:9px Consolas,monospace;margin-top:19px}#drive-ui{position:absolute;inset:88px 0 39px;pointer-events:none}.match-heading{position:absolute;left:38px;top:30px}.match-heading h2{font-size:29px;margin:9px 0 7px;letter-spacing:-1px}#room-status{font:9px Consolas,monospace;letter-spacing:1px;color:var(--cyan)}.race-info{display:flex;gap:38px;position:absolute;right:40px;top:30px}.race-info>div{text-align:right}.race-info small{display:block;font:9px Consolas,monospace;letter-spacing:1.5px;color:#91a9b8}.race-info b{display:block;font-size:30px;font-weight:700;margin-top:5px}.race-info em{font-size:16px;font-style:normal;color:#607f91}.race-bottom{position:absolute;bottom:27px;left:38px;right:38px;display:flex;align-items:flex-end;gap:35px}.telemetry{width:205px;background:#0e1925b0;padding:17px;border-left:2px solid var(--cyan)}.speed{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.speed>b{font-size:57px;line-height:.9;font-style:italic;letter-spacing:-3px;font-variant-numeric:tabular-nums}.speed>span{font:9px Consolas,monospace;color:#65879a}.meter-label{font:8px Consolas,monospace;margin:11px 0 5px;letter-spacing:1px;color:#94aeba}.meter-label b{float:right;color:#d4e5e7;font-weight:400}.meter{height:3px;background:#2e414f}.meter i{display:block;background:var(--cyan);width:100%;height:100%}.meter.hot i{background:var(--accent);width:0}.meter.boost i{background:#d2af69}.routing{flex:1;text-align:center}.routing>small{font:8px Consolas,monospace;letter-spacing:3px;color:#a2b8c5}.routing p{font:8px Consolas,monospace;color:#9cb3bd;line-height:2;margin:15px 0 0}kbd{font:8px Consolas,monospace;color:#d0e0e7;padding:4px 5px;background:#223541;margin:0 5px 0 9px}#route-buttons{display:flex;justify-content:center;gap:5px;margin-top:12px;pointer-events:auto}#route-buttons button{padding:10px 9px 10px 0;font:8px Consolas,monospace;letter-spacing:.4px;background:#152633d9;border-bottom:2px solid #395364;color:#9aafbb}#route-buttons button.active{color:#f1b278;border-color:var(--accent)}.map-wrap{border:1px solid #ffffff1c;background:#101e2ae0;padding:10px 10px 7px}.map-wrap span{display:block;font:7px Consolas,monospace;letter-spacing:1.2px;text-align:center;color:#6f8fa3}#minimap{width:200px;height:150px;display:block}#race-message{position:absolute;top:21%;left:50%;transform:translate(-50%);font:12px Consolas,monospace;letter-spacing:2px;color:#edc681;text-shadow:0 2px 8px #000}.photo header,.photo main,.photo footer{display:none}#exit-photo{position:fixed;right:30px;bottom:30px;background:#142632d9;border:1px solid #8aafbc;padding:15px;font:10px Consolas,monospace}#results{margin:20px 0}.result-row{display:grid;grid-template-columns:30px 1fr 60px 40px;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font:11px Consolas,monospace}.result-row em{font-style:normal;color:#e7996c}.touch-controls{display:none}#results-dialog{max-height:90vh;overflow:auto}@media(max-height:900px){header{height:70px}main,#drive-ui{top:70px}.vehicle-info{top:25px;width:255px}#faction{margin-top:25px}h1{font-size:55px}.tagline{margin-top:20px}#vehicle-description{font-size:11px;margin-bottom:17px}.loadout{margin:18px 0}#stats{gap:9px;padding-top:15px}.vehicle-card{height:91px}.roster-section{bottom:12px}.orbit-hint{bottom:151px}.viewer-tools{top:27px}#vehicle-description{line-height:1.65}}@media(max-width:1150px){header{gap:18px;padding:0 24px}.brand{font-size:25px}nav button{padding:0 10px}.build{font-size:8px}.vehicle-info{left:25px;width:225px}.viewer-tools{right:25px}.viewer-tools button{width:40px;text-align:center;padding:8px}.viewer-tools button span{display:none}.plate{max-width:115px;line-height:1.7}.roster-section{left:24px;right:24px}#roster{gap:4px}.vehicle-card{padding:8px 6px}.vehicle-card b{font-size:8px}.vehicle-card small{font-size:5px}.orbit-hint b{display:none}footer{padding:0 24px;gap:10px}footer>div:first-child span{display:none}.routing p,#route-buttons button{font-size:7px}.race-bottom{gap:15px}.map-wrap{display:none}}@media(max-width:760px),(pointer:coarse)and (max-width:1000px){header{height:61px;padding:0 17px;gap:10px}.brand{font-size:22px}nav{margin-left:auto}nav button{padding:0 6px;font-size:0}nav button span{font-size:8px;margin:0;letter-spacing:.6px}.build{display:none}main,#drive-ui{top:61px;bottom:33px}.vehicle-info{top:20px;left:20px;width:185px;pointer-events:none}.eyebrow{font-size:7px}#faction{font-size:8px;margin-top:21px}h1{font-size:43px}#vehicle-role{font-size:7px;letter-spacing:2px}.tagline{font-size:13px;margin-top:13px}#vehicle-description,#stats,.loadout,.deploy-note{display:none}.vehicle-info .primary{pointer-events:auto;position:fixed;left:20px;bottom:199px;width:215px;height:38px;font-size:9px}.viewer-tools{right:17px;top:18px}.plate,.swatches{display:none}.viewer-tools button{margin-top:8px;width:34px;height:34px;font-size:15px}.roster-section{left:17px;right:17px;bottom:12px}#roster{display:flex;overflow-x:auto;gap:6px;padding-bottom:8px;scroll-snap-type:x mandatory}.vehicle-card{min-width:86px;height:96px;scroll-snap-align:start}.vehicle-card b{font-size:9px}.vehicle-card small{font-size:6px}.roster-heading{font-size:8px;margin-bottom:10px}.roster-heading>span+span{font-size:6px}.orbit-hint{bottom:161px;left:auto;right:19px;transform:none;font-size:6px;display:grid;gap:6px}footer{height:33px;padding:0 16px;gap:9px}footer>div:first-child{display:none}#performance{font-size:7px;margin-left:0;margin-right:auto}footer button{font-size:7px;padding:3px 7px}.match-heading{top:18px;left:20px}.match-heading h2{font-size:20px}.race-info{right:20px;top:18px;gap:15px}.race-info small{font-size:7px}.race-info b{font-size:22px}.race-info em{font-size:11px}.race-bottom{bottom:80px;left:17px;right:17px;gap:15px}.telemetry{width:155px;padding:10px}.speed>b{font-size:38px}.routing{align-self:flex-end}.routing p{display:none}.routing>small{font-size:6px}.routing kbd{display:none}#route-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px}#route-buttons button{padding:9px 5px;font-size:6px}.touch-controls{display:flex;position:absolute;bottom:16px;left:17px;right:17px;gap:6px;pointer-events:auto}.touch-controls button{flex:1;padding:14px 4px;background:#18303edf;border:1px solid #506c79;font:9px Consolas,monospace;touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls button.pressed{background:#754e34}#race-message{top:26%;font-size:9px;white-space:nowrap}}.mode-launch{display:block;width:100%;margin:21px 0 13px;padding:12px 13px;background:#142835e8;border:1px solid #456572;text-align:left;pointer-events:auto}.mode-launch small{display:block;font:8px Consolas,monospace;letter-spacing:1px;color:#91bac6}.mode-launch b{display:block;font-size:13px;letter-spacing:1px;margin:6px 0 3px}.mode-launch>span{font:9px Consolas,monospace;color:#dfb67d}.deploy-note #deploy-map{float:none;color:#95a9b7}#mode-dialog{width:min(940px,calc(100vw - 30px));max-height:90vh;overflow:auto}#mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.mode-card{text-align:left;padding:18px;background:#10202e;border:1px solid #36505f;min-height:156px}.mode-card.active{border-color:#ef633f;background:#372c2c}.mode-card small{font:9px Consolas,monospace;color:#efb87f;letter-spacing:1px}.mode-card b{display:block;margin:8px 0;font-size:17px}.mode-card p{font-size:11px;margin:0;line-height:1.6}.mode-card em{display:block;font:8px Consolas,monospace;color:#7fabbb;margin-top:9px;font-style:normal}dialog select{display:block;margin-top:9px;width:100%;padding:12px;border:1px solid #395166;background:#0c1824;color:#edf4f4;font:12px Segoe UI,sans-serif}.objective-panel{width:290px;margin-top:12px;padding:12px;background:#0c1924dc;border-left:2px solid #87dce2}.objective-panel b{font:10px Consolas,monospace;letter-spacing:1px;color:#f6c483}.objective-panel p{font-size:11px;color:#bacad3;line-height:1.6;margin:7px 0}.objective-panel>div{font:11px Consolas,monospace;color:#8ce5e6;line-height:1.6}.result-row{grid-template-columns:25px 1fr 65px 80px}.result-row.winner{color:#f6c483}#race-message{text-align:center;max-width:62%;white-space:normal;line-height:1.5}.team-blue{color:#6acbff}.team-orange{color:#ffab63}@media(max-height:900px)and (min-width:761px){.mode-launch{margin:12px 0 10px;padding:9px}.vehicle-info .tagline{margin-top:15px}#vehicle-description{margin-bottom:12px}.vehicle-info{top:20px}#faction{margin-top:17px}.objective-panel{width:260px;padding:9px}}@media(max-width:760px),(pointer:coarse)and (max-width:1000px){.mode-launch{position:fixed;left:20px;bottom:244px;width:215px;padding:9px 12px;margin:0}.mode-launch small{font-size:7px}.mode-launch b{font-size:11px;margin:4px 0}.mode-launch>span{font-size:8px}#mode-grid{grid-template-columns:1fr}.mode-card{min-height:120px}#mode-dialog{padding:24px}.objective-panel{position:fixed;left:20px;right:20px;top:183px;width:auto;padding:8px 10px}.objective-panel b{font-size:8px}.objective-panel p{font-size:9px;line-height:1.4;margin:4px 0}.objective-panel>div{font-size:9px}.match-heading h2{font-size:17px;max-width:160px}.race-info{gap:12px;right:16px}.race-info small{letter-spacing:.4px;font-size:6px}.race-info b{font-size:19px}#race-message{top:32%;font-size:9px;max-width:90%;width:90%;white-space:normal}.camera-toggle{margin-top:7px;padding:5px;font-size:7px}#online-dialog{max-height:91vh;overflow:auto}}@media(pointer:coarse)and (max-width:1000px)and (max-height:520px){.vehicle-info{width:150px}h1{font-size:30px;letter-spacing:-1px}#faction{margin-top:8px}.tagline{display:none}.mode-launch{position:fixed;inset:72px 64px auto auto;width:200px}.vehicle-info .primary{position:fixed;inset:150px 64px auto auto;width:200px}.roster-section{bottom:6px}.roster-heading{margin-bottom:6px}.vehicle-card{height:68px;min-width:70px}.vehicle-card svg{height:26px}.orbit-hint,.objective-panel{display:none}.race-bottom{bottom:62px}.telemetry{padding:6px}.speed>b{font-size:28px}.touch-controls{bottom:6px}.touch-controls button{padding:9px 4px}}
