.login-container{align-items:center;background-color:#07031a;background-position:bottom;background-repeat:no-repeat;background-size:cover;display:flex;justify-content:center;min-height:100vh}.login-box{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffff1a;border:1px solid #ffffff38;border-radius:16px;box-shadow:0 8px 40px #00000a80;max-width:500px;padding:3rem 2rem;text-align:center;width:90%}.login-box h1{color:#fff;font-size:2rem;margin-bottom:.5rem;text-shadow:0 1px 8px #0006}.login-box p{color:#ffffffd1;font-size:1rem;margin-bottom:2rem}.login-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.btn-github,.btn-google{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;padding:.9rem 1.5rem;transition:all .3s ease}.btn-google{background-color:#fff;border:1px solid #fff6;color:#333}.btn-google:hover{background-color:#f0f0f0;box-shadow:0 4px 16px #00000040}.btn-github{background-color:#333;color:#fff}.btn-github:hover{background-color:#555}.disclaimer{color:#ffffff80;font-size:.9rem;margin-top:1rem}.game-list{font-family:Georgia,Times New Roman,serif}.game-list-header{margin-bottom:1.25rem}.record-summary{background:#1a1a2e;border-radius:10px;flex-wrap:wrap;gap:.75rem;justify-content:space-between;max-width:100%;padding:1rem 1.5rem;width:100%}.record-stat,.record-summary{align-items:center;display:flex}.record-stat{flex-direction:column;padding:0 1.25rem}.record-divider{background:#ffffff26;height:2rem;width:1px}.record-num{color:#fff;font-family:Georgia,serif;font-size:1.75rem;font-weight:700;line-height:1}.record-num.win-num{color:#4ade80}.record-num.loss-num{color:#f87171}.record-num.played-num{color:#93c5fd}.record-label{color:#ffffff80;font-size:.65rem;letter-spacing:.1em;margin-top:3px;text-transform:uppercase}.games-table,.record-label{font-family:Segoe UI,sans-serif}.games-table{border-collapse:collapse;width:100%}.games-table thead tr{border-bottom:2px solid #1a1a2e}.games-table th{color:#666;font-size:.7rem;font-weight:600;letter-spacing:.1em;padding:.6rem 1rem;text-align:left;text-transform:uppercase}.games-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.games-table th.sortable:hover{color:#1a1a2e}.game-row{border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .15s}.game-row:hover{background:#f8f9ff}.game-row.upcoming{opacity:.8}.games-table td{padding:.85rem 1rem;vertical-align:middle}.detail-cell,.result-cell,.score-cell{white-space:nowrap}.result-cell{width:80px}.detail-cell{width:90px}.date-cell{text-align:center;white-space:nowrap;width:60px}.date-weekday{color:#999;display:block;font-size:.6rem;letter-spacing:.08em}.date-month{color:#c0392b;font-size:.65rem;letter-spacing:.05em}.date-day,.date-month{display:block;font-weight:700}.date-day{color:#1a1a2e;font-family:Georgia,serif;font-size:1.4rem;line-height:1.1}.matchup-title{color:#1a1a2e;font-size:.9rem;font-weight:600;margin-bottom:4px}.matchup-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.home-away-badge{border-radius:20px;font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.home-away-badge.home{background:#e8f5e9;color:#2e7d32}.home-away-badge.away{background:#fff3e0;color:#e65100}.location-name{color:#999;font-size:.72rem}.team-label-badge{background:#e0e7ff;border-radius:20px;color:#3730a3;font-size:.63rem;font-weight:700;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase}.score-display{align-items:center;display:flex;font-family:Georgia,serif;gap:6px}.score-us{color:#1a1a2e;font-size:1.3rem;font-weight:700}.score-sep{color:#ccc;font-size:1rem}.score-them{color:#666;font-size:1.3rem;font-weight:700}.score-upcoming{color:#999;font-size:.85rem;font-style:italic}.result-badge{border-radius:50%;display:inline-block;font-size:.75rem;font-weight:800;height:28px;letter-spacing:0;line-height:28px;text-align:center;width:28px}.result-w{background:#dcfce7;color:#15803d}.result-l{background:#fee2e2;color:#b91c1c}.result-t{background:#f3f4f6;color:#6b7280}.status-badge{color:#999;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-badge.status-canceled{color:#dc2626}.status-badge.status-played{color:#6b7280}.schedule-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:0;margin-bottom:0}.schedule-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-family:Segoe UI,sans-serif;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:.65rem 1.4rem;transition:color .15s,border-color .15s}.schedule-tab:hover{color:#1a1a2e}.schedule-tab.active{border-bottom-color:#1a1a2e;color:#1a1a2e}.tab-count{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:.7rem;font-weight:700;padding:1px 6px}.schedule-tab.active .tab-count{background:#1a1a2e;color:#fff}.schedule-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:1.5rem}.schedule-block{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 4px #0f172a0d;padding:1rem}.schedule-block-title{color:#111827;font-size:.9rem;font-weight:700;margin-bottom:.75rem}.schedule-game-item{border-top:1px solid #f3f4f6;padding:.7rem 0}.schedule-game-item:first-of-type{border-top:none}.schedule-game-title{color:#1f2937;font-weight:600;margin-bottom:.3rem}.schedule-game-meta{color:#6b7280;font-size:.8rem}.schedule-empty{color:#6b7280;font-size:.9rem;padding:.75rem 0}.view-detail{color:#3b82f6;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .15s}.game-row:hover .view-detail{opacity:1}.no-data{color:#999;font-family:Segoe UI,sans-serif;padding:4rem 2rem;text-align:center}.no-data-icon{font-size:2.5rem;margin-bottom:1rem}@media (max-width:640px){.record-summary{gap:.5rem;justify-content:center;padding:.75rem 1rem}.record-stat{padding:0 .75rem}.record-num{font-size:1.4rem}.record-divider{height:1.5rem}.game-list{-webkit-overflow-scrolling:touch;overflow-x:auto}.games-table th{font-size:.65rem;padding:.5rem .6rem}.games-table td{padding:.65rem .6rem}.view-detail{color:#3b82f6;opacity:1}.date-cell{width:48px}.date-day{font-size:1.1rem}.score-them,.score-us{font-size:1.05rem}.schedule-summary{grid-template-columns:1fr}}.player-trends{font-family:Segoe UI,sans-serif;max-width:960px}.trends-header{margin-bottom:1.25rem}.trends-title{color:#1a1a2e;font-family:Georgia,serif;font-size:1.3rem;font-weight:700;margin-bottom:2px}.trends-subtitle{color:#999;font-size:.78rem}.trends-subtitle-linked{color:#6366f1;font-weight:600}.trends-subtitle-season{color:#10b981;font-weight:600}.trends-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1rem}.filter-label{font-size:.78rem}.trends-subtitle-compare{color:#10b981;font-weight:600}.player-selector{border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;padding-bottom:1rem}.player-chip{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;color:#374151;cursor:pointer;display:flex;font-family:Segoe UI,sans-serif;font-size:.8rem;font-weight:500;gap:5px;padding:.35rem .85rem;transition:all .15s;white-space:nowrap}.player-chip:hover{border-color:#1a1a2e;color:#1a1a2e}.player-chip.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff}.player-chip.chip-at-cap{cursor:not-allowed;opacity:.35;pointer-events:none}.player-chip.chip-unlinked{border-style:dashed;color:#9ca3af}.player-chip.chip-unlinked:hover{border-color:#6b7280;color:#374151}.player-chip.chip-unlinked.active{background:#6b7280;border-color:#6b7280;border-style:solid;color:#fff}.chip-num{font-family:monospace;font-size:.68rem;opacity:.6}.trends-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1rem}.control-group{background:#f3f4f6;border-radius:10px;display:flex;gap:3px;padding:3px}.ctrl-btn{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.78rem;font-weight:600;padding:.38rem .9rem;transition:all .15s;white-space:nowrap}.ctrl-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a2e}.player-summary-bar{align-items:center;background:#1a1a2e;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:1rem;padding:.85rem 1.25rem}.summary-name{align-items:center;color:#fff;display:flex;font-family:Georgia,serif;font-size:1rem;font-weight:700;gap:8px}.summary-num{color:#fff6;font-family:monospace;font-size:.7rem}.summary-seasons{background:#6366f159;border-radius:20px;color:#c7d2fe;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.03em;padding:2px 8px}.summary-stats{display:flex;gap:1.5rem}.summary-stat{align-items:center;display:flex;flex-direction:column}.summary-stat span{color:#fff6;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}.summary-stat strong{color:#fff;font-family:Georgia,serif;font-size:1.1rem}.compare-summary-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1rem}.compare-summary-player{align-items:center;background:#fff;border:2px solid;border-radius:10px;display:flex;flex:1 1;gap:10px;min-width:160px;padding:.6rem 1rem}.compare-player-swatch{border-radius:50%;flex-shrink:0;height:10px;width:10px}.compare-player-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.compare-player-name{color:#1a1a2e;font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-player-num{color:#bbb;font-family:monospace;font-size:.65rem}.compare-player-stat{align-items:flex-end;display:flex;flex-direction:column}.compare-stat-label{color:#999;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}.compare-stat-val{font-family:Georgia,serif;font-size:1.15rem}.trends-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem}.chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000014;font-size:.8rem;padding:.6rem .85rem}.tooltip-label{color:#1a1a2e;font-size:.75rem;font-weight:700;margin-bottom:4px}.tooltip-row{display:flex;font-size:.78rem;gap:16px;justify-content:space-between}.gamelog-table-wrap{overflow-x:auto}.gamelog-table{border-collapse:collapse;font-size:.8rem;width:100%}.gamelog-table th{border-bottom:1px solid #e5e7eb;color:#999;font-size:.65rem;letter-spacing:.07em;padding:.4rem .6rem;text-align:center;text-transform:uppercase;white-space:nowrap}.gamelog-table th.date-col,.gamelog-table th.opp-col{text-align:left}.gamelog-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.5rem .6rem;text-align:center}.gamelog-table td.date-col{color:#999;font-size:.75rem;text-align:left}.gamelog-table td.opp-col{color:#1a1a2e;font-weight:600;text-align:left}.gamelog-table tr:last-child td{border-bottom:none}.gamelog-table tr.row-even{background:#fafafa}.gamelog-table tr:hover{background:#f8f9ff!important}.result-pill{border-radius:20px;font-size:.65rem;font-weight:800;padding:2px 7px}.result-pill.result-w{background:#dcfce7;color:#15803d}.result-pill.result-l{background:#fee2e2;color:#b91c1c}.result-pill.result-t{background:#f3f4f6;color:#6b7280}.no-logs,.trends-empty,.trends-error,.trends-loading{color:#999;font-size:.9rem;padding:3rem 2rem;text-align:center}.trends-error{color:#dc2626}.trends-empty-icon{font-size:2.5rem;margin-bottom:1rem}@media (max-width:640px){.trends-filters{align-items:stretch;flex-direction:column}.filter-label{width:100%}.filter-select{min-width:0;min-width:auto;width:100%}.player-chip{font-size:.75rem;padding:.3rem .7rem}.trends-controls{gap:8px}.ctrl-btn{font-size:.75rem;padding:.35rem .7rem}.player-summary-bar{align-items:flex-start;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.summary-stats{flex-wrap:wrap;gap:1rem}.compare-summary-bar{flex-direction:column}.compare-summary-player{min-width:0;min-width:auto;width:100%}.trends-content{padding:.75rem}.gamelog-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.gamelog-table td,.gamelog-table th{padding:.4rem .5rem}}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.filter-search-wrap{flex:1 1;min-width:200px;position:relative}.filter-search-icon{font-size:.85rem;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.filter-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#1a1a2e;font-family:Segoe UI,sans-serif;font-size:.85rem;padding:.5rem .75rem;transition:border-color .15s;width:100%}.filter-input:focus{border-color:#1a1a2e;outline:none}.filter-search{padding-left:2rem}.filter-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1.5px solid #e2e8f0;border-radius:8px;color:#1a1a2e;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.85rem;padding:.5rem 2rem .5rem .75rem;transition:border-color .15s}.filter-select:focus{border-color:#1a1a2e;outline:none}.filter-clear{background:#fee2e2;border:none;border-radius:8px;color:#b91c1c;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.8rem;font-weight:600;padding:.5rem .9rem;transition:background .15s;white-space:nowrap}.filter-clear:hover{background:#fecaca}@media (max-width:640px){.filter-bar{align-items:stretch;flex-direction:column;gap:8px}.filter-search-wrap{min-width:0;min-width:auto;width:100%}.filter-select{width:100%}.filter-clear{text-align:center;width:100%}}.game-detail{font-family:Segoe UI,sans-serif;max-width:900px}.detail-error,.detail-loading{color:#999;padding:3rem;text-align:center}.detail-error{color:#dc2626}.line-score-wrap{background:#1a1a2e;border-radius:14px;color:#fff;margin-bottom:1.5rem;padding:1.5rem}.game-result-banner{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:1.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem}.result-indicator{flex-shrink:0;gap:.75rem}.result-big,.result-indicator{align-items:center;display:flex}.result-big{border-radius:50%;font-family:Georgia,serif;font-size:1.25rem;font-weight:900;height:48px;justify-content:center;width:48px}.result-big.win{background:#15803d;color:#fff}.result-big.loss{background:#b91c1c;color:#fff}.result-score-big{color:#fff;font-family:Georgia,serif;font-size:2rem;font-weight:700}.game-meta-title{color:#fff;font-size:1rem;font-weight:600;margin-bottom:4px}.game-meta-sub{color:#ffffff80;font-size:.78rem}.line-score-table-wrap{overflow-x:auto}.line-score-table{border-collapse:collapse;font-size:.9rem;width:100%}.line-score-table th{color:#fff6;font-size:.65rem;font-weight:600;letter-spacing:.08em;padding:.4rem .6rem;text-align:center;text-transform:uppercase}.line-score-table th.team-col{min-width:120px;text-align:left}.line-score-table th.total-col{color:#fff}.line-score-table td{border-top:1px solid #ffffff12;color:#ffffffb3;padding:.5rem .6rem;text-align:center}.line-score-table .team-name-cell{align-items:center;color:#fff;display:flex;font-weight:600;gap:8px;text-align:left}.team-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.our-dot{background:#4ade80}.opp-dot{background:#f87171}.scoring-cell{color:#fbbf24;font-weight:700}.total-cell{border-left:1px solid #ffffff26;color:#fff;font-size:1.05rem;font-weight:800}.plays-section{margin-top:.5rem}.plays-heading{color:#999;font-family:Segoe UI,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.inning-block{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:.75rem;overflow:hidden}.inning-header{align-items:center;background:#f8f9fa;cursor:pointer;display:flex;gap:10px;padding:.65rem 1rem;transition:background .15s;-webkit-user-select:none;user-select:none}.inning-header:hover{background:#f0f1f5}.inning-label{color:#1a1a2e;flex:1 1;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.inning-runs-badge{background:#fef3c7;border-radius:20px;color:#92400e;font-size:.65rem;font-weight:700;padding:2px 8px}.inning-toggle{color:#999;font-size:.65rem}.inning-plays{display:flex;flex-direction:column;gap:4px;padding:.5rem}.play-card{background:#fff;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden;transition:border-color .15s}.play-card.scoring-play{background:#fffbeb;border-color:#fbbf24}.play-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.6rem .85rem;-webkit-user-select:none;user-select:none}.play-header-left{align-items:center;display:flex;gap:8px}.play-name{color:#1a1a2e;font-size:.85rem;font-weight:600}.scoring-pill{background:#fef3c7;color:#b45309}.out-pill,.scoring-pill{border-radius:20px;font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.out-pill{background:#fee2e2;color:#b91c1c}.play-header-right{align-items:center;display:flex;gap:10px}.play-score{color:#374151;font-family:Georgia,serif;font-size:.8rem;font-weight:700}.play-outs{color:#9ca3af;font-size:.7rem}.play-toggle{color:#ccc;font-size:.6rem}.play-final{padding:0 .85rem .5rem}.play-final-line{color:#374151;font-size:.8rem;line-height:1.5}.play-pitches{border-top:1px dashed #f0f0f0;display:flex;flex-wrap:wrap;gap:5px;padding:.5rem .85rem .75rem}.pitch-badge{border-radius:20px;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.02em;padding:3px 9px}.pitch-strike{background:#fee2e2;color:#b91c1c}.pitch-ball{background:#dbeafe;color:#1d4ed8}.pitch-foul{background:#fef3c7;color:#92400e}.pitch-score{background:#dcfce7;color:#15803d;font-weight:800}.pitch-error{background:#fce7f3;color:#9d174d}.pitch-inplay{background:#e0e7ff;color:#3730a3}.pitch-note{background:#f3f4f6;color:#6b7280}.boxscore-wrap{margin-bottom:1.5rem}.boxscore-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.boxscore-header .plays-heading{margin-bottom:0}.extra-toggle{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;color:#666;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:600;padding:4px 10px;transition:all .15s}.extra-toggle:hover{border-color:#1a1a2e;color:#1a1a2e}.boxscore-teams{display:flex;flex-direction:column;gap:1rem}.boxscore-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.boxscore-team-label{background:#1a1a2e;color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:.5rem 1rem;text-transform:uppercase}.boxscore-section{overflow-x:auto}.boxscore-table{border-collapse:collapse;font-family:Segoe UI,sans-serif;font-size:.8rem;width:100%}.boxscore-table th{background:#f8f9fa;border-bottom:1px solid #e5e7eb;color:#999;font-size:.65rem;letter-spacing:.07em;padding:.4rem .5rem;text-align:center;text-transform:uppercase;white-space:nowrap}.boxscore-table th.player-col{min-width:160px;text-align:left}.boxscore-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.45rem .5rem;text-align:center}.boxscore-table td.player-col{align-items:center;display:flex;gap:6px;padding:.45rem 1rem;text-align:left}.boxscore-table tr:last-child td{border-bottom:none}.player-number{color:#bbb;font-family:monospace;font-size:.65rem;min-width:22px}.player-name-cell{color:#1a1a2e;font-weight:500}.player-pos{color:#999;font-size:.65rem;margin-left:2px}.stat-hit{color:#1a1a2e;font-weight:700}.totals-row td{background:#f8f9fa;border-top:1.5px solid #e5e7eb}.extra-col{color:#9ca3af;font-size:.75rem}@media (max-width:640px){.game-detail{max-width:100%}.game-result-banner{align-items:flex-start;flex-direction:column;gap:.75rem}.result-score-big{font-size:1.5rem}.line-score-wrap{border-radius:10px;padding:1rem}.line-score-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.inning-header{padding:.55rem .75rem}.inning-plays{padding:.4rem}.play-card-header{padding:.5rem .65rem}.play-final{padding:0 .65rem .4rem}.play-pitches{padding:.4rem .65rem .6rem}.play-name{font-size:.8rem}.boxscore-section{-webkit-overflow-scrolling:touch;overflow-x:auto}.boxscore-table td.player-col,.boxscore-table th.player-col{min-width:120px}.boxscore-table td,.boxscore-table th{padding:.4rem}.boxscore-table td.player-col{padding:.4rem .75rem}}.admin-panel{font-family:Segoe UI,sans-serif;max-width:960px}.admin-header{margin-bottom:1.5rem}.admin-title{color:#1a1a2e;font-family:Georgia,serif;font-size:1.4rem;font-weight:700;margin-bottom:4px}.admin-subtitle{color:#999;font-size:.85rem}.admin-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:700px){.admin-grid{grid-template-columns:1fr}}.admin-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.admin-section-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;gap:8px;padding:.85rem 1.25rem}.admin-section-toggle{color:#6b7280;font-size:.8rem;margin-left:auto}.admin-section-icon{font-size:1rem}.admin-section-title{color:#1a1a2e;font-size:.85rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.admin-section-body{padding:1.25rem}.admin-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#1a1a2e;font-family:Segoe UI,sans-serif;font-size:.85rem;padding:.55rem .75rem;transition:border-color .15s;width:100%}.admin-input:focus{border-color:#1a1a2e;outline:none}.admin-btn{border:none;border-radius:8px;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.85rem;font-weight:600;padding:.55rem 1.1rem;transition:all .15s;white-space:nowrap}.admin-btn:disabled{cursor:not-allowed;opacity:.5}.admin-btn-primary{background:#1a1a2e;color:#fff}.admin-btn-primary:hover:not(:disabled){background:#2d2d4e}.admin-btn-secondary{background:#f0f1f5;color:#1a1a2e}.admin-btn-secondary:hover{background:#e2e4ed}.admin-btn-ghost{background:#0000;border:1px solid #e2e8f0;color:#999}.admin-btn-ghost:hover{border-color:#1a1a2e;color:#1a1a2e}.admin-msg{border-radius:7px;font-size:.8rem;margin-bottom:.75rem;padding:.5rem .75rem}.admin-msg-success{background:#dcfce7;color:#15803d}.admin-msg-error{background:#fee2e2;color:#b91c1c}.admin-hint{color:#999;font-size:.75rem;line-height:1.5;margin-top:.6rem}.admin-hint code{background:#f3f4f6;border-radius:3px;font-family:monospace;font-size:.7rem;padding:1px 4px}.token-status-row{align-items:center;display:flex;gap:8px;margin-bottom:.85rem}.token-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.token-status-text{color:#374151;font-size:.82rem}.token-input-row{display:flex;gap:8px}.scrape-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.scrape-force-label{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:.82rem;gap:.4rem;-webkit-user-select:none;user-select:none}.scrape-force-label input[type=checkbox]{accent-color:#1d4ed8;cursor:pointer}.scrape-force-label:has(input:disabled){cursor:not-allowed;opacity:.5}.scrape-btn{font-size:.9rem;padding:.65rem 1.4rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite;display:inline-block;margin-right:6px}.admin-table{border-collapse:collapse;font-size:.82rem;width:100%}.admin-table th{border-bottom:1px solid #e5e7eb;color:#999;font-size:.68rem;letter-spacing:.07em;padding:.45rem .65rem;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:.6rem .65rem;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.logs-table-wrap{border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;overflow:hidden}.log-status{border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.log-status-success{background:#dcfce7;color:#15803d}.log-status-failed{background:#fee2e2;color:#b91c1c}.log-status-pending{background:#fef3c7;color:#92400e}.team-id-small{color:#bbb;font-family:monospace;font-size:.65rem;margin-top:2px}.add-team-form{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.form-row{display:flex;gap:8px;margin-bottom:8px}.form-actions{display:flex;gap:8px;margin-top:4px}.user-name{color:#1a1a2e;font-weight:600}.toggle-btn{border:none;border-radius:20px;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.7rem;font-weight:700;padding:3px 9px;transition:all .15s}.toggle-btn.active{background:#dcfce7;color:#15803d}.toggle-btn.inactive{background:#fee2e2;color:#b91c1c}.toggle-btn.role-admin{background:#e0e7ff;color:#3730a3}.user-panel-controls{display:flex;justify-content:flex-end;margin-bottom:.8rem}.admin-empty{color:#999;font-size:.85rem;padding:.5rem 0}.admin-col-full{grid-column:1/-1}.scrape-log-section-label{color:#6b7280;font-family:Segoe UI,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.07em;margin:1rem 0 .4rem;text-transform:uppercase}.scrape-log-noteam{color:#d1d5db}.scrape-team-name{font-size:.85rem;font-weight:600}.scrape-team-type{color:#9ca3af;font-family:Segoe UI,sans-serif;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.scrape-team-btn{font-size:.75rem;min-width:2rem;padding:3px 9px}.scrape-by-team{margin-top:1.25rem}.scrape-by-team-toggle{font-size:.78rem;padding:4px 10px}.ss-scrape-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:.5rem}.ss-events-header{justify-content:space-between;margin:1.25rem 0 .5rem}.ss-add-form,.ss-events-header{align-items:center;display:flex}.ss-add-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;gap:8px;margin-bottom:.75rem;padding:.85rem}.ss-add-form .admin-input{flex:1 1;min-width:130px}.ss-events-table td{vertical-align:middle}@media (max-width:640px){.admin-panel{max-width:100%}.admin-section-body{padding:.85rem}.token-input-row{flex-direction:column}.token-input-row .admin-btn{width:100%}.form-actions,.form-row{flex-direction:column}.form-actions .admin-btn{width:100%}.logs-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table td,.admin-table th{font-size:.78rem;padding:.45rem .5rem}}.spray-chart-wrap{display:flex;flex-direction:column;gap:.6rem}.spray-filters{display:flex;flex-wrap:wrap;gap:.5rem}.spray-filter-group{background:#f3f4f6;border-radius:6px;display:flex;gap:0;padding:3px}.spray-filter-btn{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.75rem;font-weight:500;line-height:1.4;padding:.22rem .6rem;transition:background .12s,color .12s;white-space:nowrap}.spray-filter-btn:hover{background:#e5e7eb;color:#374151}.spray-filter-btn.active{background:#fff;box-shadow:0 1px 3px #0000001f;color:#111827}.spray-summary{color:#6b7280;font-size:.82rem;line-height:1.4}.spray-summary-hit{color:#16a34a;font-weight:600}.spray-summary-out{color:#dc2626;font-weight:600}.spray-summary-sep{color:#d1d5db}.spray-summary-avg{color:#6b7280}.spray-svg-wrap{position:relative;width:100%}.spray-svg{background:#f0fdf4;border:1px solid #dcfce7;border-radius:8px;display:block;height:auto;width:100%}.spray-tooltip{background:#111827eb;border-radius:6px;box-shadow:0 4px 12px #00000038;color:#fff;font-size:.78rem;padding:.4rem .65rem;pointer-events:none;position:absolute;transform:translateY(-100%);white-space:nowrap;z-index:10}.spray-tooltip-result{font-size:.82rem;font-weight:700}.spray-tooltip-type{color:#d1d5db;font-size:.75rem}.spray-tooltip-pos{color:#9ca3af;font-size:.73rem}.spray-empty{color:#9ca3af;font-size:.85rem;padding:2rem 0;text-align:center}.spray-legend{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.74rem;gap:.6rem 1rem;margin-top:.1rem}.spray-legend-item{align-items:center;display:flex;gap:.3rem}.spray-panel-backdrop{animation:sprayBackdropIn .18s ease;background:#00000059;inset:0;position:fixed;z-index:200}@keyframes sprayBackdropIn{0%{opacity:0}to{opacity:1}}.spray-panel{animation:sprayPanelIn .22s cubic-bezier(.25,.46,.45,.94);background:#fff;bottom:0;box-shadow:-4px 0 28px #00000029;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:0;top:0;width:min(440px,100vw);z-index:201}@keyframes sprayPanelIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.spray-panel-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.75rem;justify-content:space-between;padding:1rem 1.25rem .8rem}.spray-panel-player{align-items:baseline;display:flex;gap:.45rem;min-width:0}.spray-panel-num{color:#9ca3af;flex-shrink:0;font-size:.75rem;font-weight:500}.spray-panel-name{color:#111827;font-size:1.05rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spray-panel-close{background:none;border:none;border-radius:5px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;padding:.3rem .45rem;transition:background .12s,color .12s}.spray-panel-close:hover{background:#f3f4f6;color:#374151}.spray-panel-type-toggle{border-bottom:1px solid #f3f4f6;display:flex;flex-shrink:0;gap:0;padding:.6rem 1.25rem}.spray-type-btn{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:500;padding:.38rem .5rem;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.spray-type-btn:first-child{border-radius:6px 0 0 6px}.spray-type-btn:last-child{border-left:none;border-radius:0 6px 6px 0}.spray-type-btn.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.spray-type-btn:not(.active):hover{background:#f3f4f6;color:#374151}.spray-panel-body{flex:1 1;overflow-y:auto;padding:1rem 1.25rem 2rem}.spray-panel-error,.spray-panel-loading{color:#9ca3af;font-size:.85rem;padding:3rem 1rem;text-align:center}.spray-panel-error{color:#dc2626}.player-name-btn{background:none;border:none;border-bottom:1px dashed #0000;color:inherit;cursor:pointer;display:inline;font:inherit;margin:0;padding:0;text-align:left;transition:color .12s,border-color .12s}.player-name-btn:hover{border-bottom-color:#93c5fd;color:#1d4ed8}@media (max-width:600px){.spray-panel{border-radius:0;width:100vw}.spray-panel-type-toggle{padding:.5rem 1rem}.spray-panel-body{padding:.75rem 1rem 2rem}}.player-stats{font-family:Segoe UI,sans-serif}.stats-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:.75rem}.stats-title{color:#1a1a2e;font-family:Georgia,serif;font-size:1.3rem;font-weight:700;margin-bottom:2px}.stats-subtitle{color:#999;font-size:.78rem}.stats-subtitle-linked{color:#6366f1;font-weight:600}.stats-subtitle-season{color:#10b981;font-weight:600}.stats-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:.75rem}.filter-label{color:#6b7280;display:flex;flex-direction:column;font-size:.82rem;gap:.25rem}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#1f2937;font-size:.9rem;min-width:180px;padding:.5rem .85rem}.stats-season-pills{display:flex;flex-wrap:wrap;gap:4px}.stats-filter-btn{background:#fff;border:1px solid #c7d2fe;border-radius:20px;color:#6366f1;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.72rem;font-weight:600;padding:2px 10px;transition:background .15s,color .15s}.stats-filter-btn:hover{background:#e0e7ff}.stats-filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.player-col-th-sort{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.player-col-th-sort.active-sort,.player-col-th-sort:hover{color:#fff}.stats-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:4px;padding:3px}.stats-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.82rem;font-weight:600;padding:.4rem 1rem;transition:all .15s}.stats-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a2e}.stats-legend{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:.75rem}.legend-item{border-radius:20px;font-size:.68rem;font-weight:700;padding:2px 8px}.legend-high{background:#dcfce7;color:#15803d}.legend-low{background:#fee2e2;color:#b91c1c}.legend-hint{color:#bbb;font-size:.7rem}.stats-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.stats-table{border-collapse:collapse;font-size:.8rem;width:100%}.stats-table thead tr{background:#1a1a2e}.player-col-th{background:#1a1a2e;left:0;min-width:140px;padding:.55rem 1rem;position:sticky;text-align:left;z-index:1}.player-col-th,.stat-th{color:#fff9;font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.stat-th{cursor:pointer;min-width:42px;padding:.55rem .5rem;text-align:center;transition:color .15s;-webkit-user-select:none;user-select:none}.stat-th.active-sort,.stat-th:hover{color:#fff}.sort-arrow{font-size:.6rem;margin-left:3px}.stats-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s}.stats-table tbody tr:hover{background:#f8f9ff!important}.stats-table tbody tr.row-even{background:#fafafa}.stats-table tbody tr:last-child{border-bottom:none}.player-col-td{align-items:center;background:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 4px #0000000f;display:flex;gap:8px;left:0;padding:.55rem 1rem;position:sticky;z-index:1}.stats-table tbody tr.row-even .player-col-td{background:#fafafa}.stats-table tbody tr:hover .player-col-td{background:#f8f9ff}.player-num{color:#bbb;font-family:monospace;font-size:.65rem;min-width:22px}.player-name-stat{color:#1a1a2e;font-weight:600;white-space:nowrap}.player-name-unlinked{color:#9ca3af;font-style:italic;font-weight:400}.stat-td{color:#374151;padding:.55rem .5rem;text-align:center;white-space:nowrap}.stat-high{background:#dcfce7;color:#15803d;font-weight:700}.stat-low{background:#fee2e2;color:#b91c1c}.stats-empty,.stats-error,.stats-loading{color:#999;font-size:.9rem;padding:4rem 2rem;text-align:center}.stats-error{color:#dc2626}.stats-empty-icon{font-size:2.5rem;margin-bottom:1rem}.stats-footnote{color:#bbb;font-size:.7rem;margin-top:.75rem;text-align:right}@media (max-width:640px){.stats-header{align-items:flex-start;flex-direction:column}.stats-filters{align-items:stretch;flex-direction:column}.filter-label{width:100%}.filter-select{min-width:0;min-width:auto;width:100%}.stats-tabs{flex-wrap:wrap}.stats-legend{gap:8px}.stats-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.player-col-td,.player-col-th{min-width:120px}.stat-td,.stat-th{min-width:36px;padding:.45rem .35rem}.player-col-td,.player-col-th{padding:.45rem .75rem}}.plp-count-badge{background:#e0e7ff;border-radius:999px;color:#3730a3;display:inline-block;font-size:.72rem;font-weight:600;margin-right:.5rem;padding:.15rem .5rem;vertical-align:middle;white-space:nowrap}.plp-profile-tags{display:inline-flex;flex-wrap:wrap;gap:.35rem;vertical-align:middle}.plp-profile-tag{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:.75rem;padding:.15rem .45rem;white-space:nowrap}.plp-expanded-row>td{background:#fafafa;border-top:2px solid #e0e7ff;padding:0}.player-expanded-content{padding:1rem 1.25rem 1.25rem}.plp-profiles-table{font-size:.85rem;margin-bottom:.75rem}.plp-profiles-table td,.plp-profiles-table th{padding:.4rem .6rem}.plp-subtitle{color:#6b7280;font-size:.82rem;font-weight:700;letter-spacing:.05em;margin-bottom:.6rem;text-transform:uppercase}.plp-gc-id{background:#f3f4f6;border-radius:3px;color:#374151;cursor:default;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;padding:.1rem .35rem}.plp-unlink-btn{border-color:#fecaca;color:#ef4444;font-size:.78rem;padding:.2rem .5rem}.plp-unlink-btn:hover{background:#fee2e2;border-color:#ef4444}.plp-add-profile-form{background:#f0f4ff;border:1px solid #c7d2fe;border-radius:6px;margin-top:.75rem;padding:.75rem 1rem}.plp-create-form{margin-top:1.25rem}.plp-btn-sm{font-size:.8rem;padding:.3rem .65rem}.plp-actions-cell{align-items:center;display:flex;gap:.4rem;white-space:nowrap}.plp-btn-danger{background:#fff;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;font-weight:500;transition:background .15s,border-color .15s}.plp-btn-danger:hover{background:#fee2e2;border-color:#ef4444}.toggle-btn.role-poweruser{background:#f0f4ff;border:1px solid #c7d2fe;color:#4f46e5}.toggle-btn.role-poweruser:hover{background:#e0e7ff}.tm-table-wrap{overflow-x:auto}.tm-table td,.tm-table th{vertical-align:middle}.tm-gc-id{background:#f3f4f6;border-radius:4px;color:#6b7280;cursor:default;font-family:monospace;font-size:.78rem;padding:2px 6px}.tm-name-cell{align-items:center;display:flex;gap:6px}.tm-short-name{background:#e0e7ff;border-radius:20px;color:#4338ca;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:1px 6px;white-space:nowrap}.tm-stub-label{color:#d1d5db;font-size:.72rem;font-style:italic}.tm-id-badge{border-radius:20px;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;white-space:nowrap}.tm-badge-public{background:#fef9c3;color:#a16207}.tm-badge-staff{background:#dcfce7;color:#15803d}.tm-active-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.tm-active-on{background:#22c55e}.tm-active-off{background:#d1d5db}.tm-desc-cell{color:#9ca3af;font-size:.78rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-row-editing td{background:#f8f9ff!important}.tm-edit-row td{background:#f8f9ff;border-bottom:2px solid #e0e7ff;padding:0!important}.tm-filter-bar{align-items:center;background:#f8f9ff;border:1px solid #e0e7ff;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.6rem .75rem}.tm-filter-input{background:#fff;border:1px solid #d1d5db;border-radius:5px;color:#1a1a2e;flex:1 1 180px;font-size:.8rem;min-width:150px;outline:none;padding:.3rem .6rem;transition:border-color .15s}.tm-filter-input:focus{border-color:#6366f1}.tm-filter-select{background:#fff;border:1px solid #d1d5db;border-radius:5px;color:#374151;cursor:pointer;flex:0 0 auto;font-size:.78rem;outline:none;padding:.3rem .5rem;transition:border-color .15s}.tm-filter-select:focus{border-color:#6366f1}.tm-filter-clear{border-color:#d1d5db!important;color:#6b7280!important;flex-shrink:0;font-size:.75rem!important;padding:.25rem .55rem!important}.tm-filter-clear:hover{color:#1a1a2e!important}.tm-filter-count{color:#9ca3af;font-family:Segoe UI,sans-serif;font-size:.72rem;margin-left:auto;white-space:nowrap}.tm-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tm-th-sortable:hover{background:#eef2ff}.tm-th-active{color:#4338ca}.tm-sort-icon{display:inline-block;font-size:.6rem;margin-left:4px;opacity:.5;vertical-align:middle}.tm-th-active .tm-sort-icon{color:#6366f1;opacity:1}.tm-no-results{color:#9ca3af;font-size:.82rem;font-style:italic;padding:1.5rem!important;text-align:center}.tm-clear-link{background:none;border:none;color:#6366f1;cursor:pointer;font-size:.82rem;padding:0;text-decoration:underline}.tm-form{background:#fff;border:1.5px solid #e0e7ff;border-radius:10px;margin:.5rem 0;padding:1.25rem}.tm-form-title{color:#1a1a2e;font-family:Georgia,serif;font-size:.9rem;font-weight:700;margin-bottom:1rem}.tm-field{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:160px;position:relative}.tm-field-sm{flex:0 0 110px;min-width:90px}.tm-label{color:#6b7280;font-family:Segoe UI,sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tm-field .tm-id-badge{left:0;margin-top:3px;position:absolute;top:100%}.tm-toggles{display:flex;flex-wrap:wrap;gap:1.25rem;margin:.85rem 0}.tm-toggle{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:6px;-webkit-user-select:none;user-select:none}.tm-toggle input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:15px;width:15px}.tm-toggle-hint{color:#9ca3af;font-size:.72rem;font-weight:400}.tm-roster-panel{background:#f8f9ff;border-top:1px solid #e0e7ff;padding:1.25rem}.tm-roster-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tm-roster-title{color:#1a1a2e;font-family:Georgia,serif;font-size:.9rem;font-weight:700}.tm-roster-stats{color:#6b7280;font-family:Segoe UI,sans-serif;font-size:.72rem;font-weight:400;margin-left:.6rem}.tm-roster-loading{font-style:italic}.tm-roster-table{margin-top:0}.tm-roster-num{color:#374151;font-family:monospace;font-size:.85rem;font-weight:700;text-align:center;width:36px}.tm-roster-bats{color:#6b7280;font-family:monospace;font-size:.8rem}.tm-roster-removed td{opacity:.45}.tm-roster-badge-removed{background:#f3f4f6;border-radius:20px;color:#9ca3af;font-family:Segoe UI,sans-serif;font-size:.65rem;font-weight:700;padding:2px 8px;white-space:nowrap}.tm-roster-linked{color:#16a34a;font-size:.8rem;font-weight:600}.tm-roster-unlinked{color:#d1d5db;font-size:.8rem}.tm-old-profiles-banner{background:#fffbeb;border:1.5px solid #fcd34d;border-radius:8px;margin-bottom:1.25rem;padding:1rem}.tm-old-profiles-title{color:#92400e;font-family:Segoe UI,sans-serif;font-size:.85rem;font-weight:700;margin-bottom:.25rem}.standings-container{display:flex;flex-direction:column;gap:1rem}.standings-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.standings-select{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1.5px solid #e2e8f0;border-radius:8px;color:#1a1a2e;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.85rem;padding:.5rem 2rem .5rem .75rem;transition:border-color .15s}.standings-select:focus{border-color:#1a1a2e;outline:none}.standings-clear{background:#fee2e2;border:none;border-radius:8px;color:#b91c1c;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.8rem;font-weight:600;padding:.5rem .9rem;transition:background .15s;white-space:nowrap}.standings-clear:hover{background:#fecaca}.standings-error,.standings-loading{color:#64748b;font-size:.9rem;padding:2rem;text-align:center}.standings-error{color:#b91c1c}.standings-empty{align-items:center;color:#64748b;display:flex;flex-direction:column;font-size:.95rem;gap:.5rem;padding:3rem 1rem}.standings-empty-icon{font-size:2rem;margin-bottom:.25rem}.standings-empty-sub{color:#94a3b8;font-size:.8rem}.standings-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.standings-table{border-collapse:collapse;font-family:Segoe UI,sans-serif;font-size:.875rem;width:100%}.standings-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.standings-table th{color:#64748b;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.standings-table td,.standings-table th{padding:.65rem .75rem;white-space:nowrap}.standings-table td{border-bottom:1px solid #f1f5f9;color:#1e293b}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table tbody tr:hover{background:#f8fafc}.standings-table tbody tr.leader-row td{background:#f0fdf4}.standings-table tbody tr.leader-row:hover td{background:#dcfce7}.col-rank{color:#94a3b8;font-size:.8rem;text-align:center;width:32px}.col-team{min-width:140px;text-align:left}.col-num{text-align:center;width:56px}.col-streak{text-align:center;width:64px}.col-last5{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;width:72px}.team-name{color:#1a1a2e;font-weight:600}.games-played{color:#94a3b8;font-size:.75rem;margin-left:.4rem}.stat-w{color:#16a34a;font-weight:600}.stat-l{color:#dc2626;font-weight:600}.stat-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.stat-gb{color:#64748b}.diff-pos{color:#16a34a;font-weight:600}.diff-neg{color:#dc2626;font-weight:600}.streak-badge{border-radius:99px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:.2rem .5rem}.streak-win{background:#dcfce7;color:#15803d}.streak-loss{background:#fee2e2;color:#b91c1c}.standings-refresh-btn,.streak-tie{background:#f1f5f9;color:#475569}.standings-refresh-btn{border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.8rem;font-weight:600;padding:.45rem .85rem;transition:background .15s,border-color .15s;white-space:nowrap}.standings-refresh-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.standings-scrape-time{color:#94a3b8;font-size:.78rem;margin-left:.25rem}.standings-empty-inline,.standings-loading-inline{color:#94a3b8;font-size:.85rem;padding:.4rem 0}.standings-section-header{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin-top:.25rem;padding:0 .25rem;text-transform:uppercase}.matchup-matrix-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.matchup-matrix{border-collapse:collapse;font-family:Segoe UI,sans-serif;font-size:.8rem;white-space:nowrap;width:100%}.matrix-corner{border-right:2px solid #e2e8f0;min-width:120px}.matrix-col-header,.matrix-corner{background:#f8fafc;border-bottom:2px solid #e2e8f0}.matrix-col-header{color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.04em;min-width:90px;padding:.55rem .75rem;text-align:center;text-transform:uppercase}.matrix-row-header{background:#f8fafc;border-right:2px solid #e2e8f0;color:#1a1a2e;padding:.55rem .85rem;white-space:nowrap}.matrix-cell,.matrix-row-header{border-bottom:1px solid #f1f5f9;font-size:.8rem;font-weight:600}.matrix-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.45rem .65rem;text-align:center;vertical-align:middle}.matrix-record{font-size:.8rem;font-weight:700;line-height:1.2}.matrix-scores{color:#64748b;font-size:.65rem;font-weight:400;line-height:1.2;margin-top:.15rem;white-space:normal}.matrix-rundiff{font-size:.7rem;font-weight:600;line-height:1.2;margin-top:.1rem}.matrix-diff-pos{color:#15803d}.matrix-diff-neg{color:#b91c1c}.matchup-matrix tbody tr:last-child .matrix-cell,.matchup-matrix tbody tr:last-child .matrix-row-header{border-bottom:none}.matchup-matrix tbody tr:hover .matrix-cell,.matchup-matrix tbody tr:hover .matrix-row-header{background-color:#f8fafc}.matrix-diag{background:#f1f5f9}.matrix-diag,.matrix-no-game{color:#cbd5e1}.matrix-win{background:#f0fdf4;color:#15803d}.matrix-loss{background:#fef2f2;color:#b91c1c}.matrix-even{color:#64748b}.col-elo{padding-left:.75rem;text-align:left;width:110px}.elo-cell{display:flex;flex-direction:column;gap:4px}.elo-top{align-items:baseline;display:flex;gap:5px}.elo-value{font-feature-settings:"tnum";color:#1e293b;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:700}.elo-delta{font-feature-settings:"tnum";font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:600}.elo-delta-pos{color:#16a34a}.elo-delta-neg{color:#dc2626}.elo-bar-wrap{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden;width:72px}.elo-bar{background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:2px;height:100%}.standings-note{background:#f8fafc;border-radius:0 0 12px 12px;border-top:1px solid #f1f5f9;color:#94a3b8;font-size:.75rem;padding:.6rem 1rem}@media (max-width:640px){.standings-filters{align-items:stretch;flex-direction:column}.standings-clear,.standings-select{width:100%}.standings-table .col-last5,.standings-table th:last-child{display:none}}.ls-container{font-family:Segoe UI,sans-serif;max-width:860px}.ls-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.ls-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#1a1a2e;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.85rem;padding:.45rem .75rem;transition:border-color .15s}.ls-select:focus{border-color:#1a1a2e;outline:none}.ls-refresh-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#6b7280;cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.82rem;font-weight:600;padding:.45rem .85rem;transition:all .15s}.ls-refresh-btn:hover{border-color:#1a1a2e;color:#1a1a2e}.ls-scrape-time{color:#9ca3af;font-size:.75rem;margin-left:auto}.ls-hint{color:#9ca3af;font-size:.82rem}.ls-loading{color:#6b7280;font-size:.85rem;padding:1.5rem 0;text-align:center}.ls-error{background:#fee2e2;border-radius:8px;color:#b91c1c;font-size:.85rem;margin-bottom:1rem;padding:.6rem .9rem}.ls-empty{color:#9ca3af;font-size:.9rem;line-height:1.8;padding:3rem 1rem;text-align:center}.ls-empty-icon{font-size:2rem;margin-bottom:.5rem}.ls-empty-sub{color:#c4c9d4;font-size:.78rem;margin-top:.25rem}.ls-record-bar{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:10px;gap:.6rem;margin-bottom:.85rem;padding:.6rem 1.25rem}.ls-record-bar,.ls-stat{align-items:center;display:flex}.ls-stat{flex-direction:column;min-width:44px}.ls-stat-num{color:#1a1a2e;font-size:1.15rem;font-weight:700;line-height:1.2}.ls-num-played{color:#15803d}.ls-num-upcoming{color:#1d4ed8}.ls-num-reschd{color:#92400e}.ls-stat-label{color:#9ca3af;font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.ls-divider{background:#e5e7eb;flex-shrink:0;height:28px;width:1px}.ls-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:.75rem;padding-bottom:0}.ls-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-family:Segoe UI,sans-serif;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:.45rem 1rem;transition:color .15s}.ls-tab:hover{color:#1a1a2e}.ls-tab.active{border-bottom-color:#1a1a2e;color:#1a1a2e}.ls-tab-count{align-items:center;background:#e5e7eb;border-radius:20px;color:#374151;display:inline-flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}.ls-tab.active .ls-tab-count{background:#1a1a2e;color:#fff}.ls-table{border-collapse:collapse;font-size:.84rem;width:100%}.ls-table thead th{border-bottom:1px solid #e5e7eb;color:#9ca3af;font-size:.67rem;font-weight:700;letter-spacing:.07em;padding:.4rem .65rem;text-align:left;text-transform:uppercase}.ls-row{transition:background .1s}.ls-row:hover{background:#f9fafb}.ls-row td{border-bottom:1px solid #f3f4f6;padding:.65rem;vertical-align:middle}.ls-row:last-child td{border-bottom:none}.ls-row.ls-rescheduled{opacity:.55}.ls-date-cell{white-space:nowrap;width:70px}.ls-weekday{color:#9ca3af;display:block;font-size:.65rem;font-weight:700;letter-spacing:.06em}.ls-month{color:#6b7280;font-size:.7rem;font-weight:600;margin-right:3px}.ls-day{color:#1a1a2e;font-size:1rem;font-weight:700}.ls-matchup-cell{min-width:200px}.ls-teams{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:3px}.ls-team{color:#374151;font-weight:500}.ls-team.ls-winner{color:#1a1a2e;font-weight:700}.ls-vs{color:#d1d5db;font-size:.72rem;font-weight:600}.ls-meta{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.ls-home-badge{color:#9ca3af;font-size:.65rem}.ls-field{color:#9ca3af;font-size:.72rem}.ls-location{font-style:italic}.ls-score-cell{text-align:center;white-space:nowrap;width:90px}.ls-score{align-items:center;display:inline-flex;font-size:1rem;font-weight:700;gap:4px}.ls-score-win{color:#15803d}.ls-score-num{color:#6b7280}.ls-score-sep{color:#d1d5db;font-weight:400}.ls-time{color:#6b7280;font-size:.82rem}.ls-status-cell{white-space:nowrap;width:80px}.ls-badge{border-radius:20px;display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.ls-badge-sched{background:#f3f4f6;color:#6b7280}.ls-badge-home-win{background:#dcfce7;color:#15803d}.ls-badge-away-win{background:#dbeafe;color:#1d4ed8}.ls-badge-tie{background:#fef3c7;color:#92400e}.ls-badge-reschd{background:#fee2e2;color:#b91c1c}@media (max-width:640px){.ls-container{max-width:100%}.ls-record-bar{gap:.4rem;padding:.5rem .75rem}.ls-stat-num{font-size:1rem}.ls-table{font-size:.78rem}.ls-row td,.ls-table thead th{padding:.5rem .4rem}.ls-meta{display:none}.ls-score-cell{width:70px}.ls-date-cell{width:56px}.ls-scrape-time{display:none}}.lineup-builder{font-family:Segoe UI,sans-serif;padding:0 0 2rem}.lineup-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:1.25rem}.lineup-title{color:#1a1a2e;font-family:Georgia,serif;font-size:1.3rem;font-weight:700;margin:0 0 2px}.lineup-subtitle{color:#999;font-size:.78rem;margin:0}.lineup-team-select{background:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:.88rem;min-width:220px;padding:.4rem .7rem}.lineup-empty,.lineup-loading{color:#777;font-size:.9rem;padding:1rem 0}.lineup-error{color:#c0392b;font-size:.85rem;padding:.5rem 0}.lineup-body{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem}.lineup-order-col{flex:0 0 320px;min-width:260px}.lineup-bench-col{flex:1 1 400px;min-width:300px}.lineup-col-header{align-items:center;border-bottom:1px solid #e8e8e8;color:#555;display:flex;font-size:.78rem;font-weight:700;justify-content:space-between;letter-spacing:.05em;margin-bottom:.5rem;padding-bottom:.35rem;text-transform:uppercase}.lineup-slots{display:flex;flex-direction:column;gap:6px}.lineup-slot{align-items:flex-start;background:#fafafa;border:2px dashed #ddd;border-radius:8px;display:flex;gap:8px;min-height:44px;padding:6px 8px;transition:border-color .15s,background .15s}.lineup-slot.filled{background:#f0f7ff;border-color:#c8dff0;border-style:solid}.lineup-slot:hover{border-color:#90bfe8}.slot-number{color:#1a1a2e;flex-shrink:0;font-size:1rem;font-weight:800;padding-top:2px;width:20px}.slot-content{display:flex;flex:1 1;flex-direction:column;gap:3px}.slot-placeholder{color:#bbb;font-size:.78rem;font-style:italic;padding-top:4px}.slot-reason{color:#777;font-size:.72rem;font-style:italic;line-height:1.3}.lineup-pill{align-items:center;background:#1a1a2e;border-radius:20px;color:#fff;cursor:grab;display:flex;font-size:.82rem;gap:6px;padding:3px 10px 3px 8px;-webkit-user-select:none;user-select:none;width:fit-content}.lineup-pill:active{cursor:grabbing}.pill-num{color:#aac4e0;font-size:.7rem;font-weight:600}.pill-name{font-weight:600;white-space:nowrap}.pill-ops{color:#7fc4ff;font-size:.72rem;margin-left:2px}.pill-remove{background:none;border:none;color:#aaa;cursor:pointer;font-size:1rem;line-height:1;padding:0 0 0 4px;transition:color .1s}.pill-remove:hover{color:#ff7070}.lineup-summary{background:#f0f7e8;border:1px solid #c3e6a0;border-radius:8px;color:#2d5016;font-size:.82rem;line-height:1.5;margin-top:.75rem;padding:10px 12px}.lineup-claude-box{background:#f9f6ff;border:1px solid #ddd5f7;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.claude-label{color:#6b4ec6;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.recent-toggle-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.recent-toggle-label{align-items:center;color:#4a3890;cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:6px;-webkit-user-select:none;user-select:none}.recent-n-row{align-items:center;display:flex;gap:5px}.recent-n-label{color:#777;font-size:.78rem}.recent-n-btn{background:#fff;border:1px solid #c9b8f5;border-radius:5px;color:#6b4ec6;cursor:pointer;font-size:.78rem;font-weight:600;height:26px;transition:background .1s,color .1s;width:30px}.recent-n-btn.active{background:#6b4ec6;border-color:#6b4ec6;color:#fff}.recent-n-btn:hover:not(.active){background:#f0ecfd}.recent-loading{color:#aaa;font-size:.72rem;font-style:italic}.claude-prompt{background:#fff;border:1px solid #c9b8f5;border-radius:6px;font-family:inherit;font-size:.84rem;outline:none;padding:8px 10px;resize:vertical;transition:border-color .15s}.claude-prompt:focus{border-color:#8a5cf6}.claude-generate-btn{align-self:flex-start;background:#6b4ec6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:7px 16px;transition:background .15s}.claude-generate-btn:hover:not(:disabled){background:#5a3db8}.claude-generate-btn:disabled{background:#b0a0e0;cursor:not-allowed}.claude-error{color:#c0392b;font-size:.8rem}.claude-footer{align-items:center;display:flex;gap:12px}.claude-note{color:#9a8abf;font-size:.75rem}.unassigned-bar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;margin-top:.75rem}.unassigned-label{color:#888;font-size:.75rem;padding-top:4px;white-space:nowrap}.unassigned-pills{display:flex;flex-wrap:wrap;gap:6px}.unassigned-pill{background:#555!important;opacity:.85}.bench-table-wrap{overflow-x:auto}.bench-table{border-collapse:collapse;font-size:.8rem;width:100%}.bench-table thead th{background:#f5f5f8;border-bottom:2px solid #e0e0e8;color:#333;font-weight:700;padding:5px 8px;text-align:center;white-space:nowrap}.bench-td-check,.bench-th-check{padding:4px!important;text-align:center;width:28px}.bench-th-name{text-align:left}.bench-table tbody td{border-bottom:1px solid #f0f0f4;color:#333;padding:5px 8px;text-align:center}.bench-row{cursor:grab;transition:background .1s}.bench-row:hover{background:#f0f7ff}.bench-row:active{cursor:grabbing}.bench-row-excluded{background:#fafafa;opacity:.4}.bench-name{font-weight:500;text-align:left!important;white-space:nowrap}.bench-num{color:#aaa;font-size:.72rem;font-weight:400}.btn-sm{background:#fff;border:1px solid #d0d0d0;border-radius:4px;cursor:pointer;font-size:.75rem;padding:3px 10px;transition:background .1s}.btn-sm:hover{background:#f5f5f5}.btn-ghost{background:#0000;border-color:#ccc;color:#666}.dashboard-container{background-color:#f5f5f5;min-height:100vh}.dashboard-header{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:1.5rem 2rem}.dashboard-header h1{color:#333;font-size:1.8rem}.dashboard-controls{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem;padding:2rem}.view-buttons{display:flex;gap:.5rem}.view-buttons .btn{background-color:#e9ecef;border:1px solid #ddd;color:#333;padding:.6rem 1.2rem}.view-buttons .btn:hover{background-color:#dee2e6}.view-buttons .btn.active{background-color:#007bff;color:#fff}.export-buttons{display:flex;gap:.5rem}.dashboard-content{margin:0 auto;max-width:1200px;padding:2rem}@media (max-width:900px){.dashboard-controls{padding:1rem}}@media (max-width:640px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1rem}.dashboard-header h1{font-size:1.4rem}.dashboard-controls{align-items:stretch;flex-direction:column;margin:.5rem;padding:.75rem}.export-buttons,.view-buttons{flex-wrap:wrap}.dashboard-content{padding:.75rem .5rem}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.App{min-height:100vh}.error,.loading,.no-data{color:#666;font-size:1.1rem;padding:2rem;text-align:center}.error{background-color:#fee;border-radius:4px;color:#c00;margin:1rem}.btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s ease}.btn:hover{background-color:#0056b3}.btn.btn-logout{background-color:#dc3545}.btn.btn-logout:hover{background-color:#c82333}.btn.btn-export{background-color:#28a745;margin:0 .5rem}.btn.btn-export:hover{background-color:#218838}.btn.active{background-color:#0056b3}
/*# sourceMappingURL=main.a76e3c51.css.map*/