:root{
  --bg:#07120f;--panel:#10201b;--panel2:#142820;--line:#29443a;
  --text:#f7fbf9;--muted:#a8c0b7;--accent:#e6b44a;--success:#62d19a;--radius:18px
}
*{box-sizing:border-box}
html{color-scheme:dark;overflow-x:hidden}
body{margin:0;min-width:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#102a21 0,#07120f 36rem);color:var(--text);overflow-x:hidden}
header,footer,main{width:min(100%,1560px);margin:auto;padding:20px}
header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:68px}
a{color:inherit;text-decoration:none}.brand{font-weight:900;letter-spacing:-.02em}
.hero{padding:64px 20px 46px}.hero.compact{padding-bottom:28px}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800}
.hero h1{font-size:clamp(2rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.05em;margin:.18em 0;max-width:950px}
.hero p{color:var(--muted);font-size:1.05rem;max-width:860px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.card,.table-card,.match,.empty{min-width:0;background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.table-card{overflow:hidden}
.card{transition:transform .16s ease,border-color .16s ease}.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card h2{font-size:1.45rem;margin:18px 0 8px}.card p,.empty p{color:var(--muted)}
.card-topline,.meta-row,.edition-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card-topline{justify-content:space-between}
.badge,.status,.meta-row span,.edition-summary span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.78rem;color:var(--muted)}
.badge{color:var(--accent)}.status-live{color:var(--success)}.meta-row{margin-top:18px}
.section-heading{margin:36px 0 14px}.section-heading h2{margin:3px 0;font-size:clamp(1.6rem,4vw,2.4rem)}
.table-card h3{font-size:1.35rem;margin:6px 0 14px}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
table{width:100%;border-collapse:collapse;table-layout:auto;min-width:650px}
th,td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--line);font-size:.86rem;white-space:nowrap}
th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.02em}
th:nth-child(2),td.team-name{text-align:left}
.team-name{min-width:180px;max-width:260px}
.team-with-flag{display:inline-flex!important;align-items:center!important;gap:8px!important;min-width:0;max-width:100%;vertical-align:middle}
.team-flag,.team-with-flag>img{display:block!important;width:28px!important;height:20px!important;min-width:28px!important;max-width:28px!important;min-height:20px!important;max-height:20px!important;object-fit:contain!important;object-position:center!important;flex:0 0 28px!important;border-radius:2px}
.team-with-flag>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flag-emoji{display:inline-block;font-size:1.1rem;line-height:1;flex:0 0 auto}
.bracket{display:flex;gap:18px;overflow-x:auto;padding:4px 0 18px;scrollbar-width:thin}.round{min-width:290px;flex:1}.round>h3{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.round .match{margin-bottom:16px}.match div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;min-width:0}.match div+div{border-top:1px solid var(--line)}
.match div>span{min-width:0}.match .team-with-flag{max-width:210px}.match small,footer{color:var(--muted)}
.edition-summary{margin-top:18px}.empty{grid-column:1/-1;color:var(--muted)}
@media(max-width:980px){.groups{grid-template-columns:1fr}header,footer,main{padding-left:16px;padding-right:16px}.hero{padding-left:0;padding-right:0}}
@media(max-width:600px){header,main,footer{padding:14px}.hero{padding:36px 0 28px}.grid,.groups{grid-template-columns:1fr}.bracket{scroll-snap-type:x mandatory}.round{min-width:88vw;scroll-snap-align:start}.card,.table-card,.match,.empty{border-radius:14px;padding:14px}.table-wrap{margin:0 -2px;width:calc(100% + 4px)}table{min-width:620px}th,td{padding:9px 7px;font-size:.82rem}.team-name{min-width:160px}.team-flag,.team-with-flag>img{width:24px!important;height:17px!important;min-width:24px!important;max-width:24px!important;min-height:17px!important;max-height:17px!important;flex-basis:24px!important}input,select,textarea,button{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
