:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0a0e1a;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-nav{z-index:100;background:#0d1220;border-bottom:2px solid #1a2040;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.nav-brand h1{color:#4a9eff;font-size:1.4rem;font-weight:700}.nav-brand span{color:#7a8aaa;font-size:.85rem}.nav-links{gap:4px;display:flex}.nav-link{color:#7a8aaa;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 20px;font-size:.95rem;font-weight:500;transition:all .2s}.nav-link:hover{color:#c0c8d8;background:#1a2040}.nav-link.active{color:#4a9eff;background:#1a3a6a}.app-main{max-width:1400px;margin:0 auto;padding:20px}.dashboard-toolbar{justify-content:flex-end;padding:0 0 16px;display:flex}.upload-btn{color:#4a9eff;cursor:pointer;background:#1a3a6a;border:1px solid #2a4a7a;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.upload-btn:hover{background:#2a4a7a}.file-upload{background:#111828;border:1px solid #1a2040;border-radius:12px;margin-bottom:24px;padding:24px}.file-upload h3{color:#4a9eff;margin-bottom:8px}.upload-hint{color:#7a8aaa;margin-bottom:16px;font-size:.85rem}.file-upload input[type=file]{margin-bottom:12px}.upload-status{color:#4aff9e;margin-top:8px;font-size:.9rem}.upload-error{color:#ff4a4a;margin-top:8px;font-size:.9rem}.upload-preview{background:#0d1220;border-radius:8px;margin-top:16px;padding:16px}.upload-preview h4{color:#c0c8d8;margin-bottom:12px}.upload-preview ul{margin-bottom:16px;list-style:none}.upload-preview li{color:#a0a8b8;padding:4px 0;font-size:.9rem}.upload-preview button{color:#4aff9e;cursor:pointer;background:#1a6a3a;border:1px solid #2a7a4a;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .2s}.upload-preview button:hover{background:#2a7a4a}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.team-card{background:#111828;border:1px solid #1a2040;border-radius:12px;transition:border-color .2s;overflow:hidden}.team-card:hover{border-color:#2a4a7a}.team-header{background:linear-gradient(135deg,#141e35,#1a2845);border-bottom:1px solid #1a2040;padding:16px 20px}.team-header h3{color:#e8eaf0;margin-bottom:4px;font-size:1.05rem}.team-owners{color:#6a7a9a;font-size:.8rem}.team-roster{padding:12px 20px}.position-group{border-bottom:1px solid #0d1220;gap:12px;padding:6px 0;display:flex}.position-group:last-child{border-bottom:none}.position-label{color:#4a9eff;min-width:32px;padding-top:2px;font-size:.75rem;font-weight:700}.players{flex:1}.player{justify-content:space-between;padding:2px 0;font-size:.85rem;display:flex}.player-name{color:#c8d0e0}.nfl-team{color:#5a6a8a;text-align:right;min-width:40px;font-size:.75rem}.team-footer{color:#4a5a7a;text-align:right;border-top:1px solid #0d1220;padding:10px 20px;font-size:.75rem}.loading{text-align:center;color:#7a8aaa;padding:40px}.error{text-align:center;color:#ff4a4a;padding:40px}.empty-state{text-align:center;color:#5a6a8a;padding:80px 20px}.empty-state p{margin-bottom:20px;font-size:1.1rem}.empty-state button{color:#4a9eff;cursor:pointer;background:#1a3a6a;border:1px solid #2a4a7a;border-radius:8px;padding:12px 28px;font-size:1rem;transition:all .2s}.empty-state button:hover{background:#2a4a7a}.rules-page{max-width:900px;margin:0 auto}.rules-title{color:#4a9eff;border-bottom:2px solid #1a2040;margin-bottom:24px;padding-bottom:12px;font-size:1.6rem}.rules-section{background:#111828;border:1px solid #1a2040;border-radius:12px;margin-bottom:16px;padding:24px}.rules-section h3{color:#4a9eff;margin-bottom:12px;font-size:1.15rem}.rules-section h4{color:#c0c8d8;margin-top:16px;margin-bottom:8px;font-size:1rem}.rules-section h5{color:#a0b0d0;margin-bottom:6px;font-size:.9rem}.rules-section p{color:#b0b8c8;margin-bottom:8px;line-height:1.6}.rules-section ul,.rules-section ol{margin-bottom:8px;padding-left:20px}.rules-section li{color:#b0b8c8;padding:2px 0;line-height:1.7}.rules-section li strong{color:#e0e8f0}.prizes-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.prize-card{background:#0d1220;border:1px solid #1a2040;border-radius:8px;flex-direction:column;align-items:center;padding:16px 12px;display:flex}.prize-place{color:#7a8aaa;margin-bottom:6px;font-size:.8rem}.prize-amount{font-size:1.3rem;font-weight:700}.prize-1st .prize-amount{color:gold}.prize-2nd .prize-amount{color:silver}.prize-3rd .prize-amount{color:#cd7f32}.prize-4th .prize-amount{color:#7a8aaa}.tiebreaker-box{background:#0d1220;border-radius:8px;margin-top:8px;padding:16px 20px}.tiebreaker-box h4{color:#a0b0d0;margin-top:12px}.tiebreaker-box h4:first-child{margin-top:0}.tiebreaker-note{color:#6a7a9a;margin-top:8px;font-size:.85rem;font-style:italic}.lineup-slots{background:#0d1220;border-radius:8px;margin-top:12px;padding:16px 20px}.slots-grid{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.slot{color:#c0c8d8;background:#141e35;border:1px solid #1a2040;border-radius:6px;padding:8px 14px;font-size:.9rem}.slot strong{color:#4a9eff;margin-right:4px}.slot small{color:#6a7a9a}.scoring-table{border-collapse:collapse;width:100%;margin-bottom:16px}.scoring-table th,.scoring-table td{text-align:left;border-bottom:1px solid #1a2040;padding:8px 12px}.scoring-table th{color:#7a8aaa;text-transform:uppercase;letter-spacing:.5px;background:#0d1220;font-size:.8rem}.scoring-table td{color:#c0c8d8;font-size:.9rem}.scoring-table tbody tr:hover{background:#141e35}.scoring-desc{color:#6a7a9a;margin-bottom:8px;font-size:.85rem;font-style:italic}.pattern-note{text-align:center;font-style:italic;color:#6a7a9a!important;font-size:.8rem!important}.yards-bonus-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.special-rule{background:#0d1220;border-radius:8px;margin-bottom:12px;padding:16px 20px}.special-rule h4{margin-top:0}.rule-example{color:#6a7a9a;border-left:3px solid #1a3a6a;margin-top:8px;padding-left:12px;font-size:.85rem}.playoff-bracket{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;display:grid}.playoff-round{text-align:center;background:#0d1220;border:1px solid #1a2040;border-radius:8px;padding:14px}.playoff-round h4{color:#4a9eff;margin:0 0 8px;font-size:.9rem}.playoff-round p{color:#a0a8b8;margin:0;font-size:.8rem}.gameday-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.gameday-header h2{color:#4a9eff;font-size:1.3rem}.last-update{color:#5a6a8a;font-size:.8rem}.gameday-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.week-picker{gap:6px;display:flex}.picker-select{color:#c0c8d8;cursor:pointer;background:#111828;border:1px solid #1a2040;border-radius:6px;padding:6px 10px;font-size:.85rem}.picker-select:focus{border-color:#4a9eff;outline:none}.auto-refresh-toggle{color:#7a8aaa;cursor:pointer;align-items:center;gap:6px;font-size:.85rem;display:flex}.auto-refresh-toggle input{accent-color:#4a9eff}.refresh-btn{color:#4a9eff;cursor:pointer;background:#1a3a6a;border:1px solid #2a4a7a;border-radius:6px;padding:6px 16px;font-size:.85rem;transition:all .2s}.refresh-btn:hover{background:#2a4a7a}.nfl-games-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px;display:grid}.nfl-game-card{background:#111828;border:1px solid #1a2040;border-radius:10px;padding:14px;transition:border-color .2s}.nfl-game-card.live{background:#0d1a14;border-color:#2a6a2a}.nfl-game-card.final{opacity:.85}.ngc-matchup{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ngc-team{flex:1;align-items:center;gap:6px;display:flex}.ngc-team:last-child{flex-direction:row-reverse}.ngc-logo{object-fit:contain;width:24px;height:24px}.ngc-name{color:#c0c8d8;font-size:.9rem;font-weight:600}.ngc-score{color:#e8eaf0;font-size:1.1rem;font-weight:700}.ngc-at{color:#4a5a7a;font-size:.75rem}.ngc-status{text-align:center;color:#5a6a8a;margin-bottom:6px;font-size:.75rem}.nfl-game-card.live .ngc-status{color:#4aff9e}.ngc-fantasy{border-top:1px solid #1a2040;flex-wrap:wrap;gap:4px;padding-top:6px;display:flex}.ngc-fp{color:#7a8aaa;background:#0d1220;border-radius:3px;padding:2px 6px;font-size:.7rem}.fantasy-scores-section{margin-bottom:24px}.fantasy-scores-section h3{color:#c0c8d8;margin-bottom:12px;font-size:1.1rem}.fantasy-scores-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.fantasy-score-card{cursor:pointer;background:#111828;border:1px solid #1a2040;border-radius:10px;transition:border-color .2s;overflow:hidden}.fantasy-score-card:hover,.fantasy-score-card.expanded{border-color:#2a4a7a}.fsc-header{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.fsc-rank{color:#4a9eff;margin-right:6px;font-size:.7rem;font-weight:700}.fsc-header h4{color:#e0e8f0;margin-bottom:2px;font-size:.95rem;display:inline}.fsc-owners{color:#5a6a8a;font-size:.75rem}.fsc-total{color:#4aff9e;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.fsc-breakdown{background:#0d1220;border-top:1px solid #1a2040;padding:12px 18px}.fsc-empty{color:#5a6a8a;text-align:center;padding:8px 0;font-size:.85rem}.fsc-player{margin-bottom:10px}.fsc-player:last-child{margin-bottom:0}.fsc-player-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.fsc-player-name{color:#c0c8d8;font-size:.9rem;font-weight:600}.fsc-pos{color:#4a9eff;background:#1a2a4a;border-radius:3px;margin-right:6px;padding:1px 5px;font-size:.7rem;font-weight:700;display:inline-block}.fsc-player-pts{color:#4aff9e;font-size:.95rem;font-weight:700}.fsc-play{color:#7a8aaa;justify-content:space-between;padding:1px 0 1px 28px;font-size:.8rem;display:flex}.bonus-pts{color:gold}.scoring-feed{margin-top:24px}.scoring-feed h3{color:#c0c8d8;margin-bottom:12px;font-size:1.1rem}.feed-list{flex-direction:column;gap:8px;display:flex}.feed-item{background:#111828;border:1px solid #1a2040;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 16px;display:flex}.feed-team{color:#4a9eff;min-width:36px;font-size:.8rem;font-weight:700}.feed-text{color:#b0b8c8;flex:1;font-size:.85rem}.feed-quarter{color:#5a6a8a;font-size:.75rem}.feed-fantasy{border-top:1px solid #0d1220;gap:12px;width:100%;padding-top:4px;display:flex}.feed-fp{color:#4aff9e;font-size:.8rem;font-weight:500}@media (width<=768px){.prizes-grid{grid-template-columns:repeat(2,1fr)}.playoff-bracket{grid-template-columns:1fr 1fr}.yards-bonus-grid{grid-template-columns:1fr}.app-nav{flex-direction:column;align-items:flex-start;gap:12px}.slots-grid{gap:6px}.gameday-header{flex-direction:column;gap:12px}.gameday-controls{justify-content:space-between;width:100%}.fantasy-scores-grid{grid-template-columns:1fr}.nfl-games-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (width<=480px){.prizes-grid{grid-template-columns:1fr 1fr}.playoff-bracket{grid-template-columns:1fr}}
