/* Best loadouts (/best/, /best/<class>/, /best/fastest-ttk/, /weapons/<id>/best-build/). Tokens come from tokens.css; mobile first. */

/* Source-named answers: a term, then its sentence. Stacked on phones, two columns from 720px. */
.bb-answers { display: grid; gap: var(--space-3); margin: 0 0 var(--space-4); max-width: 60rem; }
.bb-answers > div { padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-1); }
.bb-answers dt { margin: 0 0 var(--space-1); font-size: var(--text-sm); font-weight: 700; color: var(--text); }
.bb-answers dd { margin: 0; font-size: var(--text-md); line-height: 1.5; color: var(--text-muted); overflow-wrap: anywhere; }

/* The DMZ paragraph under the weapon page lede reads as part of the answer. */
.bb-dmz { max-width: 56ch; margin: 0 0 var(--space-4); color: var(--text-muted); }

/* Build cards of one weapon page: one column on phones, two when there is room. */
.bb-builds { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
  .bb-builds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bb-answers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Ranking tables: numbers align right and keep their width; the first column stays readable when the table scrolls. */
.bb-rank th[scope="row"], .bb-ttk th[scope="row"], .bb-hub th[scope="row"], .bb-tiers th[scope="row"], .bb-others th[scope="row"] { white-space: nowrap; font-weight: 600; }
.bb-rank td.num, .bb-ttk td.num, .bb-hub td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bb-ttk td:last-child { min-width: 14rem; }
.bb-wide { min-width: 16rem; }
.bb-others code { font: var(--text-sm) / 1.4 var(--font-mono); white-space: nowrap; }
.bb-rank a, .bb-ttk a, .bb-hub a, .bb-others a { display: inline-flex; align-items: center; min-height: 44px; }

/* One short paragraph per weapon on a class page. */
.bb-weapon { padding: var(--space-4) 0; border-top: 1px solid var(--border); max-width: 58ch; }
.bb-weapon:first-of-type { border-top: 0; }
.bb-weapon h3 { margin: 0 0 var(--space-2); font-size: var(--text-md); }
.bb-weapon p { margin: 0; color: var(--text-muted); }
.bb-weapon a { display: inline-flex; align-items: center; min-height: 44px; }

/* Link lists at the end of a page keep a 44px tap target on phones. */
#more .plain-list a { display: inline-flex; align-items: center; min-height: 44px; }

/* Table cells: ranking tables centre their rows on the 44px link; build tables keep text rows top-aligned. */
table.data.bb-rank :is(th, td), table.data.bb-ttk :is(th, td), table.data.bb-hub :is(th, td), table.data.bb-shared :is(th, td), table.data.bb-tiers :is(th, td) { vertical-align: middle; }
