/* Best-value leaderboard (leaderboard.html only). */
.lb-wrap { max-width: 1280px; }
.lb .panel { margin: 14px 0; }
.lb h2 { font-size: 1.1rem; margin: 0 0 8px; }
.lb-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.lb-presets .btn[aria-pressed="true"] { background: var(--accent); color: #fff; border-color: var(--accent); }
.lb-sliders { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px 18px; }
.lb-sliders.small { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); font-size: .9rem; }
.lb-slider { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 8px; }
.lb-slider input[type=range] { grid-column: 1 / -1; width: 100%; }
.lb-slider output { font-variant-numeric: tabular-nums; color: var(--text-2); min-width: 1.5em; text-align: right; }
.lb-slider .note { grid-column: 1 / -1; font-size: .75rem; color: var(--muted); }
.lb-sub { margin-top: 10px; }
.lb-sub summary { cursor: pointer; font-weight: 600; }
.lb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.lb-checks { display: flex; gap: 10px; flex-wrap: wrap; }
.lb-checks label { display: inline-flex; gap: 4px; align-items: center; }
fieldset.field { border: 0; padding: 0; margin: 0; }
.lb-toolbar { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 8px; }
.lb-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.lb-actions input { width: 4.5em; }
.lb-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.lb-table { margin: 0; font-size: .85rem; }
.lb-table th, .lb-table td { white-space: nowrap; padding: 6px 8px; }
.lb-table thead th { position: sticky; top: 0; background: var(--surface-2); vertical-align: bottom; }
.lb-table thead th button { all: unset; cursor: pointer; font-weight: 600; }
.lb-table thead th button:focus-visible { outline: 2px solid var(--accent); }
.lb-table thead th[aria-sort="ascending"] button::after { content: " ▲"; }
.lb-table thead th[aria-sort="descending"] button::after { content: " ▼"; }
.lb-table td.veh, .lb-table th.veh { text-align: left; white-space: normal; min-width: 15em; }
.lb-table td.veh small { display: block; color: var(--muted); }
.lb-table .na { color: var(--muted); }
.lb-table .grp { border-left: 2px solid var(--axis); }
.lb-bar { display: inline-block; height: 8px; background: var(--series-1); border-radius: 4px; vertical-align: middle; margin-right: 6px; }
.lb-score { font-weight: 700; }
.lb-low { color: var(--bad); }
.lb-dialog { max-width: 760px; width: calc(100% - 32px); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); color: var(--text); padding: 16px 18px; }
.lb-dialog::backdrop { background: rgba(0,0,0,.35); }
.lb-dialog-close { float: right; }
.lb-dialog h3 { margin: 0 0 4px; }
.lb-dialog h4 { margin: 14px 0 4px; }
.lb-dialog .data-table td, .lb-dialog .data-table th { padding: 4px 6px; }
.lb-dialog .src { font-size: .78rem; color: var(--muted); }
.tag { display: inline-block; font-size: .7rem; padding: 0 5px; border-radius: 6px; border: 1px solid var(--border); color: var(--text-2); margin-left: 4px; }
.tag.tested { border-color: var(--good); color: var(--good); }
.lb-method ul { margin: 0; padding-left: 1.2em; }
.lb-print { display: none; }
@media print {
  body.lb > *:not(.lb-print) { display: none !important; }
  .lb-print { display: block; font: 9pt/1.25 var(--font); color: #000; max-height: 5.2in; overflow: hidden; }
  .lb-print h1 { font-size: 12pt; margin: 0 0 2pt; }
  .lb-print p { margin: 0 0 4pt; }
  .lb-print table { border-collapse: collapse; width: 100%; }
  .lb-print th, .lb-print td { border-bottom: .5pt solid #999; padding: 1.5pt 3pt; text-align: right; }
  .lb-print th:nth-child(2), .lb-print td:nth-child(2) { text-align: left; }
  @page { size: letter; margin: .5in; }
}

/* tiers, condition, basis (R12) */
.lb-tierbar { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin-bottom: .5rem; }
.lb-cond, .lb-basis { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.lb-tiers { display: flex; gap: .35rem; flex-wrap: wrap; }
.lb-chip { border: 1px solid var(--line, #cbd5e1); background: transparent; border-radius: 999px; padding: .25rem .65rem; font: inherit; font-size: .9rem; cursor: pointer; }
.lb-chip[aria-pressed="true"] { background: var(--accent, #0f766e); color: #fff; border-color: transparent; }
.lb-chip small { opacity: .8; margin-left: .25rem; }
.tag.used { background: #fef3c7; }
.tag.lowc { background: #fee2e2; }
@media print { .lb-tierbar { display: none; } }

/* low-confidence toggle */
.lb-lowconf { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; margin: .25rem 0 .5rem; }
.lb-lowconf label { display: inline-flex; gap: .35rem; align-items: center; }
@media print { .lb-lowconf { display: none; } }
#year-hint:empty { display: none; } #year-hint { grid-column: 1 / -1; margin: 0; }
