*{box-sizing:border-box;margin:0;padding:0}body{color:#f0efe9;background:#0f0f0f;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.loading{color:#888;justify-content:center;align-items:center;height:100vh;font-size:14px;display:flex}.identity-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.identity-card{background:#1a1a1a;border:.5px solid #333;border-radius:16px;width:100%;max-width:340px;padding:32px 24px}.identity-card h1{margin-bottom:6px;font-family:monospace;font-size:24px;font-weight:500}.identity-card p{color:#888;margin-bottom:20px;font-size:13px}.player-list{flex-direction:column;gap:8px;display:flex}.player-btn{color:#f0efe9;cursor:pointer;text-align:left;background:#222;border:.5px solid #333;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:14px;font-weight:500;transition:border-color .15s;display:flex}.player-btn:hover{border-color:#666}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:600;display:flex}.avatar.small{width:18px;height:18px;font-size:8px}.app{max-width:480px;margin:0 auto;padding:20px 16px 0}.topbar{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.brand{font-family:monospace;font-size:20px;font-weight:500}.brand-sub{color:#888;margin-top:2px;font-size:11px}.identity-pill{color:#888;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:.5px solid #333;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:flex}.admin-tag{color:#378add;background:#378add26;border-radius:8px;margin-left:2px;padding:1px 5px;font-size:8px;font-weight:600}.nav{border-bottom:.5px solid #2a2a2a;margin-bottom:16px;display:flex}.nav-btn{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:8px 4px;font-size:13px;font-weight:500;transition:color .15s}.nav-btn.active{color:#f0efe9;border-bottom-color:#f0efe9}.nav-btn:hover:not(.active){color:#aaa}.tab-content{padding-bottom:40px}.coming-soon,.tab-loading,.tab-error,.no-games{color:#555;text-align:center;padding:40px 0;font-size:13px}.admin-banner{color:#378add;background:#378add1a;border:.5px solid #378add4d;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:12px}.sport-toggle{gap:6px;margin-bottom:14px;display:flex}.toggle-btn{color:#666;cursor:pointer;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:8px;flex:1;padding:8px;font-size:12px;font-weight:500}.toggle-btn.active{color:#378add;background:#378add1a;border-color:#378add}.game-card{cursor:pointer;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:12px;margin-bottom:8px;padding:12px;transition:border-color .15s}.game-card.active-pick{background:#2d6a4f14;border-color:#2d6a4f}.game-card.dim{opacity:.5;cursor:default}.game-top-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sport-badge{border-radius:6px;padding:2px 7px;font-size:9px;font-weight:600}.sport-badge.nba{color:#378add;background:#378add26}.sport-badge.wc{color:#52b788;background:#52b78826}.game-top-right{align-items:center;gap:6px;display:flex}.pick-tag{color:#52b788;background:#52b78826;border:.5px solid #52b7884d;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500}.locked-tag{color:#999!important;background:#ffffff0d!important}.set-btn{color:#378add;cursor:pointer;background:#378add1a;border:.5px solid #378add4d;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:500}.set-btn-active{color:#52b788!important;background:#52b78826!important;border-color:#52b7884d!important}.matchup-row{justify-content:center;align-items:center;gap:14px;display:flex}.team-block{text-align:center;flex:1}.team-abbr{color:#f0efe9;font-family:monospace;font-size:18px;font-weight:500}.team-name{color:#666;margin-top:2px;font-size:10px}.vs{color:#444;font-size:11px}.round-tag{color:#555;text-align:center;text-transform:capitalize;border-top:.5px solid #2a2a2a;margin-top:8px;padding-top:8px;font-size:10px}.your-pick{color:#52b788;text-align:center;border-top:.5px solid #2a2a2a;margin-top:8px;padding-top:8px;font-size:11px}.highlighted-card{box-shadow:0 0 0 2px #378add4d;border-color:#378add!important}.share-btn{color:var(--color-text-tertiary,#666);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;font-size:14px;display:flex}.share-btn:hover{color:#f0efe9}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:flex-end;padding:0 16px;display:flex;position:fixed;inset:0}.modal{background:#1a1a1a;border:.5px solid #333;border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:20px 16px 32px}.modal h3{color:#f0efe9;margin-bottom:4px;font-size:16px;font-weight:500}.modal-sub{color:#666;margin-bottom:20px;font-size:12px}.team-btns{gap:10px;margin-bottom:20px;display:flex}.team-btn{text-align:center;cursor:pointer;background:#222;border:.5px solid #333;border-radius:10px;flex:1;padding:16px 8px;transition:border-color .15s}.team-btn.chosen{background:#378add1a;border-color:#378add}.btn-abbr{color:#f0efe9;font-family:monospace;font-size:18px;font-weight:500}.btn-full{color:#666;margin-top:3px;font-size:10px}.score-picker{justify-content:center;align-items:center;gap:16px;margin-bottom:20px;display:flex}.score-team{text-align:center}.score-abbr{color:#888;margin-bottom:8px;font-family:monospace;font-size:13px;font-weight:500}.stepper{align-items:center;gap:12px;display:flex}.stepper button{color:#f0efe9;cursor:pointer;background:#222;border:.5px solid #333;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.score-val{color:#f0efe9;text-align:center;width:32px;font-family:monospace;font-size:28px;font-weight:500;display:block}.score-dash{color:#444;padding-top:20px;font-family:monospace;font-size:20px}.modal-actions{gap:8px;display:flex}.modal-actions button{cursor:pointer;color:#f0efe9;background:#222;border:.5px solid #333;border-radius:10px;flex:1;min-height:44px;padding:12px;font-size:13px;font-weight:500}.confirm-btn{color:#0f0f0f!important;background:#f0efe9!important;border-color:#f0efe9!important}.confirm-btn:disabled{opacity:.35;cursor:not-allowed}.picks-tab{flex-direction:column;gap:10px;display:flex}.player-picks-card{background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:12px;padding:14px}.player-picks-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.player-picks-name{color:#f0efe9;font-size:14px;font-weight:500}.no-pick-text{color:#555;border-top:.5px solid #2a2a2a;padding-top:10px;font-size:12px;font-style:italic}.player-picks-list{border-top:.5px solid #2a2a2a;flex-direction:column;gap:8px;padding-top:10px;display:flex}.pick-row{align-items:center;gap:10px;display:flex}.pick-row-detail{flex:1}.pick-row-matchup{color:#f0efe9;font-family:monospace;font-size:12px;font-weight:500}.pick-row-choice{color:#666;margin-top:1px;font-size:11px}.import-tab{padding-bottom:20px}.mode-toggle{gap:6px;margin-bottom:14px;display:flex}.import-steps{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.import-step{color:#555;border:1.5px solid #333;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:600;display:flex}.import-step.active{color:#f0efe9;border-color:#f0efe9}.import-step.done{color:#52b788;background:#52b78826;border-color:#52b788}.import-card{background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:12px;margin-bottom:12px;padding:16px}.field-label{color:#888;margin-bottom:8px;font-size:11px}.text-input{color:#f0efe9;background:#222;border:.5px solid #333;border-radius:8px;width:100%;margin-bottom:12px;padding:10px;font-size:13px}.primary-btn{cursor:pointer;color:#0f0f0f;background:#f0efe9;border:none;border-radius:10px;width:100%;min-height:44px;padding:12px;font-size:13px;font-weight:500}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.import-hint{color:#888;margin-bottom:12px;font-size:12px}.import-game-row{cursor:pointer;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.import-game-row.selected{background:#378add14;border-color:#378add}.import-check{color:#378add;border:1.5px solid #333;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.import-game-info{flex:1}.import-game-matchup{color:#f0efe9;font-family:monospace;font-size:13px;font-weight:500}.import-game-result{color:#888;margin-top:2px;font-size:11px}.import-progress-label{color:#888;text-align:center;margin-bottom:10px;font-size:12px}.import-player-pick-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.import-player-name{color:#f0efe9;flex-shrink:0;width:60px;font-size:13px;font-weight:500}.import-pick-btns{flex:1;gap:6px;display:flex}.import-pick-btn{color:#888;cursor:pointer;background:#222;border:.5px solid #333;border-radius:8px;flex:1;padding:8px 4px;font-family:monospace;font-size:11px;font-weight:500}.import-pick-btn.chosen{color:#378add;background:#378add26;border-color:#378add}.import-done{text-align:center;padding:40px 20px}.import-done-title{color:#52b788;margin-bottom:6px;font-size:16px;font-weight:500}.import-done-sub{color:#888;margin-bottom:20px;font-size:12px}.import-wc-pick-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.import-wc-controls{flex:1;align-items:center;gap:8px;display:flex}.import-stepper{align-items:center;gap:4px;display:flex}.import-stepper button{color:#f0efe9;cursor:pointer;background:#222;border:.5px solid #333;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.import-stepper span{color:#f0efe9;text-align:center;width:16px;font-family:monospace;font-size:14px;font-weight:500}.import-stepper-dash{color:#555;font-size:12px}.import-clear-btn{color:#666;cursor:pointer;background:0 0;border:.5px solid #333;border-radius:12px;margin-left:auto;padding:3px 8px;font-size:10px}.import-start-pick-btn{color:#378add;cursor:pointer;background:#378add1a;border:.5px dashed #378add4d;border-radius:8px;padding:6px 12px;font-size:11px}.stat-summary-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-summary-card{background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:10px;padding:14px}.stat-summary-label{color:#888;margin-bottom:6px;font-size:11px}.stat-summary-value{color:#f0efe9;font-family:monospace;font-size:20px;font-weight:500}.section-label{letter-spacing:.06em;text-transform:uppercase;color:#888;margin-bottom:10px;font-size:11px;font-weight:500}.leaderboard{background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:12px;overflow:hidden}.lb-player{border-bottom:.5px solid #2a2a2a}.lb-player:last-child{border-bottom:none}.lb-row{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;display:flex}.lb-row:hover{background:#ffffff05}.lb-rank{color:#555;width:16px;font-family:monospace;font-size:12px}.lb-name{color:#f0efe9;flex:1;font-size:14px;font-weight:500}.lb-badges{gap:3px;margin-left:6px;font-size:13px;display:flex}.streak-badge{color:#888;background:#222;border-radius:8px;padding:2px 8px;font-family:monospace;font-size:11px}.streak-badge.w{color:#52b788;background:#52b78826}.streak-badge.l{color:#e57373;background:#e5737326}.lb-pct,.lb-pts{color:#f0efe9;font-family:monospace;font-size:14px;font-weight:500}.lb-expand{background:#ffffff05;padding:0 14px 14px}.expand-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;margin-bottom:12px;display:grid}.expand-stat{text-align:center;background:#1a1a1a;border-radius:8px;padding:10px}.expand-stat-val{color:#f0efe9;font-family:monospace;font-size:15px;font-weight:500}.expand-stat-lbl{color:#888;margin-top:2px;font-size:9px}.expand-section-label{text-transform:uppercase;letter-spacing:.04em;color:#888;margin-bottom:8px;font-size:10px;font-weight:500}.month-bars{align-items:flex-end;gap:5px;height:56px;display:flex}.month-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.month-bar{background:#378add;border-radius:2px 2px 0 0;width:100%;min-height:2px}.month-lbl{color:#555;margin-top:3px;font-size:9px}.month-bar-value{color:var(--color-text-tertiary,#888);margin-bottom:3px;font-family:monospace;font-size:10px}.browse-sub-toggle{gap:6px;margin-bottom:14px;display:flex}.browse-group{margin-bottom:8px}.browse-group-header{cursor:pointer;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.browse-group-title{color:#f0efe9;font-family:monospace;font-size:13px;font-weight:500}.browse-group-meta{color:#888;font-size:11px}.browse-group-body{background:#ffffff05;border:.5px solid #2a2a2a;border-top:none;border-radius:0 0 10px 10px;padding:10px}.browse-game-row{margin-bottom:12px}.browse-game-row:last-child{margin-bottom:0}.browse-game-matchup{color:#f0efe9;align-items:center;gap:8px;margin-bottom:6px;font-family:monospace;font-size:12px;font-weight:500;display:flex}.browse-game-score{color:#888;margin-left:auto}.browse-picks-list{flex-wrap:wrap;gap:6px;display:flex}.browse-pick-chip{color:#ccc;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:14px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.browse-pts{border-radius:6px;padding:1px 5px;font-family:monospace;font-size:10px;font-weight:600}.browse-pts.w{color:#52b788;background:#52b78826}.browse-pts.l{color:#888;background:#ffffff0d}.browse-player-select{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.browse-player-chip{color:#888;cursor:pointer;background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.browse-player-chip.active{color:#378add;background:#378add1a;border-color:#378add}.browse-player-list{flex-direction:column;gap:6px;display:flex}.browse-player-pick-row{background:#1a1a1a;border:.5px solid #2a2a2a;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.browse-player-pick-date{color:#555;flex-shrink:0;width:70px;font-family:monospace}.browse-player-pick-detail{color:#f0efe9;flex:1;align-items:center;gap:6px;font-family:monospace;display:flex}.browse-player-pick-choice{color:#888}.browse-player-day-row{margin-bottom:14px}.browse-player-day-row:last-child{margin-bottom:0}.browse-player-day-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.browse-player-day-name{color:var(--color-text-primary,#f0efe9);font-size:13px;font-weight:500}.browse-player-day-total{color:var(--color-text-primary,#f0efe9);margin-left:auto;font-family:monospace;font-size:13px;font-weight:600}.browse-player-day-picks{flex-wrap:wrap;gap:6px;padding-left:32px;display:flex}.browse-day-pick-chip{background:var(--color-background-primary,#1a1a1a);border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;display:flex}.pick-correct{color:#52b788;font-weight:500}.pick-wrong{color:var(--color-text-tertiary,#6b6962);text-decoration:line-through}.browse-day-pick-chip{border:.5px solid #0000}.browse-day-pick-chip:has(.pick-correct){border-color:#52b7884d}.badge-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.badge-item{background:var(--color-background-primary,#1a1a1a);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.badge-item.locked{opacity:.35}.badge-icon{font-size:16px}.badge-label{color:var(--color-text-secondary,#ccc)}.month-badge-chip{color:#0f0f0f;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:700}.monthly-wins-row{flex-wrap:wrap;gap:6px;display:flex}.month-win-chip{color:#0f0f0f;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.share-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.share-pill-btn{color:var(--color-text-secondary,#888);background:var(--color-background-secondary,#1a1a1a);border:.5px solid var(--color-border-tertiary,#2a2a2a);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12px}.share-pill-btn:hover{color:#f0efe9}.back-link{color:var(--color-text-secondary,#888);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:13px}.back-link:hover{color:#f0efe9}.season-recap{flex-direction:column;gap:10px;display:flex}.recap-header{text-align:center;margin-bottom:8px}.recap-season-label{color:var(--color-text-secondary,#888);letter-spacing:1px;text-transform:uppercase;font-size:11px}.recap-title{margin-top:4px;font-family:monospace;font-size:22px;font-weight:500}.recap-stat-card{background:var(--color-background-primary,#1a1a1a);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.recap-stat-card.gold{background:#e0a23e14;border:.5px solid #e0a23e66}.recap-icon{font-size:22px}.recap-stat-title{font-size:14px;font-weight:500}.recap-stat-detail{color:var(--color-text-secondary,#888);margin-top:2px;font-size:12px}.recap-numbers{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0;display:grid}.recap-num-card{background:var(--color-background-secondary,#1a1a1a);text-align:center;border-radius:8px;padding:10px}.recap-num-val{font-family:monospace;font-size:18px;font-weight:500}.recap-num-lbl{color:var(--color-text-secondary,#888);margin-top:2px;font-size:9px}.recap-final-standings{background:var(--color-background-primary,#1a1a1a);border-radius:10px;margin-top:8px;padding:8px 0}.warn-box{color:#e0a23e;background:#e0a23e1a;border-radius:8px;margin-bottom:14px;padding:10px;font-size:12px}.season-picker{background:var(--color-background-secondary,#1a1a1a);border:.5px solid var(--color-border-tertiary,#2a2a2a);width:100%;color:var(--color-text-primary,#f0efe9);border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:13px}.past-season-banner{color:var(--color-text-warning,#e0a23e);background:#e0a23e1a;border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:12px}.events-tab{padding-bottom:20px}
