body[data-play-mode="home"] .course-hud,body[data-play-mode="queue"] .course-hud,
body[data-play-mode="home"] footer,body[data-play-mode="queue"] footer,
body[data-play-mode="home"] .route-guide,body[data-play-mode="queue"] .route-guide,
body[data-play-mode="home"] .touch-controls,body[data-play-mode="queue"] .touch-controls{display:none}
#multiplayer-menu{position:absolute;inset:0;z-index:6;display:flex;align-items:center;padding:112px 7vw 38px;background:linear-gradient(90deg,#193e39a8,#183d3933 65%,transparent);overflow:auto;pointer-events:none}
.lobby-card{pointer-events:auto;width:min(540px,100%);padding:32px 36px;border-radius:26px;background:#1e403aef;border:1px solid #ffffff36;box-shadow:0 24px 90px #12372c45;backdrop-filter:blur(22px);color:#fff6df}
.lobby-kicker{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:2px;color:#c6e8a3}
.lobby-kicker i{display:block;width:7px;height:7px;border-radius:50%;background:#c6e8a3}
.lobby-card h2{font:600 clamp(30px,3.4vw,46px)/1.13 'Manrope',sans-serif;letter-spacing:-1.8px;margin:22px 0 18px}
.lobby-card h2 em{font-style:normal;color:#edb68c}
.lobby-lead{font-size:14px;line-height:1.7;color:#d0dfd6;margin:0 0 22px}
.racer-identity{display:flex;flex-direction:column;gap:6px;padding:15px 0 20px}
.racer-identity span{font-size:9px;letter-spacing:1.6px;color:#c1d2c7}
.racer-identity strong{font-size:18px;font-weight:600}
.lobby-primary{border:0;border-radius:12px;background:#d3eba4;color:#234237;padding:17px 21px;font-size:18px;font-weight:800;width:100%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 0 #83a76b;transition:transform .15s,background .15s}
.lobby-primary:hover{background:#e2f3bd;transform:translateY(-2px)}.lobby-primary:active{transform:translateY(2px)}
.lobby-secondary{display:block;border:0;background:transparent;padding:16px 8px 5px;font-size:13px;color:#dce4d3;text-decoration:underline;text-underline-offset:4px;width:100%;text-align:center}
.lobby-rules{display:flex;justify-content:space-between;gap:20px;margin-top:25px;border-top:1px solid #ffffff26;padding-top:19px;font-size:12px;color:#d0dfd6}
.lobby-rules b{color:#fff6df;font-size:17px;margin-right:4px}
#connection-status{font-size:10px;color:#b7ccb9;margin:17px 0 0}#network-notice{font-size:12px;color:#ffd3b8;line-height:1.5}
.queue-meter{display:flex;align-items:baseline;gap:10px;border-block:1px solid #ffffff30;padding:20px 0;margin:24px 0}.queue-meter>strong{font:600 37px 'Manrope',sans-serif;color:#d3eba4}.queue-meter>span{font-size:10px;letter-spacing:1px}.queue-meter>div{margin-left:auto;display:flex;align-items:center;gap:10px}.queue-meter b{font-size:38px;color:#edb68c}.queue-meter small{font-size:8px;line-height:1.8;max-width:70px;letter-spacing:1px}
#queue-players{display:flex;flex-wrap:wrap;gap:7px;min-height:43px;margin-bottom:22px}#queue-players span{border:1px solid #ffffff26;border-radius:20px;padding:8px 11px;font-size:11px;background:#ffffff08}#queue-players .you{border-color:#d3eba4;color:#d3eba4}
#results-panel{width:min(720px,100%);margin:auto}#results-panel h2{font-size:33px}.score-scroll{overflow:auto;max-height:45dvh}.score-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;white-space:nowrap}.score-table th{font-size:9px;font-weight:500;letter-spacing:1px;padding:12px 10px;color:#b8c9be}.score-table td{padding:12px 10px;border-top:1px solid #ffffff1c}.score-table td:first-child{color:#edb68c;font-weight:700}.score-table td:last-child{color:#d3eba4;font-weight:700;text-align:right}.score-table th:last-child{text-align:right}.score-table .you{background:#d3eba415}.score-table .you td:nth-child(2){color:#d3eba4}#next-round-clock{color:#d3eba4;text-align:center;font-size:14px;padding-top:10px}
#racer-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.racer-label{position:absolute;left:0;top:0;background:#1a393bd9;border:1px solid var(--racer-color);border-bottom:3px solid var(--racer-color);border-radius:6px;padding:5px 8px;color:#fffaf0;font-size:10px;white-space:nowrap;text-shadow:0 1px 2px #0006}
#online-hud{position:absolute;left:44px;top:120px;display:flex;flex-direction:column;gap:7px;padding:12px 16px;border-radius:12px;background:#1d403bd9;border:1px solid #fff4;pointer-events:none}#race-position{font-size:15px;color:#d3eba4}#tournament-points{font-size:10px;letter-spacing:1.1px}#finish-clock{color:#ffbe99;font-size:23px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.lobby-back{position:absolute;left:45px;top:225px;padding:8px 11px;border:1px solid #ffffff40;border-radius:7px;background:#21443bad;font-size:11px;z-index:3}#practice-home{top:115px}
#race-countdown{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#193e3917;text-shadow:0 3px 25px #24423899}#race-countdown span{font-size:13px;font-weight:600;letter-spacing:1.5px}#start-number{font:800 130px 'Manrope',sans-serif;color:#e3f2b7;line-height:1.4}#race-countdown small{font-size:12px}
#finished-notice,#reconnect-banner{position:absolute;left:50%;top:130px;transform:translateX(-50%);background:#23443ded;padding:15px 24px;border:1px solid #d3eba4;border-radius:12px;font-size:15px;text-align:center;z-index:5;max-width:calc(100% - 32px)}#reconnect-banner{top:48%;color:#ffd3b8;border-color:#edb68c}
body:has(#finish-clock:not([hidden])) #leave-race{top:258px}
#levels:disabled{cursor:default;color:#fff5dc}body[data-play-mode="online"] #levels>span:last-child{display:none}
body:has(#results-panel:not([hidden])) .course-hud,body:has(#results-panel:not([hidden])) #online-hud,body:has(#results-panel:not([hidden])) #leave-race,body:has(#results-panel:not([hidden])) #racer-labels,body:has(#results-panel:not([hidden])) .route-guide{visibility:hidden}
.final-results .score-table th:nth-child(3),.final-results .score-table th:nth-child(4),.final-results .score-table td:nth-child(3),.final-results .score-table td:nth-child(4){display:none}
body[data-play-mode="online"] #help-panel .panel-note::after{content:' Online races keep running while this panel is open.'}
body:has(#multiplayer-menu:not([hidden])) .masthead{z-index:7}body:has(#multiplayer-menu:not([hidden])) #help-panel{z-index:8}body:has(#results-panel:not([hidden])) .touch-controls,body:has(#results-panel:not([hidden])) footer{visibility:hidden}
@media(min-width:1000px) and (max-height:780px){.lobby-card{padding:25px 30px}.lobby-card h2{font-size:37px;margin:16px 0}.racer-identity{padding:0 0 16px}.lobby-rules{margin-top:18px;padding-top:14px}.lobby-lead{margin-bottom:16px}}
@media(max-width:650px){#multiplayer-menu{padding:94px 16px 18px;align-items:flex-start;background:#183d3955}.lobby-card{padding:25px 23px;border-radius:20px}.lobby-card h2{font-size:34px}.lobby-lead{font-size:13px}.lobby-rules{gap:10px;font-size:10px}.lobby-rules b{font-size:15px}.lobby-primary{padding:15px 18px;font-size:17px}.lobby-kicker{font-size:8px;letter-spacing:1.7px}#online-hud{left:22px;top:171px;padding:10px 12px;gap:5px}#race-position{font-size:12px}#tournament-points{font-size:8px}#finish-clock{font-size:19px}.lobby-back{left:22px;top:246px;font-size:9px}body:has(#finish-clock:not([hidden])) #leave-race{top:273px}#practice-home{top:175px}.score-table{font-size:11px}.score-table td,.score-table th{padding:10px 6px}#results-panel h2{font-size:28px}#finished-notice{top:305px;width:280px;font-size:12px}#race-countdown span{font-size:11px}#start-number{font-size:95px}}
