/* A secondary score surface beside the map feed, not another competing feed. */
.feed-main{display:block;flex:none;min-width:0;width:100%;max-width:100%}.feed-content-layout{display:block;min-width:0}.feed-content-layout>.results{min-width:0}
/* The rail reserves feed width for this anchor; the button keeps its natural width. */
.feed-update-notice{position:sticky;top:10px;z-index:8;height:0;min-height:0;flex:none;pointer-events:none}
.feed-update-notice>.feed-new-updates{position:relative;top:auto;display:flex;align-items:center;justify-content:center;width:max-content;max-width:calc(100% - 24px);min-width:0;min-height:36px;margin:10px auto 0;padding:8px 14px;gap:6px;border:1px solid #345774;border-radius:20px;background:#16344b;color:#d4edff;box-shadow:0 3px 10px #00121f1a;font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap;pointer-events:auto}
.feed-update-notice>.feed-new-updates:hover{background:#21465f;color:#fff;border-color:#5b94bb}
.feed-update-notice>.feed-new-updates[hidden]{display:none}
:root[data-theme="light"] .feed-update-notice>.feed-new-updates{background:#fff;color:#175d88;border-color:#bfdaeb;box-shadow:0 3px 10px #16384c14}
:root[data-theme="light"] .feed-update-notice>.feed-new-updates:hover{background:#edf7fd;border-color:#82b9d8}
@media(max-width:760px){.feed-update-notice{top:64px}.feed-update-notice>.feed-new-updates{min-height:44px;margin-top:8px;padding-inline:16px;font-size:12px}}
.sports-rail{display:none;min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#3c536c transparent;border-left:1px solid #293140;padding:2px 0 20px 19px;margin-left:12px}
.sports-rail[hidden]{display:none!important}.score-rail-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 6px}.score-rail-kicker,.game-eyebrow,.game-section-label{font:9px/1.5 var(--mono);letter-spacing:.09em;color:#8acbff}.score-rail-top h3{font-size:18px;line-height:1.2;letter-spacing:-.04em;margin:4px 0 0;color:#f0f5fb}.score-rail-pulse{height:7px;width:7px;flex:none;border-radius:50%;background:#7cc4ff;box-shadow:0 0 0 4px #7cc4ff1e}.score-rail-note,.score-rail-empty{font-size:10px;line-height:1.55;color:#8d9caf;margin:0 0 10px}.score-rail-list{display:grid;gap:7px}.score-card{display:block;width:100%;text-align:left;padding:11px 11px 10px;border:1px solid #293343;border-radius:10px;background:#121b27;color:#e7edf5;min-width:0;transition:background .15s,border-color .15s,transform .15s}.score-card:hover{background:#1b2b3d;border-color:#5684a7;transform:translateY(-1px)}.score-card-heading,.score-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;font:8px/1.4 var(--mono);color:#8f9eb1}.score-card-heading{margin-bottom:10px;color:#7ebcf0;text-transform:uppercase;letter-spacing:.04em}.score-card-heading i{font-style:normal;color:#637789}.score-card-chevron{font-size:13px;line-height:1}.score-card-team{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;font-weight:680;line-height:1.45;min-width:0}.score-card-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card-team strong{font:700 14px/1 var(--mono)}.score-card-bottom{border-top:1px solid #273648;margin-top:9px;padding-top:8px;flex-wrap:wrap}.score-card-bottom b{color:#ccd9e5;font-weight:600}.score-card-bottom b.live{color:#f18a74}.score-rail-source{font-size:9px;color:#6d8197;line-height:1.5;padding:11px 0 0;margin:0}.score-rail-source a{color:#95cfff;text-decoration:underline;text-underline-offset:2px}
@media(min-width:1360px){
 .explorer:not(.city-open) .results-panel{display:grid;grid-template-columns:minmax(0,1fr) clamp(205px,14vw,260px);grid-auto-rows:max-content;align-items:start;align-content:start;column-gap:20px}
 .explorer:not(.city-open) .feed-main{grid-column:1;grid-row:1}
 .explorer:not(.city-open) .sports-rail{display:block;position:sticky;top:0;grid-column:2;grid-row:1;align-self:start;width:auto;height:calc(100dvh - 106px);max-height:calc(100dvh - 106px);margin:0;padding:0 0 16px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface)}
}
@media(max-width:1359px){
 .explorer:not(.city-open) .sports-rail{display:block;position:static;width:100%;height:auto;max-height:none;overflow:visible;margin:0 0 20px;padding:0 0 16px;border:0;border-bottom:1px solid var(--line);background:var(--surface)}
 .explorer:not(.city-open) .score-rail-top{margin:0 0 8px}
 .explorer:not(.city-open) .score-rail-top h3{font-size:16px}
 .explorer:not(.city-open) .sports-rail:has(.score-card) .score-rail-pulse{display:none}
 .explorer:not(.city-open) .sports-rail:has(.score-card) .score-rail-top::after{content:'Scroll games →';font:500 9px/1.4 var(--mono);color:var(--muted);white-space:nowrap;align-self:end;padding-bottom:2px}
 .explorer:not(.city-open) .score-rail-note{font-size:9px;margin:0 0 8px}
 .explorer:not(.city-open) .score-rail-source{display:none}
 .explorer:not(.city-open) .score-rail-list{display:flex;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:1px 1px 9px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a4b8c8 transparent}
 .explorer:not(.city-open) .score-rail-list::-webkit-scrollbar{height:6px}
 .explorer:not(.city-open) .score-rail-list::-webkit-scrollbar-thumb{background:#a4b8c8;border-radius:6px}
 .explorer:not(.city-open) .score-card{flex:0 0 188px;min-width:0;max-width:none;padding:9px 10px;scroll-snap-align:start}
 .explorer:not(.city-open) .score-card-heading{margin-bottom:6px}
 .explorer:not(.city-open) .score-card-bottom{margin-top:6px;padding-top:6px}
}
/* The city stage becomes a full matchup room; the right panel stays the news feed. */
.city-dashboard .game-view{max-width:1100px;margin:0 auto;color:#edf3fb}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.game-back{border:1px solid #3b4f65;border-radius:25px;padding:9px 14px;color:#a9d8f8;font-size:12px;background:#112030}.game-back:hover{background:#1b344b}.game-checked{font:9px var(--mono);color:#8b9cb0}.game-hero{position:relative;overflow:hidden;border-radius:20px;padding:clamp(25px,5vw,54px);background:radial-gradient(circle at 92% 12%,#2d60817c,transparent 42%),linear-gradient(145deg,#19384f,#0c1928 68%);border:1px solid #44627a;box-shadow:0 28px 55px #030b1866}.game-hero:after{content:'';position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#7cc4ff,#4179ab,#ff765e)}.game-status{display:flex;align-items:center;gap:8px;margin:13px 0 23px;color:#cedfed;font:10px var(--mono);letter-spacing:.1em}.game-status i{width:7px;height:7px;border-radius:50%;background:#92a6b9}.game-status i.is-live{background:#ff785e;box-shadow:0 0 0 4px #ff785e2b}.game-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:18px;align-items:end}.game-team{display:grid;gap:8px;min-width:0}.game-team>span{font:11px var(--mono);color:#8bc9f6}.game-team strong{font-size:clamp(21px,3vw,36px);line-height:1.05;letter-spacing:-.04em;overflow-wrap:anywhere}.game-team b{font-size:clamp(59px,9vw,116px);line-height:1;letter-spacing:-.08em;font-weight:750}.game-at{font:18px var(--mono);color:#728fa8;align-self:center;text-align:center}.game-meta{display:flex;gap:17px;flex-wrap:wrap;margin-top:25px;padding-top:17px;border-top:1px solid #b6d7ed2d;color:#c9d9e8;font-size:12px}.game-below{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:40px;margin:32px 2px}.game-source h2{font-size:30px;letter-spacing:-.04em;line-height:1.15;margin:13px 0}.game-source p{font-size:14px;line-height:1.7;color:#9eafc2;max-width:55ch}.game-source a{display:inline-block;color:#8aceff;font-size:12px;font-weight:650;text-underline-offset:4px;margin-top:8px}.game-source small{display:block;color:#e8b887;margin-top:15px;font-size:11px}.game-coverage-head{display:flex;justify-content:space-between;border-bottom:1px solid #344051;padding-bottom:10px}.game-coverage-head>span:last-child{font:9px var(--mono);color:#8c9eb2}.game-story{display:grid;gap:5px;width:100%;padding:15px 0;text-align:left;border-bottom:1px solid #2b394b;color:#e3edf7}.game-story:hover strong{color:#8aceff}.game-story strong{font-size:14px;line-height:1.4}.game-story small{font-size:10px;color:#8e9cad}.game-story>span{font-size:10px;color:#86c7fb}.game-empty{font-size:12px;line-height:1.6;color:#9eafc2}
@media(max-width:1100px){.game-below{grid-template-columns:1fr;gap:24px}.game-hero{padding:26px}.game-scoreboard{gap:8px}}
@media(max-width:760px){.city-dashboard .game-view{padding:3px 0}.game-top{margin-bottom:13px}.game-checked{font-size:8px}.game-hero{padding:22px 18px;border-radius:14px}.game-scoreboard{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);gap:6px}.game-team strong{font-size:20px}.game-team b{font-size:63px}.game-at{font-size:13px}.game-below{margin-top:24px}.game-source h2{font-size:24px}}

/* Keep the score compact so the field, not empty padding, owns the game view. */
.game-hero{padding:25px 30px;border-radius:15px}.game-status{margin:8px 0 17px}.game-scoreboard{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:15px;align-items:center}.game-team{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 12px;align-items:center}.game-team>span{grid-column:1;grid-row:1}.game-team strong{grid-column:1;grid-row:2;font-size:clamp(20px,2.5vw,32px)}.game-team b{grid-column:2;grid-row:1/3;font-size:clamp(42px,5vw,70px);line-height:1}.game-at{font-size:14px}.game-meta{margin-top:17px;padding-top:13px}
.football-explorer{margin-top:18px}.football-explorer-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:0 2px 10px}.football-explorer-head h2{font-size:19px;line-height:1.2;letter-spacing:-.04em;margin:2px 0 0}.football-explorer-head>span{font:9px var(--mono);color:#8d9eb0;text-align:right}.football-field{display:grid;grid-template-columns:12% minmax(0,1fr) 12%;position:relative;height:clamp(190px,19vw,300px);border:1px solid #7eb7a6;border-radius:12px;overflow:hidden;box-shadow:0 18px 42px #0008, inset 0 0 0 4px #d8fff012;background:#1c573e}.field-endzone{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-width:0;border:0;border-radius:0;color:#eefcff;transition:background .15s,box-shadow .15s}.field-away{background:linear-gradient(145deg,#153f66,#0c2e4d);border-right:3px solid #d9f8f0}.field-home{background:linear-gradient(145deg,#164c49,#0c3438);border-left:3px solid #d9f8f0}.field-endzone:hover,.field-endzone[aria-pressed=true]{background:#356a82;box-shadow:inset 0 0 0 4px #b8e6ff8c}.field-endzone small{font:9px var(--mono);letter-spacing:.14em;opacity:.8}.field-endzone strong{font:800 clamp(17px,2.3vw,35px)/1 var(--mono);letter-spacing:-.08em}.field-endzone>span{font:9px var(--mono);color:#c9eeff}.field-turf{position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#e4fff0a0 calc(10% - 2px) 10%),repeating-linear-gradient(90deg,#2a6549 0 10%,#245b43 10% 20%)}.field-turf:before,.field-turf:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#edfff1b8}.field-turf:before{left:20%}.field-turf:after{right:20%}.field-yards{position:absolute;inset:0 4%;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:center;justify-items:center;pointer-events:none}.field-yards span{font:650 clamp(8px,1.3vw,17px)/1 var(--mono);color:#e8fff0b5;text-shadow:0 2px 3px #123827}.field-yards span:nth-child(5){opacity:0}.field-hashes{position:absolute;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,transparent 0 calc(5% - 1px),#f1fff2b8 calc(5% - 1px) 5%)}.field-hashes-top{top:26%}.field-hashes-bottom{bottom:26%}.field-midfield{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;width:clamp(66px,8vw,105px);height:clamp(66px,8vw,105px);border:2px solid #eafff2;border-radius:50%;background:#164b3de8;color:#fff;box-shadow:0 0 0 5px #0d3a307a,0 5px 19px #0724199c;transition:background .15s,scale .15s}.field-midfield:hover,.field-midfield[aria-pressed=true]{background:#256f5b;scale:1.05}.field-midfield span{font:700 clamp(22px,3vw,38px)/1 var(--mono)}.field-midfield strong{font:8px var(--mono);letter-spacing:.12em;margin-top:4px}.field-insight{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border:1px solid #3b5364;border-top:0;border-radius:0 0 11px 11px;background:#142432}.field-insight h3{font-size:17px;line-height:1.25;margin:4px 0}.field-insight p{font-size:11px;line-height:1.5;color:#9cb2c6;margin:0}.field-insight>a,.field-insight>button{flex:none;color:#a5dbff;font-size:11px;font-weight:700;border:1px solid #3c647c;border-radius:17px;padding:8px 11px;text-decoration:none;background:#213b4c}.field-insight>a:hover,.field-insight>button:hover{background:#30536b}.field-disclosure{font:9px/1.5 var(--mono);color:#788d9e;margin:8px 2px 0}
@media(max-width:760px){.game-hero{padding:20px 18px}.game-scoreboard{gap:6px}.game-team{gap:3px}.game-team strong{font-size:16px}.game-team b{font-size:39px}.game-at{font-size:11px}.football-explorer{margin-top:16px}.football-explorer-head h2{font-size:16px}.football-explorer-head>span{font-size:8px}.football-field{grid-template-columns:15% minmax(0,1fr) 15%;height:170px}.field-endzone{gap:8px}.field-endzone small,.field-endzone>span{font-size:7px}.field-endzone strong{font-size:15px}.field-midfield{width:60px;height:60px}.field-midfield span{font-size:21px}.field-midfield strong{font-size:7px}.field-yards span{font-size:8px}.field-insight{display:block;padding:13px}.field-insight>a,.field-insight>button{display:inline-block;margin-top:12px}.field-disclosure{font-size:8px}}

/* NFL marks stay compact in the rail and legible on the game board and field. */
.nfl-team-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;background:transparent;color:#c9e8ff;font:800 10px/1 var(--mono)}
.nfl-team-mark img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1px #eaf5ffb3)}
.nfl-team-mark-fallback{overflow:hidden;text-overflow:clip}
.score-card-team-name{display:flex;align-items:center;gap:7px;min-width:0}
.score-card-team-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score-card-team .score-card-mark{width:30px;height:30px;font-size:8px}
.game-team>.game-team-identity{display:flex;align-items:center;gap:12px;min-width:0;grid-column:1;grid-row:1/3}
.game-team-copy{display:grid;gap:4px;min-width:0}
.game-team-copy>span{font:10px var(--mono);color:#8bc9f6}
.game-team .game-team-copy strong{font-size:clamp(20px,2.5vw,32px);line-height:1.08;overflow-wrap:anywhere}
.game-team .game-team-mark{width:60px;height:60px;font-size:14px}
.game-team b{grid-column:2;grid-row:1/3}
.field-endzone>.field-team-mark{width:48px;height:48px;font-size:11px}
.field-endzone>.field-cta{font:9px var(--mono);color:#c9eeff}
@media(max-width:1100px){.game-team .game-team-mark{width:50px;height:50px}.game-team-identity{gap:8px}.field-endzone>.field-team-mark{width:41px;height:41px}}
@media(max-width:760px){.game-team .game-team-mark{width:35px;height:35px;font-size:9px}.game-team .game-team-copy strong{font-size:16px}.game-team-copy>span{font-size:8px}.game-team-identity{gap:5px}.field-endzone>.field-team-mark{width:30px;height:30px;font-size:8px}.field-endzone>.field-cta{font-size:7px}}

/* League selection stays visible when the city or scores update. */
.score-sport-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:10px 0 12px}
.score-sport-tabs button{min-width:0;min-height:29px;padding:5px 3px;border:1px solid #314154;border-radius:6px;background:#172332;color:#a9bdd0;font:650 9px/1.2 var(--mono);letter-spacing:-.02em;text-align:center;cursor:pointer}
.score-sport-tabs button:hover{border-color:#81b8dc;color:#e9f7ff;background:#20354a}
.score-sport-tabs button[aria-selected="true"]{border-color:#87c6f2;background:#23415a;color:#f3faff;box-shadow:inset 0 -2px #8acbff}
.score-sport-tabs button:focus-visible,.score-sport-panel:focus-visible,.score-official-link:focus-visible{outline:2px solid #a9dfff;outline-offset:2px}
.score-sport-panel{min-width:0}
.score-sport-empty{padding:13px;border:1px solid #2b4358;border-radius:9px;background:linear-gradient(145deg,#142534,#111b27)}
.score-sport-empty .score-rail-empty{font-size:11px;line-height:1.55;margin:0 0 12px;color:#c1d1df}
.score-official-link{display:inline-block;border:1px solid #3b6b88;border-radius:20px;padding:7px 10px;background:#1a3346;color:#a9dfff;font:650 10px/1.3 var(--mono);text-decoration:none}
.score-official-link:hover{background:#25475e;color:#fff}
@media(min-width:761px) and (max-width:1359px){.explorer:not(.city-open) .score-sport-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 8px}.explorer:not(.city-open) .score-sport-panel{min-width:0}.explorer:not(.city-open) .score-sport-empty{max-width:330px}.explorer:not(.city-open) .score-rail-list{min-height:0}}
@media(max-width:760px){.score-sport-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:8px 0 10px}.score-sport-tabs button{font-size:9px;min-height:28px;padding:4px 1px}.score-sport-empty{max-width:340px}}
:root[data-theme="light"] .score-sport-tabs button{background:#f0f5f9;border-color:#c9d8e3;color:#4c6479}
:root[data-theme="light"] .score-sport-tabs button:hover{background:#e6f2f9;border-color:#71a9c9;color:#214b67}
:root[data-theme="light"] .score-sport-tabs button[aria-selected="true"]{background:#dceefa;border-color:#70aaca;color:#184d70;box-shadow:inset 0 -2px #287ba9}
:root[data-theme="light"] .score-sport-empty{background:#f6fafc;border-color:#d1e0e9}
:root[data-theme="light"] .score-sport-empty .score-rail-empty{color:#486072}
:root[data-theme="light"] .score-official-link{background:#e8f3f9;border-color:#b5d7e9;color:#24618a}
:root[data-theme="light"] .score-official-link:hover{background:#d4eaf5;color:#184b6a}

/* Official MLB and NHL marks use the same compact treatment as the NFL marks. */
.sports-team-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden;background:transparent;color:#c9e8ff;font:800 10px/1 var(--mono)}
.sports-team-mark img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1px #eaf5ffb3)}
.sports-team-mark.league-nfl img,.sports-team-mark.league-mlb img{inset:15%;width:70%;height:70%}
.sports-team-mark-fallback{overflow:hidden;text-overflow:clip}
.game-team .sports-team-mark{width:60px;height:60px;font-size:14px}
@media(max-width:1100px){.game-team .sports-team-mark{width:50px;height:50px}}
@media(max-width:760px){.game-team .sports-team-mark{width:35px;height:35px;font-size:9px}}
:root[data-theme="light"] .sports-team-mark{color:#245875}
:root[data-theme="light"] .sports-team-mark img{filter:drop-shadow(0 0 1px #506b7d73)}

.score-card-team-name .team-record{flex:none;color:var(--muted,#94a3b8);font:400 11px/1.2 var(--sans,sans-serif);white-space:nowrap;margin-left:2px}
.score-card-team-name>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.score-card-team-name .score-card-mark{flex:none}
.game-team-copy .team-record{font:400 13px/1.3 var(--sans,sans-serif);color:var(--muted,#94a3b8)}

/* Source-backed context stays readable inside the compact city feed. */
.game-context{padding:18px 0;display:grid;gap:18px}.game-linescore{overflow-x:auto}.game-linescore table{width:100%;border-collapse:collapse;font-size:14px}.game-linescore caption{text-align:left;font-weight:700;margin-bottom:12px}.game-linescore th,.game-linescore td{padding:8px;text-align:right;border-bottom:1px solid var(--line,#344150)}.game-linescore th:first-child{text-align:left;min-width:120px}.game-standings{display:grid;gap:10px}.game-standings h3{font-size:16px;margin:0}.game-standings div{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px}.game-standings span,.game-scorers span{color:var(--muted,#8494a8)}.game-recaps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-recaps a{min-height:72px;padding:14px;border:1px solid var(--line,#344150);border-radius:12px;text-decoration:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.game-recaps small{width:100%;opacity:.7}.game-scorers summary{cursor:pointer;padding:10px 0;font-weight:600}.game-scorers p{display:flex;justify-content:space-between;gap:12px;font-size:14px}.game-broadcasts{font-size:13px;line-height:1.5;margin:0}
