:root{--bg: #0f1210;--surface: #090b09;--surface2: #161918;--border: #222524;--text: #ddeedd;--text-dim: #6b8c70;--accent: #22c55e;--accent-rgb: 34, 197, 94;--accent2: #86efac;--win: #22c55e;--loss: #ff6b6b;--tie: rgba(255,255,255,.4);--row-pad-v: 10px}*{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:#00ff4140;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00ff4180}::-webkit-scrollbar-corner{background:var(--surface)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(0,255,65,.25) var(--surface)}}body{font-family:Space Grotesk,system-ui,sans-serif;font-size:17px;background:var(--bg);color:var(--text);line-height:1.6}.page-content{padding:48px;position:relative;animation:page-enter .22s ease-out}.page-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#00ff41;box-shadow:0 0 10px #00ff41,0 0 4px #00ff41;transform-origin:left;animation:page-scanline .35s ease-out forwards;pointer-events:none;z-index:10}@keyframes page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes page-scanline{0%{transform:scaleX(0);opacity:1}65%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{width:185px;flex-shrink:0;background:var(--surface);border-right:1px solid #00ff41;box-shadow:2px 0 14px #00ff4140,inset -1px 0 8px #00ff410f;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden;transition:width .2s ease}.sidebar--collapsed{width:44px;overflow:visible}.sidebar-topbar{position:relative;display:flex;align-items:center;min-height:40px;border-bottom:1px solid rgba(0,255,65,.25);flex-shrink:0;overflow:hidden}.sidebar-brand{position:relative;z-index:1;pointer-events:none;display:flex;align-items:center;gap:6px;font-size:.82em;font-weight:700;letter-spacing:.03em;color:var(--accent);white-space:nowrap;padding:6px 6px 6px 12px;flex:1}.sidebar-collapse-btn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;background:none;border:none;color:#00ff41;text-shadow:0 0 8px rgba(0,255,65,.7);cursor:pointer;transition:background .15s,text-shadow .15s}.sidebar-collapse-btn:hover{background:#00ff410f;text-shadow:0 0 12px rgba(0,255,65,1)}.sidebar--collapsed .sidebar-collapse-btn{justify-content:center;padding:0}.sidebar-header{padding:10px 14px;border-bottom:1px solid rgba(0,255,65,.25)}.sidebar-league-name{color:var(--accent);font-weight:400;font-size:.95em;line-height:1.3;margin-bottom:3px}.sidebar-league-meta{color:var(--text-dim);font-size:.75em}.sidebar-nav{flex:1;min-height:0;padding:6px 0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sidebar-nav button{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 12px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.82em;font-family:inherit;transition:background .15s,color .15s;white-space:nowrap;overflow:visible}.sidebar-nav [data-tooltip]:before,.sidebar-nav [data-tooltip]:after{position:absolute;left:calc(100% + 6px);top:50%;pointer-events:none;opacity:0;transition:opacity .12s ease;transition-delay:0s;z-index:1000}.sidebar-nav [data-tooltip]:before{content:"";transform:translateY(-50%);left:calc(100% + 1px);border:5px solid transparent;border-right-color:#22c55e59}.sidebar-nav [data-tooltip]:after{content:attr(data-tooltip);transform:translateY(-50%);background:var(--surface2);color:var(--accent);border:1px solid rgba(34,197,94,.35);box-shadow:0 4px 20px #000000bf,0 0 12px #22c55e14;border-radius:5px;padding:5px 10px;font-size:.78em;font-weight:600;letter-spacing:.03em;font-family:inherit;white-space:nowrap}.sidebar-nav [data-tooltip]:hover:before,.sidebar-nav [data-tooltip]:hover:after{opacity:1;transition-delay:.8s}.sidebar-nav button:hover{background:var(--surface2);color:var(--text)}.sidebar-nav button.active{color:var(--accent)}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-group+.sidebar-nav-group{margin-top:2px;padding-top:2px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-nav-group-label{padding:5px 12px 2px;font-size:.6em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff40;white-space:nowrap;pointer-events:none}.sidebar-nav-icon{font-size:.85em;opacity:.6;width:14px;text-align:center;flex-shrink:0;position:relative;top:1px}.sidebar-nav button.active .sidebar-nav-icon{opacity:1;color:#00ff41;text-shadow:0 0 8px rgba(0,255,65,.8)}.sidebar-nav-bottom{margin-top:auto;border-top:1px solid rgba(0,255,65,.25);padding-top:4px}.sidebar-footer{padding:0;border-top:1px solid rgba(0,255,65,.25);display:flex;flex-direction:column;align-items:stretch}.sidebar--collapsed .sidebar-footer{align-items:stretch}.sidebar--collapsed .sidebar-footer-btn{padding:9px 0;width:100%;justify-content:center;display:flex;align-items:center}.sidebar--collapsed .sidebar-nav button{justify-content:center;padding:6px 0}.section{margin:50px 0;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden}.section-header{padding:20px 25px;background:var(--surface2);border-bottom:1px solid var(--border);font-size:1.3em;font-weight:600;color:var(--accent)}.section-body{padding:20px 25px}.section-note{color:var(--text-dim);font-size:.85em;margin-bottom:15px;font-style:italic}.slot-label{color:#ffffff4d;font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.owner-name{color:var(--text-dim)}.roster-subtable{width:100%;border-collapse:collapse;background:#0000002e}.roster-subtable th{background:#ffffff06;color:#ffffff47;font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap;cursor:default}.roster-subtable th:hover{color:#ffffff47}.roster-subtable td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.04);color:#ffffffd1;font-size:.88em;white-space:nowrap}.roster-subtable tbody tr:last-child td{border-bottom:none}.roster-subtable tr:hover td{background:#ffffff08}.roster-subtable .section-divider td{background:#ffffff04;color:#fff3;font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.18em;text-align:center;padding:5px 8px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.roster-subtable .num{text-align:right;color:#fff9}.roster-subtable .col-consensus{font-weight:700;color:#ffffffd9}table{width:100%;border-collapse:collapse;font-size:.9em}#players table{width:max-content}th{text-align:left;padding:10px 12px;background:var(--surface2);color:var(--text);border-bottom:2px solid var(--border);font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}thead tr:first-child th:first-child{border-radius:8px 0 0}thead tr:first-child th:last-child{border-radius:0 8px 0 0}th:hover{color:var(--accent)}td{padding:var(--row-pad-v) 2px;border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}tr:hover td{background:#22c55e0d}.num{text-align:right;font-variant-numeric:tabular-nums}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:monospace}.col-shrink{width:1%;white-space:nowrap}.text-dim{color:var(--text-dim)}.col-group-start{border-left:1px solid rgba(28,45,30,.4);padding-left:8px;padding-right:2px}.col-rank{padding-left:6px;padding-right:0;text-align:left}.col-info{padding:0 6px;font-size:1.05em}.col-pos{font-size:1.2em;text-align:right}td.col-pos{color:var(--accent)}.col-record{white-space:nowrap;font-size:.86em}.sticky-col{position:sticky;z-index:2}th.sticky-col{z-index:3}.sticky-col-0{left:0}.sticky-col-1{left:40px}.sticky-col-2{left:220px}td.sticky-col,th.sticky-col{background:var(--surface2)}#standings tbody tr:nth-child(2n)>td{background:var(--surface)}#standings .h2h-table tbody tr:nth-child(2n)>td{background:transparent}#standings .h2h-table tbody tr:hover>td{background:transparent}#standings tbody tr:nth-child(2n)>td.sticky-col{background:var(--surface)}#standings tbody tr:hover>td{background:#22c55e1a}#standings tbody tr:hover>td.sticky-col{background:#22c55e1a}#players tbody tr:nth-child(2n)>td{background:var(--surface2)}#players tbody tr:nth-child(2n)>td.week-bye,#players tbody tr>td.week-bye{background:repeating-linear-gradient(135deg,#ffffff08,#ffffff08 4px,#ffffff0f 4px,#ffffff0f 8px)}#players tbody tr:hover>td{background:#22c55e1a}.col-consensus{font-weight:700}.sort-indicator{font-size:.7em;margin-left:3px;opacity:.8}.sort-active{background:#22c55e0f}.th-help{display:inline-block;width:17px;height:17px;line-height:17px;text-align:center;font-size:.78em;font-weight:700;border-radius:50%;background:#ffffff1a;color:var(--text-dim);cursor:help;vertical-align:middle;margin-left:3px}.win{color:var(--win)}.loss{color:var(--loss)}.tie{color:var(--tie)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:600}.badge-starter{background:#22c55e26;color:var(--win)}.badge-bench{background:#8b8fa326;color:var(--text-dim)}.badge-ir{background:#ff6b6b26;color:var(--loss)}.badge-injury{background:#ffd93d26;color:var(--tie);font-size:.75em}.badge-keeper{background:#22c55e33;color:var(--accent)}.badge-free{background:#86efac26;color:var(--accent2)}.badge-rostered{background:#22c55e26;color:var(--accent);font-size:.8em}.player-headshot{width:54px;height:40px;vertical-align:middle;margin-right:8px;object-fit:cover;object-position:center top}.player-headshot-placeholder{background:var(--surface2);border-radius:4px;flex-shrink:0}.nfl-team-logo{width:24px;height:24px;vertical-align:middle;margin-right:4px;object-fit:contain}.badge-pos{display:inline-block;font-size:1em;font-weight:700}.badge-QB{color:#4caf50}.badge-RB{color:#ef5350}.badge-WR{color:#42a5f5}.badge-TE{color:#ffa726}.badge-K{color:#ab47bc}.badge-DST{color:#aab0c6}.team-card{margin:15px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.team-card-header{padding:12px 16px;background:var(--surface2);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.team-card-header:hover{background:#22c55e14}.team-card-header h3{font-size:1em;display:flex;align-items:center}.team-card-body{display:none}.team-card-body.open{display:block}.sb-team-filter{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text);border-radius:6px;padding:5px 10px;font-size:.78em;cursor:pointer;outline:none}.sb-week-tabs{display:flex;gap:3px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.sb-week-tabs::-webkit-scrollbar{display:none}.sb-week-tab{flex-shrink:0;padding:4px 9px;border-radius:5px;border:none;font-size:.7em;font-weight:700;letter-spacing:.03em;cursor:pointer;background:transparent;color:#ffffff4d;transition:background .12s,color .12s}.sb-week-tab:hover{background:#ffffff12;color:#ffffffb3}.sb-week-tab-active{background:#ffffff1f;color:#ffffffe6}.sb-week-tab-hero{color:var(--accent)}.sb-week-tab-hero.sb-week-tab-active{background:#22c55e26}.sb-week{margin-bottom:28px}.sb-week-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.sb-week-label{font-size:.72em;font-weight:700;color:#ffffff59;text-transform:uppercase;letter-spacing:.08em}.sb-pill{font-size:.65em;font-weight:700;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.sb-pill-live{background:#ffd93d26;color:#ffd93d}.sb-matchup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sb-matchup-card{background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:13px 15px;transition:border-color .15s}.sb-matchup-card:hover{border-color:#ffffff24}.sb-matchup-card-mine{border-color:#22c55e40;background:#22c55e08}.sb-matchup-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.sb-team-col{display:flex;align-items:center;gap:7px;min-width:0}.sb-away{flex-direction:row}.sb-home{flex-direction:row-reverse}.sb-team-info{display:flex;flex-direction:column;min-width:0}.sb-team-info-right{align-items:flex-end;text-align:right}.sb-team-name{font-size:.82em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ffffffbf;line-height:1.25}.sb-team-record{font-size:.65em;color:#ffffff47;font-variant-numeric:tabular-nums;line-height:1.3}.sb-winner .sb-team-name{color:#fffffff2;font-weight:700}.sb-loser{opacity:.5}.sb-scores-col{display:flex;flex-direction:column;align-items:center;white-space:nowrap;min-width:110px}.sb-scores-row{display:flex;align-items:baseline;gap:6px}.sb-score{font-size:1.45em;font-weight:800;font-variant-numeric:tabular-nums;color:#fff6;letter-spacing:-.02em}.sb-score-win{color:#22c55e}.sb-score-dim{color:#ffffff40}.sb-sep{font-size:.8em;color:#ffffff2e;font-weight:400}.sb-margin{font-size:.62em;color:#ffffff73;margin-top:1px;font-variant-numeric:tabular-nums}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.settings-card{background:var(--surface2);border-radius:8px;padding:16px;border:1px solid var(--border)}.settings-card h4{color:var(--accent);margin-bottom:10px;font-size:.95em}.settings-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.85em;border-bottom:1px solid rgba(20,35,22,.5)}.settings-row .label{color:var(--text-dim)}.data-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px}.catalog-card{background:var(--surface2);border-radius:8px;padding:16px;border:1px solid var(--border)}.catalog-card h4{color:var(--accent);margin-bottom:8px}.catalog-card p{font-size:.85em;color:var(--text-dim);margin-bottom:6px}.catalog-card ul{font-size:.85em;padding-left:18px;color:var(--text)}.catalog-card li{margin:3px 0}.api-endpoint{font-family:monospace;font-size:.8em;color:var(--accent2);background:#86efac1a;padding:2px 6px;border-radius:3px}.scoring-table td:first-child{width:60%}.heat-1{background:#22c55e4d;color:var(--text)}.heat-2{background:#22c55e33}.heat-3{background:#22c55e1a}.heat-4{background:transparent}.heat-5{background:#ff6b6b1a}.heat-6{background:#ff6b6b33}.heat-7{background:#ff6b6b4d;color:var(--text)}.week-col-header{min-width:56px;font-size:.7em;text-align:center;padding:4px 2px;white-space:nowrap}.week-cell{min-width:56px;font-size:.75em;text-align:center;padding:2px 3px;vertical-align:top;line-height:1.2;position:relative}.week-cell-opp{font-weight:700;font-size:.95em}.week-cell-rank{font-weight:400;font-size:.8em}.week-cell-opp.heat-1{color:#00e6a0}.week-cell-opp.heat-2{color:#3dd9a0}.week-cell-opp.heat-3{color:#7accaa}.week-cell-opp.heat-4{color:#fff9}.week-cell-opp.heat-5{color:#e08080}.week-cell-opp.heat-6{color:#e05555}.week-cell-opp.heat-7{color:#f44}.week-cell-meta{font-size:.8em;color:#fff}.week-legend{display:inline-flex;align-items:center;gap:4px;font-size:.8em;color:#ffffff80;margin-left:4px}.week-bye{font-style:italic;color:#fff6;background:repeating-linear-gradient(135deg,#ffffff08,#ffffff08 4px,#ffffff0f 4px,#ffffff0f 8px);vertical-align:middle!important;font-size:.65em}.week-played{background:#ffffff08}.week-playoff{border-top:2px solid rgba(255,193,7,.45)}th.week-playoff{color:#ffc107}.week-cell-score{font-size:.9em;font-weight:600;color:#fffc;margin-top:1px}.week-cell-proj{font-size:.85em;font-style:italic;color:#fff;margin-top:1px}.debug-week-select{font-size:.8em;padding:2px 6px;background:#ffc1071a;border:1px dashed rgba(255,193,7,.4);color:#ffc107;border-radius:4px;cursor:pointer}.proj-settings-toggle{font-size:.8em;padding:3px 10px;background:#64b4ff1a;border:1px solid rgba(100,180,255,.3);color:#64b4ffe6;border-radius:4px;cursor:pointer}.proj-settings-toggle:hover{background:#64b4ff33}.proj-settings-panel{background:#0b130cf2;border:1px solid rgba(100,180,255,.2);border-radius:8px;padding:12px 16px;margin-bottom:12px;max-width:520px}.proj-settings-warning{font-size:.8em;color:#f5a623;background:#f5a6231a;border:1px solid rgba(245,166,35,.3);border-radius:4px;padding:6px 10px;margin-bottom:10px}.proj-settings-formula{font-size:.75em;color:#fff6;font-style:italic;margin-bottom:10px;padding:4px 8px;background:#ffffff08;border-radius:4px;border-left:2px solid rgba(100,180,255,.3)}.proj-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;font-size:.9em;color:#64b4ffe6}.proj-settings-reset{font-size:.75em;padding:2px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--text-dim);border-radius:3px;cursor:pointer}.proj-settings-reset:hover{background:#ffffff1a}.proj-weight-row{margin-bottom:8px}.proj-weight-row:last-child{margin-bottom:0}.proj-weight-label{display:flex;justify-content:space-between;font-size:.82em;margin-bottom:2px}.proj-weight-value{font-weight:700;color:#fffc;min-width:36px;text-align:right}.proj-weight-row input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.proj-weight-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#64b4ffe6;border-radius:50%;cursor:pointer}.proj-weight-desc{font-size:.7em;color:#ffffff4d;margin-top:1px}.controls-bar{margin-bottom:10px;gap:12px}.controls-spacer{flex:1}.week-legend-playoff-swatch{display:inline-block;width:10px;height:10px;border:1px solid rgba(255,255,255,.15);border-top:2px solid rgba(255,193,7,.6);border-radius:2px}.filter-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px;align-items:center}.filter-controls input{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:6px;font-size:.9em;width:250px}.filter-controls select{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:6px;font-size:.9em}.filter-controls input:focus,.filter-controls select:focus{outline:none;border-color:var(--accent)}.player-count{color:var(--text-dim);font-size:.85em}.age-slider-group{display:flex;align-items:center;gap:6px}.age-slider-label{font-size:.85em;font-variant-numeric:tabular-nums;min-width:20px;text-align:center}.dual-range{position:relative;width:120px;height:20px}.dual-range input[type=range]{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;z-index:2}.dual-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:6px;height:18px;border-radius:2px;background:var(--text);cursor:pointer;border:none}.dual-range input[type=range]::-moz-range-thumb{pointer-events:all;width:6px;height:18px;border-radius:2px;background:var(--text);cursor:pointer;border:none}.dual-range-track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:var(--border);border-radius:2px;z-index:0}.dual-range-fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:var(--accent);border-radius:2px;z-index:1}.team-abbrev{color:var(--text-dim);font-size:.8em;margin-left:4px}.player-age{color:var(--text-dim);font-size:.8em;margin-left:6px}.overflow-x{overflow-x:auto}#players{overflow:visible;margin-top:0}#my-team,#trade-analyzer,#matchups,#start-sit,#power-rankings,#activity,#trade-finder,#matchup-preview,#playoff-race,#data-catalog{margin-top:0}#players .section-body{overflow-x:auto}#players thead th{position:sticky;top:0;z-index:2}.player-row td{white-space:nowrap;padding-top:2px;padding-bottom:2px;vertical-align:middle}.player-row td.week-cell{vertical-align:top}.player-row:hover td{background:#22c55e14}.pts-detail-cell{position:relative;cursor:default}.pts-tooltip{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:10;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:.85em;white-space:nowrap;box-shadow:0 4px 12px #0006}.pts-detail-cell:hover .pts-tooltip{display:block}.week-proj-cell{position:relative;cursor:default;overflow:visible}.week-proj-cell:hover{z-index:15}.week-proj-cell:hover .pts-tooltip.proj-tooltip{display:block}.pts-tooltip.proj-tooltip{top:auto;bottom:100%;left:auto;right:0;transform:none;text-align:left}.scroll-top-btn{position:fixed;bottom:24px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1em;cursor:pointer;box-shadow:0 2px 8px #0006;z-index:50;opacity:.8;transition:opacity .2s}.scroll-top-btn:hover{opacity:1}.clickable{cursor:pointer}.clickable:hover{opacity:.7}.filter-tag{display:inline-flex;align-items:center;gap:4px;background:var(--surface2);border:1px solid var(--border);color:var(--accent);padding:4px 10px;border-radius:6px;font-size:.85em;cursor:pointer}.filter-tag:hover{background:#22c55e26}.filter-clear{background:#ff6b6b26;color:var(--loss);border:1px solid rgba(255,107,107,.3);padding:4px 10px;border-radius:6px;font-size:.85em;cursor:pointer;font-family:inherit}.filter-clear:hover{background:#ff6b6b40}.section-full{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:20px;padding-right:20px;max-width:100vw}.player-detail td{padding:8px 12px 12px;border-bottom:1px solid var(--border);background:var(--surface2)}.detail-stats{display:flex;gap:24px;padding-left:4px;font-size:.85em}.detail-stats .detail-item{display:flex;gap:6px;align-items:center}.detail-stats .detail-label{color:var(--text-dim)}.detail-stats .detail-value{font-weight:600;font-variant-numeric:tabular-nums}.player-row.expanded>td{background:#22c55e0f}.player-detail td{animation:detailSlideIn .15s ease-out}@keyframes detailSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.expand-chevron{display:inline-block;font-size:.7em;color:var(--text-dim);transition:transform .15s ease;margin-right:4px}.expand-chevron.open{transform:rotate(90deg)}.week-empty{color:var(--text-dim)}footer{text-align:center;padding:30px;color:var(--text-dim);font-size:.85em;border-top:1px solid var(--border);margin-top:40px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:40px;width:480px;flex-shrink:0}.login-tagline{font-size:.78em;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:#00ff4180;text-align:center;margin-top:2px;margin-bottom:20px}.login-title{font-size:2em;margin-bottom:0;text-align:center;line-height:1}.login-roster{color:#fff}.login-reign-wrap{position:relative;display:inline-block;padding-top:62px}.login-crown{position:absolute;top:4px;left:0;width:100%;height:54px;object-fit:contain}.login-reign-text{color:var(--accent)}.login-cursor{color:#00ff4180;text-shadow:0 0 6px rgba(0,255,65,.3);animation:cursor-blink 1s step-start infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.login-card .subtitle{color:var(--text-dim);text-align:center;margin-top:16px;margin-bottom:30px;font-size:.9em;font-weight:500;text-shadow:0 0 8px rgba(74,222,128,.2)}.form-group{margin-bottom:16px}.form-group label{display:block;color:var(--text-dim);font-size:.85em;margin-bottom:4px}.form-group input,.form-group select{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:0;font-size:.95em;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.espn-s2-input{width:100%;background:var(--surface2);border:1px solid var(--border);color:var(--accent2);padding:10px 14px;border-radius:0;font-size:.78em;font-family:monospace;resize:none;word-break:break-all;line-height:1.5}.espn-s2-input:focus{outline:none;border-color:var(--accent)}.login-btn{width:100%;padding:12px;background:var(--accent);color:#000;border:none;border-radius:0;font-size:1em;font-weight:700;cursor:pointer;margin-top:8px;font-family:inherit;letter-spacing:.08em;text-transform:uppercase;transition:letter-spacing .15s,transform .1s,background .1s;position:relative;overflow:hidden}.login-btn:hover:not(:disabled){background:#00ff41;color:#000;letter-spacing:.18em;transform:translateY(-1px);box-shadow:0 4px 16px #00ff4159}.login-btn:active:not(:disabled){transform:translateY(2px);background:#0c3;animation:btn-strike .12s step-start 1}.login-btn:disabled{opacity:.5;cursor:not-allowed}.source-selector{display:flex;gap:8px;margin-bottom:20px}.source-btn{flex:1;padding:9px 0;border-radius:0;border:1px solid rgba(0,255,65,.15);background:transparent;color:var(--text-dim);font-size:.9em;font-family:monospace;font-weight:500;cursor:pointer;position:relative;transition:all .15s;letter-spacing:.05em}.source-btn:hover:not(.source-btn-active){border-color:#00ff4159;color:var(--text)}.source-btn-active{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,255,65,.04) 4px,rgba(0,255,65,.04) 8px);border-color:#00ff418c;color:var(--accent)}.source-btn-active:before{content:"[ "}.source-btn-active:after{content:" ]"}.source-btn-disabled{opacity:.4;cursor:not-allowed;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0}.source-coming-soon{font-size:.7em;font-weight:400;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.field-error{color:var(--loss);font-size:.8em;margin-top:4px}.field-optional{font-size:.8em;opacity:.5;font-weight:400}.error-message{color:var(--loss);font-size:.85em;margin-top:12px;text-align:center}.error-message--maintenance{color:#f5c842;background:transparent;border:2px dashed rgba(245,200,66,.55);border-radius:0;padding:10px 14px;display:flex;align-items:flex-start;gap:10px;animation:maintenance-pulse 2.5s ease-in-out infinite}.cookie-help-link{display:block;width:100%;background:none;border:none;color:var(--accent);font-size:.82em;text-align:center;cursor:pointer;padding:6px 0 10px;font-family:inherit;opacity:.85;transition:opacity .15s}.cookie-help-link:hover{opacity:1;text-decoration:underline}.demo-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:#fff3;font-size:.72em;letter-spacing:.08em;text-transform:uppercase}.demo-divider:before,.demo-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.demo-btn{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.demo-btn:hover{background:#ffffff0f;border-color:#fff3}.demo-btn-label{font-size:.85em;font-weight:700;letter-spacing:.04em;color:#ffffffbf}.demo-btn-sub{font-size:.68em;color:#ffffff4d;letter-spacing:.02em}.login-wrapper{display:flex;align-items:flex-start}.yahoo-connect-panel{padding:8px 0 4px}.yahoo-connect-desc{font-size:.78em;color:#ffffff73;margin:0 0 16px;line-height:1.5}.yahoo-connect-btn{width:100%;padding:12px 16px;background:#6600cc26;border:1px solid rgba(102,0,204,.5);border-radius:4px;color:#a855f7;font-family:var(--font-mono);font-size:.85em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.yahoo-connect-btn:hover:not(:disabled){background:#6600cc40;border-color:#a855f7b3}.yahoo-connect-btn:disabled{opacity:.5;cursor:not-allowed}.yahoo-league-list{display:flex;flex-direction:column;gap:6px}.yahoo-league-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;font-family:var(--font-mono);text-align:left;transition:background .15s,border-color .15s}.yahoo-league-item:hover{background:#a855f71a;border-color:#a855f766}.yahoo-league-name{font-size:.82em;color:#ffffffd9;font-weight:600}.yahoo-league-meta{font-size:.7em;color:#ffffff59}.cookie-help-wrap{overflow:hidden;width:0;flex-shrink:0;transition:width .35s cubic-bezier(.4,0,.2,1)}.cookie-help-wrap--open{width:420px}.cookie-help-panel{width:400px;margin-left:20px;background:var(--surface);border:1px solid var(--border);border-left:1px solid rgba(0,255,65,.3);border-radius:12px;padding:28px;max-height:90vh;overflow-y:auto;box-shadow:-4px 0 24px #00ff410f}.cookie-help-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cookie-help-header h2{color:var(--accent);font-size:1.15em;margin:0}.cookie-help-close{background:none;border:none;color:var(--text-dim);font-size:1.5em;cursor:pointer;line-height:1;padding:0 4px;font-family:inherit}.cookie-help-close:hover{color:var(--text)}.cookie-help-intro{color:var(--text-dim);font-size:.9em;margin-bottom:12px;line-height:1.5}.cookie-help-trust{font-size:.82em;line-height:1.55;color:var(--text-dim);background:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:6px;padding:10px 12px;margin-bottom:20px}.cookie-help-trust-icon{font-family:monospace;font-size:.9em;color:var(--accent);font-weight:700;letter-spacing:.04em}.cookie-help-steps{color:var(--text);font-size:.9em;line-height:1.7;padding-left:0;margin-bottom:20px;list-style:none;counter-reset:step-counter}.cookie-help-steps>li{counter-increment:step-counter;padding-left:48px;position:relative;margin-bottom:8px}.cookie-help-steps>li:before{content:"[" counter(step-counter,decimal-leading-zero) "]";position:absolute;left:0;color:var(--accent);opacity:.65;font-family:monospace;font-size:.82em;font-weight:700;top:.18em;letter-spacing:.02em}.cookie-help-steps ul{margin:6px 0 0;padding-left:18px}.cookie-help-steps kbd{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.85em;font-family:monospace}.cookie-help-steps code{background:#060e06;border:1px solid rgba(0,255,65,.2);border-radius:0;padding:2px 7px;font-size:.85em;color:var(--accent2);font-family:monospace}.cookie-help-note{color:var(--text-dim);font-size:.8em;border-top:1px solid var(--border);padding-top:14px;margin:0;font-style:italic}.login-container{position:relative}.login-container:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 3px);pointer-events:none;z-index:100}.login-container:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none;z-index:99}.input-row{display:flex;align-items:center;gap:10px}.input-row--top{align-items:flex-start}.input-prompt{color:var(--accent);opacity:.6;font-family:monospace;font-size:1em;flex-shrink:0;-webkit-user-select:none;user-select:none;width:14px;text-align:center;padding-top:2px}.input-row--top .input-prompt{padding-top:12px}.input-prompt-wrap{flex:1;background:var(--surface2);border:1px solid var(--border);transition:border-color .1s,box-shadow .1s}.input-prompt-wrap:focus-within{border-color:var(--accent);background:#4ade800a;box-shadow:0 0 0 1px #00ff4133,inset 0 0 12px #00ff410f;animation:input-flicker 1.6s step-start infinite}.input-prompt-wrap input,.input-prompt-wrap textarea{border:none!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;caret-color:var(--accent);width:100%}.input-prompt-wrap input:focus,.input-prompt-wrap textarea:focus{outline:none}@keyframes input-flicker{0%,82%,to{border-color:var(--accent);box-shadow:0 0 0 1px #00ff4133,inset 0 0 10px #00ff410a}85%{border-color:#00ff414d;box-shadow:none}88%{border-color:var(--accent)}91%{border-color:#00ff4140;box-shadow:none}94%{border-color:var(--accent)}}@keyframes glitch-crown{0%,88%,to{transform:none;filter:none}89%{transform:translate(-4px) skew(-2deg);filter:drop-shadow(4px 0 rgba(255,0,64,.9))}90%{transform:translate(4px) skew(2deg);filter:drop-shadow(-4px 0 rgba(0,255,65,.9))}91%{transform:translate(-2px);filter:drop-shadow(3px 0 rgba(0,80,255,.85)) drop-shadow(-3px 0 rgba(255,0,64,.85))}92%{transform:translate(2px);filter:none}94%{transform:translate(-1px);filter:drop-shadow(-2px 0 rgba(0,255,65,.5))}96%{transform:none;filter:none}}@keyframes blink-icon{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes maintenance-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes btn-strike{0%,to{opacity:1}50%{opacity:.4}}.link-arrow{display:inline-block;transition:transform .2s cubic-bezier(.25,.46,.45,.94)}.cookie-help-link:hover .link-arrow{transform:translate(5px)}.login-crown{animation:glitch-crown 6s linear infinite}.maintenance-icon{font-weight:900;font-size:1.1em;flex-shrink:0;animation:blink-icon .9s step-start infinite}.data-warnings{display:flex;flex-direction:column;gap:4px;padding:8px 16px 0}.data-warning-banner{display:flex;align-items:center;justify-content:space-between;background:#ffb4001f;border:1px solid rgba(255,180,0,.35);border-radius:6px;padding:8px 12px;font-size:.85em;color:#c8901a}.data-warning-dismiss{background:none;border:none;color:#c8901a;cursor:pointer;font-size:.9em;padding:0 0 0 12px;opacity:.7;flex-shrink:0}.data-warning-dismiss:hover{opacity:1}.data-info-banner{background:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:6px;padding:8px 12px;font-size:.85em;color:var(--text-dim);margin:8px 16px 0}.data-info-banner--demo{background:#ffd7000f;border-color:#ffd70033;color:#ffd700d9}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.error-boundary-card{background:var(--surface);border:1px solid rgba(255,107,107,.3);border-radius:12px;padding:36px 40px;max-width:480px;width:100%;display:flex;flex-direction:column;gap:12px}.error-boundary-title{color:var(--loss);font-size:1.2em;font-weight:700}.error-boundary-message{color:var(--text-dim);font-size:.9em;word-break:break-word}.error-boundary-actions{display:flex;gap:10px;margin-top:8px}.error-boundary-btn-primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:.9em;cursor:pointer;font-family:inherit}.error-boundary-btn-primary:hover{opacity:.85}.error-boundary-btn-secondary{background:none;color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:8px 18px;font-size:.9em;cursor:pointer;font-family:inherit}.error-boundary-btn-secondary:hover{color:var(--text);border-color:var(--text-dim)}@keyframes term-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes term-flicker{0%{opacity:1}92%{opacity:1}93%{opacity:.85}94%{opacity:1}98%{opacity:1}99%{opacity:.9}to{opacity:1}}.term-screen{min-height:100vh;background:#020c02;display:flex;align-items:center;justify-content:center;font-family:Courier New,Courier,monospace;position:relative;overflow:hidden;animation:term-flicker 8s infinite}.term-scanlines{position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.018) 2px,rgba(0,255,65,.018) 4px);pointer-events:none;z-index:1}.term-panel{position:relative;z-index:2;width:100%;max-width:600px;padding:0 20px}.term-header{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(0,255,65,.15)}.term-label-dim{font-size:.58em;color:#00ff4159;letter-spacing:.22em;margin-bottom:6px}.term-title{font-size:1.75em;font-weight:700;color:#00ff41;letter-spacing:.06em;text-shadow:0 0 24px rgba(0,255,65,.5),0 0 60px rgba(0,255,65,.15);margin-bottom:5px}.term-label-dimmer{font-size:.56em;color:#00ff414d;letter-spacing:.16em}.term-cursor{display:inline-block;animation:term-blink 1s step-end infinite;color:#00ff41}.term-log{background:#000;border:1px solid rgba(0,255,65,.12);border-radius:3px;padding:12px 16px;min-height:188px;margin-bottom:16px}.term-log-line{font-size:.73em;color:#00ff41;margin-bottom:7px;letter-spacing:.02em;display:flex;gap:8px;align-items:baseline;line-height:1.3}.term-ts{color:#00ff4161;flex-shrink:0;font-size:.88em;min-width:64px}.term-arrow{color:#00ff4166;flex-shrink:0}.term-progress-block{margin-bottom:14px}.term-progress-header{display:flex;justify-content:space-between;font-size:.6em;color:#00ff4173;letter-spacing:.1em;margin-bottom:6px}.term-progress-bar{font-size:.7em;color:#00ff41;font-weight:700;letter-spacing:.02em;text-shadow:0 0 8px rgba(0,255,65,.4);word-break:break-all}.term-footer{display:flex;justify-content:space-between;font-size:.56em;color:#00ff4140;letter-spacing:.1em;border-top:1px solid rgba(0,255,65,.1);padding-top:10px}@keyframes term-boot-flash{0%{background:#020c02}15%{background:#00ff411f}35%{background:#020c02}50%{background:#00ff4112}to{background:#020c02}}@keyframes term-pulse-glow{0%{text-shadow:0 0 20px rgba(0,255,65,.55),0 0 50px rgba(0,255,65,.2)}to{text-shadow:0 0 40px rgba(0,255,65,1),0 0 90px rgba(0,255,65,.5),0 0 140px rgba(0,255,65,.15)}}@keyframes term-bar-complete{0%{color:#00ff41}50%{color:#afffb8}to{color:#00ff41}}.term-screen--complete{animation:term-boot-flash .6s ease-out,term-flicker 8s infinite .6s}.term-title--complete{color:#00ff41;animation:term-pulse-glow .9s ease-in-out infinite alternate}.term-panel--complete .term-log{border-color:#00ff4147;box-shadow:0 0 18px #00ff4114 inset}.term-progress-bar--complete{animation:term-bar-complete .7s ease-in-out infinite alternate}@keyframes spin{to{transform:rotate(360deg)}}.header-actions{display:flex;align-items:center;gap:12px}.sidebar-version{font-size:.65em;color:#fff3;text-align:center;padding-bottom:6px}.sidebar-footer-btn{display:flex;align-items:center;gap:10px;width:100%;justify-content:flex-start;padding:9px 16px;border-radius:0;font-size:.85em;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:background .15s,color .15s;white-space:nowrap}.sidebar-footer-btn:disabled{opacity:.5;cursor:default}.sidebar-refresh-btn{background:#ffffff0a;color:var(--text-dim)}.sidebar-refresh-btn:hover:not(:disabled){background:#ffffff17;color:var(--text)}.sidebar-logout-btn{background:#ff6b6b14;color:#ff6b6bbf;border-top:1px solid rgba(0,255,65,.25)}.sidebar-logout-btn:hover{background:#ff6b6b2e;color:#ff6b6b}.sidebar-footer-btn .spinning{animation:spin .8s linear infinite}.ta-mode-toggle{display:flex;background:#ffffff0f;border-radius:8px;padding:3px;gap:2px}.ta-mode-btn{background:transparent;border:none;color:#ffffff80;font-family:inherit;font-size:.8em;font-weight:600;padding:5px 14px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.ta-mode-btn:hover{color:#fffc}.ta-mode-btn-active{background:var(--surface2);color:var(--accent);box-shadow:0 1px 4px #0000004d}.ta-you-badge{flex-shrink:0;background:#00c9a726;border:1px solid rgba(0,201,167,.4);color:var(--accent);font-size:.72em;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:4px;text-transform:uppercase}.ta-teams-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}.ta-team-col{display:flex;flex-direction:column;gap:12px}.ta-team-select{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:6px;font-size:.95em;font-family:inherit;width:100%}.ta-team-select:focus{outline:none;border-color:var(--accent)}.ta-balance-meter{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ta-balance-label{font-size:.78em;font-weight:700;color:var(--text-dim);white-space:nowrap;min-width:40px}.ta-balance-label-right{text-align:right}.ta-balance-track{flex:1;position:relative;height:8px;background:#14231680;border-radius:4px;overflow:visible}.ta-balance-center-line{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:#fff3;transform:translate(-50%)}.ta-balance-indicator{position:absolute;top:50%;width:14px;height:14px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #22c55e99;transition:left .4s cubic-bezier(.4,0,.2,1)}.ta-balance-tag{font-size:.8em;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:80px;text-align:right}.ta-delta-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:42px;gap:8px}.ta-delta-vs{font-size:1.4em;color:var(--text-dim);line-height:1}.ta-delta-value{font-size:.8em;font-weight:700;font-variant-numeric:tabular-nums;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);letter-spacing:.02em}.ta-needs-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ta-needs-badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ta-need-badge{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:6px;text-align:center;cursor:default;transition:transform .15s}.ta-need-badge:hover{transform:translateY(-1px)}.ta-need-badge-pos{font-size:.7em;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em}.ta-need-badge-level{font-size:.72em;font-weight:700;letter-spacing:.03em}.ta-need-badge-rank{font-size:.7em;color:#fff6;font-variant-numeric:tabular-nums}.ta-player-picker{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.ta-picker-search{width:100%;background:var(--surface);border:none;border-bottom:1px solid var(--border);color:var(--text);padding:8px 14px;font-size:.9em;font-family:inherit}.ta-picker-search:focus{outline:none;background:#22c55e0d}.ta-selected-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border)}.ta-chip{display:inline-flex;align-items:center;gap:4px;background:#22c55e26;border:1px solid rgba(34,197,94,.3);color:var(--accent);padding:3px 10px;border-radius:14px;font-size:.8em;cursor:pointer;white-space:nowrap}.ta-chip:hover{background:#22c55e40}.ta-roster-header{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.75em;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);background:#1423164d}.ta-rh-check{width:16px;flex-shrink:0}.ta-rh-player{flex:1;padding-left:44px}.ta-rh-age{width:28px;text-align:right}.ta-rh-value{width:52px;text-align:right}.ta-rh-avg{width:42px;text-align:right}.ta-roster-row{display:flex;align-items:center;gap:8px;padding:4px 12px;cursor:pointer;font-size:.85em;border-bottom:1px solid rgba(20,35,22,.3)}.ta-roster-row:hover{background:#22c55e0d}.ta-roster-row-selected{background:#22c55e1a}.ta-roster-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:4px;border:2px solid rgba(34,197,94,.35);background:#0a140ccc;flex-shrink:0;cursor:pointer;position:relative;transition:border-color .15s,background .15s,box-shadow .15s}.ta-roster-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #22c55e80}.ta-roster-row input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:2px solid #0a140c;border-top:none;border-left:none;transform:rotate(45deg)}.ta-roster-row:hover input[type=checkbox]:not(:checked){border-color:#22c55eb3;background:#22c55e14}.ta-roster-row .player-headshot{width:32px;height:32px;flex-shrink:0;margin-right:4px}.ta-roster-player-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.ta-player-name{font-weight:600;color:#ffffffeb;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.ta-player-sub{font-size:.76em;color:var(--text-dim);display:flex;align-items:center;gap:4px;white-space:nowrap}.ta-injury-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;cursor:help}.ta-roster-age{color:var(--text-dim);font-size:.9em;width:28px;text-align:right;flex-shrink:0}.ta-roster-value-wrap{width:52px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ta-roster-value{font-weight:600;font-size:.88em;font-variant-numeric:tabular-nums;color:var(--text)}.ta-value-bar-bg{width:100%;height:3px;background:#ffffff14;border-radius:2px;overflow:hidden}.ta-value-bar-fill{height:100%;background:var(--accent);border-radius:2px;opacity:.6}.ta-roster-avg{color:var(--text-dim);width:42px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.ta-roster-divider{text-align:center;color:var(--text-dim);font-size:.8em;padding:4px;background:#1423164d}.ta-draft-picker{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.ta-draft-header{font-size:.8em;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;padding:8px 14px;border-bottom:1px solid var(--border)}.ta-draft-fallback-note{font-size:.85em;color:var(--text-dim);font-weight:400;font-style:italic;text-transform:none;letter-spacing:0}.ta-draft-adjustment-note{font-size:.75em;color:var(--text-dim);font-weight:400;font-style:italic;text-transform:none;letter-spacing:0;margin-top:2px}.ta-draft-round{border-bottom:1px solid rgba(20,35,22,.3)}.ta-draft-round:last-child{border-bottom:none}.ta-draft-round-header{padding:6px 14px;font-size:.85em;cursor:pointer;color:var(--text)}.ta-draft-round-header:hover{background:#22c55e0d}.ta-draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:4px;padding:4px 12px 8px}.ta-draft-btn{display:flex;flex-direction:column;align-items:center;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-family:inherit;font-size:.8em}.ta-draft-btn:hover{border-color:var(--accent)}.ta-draft-btn-selected{background:#22c55e26;border-color:var(--accent);color:var(--accent)}.ta-draft-btn-label{font-weight:600}.ta-draft-btn-value{color:var(--text-dim);font-size:.85em}.ktc-unavailable-badge{display:inline-flex;align-items:center;gap:6px;background:#ffb4001a;border:1px solid rgba(255,180,0,.35);border-radius:6px;padding:6px 12px;font-size:.82em;color:#f5c842;margin-bottom:14px}.ktc-unavailable-icon{font-size:1em;line-height:1}.ta-validation-error{margin:12px 0;padding:8px 12px;background:#dc35451f;border:1px solid rgba(220,53,69,.4);border-radius:4px;color:#f87171;font-size:.85em}.ta-results{margin-top:30px;border-top:2px solid var(--accent);padding-top:20px}.ta-results-header{font-size:1.2em;font-weight:700;color:var(--accent);margin-bottom:20px}.ta-result-section{margin-bottom:25px}.ta-result-section-title{font-size:1em;font-weight:600;color:var(--text);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.ta-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.ta-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ta-card h4{color:var(--accent);font-size:.9em;margin-bottom:10px}.ta-card-detail{font-size:.85em;color:var(--text);line-height:1.6}.ta-value-bar-row{margin-bottom:8px}.ta-value-bar-labels{display:flex;justify-content:space-between;font-size:.8em;margin-bottom:4px}.ta-value-bar-diverging{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#14231666}.ta-value-bar-side{flex:1;position:relative}.ta-value-bar-side-left{display:flex;justify-content:flex-end}.ta-value-bar-side-right{display:flex;justify-content:flex-start}.ta-value-bar-fill-left{height:100%;border-radius:4px 0 0 4px;opacity:.7}.ta-value-bar-fill-right{height:100%;border-radius:0 4px 4px 0;opacity:.7}.ta-value-bar-center{width:2px;background:var(--text-dim);flex-shrink:0;opacity:.5}.ta-roster-impact{display:flex;flex-direction:column;gap:20px}.ta-roster-team h3{font-size:1em;color:var(--accent);margin-bottom:10px}.ta-lineup-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start}.ta-lineup-transition{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:48px;gap:4px}.ta-lineup-transition-line{width:1px;flex:1;background:linear-gradient(to bottom,transparent,rgba(34,197,94,.3),transparent);min-height:16px}.ta-lineup-transition-arrow{font-size:1.4em;color:var(--accent);line-height:1;filter:drop-shadow(0 0 6px rgba(34,197,94,.5))}.ta-lineup-table{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:clip}.ta-lineup-table table{font-size:.8em;width:100%}.ta-lineup-sticky-head th{position:sticky;top:0;background:var(--surface2);z-index:2}.ta-lineup-table-title{padding:8px 12px;font-size:.85em;color:var(--accent);background:#22c55e14!important;text-align:left}.ta-lineup-sticky-head tr:last-child th{font-size:.8em;padding:5px 8px;border-bottom:1px solid var(--border);background:var(--surface2)}.ta-lineup-table td{padding:4px 8px}.ta-lineup-row-gained{background:#22c55e1a}.ta-lineup-row-gained td{border-left:2px solid rgba(34,197,94,.4)}.ta-lineup-row-gained td:first-child{border-left:none}.ta-lineup-row-lost{background:#ff6b6b1a}.ta-lineup-row-lost td{border-left:2px solid rgba(255,107,107,.35)}.ta-lineup-row-lost td:first-child{border-left:none}.ta-change-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.72em;font-weight:800;letter-spacing:.04em;margin-left:6px;vertical-align:middle}.ta-change-tag-new{background:#22c55e33;color:var(--win);border:1px solid rgba(34,197,94,.4)}.ta-change-tag-out{background:#ff6b6b2e;color:var(--loss);border:1px solid rgba(255,107,107,.4)}.ta-delta-pill{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.88em;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}.ta-delta-pill-pos{background:var(--win);color:#071a0f}.ta-delta-pill-neg{background:var(--loss);color:#fff}.ta-delta-pill-neu{background:#ffffff1a;color:var(--text-dim)}.ta-lineup-summary{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:10px 8px;font-size:.9em}.ta-lineup-summary-sep:before{content:"|";margin-right:10px;color:var(--text-dim);opacity:.5}.ta-info-icon{font-size:.8em;color:var(--text-dim);cursor:help;vertical-align:middle;opacity:.7;transition:opacity .15s}.ta-info-icon:hover{opacity:1;color:var(--accent)}.pr-pos-block{margin-bottom:48px}.pr-pos-block-header{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.pr-pos-name{font-size:1.4em;margin-right:12px;font-weight:700;color:var(--accent);letter-spacing:.01em}.pr-pos-avg-val{font-size:1em;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.pr-pos-avg-label{font-size:.88em;color:var(--text-dim)}.pr-pos-table{border-collapse:collapse;width:auto}.pr-row-label{position:sticky;left:0;z-index:2;padding:5px 10px 5px 8px;font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);white-space:nowrap;text-align:left}.pr-cell{padding:5px 6px;text-align:center;white-space:nowrap;font-size:.82em;font-variant-numeric:tabular-nums;min-width:48px;border-left:1px solid rgba(255,255,255,.04)}.pr-cell-team{padding:5px;vertical-align:middle}.pr-cell-team .nfl-team-logo{display:block;width:100%;height:auto;margin:0}.pr-cell-rank{border:none;color:var(--text-dim);font-size:.72em}.pr-pos-table td{border-bottom:none}.pr-pos-table tr:not(:last-child) td{border-bottom:1px solid var(--border)}.ta-positional-breakdown{overflow-x:auto}.ta-positional-breakdown table{font-size:.85em}.ta-verdict-panels{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}.ta-grade-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:16px}.ta-grade-card-header{display:flex;gap:14px;align-items:center;margin-bottom:14px}.ta-grade-circle{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.6em;font-weight:800;border:3px solid;border-radius:50%}.ta-grade-info{flex:1;min-width:0}.ta-grade-team-name{font-size:.9em;font-weight:700;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ta-grade-summary{font-size:.85em;color:var(--text-dim);margin-top:2px}.ta-grade-factors{display:flex;flex-direction:column;gap:8px}.ta-factor-row{display:flex;align-items:center;gap:8px}.ta-factor-label{width:100px;flex-shrink:0}.ta-factor-category{display:block;font-size:.8em;font-weight:600;color:var(--text)}.ta-factor-desc{display:block;font-size:.7em;color:var(--text-dim)}.ta-factor-bar-bg{flex:1;height:6px;background:#14231699;border-radius:3px;overflow:hidden}.ta-factor-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.ta-factor-score{width:24px;text-align:right;font-size:.75em;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.ta-fairness-meter{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;min-width:140px}.ta-fairness-label{font-size:.85em;font-weight:600;color:var(--text);text-align:center;margin-bottom:12px;line-height:1.3}.ta-fairness-bar-container{width:100%}.ta-fairness-bar{position:relative;height:8px;background:linear-gradient(to right,var(--accent),var(--surface2) 45%,var(--surface2) 55%,var(--accent2));border-radius:4px;overflow:visible}.ta-fairness-center{position:absolute;left:50%;top:-2px;width:2px;height:12px;background:var(--text-dim);transform:translate(-50%);opacity:.5}.ta-fairness-indicator{position:absolute;top:-4px;width:14px;height:14px;background:var(--text);border:2px solid var(--surface);border-radius:50%;transform:translate(-50%);box-shadow:0 1px 4px #0006;transition:left .3s ease}.ta-fairness-team-labels{display:flex;justify-content:space-between;font-size:.75em;font-weight:700;margin-top:6px}.ta-sticky-footer{position:sticky;bottom:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#0a140cd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(34,197,94,.25);box-shadow:0 -4px 20px #0006}.ta-footer-side{display:flex;align-items:center;gap:10px;min-width:120px}.ta-footer-side-right{justify-content:flex-end}.ta-footer-abbrev{font-size:.9em;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.ta-footer-net{font-size:1.05em;font-weight:700;font-variant-numeric:tabular-nums}.ta-footer-center{display:flex;flex-direction:column;align-items:center;gap:2px}.ta-footer-label{font-size:.7em;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.ta-footer-fairness{font-size:.88em;font-weight:700;color:var(--text)}.heat-cell-inner{position:relative;overflow:hidden;border-radius:3px;padding:2px 0}.heat-bar{position:absolute;top:0;left:0;bottom:0;border-radius:3px;pointer-events:none;z-index:0}.heat-value{position:relative;z-index:1}.heat-rank-badge{position:absolute;top:1px;right:2px;font-size:.6em;font-weight:700;color:#ffffff4d;line-height:1;z-index:2;pointer-events:none}.consensus-cell{position:relative;cursor:default}.consensus-tooltip{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:10;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:.85em;white-space:nowrap;box-shadow:0 4px 12px #0006;min-width:180px}.consensus-cell:hover .consensus-tooltip{display:block}.consensus-tooltip-title{font-weight:700;color:var(--accent);margin-bottom:6px;font-size:.9em}.consensus-tooltip-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0;font-size:.9em}.consensus-tooltip-row .label{color:var(--text-dim)}.consensus-tooltip-row .value{font-weight:600;font-variant-numeric:tabular-nums}.export-csv-btn{display:inline-flex;align-items:center;gap:5px;background:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:8px;color:var(--accent);cursor:pointer;font-size:.72rem;font-weight:700;padding:4px 10px;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;transition:background .15s,border-color .15s}.export-csv-btn:hover{background:#22c55e24;border-color:#22c55e80}.week-range-picker{display:flex;align-items:center;gap:6px;font-size:.8rem}.week-range-picker label{color:var(--accent);font-weight:700;white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem}.week-range-picker select{background:#22c55e1a;border:1px solid rgba(34,197,94,.35);border-radius:5px;color:var(--accent);cursor:pointer;font-size:.8rem;font-weight:600;padding:3px 6px;outline:none}.week-range-picker select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #22c55e33}.week-range-picker select option{background:#0b130c;color:#e0e0e0}.week-range-picker span{color:#22c55e80;font-weight:700}.week-range-reset{background:none;border:none;color:#22c55e73;cursor:pointer;font-size:.75rem;line-height:1;padding:2px 4px}.week-range-reset:hover{color:var(--accent)}.sparkline-cell{padding:0;position:relative;overflow:hidden;border-left:1px solid rgba(28,45,30,.4)}.sparkline-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.power-rank-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 4px 16px;margin-bottom:8px;-webkit-overflow-scrolling:touch}.power-rank-strip::-webkit-scrollbar{height:4px}.power-rank-strip::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.power-card{flex:0 0 auto;min-width:150px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;scroll-snap-align:start;display:flex;flex-direction:column;gap:4px}.power-card-rank{font-size:.75em;font-weight:800;color:var(--accent);letter-spacing:.03em}.power-card-name{font-size:.85em;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.power-card-record{font-size:.75em;color:var(--text-dim)}.power-card-score-bar{height:6px;background:#14231699;border-radius:3px;overflow:hidden;margin-top:2px}.power-card-score-fill{height:100%;border-radius:3px;background:var(--accent);opacity:.7}.power-card-score{font-size:.75em;font-weight:700;color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.mobile-nav-toggle,.mobile-nav-backdrop{display:none}@media (max-width: 767px){.mobile-nav-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--surface);border:none;border-bottom:1px solid var(--border);color:var(--accent);font-size:.9em;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.mobile-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99}.sidebar{position:fixed;top:0;left:0;height:100vh;width:220px!important;z-index:100;transform:translate(-100%);transition:transform .25s ease,box-shadow .25s ease;overflow-y:auto}.sidebar:not(.sidebar--collapsed){transform:translate(0);box-shadow:4px 0 32px #000000b3}.sidebar--collapsed{transform:translate(-100%)}.main-content{margin-left:0;width:100%}.sidebar--collapsed .sidebar-brand,.sidebar--collapsed .sidebar-header,.sidebar--collapsed .sidebar-league-name,.sidebar--collapsed .sidebar-league-meta{display:block}.sidebar--collapsed .sidebar-nav button,.sidebar--collapsed .sidebar-footer-btn{justify-content:flex-start;padding:9px 16px}.sidebar--collapsed .sidebar-collapse-btn{display:flex}.page-content{padding:0}.section{margin:0 0 1px;border-radius:0;border-left:none;border-right:none}.section-header{padding:14px 16px;font-size:1.1em}.section-body{padding:12px 16px}.login-card{width:100%;padding:28px 20px}.login-container{padding:32px 16px 16px;align-items:flex-start}.term-screen{padding:16px}.term-panel{padding:0 4px;max-width:100%}.term-panel,.term-log,.term-progress-bar,.term-footer{font-size:.72em}.term-header{margin-bottom:12px}.filter-controls{gap:6px}.filter-controls input,.filter-controls select{flex:1 1 120px;min-width:100px}.section-body{overflow-x:auto}#players .section-body{overflow-x:auto;padding:8px 0}.week-col-header,.week-proj-cell,.week-actual-cell{display:none}.week-col-header:last-child{display:table-cell}#players table td,#players table th{padding:6px}#standings .col-hide-mobile{display:none}.ta-teams-row{grid-template-columns:1fr}.ta-mode-toggle{flex-wrap:wrap}.sb-matchup-grid{grid-template-columns:1fr!important}.power-rank-strip{gap:8px}.power-card{min-width:130px}.data-warnings{padding:0 12px}.scroll-top-btn{bottom:16px;right:16px}body{font-size:15px}}@media (min-width: 768px) and (max-width: 1023px){.page-content{padding:28px}.section{margin:24px 0}}@media (max-width: 767px){.awards-card-grid{grid-template-columns:1fr!important}.awards-hero-wrap,.awards-category-wrap{width:100%!important}}@media (max-width: 767px){.section-body[style*=maxWidth]{max-width:none!important}.h2h-table{font-size:.72em}.mp-teams-row{flex-direction:column;gap:12px}.page-content{padding:12px}}
