@import"https://fonts.googleapis.com/css2?family=League+Spartan:wght@600;700&display=swap";:root{--bg: #f5f6f7;--surface: #ffffff;--surface-raised: #ffffff;--fg: #14181c;--muted: #626a73;--faint: #8a9199;--line: #e2e4e7;--accent: #034694;--accent-fg: #ffffff;--live: #c8102e;--stale: #a9660b;--font-display: "League Spartan", ui-sans-serif, system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Consolas", "Roboto Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 6px;--radius-sm: 4px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b0e11;--surface: #12161b;--surface-raised: #171c22;--fg: #e8eaed;--muted: #a1a9b1;--faint: #6b7480;--line: #232830;--accent: #4c8cdb;--accent-fg: #0b0e11;--live: #ff4d68;--stale: #e0a94a;color-scheme:dark}}:root[data-theme=dark]{--bg: #0b0e11;--surface: #12161b;--surface-raised: #171c22;--fg: #e8eaed;--muted: #a1a9b1;--faint: #6b7480;--line: #232830;--accent: #4c8cdb;--accent-fg: #0b0e11;--live: #ff4d68;--stale: #e0a94a;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:inherit}.tnum{font-variant-numeric:tabular-nums}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.app-header-inner{max-width:720px;margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.app-title{font-family:var(--font-display);font-weight:700;font-size:1.125rem;letter-spacing:.01em;text-decoration:none;color:var(--fg)}.app-nav{display:flex;gap:var(--space-4)}.nav-link{font-family:var(--font-display);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--muted);padding-bottom:2px;border-bottom:2px solid transparent}.nav-link-active{color:var(--fg);border-bottom-color:var(--accent)}.nav-link-disabled{color:var(--faint)}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}@media(min-width:640px){.app-main{padding:var(--space-5)}}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.dot-live{background:var(--live);animation:pulse 1.6s ease-in-out infinite}.dot-scheduled{background:transparent;border:1.5px solid var(--faint)}.dot-result{background:var(--muted)}@keyframes pulse{0%,to{box-shadow:0 0 #c8102e73}50%{box-shadow:0 0 0 4px #c8102e00}}@media(prefers-reduced-motion:reduce){.dot-live{animation:none}}.section-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.tag{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:.6875rem;font-weight:600;text-transform:none;letter-spacing:normal;padding:1px 6px;border-radius:999px;background:#a9660b24;color:var(--stale)}.crest{display:inline-block;object-fit:contain;flex:none}.crest-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--line);color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:.5625rem;flex:none}.form-dots{display:inline-flex;gap:3px;align-items:center}.form-dot{width:7px;height:7px;border-radius:50%;flex:none}.form-dot-W{background:var(--accent)}.form-dot-D{background:var(--faint)}.form-dot-L{background:var(--live)}.board-state,.match-state{padding:var(--space-6) var(--space-4);text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:.875rem}.board-state-error{color:var(--live)}.chelsea-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);border-left:3px solid var(--faint);transition:border-color .15s ease}.chelsea-card.phase-live{border-left-color:var(--live)}.chelsea-card.phase-next{border-left-color:var(--accent)}.chelsea-card:hover{border-color:var(--accent)}.chelsea-card-matchup{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin:var(--space-3) 0}.chelsea-card-team{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:88px;text-align:center}.chelsea-card-team-name{font-family:var(--font-display);font-weight:600;font-size:.8125rem}.chelsea-card-mid{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:72px}.chelsea-card-score{font-family:var(--font-mono);font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.chelsea-card-kickoff{font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}.chelsea-card-minute{font-family:var(--font-mono);font-size:.8125rem;color:var(--live);font-weight:600}.chelsea-card-meta{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--line)}.chelsea-card-meta-col{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.8125rem}.chelsea-card-meta-col.align-end{align-items:flex-end;text-align:right}.chelsea-card-rest{font-family:var(--font-mono);color:var(--muted)}.chelsea-card-availability{margin-top:var(--space-3);font-size:.8125rem;color:var(--muted)}.chelsea-card-availability strong{color:var(--fg)}.chelsea-card-lineups{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.lineup-col-title{font-family:var(--font-display);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-2)}.lineup-col-list{list-style:none;margin:0;padding:0;font-size:.8125rem;display:flex;flex-direction:column;gap:2px}.lineup-col-list .starter{font-weight:700}.lineup-col-list .bench{color:var(--muted)}.lineup-jersey{font-family:var(--font-mono);color:var(--muted);margin-right:var(--space-1)}.lineup-coach{margin-top:var(--space-2);font-size:.75rem;color:var(--muted)}.chelsea-card-events{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.week-strip-scroll{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:thin}.week-chip{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;width:76px;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;text-decoration:none;color:inherit}.week-chip-day{font-family:var(--font-display);font-weight:700;font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.week-chip-opp{font-family:var(--font-mono);font-weight:600;font-size:.8125rem}.week-chip-comp{font-size:.625rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}.week-chip-gap{font-family:var(--font-mono);font-size:.625rem;color:var(--stale)}.today-group{margin-bottom:var(--space-4)}.today-group:last-child{margin-bottom:0}.today-group-title{font-size:.75rem;color:var(--muted);margin:0 0 var(--space-2)}.today-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.today-row:last-child{border-bottom:none}.today-team{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;min-width:0}.today-team.away{justify-content:flex-end;text-align:right}.today-team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-mid{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px}.today-score{font-family:var(--font-mono);font-weight:600;font-size:.9375rem}.today-kickoff{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.today-minute{font-family:var(--font-mono);font-size:.6875rem;color:var(--live);font-weight:600}.today-empty{color:var(--muted);font-size:.875rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table-row{width:100%;display:grid;grid-template-columns:22px 30px 1fr 28px 34px 34px;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:.8125rem;text-align:left;cursor:pointer;color:inherit}.table-row:last-child{border-bottom:none}.table-row.focus{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.table-pos{color:var(--muted)}.table-delta{font-size:.6875rem;color:var(--faint)}.table-delta.up{color:var(--accent)}.table-delta.down{color:var(--live)}.table-team{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-num{text-align:right}.table-pts{text-align:right;font-weight:700}.table-detail{padding:var(--space-3);background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.table-detail-stats{display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.stamp{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);text-align:center;margin:0}.stamp-amber{color:var(--stale)}.stamp-red{color:var(--live);font-weight:600}.match-back{display:inline-block;font-size:.8125rem;color:var(--muted);text-decoration:none;margin-bottom:var(--space-3)}.match-eyebrow{font-family:var(--font-display);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 var(--space-3)}.match-score-row{display:flex;align-items:center;justify-content:center;gap:var(--space-5)}.match-team{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:120px;text-align:center}.match-team-name{font-family:var(--font-display);font-weight:600;font-size:.9375rem}.match-mid{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.match-scoreline{font-family:var(--font-mono);font-size:2.25rem;font-weight:600;letter-spacing:-.02em}.match-ht{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.match-minute{font-family:var(--font-mono);font-size:.8125rem;color:var(--live);font-weight:600}.match-meta{text-align:center;font-size:.8125rem;color:var(--muted);margin:var(--space-3) 0 0}.match-banner{background:#a9660b1f;color:var(--stale);border-radius:var(--radius-sm);padding:var(--space-3);font-size:.8125rem;text-align:center;margin:0}.match-section{display:flex;flex-direction:column;gap:var(--space-3)}.match-section h2{font-family:var(--font-display);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.availability-row{display:flex;justify-content:space-between;gap:var(--space-4);font-size:.8125rem}.availability-side{flex:1;min-width:0}.availability-side-name{font-weight:600;margin-bottom:2px}.availability-side p{margin:0;color:var(--muted)}.events-timeline{display:flex;flex-direction:column}.event-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--line);font-size:.8125rem}.event-row:last-child{border-bottom:none}.event-side{min-width:0}.event-side.home{text-align:right}.event-side.away{text-align:left}.event-mid{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-mono);color:var(--muted);min-width:48px}.event-minute{font-weight:600}.event-icon{font-size:.9375rem;line-height:1}.event-empty{color:var(--muted);font-size:.875rem}.lineups{display:flex;flex-direction:column;gap:var(--space-4)}.lineups-teams{display:flex;justify-content:space-between;gap:var(--space-4);font-size:.75rem;color:var(--muted)}.lineups-teams strong{color:var(--fg);font-family:var(--font-display)}.pitch{background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--accent) 5%,var(--surface)) 0,color-mix(in srgb,var(--accent) 5%,var(--surface)) 11%,var(--surface) 11%,var(--surface) 22%);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-3)}.pitch-row{display:flex;justify-content:space-evenly;align-items:flex-start}.pitch-player{display:flex;flex-direction:column;align-items:center;gap:2px;width:56px;text-align:center}.pitch-player-num{width:24px;height:24px;border-radius:50%;background:var(--surface-raised);border:1.5px solid var(--accent);color:var(--fg);font-family:var(--font-mono);font-weight:700;font-size:.6875rem;display:flex;align-items:center;justify-content:center}.pitch-player-name{font-size:.625rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.bench-col-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-2)}.bench-list{list-style:none;margin:0;padding:0;font-size:.8125rem;display:flex;flex-direction:column;gap:3px}.bench-sub-on{font-family:var(--font-mono);font-size:.6875rem;color:var(--accent)}.stat-bars{display:flex;flex-direction:column;gap:var(--space-3)}.stat-row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:var(--space-2)}.stat-value{font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.stat-value.home{text-align:right}.stat-track{display:flex;align-items:center;height:6px;background:var(--line);border-radius:999px;overflow:hidden}.stat-half{flex:1;display:flex;height:100%}.stat-half.home{justify-content:flex-end}.stat-bar{height:100%}.stat-bar.home{background:var(--accent)}.stat-bar.away{background:var(--faint)}.stat-label{grid-column:1 / -1;text-align:center;font-size:.6875rem;color:var(--muted);margin-top:-2px}.stats-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.stats-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.75rem;white-space:nowrap}.stats-table th,.stats-table td{padding:var(--space-2) var(--space-2);text-align:right;border-bottom:1px solid var(--line)}.stats-table th:first-child,.stats-table td:first-child{text-align:left;font-family:var(--font-body);position:sticky;left:0;background:var(--surface)}.stats-table th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.625rem;letter-spacing:.03em}.stats-table tr:last-child td{border-bottom:none}.stats-table .derived{color:var(--stale);font-size:.625rem;margin-left:2px}.h2h-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.h2h-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:.8125rem;padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.h2h-row:last-child{border-bottom:none;padding-bottom:0}.h2h-teams{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h2h-score{font-family:var(--font-mono);font-weight:600}.h2h-date{color:var(--muted);font-size:.75rem;white-space:nowrap}.h2h-empty{color:var(--muted);font-size:.875rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
