/* All-time ranks: the "All-time ranks" tab of #/records (views/rankings.js) — prefix rnk-
   (rk- belongs to the record book's rookie panel). */
.rnk-controls { flex-wrap: wrap; gap: 8px 16px; align-items: flex-end; margin: 4px 0 12px; }
.rnk-controls .rnk-field { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 3px; min-width: 0; }
.rnk-field select { max-width: 100%; }
.rnk-stat { min-width: 190px; }

.rnk-main { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; align-items: start; margin-top: 8px; }
@media (max-width: 1100px) { .rnk-main { grid-template-columns: minmax(0, 1fr); } }
.rnk-list { min-width: 0; overflow-x: auto; }

.rnk-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.rnk-title { font-size: 1.05rem; margin: 0; }
.rnk-title .muted { font-weight: 500; font-size: 0.9em; }
.rnk-hint { margin-top: 6px; }

.rnk-player { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.rnk-player .face { flex: none; border-radius: 4px; overflow: hidden; }
table.data tr.rnk-row { cursor: pointer; }
table.data tr.rnk-row td { vertical-align: middle; }
table.data tr.rnk-sel td { background: color-mix(in srgb, var(--accent) 14%, transparent); }
.rnk-rank { font-weight: 700; }
.rnk-val { font-weight: 600; font-variant-numeric: tabular-nums; }
.rnk-teams { display: inline-flex; flex-wrap: nowrap; gap: 3px; align-items: center; }
.rnk-active { color: var(--good); font-size: 0.7em; }

.rnk-delta { font-size: 0.8em; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rnk-up { color: var(--good); }
.rnk-down { color: var(--bad); }
.rnk-same { color: var(--dim); }
.rnk-new { color: var(--accent); letter-spacing: 0.03em; font-size: 0.7em; }

.rnk-movers { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.rnk-mv-head { margin: 0 0 8px; font-size: 0.95rem; }
.rnk-mv-sec + .rnk-mv-sec { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.rnk-mv-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--dim); font-weight: 700; margin-bottom: 4px; }
.rnk-mv-list { margin: 0; padding-left: 1.3em; }
.rnk-mv-list li { margin: 4px 0; line-height: 1.35; overflow-wrap: anywhere; }
.rnk-links { margin-top: 10px; }

.rnk-chart-card { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; margin: 4px 0 14px; }
.rnk-chart-title { margin: 0; font-size: 0.95rem; }
.rnk-chart svg { display: block; max-width: 100%; }
.rnk-line { fill: none; stroke: var(--accent); stroke-width: 2.2; }
.rnk-dot { fill: var(--panel); stroke: var(--accent); stroke-width: 2; cursor: pointer; }
.rnk-dot-now { fill: var(--accent); }

@media (max-width: 600px) {
	.rnk-stat { min-width: 0; width: 100%; }
	.rnk-controls .rnk-field { width: 100%; }
	.rnk-title { font-size: 0.95rem; }
}
