/* Independent, pre-rendered showroom. No city renderer is loaded here. */
#lobby.showroomLobby{--accent:#f1c56a;padding:26px 4vw 18px;display:grid;grid-template-rows:36px 1fr 148px 28px;gap:18px;background:radial-gradient(ellipse at 74% 36%,#20353c 0,#101a21 34%,#070c11 75%);isolation:isolate;overflow:hidden}
#lobby nav{z-index:5;align-items:center;font-size:12px;color:#b6c6cf;letter-spacing:1px}#lobby nav .modeTag{border:0;font-weight:800;letter-spacing:4px;color:#fff}#lobby nav i{color:var(--accent);font-style:normal;margin:0 12px}
#lobby .showroomStage{position:absolute;inset:4% -2% 16% 26%;z-index:-1;pointer-events:none;overflow:hidden}
.stagePortal{position:absolute;width:64%;height:50%;left:20%;top:8%;border:2px solid #a4e4f450;box-shadow:0 0 30px #68cce01c,inset 0 0 30px #68cce020;transform:skewY(-7deg);border-bottom:0}
.stagePortal:before,.stagePortal:after{content:"";position:absolute;inset:16px;border:1px solid #e2d0a522;border-bottom:0}.stagePortal:after{inset:32px}
.stageFloor{position:absolute;inset:40% -30% -70%;background:repeating-linear-gradient(90deg,transparent 0 139px,#809bab15 140px 141px),repeating-linear-gradient(0deg,transparent 0 79px,#809bab1c 80px 81px),linear-gradient(#22303b,#070d14);transform:perspective(500px) rotateX(62deg);transform-origin:50% 0}
.stageSpot{position:absolute;left:21%;right:11%;top:50%;height:31%;border-radius:50%;background:radial-gradient(ellipse,#03070bd9 15%,#090f15cc 40%,#74c6d92b 58%,transparent 72%);filter:blur(8px)}
.stageLabel{position:absolute;left:27%;top:14%;font-size:10px;line-height:1.8;letter-spacing:6px;color:#87b9c175}.stageNumber{position:absolute;right:11%;top:15%;font-size:13px;letter-spacing:4px;color:#b1c9d377}
#showroomCar{position:absolute;width:108%;height:110%;object-fit:contain;left:-1%;top:-5%;filter:drop-shadow(0 30px 18px #0009);animation:showroomArrival .7s ease-out both}
#lobby .intro{grid-row:2;align-self:center;max-width:420px;width:29vw;min-width:330px;padding:0;z-index:3}
#lobby h1{font-size:clamp(34px,3.2vw,58px);letter-spacing:-2px;line-height:1.05;margin:12px 0 22px;font-weight:900}#lobby h1 span{font-size:11px;letter-spacing:5px;margin-top:12px;font-weight:500;color:#9cabb4}
#lobby .eyebrow{font-size:10px;letter-spacing:2px;margin:0;color:var(--accent)}
#lobby .driverIdentity{display:flex;align-items:center;gap:18px;margin:0 0 18px;font-size:11px}#lobby .driverIdentity input{width:180px;padding:7px 0;border:0;border-bottom:1px solid #93a5b33d;background:transparent;font-size:14px}
.garageHeading,.paintLine,.destinationHeading{display:flex;align-items:center;justify-content:space-between}.garageHeading{font-size:11px;letter-spacing:1px;margin-bottom:9px}.garageHeading small{font-size:10px;color:#869ba8}
#lobby .bodyPicker{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#lobby .bodyPicker button{height:77px;padding:0 5px 8px;border:1px solid #8195a026;background:#16212bc2;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}#lobby .bodyPicker img{height:60px;width:115%;object-fit:contain;position:absolute;top:-9px;pointer-events:none}#lobby .bodyPicker span{font-size:10px;line-height:1.25;position:relative;text-align:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#lobby .bodyPicker button[aria-pressed=true]{border-color:var(--accent);background:#b48b2b25;box-shadow:inset 0 -2px var(--accent)}
#lobby .paintLine{margin:13px 0 16px;font-size:11px;color:#aab9c2}#lobby .colorPicker{gap:12px}#lobby .colorPicker button{width:17px;height:17px;min-width:0;padding:0}#lobby .driveMode{display:block;margin:0}#lobby .driveMode label{font-size:11px;display:block;margin-bottom:8px;letter-spacing:1px}#lobby .modeButtons{gap:4px}#lobby .modeButtons button{background:#111e27;padding:10px 5px;border-color:#8195a02e;font-size:11px}#lobby .modeButtons button[aria-pressed=true]{background:#2a424c;border-color:#85bcc5;color:#c3f0ed}
#lobby .playActions{display:grid;grid-template-columns:1.55fr 1fr;gap:7px;margin:15px 0 8px}#lobby .playActions button{padding:14px 8px;font-size:12px;background:#14232de0;border-color:#8da0ae35}#lobby .playActions .primary{background:var(--accent);color:#15191b;border-color:var(--accent);font-size:16px;font-weight:800;letter-spacing:2px}#lobby .playActions .primary:hover{background:#ffe2a1}
#lobby .joinLine{margin:0;display:flex;gap:10px;border:0}#lobby .joinLine input{background:transparent;width:50%;font-size:11px;border:0;border-bottom:1px solid #ffffff20;padding:7px 0}#lobby .joinLine button{padding:7px 0;font-size:11px;color:#a6bdc9;background:none;border:0}#lobby .hint{font-size:10px;color:#7c929f;margin:7px 0 0}
#lobby .previewBadge{position:absolute;right:7vw;bottom:238px;text-align:right;max-width:59%;z-index:2}#lobby .previewBadge>span{font-size:9px;letter-spacing:4px;color:var(--accent)}#lobby .previewBadge>b{font-size:clamp(26px,2.5vw,45px);font-weight:700;letter-spacing:-1px;margin:9px 0}#lobby .previewBadge>small{font-size:11px;color:#a9bdc8;letter-spacing:2px}
#lobby .trackFacts{margin:15px 0 0;justify-content:flex-end;gap:26px}#lobby .trackFacts div{padding:0 0 0 15px;border-left:1px solid #ffffff28}#lobby .trackFacts b{font-size:20px}#lobby .trackFacts small{font-size:9px;color:#7e949f;margin-top:5px}
#lobby .raceDestinations{grid-row:3;z-index:3;border-top:1px solid #c4dae226;padding-top:15px}.destinationHeading{margin-bottom:10px;font-size:11px;letter-spacing:2px}
#lobby .circuitPicker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:10px;margin:0}#lobby .circuitPicker button{height:85px;border:1px solid #7891a030;background:linear-gradient(110deg,#142f3ddd,#172330ee);padding:14px 18px;position:relative;overflow:hidden}#lobby .circuitPicker button:after{content:"";position:absolute;right:14%;top:-16%;width:42px;height:120%;border:2px solid #b3bca345;border-radius:45% 20% 40% 20%;transform:rotate(48deg);pointer-events:none}#lobby .circuitPicker button[data-track=cyber]{background:linear-gradient(110deg,#15273b,#49203d)}#lobby .circuitPicker button[data-track=neon]{background:linear-gradient(110deg,#332344,#652c36)}#lobby .circuitPicker button[data-track=coast]{background:linear-gradient(110deg,#123941,#9b68503b)}#lobby .circuitPicker button[data-track=canyon]{background:linear-gradient(110deg,#47351f,#72502339)}#lobby .circuitPicker button[data-track=city]{background:linear-gradient(110deg,#182c3d,#283b5d)}#lobby .circuitPicker button[aria-current=page]{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}#lobby .circuitPicker b{font-size:15px;position:relative;z-index:1}#lobby .circuitPicker small{font-size:10px;margin-top:7px;opacity:.65;position:relative;z-index:1}
#lobby footer{grid-row:4;border:0;padding:0;align-items:center;font-size:10px;color:#8297a5}#lobby footer>span:last-child{letter-spacing:3px}
@keyframes showroomArrival{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:2200px){#lobby.showroomLobby{padding-left:7vw;padding-right:7vw}#lobby .intro{width:420px;max-width:420px}#lobby h1{font-size:64px}#lobby .bodyPicker button{height:94px}#lobby .bodyPicker img{height:75px}#lobby .previewBadge{right:10vw;bottom:270px}#lobby .showroomStage{left:25%;right:2%}}
@media(max-height:820px) and (min-width:901px){#lobby.showroomLobby{padding-top:17px;grid-template-rows:28px 1fr 119px 20px;gap:9px}#lobby .intro{max-width:360px}#lobby h1{font-size:34px;margin:8px 0 12px}#lobby h1 span{margin-top:7px}#lobby .driverIdentity{margin-bottom:9px}#lobby .bodyPicker button{height:63px}#lobby .bodyPicker img{height:50px;top:-8px}#lobby .paintLine{margin:9px 0}#lobby .playActions{margin:10px 0 5px}#lobby .playActions button{padding:11px 6px}#lobby .circuitPicker button{height:68px;padding:10px 13px}#lobby .previewBadge{bottom:178px}#lobby .trackFacts{margin-top:10px}}
@media(max-width:900px){#lobby.showroomLobby{display:block;overflow-y:auto;padding:18px 22px;background:radial-gradient(ellipse at 70% 15%,#243b46,#070c12 48%)}#lobby nav{height:30px}#lobby nav .modeTag{font-size:9px;letter-spacing:1px}#lobby .showroomStage{height:380px;inset:45px -20% auto -20%}#lobby .previewBadge{position:relative;right:auto;bottom:auto;max-width:100%;text-align:left;margin:25px 0 20px}#lobby .previewBadge>b{font-size:27px}#lobby .trackFacts{justify-content:flex-start}#lobby .intro{margin-top:315px;width:100%;max-width:none;min-width:0}#lobby h1{font-size:40px}#lobby .raceDestinations{margin-top:24px}#lobby .circuitPicker{grid-template-columns:repeat(2,1fr)}#lobby footer{margin-top:20px;font-size:9px}#lobby footer>span:last-child{display:none}#lobby .bodyPicker button{height:88px}#lobby .bodyPicker img{height:76px}}
@media(prefers-reduced-motion:reduce){#showroomCar{animation:none}}

#pause .panel{max-height:90dvh;overflow-y:auto;width:min(580px,94vw)}.graphicsSettings{border:0;border-top:1px solid #ffffff25;padding:14px 0;margin:16px 0}.graphicsSettings legend{color:#ffc000;font-size:12px;letter-spacing:.12em}.graphicsSettings label{display:flex;align-items:center;gap:12px;min-height:32px}.graphicsSettings input[type=range]{margin-left:auto;width:45%;accent-color:#ffc000}.graphicsSettings input[type=checkbox]{margin-left:auto;accent-color:#ffc000}.graphicsSettings output{font-size:11px;color:#afbac0;min-width:36px;text-align:right}

#lobby.showroomLobby{grid-template-columns:minmax(0,1fr);justify-content:stretch}#lobby .stageFloor{mask-image:linear-gradient(transparent,#000 20%,#000 70%,transparent)}#lobby .circuitPicker{grid-template-columns:repeat(2,minmax(0,240px))}@media(max-width:900px){#lobby .circuitPicker{grid-template-columns:repeat(2,minmax(0,1fr))}}
