.sports-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:22px; flex-wrap:wrap; }
.sports-heading h2 { font-size:26px; letter-spacing:-.7px; margin:4px 0; }
.sports-eyebrow { color:var(--primary); font-size:11px; font-weight:700; letter-spacing:1.5px; }
.sports-muted, .sports-notes { color:var(--text-muted); font-size:12px; }
.sports-actions, .sports-toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.sports-toolbar { padding:16px; margin-bottom:24px; }
.sports-toolbar label { display:grid; gap:5px; font-size:12px; color:var(--text-muted); }
.sports-toolbar .form-input, .sports-toolbar .form-select { min-width:145px; }
.sports-section-title { display:flex; justify-content:space-between; align-items:center; margin:20px 0 10px; gap:10px; }
.sports-section-title h3 { font-size:15px; }
.sports-schedule { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.sports-fixture { padding:14px; margin:0; }
.sports-fixture-meta { display:flex; justify-content:space-between; color:var(--text-muted); font-size:12px; margin-bottom:10px; }
.sports-fixture-teams { display:grid; gap:3px; margin-bottom:12px; }
.sports-fixture-teams strong { font-size:13px; }
.sports-watchlist { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr)); gap:16px; }
.sports-game { padding:18px; margin:0; min-width:0; font-variant-numeric:tabular-nums; }
.sports-game-head { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-muted); }
.sports-league-badge { font-size:10px; font-weight:700; letter-spacing:.5px; padding:3px 7px; border:1px solid var(--border-color); border-radius:5px; color:var(--primary); }
.sports-remove { margin-left:auto; border:0; background:transparent; color:var(--text-muted); cursor:pointer; padding:5px; }
.sports-scoreboard { display:grid; grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr); align-items:center; text-align:center; gap:8px; padding:20px 0 16px; }
.sports-scoreboard h3 { font-size:13px; min-height:39px; display:flex; justify-content:center; align-items:center; overflow-wrap:anywhere; }
.sports-scoreboard strong { font-size:38px; line-height:1.2; letter-spacing:-1px; }
.sports-score-center { display:grid; gap:4px; color:var(--text-muted); font-size:12px; }
.sports-score-center b { font-size:22px; color:var(--primary); }
.sports-live { border-radius:8px; background:var(--primary-light); color:var(--primary); font-size:12px; padding:10px 12px; margin-bottom:14px; }
.sports-period-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.sports-period { display:flex; flex-direction:column; gap:4px; border:1px solid var(--border-color); border-radius:8px; padding:10px 5px; text-align:center; }
.sports-period span { color:var(--text-muted); font-size:10px; min-height:30px; display:flex; align-items:center; justify-content:center; }
.sports-period strong { font-size:23px; }
.sports-period small { font-size:10px; color:var(--text-muted); }
.sports-period.is-current { background:var(--primary-light); border-color:var(--primary); }
.sports-period.is-current strong { color:var(--primary); }
.sports-foul-note, .sports-event-age { font-size:10px; color:var(--text-muted); margin-top:10px; }
.sports-freshness { display:flex; justify-content:space-between; gap:8px; font-size:10px; color:var(--text-muted); margin-top:14px; border-top:1px solid var(--border-color); padding-top:10px; }
.sports-alert { color:#9a5a05; background:var(--warning-light); border-radius:6px; padding:8px; font-size:11px; margin-top:8px; }
.sports-game.is-stale .sports-live { background:var(--bg-subtle); color:var(--text-muted); }
.sports-game.is-stale .sports-age { color:var(--warning); }
.sports-notes { margin:18px 0; line-height:1.9; }
.sports-empty { padding:24px; text-align:center; color:var(--text-muted); border:1px dashed var(--border-color); border-radius:10px; font-size:12px; }
.sports-pip { min-height:100vh; padding:10px; display:block; }
.sports-pip-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.sports-pip .sports-game { margin-bottom:10px; padding:12px; }
.sports-pip .sports-scoreboard { padding:12px 0; }
@media(max-width:450px) { .sports-actions { width:100%; } .sports-actions .btn { flex:1; } .sports-heading h2 { font-size:23px; } .sports-game { padding:12px; } .sports-period-grid { gap:4px; } .sports-scoreboard strong { font-size:32px; } .bottom-nav .nav-item { min-width:0; } }

.sports-team-logo { display:inline-flex; position:relative; flex-shrink:0; width:30px; height:30px; align-items:center; justify-content:center; border-radius:8px; background:#f1f5f9; color:#64748b; font-size:10px; font-weight:600; vertical-align:middle; }
.sports-team-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; border-radius:8px; }
.sports-scoreboard .sports-team-logo { display:flex; width:42px; height:42px; margin:6px auto; }
.sports-pip-heading { gap:6px; flex-wrap:wrap; }

/* Large, readable live data in both the dashboard and the independent PiP document. */
.sports-game { container-type:inline-size; }
.sports-muted,.sports-notes,.sports-empty,.sports-alert { font-size:15px; }
.sports-game-head,.sports-live,.sports-score-center,.sports-remove { font-size:16px; }
.sports-league-badge { font-size:14px; }
.sports-scoreboard h3 { font-size:20px; min-height:48px; }
.sports-scoreboard strong { font-size:48px; }
.sports-score-center b { font-size:30px; }
.sports-score-center small { font-size:15px; }
.sports-period > span { font-size:16px; min-height:48px; line-height:1.4; }
.sports-period strong { font-size:32px; }
.sports-period small { font-size:15px; }
.sports-foul { display:inline-block; padding:2px 5px; border-radius:5px; font-size:18px; color:var(--text-main); }
.sports-foul.is-warning { background:#fef08a; color:#854d0e; outline:1px solid #eab308; }
.sports-foul.is-danger { background:#fee2e2; color:#b91c1c; outline:1px solid #f87171; }
.sports-foul-note,.sports-event-age,.sports-freshness { font-size:14px; line-height:1.6; }
.sports-freshness { flex-wrap:wrap; }
.sports-pip { font-size:16px; }
.sports-pip .btn { font-size:15px; min-height:38px; }
.sports-pip-heading strong { font-size:20px; }
.sports-pip > .sports-muted { margin:10px 0 16px; line-height:1.6; }
@container (max-width:480px) { .sports-period-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } }
