:root{color-scheme:light dark;--bg:#f4f7f6;--panel:#fff;--text:#193733;--soft:#637774;--line:#d9e6e2;--accent:#236e61;--wash:#e8f3ef;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}main{max-width:960px;margin:auto;padding:28px 24px}.top{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:32px}.top span,small{color:var(--soft);font-size:10px;letter-spacing:1.8px}header{display:flex;align-items:center;gap:20px;margin-bottom:32px}.brand{display:grid;place-items:center;width:64px;height:64px;flex:none;background:var(--accent);color:white;border-radius:20px;font-weight:700;font-size:26px}h1{font-size:clamp(36px,6vw,52px);line-height:1.1;margin:7px 0}h2{font-size:21px;margin:0 0 12px}h3{font-size:17px;margin:0}p{margin:8px 0 20px;color:var(--soft)}header p{margin:0}.card{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--panel);margin-bottom:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head h2{margin:0}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:20px}.filters label{flex:1;min-width:130px}.filters button[aria-pressed=true]{background:var(--wash);border-color:var(--accent)}label{display:grid;gap:7px;font-size:12px;font-weight:500}input,select,button{font:inherit;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);min-height:44px;padding:10px 12px;width:100%;min-width:0}button{width:auto;cursor:pointer;font-size:12px;font-weight:600}button:disabled{opacity:.5}.primary{background:var(--accent);color:white;border-color:var(--accent)}a{color:var(--accent)}:is(input,select,button,a,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.subtle{font-size:12px;line-height:1.6}.game{padding:22px 0;border-top:1px solid var(--line)}.game-head{display:flex;justify-content:space-between;gap:16px}.game p{font-size:12px;margin:6px 0 12px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--wash);color:var(--accent);font-size:11px;white-space:nowrap;align-self:start}.badge.live{background:#fbe6dd;color:#984520}.links{display:flex;gap:8px;flex-wrap:wrap}.links a,.links button{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:12px;min-height:44px;text-decoration:none;background:var(--panel)}.links a:hover{background:var(--wash)}.day-title{margin:24px 0 8px;color:var(--soft);font-size:13px}.empty{padding:26px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}form{display:grid;gap:18px;margin-top:20px}details{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}summary{cursor:pointer;font-size:14px;font-weight:600}footer{font-size:11px;text-align:center;color:var(--soft);margin-top:28px}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#101e1c;--panel:#172925;--text:#e8f5ef;--soft:#a3bab2;--line:#30473f;--accent:#78d3b8;--wash:#243f35}.primary,.brand{color:#102a21}}@media(max-width:600px){main{padding:22px 16px}.card{padding:22px 18px}.brand{width:48px;height:48px;border-radius:15px;font-size:22px}header{gap:12px}.two{grid-template-columns:1fr}.game-head{flex-wrap:wrap;gap:8px}.filters>button{flex:1}.links a,.links button{overflow-wrap:anywhere}.top span{letter-spacing:1px}h2{font-size:19px}}
.archive>summary{font-size:20px;color:var(--text)}.archive{margin-top:0;padding-top:28px}.archive[open]>summary{margin-bottom:12px}

.top{align-items:center;flex-wrap:wrap}.top button{margin-left:auto;min-height:44px}.login-card{max-width:520px;margin-left:auto;margin-right:auto}.login-card form{display:grid;gap:10px}.login-card button{margin-top:8px}.player-card>summary{font-size:20px}.player-card{margin-top:0;padding-top:28px}.player-card form{display:grid;gap:10px;max-width:660px}.player-card button.primary{margin-top:8px}#video{display:block;width:100%;max-height:65vh;aspect-ratio:16/9;background:#000;border-radius:12px;margin:16px 0}#video-title{margin-top:20px}.player-actions{margin:16px 0}#player-status,#auth-status{overflow-wrap:anywhere}.filters input[type=date]{max-width:100%}@media(max-width:600px){.top{gap:8px}.top span{font-size:9px}.player-actions button{flex:1 1 140px}.filters label{min-width:140px}.section-head{flex-wrap:wrap}}

input,select{font-size:16px}

#welcome-name{overflow-wrap:anywhere}#sport-chooser h1{font-size:clamp(28px,5vw,42px)}.sport-options{display:grid;gap:16px;margin-top:24px}.sport-choice{display:flex;align-items:center;gap:20px;text-align:left;width:100%;padding:24px;background:var(--wash);border-color:var(--line);border-radius:18px}.sport-choice strong{display:block;font-size:24px}.sport-description{display:block;font-size:13px;font-weight:400;color:var(--soft);margin-top:4px}.sport-icon{font-size:36px;flex:none}.sport-arrow{font-size:24px;margin-left:auto;color:var(--accent)}.sport-choice:hover{border-color:var(--accent)}@media(max-width:600px){.sport-choice{padding:20px 16px;gap:14px}.sport-icon{font-size:28px}.sport-choice strong{font-size:21px}}

.source-status{margin-top:1rem}.source-status summary{cursor:pointer;padding:.7rem 0}.source-status p{overflow-wrap:anywhere}.source-status button{min-height:44px}

.scoreboard{display:grid;gap:6px;margin:12px 0 16px;padding:12px 14px;background:var(--wash);border-radius:12px}.score-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.score-row span{min-width:0;overflow-wrap:anywhere}.score-row strong{font-size:24px;font-variant-numeric:tabular-nums;flex:none;color:var(--text)}

.playlist-options{display:grid;gap:18px}.playlist-option .links{margin-top:8px}.playlist-option input{font-size:16px;min-width:0}.playlist-option{min-width:0}

.sport-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.sport-poster{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-align:left;background:#080b0c;box-shadow:0 12px 28px #0002;transition:transform .15s ease,border-color .15s ease}
.sport-poster img{display:block;width:100%;height:auto;aspect-ratio:853/1280;object-fit:cover}
.sport-poster:not(:disabled):hover{transform:translateY(-3px);border-color:var(--accent)}
.poster-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;color:white;background:#101817}
.poster-caption strong{font-size:21px}.poster-caption>span{font-size:13px}
.sport-poster:disabled{opacity:1;cursor:default;box-shadow:none}.sport-poster:disabled img{filter:grayscale(1);opacity:.45}.sport-poster:disabled .poster-caption{color:#a9afad;background:#202625}
.sport-unavailable{min-width:0}#soccer-coming-soon{text-align:center;color:var(--soft);font-weight:600;margin:12px 0 0;font-size:15px}
@media(max-width:600px){.sport-options{grid-template-columns:1fr;gap:28px}.sport-poster{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.sport-poster{transition:none}.sport-poster:not(:disabled):hover{transform:none}}

.game-outlook{margin:10px 0 14px;padding:12px 14px;border-left:3px solid var(--accent);background:var(--wash);border-radius:0 12px 12px 0}.game-outlook .projection-pick{font-weight:650;font-size:14px;color:var(--text)}.game-outlook p{margin:4px 0;overflow-wrap:anywhere}.game-outlook .ai-thought{font-size:13px;color:var(--text)}

#nwsl-view .score-row strong{font-size:22px}.poster-caption strong{line-height:1.3}.sport-poster[aria-label*='soccer'] .poster-caption{flex-wrap:wrap}

.sport-options{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.sport-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sport-options{grid-template-columns:1fr}}

/* Streaming room */
:root{color-scheme:dark;--bg:#08090c;--panel:#15161b;--text:#f5f5f7;--soft:#999aa3;--line:#ffffff14;--accent:#fff;--wash:#202127;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif}
body{background:radial-gradient(ellipse at 50% 0,#20222d 0,transparent 600px),#08090c;color:var(--text)}
main{max-width:1360px;padding:28px 40px 60px}
.top{margin-bottom:34px;gap:20px;min-height:44px}.top a{font-size:22px;text-decoration:none;color:#d8d8dd}.top .wordmark{order:-1;font-size:29px;letter-spacing:-2px;font-weight:800;color:#fff}.top button{background:#ffffff09;border-color:transparent;border-radius:50%;min-width:44px;color:#eee;font-size:20px}.top #choose-sport{margin-left:auto}.top #signout{margin-left:0}
#sport-chooser>.card{padding:0;border:0;background:none;box-shadow:none}
.sport-options{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.sport-poster{border:0;border-radius:20px;background:#050505;box-shadow:0 18px 44px #0008;transition:transform .2s ease,box-shadow .2s ease}
.sport-poster:hover{transform:scale(1.025)!important;box-shadow:0 22px 54px #000a}
.sport-poster img{width:100%;aspect-ratio:853/1280}.poster-caption,#soccer-coming-soon{display:none}
header{margin:34px 0 24px}header .brand,header small,header p{display:none}h1{font-size:clamp(36px,6vw,64px);font-weight:750;letter-spacing:-2px;margin:0}h2{font-size:21px;letter-spacing:-.4px}
.card{background:transparent;border:0;border-radius:0;padding:0;margin:0 0 32px}
.filters{gap:10px;margin:20px 0 26px}.filters label{flex:0 1 220px;color:#b2b2bb;font-size:11px}.filters button,input,select{background:#1c1d23;border:1px solid #ffffff12;border-radius:10px;color:#f5f5f7}.filters button{font-size:13px;padding:11px 18px}.filters button[aria-pressed=true]{background:#f5f5f7;color:#111;border-color:#f5f5f7}
.section-head button{background:#ffffff0a;border-color:transparent;border-radius:50%;font-size:21px}
[id$="-games"],#games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.day-title{grid-column:1/-1;font-size:17px;color:#d6d6db;margin:22px 0 2px}
.game{background:linear-gradient(135deg,#25262e,#14151a);border:1px solid #ffffff0a;border-radius:17px;padding:22px;margin:0;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.game-head{display:flex;flex-direction:column-reverse;gap:10px}.game-head h3{font-size:20px;line-height:1.25;letter-spacing:-.4px}.badge{font-size:11px;background:#ffffff0d;color:#bdbdc7;letter-spacing:.2px}.badge.live{background:#ff334428;color:#ff6b76}
.game>p,.game .source-status,.game-outlook .subtle,.game-outlook .ai-thought{display:none}
.game-outlook{padding:0;margin:0;background:none;border:0}.game-outlook .projection-pick{font-size:13px;font-weight:500;color:#aeb0be;margin:0}.game-outlook:has(.projection-pick:empty){display:none}
.scoreboard{background:#ffffff08;margin:2px 0;padding:13px;border-radius:12px}.score-row{font-size:13px}.score-row strong{font-size:25px!important;color:white}
.game>.links{margin-top:auto;gap:7px}.links a,.links button{background:#ffffff0a;border:0;border-radius:8px;color:#e9e9ee;font-size:11px;padding:8px 10px;min-height:40px}.links a:hover,.links button:hover{background:#ffffff18}
.archive,.extras,#player-section{border-top:1px solid #ffffff12;padding-top:22px;margin-top:26px}.archive>summary,.extras>summary,#player-section>summary{font-size:18px;font-weight:600;color:#eee;min-height:44px;display:list-item}
.archive[open]>summary,.extras[open]>summary{margin-bottom:20px}.archive .filters{margin-top:8px}
p.subtle,footer{display:none}p.subtle.load-error{display:block!important;color:#ffb1b8}
.empty{grid-column:1/-1;padding:35px 0;color:#999aa5;font-size:15px}
#stream-form{padding-top:14px}.primary{background:#f5f5f7;color:#111;border:0}
:focus-visible{outline:3px solid #fff!important;outline-offset:5px}
@media(max-width:1100px){[id$="-games"],#games{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){main{padding:22px 24px 40px}.sport-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.top{margin-bottom:24px}.game{padding:20px}.sport-poster{border-radius:16px}}
@media(max-width:600px){main{padding:18px 18px 36px}.sport-options{grid-template-columns:1fr;gap:24px}.sport-poster{max-width:440px;margin:auto}.top{gap:12px;margin-bottom:22px}header{margin-top:24px}[id$="-games"],#games{grid-template-columns:1fr}.filters label{flex:1 1 135px}.game-head{flex-wrap:nowrap}.game{padding:22px}.filters>button{flex:1}.top .wordmark{font-size:26px}}
@media(prefers-reduced-motion:reduce){.sport-poster{transition:none}.sport-poster:hover{transform:none!important}}

body:has(#football-login) header,.login-card h2,.login-card>p:not(#auth-status){display:none}body:has(#football-login) main{max-width:520px;min-height:100dvh;display:grid;align-content:center;padding:32px}.login-card{width:100%;margin:0}#auth-status{color:#ffb1b8}

.game-feeds{margin-top:16px;border-top:1px solid #34373d;padding-top:12px}.game-feeds summary{font-size:.85rem;color:#d0d3db;cursor:pointer}.feed-option{display:grid;gap:10px;margin-top:14px}.feed-option>span{font-size:.8rem;color:#aeb3bf}.feed-option button{background:#252830;color:#fff;border:1px solid #444956;border-radius:9px;padding:8px 12px;font-size:.8rem}

.feed-empty,.feed-next{display:block;font-size:12px;color:#aeb3bf;margin:10px 0;overflow-wrap:anywhere}.game-feeds>.links{margin-top:10px}.game-feeds button{min-height:44px}.game-feeds summary{min-height:30px}

.game>.links>a,.game>.links>button{min-height:44px}

/* Section 31 · shared Gaining Ground palette and navigation */
:root{color-scheme:dark;--bg:#080b09;--panel:#141a16;--text:#f4f7f5;--soft:#b7c5bb;--line:#2d4032;--accent:#12b956;--wash:#193822}
body{background:#080b09;color:var(--text)}
.topbar,.top{position:sticky;top:0;z-index:30;background:#080b09;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:32px}
.topbar .brand,.top .wordmark{display:block;width:auto;height:auto;background:none;border-radius:0;color:#f4f7f5;font-size:30px;font-weight:850;letter-spacing:-2px;text-decoration:none}
.main-nav,.section-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.main-nav a,.section-links a,.sport-switcher a,.sport-switcher button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px 14px;font-size:14px;font-weight:650;line-height:1.3;text-decoration:none;color:#f4f7f5;border:1px solid transparent;border-radius:8px}
.main-nav a:hover,.section-links a:hover,.sport-switcher a:hover{color:white;background:#1c2920}
.main-nav a[aria-current],.section-links a[aria-current],.sport-switcher a[aria-current]{background:#193822;color:#12b956;border-color:#3c6748}
.topbar>button,.top>#signout{margin:0;min-height:44px;width:auto;border:1px solid #3c5142;background:#141a16;color:#f4f7f5;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:650}
.sport-switcher{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:10px;border-top:1px solid #2d4032}
.top .sport-switcher #choose-sport{margin:0;min-width:44px;background:#1c2920;color:#f4f7f5;border:1px solid #3c5142;border-radius:8px;font-size:13px}
.card,.find-card{background:#141a16;border-color:#2d4032}
.find-card{background:#141a16}
label,.filters label{color:#b7c5bb}
input,select,textarea,.filters input,.filters select{background:#111913;border-color:#3c5142;color:#f4f7f5}
input,select,textarea{font-size:16px}
.primary{background:#087d3b;color:#fff;border:1px solid #087d3b}
.primary:hover{background:#086632;color:#fff}
.pills button[aria-pressed=true],.filters button[aria-pressed=true]{background:#087d3b;color:#fff;border-color:#12b956}
.badge{background:#193822;color:#b8f3cb}
.badge.live{background:#3b161c;color:#ffb4bb}
.text-link,.subtle,.network-note,.media-description,.eyebrow{color:#b7c5bb}
.media-feature{background:linear-gradient(120deg,#141a16,#193822);border-color:#2d4032}
.media-feature:hover,.sport-tile:hover{border-color:#12b956}
.media-cta{background:#087d3b;color:#fff}
.screen-front{background:linear-gradient(135deg,#153b23,#080b09);color:#12b956}
.screen-back{background:#193822}
.sport-tile::before{background:linear-gradient(0deg,#080b09 0%,#080b09b8 24%,transparent 65%)}
.game{background:linear-gradient(135deg,#1c2920,#141a16);border-color:#2d4032}
.game-outlook .projection-pick,.empty,.feed-empty,.feed-next,.feed-option>span{color:#b7c5bb}
.links a,.links button,.feed-option button{background:#1c2920;color:#f4f7f5;border-color:#3c5142}
.links a:hover,.links button:hover{background:#193822}
:focus-visible{outline:3px solid #12b956!important;outline-offset:4px}
html{scroll-padding-top:150px}
#auth,.login-card{max-width:520px;margin:40px auto 64px;padding:32px;border:1px solid #2d4032;border-radius:18px;background:#141a16}
#auth h1,.login-card h1{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:0}
#auth>p,.login-card>p{font-size:14px;line-height:1.6;color:#b7c5bb;display:block}
body:has(#football-login) main{display:block;max-width:1240px;min-height:100dvh;padding:28px 40px}
.login-card h2{display:block}
#auth-status{color:#f4f7f5}
body:has(#football-login) footer{display:block;font-size:11px;color:#b7c5bb}
.login-card .subtle{display:block}
@media(max-width:650px){
 .topbar,.top{gap:10px;grid-template-columns:auto 1fr auto;padding:10px 0;margin-bottom:24px}
 .main-nav,.section-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:2px;border-top:1px solid #2d4032;padding-top:8px}
 .main-nav a,.section-links a{flex:1;padding:10px 6px;font-size:13px}
 .topbar>button,.top>#signout{grid-column:3;grid-row:1;padding:9px 12px}
 .sport-switcher{grid-row:3;gap:3px}
 .sport-switcher a,.sport-switcher button{flex:1;padding:9px 6px;font-size:12px}
 #auth,.login-card{margin:24px auto 40px;padding:26px 22px}
 body:has(#football-login) main{padding:18px}
 html{scroll-padding-top:195px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body:has(#football-login) main{align-content:normal}.login-card>p:not(#auth-status){display:block}.pills button{background:#1c2920;color:#f4f7f5}
