*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f1419;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-primary:#0f1419;--bg-secondary:#1a1f2e;--bg-tertiary:#2a2f3e;--bg-card:#1e2332;--text-primary:#fff;--text-secondary:#a0aec0;--text-muted:#718096;--border-color:#2d3748;--accent-blue:#3182ce;--accent-green:#38a169;--accent-purple:#805ad5;--accent-orange:#dd6b20;--accent-red:#e53e3e;--accent-yellow:#d69e2e;--accent-pink:#d53f8c;--accent-teal:#319795;--accent-indigo:#5a67d8;--accent-gray:#718096}.position-qb{background-color:#e53e3e;background-color:var(--accent-red)}.position-rb{background-color:#38a169;background-color:var(--accent-green)}.position-wr{background-color:#3182ce;background-color:var(--accent-blue)}.position-te{background-color:#805ad5;background-color:var(--accent-purple)}.position-k{background-color:#d69e2e;background-color:var(--accent-yellow)}.position-def{background-color:#dd6b20;background-color:var(--accent-orange)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1f2e;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#2a2f3e;background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#718096;background:var(--accent-gray)}:focus{outline:2px solid #3182ce;outline:2px solid var(--accent-blue);outline-offset:2px}button{border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5;transform:none}input,select{background:#1a1f2e;background:var(--bg-secondary);border:1px solid #2d3748;border:1px solid var(--border-color);border-radius:8px;color:#fff;color:var(--text-primary);transition:all .2s ease}input:focus,select:focus{border-color:#3182ce;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3182ce1a;outline:none}.card{background:#1e2332;background:var(--bg-card);border:1px solid #2d3748;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a}.App{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}.App-header{background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-secondary) 100%);border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding:2rem 0;text-align:center}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.App-header p{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.App-main{margin:0 auto;max-width:1400px;padding:0 2rem}.tab-navigation{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding:.5rem}.tab-button{align-items:center;border-radius:8px;color:var(--text-secondary);display:flex;flex:1 1;gap:.5rem;justify-content:center;min-width:120px;padding:.75rem 1rem;white-space:nowrap}.tab-button:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);box-shadow:0 4px 12px #3b82f64d;color:#fff}.tab-button.active:hover{box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.main-content{min-height:calc(100vh - 200px)}.platform-status-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem}.platform-status-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.platform-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.platform-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s ease}.platform-card.configured{background:linear-gradient(135deg,var(--bg-secondary) 0,#38a1691a 100%);border-color:var(--accent-green)}.platform-card.not-configured{background:linear-gradient(135deg,var(--bg-secondary) 0,#e53e3e1a 100%);border-color:var(--accent-red)}.platform-card h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.2rem;gap:.5rem;margin-bottom:1rem}.platform-details{display:flex;flex-direction:column;gap:.5rem}.status-indicator{font-size:.9rem;font-weight:600}.platform-card.configured .status-indicator{color:var(--accent-green)}.platform-card.not-configured .status-indicator{color:var(--accent-red)}.configuration-warning{background:#e53e3e1a;border:1px solid #e53e3e4d;border-radius:8px;margin-top:1.5rem;padding:1rem;text-align:center}.configuration-warning p{color:var(--accent-red);margin-bottom:1rem}.configuration-warning button{background:var(--accent-red);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.configuration-warning button:hover{background:#c53030;transform:translateY(-1px)}.no-configuration h3{color:var(--accent-orange);font-size:1.5rem;margin-bottom:1rem}.no-configuration p{color:var(--text-secondary);margin-bottom:1.5rem}.no-configuration button{background:var(--accent-orange);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.no-configuration button:hover{background:#e67e22;transform:translateY(-1px)}.sleeper-login-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem;text-align:center}.sleeper-login-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.sleeper-login-section p{color:var(--text-secondary);margin-bottom:1.5rem}.login-form{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.login-form input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;min-width:250px;padding:.75rem 1rem}.login-form input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3182ce1a;outline:none}.login-button{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.login-button:hover:not(:disabled){box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auto-connect-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.auto-connect-section p{color:var(--text-secondary);margin-bottom:1rem}.auto-connect-button{background:linear-gradient(135deg,var(--accent-green) 0,var(--accent-teal) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.auto-connect-button:hover:not(:disabled){box-shadow:0 6px 20px #38a16966;transform:translateY(-2px)}.error-message{background:#e53e3e1a;border:1px solid #e53e3e4d;border-radius:8px;color:var(--accent-red);margin-top:1rem;padding:.75rem}.analytics-content,.players-content,.teams-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.analytics-content h2,.players-content h2,.teams-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.analytics-content p,.players-content p,.teams-content p{color:var(--text-secondary);font-size:1.1rem}.league-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.league-header h3{color:var(--text-primary);font-size:1.5rem;margin:0}.section-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.section-header h3{color:var(--text-primary);font-size:1.5rem;margin:0}.lineup-display{margin-top:2rem}.lineup-display h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:1.5rem}.lineup-section{margin-bottom:2rem}.lineup-section h5{color:var(--accent-blue);font-size:1.1rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.player-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.player-item{background:var(--bg-secondary);gap:.75rem}.player-item:hover{transform:translateY(-1px)}.position-badge{border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;min-width:30px;padding:.25rem .5rem;text-align:center}.player-name{flex:1 1}.player-team{font-size:.9rem}.player-status{color:var(--text-muted);font-size:.8rem;font-style:italic}.free-agents-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}.matchups-display{margin-top:1.5rem}.matchup-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:1.5rem}.matchup-item h4{color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem}.matchup-starters{display:flex;flex-wrap:wrap;gap:.5rem}.starter-player{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.9rem;padding:.5rem .75rem}@media (max-width:768px){.App-header{padding:1.5rem 0}.App-header h1{font-size:2rem}.App-header p{font-size:1rem}.App-main{padding:0 1rem}.tab-navigation{gap:.25rem;padding:.25rem}.tab-button{font-size:.8rem;min-width:100px;padding:.5rem .75rem}.features-grid{gap:1.5rem;grid-template-columns:1fr}.analytics-content,.platform-status-section,.players-content,.sleeper-login-section,.team-selector-section,.teams-content,.user-info-section,.welcome-section{padding:1.5rem}.login-form{align-items:stretch;flex-direction:column}.login-form input{min-width:auto}.league-header,.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.free-agents-list,.player-list{grid-template-columns:1fr}.matchup-starters{flex-direction:column}.platform-grid,.status-grid,.team-grid{grid-template-columns:1fr}}.overview-content{padding:2rem 0}.welcome-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem;text-align:center}.welcome-section h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.welcome-section p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.dev-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;margin-top:1rem;padding:.5rem}.dev-info small{color:var(--text-muted);font-size:.8rem}.team-selector-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem}.team-selector-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.team-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.team-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .2s ease}.team-card:hover{border-color:var(--accent-blue);box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.team-card.selected{background:linear-gradient(135deg,var(--bg-secondary) 0,#38a1691a 100%);border-color:var(--accent-green);box-shadow:0 4px 12px #38a1694d}.team-card.selected:before{align-items:center;background:var(--accent-green);border-radius:50%;color:#fff;content:"✓";display:flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:24px}.team-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.platform-icon{border-radius:4px;height:2rem;object-fit:contain;width:2rem}.team-header h4{color:var(--text-primary);flex:1 1;font-size:1.2rem;margin:0}.team-details{display:flex;flex-direction:column;gap:.5rem}.league-name{color:var(--text-secondary);font-size:.9rem}.platform-name{color:var(--accent-blue);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.connection-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem;text-align:center}.configured-connection h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.configured-connection p{color:var(--text-secondary);margin-bottom:1.5rem}.connect-button{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.connect-button:hover:not(:disabled){box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.connect-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.user-info-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:3rem;padding:2rem;text-align:center}.user-info-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:.5rem}.user-info-section p{color:var(--text-secondary);margin-bottom:1.5rem}.selected-team-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1.5rem}.selected-team-display h4{color:var(--accent-blue);font-size:1.1rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.selected-team-info{align-items:center;display:flex;flex-direction:column;gap:.5rem}.cache-status{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1.5rem;padding:1.5rem}.cache-status h4{color:var(--accent-blue);font-size:1.1rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.status-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.status-item{align-items:center;background:var(--bg-tertiary);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.status-label{color:var(--text-secondary)}.status-label,.status-value{font-weight:600}.status-value.valid{color:var(--accent-green)}.status-value.expired{color:var(--accent-red)}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2rem}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:var(--accent-blue);box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:var(--text-primary);font-size:1.3rem;margin-bottom:1rem}.feature-card p{color:var(--text-secondary);line-height:1.6}@media (max-width:768px){.connection-section,.team-selector-section,.user-info-section,.welcome-section{padding:1.5rem}.features-grid{gap:1.5rem}.features-grid,.status-grid,.team-grid{grid-template-columns:1fr}}.live-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.live-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.live-content p{color:var(--text-secondary);font-size:1.1rem}.live-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.live-header h3{color:var(--text-primary);font-size:1.5rem;margin:0}.live-status{align-items:center;display:flex;gap:1rem}.status-indicator.live{animation:pulse 2s infinite;color:var(--accent-red);font-weight:700}.last-update{color:var(--text-secondary);font-size:.9rem}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.live-sections{grid-gap:2rem;display:grid;gap:2rem;margin-bottom:2rem}.live-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.live-section h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.2rem;gap:.5rem;margin-bottom:1rem}.game-status{display:flex;flex-direction:column;gap:1rem}.game-info{align-items:center;display:flex;justify-content:space-between}.game-time{color:var(--accent-blue);font-size:1.1rem;font-weight:600}.game-score{color:var(--text-primary);font-size:1.2rem;font-weight:700}.game-progress{width:100%}.progress-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--accent-green),var(--accent-blue));height:100%;transition:width .3s ease}.scoring-updates{display:flex;flex-direction:column;gap:1rem}.scoring-item{align-items:center;background:var(--bg-tertiary);border-left:4px solid var(--accent-green);border-radius:6px;display:flex;justify-content:space-between;padding:1rem}.player-info{min-width:150px}.player-position{color:var(--text-secondary);font-size:.8rem}.scoring-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem;margin:0 1rem}.scoring-play{color:var(--text-secondary);font-size:.9rem}.scoring-points{color:var(--accent-green);font-weight:600}.scoring-time{color:var(--text-muted);font-size:.8rem;min-width:80px;text-align:right}.injury-updates{display:flex;flex-direction:column;gap:1rem}.injury-item{align-items:center;background:var(--bg-tertiary);border-left:4px solid var(--accent-orange);border-radius:6px;display:flex;gap:1rem;padding:1rem}.injury-status.critical{color:var(--accent-red);font-size:1.2rem}.injury-status.moderate{color:var(--accent-orange);font-size:1.2rem}.injury-status.minor{color:var(--accent-yellow);font-size:1.2rem}.injury-details{color:var(--text-secondary);flex:1 1}.injury-time{color:var(--text-muted);font-size:.8rem}.weather-info{display:flex;flex-direction:column;gap:1rem}.weather-item{align-items:center;background:var(--bg-tertiary);border-radius:6px;display:flex;gap:1rem;padding:1rem}.weather-icon{font-size:1.5rem}.weather-location{color:var(--text-primary);font-weight:600;min-width:120px}.weather-details{color:var(--text-secondary);flex:1 1}.live-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:center;padding-top:2rem}.notifications-button,.refresh-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.refresh-button{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);color:#fff}.refresh-button:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.notifications-button{background:var(--accent-orange);color:#fff}.notifications-button:hover{background:#e67e22;transform:translateY(-2px)}@media (max-width:768px){.live-content{padding:1.5rem}.live-header{gap:1rem}.live-header,.scoring-item{align-items:flex-start;flex-direction:column}.scoring-item{gap:.5rem}.scoring-details{margin:0;width:100%}.scoring-time{text-align:left}.live-actions{align-items:stretch;flex-direction:column}}.watchlist-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.watchlist-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.watchlist-content p{color:var(--text-secondary);font-size:1.1rem}.watchlist-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.aggregated-info{align-items:center;background:#00d4aa1a;border:1px solid #00d4aa4d;border-radius:6px;color:#00d4aa;display:flex;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.filter-buttons{border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;padding:1rem 0}.filter-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{background:var(--bg-card);border-color:var(--accent-blue);color:var(--text-primary)}.filter-btn.active{font-weight:600}.filter-btn.active,.filter-btn.active:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.games-container{margin-top:2rem}.loading-state,.no-games{color:var(--text-secondary);padding:3rem;text-align:center}.games-list{display:flex;flex-direction:column;gap:1.5rem}.game-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease}.game-card:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px #0000001a}.game-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.game-basic-info{display:flex;flex-direction:column;gap:.5rem}.game-matchup{align-items:center;display:flex;font-size:1.2rem;font-weight:600;gap:1rem}.away-team,.home-team{color:var(--text-primary)}.vs-divider{color:var(--text-secondary);font-weight:400}.game-spread,.game-time{color:var(--text-secondary);font-size:.9rem}.team-info{align-items:center;gap:.5rem}.team-name{font-size:1.2rem;font-weight:700}.team-spread{color:var(--text-secondary);font-size:.9rem;font-weight:600}.vs-divider{color:var(--accent-blue);font-size:1.5rem;font-weight:700}.matchup-details{align-items:center;display:flex;gap:2rem;justify-content:center}.game-status,.game-time,.game-total{font-size:.9rem;font-weight:600}.game-time{color:var(--text-primary)}.game-total{color:var(--text-secondary)}.game-status{letter-spacing:.5px;text-transform:uppercase}.players-in-game{display:flex;gap:2rem;padding:1.5rem}.players-column{display:flex;flex:1 1;flex-direction:column}.players-column h4{border-bottom:1px solid var(--border-color);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.my-players h4{color:var(--accent-green)}.opposing-players h4{color:var(--accent-red)}.players-list{display:flex;flex-direction:column;gap:.75rem}.player-item{background:var(--bg-card);border-radius:6px;padding:.75rem}.player-item:hover{background:var(--bg-tertiary)}.player-info{gap:.25rem}.player-name{align-items:center;display:flex;gap:.5rem}.player-details{color:var(--text-secondary);font-size:.85rem}.starter-badge{background:var(--accent-green);border-radius:3px;padding:.125rem .375rem}.no-players{border:1px dashed var(--border-color);border-radius:6px;color:var(--text-secondary)}.no-players,.player-item{background:var(--bg-tertiary);padding:1rem}.player-item{align-items:center;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;transition:all .2s ease}.player-item:hover{border-color:var(--accent-blue);transform:translateX(4px)}.player-avatar{align-items:center;background:var(--accent-blue);border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:40px;justify-content:center;width:40px}.player-details{flex:1 1}.player-name{color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.fanduel-player{color:#06c!important}.jackson-player{color:#c00!important}.player-info{color:var(--text-secondary);font-size:.8rem}.player-position{background:var(--accent-blue);border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;margin-right:.5rem;padding:.25rem .5rem;text-transform:uppercase}.player-team{color:var(--text-secondary);font-weight:600}.player-status{border-radius:4px;font-size:.7rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.player-status.active{background:var(--accent-green);color:#fff}.player-status.questionable{background:var(--accent-orange);color:#fff}.player-status.out{background:var(--accent-red);color:#fff}@media (max-width:768px){.watchlist-content{padding:1.5rem}.header-left,.watchlist-header{align-items:stretch;flex-direction:column;gap:1rem}.league-dropdown{min-width:auto;width:100%}.matchup-teams{flex-direction:column;gap:1rem}.vs-divider{transform:rotate(90deg)}.matchup-details{flex-direction:column;gap:.5rem}.player-item{align-items:flex-start;flex-direction:column;gap:.75rem}.player-avatar{align-self:center}.filter-buttons{gap:.5rem}.filter-btn{font-size:.8rem;padding:.4rem .8rem}}.lineups-content{background:#1a1a1a;color:#fff;min-height:100vh;padding:0}.lineups-content h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.lineups-header{background:#2a2a2a;border-bottom:1px solid #3a3a3a;justify-content:space-between;padding:1rem 1.5rem}.lineups-header,.team-selector{align-items:center;display:flex}.team-dropdown{background:#3a3a3a;border:1px solid #4a4a4a;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;min-width:200px;padding:.5rem 1rem}.team-dropdown:focus{border-color:#00d4aa;box-shadow:0 0 0 2px #00d4aa33;outline:none}.team-dropdown option{background:#3a3a3a;color:#fff}.week-selector{align-items:center;display:flex;gap:.5rem}.week-selector label{color:#fff;font-size:.9rem;font-weight:500}.week-dropdown{background:#3a3a3a;border:1px solid #4a4a4a;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;min-width:100px;padding:.5rem .75rem}.week-dropdown:focus{border-color:#00d4aa;box-shadow:0 0 0 2px #00d4aa33;outline:none}.week-dropdown option{background:#3a3a3a;color:#fff}.header-actions{gap:.75rem}.load-button{align-items:center;background:#00d4aa;border:none;border-radius:6px;color:#000;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.load-button:hover:not(:disabled){background:#00b894;transform:translateY(-1px)}.load-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.clear-cache-button{align-items:center;background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.clear-cache-button:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.clear-cache-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.projections-metadata{background:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem 1.5rem}.metadata-item{align-items:center;display:flex;gap:.5rem}.metadata-label{color:#888;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metadata-value{color:#fff;font-size:.85rem;font-weight:600}.lineups-tabs{background:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;gap:0;padding:0 1.5rem}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:.9rem;font-weight:600;padding:1rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{color:#fff}.tab-button.active{border-bottom-color:#00d4aa;color:#00d4aa}.lineup-tab{background:#1a1a1a;min-height:calc(100vh - 200px)}.no-lineup-data{color:#888;padding:3rem;text-align:center}.no-lineup-data p{font-size:1rem;margin:.5rem 0}.lineup-display{display:flex;flex-direction:column;gap:0}.lineup-section{background:#1a1a1a;padding:1.5rem}.section-header{margin-bottom:1.5rem}.section-header h3{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:.5px;margin:0 0 .5rem}.section-subtitle{color:#888;font-size:.85rem;font-weight:400;margin:0}.position-based-lineup{display:flex;flex-direction:column;gap:1.5rem}.position-group{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:12px;overflow:hidden}.position-header{align-items:center;background:#3a3a3a;border-bottom:1px solid #4a4a4a;display:flex;justify-content:space-between;padding:.75rem 1.5rem}.position-title{color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.position-count{color:#888;font-size:.85rem;font-weight:500}.position-players{display:flex;flex-direction:column;gap:0}.player-card{align-items:center;background:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;gap:1rem;min-height:60px;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.player-card:last-child{border-bottom:none}.player-card:hover{background:#333;transform:translateX(4px)}.player-card.starter{background:linear-gradient(90deg,#00d4aa1a,#2a2a2a);border-left:4px solid #00d4aa}.player-card.bench{background:#2a2a2a}.player-card.ir{background:linear-gradient(90deg,#ff6b6b1a,#2a2a2a);border-left:4px solid #ff6b6b;opacity:.8}.player-card.free-agent{background:#2a2a2a;opacity:.9}.player-status-indicator{align-items:center;display:flex;min-width:80px}.starter-badge{background:#00d4aa;border-radius:4px;color:#000;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.bench-badge{background:#3b82f6}.bench-badge,.ir-badge{border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.ir-badge{background:#6b7280}.free-agent-badge{background:#f59e0b;border-radius:4px;color:#000;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.player-info{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:120px}.player-name{color:#fff;font-size:1.1rem;font-weight:700;line-height:1.2;min-width:150px;text-align:left}.player-id{color:#888;font-family:monospace;font-size:.8rem;font-weight:400;margin-top:2px}.player-details{font-size:.8rem}.player-details,.player-status{color:#888;font-weight:500;line-height:1.2}.player-status{font-size:.75rem}.player-metrics{gap:1.25rem;min-width:180px}.metric,.player-metrics{align-items:center;display:flex}.metric{flex-direction:column;gap:.15rem;min-width:50px}.metric-label{color:#888;font-size:.7rem;font-weight:600;letter-spacing:.5px;line-height:1.1;text-transform:uppercase}.metric-value{color:#fff;font-size:.85rem;font-weight:700;line-height:1.1}.no-players{color:#888;font-size:.9rem;font-style:italic;padding:2rem;text-align:center}.free-agents-tab{background:#1a1a1a;min-height:calc(100vh - 200px);padding:1.5rem}.no-free-agents{color:#888;padding:3rem;text-align:center}.no-free-agents p{font-size:1rem;margin:.5rem 0}.free-agents-display{display:flex;flex-direction:column;gap:1.5rem}.free-agents-header{align-items:center;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;padding-bottom:1rem}.free-agents-header h3{color:#fff;font-size:1.3rem;font-weight:700;margin:0}.free-agents-count{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.free-agents-list{display:flex;flex-direction:column;gap:.75rem}.free-agent-item{align-items:center;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.free-agent-item:hover{border-color:#00d4aa;box-shadow:0 2px 8px #00d4aa33}.free-agent-actions{display:flex;gap:.5rem;margin-left:auto}.add-button,.watchlist-button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.add-button{background:#00d4aa;color:#000}.add-button:hover{background:#00b894;transform:translateY(-1px)}.watchlist-button{background:#3a3a3a;border:1px solid #4a4a4a;color:#fff}.watchlist-button:hover{background:#4a4a4a;transform:translateY(-1px)}@media (max-width:768px){.lineups-header{padding:1rem}.header-left,.lineups-header{align-items:stretch;flex-direction:column;gap:1rem}.team-dropdown{min-width:auto;width:100%}.header-actions{justify-content:center}.lineups-tabs{overflow-x:auto;padding:0 1rem}.tab-button{padding:1rem;white-space:nowrap}.player-card{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.player-status-indicator{justify-content:flex-start}.player-info,.player-name,.player-status-indicator{min-width:auto;width:100%}.player-name{text-align:left}.player-metrics{justify-content:space-around;min-width:auto;width:100%}.free-agent-item{align-items:flex-start;flex-direction:column;gap:1rem}.free-agent-actions{justify-content:center;margin-left:0;width:100%}}@media (max-width:480px){.lineups-content{padding:0}.lineup-section{padding:1rem}.player-card{padding:.75rem}.player-metrics{gap:1rem}.metric{min-width:60px}}.free-agents-section{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;margin-top:2rem;padding:1.5rem}.free-agents-title{align-items:center;color:#fff;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem}.free-agents-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.free-agents-position{background:#1a1a1a;border:1px solid #3a3a3a;border-radius:6px;overflow:hidden}.free-agents-position-header{align-items:center;background:#3a3a3a;border-bottom:1px solid #4a4a4a;display:flex;justify-content:space-between;padding:.75rem 1rem}.free-agents-position-title{color:#fff;font-size:1rem;font-weight:600;margin:0}.free-agents-count{color:#888;font-size:.8rem}.free-agents-players{padding:.5rem}.free-agent-card{align-items:center;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.free-agent-card:hover{background:#333;border-color:#4a4a4a}.free-agent-card:last-child{margin-bottom:0}.free-agent-info{flex:1 1}.free-agent-name{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.free-agent-details{color:#888;font-size:.8rem;margin-bottom:.25rem}.free-agent-status{color:#666;font-size:.75rem}.free-agent-metrics{display:flex;gap:1rem}.free-agent-metric{min-width:60px;text-align:center}.free-agent-metric-label{color:#888;font-size:.7rem;margin-bottom:.25rem}.free-agent-metric-value{color:#fff;font-size:.9rem;font-weight:600}.free-agents-loading{color:#888;padding:2rem;text-align:center}@media (max-width:768px){.free-agents-grid{grid-template-columns:1fr}.free-agent-card{align-items:flex-start;flex-direction:column;gap:.5rem}.free-agent-metrics{align-self:flex-end}}.standings-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.standings-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:1rem}.standings-content p{color:var(--text-secondary);font-size:1.1rem}.standings-header{border-bottom:1px solid var(--border-color);justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-left,.standings-header{align-items:center;display:flex}.header-left{gap:1.5rem}.league-selector{align-items:center;display:flex}.league-dropdown{background:#3a3a3a;border:1px solid #4a4a4a;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;min-width:200px;padding:.5rem 1rem}.league-dropdown:focus{border-color:#00d4aa;box-shadow:0 0 0 2px #00d4aa33;outline:none}.league-dropdown option{background:#3a3a3a;color:#fff}.header-actions,.loading-indicator{align-items:center;display:flex}.loading-indicator{background:#00d4aa1a;border:1px solid #00d4aa4d;border-radius:6px;color:#00d4aa;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.standings-table-container{margin-bottom:3rem;overflow-x:auto}.standings-table{background:var(--bg-secondary);border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.standings-table th{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem .75rem;text-align:left;text-transform:uppercase}.standings-table th.sortable{cursor:pointer;transition:background-color .2s ease}.standings-table th.sortable:hover{background:var(--bg-card)}.standings-table td{border-bottom:1px solid var(--border-color);padding:1rem .75rem;vertical-align:middle}.standings-table tbody tr:last-child td{border-bottom:none}.standings-row{transition:all .2s ease}.standings-row:hover{background:var(--bg-tertiary)}.standings-row.selected-team{background:#3b82f61a;border-left:4px solid var(--accent-blue)}.standings-row.playoff{border-left:4px solid var(--accent-green)}.standings-row.bubble{border-left:4px solid var(--accent-orange)}.standings-row.out{border-left:4px solid var(--accent-red)}.rank-cell{width:60px}.rank-number{border-radius:50%;display:inline-block;font-size:.9rem;font-weight:700;height:30px;line-height:30px;text-align:center;width:30px}.rank-number.playoff{background:var(--accent-green);color:#fff}.rank-number.bubble{background:var(--accent-orange);color:#fff}.rank-number.out{background:var(--accent-red);color:#fff}.team-cell{min-width:200px}.team-info{display:flex;flex-direction:column;gap:.25rem}.team-name{color:var(--text-primary);font-weight:600}.your-team-badge{align-self:flex-start;background:var(--accent-blue);border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.owner-cell{color:var(--text-secondary);min-width:120px}.losses-cell,.wins-cell{font-weight:600;min-width:40px;text-align:center}.wins-cell{color:var(--accent-green)}.losses-cell{color:var(--accent-red)}.pct-cell{min-width:60px}.pa-cell,.pct-cell,.pf-cell{color:var(--text-primary);font-weight:600;text-align:center}.pa-cell,.pf-cell{min-width:80px}.gb-cell{color:var(--text-secondary);min-width:40px;text-align:center}.streak-cell{min-width:60px;text-align:center}.streak{border-radius:4px;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.streak.winning{background:var(--accent-green);color:#fff}.streak.losing{background:var(--accent-red);color:#fff}.playoff-picture{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:3rem;padding:2rem}.playoff-picture h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.playoff-teams{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.playoff-section h4{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem;text-align:center}.playoff-team-list{display:flex;flex-direction:column;gap:.75rem}.playoff-team{align-items:center;background:var(--bg-tertiary);border-left:4px solid #0000;border-radius:6px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.playoff-team.bye{border-left-color:var(--accent-green)}.playoff-team.wildcard{border-left-color:var(--accent-orange)}.playoff-team.out{border-left-color:var(--accent-red)}.playoff-team:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.playoff-rank{background:var(--accent-blue);border-radius:4px;color:#fff;font-size:.9rem;font-weight:700;min-width:50px;padding:.5rem .75rem;text-align:center}.playoff-team-name{color:var(--text-primary);flex:1 1;font-weight:600}.playoff-record{color:var(--text-secondary);font-size:.9rem;font-weight:600}.league-stats{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:2rem}.league-stats h3{color:var(--text-primary);font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center;transition:all .2s ease}.stat-card:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:var(--text-primary);display:block;font-size:2rem;font-weight:700}@media (max-width:768px){.standings-content{padding:1.5rem}.header-left,.standings-header{align-items:stretch;flex-direction:column;gap:1rem}.league-dropdown{min-width:auto;width:100%}.standings-table{font-size:.8rem}.standings-table td,.standings-table th{padding:.75rem .5rem}.team-cell{min-width:150px}.owner-cell{min-width:100px}.playoff-teams{gap:1.5rem;grid-template-columns:1fr}.stats-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}}@media (max-width:480px){.standings-table-container{margin:0 -1.5rem}.standings-table{border-radius:0}.stats-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.df8d4a55.css.map*/