:root{--screen-bg:#fff;--text:#16181c;--text-dim:#6b7280;--card-bg:#fff;--card-border:#e6e8eb;--accent:#b5121b;--accent-soft:#fde8e9;--tabbar-bg:#fff;--tabbar-border:#e6e8eb;--tab-inactive:#9aa0a8;--chip-bg:#eef1f4;--chip-active-bg:#16181c;--chip-active-text:#fff;--live-dot:#1fae57;--divider:#eceef1;--skeleton:#e9ecef}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--screen-bg:#111214;--text:#f2f3f5;--text-dim:#9aa0a8;--card-bg:#1a1c1f;--card-border:#2a2d31;--accent:#ff5a63;--accent-soft:#3a1417;--tabbar-bg:#111214;--tabbar-border:#2a2d31;--tab-inactive:#6b7280;--chip-bg:#23262a;--chip-active-bg:#f2f3f5;--chip-active-text:#111214;--divider:#23262a;--skeleton:#23262a}}:root[data-theme=dark]{--screen-bg:#111214;--text:#f2f3f5;--text-dim:#9aa0a8;--card-bg:#1a1c1f;--card-border:#2a2d31;--accent:#ff5a63;--accent-soft:#3a1417;--tabbar-bg:#111214;--tabbar-border:#2a2d31;--tab-inactive:#6b7280;--chip-bg:#23262a;--chip-active-bg:#f2f3f5;--chip-active-text:#111214;--divider:#23262a;--skeleton:#23262a}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--screen-bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}button{color:inherit;-webkit-tap-highlight-color:transparent;font-family:inherit}.app{max-width:560px;height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.view{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{flex:none;padding:8px 16px 6px}.topbar h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.topbar .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.week-switcher{flex:none;justify-content:space-between;align-items:center;margin:0 16px 2px;padding:2px 4px;display:flex}.week-switcher button{background:var(--chip-bg);border:none;border-radius:50%;flex:none;width:26px;height:26px;font-size:14px;font-weight:700}.week-switcher button:disabled{opacity:.35}.week-switcher .week-label{text-align:center;flex:1;min-width:0;font-size:14px;font-weight:700}.week-switcher .week-label .live-tag{color:var(--live-dot);margin-left:6px;font-size:11px}.week-switcher .week-label .week-date{color:var(--text-dim);margin-top:1px;font-size:11px;font-weight:600;display:block}.content{-webkit-overflow-scrolling:touch;flex:1;padding:2px 14px 20px;overflow-y:auto}.content::-webkit-scrollbar{display:none}.section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);justify-content:space-between;align-items:center;margin:13px 2px 6px;font-size:12px;font-weight:700;display:flex}.section-label:first-child{margin-top:2px}.section-label .count{text-transform:none;letter-spacing:0;font-weight:600}.segmented{background:var(--chip-bg);border-radius:10px;flex:none;margin:2px 16px 10px;padding:3px;display:flex}.segmented button{color:var(--text-dim);background:0 0;border:none;border-radius:8px;flex:1;padding:7px 0;font-size:12px;font-weight:700}.segmented button.active{background:var(--chip-active-bg);color:var(--chip-active-text)}.game-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;margin-bottom:7px;padding:11px 12px}.game-card.compact{padding:8px 12px}.game-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.game-card.compact .game-top{margin-bottom:5px}.game-status{color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.game-status.final,.game-status.upcoming{color:var(--text-dim)}.live-dot{background:var(--live-dot);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--live-dot) 25%, transparent);border-radius:50%;flex:none}.tv-chip{color:var(--text-dim);background:var(--chip-bg);white-space:nowrap;border-radius:20px;flex:none;padding:3px 8px;font-size:11px;font-weight:600}.matchup{flex-direction:column;gap:6px;display:flex}.matchup.compact{gap:3px}.team-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.team-left{align-items:center;gap:10px;min-width:0;display:flex}.matchup.compact .team-left{gap:8px}.team-logo{color:#fff;object-fit:contain;letter-spacing:-.02em;border-radius:5px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:flex;overflow:visible}img.team-logo{background:0 0;padding:1px}.team-logo.sm{border-radius:4px;width:20px;height:20px;font-size:8.5px}.team-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.team-name.sm{font-size:13px}.team-name.your-team{color:var(--accent)}.team-rank{color:var(--text-dim);flex:none;margin-right:4px;font-size:11px;font-weight:700}.team-score{font-variant-numeric:tabular-nums;flex:none;font-size:17px;font-weight:800}.team-score.sm{font-size:14px}.team-score.leading{color:var(--text)}.team-score.trailing{color:var(--text-dim)}.possession{background:var(--accent);border-radius:3px;flex:none;width:5px;height:12px;margin-right:-2px}.drive-strip{background:var(--chip-bg);color:var(--text-dim);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:5px 9px;font-size:11px;font-weight:700;display:flex}.drive-strip .down-distance{color:var(--text);white-space:nowrap}.drive-strip .spot{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:flex;overflow:hidden}.drive-strip .redzone{color:var(--accent)}.tabbar{background:var(--tabbar-bg);border-top:1px solid var(--tabbar-border);padding:6px 0 calc(8px + env(safe-area-inset-bottom));flex:none;display:flex}.tab{color:var(--tab-inactive);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;padding:3px 0;display:flex}.tab .icon{width:21px;height:21px;display:block}.tab .label{letter-spacing:-.01em;white-space:nowrap;font-size:9.5px;font-weight:600}@media (max-width:340px){.tab .label{font-size:8.5px}}.tab.active{color:var(--accent)}.empty-state{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:13px;line-height:1.5}.error-state{color:var(--accent)}.retry-btn{background:var(--chip-bg);border:none;border-radius:10px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:700}.skeleton-card{background:var(--skeleton);border-radius:16px;height:96px;margin-bottom:10px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.game-note{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:6px;font-size:10px;font-weight:800}.rank-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;margin-bottom:8px;padding:2px 12px}.rank-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:8px 0;display:flex}.rank-row:last-child{border-bottom:none}.rank-num{width:20px;color:var(--text-dim);flex:none;font-size:14px;font-weight:800}.rank-move{text-align:right;flex:none;width:32px;font-size:11px;font-weight:700}.rank-move.up{color:var(--live-dot)}.rank-move.down{color:var(--accent)}.rank-move.flat{color:var(--text-dim)}.rank-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.rank-name.your-team{color:var(--accent)}.first-place-votes{color:var(--text-dim);font-size:11px;font-weight:600}.rank-record{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.conf-tier-label{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin:14px 2px 6px;font-size:11px;font-weight:800}.conf-group{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;margin-bottom:8px;overflow:hidden}.conf-header{border:none;border-bottom:1px solid var(--divider);background:var(--chip-bg);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.conf-title{align-items:center;gap:6px;min-width:0;display:flex}.conf-title svg{color:var(--text-dim);flex:none}.conf-count{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:600}.standings-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.standings-row:last-child{border-bottom:none}.standings-row .s-name{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex;overflow:hidden}.standings-row .s-name.your-team{color:var(--accent)}.standings-row .s-rec{text-align:right;width:46px;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none}.standings-row .s-rec.conf{color:var(--text);font-weight:700}.my-teams-chip-row{gap:8px;padding:2px 4px 12px;display:flex;overflow-x:auto}.my-teams-chip-row::-webkit-scrollbar{display:none}.team-chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border:none;border-radius:20px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:flex}.team-chip.add{background:var(--chip-bg);color:var(--text-dim)}.team-chip .team-logo.sm{border-radius:3px;width:16px;height:16px;font-size:7px}.section-label.sub-label{margin-top:10px}.result-mark{flex:none;width:18px;font-size:12px;font-weight:800}.result-mark.win{color:var(--live-dot)}.result-mark.loss{color:var(--accent)}.sheet{z-index:50;background:var(--screen-bg);max-width:560px;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-header{flex:none;justify-content:space-between;align-items:center;padding:12px 18px 8px;display:flex}.sheet-header h2{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:800}.sheet-done{color:var(--accent);background:0 0;border:none;padding:4px 0;font-size:15px;font-weight:700}.sheet-search{border:1px solid var(--card-border);background:var(--chip-bg);color:var(--text);border-radius:12px;flex:none;margin:0 18px 10px;padding:10px 14px;font-family:inherit;font-size:16px}.sheet-body{padding:0 16px calc(24px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.sheet-body::-webkit-scrollbar{display:none}.picker-row{border:none;border-bottom:1px solid var(--divider);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:11px 4px;display:flex}.picker-name{flex:1;min-width:0;font-size:14px;font-weight:600}.picker-check{background:var(--chip-bg);width:24px;height:24px;color:var(--text-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.picker-check.on{background:var(--accent);color:#fff}.stat-block{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;margin-bottom:10px;overflow:hidden}.stat-block-header{background:var(--chip-bg);padding:8px 12px;font-size:13px;font-weight:700}.stat-loading{background:var(--skeleton);height:120px;animation:1.4s ease-in-out infinite pulse}.stat-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.stat-row:last-child{border-bottom:none}.stat-row .st-rank{width:16px;color:var(--text-dim);flex:none;font-weight:700}.stat-row .st-player{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.stat-row .st-player .name{font-weight:600}.stat-row .st-player .name.your-team{color:var(--accent)}.stat-row .st-player .team{color:var(--text-dim);margin-left:4px;font-size:11px}.stat-row .st-val{font-variant-numeric:tabular-nums;flex:none;font-weight:800}.settings-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;margin-bottom:8px;overflow:hidden}.theme-row{gap:6px;padding:8px;display:flex}.theme-option{border:1px solid var(--card-border);color:var(--text-dim);background:0 0;border-radius:11px;flex-direction:column;flex:1;align-items:center;gap:5px;padding:11px 4px;font-size:12px;font-weight:700;display:flex}.theme-option svg{width:20px;height:20px}.theme-option.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.settings-note{color:var(--text-dim);margin:0;padding:0 12px 10px;font-size:12px;line-height:1.45}.settings-note.pad{padding:12px}.settings-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.settings-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.settings-remove{color:var(--text-dim);background:0 0;border:none;flex:none;padding:4px 0;font-size:12px;font-weight:700}.settings-add{width:100%;color:var(--accent);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:13px;font-weight:700;display:flex}.picker-check svg{width:14px;height:14px}.error-detail{color:var(--text-dim);word-break:break-word;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.section-label.tier-toggle{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:2px 0}.tier-title{align-items:center;gap:5px;display:flex}.tier-title svg{color:var(--text-dim);flex:none}.settings-value{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-size:12px}.stale-note{background:var(--chip-bg);color:var(--text-dim);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 8px;padding:7px 10px;font-size:11.5px;font-weight:600;display:flex}.stale-retry{color:var(--accent);background:0 0;border:none;flex:none;padding:0;font-size:11.5px;font-weight:700}.settings-add.subtle{color:var(--text-dim);border-top:1px solid var(--divider)}
