:root{font-size:16px;--bg: #0b0f17;--panel: #111827;--line: #1b2433;--text: #e8edf5;--muted: #56708f;--accent: #ffd25a;--live: #ff5a5a;--strong: #ffffff;--title: #8fa6c4}:root[data-theme=light]{--bg: #f4f6fb;--panel: #ffffff;--line: #d7deea;--text: #1a2230;--muted: #5a6b82;--accent: #b8860b;--live: #d62828;--strong: #0b0f17;--title: #3a4a63}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif}#app{display:flex;flex-direction:column;height:100vh;padding:1vh 1.8vw 1vh 1vw;gap:1vh}.groups{flex:1;display:grid;grid-template-columns:repeat(var(--cols, 2),1fr);grid-template-rows:repeat(var(--rows, 6),1fr);gap:.6vh 2vw;min-height:0}.group-card{display:flex;flex-direction:column;min-height:0}.group-title{margin:0 0 .3vh;font-size:clamp(11px,1.4vh,18px);letter-spacing:1px;text-transform:uppercase;color:var(--title);border-bottom:1px solid var(--line);padding-bottom:.2vh}.standings{width:100%;border-collapse:collapse}.standings th{font-size:clamp(8px,1vh,12px);color:var(--muted);font-weight:600;text-align:right;padding:.1vh .4vw}.standings th:nth-child(3){text-align:left}.standings td{font-size:clamp(10px,1.3vh,16px);text-align:right;padding:.15vh .4vw}.standings td.rank{color:var(--muted)}.standings td.team{text-align:left;font-weight:600}.standings td.pts{color:var(--accent);font-weight:700}.standings tr.advancing td{color:var(--strong)}.flag-cell{width:1.6em}.flag{width:1.6em;height:1.1em;border-radius:2px;vertical-align:middle;object-fit:cover}.flag-fallback{font-size:.8em;color:var(--muted)}.scores{background:var(--panel);border-radius:8px;padding:.8vh 1vw;display:flex;align-items:center;overflow:hidden;white-space:nowrap;flex-shrink:0}.match{display:inline-flex;gap:.4em;align-items:baseline;font-size:clamp(11px,1.6vh,18px);margin-right:1.6vw}.match .score{font-weight:700;color:var(--strong)}.match.live .score{color:var(--live)}.match.upcoming .score{color:var(--muted)}.standings tr.row--highlight td{background:color-mix(in srgb,var(--accent) 18%,transparent)}.standings tr.row--highlight td.team{box-shadow:inset 3px 0 0 var(--accent)}#app[data-fit=on]{overflow:hidden}#app[data-fit=on] .groups{flex:0 0 auto;grid-template-rows:repeat(var(--rows, 6),min-content);align-content:start}#app[data-fit=on] .group-title{font-size:1.05rem}#app[data-fit=on] .standings th{font-size:.7rem}#app[data-fit=on] .standings td{font-size:.95rem}#app[data-fit=on] .match{font-size:1.05rem}.ticker-track{display:inline-flex;flex:none;animation:ticker-scroll var(--ticker-duration, 40s) linear infinite;will-change:transform}.ticker-copy{display:inline-flex}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}#app[data-view=bracket] #groups,#app[data-view=bracket] #scores{display:none!important}.bracket-view{flex:1;display:flex;flex-direction:column;min-height:0;color:var(--text)}.bracket-title{font-size:clamp(11px,1.6vh,20px);letter-spacing:1px;text-transform:uppercase;color:var(--title);text-align:center;margin:0 0 .6vh}.bboard{flex:1;display:flex;min-height:0}.bside{display:flex;flex:4;min-height:0}.bcol{display:flex;flex-direction:column;flex:1;min-width:0}.bcol.final{flex:1}.bcol-label{text-align:center;font-size:clamp(7px,1vh,11px);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.3vh;height:1.2em}.bcol-cells{flex:1;display:flex;flex-direction:column;min-height:0}.bcell{flex:1;display:flex;align-items:center;position:relative;padding:.3vh .4vw;min-height:0}.bm{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:5px;overflow:hidden}.bm.live{border-color:var(--live)}.bm.final-box{border-color:var(--accent)}.bm-row{display:flex;align-items:center;gap:.4em;padding:.25vh .4vw;font-size:clamp(8px,1.15vh,14px);line-height:1.15}.bm-row+.bm-row{border-top:1px solid var(--line)}.bm-flag{width:1.5em;height:1em;object-fit:cover;border-radius:2px;flex:none}.bm-flagph{width:1.5em;height:1em;border-radius:2px;background:var(--line);flex:none}.bm-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-row.tbd .bm-name{color:var(--muted);font-style:italic}.bm-score{color:var(--strong);font-variant-numeric:tabular-nums;min-width:1em;text-align:right}.bm.live .bm-score{color:var(--live);font-weight:700}.bm-caption{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-size:clamp(9px,1.3vh,16px);padding:.15vh .4vw;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-caption.rotating{width:9em;box-sizing:border-box}.bcol.final .bcol-cells{justify-content:center}.bfinal-cell{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.6vh}.btrophy{font-size:clamp(16px,3vh,28px)}.bthird{font-size:clamp(7px,1vh,11px);color:var(--muted)}.bside.left .bcol:not(.r32) .bcell:before,.bside.right .bcol:not(.r32) .bcell:before{content:"";position:absolute;top:50%;width:.4vw;height:2px;background:var(--line)}.bside.left .bcol:not(.r32) .bcell:before{left:0}.bside.right .bcol:not(.r32) .bcell:before{right:0}.bside.left .bcol:not(.sf) .bcell:nth-child(odd):after,.bside.right .bcol:not(.sf) .bcell:nth-child(odd):after{content:"";position:absolute;top:50%;height:100%;width:2px;background:var(--line)}.bside.left .bcol:not(.sf) .bcell:nth-child(odd):after{right:0}.bside.right .bcol:not(.sf) .bcell:nth-child(odd):after{left:0}.bfocus{flex:1;display:flex;gap:1vw;min-height:0}.bfocus-main{flex:2.4;display:flex;flex-direction:column;gap:1vh;min-height:0;justify-content:center}.bfocus-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.4vh 1.4vw;display:flex;align-items:center;justify-content:space-between;gap:1vw}.bfocus-card.live{border-color:var(--live)}.bfocus-side{display:flex;align-items:center;gap:.6em;font-size:clamp(14px,2.4vh,26px);font-weight:600;flex:1}.bfocus-side.away{justify-content:flex-end;text-align:right}.bfocus-side img{width:1.6em;height:1.1em;object-fit:cover;border-radius:2px}.bfocus-mid{text-align:center;min-width:5em}.bfocus-vs{font-size:clamp(16px,2.8vh,30px);font-weight:700;color:var(--strong)}.bfocus-card.live .bfocus-vs{color:var(--live)}.bfocus-caption{font-size:clamp(8px,1.1vh,13px);color:var(--muted);margin-top:.3vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bfocus-rail{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1vh;display:flex;flex-direction:column;gap:.2vh}.brail-round{font-size:clamp(7px,1vh,11px);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:.6vh}.brail-dots{display:flex;gap:.3vw;flex-wrap:wrap}.brail-dot{width:.8vw;height:.8vw;min-width:8px;min-height:8px;border-radius:2px;background:var(--line)}.brail-dot.done{background:var(--muted)}.brail-dot.live{background:var(--live)}#app[data-fit=on] .bracket-title{font-size:.8rem}#app[data-fit=on] .bcol-label{font-size:.45rem}#app[data-fit=on] .bcell{padding:.22em .4vw}#app[data-fit=on] .bm-row{font-size:.72rem;padding:.16em .45em}#app[data-fit=on] .bm-caption{font-size:.5rem;padding:.1em .4em}#app[data-fit=on] .btrophy{font-size:1.5rem}#app[data-fit=on] .bthird{font-size:.5rem}
