/* Control Point shared game pages + team logos; source of truth: shared/gamepages/gamepages.css */
/* team logos on TV buttons (Matt 2026-10-18) */
.gl2{display:flex;align-items:center;justify-content:center;gap:2px;pointer-events:none}
.gl2 img{display:block;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,255,255,.55))}
.gl2 b{font:800 9px/1 var(--bd);color:#fff}
.map.plan.crop .tv{min-height:0;overflow:hidden}
.map.plan .tv.game{padding:2px 0 0;gap:0;justify-content:center}
.map.plan .tv.game .gl2 img{width:calc(14px * var(--k,1));height:calc(14px * var(--k,1))}
.map.plan .tv.game .gs{font-size:8.5px;line-height:1;margin-top:1px}
.tv .gs{font:800 9px/1.1 var(--bd);font-style:normal;color:#fff;background:var(--sc);border-radius:4px;padding:1px 3px;margin-top:2px;white-space:nowrap;letter-spacing:-.02em}
.mapvp.compact .tv.game .gl2 img{width:13px;height:13px}.mapvp.compact .tv .gs{font-size:7.5px;padding:0 2px}
.tvg .gl2.big{gap:10px}.tvg .gl2.big img{width:44px;height:44px}.tvg .gl2.big b{font-size:16px}
.tvg .tvc{flex-direction:column;gap:3px}.tvg .gs{font:800 13px/1.1 var(--bd);font-style:normal;color:#fff;background:var(--sc);border-radius:6px;padding:1px 8px}
.src .gsub{display:flex;align-items:center;justify-content:center;gap:5px}
.src .gl2.sm img{width:18px;height:18px}.src .gsub span{font:800 11px var(--bd)}

/* NFL Sunday page (Matt 2026-10-18) */
.btn.nflgo{display:block;width:100%;margin:0 0 10px;border-color:var(--g);font-weight:800}
.nflpage{display:flex;flex-direction:column;gap:8px}
.nflbar{display:flex;flex-direction:column;gap:6px}.nflbar .hint b{color:var(--tx)}
.nboxes{display:grid;grid-template-columns:repeat(var(--nb,9),1fr);gap:6px}
.nbox{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:3px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:var(--tx);font:inherit}
.nbox b{font-size:13px}.nbox small{font-size:10.5px;color:var(--mut);white-space:nowrap;overflow:hidden;max-width:100%}.nbox.on{border-color:var(--g);background:#173a15}
.nextras{display:flex;flex-wrap:wrap;gap:6px}
.nflgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.nflg{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 6px;border:2px solid #2c2c2c;border-radius:12px;background:#161616;color:var(--tx);font:inherit;
  touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.nflg.in{border-color:var(--g)}.nflg.post{opacity:.6}.nflg.noch{opacity:.5}
.nflg .nt{display:flex;align-items:center;gap:8px;pointer-events:none}.nflg .nt img{width:40px;height:40px;object-fit:contain}.nflg .nt b{font-size:18px}.nflg .nt i{font-style:normal;color:var(--mut);font-weight:800}
.nflg .nn{font:800 14px var(--hd);letter-spacing:.05em}.nflg .ns{font-size:12px;color:var(--mut)}.nflg .ns .live{color:var(--g)}
.nflg .nc{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.nflg .ch{font:700 11px var(--bd);padding:2px 7px;border-radius:7px;background:#2a2a2a;color:#ddd}.nflg .ch.p{background:#1e4fa8;color:#fff}.nflg .ch.none{background:none;color:var(--mut)}
.nflg .hring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.nflg .hring rect{fill:none;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;transition:stroke-dashoffset .2s,opacity .2s}
.nflg.sholding .hring rect{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset var(--hold-ms,1500ms) linear,opacity .1s}
.nflg.sholding{transform:scale(.97)}.nflg.shold-done{animation:gpPulse .5s ease-out}
.nflfoot{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
@media (max-width:700px){.nboxes{grid-template-columns:repeat(3,1fr)}.nflgrid{grid-template-columns:1fr 1fr}.nflg .nt img{width:40px;height:40px}}
.nbox .gl2 img{width:22px;height:22px}.nbox .gl2{gap:4px}
/* NCAAF (2026-10-17): rank badges, stream-only chips */
.nflg .nt .rk{font-style:normal;font-weight:800;font-size:.72em;color:#ffd166;align-self:flex-start;margin:0 1px}
.nflg .ch.stream{opacity:.75;border-style:dashed}

@keyframes gpPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}100%{box-shadow:0 0 0 14px rgba(255,255,255,0)}}
/* 2026-10-21 sportstabs: league tab row (scrolls sideways on phone and when it doesn't fit), dimmed = no games today */
.sptabs{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.sptab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;scroll-snap-align:start;padding:8px 12px;border-radius:999px;
  border:1px solid var(--line);background:var(--card);color:var(--tx);font:700 13px var(--hd);letter-spacing:.03em;touch-action:manipulation}
.sptab small{font:800 11px var(--bd);background:#333;border-radius:999px;padding:1px 7px;color:#fff}
.sptab.on{background:var(--o);border-color:var(--o);color:#fff}.sptab.on small{background:rgba(0,0,0,.35)}
.sptab.dim{opacity:.45}.sptab.dim.on{opacity:1}
.nflg.ev .nt img{width:44px;height:44px;object-fit:contain}.nflg.ev .nn{white-space:normal;line-height:1.15}
@media (max-width:700px){.sptab{padding:7px 10px;font-size:12px}}
/* 2026-10-21 tabwrap: all leagues visible, no sideways scroll; equal-width grid, short labels */
.sptabs{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));overflow:visible;padding:2px 0 4px;scroll-snap-type:none}
.sptab{min-height:42px;justify-content:center;padding:4px 4px;border-radius:10px;gap:4px;min-width:0;font-size:12px}
.sptab b{font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sptab small{padding:0 5px;font-size:10px}
@media (max-width:1000px){.sptabs{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media (max-width:700px){.sptabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.sptab{font-size:11px;padding:3px 2px;flex-direction:column;gap:0;min-height:44px}.sptab small{font-size:9px}}
@media (max-width:700px){.sptabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.sptab{font-size:10.5px;letter-spacing:0}}
