﻿/* BAANBALL / Stadium theme */
:root,[data-theme=dark]{--bg:#0b1220;--sidebar:#101b2d;--panel:#131f32;--panel2:#19283e;--border:#26364d;--text:#f2f6fc;--muted:#a1b0c5;--hover:#20324b;--accent:#bcf45a;--shadow:0 12px 34px #02081726}
[data-theme=light]{--bg:#f0f4fa;--sidebar:#101b2d;--panel:#fff;--panel2:#f6f8fc;--border:#dfe6f0;--text:#14253d;--muted:#65758c;--hover:#eaf0f8;--accent:#3b7418;--shadow:0 10px 30px #18345909}
body{background:radial-gradient(ellipse at 90% 0,#5484b510,transparent 45%),var(--bg);font-size:15px}
.sidebar{width:248px;padding:26px 20px 20px;background:linear-gradient(165deg,#14233a,#0d1727 80%);border-right:1px solid #24344b;color:#e4ecf8}
.app-shell{margin-left:248px}.brand{gap:10px;align-items:stretch}.brand>.brand-logo{width:100%;padding:11px;background:#f7faf2;border:1px solid #ffffff20;border-radius:14px;box-shadow:0 6px 18px #0002}.brand>small{color:#a6b9ce;font-size:11px;letter-spacing:.5px;margin-left:3px}
.sidebar .side-caption{color:#8da4bf;font-size:9px;letter-spacing:1.8px;margin:23px 3px 18px}.side-nav{gap:8px}
.sidebar .side-link{color:#b7c7dc;padding:14px 13px;border-radius:11px;font-size:13px;font-weight:500;transition:background .18s,color .18s}
.sidebar .side-link.active{background:#bcf45a;color:#142710;box-shadow:0 5px 18px #bcf45a18;font-weight:700}.sidebar .side-link:hover:not(.active){background:#21324a;color:#fff}.side-dot{background:#2d5c11}.sidebar .side-section-title{color:#a5b8d0;font-size:11px;letter-spacing:.4px}.sidebar .side-section-title span{color:#7e95b2}
.sidebar .league-button{color:#b7c7dc;padding:11px 12px;border-radius:10px;font-size:12px}.sidebar .league-button:hover,.sidebar .league-button.active{background:#22364a;color:#c5f887;box-shadow:inset 3px 0 #bcf45a}.sidebar .league-symbol{background:#ffffff0d;color:#d6e6f8}.sidebar .side-bottom p,.sidebar .side-bottom-note{color:#91a6c0}.sidebar>.league-nav{scrollbar-color:#425772 transparent}
.topbar{height:76px;background:var(--panel);padding:0 36px;border-bottom:1px solid var(--border)}.breadcrumb{font-size:12px}.breadcrumb strong,[data-theme=light] .breadcrumb strong{color:var(--text)}.thai-time{font-size:11px;letter-spacing:.5px}.avatar{background:#bcf45a;border:3px solid #bcf45a33;color:#183314;font-weight:700}.icon-button{background:var(--panel2);border-radius:12px;color:var(--text)}
main{max-width:1540px;padding:32px 36px 0}.page-heading{margin-bottom:25px}h1{font-size:35px;font-weight:800;line-height:1.35;letter-spacing:-1.2px;margin:10px 0}.page-heading p{font-size:13px}.eyebrow{font-size:9px;letter-spacing:2px}.heading-dot{color:#6daf2f}.today-stamp{font-size:12px;color:var(--text)}.today-stamp strong{font-size:10px}
.hero{min-height:292px;padding:32px 38px;border:1px solid #314a66;border-radius:22px;background:radial-gradient(ellipse at 85% 40%,#3e813a4d,transparent 48%),linear-gradient(112deg,#101e35 10%,#142e3b 65%,#1d3e35);box-shadow:0 14px 36px #07142518;gap:28px}
.hero:before{content:'';position:absolute;width:5px;inset:32px auto 32px 0;background:#bcf45a;border-radius:0 5px 5px 0}.hero-kicker{display:inline-flex;padding:5px 10px;border:1px solid #bcf45a42;border-radius:6px;background:#bcf45a0a;color:#d1f99a;font-size:9px;letter-spacing:2px}.hero h2{font-size:34px;font-weight:700;line-height:1.45;margin:14px 0 12px;color:#fff}.hero h2 span{color:#bcf45a}.hero p{color:#b4c7d8;font-size:12px;max-width:440px}.hero .hero-button{position:static;background:#bcf45a;color:#192b10;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:700;margin-top:20px;box-shadow:0 6px 18px #bcf45a16}.hero-button:hover{background:#d0ff7e;transform:translateY(-1px)}.hero-watermark{font-size:270px;color:#c2f49309;right:5px;bottom:-55px}.hero-pitch{border-color:#a5dca324;background:repeating-linear-gradient(90deg,#c2eec505 0 60px,transparent 60px 120px);width:650px;height:420px;right:-80px;top:-65px}
.hero .spotlight{width:330px;max-width:45%;padding:23px;background:#09192c99;border:1px solid #a0c4cd30;border-radius:18px;box-shadow:0 14px 28px #0002}.spotlight-caption{font-size:11px;color:#d6e5ed}.spotlight-league{color:#9fb6ca;font-size:11px;margin:20px 0 16px}.spotlight-team{font-size:12px;color:#eef5fb;gap:10px}.spotlight-team .team-crest{width:49px;height:49px;background:#ffffff08;padding:4px;border-radius:14px}.spotlight-score strong{font-size:36px;font-weight:700;letter-spacing:2px}.spotlight-score small{color:#bcf45a;font-size:10px}.spotlight-bottom{color:#9aafc2;font-size:10px;margin-top:20px}
.content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px;margin-top:30px}.section-heading h2{font-size:19px;font-weight:700}.section-heading h2>span{border:0;background:var(--hover);color:var(--text);border-radius:7px;font-size:12px;padding:4px 8px}.refresh-button{font-size:12px}.date-toolbar{padding:8px;border-radius:15px;box-shadow:var(--shadow);gap:4px}.date-item{padding:10px 2px;border-radius:10px;gap:5px}.date-item small{font-size:10px}.date-item strong,[data-theme=light] .date-item strong{font-size:20px;color:var(--text);font-weight:600}.date-item.active,[data-theme=light] .date-item.active{background:#142941;color:#c1d1e4;box-shadow:0 4px 12px #10294222}.date-item.active strong,[data-theme=light] .date-item.active strong{color:#bcf45a}.date-arrow{color:var(--text)}
.match-toolbar{padding:20px 0 14px;gap:12px}.filter-tabs{background:var(--panel);border:1px solid var(--border);padding:4px;border-radius:11px;gap:3px}.filter-tabs button{padding:8px 11px;font-size:12px;border-radius:7px}.filter-tabs button.active,[data-theme=light] .filter-tabs button.active{background:#173047;color:#c7f791;font-weight:600}.filter-tabs button.active span,[data-theme=light] .filter-tabs button.active span{color:#c7f791}.search{background:var(--panel);border-radius:10px;padding:11px 12px;width:190px}.search input{font-size:11px}.data-status{font-size:11px;color:var(--muted)}
.league-group{border-radius:15px;box-shadow:var(--shadow);margin-bottom:18px}.league-group-header{padding:14px 17px;background:var(--panel2)}.league-group-header h3{font-size:14px;font-weight:600}.league-group-header small{font-size:10px}.league-game-count{font-size:11px}.match-row{padding:17px 14px;gap:10px}.match-team,[data-theme=light] .match-team{font-size:14px;font-weight:500;color:var(--text)}.match-teams{gap:10px}.match-team .team-crest{width:23px;height:23px}.match-time{font-size:12px;color:var(--muted)}.match-time small{font-size:9px;color:var(--muted)}.match-scores{font-size:15px;gap:9px}.match-scores span,[data-theme=light] .match-scores span{width:32px;height:25px;border-radius:6px;color:var(--text);background:var(--panel2)}.match-scores .winner,[data-theme=light] .match-scores .winner{color:var(--accent);background:var(--hover)}.favorite-button{color:#8193aa}.detail-button{color:#8193aa}
.rail-card{border-radius:17px;padding:23px;background:var(--panel);box-shadow:var(--shadow)}.day-summary{position:relative;overflow:hidden;border-top:3px solid #97ce43}.day-summary:after{content:'90';position:absolute;right:-8px;top:33px;font:800 130px/1 'Outfit';color:var(--muted);opacity:.055;pointer-events:none}.day-summary .eyebrow{font-size:8px;letter-spacing:1.7px}.day-summary h2{font-size:25px;font-weight:600}.summary-main strong,[data-theme=light] .summary-main strong{font-size:68px;font-weight:700;color:var(--text);letter-spacing:-3px}.summary-main>span{font-size:11px}.summary-mini strong{font-size:20px}.summary-mini>div>span:last-child{font-size:10px}.rail-card-heading h3{font-weight:600;font-size:15px}.rail-card p{font-size:12px}.rail-link,[data-theme=light] .rail-link{background:var(--hover);color:var(--text);font-size:12px;padding:11px 12px;border-radius:9px}.source-card h3{font-size:15px}.source-card p{font-size:11px}.source-updated,.demo-switch{font-size:10px;color:var(--muted)}.source-card>small{font-size:9px;color:var(--muted)}.source-badge{font-size:8px}.scores-footer{color:var(--muted)}.footer{color:var(--muted);font-size:10px}.footer-brand{color:var(--text)}
@media(min-width:1600px){.hero{min-height:310px}.hero h2{font-size:38px}}
@media(max-width:1200px){.sidebar{width:220px;padding:24px 16px}.app-shell{margin-left:220px}main{padding:27px 25px 0}.topbar{padding:0 25px}.content-layout{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.hero{padding:28px;gap:20px}.hero h2{font-size:29px}.hero .spotlight{width:275px;padding:19px}.match-toolbar{flex-wrap:wrap}.search{width:100%}.filter-tabs{max-width:100%}.rail-card{padding:20px}.match-row{grid-template-columns:24px 38px minmax(0,1fr) 35px 16px;gap:7px;padding:15px 10px}}
@media(max-width:980px){.content-layout{grid-template-columns:minmax(0,1fr)}.hero h2{font-size:27px}.hero{padding:26px}.hero .spotlight{width:245px;padding:17px}.spotlight-score strong{font-size:29px}.hero p{font-size:11px}.filter-tabs button{padding:8px 10px}}
@media(max-width:760px){.sidebar{width:248px}.app-shell{margin-left:0}.topbar{height:70px;padding:0 20px}.topbar-left{gap:12px}.topbar-actions{gap:9px}main{padding:26px 20px 0}.mobile-brand .brand-logo{width:145px;padding:5px;background:#f7faf2}h1{font-size:30px}.hero{min-height:270px}.hero h2{font-size:28px}.page-heading p{font-size:12px}.toast{left:50%}}
@media(max-width:520px){main{padding:24px 14px 0}.topbar{padding:0 14px}.page-heading{margin-bottom:22px}h1{font-size:29px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero{padding:24px 21px;gap:24px;border-radius:18px}.hero h2{font-size:30px}.hero p{font-size:12px;line-height:1.8}.hero .hero-button{padding:10px 14px;margin-top:17px;font-size:11px}.hero .spotlight{width:100%;max-width:100%;padding:18px}.spotlight-league{margin:14px 0}.spotlight-score strong{font-size:32px}.spotlight-bottom{margin-top:14px}.spotlight-team .team-crest{width:42px;height:42px}.hero-watermark{bottom:50px}.content-layout{margin-top:26px}.section-heading h2{font-size:18px}.date-toolbar{padding:5px;gap:0}.date-item{padding:9px 0}.date-item small{font-size:8px}.date-item strong{font-size:18px}.date-arrow{width:19px}.calendar-control{width:21px}.filter-tabs{justify-content:space-between}.filter-tabs button{padding:8px;font-size:11px}.match-toolbar{gap:11px}.search{width:100%}.match-row{grid-template-columns:23px 34px minmax(0,1fr) 32px 13px;gap:6px;padding:15px 8px}.match-team,[data-theme=light] .match-team{font-size:12px;gap:7px}.match-time{font-size:11px}.match-scores span{width:27px}.league-group-header{padding:13px}.league-group-header h3{font-size:13px}.footer{font-size:9px;flex-wrap:wrap}}
@media(max-width:380px){.mobile-brand .brand-logo{width:115px}.topbar-left{gap:8px}.avatar{width:29px;height:29px}.hero h2{font-size:27px}.filter-tabs button{padding:8px 6px}}
