:root{--bg-deep:#f0ebe0;--bg-base:#f6f2ea;--bg-surface:#eae5da;--bg-card:#f6f2ea;--bg-card-hover:#eae5da;--accent:#1a1a1a;--accent-dim:#1a1a1a14;--accent-glow:#1a1a1a1f;--cyan:#333;--cyan-dim:#3333330f;--red:#1a1a1a;--green:#333;--text-1:#111;--text-2:#444;--text-3:#999185;--border-1:#d5cfbf;--border-2:#b8b0a0;--font-display:"Teko", sans-serif;--font-body:"DM Sans", sans-serif;--radius:2px;--transition:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}.page-bg{pointer-events:none;z-index:-1;background:0 0;position:fixed;inset:0}.app-loading-state{min-height:100vh;color:var(--text-3);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.78rem;display:flex}@keyframes signalSlide{0%{background-position:0 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes gentlePulse{0%,to{opacity:.8}50%{opacity:.4}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-wrapper{max-width:1360px;margin:0 auto;padding:0 24px 80px}.site-header{border-bottom:1px solid var(--border-1);margin-bottom:0;padding:24px 0 20px;position:relative}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.brand-icon{background:var(--accent);width:10px;height:10px;box-shadow:0 0 8px var(--accent-glow), 0 0 16px #1a1a1a1a;border-radius:50%;flex-shrink:0;align-self:center;animation:3s ease-in-out infinite gentlePulse}.brand-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-1);font-size:2.4rem;font-weight:600;line-height:1}.brand-name span{color:var(--accent)}.header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.date-range-controls{gap:2px;min-width:260px;display:grid}.date-range-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.date-input-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;font-size:.62rem;font-weight:700}.date-range-value{font-family:var(--font-display);letter-spacing:.03em;color:var(--text-1);white-space:nowrap;font-size:.88rem;font-weight:500}.date-slider-shell{--thumb-size:16px;--rail-pad:calc(var(--thumb-size) / 2);height:28px;position:relative}.date-slider-track{left:var(--rail-pad);right:var(--rail-pad);background:var(--bg-surface);border:1px solid var(--border-1);touch-action:none;cursor:pointer;border-radius:999px;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.date-slider-track-fill{background:var(--accent);pointer-events:none;border-radius:999px;height:100%;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 6px #1a1a1a26}.date-slider-handle{width:var(--thumb-size);height:var(--thumb-size);border:2.5px solid var(--bg-deep);background:var(--accent);cursor:grab;touch-action:none;z-index:6;border-radius:50%;padding:0;transition:box-shadow .12s,transform .12s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1a1a1a66,0 1px 4px #1111112e,0 3px 8px #11111114}.date-slider-handle:hover{box-shadow:0 0 0 1px #1a1a1a80,0 0 0 4px #1a1a1a1a,0 2px 6px #1113}.date-slider-handle.is-active{cursor:grabbing;transform:translate(-50%,-50%)scale(1.12);box-shadow:0 0 0 1px #1a1a1a99,0 0 0 5px #1a1a1a1f,0 2px 8px #11111138}.date-slider-handle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.date-slider-scale{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);opacity:.7;justify-content:space-between;padding:0 2px;font-size:.6rem;font-weight:600;display:flex}.date-slider-today-btn{all:unset;cursor:pointer;transition:color var(--transition), background var(--transition);border-radius:4px;padding:1px 6px}.date-slider-today-btn:hover{color:var(--text-1);background:var(--accent-dim)}.date-slider-today-btn:active{opacity:.7}.section-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.section-heading:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:24px}.section-heading h2{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:1.6rem;font-weight:500}.section-heading h2 strong{color:var(--text-1);font-weight:600}.starred-chip{border:1px solid var(--border-1);background:var(--bg-base);color:var(--text-2);letter-spacing:.03em;cursor:pointer;transition:all var(--transition);border-radius:8px;align-items:center;gap:6px;padding:6px 10px 6px 8px;font-size:.72rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #1111110a}.starred-chip .chip-star{color:var(--text-3);font-size:.74rem;line-height:1}.chip-remove{color:var(--text-3);opacity:.4;width:12px;height:12px;transition:opacity var(--transition);flex-shrink:0}.starred-chip:hover .chip-remove{opacity:1}.starred-chip--active{color:var(--text-1);background:linear-gradient(135deg,#1a1a1a14,#1a1a1a24);border-color:#1a1a1a40}.starred-chip--active .chip-star{color:var(--accent)}.starred-chip:hover{color:var(--text-1);border-color:#1a1a1a59;transform:translateY(-1px);box-shadow:0 2px 6px #1111110f}.starred-chip-logo-slot{flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;line-height:0;display:inline-flex}.starred-chip-logo{object-fit:contain;width:100%;height:100%;display:block}.starred-input-icon{color:var(--text-3);flex-shrink:0;width:14px;height:14px}.inline-filter-builder{gap:8px;display:grid}.spotlight-filters{margin:16px 0 14px}.inline-filter-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.starred-chip--team{border-color:#1a1a1a33}.starred-chip--league{background:linear-gradient(135deg,#3333330f,#3333331f);border-color:#3333}.starred-chip--league:hover{border-color:#33333359}.starred-chip--sport{background:linear-gradient(135deg,#1a1a1a1a,#1a1a1a29);border-color:#1a1a1a40;font-weight:600}.starred-chip--sport:hover{border-color:#1a1a1a66}.sport-emoji{font-size:.85em;line-height:1}.inline-search-pill{border:1px solid var(--border-1);background:var(--bg-surface);width:230px;max-width:100%;color:var(--text-3);transition:all var(--transition);border-radius:8px;flex:none;align-items:center;gap:8px;padding:7px 12px;display:inline-flex;position:relative}.inline-search-pill:focus-within{border-color:var(--accent);background:var(--bg-base);box-shadow:0 0 0 3px #1a1a1a14,0 2px 6px #1111110d}.inline-search-field{width:100%;font:inherit;color:var(--text-1);letter-spacing:.03em;background:0 0;border:none;outline:none;font-size:.78rem}.inline-search-field::placeholder{color:var(--text-3)}.inline-filter-suggestions{border:1px solid var(--border-1);background:var(--bg-base);z-index:90;border-radius:10px;width:max-content;min-width:100%;max-width:280px;max-height:240px;margin-top:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 8px 24px #1111111a,0 2px 6px #1111110a}.inline-filter-suggestion{width:100%;color:var(--text-2);letter-spacing:.03em;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:.76rem;font-weight:600;transition:all .1s;display:inline-flex}.inline-filter-suggestion:hover{background:var(--bg-surface);color:var(--text-1)}.inline-filter-suggestion-label{flex:1}.starred-team-search-empty{color:var(--text-3);padding:10px;font-size:.76rem}.filter-empty{color:var(--text-3);letter-spacing:.02em;font-size:.76rem}.preview-status{letter-spacing:.08em;text-transform:uppercase;color:var(--green);align-items:center;gap:6px;font-size:.64rem;font-weight:700;display:inline-flex}.preview-status .status-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite pulse}.starred-preview-list{scrollbar-width:thin;scrollbar-color:#33333359 #d5cfbfe6;flex-direction:column;gap:10px;max-height:220px;padding-right:6px;list-style:none;display:flex;overflow-y:auto}.starred-preview-list::-webkit-scrollbar{width:8px}.starred-preview-list::-webkit-scrollbar-track{background:#d5cfbfe6;border-radius:8px}.starred-preview-list::-webkit-scrollbar-thumb{background:linear-gradient(#33333373,#3333333d);border-radius:8px}.starred-preview-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#33333394,#33333357)}.starred-preview-list li{border-bottom:1px solid var(--border-1);color:var(--text-2);align-items:center;gap:8px;padding-bottom:10px;font-size:.8rem;display:flex}.starred-preview-list li:last-child{border-bottom:none;padding-bottom:0}.preview-kind{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#3333331a;border:1px solid #33333338;border-radius:999px;align-items:center;padding:2px 7px;font-size:.59rem;font-weight:700;display:inline-flex}.spotlight{margin-bottom:48px}.spotlight-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.game-card{z-index:1;background:var(--bg-card);border:1px solid var(--border-1);border-radius:var(--radius);transition:all var(--transition);grid-template-columns:1fr auto;grid-template-areas:"matchup time";align-items:center;gap:6px 10px;padding:11px 12px;animation:.4s both fadeUp;display:grid;position:relative}.games-grid .game-card:first-child{animation-delay:50ms}.games-grid .game-card:nth-child(2){animation-delay:.1s}.games-grid .game-card:nth-child(3){animation-delay:.15s}.games-grid .game-card:nth-child(4){animation-delay:.2s}.games-grid .game-card:nth-child(5){animation-delay:.25s}.games-grid .game-card:nth-child(6){animation-delay:.3s}.spotlight-grid .game-card:first-child{animation-delay:50ms}.spotlight-grid .game-card:nth-child(2){animation-delay:.1s}.spotlight-grid .game-card:nth-child(3){animation-delay:.15s}.spotlight-grid .game-card:nth-child(4){animation-delay:.2s}.spotlight-grid .game-card:nth-child(5){animation-delay:.25s}.spotlight-grid .game-card:nth-child(6){animation-delay:.3s}.game-status{display:none}.game-status--soon{color:var(--green);background:#3333331a;border:1px solid #3333}.game-status--soon .status-dot{background:var(--green);border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite pulse}.game-status--today{color:var(--accent);background:var(--accent-dim);border:1px solid #1a1a1a33}.game-status--upcoming{color:var(--text-2);background:#99918514;border:1px solid #9991851f}.game-time-block{white-space:nowrap;grid-area:time;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.game-time{font-family:var(--font-display);letter-spacing:.02em;color:var(--text-3);font-variant-numeric:tabular-nums;order:2;font-size:.78rem;font-weight:500;line-height:1}.game-date{color:var(--text-2);letter-spacing:.02em;text-transform:none;order:1;font-size:.7rem;font-weight:500}.game-date:after{content:" ·";color:var(--text-3);margin:0 1px}.matchup{white-space:nowrap;flex-direction:row;grid-area:matchup;justify-content:flex-start;align-items:center;gap:7px;width:100%;min-width:0;display:flex;overflow:hidden}.game-league-logo-slot{flex:0 0 14px;justify-content:center;align-items:center;width:14px;height:14px;line-height:0;display:inline-flex}.game-league-logo{object-fit:contain;opacity:.88;width:100%;height:100%;display:block}.team{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--text-1);flex:0 auto;align-items:center;gap:6px;min-width:0;font-size:1.06rem;font-weight:600;line-height:1;display:flex}.team-logo{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.team-logo-slot{flex:0 0 1em;justify-content:center;align-self:center;align-items:center;width:1em;height:1em;line-height:0;display:inline-flex}.team-logo-fallback{width:100%;height:100%;color:var(--text-2);letter-spacing:.02em;text-transform:uppercase;background:#99918533;border-radius:50%;justify-content:center;align-items:center;font-size:.5rem;font-weight:700;display:inline-flex}.team-name-box{flex:0 auto;align-self:center;align-items:center;min-width:0;height:1em;display:flex;overflow:hidden}.team-name-text{white-space:nowrap;text-overflow:ellipsis;width:auto;line-height:1;display:block;overflow:hidden;transform:translateY(.09em)}.vs-divider{letter-spacing:.12em;color:var(--text-3);flex-shrink:0;align-items:center;gap:0;padding:0;font-size:.52rem;font-weight:700;line-height:1;display:flex}.vs-divider:before,.vs-divider:after,.game-venue{display:none}.venue-icon{flex-shrink:0;margin-top:1px;font-size:.7rem}.game-broadcast{display:none}.broadcast-label{flex-shrink:0;font-size:.62rem}.channel-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);white-space:nowrap;transition:all var(--transition);border:1px solid #1a1a1a26;border-radius:3px;align-items:center;padding:1px 6px;font-size:.56rem;font-weight:600;display:inline-flex}.game-card.is-hidden{display:none}.league-section{margin-bottom:32px}.league-section details{border:1px solid var(--border-1);border-radius:var(--radius);background:var(--bg-base);overflow:hidden}.league-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid var(--league-accent,var(--accent));transition:background var(--transition);align-items:center;gap:10px;padding:16px 20px;list-style:none;display:flex}.league-header::-webkit-details-marker{display:none}.league-header::marker{content:""}.league-header:hover{background:var(--bg-surface)}.league-flag{font-size:1.3rem;line-height:1}.league-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-1);font-size:1.35rem;font-weight:600;line-height:1}.league-country{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:500}.game-count{color:var(--text-2);background:var(--bg-surface);letter-spacing:.04em;border-radius:3px;margin-left:auto;padding:3px 10px;font-size:.7rem;font-weight:600}.league-chevron{width:16px;height:16px;color:var(--text-3);flex-shrink:0;justify-content:center;align-items:center;transition:transform .25s;display:flex}.league-chevron svg{width:14px;height:14px}details[open] .league-chevron{transform:rotate(180deg)}.games-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 16px 16px;display:grid}.league--premier-league{--league-accent:#7c3aed}.league--champions-league{--league-accent:#2563eb}.league--serie-a{--league-accent:#3b82f6}.league--nba{--league-accent:#dc2626}.league--nhl{--league-accent:#06b6d4}.league--mlb{--league-accent:#2563eb}.league--nfl{--league-accent:#f97316}.league--ncaaf{--league-accent:#22c55e}.league--mls{--league-accent:#84cc16}.site-footer{border-top:1px solid var(--border-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:24px 0;display:flex}.footer-note,.footer-tz{color:var(--text-3);letter-spacing:.02em;font-size:.72rem}@media (width<=1080px){.games-grid,.spotlight-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.page-wrapper{padding:0 16px 64px}.header-inner{flex-direction:column;align-items:flex-start;gap:8px}.brand-name{font-size:2rem}.header-meta{gap:12px;width:100%}.section-heading h2{font-size:1.3rem}.spotlight-grid{grid-template-columns:1fr}.games-grid{grid-template-columns:1fr;padding:12px 14px 16px}.league-header{flex-wrap:wrap;gap:6px 10px;padding:14px}.league-name{font-size:1.15rem}.game-card{grid-template-columns:1fr auto;grid-template-areas:"matchup time";gap:5px;padding:10px}.team{font-size:.96rem}.game-date{font-size:.64rem}.game-time{font-size:.72rem}}@media (width<=480px){.date-range-controls{gap:2px;width:100%;min-width:0}.date-range-head{gap:4px}.game-card{grid-template-columns:1fr;grid-template-areas:"matchup""time"}.game-time-block{justify-content:flex-start}.team{font-size:.9rem}.game-count{display:none}.inline-search-pill{width:230px;max-width:100%}.inline-filter-suggestions{left:0}.date-slider-shell{--thumb-size:18px;height:30px}}
