/* Leaderboard dialog. The list scrolls inside the dialog so your own row stays pinned below it. */
#leaderboard-dialog{width:760px}.leaderboard-dialog h2{margin-bottom:14px}
.leaderboard-tabs{display:flex;gap:8px;margin:0 0 12px}.leaderboard-tabs button{flex:1;background:#173944;color:#dce8cb;border:1px solid #789482;padding:11px;font:11px monospace;letter-spacing:.08em;cursor:pointer}
.leaderboard-tabs button[aria-selected=true]{background:#edaa76;color:#132e38;font-weight:bold}.leaderboard-tabs button:focus-visible{outline:2px solid #f8deab;outline-offset:2px}
.leaderboard-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:30px}.leaderboard-tools .leaderboard-status{margin:0;font:11px 'Courier New',monospace;color:#c7d5bd;letter-spacing:.04em}
.leaderboard-updated{font:10px 'Courier New',monospace;color:#9fb3a5;margin-right:auto}.leaderboard-tools .text-button{font:700 10px 'Courier New',monospace;letter-spacing:.06em;color:#f0b782;padding:6px 0}
/* Leaves room for the heading, tabs and pinned row, so the dialog itself never scrolls on laptops. */
.leaderboard-scroll{max-height:clamp(180px,calc(100dvh - 470px),520px);overflow-y:auto;margin-top:8px;border:1px solid #5e7d7066;background:#0d2630;scrollbar-gutter:stable;overscroll-behavior:contain}
.leaderboard-dialog[data-state=empty] .leaderboard-scroll{display:none}.leaderboard-scroll:focus-visible{outline:2px solid #edaa76;outline-offset:2px}
.leaderboard-list{list-style:none;margin:0;padding:0}.leaderboard-list[aria-busy=true]{opacity:.6}
.leaderboard-row{display:grid;grid-template-columns:86px 40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 14px;border-bottom:1px solid #718d7426;color:#e6ead6}
.leaderboard-rank{font:400 20px Impact,'Arial Narrow',sans-serif;letter-spacing:.03em;display:flex;align-items:baseline;gap:6px}.leaderboard-rank small{font:700 9px 'Courier New',monospace;letter-spacing:.08em}
.leaderboard-badge .rank-badge{width:34px;height:39px;display:block}
.leaderboard-name{display:flex;flex-direction:column;min-width:0;font:700 14px Arial,sans-serif;overflow-wrap:anywhere}.leaderboard-name small{font:10px 'Courier New',monospace;color:#a9bcae;margin-top:2px}
.leaderboard-name em{align-self:flex-start;order:-1;margin-bottom:3px;padding:1px 6px;font:700 8px 'Courier New',monospace;font-style:normal;letter-spacing:.12em;background:#edaa76;color:#132e38}
.leaderboard-points{font:400 21px Impact,'Arial Narrow',sans-serif;text-align:right;color:#f1e8ce}.leaderboard-points small{font:9px 'Courier New',monospace;margin-left:5px;color:#a9bcae}
/* Podium rows: medal colour plus the written place, never colour alone. */
.leaderboard-row.podium{border-left:4px solid var(--medal);background:linear-gradient(90deg,color-mix(in srgb,var(--medal) 16%,transparent),transparent 60%)}.leaderboard-row.podium .leaderboard-rank{color:var(--medal)}
.podium-1{--medal:#f2cd68}.podium-2{--medal:#cdd8de}.podium-3{--medal:#d8ab70}.podium-1 .leaderboard-rank{font-size:26px}
.leaderboard-row.is-you{background:#294a4b;box-shadow:inset 3px 0 0 #edaa76}.leaderboard-row.is-you.podium{box-shadow:inset 0 0 0 1px #edaa76}
.leaderboard-page{display:block;width:100%;padding:12px;background:#173944;color:#f0b782;border:0;border-top:1px solid #5e7d7066;font:700 10px 'Courier New',monospace;letter-spacing:.1em;cursor:pointer}
.leaderboard-page:hover,.leaderboard-page:focus-visible{background:#21463e;outline:2px solid #edaa76;outline-offset:-2px}.leaderboard-page:disabled{opacity:.5;cursor:progress}
.leaderboard-more-error:empty{display:none}.leaderboard-more-error{margin:8px 14px;color:#f3a58f!important;font:11px 'Courier New',monospace}
.leaderboard-you{margin-top:10px;border:1px solid #edaa7699;background:#10303a;padding:8px 0 0}.leaderboard-you:empty{display:none}
.leaderboard-you .eyebrow{padding:0 14px 4px}.leaderboard-you p{margin:2px 14px 4px;font-size:13px}.leaderboard-you .text-button{margin:0 14px 10px;padding:4px 0;font:700 10px 'Courier New',monospace;color:#f0b782;letter-spacing:.08em}
.leaderboard-you .leaderboard-row{border-bottom:0}
.leaderboard-rules{font:10px 'Courier New',monospace;margin:12px 0 0}
#ranked-leaderboard{margin-top:4px;font:700 10px 'Courier New',monospace;letter-spacing:.08em;color:#f0b782}
.leaderboard-dialog [hidden],#leaderboard-button[hidden],#ranked-leaderboard[hidden]{display:none}
@media(max-width:600px){.leaderboard-row{grid-template-columns:64px 30px minmax(0,1fr) auto;gap:8px;padding:6px 8px}.leaderboard-rank{font-size:16px}.leaderboard-points{font-size:17px}}
