/* Top Performers leaderboards — page-unique layout (tokens from core.css). */
.tp-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
@media (min-width: 1000px) { .tp-grid { grid-template-columns: repeat(2, 1fr); } }
.tp-board { border: 1px solid var(--colour-border); border-radius: var(--radius-lg); padding: var(--space-5); background: var(--colour-bg); }
.tp-board__title { font-size: var(--text-lg); font-weight: var(--fw-bold); color: var(--colour-primary); margin: 0 0 var(--space-1); }
.tp-board__blurb { font-size: var(--text-sm); color: var(--colour-text-muted); margin: 0 0 var(--space-4); }
.tp-row { display: grid; grid-template-columns: 1.6rem 1fr auto; align-items: center; gap: var(--space-3); padding: var(--space-2) 0; text-decoration: none; color: inherit; }
.tp-row:hover .tp-row__name { color: var(--colour-primary); }
.tp-row__rank { font-weight: var(--fw-extrabold); color: var(--colour-primary); text-align: center; }
.tp-row__name { display: block; font-weight: var(--fw-semibold); font-size: var(--text-sm); color: inherit; text-decoration: none; }
.tp-row__name:hover { color: var(--colour-primary); text-decoration: underline; }
.tp-row__area { display: block; font-size: 0.72rem; color: var(--colour-text-muted); margin-bottom: 4px; }
.tp-row__bar { display: block; width: 100%; height: 8px; border-radius: var(--radius-pill); background: var(--colour-lighter); overflow: hidden; }
.tp-row__bar > span { display: block; height: 100%; background: var(--colour-secondary); border-radius: var(--radius-pill); }
.tp-row__val { font-weight: var(--fw-extrabold); color: var(--colour-text); font-size: var(--text-sm); }
/* The count opens a contextual drill-down (the member's items, not their profile). */
.tp-row__val--drill { background: none; border: 0; font-family: inherit; cursor: pointer;
  color: var(--colour-primary); border-bottom: 1px dotted currentColor; padding: 0 0 1px; }
.tp-row__val--drill:hover { border-bottom-style: solid; }
