.rankings-heading { max-width:900px; }
.rankings-archive { border:1px solid #a88a5c; background:#f3e7cf; box-shadow:0 8px 28px #47301a14; margin:30px 0; }
.rankings-toolbar { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:16px; padding:22px; background:#dfcea9; }
.rankings-toolbar label { display:grid; gap:8px; font-weight:bold; font-size:14px; }
.rankings-archive button,.rankings-archive select { min-height:44px; padding:10px 15px; border:1px solid #997643; border-radius:3px; background:#fff5df; color:#382819; font:inherit; font-size:14px; cursor:pointer; }
.rankings-archive button:disabled,.rankings-archive select:disabled { cursor:default; opacity:.7; }
.rankings-archive button:focus-visible,.rankings-archive select:focus-visible { outline:3px solid #4d6575; outline-offset:3px; }
.rankings-boards { display:flex; flex-wrap:wrap; gap:8px; padding:16px 22px; border-bottom:1px solid #b8a17b; }
.rankings-boards button[aria-pressed="true"] { background:#72363a; color:#fff8e8; border-color:#542728; }
.rankings-results { padding:22px; min-height:200px; }
.rankings-status { color:#5a4632; line-height:1.65; margin:0 0 18px; }
.rankings-note { padding:12px 15px; background:#e4d3af; border-left:3px solid #997643; font-size:14px; }
.rankings-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:16px; color:#2f2113; }
.rankings-table caption { text-align:left; font-family:Georgia,serif; font-size:24px; padding:8px 0 20px; font-weight:bold; color:#542728; }
.rankings-table th,.rankings-table td { padding:14px 12px; border-bottom:1px solid #cabb9b; text-align:left; overflow-wrap:anywhere; }
.rankings-table thead { background:#dccaA6; font-size:13px; }
.rankings-table th:first-child { width:65px; }
.rankings-table th:last-child { width:185px; }
.rankings-table td:last-child,.rankings-table th:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.rankings-table tbody tr:nth-child(-n+3) { background:#e9d8b1; font-weight:bold; }
.rankings-table tbody tr:nth-child(n+4):nth-child(even) { background:#ebdec466; }
.rankings-explainer { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:30px 0; }
.rankings-explainer h2 { font-size:24px; }
.rankings-explainer p { line-height:1.7; }
.rankings-archive [hidden] { display:none !important; }
@media(max-width:700px) {
  .rankings-toolbar,.rankings-boards,.rankings-results { padding:14px; }
  .rankings-boards { gap:6px; }
  .rankings-boards button { flex:1 1 120px; font-size:12px; padding:9px; }
  .rankings-table { font-size:13px; }
  .rankings-table caption { font-size:20px; }
  .rankings-table th,.rankings-table td { padding:12px 7px; }
  .rankings-table th:first-child { width:40px; }
  .rankings-table th:last-child { width:110px; }
  .rankings-explainer { grid-template-columns:1fr; gap:10px; }
}
