/* A little 1980s scoreboard glow, with explicit sample-data labeling. */
.proflow-lobby .intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.84fr);align-items:center;gap:36px;padding-top:30px;padding-bottom:30px; }
.intro-copy { min-width:0; }
.proflow-lobby .intro h1 { max-width:540px; }
.proflow-lobby .intro-copy p { max-width:420px; }
.lobby-leaderboard { min-width:0; }
.leader-panel { position:relative;isolation:isolate;overflow:hidden;border:1px solid #c79943;border-radius:13px;background:#06162ef5;color:#edf5ff;box-shadow:0 0 0 4px #0d2441cc,0 14px 40px #000b1c99,inset 0 0 26px #237fb52e;font-family:ui-monospace,SFMono-Regular,Consolas,'Courier New',monospace;text-align:left; }
.leader-panel::before { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#83bfff07 4px); }
.leader-head { display:flex;align-items:center;gap:12px;padding:14px 16px 9px; }
.leader-coin { display:block;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 0 8px #dba02a3d); }
.leader-title-box { flex:1;min-width:0; }
.leader-overline { display:block;color:#8cd4ed;font-size:7px;letter-spacing:.13em;line-height:1.6; }
.leader-panel .leader-title { font-size:18px;letter-spacing:.08em;line-height:1.25;color:#ffe391;margin:3px 0 0;font-weight:800;text-shadow:0 0 12px #ffbd3d55,2px 2px 0 #885116; }
.leader-demo { display:inline-flex;align-items:center;flex-shrink:0;font:650 8px/1.3 ui-monospace,monospace;letter-spacing:.09em;color:#9bd7eb;border:1px solid #63bdcc66;border-radius:4px;padding:3px 5px; }
.leader-panel .leader-subtitle { font:9px/1.4 ui-monospace,monospace;letter-spacing:.06em;color:#a3c8df;margin:0;padding:0 17px 10px;border-bottom:1px solid #7b713352; }
.leader-scroll { max-height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c69b47 #102640; }
.leader-scroll:focus-visible { outline:2px solid #73e5ff;outline-offset:-3px; }
.leader-list { padding:0;margin:0;list-style:none; }
.leader-row { display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 17px;border-bottom:1px solid #5e88a021; }
.leader-rank { color:#6ca3be;font-size:12px;font-weight:750; }
.leader-person { display:flex;flex-direction:column;min-width:0;gap:3px; }
.leader-name { color:#def2ff;font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.leader-location { color:#8cbed8;font:9px/1.2 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.leader-points { color:#60e5fd;font-size:13px;letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 9px #23c9ff3b; }
.leader-first { background:linear-gradient(90deg,#dca93922,#dca93906); }
.leader-first .leader-rank,.leader-first .leader-name,.leader-first .leader-points { color:#ffe3a1; }
.leader-foot { display:flex;flex-direction:column;gap:3px;padding:9px 16px 10px;border-top:1px solid #8f704c55;color:#8faec4;font:9px/1.4 system-ui,sans-serif; }
.leader-foot span:first-child { color:#e6c68a;font-weight:650; }
.proflow-lobby .leader-rule { font:10px/1.5 system-ui,sans-serif;color:#c5dded;margin:10px 3px 0;max-width:none;text-align:center; }
.game-leaderboard { position:relative;z-index:10;margin:-5px 0 18px; }
.leader-toggle { display:flex;align-items:center;gap:14px;width:100%;min-height:39px;padding:8px 14px;border:1px solid #d4ab635c;border-radius:8px;background:linear-gradient(100deg,#0b2449,#102b50);color:#ffe2a1;cursor:pointer; }
.leader-toggle-title { font:750 9px ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap; }
.leader-current { font:10px ui-monospace,monospace;color:#b9e5f9;flex:1;text-align:left; }
.leader-expand { margin-left:auto;font:700 9px ui-monospace,monospace;white-space:nowrap; }
.game-leaderboard .leader-panel { position:absolute;right:0;top:calc(100% + 8px);width:min(420px,100%);box-shadow:0 10px 40px #000a; }
.game-leaderboard .leader-scroll { max-height:min(300px,45svh); }
.game-leaderboard .leader-title { font-size:14px;letter-spacing:.03em; }
.game-leaderboard .leader-toggle:focus-visible { outline:3px solid #b5f3ff;outline-offset:3px; }
.race-shell .game-leaderboard { position:absolute;top:79px;right:30px;width:320px;z-index:6;margin:0; }
.race-shell .leader-current { display:none; }
.race-shell:has(#hud:not([hidden])) .game-leaderboard { display:none; }
.stats-link { color:#b7cfe5;text-decoration:underline;text-underline-offset:3px; }
@media(max-width:900px) { .proflow-lobby .intro { gap:24px;grid-template-columns:minmax(0,1fr) minmax(305px,.9fr); } .proflow-lobby .intro h1 { font-size:39px; } .leader-head { gap:9px; } .leader-row { padding-left:13px;padding-right:13px;gap:8px; } .leader-points { font-size:12px; } }
@media(max-width:680px) { .proflow-lobby .intro { grid-template-columns:1fr;gap:24px; } .proflow-lobby .intro h1 { max-width:none;font-size:36px; } .lobby-leaderboard { width:100%; } .leader-scroll { max-height:192px; } .leader-current { font-size:9px; } .leader-toggle { gap:9px; } .race-shell .game-leaderboard { top:69px;right:20px;width:215px; } .race-shell .leader-toggle { padding:8px 10px; } .race-shell .leader-toggle-title { font-size:8px; } }
@media(max-width:480px) { .leader-current { display:none; } .leader-toggle-title { flex:1;text-align:left; } .race-shell .game-leaderboard { top:auto;bottom:15px;left:20px;right:auto;width:215px; } .race-shell .game-leaderboard .leader-panel { top:auto;bottom:calc(100% + 8px);right:auto;left:0;width:min(340px,calc(100vw - 40px)); } .race-shell .overlay { padding-bottom:75px; } }
@media(prefers-reduced-motion:reduce) { .leader-panel * { scroll-behavior:auto; } }
