:root{color-scheme:dark;--bg:#190e23;--panel:#281734;--line:#473053;--text:#fff9f2;--muted:#d4c3dc;--lime:#febd09}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.wrap{max-width:1340px;margin-inline:auto;padding-inline:clamp(16px,3vw,48px)}
.masthead{background:var(--nav,#37025a);border-bottom:1px solid var(--line)}
.masthead-inner{display:flex;align-items:center;min-height:58px;gap:clamp(14px,2vw,28px)}
.brand,.footer-brand{display:block;min-width:0}
.brand{width:clamp(176px,20vw,224px)}
.brand img,.footer-brand img{display:block;width:100%;height:auto}
.profile-topbar .brand,.admin-topbar .brand{width:176px}
.profile-topbar .brand img,.admin-topbar .brand img{background:#fff;border-radius:5px}
i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-right:8px}
.navigation{flex:1;min-width:0}
.links{display:flex;position:relative;gap:clamp(9px,1vw,14px);flex-wrap:wrap}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:7px 12px;border-radius:5px;font:inherit;font-weight:750;cursor:pointer}
@media(max-width:1300px){
  .masthead-inner{flex-wrap:wrap;justify-content:space-between;gap:0}
  .masthead-inner>.brand{padding-block:6px}
  .menu-toggle:not([hidden]){display:block}
  .navigation{flex-basis:100%;border-top:1px solid var(--line)}
  .navigation.mobile-collapse:not(.mobile-open){display:none}
}
.links>a,.league-menu summary{display:block;padding:15px 0 13px;border-bottom:2px solid transparent;color:var(--muted);font-size:.9rem;font-weight:700;white-space:nowrap}
.links a:hover,.links a[aria-current],.league-menu summary:hover,.league-menu[open] summary,.league-menu[data-active] summary{color:var(--lime);border-color:var(--lime)}
.league-menu{position:relative}
.league-menu summary{list-style:none;cursor:pointer}
.league-menu summary::-webkit-details-marker{display:none}
.league-menu summary::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;vertical-align:3px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg)}
.league-menu[open] summary::after{transform:rotate(225deg);vertical-align:0}
.league-menu summary:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.league-menu ul{position:absolute;z-index:5;inset:100% auto auto 0;min-width:170px;margin:0;padding:5px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #0008}
.league-menu li a{display:block;padding:10px 12px;border-radius:4px;font-size:.9rem;font-weight:700}
.league-menu li a:hover,.league-menu li a[aria-current]{background:var(--line)}
.league-menu ul.third-league-submenu{position:static;min-width:0;border:0;border-radius:0;box-shadow:none;margin:0 0 5px 15px;padding:0 0 0 8px;border-left:2px solid var(--lime);background:transparent}
.league-menu .third-league-submenu a{font-size:.78rem;padding:8px}
@media(max-width:600px){.links{gap:0 12px}.links>a,.league-menu summary{font-size:.78rem;padding:12px 0}.league-menu{position:static}.league-menu ul{inset:100% 16px auto auto}}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:32px 0 15px}
.section-heading h2{margin:0;border-left:4px solid var(--lime);padding-left:12px;font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.055em;line-height:1.1}
.section-heading a{color:var(--lime);font-size:.8rem;font-weight:750;text-align:right}
.page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin:32px 0 16px}
.page-title{min-width:0;max-width:100%;margin:0 0 16px;border-left:4px solid var(--lime);padding-left:12px;font-family:inherit;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700;letter-spacing:-.04em;line-height:1.15;overflow-wrap:anywhere}
.page-heading .page-title{flex:1 1 240px;margin:0}
.page-heading-actions{display:flex;flex-wrap:wrap;gap:8px 16px}
.page-heading a{color:var(--nav,var(--lime));font-size:.8rem;font-weight:750;line-height:1.5}
.page-heading a:hover{text-decoration:underline;text-underline-offset:3px}
.public-site .page-title{color:var(--nav)}
@media(max-width:600px){.page-heading{gap:12px}.page-heading .page-title{flex-basis:100%}}
.front{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,27%);gap:14px}
.highlights{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:12px}
.secondary{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-width:0}
.story{min-width:0;background:var(--panel);border-radius:9px;overflow:hidden}
.story a{display:block;height:100%}
.story a:hover h3,.latest a:hover{color:var(--lime)}
.story a:focus-visible{outline-offset:-3px}
.picture{aspect-ratio:16/9;background:linear-gradient(135deg,#263848,#151d27)}
.picture img{width:100%;height:100%;display:block;object-fit:cover}
.story-text{padding:14px 16px 18px}
.story time{font-size:.75rem;color:var(--lime);font-weight:700}
.story h3{margin:5px 0 0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.24;letter-spacing:-.025em;overflow-wrap:anywhere}
.lead,.small{position:relative;isolation:isolate}
.lead{min-height:410px}
.lead .picture,.small .picture{position:absolute;inset:0;aspect-ratio:auto;z-index:-2}
.lead::after,.small::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#190e2300 14%,#0b1018ed 88%);pointer-events:none}
.lead a,.small a{display:flex;align-items:end}
.lead .story-text{padding:clamp(16px,2.4vw,32px)}
.lead h3{font-size:clamp(1.65rem,3.25vw,3rem);line-height:1.06;letter-spacing:-.055em}
.small .story-text{padding:12px}
.small h3{font-size:clamp(.98rem,1.45vw,1.2rem)}
.latest{background:var(--panel);border-radius:9px;padding:16px 17px;min-width:0}
.latest h2{font-size:1.05rem;margin:0 0 5px;letter-spacing:-.02em}
.latest ol{padding:0;margin:0;list-style:none}
.latest li a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:7px;border-bottom:1px solid var(--line);padding:9px 0;font-size:.84rem;font-weight:650;line-height:1.25}
.latest time{font-size:.72rem;color:var(--lime);font-variant-numeric:tabular-nums;margin-top:2px}
.latest-more{display:flex;justify-content:space-between;margin-top:10px;color:var(--lime);font-size:.8rem;font-weight:750}
.links .results-link{color:var(--lime)}
.matches{margin-top:36px}
.matches:not(.score-strip){margin-top:0}
.match-date,.match-source{color:var(--muted);font-size:.83rem;margin:10px 0}
.match-source a{color:var(--lime);text-decoration:underline}
.competition{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.competition+.competition{margin-top:14px}
.competition-name{margin:0;padding:12px 16px;background:#222b36;font-weight:750}
.competition-name span{color:var(--muted);font-weight:500;font-size:.82rem}
.fixture-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:8px}
.fixture{display:grid;grid-template-columns:minmax(0,1fr) minmax(68px,auto) minmax(0,1fr);grid-template-areas:"home center away";align-items:center;gap:8px;min-height:108px;padding:12px 8px;background:linear-gradient(120deg,#25303c,var(--bg) 47%,#242d39);border:1px solid var(--line);border-radius:8px;text-align:center}
.fixture-team{display:grid;justify-items:center;gap:6px;font-size:.81rem;font-weight:750;line-height:1.2;overflow-wrap:anywhere}
.fixture-home{grid-area:home}
.fixture-away{grid-area:away}
.fixture-team img{object-fit:contain;filter:drop-shadow(0 2px 4px #0009)}
.fixture-linked{position:relative}
.fixture-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.fixture-link:focus-visible{outline-offset:-3px}
.fixture-linked:hover{border-color:var(--nav,#37025a)}
.fixture-center{grid-area:center;display:grid;justify-items:center;gap:2px}
.fixture-status{color:var(--muted);font-size:.64rem;font-weight:750;text-transform:uppercase;letter-spacing:.065em}
.fixture [hidden]{display:none!important}
.fixture.is-live .fixture-status{display:inline-flex;align-items:center;gap:5px;color:#ae1838}
.fixture.is-live .fixture-status::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:currentColor;animation:fixture-pulse 1.6s ease-in-out infinite}
.fixture.is-live{border-color:#d48496}
.match-minute{font-size:.75rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--muted)}
.score-strip .match-minute{font-size:.65rem;color:#ae1838}
@keyframes fixture-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #ae183826}50%{opacity:.35;box-shadow:0 0 0 4px #ae183800}}
@media(prefers-reduced-motion:reduce){.fixture.is-live .fixture-status::before{animation:none}}
.fixture time,.fixture strong{color:var(--lime);font-size:clamp(1.15rem,3vw,1.55rem);font-weight:850;font-variant-numeric:tabular-nums}
@media(max-width:650px){.fixture-list{grid-template-columns:1fr}}
.score-strip{margin:0;background:#f2f3f4;color:#15181d}
.strip-track{display:flex;align-items:stretch;justify-content:flex-start;gap:5px;overflow-x:auto;padding:5px clamp(12px,2vw,24px) 8px;scrollbar-width:thin;scrollbar-color:#b5bbc3 transparent}
.score-strip .strip-track>:first-child{margin-inline-start:auto}
.score-strip .strip-track>:last-child{margin-inline-end:auto}
.strip-track:focus-visible{outline:2px solid #37025a;outline-offset:-2px}
.strip-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch}
.strip-controls .strip-track{grid-column:2;min-width:0;overscroll-behavior-x:contain}
.strip-controls button{border:0;border-inline:1px solid #e4dce9;background:#fff;color:#37025a;font-size:1.5rem;width:32px;cursor:pointer}
.strip-controls button:disabled{color:#777;cursor:default}
.strip-controls button:focus-visible{outline:2px solid #37025a;outline-offset:-3px}
.strip-date{display:flex;flex:0 0 60px;flex-direction:column;align-items:center;gap:5px;padding:7px 3px 5px;border-radius:4px;background:#e4e6e8;text-align:center;font-size:.67rem;font-weight:800;line-height:1.05}
.strip-date time{font-size:.78rem;font-variant-numeric:tabular-nums}
.strip-all{margin-top:auto;color:#37025a;font-size:.65rem;text-decoration:underline}
.score-strip .competition{flex:none;background:transparent;border:0;border-radius:0;overflow:visible;margin:0}
.score-strip .competition-name{display:none}
.score-strip .fixture-list{display:flex;gap:5px;padding:0}
.score-strip .fixture{width:170px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"center" "home" "away" "league";gap:0;min-height:0;align-items:center;padding:5px 8px 0;background:#fff;border:1px solid #d3d7dd;border-radius:4px;text-align:left}
.score-strip .fixture-center{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:4px;min-height:17px}
.score-strip .fixture-status{color:#555d67;font-size:.56rem;letter-spacing:0}
.score-strip .fixture time,.score-strip .fixture strong{color:#15181d;font-size:.72rem;font-weight:850}
.score-strip .fixture-team{display:flex;justify-items:initial;align-items:center;gap:6px;min-height:21px;font-size:.74rem;font-weight:650}
.score-strip .fixture-team img{width:16px;height:16px;flex:none;filter:none}
.score-strip .fixture-team span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score-strip .fixture-team strong{margin-left:auto}
.strip-league{grid-area:league;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:4px -8px 0;padding:4px 6px;border-top:1px solid #e2e5e8;text-align:center;font-size:.61rem;font-weight:700}
.category{margin-top:36px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
footer{border-top:1px solid var(--line);margin-top:48px;padding:24px 0;color:var(--muted)}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer-brand{width:156px}
.banner-slot{display:grid;justify-items:center;gap:5px;margin:22px 0}
.banner-slot>span{color:var(--muted);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.banner-slot a{max-width:100%}
.banner-slot img{display:block;max-width:100%;height:auto;object-fit:contain;background:var(--panel)}
.banner-slot[hidden]{display:none}
.banner-slot iframe{max-width:100%;border:0}
.banner-editor{max-width:650px;padding-bottom:32px}
.banner-editor form{display:grid;gap:12px;margin:16px 0;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.banner-editor label{display:grid;gap:5px;font-weight:650}
.banner-editor input,.banner-editor select,.banner-editor textarea,.banner-editor button{font:inherit;padding:9px;border:1px solid var(--line);border-radius:5px}
.banner-editor input,.banner-editor select,.banner-editor textarea{min-width:0;width:100%;background:var(--bg);color:var(--text)}
.banner-editor button{background:var(--lime);color:#190e23;cursor:pointer;font-weight:750;justify-self:start}
.banner-editor a{color:var(--lime)}
.quiz-question{display:grid;gap:10px;min-width:0;margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:6px}
.quiz-question legend{padding:0 5px;font-weight:750}
.account-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.account-forms h2{margin:0}
.banner-editor .theme-field{grid-template-columns:1fr 68px;align-items:center}
.banner-editor .theme-field input{min-height:42px;padding:3px}
.article-page{max-width:850px;margin:clamp(24px,4vw,52px) auto}
.article-back+.page-title{margin-top:16px}
.article-meta{color:var(--muted);font-size:.9rem}
.article-hero{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:10px;margin:20px 0}
.article-copy{max-width:72ch;font-size:clamp(1rem,2vw,1.16rem);line-height:1.75;overflow-wrap:anywhere}
.article-back{color:var(--lime);font-weight:750}
.banner-editor .quiz-check{display:flex;align-items:center;gap:8px}
.banner-editor .quiz-check input{width:auto;flex:none}
.league-section{margin:26px 0}
.league-directory,.league-match-list{list-style:none;padding:0;margin:0}
.league-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:8px}
.league-directory a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-weight:750}
.league-directory a:hover,.league-tabs a:hover,.league-tabs a[aria-current]{color:var(--lime)}
.league-directory span{color:var(--muted);white-space:nowrap;font-size:.75rem}
.league-tabs{display:flex;flex-wrap:wrap;gap:8px 16px;border-bottom:1px solid var(--line);margin:16px 0}
.league-tabs a{padding:8px 0;border-bottom:2px solid transparent}
.league-tabs a[aria-current]{border-color:var(--lime)}
.league-empty,.league-match-list li,.league-table{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}
.league-table{overflow-x:auto;margin:12px 0}
.league-table table{border-collapse:collapse;width:100%}
.league-table caption{text-align:left;font-weight:750;padding:6px}
.league-table th,.league-table td{padding:8px 6px;border-top:1px solid var(--line);text-align:right}
.league-table th:nth-child(2){text-align:left;min-width:105px}
.league-match-list li{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:6px;font-size:.85rem}
.league-team{display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}
.league-team img{object-fit:contain;flex:none}
.league-match-list strong{color:var(--lime)}
.league-table a:hover,.league-team a:hover{color:var(--lime)}
.public-site{color-scheme:light}
.public-site .masthead{background:var(--panel)}
.public-site .menu-toggle,.public-site .section-heading h1,
.public-site .section-heading h2,.public-site .article-page h1,
.public-site .story:not(.lead):not(.small) h3,.public-site .latest h2{color:var(--nav)}
.public-site .section-heading a,.public-site .latest-more,.public-site .article-back,
.public-site .match-source a,.public-site .fixture time,.public-site .fixture strong,
.public-site .league-match-list strong,.public-site .league-tabs a[aria-current],
.public-site .links .results-link,.public-site .links a:hover,.public-site .links a[aria-current],
.public-site .league-menu summary:hover,.public-site .league-menu[open] summary,
.public-site .league-menu[data-active] summary{color:var(--nav)}
.public-site .links .results-link{border-bottom-color:var(--lime)}
.public-site .story,.public-site .latest{border:1px solid var(--line);box-shadow:0 4px 16px #37025a0d}
.public-site .picture{overflow:hidden;background:var(--line)}
.public-site .picture img{transition:transform .35s ease,filter .35s ease}
.public-site .story time,.public-site .latest time{color:var(--muted)}
.public-site .lead::after,.public-site .small::after{background:linear-gradient(180deg,transparent 12%,#200334ee 87%)}
.public-site .lead h3,.public-site .small h3{color:#fff}
.public-site .lead time,.public-site .small time{color:var(--lime)}
.public-site .lead h3::before,.public-site .small h3::before{content:"";display:block;width:32px;height:3px;margin:0 0 7px;background:var(--lime)}
.public-site .story a:hover h3,.public-site .latest a:hover{text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:.16em}
.public-site .latest a:hover{color:var(--nav)}
.public-site .competition-name,.public-site .fixture{background:var(--bg)}
.public-site .competition-name{color:var(--nav)}
.public-site .score-strip .fixture{background:#fff}
.public-site .league-menu ul{box-shadow:0 8px 24px #37025a20}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
    .public-site .story a:hover .picture img,.public-site .story a:focus-visible .picture img{transform:scale(1.05);filter:saturate(1.12)}
}
@media(max-width:990px){.front{grid-template-columns:1fr}.latest ol{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.lead{min-height:370px}}
@media(max-width:600px){.edition{display:none}.masthead-inner{min-height:60px}.highlights{grid-template-columns:1fr}.lead{min-height:330px}.secondary{grid-template:1fr / 1fr 1fr}.small{min-height:165px}.latest ol,.cards{grid-template-columns:1fr}.cards .story a{display:grid;grid-template-columns:36% 1fr;align-items:stretch}.cards .picture{height:100%;min-height:105px;aspect-ratio:auto}.cards .story-text{padding:10px 12px}.category{margin-top:28px}}

#password-reset[hidden]{display:none}
