/* Public leaderboard — self-contained dark/light tokens, no global element rules. */
.quiz-page .kp-leaders{margin:36px auto 0;padding:clamp(16px,3vw,28px);background:var(--kp-surface-solid,#fff);color:var(--kp-text,#172b45);border:1px solid var(--kp-border,#d1dce9);border-radius:22px;min-width:0}
.quiz-page .kp-leaders__head{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.quiz-page .kp-leaders__head h2{margin:0 0 8px;color:var(--kp-heading,#172b45);font-size:clamp(1.2rem,2.5vw,1.75rem)}
.quiz-page .kp-leaders__head p{color:var(--kp-text-muted,#475569);margin:0;line-height:1.6;max-width:680px}
.quiz-page .kp-leaders__periods{display:flex;flex-wrap:wrap;gap:6px}
.quiz-page .kp-leaders__periods a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--kp-border,#d1dce9);border-radius:12px;text-decoration:none;background:var(--kp-surface-2,#f1f5f9);color:var(--kp-text,#172b45);font-weight:750}
.quiz-page .kp-leaders__periods a[aria-current="true"]{color:#fff;background:#245bd6;border-color:#245bd6}
.quiz-page .kp-leaders__overflow{max-width:100%;overflow-x:auto}
.quiz-page .kp-leaders__table{width:100%;border-collapse:collapse;min-width:440px}
.quiz-page .kp-leaders__table th,.quiz-page .kp-leaders__table td{padding:12px 10px;border-bottom:1px solid var(--kp-border,#d1dce9);text-align:left;color:var(--kp-text,#172b45)}
.quiz-page .kp-leaders__table th{background:var(--kp-surface-2,#f1f5f9);font-size:.85rem;color:var(--kp-text-muted,#475569)}
.quiz-page .kp-leaders__table td:nth-child(n+3),.quiz-page .kp-leaders__table th:nth-child(n+3){text-align:right;white-space:nowrap}
.quiz-page .kp-leaders__rank{display:inline-flex;align-items:center;justify-content:center;background:var(--kp-surface-3,#e2e8f0);color:var(--kp-text,#172b45);border-radius:100px;font-weight:800;min-width:34px;min-height:34px}
.quiz-page .kp-leaders__empty,.quiz-page .kp-leaders__note{color:var(--kp-text-muted,#475569);line-height:1.6}
.quiz-page .kp-leaders__note{font-size:.85rem;margin:14px 0 0}
@media(max-width:520px){.quiz-page .kp-leaders__table{min-width:375px}.quiz-page .kp-leaders__table th,.quiz-page .kp-leaders__table td{padding:10px 6px;font-size:.83rem}}
