:root{--live-orange:#ff6500;--live-gold:#ffb326;--live-bg:#070706;--live-card:#10100f;--live-line:#29241d}.live-page{margin:0;background:var(--live-bg);color:#fff;font-family:"Kanit",sans-serif}.live-page *{box-sizing:border-box}.live-header{position:sticky;top:0;z-index:30;background:rgba(5,5,4,.94);backdrop-filter:blur(14px);border-bottom:1px solid #322717}.live-main{min-height:100vh}.live-hero{min-height:340px;padding:120px max(24px,calc((100vw - 1400px)/2)) 64px;background:radial-gradient(circle at 75% 30%,rgba(255,101,0,.2),transparent 30%),linear-gradient(90deg,#050505 25%,rgba(5,5,5,.75)),url("assets/football-hero.png") center 34%/cover}.live-hero .eyebrow,.section-kicker{margin:0 0 12px;color:var(--live-orange);font-size:12px;font-weight:800;letter-spacing:.28em}.live-pulse{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.7);animation:pulse 1.6s infinite}.live-hero h1{max-width:900px;margin:0;font-size:clamp(42px,6vw,84px);line-height:.92;font-weight:900;text-transform:uppercase}.live-hero h1 span{color:var(--live-orange)}.live-hero>p:last-child{max-width:680px;color:#c5c5c5;font-size:17px}.score-shell{width:min(1400px,calc(100% - 36px));margin:-28px auto 70px;padding:26px;background:#0b0b0a;border:1px solid var(--live-line);box-shadow:0 25px 70px #000}.score-topbar,.date-control,.score-tools{display:flex;align-items:center}.score-topbar{justify-content:space-between}.score-topbar h2{margin:0;font-size:34px}.update-note{display:flex;align-items:center;gap:9px;color:#aaa;font-size:13px}.update-note>span:first-child{width:9px;height:9px;border-radius:50%;background:#888}.update-note>span:first-child.online{background:#35d073;box-shadow:0 0 12px #35d073}.update-note>span:first-child.error{background:#ff5145}.date-control{justify-content:center;gap:10px;margin:24px 0;padding:12px;background:#111;border:1px solid #24221e}.date-control button,.score-tools button{height:44px;padding:0 18px;color:#fff;background:#181612;border:1px solid #45351e;font-family:inherit;font-weight:600;cursor:pointer}.date-control button:hover,.score-tools button:hover{border-color:var(--live-orange);color:var(--live-orange)}.date-control label{display:flex;align-items:center;gap:12px;color:#aaa}.date-control input{color:#fff;background:transparent;border:0;font:600 16px inherit;color-scheme:dark}.date-control .today-button{color:#111;background:var(--live-gold)}.status-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.status-tabs button{padding:14px;color:#aaa;background:#111;border:1px solid #28251f;font:500 15px inherit;cursor:pointer}.status-tabs button b{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:6px;border-radius:20px;background:#25221d;color:#fff;font-size:12px}.status-tabs button.active{border-color:var(--live-orange);color:#fff;background:linear-gradient(100deg,rgba(255,101,0,.18),#111)}.status-tabs i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e83b2f}.score-tools{gap:10px;margin-bottom:20px}.score-tools select,.search-box{height:46px;background:#111;border:1px solid #28251f;color:#ddd;font:400 14px inherit}.score-tools select{min-width:220px;padding:0 12px}.search-box{display:flex;align-items:center;flex:1;padding:0 15px}.search-box span{font-size:23px;color:#777}.search-box input{width:100%;padding:0 10px;border:0;outline:0;background:transparent;color:#fff;font:inherit}.score-state{padding:32px;text-align:center;color:#aaa}.score-state:empty{display:none}.score-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:18px;align-items:start}.league-list{display:grid;gap:14px}.league-card{overflow:hidden;border:1px solid #27241f;background:#0f0f0e}.league-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#15130f;border-bottom:1px solid #29251f}.league-head .league-rank{display:grid;place-items:center;width:28px;height:28px;background:var(--live-orange);color:#111;font-size:12px;font-weight:900}.league-head h2,.league-head h3{flex:1;margin:0;font-size:17px}.league-head span:last-child{color:#9a958c;font-size:12px}.match-row{display:grid;grid-template-columns:75px minmax(0,1fr) 95px 105px;align-items:center;min-height:74px;padding:9px 14px;border-bottom:1px solid #22201c;cursor:pointer;transition:.2s}.match-row:last-child{border:0}.match-row:hover,.match-row.selected{background:#19150f}.match-time{color:#bbb;font-size:13px}.match-status{display:block;color:#777;font-size:11px}.match-status.live{color:#ff5145}.team-pair{display:grid;gap:7px}.team{display:flex;align-items:center;gap:9px;min-width:0}.team img{width:24px;height:24px;object-fit:contain}.team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team b{margin-left:auto;color:#fff;font-size:18px}.match-score{text-align:center;color:var(--live-gold);font-size:18px;font-weight:800}.detail-button{padding:8px;color:#ddd;background:transparent;border:1px solid #3a3328;font:500 12px inherit}.match-detail{position:sticky;top:92px;min-height:340px;padding:22px;border:1px solid #30291f;background:linear-gradient(145deg,#15130f,#090909)}.detail-empty{padding:55px 20px;text-align:center;color:#888}.detail-empty span{font-size:42px}.detail-empty h3{margin:12px 0 6px;color:#fff}.detail-league{color:var(--live-orange);font-size:11px;font-weight:700;letter-spacing:.16em;text-align:center}.detail-teams{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin:24px 0;text-align:center}.detail-team img{width:58px;height:58px;object-fit:contain}.detail-team strong{display:block;margin-top:8px;font-size:14px}.detail-score strong{display:block;font-size:30px;color:var(--live-gold)}.detail-score span{font-size:12px;color:#999}.stats-title{padding-top:16px;border-top:1px solid #2e2921;font-size:14px}.stat-row{margin:14px 0}.stat-values{display:flex;justify-content:space-between;font-size:12px}.stat-values span:nth-child(2){color:#918b81}.stat-bars{display:flex;gap:3px;height:5px;margin-top:5px}.stat-bars i{display:block;background:var(--live-orange)}.stat-bars i:last-child{background:#444}.detail-source{margin-top:20px;color:#777;font-size:11px;text-align:center}.live-guide{width:min(1400px,calc(100% - 36px));margin:0 auto 80px}.live-guide>div:first-child{margin-bottom:24px}.live-guide h2{margin:0;font-size:clamp(32px,4vw,54px);line-height:1}.live-guide h2 span{color:var(--live-orange)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-grid article{padding:26px;background:#10100f;border:1px solid #29241d}.guide-grid article>b{color:var(--live-orange)}.guide-grid h3{font-size:19px}.guide-grid p{color:#aaa;line-height:1.7}.live-footer{padding:36px max(20px,calc((100vw - 1400px)/2));border-top:1px solid #28231c;color:#888;background:#050505}.live-footer{display:flex;align-items:center;justify-content:space-between;gap:28px}.live-footer p{max-width:500px;font-size:12px}.nav-toggle{display:none}@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
@media(max-width:900px){.live-header{flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto;color:#fff;background:#17130d;border:1px solid #513719;padding:8px 12px}.live-header .main-nav{display:none;order:3;width:100%;padding:12px 0;overflow-x:auto}.live-header.menu-open .main-nav{display:flex}.live-hero{min-height:310px;padding-top:105px}.score-shell{width:calc(100% - 20px);padding:14px}.score-layout{grid-template-columns:1fr}.match-detail{position:static}.guide-grid{grid-template-columns:1fr}.live-footer{align-items:flex-start;flex-direction:column}.status-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.live-header{padding:10px 14px}.live-header .brand small{display:none}.live-hero{padding:90px 18px 48px;background-position:62% center}.live-hero h1{font-size:39px}.live-hero>p:last-child{font-size:14px}.score-topbar{align-items:flex-start;flex-direction:column}.date-control{flex-wrap:wrap}.date-control label{order:-1;width:100%;justify-content:center}.score-tools{display:grid;grid-template-columns:1fr auto}.score-tools select{grid-column:1/-1;width:100%}.match-row{grid-template-columns:58px minmax(0,1fr) 58px;padding:9px}.match-row .detail-button{display:none}.team{font-size:13px}.match-score{font-size:15px}.detail-teams{grid-template-columns:1fr 70px 1fr}.guide-grid article{padding:20px}}

/* Compact live-score board */
.live-page .live-hero{text-align:center;background:#070706;min-height:auto;padding-bottom:52px}.live-page .live-hero h1{max-width:none;font-size:clamp(30px,4vw,54px);line-height:1.15;text-transform:none;color:#ffca55}.live-page .live-hero h1 span{color:#ffca55}.live-page .live-hero>p:last-child{margin:12px auto 0;font-size:13px}.live-page .score-shell{width:min(1180px,calc(100% - 28px));margin:-24px auto 70px;padding:0;border:0;background:transparent;box-shadow:none}.live-page .score-topbar{display:none}.live-page .date-control{margin:0;padding:14px;border:1px solid #765923;border-radius:16px 16px 0 0;background:#18150d}.live-page .status-tabs{margin:0;padding:0 14px 12px;background:#18150d;border-left:1px solid #765923;border-right:1px solid #765923}.live-page .status-tabs button{padding:9px;border-radius:22px;border-color:#765923}.live-page .score-tools{margin:0 0 24px;padding:0 14px 14px;background:#18150d;border:1px solid #765923;border-top:0;border-radius:0 0 16px 16px}.live-page .score-tools select,.live-page .search-box,.live-page .score-tools button{height:40px;border-radius:22px;border-color:#765923}.live-page .score-layout{display:block}.live-page .league-list{gap:24px}.live-page .league-card{border-color:#765923;border-radius:16px;background:#111311}.live-page .league-head{padding:13px 20px;background:linear-gradient(90deg,#2a2110,#14130f);border-color:#765923;color:#ffd264}.live-page .league-head .league-rank{border-radius:50%;background:#e9b84f}.live-page .match-row{grid-template-columns:minmax(160px,1fr) 70px minmax(160px,1fr) 65px 100px 120px;gap:10px;min-height:68px;padding:10px 20px}.live-page .match-team{display:flex;align-items:center;gap:10px;min-width:0;font-weight:600}.live-page .match-team img{width:34px;height:34px;object-fit:contain}.live-page .match-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-page .match-score{font-size:14px}.live-page .match-time{text-align:center;color:#fff;font-weight:600}.live-page .match-status{padding:8px 10px;border-radius:20px;text-align:center;background:#f1a426;color:#17120a;font-weight:600}.live-page .match-status.live{background:#e83232;color:#fff}.live-page .match-status.finished{background:#555;color:#fff}.live-page .watch-link{padding:8px 10px;border:1px solid #ff4351;border-radius:20px;background:#c81729;color:#fff;text-align:center;text-decoration:none;font-size:11px;font-weight:600}.live-page .watch-link:hover{background:#f12539}.live-page .match-detail[hidden]{display:none}
@media(max-width:760px){.live-page .live-hero{padding:90px 15px 42px}.live-page .live-hero h1{font-size:30px}.live-page .status-tabs{grid-template-columns:1fr 1fr}.live-page .match-row{grid-template-columns:minmax(0,1fr) 104px 104px;gap:8px;padding:10px}.live-page .match-team{font-size:12px}.live-page .match-team img{width:27px;height:27px}.live-page .match-time{grid-column:1;font-size:11px}.live-page .match-status,.live-page .watch-link{display:grid;place-items:center;width:104px;height:34px;margin:0;padding:0 5px;font-size:9px;line-height:1.2;white-space:nowrap}.live-page .match-status{grid-column:2}.live-page .watch-link{grid-column:3}.live-page .score-tools{grid-template-columns:1fr}.live-page .score-tools button{width:100%}}

@media(max-width:760px){.live-page{width:100%;max-width:100vw;overflow-x:hidden}.live-page .live-hero h1{font-size:clamp(28px,8vw,36px);overflow-wrap:anywhere}.live-page .live-hero>p:last-child{max-width:350px}.live-page .score-shell{width:calc(100% - 20px)}.live-page .date-control{padding:12px 8px}.live-page .date-control button{padding-inline:15px}.live-page .status-tabs{padding-inline:8px}.live-page .status-tabs button{min-width:0;padding:9px 4px;font-size:12px}.live-page .score-tools{padding-inline:8px}.live-page .league-head{padding-inline:12px}.live-page .match-team span{white-space:normal;line-height:1.25}.live-guide{width:calc(100% - 24px)}}
@media(max-width:760px){.live-page .match-row{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto auto auto;gap:11px 6px;min-height:0;padding:12px 10px 14px;text-align:center}.live-page .match-time{grid-column:1/-1;grid-row:1;display:block;width:max-content;min-width:74px;margin:0 auto;padding:4px 12px;border:1px solid #4e3c20;border-radius:999px;background:#19150e;color:#ffd063;font-size:12px;font-weight:800}.live-page .match-home{grid-column:1/3;grid-row:2}.live-page .match-score{grid-column:3/5;grid-row:2;align-self:center}.live-page .match-away{grid-column:5/7;grid-row:2}.live-page .match-team{justify-content:center;gap:6px;text-align:center}.live-page .match-team img{flex:0 0 auto}.live-page .match-team span{overflow:visible;font-size:12px;font-weight:700;text-overflow:clip}.live-page .match-status,.live-page .watch-link{width:100%;min-width:0;height:44px;font-size:10px;font-weight:700}.live-page .match-status{grid-column:1/4;grid-row:3}.live-page .watch-link{grid-column:4/7;grid-row:3}.live-page .match-status.finished{grid-column:1/4}}
@media(max-width:760px){.live-page .match-status,.live-page .watch-link{width:min(38vw,150px);height:38px;border-radius:19px;font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif;font-size:10.5px;font-weight:400;line-height:1}.live-page .match-status{justify-self:end}.live-page .watch-link{justify-self:start}}
.live-page .match-row{grid-template-columns:minmax(160px,1fr) 70px minmax(160px,1fr) 65px 100px 120px}.live-page .match-register{display:grid;place-items:center;width:120px;height:38px;padding:0 10px;border:1px solid #f3bd45;border-radius:999px;background:linear-gradient(135deg,#ef3340,#d9162d 55%,#b80720);color:#fff;box-shadow:inset 0 1px #ffe59a66,0 0 10px #e7a82b26;font:400 12px "Kanit",sans-serif;white-space:nowrap;cursor:pointer}.live-page .match-register:hover{border-color:#ffd66b;filter:brightness(1.12)}
@media(max-width:760px){.live-page .match-row{grid-template-columns:repeat(6,minmax(0,1fr))}.live-page .match-status,.live-page .match-status.finished{grid-column:1/4;justify-self:end}.live-page .match-register{grid-column:4/7;grid-row:3;justify-self:start;width:min(38vw,150px);height:38px;font-size:10.5px}}
.live-page .match-row button.match-register{color:#fff!important;font-weight:400!important;text-shadow:none!important}

/* กันพื้นที่ให้ตารางบอลก่อนข้อมูลมาถึง ไม่งั้นเนื้อหาใต้ตารางถูกดันลงทีเดียว (CLS 0.29 บนเดสก์ท็อป)
   พอวาดรายการจริงแล้วค่านี้ไม่มีผลอีก เพราะรายการสูงกว่าอยู่แล้ว */
#leagueList:not([data-loaded]){min-height:min(1200px,130vh)}
