/* gw-lab-hoops.css — NBA + College Basketball Lab (hoopslab1008). Loaded after gw-tokens, gw-analytics, gw-lab,
   gw-lab-players, gw-lab-explore (gwx-* matchup styles) and gw-lab-nhl-p4 (gwn4-* lists, chips, sparklines, charts).
   Only what those files do not already provide; same tokens, no new colours or type scale. */
.gwh-t,.gwa-main .gwlp-glog{width:100%}
.gwh-t td,.gwh-t th{padding:0 10px;white-space:nowrap}
.gwh-t td{font-variant-numeric:tabular-nums}
.gwh-t td:first-child,.gwh-t th:first-child{text-align:left}
.gwh-also{margin:0 14px 12px;font-size:13px;line-height:1.6;color:var(--t2)}
.gwh-t tbody tr.gwh-on th,.gwh-t tbody tr.gwh-on td{background:rgba(212,160,23,.07)}
.gwh-empty{color:var(--tm);font-size:13px;margin:0;padding:6px 14px 14px}
.gwh-link{background:none;border:0;padding:0;font:inherit;color:var(--t1);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:rgba(212,160,23,.45);text-underline-offset:3px}
.gwh-link:hover{color:var(--gold,#fbbf24)}
.gwh-or{margin:-6px 0 14px;font-size:13px}
.gwh-pill{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:rgba(212,160,23,.14);color:#fbbf24;vertical-align:1px}
.gwn4-st.gwh-out{background:rgba(180,65,59,.2);color:var(--gw-bad,#f87171)}
.gwh-ul{list-style:none;margin:0;padding:4px 14px 14px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;color:var(--t2)}
.gwh-ul strong{color:var(--t1);margin-right:4px}
.gwh-leads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.gwh-leads>.gwa-panel{margin:0}
.gwh-lead .gwn4-list>li{padding:7px 8px}
.gwh-ln{width:18px;flex:0 0 18px;text-align:right;color:var(--tm);font-size:12px;font-variant-numeric:tabular-nums}
.gwh-nm{color:var(--t1);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gwh-pl .gwlp-sub a.in{color:var(--t2);text-decoration:none}
.gwh-pl .gwlp-sub a.in:hover{color:var(--gold,#fbbf24)}
.gwh-pl .gwn4-spk{vertical-align:-3px;margin-left:4px}
.gwh-pl .gwx-lg{vertical-align:-3px}
.gwh-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gwh-cards>.gwa-panel{margin:0}
.gwh-card h3{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tm);margin:4px 14px 6px}
.gwh-card .gwa-pt .gwx-lg{vertical-align:-5px;margin-right:4px}
.gwh-card .gwa-pt a.in{color:var(--t1);text-decoration:none}
.gwh-card .gwa-pt a.in:hover{color:var(--gold,#fbbf24)}
.gwh-rot{padding-bottom:10px}
.gwh-rot .gwh-t{margin:0 4px}
[data-leaders],[data-summary],[data-teams],[data-roll],[data-movers]{margin:0 0 18px}
@media(max-width:900px){.gwh-leads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .gwh-leads,.gwh-cards{grid-template-columns:1fr}
  .gwh-t td,.gwh-t th{padding:0 7px}
}
.gwa-main .gwn4-t,.gwa-main .gwx-t{width:100%}

/* ══ design1008 (Shane 10/8): matchups = stats first. One card: header (logos, names, records, tip, team colours) + ONE
   two-column table (team overview, then offense vs defense both ways) using the game page's .mx rows (css/gw-gamepage.css,
   scoped .pv). Market + G&W Model card next; rest & travel, rotations, injuries below as <details>. ══ */
.gwh-card{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-lg,14px);padding:0 18px 14px;margin:0 0 16px;min-width:0;overflow:hidden}
.gwh-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;margin:0 -18px;padding:18px 18px 16px;
  border-bottom:1px solid var(--div);
  background:linear-gradient(90deg,var(--ca) 0 50%,var(--ch) 50% 100%) top/100% 3px no-repeat,
    radial-gradient(60% 140% at 0% 0%,var(--cas) 0%,transparent 70%),radial-gradient(60% 140% at 100% 0%,var(--chs) 0%,transparent 70%)}
.gwh-tm{display:flex;align-items:center;gap:12px;min-width:0;color:var(--t1);text-decoration:none}
.gwh-tm-h{flex-direction:row-reverse;text-align:right}
.gwh-tm .gwx-lg{width:48px;height:48px;flex:0 0 48px;object-fit:contain}
.gwh-tx{display:flex;flex-direction:column;min-width:0;gap:2px}
.gwh-tn{font-weight:800;font-size:18px;line-height:1.2;color:#fff;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:4px}
.gwh-tm:hover .gwh-tn,.gwh-tm:focus-visible .gwh-tn{text-decoration-color:var(--tc)}
.gwh-rec{font-size:12.5px;color:var(--t2);font-variant-numeric:tabular-nums}
.gwh-tm::before{content:"";flex:0 0 4px;align-self:stretch;border-radius:3px;background:var(--tc)}
.gwh-mid{text-align:center}
.gwh-time{font-weight:800;font-size:17px;color:var(--gold,#fbbf24);font-variant-numeric:tabular-nums;white-space:nowrap}
.gwh-time.gwh-vs{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--t2)}
.gwh-date{font-size:11.5px;color:var(--tm);white-space:nowrap;margin-top:2px}
.gwh-mx{min-width:0}
.pv.gwh-mx .mx-g:first-child{margin-top:14px}
.pv.gwh-mx .mx-g>span:last-child{justify-self:end}
.pv.gwh-mx .mx-tt img{width:18px;height:18px}
.pv.gwh-mx .mx-meta{max-width:150px}
.pv.gwh-mx .mx-v.a .mx-meta{margin-left:auto}
.pv.gwh-mx .mx-v.h .mx-meta{margin-right:auto}
.pv.gwh-mx .mx-pill{min-width:70px}
.gwh-sg{display:flex;justify-content:center;margin:8px 0 2px}
.gwh-sg span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tm);border-bottom:1px solid var(--div);padding:0 10px 3px}
.gwh-txt{font-size:13px;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums}
.gwh-txt.mx-quiet{color:var(--tm);font-weight:500}
.gwh-span{text-align:center;padding:7px 8px;font-size:13px;color:var(--t2);line-height:1.45;font-variant-numeric:tabular-nums}
.gwh-span b{color:#fff}
.gwh-spl{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tm);margin-right:8px}
.gwh-span.gwh-vs{color:var(--gold,#fbbf24);font-weight:700}
.gwh-span.gwh-lockrow{text-align:left;padding:4px 0}
.gwh-note{font-size:12.5px;color:var(--tm)}
.gwh-px{font-weight:500;opacity:.72}
.gwh-mk{padding-top:2px}
.gwh-mk .mx-g:first-child{margin-top:12px}
.pv.gwh-mx .mx-legend{margin-top:12px}
/* below the numbers */
.gwh-more{display:flex;flex-direction:column;gap:10px;margin:0 0 16px}
.gwh-det{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-lg,14px);padding:0 18px;min-width:0}
.gwh-det summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:13px 0;cursor:pointer;list-style:none;border-radius:8px}
.gwh-det summary::-webkit-details-marker{display:none}
.gwh-det summary::before{content:"▸";color:var(--gold,#fbbf24);width:12px}
.gwh-det[open] summary::before{content:"▾"}
.gwh-det summary:focus-visible{outline:2px solid var(--gold,#fbbf24);outline-offset:2px}
.gwh-dt{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--t1)}
.gwh-ds{font-size:12.5px;color:var(--t2);font-variant-numeric:tabular-nums}
.gwh-det[open]{padding-bottom:12px}
.gwh-det .mx-g:first-child{margin-top:4px}
.gwh-rl{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--t1)}
.mx-v.a .gwh-rl{align-items:flex-end}
.gwh-rp{display:inline-flex;gap:8px;align-items:baseline}
.gwh-rp b{font-variant-numeric:tabular-nums;color:var(--gold,#fbbf24);min-width:18px;text-align:center}
.gwh-ij{display:flex;flex-direction:column;gap:4px;min-width:0}
.mx-v.a .gwh-ij{align-items:flex-end}
@media(max-width:640px){
  .gwh-card{padding:0 10px 12px}
  .gwh-head{margin:0 -10px;padding:14px 10px 12px;gap:8px}
  .gwh-tm,.gwh-tm-h{flex-direction:column;align-items:flex-start;gap:6px}
  .gwh-tm-h{align-items:flex-end}
  .gwh-tm::before{display:none}
  .gwh-tm{border-left:3px solid var(--tc);padding-left:8px}
  .gwh-tm-h{border-left:0;border-right:3px solid var(--tc);padding:0 8px 0 0}
  .gwh-tm .gwx-lg{width:34px;height:34px;flex-basis:34px}
  .gwh-tn{font-size:14px}
  .gwh-rec{font-size:11px}
  .gwh-time{font-size:14px}
  .pv.gwh-mx .mx-bar{display:none}                 /* phones: value + rank only */
  .pv.gwh-mx .mx-meta{min-width:0;width:auto}
  .pv.gwh-mx .mx-pill{min-width:0}
  .pv.gwh-mx .mx-tt b{font-size:10px}
  .gwh-det{padding:0 10px}
  .gwh-span{font-size:12px;padding:6px 2px}
  .gwh-rl,.gwh-txt{font-size:12px}
  .gwh-rp{gap:5px}
}
@media(max-width:640px){.gwh-nobar{display:none}}
.mx-v.a .gwh-rp{justify-content:flex-end;text-align:right}
/* standard1008: key person under each team name in the matchup header (top scorer + players listed out) */
.gwh-kp{display:flex;flex-direction:column;gap:1px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.gwh-tm-h .gwh-kp{align-items:flex-end}
.gwh-kp em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tm,#a8a29e)}
.gwh-kp b{font-size:14.5px;font-weight:800;color:#fff;line-height:1.25;overflow-wrap:anywhere}
.gwh-kp i{font-style:normal;font-size:11.5px;color:var(--t2);font-variant-numeric:tabular-nums}
.gwh-kf{display:inline-block;margin-top:4px;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:rgba(248,113,113,.14);color:var(--gw-bad,#f87171);align-self:flex-start}
.gwh-tm-h .gwh-kf{align-self:flex-end}
@media (max-width:640px){.gwh-kp b{font-size:12.5px}.gwh-kp i{font-size:10.5px}.gwh-kp em{font-size:9px}}
