/* Every quarter table: one line per row, sideways scroll on phones, Notes is the only wrapping column */
.sheet .table-wrap { overflow-x: auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.sheet .ladder { table-layout: auto; width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; }
.sheet .ladder thead th, .sheet .ladder thead th:nth-child(n) { width: auto; }
.sheet .ladder th, .sheet .ladder td { white-space: nowrap; overflow-wrap: normal; word-break: normal; hyphens: none; padding: 8px 10px; font-size: 13px; line-height: 1.3; vertical-align: top; }
.sheet .ladder td.num, .sheet .ladder td.eps { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.sheet .ladder thead th { white-space: nowrap; word-break: normal; overflow-wrap: normal; hyphens: none; font-size: 10px; letter-spacing: .04em; line-height: 1.25; vertical-align: bottom; }
.sheet .ladder tbody th { position: sticky; left: 0; z-index: 1; background: var(--card); }
.sheet .ladder thead th:first-child { position: sticky; left: 0; top: 0; z-index: 3; background: var(--thead); }
.sheet .ladder tr.is-on th { background: var(--on); }
.sheet .ladder tr.is-hot th { background: var(--hot); }
.sheet .ladder th.notes, .sheet .ladder td.notes { white-space: normal; overflow-wrap: break-word; text-align: left; width: 220px; min-width: 220px; max-width: 220px; }
.sheet .ladder td.notes { font-size: 12px; line-height: 1.35; color: var(--ink); }
/* Magnitude bars stay one line tall even when a Notes cell wraps the row */
.sheet .ladder .mag { top: 5px; bottom: auto; height: calc(1.3em + 6px); }
/* Per-share bar sits inline before the number, not stacked above it */
.sheet .ladder td.eps .eps-stack { display: inline-flex; vertical-align: middle; width: 36px; max-width: 36px; height: 6px; margin: 0 6px 0 0; }
@media (width <= 720px) {
  .sheet .ladder th, .sheet .ladder td { font-size: 12px; padding: 6px 8px; }
  .sheet .ladder thead th { font-size: 9px; letter-spacing: .03em; }
  .sheet .ladder td.notes { font-size: 11px; }
  .sheet .ladder .mag { top: 4px; height: calc(1.3em + 4px); }
}
/* Detail card tiles: never clip at phone width */
aside.card .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
aside.card .stat { min-width: 0; }
aside.card .stat .v { overflow-wrap: anywhere; }
aside.card .stat .sofar { white-space: normal; flex-wrap: wrap; }
