/* Approved stadium concept. Loaded last so existing functional layouts remain intact. */
:root{color-scheme:dark;--green:#d9b76b;--lime:#d9b76b;--dark:#d9b76b;--ink:#f3f5ee;--muted:#a3b6a9;--line:#315343;--paper:#153a2b;--wash:#0b281e;--stadium:#123426}
body{background:#0b281e;color:var(--ink)}a{color:#e2eddf}a:hover{color:var(--lime)}h1,h2,h3{color:var(--ink)}.eyebrow,.page-heading .eyebrow{color:var(--lime)}button,.button{background:var(--lime);border-color:var(--lime);color:#17200b;border-radius:5px}button:hover,.button:hover{background:#e4c98d;color:#17200b}.secondary{background:transparent;border-color:var(--line);color:#dce9df}.secondary:hover{background:#254e38;color:#fff}input,select,textarea{background:#102f22;color:var(--ink);border-color:#48664f}input::placeholder,textarea::placeholder{color:#9bb0a1}input[type=date]{color-scheme:dark}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:3px}
.header{background:#0b281e;border-top:0;border-bottom:1px solid var(--line);box-shadow:none}.header-inner{max-width:1500px;min-height:88px;padding:20px 4%;gap:24px}.brand{font-family:var(--sport);font-size:29px;letter-spacing:-1px;color:var(--ink);text-transform:uppercase}.brand span{color:var(--lime)}.header nav{gap:20px;flex-wrap:wrap}.header nav>a:not(.button){color:#c2d0c6;font-size:12px}.header nav>a:not(.button):hover{color:var(--lime);border-bottom-color:var(--lime)}.header nav>.button{background:transparent;border-color:#596f42;color:var(--lime);box-shadow:none}.header nav>.button:hover{background:#244a31}.search-strip{background:#103023;border-color:var(--line)}.site-search{background:#153a2b;border-color:var(--line);box-shadow:none;border-radius:6px}.site-search input{color:var(--ink);background:transparent}.site-search button{background:var(--lime);color:#17200b;border-color:var(--lime)}.site-search label,.search-icon{color:#b3c5b8}
.site-layout{max-width:1500px;grid-template-columns:190px minmax(0,1fr);padding:30px 4% 45px;gap:30px}.sidebar{background:transparent;box-shadow:none;border:0;border-radius:0;padding:9px 0}.side-title{font-size:22px;color:#e4eddf}.side-title span{background:#224933;color:var(--lime)}.sidebar details{border-color:var(--line)}.sidebar summary{color:#a9bfb0;padding:8px 0}.league-nav{color:#c4d4c9}.league-nav.selected,.league-nav:hover,.account-side-link.selected{background:#254e35;color:var(--lime);border-left-color:var(--lime)}.account-side-link,.account-back{color:#d0dfd3}.account-side-heading{border-color:var(--line)}.sports-side-links{display:grid;gap:5px;margin-bottom:25px}.sports-side-links a{padding:12px;border-radius:5px;font-size:12px;color:#c7d6cb}.sports-side-links a[aria-current=page]{background:var(--lime);color:#17200b;font-weight:750}.sports-side-note{padding:20px 15px;margin-top:25px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(135deg,#294b27,#123526)}.sports-side-note strong{font:500 24px/1.2 var(--sport)}.sports-side-note p{font-size:12px;color:var(--muted)}.sports-side-note a{font-size:12px;color:var(--lime)}
.concept-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #47623d;border-radius:10px;padding:40px;min-height:350px;background:linear-gradient(90deg,#0d3021 5%,#0d3021ed 30%,#0d302144 100%),url('/images/cover.jpg') center/cover;margin-bottom:0;display:flex;align-items:center}.concept-hero:after{content:'MATCHDAY';position:absolute;z-index:-1;right:-7px;bottom:-30px;font:700 140px var(--sport);color:#d9b76b0c;pointer-events:none}.concept-hero .hero-kicker{color:var(--lime);font-size:10px;letter-spacing:2px}.concept-hero h2{font:650 clamp(44px,5vw,72px)/1.03 var(--sport);letter-spacing:-1.4px;text-transform:uppercase;margin:20px 0}.concept-hero h2 em{font-style:normal;color:var(--lime)}.concept-hero .hero-description{color:#b8cbbd;font-size:13px;line-height:1.8;margin:0 0 22px}.concept-hero .hero-cta{background:var(--lime);color:#17200b;box-shadow:none;border-radius:4px;font-size:12px;padding:14px 20px}.concept-stamp{position:absolute;right:30px;top:26px;font-size:9px;letter-spacing:2px;color:#dae8d8}.featured-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid var(--line);margin-bottom:28px;font-size:11px;color:#b9cdbc}.featured-strip>strong{font-size:10px;letter-spacing:1px;color:var(--lime)}.featured-strip a{color:#d2dfd4}.featured-strip small{display:inline;color:var(--muted);margin-left:8px}.page-heading{border:0;padding:0}.page-heading h1{font-size:30px}.page-heading .eyebrow{font-size:9px}.panel{background:#153a2b;border-color:var(--line);border-radius:7px;box-shadow:none}.home-match-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start}.home-match-grid #fixture-list{background:transparent;border:0;padding:0;min-width:0}.home-match-grid .page-heading{grid-column:1/-1}.home-rail{min-width:0}.home-rail .panel{padding:20px}.home-rail h2{font:500 23px var(--sport)}.home-rail p{font-size:12px;color:var(--muted);line-height:1.8}.home-rail .button{display:block;font-size:12px;margin-top:18px}.home-rail .eyebrow{color:var(--lime)}
.fixture-league{background:#1b4231;color:#c8d9cd;border:1px solid var(--line);border-left:3px solid var(--lime);font:500 15px var(--sport);border-radius:5px 5px 0 0;margin-top:18px}.fixture-row{background:#123426;border:1px solid var(--line);border-top:0;padding:20px 14px;gap:14px}.fixture-row:hover{background:#173e2c}.fixture-time strong{color:#b9ccbd;font-size:17px}.fixture-teams{font-size:13px}.fixture-teams b{background:#214b37;color:var(--lime);border-color:#365b42;font-size:22px}.match-link{font-size:11px;color:#adc6ac}.overview-odds button,.overview-odds a{background:#214b37;border:1px solid #3c6048;color:#edf3e7;box-shadow:none;border-radius:4px;min-width:48px}.overview-odds button span,.overview-odds a span{color:#adc1ad}.overview-odds button:hover,.overview-odds a:hover{background:var(--lime);color:#17200b;border-color:var(--lime)}.overview-odds button:hover span,.overview-odds a:hover span{color:#34451d}.overview-odds strong{font-size:19px}.favorite-tabs{border-color:var(--line)}.favorite-tabs a,.date-links a{color:#b6c9bc;background:transparent;border-radius:4px}.favorite-tabs a.active,.date-links a.active{background:#254f36;color:var(--lime);box-shadow:inset 0 -2px 0 var(--lime)}.date-toolbar{font-size:12px}.date-links{font-size:12px}.date-toolbar button{font-size:12px}.live-badge{background:#d9b76b;color:#17200b;box-shadow:none}.sports-community-banner{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 26px;background:var(--lime);color:#17200b;border-radius:6px;margin:24px 0}.sports-community-banner h2{font:550 26px var(--sport);color:#17200b;margin:0}.sports-community-banner p{font-size:12px;margin:4px 0 0}.sports-community-banner a{color:#17200b;font-weight:750;font-size:12px;white-space:nowrap}
/* Shared screens, account cards, tables and dialogs use the same green surfaces. */
.favorite-card,.search-result,.account-metrics>div,.account-metrics>article,.preview-grid>article,.league-comparison>article,.ops-summary>article,.settings-card,#account-settings .settings-card,.achievement-card,.private-league-card,.notification-item,.stat-card{background:#153a2b;border-color:var(--line);color:var(--ink);box-shadow:none}.preview-grid>article{background:#1b4231}.balance-card{background:linear-gradient(120deg,#123426,#294f32);border-left-color:var(--lime)}.balance-card>strong{color:var(--lime)}.personal-home-grid h3{color:var(--muted)}.daily-tip{background:linear-gradient(110deg,#224d2d,#153a2b);border-color:#668d39}.tip-brand{color:var(--lime)}.odd-card{background:#153a2b;border-color:var(--line)}.odd-card summary{background:#1b4231;border-left-color:#8ba943}.odd-card summary strong{color:var(--lime)}.odd-card[open]{border-color:#99bf49;box-shadow:none}.match-sections,.match-tabs{background:#173e2c;border-color:var(--line)}.match-sections a:first-child,.match-tabs .active{background:#295538;color:var(--lime)}.stadium-hero{background:linear-gradient(90deg,#0d3021f5,#0d302177),url('/images/cover.jpg') center/cover;border-color:#486638}.stadium-hero .team{color:#fff}.stadium-hero .score>strong{color:var(--lime)}thead,th{background:#1b4231;color:#cadacc}td{border-color:var(--line)}tbody tr:hover{background:#204a33}.leaderboard-own,.leaderboard-table .is-mine{background:#264d30;color:#ecffd7}.profit-positive{color:#d9b76b}.profit-negative{color:#ffb7a3}.team-form .form-W{background:#345b2d;color:#e0ffb6}.team-form .form-D{background:#375345;color:#d5e2d7}.team-form .form-L{background:#5b3933;color:#ffcec0}.notice{background:#284b2d;color:#e2f9c7;border-color:#60824b}.error{background:#55362e;color:#ffdfd5;border-color:#906453}.empty{color:var(--muted)}
#coupon-dialog{background:#153a2b;color:var(--ink);border-color:#426441;border-top-color:var(--lime)}.coupon-dialog-header{background:#123426;border-color:var(--line)}.coupon-dialog-header button{color:#d9e9d9}.coupon-dialog-header button:hover{background:#2b5035}#coupon-dialog .coupon-selection,.coupon-selection{background:#1b4231;border-color:var(--line)}#coupon-dialog .coupon-return,.coupon-return{background:#254d31;border-color:#47683c;color:#e8f5dc}#coupon-dialog #coupon-confirm{background:var(--lime);border-color:var(--lime);color:#17200b;box-shadow:none}#coupon-dialog #coupon-confirm:hover{background:#e4c98d}.coupon-return output,.coupon-price strong{color:var(--lime)}.coupon-success>span{background:#31592e;color:var(--lime)}.coupon-success p{color:var(--muted)}.footer{background:transparent;border-color:var(--line);color:var(--muted)}.footer a{color:#cfdfcc}.mobile-shortcuts{background:#103023;border-color:var(--line)}.mobile-shortcuts a{color:#bed0be}.mobile-shortcuts a[aria-current=page]{background:#244b32;color:var(--lime);box-shadow:inset 0 -3px 0 var(--lime)}
@media(max-width:1150px){.home-match-grid{grid-template-columns:minmax(0,1fr)}.home-rail{display:grid;grid-template-columns:1fr 1fr;gap:18px}.header nav{gap:14px}}@media(max-width:900px){.site-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.header-inner{flex-wrap:wrap}.concept-hero{padding:30px}.concept-hero h2{font-size:58px}}
@media(max-width:760px){.site-layout{display:block;padding:20px 18px 95px}.sidebar{position:static;max-height:none;border:1px solid var(--line);background:#123426;padding:12px;border-radius:6px;margin-bottom:20px}.sports-side-note{display:none}.sports-side-links{margin:10px 0}.header-inner{padding:16px 18px;min-height:72px}.brand{font-size:25px}.header nav{background:#123426;border-color:var(--line)}.concept-hero{padding:28px 23px;min-height:350px;background-position:60% center}.concept-hero h2{font-size:54px}.concept-hero .hero-kicker{font-size:8px;letter-spacing:1.3px}.concept-stamp{font-size:8px;right:20px;top:16px}.home-rail{grid-template-columns:1fr}.featured-strip{gap:14px;font-size:11px}.sports-community-banner{align-items:flex-start;flex-direction:column;padding:20px}.sports-community-banner h2{font-size:24px}.fixture-row{padding:15px 11px}.page-heading h1{font-size:28px}.home-match-grid{gap:18px}.site-search{border-radius:5px}.site-search input{background:transparent}.mobile-menu-toggle,.mobile-leagues-toggle{color:var(--ink)}}
/* Match the approved compact composition more closely. */
body{font-family:Arial,sans-serif;font-size:14px}.brand{gap:10px;font-size:29px;font-weight:650}.brand span{font:inherit;align-self:auto;letter-spacing:inherit}.header-inner{position:relative}.header nav>a:not(.button){font-size:13px}.header nav>.button{font-size:12px;padding:12px 17px;border-radius:6px}.header-search{max-width:1500px;margin:auto;padding:0 4%}.header-search>summary{cursor:pointer;list-style:none;color:var(--muted);font-size:11px;text-align:right;padding:0 0 10px}.header-search>summary::-webkit-details-marker{display:none}.header-search[open]>summary{color:var(--lime)}.header-search .search-strip{padding:0 0 16px;max-width:none;background:transparent}.search-strip .site-search{background:#153a2b;border-color:var(--line);border-radius:6px;box-shadow:none}.search-strip .site-search input{color:var(--ink);font-size:13px;padding:8px 0}.search-strip .site-search input::placeholder{color:#9bb0a1}.search-strip .site-search button{background:var(--lime);color:#17200b;border-radius:4px;padding:9px 17px;font-size:12px;box-shadow:none}
.sidebar .side-title{font:700 10px Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:24px 0 15px}.sidebar details{border:0;padding:3px 0}.sidebar summary{font-size:12px;padding:9px 10px}.sidebar .league-nav{padding:10px 12px}.sports-side-links{gap:4px;margin-bottom:25px}.sports-side-links a{font-size:13px;padding:14px 12px}.sports-side-links a:hover{text-decoration:none;background:#214b37}.sports-side-links a[aria-current=page]:hover{background:var(--lime)}.sports-side-label{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:700;margin:0 0 14px}.sports-side-secondary{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;display:grid;gap:10px;font-size:11px;color:var(--muted)}
.concept-hero{padding:36px 40px;min-height:350px}.concept-hero .hero-kicker{margin:0;display:flex;align-items:center;gap:9px}.concept-hero .hero-kicker:before{content:'';width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #d9b76b88}.concept-hero h2{margin:20px 0;font-size:clamp(44px,5vw,72px)}.concept-hero .hero-description{margin:0 0 12px}.concept-hero .hero-cta{padding:15px 20px;gap:35px}.featured-strip{padding:18px 0;margin-bottom:29px}.home-page .page-heading{margin:0 0 20px}.home-page .page-heading .eyebrow,.home-page .page-heading .muted{display:none}.home-page .page-heading h1{font:500 29px var(--sport);letter-spacing:0;margin:0}.home-match-grid{grid-template-columns:minmax(0,1fr) 260px}.home-rail .panel{padding:0;background:#153a2b;border-radius:7px;margin-bottom:18px;overflow:hidden}.home-rail h2{font:700 12px Arial,sans-serif;margin:0;padding:17px 18px;border-bottom:1px solid var(--line)}.home-rail .eyebrow{display:none}.home-rail p{padding:14px 18px;margin:0;font-size:12px;text-align:center}.home-rail .button{background:transparent;color:#bed3b3;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;text-align:left;padding:14px 18px;font-size:11px}.home-rail .button:hover{background:#234a32}.rail-coupon-symbol{font-size:27px;display:block;color:#9ab38c;margin-bottom:9px}.rail-note{padding:12px;background:#1c4531;color:#acc29e;text-align:center;font-size:10px}
.home-page .favorite-tabs{gap:22px;margin:0 0 16px}.home-page .favorite-tabs a{background:transparent;box-shadow:none;border-radius:0;padding:0 0 13px;color:var(--muted);font-size:12px}.home-page .favorite-tabs a.active{color:var(--lime);border-bottom:2px solid var(--lime)}.home-page .favorite-tabs a:last-child{margin-left:auto;font-size:10px}.home-page .date-toolbar{gap:8px;font-size:11px}.home-page .date-toolbar input{padding:6px 9px;font-size:11px}.home-page .date-toolbar button{padding:6px 10px;font-size:11px}.home-page .date-links{border:0;padding:0;margin:12px 0 18px}.home-page .date-links a{padding:5px 9px;font-size:11px}.home-page .date-links>span{font-size:11px}.fixture-league{font:500 11px Arial,sans-serif;letter-spacing:0;border-left:1px solid var(--line);padding:11px 14px}.fixture-league .tiny{width:18px;height:18px;flex-basis:18px}.fixture-row{grid-template-columns:45px minmax(0,1fr) 170px;gap:15px;padding:20px 14px;position:relative}.fixture-time strong{font:400 11px Arial,sans-serif}.fixture-time small{font-size:9px}.fixture-teams{font-size:12px}.fixture-teams>div{gap:9px;margin:0 0 10px;min-height:25px}.fixture-teams>div:last-child{margin-bottom:0}.fixture-teams .crest{width:22px;height:25px;flex-basis:22px}.fixture-teams b{font:700 12px Arial,sans-serif;min-width:0;padding:0;border:0;background:transparent}.overview-odds{grid-column:3;grid-row:1;gap:5px;align-self:center;margin:0}.overview-odds form,.overview-odds>a{flex:1;min-width:0}.overview-odds button,.overview-odds>a{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:9px 3px;min-width:0;min-height:51px;border-radius:4px;background:#214b37;color:#edf3e7;border-color:#3c6048;font:12px Arial,sans-serif}.overview-odds strong{font:700 12px Arial,sans-serif}.overview-odds span{font-size:9px}.fixture-row:has(.overview-odds) .match-link{grid-column:2;grid-row:1;position:absolute;bottom:-14px;right:0;font-size:9px;color:var(--muted)}.fixture-row:not(:has(.overview-odds)) .match-link{grid-column:3}.sports-community-banner{padding:20px 24px;margin-top:23px}.sports-community-banner h2{font:550 24px var(--sport)}.sports-community-banner p{font-size:11px}
@media(min-width:1500px){.concept-hero{min-height:390px}}@media(max-width:1150px){.home-match-grid{grid-template-columns:minmax(0,1fr)}.home-rail{grid-template-columns:1fr 1fr}}@media(max-width:760px){.header-inner{min-height:72px}.header-search{padding:0 18px}.header nav{gap:8px}.header-search>summary{padding-bottom:8px}.concept-hero{padding:27px 23px;min-height:365px}.concept-hero h2{font-size:56px}.concept-hero .hero-kicker{font-size:8px;letter-spacing:1px}.home-rail{grid-template-columns:1fr}.fixture-row{grid-template-columns:35px minmax(0,1fr);gap:12px;padding:17px 12px}.overview-odds{grid-column:2;grid-row:2;margin:0;justify-content:stretch}.overview-odds form,.overview-odds>a{flex:1}.fixture-row:has(.overview-odds) .match-link{grid-row:1;bottom:-7px}.fixture-row:not(:has(.overview-odds)) .match-link{grid-column:2;grid-row:2;justify-self:start}.home-page .favorite-tabs{gap:14px}.sports-community-banner{padding:20px}.sports-side-label{margin-top:8px}.sports-side-secondary{display:none}}
/* Reference typography: isolated from the previous football theme.
   The original mockup declares one normal font face; keep that same face
   selection and synthetic weights rather than switching to variable axes. */
@font-face{font-family:OnkelConcept;src:url('../fonts/oswald-variable.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--sport:OnkelConcept,'Arial Narrow',Impact,sans-serif}
body{font:14px Arial,sans-serif}
button,input,select,textarea{font-family:Arial,sans-serif}
h1,h2{font-family:var(--sport);font-weight:500;letter-spacing:normal;font-variant-numeric:normal}
h2{font:500 29px var(--sport)}
.brand{font:650 29px var(--sport);letter-spacing:-1px;gap:11px;line-height:normal}
.brand img{width:33px;height:33px;flex:0 0 33px}
.brand .brand-word{display:inline;color:#f3f5ee;font:inherit;align-self:auto;letter-spacing:inherit;white-space:nowrap}
.brand .brand-word span{display:inline;font:inherit;letter-spacing:inherit;color:var(--lime)}
.header nav>a:not(.button){font:600 14px Arial,sans-serif}
.header nav>.button{font:400 12px Arial,sans-serif}
.concept-hero .hero-kicker{font:700 10px Arial,sans-serif;letter-spacing:2px}
.concept-hero h2{font:650 clamp(44px,5vw,72px)/1.03 var(--sport);letter-spacing:-1.4px;text-shadow:none;margin:20px 0;font-variant-numeric:normal}
.concept-hero .hero-description{font:400 13px/1.7 Arial,sans-serif}
.concept-hero .hero-cta{font:700 12px Arial,sans-serif}
.concept-stamp{font:400 10px Arial,sans-serif;letter-spacing:2px}
.featured-strip{font:400 11px Arial,sans-serif}
.featured-strip>strong{font-size:10px;letter-spacing:1px}
.home-page .page-heading h1{font:500 29px var(--sport);letter-spacing:normal;margin:0}
.sports-side-label,.sidebar .side-title{font:700 10px Arial,sans-serif;letter-spacing:2px}
.sports-side-links a{font:400 14px Arial,sans-serif}
.sports-side-links a[aria-current=page]{font-weight:700}
.sports-side-note strong{font:700 22px var(--sport)}
.sports-side-note p{font:400 12px/1.7 Arial,sans-serif}
.sports-side-note .eyebrow{font:700 10px Arial,sans-serif;letter-spacing:2px}
.home-rail h2{font:700 12px Arial,sans-serif;letter-spacing:normal}
.home-rail p{font:400 12px/1.8 Arial,sans-serif}
.fixture-league{font:400 11px Arial,sans-serif;letter-spacing:normal}
.fixture-teams,.fixture-teams .team{font:400 12px Arial,sans-serif}
.fixture-teams b{font:700 12px Arial,sans-serif;letter-spacing:normal;font-variant-numeric:normal}
.fixture-time strong{font:400 11px Arial,sans-serif}
.overview-odds button,.overview-odds>a{font:400 12px Arial,sans-serif}
.overview-odds strong{font:700 12px Arial,sans-serif;letter-spacing:normal;font-variant-numeric:normal}
.overview-odds span{font:400 9px Arial,sans-serif}
.sports-community-banner h2{font:550 24px var(--sport);letter-spacing:normal}
.sports-community-banner p{font:400 11px Arial,sans-serif}
@media(max-width:760px){.brand{font-size:24px}.header nav>a:not(.button){font-size:13px}.concept-hero h2{font-size:56px}.concept-hero .hero-kicker{font-size:8px;letter-spacing:1px}.concept-stamp{font-size:8px}.home-page .page-heading h1{font-size:29px}}
/* Calm green hover states; lime remains an accent rather than a hover fill. */
a:hover{color:#e7f2dc}
button:hover,.button:hover{background:#365b42;border-color:#6e8f60;color:#f3f5ee}
.secondary:hover,.header nav>.button:hover{background:#294d38;border-color:#6e8f60;color:#f3f5ee}
.header nav>a:not(.button):hover{color:#e7f2dc;border-bottom-color:#81a477}
.sports-side-links a:hover,.sports-side-links a[aria-current=page]:hover{background:#365b42;color:#f3f5ee}
.league-nav:hover,.account-side-link:hover{background:#294d38;color:#e7f2dc}
.overview-odds button:hover,.overview-odds a:hover{background:#365b42;border-color:#6e8f60;color:#f3f5ee;box-shadow:none}
.overview-odds button:hover span,.overview-odds a:hover span{color:#c0d2b9}
.concept-hero .hero-cta:hover{background:#365b42;color:#f3f5ee}
.search-strip .site-search button:hover{background:#365b42;border-color:#6e8f60;color:#f3f5ee}
#coupon-dialog #coupon-confirm:hover{background:#365b42;border-color:#6e8f60;color:#f3f5ee}
.sports-community-banner a:hover{color:#294d38;text-decoration:underline}
/* Notification cards are rendered dynamically and must use dark surfaces too. */
.bet-notifications .bet-notification{background:#153a2b;color:#f3f5ee;border:1px solid #315343;border-left:4px solid #81a477;border-radius:7px;padding:18px 20px}
.bet-notifications .bet-notification.won{background:#21452e;border-left-color:#d9b76b}
.bet-notifications .bet-notification p{color:#c0d2c4;line-height:1.6}
.bet-notifications .bet-notification a{color:#d9e9d3}
.bet-notifications .bet-notification button{background:transparent;color:#d9e9d3;border-color:#648160}
.bet-notifications .bet-notification button:hover{background:#365b42;color:#fff;border-color:#81a477}
/* Match details: override the more specific legacy light cards. */
.match-odds .odd-card{background:#153a2b;border-color:#426441;box-shadow:none}
.match-odds .odd-card summary{background:#214532;color:#f3f5ee;border-left-color:#81a477}
.match-odds .odd-card summary span{color:#f3f5ee}
.match-odds .odd-card summary strong{color:#d9b76b}
.match-odds .odd-card summary:hover{background:#365b42;color:#fff}
.match-odds .odd-card[open]{border-color:#81a477;box-shadow:none}
.match-odds .odd-body{background:#153a2b;color:#f3f5ee}
.match-timeline .event-card{background:#214532;border-color:#446649;color:#f3f5ee}
.match-timeline .away-event .event-card{background:#293b43;border-color:#536774;color:#f3f5ee}
.match-timeline .neutral-event .event-card{background:#1b4231;border-color:#426441}
.event-card>b,.event-card>small{color:#bfd0c4}
.event-card>span{color:#f3f5ee}
.event-card .event-minute{color:#d9b76b}
.match-timeline .event-marker{background:#163526;border-color:#6e8f60;color:#dfedd8}
.match-timeline .event-marker.goal{color:#d9b76b}
.match-timeline .event-marker.substitution{color:#c1dfa9}
.match-timeline .event-marker.yellow-card{color:#f3d16c}
.match-timeline .event-marker.red-card{color:#ff9989}
.match-detail .timeline li>strong{background:#214532;color:#d9b76b}
.graphic-team-key .home-value,.graphic-stat-values .home-value{color:#c1dfa9}
.graphic-team-key .away-value,.graphic-stat-values .away-value{color:#c8bcf2}
.stats-overview>article,.stats-filter{background:#153a2b;border-color:#315343}
.stats-secondary{background:#214532}
.stats-breakdown>summary:hover,.personal-stats-table tbody tr:hover{background:#294d38}
/* Favorites: selected controls remain readable on the dark account pages. */
.favorite-card small{color:#b8ccbd}
.favorite-form button,.favorite-form button[aria-pressed="true"]{background:#214532;color:#e3eedb;border-color:#648160}
.favorite-form button:hover,.favorite-form button[aria-pressed="true"]:hover{background:#365b42;color:#fff;border-color:#81a477}
.favorite-form button:focus-visible{background:#294d38;color:#fff;border-color:#81a477;outline:2px solid #d9b76b;outline-offset:3px}
/* One page scrollbar: let long league menus take their natural height. */
.site-layout>.sidebar{position:static;top:auto;max-height:none;height:auto;align-self:start;overflow:visible}
.sidebar .sports-side-links{gap:3px;margin-bottom:20px}
.sidebar .sports-side-links a{padding:11px 12px;font-size:13px}
.sidebar .side-title{margin-top:20px;margin-bottom:10px}
.sidebar details{padding:0}
.sidebar summary{padding:9px 10px;font-size:12px;line-height:1.35;border-radius:5px}
.sidebar summary:hover{background:#214b37;color:#e7f2dc}
.sidebar details[open]>summary{color:#e0ecd8;background:#1b4231}
.sidebar .league-nav{padding:9px 12px 9px 20px;font-size:12px;line-height:1.4}
.sidebar .account-side-link{padding-top:11px;padding-bottom:11px}
@media(max-width:760px){.site-layout>.sidebar{position:static;max-height:none;overflow:visible}}
/* Mobile navigation: beat legacy ID selectors, including open/hover states. */
@media(max-width:760px){
.header #main-navigation{background:#123426;border-color:#315343;box-shadow:none;border-radius:8px}
.header #main-navigation a{background:#1b4231;color:#e3eedb;border-color:#426441;border-radius:5px}
.header #main-navigation a::after{color:#b8d0ac}
.header #main-navigation a:hover,.header #main-navigation a:focus-visible{background:#365b42;color:#fff;border-color:#81a477}
.header #main-navigation a.button{background:#264b32;border-color:#648160;color:#e3eedb}
.header #main-navigation a.button:hover{background:#365b42;color:#fff;border-color:#81a477}
.header .mobile-menu-toggle,.header .mobile-menu-toggle[aria-expanded="true"]{background:#214532;color:#e3eedb;border-color:#648160;border-radius:5px}
.header .mobile-menu-toggle:hover{background:#365b42;color:#fff;border-color:#81a477}
.sidebar .mobile-leagues-toggle,.sidebar .mobile-leagues-toggle[aria-expanded="true"]{background:transparent;color:#e3eedb;border-color:#426441}
.sidebar .mobile-leagues-toggle:hover{background:#365b42;color:#fff}
}
/* Search is permanently available on desktop and mobile. */
.header-search{padding-top:0;padding-bottom:4px}
.header-search .search-strip{padding-bottom:16px}
@media(max-width:760px){.header-search{padding-top:0}.header-search .search-strip{padding-bottom:14px}}
/* Original artwork from the supplied PDF, served as resolution-independent SVG. */
.brand img.brand-logo{display:block;width:220px;height:auto;aspect-ratio:50/9;flex:0 0 auto;object-fit:contain}
.footer .footer-logo{display:block;width:165px;height:auto;aspect-ratio:50/9}
@media(max-width:760px){.brand img.brand-logo{width:190px;max-width:calc(100vw - 150px)}}
/* Dynamic stadium carousel, using the existing match data and hero controls. */
.dynamic-stadium-hero{margin:0;border:1px solid #47623d;border-radius:10px;background:#0d3021;box-shadow:none}
.dynamic-stadium-hero .concept-hero{border:0;border-radius:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,1fr);padding:36px 40px 85px;min-height:390px;background:linear-gradient(90deg,#0d3021f5 5%,#0d3021e6 30%,#0d302155 100%),url('../images/cover.jpg') center/cover}
.dynamic-stadium-hero .hero-match h2{font-size:clamp(32px,3.8vw,54px);overflow-wrap:anywhere}
.dynamic-stadium-hero .hero-versus{font:500 11px Arial,sans-serif;color:#b8cbbd;letter-spacing:2px}
.dynamic-stadium-hero .hero-pitch{background:#10302399;border-color:#65805b55;box-shadow:none}
.dynamic-stadium-hero .hero-clubs>span{background:#e9efdf;color:#173e2c;box-shadow:none;border-bottom-color:#81a477}
.dynamic-stadium-hero .hero-clubs>strong{color:#d9b76b;font:600 32px var(--sport)}
.dynamic-stadium-hero .hero-community{grid-template-columns:1fr;color:#f3f5ee}
.dynamic-stadium-hero .hero-community .hero-kicker{color:#d9b76b}
.dynamic-stadium-hero .hero-community .hero-description{color:#b8cbbd}
.dynamic-stadium-hero .hero-community .hero-cta{background:#d9b76b;color:#17200b}
.dynamic-stadium-hero .hero-cta:hover,.dynamic-stadium-hero .hero-controls button:not(.hero-dot):hover{background:#365b42;color:#fff;border-color:#81a477;filter:none}
.dynamic-stadium-hero .hero-controls{border-top-color:#ffffff26}
.dynamic-stadium-hero .hero-controls button:not(.hero-dot){background:#214532;border-color:#648160;color:#e3eedb;min-width:36px;min-height:36px}
.dynamic-stadium-hero .hero-dot[aria-pressed=true]:before{background:#d9b76b}
.dynamic-stadium-hero .hero-counter{color:#b8cbbd}
@media(max-width:900px){.dynamic-stadium-hero .concept-hero{grid-template-columns:1fr;padding:30px 24px 85px}.dynamic-stadium-hero .hero-pitch{display:none}.dynamic-stadium-hero .hero-match h2{font-size:40px}}
@media(max-width:760px){.dynamic-stadium-hero .concept-hero{padding:28px 23px 85px;min-height:390px}.dynamic-stadium-hero .hero-match h2{font-size:36px}.dynamic-stadium-hero .hero-community h2{font-size:56px}}
/* Empty match sections must remain readable before data arrives. */
.match-detail .empty{background:#123426;color:#bfd0c4;border:1px dashed #48664f;border-radius:7px}
.player-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.player-stat-grid>div{background:#123426;border:1px solid #315343;border-radius:6px;padding:18px}
.player-stat-grid dt{font:12px Arial,sans-serif;color:#bfd0c4}
.player-stat-grid dd{font:600 34px var(--sport);color:#d9b76b;margin:10px 0 0}
.player-stat-note{font-size:11px;line-height:1.7;margin-bottom:0}
@media(max-width:600px){.player-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-stat-grid>div{padding:14px}}
/* Compact live clock, replacing the badge and redundant kickoff/status lines. */
.fixture-live{display:inline-flex;align-items:center;gap:4px;color:#d9b76b;font:700 11px/1.4 Arial,sans-serif;max-width:100%;overflow-wrap:anywhere}
.fixture-live-dot{display:inline-block;width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor}
.fixture-row{grid-template-columns:58px minmax(0,1fr) 170px}
@media(max-width:760px){.fixture-row{grid-template-columns:52px minmax(0,1fr)}}
/* Compatibility with fixture HTML from older uploaded PHP templates. */
.fixture-time:has(.live-badge)>strong{display:none}
.fixture-time .fixture-status:has(.live-badge){font-size:0;line-height:0;margin:0;display:block}
.fixture-time .fixture-status .live-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:#d9b76b;font-size:0;line-height:1.4;letter-spacing:0;white-space:normal}
.fixture-time .live-badge .live-dot{width:5px;height:5px;flex:0 0 5px;animation:none}
.fixture-time .live-badge .live-minute{font:700 11px/1.4 Arial,sans-serif;color:inherit}
.fixture-time .live-badge:not(:has(.live-minute)){font:700 11px/1.4 Arial,sans-serif}
/* Each carousel slide has its own background; it follows the active slide. */
.dynamic-stadium-hero .hero-slide:nth-child(3n+1){background-image:linear-gradient(90deg,#0d3021f5 5%,#0d3021e6 30%,#0d302155 100%),url('../images/cover.jpg')}
.dynamic-stadium-hero .hero-slide:nth-child(3n+2){background-image:linear-gradient(90deg,#0d3021f5 5%,#0d3021cf 35%,#0d302166 100%),url('../images/800px-4.jpg')}
.dynamic-stadium-hero .hero-slide:nth-child(3n+3){background-image:linear-gradient(90deg,#0d3021f5 5%,#0d3021cf 35%,#0d302166 100%),url('../images/soccerfield.jpg')}
.dynamic-stadium-hero .hero-slide.hero-community{background-image:linear-gradient(90deg,#0d3021f5 5%,#0d3021cf 35%,#0d302166 100%),url('../images/soccerfield.jpg')}
/* Premium stadium photography, with a different scene on each slide. */
.dynamic-stadium-hero .hero-slide:nth-child(3n+1){background-image:linear-gradient(90deg,#0b281e77,#0b281e22 65%,#0b281e11),url('../images/hero/stadium-night-v1.webp')}
.dynamic-stadium-hero .hero-slide:nth-child(3n+2){background-image:linear-gradient(90deg,#0b281e66,#0b281e22 65%,#0b281e11),url('../images/hero/stadium-tunnel-v1.webp')}
.dynamic-stadium-hero .hero-slide:nth-child(3n+3){background-image:linear-gradient(90deg,#0b281e88,#0b281e22 65%,#0b281e11),url('../images/hero/stadium-twilight-v1.webp')}
.dynamic-stadium-hero .hero-slide.hero-community{background-image:linear-gradient(90deg,#0b281e77,#0b281e22 65%,#0b281e11),url('../images/hero/stadium-twilight-v1.webp')}
/* Personal bet markers, supplied only for the signed-in account. */
.fixture-played{grid-column:2;grid-row:2;justify-self:start;display:inline-flex;align-items:center;border:1px solid #7c704b;background:#293e2b;color:#e1c78e;border-radius:4px;padding:4px 7px;font:700 10px/1.4 Arial,sans-serif;margin-top:2px}
.match-played{font-size:13px;background:#293e2b;border-color:#7c704b;color:#e1c78e}
.match-played a{color:#f3e4c5;text-decoration:underline}
@media(max-width:760px){.fixture-row:has(.fixture-played) .overview-odds{grid-row:3}.fixture-row:has(.fixture-played):not(:has(.overview-odds)) .match-link{grid-row:3}}
/* Mobile bottom shortcuts: green buttons with white labels. */
.mobile-shortcuts a{background:#214532;color:#fff;border:1px solid #315343;border-radius:6px;box-shadow:none}
.mobile-shortcuts a[aria-current="page"]{background:#365b42;color:#fff;border-color:#81a477;box-shadow:none}
.mobile-shortcuts a:hover,.mobile-shortcuts a:focus-visible{background:#365b42;color:#fff;border-color:#81a477;box-shadow:none}
.mobile-shortcuts a:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Bottom navigation: transparent links, subtle green selected state. */
.mobile-shortcuts a{background:transparent;color:#fff;border:0;box-shadow:none}
.mobile-shortcuts a[aria-current="page"]{background:#365b42;color:#fff;border:0;box-shadow:none}
.mobile-shortcuts a:hover,.mobile-shortcuts a:focus-visible{background:#294d38;color:#fff;border:0;box-shadow:none}
.mobile-shortcuts a[aria-current="page"]:hover,.mobile-shortcuts a[aria-current="page"]:focus-visible{background:#365b42;color:#fff}
/* Space between mobile navigation highlights. */
@media(max-width:760px){.mobile-shortcuts{gap:8px;padding-left:12px;padding-right:12px}.mobile-shortcuts a{min-width:0}}
/* Remove decorative top/bottom accent strokes; use quiet green surfaces instead. */
.favorite-tabs a.active,.date-links a.active{box-shadow:none}
.home-page .favorite-tabs a.active{border-bottom-color:transparent;box-shadow:none}
.header nav>a:not(.button),.header nav>a:not(.button):hover{border-bottom-color:transparent}
.stadium-hero{border-bottom:0}
.account-metrics>div,.account-metrics>article,.preview-grid>article{border-top:1px solid var(--line)}
#coupon-dialog{border-top:1px solid #426441}
.hero-clubs>span,.dynamic-stadium-hero .hero-clubs>span{border-bottom:0}
