:root{color-scheme:dark;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#fff;background:#181818;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,select,input{touch-action:manipulation}button,select{font:inherit}button,a{transition:background .15s,color .15s}button{cursor:pointer;color:#fff;border:1px solid #ffffff30;background:#202222;padding:14px 22px}button:hover{background:#414343}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #ffd376;outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{color:#ffd376}[hidden]{display:none!important}#stage,#stage canvas,.screen,#hud{position:fixed;inset:0;width:100%;height:100%}#stage canvas{display:block}.screen{background:linear-gradient(90deg,#101516ed 0%,#101516b3 28%,#10151618 67%);display:flex;flex-direction:column;justify-content:space-between;padding:32px 4vw}nav{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:1.5px;color:#d5d2c9}nav a{font-size:14px;letter-spacing:0}.intro{max-width:660px;padding:24px 0}.eyebrow{font-size:12px;letter-spacing:3px;color:#edb971;margin:0 0 24px}h1{font-size:clamp(48px,6.2vw,90px);font-weight:600;letter-spacing:3px;line-height:1.08;margin:0 0 26px}h1 span{display:block;font-size:clamp(17px,2vw,25px);font-weight:400;letter-spacing:3px;margin-top:20px}.summary{font-size:14px;line-height:1.9;color:#d2d2cd}.trackFacts{display:flex;gap:36px;margin:30px 0}.trackFacts div{padding-left:15px;border-left:2px solid #ffffff40}.trackFacts b{display:block;font-size:30px;font-weight:500}.trackFacts small{display:block;font-size:11px;color:#b2b3ae;letter-spacing:1px;margin-top:5px}.primary{background:#c73425;border-color:#c73425;min-width:230px;text-align:left;font-weight:600}.primary span{float:right}.primary:hover{background:#e04736}.hint{font-size:11px;color:#a4a5a0;margin-top:14px}footer{display:flex;gap:12px;justify-content:space-between;font-size:11px;color:#dddcd3;border-top:1px solid #ffffff25;padding-top:18px;line-height:1.8}#hud{pointer-events:none;text-shadow:0 2px 5px #0008}.topbar{position:absolute;left:32px;right:32px;top:24px;display:flex;align-items:start;gap:26px}.position{border-left:4px solid #cf3b26;padding-left:15px;min-width:100px}.position small{display:block;font-size:10px;letter-spacing:2px}.position strong{display:block;font-size:58px;font-weight:500;line-height:1}.position strong span{font-size:20px;color:#deded3;margin-left:8px}.raceMeta{display:flex;flex-direction:column;gap:8px;font-size:12px;padding-top:2px}.raceMeta span{font-size:11px;letter-spacing:2px}.raceMeta b{font-size:17px;font-weight:500}.raceMeta time{font-variant-numeric:tabular-nums;color:#e5d8be}#pauseButton{margin-left:auto;pointer-events:auto;background:#161b1bc9;padding:12px 18px}#center{position:absolute;top:26%;left:15%;right:15%;text-align:center}#countdown{font-size:100px;font-weight:500;font-variant-numeric:tabular-nums}#notice{font-size:16px;color:#ffe0a3;letter-spacing:2px;margin-top:8px}#reticle{position:absolute;top:50%;left:50%;width:26px;height:26px;border:1px solid #ffffffa0;transform:translate(-50%,-50%);border-radius:50%}#reticle i{position:absolute;top:11px;left:11px;width:3px;height:3px;background:#fff}#damage{position:absolute;inset:0;box-shadow:inset 0 0 120px #ed452299;opacity:0;transition:opacity .1s}.bottomHud{position:absolute;bottom:28px;left:32px;right:32px;display:flex;align-items:end;justify-content:space-between;gap:20px}.mapPanel{width:175px;background:#151c1bd9;padding:8px 12px;border-left:2px solid #ffffff70}.mapPanel svg{width:100%;height:150px;display:block}.mapPanel span{font-size:9px;letter-spacing:1px;color:#c3c4b8}.mapPanel path{fill:none;stroke:#939b96;stroke-width:7;stroke-linejoin:round}#mapShortcut{stroke:#d4a865;stroke-width:3}.itemPanel{background:#151c1bdd;border-top:2px solid #e9b65f;padding:14px 24px;min-width:210px;text-align:center}.itemPanel small{display:block;font-size:9px;letter-spacing:2px;color:#d6cbb4}.itemPanel b{display:block;font-size:22px;font-weight:500;letter-spacing:2px;margin:9px 0}.itemPanel span{font-size:10px;color:#d0d3cb}#status{font-size:11px;color:#80dfcd;min-height:14px;margin-top:6px}.speedPanel{text-align:right;min-width:155px}.speedPanel strong{font-size:70px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}.speedPanel>span{font-size:11px;color:#ded8cb;margin-left:8px}.speedBar{width:100%;height:3px;background:#ffffff40;margin:10px 0 12px}.speedBar i{display:block;height:100%;width:0;background:#eabd64}.speedPanel small{font-size:11px;color:#e1dbce}.modal{position:fixed;inset:0;background:#0b1213b8;display:grid;place-items:center;z-index:10;padding:20px;backdrop-filter:blur(5px)}.panel{width:min(440px,100%);max-height:95vh;overflow:auto;background:#181d1d;border-top:3px solid #c73425;padding:32px;box-shadow:0 24px 80px #0006}.panel h2{font-size:32px;font-weight:500;margin:0 0 12px}.panel p{font-size:13px;color:#bfc3bc;line-height:1.7}.panel .eyebrow{font-size:10px;color:#e3b467}.panel label{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-size:14px}.panel select{padding:6px 10px;background:#252b2a;border:1px solid #64655f}.panel input{accent-color:#c73425;width:18px;height:18px}.panel button,.panel>a{display:block;width:100%;margin-top:12px}.panel>a{text-align:center;padding:12px;font-size:13px;color:#bec4bc}.resultPanel ol{padding-left:25px}.resultPanel li{padding:10px 3px;border-bottom:1px solid #ffffff15;font-size:14px}.resultPanel li span{float:right;color:#bfc3bc;font-variant-numeric:tabular-nums}.resultPanel li.player{color:#ffc477}@media(max-height:650px){.screen{padding-top:20px;padding-bottom:18px}.eyebrow{margin-bottom:15px}h1{font-size:48px;margin-bottom:15px}.trackFacts{margin:18px 0}.summary{margin:6px 0}footer{font-size:10px}.mapPanel{width:130px}.mapPanel svg{height:100px}.bottomHud{bottom:16px}.intro{padding:10px 0}}@media(max-width:700px){nav span:nth-child(2){display:none}.intro{max-width:90%}.summary{font-size:12px}footer{display:block}footer span{display:block}.trackFacts{gap:22px}.topbar{left:16px;right:16px}.bottomHud{left:16px;right:16px;gap:8px}.mapPanel{width:90px;padding:5px}.mapPanel svg{height:85px}.mapPanel span{display:none}.itemPanel{min-width:150px;padding:10px}.itemPanel b{font-size:18px}.speedPanel{min-width:95px}.speedPanel strong{font-size:45px}.speedPanel>span{display:block}.speedPanel small{font-size:9px}.position strong{font-size:42px}.screen{background:linear-gradient(90deg,#101516ed,#10151655)}}

.itemSlots{display:flex;gap:6px;margin-top:9px}.itemSlots span{flex:1;border:1px solid #ffffff25;padding:5px 7px;font-size:10px;white-space:nowrap}.itemSlots .selected{border-color:#efc06a;background:#af87362a;color:#ffe3a1}.driftBar{height:3px;background:#ffffff18;margin-top:8px}.driftBar i{display:block;height:100%;background:#81e5dc;width:0}#aimReadout{color:#d3d7c8;font-size:10px}.itemPanel{min-width:250px}@media(max-width:700px){.itemPanel{min-width:170px;padding:8px}.itemSlots span{font-size:8px;padding:4px 2px}}

/* 房间界面 v6.48.0 */
.networkEntry{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;max-width:600px}.networkEntry label{font-size:12px;color:#d2d2cd}.networkEntry input{width:112px;background:#181d1de6;border:1px solid #ffffff40;padding:11px 9px;color:white;font:inherit;font-size:13px}.networkEntry button{padding:11px 14px;font-size:13px}#roomInput{text-transform:uppercase}.roomPanel{width:min(520px,100%)}#roomCode{color:#edb971;font-variant-numeric:tabular-nums;letter-spacing:3px}#roomMembers{list-style:none;padding:0;margin:24px 0}#roomMembers li{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff20;padding:12px 0;font-size:14px}#roomMembers span{color:#edb971;font-size:12px}.roomNote{font-size:11px!important}button:disabled{opacity:.4;cursor:default}#networkStatus{min-height:16px;max-width:560px}#lobby{overflow:auto}#netStatus{color:#edb971!important;letter-spacing:0!important}@media(max-height:700px){.networkEntry{margin-top:10px}.intro .trackFacts{margin:14px 0}.intro h1{font-size:46px}.intro .eyebrow{margin-bottom:12px}.intro h1 span{margin-top:10px}.intro .summary{font-size:12px}}

/* v6.48.0 / 军械库与比赛 HUD */
kbd{display:inline-grid;place-items:center;min-width:20px;padding:2px 5px;border:1px solid #ffffff35;border-bottom-width:2px;border-radius:3px;font:10px 'Segoe UI',sans-serif;color:#f6f4e8;background:#10181780}input{font:inherit}.screen{background:linear-gradient(90deg,#101717f5 0%,#101717d9 32%,#10171755 58%,#10171715 100%);padding:28px 4vw}.screen nav{align-items:center;flex-shrink:0}.modeTag{border-left:2px solid #cf493e;padding-left:14px}.intro{max-width:530px;flex-shrink:0}.intro h1{font-size:clamp(46px,5.8vw,80px);margin-bottom:20px}.intro h1 span{font-size:20px;letter-spacing:4px;margin-top:16px}.intro .eyebrow{margin-bottom:20px}.intro .summary{font-size:13px}.trackFacts{margin:24px 0;gap:36px}.trackFacts b{font-size:25px}.trackFacts small{font-size:10px}.driverIdentity{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px;margin:20px 0 16px}.driverIdentity>label,.roomCustomization>label{font-size:10px;color:#aab6ac;letter-spacing:2px}.driverIdentity>input,.roomCustomization>input{border:0;border-bottom:1px solid #ffffff40;background:#0b121233;color:#fff;padding:10px 4px;font-size:15px;outline:none}.driverIdentity>input:focus,.roomCustomization>input:focus{border-color:#edb971}.colorPicker{display:flex;gap:10px;grid-column:2;margin-top:4px}.colorPicker button{padding:0;width:23px;height:23px;min-width:0;border-radius:50%;background:var(--swatch);border:3px solid #101717;outline:1px solid #ffffff25;transition:transform .15s}.colorPicker button:hover{transform:translateY(-2px)}.colorPicker button[aria-pressed=true]{outline:2px solid #fff;box-shadow:0 0 0 4px #ffffff10}.playActions{display:flex;gap:10px}.playActions button{flex:1;min-width:0;font-size:14px;padding:16px 18px}.playActions button:not(.primary){background:#18221bd9;border-color:#adb5a43d;text-align:left}.playActions span{float:right}.joinLine{display:flex;align-items:center;border-bottom:1px solid #ffffff25;margin-top:10px;gap:8px}.joinLine input{width:145px;color:#e3e7dc;border:0;outline:none;background:transparent;padding:12px 4px;font-size:13px;letter-spacing:2px}.joinLine button{border:0;background:transparent;padding:10px;font-size:12px;color:#d8bf98}.hint{margin-top:10px;line-height:1.5}.previewBadge{position:absolute;right:9vw;bottom:18%;text-align:right;pointer-events:none}.previewBadge span{display:block;letter-spacing:3px;font-size:9px;color:#eac68e}.previewBadge b{display:block;font-size:28px;font-weight:500;margin:10px 0}.previewBadge small{font-size:10px;letter-spacing:2px;color:#d6d9d0}footer{flex-shrink:0}.textButton{border:0;background:none;padding:0;font-size:13px}.roomScreen{z-index:10;overflow:auto;background:linear-gradient(90deg,#101717f5,#101717cc 42%,#10171735 80%);backdrop-filter:none}.roomLayout{display:grid;grid-template-columns:minmax(360px,500px) 1fr;gap:8vw;align-items:center;flex:1;min-height:580px;padding:24px 0}.roomRoster .eyebrow{margin-bottom:16px}.roomHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.roomHeading h2{font-size:32px;white-space:nowrap;margin:0;font-weight:500}.roomHeading button{font-size:10px;padding:9px 12px;background:#ffffff0b;border-color:#ffffff25}#roomStatus{font-size:11px;color:#abbcad;min-height:16px;margin:15px 0}#roomMembers{margin:18px 0 22px}#roomMembers li{padding:10px 12px;margin-top:6px;background:linear-gradient(90deg,#ffffff0a,#ffffff02);border:1px solid #ffffff0b;align-items:center;gap:12px;min-height:48px}#roomMembers li>i{font-style:normal;font-size:11px;display:grid;place-items:center;flex:0 0 25px;height:25px;border-left:3px solid var(--paint);color:#d5d9ce;background:#ffffff08}#roomMembers li>b{font-weight:500;flex:1;font-size:13px}#roomMembers li>span{font-size:10px;color:#9daeaa}#roomMembers li.ready>span{color:#83d4b6}#roomMembers li.self{border-color:#ffffff35;background:#ffffff0c}.roomActions button{width:100%;font-size:14px;padding:16px 20px}.roomNote{font-size:10px;line-height:1.6;color:#8c9c93}.roomLoadout{align-self:stretch;padding:12px 0;display:flex;flex-direction:column;justify-content:space-between}.roomLoadout>.eyebrow{margin-bottom:10px}.roomLoadout>h2{font-weight:500;font-size:34px;letter-spacing:2px;margin:0 0 auto}.roomCustomization{display:grid;grid-template-columns:60px minmax(140px,240px);align-items:center;gap:12px;max-width:380px;background:#101717a8;padding:20px;border-left:2px solid #ffffff50;margin-top:220px}.roomCustomization p{grid-column:1/-1;font-size:10px;color:#b1bbb0;margin:2px 0}.roomCustomization .colorPicker{gap:12px}.roomCustomization .colorPicker button{width:24px;height:24px}.roomScreen footer{font-size:10px}#roomCount{font-variant-numeric:tabular-nums;color:#edb971;letter-spacing:3px}
.mapPanel{width:205px;background:transparent;border:0;padding:0;filter:drop-shadow(0 2px 2px #000a)}.mapPanel svg{height:177px}.mapHeading{display:flex;justify-content:space-between;font-size:9px;color:#e4e9dd;letter-spacing:2px;margin-bottom:4px}.mapHeading b{font-weight:400}.mapHeading span{display:block;font-size:10px}.mapPanel #mapOutline{stroke:#111d1bc9;stroke-width:15}.mapPanel #mapRoad{stroke:#e5e9db;stroke-width:5;opacity:.9}.mapPanel #mapShortcut{stroke:#f3c174;stroke-width:3;stroke-dasharray:7 5}.mapLegend{display:flex;gap:12px;justify-content:center}.mapLegend span{display:block;font-size:8px;color:#d7e0d3;letter-spacing:1px}#mapLandmarks text{fill:white;font-size:14px;stroke:none;paint-order:stroke;stroke-width:3}#mapSupplies circle{fill:#eac379;stroke:#362d1d;stroke-width:1}
.itemPanel{background:transparent;border:0;padding:0;min-width:250px;max-width:290px;text-align:center;filter:drop-shadow(0 3px 6px #0007)}.itemSlots{display:flex;justify-content:center;align-items:end;gap:12px;margin:0 0 12px}.itemSlots>span{flex:0 0 75px;position:relative;display:flex;align-items:center;justify-content:center;width:75px;height:75px;padding:10px;background:linear-gradient(150deg,#172520ee,#101b18dd);border:1px solid #ffffff40;border-radius:12px;color:var(--accent);transition:width .14s,height .14s,background .14s}.itemSlots>span.selected{flex-basis:88px;width:88px;height:88px;border-color:var(--accent);box-shadow:inset 0 0 25px #ffffff0a,0 0 0 3px #10191599;background:linear-gradient(150deg,#304037ed,#101b18ed);color:var(--accent)}.itemSlots svg{width:45px;height:45px}.itemSlots .selected svg{width:55px;height:55px}.itemSlots em{position:absolute;left:9px;top:5px;font-style:normal;font-size:9px;color:#d5dbcf}.itemSlots .slotHint{position:absolute;bottom:5px;font-size:8px;letter-spacing:1px;color:#b5c0b5}.itemCaption{display:flex;align-items:center;justify-content:center;gap:8px}.itemCaption #item{font-size:15px;letter-spacing:1px;margin:0;font-weight:500}.itemCaption small{font-size:9px;letter-spacing:0;display:flex;gap:4px;align-items:center;color:#bac5b9;margin-left:8px}.itemCaption kbd{font-size:9px}#itemTip{display:block;font-size:9px;color:#c0cbbd;margin-top:7px}#status{font-size:10px;margin-top:7px;min-height:13px}.driftBar{max-width:180px;margin:6px auto 0;height:3px;border-radius:2px;overflow:hidden;background:#ffffff25}.driftBar i{box-shadow:0 0 7px #7edbc8}
#nameplates{position:absolute;inset:0;pointer-events:none;overflow:hidden}.nameplate{position:absolute;display:flex;gap:6px;align-items:center;padding:5px 9px;background:#101b17c9;border-bottom:2px solid var(--paint);border-radius:3px;font-size:11px;white-space:nowrap;transform:translate(-50%,-100%);will-change:left,top;max-width:180px}.nameplate b{font-size:10px;font-weight:500;color:#edc988}.nameplate span{overflow:hidden;text-overflow:ellipsis;max-width:140px}.nameplate small{color:#acc1b2;font-size:8px}#threatWarning{position:absolute;left:50%;top:18%;transform:translateX(-50%);border:1px solid #ffbe8255;border-left:3px solid #ff8c65;background:#371e16df;padding:11px 22px;text-align:center;font-size:13px;letter-spacing:2px;color:#ffcfaa;box-shadow:0 4px 24px #0004}#threatWarning small{display:block;font-size:10px;letter-spacing:0;margin-top:5px;color:#e4bcab}
@media(max-height:740px){.screen{padding-top:20px;padding-bottom:16px}.intro{padding:14px 0}.intro h1{font-size:48px;margin-bottom:12px}.intro h1 span{margin-top:10px;font-size:16px}.intro .eyebrow{margin-bottom:12px}.trackFacts{margin:14px 0}.driverIdentity{margin:12px 0}.playActions button{padding:12px 14px}.roomLayout{min-height:520px;padding:15px 0}.roomHeading h2{font-size:26px}#roomMembers li{min-height:40px;padding:7px 10px}.roomCustomization{margin-top:170px}.mapPanel{width:165px}.mapPanel svg{height:140px}.itemSlots>span{width:63px;height:63px;flex-basis:63px}.itemSlots>span.selected{width:73px;height:73px;flex-basis:73px}.itemSlots svg{width:37px;height:37px}.itemSlots .selected svg{width:45px;height:45px}.bottomHud{bottom:20px}.previewBadge{bottom:20%}}
@media(max-width:850px){.previewBadge{display:none}.roomLayout{grid-template-columns:1fr;gap:24px;max-width:520px;min-height:0}.roomLoadout>.eyebrow,.roomLoadout>h2{display:none}.roomCustomization{margin-top:0;max-width:none;padding:14px}.roomScreen{background:linear-gradient(90deg,#101717ed,#10171788)}.roomScreen nav .modeTag{display:none}.roomScreen footer{padding-top:12px}.roomLoadout{padding:0}.roomRoster{padding-top:8px}.roomCustomization .colorPicker{grid-column:2}.roomHeading h2{font-size:25px}}
@media(max-width:700px){.intro{max-width:100%;width:100%}.screen{padding:20px}.playActions button{font-size:12px}.mapPanel{width:110px}.mapPanel svg{height:100px}.mapLegend span{display:none}.mapHeading{font-size:8px;letter-spacing:0}.itemPanel{min-width:155px;max-width:170px}.itemSlots{gap:7px;margin-bottom:8px}.itemSlots>span{width:51px;height:51px;flex-basis:51px;border-radius:8px;padding:4px}.itemSlots>span.selected{width:60px;height:60px;flex-basis:60px}.itemSlots svg{width:31px;height:31px}.itemSlots .selected svg{width:38px;height:38px}.itemSlots .slotHint{display:none}.itemCaption{gap:4px}.itemCaption #item{font-size:11px}.itemCaption small{font-size:8px;margin-left:0}.itemCaption small kbd{display:none}#itemTip{font-size:8px}.speedPanel{min-width:78px}.speedPanel strong{font-size:39px}.bottomHud{left:12px;right:12px;gap:8px}.nameplate{font-size:9px;max-width:140px}#threatWarning{width:80%;font-size:11px;padding:10px}nav{font-size:10px}}

.itemSlots .slotHint{border:0;padding:0;background:none}.mapPanel #mapLandmarks text{font-size:18px}.mapPanel #mapLandmarks path{stroke:#ffc56e}

#readyRoom[data-ready=true]{background:#285b48;border-color:#4e9277;color:#d5ffea}

/* 立体道具展示：模型在加载时烘焙，比赛中复用图片。 */
.itemPanel{min-width:340px;max-width:380px}.itemSlots{gap:14px;margin-bottom:10px}.itemSlots>span{width:132px;height:138px;flex-basis:132px;padding:4px 4px 25px;border-radius:15px;background:radial-gradient(ellipse at 50% 25%,#52665a90,#0b1715ee 75%);border:1px solid #c7e2d660;box-shadow:0 7px 20px #0005,inset 0 1px #ffffff26}.itemSlots>span.selected{width:148px;height:154px;flex-basis:148px;border:2px solid var(--accent);background:radial-gradient(ellipse at 50% 20%,#65796d99,#0d1918ef 75%);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 20%,transparent),inset 0 0 25px #ffffff0a}.itemSlots .itemModel{display:block;width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 5px 4px #0007);pointer-events:none}.itemSlots .selected .itemModel{width:134px;height:134px}.itemSlots .slotHint{display:block;bottom:10px;font-size:13px;letter-spacing:1px;color:#f1f3df;font-weight:650}.itemSlots em{font-size:11px;left:10px;top:8px}.itemCaption #item{font-size:17px}.itemCaption kbd{font-size:12px}#itemTip{font-size:11px}.itemSlots>span[data-item="empty"]{opacity:.65}.itemSlots>span[data-item="empty"] svg{width:50px;height:50px}
@media(max-height:740px) and (min-width:701px){.itemSlots>span{width:112px;height:114px;flex-basis:112px}.itemSlots>span.selected{width:126px;height:130px;flex-basis:126px}.itemSlots .itemModel{width:96px;height:96px}.itemSlots .selected .itemModel{width:110px;height:110px}.itemPanel{min-width:290px}.itemSlots .slotHint{font-size:11px;bottom:7px}#itemTip{font-size:10px}}
@media(max-width:700px){.itemPanel{min-width:210px;max-width:240px}.itemSlots{gap:8px}.itemSlots>span{width:88px;height:95px;flex-basis:88px;padding-bottom:20px}.itemSlots>span.selected{width:98px;height:105px;flex-basis:98px}.itemSlots .itemModel{width:78px;height:78px}.itemSlots .selected .itemModel{width:88px;height:88px}.itemSlots .slotHint{font-size:10px;bottom:7px}.itemCaption #item{font-size:12px}#itemTip{font-size:9px}}

#spectacleCaption{position:absolute;right:32px;top:100px;padding:9px 13px;border-right:2px solid #b9cec1;color:#d8e3d6;background:linear-gradient(90deg,transparent,#14201bb0);font-size:12px;letter-spacing:2px;text-shadow:0 2px 5px #000;pointer-events:none}@media(max-width:700px){#spectacleCaption{top:105px;right:15px;font-size:9px;letter-spacing:1px}}

/* v9.0.0: seven original chassis, independent livery, live 3D preview. */
#lobby{overflow-y:auto;padding-top:24px;padding-bottom:22px}
#lobby .intro{width:min(480px,46vw);padding:16px 0}
#lobby .eyebrow{margin-bottom:12px}#lobby h1{font-size:clamp(36px,4vw,62px);margin-bottom:12px}
#lobby h1 span{font-size:17px;margin-top:10px}#lobby .summary{font-size:12px;margin:8px 0}
#lobby .trackFacts{margin:16px 0;gap:24px}#lobby .trackFacts b{font-size:24px}
.driverIdentity{margin:12px 0;grid-template-columns:44px minmax(0,1fr);gap:9px}
.bodyPicker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0}
.bodyPicker button{min-width:0;padding:8px 4px;border:1px solid #9baca530;background:#172124df;color:#d6dbd9;text-align:left;border-radius:2px}
.bodyPicker b{display:block;font-size:11px;font-weight:600;white-space:nowrap}.bodyPicker small{display:block;font-size:9px;color:#9fa9a8;margin-top:4px;white-space:nowrap}
.bodyPicker button[aria-pressed="true"]{border-color:#e0b76d;background:#64503470;color:#fff4d8;box-shadow:inset 0 -2px #e0b76d}
.bodyPicker button:hover{border-color:#e0b76d}.bodyPicker button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.driverIdentity .colorPicker,.roomCustomization .colorPicker{grid-column:2;gap:12px}
#lobby .playActions button{padding:12px;font-size:12px}.roomCustomization{margin-top:140px;grid-template-columns:36px minmax(0,1fr);max-width:480px;padding:14px}
.previewBadge{bottom:21%;right:7vw}.previewBadge b{font-size:32px;letter-spacing:2px}
@media(max-height:760px) and (min-width:701px){#lobby{padding-top:16px}#lobby h1{font-size:40px}#lobby .summary{display:none}#lobby .trackFacts{margin:10px 0}#lobby .intro{padding:10px 0}.roomCustomization{margin-top:65px}}
@media(max-width:700px){#lobby .intro{width:min(420px,100%);max-width:100%;padding-top:16px}#lobby h1{font-size:36px}#lobby .summary{display:none}.previewBadge{display:none}.bodyPicker b{font-size:10px}.bodyPicker small{font-size:8px}.roomCustomization{margin-top:12px;max-width:100%}.driverIdentity{grid-template-columns:34px minmax(0,1fr)}#lobby footer{font-size:9px;margin-top:10px}#lobby .trackFacts{gap:14px}#lobby .trackFacts small{font-size:9px}}

/* v9.2.0: keep both the player tank and first-person barrel clear of the loadout. */
#cameraButton{pointer-events:auto;font-size:11px;white-space:nowrap;padding:9px 12px;margin-left:auto;background:#172329b8;border-color:#bdd2c34d}
#driftMeter{--drift-color:#a5b8b4;position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:222px;text-align:center;pointer-events:none;text-shadow:0 1px 4px #000}
#driftLabel{display:block;font-size:11px;letter-spacing:1px;margin-bottom:8px;color:#e1e9e5}.driftTrack{height:6px;background:#0f191bba;border:1px solid #b2c2bd40;position:relative;overflow:hidden;border-radius:2px}.driftTrack i{display:block;height:100%;width:0;background:var(--drift-color);box-shadow:0 0 12px var(--drift-color)}.driftTrack em{position:absolute;left:30%;top:0;height:100%;border-left:2px solid #101918}.driftTrack em+em{left:65%}
#driftMeter[data-tier="1"] #driftLabel,#driftMeter[data-tier="2"] #driftLabel,#driftMeter[data-tier="3"] #driftLabel{color:var(--drift-color)}
.itemPanel{min-width:220px;max-width:245px;margin-left:auto;margin-right:28px}.itemSlots>span{width:92px;height:100px;flex-basis:92px}.itemSlots>span.selected{width:104px;height:112px;flex-basis:104px}.itemSlots .itemModel{width:80px;height:80px}.itemSlots .selected .itemModel{width:91px;height:91px}.itemSlots .slotHint{font-size:10px;bottom:7px}#item{font-size:13px}
@media(max-width:700px){#cameraButton{pointer-events:auto;font-size:9px;padding:8px;margin-left:4px}#driftMeter{width:155px;bottom:14px}#driftLabel{font-size:9px;letter-spacing:0}.itemPanel{min-width:140px;max-width:150px;margin-right:5px}.itemSlots>span{width:59px;height:68px;flex-basis:59px}.itemSlots>span.selected{width:65px;height:75px;flex-basis:65px}.itemSlots .itemModel{width:52px;height:52px}.itemSlots .selected .itemModel{width:58px;height:58px}.itemSlots .slotHint{font-size:8px}#item{font-size:10px}}

/* Circuit choice shares the garage's restrained racing presentation. */
.circuitPicker{display:flex;gap:10px;margin:0 0 20px;max-width:470px}.circuitPicker a{flex:1;padding:11px 14px;border:1px solid #ffffff30;background:#172026b8;border-left:3px solid transparent}.circuitPicker a[aria-current="page"]{border-left-color:#e74836;background:#283239e8}.circuitPicker b{display:block;font-size:15px;font-weight:500}.circuitPicker small{display:block;color:#b1bdc2;font-size:10px;margin-top:5px}.circuitPicker a:hover{background:#38474f}
@media(max-height:800px){.intro{padding:12px 0}.eyebrow{margin-bottom:12px}.circuitPicker{margin-bottom:12px}h1{font-size:58px;margin-bottom:14px}.trackFacts{margin:16px 0}}
@media(max-width:700px){.circuitPicker{max-width:100%;gap:6px}.circuitPicker a{padding:8px}.circuitPicker b{font-size:13px}.circuitPicker small{font-size:9px}}

.circuitPicker{max-width:550px}.circuitPicker a{min-width:0}

.driveMode{display:flex;gap:14px;align-items:center;margin:12px 0;font-size:12px;max-width:480px}.driveMode label{color:#c2cec7}.driveMode select{flex:1;min-width:0;background:#1a272bdd;color:#f5e6cb;border:1px solid #ffffff30;padding:9px}
.soloDrive .itemPanel,.soloDrive #reticle,.soloDrive #gun,.soloDrive #aimReadout,.soloDrive #mapSupplies,.soloDrive .mapLegend{display:none!important}.soloDrive .position strong{font-size:26px;margin-top:9px;letter-spacing:2px}.soloDrive .position small{font-size:0}.soloDrive .position small:after{content:'自由驾驶';font-size:11px;letter-spacing:1px}#soloStats{display:flex;gap:22px;margin-left:auto;padding:16px 20px;background:linear-gradient(110deg,#142526b8,#14252644);border-top:1px solid #d5c4a266;border-radius:3px}#soloStats small{display:block;color:#c1cfc8;font-size:11px;margin-bottom:7px}#soloStats b{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums;color:#f5dfb2}.soloDrive .speedPanel{margin-left:20px}@media(max-height:820px){.driveMode{margin:6px 0}.driveMode select{padding:6px}.intro h1{margin-bottom:10px}}@media(max-width:700px){#soloStats{gap:12px;padding:10px}#soloStats b{font-size:13px}#soloStats small{font-size:9px}}

@media(max-width:1100px),(max-height:650px){.soloDrive #soloStats{position:absolute;right:0;bottom:110px;gap:16px;padding:12px 16px}}

#radioPanel{position:absolute;right:32px;top:145px;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#20152dc9;border-left:2px solid #ef7cab;pointer-events:auto;max-width:370px}#radioPanel small{display:block;font-size:9px;color:#e0a3bf;letter-spacing:1px}#radioPanel b{display:block;font-size:12px;font-weight:400;margin-top:5px;max-width:170px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#radioPanel button{padding:7px 9px;background:transparent}#radioVolume{width:64px;accent-color:#f58ebc}@media(max-width:1100px),(max-height:650px){#radioPanel{right:20px;top:145px;max-width:300px;gap:6px}#radioVolume{width:45px}#radioPanel b{max-width:130px}}

.carCockpit .mapPanel,.carCockpit .speedPanel,.carCockpit #soloStats,.carCockpit #driftMeter{display:none!important}.carCockpit .itemPanel{position:fixed;left:24px;top:145px;bottom:auto}.carCockpit #radioPanel{opacity:.75}.carCockpit #radioPanel:hover{opacity:1}

/* v12.2.0: direct modes and a lightweight pre-race garage. */
.modeButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.modeButtons button{padding:12px 6px;font-size:12px;border:1px solid #48616a;border-radius:0;background:#09151ddd}.modeButtons button[aria-pressed=true]{border-color:#5de4e6;color:#80fbef;background:#123139}.circuitPicker button{display:block;text-align:left;background:#0b1924;color:#e3e5e3;border:1px solid #52626a;padding:10px}.circuitPicker button b,.circuitPicker button small{display:block}.circuitPicker button[aria-current=page]{border-color:#f1c780}.circuitPicker button small{font-size:11px;opacity:.65}#raceLoading{z-index:200;background:#040d16f5}#raceLoading progress{width:100%;height:5px;accent-color:#59e1db}#raceLoading .panel{border-top:2px solid #59e1db;border-radius:0}

.cleanRace .itemPanel,.cleanRace #reticle,.cleanRace #gun,.cleanRace #aimReadout{display:none!important}
.speedPanel{background:linear-gradient(125deg,#06101aee,#132431bb);padding:14px 22px 12px!important;border-top:2px solid #67e9e3;border-right:3px solid #ee6175;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);min-width:158px!important;position:relative}.speedPanel:before{content:'NEURAL DRIVE / 2077';display:block;font:9px monospace;letter-spacing:2px;color:#6edbd9;text-align:left}.speedPanel strong{font-family:Consolas,monospace!important;font-style:italic;font-size:64px!important;text-shadow:2px 0 #60dbdf77;letter-spacing:-5px}.speedPanel .speedBar{height:5px;margin:8px 0;background:repeating-linear-gradient(90deg,#254350 0 9px,transparent 9px 12px)}.speedPanel .speedBar i{background:#72f3e1}.speedPanel>span{color:#9ac9cf;font:11px monospace}

/* Readable radar at desktop resolutions; projected windshield information in cockpit view. */
.mapPanel{width:clamp(200px,17vw,330px)!important;flex:0 0 auto}.mapPanel #map{width:100%;height:clamp(190px,23vh,310px)!important}
.carCockpit .mapPanel{display:block!important;position:fixed;left:7vw;bottom:32vh;width:clamp(185px,16vw,290px)!important;background:transparent!important;border:0!important;filter:drop-shadow(0 0 3px #40cbd780);opacity:.82;transform:perspective(800px) rotateY(9deg)}
.carCockpit .mapHeading{color:#9ce9e5;letter-spacing:2px}.carCockpit .mapLegend{display:none}
.carCockpit .speedPanel{display:block!important;position:fixed;right:13vw;bottom:34vh;min-width:140px;background:transparent!important;border:0!important;clip-path:none;text-shadow:0 0 7px #67dce66b;transform:perspective(800px) rotateY(-8deg)}
.carCockpit .speedPanel:before,.carCockpit .speedPanel #gun,.carCockpit .speedPanel #aimReadout{display:none}.carCockpit .speedPanel strong{font-size:clamp(44px,4vw,76px);font-weight:300;color:#b6f4ee}
@media(max-width:700px){.mapPanel{width:150px!important}.mapPanel #map{height:160px!important}.carCockpit .mapPanel{left:2vw;width:140px!important;bottom:35vh}.carCockpit .speedPanel{right:4vw;bottom:36vh;min-width:90px}}
