/* Full season presentation, isolated from custom league-owned pages. */
#season-page{max-width:1240px;color:#e9edf4;}#season-page *{box-sizing:border-box;}#season-page [hidden]{display:none!important;}
#season-page :is(h1,h2,h3,h4,p){margin-top:0;}#season-page :is(h1,h2,h3,h4,p,dd,a,button){overflow-wrap:anywhere;}
#season-page :is(button,a,select,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid #f1ac98;outline-offset:4px;}
#season-page .sp-eyebrow{color:#e1a38e;font-size:10px;letter-spacing:.15em;font-weight:650;line-height:1.6;margin-bottom:10px;}
#season-page .sp-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;color:#95a4b8;font-size:12px;margin:0 0 22px;}#season-page .sp-breadcrumb a{color:#c8d1df;text-decoration:none;}
#season-page .sp-season-hero{position:relative;background:#24272e;border:1px solid #494048;border-radius:14px;overflow:hidden;isolation:isolate;}
#season-page .sp-season-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
#season-page .sp-season-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171b24f5,#171b24bb 55%,#171b2430),linear-gradient(0deg,#171b24,transparent 85%);}
#season-page .sp-hero-content{padding:36px;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:280px;}
#season-page .sp-hero-content>div{min-width:0;max-width:760px;}#season-page .sp-hero-content h1{font-size:clamp(32px,4.3vw,50px);line-height:1.1;margin:16px 0 14px;font-weight:650;}
#season-page .sp-hero-content>div>p:not(.sp-eyebrow){color:#b9c6d6;font-size:13px;}
#season-page .sp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
#season-page .sp-format-stamp{display:block;color:#f4e9df;font-size:70px;font-weight:700;line-height:1;letter-spacing:-.055em;text-shadow:0 4px 20px #0006;flex-shrink:0;text-align:center;padding:0 20px;}
#season-page .sp-format-stamp small{display:block;font-size:9px;letter-spacing:.2em;font-weight:500;margin-top:15px;}
#season-page .sp-status{display:inline-flex;align-items:center;font-size:10px;letter-spacing:.02em;background:#262d39e8;border:1px solid #505d70;color:#d4deec;padding:5px 9px;border-radius:5px;white-space:normal;}
#season-page .sp-status.is-active{background:#203c2eea;border-color:#4b765c;color:#b8e3c4;}#season-page .sp-status.is-active::before{content:'';width:5px;height:5px;border-radius:50%;margin-right:7px;background:#95d8ad;}
#season-page .sp-hero-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#171c25bd;border-top:1px solid #5b667c55;margin:0;padding:20px 36px;gap:20px;}
#season-page dt{font-size:11px;color:#a8b6c9;}#season-page .sp-hero-facts dd{font-size:20px;font-weight:600;margin:6px 0 0;color:#f4f5f7;}
#season-page .sp-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:8px;background:#191e27;border:1px solid #3a4351;border-radius:9px;margin:26px 0 30px;}
#season-page .sp-tabs button{color:#b5c0d0;background:transparent;border:1px solid transparent;border-radius:6px;padding:11px 18px;cursor:pointer;font-size:12px;min-height:43px;}
#season-page .sp-tabs button[aria-selected=true]{background:#382d30;border-color:#885d51;color:#f5e8e2;}#season-page .sp-tabs button:hover{color:#fff;background:#2d323d;}
#season-page [data-season-panel]{outline-offset:6px;min-width:0;}#season-page .sp-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;}
#season-page :is(.sp-main-stack,.sp-side-stack){display:grid;gap:24px;min-width:0;}#season-page .sp-section-heading{margin-bottom:20px;}#season-page .sp-section-heading h2{font-size:24px;line-height:1.25;margin:0 0 10px;}#season-page .sp-section-heading>p:last-child:not(.sp-eyebrow){font-size:12px;line-height:1.7;color:#abb8cb;margin-bottom:0;}
#season-page .sp-main-stack>.sp-section-heading{margin-bottom:0;}#season-page .sp-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0;}
#season-page .sp-progress li{display:flex;gap:11px;align-items:flex-start;padding:17px 12px;border:1px solid #353f4e;border-radius:8px;background:#181e28;min-width:0;}
#season-page .sp-progress li>span{font-size:11px;line-height:1.9;color:#a5b0c1;}#season-page .sp-progress strong{font-size:12px;display:block;color:#bcc7d7;font-weight:550;}#season-page .sp-progress small{display:block;font-size:10px;color:#8f9fb5;margin-top:4px;}
#season-page .sp-progress .is-current{border-color:#a26d59;background:#322728;}#season-page .sp-progress .is-current :is(span,strong){color:#f0bba5;}#season-page .sp-progress .is-past>span{color:#94d6ad;}
#season-page .sp-map-feature{position:relative;min-height:290px;border:1px solid #47515e;border-radius:12px;overflow:hidden;isolation:isolate;background:#222c37;}
#season-page .sp-map-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}#season-page .sp-map-feature::after{position:absolute;content:'';inset:0;background:linear-gradient(90deg,#151c29df,#151c2933),linear-gradient(0deg,#151c29ed,transparent);z-index:-1;}
#season-page .sp-map-feature-copy{padding:28px;}#season-page .sp-map-feature-copy>.sp-eyebrow{margin-top:26px;margin-bottom:8px;}#season-page .sp-map-feature h3{font-size:30px;line-height:1.15;margin:0 0 12px;}#season-page .sp-map-feature p:not(.sp-eyebrow){color:#bfccdc;font-size:12px;}#season-page .sp-map-feature .ev-button{margin-top:8px;}
#season-page .sp-panel{border:1px solid #343f4f;background:#191f29;border-radius:10px;padding:24px;min-width:0;}
#season-page .sp-prose{font-size:13px;color:#bec9d9;line-height:1.85;white-space:pre-wrap;}
#season-page .sp-mini-facts{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #394352;padding-top:18px;margin-top:22px;}#season-page .sp-mini-facts span{font-size:11px;color:#a9b7c9;}#season-page .sp-mini-facts b{font-size:16px;color:#edf1f7;margin-right:5px;}
#season-page .sp-callout{background:linear-gradient(140deg,#362827,#1c212b 75%);border:1px solid #655046;border-radius:10px;padding:24px;}#season-page .sp-callout>img{float:right;margin:0 0 10px 8px;}#season-page .sp-callout h2{font-size:23px;line-height:1.2;margin-bottom:14px;}#season-page .sp-callout>p:not(.sp-eyebrow){font-size:12px;color:#bfc5d0;line-height:1.8;}#season-page .sp-callout>.ev-button{margin-top:8px;width:100%;}
#season-page .sp-essentials{display:grid;gap:18px;margin:0 0 22px;}#season-page .sp-essentials dd{margin:5px 0 0;font-size:12px;color:#dce3ee;}#season-page .sp-essentials small{display:block;font-size:10px;color:#9daec5;margin-top:5px;}#season-page .sp-side-stack .sp-section-heading h2{font-size:19px;}
#season-page :is(.sp-team-help p,.sp-muted){font-size:12px;color:#a9b7ca;line-height:1.7;}#season-page .sp-team-help h3{font-size:18px;}
#season-page .sp-text-link{color:#ecb19b;font-size:12px;font-weight:550;text-decoration:none;border:0;background:none;padding:4px 0;cursor:pointer;}#season-page .sp-text-link:hover{text-decoration:underline;}
#season-page .sp-sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}#season-page .sp-sponsor-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;min-height:128px;padding:18px;border:1px solid #3d4859;border-radius:10px;background:#191f29;color:inherit;text-decoration:none;}#season-page a.sp-sponsor-card:hover{border-color:#a26d59;background:#211f25;}#season-page .sp-sponsor-card img{display:block;width:88px;height:72px;object-fit:contain;border-radius:7px;background:#f8fafc;padding:8px;}#season-page .sp-sponsor-monogram{display:grid;place-items:center;width:88px;height:72px;border-radius:7px;background:#382d30;color:#f1c1ae;font-size:24px;font-weight:700;}#season-page .sp-sponsor-card h3{font-size:17px;margin:0 0 8px;}#season-page .sp-sponsor-card p{font-size:11px;line-height:1.65;color:#aebdd1;margin:0 0 9px;}#season-page .sp-sponsor-card .sp-text-link{display:inline-block;}
#season-page .sp-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}#season-page .sp-region-grid h3{font-size:20px;margin:18px 0 12px;}#season-page .sp-region-grid p{font-size:12px;color:#adbed0;line-height:1.8;}#season-page .sp-timezone{color:#dfb29a!important;font-size:11px!important;}#season-page summary{cursor:pointer;padding:12px 0;color:#c7d4e5;font-size:12px;}#season-page details{border-top:1px solid #39475b;}
#season-page .sp-registration-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;}#season-page .sp-registration-guide>img{margin-bottom:20px;}#season-page .sp-registration-guide h2{font-size:21px;}#season-page .sp-registration-guide ol{padding-left:18px;display:grid;gap:16px;font-size:12px;line-height:1.7;color:#b1bfd2;margin:20px 0;}
#season-page .sp-registered{margin:20px 0;padding:18px;background:#20312d;border:1px solid #405b4e;border-radius:8px;clear:both;}#season-page .sp-registered h3{font-size:14px;}#season-page .sp-registered p{font-size:12px;color:#bcd4c5;margin-bottom:9px;}#season-page .sp-registered span{display:block;font-size:10px;color:#9db5aa;margin-top:3px;}
#season-page .sp-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px;min-width:0;}#season-page .sp-form label{display:grid;gap:8px;font-size:12px;color:#c3cfdf;min-width:0;}#season-page .sp-form :is(input,textarea,select){width:100%;min-width:0;}#season-page .sp-form button{justify-self:start;}#season-page .sp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}#season-page .sp-form [role=status]{font-size:12px;color:#eeb29d;line-height:1.7;margin:0;}#season-page .sp-field-note{font-size:11px;line-height:1.7;color:#9caec6;margin:0;}
#season-page .sp-filter-bar{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:22px 0;}#season-page .sp-filter-bar label{display:grid;gap:7px;font-size:11px;color:#aabbd2;min-width:200px;max-width:100%;}#season-page .sp-filter-bar select{min-width:0;width:100%;}#season-page .sp-filter-bar button{min-height:44px;}
#season-page .sp-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px;}#season-page .sp-week-card{border:1px solid #3d4a5e;border-radius:10px;background:#191f29;overflow:hidden;min-width:0;}#season-page .sp-week-card.is-current{border-color:#c28369;}#season-page .sp-week-art{position:relative;height:150px;background:#293547;}#season-page .sp-week-art img{width:100%;height:100%;object-fit:cover;}#season-page .sp-week-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101a2cba,transparent);}
#season-page .sp-week-art span,#season-page .sp-week-art b{position:absolute;left:16px;bottom:14px;color:#fff;font-size:10px;letter-spacing:.08em;z-index:1;}#season-page .sp-week-art b{left:auto;right:14px;font-size:9px;background:#634335;padding:3px 6px;border-radius:4px;}
#season-page .sp-week-card>div:last-child{padding:18px;}#season-page .sp-week-card h3{font-size:17px;line-height:1.3;margin:0 0 10px;}#season-page .sp-week-card p{font-size:11px;color:#b7c5d8;margin:0;}#season-page .sp-week-card small{display:block;color:#99acc4;font-size:10px;margin-top:8px;}
#season-page .sp-fixture{padding:20px;border:1px solid #3b485c;background:#151c28;border-radius:9px;margin-top:16px;}#season-page .sp-fixture-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#aabbd3;}#season-page .sp-fixture-meta .sp-status:last-child{margin-left:auto;}
#season-page .sp-fixture-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:22px;align-items:center;padding:24px 0;}#season-page .sp-fixture-teams strong{font-size:17px;font-weight:550;}#season-page .sp-fixture-teams strong:last-child{text-align:right;}#season-page .sp-fixture-teams>span{font-size:22px;font-weight:600;color:#e5b899;white-space:nowrap;}#season-page .sp-fixture-teams small{color:#6f809c;}
#season-page .sp-fixture-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #343f52;padding-top:16px;}#season-page .sp-fixture-footer>span{font-size:11px;color:#a2b4ce;}
#season-page .sp-standings-group{margin-bottom:24px;}#season-page .sp-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap;}#season-page .sp-group-heading h3{font-size:18px;margin:0;}
#season-page .sp-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #3a4659;border-radius:8px;}#season-page .sp-table{width:100%;min-width:480px;border-collapse:collapse;text-align:left;}#season-page .sp-table thead{background:#222c3b;}#season-page .sp-table th{font-size:10px;color:#9eb0ca;letter-spacing:.05em;font-weight:550;}#season-page .sp-table :is(td,th){padding:15px 18px;border-bottom:1px solid #354155;}#season-page .sp-table tbody th{font-size:14px;color:#e0e8f3;letter-spacing:0;text-transform:none;}#season-page .sp-table small{display:block;font-size:10px;color:#8da2c0;margin-top:5px;}#season-page .sp-table tbody tr:last-child>*{border-bottom:0;}#season-page .sp-table tbody tr:hover{background:#27334455;}#season-page .sp-table td{font-size:13px;color:#bbc9de;}#season-page .sp-table .sp-points{font-size:17px;font-weight:650;color:#ecc5a8;}
#season-page .sp-rank{display:grid;place-items:center;width:26px;height:26px;background:#263044;border-radius:5px;font-size:11px;}#season-page .sp-rank.top-rank{background:#47392d;color:#ebc79b;}
#season-page .sp-playoff-group{margin:28px 0;}#season-page .sp-playoff-group>h3{font-size:20px;}#season-page .sp-bracket{display:flex;gap:24px;overflow-x:auto;max-width:100%;padding:8px 4px 22px;align-items:stretch;}
#season-page .sp-bracket-round{flex:0 0 260px;display:flex;flex-direction:column;gap:18px;min-width:0;}#season-page .sp-bracket-round>h4{font-size:11px;color:#a6b8d0;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #455168;padding-bottom:14px;margin-bottom:0;}
#season-page .sp-bracket-match{border:1px solid #43516a;border-radius:8px;padding:16px;background:#1c2534;margin-block:auto;}#season-page .sp-bracket-match>.sp-status{margin-bottom:12px;}#season-page .sp-bracket-team{display:flex;justify-content:space-between;gap:12px;padding:12px 9px;color:#b8c7dc;font-size:12px;}#season-page .sp-bracket-team>span{min-width:0;}#season-page .sp-bracket-team b{flex-shrink:0;}#season-page .sp-bracket-team+.sp-bracket-team{border-top:1px solid #374862;}#season-page .sp-bracket-team.is-winner{background:#2c4036;color:#c5e8d0;border-radius:4px;}#season-page .sp-bracket-match .sp-text-link{margin-top:12px;}
#season-page #playoff-report{max-width:700px;margin-top:24px;}#season-page #close-playoff-report{margin-top:18px;}
#season-page .sp-match-hero{position:relative;isolation:isolate;background:#263044;overflow:hidden;border:1px solid #45516a;border-radius:11px;padding:28px;margin-bottom:24px;}
#season-page .sp-match-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#171e2aef,#171e2abf),var(--match-art) center/cover;z-index:-1;}
#season-page .sp-match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center;margin:28px 0;}#season-page .sp-match-teams h2{font-size:clamp(18px,2.5vw,28px);margin:0;}#season-page .sp-match-teams h2:last-child{text-align:right;}#season-page .sp-match-teams>span{font-size:30px;white-space:nowrap;color:#ebc4aa;}#season-page .sp-match-hero>p:last-child{font-size:12px;color:#b6c6dc;margin-bottom:0;}
#season-page .sp-match-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start;}#season-page .sp-messages{display:grid;gap:12px;}#season-page .sp-message{padding:16px;background:#121b29;border:1px solid #34435b;border-radius:8px;}#season-page .sp-message header{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:12px;color:#d4e1f1;}#season-page .sp-message time{font-size:10px;color:#91a9c8;}#season-page .sp-message p{white-space:pre-wrap;font-size:13px;color:#bfcde0;line-height:1.8;margin:12px 0 0;}
#season-page .sp-empty,#season-page .sp-loading{padding:36px 24px;text-align:center;border:1px dashed #43516a;border-radius:10px;background:#161e2a;}#season-page .sp-empty-symbol{font-size:32px;color:#b88365;display:block;margin-bottom:12px;}#season-page .sp-empty h3{font-size:20px;margin-bottom:12px;}#season-page .sp-empty p{font-size:12px;color:#a4b6cf;max-width:520px;margin:0 auto 20px;line-height:1.8;}#season-page .sp-empty .ev-button{margin:5px;}#season-page .sp-loading{text-align:left;background:linear-gradient(125deg,#2b272c,#1a2332);min-height:280px;}
#season-page .sp-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #333f51;margin-top:35px;padding-top:22px;font-size:10px;color:#96a8c1;}
@media(max-width:1000px){#season-page .sp-overview-grid{grid-template-columns:minmax(0,1fr) 280px;gap:22px;}#season-page .sp-progress{grid-template-columns:1fr;}#season-page .sp-format-stamp{font-size:54px;padding:0;}#season-page .sp-match-layout{grid-template-columns:minmax(0,1fr) 300px;}#season-page .sp-registration-layout{grid-template-columns:minmax(0,1fr) 280px;}#season-page .sp-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){#season-page :is(.sp-overview-grid,.sp-registration-layout,.sp-match-layout){grid-template-columns:minmax(0,1fr);}#season-page .sp-side-stack{grid-template-columns:repeat(2,minmax(0,1fr));}#season-page .sp-callout{grid-column:1/-1;}#season-page .sp-hero-content{padding:26px;min-height:260px;}#season-page .sp-format-stamp{display:none;}#season-page .sp-hero-facts{padding:20px 26px;}#season-page .sp-tabs button{flex:1 1 28%;padding-inline:8px;}#season-page .sp-match-layout .sp-side-stack{grid-template-columns:1fr;}#season-page .sp-progress{grid-template-columns:repeat(3,minmax(0,1fr));}#season-page .sp-progress li{display:block;}#season-page .sp-progress li>span{display:block;margin-bottom:7px;}}
@media(max-width:480px){#season-page .sp-hero-content{padding:24px 20px;}#season-page .sp-hero-content h1{font-size:34px;}#season-page .sp-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);}#season-page .sp-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:18px;}#season-page .sp-hero-facts dd{font-size:18px;}#season-page .sp-tabs{gap:3px;padding:6px;}#season-page .sp-tabs button{font-size:11px;min-height:43px;}#season-page :is(.sp-side-stack,.sp-region-grid,.sp-map-grid){grid-template-columns:minmax(0,1fr);}#season-page .sp-panel,#season-page .sp-callout{padding:20px;}#season-page .sp-progress{gap:6px;}#season-page .sp-progress li{padding:12px 8px;}#season-page .sp-progress strong{font-size:10px;}#season-page .sp-progress small{font-size:9px;}#season-page .sp-map-feature-copy{padding:22px;}#season-page .sp-map-feature h3{font-size:25px;}#season-page .sp-section-heading h2{font-size:23px;}#season-page .sp-filter-bar{gap:12px;}#season-page .sp-filter-bar label{width:100%;min-width:0;}#season-page .sp-fixture{padding:16px;}#season-page .sp-fixture-teams{gap:10px;}#season-page .sp-fixture-teams strong{font-size:13px;}#season-page .sp-fixture-teams>span{font-size:19px;}#season-page .sp-fixture-footer{flex-direction:column;align-items:stretch;}#season-page .sp-fixture-footer .ev-button{width:100%;}#season-page .sp-form-grid{grid-template-columns:minmax(0,1fr);}#season-page .sp-match-hero{padding:20px;}#season-page .sp-match-teams{gap:12px;}#season-page .sp-match-teams h2{font-size:17px;}#season-page .sp-match-teams>span{font-size:22px;}#season-page .sp-empty{padding:28px 18px;}}
