/* Shared permanent public shell. The private preview remains isolated. */
html:has(.fp117-header){scrollbar-gutter:stable;overflow-y:scroll;scroll-padding-top:114px}
html body:not(.fp-preview):has(.fp117-header){--fp-primary:#6af02e;--fp-line:#d3e1eb;--fp-radius:11px;box-sizing:border-box;position:relative;isolation:isolate;margin:0!important;padding:98px 0 64px!important;min-height:100svh;background:#071e2b!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px;line-height:1.5}
html body:not(.fp-preview):has(.fp117-header)::before{content:"";position:fixed;inset:0 0 auto auto;width:55%;height:100vh;height:100svh;background-size:cover;background-position:75% top;background-repeat:no-repeat;z-index:-1;pointer-events:none;transform:none;transition:none;animation:none}
html body:not(.fp-preview) :is(.header:has(.fp117-header),.fp117-home-shell,.fp117-auth-shell){position:fixed!important;inset:0 0 auto!important;height:98px!important;background:#071e2b!important;border-bottom:1px solid #314955;z-index:100!important;margin:0!important;padding:0!important;width:100%!important}
html body:not(.fp-preview) :is(.auth-scene,.fp-info-scene){background:transparent!important;background-image:none!important;min-height:0!important;transform:none!important;filter:none!important}
html body:not(.fp-preview) :is(.home-top,.container:has(.fp117-header))::before,html body:not(.fp-preview) :is(.home-top,.container:has(.fp117-header))::after,html body:not(.fp-preview) :is(.auth-background,.fp-info-background,.public-background){display:none!important}
html body:not(.fp-preview) .fp122-footer{position:fixed;inset:auto 0 0;height:60px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:8px 16px;margin:0;background:#071e2b;border-top:1px solid #314955;color:#bfd0da;z-index:100;font:14px/1.5 Arial,Helvetica,sans-serif}
html body:not(.fp-preview) .fp122-footer .fp-public-copyright{width:100%;max-width:none;margin:0;padding:0;text-align:center;font:inherit;color:inherit}
html body:not(.fp-preview) :is(.home-footer,.auth-footer,.fp-info-footer,.public-footer,.footer:has(.fp122-footer)){position:static!important;display:block!important;min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important}
html body:not(.fp-preview) :is(.footer-top,.footer-bottom>span,.auth-footer>nav,.footer:has(.fp122-footer) .footer_container>nav){display:none!important}
html body.fp-public #app{padding-top:0}
html body:not(.fp-preview) :is(.auth-layout,.fp-info-main,.wrap){max-width:1200px;box-sizing:border-box}
html body:not(.fp-preview) :is(.auth-layout,.fp-info-main){width:calc(100% - 32px);margin:28px auto;padding:0;gap:32px}
html body:not(.fp-preview) :is(.auth-card,.fp-info-panel){border-radius:11px;padding:24px;border:1px solid #d3e1eb;background:#eff4f7;font-size:14px;line-height:1.6;box-shadow:none}
html body:not(.fp-preview) :is(.auth-card h2,.fp-info-intro h1){font-size:27px;line-height:1.2;letter-spacing:-.5px}
html body:not(.fp-preview) :is(.fp-info-panel h2,.section-heading h2){font-size:20px;line-height:1.3}
html body:not(.fp-preview) :is(.auth-card label,.auth-card .auth-subtitle){font-size:14px}
html body:not(.fp-preview) :is(.auth-story h1,.hero-copy h1){font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-1px}
html body:not(.fp-preview) :is(.auth-card input,.auth-card select,.auth-card button){font-family:Arial,Helvetica,sans-serif}
html body:not(.fp-preview) :is(.auth-card button[type=submit],.button-primary,.btn-primary,.home-button,.card-cta,.fp117-signup){background:#6af02e!important;color:#102d1a!important;border-color:#6af02e!important;border-radius:6px}
html body:not(.fp-preview) :is(.auth-card,.fp-info-panel) a:focus-visible{outline:3px solid #2e87ce;outline-offset:3px}
html body:not(.fp-preview) :is(.auth-card input,.auth-card select){border-radius:6px;border-color:#c8dbe9;background:#f7fafc}
html body:not(.fp-preview) :is(.league-card,.step-card,.feature-card){border-radius:11px}
html body:not(.fp-preview) .auth-scene{flex:1}
html body:not(.fp-preview) .fp-info-main{flex:1;align-content:center}
html body:not(.fp-preview) #app .lp-page{font-size:14px;line-height:1.5}
html body:not(.fp-preview) #app .lp-page h1{font-size:27px;margin-bottom:16px}
html body:not(.fp-preview) #app .lp-page h2{font-size:17px}
html body:not(.fp-preview) #app .lp-page .lp-card{padding:16px;margin:12px 0;border:1px solid #d3e1eb;border-radius:7px;background:#fff}
@media(max-width:900px){html{scroll-padding-top:96px}html body:not(.fp-preview):has(.fp117-header){padding-top:80px!important}html body:not(.fp-preview) :is(.header:has(.fp117-header),.fp117-home-shell,.fp117-auth-shell){height:80px!important}}
@media(max-width:750px){html body:not(.fp-preview) :is(.auth-layout,.fp-info-main){grid-template-columns:1fr;gap:24px}html body:not(.fp-preview) :is(.auth-card,.fp-info-panel){padding:20px}html body:not(.fp-preview) .fp122-footer{font-size:12px}}
html body.home-page #main{width:calc(100% - 32px);max-width:1200px;margin:28px auto;padding:24px;background:#eff4f7;color:#142e40;border:1px solid #d3e1eb;border-radius:11px}
html body.home-page{--green:#6af02e}
html body.home-page :is(.section-heading h2,.benefits>h2,.promo h2){font-size:23px;line-height:1.25}
html body.home-page .button:not(.outline){background:#6af02e;color:#102d1a}
html body.home-page .league-photo{min-height:230px}
html body:not(.fp-preview) .footer-bottom{padding:0!important}
@media(max-width:750px){html body.home-page #main{padding:16px}}

html body:not(.fp-preview) .fp-account-background{display:none!important}
html body:not(.fp-preview) .fp-shared-selection .button{background:#6af02e!important}

html body:not(.fp-preview):has(.fp117-header) :is(h1,h2,h3,p,label,input,select,button,table,summary){font-family:Arial,Helvetica,sans-serif!important}

/* Phase122r1: natural document footer and a dedicated homepage hero. */
html body:not(.fp-preview):has(.fp117-header){display:flex!important;flex-direction:column;min-height:100svh;padding-bottom:0!important}
html body:not(.fp-preview) :is(.header:has(.fp117-header),.fp117-home-shell,.fp117-auth-shell){border:0!important;box-shadow:none!important;background:#071e2b!important}
html body:not(.fp-preview) :is(.home-footer,.auth-footer,.fp-info-footer,.public-footer,.footer:has(.fp122-footer)){height:auto!important;min-height:0!important;flex-shrink:0;margin-top:auto!important;padding:16px!important;background:transparent!important;border:0!important}
html body:not(.fp-preview) .fp122-footer{position:static!important;inset:auto;height:auto;min-height:40px;background:transparent;border:0;box-shadow:none;padding:8px 16px;flex-shrink:0}
html body:not(.fp-preview) :is(#app,.fp-account-main){flex:1 0 auto}
html body:not(.fp-preview) .auth-scene{flex:1 0 auto}
html body.home-page:has(.fp117-header){background:#eff4f7!important;color:#142e40}
html body.home-page:has(.fp117-header)::before{display:none!important}
html body.home-page .home-top{flex:none;position:relative;background-color:#071e2b!important;background-image:linear-gradient(90deg,rgba(7,30,43,.8),rgba(7,30,43,.1)),var(--hero-image,url('/assets/public/background.png'))!important;background-size:cover!important;background-position:center 38%!important;background-repeat:no-repeat!important}
html body.home-page .hero.wrap{box-sizing:border-box;display:flex;align-items:center;min-height:452px;width:calc(100% - 64px);max-width:1280px;margin:0 auto;padding:48px 0;color:#fff}
html body.home-page .hero-copy{max-width:760px}
html body.home-page .hero-copy h1{display:block!important;font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-1px;margin:14px 0 18px;color:#fff}
html body.home-page .hero-copy .eyebrow{color:#6af02e;font-weight:700;font-size:14px}
html body.home-page .hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#fff}
html body.home-page .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}
html body.home-page #main{width:100%;max-width:none;margin:0;padding:32px max(24px,calc((100% - 1280px)/2));border:0;border-radius:0;background:#eff4f7;flex:1 0 auto}
html body.home-page .featured{margin:28px 0}
html body.home-page .section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
html body.home-page .league-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;align-items:stretch;scroll-snap-type:x mandatory}
html body.home-page .league-card{min-width:0;scroll-snap-align:start;overflow:hidden;border-radius:11px}
html body.home-page .league-photo{min-height:250px}
html body.home-page .highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:32px 0;padding:32px 12px;background:#071e2b;color:white;border-radius:12px}
html body.home-page .highlights article{padding:8px 20px;text-align:center;border-right:1px solid #ffffff20}
html body.home-page .highlights article:last-child{border-right:0}
html body.home-page .highlights svg{width:36px;height:36px;color:#6af02e}
html body.home-page .benefits{padding:16px 0 32px}
html body.home-page .benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px}
html body.home-page .benefit-grid article{text-align:center}
html body.home-page .benefit-grid svg{width:48px;height:48px}
html body.home-page .promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 24px}
html body.home-page .promo{min-height:220px;display:flex;align-items:center;padding:32px;border-radius:12px;overflow:hidden}
@media(max-width:750px){
 html body.home-page .hero.wrap{width:calc(100% - 40px);min-height:400px;padding:36px 0}
 html body.home-page .home-top{background-position:62% center!important}
 html body.home-page .hero-copy>p:not(.eyebrow){font-size:16px}
 html body.home-page #main{padding:24px 16px}
 html body.home-page .section-heading{align-items:flex-start;flex-direction:column}
 html body.home-page .league-track{grid-auto-columns:calc((100% - 16px)/2)}
 html body.home-page .highlights,html body.home-page .benefit-grid{grid-template-columns:1fr 1fr;gap:24px}
 html body.home-page .highlights article{border:0;padding:8px}
 html body.home-page .promo-grid{grid-template-columns:1fr}
}
@media(max-width:480px){html body.home-page .league-track{grid-auto-columns:88%}html body.home-page .hero-copy h1{font-size:32px}html body.home-page .hero-actions{gap:16px}}
/* Stable matchday columns, readable team names and aligned filter controls. */
#app .table-scroll:has(.fixture-table){max-height:none}
#app .fixture-table{table-layout:fixed;min-width:660px}
#app .fixture-table th:nth-child(1),#app .fixture-table th:nth-child(2){width:27%}
#app .fixture-table th:nth-child(3){width:30%}
#app .fixture-table th:nth-child(4){width:16%}
#app .fixture-table td{height:48px}
#app .fixture-table .club-name{overflow-wrap:anywhere;line-height:1.4}
#app .fixture-table th{z-index:1}
#app .filters{align-items:flex-start}
#app .filters button{margin-top:22px;min-height:40px}
#app .filters :is(input,select){height:40px}
@media(max-width:620px){#app .filters{display:grid;grid-template-columns:1fr 1fr}#app .filters label:first-child{grid-column:1/-1}#app .filters label{min-width:0}#app .filters button{margin-top:0;grid-column:1/-1}}

html body.home-page .home-top{margin:0!important;padding:0!important}
html body.home-page .hero.wrap{position:relative;inset:auto;transform:none}

/* Phase122r2: shared legacy container and footer contract. */
html body:not(.fp-preview):has(.fp117-header)>.container{
 display:flex!important;flex-direction:column!important;flex:1 0 auto!important;
 width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;
 padding:0!important;margin:0!important;background:transparent!important;
 border:0!important;box-sizing:border-box!important;isolation:auto!important;
}
html body:not(.fp-preview):has(.fp117-header)>.container>.content{
 flex:1 0 auto!important;padding-top:28px!important;padding-bottom:28px!important;
 margin-top:0!important;background:transparent!important;
}
html body:not(.fp-preview):has(.fp117-header)>.container>.lp-page{margin-top:28px!important}
html body:not(.fp-preview):has(.fp117-header)::before{content:""!important;display:block!important}
html body.home-page:not(.fp-preview):has(.fp117-header)::before{display:none!important}
html body:not(.fp-preview):has(.fp117-header) :is(.home-footer,.auth-footer,.fp-info-footer,.public-footer,.footer:has(.fp122-footer)){
 position:static!important;inset:auto!important;transform:none!important;float:none!important;
 flex:0 0 auto!important;width:100%!important;max-width:none!important;
 height:auto!important;min-height:64px!important;margin: auto 0 0!important;
 padding:12px 16px!important;box-sizing:border-box!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
 color:#bfd0da!important;
}
html body:not(.fp-preview):has(.fp117-header) :is(.footer_container,.footer_content_1_section_1,.footer-bottom):has(.fp122-footer){
 display:block!important;position:static!important;float:none!important;
 width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
 padding:0!important;margin:0!important;border:0!important;background:transparent!important;
}
html body:not(.fp-preview):has(.fp117-header) .fp122-footer{
 position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;
 min-height:40px!important;height:auto!important;width:100%!important;padding:8px 0!important;
 margin:0!important;border:0!important;background:transparent!important;box-sizing:border-box!important;
}
html body:not(.fp-preview):has(.fp117-header) .fp122-footer .fp-public-copyright{
 display:block!important;width:100%!important;margin:0!important;padding:0!important;
 font:400 14px/1.6 Arial,Helvetica,sans-serif!important;text-align:center!important;
 color:#bfd0da!important;white-space:normal!important;
}
html body.home-page:not(.fp-preview):has(.fp117-header) .fp122-footer .fp-public-copyright{color:#425967!important}
html body:not(.fp-preview):has(.fp117-header) :is(.footer-top,.footer-bottom>span){display:none!important}
#app .standings-table{table-layout:fixed;min-width:760px;width:100%}
#app .standings-table th:first-child{width:7%}
#app .standings-table th:nth-child(2){width:29%}
#app .standings-table th:nth-child(n+3){width:8%}
#app .standings-table :is(th,td):nth-child(n+3){text-align:center}
#app .standings-table td{height:48px}
#app .standings-table .club-name{overflow-wrap:anywhere}

html body:not(.fp-preview):has(.fp117-header) .fp-info-scene{flex:1 0 auto!important}

/* Phase124: shared placeholder cards and matchday indicator. */
html body .home-notifications{border-left-width:2px}
html body .notice-dot{animation:fp-notice-glow 2.4s ease-in-out infinite}
@keyframes fp-notice-glow{0%,100%{opacity:.35;box-shadow:0 0 0 0 #70ef2b00}50%{opacity:1;box-shadow:0 0 9px 3px #70ef2b66}}
html body :is(.home-page,.fp-shared-selection) .league-coming-soon,html body.home-page .league-coming-soon{padding:0;gap:0;background:#fff;color:#193545;border:1px solid #d3e1eb;display:flex;flex-direction:column;align-self:stretch;overflow:hidden}
html body .league-coming-soon .league-photo{background-image:linear-gradient(0deg,#031923 0%,#03192340 80%),url('/assets/public/background.png');background-size:cover;background-position:center,75% center}
html body .league-coming-soon .league-photo h3{font-size:23px;line-height:1.25;color:#fff}
html body .league-coming-soon .coming-label{font-size:12px;line-height:1.4;color:#78ee32}
html body .league-coming-soon .league-information{flex:1;display:flex;flex-direction:column;gap:14px;background:#fff}
html body .league-coming-soon .league-information>p{font-size:14px;line-height:1.6;margin:0;color:#405d70}
html body .league-coming-soon .league-play{margin-top:auto;width:100%;opacity:1;background:#e7edf1;color:#516776;cursor:default;min-height:44px;border:1px solid #d3e1eb}
@media(prefers-reduced-motion:reduce){html body .notice-dot{animation:none;opacity:1}}

/* Phase125: one split layout and story for public auth and information pages. */
html body:not(.fp-preview) :is(.auth-layout,.fp-info-main){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:32px;align-items:center;width:calc(100% - 32px);max-width:1200px;margin:28px auto;padding:0}
html body:not(.fp-preview) :is(.auth-card,.fp-info-panel){width:100%;max-width:480px;min-width:0;box-sizing:border-box;justify-self:end;padding:24px}
html body:not(.fp-preview) .fp-side-story{min-width:0;max-width:none;color:#f4f8fb}
html body:not(.fp-preview) .fp-side-story :is(h1,h2){font-family:Arial,Helvetica,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.12;letter-spacing:-1px;margin:0}
html body:not(.fp-preview) .fp-side-story :is(h1,h2) span{color:#70ef2b}
html body:not(.fp-preview) .fp-side-story>p{font-size:16px;font-weight:400;line-height:1.6;color:#c8dce7;max-width:490px;margin:14px 0 0}
html body:not(.fp-preview) .fp-side-story>.auth-tagline{font-size:25px;font-weight:700;line-height:1.6;margin-top:22px}
html body:not(.fp-preview) .fp-info-panel>.fp-panel-title{font-size:27px;font-weight:700;line-height:1.2;letter-spacing:-.5px;color:#102838;margin:0 0 20px}
@media(max-width:1000px){html body:not(.fp-preview) :is(.auth-layout,.fp-info-main){grid-template-columns:minmax(0,1fr) minmax(0,440px)}}
@media(max-width:750px){html body:not(.fp-preview) :is(.auth-layout,.fp-info-main){grid-template-columns:minmax(0,1fr);gap:24px}html body:not(.fp-preview) :is(.auth-card,.fp-info-panel,.fp-side-story){width:100%;max-width:480px;justify-self:center}html body:not(.fp-preview) :is(.auth-card,.fp-info-panel){padding:20px}}

/* Phase125: modest homepage spacing adjustment. */
html body.home-page .home-notifications{padding:8px 14px;min-height:66px}

/* Phase126: public presentation consistency and compact ticker spacing. */
html body:not(.fp-preview) .fp-side-story>.auth-tagline{color:#70ef2b}
html body:not(.fp-preview) .auth-card .fp-direction-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;background:transparent}
html body:not(.fp-preview) .auth-card .fp-direction-icon{color:#405d70;text-decoration:none;background:transparent}
html body:not(.fp-preview) .auth-card .fp-direction-label{text-decoration:underline;text-underline-offset:3px}
html body:not(.fp-preview) .fp-contact-form select,html body:not(.fp-preview) .fp-contact-form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #c8dbe9;border-radius:6px;padding:11px 13px;background:#f7fafc;color:#112a3d;font:inherit}
html body:not(.fp-preview) .fp-contact-form select{height:48px}
html body:not(.fp-preview) .fp-contact-form textarea{min-height:130px;resize:vertical}
html body:not(.fp-preview) .fp-contact-form :is(select,textarea):focus{outline:3px solid #60d62544;border-color:#397e20}
#app .submitbar strong{display:inline-flex;align-items:center;gap:7px}
#app .submitbar .fp-lock-icon{width:17px;height:17px;flex-shrink:0}
#app .submitbar p.fp-funds-warning{color:#a33939;font-weight:600;background:#fbe9e7;border-radius:4px;padding:4px 7px}
html body.home-page #main{padding-top:20px}
html body.home-page .home-notifications{margin-top:0;min-height:74px;padding:10px 14px}
html body.home-page .featured{margin-top:20px}
@media(max-width:750px){html body.home-page #main{padding-top:16px}}

/* Align emblems independently of the amount of card text. */
html body :is(.home-page,.fp-shared-selection) .league-photo,html body.home-page .league-photo{position:relative;padding-top:115px}
html body :is(.home-page,.fp-shared-selection) .league-photo .league-symbol,html body.home-page .league-photo .league-symbol{position:absolute;top:28px;left:22px;margin:0;width:64px;height:64px}
html body .league-symbol>img,html body .league-symbol>.fp-ball-mark{width:40px;height:40px;object-fit:contain}
@media(max-width:750px){html body :is(.home-page,.fp-shared-selection) .league-photo .league-symbol,html body.home-page .league-photo .league-symbol{left:16px}}

/* Phase126r1: shared card branding and balanced ticker whitespace. */
html body #app .league-coming-soon .league-photo p.coming-label,
html body .league-coming-soon .league-photo p.coming-label{color:#78ee32!important}
html body.home-page #main{--fp-ticker-gap:20px;padding-top:var(--fp-ticker-gap)}
html body.home-page .featured{padding-top:0;margin-top:var(--fp-ticker-gap)}
html body.home-page .home-notifications{margin-top:0;margin-bottom:0}
@media(max-width:750px){html body.home-page #main{--fp-ticker-gap:16px}}

/* Closed predictions use a readable red warning across public cards and forms. */
body .league-information .round-status[data-state="Predictions closed"],body #app .prediction-status.closed,body .prediction-status.closed{color:#a33939!important;background:#fbe9e7!important;border-color:#efc5c0!important}
body .prediction-status.closed .status-dot{background:#a33939!important}
