:root{--bg:#f6f7fb;--surface:#fff;--surface-muted:#f1f5f9;--border:#e5e7eb;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--primary:#2563eb;--primary-600:#1d4ed8;--primary-700:#1e40af;--accent:#22c55e;--warning:#f59e0b;--danger:#ef4444;--ring:#2563eb40;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 10px #0f172a14;--shadow-lg:0 10px 24px #0f172a1f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}body{background:#f6f7fb}.btn,body{color:#0f172a;color:var(--text-primary)}.btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;box-shadow:0 1px 2px #0000000f;box-shadow:var(--shadow-sm);cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1rem;transition:all .12s ease}.btn:hover{box-shadow:0 4px 10px #0f172a14;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:focus{box-shadow:0 0 0 4px #2563eb40;box-shadow:0 0 0 4px var(--ring);outline:none}.btn-primary{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff}.btn-primary:hover{background:#1d4ed8;background:var(--primary-600);border-color:#1d4ed8;border-color:var(--primary-600)}.btn-primary:active{background:#1e40af;background:var(--primary-700);border-color:#1e40af;border-color:var(--primary-700);transform:translateY(0)}.card{background:#fff;background:var(--surface);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 10px #0f172a14;box-shadow:var(--shadow-md)}.muted{color:#475569;color:var(--text-secondary)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.team-breakdown{padding:1rem 0}.team-breakdown h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 1rem}.owner-colored.owner-melissa{color:#7c3aed}.owner-colored.owner-sam{color:#ef4444}.owner-colored.owner-adam{color:#f59e0b}.owner-colored.owner-russ{color:#2563eb}.teams-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.75rem;text-align:center;transition:all .2s ease}.team-card.owner-melissa{border-color:#7c3aed66}.team-card.owner-sam{border-color:#ef444473}.team-card.owner-adam{border-color:#f59e0b73}.team-card.owner-russ{border-color:#2563eb73}.team-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-abbr{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.team-name{color:var(--text-secondary);font-size:.85rem;line-height:1.2}@media (max-width:768px){.teams-grid{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.team-card{padding:.5rem}.team-abbr{font-size:1rem}.team-name{font-size:.8rem}}.leaderboard{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.leaderboard-header{margin-bottom:2rem;text-align:center}.leaderboard-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.standings-table{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.table-header{grid-gap:1rem;background:var(--primary);color:#fff;display:grid;font-size:.9rem;font-weight:600;gap:1rem;grid-template-columns:80px 1fr 120px 160px 140px 140px 50px;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase}.table-row-container{border-bottom:1px solid var(--border)}.table-row-container:last-child{border-bottom:none}.table-row{grid-gap:1rem;align-items:center;cursor:pointer;display:grid;gap:1rem;grid-template-columns:80px 1fr 120px 160px 140px 140px 50px;padding:1rem 1.5rem;transition:all .2s ease}.table-row:hover{background-color:var(--surface-muted)}.table-row.expanded{background-color:#e8f0fe}.col-rank,.rank-badge{align-items:center;display:flex;justify-content:center}.rank-badge{border-radius:50%;color:#fff;font-size:1.1rem;font-weight:700;height:40px;width:40px}.rank-1{background:gold}.rank-1,.rank-2{box-shadow:var(--shadow-sm);color:#1f2937}.rank-2{background:silver}.rank-3{background:#cd7f32}.rank-3,.rank-4{box-shadow:var(--shadow-sm);color:#fff}.rank-4{background:#94a3b8}.player-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.owner-melissa{color:#7c3aed}.owner-sam{color:#ef4444}.owner-adam{color:#f59e0b}.owner-russ{color:#2563eb}.total-score{color:var(--accent);font-size:1.3rem;font-weight:700}.table-row .col-playoff,.table-row .col-regular,.table-row .col-week{color:var(--text-secondary);font-size:.95rem}.table-header .col-playoff,.table-header .col-regular,.table-header .col-week{color:#fff}.expanded-content{background-color:var(--surface-muted);border-top:1px solid var(--border);padding:0 1.5rem 1.5rem}@media (max-width:768px){.table-header,.table-row{font-size:.9rem;gap:.5rem;grid-template-columns:60px 1fr 80px 90px;padding:.75rem 1rem}.col-expand,.col-playoff,.col-regular{display:none}.col-week{display:block;text-align:center}.leaderboard-header h1{font-size:2rem}}.season-selector{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.season-label{color:var(--text-primary);font-size:1rem;font-weight:600;text-shadow:none}.season-select-container{display:inline-block;position:relative}.season-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;min-width:140px;padding:.75rem 3rem .75rem 1rem;transition:all .2s ease}.season-select:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-md)}.season-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}.season-select:disabled{background-color:var(--surface-muted);cursor:not-allowed;opacity:.6}.season-select-arrow{color:var(--text-secondary);font-size:.8rem;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}@media (max-width:768px){.season-selector{align-items:flex-start;flex-direction:column;gap:.5rem}.season-select{max-width:200px;width:100%}}.historical-view{margin:0 auto;max-width:1200px;padding:20px}.historical-view h2{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.no-history{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:4rem 2rem;text-align:center}.no-history h3{color:var(--text-secondary);font-size:1.5rem;margin-bottom:1rem}.no-history p{color:var(--text-muted);font-size:1.1rem}.historical-seasons{display:flex;flex-direction:column;gap:1.5rem}.historical-season-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s ease}.historical-season-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.season-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1.5rem 2rem;transition:background-color .2s ease}.season-header:hover{background-color:var(--surface-muted)}.season-info h3{color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:0 0 .5rem}.champion-info{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.champion-badge{background:gold;border-radius:20px;box-shadow:var(--shadow-sm);color:#1f2937;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.champion-name{color:var(--accent);font-size:1.1rem;font-weight:600}.champion-score{color:var(--text-secondary);font-size:.95rem}.season-actions{align-items:center;display:flex;gap:1rem}.view-details-btn{background:var(--primary);border:1px solid var(--primary);border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.view-details-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.expand-icon{color:var(--text-secondary);font-size:.8rem;transition:transform .2s ease}.expand-icon.rotated{transform:rotate(180deg)}.season-details{background-color:var(--surface-muted);border-top:1px solid var(--border);padding:0 2rem 2rem}.final-standings h4{color:var(--text-primary);font-size:1.2rem;margin:1rem 0}.standings-table-mini{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.standing-row{grid-gap:1rem;align-items:center;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);display:grid;gap:1rem;grid-template-columns:50px 1fr 80px 80px;padding:.75rem 1rem}.standing-row.rank-1{background:var(--surface);border-left:4px solid gold}.standing-row.rank-2{border-left:4px solid silver}.standing-row.rank-3{border-left:4px solid #cd7f32}.standing-row .rank{color:var(--text-secondary);font-weight:700}.standing-row .name{color:var(--text-primary);font-weight:600}.standing-row .score{color:var(--accent);font-weight:700;text-align:center}.standing-row .record{color:var(--text-secondary);font-size:.9rem;text-align:center}.season-meta{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem;text-align:center}.finalized-date{color:var(--text-secondary);font-style:italic;margin:0}@media (max-width:768px){.historical-view{padding:1rem}.historical-view h2{font-size:2rem}.season-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.season-actions{align-self:stretch;justify-content:space-between}.champion-info{align-items:flex-start;flex-direction:column;gap:.5rem}.standing-row{gap:.5rem;grid-template-columns:40px 1fr 60px}.standing-row .record{display:none}.season-details{padding:0 1rem 1rem}}.all-time-stats{margin:0 auto;max-width:1400px;padding:20px}.stats-header{margin-bottom:3rem;text-align:center}.stats-header h2{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.last-updated{color:var(--text-secondary);font-size:1rem;margin:0}.no-stats{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:4rem 2rem;text-align:center}.no-stats h3{color:var(--text-secondary);font-size:1.5rem;margin-bottom:1rem}.no-stats p{color:var(--text-muted);font-size:1.1rem}.stats-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:3rem}.member-card{background:var(--surface);border-radius:var(--radius-lg);border-top:4px solid var(--border);box-shadow:var(--shadow-md);padding:2rem;transition:all .3s ease}.member-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.member-card.rank-1{background:var(--surface);border-top-color:gold}.member-card.rank-2{border-top-color:silver}.member-card.rank-3{border-top-color:#cd7f32}.member-header{align-items:center;border-bottom:2px solid var(--surface-muted);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.member-name{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.championship-badges{display:flex;gap:.25rem}.trophy{animation:sparkle 2s ease-in-out infinite;font-size:1.2rem}@keyframes sparkle{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stats-grid-member{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.stat-item{background:var(--surface-muted);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:1rem;transition:all .2s ease}.stat-item:hover{background:#e7edf4}.stat-item.primary{background:var(--primary);color:#fff}.stat-item.primary:hover{background:var(--primary-600)}.stat-item.highlight{background:var(--accent);color:#fff}.stat-item.highlight:hover{filter:brightness(.95)}.stat-label{font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;opacity:.8;text-transform:uppercase}.stat-value{font-size:1.4rem;font-weight:700}.member-achievements{display:flex;flex-wrap:wrap;gap:.5rem}.achievement{align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:20px;color:#fff;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.4rem .8rem}.achievement-icon{font-size:1rem}.league-summary{background:var(--surface);border-radius:var(--radius-lg);border-top:4px solid #3498db;box-shadow:var(--shadow-md);padding:2rem}.league-summary h3{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.summary-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:linear-gradient(135deg,var(--surface-muted) 0,#e7edf4 100%);border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:all .2s ease}.summary-item:hover{background:linear-gradient(135deg,#e9ecef,#e3e8ee);transform:translateY(-2px)}.summary-label{color:var(--text-secondary);display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.summary-value{color:var(--text-primary);display:block;font-size:2rem;font-weight:700}@media (max-width:768px){.all-time-stats{padding:1rem}.stats-header h2{font-size:2rem}.stats-grid{gap:1.5rem;grid-template-columns:1fr}.member-card{padding:1.5rem}.stats-grid-member{gap:.75rem;grid-template-columns:1fr}.member-header{align-items:flex-start;flex-direction:column;gap:1rem}.summary-stats{gap:1rem;grid-template-columns:1fr 1fr}.summary-item{padding:1rem}.summary-value{font-size:1.5rem}}.inprogress{margin-top:1.5rem;padding:1rem 1.25rem}.inprogress .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.inprogress h2{font-size:1.25rem;margin:0}.inprogress .status{color:var(--text-secondary);font-size:.9rem}.inprogress .empty{padding:.75rem 0}.tabs-container{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.tabs-group{align-items:center;display:flex;gap:.5rem}.tabs-group .group-label{color:var(--text-secondary);font-size:.85rem;min-width:64px}.tabs{display:flex;flex-wrap:wrap;gap:.35rem}.tab{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.tab:hover{background:var(--surface-muted)}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.week-select{display:none}@media (max-width:680px){.tabs-container{display:none}.week-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);display:inline-block;padding:.25rem .5rem}}.games-grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:.75rem}.game-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:1 1 280px;min-width:240px;padding:.75rem}.game-card.redzone{border-color:#fecaca;box-shadow:inset 3px 0 0 0 #fca5a5}.game-card.between{border-style:dashed}.game-card .row{align-items:center;display:grid;grid-template-columns:1fr auto;margin:.25rem 0}.game-card .team .name{font-weight:600}.game-card .team .name .ball{margin-left:.35rem}.game-card .score{border-radius:6px;font-size:1.1rem;font-weight:700;padding:0 .35rem}.game-card .meta{color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem;margin-top:.5rem}.game-card .meta.top{margin-bottom:.5rem;margin-top:0}.game-card .meta.top .spot{color:var(--text-secondary);margin-left:.5rem}.game-card .meta.top .spot.note{color:var(--text-secondary);font-weight:600}.game-card .field-progress{background:repeating-linear-gradient(to right,var(--surface-muted) 0,var(--surface-muted) 9.5%,var(--border) 9.5%,var(--border) 10%);border-radius:999px;box-shadow:inset 0 0 0 1px #0000000a;height:8px;margin-bottom:.4rem;overflow:hidden;position:relative;width:100%}.game-card .field-progress .fill{background:var(--accent);height:100%;transition:width .35s ease;width:0}.game-card .meta.situation{margin-top:.25rem}.game-card .meta.situation.transition{background:#0000;border-radius:0;padding:0}.game-card .meta .down-distance{color:var(--text-primary);font-weight:600}.team.owner-melissa .name{color:#7c3aed}.team.owner-sam .name{color:#ef4444}.team.owner-adam .name{color:#f59e0b}.team.owner-russ .name{color:#2563eb}.game-card.between .team .name .ball{opacity:.7}@keyframes score-flash{0%{background:#22c55e40;box-shadow:0 0 0 0 #22c55e99}40%{background:#22c55e59;box-shadow:0 0 0 6px #22c55e26}to{background:#0000;box-shadow:none}}.game-card .score.flash{animation:score-flash 1.2s ease-in-out}.App{background:var(--bg);min-height:100vh;padding:24px 0 32px}.app-header{margin-bottom:2rem;text-align:center}.app-header h1{color:var(--text-primary);font-size:2.25rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.view-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}.view-button{background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:600;padding:.65rem 1.25rem;transition:all .15s ease}.view-button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.view-button:focus{box-shadow:0 0 0 4px var(--ring);outline:none}.view-button.active{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);color:#fff}.current-view,.error-container,.loading-container{align-items:center;display:flex;flex-direction:column}.error-container,.loading-container{color:var(--text-primary);justify-content:center;min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #2563eb26;border-radius:50%;border-top:4px solid var(--primary);height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container h2{font-size:1.5rem;margin-bottom:1rem}.error-container p{font-size:1.1rem;margin-bottom:1.5rem;opacity:.9}.refresh-button,.retry-button{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:999px;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1rem;transition:all .12s ease}.refresh-button:hover,.retry-button:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.refresh-button:focus,.retry-button:focus{box-shadow:0 0 0 4px var(--ring);outline:none}.refresh-button:active,.retry-button:active{background:var(--primary-600);border-color:var(--primary-600);transform:translateY(0)}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.refresh-container{margin-top:2rem;padding:20px;text-align:center}*{box-sizing:border-box}body{background:var(--bg);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}@media (max-width:768px){.app-header h1{font-size:1.875rem}.view-selector{align-items:center;flex-direction:column;gap:.75rem}.view-button{padding:.9rem 1.25rem;width:200px}}
/*# sourceMappingURL=main.52d9379a.css.map*/