/* /rankings (templates/rankings.html). Shared look (tokens, panels, tables, pills): wax-site.css. */
.rankings-page { width: min(1000px, calc(100% - 48px)); margin: 0 auto; padding: 52px 0 88px; }
.rankings-summary { margin-bottom: 22px; }
.world-label { margin: 0; }
.ranking-tabs { display: flex; flex-wrap: wrap; gap: 6px; width: fit-content; max-width: 100%; margin: 18px 0 22px; padding: 4px; border: 1px solid var(--wx-line-2); border-radius: 999px; background: var(--wx-sunken); }
.ranking-tabs a { padding: 8px 18px; border-radius: 999px; color: var(--wx-text-2); font-size: 14px; font-weight: 600; }
.ranking-tabs a:hover { color: var(--wx-text); background: rgba(204, 196, 224, 0.08); }
.ranking-tabs a[aria-current] { background: var(--wx-violet-bg); color: var(--wx-violet-hi); box-shadow: inset 0 0 0 1px rgba(201, 155, 255, 0.4); }
.ranking-table { overflow: hidden; }
.ranking-table > p { margin: 0; padding: 22px; color: var(--wx-muted); }
.ranking-table th:last-child, .ranking-table td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.ranking-table td:last-child { color: var(--wx-text); font-weight: 700; }
.ranking-table .ranking-position { width: 64px; color: var(--wx-violet); font-weight: 800; font-variant-numeric: tabular-nums; }
.ranking-table tbody tr:nth-child(-n+3) .ranking-position { color: var(--wx-gold); }
.ranking-table tbody tr:first-child td:first-child { box-shadow: inset 3px 0 0 var(--wx-gold); }
.ranking-identity { display: flex; align-items: center; gap: 13px; min-width: 0; }
.ranking-identity strong { overflow: hidden; color: var(--wx-text); text-overflow: ellipsis; white-space: nowrap; }
.ranking-avatar { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid var(--wx-line-accent); border-radius: 50%; background: var(--wx-violet-bg); color: var(--wx-violet-hi); font-size: 12px; font-weight: 800; }
.ranking-caption { margin: 16px 0 0; color: var(--wx-muted); font-size: 12.5px; }
@media (max-width: 560px) {
  .rankings-page { width: calc(100% - 28px); padding: 32px 0 60px; }
  .ranking-tabs { width: 100%; border-radius: 14px; }
  .ranking-tabs a { flex: 1 1 auto; padding: 8px 12px; text-align: center; font-size: 13px; }
  .ranking-table th, .ranking-table td { padding: 11px 10px; }
  .ranking-table .ranking-position { width: 40px; }
  .ranking-avatar { flex-basis: 30px; width: 30px; height: 30px; font-size: 11px; }
  .ranking-identity { gap: 9px; }
}
