:root{color-scheme:light;--ink: #0b1f33;--paper: #f7f9fc;--paper-elevated: #ffffff;--surface: #eef2f7;--border: rgba(11, 31, 51, .12);--text: #0b1f33;--muted: #5a6f82;--accent: #0b1f33;--accent-strong: #163a5c;--on-accent: #f7f9fc;--live: #c62828;--live-soft: rgba(198, 40, 40, .12);--warn: #9a6700;--danger: #b42318;--banner-warn-bg: #fff7e6;--banner-error-bg: #fef3f2;--banner-info-bg: #eef5fb;--backdrop: rgba(11, 31, 51, .42);--focus-outline: color-mix(in srgb, var(--ink) 45%, white);--header-blend: white;--shadow: 0 12px 40px rgba(11, 31, 51, .08);--bg-gradient-a: rgba(22, 58, 92, .08);--bg-gradient-b: rgba(90, 111, 130, .08);--radius: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--font-ui);line-height:1.45;font-weight:400;background:radial-gradient(1200px 480px at 10% -10%,var(--bg-gradient-a),transparent 55%),radial-gradient(900px 420px at 100% 0%,var(--bg-gradient-b),transparent 50%),var(--paper);color:var(--text)}[data-theme=dark]{color-scheme:dark;--ink: #e8eef4;--paper: #0d1824;--paper-elevated: #152232;--surface: #1a2a3d;--border: rgba(232, 238, 244, .12);--text: #e8eef4;--muted: #94a8bc;--accent: #e8eef4;--accent-strong: #c5d4e4;--on-accent: #0d1824;--live: #ef5350;--live-soft: rgba(239, 83, 80, .16);--warn: #ffb74d;--danger: #ef9a9a;--banner-warn-bg: rgba(255, 183, 77, .12);--banner-error-bg: rgba(239, 154, 154, .12);--banner-info-bg: rgba(197, 212, 228, .1);--backdrop: rgba(0, 0, 0, .58);--focus-outline: color-mix(in srgb, var(--ink) 55%, var(--paper-elevated));--header-blend: #0d1824;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--bg-gradient-a: rgba(197, 212, 228, .08);--bg-gradient-b: rgba(148, 168, 188, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:transparent}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(720px,100%);margin:0 auto;padding:calc(.85rem + var(--safe-top)) 1rem calc(1.5rem + var(--safe-bottom))}.app-header{display:grid;gap:.65rem;margin-bottom:.85rem;position:sticky;top:0;z-index:20;padding:.35rem 0 .55rem;background:color-mix(in srgb,var(--paper) 92%,var(--header-blend));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-block{display:grid;gap:.15rem}.brand-mark{margin:0;font-family:var(--font-display);font-size:clamp(2rem,7vw,2.55rem);font-weight:650;letter-spacing:-.03em;line-height:1;color:var(--ink)}.status-line{margin:0;color:var(--muted);font-size:.9rem}.subtle{color:var(--muted);font-size:.92rem}.essentials{display:grid;gap:.7rem;margin-bottom:1rem}.essentials-search{align-items:stretch}.filter-heading{margin:1rem 0 .45rem;font-size:.92rem;font-weight:650;color:var(--ink)}.field-label{display:block;margin:0 0 .35rem;color:var(--muted);font-size:.85rem}.field-row{display:flex;gap:.55rem;align-items:center}.name-suggest{position:relative;flex:1;min-width:0}.name-suggest .text-input{width:100%}.name-suggest-list{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;margin:0;padding:.35rem;list-style:none;border-radius:12px;border:1px solid var(--border);background:var(--paper-elevated);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 12%,transparent);max-height:14rem;overflow-y:auto}.name-suggest-list.drop-up{top:auto;bottom:calc(100% + .25rem)}.name-suggest-option{display:block;width:100%;min-height:40px;padding:.45rem .65rem;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.name-suggest-option:hover,.name-suggest-option:focus-visible{background:color-mix(in srgb,var(--ink) 8%,var(--paper-elevated));outline:none}.text-input{flex:1;min-width:0;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--paper-elevated);color:var(--text);padding:.55rem .85rem}.text-input:focus{outline:2px solid var(--focus-outline);outline-offset:1px}.field-hint{margin:.2rem 0 0;color:var(--muted);font-size:.82rem}.warn-text{color:var(--warn)}.toolbar,.filter-row,.action-row{display:flex;flex-wrap:wrap;gap:.55rem}.chip,.button,.icon-button{border:1px solid var(--border);background:var(--paper-elevated);color:var(--text);border-radius:999px;min-height:44px;padding:.55rem .95rem;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.chip[aria-pressed=true],.button.primary{background:var(--ink);border-color:transparent;color:var(--on-accent);font-weight:650}.button.ghost{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:.18em;min-height:40px;padding-inline:.45rem}.chip:hover,.button:hover,.icon-button:hover{border-color:color-mix(in srgb,var(--ink) 35%,var(--border))}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{min-width:44px;padding-inline:.65rem;flex:0 0 auto}.panel{background:var(--paper-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.panel h2{margin:0 0 .75rem;font-size:1.05rem;font-family:var(--font-display)}.feed-section{margin-bottom:1.35rem;animation:row-in .28s ease both}.feed-section-header{display:grid;gap:.15rem;margin-bottom:.55rem}.feed-section-header h2{margin:0;font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.02em}.status-banner{border-radius:12px;padding:.8rem .95rem;margin-bottom:.35rem;border:1px solid var(--border);background:var(--banner-warn-bg);color:var(--warn)}.status-banner.error{background:var(--banner-error-bg);color:var(--danger)}.status-banner.info{background:var(--banner-info-bg);color:var(--accent-strong)}.tip-banner{background:var(--banner-info-bg);color:var(--accent-strong);padding:.45rem .75rem}.tip-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;min-height:36px;padding:.15rem 0;text-align:left}.tip-toggle-chevron{color:var(--muted);font-size:.85rem}.tip-body{margin:0 0 .35rem;font-size:.9rem;line-height:1.4}.event-list{display:grid;gap:0;border-top:1px solid var(--border)}.event-row{display:grid;gap:.65rem;padding:.95rem .15rem;border-bottom:1px solid var(--border);animation:row-in .32s ease both}.event-row-header{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.event-row-icons{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.event-row-main{min-width:0}.event-row h3{margin:0;font-size:1.05rem;font-weight:650;letter-spacing:-.01em}.meta-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.22rem .6rem;font-size:.76rem;background:var(--surface);border:1px solid transparent;color:var(--muted)}.badge.quiet{background:transparent;border-color:var(--border)}.badge.live{background:var(--live-soft);color:var(--live);border-color:color-mix(in srgb,var(--live) 35%,var(--paper-elevated));font-weight:700;letter-spacing:.04em;animation:live-pulse 1.1s ease 1}.badge.warn{background:var(--banner-warn-bg);color:var(--warn)}.handoff-hint{margin:0;color:var(--muted);font-size:.8rem}.empty-state{padding:1.1rem .2rem;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:end center;padding:.75rem;padding-bottom:calc(.75rem + var(--safe-bottom));z-index:40;animation:fade-in .16s ease}.modal{width:min(560px,100%);background:var(--paper-elevated);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:var(--shadow)}.modal.sheet{border-radius:20px 20px 14px 14px;animation:sheet-up .22s ease;max-height:min(86vh,720px);overflow:auto}.modal h2{margin-top:0;font-family:var(--font-display)}.sheet-actions{display:grid;gap:.55rem}.sheet-action{display:grid;justify-items:start;gap:.15rem;border-radius:14px;text-align:left}.sheet-hint{font-size:.78rem;font-weight:500;opacity:.85}.cache-meta{display:grid;gap:.55rem;margin:0 0 .85rem}.cache-meta div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem;align-items:baseline}.cache-meta dt{margin:0;color:var(--muted);font-size:.85rem}.cache-meta dd{margin:0;font-size:.95rem}.install-hint{display:grid;gap:.55rem}.install-hint-toggle{margin:0}.settings-trigger-row{display:flex;justify-content:flex-end;margin:-.35rem 0 .85rem}.my-teams-toggle{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem;font-size:.92rem}.my-teams-toggle input{width:1rem;height:1rem}.favorite-sport-block{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.team-chip{border-radius:999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes live-pulse{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes sheet-up{0%{transform:translateY(18px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){.modal-backdrop{place-items:center}.modal.sheet{border-radius:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.tab-row{display:flex;flex-wrap:wrap;gap:.45rem}.tab-chip{min-width:5.5rem;justify-content:center}.catalog-status{margin:0 0 .75rem}.title-card{display:grid;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.title-card-body{display:grid;grid-template-columns:72px 1fr;gap:.85rem}.title-poster{width:72px;height:108px;object-fit:cover;border-radius:10px;background:var(--surface)}.title-poster.placeholder{border:1px dashed var(--border)}.title-card-header{display:flex;justify-content:space-between;gap:.5rem}.title-card-header h3{margin:0 0 .35rem;font-size:1.05rem}.title-overview{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:720px){.title-card-body{grid-template-columns:96px 1fr}.title-poster{width:96px;height:144px}}
