:root{
  --navy:#052747;--navy2:#031a31;--navy3:#0b365f;--gold:#caa452;--gold2:#e0be70;
  --red:#c90012;--ink:#121820;--muted:#65717d;--cream:#f8f4ec;--paper:#fffdf9;--line:#e7e1d7;--bg:#f5f5f3;
  --shadow:0 3px 12px rgba(3,26,49,.08);--radius:11px;--condensed:"Arial Narrow","Roboto Condensed","Helvetica Neue Condensed",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.sports-header{background:linear-gradient(110deg,var(--navy),var(--navy2));color:white;border-bottom:2px solid var(--gold);position:relative;z-index:30}.header-inner{max-width:1530px;margin:auto;min-height:118px;padding:14px 18px 7px;display:flex;align-items:center;justify-content:space-between;gap:24px}.league-brand{display:flex;align-items:center;gap:17px;min-width:0}.brand-emblem{height:96px;width:96px;flex:0 0 96px;border:3px solid var(--gold);border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 5px var(--navy)}.brand-emblem img{width:78%;height:78%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:.86;font-family:var(--condensed);font-stretch:condensed}.brand-overline{font-size:18px;letter-spacing:.28em;font-weight:800;color:#fff;margin:0 0 7px 3px}.brand-copy strong{font-size:39px;letter-spacing:.025em;font-weight:1000;color:white;text-shadow:0 1px 0 rgba(0,0,0,.15)}.header-tools{display:flex;align-items:center;gap:24px}.season-selector{border:2px solid var(--gold);border-radius:4px;padding:12px 16px;font-family:var(--condensed);font-size:18px;font-weight:1000;white-space:nowrap}.season-selector span{color:var(--gold);margin-left:7px}.socials{display:flex;gap:12px}.socials span{height:38px;width:38px;background:white;color:var(--navy);border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:20px}.sports-nav{max-width:1530px;margin:auto;display:flex;justify-content:flex-end;gap:9px;padding:0 18px 0 130px;overflow-x:auto}.sports-nav a{font-family:var(--condensed);font-size:15px;font-weight:1000;white-space:nowrap;padding:12px 11px 11px;border-bottom:4px solid transparent}.sports-nav a:hover,.sports-nav a.active{color:var(--gold2);border-bottom-color:var(--gold)}
.dashboard-shell{max-width:1530px;margin:12px auto 10px;padding:0 12px;display:grid;grid-template-columns:minmax(280px,330px) minmax(540px,1fr) minmax(280px,330px);gap:10px;align-items:start}.dashboard-left,.dashboard-right{display:grid;gap:10px}.dash-card,.dashboard-center{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.dash-card{padding:14px}.dash-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.dash-heading h2{font-family:var(--condensed);font-size:22px;line-height:1;margin:0;color:var(--navy);font-weight:1000}.dash-heading a{font-family:var(--condensed);font-size:11px;font-weight:1000;color:var(--navy);white-space:nowrap}.live-badge{font-family:var(--condensed);font-weight:1000;font-size:13px;color:var(--red);display:flex;align-items:center;gap:6px}.live-badge i{display:block;width:10px;height:10px;background:var(--red);border-radius:50%}.home-games{min-height:74px}.home-games .empty-card{padding:16px 6px}.game-card{background:#fff;border:1px solid #dedbd3;margin:0 0 8px}.game-card.live{border:0}.game-card.live .game-meta{background:linear-gradient(#d8121d,#ba0010);color:white;padding:9px 10px}.game-meta{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.game-team{display:grid;grid-template-columns:1fr 46px;align-items:center;border-top:1px solid #e6e3dc;min-height:48px;padding-left:12px;font-weight:800}.game-team .score{display:grid;place-items:center;height:100%;font-size:25px;font-weight:1000;border-left:1px solid #e6e3dc;color:#111}.game-state{font-family:var(--condensed);font-size:12px;font-weight:1000;padding:9px 11px;border-top:1px solid #e6e3dc}.card-button{display:block;background:linear-gradient(var(--navy3),var(--navy));color:white;text-align:center;padding:8px 10px;border-radius:3px;font-family:var(--condensed);font-size:13px;font-weight:1000;margin-top:8px}.list-item{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e4e1d9;font-size:12px}.list-item:last-child{border-bottom:0}.date-chip{font-family:var(--condensed);font-weight:900;font-size:11px;color:#333}.matchup{font-weight:800;line-height:1.2}.result{font-family:var(--condensed);font-weight:1000;color:var(--navy)}.muted{color:var(--muted)}
.dashboard-center{min-height:100%;padding:0;background:linear-gradient(135deg,#fffdfa,#f6f0e6);position:relative}.season-feature{height:100%}.season-feature-card{min-height:100%;padding:30px 34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}.season-feature-card:before{content:"";position:absolute;inset:0;opacity:.05;pointer-events:none;background:radial-gradient(circle at 20% 20%,var(--navy) 0 2px,transparent 2px 100%),linear-gradient(130deg,transparent 0 45%,var(--gold) 45.2% 45.6%,transparent 45.8%)}.season-feature-card>*{position:relative}.feature-kicker{font-family:var(--condensed);font-size:18px;color:var(--gold);font-weight:1000;letter-spacing:.06em}.season-feature-card h2{font-family:var(--condensed);font-size:42px;line-height:1.02;color:var(--navy);margin:12px 0}.season-feature-card p{max-width:620px;font-size:17px;line-height:1.42;margin:8px auto;color:#252525}.feature-button{display:inline-block;background:linear-gradient(var(--navy3),var(--navy));color:white;border-radius:3px;padding:10px 24px;font-family:var(--condensed);font-weight:1000;margin-top:16px}.featured-match{width:min(650px,100%);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:18px 0;margin:12px 0}.featured-match h4{font-family:var(--condensed);font-size:29px;color:var(--navy);margin:8px 0}.featured-match h4 span{font-size:16px;color:var(--gold)}.feature-label{font-family:var(--condensed);font-weight:1000;font-size:12px;color:var(--gold);letter-spacing:.09em}.playoff-picture{width:min(650px,100%);margin-top:8px}.picture-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;text-align:left}.picture-grid>div{background:#fff;border:1px solid var(--line);padding:9px 12px}.picture-grid small{display:block;color:var(--gold);font-family:var(--condensed);font-weight:1000}.picture-grid strong{display:block;color:var(--navy);font-size:13px;margin-top:2px}.offseason-mark{font-family:var(--condensed);font-size:19px;font-weight:1000;color:var(--navy);margin-top:20px}.offseason-mark b{color:var(--gold)}.seed-preview{display:grid;gap:6px;width:min(540px,100%);margin:12px auto}.seed-preview>div{display:grid;grid-template-columns:45px 1fr;background:white;border:1px solid var(--line);text-align:left}.seed-preview span{background:var(--navy);color:white;font-weight:1000;padding:7px}.seed-preview strong{padding:7px}.feature-icon{font-size:45px;color:var(--gold)}
.standings-mini{width:100%;border-collapse:collapse}.standings-mini th{font-family:var(--condensed);font-size:11px;padding:5px 4px;border-bottom:1px solid #d9d6cf;text-align:right}.standings-mini th:nth-child(2),.standings-mini td:nth-child(2){text-align:left}.standings-mini td{font-size:12px;padding:7px 4px;border-bottom:1px solid #ece9e2;text-align:right}.standings-mini .mini-rank{font-weight:900;text-align:center}.standings-mini strong{font-size:12px}.recent-card .list-item,.upcoming-card .list-item{grid-template-columns:70px 1fr auto}.dashboard-lower{max-width:1530px;margin:0 auto 12px;padding:0 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.leader{display:grid;grid-template-columns:25px 1fr auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid #e7e3db;font-size:12px}.leader:last-child{border-bottom:0}.leader-rank{font-family:var(--condensed);font-size:15px;font-weight:1000;color:var(--navy)}.leader-stat{font-weight:1000}.news-list{display:grid;gap:9px}.news-list>div{display:grid;grid-template-columns:85px 1fr;gap:6px;font-size:12px}.news-list b{font-family:var(--condensed);font-size:11px;color:var(--navy)}.featured-photo{height:118px;border-radius:4px;overflow:hidden;background:linear-gradient(180deg,#6d8ca4 0%,#e8a849 45%,#6b481f 46%,#c07128 70%,#82461c 100%);position:relative}.photo-field:before{content:"";position:absolute;left:15%;right:15%;bottom:-35%;height:105%;border:3px solid rgba(255,255,255,.82);transform:perspective(180px) rotateX(58deg);border-radius:50% 50% 0 0}.photo-field span{position:absolute;right:8px;top:8px;color:white;font-family:var(--condensed);font-weight:1000;text-shadow:0 1px 4px rgba(0,0,0,.4)}.photo-dots{text-align:center;color:var(--gold);letter-spacing:3px;font-size:11px;margin-top:5px}
/* Traditional public playoff bracket */
.postseason{padding:14px 20px 18px;justify-content:flex-start;align-items:stretch;text-align:left}.postseason .season-feature-top{text-align:left;width:100%;display:flex;align-items:end;justify-content:space-between;border-bottom:0;margin-bottom:4px}.postseason .season-feature-top h2{font-size:27px;margin:0}.postseason .season-feature-top p{display:none}.home-playoff-bracket{width:100%;padding:0}.bracket-group-title{font-family:var(--condensed);font-weight:1000;color:var(--navy);font-size:15px;margin:8px 0}.classic-bracket{position:relative;background:transparent;border:0;padding:4px 0 8px;margin:0;overflow:visible;min-height:280px}.classic-bracket-title{display:none}.classic-round-grid{position:relative;display:grid;grid-template-columns:repeat(var(--rounds),minmax(0,1fr));gap:30px;align-items:stretch;z-index:2}.classic-round{min-width:0;display:flex;flex-direction:column}.classic-round-head{font-family:var(--condensed);font-weight:1000;color:var(--navy);border-bottom:1px solid var(--gold);padding:3px 2px 8px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}.classic-round-head b{font-size:15px}.classic-round-head small{font-size:9px;color:#555}.classic-round-games{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:18px;padding:5px 0}.classic-match{position:relative;border:0;background:transparent;border-radius:0;padding:0;margin:0;box-shadow:none}.classic-match-meta{height:15px;display:flex;justify-content:flex-end}.classic-match-meta>span:first-child{display:none}.classic-status{font-family:var(--condensed);font-size:8px;font-weight:1000;color:#5a6671;text-transform:uppercase}.classic-team{height:28px;display:grid;grid-template-columns:42px 1fr;background:white;border:1px solid #d8d2c5}.classic-team+.classic-team{border-top:0}.classic-seed{display:grid;place-items:center;background:var(--navy);color:white;font-family:var(--condensed);font-size:12px;font-weight:1000}.classic-name{display:flex;align-items:center;padding:0 7px;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classic-team.pending .classic-seed{background:#f0eee8;color:#9aa1a8}.classic-team.pending .classic-name{font-style:italic;color:#727b84}.classic-winner{display:none}.classic-champion{background:var(--gold);color:white}.bracket-lines{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:visible}.bracket-path{stroke:var(--gold);stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.champion{font-family:var(--condensed);background:var(--gold);color:white;padding:6px 10px;border-radius:3px;font-weight:1000}.playoff-detail .classic-bracket{min-height:400px}.playoff-detail .classic-team{height:36px}.playoff-detail .classic-name{font-size:12px}.playoff-detail .classic-round-head b{font-size:18px}
.detail-area{max-width:1300px;margin:34px auto;padding:0 18px;scroll-margin-top:15px}.detail-title span{font-family:var(--condensed);font-size:12px;color:var(--gold);font-weight:1000;letter-spacing:.1em}.detail-title h2{font-family:var(--condensed);color:var(--navy);font-size:34px;margin:3px 0 14px}.detail-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.detail-card h3{font-family:var(--condensed);font-size:24px;color:var(--navy);margin:0 0 10px}.detail-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-family:var(--condensed);font-size:12px;color:var(--navy);text-align:left;border-bottom:2px solid var(--navy);padding:9px}td{font-size:13px;padding:9px;border-bottom:1px solid #ece8e0}.rank{font-weight:1000}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.team-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;display:flex;align-items:center;gap:10px}.team-badge{height:44px;width:44px;border-radius:4px;background:var(--navy);color:white;display:grid;place-items:center;font-family:var(--condensed);font-weight:1000}.team-card strong{display:block}.empty-card{border:1px dashed #ccd1d6;padding:15px;color:var(--muted);font-size:13px;background:#fff}.link-row{display:flex;gap:10px;flex-wrap:wrap}.link-row span{background:#edf2f6;color:var(--navy);padding:7px 10px;font-weight:800;font-size:12px}.sports-footer{background:linear-gradient(90deg,var(--navy),var(--navy2));color:white;min-height:54px;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;font-family:var(--condensed);font-size:17px;letter-spacing:.04em}.sports-footer span{font-size:11px;color:#d3dfeb}.skeleton{color:var(--muted);padding:16px}.score{color:inherit}
@media(max-width:1150px){.brand-copy strong{font-size:31px}.brand-overline{font-size:14px}.dashboard-shell{grid-template-columns:270px minmax(470px,1fr) 270px}.sports-nav{justify-content:flex-start;padding-left:18px}.dashboard-lower{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.header-inner{min-height:auto}.brand-emblem{height:72px;width:72px;flex-basis:72px}.brand-copy strong{font-size:25px}.brand-overline{font-size:11px}.header-tools{display:none}.dashboard-shell{grid-template-columns:1fr}.dashboard-center{grid-row:1}.dashboard-left{grid-row:2}.dashboard-right{grid-row:3}.dashboard-lower{grid-template-columns:1fr 1fr}.classic-round-grid{gap:16px}.sports-footer{flex-direction:column;gap:5px;text-align:center}.detail-grid.two{grid-template-columns:1fr}}
@media(max-width:620px){.brand-copy strong{font-size:20px}.brand-overline{letter-spacing:.12em}.sports-nav a{font-size:12px}.dashboard-lower{grid-template-columns:1fr}.season-feature-card{padding:22px 18px}.season-feature-card h2{font-size:32px}.classic-round-grid{grid-template-columns:1fr;gap:10px}.classic-round-games{gap:10px}.bracket-lines{display:none}.postseason .season-feature-top{display:block}.dashboard-shell,.dashboard-lower{padding-left:7px;padding-right:7px}.sports-footer strong{font-size:14px}}

/* FIX18: split the public experience into real page views instead of one long dashboard. */
.page-view{display:none;min-height:calc(100vh - 250px)}
.page-view.is-active{display:block}
.public-page{background:#f5f6f7;padding-bottom:48px}
.page-hero{background:linear-gradient(120deg,#f4efe4 0%,#fff 62%,#f7f3ea 100%);border-bottom:1px solid var(--line);padding:34px max(24px,calc((100vw - 1300px)/2));position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:4%;top:-70px;width:280px;height:280px;border:42px solid rgba(196,157,81,.08);border-radius:50%;pointer-events:none}
.page-hero span{position:relative;z-index:1;font-family:var(--condensed);font-size:13px;letter-spacing:.13em;font-weight:1000;color:var(--gold)}
.page-hero h1{position:relative;z-index:1;font-family:var(--condensed);font-size:44px;line-height:1;color:var(--navy);margin:5px 0 7px}
.page-hero p{position:relative;z-index:1;max-width:760px;color:#4e5963;margin:0;font-size:15px}
.page-content{max-width:1300px;margin:22px auto 0;padding:0 18px;display:grid;gap:16px}
.page-content-wide{max-width:1540px}
.future-feature{background:var(--navy);color:#fff;border-radius:var(--radius);padding:20px 24px;border-left:5px solid var(--gold)}
.future-feature strong{display:block;font-family:var(--condensed);font-size:20px;color:#fff;margin-bottom:5px}
.future-feature p{margin:0;color:#d7e0e8;line-height:1.5}
.news-list-full{gap:0}.news-list-full>div{grid-template-columns:150px 1fr;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.news-list-full b{font-size:14px}
.gallery-placeholder{text-align:center}.featured-photo.large{height:340px;max-width:850px;margin:0 auto 16px}.gallery-placeholder p{color:var(--muted)}
.sports-nav a.active{color:var(--gold);border-bottom:3px solid var(--gold)}
/* Full playoff page gets the browser width and never an internal scroller. */
[data-route="playoffs"] .playoff-detail{overflow:visible}
[data-route="playoffs"] #playoffBracket{overflow:visible;width:100%}
[data-route="playoffs"] .classic-bracket{overflow:visible;min-height:520px;padding:18px}
[data-route="playoffs"] .classic-round-grid{gap:44px}
[data-route="playoffs"] .classic-team{height:42px}
[data-route="playoffs"] .classic-name{font-size:13px}
[data-route="playoffs"] .classic-round-head b{font-size:20px}
@media(max-width:900px){.page-hero{padding:28px 18px}.page-hero h1{font-size:36px}.page-content{padding:0 10px}}

/* FIX19: larger homepage presentation and MLB-style statistics center. */
@media(min-width:901px){
  .dashboard-shell{max-width:1600px;grid-template-columns:330px minmax(620px,1fr) 330px;gap:14px;padding-top:16px}
  .dashboard-lower{max-width:1600px;gap:14px;padding-bottom:18px}
  .dash-card{padding:17px 18px}
  .dash-heading h2{font-size:23px}
  .dash-heading a{font-size:11px}
  .game-card{font-size:14px}.game-team{font-size:16px}.game-team .score{font-size:26px}
  .list-item{font-size:13px;padding:12px 0}.date-chip{font-size:11px}.matchup{font-size:13px}.result{font-size:12px}
  .standings-mini th{font-size:12px}.standings-mini td{padding:11px 5px;font-size:13px}.standings-mini strong{font-size:13px}
  .leader{font-size:13px;padding:10px 0}.leader-rank{font-size:17px}.leader-stat{font-size:14px}
  .news-list>div{font-size:13px;grid-template-columns:95px 1fr}.news-list b{font-size:12px}
  .featured-photo{height:145px}
  .season-feature-card{min-height:535px;padding:34px 38px}
  .season-feature-card h2{font-size:45px}.season-feature-card>p{font-size:16px;line-height:1.55;max-width:760px}
  .featured-match h4{font-size:27px}.featured-match p{font-size:14px}.picture-grid strong{font-size:13px}
}

.stats-content{gap:26px}
.stats-leaderboard-block,.stats-table-block{display:grid;gap:14px}
.stats-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 2px}
.stats-section-heading span,.stats-table-title span{font-family:var(--condensed);font-size:12px;letter-spacing:.12em;color:var(--gold);font-weight:1000}
.stats-section-heading h2,.stats-table-title h2{font-family:var(--condensed);font-size:31px;color:var(--navy);margin:2px 0 0}
.stats-section-heading p{margin:0;color:var(--muted);font-size:13px}
.category-leaders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.leader-category{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.leader-category-head{padding:14px 15px 11px;background:linear-gradient(135deg,#071f3d,#103e70);color:white;border-bottom:3px solid var(--gold)}
.leader-category-head span{font-family:var(--condensed);font-size:9px;letter-spacing:.12em;color:#dcc286;font-weight:1000}
.leader-category-head h3{font-family:var(--condensed);font-size:21px;line-height:1;color:white;margin:4px 0 0}
.category-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #ece9e2}
.category-row:last-child{border-bottom:0}
.category-rank{font-family:var(--condensed);font-size:18px;color:var(--navy);font-weight:1000;text-align:center}
.category-player{min-width:0}.category-player strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-player small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.category-row>b{font-family:var(--condensed);font-size:18px;color:var(--navy)}
.stats-tabs{display:flex;gap:0;border-bottom:3px solid var(--navy);margin-top:4px}
.stats-tab{appearance:none;border:0;background:#e8ebee;color:var(--navy);font-family:var(--condensed);font-weight:1000;font-size:17px;padding:11px 28px;cursor:pointer;border-radius:5px 5px 0 0;margin-right:4px}
.stats-tab.active{background:var(--navy);color:white}
.stats-table-card{padding:0;overflow:hidden}
.stats-table-title{padding:18px 20px 13px;display:flex;align-items:end;justify-content:space-between;gap:20px;background:#fff}
.stats-table-title h2{font-size:28px}.stats-table-note{font-size:11px;color:var(--muted);font-weight:700}
.stats-scroll{overflow-x:auto;border-top:1px solid var(--line)}
.mlb-stats-table{min-width:1420px;background:white}
.mlb-stats-table thead{background:#f0f2f4}
.mlb-stats-table th{position:sticky;top:0;background:#f0f2f4;color:#25364b;border-bottom:1px solid #bfc7cf;padding:10px 8px;font-size:11px;text-align:center;white-space:nowrap}
.mlb-stats-table th:first-child,.mlb-stats-table th:nth-child(2){text-align:left}
.mlb-stats-table td{font-size:12px;padding:10px 8px;text-align:center;white-space:nowrap}
.mlb-stats-table td:first-child,.mlb-stats-table td:nth-child(2){text-align:left}
.mlb-stats-table tbody tr:nth-child(even){background:#fafafa}
.mlb-stats-table tbody tr:hover{background:#f4f0e7}
.player-cell strong{color:var(--navy)}
.stat-emphasis{font-weight:1000;color:var(--navy)}
@media(max-width:1200px){.category-leaders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.category-leaders{grid-template-columns:1fr}.stats-section-heading,.stats-table-title{display:block}.stats-section-heading p,.stats-table-note{margin-top:7px}.stats-tab{font-size:15px;padding:10px 20px}}

/* FIX20: full-screen desktop homepage sizing.
   Keep the same dashboard content, but use substantially more of a 1080p-class viewport
   without forcing the homepage to scroll. Smaller screens continue to use the responsive rules above. */
@media (min-width:1200px) and (min-height:780px){
  .header-inner,
  .sports-nav,
  .dashboard-shell,
  .dashboard-lower{
    width:calc(100vw - 44px);
    max-width:1840px;
  }
  .header-inner{min-height:112px;padding:10px 12px 5px}
  .brand-emblem{height:92px;width:92px;flex-basis:92px}
  .brand-overline{font-size:18px}
  .brand-copy strong{font-size:40px}
  .header-tools{gap:20px}
  .season-selector{font-size:18px;padding:10px 15px}
  .socials span{height:36px;width:36px;font-size:19px}
  .sports-nav{padding:0 10px;justify-content:flex-end;gap:8px}
  .sports-nav a{font-size:15px;padding:10px 11px 9px}

  .dashboard-shell{
    margin:10px auto 8px;
    padding:0;
    grid-template-columns:minmax(330px,22%) minmax(680px,56%) minmax(330px,22%);
    gap:14px;
  }
  .dashboard-left,.dashboard-right{gap:12px}
  .dash-card{padding:16px 17px}
  .dash-heading{margin-bottom:10px}
  .dash-heading h2{font-size:25px}
  .dash-heading a{font-size:12px}
  .live-badge{font-size:14px}
  .home-games{min-height:82px}
  .game-meta{font-size:12px}
  .game-team{min-height:50px;font-size:17px}
  .game-team .score{font-size:29px}
  .game-state{font-size:13px}
  .card-button{font-size:14px;padding:9px 10px;margin-top:7px}
  .list-item{font-size:13px;padding:10px 0}
  .date-chip{font-size:12px}.matchup{font-size:14px}.result{font-size:13px}
  .standings-mini th{font-size:12px;padding:5px 4px}
  .standings-mini td{font-size:13px;padding:8px 4px}
  .standings-mini strong{font-size:13px}

  .dashboard-center{min-height:448px}
  .season-feature-card{min-height:448px;padding:26px 34px}
  .feature-kicker{font-size:19px}
  .season-feature-card h2{font-size:43px;margin:9px 0}
  .season-feature-card p{font-size:17px;line-height:1.4}
  .featured-match{margin:8px 0;padding:14px 0}
  .featured-match h4{font-size:30px}
  .feature-button{font-size:15px;padding:10px 24px;margin-top:12px}
  .postseason{padding:18px 24px 20px}
  .postseason .season-feature-top h2{font-size:30px}

  .dashboard-lower{
    margin:0 auto 8px;
    padding:0;
    gap:14px;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .dashboard-lower .dash-card{min-height:155px}
  .leader{font-size:13px;padding:8px 0}
  .leader-rank{font-size:17px}.leader-stat{font-size:14px}
  .news-list>div{font-size:13px;grid-template-columns:92px 1fr}
  .news-list b{font-size:12px}
  .featured-photo{height:126px}

  .sports-footer{min-height:44px;padding:10px 24px;font-size:16px}
}

/* On very tall desktop monitors, let the feature area breathe a little more. */
@media (min-width:1200px) and (min-height:980px){
  .dashboard-center,.season-feature-card{min-height:500px}
  .dashboard-lower .dash-card{min-height:170px}
  .featured-photo{height:140px}
}

/* FIX21: true edge-to-edge desktop dashboard.
   The prior FIX20 widened the max-width, but still allowed the site to read as a centered narrow column
   on larger desktop displays. FIX21 makes the homepage deliberately consume the viewport while preserving
   small safety gutters and the existing no-scroll dashboard concept. */
@media (min-width:1200px) and (min-height:760px){
  .header-inner,
  .sports-nav,
  .dashboard-shell,
  .dashboard-lower{
    width:96vw !important;
    max-width:none !important;
  }
  .header-inner{padding-left:0;padding-right:0}
  .sports-nav{padding-left:0;padding-right:0}

  .dashboard-shell{
    grid-template-columns:minmax(340px,23fr) minmax(720px,54fr) minmax(340px,23fr) !important;
    gap:16px !important;
    margin-top:12px;
  }
  .dashboard-lower{gap:16px !important}

  .dash-card{padding:18px 19px}
  .dash-heading h2{font-size:27px}
  .dash-heading a{font-size:12px}
  .game-team{font-size:18px;min-height:52px}
  .game-team .score{font-size:31px}
  .standings-mini td,.standings-mini strong{font-size:14px}
  .standings-mini td{padding:9px 5px}

  .dashboard-center{min-height:470px}
  .season-feature-card{min-height:470px;padding:28px 42px}
  .season-feature-card h2{font-size:46px}
  .season-feature-card p{font-size:18px;max-width:820px}
  .featured-match{width:min(820px,100%)}
  .playoff-picture{width:min(820px,100%)}

  .dashboard-lower .dash-card{min-height:162px}
  .leader{font-size:14px}
  .news-list>div{font-size:14px}
  .featured-photo{height:132px}
}

/* Use even more width on 1600px+ desktop displays. */
@media (min-width:1600px) and (min-height:800px){
  .header-inner,
  .sports-nav,
  .dashboard-shell,
  .dashboard-lower{width:98vw !important}
  .dashboard-shell{grid-template-columns:minmax(360px,22fr) minmax(820px,56fr) minmax(360px,22fr) !important}
  .brand-copy strong{font-size:43px}
  .sports-nav a{font-size:16px;padding-left:13px;padding-right:13px}
  .dashboard-center,.season-feature-card{min-height:490px}
}

/* Maintain a one-screen dashboard target on typical 1080p displays by trimming only vertical whitespace. */
@media (min-width:1200px) and (min-height:800px) and (max-height:950px){
  .header-inner{min-height:100px;padding-top:7px;padding-bottom:3px}
  .brand-emblem{height:82px;width:82px;flex-basis:82px}
  .brand-overline{font-size:16px;margin-bottom:5px}
  .brand-copy strong{font-size:37px}
  .sports-nav a{padding-top:8px;padding-bottom:8px}
  .dashboard-shell{margin-top:9px;margin-bottom:7px}
  .dashboard-center,.season-feature-card{min-height:430px}
  .season-feature-card{padding-top:23px;padding-bottom:23px}
  .dashboard-lower{margin-bottom:6px}
  .dashboard-lower .dash-card{min-height:148px}
  .featured-photo{height:112px}
  .sports-footer{min-height:38px;padding-top:8px;padding-bottom:8px}
}


/* FIX22: viewport-filling desktop homepage.
   FIX21 solved the horizontal gutters. This pass uses the remaining vertical viewport too,
   so the same uncluttered dashboard reads like a full-screen sports product instead of a
   compact dashboard sitting at the top of a large blank canvas. */
@media (min-width:1200px) and (min-height:760px){
  body.route-home{height:100vh;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;background:#f4f5f6}
  body.route-home .sports-header{flex:0 0 auto}
  body.route-home main{flex:1 1 auto;min-height:0;display:flex}
  body.route-home .page-view[data-route="home"].is-active{
    flex:1 1 auto;min-height:0;width:100%;display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    align-content:stretch;
  }
  body.route-home .sports-footer{flex:0 0 auto;margin-top:0}

  body.route-home .dashboard-shell{
    width:98.4vw !important;max-width:none !important;
    min-height:0;height:100%;margin:8px auto 8px;
    grid-template-columns:minmax(355px,22fr) minmax(760px,56fr) minmax(355px,22fr) !important;
    align-items:stretch;
  }
  body.route-home .dashboard-left,
  body.route-home .dashboard-right{height:100%;min-height:0;grid-template-rows:1fr 1fr;align-items:stretch}
  body.route-home .dashboard-left>.dash-card,
  body.route-home .dashboard-right>.dash-card{height:100%;min-height:0;display:flex;flex-direction:column}
  body.route-home .dashboard-left>.dash-card>div[id],
  body.route-home .dashboard-right>.dash-card>div[id]{flex:1 1 auto}

  body.route-home .dashboard-center{height:100%;min-height:0}
  body.route-home .season-feature,
  body.route-home .season-feature-card{height:100%;min-height:0}
  body.route-home .season-feature-card{padding:34px 48px}
  body.route-home .postseason{height:100%;min-height:0;justify-content:flex-start;padding:26px 32px}
  body.route-home .postseason .featured-match{margin-top:18px;margin-bottom:18px}
  body.route-home .season-feature-card h2{font-size:clamp(42px,2.6vw,56px)}
  body.route-home .featured-match h4{font-size:clamp(29px,1.8vw,38px)}

  body.route-home .dashboard-lower{
    width:98.4vw !important;max-width:none !important;margin:0 auto 8px;padding:0;
    gap:16px !important;grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.route-home .dashboard-lower .dash-card{min-height:0;height:clamp(156px,17vh,190px)}
  body.route-home .featured-photo{height:calc(clamp(156px,17vh,190px) - 58px)}

  body.route-home .dash-heading h2{font-size:clamp(25px,1.45vw,31px)}
  body.route-home .dash-heading a{font-size:clamp(11px,.72vw,13px)}
  body.route-home .standings-mini td,
  body.route-home .standings-mini strong{font-size:clamp(13px,.78vw,15px)}
  body.route-home .standings-mini td{padding:clamp(8px,1vh,12px) 5px}
  body.route-home .leader{font-size:clamp(13px,.78vw,15px);padding:clamp(7px,.9vh,11px) 0}
  body.route-home .news-list>div{font-size:clamp(12px,.75vw,14px)}
}

/* The user's current 1080p-class desktop is the main target: make the dashboard consume the
   viewport deliberately while keeping every element visible and the footer anchored. */
@media (min-width:1400px) and (min-height:820px) and (max-height:1000px){
  body.route-home .header-inner{min-height:94px;padding-top:5px;padding-bottom:2px}
  body.route-home .brand-emblem{height:76px;width:76px;flex-basis:76px}
  body.route-home .brand-overline{font-size:15px}
  body.route-home .brand-copy strong{font-size:35px}
  body.route-home .sports-nav a{padding-top:7px;padding-bottom:7px}
  body.route-home .dashboard-shell{gap:14px!important}
  body.route-home .dashboard-lower{gap:14px!important}
  body.route-home .dash-card{padding:16px 17px}
  body.route-home .sports-footer{min-height:34px;padding:7px 20px}
}

/* Never force the single-screen behavior onto laptops/tablets/mobile; those retain normal scrolling. */
@media (max-width:1199px), (max-height:759px){
  body.route-home{height:auto;min-height:100%;overflow:auto;display:block}
  body.route-home main{display:block}
}
\n\n/* FIX23 — professional Schedule & Scores page */\n.schedule-content{max-width:1540px;margin-top:18px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.schedule-tabs{display:flex;gap:4px;background:#eef1f4;border-radius:4px;padding:4px}.schedule-tab{border:0;background:transparent;color:var(--navy);font-family:var(--condensed);font-weight:1000;font-size:14px;padding:10px 18px;cursor:pointer;border-radius:3px}.schedule-tab.active{background:linear-gradient(var(--navy3),var(--navy));color:#fff}.schedule-filters{display:flex;align-items:end;gap:8px}.schedule-filters label{display:grid;gap:4px}.schedule-filters label span{font-family:var(--condensed);font-size:10px;font-weight:1000;letter-spacing:.08em;color:#68727b}.schedule-filters select{min-width:220px;height:38px;border:1px solid #cfd5da;border-radius:3px;background:white;padding:0 10px;font-weight:700;color:var(--navy)}.schedule-reset{height:38px;border:1px solid #cfd5da;background:white;border-radius:3px;padding:0 14px;font-family:var(--condensed);font-weight:1000;color:var(--navy);cursor:pointer}.schedule-summary{display:flex;gap:1px;background:var(--navy);border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}.schedule-summary>div{flex:1;background:linear-gradient(110deg,var(--navy2),var(--navy));color:#fff;padding:10px 16px;display:flex;align-items:baseline;gap:9px}.schedule-summary b{font-family:var(--condensed);font-size:24px;color:var(--gold)}.schedule-summary span{font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.08em}.schedule-board{display:grid;gap:14px}.schedule-day{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.schedule-day-head{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:linear-gradient(90deg,#f4efe4,#fff);border-bottom:2px solid var(--gold)}.schedule-day-head h2{font-family:var(--condensed);font-size:18px;color:var(--navy);margin:0;letter-spacing:.02em}.schedule-day-head span{font-family:var(--condensed);font-size:10px;font-weight:1000;color:#68727b}.schedule-day-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-game{padding:13px 16px 12px;min-width:0;border-bottom:1px solid #ece8e0}.schedule-game:nth-child(odd){border-right:1px solid #ece8e0}.schedule-game-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--condensed);font-size:12px;font-weight:1000;color:#4d5964;margin-bottom:8px}.schedule-status{font-size:9px;letter-spacing:.05em;border-radius:10px;padding:3px 7px}.schedule-status.live{background:#c90917;color:#fff}.schedule-status.final{background:#e8edf1;color:var(--navy)}.schedule-status.scheduled{background:#f5eddc;color:#8c6724}.schedule-matchup{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:8px}.schedule-club{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.schedule-club:nth-child(3){text-align:right}.schedule-team-name{font-size:16px;font-weight:900;color:#121820;line-height:1.15}.schedule-club b{font-family:var(--condensed);font-size:25px;color:var(--navy)}.schedule-vs{text-align:center;font-family:var(--condensed);font-size:11px;font-weight:1000;color:var(--gold)}.schedule-game-foot{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-top:7px;border-top:1px solid #f0ede7;color:#6a747d;font-size:10px;font-weight:700}.schedule-empty{background:#fff;border:1px dashed #c8ced3;border-radius:var(--radius);padding:40px;text-align:center;display:grid;gap:5px;color:#68727b}.schedule-empty strong{font-family:var(--condensed);font-size:22px;color:var(--navy)}\n@media(max-width:900px){.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-tabs{width:100%;overflow-x:auto}.schedule-tab{flex:1;white-space:nowrap}.schedule-filters{width:100%}.schedule-filters label{flex:1}.schedule-filters select{min-width:0;width:100%}.schedule-day-games{grid-template-columns:1fr}.schedule-game:nth-child(odd){border-right:0}.schedule-summary span{font-size:9px}.schedule-summary b{font-size:19px}}\n
/* FIX24 — Professional public standings page */
.standings-content{max-width:1700px}
.standings-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.standings-summary-card{background:#fff;border:1px solid #dedbd4;border-radius:8px;padding:16px 18px;box-shadow:0 2px 8px rgba(15,36,62,.06);min-height:88px;display:flex;flex-direction:column;justify-content:center}
.standings-summary-card span{font-family:var(--condensed);font-size:12px;font-weight:900;letter-spacing:.08em;color:#777;text-transform:uppercase}
.standings-summary-card strong{font-family:var(--condensed);font-size:clamp(20px,1.6vw,30px);line-height:1.05;color:var(--navy);margin-top:5px}
.standings-summary-card small{font-size:12px;color:#777;margin-top:4px}
.standings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #dedbd4;border-radius:8px 8px 0 0;padding:0 18px;min-height:58px}
.standings-tabs{display:flex;align-self:stretch;gap:4px;overflow-x:auto}
.standings-tab{border:0;background:transparent;padding:0 18px;font-family:var(--condensed);font-weight:1000;font-size:14px;letter-spacing:.04em;color:#6d7480;cursor:pointer;border-bottom:4px solid transparent;white-space:nowrap}
.standings-tab:hover{color:var(--navy)}
.standings-tab.active{color:var(--navy);border-bottom-color:var(--gold)}
.standings-key{display:flex;gap:18px;align-items:center;font-size:12px;color:#6f747c;white-space:nowrap}
.standings-key span{display:flex;gap:6px;align-items:center}.standings-key i{width:10px;height:10px;border-radius:50%;display:inline-block}.key-seed{background:var(--gold)}.key-leader{background:var(--navy)}
.standings-board{background:#fff;border:1px solid #dedbd4;border-top:0;border-radius:0 0 8px 8px;overflow:hidden;box-shadow:0 4px 14px rgba(15,36,62,.07)}
.standings-group+.standings-group{border-top:12px solid #f2f0eb}
.standings-group-title{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:18px 22px 10px;border-bottom:1px solid #e4e1db}
.standings-group-title span{font-family:var(--condensed);font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}.standings-group-title h2{font-family:var(--condensed);font-size:25px;line-height:1;margin:3px 0 0;color:var(--navy)}.standings-group-title small{color:#7a7f86;font-size:12px}
.pro-standings{width:100%;border-collapse:collapse;table-layout:auto}
.pro-standings th{background:var(--navy);color:#fff;font-family:var(--condensed);font-size:12px;letter-spacing:.04em;text-align:right;padding:11px 13px;white-space:nowrap}
.pro-standings th:first-child{text-align:center;width:56px}.pro-standings th:nth-child(2){text-align:left;min-width:250px}
.pro-standings td{border-bottom:1px solid #e7e4de;padding:13px;font-size:14px;text-align:right;white-space:nowrap}.pro-standings tr:last-child td{border-bottom:0}.pro-standings tbody tr:hover{background:#faf8f2}
.pro-standings td:first-child{text-align:center}.pro-standings td:nth-child(2){text-align:left}
.standing-rank{font-family:var(--condensed);font-size:18px;font-weight:1000;color:var(--navy)}
.standing-team{display:flex;align-items:center;gap:11px}.standing-team-badge{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--condensed);font-size:11px;font-weight:1000;flex:0 0 auto}.standing-team-copy{display:flex;flex-direction:column;min-width:0}.standing-team-copy strong{font-size:14px;color:#152d4b;overflow:hidden;text-overflow:ellipsis}.standing-team-copy small{font-size:11px;color:#85898e;margin-top:2px}
.standing-pct{font-weight:1000;color:var(--navy)}.standing-diff.positive{color:#17733b;font-weight:900}.standing-diff.negative{color:#a13a36;font-weight:900}
.standing-marker{display:inline-block;margin-left:8px;padding:3px 6px;border-radius:10px;font-family:var(--condensed);font-size:9px;font-weight:1000;letter-spacing:.04em;vertical-align:1px}.standing-marker.seed{background:#f5e5a4;color:#5e4a00}.standing-marker.leader{background:var(--navy);color:#fff}
.standings-notes{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 4px;color:#757a80;font-size:11px}.standings-notes strong{font-family:var(--condensed);color:var(--navy);font-size:12px;letter-spacing:.05em}
@media(max-width:900px){.standings-summary{grid-template-columns:repeat(2,1fr)}.standings-toolbar{align-items:flex-start;flex-direction:column;padding:0}.standings-tabs{width:100%;min-height:54px;padding:0 10px}.standings-key{padding:0 16px 12px;flex-wrap:wrap}.standings-board{overflow-x:auto}.pro-standings{min-width:850px}}
@media(max-width:560px){.standings-summary{grid-template-columns:1fr 1fr;gap:8px}.standings-summary-card{padding:12px;min-height:76px}.standings-summary-card strong{font-size:19px}.standings-key{display:none}}
\n/* FIX28 - professional public Teams directory */\n.teams-content{padding-top:26px;padding-bottom:50px}.teams-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.teams-summary article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;min-height:104px;display:flex;flex-direction:column;justify-content:center}.teams-summary span,.pro-team-meta span,.team-profile-grid span{font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.08em;color:var(--gold)}.teams-summary strong{font-family:var(--condensed);font-size:24px;color:var(--navy);margin:4px 0}.teams-summary small{color:var(--muted);font-weight:700}.teams-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.teams-filters{display:flex;gap:8px;flex-wrap:wrap}.team-filter{border:1px solid #d8d5cd;background:#fff;color:var(--navy);padding:9px 14px;border-radius:5px;font-family:var(--condensed);font-weight:1000;letter-spacing:.03em;cursor:pointer}.team-filter.active,.team-filter:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.teams-count{font-family:var(--condensed);font-weight:1000;color:var(--muted);font-size:13px}.pro-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pro-team-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;min-height:285px;transition:transform .18s ease,box-shadow .18s ease}.pro-team-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px #0c2d4b17}.pro-team-card-top{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ebe6dd}.pro-team-badge{width:58px;height:58px;border-radius:9px;background:linear-gradient(145deg,var(--navy),var(--navy2));display:grid;place-items:center;color:#fff;font-family:var(--condensed);font-size:18px;font-weight:1000;letter-spacing:.03em}.pro-team-identity span{font-family:var(--condensed);font-size:10px;color:var(--gold);font-weight:1000;letter-spacing:.08em}.pro-team-identity h2{font-family:var(--condensed);font-size:20px;line-height:1.05;color:var(--navy);margin:3px 0 0}.pro-team-rank{font-family:var(--condensed);font-size:22px;font-weight:1000;color:#abb2b9}.pro-team-record{display:flex;align-items:baseline;gap:10px;padding:15px 0}.pro-team-record strong{font-family:var(--condensed);font-size:31px;color:var(--navy)}.pro-team-record span{font-size:11px;color:var(--muted);font-weight:800}.pro-team-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.pro-team-meta div{background:#f7f5f0;border-radius:5px;padding:10px;min-height:58px}.pro-team-meta span{display:block;margin-bottom:4px}.pro-team-meta b{display:block;color:var(--navy);font-size:12px;line-height:1.25}.team-view-button{margin-top:auto;background:var(--navy);color:#fff;border:0;border-radius:4px;padding:10px 12px;font-family:var(--condensed);font-weight:1000;cursor:pointer}.team-view-button:hover{background:var(--navy2)}.team-profile{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);scroll-margin-top:20px}.team-profile-head{position:relative;background:linear-gradient(100deg,var(--navy),var(--navy2));color:#fff;padding:24px;display:flex;align-items:center;gap:16px;border-radius:var(--radius) var(--radius) 0 0}.team-profile-badge{height:74px;width:74px;border-radius:10px;background:#fff;color:var(--navy);display:grid;place-items:center;font-family:var(--condensed);font-size:22px;font-weight:1000}.team-profile-head span{font-family:var(--condensed);color:#e7bd62;font-size:12px;font-weight:1000;letter-spacing:.08em}.team-profile-head h2{font-family:var(--condensed);font-size:34px;line-height:1;margin:3px 0}.team-profile-head p{margin:0;color:#d8e2ec;font-weight:700}.team-profile-close{position:absolute;right:18px;top:16px;border:0;background:#ffffff1f;color:white;border-radius:50%;height:34px;width:34px;font-size:24px;cursor:pointer}.team-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.team-profile-grid article{padding:20px;border-right:1px solid #ebe6dd;min-height:110px}.team-profile-grid article:last-child{border-right:0}.team-profile-grid span{display:block}.team-profile-grid strong{display:block;color:var(--navy);font-family:var(--condensed);font-size:19px;margin:5px 0}.team-profile-grid small{color:var(--muted);font-weight:700}.team-profile-actions{display:flex;gap:10px;padding:0 20px 20px}.team-profile-actions a{background:var(--navy);color:white;text-decoration:none;font-family:var(--condensed);font-weight:1000;padding:10px 15px;border-radius:4px}@media(max-width:1050px){.pro-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teams-summary,.team-profile-grid{grid-template-columns:repeat(2,1fr)}.team-profile-grid article:nth-child(2){border-right:0}}@media(max-width:680px){.pro-team-grid,.teams-summary,.team-profile-grid{grid-template-columns:1fr}.teams-toolbar{align-items:flex-start;flex-direction:column}.team-profile-grid article{border-right:0;border-bottom:1px solid #ebe6dd}.team-profile-head h2{font-size:26px}.pro-team-meta{grid-template-columns:1fr}}\n
/* FIX29 - expanded public team profile */
.team-profile-section{border-top:1px solid #ebe6dd;padding:22px 24px 24px;background:#fff}.team-profile-section:last-child{border-radius:0 0 var(--radius) var(--radius)}.team-profile-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.team-profile-section-head span{font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.09em;color:var(--gold)}.team-profile-section-head h3{font-family:var(--condensed);font-size:25px;line-height:1;color:var(--navy);margin:4px 0 0}.team-profile-section-head small{color:var(--muted);font-weight:800}.team-profile-table-wrap{overflow-x:auto;border:1px solid #e4dfd6;border-radius:7px}.team-profile-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.team-profile-table th{background:#f2efe9;color:var(--navy);font-family:var(--condensed);font-size:11px;letter-spacing:.05em;text-align:right;padding:10px 12px;border-bottom:1px solid #ddd6cb}.team-profile-table th:first-child{text-align:left}.team-profile-table td{padding:11px 12px;border-bottom:1px solid #eee9e1;text-align:right;color:#243647;font-size:13px}.team-profile-table tbody tr:last-child td{border-bottom:0}.team-profile-table td:first-child{text-align:left}.team-profile-table tbody tr:hover{background:#fbfaf7}.team-roster-player{display:flex;align-items:center;gap:10px}.team-roster-player>span:last-child{display:flex;flex-direction:column;gap:2px}.team-roster-player small{font-size:10px;color:var(--muted);font-weight:700}.team-jersey{min-width:34px;height:28px;padding:0 7px;border-radius:5px;background:var(--navy);color:#fff;display:inline-grid;place-items:center;font-family:var(--condensed);font-weight:1000;font-size:11px}.team-profile-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-profile-games .schedule-game{margin:0}.team-schedule-section{padding-bottom:28px}@media(max-width:900px){.team-profile-games{grid-template-columns:1fr}}@media(max-width:680px){.team-profile-section{padding:18px 14px}.team-profile-section-head{align-items:flex-start;flex-direction:column;gap:6px}.team-profile-section-head h3{font-size:22px}}

/* FIX30 - scorebook-style complete batting lines */
.team-batting-table{min-width:1180px}.team-batting-table th,.team-batting-table td{font-variant-numeric:tabular-nums}.team-stats-total td{font-weight:1000;background:#f7f2e8;border-top:2px solid var(--gold)!important;color:var(--navy)!important}.team-stats-total td:first-child{font-family:var(--condensed);letter-spacing:.06em}

/* FIX31 - roster/stat identity reconciliation + team-stat legend */
.stat-legend-section{margin-bottom:18px}.stat-legend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #e2d8c5;border-radius:10px;overflow:hidden;background:#fff}.stat-legend-grid>div{display:flex;align-items:baseline;gap:9px;padding:9px 12px;border-right:1px solid #eee5d7;border-bottom:1px solid #eee5d7;min-width:0}.stat-legend-grid>div:nth-child(4n){border-right:0}.stat-legend-grid b{font-family:var(--condensed);color:var(--navy);font-size:.82rem;min-width:34px}.stat-legend-grid span{font-size:.76rem;color:#596474;line-height:1.2}@media(max-width:900px){.stat-legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-legend-grid>div:nth-child(4n){border-right:1px solid #eee5d7}.stat-legend-grid>div:nth-child(2n){border-right:0}}@media(max-width:520px){.stat-legend-grid{grid-template-columns:1fr}.stat-legend-grid>div{border-right:0!important}}

/* FIX32: professional league statistics center */
.leader-tabs{display:flex;gap:8px;align-items:center}
.leader-tab{border:1px solid var(--line);background:#fff;color:var(--navy);font-family:var(--condensed);font-size:15px;font-weight:1000;letter-spacing:.04em;padding:9px 16px;border-radius:5px;cursor:pointer}
.leader-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.stats-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.35fr) minmax(220px,1.1fr) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;margin-top:2px}
.stats-toolbar label{display:grid;gap:5px}.stats-toolbar label>span{font-family:var(--condensed);font-weight:1000;color:var(--navy);font-size:10px;letter-spacing:.09em}
.stats-toolbar select,.stats-toolbar input{width:100%;height:38px;border:1px solid #c9d0d6;border-radius:4px;background:#fff;color:#15283f;padding:0 10px;font:700 12px var(--sans)}
.stats-toolbar input:focus,.stats-toolbar select:focus{outline:2px solid rgba(190,148,63,.25);border-color:var(--gold)}
.stats-clear-btn{height:38px;border:0;border-radius:4px;background:var(--navy);color:#fff;font-family:var(--condensed);font-size:13px;font-weight:1000;letter-spacing:.04em;padding:0 18px;cursor:pointer}.stats-clear-btn:hover{background:#10416f}
.stats-result-count{text-align:right;color:var(--muted);font-size:11px;font-weight:800;margin-top:-3px}
.sortable-stats-table th[data-key]{cursor:pointer;user-select:none;padding-right:18px;position:sticky}.sortable-stats-table th[data-key]::after{content:'↕';position:absolute;right:5px;opacity:.25;font-size:9px}.sortable-stats-table th.sort-asc::after{content:'▲';opacity:1;color:var(--gold)}.sortable-stats-table th.sort-desc::after{content:'▼';opacity:1;color:var(--gold)}
.stats-legend{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 22px;background:#fbfaf7}.stats-legend>div+div{border-left:1px solid var(--line);padding-left:28px}.stats-legend span{font-family:var(--condensed);font-size:10px;letter-spacing:.11em;color:var(--gold);font-weight:1000}.stats-legend h3{font-family:var(--condensed);font-size:22px;color:var(--navy);margin:3px 0 8px}.stats-legend p{font-size:11px;line-height:1.8;color:#4a5867;margin:0}.stats-legend b{color:var(--navy)}
.category-leaders{grid-template-columns:repeat(4,minmax(0,1fr))}.category-row{padding:9px 13px}.category-player strong{font-size:11px}.category-row>b{font-size:16px}
@media(max-width:1100px){.stats-toolbar{grid-template-columns:1fr 1fr}.stats-clear-btn{width:100%}.stats-legend{grid-template-columns:1fr}.stats-legend>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}}
@media(max-width:700px){.stats-toolbar{grid-template-columns:1fr}.leader-tabs{flex-wrap:wrap}.leader-tab{flex:1}.stats-result-count{text-align:left}.stats-legend{padding:16px}}

/* FIX34 — dedicated professional Playoffs page */
.playoff-page-hero{padding-bottom:24px}
.playoff-page-content{width:min(1680px,97vw);max-width:none;padding-top:22px;padding-bottom:34px}
.playoff-summary{display:grid;grid-template-columns:minmax(340px,2fr) repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.playoff-summary>article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 20px;box-shadow:0 5px 15px rgba(7,42,78,.06);display:flex;flex-direction:column;justify-content:center;min-height:105px}
.playoff-summary>article span{font-family:var(--condensed);font-weight:1000;font-size:12px;letter-spacing:.08em;color:var(--gold)}
.playoff-summary>article strong{font-family:var(--condensed);font-size:26px;line-height:1.05;color:var(--navy);margin-top:5px}
.playoff-summary>article small{font-size:12px;color:#5d6874;margin-top:5px}
.playoff-summary-main{background:linear-gradient(115deg,var(--navy),#0b3a68)!important;border-color:var(--navy)!important;color:#fff}
.playoff-summary-main span{color:var(--gold)!important}
.playoff-summary-main h2{font-family:var(--condensed);font-size:30px;line-height:1;margin:6px 0;color:#fff}
.playoff-summary-main p{font-size:13px;margin:0;color:#e8eef4}
.playoff-summary-main p strong{font:inherit;color:#fff;margin:0}
.playoff-stage{background:linear-gradient(145deg,#fffdf8,#f7f0e3);border:1px solid #d9c89f;border-radius:10px;padding:26px 28px 30px;box-shadow:0 8px 22px rgba(7,42,78,.07);overflow:visible}
.playoff-stage .bracket-group-title{font-size:23px;letter-spacing:.025em;border-bottom:2px solid var(--gold);padding-bottom:9px;margin:6px 0 16px}
.playoff-stage .bracket-group-title:not(:first-child){margin-top:34px}
[data-route="playoffs"] .classic-bracket{min-height:560px;padding:4px 4px 12px;margin-bottom:10px}
[data-route="playoffs"] .classic-round-grid{gap:58px}
[data-route="playoffs"] .classic-round-head{padding:5px 0 10px;margin-bottom:14px;border-bottom:2px solid var(--gold)}
[data-route="playoffs"] .classic-round-head b{font-size:22px;letter-spacing:.025em}
[data-route="playoffs"] .classic-round-head small{font-size:11px;font-weight:800;color:#6a6f72}
[data-route="playoffs"] .classic-round-games{gap:28px;padding:12px 0}
[data-route="playoffs"] .classic-match-meta{height:22px}
[data-route="playoffs"] .classic-status{font-size:10px;padding:3px 6px;border-radius:10px;background:#edf0f3}
[data-route="playoffs"] .classic-status.ready{background:#e5f2ff;color:#0b5d9d}
[data-route="playoffs"] .classic-status.official{background:#e4f5ea;color:#176a37}
[data-route="playoffs"] .classic-team{height:48px;grid-template-columns:54px 1fr;box-shadow:0 2px 7px rgba(8,43,79,.05)}
[data-route="playoffs"] .classic-seed{font-size:17px}
[data-route="playoffs"] .classic-name{font-size:14px;padding:0 11px}
[data-route="playoffs"] .bracket-path{stroke-width:2.5}
.playoff-page-note{margin-top:15px;display:flex;gap:14px;align-items:flex-start;background:#f1f5f8;border-left:4px solid var(--gold);padding:13px 16px;color:#52606c;font-size:12px}
.playoff-page-note b{font-family:var(--condensed);color:var(--navy);white-space:nowrap;font-size:14px}
@media(max-width:1100px){.playoff-summary{grid-template-columns:1fr 1fr}.playoff-summary-main{grid-column:1/-1}.playoff-stage{overflow-x:auto}[data-route="playoffs"] .classic-bracket{min-width:980px}}
@media(max-width:700px){.playoff-summary{grid-template-columns:1fr}.playoff-summary-main{grid-column:auto}.playoff-stage{padding:18px 12px}.playoff-page-note{display:block}.playoff-page-note b{display:block;margin-bottom:4px}}

/* FIX35 — professional News & Announcements center */
.news-content{display:block}.home-news-link{color:inherit;text-decoration:none;font-weight:800}.home-news-link:hover{color:var(--gold)}
.news-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0}.news-category-filters{display:flex;gap:8px;flex-wrap:wrap}.news-filter{border:1px solid #d9d1c4;background:#fff;color:var(--navy);font-family:var(--condensed);font-weight:900;letter-spacing:.03em;padding:9px 14px;border-radius:4px;cursor:pointer}.news-filter.active,.news-filter:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.news-count{font-family:var(--condensed);font-weight:900;color:#6e6b65;font-size:13px;letter-spacing:.04em}
.news-featured{min-height:310px;border-radius:8px;border:1px solid #dfd5c6;padding:36px 42px;display:flex;align-items:center;background:linear-gradient(115deg,#fbf7ef 0%,#fff 62%,#f4ead8 100%);position:relative;overflow:hidden}.news-featured:after{content:"";position:absolute;right:-90px;top:-100px;width:360px;height:360px;border:48px solid rgba(193,148,68,.08);border-radius:50%}.news-featured>div{max-width:900px;position:relative;z-index:1}.news-featured-kicker,.news-story-meta span,.news-article-meta span{font-family:var(--condensed);font-weight:1000;color:var(--gold-dark,#b68632);letter-spacing:.08em;font-size:12px}.news-featured h2{font-family:var(--condensed);font-size:clamp(30px,3vw,48px);line-height:1;margin:10px 0 14px;color:var(--navy)}.news-featured p{font-size:17px;line-height:1.55;max-width:780px;color:#3f4650}.news-featured-meta{font-size:12px;color:#706b62;font-weight:800;margin:16px 0 20px;text-transform:uppercase;letter-spacing:.05em}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-story-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px;min-height:220px;display:flex;flex-direction:column;box-shadow:0 3px 10px rgba(0,30,60,.04)}.news-story-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.news-story-meta time,.news-article-meta time{font-size:11px;color:#7b7a75;font-weight:800;text-transform:uppercase}.news-story-card h3{font-family:var(--condensed);font-size:23px;line-height:1.08;color:var(--navy);margin:12px 0 10px}.news-story-card p{font-size:14px;line-height:1.5;color:#555b62;flex:1}.news-story-card a,.news-back{font-family:var(--condensed);font-weight:1000;color:var(--navy);text-decoration:none;letter-spacing:.03em}.news-story-card a:hover,.news-back:hover{color:var(--gold)}
.news-article-view{background:#fff;border:1px solid var(--line);border-radius:8px;padding:clamp(28px,4vw,64px);max-width:1150px;margin:0 auto}.news-article-meta{display:flex;justify-content:space-between;gap:20px;margin-top:28px}.news-article-view h1{font-family:var(--condensed);font-size:clamp(38px,5vw,68px);line-height:.98;color:var(--navy);margin:14px 0 18px}.news-article-summary{font-size:20px;line-height:1.5;color:#555b62;border-left:4px solid var(--gold);padding-left:18px;max-width:900px}.news-article-body{margin-top:34px;max-width:900px}.news-article-body p{font-size:17px;line-height:1.75;color:#262b31;margin:0 0 22px}.news-author{border-top:1px solid var(--line);margin-top:36px;padding-top:18px;color:#777;font-size:13px;font-weight:700}
@media(max-width:1050px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-featured{padding:28px}}
@media(max-width:680px){.news-grid{grid-template-columns:1fr}.news-toolbar{align-items:flex-start;flex-direction:column}.news-featured{min-height:0;padding:24px}.news-featured p{font-size:15px}.news-article-meta{flex-direction:column;gap:4px}.news-article-summary{font-size:17px}.news-article-body p{font-size:16px}}


/* FIX36 — Rules & Documents center */
.documents-content{display:block}.documents-intro{display:grid;grid-template-columns:1fr 240px;gap:18px;align-items:stretch;margin-bottom:16px}.documents-intro>article,.documents-intro>aside{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 14px rgba(5,35,67,.05)}.documents-intro>article{padding:24px 28px}.documents-intro>article>span{font-family:var(--condensed);font-weight:1000;font-size:11px;letter-spacing:.11em;color:var(--gold)}.documents-intro h2{font-family:var(--condensed);font-size:30px;line-height:1;color:var(--navy);margin:7px 0 8px}.documents-intro p{font-size:14px;line-height:1.55;color:#59616a;margin:0;max-width:850px}.documents-intro>aside{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--navy),#0c3f70);color:#fff}.documents-intro>aside strong{font-family:var(--condensed);font-size:46px;line-height:1}.documents-intro>aside span{font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.09em;color:var(--gold);margin-top:5px}.document-category-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.document-filter{border:1px solid #d5cec2;background:#fff;color:var(--navy);font-family:var(--condensed);font-size:12px;font-weight:1000;letter-spacing:.03em;border-radius:4px;padding:9px 14px;cursor:pointer}.document-filter.active,.document-filter:hover{background:var(--navy);border-color:var(--navy);color:#fff}.documents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.document-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:21px;min-height:255px;display:flex;flex-direction:column;box-shadow:0 4px 13px rgba(5,35,67,.05);position:relative;overflow:hidden}.document-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}.document-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.document-type{font-family:var(--condensed);font-weight:1000;color:#fff;background:var(--navy);padding:5px 8px;border-radius:3px;font-size:10px;letter-spacing:.06em}.document-category{font-family:var(--condensed);font-weight:1000;color:var(--gold-dark,#a97b2a);font-size:10px;letter-spacing:.07em;text-align:right}.document-card h3{font-family:var(--condensed);font-size:24px;line-height:1.05;color:var(--navy);margin:15px 0 9px}.document-card>p{font-size:13px;line-height:1.5;color:#59616a;margin:0 0 16px;flex:1}.document-meta{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:12px;margin-bottom:14px}.document-meta span{display:flex;flex-direction:column;min-width:0;font-size:11px;color:#696e74}.document-meta b{font-family:var(--condensed);font-size:9px;letter-spacing:.08em;color:#9b7c3d;margin-bottom:2px}.document-open{display:inline-flex;align-self:flex-start;text-decoration:none;background:var(--navy);color:#fff;border-radius:4px;font-family:var(--condensed);font-weight:1000;font-size:12px;letter-spacing:.04em;padding:9px 13px}.document-open:hover{background:#10416f;color:#fff}.documents-note{display:flex;gap:14px;align-items:flex-start;background:#f4f6f8;border-left:4px solid var(--gold);padding:13px 16px;margin-top:18px;color:#5c636b;font-size:12px}.documents-note b{font-family:var(--condensed);font-size:13px;color:var(--navy);white-space:nowrap}
@media(max-width:1050px){.documents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.documents-intro{grid-template-columns:1fr 180px}}
@media(max-width:680px){.documents-grid{grid-template-columns:1fr}.documents-intro{grid-template-columns:1fr}.documents-intro>aside{min-height:120px}.documents-note{display:block}.documents-note b{display:block;margin-bottom:4px}}


/* FIX37 — Photo Galleries */
.featured-photo.has-image{background:#ddd}.featured-photo.has-image img{width:100%;height:100%;object-fit:cover;display:block}.photo-caption-mini{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}
.photos-content{display:grid;gap:18px}.photos-intro{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid #e3ded4;border-radius:10px;padding:22px 26px;box-shadow:0 3px 12px rgba(15,36,57,.06)}.photos-intro article>span,.photo-album-header span{font-family:var(--condensed);font-size:12px;font-weight:1000;letter-spacing:1.4px;color:var(--gold)}.photos-intro h2{font-family:var(--condensed);font-size:30px;color:var(--navy);margin:2px 0 4px}.photos-intro p{margin:0;color:var(--muted)}.photos-intro aside{text-align:center;border-left:1px solid #e5dfd5;padding-left:24px}.photos-intro aside strong{font-family:var(--condensed);display:block;font-size:42px;color:var(--navy);line-height:1}.photos-intro aside span{font-family:var(--condensed);font-size:11px;font-weight:1000;color:var(--muted)}
.photo-album-filters{display:flex;gap:8px;flex-wrap:wrap}.photo-filter{border:1px solid #d8d1c4;background:#fff;color:var(--navy);border-radius:999px;padding:9px 15px;font-family:var(--condensed);font-weight:1000;cursor:pointer}.photo-filter.active,.photo-filter:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.photo-album-header{display:flex;justify-content:space-between;align-items:end;background:linear-gradient(135deg,#fffaf1,#f5efe4);border:1px solid #ddcfb5;border-radius:9px;padding:16px 20px}.photo-album-header h3{font-family:var(--condensed);font-size:26px;color:var(--navy);margin:2px 0}.photo-album-header p{margin:0;color:var(--muted)}.photo-album-header>strong{font-family:var(--condensed);font-size:14px;color:var(--gold)}
.photos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-tile{position:relative;border:0;padding:0;background:#ddd;border-radius:8px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;box-shadow:0 3px 12px rgba(0,25,50,.1)}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.photo-tile:hover img{transform:scale(1.035)}.photo-tile-overlay{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 10px;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(0,20,40,.88))}.photo-tile-overlay b{display:block;font-family:var(--condensed);font-size:17px}.photo-tile-overlay small{display:block;opacity:.85}.photo-tile em{position:absolute;top:8px;right:8px;background:var(--gold);color:#fff;padding:5px 8px;border-radius:4px;font-family:var(--condensed);font-size:10px;font-weight:1000;font-style:normal;letter-spacing:.6px}
.photo-lightbox[hidden]{display:none}.photo-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,13,28,.94);display:flex;align-items:center;justify-content:center;padding:36px 80px}.photo-lightbox figure{margin:0;max-width:min(1280px,88vw);max-height:88vh;text-align:center}.photo-lightbox img{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.45)}.photo-lightbox figcaption{color:#fff;margin-top:10px;font-size:14px}.photo-lightbox-close,.photo-lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.photo-lightbox-close{right:20px;top:16px;font-size:36px;width:48px;height:48px;border-radius:50%}.photo-lightbox-nav{top:50%;transform:translateY(-50%);font-size:52px;width:58px;height:88px;border-radius:8px}.photo-lightbox-nav.prev{left:18px}.photo-lightbox-nav.next{right:18px}.photo-lightbox-close:hover,.photo-lightbox-nav:hover{background:rgba(255,255,255,.24)}body.lightbox-open{overflow:hidden}
@media(max-width:1100px){.photos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.photos-intro{grid-template-columns:1fr}.photos-intro aside{border-left:0;border-top:1px solid #e5dfd5;padding:14px 0 0}.photos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-lightbox{padding:60px 12px}.photo-lightbox-nav{width:44px;height:70px;font-size:40px}.photo-lightbox-nav.prev{left:6px}.photo-lightbox-nav.next{right:6px}}@media(max-width:480px){.photos-grid{grid-template-columns:1fr}}

/* FIX38 — Season History */
.history-content{padding-bottom:44px}
.history-intro{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-bottom:24px;padding:24px 28px;background:#fff;border:1px solid var(--line,#ddd4c7);border-radius:14px;box-shadow:0 5px 18px rgba(7,38,68,.06)}
.history-intro article>span,.history-kicker,.history-section-head>span{font-size:.72rem;letter-spacing:.16em;font-weight:900;color:var(--gold,#bf8f32)}
.history-intro h2{margin:4px 0 6px;font-size:1.65rem;color:var(--navy,#062848)}
.history-intro p{margin:0;max-width:820px;color:#5b6470;line-height:1.55}
.history-intro aside{min-width:150px;text-align:center;border-left:1px solid #e8e0d4;padding-left:24px}
.history-intro aside strong{display:block;font-size:2.4rem;line-height:1;color:var(--navy,#062848)}
.history-intro aside span{font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#7b838a}
.history-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.history-season-card{position:relative;overflow:hidden;display:grid;grid-template-columns:110px 1fr;min-height:250px;background:#fff;border:1px solid #e2d8c9;border-radius:16px;box-shadow:0 6px 20px rgba(7,38,68,.07)}
.history-season-year{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#062848,#0a3d68);color:#fff;font-size:2rem;font-weight:950;letter-spacing:-.04em;writing-mode:vertical-rl;transform:rotate(180deg);border-right:4px solid var(--gold,#c39238)}
.history-season-card-body{padding:24px 22px;display:flex;flex-direction:column}
.history-season-card h2{margin:5px 0 0;color:#062848;font-size:1.45rem;line-height:1.08}
.history-champion-label{margin:4px 0 18px;font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#bd8a2c}
.history-season-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto;margin-bottom:15px}
.history-season-facts span{padding:8px 5px;text-align:center;background:#f6f2eb;border-radius:7px;color:#68717a;font-size:.68rem}
.history-season-facts b{display:block;color:#062848;font-size:1.05rem}
.history-top-record{font-size:.76rem;color:#626b74;margin:0 0 15px}
.history-season-card .feature-button{margin-top:0;text-align:center}
.history-empty{grid-column:1/-1;padding:70px 30px;text-align:center;background:#fff;border:1px dashed #d9cebd;border-radius:14px}
.history-empty span{font-size:.7rem;letter-spacing:.16em;font-weight:900;color:#bf8f32}.history-empty h2{color:#062848;margin:6px 0}.history-empty p{color:#68717a;max-width:700px;margin:auto}
.history-back{display:inline-block;margin:0 0 15px;color:#062848;font-size:.75rem;font-weight:900;text-decoration:none;letter-spacing:.06em}
.history-season-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;background:linear-gradient(135deg,#062848 0%,#0b365b 70%,#a97928 180%);color:#fff;border-radius:16px;padding:30px 34px;margin-bottom:18px;box-shadow:0 8px 24px rgba(7,38,68,.15)}
.history-season-banner span{font-size:.72rem;letter-spacing:.16em;color:#e5b85e;font-weight:900}.history-season-banner h1{font-size:2.25rem;margin:5px 0 0;line-height:1.05}.history-season-banner p{margin:5px 0 0;font-size:.72rem;letter-spacing:.12em;font-weight:900;color:#d8e0e8}
.history-season-banner aside{display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:baseline;text-align:right}.history-season-banner aside b{font-size:1.7rem}.history-season-banner aside small{font-size:.62rem;letter-spacing:.1em;color:#cad6df;font-weight:800}
.history-championship{background:#fff8eb;border:1px solid #dfc28b;border-radius:14px;padding:18px 24px;margin-bottom:18px;text-align:center}.history-championship>span{font-size:.67rem;letter-spacing:.15em;font-weight:900;color:#ae791c}.history-championship>p{font-size:.72rem;color:#70767c;margin:8px 0 0}
.history-final-score{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:10px;margin-top:12px}.history-final-score div{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:11px 14px;border:1px solid #ead9b9;border-radius:8px}.history-final-score strong{color:#062848}.history-final-score b{font-size:1.6rem;color:#062848}.history-final-score em{font-style:normal;font-size:.68rem;font-weight:950;letter-spacing:.08em;color:#9b711f}
.history-section{background:#fff;border:1px solid #e1d8ca;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 5px 18px rgba(7,38,68,.05)}
.history-section-head{margin-bottom:14px}.history-section-head h2{margin:3px 0 0;color:#062848;font-size:1.45rem}
.history-table-wrap{overflow-x:auto;border:1px solid #ebe3d8;border-radius:9px}.history-table{width:100%;border-collapse:collapse;font-size:.76rem;white-space:nowrap}.history-table th{background:#f2eee7;color:#062848;font-size:.64rem;letter-spacing:.06em;text-align:left;padding:9px 10px;border-bottom:1px solid #d8cdbd}.history-table td{padding:9px 10px;border-bottom:1px solid #eee7dc;color:#283746}.history-table tbody tr:last-child td{border-bottom:0}
.history-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.history-two-col .history-section{margin-bottom:18px}.history-two-col .leader{font-size:.8rem}
.history-details{padding:0;overflow:hidden}.history-details summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:950;color:#062848;font-size:1rem}.history-details summary::-webkit-details-marker{display:none}.history-details summary:after{content:'＋';float:right;color:#b6852d}.history-details[open] summary:after{content:'−'}.history-details .history-table-wrap{margin:0 18px 18px}
.history-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.history-score-row{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:10px;padding:10px 12px;background:#f8f5ef;border:1px solid #eae0d2;border-radius:8px}.history-score-row span{font-size:.69rem;color:#737a81}.history-score-row strong{font-size:.78rem;color:#062848}.history-score-row em{font-style:normal;color:#899097;font-weight:400}.history-score-row small{font-size:.62rem;letter-spacing:.07em;font-weight:900;color:#a47728}
.history-archive-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.history-archive-links article{text-align:center;background:#062848;color:#fff;padding:16px;border-radius:10px}.history-archive-links b{display:block;font-size:1.7rem;color:#e0b45a}.history-archive-links span{font-size:.62rem;letter-spacing:.11em;font-weight:900}
.history-bracket{min-height:220px}.history-page .classic-bracket{margin-bottom:18px}
@media(max-width:1100px){.history-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-results{grid-template-columns:1fr}}
@media(max-width:760px){.history-intro,.history-season-banner{grid-template-columns:1fr}.history-intro aside{border-left:0;border-top:1px solid #e8e0d4;padding:16px 0 0}.history-season-grid{grid-template-columns:1fr}.history-season-card{grid-template-columns:72px 1fr}.history-two-col{grid-template-columns:1fr}.history-final-score{grid-template-columns:1fr}.history-final-score em{padding:3px}.history-archive-links{grid-template-columns:1fr 1fr 1fr}.history-season-banner aside{text-align:left;justify-content:start}}

/* FIX39 — public Live Game Center */
.live-content{max-width:1680px}.live-game-selector{display:flex;gap:12px;overflow-x:auto;padding:2px 0 16px}.live-select{min-width:260px;background:#fff;border:1px solid #d7d9d4;border-radius:14px;padding:13px 16px;text-align:left;box-shadow:0 5px 18px rgba(10,25,45,.07);cursor:pointer}.live-select.active{border:2px solid var(--gold,#c69b36);padding:12px 15px}.live-select span,.live-select strong,.live-select b{display:block}.live-select strong{margin:7px 0;font-size:15px}.live-select b{font-size:21px}.live-connection{font-size:11px;font-weight:900;letter-spacing:.08em}.live-connection.online{color:#c9232d}.live-connection.stale{color:#9a6b15}.live-empty{background:#fff;border:1px solid #e2e0d9;border-radius:18px;padding:60px;text-align:center}.live-empty strong{font-size:27px;color:#13294b}.live-scorebug{background:#102744;color:#fff;border-radius:18px 18px 0 0;padding:14px 26px;box-shadow:0 9px 28px rgba(8,25,50,.14)}.live-scorebug>.live-connection{display:block;text-align:center;margin-bottom:8px}.live-score-main{display:grid;grid-template-columns:1fr 240px 1fr;align-items:center;gap:30px}.live-club{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 18px}.live-club span{grid-column:1/-1;font-size:10px;letter-spacing:.18em;color:#d6cba9;font-weight:800}.live-club strong{font-size:23px}.live-club b{font-size:54px;line-height:1}.live-club.home{text-align:right}.live-state{text-align:center}.live-state>strong{font-size:20px;letter-spacing:.08em;color:#f0c75e}.live-count{display:flex;justify-content:center;gap:13px;margin:8px 0;font-size:12px}.live-count span{background:#203a5d;border-radius:999px;padding:5px 9px}.live-diamond{position:relative;width:66px;height:47px;margin:6px auto 0}.live-diamond .base{position:absolute;width:17px;height:17px;background:#fff3;border:1px solid #ddd;transform:rotate(45deg);border-radius:2px}.live-diamond .base.on{background:#f0c75e;border-color:#f0c75e}.live-diamond .second{left:25px;top:0}.live-diamond .third{left:5px;top:20px}.live-diamond .first{right:5px;top:20px}.live-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr);gap:18px;background:#f7f5ef;border:1px solid #dedbd3;border-top:0;border-radius:0 0 18px 18px;padding:18px}.live-primary,.live-sidebar{display:grid;gap:16px;align-content:start}.live-video-placeholder{min-height:330px;border-radius:16px;background:linear-gradient(135deg,#091b32,#203c60);display:grid;place-items:center;text-align:center;color:#fff;position:relative;overflow:hidden}.live-video-placeholder:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 110%,rgba(240,199,94,.26),transparent 42%)}.live-video-placeholder div{position:relative;max-width:520px;padding:30px}.live-video-placeholder span{font-size:11px;color:#f0c75e;letter-spacing:.2em;font-weight:900}.live-video-placeholder strong{display:block;font-size:31px;margin:9px 0}.live-video-placeholder p{color:#d6deea}.live-line-card,.live-person,.live-pbp{background:#fff;border:1px solid #e0ded8;border-radius:14px;padding:16px}.live-line-card h2{font-size:15px;margin:0 0 10px;color:#13294b}.live-line{font-size:12px}.live-line th,.live-line td{text-align:center;padding:7px 8px;border-bottom:1px solid #eee}.live-line th:first-child{text-align:left}.live-person span,.live-pbp-head span{display:block;font-size:10px;color:#9a6b15;letter-spacing:.15em;font-weight:900}.live-person strong{display:block;font-size:21px;color:#13294b;margin:4px 0}.live-person p{margin:0;color:#69727e;font-size:13px}.live-pbp{padding:0;overflow:hidden}.live-pbp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #eee}.live-pbp-head small{font-size:9px;color:#718096}.pbp-row{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:12px 15px;border-bottom:1px solid #eee}.pbp-row:last-child{border-bottom:0}.pbp-inning{font-size:11px;font-weight:900;color:#9a6b15}.pbp-row strong{display:block;font-size:13px;color:#1d2c3d}.pbp-row span{display:block;font-size:11px;color:#7b8490;margin-top:3px}
@media(max-width:950px){.live-score-main{grid-template-columns:1fr 130px 1fr;gap:12px}.live-club strong{font-size:17px}.live-club b{font-size:40px}.live-grid{grid-template-columns:1fr}.live-video-placeholder{min-height:250px}}@media(max-width:620px){.live-score-main{grid-template-columns:1fr;gap:12px}.live-club,.live-club.home{text-align:center;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.live-club span{width:100%}.live-state{order:3}.live-scorebug{padding:14px}.live-grid{padding:10px}.live-video-placeholder strong{font-size:22px}}

/* FIX40 — MLB-style ECFSL Live Game Center */
.live-page{background:#06111d;color:#fff}.live-page .page-hero{background:linear-gradient(135deg,#071a2d,#0a243d);border-bottom:1px solid #19344e}.live-page .page-hero span{color:#ef3340}.live-page .page-hero h1{color:#fff}.live-page .page-hero p{color:#aebccc}.live-content{max-width:1540px;padding-top:18px;padding-bottom:34px}.live-game-selector{padding-bottom:12px}.live-page .live-select{background:#0d1b28;border-color:#26394a;color:#fff;box-shadow:none}.live-page .live-select strong{color:#fff}.live-page .live-select b{color:#f5c24b}.live-page .live-select.active{border-color:#ef3340}.live-empty-dark{min-height:420px;border:1px solid #26394a;border-radius:16px;background:#0b1824;display:grid;place-content:center;text-align:center;padding:40px}.live-empty-dark strong{font:1000 30px/1 var(--condensed);letter-spacing:.04em}.live-empty-dark p{color:#94a4b4;margin-top:10px}
.gameday-shell{background:#06111d;border:1px solid #26394a;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.gameday-scorebar{display:grid;grid-template-columns:1fr 220px 1fr;align-items:center;background:linear-gradient(180deg,#0b1a28,#091723);border-bottom:1px solid #26394a}.gameday-team{min-height:108px;display:grid;grid-template-columns:62px 1fr 80px;align-items:center;gap:16px;padding:16px 24px}.gameday-team.home{grid-template-columns:80px 1fr 62px;text-align:right}.gameday-team small{display:block;color:#8494a4;font:800 10px/1 var(--condensed);letter-spacing:.15em;margin-bottom:5px}.gameday-team strong{display:block;color:#fff;font:1000 24px/1.05 var(--condensed)}.gameday-team>b{font:1000 56px/1 var(--condensed);color:#fff}.live-avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#17314b,#0d2032);border:2px solid #53677a;color:#fff;font:1000 15px/1 var(--condensed);flex:0 0 auto}.live-avatar.team{width:58px;height:58px;border-color:#c79b37;background:linear-gradient(135deg,#0f3555,#102336)}.gameday-status{text-align:center;border-left:1px solid #26394a;border-right:1px solid #26394a;min-height:108px;display:grid;place-content:center;gap:5px}.gameday-status strong{font:1000 23px/1 var(--condensed);color:#f5c24b}.gameday-status>span:not(.live-connection){color:#e6edf3;font:700 14px/1 var(--condensed)}.gameday-status .live-connection{font-size:10px}.gameday-status .live-connection.online{color:#ff3344}.gameday-status .live-connection.stale{color:#f5c24b}
.gameday-situation{position:relative;min-height:390px;background:radial-gradient(circle at 50% 80%,rgba(32,78,45,.5),transparent 46%),linear-gradient(180deg,#0a1a28,#07131f);border-bottom:1px solid #26394a;overflow:hidden}.game-situation-title{position:absolute;left:18px;top:14px;z-index:5;font:900 13px/1 var(--condensed);letter-spacing:.08em;color:#d9e2ea}.gameday-counts,.gameday-last-play{position:absolute;z-index:6;top:58px;width:220px;background:rgba(5,16,26,.9);border:1px solid #2b4051;border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.2)}.gameday-counts{left:18px}.gameday-counts>div{display:grid;grid-template-columns:72px 1fr;align-items:center;padding:15px 16px;border-bottom:1px solid #26394a}.gameday-counts>div:last-child{border-bottom:0}.gameday-counts span{font:800 13px/1 var(--condensed);color:#d9e2ea}.gameday-counts em{display:flex;gap:8px;font-style:normal}.count-dot{width:17px;height:17px;border-radius:50%;border:2px solid #65788a;background:transparent}.count-dot.ball{background:#2fd35e;border-color:#2fd35e}.count-dot.strike{background:#ffbf2f;border-color:#ffbf2f}.count-dot.out{background:#ef3340;border-color:#ef3340}.gameday-last-play{right:18px;padding:18px}.gameday-last-play small{display:block;color:#8fa0af;font:900 11px/1 var(--condensed);letter-spacing:.1em;margin-bottom:10px}.gameday-last-play strong{display:block;color:#fff;font:700 18px/1.35 var(--body)}.gameday-last-play span{display:block;color:#f5c24b;font-weight:900;margin-top:8px}
.gameday-field{position:absolute;left:50%;top:35px;transform:translateX(-50%);width:min(610px,55vw);height:335px;overflow:hidden}.field-grass{position:absolute;inset:0;border-radius:48% 48% 16% 16%;background:repeating-linear-gradient(90deg,#1c552b 0 42px,#225f30 42px 84px);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.92}.field-infield{position:absolute;left:50%;top:70px;width:330px;height:330px;transform:translateX(-50%) rotate(45deg);background:#a96b43;border:5px solid #d2b18a;border-radius:12%;box-shadow:inset 0 0 0 72px #246334}.field-lines:before,.field-lines:after{content:'';position:absolute;bottom:7px;width:330px;height:2px;background:#e8e6df;transform-origin:bottom}.field-lines:before{left:50%;transform:rotate(-44deg)}.field-lines:after{right:50%;transform:rotate(44deg)}.field-base{position:absolute;width:25px;height:25px;background:#d9dce0;border:2px solid #fff;transform:rotate(45deg);box-shadow:0 2px 8px rgba(0,0,0,.45);z-index:4}.field-base.occupied{background:#ffd02f;border-color:#5c4400}.field-base.home{left:calc(50% - 13px);bottom:9px}.field-base.first{right:19%;bottom:30%}.field-base.second{left:calc(50% - 13px);top:68px}.field-base.third{left:19%;bottom:30%}.runner-caption{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background:#081521;border:1px solid #526473;color:#f5c24b;border-radius:999px;padding:7px 20px;font:900 12px/1 var(--condensed);white-space:nowrap;z-index:7}
.gameday-matchup-row{display:grid;grid-template-columns:1fr .82fr 1fr;gap:14px;padding:16px;background:#07131f;border-bottom:1px solid #26394a}.matchup-card{background:#0b1a28;border:1px solid #30465a;border-radius:12px;overflow:hidden;min-height:126px}.matchup-kicker{text-align:center;padding:8px 10px;font:1000 13px/1 var(--condensed);letter-spacing:.08em;color:#fff;background:#18324b}.matchup-card.batter{border-color:#6a2e92}.matchup-card.batter .matchup-kicker{background:linear-gradient(90deg,#4d146d,#2d1244)}.matchup-card.pitcher{border-color:#9b2332}.matchup-card.pitcher .matchup-kicker{background:linear-gradient(90deg,#7d1623,#4d1018)}.matchup-card.due .matchup-kicker{color:#ffd02f}.matchup-body{display:flex;align-items:center;gap:14px;padding:14px}.matchup-body strong{display:block;font:1000 21px/1 var(--condensed);color:#fff}.matchup-body p{margin:6px 0 0;color:#c8d1d8;font-size:13px}.matchup-body b{display:block;color:#d977ff;margin-top:7px;font-size:14px}.pitcher .matchup-body b{color:#ff4b55}.due-grid{display:grid;grid-template-columns:auto 1fr;gap:15px 20px;padding:20px 24px;align-items:center}.due-grid span{color:#9aabba}.due-grid strong{color:#fff;font-size:15px}
.gameday-linescore{padding:0 16px 16px;background:#07131f;border-bottom:1px solid #26394a}.gameday-linescore table{width:100%;border-collapse:collapse;background:#0b1a28;border:1px solid #2b4051}.gameday-linescore th,.gameday-linescore td{padding:10px 12px;text-align:center;border:1px solid #23384a;color:#e8edf1;font-size:12px}.gameday-linescore th:first-child{text-align:left;min-width:170px}.gameday-linescore thead th{font:900 11px/1 var(--condensed);letter-spacing:.08em;color:#aab6c0}.gameday-linescore tbody th{font-weight:900}.gameday-linescore td b{font-size:16px;color:#fff}
.gameday-pbp{background:#07131f;padding:16px}.pbp-title{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid #26394a}.pbp-title span{font:1000 17px/1 var(--condensed);letter-spacing:.08em}.pbp-title small{color:#35d55f;font:900 10px/1 var(--condensed);letter-spacing:.08em}.pbp-inning-group{border:1px solid #26394a;border-radius:12px;overflow:hidden;margin-top:14px;background:#091824}.pbp-inning-heading{padding:11px 16px;font:1000 17px/1 var(--condensed);letter-spacing:.04em;border-bottom:1px solid #26394a}.pbp-inning-heading.top{color:#d775ff}.pbp-inning-heading.bottom{color:#ff5b65}.pbp-timeline-row{display:grid;grid-template-columns:42px 46px 1fr;gap:12px;align-items:start;padding:13px 16px;border-bottom:1px solid #203447}.pbp-timeline-row:last-child{border-bottom:0}.pbp-timeline-row .live-avatar{width:36px;height:36px;font-size:11px;border-width:1px}.pbp-event-badge{display:grid;place-items:center;min-height:34px;background:#4a1765;border:1px solid #7f36a0;border-radius:7px;color:#fff;font:1000 14px/1 var(--condensed)}.pbp-copy strong{display:block;color:#fff;font-size:15px;font-weight:650;line-height:1.35}.pbp-copy span{display:block;color:#c5d0d8;font-size:12px;margin-top:3px}.pbp-score-note{display:block;color:#f5c24b!important;margin-top:5px}.live-no-plays{padding:30px;text-align:center;color:#8fa0af}.gameday-disclaimer{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;background:#0b1a28;border-top:1px solid #26394a;color:#99a8b5;font-size:11px}.gameday-disclaimer b{color:#35d55f;letter-spacing:.06em}
@media(max-width:1100px){.gameday-scorebar{grid-template-columns:1fr 170px 1fr}.gameday-team{padding:14px 14px;grid-template-columns:48px 1fr 60px}.gameday-team.home{grid-template-columns:60px 1fr 48px}.gameday-team strong{font-size:19px}.gameday-team>b{font-size:46px}.live-avatar.team{width:46px;height:46px}.gameday-situation{min-height:360px}.gameday-counts,.gameday-last-play{width:190px}.gameday-field{width:52vw}.gameday-matchup-row{grid-template-columns:1fr 1fr}.matchup-card.due{grid-column:1/-1}}
@media(max-width:760px){.gameday-scorebar{grid-template-columns:1fr}.gameday-status{border:1px solid #26394a;border-left:0;border-right:0;min-height:74px}.gameday-team,.gameday-team.home{min-height:82px}.gameday-situation{display:grid;padding:52px 12px 14px;min-height:auto;gap:12px}.gameday-counts,.gameday-last-play{position:static;width:auto}.gameday-field{position:relative;left:auto;top:auto;transform:none;width:100%;height:285px;order:-1}.gameday-matchup-row{grid-template-columns:1fr}.matchup-card.due{grid-column:auto}.gameday-disclaimer{flex-direction:column}.pbp-timeline-row{grid-template-columns:36px 42px 1fr;padding:11px 10px}.gameday-linescore{padding:0 10px 10px}}

/* FIX41 live playoff state */
[data-route="playoffs"] .classic-status.live,[data-route="playoffs"] .classic-status.in_progress{background:#c90917;color:#fff}

/* FIX44: show every live/today game without clipping the homepage card. */
.route-home .home-games{max-height:300px;overflow-y:auto;scrollbar-gutter:stable;padding-right:3px}.route-home .home-games::-webkit-scrollbar{width:8px}.route-home .home-games::-webkit-scrollbar-thumb{background:#aeb6bf;border-radius:10px}.route-home .home-games::-webkit-scrollbar-track{background:#eef1f3}

.pro-team-badge img{width:100%;height:100%;object-fit:contain;border-radius:50%;}


/* FIX53 - My ECFSL fan accounts, following, and Web Push */
.account-content{max-width:1200px}.account-hero{background:linear-gradient(120deg,#101827,#1f2937)}
.fan-auth-grid,.fan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.fan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.fan-card{background:#fff;border:1px solid #dbe1e8;border-radius:14px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.08)}.fan-card h2,.fan-card h3{margin:.25rem 0 1rem}.fan-card form{display:grid;gap:12px}.fan-card label:not(.follow-row){display:grid;gap:6px;font-weight:700;color:#263244}.fan-card input[type=email],.fan-card input[type=password],.fan-card input[type=text]{width:100%;padding:12px;border:1px solid #b8c2cf;border-radius:8px;font:inherit}
.fan-primary,.fan-secondary{border:0;border-radius:8px;padding:11px 16px;font-weight:900;letter-spacing:.04em;cursor:pointer}.fan-primary{background:#b51f2e;color:#fff}.fan-secondary{background:#e9edf2;color:#1e293b}.fan-primary:disabled,.fan-secondary:disabled{opacity:.5;cursor:not-allowed}.fan-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.fan-account-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;background:#0f172a;color:#fff;border-radius:14px}.fan-account-head h2,.fan-account-head p{margin:2px 0}.eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#b51f2e}.fan-account-head .eyebrow{color:#fda4af}
.follow-list{max-height:480px;overflow:auto;border:1px solid #e1e6ec;border-radius:10px}.follow-row{display:flex!important;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-bottom:1px solid #edf0f3;cursor:pointer}.follow-row:last-child{border-bottom:0}.follow-row span{display:grid;gap:3px}.follow-row small{color:#6b7280;font-size:.78rem}.follow-row input[type=checkbox]{width:20px;height:20px;accent-color:#b51f2e}.fan-message{min-height:24px;margin:8px 0;font-weight:700}.fan-message.ok{color:#137333}.fan-message.error{color:#b42318}.fan-help{display:block;margin-top:10px;color:#697586}
@media(max-width:900px){.fan-grid,.fan-auth-grid{grid-template-columns:1fr}.fan-account-head{align-items:flex-start;flex-direction:column}}


/* FIX54 unified ECFSL account front door */
.account-nav{font-weight:900!important;border-left:1px solid rgba(255,255,255,.16);padding-left:18px!important}
.fan-account-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.fan-account-links a{font-weight:800;font-size:.78rem;text-decoration:none;border-bottom:1px solid currentColor}
.account-access-card{margin-bottom:18px}.role-access-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px}.role-access-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:10px;text-decoration:none;background:rgba(15,23,42,.025)}.role-access-card strong{font-size:1.02rem}.role-access-card span{font-size:.86rem;line-height:1.35;opacity:.75}.role-access-card b{font-size:.78rem;margin-top:4px}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* FIX55: pregame warm-up state */
.schedule-status.warmup{font-weight:800;letter-spacing:.04em}.schedule-game.is-warmup{outline:1px solid rgba(255,255,255,.12)}.game-card.warmup .game-meta span:first-child{font-weight:800}

/* FIX65 completed-game deep link */
.completed-game-detail{margin-bottom:20px}.completed-game-card{background:#fff;border:1px solid #d9e0e6;border-radius:14px;padding:20px;box-shadow:0 6px 22px rgba(0,0,0,.06)}.completed-game-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.completed-game-head span{font-weight:800;font-size:.78rem;letter-spacing:.12em}.completed-game-head h2{margin:.25rem 0}.completed-game-head a{font-weight:800;text-decoration:none}.completed-score{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin:22px 0;padding:18px;background:#0d1b2a;color:#fff;border-radius:12px;text-align:center}.completed-score div{display:grid;gap:6px}.completed-score strong{font-size:2.5rem}.completed-score em{font-style:normal;font-weight:900;opacity:.8}.completed-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.completed-roster>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e7ebef}.completed-roster small,.muted{color:#68717a}@media(max-width:760px){.completed-box-grid{grid-template-columns:1fr}.completed-game-head{display:block}.completed-game-head a{display:inline-block;margin-top:10px}}

/* FIX66 public box-score navigation */
.schedule-box-link{display:inline-block;margin-top:10px;font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.04em;color:var(--navy);text-decoration:none}.schedule-box-link:hover{text-decoration:underline}.completed-line-wrap{overflow-x:auto;margin:0 0 22px}.completed-line{width:100%;border-collapse:collapse;min-width:620px}.completed-line th,.completed-line td{padding:9px 10px;border-bottom:1px solid #e1e6ea;text-align:center}.completed-line th:first-child{text-align:left;white-space:nowrap}.completed-line thead th{background:#eef2f5;color:var(--navy);font-family:var(--condensed);font-size:11px}.completed-line tbody th{color:var(--navy)}

/* FIX70: team-first player following */
.player-follow-picker{display:grid;gap:10px}.player-team-select-label{font-size:.78rem;font-weight:900;letter-spacing:.05em;color:#475569}.player-follow-picker select{width:100%;padding:11px 12px;border:1px solid #b8c2cf;border-radius:8px;background:#fff;font:inherit}.player-roster-list{max-height:320px}.followed-player-block{margin-top:18px}.follow-section-label{display:block;margin:0 0 7px;font-weight:900;letter-spacing:.06em;color:#64748b}


/* FIX115 - Day 1 public-home cleanup.
   Public presentation only. No controller, scoring, standings calculation, or server workflow changes. */

/* FIX118 Day 1 public-home editorial refinement.
   Public Home page only. Batter/pitcher impact is now written directly
   into "Why This Game Matters" instead of separate player cards. */
body.route-home .dashboard-shell{
  height:auto!important;min-height:0!important;align-items:stretch!important;
  grid-template-columns:minmax(300px,340px) minmax(650px,1fr) minmax(300px,340px)!important;
  gap:12px!important;margin:12px auto!important;padding:0 12px!important;
}
body.route-home .dashboard-left,body.route-home .dashboard-right{
  height:auto!important;min-height:0!important;display:grid!important;
  grid-template-rows:minmax(270px,1fr) minmax(270px,1fr)!important;gap:12px!important;
}
body.route-home .dashboard-left>.dash-card,body.route-home .dashboard-right>.dash-card{
  height:100%!important;min-height:270px!important;display:flex!important;flex-direction:column!important;
}
body.route-home .dashboard-left>.dash-card>.card-button,
body.route-home .dashboard-right>.dash-card>.card-button{margin-top:auto!important}

body.route-home .dashboard-center{height:auto!important;min-height:552px!important;align-self:stretch!important}
body.route-home .season-feature,body.route-home .season-feature-card{height:100%!important;min-height:552px!important}
body.route-home .season-feature-card{padding:20px 28px!important;justify-content:flex-start!important}
body.route-home .season-feature-card h2{
  font-size:clamp(35px,2.1vw,44px)!important;margin:4px 0 10px!important;
}
body.route-home .game-week-main{width:min(900px,100%);margin:0 auto;display:grid;gap:12px}
body.route-home .game-week-matchup{text-align:center;border-top:1px solid var(--gold);padding-top:10px}
body.route-home .game-week-matchup h4{
  font-family:var(--condensed);font-size:clamp(27px,1.65vw,35px);color:var(--navy);margin:4px 0 2px;
}
body.route-home .game-week-matchup h4 span{color:var(--gold);font-size:.55em}
body.route-home .game-week-date{font-size:15px!important;margin:2px auto 5px!important;color:#46515d!important;font-weight:800!important}

body.route-home .game-week-comparison{
  width:min(820px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;
}
body.route-home .comparison-head{
  display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;background:var(--navy);color:#fff;
  font-family:var(--condensed);font-size:13px;font-weight:1000;
}
body.route-home .comparison-head>*{padding:7px 10px}
body.route-home .comparison-head span{color:var(--gold2);letter-spacing:.08em}
body.route-home .comparison-row{
  display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;border-top:1px solid #ece8e0;
}
body.route-home .comparison-row>*{padding:5px 10px}
body.route-home .comparison-row b{font-family:var(--condensed);font-size:16px;color:var(--navy)}
body.route-home .comparison-row span{font-family:var(--condensed);font-size:10px;font-weight:1000;color:#66717b;letter-spacing:.06em}

body.route-home .game-week-editorial{
  width:min(820px,100%);margin:2px auto 0;padding:13px 16px 14px;border-left:4px solid var(--gold);
  background:rgba(255,255,255,.68);text-align:left;
}
body.route-home .game-week-editorial>span{
  display:block;font-family:var(--condensed);font-size:13px;font-weight:1000;color:var(--gold);
  letter-spacing:.08em;margin-bottom:5px;
}
body.route-home .game-week-editorial p{
  font-size:17px!important;line-height:1.52!important;margin:0!important;color:#2f3a44!important;font-weight:500!important;
}
body.route-home .game-week-main .feature-button{
  justify-self:center;margin-top:1px!important;padding:9px 22px!important;font-size:13px!important;
}

body.route-home .dashboard-lower{
  position:static!important;height:auto!important;min-height:0!important;margin:0 auto 18px!important;padding:0 12px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;
}
body.route-home .dashboard-lower .dash-card{height:auto!important;min-height:155px!important}
body.route-home .featured-photo{height:150px!important}
body.route-home .live-badge[hidden]{display:none!important}

@media(max-width:1250px){
  body.route-home .dashboard-shell{grid-template-columns:285px minmax(560px,1fr) 285px!important}
}
@media(max-width:1050px){
  body.route-home .dashboard-shell{grid-template-columns:1fr!important}
  body.route-home .dashboard-center{grid-row:1;min-height:540px!important}
  body.route-home .dashboard-left{grid-row:2;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  body.route-home .dashboard-right{grid-row:3;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  body.route-home .dashboard-left>.dash-card,body.route-home .dashboard-right>.dash-card{min-height:240px!important}
  body.route-home .dashboard-lower{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  body.route-home .dashboard-left,body.route-home .dashboard-right,body.route-home .dashboard-lower{grid-template-columns:1fr!important}
  body.route-home .comparison-head,body.route-home .comparison-row{grid-template-columns:1fr 115px 1fr!important}
  body.route-home .comparison-head{font-size:11px!important}
  body.route-home .season-feature-card{padding:18px 14px!important}
  body.route-home .game-week-editorial p{font-size:16px!important}
}


/* FIX121 - Fit the expanded Game of the Week narrative within the existing
   center feature without shrinking the prominent side cards. */
body.route-home .dashboard-center{
  min-height:620px!important;
}
body.route-home .season-feature,
body.route-home .season-feature-card{
  min-height:620px!important;
}
body.route-home .season-feature-card{
  padding:15px 26px 14px!important;
}
body.route-home .season-feature-card h2{
  margin:2px 0 6px!important;
}
body.route-home .game-week-main{
  gap:7px!important;
}
body.route-home .game-week-matchup{
  padding-top:6px!important;
}
body.route-home .game-week-matchup h4{
  margin:2px 0 1px!important;
}
body.route-home .game-week-date{
  margin:1px auto 3px!important;
}
body.route-home .comparison-head>*{
  padding:5px 10px!important;
}
body.route-home .comparison-row>*{
  padding:3px 10px!important;
}
body.route-home .game-week-editorial{
  padding:9px 14px 10px!important;
}
body.route-home .game-week-editorial>span{
  margin-bottom:3px!important;
}
body.route-home .game-week-editorial p{
  font-size:15px!important;
  line-height:1.38!important;
}
body.route-home .game-week-main .feature-button{
  padding:7px 20px!important;
}

@media(max-width:1050px){
  body.route-home .dashboard-center,
  body.route-home .season-feature,
  body.route-home .season-feature-card{
    min-height:0!important;
  }
  body.route-home .game-week-editorial p{
    font-size:16px!important;
    line-height:1.45!important;
  }
}


/* FIX126 - Public Schedule & Scores complete visual redesign.
   CSS ONLY. Uses the known-good existing Schedule markup and JS. */

/* Schedule content width */
.schedule-controls,
.schedule-summary,
.schedule-day{
  width:min(1120px,calc(100% - 40px))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Controls bar */
.schedule-controls{
  margin-top:16px!important;
  padding:14px 16px!important;
  border:1px solid #dfe3e6!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 3px 14px rgba(4,31,54,.07)!important;
}

/* Compact summary cards */
.schedule-summary{
  display:grid!important;
  grid-template-columns:repeat(3,150px)!important;
  justify-content:start!important;
  gap:10px!important;
  margin-top:12px!important;
  margin-bottom:16px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.schedule-summary>div{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 12px!important;
  background:#fff!important;
  border:1px solid #dfe3e6!important;
  border-radius:8px!important;
  box-shadow:0 2px 7px rgba(4,31,54,.05)!important;
  color:var(--navy)!important;
}
.schedule-summary b{
  font-family:var(--condensed)!important;
  font-size:20px!important;
  line-height:1!important;
  color:var(--gold)!important;
}
.schedule-summary span{
  font-family:var(--condensed)!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:.05em!important;
  color:#68747e!important;
}

/* Date section container */
.schedule-day{
  margin-bottom:18px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.schedule-day-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  min-height:40px!important;
  padding:9px 15px!important;
  margin-bottom:8px!important;
  background:var(--navy)!important;
  border:0!important;
  border-left:5px solid var(--gold)!important;
  border-radius:6px!important;
}
.schedule-day-head h2{
  margin:0!important;
  color:#fff!important;
  font-family:var(--condensed)!important;
  font-size:17px!important;
  letter-spacing:.035em!important;
}
.schedule-day-head span{
  color:var(--gold2)!important;
  font-family:var(--condensed)!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
}

.schedule-day-games{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

/* Each game is now its own scorecard */
.schedule-game{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:172px!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #dde2e6!important;
  border-radius:10px!important;
  box-shadow:0 3px 12px rgba(4,31,54,.06)!important;
  overflow:hidden!important;
}
.schedule-game:nth-child(odd){
  border-right:1px solid #dde2e6!important;
}
.schedule-game.is-live{
  border-color:#c90917!important;
  box-shadow:0 3px 14px rgba(201,9,23,.12)!important;
}

/* Top strip: time + status */
.schedule-game-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  margin:0!important;
  padding:10px 14px!important;
  background:#f7f8f9!important;
  border-bottom:1px solid #e7eaec!important;
  font-family:var(--condensed)!important;
  font-weight:1000!important;
  color:var(--navy)!important;
}
.schedule-game-top>span:first-child{
  font-size:15px!important;
}
.schedule-status{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-family:var(--condensed)!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
}
.schedule-status.final{
  background:#e9eef2!important;
  color:#344a5a!important;
}
.schedule-status.scheduled{
  background:#f6edd9!important;
  color:#88621d!important;
}
.schedule-status.live{
  background:#c90917!important;
  color:#fff!important;
}

/* Matchup: stacked rows like a real scoreboard */
.schedule-matchup{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:10px 14px 8px!important;
}
.schedule-club{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:37px!important;
  padding:3px 0!important;
  text-align:left!important;
}
.schedule-club:nth-child(3){
  text-align:left!important;
}
.schedule-team-name{
  font-family:var(--condensed)!important;
  font-size:18px!important;
  font-weight:1000!important;
  line-height:1.1!important;
  color:var(--navy)!important;
  white-space:normal!important;
}
.schedule-club b{
  justify-self:end!important;
  font-family:var(--condensed)!important;
  font-size:30px!important;
  line-height:1!important;
  color:var(--navy)!important;
}
.schedule-vs{
  order:3!important;
  width:max-content!important;
  margin:4px auto 0!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#f6edd9!important;
  color:#8a6522!important;
  font-family:var(--condensed)!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
}

/* Footer */
.schedule-game-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin:auto 0 0!important;
  padding:9px 14px!important;
  background:#fbfbfc!important;
  border-top:1px solid #eceff1!important;
  color:#6a747e!important;
  font-size:10px!important;
  font-weight:700!important;
}

/* Action */
.schedule-box-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin:0 14px 12px auto!important;
  padding:7px 11px!important;
  border-radius:5px!important;
  background:var(--navy)!important;
  color:#fff!important;
  font-family:var(--condensed)!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:.035em!important;
  text-decoration:none!important;
}
.schedule-box-link:hover{
  background:var(--navy2)!important;
}

/* Responsive */
@media(max-width:900px){
  .schedule-day-games{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px){
  .schedule-controls,
  .schedule-summary,
  .schedule-day{
    width:calc(100% - 24px)!important;
  }
  .schedule-summary{
    grid-template-columns:repeat(3,1fr)!important;
  }
  .schedule-summary>div{
    justify-content:center!important;
    padding:7px 4px!important;
  }
  .schedule-team-name{
    font-size:17px!important;
  }
}


/* FIX129 - Clean full-width scorecard layout.
   CSS only. Keeps proven JS/data loading untouched. */

.schedule-controls,.schedule-summary,.schedule-day{
  width:min(1120px,calc(100% - 40px))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* toolbar */
.schedule-controls{
  margin-top:16px!important;
  padding:13px 15px!important;
  border:1px solid #dfe3e6!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(4,31,54,.055)!important;
}
.schedule-tab{
  min-height:32px!important;padding:7px 14px!important;border:0!important;
  border-radius:4px!important;background:#eef2f5!important;color:var(--navy)!important;
  font-family:var(--condensed)!important;font-size:10px!important;font-weight:1000!important;
}
.schedule-tab.active{background:var(--navy)!important;color:#fff!important;box-shadow:inset 0 -2px 0 var(--gold)!important}
#scheduleTeamFilter,#scheduleReset{min-height:32px!important;border:1px solid #d7dde2!important;border-radius:4px!important;background:#fff!important;color:var(--navy)!important}

/* compact unified summary */
.schedule-summary{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;
  margin-top:10px!important;margin-bottom:18px!important;background:#fff!important;
  border:1px solid #dfe3e6!important;border-radius:7px!important;overflow:hidden!important;
  box-shadow:0 2px 8px rgba(4,31,54,.04)!important;
}
.schedule-summary>div{
  min-width:0!important;padding:9px 12px!important;display:flex!important;align-items:center!important;
  justify-content:center!important;gap:7px!important;background:#fff!important;border:0!important;
  border-right:1px solid #e5e8ea!important;border-radius:0!important;box-shadow:none!important;
}
.schedule-summary>div:last-child{border-right:0!important}
.schedule-summary b{font-size:21px!important;color:var(--gold)!important}
.schedule-summary span{font-size:9px!important;color:#65717b!important}

/* date */
.schedule-day{margin-bottom:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.schedule-day-head{
  min-height:40px!important;margin:0 0 8px!important;padding:9px 14px!important;
  border-radius:6px!important;background:var(--navy)!important;border:0!important;
  border-left:4px solid var(--gold)!important;
}
.schedule-day-head h2{color:#fff!important;font-size:16px!important}
.schedule-day-head span{color:var(--gold2)!important}

/* Always one scorecard per line. This avoids half-empty date sections. */
.schedule-day-games{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

/* Horizontal full-width scorecard */
.schedule-game{
  display:grid!important;
  grid-template-columns:115px minmax(0,1fr) 145px!important;
  grid-template-rows:auto!important;
  align-items:stretch!important;
  min-height:112px!important;
  padding:0!important;
  border:1px solid #dde2e6!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(4,31,54,.055)!important;
  overflow:hidden!important;
}
.schedule-game:nth-child(odd){border-right:1px solid #dde2e6!important}

/* left time/status rail */
.schedule-game-top{
  grid-column:1!important;grid-row:1!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  align-items:flex-start!important;gap:9px!important;margin:0!important;padding:14px!important;
  background:#f7f8f9!important;border:0!important;border-right:1px solid #e5e9ec!important;
}
.schedule-game-top>span:first-child{
  font-family:var(--condensed)!important;font-size:17px!important;font-weight:1000!important;
  line-height:1!important;color:var(--navy)!important;
}

/* center matchup: two stacked team rows, never side-by-side */
.schedule-matchup{
  grid-column:2!important;grid-row:1!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  gap:0!important;padding:12px 22px!important;
}
.schedule-club{
  display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;
  align-items:center!important;gap:14px!important;min-height:39px!important;padding:2px 0!important;
  text-align:left!important;
}
.schedule-club:nth-child(3){text-align:left!important}
.schedule-team-name{
  font-family:var(--condensed)!important;font-size:19px!important;font-weight:1000!important;
  line-height:1.1!important;color:var(--navy)!important;white-space:normal!important;
}
.schedule-club b{
  justify-self:end!important;font-family:var(--condensed)!important;font-size:30px!important;
  line-height:1!important;color:var(--navy)!important;
}
/* Hide the little VS pill in full-width cards; stacked teams already read naturally. */
.schedule-vs{display:none!important}

/* right details/action rail */
.schedule-game-foot{
  grid-column:3!important;grid-row:1!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  align-items:flex-end!important;gap:7px!important;margin:0!important;padding:12px 14px!important;
  background:#fbfbfc!important;border:0!important;border-left:1px solid #e8ebed!important;
  color:#69747e!important;font-size:9px!important;font-weight:700!important;text-align:right!important;
}
.schedule-box-link{
  grid-column:3!important;grid-row:1!important;align-self:end!important;justify-self:end!important;
  width:max-content!important;margin:0 10px 10px 0!important;padding:7px 10px!important;
  position:relative!important;z-index:2!important;border-radius:4px!important;background:var(--navy)!important;
  color:#fff!important;font-family:var(--condensed)!important;font-size:9px!important;font-weight:1000!important;
  text-decoration:none!important;
}
/* leave room for action button when present */
.schedule-game:has(.schedule-box-link) .schedule-game-foot{padding-bottom:38px!important}

@media(max-width:760px){
  .schedule-game{grid-template-columns:100px minmax(0,1fr)!important}
  .schedule-game-foot{grid-column:1/-1!important;grid-row:2!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;border-left:0!important;border-top:1px solid #e8ebed!important}
  .schedule-box-link{grid-column:2!important;grid-row:2!important;align-self:center!important;margin:7px 10px 7px 0!important}
  .schedule-game:has(.schedule-box-link) .schedule-game-foot{padding-bottom:12px!important;padding-right:130px!important}
}
@media(max-width:560px){
  .schedule-controls,.schedule-summary,.schedule-day{width:calc(100% - 24px)!important}
  .schedule-game{display:block!important}
  .schedule-game-top{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;border-right:0!important;border-bottom:1px solid #e5e9ec!important}
  .schedule-matchup{padding:10px 14px!important}
  .schedule-game-foot{display:flex!important;padding:9px 14px!important}
  .schedule-box-link{display:inline-flex!important;margin:0 14px 10px auto!important}
  .schedule-game:has(.schedule-box-link) .schedule-game-foot{padding-right:14px!important}
}


/* FIX130 - Schedule matchup row alignment only */
.schedule-matchup{
  align-items:stretch!important;
}
.schedule-club{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) 56px!important;
  justify-content:stretch!important;
  text-align:left!important;
}
.schedule-club:nth-child(3){
  text-align:left!important;
}
.schedule-team-name{
  justify-self:start!important;
  text-align:left!important;
  width:100%!important;
}
.schedule-club b{
  justify-self:end!important;
  width:56px!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums!important;
}


/* FIX131 - Schedule field/location area back to bottom */
.schedule-game{
  grid-template-columns:115px minmax(0,1fr)!important;
  grid-template-rows:minmax(88px,auto) auto!important;
}
.schedule-game-top{
  grid-column:1!important;
  grid-row:1!important;
}
.schedule-matchup{
  grid-column:2!important;
  grid-row:1!important;
}
.schedule-game-foot{
  grid-column:1 / -1!important;
  grid-row:2!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  margin:0!important;
  padding:9px 14px!important;
  background:#fbfbfc!important;
  border:0!important;
  border-top:1px solid #e8ebed!important;
  text-align:left!important;
  min-height:34px!important;
}
.schedule-game-foot > *:first-child{
  flex:1 1 auto!important;
  text-align:left!important;
}
/* Preserve room for future field name + street address without squeezing it. */
.schedule-game-foot > *:last-child{
  flex:0 0 auto!important;
  text-align:right!important;
}
.schedule-box-link{
  grid-column:2!important;
  grid-row:2!important;
  align-self:center!important;
  justify-self:end!important;
  margin:5px 10px 5px 0!important;
}
.schedule-game:has(.schedule-box-link) .schedule-game-foot{
  padding-bottom:9px!important;
  padding-right:145px!important;
}

@media(max-width:560px){
  .schedule-game{
    display:block!important;
  }
  .schedule-game-foot{
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:9px 14px!important;
  }
  .schedule-game:has(.schedule-box-link) .schedule-game-foot{
    padding-right:14px!important;
  }
  .schedule-box-link{
    display:inline-flex!important;
    margin:0 14px 10px auto!important;
  }
}


/* FIX134 - Standings team identity and logo presentation */
.pro-standings .standing-team{
  gap:14px;
}
.pro-standings .standing-team-logo{
  width:58px;
  height:58px;
  flex:0 0 58px;
  object-fit:contain;
  display:block;
}
.pro-standings .standing-team-copy strong{
  font-size:18px;
  line-height:1.15;
}
.pro-standings .standing-team-copy small{
  margin-top:4px;
}
@media(max-width:760px){
  .pro-standings .standing-team-logo{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
  .pro-standings .standing-team-copy strong{
    font-size:16px;
  }
}


/* FIX135 - Larger desktop standings logos */
@media(min-width:761px){
  .pro-standings .standing-team-logo{
    width:82px;
    height:82px;
    flex:0 0 82px;
  }
  .pro-standings tbody tr{
    height:94px;
  }
}


/* FIX136 - Match standings fallback badge to desktop logo footprint */
@media(min-width:761px){
  .pro-standings .standing-team-badge{
    width:82px;
    height:82px;
    min-width:82px;
    flex:0 0 82px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:18px;
    line-height:1;
  }
}


/* FIX139 - Teams summary utilization and division selector */
.teams-summary{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.teams-summary:has(article:nth-child(4)){
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.teams-filters[hidden]{
  display:none!important;
}
.team-division-select-label{
  font-family:var(--condensed);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  color:var(--gold);
  margin-right:8px;
}
.team-division-select{
  min-width:190px;
  padding:9px 36px 9px 12px;
  border:1px solid #d8d5cd;
  border-radius:5px;
  background:#fff;
  color:var(--navy);
  font-family:var(--condensed);
  font-weight:1000;
}
@media(max-width:760px){
  .teams-summary,
  .teams-summary:has(article:nth-child(4)){
    grid-template-columns:1fr;
  }
}


/* FIX140 - Larger team logos on Teams page */
@media(min-width:761px){
  .pro-team-card-top{
    grid-template-columns:92px minmax(0,1fr) auto;
    gap:16px;
  }
  .pro-team-badge{
    width:92px;
    height:92px;
    font-size:22px;
  }
  .pro-team-badge img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
  }
}


/* FIX142 - Stats page Statistical Leaders readability */
@media(min-width:761px){
  .leader-category-head span{
    font-size:11px;
  }
  .leader-category-head h3{
    font-size:24px;
  }
  .category-row{
    grid-template-columns:34px minmax(0,1fr) auto;
    padding:10px 12px;
    font-size:14px;
  }
  .category-rank{
    font-size:18px;
  }
  .category-player strong{
    font-size:14px;
  }
  .category-player small{
    font-size:11px;
    line-height:1.25;
  }
  .category-value{
    font-size:16px;
  }
}


/* FIX143 - Stats spreadsheet/table readability */
@media(min-width:761px){
  .mlb-stats-table th{
    font-size:13px;
    padding:12px 10px;
  }
  .mlb-stats-table td{
    font-size:14px;
    padding:12px 10px;
  }
  .mlb-stats-table .player-cell strong{
    font-size:15px;
  }
  .sortable-stats-table th[data-key]::after{
    font-size:11px;
  }
}


/* FIX144 - Functional active-season selector */
select.season-selector{
  appearance:auto;
  background:var(--navy);
  color:#fff;
  cursor:pointer;
  min-width:170px;
}
select.season-selector:disabled{
  cursor:default;
  opacity:1;
}
select.season-selector option{
  background:#fff;
  color:var(--navy);
  font-family:Arial,sans-serif;
  font-weight:700;
}


/* FIX149 - My ECFSL single-card public account front door */
.account-hero h1{color:#fff}.account-hero p{color:#d9e3ec}
.fan-auth-single{display:flex;justify-content:center;width:100%}
.fan-front-card{width:min(100%,720px);padding:28px 30px}.fan-front-card>p{max-width:620px;color:#52606d;line-height:1.45}
.fan-front-links{margin-top:18px;padding-top:16px;border-top:1px solid #e3e8ee;justify-content:center}
.fan-front-links button,.fan-back-link{appearance:none;background:none;border:0;padding:2px 0;color:#0b2740;font:inherit;font-size:.78rem;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fan-mode-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.fan-embedded-card{width:min(100%,940px)}
.account-signup-frame{display:block;width:100%;height:620px;border:0;background:transparent;margin-top:6px}
.fan-card input[type=date],.fan-card input[type=tel],.fan-card input[type=number],.fan-card select{width:100%;padding:12px;border:1px solid #b8c2cf;border-radius:8px;font:inherit;background:#fff}
@media(max-width:760px){.fan-front-card{padding:20px 16px}.fan-front-links{align-items:flex-start;flex-direction:column}.fan-mode-head{gap:10px}.account-signup-frame{height:900px}}


/* FIX150 - explicit Active / Upcoming / Offseason public states */
.season-state-empty{display:grid;gap:6px;justify-items:center;text-align:center;padding:34px 24px}
.season-state-empty strong{font-family:var(--condensed);font-size:20px;color:var(--navy)}
.season-state-empty span{max-width:680px;color:var(--muted);line-height:1.5}
.upcoming-season-feature .feature-kicker{color:var(--gold)}

/* FIX151 - Upcoming season tentative opening day */
.upcoming-opening-day{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px auto 8px;padding:10px 14px;border:1px solid rgba(196,157,81,.45);border-radius:8px;max-width:620px;background:rgba(196,157,81,.07)}
.upcoming-opening-day span{font-family:var(--condensed);font-size:11px;font-weight:1000;letter-spacing:.12em;color:var(--gold)}
.upcoming-opening-day strong{font-family:var(--condensed);font-size:16px;color:var(--navy)}

/* FIX153: Upcoming PLAYOFFS home preview */
.playoff-preview-recap{margin:18px 0 14px;padding:14px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.playoff-preview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:9px}
.playoff-preview-facts div{min-width:0}
.playoff-preview-facts small{display:block;font-size:10px;letter-spacing:.08em;opacity:.72;margin-bottom:3px}
.playoff-preview-facts strong{display:block;font-size:13px;line-height:1.25}
.playoff-preview .seed-preview{margin:12px 0}
.playoff-preview .seed-preview div{display:flex;justify-content:space-between;gap:12px}
@media(max-width:760px){.playoff-preview-facts{grid-template-columns:1fr}.playoff-preview-facts div{padding:4px 0}}

/* FIX155: richer in-place regular-season -> playoff preview */
.playoff-preview-seeding{margin:14px 0 16px}
.playoff-preview-seeding .feature-label{display:block;margin-bottom:8px}
.playoff-preview .seed-preview{max-width:760px;margin-left:auto;margin-right:auto}

/* FIX156: factual playoff outlook narrative */
.playoff-outlook{max-width:900px;margin:14px auto 4px;text-align:left}
.playoff-outlook .feature-label{display:block;margin-bottom:5px}
.playoff-outlook p{margin:0;line-height:1.5}

/* FIX158: fuller Road to the Championship playoff-week presentation */
.road-championship .road-intro{max-width:900px;margin:12px auto 16px;line-height:1.45}
.road-recap{margin:12px 0 16px;padding:12px 0;border-top:1px solid rgba(0,42,75,.14);border-bottom:1px solid rgba(0,42,75,.14)}
.road-matchups{max-width:760px;margin:12px auto 18px}
.road-matchups>.feature-label{display:block;margin-bottom:7px;text-align:left}
.road-matchup{display:grid;grid-template-columns:34px minmax(0,1fr) 36px minmax(0,1fr);gap:8px;align-items:center;padding:7px 10px;margin:5px 0;border:1px solid rgba(0,42,75,.14);background:rgba(255,255,255,.62)}
.road-matchup>b{background:#002b4e;color:white;text-align:center;padding:4px 3px}
.road-matchup>span{text-align:center;font-size:11px;font-weight:800}
@media(max-width:760px){.road-matchup{grid-template-columns:30px 1fr}.road-matchup>span{display:none}}

/* FIX159: playoff-week hype and differentiated storylines */
.road-hype{max-width:940px;margin:14px auto 18px;padding:16px 20px;border-top:2px solid rgba(197,145,43,.72);border-bottom:2px solid rgba(197,145,43,.72);text-align:left}
.road-hype .feature-label{display:block;margin-bottom:7px}
.road-hype p{margin:0;font-size:16px;line-height:1.55;font-weight:600}
.road-storylines{margin:12px 0 18px}
.road-storylines>.feature-label{display:block;margin-bottom:8px;text-align:left}
.road-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.road-story-grid>div{padding:10px 12px;border:1px solid rgba(0,42,75,.14);background:rgba(255,255,255,.58)}
.road-story-grid small,.road-story-grid strong,.road-story-grid span{display:block}
.road-story-grid small{font-size:10px;letter-spacing:.08em;margin-bottom:3px}
.road-story-grid strong{font-size:13px}
.road-story-grid span{font-size:11px;margin-top:3px;opacity:.8}
@media(max-width:760px){.road-story-grid{grid-template-columns:1fr}.road-hype p{font-size:14px}}

/* FIX168: saved AI postseason editorial in approved Home center card */
.ai-postseason-editorial .ai-editorial-body{width:min(820px,100%);margin:4px auto 0;text-align:left}
.ai-postseason-editorial .ai-editorial-body p{max-width:none;margin:0 0 13px;font-size:16px;line-height:1.5}


/* FIX169: improve saved AI postseason Home readability and restore the bracket action
   within the visible center-card footer. */
.ai-postseason-editorial .ai-editorial-body{width:min(860px,100%)}
.ai-postseason-editorial .ai-editorial-body p{font-size:17px;line-height:1.56;margin-bottom:14px}
.ai-postseason-editorial .ai-editorial-footer{width:min(900px,100%);margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:4px}
.ai-postseason-editorial .ai-editorial-footer .offseason-mark{margin-top:0;text-align:left}
.ai-postseason-editorial .ai-editorial-footer .feature-button{margin-top:0;white-space:nowrap}
@media(max-width:700px){.ai-postseason-editorial .ai-editorial-body p{font-size:16px;line-height:1.5}.ai-postseason-editorial .ai-editorial-footer{flex-direction:column;gap:8px}.ai-postseason-editorial .ai-editorial-footer .offseason-mark{text-align:center}}

/* FIX170: keep saved AI postseason Home features readable without allowing long
   stories to hide the permanent postseason footer.  The headline and footer
   remain fixed while only the article copy scrolls when necessary. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial{height:620px!important;min-height:620px!important;overflow:hidden!important}
  body.route-home .ai-postseason-editorial .feature-kicker,
  body.route-home .ai-postseason-editorial>h2,
  body.route-home .ai-postseason-editorial .ai-editorial-footer{flex:0 0 auto}
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    width:min(980px,100%);
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    margin:4px auto 8px;
    padding:0 12px 4px 0;
    scrollbar-width:thin;
    scrollbar-color:rgba(0,43,78,.32) transparent;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-body::-webkit-scrollbar{width:7px}
  body.route-home .ai-postseason-editorial .ai-editorial-body::-webkit-scrollbar-track{background:transparent}
  body.route-home .ai-postseason-editorial .ai-editorial-body::-webkit-scrollbar-thumb{background:rgba(0,43,78,.28);border-radius:8px}
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    width:min(980px,100%);
    padding-top:8px;
    border-top:1px solid rgba(0,42,75,.12);
  }
}

/* FIX171: use the full postseason feature width and reduce the permanent
   editorial footer to a compact single-row navigation strip. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    width:100%;
    margin:4px 0 5px;
    padding:0 9px 2px 0;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    width:100%;
    min-height:36px;
    margin:0;
    padding:4px 0 0;
    gap:14px;
    align-items:center;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .offseason-mark{
    margin:0!important;
    font-size:16px;
    line-height:1;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    margin:0!important;
    padding:7px 18px;
    line-height:1;
    font-size:12px;
  }
}

/* FIX172: increase saved AI postseason editorial copy to 19px and make the
   permanent postseason footer a true bottom overlay so it consumes only the
   height of its text/button instead of reserving a large empty band. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial{
    position:relative;
    padding-bottom:12px!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    font-size:19px;
    margin:4px 0 0;
    padding:0 9px 42px 0;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-body p{
    font-size:19px!important;
    line-height:1.48!important;
    margin-bottom:15px;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    position:absolute;
    left:26px;
    right:26px;
    bottom:7px;
    width:auto;
    min-height:0;
    height:31px;
    margin:0!important;
    padding:3px 0 0!important;
    gap:14px;
    border-top:1px solid rgba(0,42,75,.12);
    background:rgba(250,247,240,.97);
    z-index:3;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .offseason-mark{
    margin:0!important;
    font-size:16px;
    line-height:1;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    margin:0!important;
    padding:7px 18px;
    line-height:1;
    font-size:12px;
  }
}

@media(max-width:1050px){
  .ai-postseason-editorial .ai-editorial-body p{font-size:19px;line-height:1.48}
}

/* FIX173: collapse the permanent AI postseason footer row to the minimum
   height required by the existing text and bracket button.  This returns the
   recovered vertical space to the scrollable editorial body while preserving
   the approved text and button sizing. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    padding-bottom:29px;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    bottom:4px;
    height:26px;
    min-height:26px;
    padding:0!important;
    align-items:center;
  }
}

/* FIX174: correct the AI postseason feature layout structurally.  Previous
   footer overrides made the visible controls short, but absolute positioning
   still left a large reserved band below the article.  Use a four-row grid so
   the editorial body receives every remaining pixel and only the true footer
   row (roughly button height) is reserved at the bottom. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial{
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) 28px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    height:620px!important;
    min-height:620px!important;
    padding:15px 26px 8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.route-home .ai-postseason-editorial .feature-kicker,
  body.route-home .ai-postseason-editorial>h2{
    flex:none!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    grid-row:3;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:4px 0 0!important;
    padding:0 9px 3px 0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    grid-row:4;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    margin:0!important;
    padding:2px 0 0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    border-top:1px solid rgba(0,42,75,.12)!important;
    background:transparent!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .offseason-mark{
    margin:0!important;
    padding:0!important;
    line-height:1!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    margin:0!important;
  }
}

/* FIX175: dock the postseason editorial footer controls to the very bottom of
   the feature card and make the footer row only as tall as the existing
   button.  The article receives the recovered vertical space above it. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial{
    grid-template-rows:auto auto minmax(0,1fr) 27px!important;
    padding-bottom:0!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-body{
    padding-bottom:0!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    height:27px!important;
    min-height:27px!important;
    max-height:27px!important;
    padding:0!important;
    margin:0!important;
    align-items:flex-end!important;
    align-self:end!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .offseason-mark,
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    margin-bottom:0!important;
  }
}

/* FIX176: let the saved AI postseason feature fill the actual Home center
   column height so the permanent footer reaches the true bottom of the card
   instead of stopping at the old fixed 620px feature height. */
@media(min-width:1051px){
  body.route-home .dashboard-center .season-feature,
  body.route-home .dashboard-center .ai-postseason-editorial{
    height:100%!important;
    min-height:0!important;
  }
  body.route-home .ai-postseason-editorial{
    grid-template-rows:auto auto minmax(0,1fr) 27px!important;
  }
}

/* FIX177: move the compact postseason footer slightly above the absolute
   bottom edge while keeping the recovered editorial height, and normalize
   the Home CTA button geometry so the playoff bracket action matches the
   other dashboard buttons. */
@media(min-width:1051px){
  body.route-home .ai-postseason-editorial{
    grid-template-rows:auto auto minmax(0,1fr) 34px!important;
    padding-bottom:5px!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0!important;
    align-items:center!important;
  }
  body.route-home .card-button,
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    box-sizing:border-box!important;
    height:34px!important;
    min-height:34px!important;
    font-size:13px!important;
    line-height:1!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.route-home .ai-postseason-editorial .ai-editorial-footer .feature-button{
    width:205px!important;
    margin:0!important;
  }
}


/* FIX183: saved AI Game of the Week feature. */
body.route-home .ai-game-week-editorial{display:flex;flex-direction:column;min-height:100%;overflow:hidden}
body.route-home .ai-game-week-editorial>h2{margin-bottom:8px}
body.route-home .ai-game-week-editorial .game-week-matchup{flex:0 0 auto;margin-bottom:8px}
body.route-home .ai-game-week-editorial .ai-game-week-body{flex:1 1 auto;min-height:0;overflow-y:auto;text-align:left;padding:2px 8px 4px 2px}
body.route-home .ai-game-week-editorial .ai-game-week-body p{font-size:19px;line-height:1.48;margin:0 0 14px}
body.route-home .ai-game-week-editorial .feature-button{flex:0 0 auto;margin-top:6px}
body.route-home .ai-game-week-editorial .ai-game-week-body::-webkit-scrollbar{width:7px}
body.route-home .ai-game-week-editorial .ai-game-week-body::-webkit-scrollbar-track{background:transparent}
body.route-home .ai-game-week-editorial .ai-game-week-body::-webkit-scrollbar-thumb{background:rgba(0,43,78,.28);border-radius:8px}
@media(max-width:700px){body.route-home .ai-game-week-editorial .ai-game-week-body p{font-size:17px;line-height:1.5}}



/* FIX187: make the saved Game of the Week article use the exact same wide
   editorial-body geometry as the approved playoff stories.  Do not add a
   second 26px inset to the feature card; the base card already supplies its
   own padding. */
@media(min-width:1051px){
  body.route-home .ai-game-week-editorial .ai-game-week-body{
    width:100%!important;
    max-width:none!important;
    margin:4px 0 0!important;
    padding:0 9px 3px 0!important;
    box-sizing:border-box!important;
  }
}


/* FIX188: remove the inherited generic Home-card paragraph max-width from
   saved Game of the Week articles. The approved postseason editorial already
   overrides this rule; GOTW now does the same so each article paragraph can
   span the full center-card content width. */
@media(min-width:1051px){
  body.route-home .ai-game-week-editorial .ai-game-week-body p{
    max-width:none!important;
    width:auto!important;
  }
}

/* FIX199L - Public Home overlap correction.
   FIX22's legacy one-screen desktop rules kept the Home route constrained to
   100vh with overflow hidden and a minmax(0,1fr) top grid row. Later Home
   editorial cards grew taller, which allowed the lower dashboard row to paint
   underneath the center feature on 1080p-class displays. Restore normal
   document flow on Home while preserving the approved three-column dashboard,
   card sizing, and responsive breakpoints. PublicWeb CSS only. */
body.route-home{
  height:auto!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  display:block!important;
}
body.route-home main{
  display:block!important;
  min-height:0!important;
}
body.route-home .page-view[data-route="home"].is-active{
  display:block!important;
  min-height:0!important;
  width:100%!important;
}
body.route-home .dashboard-shell{
  height:auto!important;
  min-height:0!important;
}
body.route-home .dashboard-lower{
  position:static!important;
  clear:both!important;
}
body.route-home .sports-footer{
  margin-top:0!important;
}

/* FIX199M - Mobile full-width public layout + Stats leader readability.
   Portrait/mobile only. Keep desktop presentation unchanged.
   - Prevent any page/header child from widening the document beyond the viewport.
   - Make the navy league header/nav, page hero, Schedule & Scores content, toolbar,
     summary, date strip, and scorecard share the same mobile viewport width.
   - Remove legacy mobile width reductions that made schedule chrome visibly shorter
     than the scorecard.
   - Show Statistical Leader cards two across on portrait instead of four squeezed
     columns or a single oversized column. */
@media(max-width:700px){
  html,
  body{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .sports-header,
  .header-inner,
  .sports-nav,
  .public-page,
  .page-hero,
  .page-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .sports-header{
    overflow:hidden!important;
  }
  .header-inner{
    margin:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .sports-nav{
    margin:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
  }
  .sports-nav a{
    flex:0 0 auto!important;
  }
  .page-hero{
    margin:0!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .page-content{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  /* Schedule & Scores: every major block uses the exact same content width. */
  [data-route="schedule"] .page-content,
  .schedule-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .schedule-controls,
  .schedule-summary,
  .schedule-day{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .schedule-day-head,
  .schedule-day-games,
  .schedule-game{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Stats: readable portrait leader cards without a cramped four-column row. */
  .category-leaders{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .leader-category-head{
    padding:11px 10px 9px!important;
  }
  .leader-category-head h3{
    font-size:18px!important;
  }
  .category-row{
    grid-template-columns:22px minmax(0,1fr) auto!important;
    gap:5px!important;
    padding:9px 8px!important;
  }
  .category-rank{
    font-size:15px!important;
  }
  .category-player strong{
    font-size:11px!important;
  }
  .category-player small{
    font-size:9px!important;
  }
  .category-row>b,
  .category-value{
    font-size:14px!important;
  }
}

@media(max-width:360px){
  .category-leaders{
    grid-template-columns:1fr!important;
  }
}

/* FIX199O - True mobile viewport width correction.
   FIX199M correctly identified the mobile width issue but several 100% width
   elements still used content-box sizing, so their padding/borders were added
   outside the viewport. The Schedule toolbar also uses .schedule-toolbar in
   the actual markup (not .schedule-controls). This final mobile override keeps
   every major public page block inside the physical viewport, aligns the
   Schedule toolbar/summary/date strip/scorecard to one width, and keeps the
   score column visible. Desktop remains unchanged. */
@media(max-width:700px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    overflow-x:hidden!important;
  }

  .sports-header,
  .header-inner,
  .sports-nav,
  main,
  .page-view,
  .public-page,
  .page-hero,
  .page-content,
  .schedule-content,
  .schedule-toolbar,
  .schedule-tabs,
  .schedule-filters,
  .schedule-summary,
  .schedule-board,
  .schedule-day,
  .schedule-day-head,
  .schedule-day-games,
  .schedule-game,
  .schedule-game-top,
  .schedule-matchup,
  .schedule-club,
  .schedule-game-foot{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }

  .sports-header,
  .header-inner,
  .sports-nav,
  main,
  .page-view,
  .public-page,
  .page-hero,
  .page-content{
    width:100%!important;
  }

  .header-inner{
    margin:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .league-brand{
    min-width:0!important;
    max-width:100%!important;
  }
  .brand-copy{
    min-width:0!important;
  }

  /* Keep the navy navigation bar exactly viewport-wide. The links themselves
     can still scroll horizontally, but they no longer widen the document. */
  .sports-nav{
    margin:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .sports-nav a{
    flex:0 0 auto!important;
  }

  .page-hero{
    margin:0!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .page-content,
  .schedule-content{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  /* Actual Schedule toolbar class in index.html is .schedule-toolbar. */
  [data-route="schedule"] .schedule-toolbar,
  [data-route="schedule"] .schedule-summary,
  [data-route="schedule"] .schedule-day{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  [data-route="schedule"] .schedule-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
    padding:12px!important;
  }
  [data-route="schedule"] .schedule-tabs{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:visible!important;
  }
  [data-route="schedule"] .schedule-tab{
    min-width:0!important;
    width:100%!important;
    padding-left:6px!important;
    padding-right:6px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  [data-route="schedule"] .schedule-filters{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:end!important;
  }
  [data-route="schedule"] .schedule-filters label,
  [data-route="schedule"] .schedule-filters select{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  [data-route="schedule"] .schedule-reset{
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }

  [data-route="schedule"] .schedule-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:hidden!important;
  }
  [data-route="schedule"] .schedule-summary>div{
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }

  [data-route="schedule"] .schedule-board,
  [data-route="schedule"] .schedule-day-games,
  [data-route="schedule"] .schedule-game{
    width:100%!important;
  }
  [data-route="schedule"] .schedule-game{
    overflow:hidden!important;
  }
  [data-route="schedule"] .schedule-matchup{
    width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  [data-route="schedule"] .schedule-club{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
  }
  [data-route="schedule"] .schedule-team-name{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  [data-route="schedule"] .schedule-club b{
    display:block!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    justify-self:end!important;
    text-align:right!important;
  }
}

@media(max-width:430px){
  [data-route="schedule"] .schedule-tab{
    font-size:9px!important;
  }
  [data-route="schedule"] .schedule-summary b{
    font-size:19px!important;
  }
  [data-route="schedule"] .schedule-summary span{
    font-size:8px!important;
    letter-spacing:.03em!important;
  }
}

/* FIX199P - Mobile tables and page layout stabilization.
   Restores sticky identity columns on horizontally scrolling statistics/standings
   and stabilizes Teams + History portrait layouts without changing desktop or data. */

/* Stats: PLAYER stays visible while the remaining columns scroll horizontally. */
.stats-scroll{position:relative;}
.mlb-stats-table th:first-child,
.mlb-stats-table td:first-child{
  position:sticky;
  left:0;
}
.mlb-stats-table th:first-child{
  z-index:8;
  background:#f0f2f4;
  box-shadow:4px 0 7px -5px rgba(3,26,49,.7);
}
.mlb-stats-table td:first-child{
  z-index:5;
  background:#fff;
  box-shadow:4px 0 7px -5px rgba(3,26,49,.45);
}
.mlb-stats-table tbody tr:nth-child(even) td:first-child{background:#fafafa;}
.mlb-stats-table tbody tr:hover td:first-child{background:#f4f0e7;}

@media(max-width:760px){
  /* Standings: freeze rank + full team identity (logo/badge and name) while
     GP/W/L/etc. scroll to the right. */
  .standings-board{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .pro-standings{
    min-width:850px!important;
  }
  .pro-standings th:first-child,
  .pro-standings td:first-child{
    position:sticky!important;
    left:0!important;
    z-index:8!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
  .pro-standings th:nth-child(2),
  .pro-standings td:nth-child(2){
    position:sticky!important;
    left:42px!important;
    z-index:7!important;
    min-width:210px!important;
    width:210px!important;
    max-width:210px!important;
    box-shadow:5px 0 8px -6px rgba(3,26,49,.65);
  }
  .pro-standings th:first-child,
  .pro-standings th:nth-child(2){background:var(--navy)!important;color:#fff!important;}
  .pro-standings td:first-child,
  .pro-standings td:nth-child(2){background:#fff!important;}
  .pro-standings tbody tr:hover td:first-child,
  .pro-standings tbody tr:hover td:nth-child(2){background:#faf8f2!important;}
  .pro-standings .standing-team{min-width:0!important;width:100%!important;}
  .pro-standings .standing-team-copy{min-width:0!important;}
  .pro-standings .standing-team-copy strong{
    display:block!important;
    max-width:145px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Teams directory: keep cards compact and readable in portrait. */
  [data-route="teams"] .teams-content,
  [data-route="teams"] .teams-summary,
  [data-route="teams"] .teams-toolbar,
  [data-route="teams"] .pro-team-grid,
  [data-route="teams"] .team-profile{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  [data-route="teams"] .teams-summary{grid-template-columns:1fr!important;gap:8px!important;}
  [data-route="teams"] .teams-summary article{min-height:0!important;padding:12px 14px!important;}
  [data-route="teams"] .teams-summary strong{font-size:20px!important;line-height:1.08!important;overflow-wrap:anywhere!important;}
  [data-route="teams"] .pro-team-grid{grid-template-columns:1fr!important;gap:10px!important;}
  [data-route="teams"] .pro-team-card{min-height:0!important;padding:13px!important;}
  [data-route="teams"] .pro-team-card-top{grid-template-columns:48px minmax(0,1fr) auto!important;gap:9px!important;}
  [data-route="teams"] .pro-team-badge{width:48px!important;height:48px!important;font-size:14px!important;}
  [data-route="teams"] .pro-team-identity{min-width:0!important;}
  [data-route="teams"] .pro-team-identity h2{font-size:18px!important;overflow-wrap:anywhere!important;}
  [data-route="teams"] .pro-team-record{padding:10px 0!important;gap:7px!important;flex-wrap:wrap!important;}
  [data-route="teams"] .pro-team-record strong{font-size:25px!important;}
  [data-route="teams"] .pro-team-meta{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:10px!important;}
  [data-route="teams"] .pro-team-meta div{min-height:0!important;padding:8px!important;}

  /* Selected-team profile: compact portrait header and a 2x2 information grid. */
  [data-route="teams"] .team-profile-head{
    padding:16px 14px!important;
    gap:11px!important;
    align-items:center!important;
    min-width:0!important;
  }
  [data-route="teams"] .team-profile-head>div:last-of-type{min-width:0!important;}
  [data-route="teams"] .team-profile-badge{width:56px!important;height:56px!important;min-width:56px!important;font-size:17px!important;}
  [data-route="teams"] .team-profile-head h2{font-size:23px!important;line-height:1.05!important;overflow-wrap:anywhere!important;padding-right:28px!important;}
  [data-route="teams"] .team-profile-head p{font-size:11px!important;line-height:1.25!important;}
  [data-route="teams"] .team-profile-grid{grid-template-columns:1fr 1fr!important;}
  [data-route="teams"] .team-profile-grid article{padding:13px!important;min-height:86px!important;border-right:1px solid #ebe6dd!important;border-bottom:1px solid #ebe6dd!important;}
  [data-route="teams"] .team-profile-grid article:nth-child(2n){border-right:0!important;}
  [data-route="teams"] .team-profile-grid strong{font-size:17px!important;overflow-wrap:anywhere!important;}
  [data-route="teams"] .team-profile-section{padding:16px 12px!important;min-width:0!important;}
  [data-route="teams"] .team-profile-table-wrap{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  [data-route="teams"] .team-profile-table{width:max-content!important;min-width:760px!important;}
  [data-route="teams"] .team-batting-table{min-width:1180px!important;}
  [data-route="teams"] .team-profile-table th:first-child,
  [data-route="teams"] .team-profile-table td:first-child{
    position:sticky!important;
    left:0!important;
  }
  [data-route="teams"] .team-profile-table th:first-child{
    z-index:7!important;
    background:#f2efe9!important;
    box-shadow:4px 0 7px -5px rgba(3,26,49,.6);
  }
  [data-route="teams"] .team-profile-table td:first-child{
    z-index:5!important;
    background:#fff!important;
    box-shadow:4px 0 7px -5px rgba(3,26,49,.4);
  }
  [data-route="teams"] .team-profile-table tbody tr:hover td:first-child{background:#fbfaf7!important;}
  [data-route="teams"] .stat-legend-grid{grid-template-columns:1fr 1fr!important;}
  [data-route="teams"] .stat-legend-grid>div{border-right:1px solid #eee5d7!important;padding:8px!important;gap:6px!important;}
  [data-route="teams"] .stat-legend-grid>div:nth-child(2n){border-right:0!important;}
  [data-route="teams"] .stat-legend-grid b{min-width:27px!important;font-size:.75rem!important;}
  [data-route="teams"] .stat-legend-grid span{font-size:.68rem!important;}

  /* History: true portrait flow; no archive card, table, score row or banner may
     widen the document. Wide historical tables remain scrollable in their own box. */
  [data-route="history"] .history-page,
  [data-route="history"] .history-intro,
  [data-route="history"] .history-season-grid,
  [data-route="history"] .history-season-banner,
  [data-route="history"] .history-championship,
  [data-route="history"] .history-section,
  [data-route="history"] .history-details,
  [data-route="history"] .history-results,
  [data-route="history"] .history-score-row,
  [data-route="history"] .history-archive-links,
  [data-route="history"] .history-table-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  [data-route="history"] .history-season-banner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    padding:20px 18px!important;
    overflow:hidden!important;
  }
  [data-route="history"] .history-season-banner h1{
    font-size:1.75rem!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  [data-route="history"] .history-season-banner aside{
    display:grid!important;
    grid-template-columns:auto 1fr auto 1fr!important;
    gap:4px 8px!important;
    justify-content:start!important;
    text-align:left!important;
  }
  [data-route="history"] .history-championship{padding:14px 12px!important;}
  [data-route="history"] .history-final-score{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
  }
  [data-route="history"] .history-final-score div{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:10px!important;
  }
  [data-route="history"] .history-final-score strong{
    min-width:0!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  [data-route="history"] .history-final-score b{flex:0 0 auto!important;}
  [data-route="history"] .history-section{padding:16px 12px!important;overflow:hidden!important;}
  [data-route="history"] .history-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  [data-route="history"] .history-table{min-width:620px!important;width:max-content!important;}
  [data-route="history"] .history-table th:first-child,
  [data-route="history"] .history-table td:first-child{
    position:sticky!important;
    left:0!important;
    z-index:4!important;
  }
  [data-route="history"] .history-table th:first-child{background:#f2eee7!important;}
  [data-route="history"] .history-table td:first-child{background:#fff!important;}
  [data-route="history"] .history-two-col{grid-template-columns:1fr!important;gap:10px!important;}
  [data-route="history"] .history-results{grid-template-columns:1fr!important;gap:7px!important;}
  [data-route="history"] .history-score-row{
    display:grid!important;
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px!important;
    align-items:start!important;
  }
  [data-route="history"] .history-score-row strong{
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
  }
  [data-route="history"] .history-score-row small{
    grid-column:2!important;
    justify-self:start!important;
  }
  [data-route="history"] .history-archive-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  [data-route="history"] .history-archive-links article{min-width:0!important;padding:12px 8px!important;}
  [data-route="history"] .history-bracket{min-height:0!important;overflow-x:auto!important;}
  [data-route="history"] .history-details summary{padding:15px 12px!important;}
  [data-route="history"] .history-details .history-table-wrap{margin:0 10px 12px!important;width:calc(100% - 20px)!important;}
}

@media(max-width:430px){
  [data-route="teams"] .team-profile-grid{grid-template-columns:1fr 1fr!important;}
  [data-route="teams"] .team-profile-grid article{padding:10px!important;}
  [data-route="teams"] .stat-legend-grid{grid-template-columns:1fr 1fr!important;}
  [data-route="history"] .history-archive-links{grid-template-columns:1fr 1fr!important;}
}


/* FIX199R — Home center message carousel */
body.route-home .dashboard-center{position:relative;overflow:hidden!important}
body.route-home .season-feature{height:100%!important;min-height:552px!important;overflow:hidden!important}
.home-message-carousel{position:relative;width:100%;height:100%;min-height:552px;overflow:hidden;border-radius:14px}
.home-message-track{position:relative;width:100%;height:100%;min-height:552px}
.home-message-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease;z-index:1}
.home-message-slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.home-message-slide>.season-feature-card{height:100%!important;min-height:552px!important;padding-bottom:54px!important}
.home-message-controls{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 2px 10px rgba(0,29,53,.12);backdrop-filter:blur(4px)}
.home-message-dot{appearance:none;width:10px;height:10px;border:0;border-radius:50%;background:#9ca8b2;padding:0;cursor:pointer;transition:transform .2s ease,background .2s ease}
.home-message-dot:hover,.home-message-dot:focus-visible{transform:scale(1.2);outline:2px solid var(--gold);outline-offset:2px}
.home-message-dot.active{background:var(--gold);transform:scale(1.25)}
.home-message-news{height:100%;min-height:552px;background:#fbf8f1;display:grid;grid-template-columns:minmax(280px,42%) 1fr;overflow:hidden;border:1px solid #e7dfd0;border-radius:14px}
.home-message-news:not(.has-image){display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fbf8f1,#fff)}
.home-message-news-image{height:100%;min-height:552px;overflow:hidden;background:#0a2f50}
.home-message-news-image img{width:100%;height:100%;object-fit:cover;display:block}
.home-message-news-copy{min-width:0;padding:42px 46px 72px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.home-message-news-copy .feature-kicker{margin-bottom:10px}
.home-message-news-copy h2{font-family:var(--condensed);font-size:clamp(34px,2.35vw,50px);line-height:.98;color:var(--navy);margin:0 0 20px;max-width:880px}
.home-message-news-copy p{font-size:clamp(16px,1vw,19px);line-height:1.55;color:#303a44;margin:0 0 25px;max-width:850px}
.home-message-news-copy .feature-button{margin-top:auto}
.home-message-photo{position:relative;height:100%;min-height:552px;border-radius:14px;overflow:hidden;background:#0a2f50}
.home-message-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.home-message-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,24,44,.08) 25%,rgba(0,24,44,.82) 100%);pointer-events:none}
.home-message-photo-overlay{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:34px 42px 68px;color:#fff}
.home-message-photo-overlay .feature-kicker{color:var(--gold2)}
.home-message-photo-overlay h2{font-family:var(--condensed);font-size:clamp(34px,2.5vw,52px);line-height:1;color:#fff;margin:7px 0 8px;max-width:900px;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.home-message-photo-overlay p{font-size:16px;margin:0 0 18px;color:#f5f7f8}
.home-message-photo-overlay .feature-button{display:inline-flex}
body.route-home .dashboard-lower{display:none!important}
@media(max-width:900px){
  .home-message-carousel,.home-message-track,.home-message-slide>.season-feature-card,.home-message-news,.home-message-news-image,.home-message-photo{min-height:540px}
  .home-message-news{grid-template-columns:1fr;grid-template-rows:220px 1fr}
  .home-message-news-image{min-height:0;height:220px}
  .home-message-news-copy{padding:24px 22px 66px}
  .home-message-news-copy h2{font-size:34px}
  .home-message-news-copy p{font-size:16px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .home-message-photo-overlay{padding:24px 22px 64px}
  .home-message-photo-overlay h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.home-message-slide{transition:none}}


/* FIX199S — Full-height Home carousel + dedicated pager row below actions */
body.route-home .home-message-carousel{display:grid!important;grid-template-rows:minmax(0,1fr) 42px!important;overflow:hidden!important}
body.route-home .home-message-track{height:100%!important;min-height:0!important;overflow:hidden!important}
body.route-home .home-message-slide{inset:0!important}
body.route-home .home-message-controls{
  position:static!important;transform:none!important;align-self:center;justify-self:center;
  z-index:8;display:flex!important;gap:9px!important;padding:6px 11px!important;margin:0!important;
  background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
}
body.route-home .home-message-slide>.season-feature-card{padding-bottom:26px!important}
body.route-home .home-message-news-copy{padding-bottom:32px!important}
body.route-home .home-message-photo-overlay{padding-bottom:32px!important}
@media (min-width:1200px) and (min-height:700px){
  body.route-home main{flex:1 1 auto!important;min-height:0!important;display:flex!important}
  body.route-home .page-view[data-route="home"].is-active{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important}
  body.route-home .dashboard-shell{
    flex:1 1 auto!important;height:auto!important;min-height:0!important;margin:8px auto!important;align-items:stretch!important;
  }
  body.route-home .dashboard-center,body.route-home .dashboard-left,body.route-home .dashboard-right{height:100%!important;min-height:0!important}
  body.route-home .season-feature,body.route-home .home-message-carousel,body.route-home .home-message-track,
  body.route-home .home-message-news,body.route-home .home-message-photo{height:100%!important;min-height:0!important}
  body.route-home .home-message-slide>.season-feature-card{height:100%!important;min-height:0!important}
}
@media(max-width:900px){
  body.route-home .home-message-carousel{grid-template-rows:minmax(0,1fr) 40px!important}
  body.route-home .home-message-news-copy,body.route-home .home-message-photo-overlay{padding-bottom:24px!important}
}
