/* GooBall 2026 unified redesign: graphite / electric blue / signal amber */
:root{
 color-scheme:dark;
 --bg:#090d14;--bg-soft:#0e1420;--surface:#121a28;--surface-2:#172235;--surface-3:#1d2b41;
 --line:#29384d;--line-soft:#202d40;--text:#f3f6fc;--muted:#9baac0;--muted-2:#71819a;
 --green:#5b91ff;--green-strong:#3e7df4;--green-soft:#172d52;--lime:#f4c45e;
 --danger:#ff737e;--radius:16px;--shadow:0 16px 44px #0005;
 --font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Space Grotesk","Inter",sans-serif;
}
html{background:var(--bg)!important;color-scheme:dark;scroll-behavior:smooth}
body{background:radial-gradient(ellipse at 50% -24%,#1a2d4a 0,transparent 43%),radial-gradient(ellipse at 100% 40%,#111e31 0,transparent 34%),var(--bg)!important;color:var(--text)!important;font-family:var(--font)!important}
::selection{background:#5b91ff66;color:#fff}
a{color:#8db5ff}
:focus-visible{outline:2px solid #79a8ff!important;outline-offset:3px}
header{background:#0b111beF!important;border-color:#26364b!important}
.brand{color:var(--text)!important;font-family:var(--display)!important;font-weight:800!important;letter-spacing:-1.1px}
.brand span,.brand-name{color:var(--text)!important}
.brand-mark,.competition-page .brand::before{background:linear-gradient(145deg,#8db5ff,#477ce6)!important;color:#081326!important;box-shadow:0 7px 24px #3978ef45!important}
.navlinks{color:#b4c1d4!important;gap:clamp(10px,1.8vw,25px)!important;font-size:12px!important}
.navlinks a:hover,.rail-more,.side-more,.news-more,.back{color:#8db5ff!important}
.live-pill{background:#172d52!important;border-color:#355b9a!important;color:#a9c8ff!important}
.live-dot{background:#f4c45e!important;box-shadow:0 0 10px #f4c45e88!important}
.shell{max-width:1540px!important;padding-left:clamp(14px,2.5vw,36px)!important;padding-right:clamp(14px,2.5vw,36px)!important}
.score-masthead{padding:38px 0 29px!important;border-color:var(--line-soft)!important}
.eyebrow{color:#8db5ff!important;letter-spacing:1.55px!important}
.score-masthead h1,.news-heading h2,.match-panel-heading h2,.rail-heading h2,.side-heading h3{font-family:var(--display)!important;letter-spacing:-1.1px!important}
.score-masthead h1 span{color:#8db5ff!important}
.score-masthead p,.news-heading p{color:var(--muted)!important}
.score-masthead-tools,.competition-rail,.match-panel,.sidebar .side-card,.news-card,.club-tile,.seo-intro{
 background:linear-gradient(145deg,#151f30,#101825 75%)!important;border:1px solid var(--line)!important;border-radius:17px!important;box-shadow:var(--shadow)!important
}
.score-live-indicator{color:#d7e2f2!important}
.score-update button,.date-tools button,.tab,.rail-count,.match-count{
 background:#1a2a42!important;border:1px solid #344965!important;color:#c4d7f5!important;border-radius:10px!important
}
.score-update button:hover,.date-tools button:hover{background:#243b5d!important}
.dashboard-layout{grid-template-columns:230px minmax(0,1fr) 310px!important;gap:18px!important}
.competition-rail{top:88px!important;padding:17px 13px!important}
.rail-heading,.match-panel-heading,.side-heading{border-color:var(--line-soft)!important}
.rail-heading h2,.match-panel-heading h2,.side-heading h3{color:var(--text)!important}
.rail-count,.match-count{background:#1a2a42!important;color:#c5d6f0!important}
.league-list{gap:5px!important}
.league-item{min-height:43px!important;border-radius:10px!important;color:#c2cddd!important;font-weight:650!important}
.league-item:hover{background:#1c2c43!important;color:#fff!important}
.league-item.is-active{background:#203a63!important;color:#c5dcff!important;box-shadow:inset 3px 0 #78a7ff!important}
.league-icon{background:#263b59!important;color:#c3d8ff!important;border-radius:8px!important}
.rail-more,.side-more{border-color:var(--line-soft)!important}
.match-panel{padding:19px!important}
.match-controls{border-color:var(--line-soft)!important}
.tabs{background:#0d1521!important;border-color:var(--line)!important;border-radius:12px!important}
.tab{background:transparent!important;border:0!important;color:#9cacc2!important;font-weight:700!important}
.tab.active{background:#315a96!important;color:#fff!important;box-shadow:0 3px 12px #0004!important}
.date-tools input,.clubs-tools input,.clubs-tools select,.side-heading select{
 background:#0d1521!important;color:var(--text)!important;border:1px solid #34445b!important;border-radius:10px!important
}
.match{background:#131e2e!important;border-color:#2a3b52!important;border-radius:13px!important;transition:transform .16s,border-color .16s,background .16s!important}
.match:hover{background:#19283d!important;border-color:#547bb5!important;transform:translateY(-1px)!important}
.league-group-heading{background:#1a2b43!important;border-color:#304663!important;color:#d8e5f8!important}
.league-group-heading span,.kickoff,.match-panel-foot,.side-note{color:var(--muted)!important}
.team-name,.score{color:var(--text)!important}
.crest-fallback{background:#273a55!important;color:#d6e4f9!important}
.status{color:#9fc1ff!important}
.status.finished{color:#aab7c8!important}
.match-panel-foot{border-color:var(--line-soft)!important}
.match-panel-foot button{color:#8db5ff!important}
.side-card{padding:17px!important}
.standings-table{color:#c8d4e5!important}
.standings-table th{color:#8c9db5!important;border-color:#26374e!important}
.standings-table td{border-color:#26374e!important}
.standings-table tr:nth-child(odd){background:#ffffff04!important}
.standings-team{color:#e5ecf7!important}
.explore-card a{color:#dbe7f7!important;border-color:var(--line-soft)!important}
.news-section,.clubs-section{border-color:var(--line-soft)!important}
.news-heading{align-items:end!important}
.news-heading h2{color:var(--text)!important}
.news-card{overflow:hidden!important;padding:0!important}
.news-card:hover,.club-tile:hover{border-color:#5c86c6!important;transform:translateY(-2px)!important}
.news-image{background:#1a2638!important}
.news-card-content{padding:18px!important}
.news-card h3{font:750 17px/1.35 var(--display)!important;color:#f0f4fb!important}
.news-card p,.news-card time,.news-footnote,.clubs-caption{color:#9aaac0!important}
.news-card .news-tag{color:#a9c8ff!important}
.news-more{border-color:#45618a!important}
.clubs-tools{gap:10px!important}
.club-tile{color:#e7edf7!important}
.club-tile img{background:#fff!important;border-radius:9px!important;padding:3px!important}
.seo-intro{color:#d9e2ef!important}
.seo-intro h2{color:#f3f6fc!important;font-family:var(--display)!important}
.seo-intro p{color:#a7b5c8!important}
.seo-intro a{color:#8db5ff!important}
.modal{background:#030711cc!important;backdrop-filter:blur(8px)!important}
.modal-box{background:#111b2a!important;border:1px solid #354761!important;border-radius:18px!important;color:var(--text)!important}
.modal-head{border-color:var(--line)!important;background:#111b2a!important}
.modal-head h3{color:var(--text)!important}
.close{background:#1d2d45!important;color:#d8e5f8!important;border-color:#344966!important}
footer,.footer-inner{border-color:var(--line-soft)!important;color:#8191a8!important}
.loading,.empty,.error,.news-placeholder{background:#111b29!important;border-color:var(--line)!important;color:#aab9ce!important}
.spinner{border-color:#344966!important;border-top-color:#8db5ff!important}
/* competition pages */
.competition-page{background:radial-gradient(ellipse at 50% 0%,#1a2d4a 0,transparent 44%),var(--bg)!important;color:var(--text)!important}
.competition-page .panel,.competition-page li{background:linear-gradient(145deg,#17253a,#111b2a)!important;border-color:#30435d!important}
.competition-page .panel::after{border-color:#5b91ff40!important;box-shadow:0 0 0 24px #5b91ff0d,0 0 0 48px #5b91ff08!important}
.competition-page .eyebrow,.competition-page main>ul a{color:#8db5ff!important}
.competition-page .cta{background:linear-gradient(135deg,#8db5ff,#4d82ed)!important;border-color:#9bbfff!important;color:#081326!important}
.competition-page li::before{background:#f4c45e!important;box-shadow:0 0 10px #f4c45e66!important}
.competition-page p,.competition-page li,.competition-page .lead{color:#aebbd0!important}
.competition-page footer{border-color:var(--line-soft)!important;color:#8191a8!important}
/* match, news and club server-rendered pages */
.wrap{max-width:1180px!important;color:var(--text)!important}
.wrap>header{border-color:var(--line)!important}
.wrap .brand{color:var(--text)!important}
.crumb{color:#8f9fb6!important}
.tag,.status{background:#1a3152!important;color:#a9c9ff!important;border:1px solid #365b91!important}
.hero,.panel,.article,.card{background:linear-gradient(145deg,#172337,#111a28)!important;border:1px solid #2e4058!important;border-radius:18px!important;box-shadow:var(--shadow)!important}
.hero h1,h1,.panel h2,.article h2,.card h2{color:var(--text)!important;font-family:var(--display)!important}
.sub,.lead,.panel p,.article p,.muted{color:#afbdd0!important}
.scoreboard .score{color:#fff!important;font-family:var(--display)!important}
.fact,.player,.fixture,.related a,.club,.story,.stat,.event{background:#111b2a!important;border-color:#2b3d55!important;color:#e1e9f5!important}
.fact small,.fixture small,.player small,.source,.meta,.story time{color:#91a2ba!important}
.event,.stat,.source,.fixture{border-color:#2b3d55!important}
.pill,.search button{background:#244777!important;border:1px solid #4b75b2!important;color:#e8f1ff!important}
a,.back,.source a{color:#8db5ff!important}
.story:hover{border-color:#648bc6!important;box-shadow:0 12px 30px #0005!important}
.story small,.eyebrow{color:#a5c6ff!important}
.story h2{color:#f0f4fb!important;font-family:var(--display)!important}
.logo{background:#fff!important;border-color:#344761!important}
.directory{gap:12px!important}
footer{border-color:var(--line)!important;color:#8292a9!important}
@media(max-width:1120px){.dashboard-layout{grid-template-columns:200px minmax(0,1fr)!important}.sidebar{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sidebar .side-card{min-width:0}}
@media(max-width:760px){.shell{padding-left:14px!important;padding-right:14px!important}.dashboard-layout{grid-template-columns:minmax(0,1fr)!important}.competition-rail{position:relative!important;top:auto!important}.league-list{display:flex!important;overflow-x:auto!important;padding:10px 0 3px!important}.league-item{flex:0 0 auto!important;white-space:nowrap!important}.league-item.is-active{box-shadow:inset 0 -2px #8db5ff!important}.sidebar{grid-column:auto;grid-template-columns:1fr!important}.score-masthead{padding-top:25px!important}.score-masthead-tools{min-width:0!important}.navlinks{gap:11px!important;overflow-x:auto!important}.live-pill{font-size:8px!important}.match-panel{padding:12px!important}.news-grid{grid-template-columns:1fr!important}.news-card:first-child{grid-column:auto!important;display:block!important}.news-card:first-child .news-image{height:170px!important}.wrap{padding:16px 13px 48px!important}.grid{grid-template-columns:1fr!important}.facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.directory{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.facts,.directory,.players{grid-template-columns:1fr!important}.scoreboard{gap:5px!important}.team{font-size:12px!important}.score{font-size:25px!important}}

/* Editorial hierarchy and image-led news desk */
.server-nav{display:flex;align-items:center;gap:22px}
.server-nav a{color:#b5c6df!important;font-size:12px;font-weight:750;text-decoration:none}
.server-nav a:hover{color:#fff!important}
.news-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important;margin-top:28px!important}
.news-list .story{display:flex;flex-direction:column;min-width:0;padding:0!important;overflow:hidden;text-decoration:none}
.news-list .story-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.story-media{height:185px;overflow:hidden;background:#1b2a40}
.story-featured .story-media{height:100%;min-height:260px}
.story-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.story:hover .story-media img{transform:scale(1.035)}
.story-copy{padding:19px 21px}
.story-copy small{display:block;color:#9fc1ff!important;font-size:11px;font-weight:800;letter-spacing:.04em}
.story-copy h2{font:750 20px/1.3 var(--display)!important;margin:9px 0;color:#f2f5fb!important}
.story-featured .story-copy h2{font-size:clamp(23px,3vw,34px)!important;letter-spacing:-.7px}
.story-copy p{margin:0 0 14px;color:#aab9ce!important;font-size:13px;line-height:1.65}
.story-copy time{font-size:11px;color:#8db5ff!important;font-weight:800}
.article-label{color:#9fc1ff;font-size:10px;font-weight:900;letter-spacing:1.5px;margin-bottom:15px}
.article-cover{margin:25px 0 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#111b2a}
.article-cover img{display:block;width:100%;max-height:460px;object-fit:cover}
.article-cover figcaption{padding:9px 13px;color:#8799b2;font-size:11px}
.article{padding:clamp(24px,5vw,48px)!important}
.article h2{font-size:clamp(20px,2.5vw,25px)!important;margin-top:31px!important}
.article p{font-size:16px!important;line-height:1.85!important}
@media(max-width:680px){.news-list{grid-template-columns:1fr!important}.news-list .story-featured{grid-column:auto;display:flex}.story-featured .story-media{height:180px;min-height:0}.story-featured .story-copy h2{font-size:22px!important}.server-nav{gap:12px}.server-nav a{font-size:11px}.story-copy{padding:15px}.story-media{height:175px}}

/* Match centre: confirmed XI, substitutes and live play-by-play */
.lineups-wrap{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.lineups-wrap>h2{margin:0 0 7px!important}
.lineup-note{margin:0 0 14px!important;color:#8fa2bc!important;font-size:12px!important}
.lineup-team{margin:12px 0!important;padding:17px!important}
.lineup-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.lineup-heading h2{margin:0!important;font-size:16px!important}
.lineup-heading>span{padding:5px 9px;border-radius:8px;background:#203754;color:#b9d2fa;font-size:11px;font-weight:850}
.lineup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.lineup-player{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 9px;background:#0e1826;border:1px solid #273a54;border-radius:10px}
.lineup-player .shirt{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#263f63;color:#d6e5ff;font-size:11px;font-weight:900}
.lineup-player b{display:block;color:#edf3fb;font-size:11px;line-height:1.25}
.lineup-player small{display:block;color:#8fa1b9;font-size:9px;margin-top:3px}
.bench{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.bench summary{cursor:pointer;color:#9fc1ff;font-size:11px;font-weight:800;padding:4px 0 10px}
.commentary-list{display:grid;gap:2px}
.commentary-list .event{border-color:#27384f!important}
.commentary-list .event time{color:#f4c45e!important;font-variant-numeric:tabular-nums}
@media(max-width:600px){.lineup-grid{grid-template-columns:1fr}.lineup-team{padding:13px!important}}
