/* Doball-Online / Matchday. Presentation only; live-score hooks stay in layout.php. */
:root{--bg:#080e0b;--panel:#111b14;--panel2:#0d1510;--field:#0a120e;--line:#26392b;--line2:#344937;--line3:#526d49;--text:#f2f5ed;--soft:#d1d9cd;--muted:#a6b4a5;--dim:#93a18f;--green:#b2ed4a;--green-l:#d1ff83;--ink:#101b06;--amber:#d5ae75;--r:13px}
html{scroll-behavior:smooth;scroll-padding-top:20px;color-scheme:dark}
body{background-color:var(--bg)}
body.stadium-site{background-image:radial-gradient(ellipse at 0 0,rgba(101,72,35,.18),transparent 40%),radial-gradient(ellipse at 100% 18%,rgba(49,83,30,.19),transparent 36%)}
::selection{background:#b2ed4a;color:#101b06}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.wrap{max-width:1240px;padding-left:24px;padding-right:24px}
.main{gap:26px;padding-top:26px;padding-bottom:58px}
.hdr{position:relative;z-index:5;background:rgba(8,14,11,.97);border-bottom:1px solid #304027}
.broadcast-line{background:#152212;border-bottom:1px solid #28391f;color:#b5c7a1;font-size:10px;letter-spacing:1.6px}
.broadcast-line .wrap{display:flex;justify-content:space-between;gap:12px;min-height:28px;align-items:center}
.broadcast-line .wrap>span:first-child{display:flex;align-items:center;gap:8px}
.broadcast-line .wrap>span:last-child{letter-spacing:.3px;color:#b6ac94;font-size:11px}
.broadcast-line i,.signal-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #b2ed4a88;flex:0 0 auto}
.hdr-in{min-height:84px;gap:12px 40px}
.brand{gap:10px}
.brand-mark{width:46px;height:46px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 10px #6aa8332b)}
.brand-t{font-family:Anuphan,system-ui,sans-serif;font-size:22px;letter-spacing:-.8px;font-weight:700;line-height:1.1;white-space:nowrap}
.brand-t span{color:var(--green)}
.brand-t small{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:4px;margin-top:7px;color:#a5b39b}
.nav{gap:6px}
.nav a{position:relative;padding:0 15px;min-height:42px;color:#becab8;font-size:13px;border-radius:6px}
.nav a[aria-current]{background:transparent;color:var(--green)}
.nav a[aria-current]::after{content:"";position:absolute;bottom:0;height:2px;left:15px;right:15px;background:var(--green);box-shadow:0 0 12px #b2ed4a4d}
.nav a:hover{background:#192416;color:var(--green-l)}
.btn{border-radius:7px;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s}
.btn-primary{background:linear-gradient(120deg,#c4f76a,#a5df37);box-shadow:0 3px 16px #a5df3710;color:#142009;border-color:#c6f67a66;font-weight:700}
.btn-primary:hover{background:#ceff7b;box-shadow:0 5px 24px #b2ed4a2b;color:#101b06;transform:translateY(-2px)}
.btn-ghost{border-color:#3a4935;background:#ffffff02}
.btn-ghost:hover{background:#202b1c;border-color:#a7bb84}
.hdr-btn{min-height:39px;font-size:12px;padding:0 14px}
.stadium-hero{position:relative;isolation:isolate;overflow:hidden;min-height:412px;border-radius:16px;border:1px solid #48623866;display:flex;align-items:center;background:#0d180f;box-shadow:0 18px 65px #0003}
.stadium-photo{position:absolute;inset:0;z-index:-3;background:url('../images/stadium-bg.webp') center 57%/cover no-repeat;transform:scale(1.025);animation:stadium-arrive 1.3s ease-out both}
.stadium-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,13,7,.92) 0,rgba(7,17,8,.71) 34%,rgba(6,17,8,.12) 72%),linear-gradient(0deg,rgba(5,14,7,.9),transparent 55%)}
.stadium-hero::after{content:"";position:absolute;left:1px;top:16px;z-index:3;width:5px;height:104px;border-radius:6px;background:linear-gradient(180deg,transparent 0%,#d0a66a 18%,#b2ed4a 40%,#f3ffdd 52%,#b2ed4a 70%,transparent 100%);box-shadow:0 0 12px #b2ed4acc,0 0 25px #b2ed4a66;pointer-events:none;animation:hero-edge-sweep 2.6s ease-in-out infinite alternate}
.stadium-copy{padding:45px 46px 76px;position:relative;z-index:1;max-width:700px;animation:copy-arrive .8s ease-out both}
.eyebrow{font-family:Anuphan,Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:2.8px;color:var(--green);display:flex;align-items:center;gap:9px;line-height:1.6}
.stadium-copy h1{margin:18px 0 15px;font-size:clamp(34px,4.4vw,56px);font-weight:700;line-height:1.17;letter-spacing:-1.4px;text-shadow:0 2px 30px #0006}
.stadium-copy h1 span{display:block;color:var(--green);font-size:.79em;margin-top:6px}
.stadium-desc{font-size:14px;line-height:1.9;color:#c9d5c3}
.stadium-actions{display:flex;align-items:center;gap:24px;margin-top:25px;flex-wrap:wrap}
.stadium-actions .watch-cta,.football-page-head .watch-cta{min-height:47px;padding:0 23px;font-size:14px;gap:7px}
.stadium-secondary{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#e4e9dd;font-size:12px}
.stadium-secondary span{color:var(--green);font-size:20px}
.stadium-caption{position:absolute;right:42px;top:98px;transform:rotate(-5deg);text-align:right;font-family:Arial,sans-serif;text-shadow:0 3px 25px #0008;pointer-events:none}
.stadium-caption>span{display:block;letter-spacing:3px;font-size:9px;color:#e2d4af;margin-bottom:12px}
.stadium-caption b{font-size:clamp(30px,4.2vw,52px);font-weight:900;line-height:.95;letter-spacing:-2.3px;font-style:italic}
.stadium-caption em{font-style:italic;color:#c6ed90}
.stadium-caption small{display:block;font-size:8px;letter-spacing:2px;margin-top:16px;color:#d9e0cb}
.stadium-bottom{position:absolute;bottom:0;left:0;right:0;padding:12px 28px;display:flex;justify-content:space-between;gap:16px;background:#0b180cb3;border-top:1px solid #a6c28524;color:#d3dabe;font-size:10px;letter-spacing:.6px;backdrop-filter:blur(9px)}
.stadium-bottom>span:first-child{display:flex;align-items:center;gap:9px;font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px}
/* One shared fill layer keeps all four charging bars in sync, including older markup. */
.stadium-bottom>span:first-child>i{position:relative;display:inline-block;width:25px;height:12px;flex:0 0 25px;background:none;animation:none}
.stadium-bottom>span:first-child>i>span{display:none;animation:none}
.stadium-bottom>span:first-child>i::before,.stadium-bottom>span:first-child>i::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#b2ed4a 0 4px,transparent 4px 7px);border-radius:1px}
.stadium-bottom>span:first-child>i::before{opacity:.16}
.stadium-bottom>span:first-child>i::after{filter:drop-shadow(0 0 4px #b2ed4a99);animation:matchday-charge 2.8s step-end infinite}
.stadium-bottom b{margin-left:8px;color:var(--green)}
.stadium-beams{position:absolute;inset:0;z-index:-1;overflow:hidden;opacity:.35;pointer-events:none}
.stadium-beams i{position:absolute;width:100px;height:680px;top:-330px;right:16%;transform-origin:50% 0;background:linear-gradient(180deg,transparent,rgba(202,255,166,.17),transparent);filter:blur(18px);transform:rotate(20deg);animation:floodlight-sweep 14s ease-in-out infinite alternate}
.stadium-beams i+ i{right:42%;width:60px;animation-delay:-8s;animation-duration:18s;opacity:.5}
.stadium-grain{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.5;background-image:radial-gradient(circle at 74% 24%,#eeffc9 0 1px,transparent 2px),radial-gradient(circle at 82% 62%,#cfff89 0 1px,transparent 3px),radial-gradient(circle at 67% 73%,#bbde77 0 1px,transparent 2px),radial-gradient(circle at 91% 39%,#ffe4a0 0 1px,transparent 2px);animation:stadium-dust 9s ease-in-out infinite alternate}
.matchday-strip{display:grid;grid-template-columns:1fr repeat(3,140px);align-items:center;background:linear-gradient(100deg,#192418,#151b12 62%,#201b13);border:1px solid #43503466;border-radius:10px;padding:15px 24px;gap:12px;margin-top:-12px}
.matchday-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.matchday-label strong{font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.8px}
.matchday-label small{color:#aebaa0;font-size:11px;margin-left:6px}
.matchday-stat{display:flex;gap:10px;align-items:center;padding-left:22px;border-left:1px solid #b4c28a26}
.matchday-stat strong{font-size:23px;line-height:1.2;color:var(--green);font-variant-numeric:tabular-nums}
.matchday-stat span{font-size:11px;color:#bbc6ac}
.match-center-head{margin-top:10px;scroll-margin-top:22px}
.match-center-head h2{font-size:25px;font-weight:700;line-height:1.4}
.match-center-head .t>.small{font-size:11px;color:var(--amber)}
.match-center-head .t>.muted{font-size:12px}
.seg{background:#111b12;border-color:#38432b;border-radius:8px}
.seg a{border-radius:5px;font-size:13px;min-height:35px}
.seg a[aria-current]{background:var(--green)}
.gbtn{font-size:11px;border-radius:6px;min-height:32px;padding:0 9px}
.gbtn[aria-pressed=true]{background:#afdf4310;border-color:#adcf524a;color:#bfda8d}
.cols{gap:24px}
.col-main{flex-basis:650px;gap:25px}
.col-side{flex-basis:282px;gap:18px}
.sec{gap:10px}
.sec-h{font-size:17px;font-weight:600;line-height:1.4;padding-bottom:10px;border-bottom:1px solid #293725}
.sec-h .n{margin-left:auto;font-size:11px}
.sec-h .dot{width:7px;height:7px}
.mrow{background:linear-gradient(115deg,#162017,#101812);border-color:#2e3a28;border-radius:10px;padding:16px;gap:12px;transition:border-color .25s,transform .25s,box-shadow .25s}
.mrow:hover{border-color:#9ac75f77;transform:translateY(-2px);box-shadow:0 7px 22px #0003}
.mrow[data-state=live]{background:linear-gradient(100deg,#2c21183d,transparent 48%),linear-gradient(115deg,#172319,#111b13);border-color:#8ba74b77;animation:none;box-shadow:inset 0 0 20px #8db84205}
.mrow[data-state=live]::before{width:3px;background:var(--green);animation:match-breathe 3.2s ease-in-out infinite}
.mrow[data-state=live]:hover{border-color:#bded6b}
.mtime{width:65px;flex-shrink:0;gap:5px}
.mtime .t{font-size:18px;color:#e4edda}
.mmain{flex-basis:320px;gap:12px}
.mleague{font-size:11px;color:#a4b39a}
.lg-logo{width:18px;height:18px;padding:1px}
.teams{gap:12px}
.tm{font-size:13px;gap:9px}
.sc{min-width:64px;border-radius:7px;font-size:21px;background:#080e0b;border:1px solid #2e402b;padding:3px 12px;line-height:1.3}
.sc.vs{font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;color:#91a081;padding:9px 12px}
.sc.live{background:#1f321a;border-color:#a0c55855;box-shadow:0 0 20px #b2ed4a08;color:#dcffae}
.lc{background:#a9d84e14;color:#c9ed9c;border:1px solid #bbdd6a22;border-radius:6px;padding:6px 9px;font-size:11px}
.lc.zero{background:#192117;color:#9aab91;border-color:#3b4b2d}
.ch{font-size:10px;max-width:125px}
.lvb{gap:5px;flex-wrap:wrap}
.lvb .lv{background:#e9654f;box-shadow:0 0 12px #ec624b22;animation:match-breathe 3.2s ease-in-out infinite;font-size:9px;padding:2px 5px;color:white}
.lvb .js-min{font-size:12px;color:#e9b5a8}
.lvb .lv .dot{width:4px;height:4px}
.prog{height:2px;background:#b2ed4a10}.prog i{background:var(--green)}
.card{background:linear-gradient(135deg,#192117,#111810);border-color:#3a462f;border-radius:12px;padding:21px}
.card h2{font-size:17px;line-height:1.5;margin-bottom:10px}
.card .muted{font-size:12px;line-height:1.8}
.card .steps{gap:12px}.steps li{font-size:12px;align-items:center;color:#c7d2bd}.steps .num{border-radius:7px;width:26px;height:26px;background:#a9ce5b10;border:1px solid #a9ce5b28;color:#bedb8b;font-size:11px}
.bul{font-size:12px;line-height:1.8;color:#b6c3ad}
.owner-card{border-top:2px solid #b49d6388}
.matchday-poster{position:relative;overflow:hidden;border-radius:12px;min-height:237px;padding:24px;background:linear-gradient(110deg,#111b12ed,#15200ea6),url('../images/stadium-bg.webp') 60% 60%/cover;border:1px solid #758f4555}
.matchday-poster .eyebrow{font-size:8px;letter-spacing:2.4px;color:#d4b77d}
.matchday-poster h2{font-size:25px;line-height:1.4;margin:15px 0 12px;font-weight:700}
.matchday-poster h2 span{color:var(--green)}
.matchday-poster p{font-size:11px;line-height:1.8;color:#b8c8aa}
.matchday-poster a{display:inline-flex;gap:18px;align-items:center;font-size:11px;color:#d8eac4;text-decoration:none;margin-top:17px}
.matchday-poster a:hover{color:var(--green)}
.poster-line{position:absolute;right:-32px;top:10px;width:95px;height:250px;border:1px solid #c0f55d26;transform:rotate(28deg);box-shadow:18px 0 0 #b2ed4a08;pointer-events:none}
.hero{padding:30px 24px;background:linear-gradient(90deg,#08160ee8,#102012c9),url('../images/stadium-bg.webp') center 65%/cover;border-color:#738e4966;min-height:260px}
.hero[data-state=live]{border-color:#91b64b88;animation:none}
.hero .big.live{text-shadow:0 0 18px #b2ed4a55;color:#e4ffb4}
.hero .side{font-size:16px;line-height:1.5}
.lk{background:#152015;border-color:#34412b}.lk:hover{border-color:#78904f}
.empty{padding:42px 24px;border-style:solid;background:linear-gradient(120deg,#142015,#171c13);color:#b7c5aa;line-height:1.9}
.ftr{position:relative;background:linear-gradient(150deg,#131e12,#0a100c 60%,#17150e);border-top:1px solid #36452b;margin-top:0}
.ftr::before{content:"";position:absolute;top:-1px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#aecf69,transparent)}
.ftr-top{padding-top:42px;padding-bottom:34px}
.ftr-col h2{color:#cfdebd;font-size:13px}
.ftr-col a{font-size:12px;color:#9dad93;min-height:35px}
.ftr-brand p{font-size:12px;line-height:1.9;color:#9dad93}
.ftr-bot{border-color:#283522}.ftr-bot-in{font-size:10px;color:#84917c}
.fx-paused .stadium-beams i,.fx-paused .stadium-grain,.fx-paused .stadium-bottom>span:first-child>i::after{animation-play-state:paused}
@keyframes floodlight-sweep{0%{transform:rotate(12deg);opacity:.3}100%{transform:rotate(48deg);opacity:.8}}
@keyframes stadium-dust{from{transform:translate3d(0,8px,0);opacity:.2}to{transform:translate3d(-18px,-8px,0);opacity:.7}}
@keyframes match-breathe{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes stadium-arrive{from{opacity:.7;transform:scale(1.07)}to{opacity:1;transform:scale(1.025)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1100px){.match-center-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start}.mrow{flex-wrap:nowrap}.mside{flex-shrink:0}.mmain{flex-basis:auto}}
@media(max-width:1050px){.hdr-in{gap:12px 20px}.nav a{padding:0 10px}.brand-t{font-size:20px}.stadium-caption{right:30px;top:110px}.stadium-copy{padding-left:32px}.matchday-strip{grid-template-columns:1fr repeat(3,112px)}.matchday-stat{padding-left:15px}.matchday-label small{display:none}}
@media(min-width:641px) and (max-width:850px){.hdr-in{gap:10px;min-height:78px}.brand-t{font-size:18px}.brand-mark{width:38px;height:38px}.nav a{font-size:12px;padding:0 9px}.hdr-btn{font-size:11px;padding:0 9px}.stadium-caption{opacity:.7;right:24px}.stadium-copy{max-width:75%}.stadium-copy h1{font-size:42px}.col-side{display:grid;grid-template-columns:1fr 1fr}.matchday-poster{grid-row:span 2}.matchday-strip{padding:14px 18px}.matchday-label strong{font-size:10px;letter-spacing:1px}}
@media(max-width:640px){
 .wrap{padding-left:16px;padding-right:16px}.main{padding-top:16px;gap:21px;padding-bottom:34px}
 .broadcast-line .wrap{min-height:24px;justify-content:center}.broadcast-line .wrap>span:first-child{font-size:8px;letter-spacing:2px}.broadcast-line .wrap>span:last-child{display:none}
 .hdr-in{padding-top:12px;padding-bottom:10px;gap:12px 6px;min-height:0}.brand{gap:6px}.brand-mark{width:35px;height:35px}.brand-t{font-size:18px;letter-spacing:-.65px}.brand-t small{font-size:6px;letter-spacing:3px;margin-top:5px}
 .hdr-btn{min-height:32px;padding:0 9px;font-size:10px}.hdr-act{gap:5px}.nav{padding:0;border:0;background:transparent;gap:6px}.nav a{border-radius:5px;min-height:34px;font-size:11px;background:#151f13}.nav a[aria-current]{background:#b2ed4a17;color:var(--green)}.nav a[aria-current]::after{left:25%;right:25%;height:1px}
 .stadium-hero{min-height:370px;border-radius:12px;align-items:flex-start}.stadium-photo{background-position:61% 50%}.stadium-hero::before{background:linear-gradient(90deg,#071109d9,rgba(7,17,9,.32)),linear-gradient(0deg,#09160eeb,transparent 70%)}
 .stadium-copy{padding:29px 23px 60px;max-width:100%;width:100%}.eyebrow{font-size:8px;letter-spacing:1.5px}.stadium-copy h1{font-size:39px;letter-spacing:-1px;line-height:1.2;margin-top:18px;margin-bottom:14px}.stadium-copy h1 span{font-size:.76em;line-height:1.5;margin-top:0}.stadium-desc{font-size:12px;line-height:1.9}
 .stadium-actions{margin-top:22px;gap:18px}.stadium-actions .watch-cta,.football-page-head .watch-cta{font-size:12px;min-height:43px;padding:0 17px}.stadium-secondary{font-size:10px;gap:6px}.stadium-caption{display:none}.stadium-bottom{padding:12px 18px}.stadium-bottom>span:first-child{font-size:8px;letter-spacing:1.4px}.stadium-bottom>span:last-child{display:none}
 .matchday-strip{padding:14px 16px;grid-template-columns:repeat(3,1fr);gap:14px 0;margin-top:-9px;border-radius:8px}.matchday-label{grid-column:1/-1;border-bottom:1px solid #b4c28a20;padding-bottom:11px;gap:8px}.matchday-label strong{font-size:9px;letter-spacing:1.8px}.matchday-label small{display:block;margin-left:auto;font-size:10px}.matchday-stat{padding:0;justify-content:center;gap:7px}.matchday-stat:nth-child(2){border-left:0}.matchday-stat strong{font-size:21px}.matchday-stat span{font-size:10px}
 .match-center-head{gap:15px;margin-top:3px}.match-center-head h2{font-size:23px}.match-center-head .t>.muted{font-size:11px}.match-center-head .t>.small{font-size:10px}.head-r{gap:8px}.seg a{font-size:12px;min-height:36px}.gbtn{font-size:10px;min-height:33px}.gbtn svg{width:14px}.sec-h{font-size:16px}.sec-h .n{font-size:10px}
 .cols,.col-main{gap:22px}.mrow{padding:13px 14px;gap:12px}.mtime{width:100%;flex-direction:row;align-items:center;gap:10px}.mtime .t{font-size:16px}.st{font-size:10px}.lvb{flex-wrap:nowrap}.mmain{flex-basis:100%;gap:13px}.mleague{font-size:10px}.teams{gap:10px;align-items:center}.tm,.tm.home{font-size:12px;gap:7px;line-height:1.5}.teams .sc{margin:0;align-self:center}.logo{width:32px;height:32px}.sc{font-size:22px;min-width:70px;padding:7px 10px}.sc.vs{font-size:11px}.mside{padding-top:10px;border-top:1px solid #8ca65c17}.lc{font-size:10px;min-height:29px;padding:3px 9px}.ch{font-size:10px;max-width:65%}.mrow:hover{transform:none}
 .col-side{display:flex;flex-basis:100%;gap:16px}.matchday-poster{min-height:205px;background-position:center 60%;padding:22px}.matchday-poster h2{font-size:25px;margin:12px 0}.card{padding:20px}.hero{padding:23px 14px;gap:18px;min-height:280px}.hero .side{font-size:13px}.hero .side .logo{width:50px;height:50px}.hero .teams{gap:10px}.hero .small{font-size:10px}.hero .gbtn{font-size:10px;padding:0 6px}
 .ftr-top{padding-top:30px;padding-bottom:27px;gap:24px}.ftr-bot-in{font-size:9px;line-height:1.8}.ftr .brand-mark{width:40px;height:40px}.ftr .brand-t{font-size:21px}
}
@media(max-width:370px){.wrap{padding-left:12px;padding-right:12px}.brand-t{font-size:16px}.brand-mark{width:29px;height:29px}.hdr-btn{padding:0 7px;font-size:9px}.stadium-copy{padding-left:19px;padding-right:19px}.stadium-copy h1{font-size:35px}.stadium-actions{gap:12px}.stadium-actions .watch-cta,.football-page-head .watch-cta{padding:0 12px}.stadium-secondary{font-size:9px}.matchday-stat{gap:5px}.matchday-stat span{font-size:9px}.gbtn{padding:0 5px}}
/* Public effects respect OS preference; live score text remains visible and functional. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stadium-photo,.stadium-copy{opacity:1;transform:none}.gpop.gp-in{transform:translate(-50%,0)}.gpop.gp-out{transform:translate(-50%,-160%)}}

/* Football navigation and original editorial content — November 2026. */
html{scroll-padding-top:0}
.match-center-head{scroll-margin-top:8px}
.stadium-site .hdr-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding-top:13px;padding-bottom:11px}
.stadium-site .hdr-in>.brand{grid-column:1;grid-row:1;justify-self:start}
.stadium-site .hdr-act{grid-column:2;grid-row:1;margin-left:0}
.stadium-site .football-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;order:2;width:100%;padding:0;border:0;background:none}
.stadium-site .football-nav a{padding:8px 10px;min-height:40px;border-radius:6px;background:#152113;color:#bbc9ae;font-size:12px;text-align:center;line-height:1.5;white-space:normal}
.stadium-site .football-nav a[aria-current]{background:#b2ed4a16;color:var(--green);box-shadow:inset 0 0 0 1px #b2ed4a2c}
.stadium-site .football-nav a[aria-current]::after{left:22%;right:22%;height:1px;bottom:0}
.stadium-site .football-nav a:hover{background:#23321c;color:var(--green-l)}
.football-page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border:1px solid #435c32;border-radius:13px;background:linear-gradient(95deg,#111d12f5,#1b2416d9),url('../images/stadium-bg.webp') center 60%/cover}
.football-page-head>div{flex:1 1 400px;min-width:0}
.football-page-head h1{font-size:clamp(25px,3vw,36px);line-height:1.45;margin:7px 0 8px}
.football-page-head>div>p:last-child{font-size:13px;line-height:1.9;color:#becdb3;max-width:720px}
.football-widget{overflow:hidden;border-radius:12px;border:1px solid #3a4e2e;background:#0d1510}
.football-widget-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #304028;background:linear-gradient(100deg,#182618,#1d2014)}
.football-widget-bar h2{font-size:16px;line-height:1.5}
.football-widget-bar>span{font-size:11px;color:#b7c7a6;white-space:nowrap}
.football-frame iframe{max-width:100%;color-scheme:dark}
.football-article{border:1px solid #34482a;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#121d13,#0d150f 70%);margin-top:4px}
.football-article-head{padding:30px 38px;border-bottom:1px solid #304027;background:radial-gradient(ellipse at right top,#71602c1f,transparent 70%)}
.football-article-head h2{font-size:clamp(23px,2.5vw,30px);line-height:1.5;margin:12px 0}
.football-article-head>p:last-child{max-width:900px;font-size:14px;line-height:2;color:#c5d0bb}
.football-article-body{max-width:1010px;padding:6px 38px 32px;margin:0 auto}
.guide-section{padding:26px 0;border-bottom:1px solid #6c884324}
.guide-section h3,.guide-faq>h3,.football-guide-links h3{font-size:19px;line-height:1.6;color:#e2edcf;margin-bottom:12px;font-weight:600}
.guide-section p{font-size:14px;line-height:2.05;color:#b9c7ad;overflow-wrap:anywhere}
.guide-section p+p{margin-top:12px}
.guide-faq{padding-top:28px}
.guide-faq details{border:1px solid #3b4d2e;border-radius:8px;margin-top:10px;background:#132013}
.guide-faq summary{cursor:pointer;padding:14px 18px;color:#d7e6c6;font-size:14px;line-height:1.7}
.guide-faq summary::marker{color:var(--green)}
.guide-faq summary:focus-visible{outline:2px solid var(--green);outline-offset:-3px;border-radius:7px}
.guide-faq details p{font-size:13px;line-height:2;color:#b6c7aa;padding:0 18px 18px}
.football-guide-links{padding-top:28px}
.football-guide-links>div{display:flex;gap:8px;flex-wrap:wrap}
.football-guide-links a{display:inline-flex;align-items:center;gap:14px;padding:10px 13px;text-decoration:none;color:#cce4ac;border-radius:7px;border:1px solid #6f934a55;font-size:12px;background:#b2ed4a08}
.football-guide-links a:hover{background:#b2ed4a18;border-color:#a0ca68;color:#e7ffcc}
.football-guide-links a>span{color:var(--green)}
@media(max-width:800px){.stadium-site .football-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.stadium-site .football-nav a{font-size:11px;min-height:38px;padding:7px 5px}}
@media(max-width:640px){
 .stadium-site .hdr-in{gap:10px 6px;padding-top:11px;padding-bottom:10px}
 .stadium-site .hdr-act{display:flex;gap:5px;flex-wrap:nowrap}
 .stadium-site .football-nav{gap:5px}
 .stadium-site .football-nav a{font-size:11px;min-height:43px;padding:6px 4px;gap:4px}
 .stadium-site .football-nav a:nth-child(2){font-size:11px}
 .football-page-head{padding:22px 20px;gap:17px}
 .football-page-head h1{font-size:27px;margin:8px 0}
 .football-page-head>div>p:last-child{font-size:12px}
 .football-widget{border-radius:9px}
 .football-widget-bar{padding:12px 13px;flex-wrap:wrap;gap:5px}
 .football-widget-bar h2{font-size:14px}
 .football-widget-bar>span{font-size:10px}
 .football-article-head{padding:23px 20px}
 .football-article-head h2{font-size:23px;line-height:1.6}
 .football-article-head>p:last-child{font-size:13px;line-height:2}
 .football-article-body{padding:0 20px 24px}
 .guide-section{padding:23px 0}
 .guide-section h3,.guide-faq>h3,.football-guide-links h3{font-size:17px;line-height:1.7}
 .guide-section p{font-size:13px;line-height:2}
 .guide-faq summary{font-size:13px;padding:12px 14px}
 .guide-faq details p{font-size:12px;padding:0 14px 14px}
 .football-guide-links a{font-size:11px;padding:9px 10px;gap:8px}
}
@media(max-width:370px){.stadium-site .football-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.stadium-site .football-nav a{font-size:11px}.stadium-site .football-nav a:nth-child(2){font-size:11px}.football-article-head,.football-article-body{padding-left:17px;padding-right:17px}.football-page-head h1{font-size:24px}}

/* Consistent account actions and visible iframe loading progress. */
.stadium-site .hdr-act>.auth-btn{width:116px;flex:0 0 116px}
.loading-dots{display:inline-block;position:relative;width:1.8em;height:1.2em;margin-left:.1em;vertical-align:bottom;text-align:left}
.loading-dots>span{display:none;animation:none}
.loading-dots::after{content:"...";position:absolute;left:0;top:0;width:1.8em;font-family:monospace;letter-spacing:0;font-size:1em;font-weight:700;line-height:1.2em;animation:football-loading-dots 1.5s step-end infinite}
@keyframes football-loading-dots{0%{clip-path:inset(0 66.666% 0 0)}33.333%{clip-path:inset(0 33.333% 0 0)}66.666%{clip-path:inset(0 0 0 0)}}
@media(max-width:640px){.stadium-site .hdr-act>.auth-btn{width:86px;flex-basis:86px}}
@media(max-width:480px){
 .stadium-site .hdr-act>.auth-btn{width:76px;flex-basis:76px}
}
@media(max-width:370px){
 .stadium-site .hdr-act>.auth-btn{width:67px;flex-basis:67px;padding:0 5px}
}
@media(prefers-reduced-motion:reduce){.experience-charge>span,.loading-dots>span{animation:none!important;opacity:1}}

@keyframes matchday-charge{
 0%{clip-path:inset(0 84% 0 0)}
 25%{clip-path:inset(0 56% 0 0)}
 50%{clip-path:inset(0 28% 0 0)}
 75%{clip-path:inset(0 0 0 0)}
}
/* Reduced-motion uses slower discrete fill changes, without a moving light/glow. */
@media(prefers-reduced-motion:reduce){.stadium-bottom>span:first-child>i::after{animation:matchday-charge 4s step-end infinite!important;filter:none}}

/* Member link cards: league, fixture, status, then the editing fields. */
.mform.member-link-card{padding:22px;gap:18px;background:linear-gradient(135deg,#152015,#101910);border-color:#35492c;box-shadow:0 6px 22px #0002}
.mform.member-link-card.has{border-color:#789b3f}
.member-match-head{display:flex;flex-direction:column;gap:14px;min-width:0}
.member-league-row{display:flex;align-items:center;gap:9px 14px;flex-wrap:wrap}
.member-league{display:flex;align-items:center;gap:8px;color:#c4d5b2;font-size:12px;font-weight:600;flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
.member-league .logo{width:20px;height:20px}
.member-kickoff{font-size:12px;color:var(--amber);white-space:nowrap;font-variant-numeric:tabular-nums}
.member-fixture{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:12px;padding:15px 16px;border:1px solid #506c303d;border-radius:8px;background:#07120880;text-decoration:none;color:var(--text)}
.member-fixture:hover{border-color:#91bc4c;background:#1b2b1577}
.member-team{display:flex;align-items:center;gap:10px;min-width:0;font-size:16px;font-weight:600;line-height:1.6}
.member-team>span{overflow-wrap:anywhere}
.member-team .logo{width:30px;height:30px;flex:0 0 30px}
.member-vs{text-align:center;font:700 11px Arial,sans-serif;letter-spacing:1px;color:#9ba98d}
.member-link-status{display:flex;flex-wrap:wrap;align-items:center;min-height:24px;line-height:1.8}
.member-link-status .pill{white-space:normal}
.mform.member-link-card .row{border-top:1px solid #3b4e2d;padding-top:17px;gap:12px}
.mform.member-link-card .row .fld{flex:1 1 100%}
.mform.member-link-card .row .fld.lb{flex:1 1 140px}
.mform.member-link-card .member-submit{flex:1 1 200px;min-width:0}
.mform.member-link-card .member-submit .btn{min-height:42px}
@media(max-width:640px){
 .mform.member-link-card{padding:16px;gap:15px}
 .member-fixture{padding:13px 10px;gap:8px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}
 .member-team{flex-direction:column;gap:7px;font-size:13px;text-align:center}
 .member-league{font-size:11px;flex-basis:100%}
 .member-kickoff{font-size:11px}
 .member-match-head{gap:12px}
 .member-link-status .pill{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.loading-dots::after{animation:football-loading-dots 2.4s step-end infinite!important}}

/* Visible live heartbeat; the minute number still comes from the live data feed. */
.lvb:not(.brk) .lv{animation:none;opacity:1}
.lvb:not(.brk) .lv .dot{width:6px;height:6px;animation:live-dot-beat 1.6s ease-in-out infinite;box-shadow:0 0 6px #fff8}
.lvb:not(.brk) .js-min .tick{display:inline-block;color:#fff0d9;animation:live-minute-tick 1.2s step-end infinite}
@keyframes live-dot-beat{0%,100%{opacity:1;box-shadow:0 0 7px #fff9}50%{opacity:.18;box-shadow:0 0 0 #fff0}}
@keyframes live-minute-tick{0%{opacity:1}50%{opacity:0}}
@keyframes hero-edge-sweep{from{top:16px}to{top:calc(100% - 120px)}}
.stadium-hero.fx-paused::after{animation-play-state:paused}
.stadium-site .hdr-act>.member-action,.stadium-site .hdr-act>.member-logout{width:116px;flex:0 0 116px}
.stadium-site .member-logout>.member-action{width:100%}
@media(max-width:640px){.stadium-site .hdr-act>.member-action,.stadium-site .hdr-act>.member-logout{width:86px;flex-basis:86px}}
@media(max-width:480px){.stadium-site .hdr-act>.member-action,.stadium-site .hdr-act>.member-logout{width:76px;flex-basis:76px}}
@media(max-width:370px){.stadium-site .hdr-act>.member-action,.stadium-site .hdr-act>.member-logout{width:67px;flex-basis:67px}.stadium-site .hdr-act .member-action{padding:0 5px}}
@media(prefers-reduced-motion:reduce){
 .stadium-hero::after{animation:hero-edge-sweep 5s ease-in-out infinite alternate!important;box-shadow:0 0 10px #b2ed4a66}
 .stadium-hero.fx-paused::after{animation-play-state:paused!important}
 .lvb:not(.brk) .lv .dot{animation:live-minute-tick 2.4s step-end infinite!important;box-shadow:none}
 .lvb:not(.brk) .js-min .tick{animation:live-minute-tick 2.4s step-end infinite!important}
}

/* Short, deliberate lines keep the mobile hero copy easy to scan. */
.stadium-desc-mobile{display:none}
/* League and kickoff share the top line; status keeps its own space below. */
.mrow.match-timed{display:grid;grid-template-columns:142px minmax(0,1fr) auto;gap:14px 12px}
.match-topline{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding-bottom:10px;border-bottom:1px solid #9cbd6a18}
.match-topline .mleague{min-width:0;flex:1}
.match-topline .lg-logo{flex-shrink:0}
.match-league-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-kickoff{display:inline-flex;align-items:baseline;gap:5px;flex-shrink:0;white-space:nowrap;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:#e4edda}
.match-kickoff span,.match-kickoff small{font-size:10px;font-weight:400;color:#a4b39a}
.match-timed .mtime{width:auto;min-width:0}
.match-countdown{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:7px 9px;border:1px solid #a9d84e33;border-radius:7px;background:linear-gradient(120deg,#a9d84e19,#a9d84e08);white-space:nowrap;line-height:1.5;color:#d6edb7}
.countdown-label{font-size:10px;color:#afc796}
.countdown-digits{font-family:Anuphan,system-ui,sans-serif;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.035em;min-width:8.6ch;text-align:center}
.match-countdown.is-waiting{font-size:11px;color:#d9c592;border-color:#b8995738;background:#b8995710}
.match-timed .mmain{min-width:0}
.mrow.match-timed[data-state=upcoming]{grid-template-columns:minmax(0,1fr) auto}
.match-timed[data-state=upcoming] .mtime{grid-column:1/-1;align-items:center;justify-content:center}
.match-timed[data-state=upcoming] .match-countdown{align-self:center}
@media(max-width:800px){
 .mrow.match-timed{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .match-timed .mtime{grid-column:1/-1}
}
@media(max-width:640px){
 .mrow.match-timed,.mrow.match-timed[data-state=upcoming]{grid-template-columns:minmax(0,1fr);gap:12px}
 .match-topline{gap:8px;padding-bottom:9px}
 .match-kickoff{font-size:14px;gap:4px}
 .match-kickoff span{display:none}
 .match-timed .mtime,.match-timed .mmain,.match-timed .mside{grid-column:1/-1}
 .match-timed .mside{margin-left:0}
}
@media(max-width:640px){
 .stadium-desc-desktop{display:none}
 .stadium-desc-mobile{display:grid;gap:1px;font-size:13px;line-height:1.8;letter-spacing:0;text-wrap:balance}
 .stadium-desc-mobile>span{display:block}
}
