@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap";:root{--bg:#0a1310;--surface:#121f1a;--surface-2:#17281f;--border:#ffffff14;--text:#f3f5f0;--text-dim:#93a19a;--text-faint:#566158}body{color:var(--text);box-sizing:border-box;background:radial-gradient(120% 100% at 10% 0,#0e1b15 0%,#0a1310 55%,#08110d 100%);min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}#root{padding:20px 14px 48px;padding:max(20px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));min-height:100vh}*{box-sizing:border-box}::selection{color:#fff;background:#3b6fe0}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:2px solid #6c3fe0}.shell{max-width:640px;margin:0 auto}.eyebrow{letter-spacing:.18em;color:var(--text-faint);text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.jump-today{letter-spacing:.1em;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:uppercase;border-radius:20px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px}.jump-today:hover{color:var(--text);border-color:#fff3}.headline-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.headline{letter-spacing:-.01em;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(21px,5vw,26px);font-weight:700;line-height:1.15}.date-input{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:13px}.summary-line{color:var(--text-dim);margin:0 0 18px;font-size:13.5px;line-height:1.4}.summary-line b{color:var(--text);font-weight:600}.day-actions{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.action-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.action-btn:hover{color:var(--text);border-color:#fff3}.row-export-btn{opacity:.35;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:-8px;padding:8px;font-size:14px;line-height:1;display:flex}.row-export-btn:hover{opacity:.9}.view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:11px;gap:3px;margin-bottom:18px;padding:3px;display:flex}.view-toggle button{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 0;font-family:JetBrains Mono,monospace;font-size:12px}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{color:var(--text);background:linear-gradient(160deg,#2a4a3c,#16281f);box-shadow:inset 0 1px #ffffff0a}.date-strip-wrap{align-items:center;gap:6px;margin-bottom:26px;display:flex}.page-btn{background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--text-dim);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.page-btn:hover{color:var(--text);border-color:#ffffff38}.date-strip{scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.day-pill{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:52px;color:var(--text-dim);border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:10px 0 11px;display:flex}.day-pill:hover:not(.selected){color:var(--text);border-color:#fff3}.day-pill.selected{color:var(--text);background:linear-gradient(160deg,#2a4a3c,#16281f);border-color:#3e6a54}.day-pill.disabled{opacity:.3;cursor:not-allowed}.day-wd{letter-spacing:.05em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:11px}.day-num{font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.day-dot{background:0 0;border-radius:50%;width:4px;height:4px}.day-dot.on{background:#5fe0a5}.calendar-view{width:100%}.cal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-title{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700}.cal-dots{flex-wrap:wrap;justify-content:center;gap:3px;max-width:26px;display:flex}.cal-dot{border-radius:50%;flex:none;width:4px;height:4px}.cal-star{color:#e0b84a;font-size:10px;line-height:1;position:absolute;top:6px;right:8px}.month-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px;display:grid}.month-weekday{color:var(--text-faint);text-align:center;text-transform:uppercase;padding-bottom:4px;font-family:JetBrains Mono,monospace;font-size:11px}.month-cell{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:0;display:flex;position:relative}.month-cell:hover:not(.selected):not(.disabled){border-color:#fff3}.month-cell.outside{opacity:.32}.month-cell.disabled{opacity:.16;cursor:not-allowed}.month-cell.selected{background:linear-gradient(160deg,#2a4a3c,#16281f);border-color:#3e6a54}.month-daynum{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600}.month-cell.today .month-daynum{color:#5fe0a5}.league-section{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent2);border-radius:16px;margin-bottom:16px;overflow:hidden}.league-section:last-child{margin-bottom:0}.slide-in{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn}.slide-out{animation:.2s ease-out forwards slideOut}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.league-header{align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.comp-badge{color:#fff;letter-spacing:.02em;border-radius:9px;flex:none;justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;display:flex;box-shadow:0 2px 8px #00000059}.league-title h2{letter-spacing:-.005em;margin:0 0 1px;font-family:Space Grotesk,sans-serif;font-size:15.5px;font-weight:700}.league-sub{color:var(--text-dim);letter-spacing:.01em;font-family:JetBrains Mono,monospace;font-size:11.5px}.match-list{border-top:1px solid var(--border)}.match-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 16px;display:grid}.match-row:last-child{border-bottom:none}.match-row:hover{background:var(--surface-2)}.match-row.rivalry{background:linear-gradient(#e0b84a14,#0000 70%)}.team{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;margin:-6px -10px;padding:6px 10px;transition:background .2s;display:flex}.team:hover{background:#ffffff0a}.team:active{background:#ffffff14}.team.home{text-align:right;justify-content:flex-end}.team.away{text-align:left;justify-content:flex-start}.team-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;transition:color .2s;overflow:hidden}.team:hover .team-name{color:#5fe0a5}.crest{object-fit:contain;flex:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.team:hover .crest{transform:scale(1.15)rotate(-3deg)}.crest-fallback{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;font-weight:700;display:flex}.kickoff{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.kickoff-stack{flex-direction:column;align-items:center;gap:3px;display:flex}.time{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:6px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:600}.time.tbc{color:var(--text-faint);font-weight:500}.day-shift{color:#e0b84a;margin-left:1px;font-size:9px}.uk-ref{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:10px}.rivalry-tag{letter-spacing:.05em;color:#e0b84a;text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.ucl-rounds{border-top:1px solid var(--border);padding:4px 16px 12px}.ucl-round{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:13px;display:flex}.ucl-round:last-child{border-bottom:none}.ucl-round-label{flex:none;font-weight:600}.ucl-round-note{color:var(--text-dim);text-align:right;font-size:12px}.empty-state{text-align:center;color:var(--text-dim);padding:56px 20px 40px}.empty-glyph{opacity:.7;margin-bottom:14px;font-size:34px}.empty-title{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:500}.empty-sub{margin:0 0 24px;font-size:13px;line-height:1.4}.jump-btn{color:var(--text);cursor:pointer;background:linear-gradient(160deg,#2e5443,#16281f);border:1px solid #3e6a54;border-radius:10px;padding:12px 20px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600}.jump-btn:hover{border-color:#5fe0a5}.search-box{margin-bottom:18px;position:relative}.search-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:11px;padding:12px 40px 12px 14px;font-family:Inter,sans-serif;font-size:15px}.search-input::placeholder{color:var(--text-faint)}.search-clear{background:var(--surface-2);width:26px;height:26px;color:var(--text-dim);cursor:pointer;border:none;border-radius:50%;font-size:16px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.team-browse-group{margin-bottom:20px}.team-browse-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px}.team-result-list{flex-direction:column;gap:4px;display:flex}.team-result{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text);border-radius:10px;align-items:center;gap:12px;margin-bottom:4px;padding:10px 14px;transition:all .2s;display:flex}.team-result:hover{background:#ffffff0a;border-color:#fff3}.team-result:active{transform:scale(.98)}.team-result-name{flex:1;font-size:14px;font-weight:500;transition:color .2s}.team-result:hover .team-result-name{color:#5fe0a5}.team-result:hover .crest{transform:scale(1.15)rotate(-3deg)}.team-result-comp{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.team-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.team-header-text{flex:1}.team-header-text h2{margin:0 0 4px;font-family:Space Grotesk,sans-serif;font-size:20px}.next-fixture-card{background:linear-gradient(160deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-top:2px solid var(--accent2);cursor:pointer;width:100%;color:var(--text);border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:20px;transition:all .2s;display:flex}.next-fixture-card:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.next-fixture-card:active{transform:scale(.98)}.next-fixture-card:hover .crest{transform:scale(1.15)rotate(-3deg)}.next-fixture-card:hover .nf-team span{color:#5fe0a5}.nf-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:11px}.nf-matchup{align-items:center;gap:20px;display:flex}.nf-team{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:90px;font-size:13px;font-weight:500;display:flex}.nf-team span{transition:color .2s}.nf-vs{color:var(--text-faint);font-family:Space Grotesk,sans-serif;font-size:13px}.nf-date{color:var(--text-dim);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:13px;line-height:1.4;display:flex}.team-fixture-list{flex-direction:column;gap:6px;display:flex}.team-fixture-row{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:10px;grid-template-columns:68px 1fr auto;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:grid}.team-fixture-row:hover{background:#ffffff0a;border-color:#fff3}.team-fixture-row:active{transform:scale(.98)}.team-fixture-row:hover .crest{transform:scale(1.15)rotate(-3deg)}.team-fixture-row:hover .tf-opp{color:#5fe0a5}.tf-date{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:12px}.tf-opp{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:14px;transition:color .2s;display:flex;overflow:hidden}.tf-meta{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.venue-badge{cursor:default;border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-right:8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.venue-badge.home{color:#5fe0a5;background:#5fe0a526;border:1px solid #5fe0a54d}.venue-badge.away{color:var(--text-dim);background:#ffffff1a;border:1px solid #ffffff26}.day-transition{animation:none}.day-transition.slide-right{animation-name:slideFadeRight}.day-transition.slide-left{animation-name:slideFadeLeft}@keyframes slideFadeRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes slideFadeLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.footnote{text-align:center;color:var(--text-faint);margin-top:32px;font-size:12px;line-height:1.6}@media (width<=375px){.headline{font-size:21px}.day-pill{width:44px}.month-cell{min-height:40px}.month-daynum{font-size:12.5px}.team-fixture-row{grid-template-columns:60px 1fr auto;gap:8px;padding:10px 12px}}
