:root{color-scheme:dark;--bg: #070b14;--card: #101a2e;--card-border: #1d2a45;--text: #e8ecf4;--muted: #8b97ad;--accent: #4ade80;--claude: #d97757;--gemini: #4f8df7;--openai: #10a37f;--grok: #e5e7eb}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 500px at 50% -100px,#12203c 0%,transparent 70%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.wrap{max-width:760px;margin:0 auto;padding:32px 16px 80px}.built-by{display:inline-block;margin-bottom:8px;color:var(--muted);font-size:13px;text-decoration:none}.built-by:hover{color:var(--accent);text-decoration:underline}.hero h1{font-size:30px;margin:0 0 4px;letter-spacing:-.5px}.hero p{color:var(--muted);margin:0 0 24px;font-size:14px}.tabs{display:flex;gap:8px;margin-bottom:24px}.tabs button{background:var(--card);border:1px solid var(--card-border);color:var(--muted);padding:7px 16px;border-radius:999px;font-size:13px;cursor:pointer}.tabs button.active{color:var(--text);border-color:var(--accent)}.country-filter{position:relative;margin-bottom:24px}.country-trigger{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--card-border);color:var(--text);padding:8px 16px;border-radius:999px;font-size:13px;cursor:pointer}.country-trigger.active{border-color:var(--accent)}.country-trigger .caret{font-size:9px;color:var(--muted)}.country-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.country-chip{display:inline-flex;align-items:center;gap:6px;background:#18233c;border:1px solid var(--card-border);color:var(--text);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer}.country-chip .flag{font-size:15px;line-height:1}.country-chip .chip-x{color:var(--muted);font-size:14px}.country-chip.clear{color:var(--muted)}.country-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:280px;max-height:320px;overflow-y:auto;background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:6px;box-shadow:0 12px 32px #00000073}.country-option{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;font-size:14px;cursor:pointer}.country-option:hover{background:#18233c}.country-option input{accent-color:var(--accent);cursor:pointer}.country-option .flag{font-size:20px;line-height:1}.country-option .country-name{min-width:0}.view-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--card);border:1px solid var(--card-border);border-radius:999px;padding:4px;width:fit-content}.view-tabs button{background:transparent;border:none;color:var(--muted);padding:7px 22px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer}.view-tabs button.active{background:#18233c;color:var(--text)}.group-block{margin-bottom:28px}.standings{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--card-border);border-radius:14px;overflow:hidden;font-size:13px}.standings th,.standings td{padding:8px 6px;text-align:center;white-space:nowrap}.standings thead th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--card-border)}.standings .rank{width:24px;color:var(--muted)}.standings .team-col{text-align:left;width:100%}.standings tbody .team-col{display:flex;align-items:center;gap:8px;font-weight:600}.standings .team-col .flag{font-size:18px;line-height:1}.standings .g-name{overflow:hidden;text-overflow:ellipsis}.standings .pts{font-weight:700;color:var(--text)}.standings tbody tr+tr td{border-top:1px solid var(--card-border)}.standings tbody tr.qualify{background:#4ade8012}.standings tbody tr.qualify .rank{color:var(--accent);font-weight:700}.group-fixtures{margin-top:8px;display:flex;flex-direction:column;gap:2px}.g-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 10px;font-size:13px}.g-team{display:flex;align-items:center;gap:6px;min-width:0}.g-team.home{justify-content:flex-end;text-align:right}.g-team.away{justify-content:flex-start}.g-team .flag{font-size:16px;line-height:1}.g-score{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.g-score.live{color:var(--accent)}.g-time{color:var(--muted);font-size:12px;white-space:nowrap}.g-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;letter-spacing:.5px}.g-badge.ft{background:#18233c;color:var(--muted)}.g-badge.live{background:var(--accent);color:#07210f}.day-header{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:28px 0 10px}.match{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:14px 16px;margin-bottom:10px}.match-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);margin-bottom:10px}.stage-chip{background:#18233c;border-radius:6px;padding:2px 8px;white-space:nowrap}.teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.team{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-width:0}.team.away{justify-content:flex-end;text-align:right}.team .flag{font-size:22px;line-height:1}.team .placeholder{font-weight:400;color:var(--muted);font-size:14px}.score{font-size:22px;font-weight:700;white-space:nowrap;padding:2px 10px;border-radius:8px;background:#18233c}.score.upcoming{font-size:13px;font-weight:500;color:var(--muted);background:transparent}.ft-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--accent);margin-left:6px;vertical-align:middle}.pens{font-size:12px;font-weight:600;color:var(--muted);margin-left:6px;vertical-align:middle}.score.live{background:#3a1620}.live-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;color:#ff5470;margin-left:6px;vertical-align:middle;animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}.stats{display:flex;flex-direction:column;gap:8px}.champion{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 20px 24px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--card-border));background:radial-gradient(600px 220px at 50% -40px,rgba(74,222,128,.16),transparent 70%),var(--card);margin-bottom:16px}.champion-trophy{font-size:48px;line-height:1}.champion-label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}.champion-team{display:flex;align-items:center;gap:12px;font-size:34px;font-weight:800;letter-spacing:-.5px}.champion-team .flag{font-size:36px;line-height:1}.champion-stars{color:var(--accent);font-size:15px;letter-spacing:3px}.champion-blurb{margin:2px 0 10px;color:var(--muted);font-size:13px}.champion-final{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:#18233c;font-weight:700}.champion-final .flag{font-size:22px;line-height:1}.champion-final .cf-score{font-size:18px;font-variant-numeric:tabular-nums;padding:0 4px}.champion-final-note{margin:8px 0 0;font-size:12px;color:var(--muted)}.stats-block{margin-bottom:4px}.stats-block .day-header{margin-top:18px}.podium{display:flex;flex-direction:column;gap:6px}.podium-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border:1px solid var(--card-border);border-radius:12px}.podium-row:first-child{border-color:color-mix(in srgb,var(--accent) 45%,var(--card-border))}.podium-medal{font-size:20px;width:28px;text-align:center;color:var(--muted);font-weight:700}.podium-row .flag{font-size:24px;line-height:1}.podium-team{font-weight:700;font-size:16px}.podium-note{margin-left:auto;font-size:12px;color:var(--muted)}.award-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 480px){.award-grid{grid-template-columns:1fr}}.award-card{display:flex;flex-direction:column;gap:3px;padding:14px;background:var(--card);border:1px solid var(--card-border);border-radius:12px}.award-icon{font-size:24px;line-height:1;margin-bottom:4px}.award-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-weight:700}.award-player{font-size:16px;font-weight:700}.award-team{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.award-team .flag{font-size:16px;line-height:1}.award-detail{font-size:12px;color:var(--muted);margin-top:2px}.scorers{display:flex;flex-direction:column;gap:4px}.scorer-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border:1px solid var(--card-border);border-radius:10px}.scorer-rank{width:16px;text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.scorer-row .flag{font-size:18px;line-height:1}.scorer-name{font-size:14px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.scorer-bar-track{flex:1 1 auto;height:8px;border-radius:999px;background:#18233c;overflow:hidden;min-width:24px}.scorer-bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 55%,transparent),var(--accent))}.scorer-goals{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;width:20px;text-align:right}.records{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.records li{position:relative;padding:10px 14px 10px 34px;background:var(--card);border:1px solid var(--card-border);border-radius:10px;font-size:13px;line-height:1.5;color:var(--text)}.records li:before{content:"⚽";position:absolute;left:12px;top:10px;font-size:13px}.accuracy-bar{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:14px 16px;margin-bottom:24px}.accuracy-bar-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.accuracy-badges{display:flex;flex-direction:column;gap:10px}.accuracy-row{display:flex;flex-direction:column;gap:8px}.accuracy-badge{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:color-mix(in srgb,var(--card-border) 35%,transparent);border:1px solid var(--card-border);border-radius:999px;padding:5px 14px 5px 6px;color:inherit;font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.accuracy-badge:hover{border-color:var(--accent);background:color-mix(in srgb,var(--card-border) 50%,transparent)}.accuracy-row.open .accuracy-badge{border-color:var(--accent)}.accuracy-pct{font-size:16px;font-weight:800;color:var(--text)}.accuracy-detail{font-size:12px;color:var(--muted)}.accuracy-caret{margin-left:auto;font-size:10px;color:var(--muted)}.accuracy-games{display:flex;flex-direction:column;gap:2px;padding:4px 6px 6px 14px}.accuracy-game{display:flex;align-items:center;gap:10px;font-size:13px;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}.accuracy-game:last-child{border-bottom:none}.verdict-dot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:var(--muted)}.verdict-dot.exact{background:var(--accent)}.verdict-dot.result{background:#fbbf24}.verdict-dot.miss{background:#f87171}.accuracy-game-teams{flex:1 1 auto;min-width:0;color:var(--text)}.accuracy-game-teams .vs{color:var(--muted)}.accuracy-game-scores{display:flex;align-items:baseline;gap:8px;flex:0 0 auto}.accuracy-game-scores .actual{font-weight:700;color:var(--text)}.accuracy-game-scores .predicted{font-size:12px;color:var(--muted)}.accuracy-game .verdict{flex:0 0 auto;min-width:84px;text-align:right}.predictions{margin-top:12px;border-top:1px solid var(--card-border);padding-top:10px;display:flex;flex-direction:column;gap:8px}.prediction{font-size:13px}.prediction-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider{font-weight:700;font-size:12px;padding:2px 8px;border-radius:6px}.provider.anthropic{background:color-mix(in srgb,var(--claude) 18%,transparent);color:var(--claude)}.provider.gemini{background:color-mix(in srgb,var(--gemini) 18%,transparent);color:var(--gemini)}.provider.openai{background:color-mix(in srgb,var(--openai) 18%,transparent);color:var(--openai)}.provider.grok{background:color-mix(in srgb,var(--grok) 18%,transparent);color:var(--grok)}.confidence{color:var(--muted);font-size:12px}.verdict{font-size:12px;font-weight:700}.verdict.exact{color:var(--accent)}.verdict.result{color:#fbbf24}.verdict.miss{color:#f87171}.prediction details{margin-top:2px}.prediction summary{cursor:pointer;color:var(--muted);font-size:12px}.prediction details p{margin:6px 0 0;color:var(--muted);line-height:1.5}.prediction details.review summary{color:#fbbf24}.prediction details.review p{color:color-mix(in srgb,#fbbf24 70%,var(--muted))}.prediction details.last-hour{margin-top:6px;border-radius:8px;padding:6px 10px;border:1px solid var(--card-border);border-left-width:3px}.prediction details.last-hour.same{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left-color:var(--accent)}.prediction details.last-hour.changed{background:color-mix(in srgb,#fbbf24 9%,transparent);border-left-color:#fbbf24}.prediction details.last-hour summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text)}.last-hour-tag{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.last-hour.same .last-hour-tag{color:var(--accent)}.last-hour.changed .last-hour-tag{color:#fbbf24}.last-hour-score{font-weight:700}.last-hour-status{font-size:12px;color:var(--muted)}.last-hour-meta{margin:6px 0 0;font-size:12px;color:var(--muted)}.pending-note{margin-top:12px;border-top:1px solid var(--card-border);padding-top:10px;font-size:12px;color:var(--muted)}.status-msg{color:var(--muted);text-align:center;padding:40px 0}.status-msg.error{color:#f87171}.crowd{margin-top:14px;padding-top:14px;border-top:1px solid var(--card-border)}.crowd-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.crowd-title{font-size:13px;font-weight:600}.crowd-meta{color:var(--muted);font-size:11px}.crowd-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 520px){.crowd-charts{grid-template-columns:1fr}}.crowd-chart{background:#ffffff05;border:1px solid var(--card-border);border-radius:10px;padding:8px 6px}.crowd-chart-label{display:block;text-align:center;color:var(--muted);font-size:11px;margin-bottom:2px}.crowd-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin-top:4px}.crowd-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.crowd-swatch{width:9px;height:9px;border-radius:2px;display:inline-block}.crowd-detail{margin-top:10px;font-size:12px;color:var(--muted)}.crowd-detail summary{cursor:pointer}.crowd-detail p{margin:6px 0 0;line-height:1.5}.bracket-scroll{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:auto;padding:0 16px 12px}.bracket{display:flex;align-items:stretch;gap:14px;width:fit-content;min-width:min-content;margin:0 auto}.bk-col{display:flex;flex-direction:column;justify-content:space-around;gap:10px;flex:0 0 178px}.bk-col.final{justify-content:center}.bk-col-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);text-align:center;margin-bottom:4px;font-weight:600}.lbl-short{display:none}.bk-col-matches{display:flex;flex-direction:column;justify-content:space-around;gap:10px;flex:1}.bk-match{background:var(--card);border:1px solid var(--card-border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px}.bk-match.live{border-color:#5a2233}.bk-col.final .bk-match{border-color:var(--accent);box-shadow:0 0 0 1px #4ade8040}.bk-side{display:flex;align-items:center;gap:8px;min-width:0}.bk-side .flag{font-size:18px;line-height:1;flex-shrink:0}.bk-team{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-team.placeholder{font-weight:400;color:var(--muted);font-size:12px}.bk-side.won .bk-team{color:var(--accent)}.bk-score{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted);min-width:12px;text-align:right}.bk-side.won .bk-score{color:var(--text)}.bk-pens{font-size:12px;font-weight:600;color:var(--muted)}.bk-foot{border-top:1px solid var(--card-border);padding-top:4px;margin-top:2px}.bk-state{font-size:11px;color:var(--muted)}.bk-state.ft{color:var(--accent);font-weight:600;letter-spacing:.5px}.bk-state.live{color:#ff5470;font-weight:700;animation:live-pulse 1.4s ease-in-out infinite}.bk-third{margin-top:24px;max-width:220px}.bk-third .bk-col-label{text-align:left}@media (max-width: 640px){.lbl-full{display:none}.lbl-short{display:inline}.bracket-scroll{padding:0 8px 8px}.bracket{width:100%;gap:5px}.bk-col{flex:1 1 0;min-width:0;gap:6px}.bk-col-matches{gap:6px}.bk-col-label{font-size:10px;letter-spacing:.5px}.bracket .bk-match{padding:2px;gap:2px;border-radius:7px}.bracket .bk-team,.bracket .bk-score,.bracket .bk-foot{display:none}.bracket .bk-side{justify-content:center;padding:3px 0;border-radius:5px}.bracket .bk-side .flag{font-size:17px}.bracket .bk-match.finished .bk-side.won{background:#4ade802e;box-shadow:inset 0 0 0 1px #4ade8080}.bracket .bk-match.finished .bk-side:not(.won){opacity:.3}}
