@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#172522;--muted:#73817b;--green:#17694c;--line:#e0e6df;--paper:#f5f7f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}.topbar,main,footer{max-width:1320px;margin:auto;padding-left:50px;padding-right:50px}.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:800;letter-spacing:-1.5px}.brand>span:not(.brand-icon):not(.brand-dot){font-weight:500}.brand-icon{display:inline-grid;place-items:center;width:38px;height:32px;color:#fff;background:var(--green);border-radius:7px;margin-right:11px;letter-spacing:0}.brand-dot{color:var(--green)}.top-label{font-size:10px;letter-spacing:1.8px;font-weight:800;display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:#42a575;border-radius:50%;display:inline-block;flex-shrink:0}.intro{position:relative;overflow:hidden;padding:66px 0 56px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--green)}h1{font-size:76px;line-height:1.09;letter-spacing:-4px;margin:23px 0}h1>span{color:var(--green)}.intro p{font-size:17px;line-height:1.9;color:#67756d}.meta{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted);margin-top:27px}.pill{border:1px solid #d8e0d5;border-radius:30px;padding:9px 13px;color:#4b6155}.intro-number{position:absolute;right:0;top:22px;font-size:290px;line-height:1.2;font-weight:800;color:#e4ebdf;letter-spacing:-30px;z-index:-1}.intro-number span{color:#c7d9bc}.schedule{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 6px 30px #213d2204}.section-head{padding:32px 30px;display:flex;align-items:center;justify-content:space-between}h2{font-size:28px;margin:7px 0 0;letter-spacing:-1px}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:11px 15px}.search>span{font-size:23px;color:var(--muted)}input{border:0;outline:0;font:inherit;font-size:13px;width:190px;background:transparent}.search:focus-within{outline:2px solid var(--green)}.filters{display:flex;gap:8px;align-items:center;padding:0 30px 23px;border-bottom:1px solid var(--line)}button{font:inherit;font-size:12px;font-weight:700;padding:10px 17px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;color:#63736a}button.active{background:var(--green);color:#fff;border-color:var(--green)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #64a47e;outline-offset:3px}.league-tag{margin-left:auto;font-size:12px;color:#758279}.day-group>h3{font-size:12px;font-weight:600;color:#7e8a81;display:flex;gap:9px;align-items:center;margin:0;background:#f8faf6;padding:15px 30px;border-bottom:1px solid var(--line)}.day-group>h3>span{color:#2f4839;font-weight:800}.day-group b{font-size:9px;letter-spacing:1px;color:var(--green);margin-left:5px}.match{padding:25px 30px;display:grid;grid-template-columns:95px minmax(0,1fr) minmax(230px,330px);gap:20px;border-bottom:1px solid #edf0eb;align-items:start}.time strong{display:block;font-size:26px;line-height:1.1;letter-spacing:-1px}.time>span{font-size:8px;font-weight:700;letter-spacing:1.4px;color:#95a095;display:block;margin-top:7px}.teams{font-size:20px;display:flex;flex-direction:column;gap:4px;position:relative;padding-left:20px;border-left:2px solid #dce7d7}.teams strong{font-weight:750}.versus{display:none}.broadcast-label{display:block;color:#8b978e;font-size:8px;font-weight:800;letter-spacing:1.5px;margin-bottom:9px}.channels{display:flex;gap:5px;flex-wrap:wrap}.channel{background:#ecf4e8;border:1px solid #dcebd6;color:#275f3c;border-radius:5px;padding:7px 10px;font-size:13px;font-weight:800}.unknown{font-size:12px;color:#8a958c}details{margin-top:9px;font-size:11px;color:#6d7d71}summary{cursor:pointer;width:fit-content}.other-channels{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;max-height:200px;overflow:auto}.other-channels span{background:#f3f5f2;padding:5px 7px;border-radius:4px}.schedule-foot{padding:18px 30px;display:flex;gap:9px;align-items:center;font-size:10px;color:#8b968d}.update-note{margin-left:auto}.notice{padding:15px 30px;background:#fff9e9;font-size:13px;color:#78602b}.empty{text-align:center;padding:65px 20px;color:#819083}.empty>span{font-size:36px}.empty h3{font-size:20px;color:#36513d}.empty p{font-size:13px}.note{display:flex;gap:14px;margin:25px 0 70px;align-items:start;color:#8b978d}.note>span{border:1px solid #b4c0b2;border-radius:50%;width:17px;text-align:center;font-size:11px;flex-shrink:0;margin-top:2px}.note p{font-size:11px;line-height:1.8;margin:0;max-width:720px}footer{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px}footer .brand{font-size:21px}footer p{font-size:11px;color:#909b91}footer>span{margin-left:auto;font-size:11px;color:#879386}footer>span a{font-weight:800;color:#416c4f}[hidden]{display:none!important}@media(min-width:1150px){.teams{flex-direction:row;align-items:center;gap:14px;font-size:19px}.versus{display:inline;color:#bdc8ba;font-size:12px}.match{padding-top:30px;padding-bottom:30px}}@media(max-width:750px){.topbar,main,footer{padding-left:20px;padding-right:20px}.topbar{height:82px}.brand{font-size:23px}.top-label{font-size:8px;letter-spacing:.8px}.brand-icon{display:none}.intro{padding:40px 0}h1{font-size:53px;letter-spacing:-2.8px}.intro-number{font-size:200px;right:-30px;top:50px;opacity:.65}.intro p{font-size:14px}.meta{font-size:10px;gap:10px}.section-head{padding:24px 18px;gap:20px;align-items:start;flex-direction:column}h2{font-size:25px}.search{width:100%}input{width:100%}.filters{padding:0 18px 20px;gap:6px}button{padding:9px 12px;font-size:11px}.league-tag{font-size:10px}.day-group>h3{padding:14px 18px}.match{padding:22px 18px;grid-template-columns:60px 1fr;gap:15px}.time strong{font-size:22px}.teams{font-size:18px}.broadcast{grid-column:2}.broadcast-label{display:none}.schedule-foot{padding:16px 18px;flex-wrap:wrap;font-size:9px}.update-note{margin-left:15px}.note{margin-bottom:40px}footer{flex-wrap:wrap;gap:10px}footer p{display:none}footer>span{font-size:10px}}

/* Broadcaster tiles keep the supplied logos readable without cropping. */
.channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.channel{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;border-radius:10px;padding:14px 10px;background:#fff;border:1px solid #e1e5df;box-shadow:0 3px 10px #17252205;text-align:center}
.channel-with-logo{background:linear-gradient(180deg,#fff,#fafbf8)}
.channel-logo{width:100%;height:56px;display:flex;align-items:center;justify-content:center}
.channel-logo img{display:block;width:100%;max-width:160px;height:56px;object-fit:contain}
.channel-name{font-size:11px;line-height:1.5;color:#52644f;font-weight:700;overflow-wrap:anywhere}
.channels .unknown{grid-column:1/-1}
@media(min-width:751px){.match{grid-template-columns:75px minmax(0,1fr) minmax(300px,380px)}.teams{flex-wrap:wrap}.broadcast-label{font-size:9px;margin-bottom:12px}}
@media(max-width:750px){.broadcast{grid-column:1/-1;margin-top:5px}.channel{padding:14px 10px}.channels{gap:10px}.channel-name{font-size:12px}}

@media(min-width:751px) and (max-width:1000px){.match{grid-template-columns:75px minmax(0,1fr)}.broadcast{grid-column:1/-1;margin-top:8px}.channels{grid-template-columns:repeat(3,minmax(0,1fr))}.teams{font-size:20px}}

.schedule-title{display:flex;align-items:center;gap:20px;min-width:0}.league-logo{display:block;width:96px;height:104px;object-fit:cover;flex-shrink:0;border-radius:10px;background:#fff}.schedule-title h2{margin-top:8px}@media(max-width:750px){.schedule-title{gap:15px}.league-logo{width:82px;height:90px}.schedule-title h2{font-size:24px}}

.schedule-symbol{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:#ecf4e8;color:#17694c;font-size:36px;flex-shrink:0}
.selection-filters{display:flex;gap:16px;align-items:end;padding:22px 30px;background:#fafbf8;border-bottom:1px solid var(--line)}
.selection-filters label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:800;color:#68796b;flex:1;min-width:0}
.selection-filters select{width:100%;min-width:0;padding:12px;border:1px solid #dce4d9;border-radius:8px;background:#fff;color:#263e30;font:inherit;font-size:13px;cursor:pointer}
.selection-filters select:focus-visible{outline:2px solid var(--green)}
#clear-filters{padding:13px 16px;white-space:nowrap}
.match-info{min-width:0}.match-league{display:flex;align-items:center;gap:8px;font-size:10px;color:#7c877d;font-weight:700;margin-bottom:12px;min-height:34px}
.match-league img{width:32px;height:34px;object-fit:cover;border-radius:4px;background:white}
.country-code{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;color:#51355e;background:#f1edf5;font-size:10px;letter-spacing:1px}
@media(max-width:750px){.selection-filters{padding:18px;flex-wrap:wrap;gap:12px}.selection-filters label{flex:1 1 calc(50% - 12px)}#clear-filters{padding:8px 12px}.schedule-symbol{width:48px;height:48px;font-size:30px}.match-league{margin-bottom:8px}.match-info .teams{padding-left:0;border:0}}

.week-navigation{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 30px 24px;border-bottom:1px solid var(--line)}
.day-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 5px;min-width:0;border-radius:10px;background:#fafbf8}
.day-button strong{font-size:13px}.day-button>span{font-size:11px;font-weight:500;white-space:nowrap;opacity:.8}
.day-button.active{box-shadow:0 4px 12px #17694c20}
.selection-filters label{flex:0 1 300px}.selection-filters #result-count{margin-left:auto;white-space:nowrap}
@media(max-width:1000px){.week-navigation{gap:6px;padding-left:18px;padding-right:18px}.day-button strong{font-size:11px}.day-button>span{font-size:10px}}
@media(max-width:600px){.week-navigation{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:16px}.day-button{padding:15px 5px}.day-button strong{font-size:12px}.day-button>span{font-size:10px}.day-button:last-child{grid-column:1/-1;flex-direction:row;gap:14px}.selection-filters label{flex:1 1 160px}.selection-filters #result-count{margin-left:0}#clear-filters{width:100%}}

/* Compact introduction keeps the daily programme close to the first screen. */
.topbar{height:82px}.intro{padding:28px 0 26px}h1{font-size:58px;line-height:1.06;letter-spacing:-3px;margin:12px 0}.intro p{font-size:15px;line-height:1.65;margin:12px 0}.meta{margin-top:15px}.intro-number{font-size:228px;top:0;line-height:1.12;letter-spacing:-23px}
.section-head{padding-top:22px;padding-bottom:22px}.schedule-symbol{width:48px;height:48px;font-size:30px}
.intro-number span{display:inline-block;animation:minute-tick 1s steps(1,end) infinite}
@keyframes minute-tick{0%,49.99%{opacity:1}50%,100%{opacity:.15}}
@media(max-width:750px){.topbar{height:66px}.intro{padding:22px 0}h1{font-size:42px;letter-spacing:-2px;margin:10px 0}.intro p{font-size:13px;line-height:1.6}.intro-number{font-size:170px;top:12px;right:-15px;letter-spacing:-18px}.meta{margin-top:13px;flex-wrap:wrap;gap:8px}.section-head{padding:18px;gap:15px}.schedule-title h2{font-size:22px}.week-navigation{padding-bottom:14px}.day-button{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.intro-number span{animation:none}}

.league-picker{padding:22px 30px 26px;background:#fafbf8;border-bottom:1px solid var(--line)}
.league-picker-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.league-picker-heading .eyebrow{font-size:10px;letter-spacing:1.6px}.league-picker-heading #result-count{margin-left:auto;font-size:11px;color:#7b897d}.league-picker-heading #clear-filters{padding:5px 0 5px 12px;border:0;background:transparent;font-size:11px;color:#6f7c70;width:auto}
.league-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.league-card{position:relative;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 12px;border-radius:12px;min-width:0;background:#fff;border:1px solid #dfe5dc;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s}
.league-card:hover{border-color:#92b29c;box-shadow:0 4px 14px #183b2510}.league-card.active{border-color:#17694c;background:#f0f6ed;color:var(--ink);box-shadow:inset 0 0 0 1px #17694c,0 4px 12px #17694c0a}
.league-card-art{width:72px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;border-radius:9px;overflow:hidden}.league-card-art img{display:block;object-fit:contain;width:72px;height:72px}.league-card-art .super-lig-art{width:64px;height:68px;object-fit:cover}.all-leagues-art{background:#e9f1e4;color:#17694c;font-size:40px;font-weight:500}.league-card-text{display:flex;flex-direction:column;gap:7px;min-width:0}.league-card-text small{font-size:8px;letter-spacing:1.2px;color:#81907e;line-height:1.5}.league-card-text strong{font-size:15px;letter-spacing:-.3px;line-height:1.3}.league-card-count{margin-left:auto;align-self:end;font-size:11px;background:#f1f4ee;color:#75836d;border-radius:5px;min-width:23px;padding:4px 6px;text-align:center}.league-card.active .league-card-count{background:#dcebd5;color:#27633e}.league-card-check{position:absolute;right:9px;top:8px;display:none;color:#17694c;font-size:12px}.league-card.active .league-card-check{display:block}
@media(max-width:1100px){.league-card{flex-wrap:wrap;gap:8px;padding:12px}.league-card-art{width:64px;height:64px}.league-card-art img{width:64px;height:64px}.league-card-text{flex:1 1 90px}.league-card-count{position:absolute;right:10px;bottom:10px}.league-card-text strong{font-size:14px;padding-right:15px}}
@media(max-width:600px){.league-picker{padding:18px}.league-cards{gap:8px}.league-card{flex-direction:column;flex-wrap:nowrap;align-items:center;text-align:center;padding:13px 5px 30px;gap:9px}.league-card-art{width:60px;height:60px}.league-card-art img{width:60px;height:60px}.league-card-art .super-lig-art{width:55px;height:60px}.league-card-text{flex:0 0 auto;gap:4px}.league-card-text small{font-size:7px;letter-spacing:.5px}.league-card-text strong{font-size:12px;padding:0}.league-card-count{bottom:6px;right:calc(50% - 12px);padding:2px 4px;font-size:10px}.league-picker-heading #clear-filters{font-size:10px;padding-left:5px}.league-picker-heading{gap:6px}}
@media(prefers-reduced-motion:reduce){.league-card{transition:none}}

.league-card{flex-direction:column;flex-wrap:nowrap;align-items:center;text-align:center;gap:8px;padding:15px 10px 22px}.league-card-art{width:100%;max-width:170px;height:68px;background:transparent}.league-card-art img{width:100%;height:68px;object-fit:contain}.league-card-art .super-lig-art{width:64px;height:68px;object-fit:cover}.league-card-art.all-leagues-art{width:68px;background:#e9f1e4}.league-card-text{flex:0 0 auto;align-items:center;gap:4px}.league-card-text strong{padding-right:0}.league-card-count{position:absolute;right:10px;bottom:10px}.match-league .premier-match-logo{width:64px;height:34px;object-fit:contain}
@media(max-width:600px){.league-card{padding:12px 6px 30px}.league-card-art{height:60px}.league-card-art img{height:60px}.league-card-art .super-lig-art{width:55px;height:60px}.league-card-count{right:calc(50% - 12px);bottom:6px}}

.day-button .day-match-count{display:inline-flex;justify-content:center;align-items:center;min-width:45px;padding:4px 8px;border-radius:6px;background:#eaf0e5;color:#95a28e;font-size:10px;line-height:1.2;font-weight:800;opacity:1;letter-spacing:0}
.day-button.active .day-match-count{background:#d8f7a0;color:#214d2d;box-shadow:0 2px 6px #092e2118}
.day-button:hover:not(.active) .day-match-count{background:#e0ead8;color:#6c8061}

.day-button.active .day-match-count{background:#8f2335;color:#fff;box-shadow:0 2px 6px #46101c25}

.league-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.match-league .champions-match-logo{object-fit:contain;width:34px;height:34px}
@media(max-width:600px){.league-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.league-card{padding-bottom:36px}.league-card-text{width:100%}.league-card-text strong{white-space:normal;overflow-wrap:break-word}.league-card-count{right:calc(50% - 12px);bottom:8px}

.league-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.match-league .europa-match-logo{width:34px;height:34px;object-fit:contain}
@media(min-width:601px) and (max-width:1000px){.league-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.league-cards{grid-template-columns:repeat(2,minmax(0,1fr));padding:2px}.league-card{width:100%;min-width:0}.league-card[data-league-button="all"]{grid-column:1/-1;flex-direction:row;text-align:left;gap:12px;padding:12px 52px 12px 12px}.league-card[data-league-button="all"] .league-card-art{width:46px;height:46px;flex:0 0 46px;font-size:30px}.league-card[data-league-button="all"] .league-card-text{align-items:flex-start;width:auto;min-width:0}.league-card[data-league-button="all"] .league-card-count{right:14px;bottom:calc(50% - 11px)}.league-card[data-league-button="all"] .league-card-check{top:5px;right:6px}.league-picker-heading{flex-wrap:wrap;row-gap:10px}.league-picker-heading #clear-filters{width:auto;margin-left:auto}}
@media(max-width:359px){.week-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.day-button:last-child{gap:10px}}

.back-to-top{position:fixed;right:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:30;width:50px;height:50px;display:grid;place-items:center;padding:0;border:1px solid #ffffff45;border-radius:16px;background:#17694c;color:#fff;box-shadow:0 6px 24px #123d3230;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}
.back-to-top:hover{background:#10543c;transform:translateY(-3px);box-shadow:0 9px 25px #123d3240}.back-to-top:focus-visible{outline:3px solid #a6c790;outline-offset:4px}
@media(max-width:600px){.back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

.back-to-top{background:#edf1eccc;color:#91a58e;border-color:#dce4d7;box-shadow:none;transition:background .18s,color .18s,border-color .18s}
.back-to-top:hover,.back-to-top:focus-visible{background:#17694c;color:#fff;border-color:#17694c;box-shadow:none;transform:none}
.privacy-links{display:flex;gap:12px;flex-basis:100%;justify-content:flex-end}.privacy-links button,.cookie-policy-link{border:0;background:none;padding:0;border-radius:0;font-size:11px;color:#73816f;text-decoration:underline;text-underline-offset:3px;font-weight:500}
footer{flex-wrap:wrap}.cookie-banner{position:fixed;z-index:50;left:24px;right:24px;bottom:24px;max-width:1080px;margin:auto;background:#fff;border:1px solid #dce4d7;border-radius:16px;padding:23px 26px;display:flex;align-items:center;gap:30px;box-shadow:0 6px 35px #17252212}.cookie-copy{flex:1}.cookie-copy .eyebrow{font-size:9px;letter-spacing:1.5px}.cookie-copy h2{font-size:20px;letter-spacing:-.5px;margin:6px 0 8px}.cookie-copy p{font-size:12px;color:#7c8878;line-height:1.8;margin:0}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{padding:12px 22px;font-size:12px;border:1px solid #17694c;color:#17694c;min-width:105px}.cookie-actions #cookie-accept{background:#17694c;color:#fff}.cookie-actions button:hover{filter:brightness(.95)}
.cookie-dialog{border:1px solid #dce4d7;border-radius:16px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:80vh;color:var(--ink);font:inherit}.cookie-dialog::backdrop{background:#17252255}.cookie-dialog-head{display:flex;align-items:start;gap:15px}.cookie-dialog-head h2{font-size:22px;line-height:1.4;margin:0;flex:1}.cookie-dialog-head button{font-size:25px;padding:0 7px;border:0}.cookie-dialog h3{font-size:14px;margin:24px 0 8px}.cookie-dialog p{font-size:13px;color:#657463;line-height:1.85}.cookie-dialog code{font-size:11px;overflow-wrap:anywhere}
body.cookie-banner-open .back-to-top{bottom:calc(var(--cookie-banner-height,180px) + 45px)}
@media(max-width:600px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:19px;gap:16px;flex-direction:column;align-items:stretch}.cookie-actions button{flex:1}.cookie-copy h2{font-size:18px}.privacy-links{justify-content:flex-start}.cookie-dialog{padding:22px}.cookie-dialog-head h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

.match-league{flex-wrap:wrap}.match-status{display:inline-flex;align-items:center;gap:6px;margin-left:auto;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap;background:#f1f3ef;color:#879181}
.status-dot{display:none;width:6px;height:6px;border-radius:50%;flex-shrink:0}.match--live .match-status{background:#fff0f0;color:#bb3040}.match--live .status-dot{display:inline-block;background:#dc3545;animation:live-dot 1.4s ease-in-out infinite}.match--live .match-info{border-radius:8px}.match--finished .teams strong{color:#929c90;font-weight:650}.match--finished .time{color:#98a093}.match--finished .match-status{color:#899481;background:#f1f4ee}.match--finished .teams{border-left-color:#e6eae3}.match--awaiting .match-status{font-weight:500;font-size:9px;background:transparent;color:#9aa28f}
@keyframes live-dot{0%,100%{opacity:1}50%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.match--live .status-dot{animation:none}}

.league-card-count{background:#f5e9ec;color:#ac7180}.league-card.active .league-card-count{background:#8f2335;color:#fff}
