.league-page-shell{max-width:1180px;min-height:80vh;margin:0 auto;padding:22px 24px 56px}.league-page-nav{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.league-page-nav .hero-brand{color:var(--ink)}.league-page-home-link{border:1px solid var(--panel-border);color:var(--ink);border-radius:6px;align-items:center;min-height:44px;padding:0 16px;font-weight:900;text-decoration:none;display:inline-flex}.league-page-hero{background:var(--pitch);color:var(--chalk);gap:14px;margin:0 0 26px;padding:34px;display:grid}.league-page-hero h1{font-family:var(--font-display);max-width:980px;margin:0;font-size:clamp(2.4rem,7vw,6.2rem);line-height:.92}.league-page-hero p{color:color-mix(in srgb, var(--chalk) 84%, transparent);max-width:760px;margin:0;font-size:1.1rem;line-height:1.55}.league-detail-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--turf) 25%, transparent), transparent 38%), var(--pitch)}.league-season-stats{flex-wrap:wrap;gap:10px;display:flex}.league-season-stats span,.league-card-code,.league-sync-status,.league-fixture-meta,.league-fixture-footer,.league-gameweek-tab{font-family:var(--font-data);font-variant-numeric:tabular-nums}.league-season-stats span{border:1px solid var(--border-on-dark);color:var(--chalk);text-transform:uppercase;border-radius:6px;padding:8px 10px;font-size:.78rem;font-weight:900}.league-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.league-card{background:var(--surface);border:1px solid var(--panel-border);color:var(--ink);border-radius:8px;gap:10px;min-height:190px;padding:20px;text-decoration:none;display:grid}.league-card:hover{border-color:var(--turf);box-shadow:4px 4px 0 var(--shadow-subtle);transform:translate(-1px,-1px)}.league-card-code{color:var(--away-blue);font-size:.8rem;font-weight:900}.league-card h2,.league-empty-state h2,.league-predictor-toolbar h2{font-family:var(--font-display);margin:0;line-height:1}.league-card h2{font-size:2rem}.league-card p,.league-card span:last-child,.league-empty-state p,.league-page-disclaimer p{color:var(--muted);margin:0;line-height:1.45}.league-empty-state{background:var(--surface);border:1px solid var(--panel-border);border-radius:8px;grid-column:1/-1;gap:12px;padding:24px;display:grid}.league-empty-state code{background:var(--surface-neutral);border:1px solid var(--border-subtle);color:var(--ink);border-radius:6px;padding:12px;display:block;overflow-x:auto}.league-predictor{gap:18px;display:grid}.league-predictor-toolbar{justify-content:space-between;align-items:end;gap:18px;display:flex}.league-predictor-toolbar h2{font-size:2.4rem}.league-sync-status{border:1px solid var(--panel-border);color:var(--text-muted-strong);text-align:right;text-transform:uppercase;border-radius:6px;max-width:320px;min-height:36px;padding:9px 10px;font-size:.72rem;font-weight:900}.league-sync-status[data-state=saving]{background:var(--surface-warning);border-color:var(--border-warning)}.league-sync-status[data-state=error]{background:var(--surface-danger);border-color:var(--border-danger);color:var(--error)}.league-gameweek-tabs{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.league-gameweek-tab{background:var(--surface);border:1px solid var(--panel-border);color:var(--ink);flex:none;min-width:46px;padding:0 10px}.league-gameweek-tab[aria-selected=true]{background:var(--pitch);border-color:var(--pitch);color:var(--chalk)}.league-fixture-list{gap:12px;display:grid}.league-fixture-card{background:var(--surface);border:1px solid var(--panel-border);border-radius:8px;gap:12px;padding:16px;display:grid}.league-fixture-meta,.league-fixture-footer{color:var(--text-meta);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.72rem;font-weight:900;display:flex}.league-community-forecast{border-top:1px solid var(--border-subtle);gap:10px;padding-top:12px;display:grid}.league-community-forecast-heading{color:var(--text-meta);font-family:var(--font-data);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.68rem;font-weight:900;display:flex}.league-outcome-split{gap:4px;min-height:62px;display:flex}.league-outcome-split>span{background:var(--surface-neutral);flex-direction:column;flex-basis:0;justify-content:center;align-items:flex-start;min-width:64px;padding:8px 10px;display:flex;overflow:hidden}.league-outcome-split>span:first-child{background:var(--pitch);color:var(--chalk)}.league-outcome-split>span:last-child{background:var(--away-blue);color:var(--chalk)}.league-outcome-split strong{font-family:var(--font-data);font-size:1.1rem}.league-outcome-split small{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.68rem;font-weight:800;display:block;overflow:hidden}.league-common-score{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin:0;display:flex}.league-common-score span,.league-community-empty{color:var(--text-meta);font-family:var(--font-data);text-transform:uppercase;font-size:.68rem;font-weight:900}.league-common-score strong{font-size:.86rem}.league-community-empty{border-top:1px solid var(--border-subtle);margin:0;padding-top:12px}.league-seo-shell{gap:28px;display:grid}.league-seo-shell .league-page-nav{margin-bottom:0}.league-seo-hero{background:var(--pitch);color:var(--chalk);grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);align-items:end;gap:28px;min-height:430px;padding:42px;display:grid}.league-seo-hero>div:first-child{gap:16px;display:grid}.league-seo-hero h1,.league-seo-editorial h2,.league-community-table-section h2,.league-section-intro h2,.league-conversion-band h2,.season-share-copy h2,.league-seo-faq h2{font-family:var(--font-display);letter-spacing:0;margin:0;line-height:.98}.league-seo-hero h1{max-width:980px;font-size:clamp(2.8rem,7vw,6.5rem)}.league-seo-hero>div>p:not(.eyebrow){color:color-mix(in srgb, var(--chalk) 84%, transparent);max-width:740px;margin:0;font-size:1.08rem;line-height:1.55}.league-seo-hero-actions,.league-conversion-actions{flex-wrap:wrap;gap:10px;display:flex}.league-seo-hero-actions a,.league-conversion-actions a{border:1px solid var(--border-on-dark);color:var(--chalk);border-radius:6px;align-items:center;min-height:46px;padding:0 16px;font-weight:900;text-decoration:none;display:inline-flex}.league-seo-hero-actions a:first-child,.league-conversion-actions a:first-child{background:var(--chalk);color:var(--pitch)}.league-seo-summary{border-left:1px solid var(--border-on-dark);margin:0;padding-left:24px;display:grid}.league-seo-summary div{border-bottom:1px solid var(--border-on-dark);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;display:flex}.league-seo-summary dt{color:color-mix(in srgb, var(--chalk) 70%, transparent);text-transform:uppercase;font-size:.72rem;font-weight:900}.league-seo-summary dd{font-family:var(--font-data);margin:0;font-size:1.4rem;font-weight:900}.league-seo-editorial{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(240px,.7fr);gap:18px;display:grid}.league-seo-editorial article{border-top:4px solid var(--away-blue);padding:20px 4px 0}.league-seo-editorial h2{font-size:2rem}.league-seo-editorial p,.league-section-intro p,.league-community-table-section>div>p:last-child,.league-conversion-band p,.league-seo-faq p{color:var(--muted);line-height:1.6}.league-partner-slot{background:var(--surface-warning);border:1px solid var(--border-warning);color:var(--ink);border-radius:8px;flex-direction:column;justify-content:space-between;min-height:190px;padding:18px;text-decoration:none;display:flex}.league-partner-slot>span,.league-partner-slot>small{color:var(--text-meta);font-family:var(--font-data);text-transform:uppercase;font-size:.68rem;font-weight:900}.league-partner-slot>strong{font-family:var(--font-display);font-size:1.45rem;line-height:1}.league-partner-slot>p{color:var(--muted);margin:8px 0;line-height:1.4}.league-community-table-section,.league-seo-predictor-section,.league-seo-faq{gap:22px;display:grid}.league-community-table-section h2,.league-section-intro h2,.league-conversion-band h2,.season-share-copy h2,.league-seo-faq h2{font-size:2.8rem}.league-community-table{border:1px solid var(--panel-border);margin:0;padding:0;list-style:none}.league-community-table li{background:var(--surface);border-bottom:1px solid var(--panel-border);grid-template-columns:36px minmax(180px,1fr) minmax(120px,.5fr) 90px;align-items:center;gap:12px;min-height:54px;padding:8px 14px;display:grid}.league-community-table li:last-child{border-bottom:0}.league-community-table li>span,.league-community-table li>b{font-family:var(--font-data);font-variant-numeric:tabular-nums}.league-community-table li>small{color:var(--text-meta)}.league-community-table li>b{text-align:right}.league-community-table-empty{background:var(--surface-neutral);border:1px solid var(--panel-border);margin:0;padding:22px}.league-seo-predictor-section{border-top:1px solid var(--panel-border);padding-top:28px}.league-section-intro{max-width:760px}.league-conversion-band{background:var(--away-blue);color:var(--chalk);grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr) minmax(240px,.6fr);align-items:center;gap:24px;padding:28px;display:grid}.league-conversion-band p{color:color-mix(in srgb, var(--chalk) 82%, transparent)}.league-conversion-band .league-partner-slot{background:var(--surface);color:var(--ink);min-height:170px}.season-share-section{background:var(--surface-neutral);border:1px solid var(--panel-border);grid-template-columns:minmax(240px,.65fr) minmax(340px,1fr);align-items:stretch;gap:24px;padding:28px;display:grid}.season-share-copy{align-content:center;gap:14px;display:grid}.season-share-copy label{color:var(--text-meta);text-transform:uppercase;gap:6px;font-size:.72rem;font-weight:900;display:grid}.season-share-copy button{background:var(--pitch);color:var(--chalk);min-height:46px}.season-share-copy>p:last-child{color:var(--muted);margin:0}.season-share-card{background:var(--pitch);color:var(--chalk);gap:8px;min-height:310px;padding:28px;display:grid}.season-share-card>span,.season-share-card>small,.season-share-card>p,.season-share-card>div{font-family:var(--font-data);text-transform:uppercase;font-weight:900}.season-share-card>strong{font-family:var(--font-display);align-self:end;font-size:7rem;line-height:.8}.season-share-card>div{border-top:1px solid var(--border-on-dark);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:14px;display:flex}.season-share-card>p{color:color-mix(in srgb, var(--chalk) 75%, transparent);margin:0}.league-seo-faq>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.league-seo-faq article{border-top:1px solid var(--panel-border);padding-top:18px}.league-seo-faq h3{margin:0;font-size:1.1rem}.league-related-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.league-related-links a{border:1px solid var(--panel-border);color:var(--ink);border-radius:6px;min-width:0;padding:14px;font-weight:900;text-decoration:none}@media (max-width:900px){.league-seo-hero,.league-conversion-band{grid-template-columns:1fr}.league-seo-summary{border-left:0;border-top:1px solid var(--border-on-dark);padding-left:0}.league-seo-editorial{grid-template-columns:repeat(2,minmax(0,1fr))}.league-seo-editorial .league-partner-slot{grid-column:1/-1;min-height:160px}}@media (max-width:680px){.league-seo-hero{min-height:0;padding:28px 20px}.league-seo-hero h1{font-size:3.1rem}.league-seo-editorial,.league-seo-faq>div,.league-related-links,.season-share-section{grid-template-columns:1fr}.league-community-table li{grid-template-columns:28px minmax(0,1fr) 74px;gap:8px}.league-community-table li>small{display:none}.season-share-card{min-height:270px;padding:22px}.season-share-card>strong{font-size:5.5rem}.league-outcome-split{min-height:68px}.league-outcome-split>span{min-width:0;padding:8px 6px}.league-outcome-split small{font-size:.58rem}}.league-fixture-row{grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:12px;display:grid}.league-team{min-width:0}.league-team span:last-child{min-width:0;font-weight:900}.league-fixture-row input{text-align:center}.league-fixture-row input:disabled{cursor:not-allowed;opacity:.58}.league-page-disclaimer{border-top:1px solid var(--panel-border);margin-top:28px;padding-top:18px}@media (max-width:720px){.league-page-shell{padding:18px 14px 48px}.league-page-nav{align-items:stretch;display:grid}.league-page-hero{padding:24px 18px}.league-predictor-toolbar{align-items:stretch;display:grid}.league-sync-status{text-align:left;max-width:none}}
