/* Oct 23 live review (Joseph's table rule): one value per cell, no clipped headers, Book on Best plays, equal gaps, one compact header line.
   Loaded last on every page, so it only has to out-rank the earlier files by order and one extra class. */

/* ---- one value per cell: the price sits beside the line, on the same line, at every width ---- */
.plays .c.line{white-space:nowrap;font-variant-numeric:tabular-nums}
.plays .c.line .j{display:inline;margin:0 0 0 6px;font-size:.84em;color:var(--ink-3);white-space:nowrap}

/* ---- Best plays tonight: Play | Grade | Book | Line | Cleared ---- */
.plays.best-plays{--cols:minmax(0,1fr) 48px 40px 96px 64px;--g:32px}
.plays.best-plays .c.book img,.plays.best-plays .c.book .bk-fb2{margin:0 auto}
@media (max-width:767px){
  .plays.best-plays{--cols:minmax(0,1fr) 34px 36px 84px;--g:8px}
  .plays.best-plays .hd>:nth-child(4),.plays.best-plays .bp>:nth-child(4){display:block}
  .plays.best-plays .hd>:nth-child(5),.plays.best-plays .bp>:nth-child(5){display:none}
  .plays.best-plays .c.line{font-size:13px}
  .plays.best-plays .c.line .j{margin-left:4px;font-size:11px}
}
@media (max-width:600px){   /* too tight for the grade: the letter also sits in Matchup grades */
  .plays.best-plays{--cols:minmax(0,1fr) 36px 84px}
  .plays.best-plays .hd>:nth-child(2),.plays.best-plays .bp>:nth-child(2){display:none}
}

/* ---- Props (page and home), phone: line and price share one slot ---- */
@media (max-width:767px){
  .pg-props .plays{--cols:minmax(0,1fr) 36px 84px 56px;--g:8px}
  .home-plays{--cols:minmax(0,1fr) 36px 84px 56px;--g:8px}
  .plays .c.line{font-size:13px}
  .plays .c.line .j{margin-left:4px;font-size:11px}
}

/* ---- home Props table, tablet and desktop: the name column is as wide as its widest name, every other column follows
        it at one equal gap, and the spare width sits after the last column. Rows share the card's tracks (subgrid). ---- */
@media (min-width:768px){
  .plays.home-plays{display:grid;column-gap:32px;justify-content:stretch;grid-template-columns:max-content 40px 100px 68px minmax(0,1fr)}
  .plays.home-plays>*{grid-column:1/-1}
  .plays.home-plays .hd,.plays.home-plays #cleared,.plays.home-plays #cleared .tr{display:grid;grid-template-columns:subgrid;column-gap:32px}
  .plays.home-plays #cleared,.plays.home-plays #cleared .tr{grid-column:1/-1}
  .plays.home-plays .tr[hidden]{display:none}
  .plays.home-plays .hd>*,.plays.home-plays .tr>*{min-width:0}
  .plays.home-plays .who{min-width:0}
}
@media (min-width:1024px){
  .plays.home-plays{grid-template-columns:max-content 240px 40px 100px 68px minmax(0,1fr)}
}

/* ---- compact page header: "Tonight · 12 games · first tip 4:00 PM" and a "?" legend ---- */
.hero.hero-c{display:block;padding:6px 8px 0;margin-bottom:var(--top-gap,16px)}
.hero-c .hc{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.hero-c h1{display:block;margin:0;font:700 20px/1.1 var(--disp);letter-spacing:.04em;text-transform:uppercase}
.hero-c .hc-m{font-size:13px;color:var(--ink-2)}
.hero-c .hc-m b{color:var(--ink);font-weight:500}
.hero-c .hc-q{flex:none;width:26px;height:26px;border:0;border-radius:50%;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink-2);font:600 13px/1 Geist,system-ui,sans-serif;cursor:pointer}
.hero-c .hc-q:hover,.hero-c .hc-q[aria-expanded=true]{background:rgba(255,255,255,.1);color:var(--ink)}
.hero-c .hc-leg ul{margin:12px 0 0;padding:14px 18px 14px 32px;border-radius:18px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px var(--hair);font-size:13px;color:var(--ink-2);line-height:1.5}
.hero-c .hc-leg b{color:var(--ink);font-weight:600}.hero-c .hc-leg b.pos{color:var(--green)}.hero-c .hc-leg b.neg{color:var(--red)}
.hero-c .strip-slot{margin-top:12px}
.dp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:auto;max-width:560px;margin:0 8px 16px}
.dp-stats .stat{min-width:0;padding:12px 8px 10px;text-align:center}.dp-stats .stat .num{font-size:22px}
