.leaderboard-screen { --board-accent:var(--primary-color,#397cb6); }
[data-theme="dark"] .leaderboard-screen { --board-accent:#88b6dc; }
.leaderboard-screen .leaderboard-page { width:100%;max-width:1080px;padding:22px 16px 40px; }
.leaderboard-screen .board-filters { display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:end;gap:14px;padding:16px;margin-bottom:18px;background:var(--surface-1,#fff);border:1px solid var(--border-soft,#d5dde6);border-top:2px solid var(--board-accent); }
.board-filters label { margin:0;min-width:0;color:var(--text-secondary);font-size:11px;font-weight:600; }
.leaderboard-screen .board-filters select { display:block;width:100%;min-width:0;height:38px;margin-top:6px;padding:7px 10px;border-radius:3px;border:1px solid var(--border-strong,#bcc9d5);background:var(--surface-input,#fff);color:var(--text-heading);font-size:12px; }
.leaderboard-screen .board-export { height:38px;white-space:nowrap;border:1px solid var(--border-strong);border-radius:3px;background:transparent;color:var(--text-primary);box-shadow:none;padding:7px 12px; }
.board-podium { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px; }
.board-podium[hidden] { display:none; }
.leaderboard-screen .board-podium-card { position:relative;display:grid;grid-template-columns:1fr auto;gap:5px 12px;min-width:0;padding:17px 18px;text-align:left;border:1px solid var(--border-soft);border-top:3px solid var(--podium-tone,#8997a4);border-radius:3px;background:var(--surface-1,#fff);color:var(--text-primary);box-shadow:none; }
.board-podium-card.first { --podium-tone:#be9848; }
.board-podium-card.second { --podium-tone:#8f9eac; }
.board-podium-card.third { --podium-tone:#af856c; }
.board-podium-card .podium-place { grid-column:1/-1;color:var(--podium-tone);font-size:10px;font-weight:700;letter-spacing:.08em; }
.board-podium-card .podium-name { align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--text-heading); }
.board-podium-card .podium-score { grid-column:2;grid-row:2/4;align-self:center;color:var(--text-heading);font-size:28px;line-height:1;font-variant-numeric:tabular-nums; }
.board-podium-card .podium-score small { margin-left:3px;font-size:10px;color:var(--text-secondary);font-weight:500; }
.board-podium-card .podium-meta { min-width:0;color:var(--text-secondary);font-size:10px;font-weight:500; }
.board-panel { overflow:hidden;border:1px solid var(--border-soft);border-radius:3px;background:var(--surface-1,#fff); }
.board-heading { display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border-soft); }
.board-kicker { margin:0 0 3px;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--board-accent); }
.board-heading h2 { margin:0;font-size:17px;line-height:1.4;color:var(--text-heading);overflow-wrap:anywhere; }
.board-count-label { flex-shrink:0;font-size:11px;color:var(--text-secondary); }
.board-columns,.board-row { display:grid;grid-template-columns:44px minmax(0,1fr) 100px 100px 120px 18px;gap:16px;align-items:center; }
.board-columns { padding:10px 20px;background:var(--surface-3);color:var(--text-secondary);font-size:10px; }
.board-columns span:nth-child(n+3) { text-align:right; }
.board-list { list-style:none;margin:0;padding:0; }
.board-list li+li { border-top:1px solid var(--border-soft); }
.leaderboard-screen .board-row { width:100%;min-width:0;margin:0;padding:15px 20px;text-align:left;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--text-primary);font-size:12px; }
.leaderboard-screen .board-row:hover,.leaderboard-screen .board-podium-card:hover { background:var(--surface-3);transform:none;filter:none; }
.leaderboard-screen .board-row:hover { border-left-color:var(--board-accent); }
.leaderboard-screen .board-row:focus-visible,.leaderboard-screen .board-podium-card:focus-visible { outline:2px solid var(--board-accent);outline-offset:-3px; }
.board-rank { color:var(--text-secondary);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums; }
.board-rank.top-1 { color:#b18a37; }.board-rank.top-2 { color:#8196a9; }.board-rank.top-3 { color:#ab7b5c; }
.board-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;color:var(--text-heading); }
.board-points { text-align:right;color:var(--board-accent);font-size:20px;font-variant-numeric:tabular-nums;font-weight:750; }
.board-points small { font-size:10px;margin-left:3px;font-weight:400; }
.board-settled,.board-rate { text-align:right;font-variant-numeric:tabular-nums; }
.board-settled small,.board-rate small { color:var(--text-secondary);font-size:10px;font-weight:400; }
.board-rate { display:grid;justify-items:end;gap:5px; }
.board-rate-track { width:72px;height:3px;background:var(--surface-4);border-radius:2px;overflow:hidden; }
.board-rate-track i { display:block;width:var(--rate);height:100%;background:var(--board-accent);opacity:.65; }
.board-chevron { color:var(--text-secondary);font-size:18px;text-align:right; }
.leaderboard-screen .board-list .empty-state { padding:40px 20px;text-align:center;background:transparent;border:0;border-radius:0; }
.board-panel .pagination:empty { display:none; }
.board-panel .pagination { margin:0;padding:14px;border-top:1px solid var(--border-soft); }
.board-rules { margin-top:14px;padding:12px 16px;border:1px solid var(--border-soft);background:var(--surface-1);color:var(--text-secondary);font-size:11px; }
.board-rules summary { cursor:pointer;color:var(--text-primary);font-weight:600; }
.board-rules p { line-height:1.9;margin:9px 0 0; }
.board-list[aria-busy="true"] { opacity:.55; }
@media(max-width:640px) {
    .leaderboard-screen .leaderboard-page { padding:12px 10px 26px; }
    .leaderboard-screen .board-filters { grid-template-columns:100px minmax(0,1fr);gap:10px;padding:12px;margin-bottom:12px; }
    .leaderboard-screen .board-export { grid-column:1/-1;justify-self:end;height:30px;padding:4px 8px;font-size:10px; }
    .board-podium { gap:6px;margin-bottom:14px; }
    .leaderboard-screen .board-podium-card { display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px 9px; }
    .board-podium-card .podium-name { width:100%;align-self:start;font-size:12px; }
    .board-podium-card .podium-score { font-size:25px; }
    .board-podium-card .podium-meta { font-size:9px; }
    .board-heading { padding:14px 12px;gap:8px; }
    .board-heading h2 { font-size:15px; }
    .board-count-label { font-size:10px; }
    .board-columns { display:none; }
    .leaderboard-screen .board-row { grid-template-columns:26px minmax(0,1fr) 74px;gap:5px 10px;padding:12px 10px; }
    .board-rank { grid-column:1;grid-row:1/3;font-size:12px; }
    .board-name { grid-column:2;grid-row:1;font-size:12px; }
    .board-points { grid-column:3;grid-row:1;font-size:19px; }
    .board-settled { grid-column:2;grid-row:2;text-align:left;color:var(--text-secondary);font-size:10px; }
    .board-rate { grid-column:3;grid-row:2;display:block;font-size:10px;color:var(--text-secondary); }
    .board-rate-track,.board-chevron { display:none; }
    .board-panel .pagination { gap:8px;padding:12px 7px;font-size:10px; }
    .board-panel .pagination button { padding:6px 8px;font-size:10px; }
}
