:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#071d22;color:#102126;--ink: #102126;--muted: #65747b;--line: #d7e0df;--paper: #f8fbf6;--panel: #ffffff;--pitch: #0c5c45;--pitch-dark: #073d36;--lime: #d6ff63;--mint: #1ed29c;--gold: #ffc857;--coral: #f0604d;--blue: #2161a8}*{box-sizing:border-box}body{margin:0}button{font:inherit}.app{background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0 / 72px 72px,linear-gradient(180deg,#0c302f,#071d22 340px,#eef3ef 340px,#eef3ef);min-height:100vh;padding:22px}.loading-screen{align-items:center;color:#fff;display:grid;gap:14px;justify-items:center;place-content:center}.loading{color:#d8ebe7;font-weight:700}.topbar,.groups-section,.knockout-section,.model-glossary{margin:0 auto;max-width:1800px}.topbar{align-items:center;color:#fff;display:flex;gap:24px;justify-content:space-between;margin-bottom:18px}.brand{align-items:center;display:flex;gap:14px;min-width:0}.logo{flex:0 0 auto;height:74px;width:74px}.eyebrow{color:var(--lime);font-size:12px;font-weight:900;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.topbar h1{font-size:clamp(34px,5vw,64px);line-height:.95;margin:0 0 5px}.brand p{color:#c8dfdc;font-size:14px;font-weight:800;margin:0}.top-actions{align-items:center;display:flex;gap:12px}.next-matches{background:#f8fbf6f0;border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:0 16px 40px #0000002e;color:var(--ink);max-width:min(720px,52vw);min-width:360px;padding:10px 12px}.next-matches>span{color:var(--muted);display:block;font-size:12px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.next-matches div{display:flex;flex-wrap:wrap;gap:6px}.next-matches strong{background:#edf6f1;border:1px solid #dce8df;border-radius:999px;color:#0e463b;display:inline-block;font-size:12px;max-width:100%;overflow-wrap:anywhere;padding:5px 8px}.refresh,.drawer-header button{background:var(--lime);border:0;border-radius:8px;color:#0b2326;cursor:pointer;font-weight:900;min-height:44px;padding:0 18px}.refresh:disabled{cursor:wait;opacity:.65}.groups-section{align-items:start;display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:16px}.knockout-section{display:block}.group-rail,.pitch-panel,.bracket-pane,.drawer{background:#fffffff0;border:1px solid rgba(14,44,42,.12);border-radius:8px;box-shadow:0 18px 45px #0d242224}.group-rail,.pitch-panel,.bracket-pane{min-width:0;padding:14px}.rail-header,.section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.rail-header span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.rail-header>div{align-items:center;display:flex;gap:10px}.rail-header strong{background:var(--ink);border-radius:999px;color:#fff;min-width:34px;padding:6px 10px;text-align:center}.group-tabs{display:grid;gap:8px;grid-template-columns:repeat(12,minmax(0,1fr))}.group-tab{align-items:center;background:#f4f7f2;border:1px solid #dce5df;border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:3px;grid-template-columns:34px minmax(0,1fr);min-height:48px;padding:8px;text-align:left}.group-tab span{align-items:center;background:#fff;border:1px solid #dce5df;border-radius:999px;display:inline-grid;font-weight:900;height:30px;justify-items:center;width:30px}.group-tab small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-tab.active{background:#092f2e;border-color:#092f2e;color:#fff}.group-tab.active span{background:var(--lime);border-color:var(--lime);color:#082225}.group-tab.active small{color:#c8e6df}.section-heading h2{font-size:26px;line-height:1.05;margin:0}.leader-strip{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.leader{border-radius:999px;font-size:12px;font-weight:800;padding:6px 9px}.leader.advance{background:#dff8e7;color:#086345}.leader.third{background:#fff1cd;color:#7a5300}.group-content{background:linear-gradient(90deg,#ffffff0f 49.7%,#ffffff47,#ffffff0f 50.3%),repeating-linear-gradient(90deg,#0b5e45 0,#0b5e45 72px,#0f6d4f 72px,#0f6d4f 144px);border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(360px,.7fr) minmax(520px,1fr);padding:14px}.standings{background:#fffffff5;border-collapse:collapse;border-radius:8px;overflow:hidden;table-layout:fixed;width:100%}.standings th,.standings td{border-bottom:1px solid #e1e9e5;padding:9px 8px;text-align:right}.standings th{color:var(--muted);font-size:12px;text-transform:uppercase}.standings th:nth-child(2),.standings td:nth-child(2){text-align:left;width:44%}.standings tr:last-child td{border-bottom:0}.rank{align-items:center;border-radius:999px;display:inline-grid;font-weight:900;height:26px;justify-items:center;width:26px}.standings .advance .rank{background:#dff8e7;color:#086345}.standings .third .rank{background:#fff1cd;color:#7a5300}.fixture-board{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.match-card{background:#fff;border:1px solid #dce5e1;border-left:5px solid var(--mint);border-radius:8px;color:inherit;cursor:pointer;display:grid;gap:9px;padding:12px;text-align:left;width:100%}.match-card:hover,.match-card.selected{border-color:var(--mint);box-shadow:0 0 0 3px #1ed29c2e,0 14px 28px #08222521}.match-card.completed{border-left-color:var(--gold)}.match-card.compact{min-width:230px}.match-meta,.match-footer,.prob-row{align-items:center;color:var(--muted);display:flex;font-size:12px;font-weight:800;justify-content:space-between;gap:8px}.match-teams{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)}.match-teams span{font-weight:850;line-height:1.15;overflow-wrap:anywhere}.match-teams span:last-child{text-align:right}.match-teams strong{background:#092f2e;border-radius:8px;color:var(--lime);font-size:20px;line-height:1;padding:9px 6px;text-align:center}.winner-pill{background:#eef6f1;border-radius:999px;color:#0c674b;max-width:60%;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.actual.done{color:#9a6a00;font-weight:900}.prob-row{color:var(--ink);display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.prob-row span{align-items:center;background:#f4f7f2;border-radius:6px;display:flex;justify-content:space-between;padding:6px 7px}.prob-row em{color:var(--blue);font-style:normal}.bracket-pane{background:radial-gradient(circle at 50% 48%,rgba(214,255,99,.11),transparent 27%),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 54px 54px,#062831;border-color:#d6ff632e;color:#f6fbf7;overflow:hidden}.bracket-pane .section-heading{border-bottom:1px solid rgba(246,251,247,.12);padding-bottom:12px}.bracket-pane h2{color:#f6fbf7}.bracket-pane .eyebrow{color:var(--lime)}.third-place-chip{background:#f6fbf714;border:1px solid rgba(246,251,247,.2);border-radius:8px;color:#d8e8e5;cursor:pointer;font-size:12px;font-weight:800;min-height:36px;padding:0 12px}.bracket-board{align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(560px,1fr) 170px minmax(560px,1fr);overflow-x:auto;padding:4px 0 8px}.bracket-side{display:grid;gap:10px}.bracket-side.left{grid-template-columns:1.25fr .95fr .78fr .62fr}.bracket-side.right{grid-template-columns:.62fr .78fr .95fr 1.25fr}.bracket-column{display:grid;grid-template-rows:24px 1fr;min-width:0}.bracket-column h3,.final-label{color:#e4efec;font-size:12px;font-weight:900;letter-spacing:.08em;margin:0;text-align:center;text-transform:uppercase}.stage-track{display:flex;flex-direction:column;gap:12px;justify-content:space-around;min-height:760px;padding:8px 0;position:relative}.stage-track:before{background:linear-gradient(180deg,transparent,rgba(240,96,77,.5),transparent);content:"";height:calc(100% - 90px);left:50%;position:absolute;top:45px;transform:translate(-50%);width:2px}.bracket-match{background:#0c3841f5;border:1px solid rgba(159,242,200,.16);border-radius:6px;color:#f6fbf7;cursor:pointer;display:grid;gap:5px;min-height:76px;padding:7px;position:relative;text-align:left;width:100%;z-index:1}.bracket-match:after{background:#f0446f;content:"";height:2px;position:absolute;top:50%;width:11px}.bracket-match.left:after{right:-12px}.bracket-match.right:after{left:-12px}.bracket-match.center:after,.bracket-match.final-match:after{display:none}.bracket-match:hover{border-color:var(--lime);box-shadow:0 0 0 3px #d6ff631f,0 12px 28px #00000047}.bracket-team{align-items:center;display:grid;gap:6px;grid-template-columns:33px 24px minmax(0,1fr);min-width:0}.bracket-team strong{font-size:11px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.bracket-team.winner strong{color:var(--lime)}.seed{color:#9db8b9;font-size:10px;font-weight:900;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.flag{align-items:center;background:#ffffff14;border-radius:4px;display:inline-grid;font-size:18px;height:23px;justify-items:center;width:25px}.bracket-score{align-items:center;display:grid;grid-template-columns:1fr auto}.bracket-score span{color:#9db8b9;font-size:10px;font-weight:900;text-transform:uppercase}.bracket-score strong{background:#f0446f;border-radius:5px;color:#fff;font-size:14px;min-width:42px;padding:3px 7px;text-align:center}.final-stage{align-items:center;display:grid;gap:14px;grid-template-rows:24px auto auto;justify-items:center;padding-top:244px}.final-match{background:#10464efa;border-color:#d6ff6357;width:166px}.winner-card{border-top:1px solid rgba(246,251,247,.2);padding-top:14px;text-align:center;width:100%}.winner-card span{color:#e4efec;display:block;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.winner-card strong{color:#fff;display:block;font-size:28px;line-height:1.05;text-transform:uppercase}.drawer{bottom:24px;box-shadow:0 24px 70px #091d2047;max-height:min(720px,calc(100vh - 48px));overflow:auto;padding:18px;position:fixed;right:24px;width:min(480px,calc(100vw - 48px));z-index:20}.drawer-header{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.drawer-header p{color:var(--muted);font-weight:800;margin:0}.drawer-header h2{font-size:22px;line-height:1.2;margin:4px 0 0}.drawer-score{align-items:center;background:#092f2e;border-radius:8px;color:#fff;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);margin-bottom:14px;padding:14px}.drawer-score span{font-weight:900;overflow-wrap:anywhere}.drawer-score span:last-child{text-align:right}.drawer-score strong{color:var(--lime);font-size:34px;text-align:center}.drawer-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.metric{background:#f2f6f3;border:1px solid #e0e8e3;border-radius:8px;padding:12px}.metric span,.probability span{color:var(--muted);display:block;font-size:13px;font-weight:800;margin-bottom:4px}.metric strong,.probability strong{font-size:20px}.probabilities{display:grid;gap:12px;margin-bottom:18px}.probability{display:grid;gap:8px}.probability>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.bar{background:#e1e7e4;border-radius:999px;height:8px;overflow:hidden}.bar span{background:linear-gradient(90deg,var(--mint),var(--lime));display:block;height:100%;margin:0}.explanation h3{margin:0 0 10px}.explanation ul{margin:0;padding-left:18px}.explanation li{margin-bottom:8px}.empty{color:var(--muted)}.model-glossary{background:#fffffff0;border:1px solid rgba(14,44,42,.12);border-radius:8px;box-shadow:0 18px 45px #0d24221f;margin-top:16px;padding:16px}.model-glossary .eyebrow{color:#0e766e}.glossary-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.glossary-item{background:#f4f7f2;border:1px solid #dce5df;border-left:4px solid var(--mint);border-radius:8px;padding:12px}.glossary-item h3{font-size:15px;margin:0 0 6px}.glossary-item p{color:var(--muted);font-size:14px;line-height:1.35;margin:0}@media(max-width:900px){.app{padding:14px}.topbar,.top-actions{align-items:stretch;flex-direction:column}.next-matches{max-width:none;min-width:0}.groups-section{grid-template-columns:1fr}.group-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.group-content,.fixture-board,.glossary-grid{grid-template-columns:1fr}}@media(max-width:620px){.drawer-grid{grid-template-columns:1fr}.logo{height:58px;width:58px}.group-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.group-tab{grid-template-columns:1fr;justify-items:center;text-align:center}.group-tab small{display:none}.drawer{bottom:12px;right:12px;width:calc(100vw - 24px)}}
