/* Leaderboard tabs (Individuals / Family Teams) and the expandable family team rows. */
.leaderboard-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.leaderboard-tab{appearance:none;min-height:44px;padding:10px 18px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.03);color:#d9e0e3;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation}
.leaderboard-tab:hover{border-color:rgba(243,178,122,.5)}
.leaderboard-tab[aria-selected="true"]{border-color:rgba(243,178,122,.8);background:rgba(243,178,122,.16);color:#f3b27a;box-shadow:inset 0 -3px 0 #f3b27a}
.leaderboard-tab:focus-visible,.team-toggle:focus-visible,.leaderboard-panel [role="tabpanel"]:focus-visible{outline:3px solid #f8c078;outline-offset:3px}
.leaderboard-status{margin:0 0 6px}
.leaderboard-panel [role="tabpanel"][hidden]{display:none}
.leaderboard-panel [role="tabpanel"]:focus:not(:focus-visible){outline:0}
.team-intro{margin:6px 0 0}
.leaderboard-list li.team-row{display:block;padding:0;min-width:0}
.team-toggle{appearance:none;display:grid;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 12px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.team-toggle:hover{background:rgba(255,255,255,.04)}
.team-name-block{display:grid;gap:2px;min-width:0}
.team-name{font-weight:700;overflow-wrap:anywhere}
.team-meta{font-size:13px;color:#b9bcbb}
.team-chevron{width:10px;height:10px;border-right:2px solid #f3b27a;border-bottom:2px solid #f3b27a;transform:rotate(45deg);justify-self:center;transition:transform .15s}
.team-toggle[aria-expanded="true"] .team-chevron{transform:rotate(-135deg)}
.team-roster{list-style:none;margin:0;padding:2px 14px 12px 66px;display:grid;gap:4px;border-top:1px solid rgba(255,255,255,.06)}
.team-roster[hidden]{display:none}
.team-roster li,.leaderboard-list .team-roster li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border:0;border-radius:0;background:none;min-width:0}
.team-member-name{min-width:0;overflow-wrap:anywhere}
.team-member-points{font-weight:700;color:#f3b27a}
.team-roster .team-more{display:block;color:#b9bcbb;font-size:14px}
@media (max-width:480px){
  .team-toggle{grid-template-columns:34px minmax(0,1fr) auto 16px;gap:8px;padding:10px}
  .team-roster{padding-left:44px}
}
@media (prefers-reduced-motion:reduce){.team-chevron{transition:none}}
