/* Leaderboard — category tabs + board table (design tokens), CSP-safe. */
.lb-cats{display:flex;gap:8px;flex-wrap:wrap}
.lb-cat{font-family:var(--mono);font-size:12px;letter-spacing:0.04em;padding:8px 15px;border-radius:100px;cursor:pointer;background:transparent;border:1px solid rgba(245,241,233,0.12);color:var(--muted);font-weight:500}
.lb-cat:hover{color:var(--text);border-color:rgba(245,241,233,0.22)}
.lb-cat.is-active,.lb-cat[aria-selected="true"]{background:rgba(212,180,131,0.16);border-color:rgba(212,180,131,0.45);color:var(--gold-hi)}
.lb-cat-note{margin:0}
.lb-meta{margin:0;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:0.04em}

/* board table — leaderboard.js renders rows into [data-lb-board] */
[data-lb-board] table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
[data-lb-board] .table-wrap,[data-lb-board].table-wrap{overflow-x:auto}
[data-lb-board] th{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-weight:500}
[data-lb-board] td{font-size:13.5px;color:var(--text);padding:15px 18px;border-bottom:1px solid rgba(245,241,233,0.05)}
[data-lb-board] tr:last-child td{border-bottom:0}
[data-lb-board] td.lb-rank,[data-lb-board] .lb-rank{font-family:var(--mono);color:var(--gold-hi)}
[data-lb-board] td.lb-score,[data-lb-board] .lb-score{font-family:var(--mono);text-align:right}
[data-lb-board] tr.is-me,[data-lb-board] .is-me{background:rgba(212,180,131,0.08)}
[data-lb-board] .muted{color:var(--muted)}

/* --- podium (redesign-lb-podium.js) --- */
[data-lb-podium]{display:block;margin:4px 0}
[data-lb-podium][hidden]{display:none}
.lbp-podium{display:flex;align-items:flex-end;gap:14px}
.lbp-card{flex:1;background:#16110a;border:1px solid rgba(245,241,233,0.12);border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;text-align:center;min-height:160px}
.lbp-card.is-gold{min-height:210px;background:linear-gradient(165deg,#241a0e,#18120a);border-color:rgba(212,180,131,0.45)}
.lbp-card.is-silver{min-height:185px;border-color:rgba(207,199,182,0.3)}
.lbp-card.is-bronze{min-height:160px;border-color:rgba(192,138,90,0.3)}
.lbp-card.is-you{box-shadow:0 0 0 1px rgba(212,180,131,0.45) inset}
.lbp-card--empty{opacity:.5}
.lbp-medal{width:46px;height:46px;border-radius:50%;background:rgba(245,241,233,0.08);border:1px solid rgba(245,241,233,0.16);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:17px;font-weight:700;color:#cfc7b6}
.is-gold .lbp-medal{background:rgba(212,180,131,0.2);border-color:rgba(212,180,131,0.6);color:#e0c79a}
.is-bronze .lbp-medal{color:#c08a5a}
.lbp-handle{font-size:13.5px;color:#f5f1e9;font-weight:600;font-family:var(--mono)}
.lbp-you{color:#e0c79a;font-size:11px;margin-left:4px}
.lbp-score{font-family:var(--serif);font-size:26px;color:#cfc7b6;font-weight:500;letter-spacing:-0.01em}
.is-gold .lbp-score{color:#e0c79a}
.lbp-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:#8a8478}
.lbp-empty{font-size:13px;color:#8a8478}
.lbp-solo{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.lbp-solo .lbp-card{max-width:240px;min-height:170px}
.lbp-solonote{font-size:13px;color:#9c9fa8;margin:0;line-height:1.5;max-width:48ch}
