@import"https://fonts.googleapis.com/css2?family=Graduate&family=Bitter:ital,wght@0,400;0,600;0,700;0,800;1,400&display=swap";:root{--bg: #f8fafc;--card: #ffffff;--border: #e5e7eb;--text: #0f172a;--muted: #6b7280;--muted-strong: #4b5563;--accent: #2563eb;--accent-tint: #dbeafe;--accent-contrast: #ffffff;--warn-bg: #fef3c7;--warn-border: #f59e0b;--warn-text: #78350f;--error-bg: #fee2e2;--error-border: #ef4444;--error-text: #7f1d1d;--live: #dc2626;--live-border: #fecaca;--finished: #6b7280;--finished-bg: #f1f5f9;--owner-bg: #eef2ff;--owner-text: #3730a3;--header-bg: #ffffff;--skeleton: #e2e8f0;--radius-card: 14px;--radius-small: 12px;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-display: var(--font-body)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:1100px;margin:0 auto;padding:16px}.app-header{position:sticky;top:0;z-index:10;background:var(--header-bg);border-bottom:1px solid var(--border)}.app-header .page{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-top:12px;padding-bottom:12px}.brand{font-weight:800;font-size:1.05rem;color:var(--text);font-family:var(--font-display)}.primary-nav{display:flex;flex-wrap:wrap;gap:4px 6px}.nav-link{padding:6px 10px;border-radius:8px;color:var(--muted-strong);font-weight:600;font-size:.9rem}.nav-link.is-active{background:var(--accent-tint);color:var(--accent)}.nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-main{padding-bottom:60px}.app-footer{border-top:1px solid var(--border);background:var(--header-bg)}.tz-note{color:var(--muted);font-size:.85rem}.section{margin-top:20px}.section h2{font-size:1.05rem;margin:0 0 8px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted-strong)}.card{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;background:var(--card)}.card+.card{margin-top:10px}.home-grid{display:grid;gap:16px}@media (min-width: 900px){.home-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start}}.banner{border-radius:12px;padding:10px 14px;margin:10px 0;font-size:.95rem}.banner.warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text)}.banner.error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.banner button{margin-left:8px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:6px;padding:2px 8px;font:inherit;cursor:pointer}.refresh-pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted-strong);background:var(--accent-tint);border-radius:999px;padding:2px 8px}.title-block h1{margin:0;font-size:1.5rem;font-family:var(--font-display)}.title-block .last-updated{color:var(--muted);font-size:.85rem}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.95rem}.leaderboard-table th,.leaderboard-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.leaderboard-table th{font-size:.8rem;text-transform:uppercase;color:var(--muted-strong);font-weight:700}.leaderboard-table th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit}.leaderboard-table th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.leaderboard-table td.numeric,.leaderboard-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.leaderboard-table tr:last-child td{border-bottom:none}.rank-cell{font-weight:700;width:32px;color:var(--muted-strong)}.desktop-only{display:none}@media (min-width: 700px){.desktop-only{display:table-cell}}.owner-pill{display:inline-block;background:var(--owner-c, var(--owner-bg));color:#fff;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:600}.owner-pill--lg{font-size:.88rem;padding:2px 10px}.h2h-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;background:var(--card);position:relative;overflow:hidden}.h2h-card--live{border-color:var(--live-border);box-shadow:0 0 0 1px var(--live-border) inset}.h2h-card--placeholder{background:var(--bg);border-style:dashed}.h2h-headline{font-size:1.05rem;font-weight:800;line-height:1.2;margin-bottom:10px}.h2h-headline-v{font-weight:600;color:var(--muted);margin:0 4px}.h2h-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.h2h-side{display:flex;flex-direction:column;gap:3px;min-width:0}.h2h-side--right{text-align:right;align-items:flex-end}.h2h-side--dim{opacity:.55}.h2h-owner-name{font-size:.95rem;font-weight:800;line-height:1.1;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.h2h-owner-name--tbd{color:var(--muted);font-weight:700}.h2h-team-line{display:flex;align-items:baseline;gap:6px;font-size:.92rem;font-weight:600;color:var(--muted-strong);min-width:0}.h2h-side--right .h2h-team-line{justify-content:flex-end}.h2h-flag{font-size:1.05rem;line-height:1;flex-shrink:0}.h2h-team-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.h2h-side-stat{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.h2h-mid{display:flex;align-items:center;justify-content:center;flex-shrink:0}.h2h-mid--v{font-size:.95rem;font-weight:700;color:var(--muted);padding:0 6px;letter-spacing:.05em}.h2h-mid--score{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;padding:0 8px;white-space:nowrap}.h2h-score-num{display:inline-block;min-width:1ch;text-align:center}.h2h-score-num--win{color:var(--text)}.h2h-score-dash{color:var(--muted);margin:0 2px;font-weight:600}.h2h-meta{margin-top:10px;font-size:.82rem;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:4px}.h2h-meta .status-badge{margin-right:4px}.h2h-status-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}@media (max-width: 380px){.h2h-mid--score{font-size:1.3rem;padding:0 4px}.h2h-matchup{gap:6px}.h2h-owner-name{font-size:.9rem}}.status-badge{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--owner-bg);color:var(--owner-text)}.status-badge.live{background:var(--error-bg);color:var(--live)}.status-badge.finished{background:var(--finished-bg);color:var(--finished)}.group-card h3{margin:0 0 8px;font-size:1rem}.standings-table{width:100%;border-collapse:collapse;font-size:.85rem}.standings-table th,.standings-table td{text-align:right;padding:6px 4px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap}.standings-table th:first-child,.standings-table td:first-child{text-align:center;width:24px;color:var(--muted-strong)}.standings-table th.team-cell,.standings-table td.team-cell{text-align:left;font-variant-numeric:normal}.team-card{border:1px solid var(--border);border-radius:var(--radius-small);padding:10px 12px;background:var(--card)}.team-card+.team-card{margin-top:8px}.team-card.eliminated{opacity:.6}.team-card .team-name{font-weight:700}.team-card .team-meta{color:var(--muted);font-size:.82rem;margin-top:2px}.team-card .team-stats{font-size:.9rem;margin-top:4px;font-variant-numeric:tabular-nums}.chart-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;background:var(--card)}.chart-card+.chart-card{margin-top:14px}.chart-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted-strong);font-size:.8rem;font-weight:600;cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px;background:var(--card)}.segmented button{padding:4px 14px;border-radius:999px;border:none;background:transparent;font-weight:600;cursor:pointer;color:var(--muted-strong)}.segmented button.active{background:var(--accent);color:var(--accent-contrast)}.skeleton-block{background:var(--skeleton);border-radius:8px;height:14px;margin:6px 0;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;background:var(--card)}.mini-stats-list{margin:0;padding:0;list-style:none;font-size:.92rem;display:grid;gap:4px}.mini-stats-list .label{color:var(--muted);margin-right:6px}.knockout-stage h3{margin:14px 0 6px;font-size:1rem}.fav-controls{display:flex;align-items:center;gap:8px;margin-bottom:8px}.fav-controls label{font-size:.85rem;color:var(--muted-strong)}.fav-controls select{font:inherit;padding:4px 8px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text)}.debug-pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:#0f172a;color:#f8fafc;padding:12px;border-radius:12px;overflow:auto;max-height:60vh}.placeholder-row{color:var(--muted);font-style:italic}.empty-card{color:var(--muted);font-style:italic;text-align:center;padding:24px 12px}.h2h-grid{display:grid;gap:8px}@media (min-width: 700px){.h2h-grid{grid-template-columns:1fr 1fr}}.players-list{display:grid;gap:10px}@media (min-width: 700px){.players-list{grid-template-columns:1fr 1fr}}.player-summary{border:1px solid var(--border);border-radius:var(--radius-card);padding:14px;background:var(--card)}.player-summary h3{margin:0;font-size:1.05rem;font-family:var(--font-display)}.player-summary .meta{color:var(--muted);font-size:.85rem;margin-top:2px}.team-grid{display:grid;gap:8px;margin-top:10px}@media (min-width: 700px){.team-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1000px){.team-grid.full{grid-template-columns:1fr 1fr 1fr}}.sortable-arrow{font-size:.7em;opacity:.7}@media (max-width: 480px){.brand{font-size:.95rem;width:100%}.primary-nav{width:100%}.h2h-headline{font-size:.95rem}.leaderboard-table th,.leaderboard-table td{padding:6px 4px}}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme] .recharts-cartesian-grid line{stroke:var(--border)!important}[data-theme] .recharts-text{fill:var(--muted)!important}[data-theme] .recharts-default-tooltip{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}[data-theme=panini]{--bg: #f3e9d2;--card: #fdf8ec;--border: #2b2118;--text: #2b2118;--muted: #7a6a55;--muted-strong: #54452f;--accent: #a31621;--accent-tint: #f3d9c4;--accent-contrast: #fdf8ec;--warn-bg: #f7e7b2;--warn-border: #a3741b;--warn-text: #5c430e;--error-bg: #f5d4cb;--error-border: #a31621;--error-text: #6b0e16;--live: #a31621;--live-border: #a31621;--finished: #54452f;--finished-bg: #e9dec3;--owner-bg: #1d5c39;--owner-text: #f3e9d2;--header-bg: #a31621;--skeleton: #e4d7ba;--radius-card: 4px;--radius-small: 3px;--font-body: "Bitter", serif;--font-display: "Graduate", serif}[data-theme=panini] body{background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(43,33,24,.012) 3px,rgba(43,33,24,.012) 4px),radial-gradient(ellipse at 30% 20%,rgba(163,22,33,.05),transparent 50%),var(--bg)}[data-theme=panini] .app-header{border-bottom:4px double #f3e9d2}[data-theme=panini] .brand{color:#f3e9d2;letter-spacing:.04em;font-weight:400}[data-theme=panini] .nav-link{color:#f0d8b8}[data-theme=panini] .nav-link.is-active{background:#f3e9d2;color:#a31621}[data-theme=panini] .card,[data-theme=panini] .h2h-card,[data-theme=panini] .chart-card,[data-theme=panini] .team-card,[data-theme=panini] .player-summary,[data-theme=panini] .skeleton-card{border:2px solid var(--border);box-shadow:4px 4px #2b2118d9}[data-theme=panini] .section h2{font-family:var(--font-display);color:#a31621;font-weight:400;border-bottom:3px solid #a31621;padding-bottom:4px}[data-theme=panini] .title-block h1{font-weight:400;letter-spacing:.02em}[data-theme=panini] .h2h-headline,[data-theme=panini] .h2h-mid--score{font-family:var(--font-display);font-weight:400}[data-theme=panini] .owner-pill{font-family:var(--font-display);font-weight:400;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#f6ecd8;border:2px solid #2b2118;border-radius:3px;padding:2px 9px;box-shadow:2px 2px #2b2118bf;transform:rotate(-1.4deg)}[data-theme=panini] .owner-pill--lg{font-size:.82rem;padding:3px 11px;box-shadow:3px 3px #2b2118bf}[data-theme=panini] .owner-pill[data-owner=Askari]{background:#8f1d1d}[data-theme=panini] .owner-pill[data-owner=Nour]{background:#1d5c39}[data-theme=panini] .owner-pill[data-owner=Murray]{background:#1f3a5f}[data-theme=panini] .owner-pill[data-owner=Elliot]{background:#5b3a78}[data-theme=panini] .owner-pill[data-owner=Rachel]{background:#b65419}[data-theme=panini] .owner-pill[data-owner=Heja]{background:#11616b}[data-theme=panini] tr:nth-child(2n) .owner-pill{transform:rotate(1.1deg)}[data-theme=panini] .team-card:nth-child(2n) .owner-pill{transform:rotate(1.1deg)}[data-theme=panini] .h2h-side--left .owner-pill{transform:rotate(-1.6deg)}[data-theme=panini] .h2h-side--right .owner-pill{transform:rotate(1.6deg)}[data-theme=panini] .h2h-owner-name{overflow:visible;padding:2px 0 3px}[data-theme=panini] .player-summary .owner-pill{font-size:1rem;padding:4px 14px;box-shadow:3px 3px #2b2118bf}[data-theme=panini] .player-summary:nth-child(2n) .owner-pill{transform:rotate(1.3deg)}[data-theme=panini] .player-summary:hover{text-decoration:none}[data-theme=panini] .refresh-pill{font-family:var(--font-display);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;background:#1d5c39;color:#f3e9d2;border:2px solid #2b2118;border-radius:3px;padding:3px 10px;box-shadow:2px 2px #2b2118bf;transform:rotate(-.8deg)}[data-theme=panini] .status-badge{border-radius:3px;border:1px solid currentColor}[data-theme=panini] .leaderboard-table th{font-family:var(--font-display);font-weight:400;border-bottom:2px solid var(--border)}[data-theme=panini] .app-footer{background:#2b2118;color:#c9b896}[data-theme=panini] .app-footer .tz-note{color:#c9b896}[data-theme=panini] .chip,[data-theme=panini] .segmented{border-radius:3px;border-width:2px;border-color:var(--border)}[data-theme=panini] .segmented button,[data-theme=panini] .chip.active{border-radius:2px}
