/* OnkelOdds football identity. Locally hosted Oswald, SIL Open Font License. */
@font-face{font-family:Oswald;src:url('/fonts/oswald-variable.ttf') format('truetype');font-weight:200 700;font-style:normal;font-display:swap}
:root{--sport:Oswald,'Arial Narrow',Impact,sans-serif;--green:#426d36;--dark:#173e2c;--ink:#20352a;--muted:#64736a;--line:#dce5db;--wash:#f1f4ee}
body{background-color:var(--wash)}
h1,h2,.hero-copy h2,.match-score,.fixture-teams b,.odd-card summary strong,.overview-odds strong,.balance-card>strong,.account-metrics strong,.preview-numbers strong,.coupon-price strong,.coupon-return output,.hero-clubs>strong{font-family:var(--sport);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}
h1{font-size:clamp(32px,3.2vw,44px);line-height:1.12}h2{font-size:26px;line-height:1.25}h3{font-weight:750}.eyebrow{font-size:10px;letter-spacing:.16em}.page-heading{border-left:4px solid var(--green);padding-left:18px}.page-heading p:not(.eyebrow){margin-top:8px}
.header{border-top:4px solid var(--dark);box-shadow:0 3px 16px #173e2c05}.header nav>a:not(.button){font-weight:600;font-size:13px}.header nav>a:not(.button):hover{color:var(--green);text-decoration:none}.brand{letter-spacing:-1px}.site-search{border-radius:12px}
.panel{border-radius:12px;box-shadow:0 4px 16px #173e2c03}.sidebar{border-radius:12px;border-top:3px solid var(--green)}.side-title,.account-side-heading>strong{font-family:var(--sport);font-size:21px;letter-spacing:.02em}.sidebar summary{font-size:12px}.league-nav.selected,.account-side-link.selected{background:#e6eedf;border-left:3px solid var(--green)}
button,.button{border-radius:7px;transition:background-color .15s,box-shadow .15s}.button:focus-visible,button:focus-visible{outline-color:#91b765}.fixture-league{border-radius:5px;border-left:3px solid var(--green);background:#eaf0e5;font-size:12px;letter-spacing:.02em}.fixture-row{transition:background-color .15s}.fixture-row:hover{background:#f7f9f4}.fixture-teams b{font-size:23px;line-height:1.25;min-width:28px}.fixture-time strong{font-family:var(--sport);font-size:18px;font-weight:500}.overview-odds button{border-radius:5px;background:#edf3e7}.overview-odds strong{font-size:19px}.live-badge{border-radius:4px;letter-spacing:.07em}
.home-hero{border-radius:14px;box-shadow:0 16px 35px #173e2c16}.hero-match{background:radial-gradient(ellipse at 100% 0%,#54753c 0%,transparent 65%),linear-gradient(125deg,#103525,#234d32)}.hero-copy h2{font-size:clamp(34px,3.5vw,48px);font-weight:600;line-height:1.08;letter-spacing:.01em}.hero-versus{font-family:system-ui,sans-serif;font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.hero-kicker{font-size:10px}.hero-cta{border-radius:6px}.hero-pitch{border-radius:5px}.hero-clubs>strong{font-size:27px}.hero-clubs>span{border-radius:9px}.hero-community{background:radial-gradient(circle at 95% 10%,#f6f8df,transparent 65%),#e4edda}
.match-hero{border-radius:14px}.match-score{font-size:60px;line-height:1.15}.match-hero h2{font-size:27px}.match-tabs{border-radius:8px}.odd-card{border-radius:9px}.odd-card summary strong{font-size:34px}.odd-card summary{background:linear-gradient(125deg,#f3f7ec,#e8f0df)}.preview-grid>article{border-radius:8px;background:#f2f6ed}.preview-numbers strong{font-size:32px}.preview-numbers strong small{font-family:system-ui,sans-serif;font-size:12px}.daily-tip{border-left:4px solid var(--green);border-radius:10px}.balance-card{background:linear-gradient(120deg,#173e2c,#345c37);border-radius:12px}.account-metrics strong{font-size:32px}thead{background:#eaf0e5}th{font-size:10px;letter-spacing:.07em}
#coupon-dialog{border-radius:14px}.coupon-dialog-header h2{font-family:var(--sport);font-size:27px}#coupon-dialog .coupon-selection h2{font-family:var(--sport);font-size:24px}#coupon-dialog .coupon-price strong{font-size:32px}#coupon-dialog .coupon-return output{font-size:27px}.coupon-success h3{font-family:var(--sport);font-size:29px}
.uncle-story h1{font-family:var(--sport)}.uncle-story blockquote{border-left-color:var(--green)}.admin-sidebar .account-side-heading>strong{font-size:24px}
@media(max-width:760px){h1{font-size:32px}h2{font-size:24px}.page-heading{padding-left:12px;border-left-width:3px}.hero-copy h2{font-size:36px}.hero-slide{min-height:340px}.match-score{font-size:44px}.match-hero h2{font-size:22px}.fixture-teams b{font-size:21px}.fixture-time strong{font-size:17px}.header{border-top-width:3px}.mobile-shortcuts{border-top:2px solid #d7e3cd}.mobile-shortcuts a[aria-current="page"]{background:#e3edd8;color:#173e2c}#coupon-dialog .coupon-return output{font-size:24px}}
@media(prefers-reduced-motion:reduce){button,.button,.fixture-row{transition:none}}

.stadium-hero .score>strong{font-family:var(--sport);font-size:64px;font-weight:600;letter-spacing:.03em}.stadium-hero .team{font-family:var(--sport);font-size:28px;font-weight:500}.stadium-hero .crest{border-radius:10px}@media(max-width:760px){.stadium-hero .score>strong{font-size:42px}.stadium-hero .team{font-size:21px}}

/* Matchday edition: stadium green, lime accents and broadcast-style scores. */
:root{--lime:#d2f36b;--stadium:#102d22;--wash:#eef2eb;--line:#dce5d7}
body{background-image:radial-gradient(ellipse at 100% 15%,#dce8ce55,transparent 50%)}
.header{border-top:5px solid var(--stadium);border-bottom-color:#d5e1ce}.header nav>a:not(.button){padding:8px 0;border-bottom:2px solid transparent}.header nav>a:not(.button):hover{border-bottom-color:var(--green)}.header nav>.button{background:var(--stadium);border-color:var(--stadium);box-shadow:inset 0 -3px 0 #0002}.header nav>.button:hover{background:#254d35}
.site-search{box-shadow:0 5px 18px #173e2c06}.site-search button{background:var(--stadium);border-color:var(--stadium)}
.page-heading{border-left-color:#85ad42}.page-heading h1{letter-spacing:-.015em}.page-heading .eyebrow{color:#456a30}
.home-hero{border-radius:16px;border:1px solid #274b32;box-shadow:0 18px 40px #102d221c}.hero-match{background:radial-gradient(ellipse at 90% -30%,#a2c65b55,transparent 65%),repeating-linear-gradient(115deg,transparent 0 95px,#ffffff03 95px 190px),linear-gradient(120deg,#0c2b20,#234b31)}.hero-copy h2{font-weight:600;text-shadow:0 3px 18px #0002}.hero-match .hero-kicker{color:var(--lime)}.hero-match .hero-cta{background:var(--lime);color:#173222;border:1px solid #e0ff88;box-shadow:0 6px 18px #0002}.hero-match .hero-cta:hover{background:#e5ff9b}.hero-match .hero-pitch{background:repeating-linear-gradient(90deg,#ffffff02 0 12.5%,#ffffff07 12.5% 25%);border-color:#e0f0ce33;box-shadow:inset 0 0 55px #0001}.hero-clubs>span{box-shadow:0 12px 24px #06190e33;border-bottom:3px solid #b9d685}.hero-match .hero-clubs>strong{color:var(--lime);font-size:32px}.hero-match .hero-controls button:not(.hero-dot){background:#ffffff08;border-color:#ffffff40}.hero-match .hero-dot[aria-pressed="true"]:before{background:var(--lime)}.hero-community{background:radial-gradient(ellipse at 95% 10%,#f6ffd8,transparent 65%),linear-gradient(120deg,#e2edd5,#f0f5e7)}
.stadium-hero{background:radial-gradient(ellipse at 50% -40%,#b0d26766,transparent 70%),repeating-linear-gradient(90deg,#ffffff02 0 70px,#ffffff06 70px 140px),linear-gradient(135deg,#0d2d22,#294d31);box-shadow:0 16px 35px #102d2220;border-bottom:4px solid #8eb14e}.stadium-hero .score>strong{color:#edffd1;text-shadow:0 5px 22px #0003}.stadium-hero:before{border-color:#d6eccb25;border-radius:6px}.stadium-hero .crest{box-shadow:0 12px 25px #0003}.stadium-hero .status{background:#ffffff10}
.fixture-league{background:var(--stadium);color:#f1f8e9;border-left:4px solid var(--lime);padding:11px 14px;border-radius:6px;font-family:var(--sport);font-weight:500;font-size:16px;letter-spacing:.03em}.fixture-league a{color:inherit}.fixture-league .tiny{background:#fff;border-radius:4px;padding:2px;width:25px;height:25px;flex-basis:25px}.fixture-row{padding-top:18px;padding-bottom:18px;border-bottom-color:#e4eadf}.fixture-row:hover{background:#f4f8ee}.fixture-teams b{background:#edf3e5;border:1px solid #e1e9d8;border-radius:4px;min-width:34px;padding:2px 5px}.fixture-time strong{color:#274c31}.overview-odds button{background:#f4f8ed;border-color:#cdddbb;box-shadow:inset 0 -2px 0 #dbe8ce}.overview-odds button:hover{background:var(--stadium);color:var(--lime);border-color:var(--stadium);box-shadow:none}.live-badge{background:#bd3025;box-shadow:0 2px 5px #a6241915}
.favorite-tabs a.active,.date-links a.active{background:var(--stadium);color:#f3ffd8;box-shadow:inset 0 -3px 0 #a8cd62}.match-sections{background:#e2ebd9;border-radius:9px;border-color:#d4dfc8}.match-sections a:first-child{background:var(--stadium);color:#f2ffd6}.odd-card summary{border-left:3px solid #9bc357;background:linear-gradient(130deg,#f5f9ee,#e5efd8)}.odd-card summary strong{color:#365b28}.odd-card[open]{border-color:#8cad58;box-shadow:0 5px 18px #173e2c0b}
.sidebar{border-top:4px solid var(--stadium);box-shadow:0 6px 20px #173e2c04}.account-side-link.selected{border-left-color:#9bbe53}.daily-tip{background:linear-gradient(110deg,#e7f1d6,#fff);border-left:5px solid #82a743}.tip-brand{color:#42692d}.balance-card{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 0%,#8aae4633,transparent 65%),repeating-linear-gradient(115deg,transparent 0 75px,#ffffff03 75px 150px),linear-gradient(120deg,#102d22,#2c5033);border-left:5px solid var(--lime);box-shadow:0 10px 25px #102d2212}.balance-card>strong{color:#edffd2}.account-metrics>div,.account-metrics>article{border-top:3px solid #b9d18c}.preview-grid>article{border-top:3px solid #b9ce9d;background:linear-gradient(130deg,#f4f7ee,#ecf2e5)}
#coupon-dialog{box-shadow:0 25px 90px #061b1855;border-top:4px solid #9bc357}.coupon-dialog-header{background:#f7faef}#coupon-dialog #coupon-confirm{background:var(--stadium);border-color:var(--stadium);color:#efffd6;box-shadow:inset 0 -3px 0 #89ad46}#coupon-dialog #coupon-confirm:hover{background:#2b5035}#coupon-dialog .coupon-return{background:#e8f2d7;border:1px solid #d8e8c1}
.footer{border-top:2px solid #ceddc2}.footer>a{font-family:var(--sport);font-size:18px}.mobile-shortcuts a[aria-current="page"]{background:var(--stadium);color:#edffd1;box-shadow:inset 0 -3px 0 #a0c35a}
@media(max-width:760px){.fixture-league{font-size:14px;padding:10px 11px}.fixture-row{padding-top:14px;padding-bottom:14px}.fixture-teams b{min-width:29px;font-size:20px}.hero-match .hero-clubs>strong{font-size:26px}.header nav>a:not(.button){padding:10px}.header{border-top-width:4px}.home-hero{box-shadow:0 10px 22px #102d2214}.stadium-hero{border-bottom-width:3px}.site-search button{box-shadow:none}}
