/* The opt-in team leaderboard (leaderboard.js). */
.leaderboard { display: grid; gap: 1rem; min-width: 0; }
.leaderboard .page-heading { margin-bottom: 0; }
.lb-prefs, .lb-board { margin: 0; min-width: 0; }
.lb-switch { display: flex; gap: .65rem; align-items: center; min-height: 44px; font-size: 16px; font-weight: 700; color: var(--ink); cursor: pointer; }
.lb-switch input { width: 1.3rem; height: 1.3rem; flex: none; accent-color: var(--accent-deep); }
.lb-hint { margin: 0 0 .5rem; font-size: 14px; }
.lb-standing p { margin: .25rem 0 0; }
.lb-would { font-weight: 700; color: var(--ink); }
.lb-boards { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 800px) { .lb-boards { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.lb-board h2 { margin: 0 0 .5rem; font-size: 1.15rem; }
.lb-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.lb-table th { text-align: left; font-size: 13px; color: var(--ink-2); padding: .4rem .5rem; border-bottom: 1px solid var(--edge); }
.lb-table td { padding: .55rem .5rem; border-bottom: 1px solid var(--grid); overflow-wrap: anywhere; }
.lb-table .lb-rank { width: 4.5rem; }
.lb-table .lb-points { width: 5rem; text-align: right; font-variant-numeric: tabular-nums; }
.lb-table tr.is-you td { background: var(--accent-wash); }
.lb-you { margin-left: .5rem; font-size: 12px; font-weight: 800; color: var(--accent-deep); border: 1px solid var(--accent-deep); border-radius: 999px; padding: 0 .4rem; }
.lb-rules { margin: 0; font-size: 14px; }
.lb-progress-link { display: inline-block; margin-top: .5rem; }
.lb-prefs-card .text-link { display: inline-block; margin-top: .5rem; }
