:root{--bg:#121214;--panel:#1c1c1f;--panel-2:#262629;--line:#39393e;--ink:#f4f3ef;--muted:#adaeb4;--lime:#91dbb2;--coral:#ffa195;--amber:#e8c47e;--shadow:0 16px 50px #0003;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:dark;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}input,select{max-width:100%;color:var(--ink);background:#161619;border:1px solid var(--line);border-radius:6px;padding:10px 12px}select{padding-right:25px}input::placeholder{color:#93939e}h1,h2,h3,h4,p{margin:0}button{transition:background .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(1.1)}.topbar{height:86px;padding:0 36px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:#19191c}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:16px;font-weight:750;line-height:1.2}.brand:hover{text-decoration:none}.brand-icon{display:grid;place-items:center;width:40px;height:40px;background:var(--lime);color:#202023;font-size:31px;font-weight:950;letter-spacing:-4px;padding-right:4px;border-radius:11px}.brand-sub{display:block;font-size:10px;letter-spacing:3.5px;font-weight:500;margin-top:4px;color:var(--muted)}.top-meta{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:12px}.private-label{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.vertical-rule{height:28px;width:1px;background:var(--line)}.owner{display:flex;align-items:center;gap:10px}.avatar{border:1px solid #55555c;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:10px;color:var(--lime)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #45454c;border-radius:6px;padding:10px 14px;background:#29292d;font-size:12px;white-space:nowrap}.button.primary{color:#161618;background:var(--lime);font-weight:700;border-color:var(--lime)}.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;font-size:23px;line-height:1;padding:5px 9px;border-radius:4px}.text-button{border:0;background:transparent;padding:5px 8px;color:#dddde2;font-size:11px}.text-button:hover{text-decoration:underline}main{max-width:1920px;margin:auto;padding:34px 36px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);font-weight:650}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:6px;vertical-align:1px}h1{font-size:clamp(32px,3.1vw,46px);letter-spacing:-1.8px;line-height:1.15;margin:10px 0;font-weight:550}h1>span{color:var(--lime)}.intro p{color:var(--muted);font-size:13px}.season-label{text-align:center;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-bottom:10px}.week-control{display:flex;align-items:center;gap:8px;background:var(--panel);padding:4px;border:1px solid var(--line);border-radius:6px}.week-control select{background:transparent;border:none;font-size:17px;font-weight:650}.data-status{border-top:1px solid var(--line);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.data-status>div{display:flex;gap:8px}.demo-status{color:var(--amber)}.summary-strip{display:grid;grid-template-columns:1fr 1.2fr 1.2fr 1.7fr;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:20px 26px;margin-bottom:24px;gap:20px}.summary-strip>div{display:flex;align-items:center;gap:15px;border-right:1px solid var(--line)}.summary-num{font-variant-numeric:tabular-nums;font-size:31px;font-weight:500;letter-spacing:-1.2px}.summary-strip>div>span:last-child{font-size:12px}.subtext{display:block;margin-top:5px;color:var(--muted);font-size:10px}.summary-strip>p{align-self:center;font-size:12px;line-height:1.9;color:var(--muted);padding-left:12px}.summary-strip strong{font-weight:500;color:#dddde2}.green{color:var(--lime)!important}.coral{color:var(--coral)!important}.amber{color:var(--amber)!important}.muted{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:26px;align-items:start}.workspace.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.main-board{min-width:0}.impact-panel{background:linear-gradient(115deg,#252529,#212124);border:1px solid #414148;border-radius:9px;box-shadow:var(--shadow);position:relative;overflow:hidden}.impact-top{display:flex;align-items:center;gap:18px;padding:22px 24px 20px}.impact-top h2{font-size:25px;letter-spacing:-.7px;font-weight:550;margin:8px 0;display:flex;align-items:center;gap:10px}.impact-top p{font-size:10px;color:var(--muted)}.dot-sep{padding:0 6px}.impact-top>.icon-button{align-self:flex-start;color:var(--muted);font-size:20px;margin-left:auto;padding:0 2px}.impact-counts{display:flex;align-items:flex-start;gap:24px;margin-left:auto}.impact-counts>div{text-align:center;min-width:66px}.impact-counts strong{font-size:29px;font-weight:550;display:block;font-variant-numeric:tabular-nums}.impact-counts span{display:block;font-size:9px;color:#c7c7ce;margin-top:4px;white-space:nowrap}.impact-counts small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.impact-bottom{display:flex;align-items:center;gap:15px;padding:16px 24px;background:#1b1b1e;border-top:1px solid #414148}.event-control{min-width:140px;max-width:200px}.event-control label{display:block;font-size:9px;color:var(--muted);margin-bottom:6px}.event-control select{background:transparent;border:0;padding:0 15px 0 0;font-size:11px;max-width:190px}.impact-leagues{display:flex;flex:1;justify-content:space-around;gap:8px}.impact-league{text-align:center;opacity:.5}.impact-league.involved{opacity:1}.impact-league>span{font-size:8px;color:var(--muted);white-space:nowrap}.impact-league strong{display:block;font-size:17px;font-weight:550;margin-top:6px;font-variant-numeric:tabular-nums}.net-total{border-left:1px solid #414148;padding-left:18px;text-align:right}.net-total>span{font-size:8px;color:var(--muted);white-space:nowrap}.net-total strong{display:block;font-size:25px;font-weight:550;line-height:1.1;margin-top:5px;font-variant-numeric:tabular-nums}.impact-note{padding:11px 24px;border-top:1px solid #38383e;font-size:9px;line-height:1.6;color:var(--muted)}.impact-note>span{display:block}.impact-note summary{display:inline-block;font-size:9px;color:#c5c5cc;margin-top:4px;text-decoration:underline;text-underline-offset:3px}.breakdown{padding-top:8px}.breakdown p+p{margin-top:6px}.empty-impact{padding:28px}.empty-impact h2{margin:12px 0}.empty-impact p{font-size:12px;color:var(--muted)}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:28px 0 19px}.board-toolbar h2{font-size:19px;font-weight:550;letter-spacing:-.3px}.board-toolbar h2>span{font-size:10px;display:inline-block;border:1px solid var(--line);border-radius:5px;padding:3px 6px;vertical-align:3px;margin-left:5px;color:var(--muted)}.board-toolbar p{font-size:9px;margin-top:7px;color:var(--muted)}.board-actions{display:flex;gap:10px}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:#151517}.segmented button{border:0;background:transparent;border-radius:4px;font-size:11px;padding:9px 12px;color:var(--muted)}.segmented button.active{background:var(--lime);color:#161618;font-weight:650}.league-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.league-card{border:1px solid var(--line);border-radius:8px;background:#1d1d20;overflow:hidden;min-width:0}.league-card.highlight{border-color:#97979e;box-shadow:0 0 0 1px #a0a0a018}.league-head{padding:17px 15px 15px;min-height:106px}.league-overline{display:flex;align-items:center;justify-content:space-between;gap:3px;color:var(--muted);font-size:8px;font-weight:650;letter-spacing:.7px}.sleeper-mark{color:#b8b8bf;margin:0 2px 0 6px;font-size:13px}.source-badge{color:#91dbb2;font-size:6px;letter-spacing:.6px}.source-badge.warn{color:var(--coral)}.league-head h3{font-size:15px;letter-spacing:-.25px;font-weight:600;line-height:1.3;margin:10px 0 5px;min-height:38px}.league-head p{font-size:9px;color:var(--muted);line-height:1.4;min-height:13px}.matchup{padding:17px 15px 0;background:#252528;border-top:1px solid var(--line)}.team-label>span{font-size:7px;letter-spacing:1px;color:#b8b8bf;display:block}.team-label strong{display:block;font-size:10px;font-weight:500;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scores{display:flex;align-items:baseline;gap:8px;margin:11px 0 8px;font-variant-numeric:tabular-nums}.scores>strong{font-size:28px;letter-spacing:-1px;font-weight:550}.scores>span{font-size:8px;color:var(--muted)}.scores>b{font-size:18px;letter-spacing:-.5px;color:#b7b7be;font-weight:450}.matchup-bottom{display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:9px;color:var(--muted)}.matchup-bottom>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:68%}.matchup-bottom>span:last-child{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.score-rule{height:2px;margin-top:15px}.score-rule.ahead{background:var(--lime)}.score-rule.behind{background:var(--coral)}.roster-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 10px;font-size:7px;letter-spacing:1px;color:var(--muted)}.player-row{width:100%;border:0;border-bottom:1px solid #39393e99;background:transparent;display:flex;gap:7px;align-items:center;text-align:left;padding:10px 12px;min-height:60px}.player-row:hover{background:#2c2c31}.player-row.selected{background:#34343a;box-shadow:inset 3px 0 var(--lime)}.slot{color:#b4b4bc;font-size:7px;width:24px;flex-shrink:0;font-weight:650}.player-info{min-width:0;flex:1}.player-info strong{font-size:10px;font-weight:550;display:block;line-height:1.4}.player-info small{font-size:8px;color:var(--muted);display:block;margin-top:4px;line-height:1.3}.player-info small>span{padding:0 2px}.player-points{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;min-width:29px;text-align:right}.rookie-mark{font-size:7px;color:var(--amber);padding:1px 3px;border:1px solid #685b36;border-radius:2px;display:inline-block;line-height:1.2;margin-left:3px;font-weight:500}.bench{background:#171719}.bench>summary{display:flex;justify-content:space-between;padding:14px 13px 11px;font-size:7px;letter-spacing:.8px;color:#a8a8b0;list-style:none;border-bottom:1px solid var(--line)}.bench-row{color:#b1b1b9}.bench-row .player-points{color:#a5a5ad}.bench-row.selected{color:var(--ink)}.league-foot{padding:14px 13px;color:var(--muted);font-size:8px;line-height:1.6;display:flex;flex-direction:column;gap:5px}.league-foot summary{color:#bebec6;font-size:8px;margin-top:3px}.scoring-list{margin-top:10px}.scoring-list>div{display:flex;justify-content:space-between;gap:10px;font-size:9px}.scoring-list b{font-weight:500}.error-text{color:var(--coral)}.warning-text{color:var(--amber)}.board-footer{display:flex;justify-content:space-between;gap:12px;font-size:8px;line-height:1.7;color:var(--muted);padding:15px 0 25px}.sidebar{border:1px solid var(--line);border-radius:9px;background:#202023;padding:21px 18px 0;min-width:0;position:static}.sidebar-title{display:flex;align-items:center;justify-content:space-between}.sidebar-title .icon-button{font-size:16px;color:var(--muted)}.sidebar h2{font-size:23px;font-weight:500;letter-spacing:-.7px;line-height:1.2;margin:13px 0 8px}.sidebar-intro{font-size:10px;color:var(--muted);margin-bottom:23px}.label{display:block;font-size:7px;letter-spacing:1.1px;color:var(--muted);margin-bottom:8px}.sidebar select{width:100%;font-size:10px;background:#19191c}.position-filter{display:flex;gap:3px;margin:15px 0 12px}.position-filter button{flex:1;border:1px solid transparent;background:transparent;font-size:9px;color:var(--muted);padding:7px 1px;border-radius:4px}.position-filter button.active{border-color:#777780;background:#34343a;color:var(--lime)}.rookie-toggle{display:flex;align-items:center;font-size:10px;color:#c6c6cd;gap:7px;margin-bottom:15px;cursor:pointer}.rookie-toggle input{accent-color:var(--lime);height:12px;width:12px}.rookie-toggle .rookie-mark{margin-left:auto}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:5px;margin-bottom:18px;background:#161619;padding:0 10px;color:var(--muted)}.search-box>span{font-size:20px}.search-box input{border:0;background:transparent;padding:10px 0;font-size:10px;width:100%;outline-offset:1px}.coverage{font-size:9px;line-height:1.65;color:var(--muted);margin:10px 0 16px}.leader-heading{display:flex;justify-content:space-between;font-size:7px;color:var(--muted);letter-spacing:.7px;padding:12px 0 10px;border-top:1px solid var(--line)}.leader-list{overflow:visible;margin:0 -18px}.leader{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:9px;text-align:left;padding:16px 17px}.leader:hover{background:#2b2b30}.leader.selected{background:#34343a;box-shadow:inset 3px 0 var(--lime)}.rank{color:#9898a3;font-size:9px;margin-top:3px;min-width:14px;font-variant-numeric:tabular-nums}.leader-name{flex:1;min-width:0}.leader-name strong{font-size:11px;line-height:1.4;font-weight:550;display:block}.leader-name small{font-size:8px;color:var(--muted);display:block;margin-top:5px}.leader-points{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.5}.exposure-chips{display:flex;gap:9px;font-size:7px;margin-top:10px;color:var(--muted)}.sidebar-key{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);border-top:1px solid var(--line);padding:15px 0}.position{border-radius:3px;display:inline-block;font-size:9px;font-weight:600;letter-spacing:0;padding:4px 6px;line-height:1.2;color:var(--lime);background:#343438}.position.qb{color:#e6a999;background:#52372f}.position.wr{color:#a3c3e6;background:#2b3e48}.position.te{color:#d5bd80;background:#4e452a}.position.def,.position.k{color:#c0b2d4;background:#40374c}.site-footer{border-top:1px solid var(--line);padding:21px 36px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:24px}.site-footer>span:first-child{letter-spacing:1px;font-weight:650;color:#c9c9d0}.site-footer b{font-weight:400;color:var(--muted);margin-left:6px}.column-empty{min-height:455px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.column-empty>span{font-size:36px;color:var(--muted);margin-bottom:18px}.column-empty h4{font-size:14px}.column-empty p{font-size:11px;line-height:1.8;color:var(--muted);margin:15px 0 20px}.filter-empty{text-align:center;padding:35px 20px}.filter-empty>span{font-size:28px;color:var(--muted)}.filter-empty h3{font-size:13px;margin:12px 0}.filter-empty p{color:var(--muted);font-size:11px;line-height:1.7;margin-bottom:20px}.empty-text{padding:20px 14px;color:var(--muted);font-size:11px;line-height:1.8}dialog{width:min(650px,calc(100% - 32px));border:1px solid #666670;border-radius:12px;padding:30px;background:#202023;color:var(--ink);max-height:90vh;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#09090bcc;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h2{font-size:25px;letter-spacing:-.6px;font-weight:550;margin-top:10px}dialog p{font-size:12px;line-height:1.8;color:var(--muted)}dialog form{margin-top:22px}dialog label{display:block;font-size:12px;margin-bottom:10px}.form-row{display:flex;gap:8px}.form-row input:first-child{flex:1;min-width:0}.form-row input[type=number]{width:85px}.setup-message{margin:15px 0;color:var(--amber);font-size:12px;line-height:1.7}dialog h3{font-size:15px;font-weight:550;margin-bottom:8px}.slot-choice{display:flex;gap:13px;align-items:center}.slot-choice>span{color:var(--muted);font-size:11px}.slot-choice select{flex:1}.connection-facts{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.connection-facts p{margin-top:10px;font-size:11px}.connection-facts a{font-size:11px;color:var(--lime);display:inline-block;margin-top:15px}#slots-form>p{margin-bottom:15px}#slots-form>.button{margin-top:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:15px 20px;border:1px solid #81818d;border-radius:7px;background:#303036;box-shadow:var(--shadow);color:var(--ink);opacity:0;pointer-events:none;transition:.2s;max-width:90vw;width:max-content;font-size:12px;z-index:9}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{padding:50px;color:var(--muted)}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 315px;gap:28px}.league-grid{gap:16px}.player-info strong{font-size:12px}.player-points{font-size:13px}.player-row{padding:11px 16px;gap:10px}.league-head h3{font-size:18px}.league-head{padding:19px 18px}.scores>strong{font-size:34px}.scores>b{font-size:23px}.slot{font-size:8px}.league-overline{font-size:9px}.source-badge{font-size:7px}}
@media(max-width:1250px){main{padding:25px 24px 0}.topbar{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 255px;gap:17px}.league-grid{gap:8px}.league-head{padding:15px 10px}.league-head h3{font-size:13px}.league-overline{font-size:7px}.source-badge{font-size:5px}.player-row{gap:5px;padding:10px 8px}.slot{width:21px;font-size:6px}.player-info strong{font-size:9px}.player-points{font-size:10px}.scores>strong{font-size:23px}.scores>b{font-size:15px}.matchup{padding:15px 10px 0}.impact-top{padding:20px 18px}.impact-top h2{font-size:21px}.impact-counts{gap:14px}.impact-counts>div{min-width:55px}.impact-counts span{font-size:8px}.impact-bottom{padding:16px 18px;gap:12px}.impact-league strong{font-size:14px}.impact-league>span{font-size:6px}.event-control{min-width:115px}.event-control select{font-size:9px}.net-total{padding-left:10px}.net-total>span{font-size:7px}.net-total strong{font-size:22px}.impact-note{padding:10px 18px}.summary-strip{padding:17px 20px;grid-template-columns:1fr 1.2fr 1.4fr 1.4fr}.summary-strip>p{font-size:10px;padding-left:0}.summary-strip>div{gap:10px}.summary-num{font-size:26px}.summary-strip>div>span:last-child{font-size:11px}.subtext{font-size:8px}.sidebar{padding:18px 14px 0}.sidebar h2{font-size:21px}.leader-list{margin:0 -14px}.leader{padding:14px 12px;gap:7px}.leader-name strong{font-size:10px}.leader-points{font-size:12px}.board-toolbar h2{font-size:16px}.board-toolbar p{font-size:8px}.segmented button{font-size:10px;padding:8px 10px}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;order:2;width:100%}.leader-list{display:grid;grid-template-columns:repeat(3,1fr)}.sidebar h2{font-size:24px}.sidebar-intro{margin-bottom:15px}.position-filter{max-width:400px}.leader{border-right:1px solid var(--line)}.sidebar select{max-width:400px;display:block}.rookie-toggle{max-width:400px}.search-box{max-width:400px}.league-head h3{font-size:16px}.league-overline{font-size:8px}.source-badge{font-size:6px}.player-info strong{font-size:11px}.player-points{font-size:12px}.player-row{padding:11px 12px}.impact-league strong{font-size:19px}.impact-league>span{font-size:8px}.event-control select{font-size:11px}.event-control{min-width:175px}.summary-strip{grid-template-columns:1fr 1.2fr 1.4fr}.summary-strip>p{display:none}.summary-strip>div:last-of-type{border-right:0}.private-label{display:none}.impact-counts{gap:24px}.board-toolbar p{font-size:10px}}
@media(max-width:680px){.topbar{height:70px;padding:0 16px;gap:12px}.top-meta{display:none}.topbar>.button{margin-left:auto;font-size:10px;padding:9px 11px}.brand{font-size:13px}.brand-sub{font-size:8px}.brand-icon{width:34px;height:34px;font-size:27px}.intro{align-items:flex-start}.intro h1{font-size:31px;letter-spacing:-1.2px;max-width:260px}.intro p{font-size:10px;line-height:1.7;max-width:225px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro-actions{padding-top:6px}.week-control{gap:0}.week-control select{font-size:12px;padding:7px 10px 7px 5px;width:83px}.week-control .icon-button{font-size:17px;padding:4px}.season-label{font-size:7px}.data-status{align-items:flex-start;font-size:8px;line-height:1.8}.data-status>div{gap:0;flex-shrink:0;flex-direction:column;align-items:flex-end}.text-button{font-size:8px;padding:0 0 5px}main{padding:23px 16px 0}.summary-strip{padding:15px 11px;gap:9px;margin-bottom:20px}.summary-strip>div{display:block;text-align:center}.summary-num{font-size:23px;display:block;margin-bottom:5px}.summary-strip>div>span:last-child{font-size:9px}.subtext{font-size:7px;line-height:1.5}.impact-top{padding:18px 15px;flex-wrap:wrap;gap:12px}.impact-top>div:first-child{width:calc(100% - 26px)}.impact-top>.icon-button{position:absolute;top:18px;right:15px}.impact-top h2{font-size:24px}.impact-counts{width:100%;margin-left:0;justify-content:space-between;gap:15px;border-top:1px solid #414148;padding-top:13px}.impact-counts>div{text-align:left}.impact-counts strong{font-size:25px}.impact-counts span{font-size:9px}.impact-bottom{padding:15px;flex-wrap:wrap;gap:16px}.event-control{min-width:0;flex:1;max-width:none}.event-control select{font-size:10px}.impact-leagues{order:3;flex-basis:100%;justify-content:space-between;padding-top:12px;border-top:1px solid #414148}.impact-league>span{font-size:8px}.impact-league strong{font-size:20px}.net-total>span{font-size:8px}.net-total strong{font-size:24px}.impact-note{font-size:8px;padding:10px 15px}.board-toolbar{display:block;padding:24px 0 15px}.board-toolbar h2{font-size:18px}.board-toolbar p{font-size:9px}.board-actions{margin-top:14px;justify-content:space-between}.segmented button{padding:9px 18px;font-size:11px}.board-scroll{overflow-x:auto;scroll-snap-type:x proximity;margin-right:-16px;padding-right:16px;padding-bottom:10px}.league-grid{grid-template-columns:repeat(4,240px);gap:12px;width:max-content}.league-card{scroll-snap-align:start}.player-row{min-height:64px}.player-info strong{font-size:12px}.player-points{font-size:13px}.slot{font-size:8px;width:25px}.league-head{padding:17px 15px}.league-head h3{font-size:17px;min-height:43px}.league-overline{font-size:9px}.source-badge{font-size:7px}.matchup{padding:17px 15px 0}.scores>strong{font-size:33px}.scores>b{font-size:23px}.board-footer{font-size:8px;display:block;padding-top:3px}.board-footer>span{display:block;margin-top:5px}.leader-list{display:block;}.leader{padding:16px}.leader-name strong{font-size:12px}.leader-points{font-size:15px}.sidebar{padding:20px 18px 0}.leader-list{margin:0 -18px}.site-footer{padding:20px 16px;font-size:8px;gap:10px}.site-footer>span:nth-child(2){display:none}dialog{padding:23px 20px}.modal-head h2{font-size:23px}.form-row{flex-wrap:wrap}.form-row input:first-child{flex-basis:65%}.form-row input[type=number]{flex:1}.form-row button{width:100%}.connection-facts p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:1251px) and (max-width:1599px){.player-info strong{font-size:12px}.player-points{font-size:12px}.slot{font-size:8px}.player-info small{font-size:9px}.source-badge{font-size:7px}.league-overline{font-size:9px}.league-head h3{font-size:16px}.leader-name strong{font-size:12px}}

/* Neutral surfaces; colour carries position, league identity or scoring meaning. */
:root{--positive:#91dbb2;--negative:#ffa195;--accent:#eeece5;--qb:#c2aeff;--rb:#85d3ef;--wr:#edc67e;--te:#efa5cd;--k:#c5c5ce;--def:#9cbbff}
.brand-icon,.button.primary{background:var(--accent);color:#19191c;border-color:var(--accent)}
.avatar{color:var(--ink)}
h1>span{color:var(--ink)}
.impact-panel{background:var(--panel-2);border-color:var(--line)}
.impact-bottom{background:var(--panel)}
.segmented button.active{background:#e9e7e1;color:#19191c}
.segmented button[data-side="me"].active{box-shadow:inset 0 -3px var(--positive)}
.segmented button[data-side="opponent"].active{box-shadow:inset 0 -3px var(--negative)}
.player-row.selected,.leader.selected{background:#34343a;box-shadow:inset 3px 0 #efede8}
.player-row.selected .player-info strong,.leader.selected .leader-name strong{color:#fff}
.league-tone-0{--league-accent:#91bfff}.league-tone-1{--league-accent:#c1a5f4}.league-tone-2{--league-accent:#e5b57e}.league-tone-3{--league-accent:#86cbbf}
.league-card{border-top:3px solid var(--league-accent)}
.league-card.highlight{border-color:var(--league-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--league-accent) 20%,transparent)}
.league-number{display:inline-grid;place-items:center;min-width:23px;height:22px;border-radius:5px;color:var(--league-accent);background:color-mix(in srgb,var(--league-accent) 13%,transparent);font-size:10px;font-weight:750;letter-spacing:.4px}
.league-head h3{color:var(--ink)}
.impact-league{border-top:2px solid var(--league-accent);padding:9px 7px 0;min-width:62px}
.impact-league>span{color:#cacad2;font-size:9px}
.impact-counts>div{padding:8px 10px;border-radius:7px;background:#303035;min-width:85px}
.impact-counts>div:first-child{background:#91dbb210}.impact-counts>div:nth-child(2){background:#ffa19510}
.slot{display:inline-grid;place-items:center;border-radius:4px;padding:5px 2px;width:30px;min-height:24px;font-size:8px;font-weight:750;letter-spacing:.2px;background:#35353b;color:#cbcad1}
.position,.slot{--position-colour:var(--k)}
.position.qb,.slot.qb,[data-position="QB"]{--position-colour:var(--qb)}
.position.rb,.slot.rb,[data-position="RB"]{--position-colour:var(--rb)}
.position.wr,.slot.wr,[data-position="WR"]{--position-colour:var(--wr)}
.position.te,.slot.te,[data-position="TE"]{--position-colour:var(--te)}
.position.k,.slot.k,[data-position="K"]{--position-colour:var(--k)}
.position.def,.slot.def,[data-position="DEF"]{--position-colour:var(--def)}
.position,.slot.qb,.slot.rb,.slot.wr,.slot.te,.slot.k,.slot.def{color:var(--position-colour);background:color-mix(in srgb,var(--position-colour) 14%,transparent);border:1px solid color-mix(in srgb,var(--position-colour) 25%,transparent)}
.player-info .position{font-size:8px;padding:2px 4px;margin-left:3px}
.leader-name .position{font-size:8px;padding:3px 5px;margin-right:4px}
.position-filter button[data-position]{color:var(--position-colour,var(--ink));font-weight:650}
.position-filter button.active{color:var(--position-colour,var(--ink));background:color-mix(in srgb,var(--position-colour,#ddd) 14%,transparent);border-color:var(--position-colour,#a5a5af)}
.exposure-chips{gap:5px;font-size:8px;flex-wrap:wrap}
.exposure-chips>span{padding:3px 5px;border-radius:4px;background:#35353c}
.exposure-chips>.green{background:#91dbb211}.exposure-chips>.coral{background:#ffa19511}
.bench>summary{border-top:1px dashed #62626b;background:#202024;color:#c1c1c9}
.bench-row .slot{background:#303035;border:1px solid #49494f;color:#b2b2bc}
.bench-row .player-info .position{opacity:.8}
.roster-heading{color:#c6c6ce}.source-badge{letter-spacing:.3px}
.rookie-mark{background:#e8c47e12;border-color:#746447;color:var(--amber)}
.scan-key{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:var(--muted);font-size:10px;margin:-3px 0 14px}
.scan-key span{display:inline-flex;align-items:center;gap:5px}.scan-key i{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.scan-key span:last-child{margin-left:auto;font-size:9px}
.connection-facts a{color:var(--ink)}
@media(max-width:1250px){.slot{width:26px;font-size:7px}.impact-counts>div{min-width:66px;padding:8px 6px}.impact-league{min-width:45px;padding:8px 2px 0}.impact-league>span{font-size:7px}}
@media(max-width:680px){.slot{width:30px;font-size:8px}.impact-counts>div{min-width:85px;flex:1}.impact-counts{gap:8px}.impact-league{min-width:58px}.impact-league>span{font-size:8px}.scan-key{font-size:9px;gap:10px;margin-top:0}.scan-key span:last-child{margin-left:0;flex-basis:100%}.board-actions{flex-wrap:wrap}}
.position.qb,.position.rb,.position.wr,.position.te,.position.k,.position.def{color:var(--position-colour);background:color-mix(in srgb,var(--position-colour) 14%,transparent);border-color:color-mix(in srgb,var(--position-colour) 25%,transparent)}
/* Keep the leaderboard's week and game-day controls beside the player filters. */
.leader-week-controls{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-bottom:8px}
.leader-week-controls>div{min-width:0}.leader-week-controls select{width:100%;font-size:11px;padding-left:9px}
.game-day-note{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 20px}
.game-day-note a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){.leader-week-controls{max-width:400px}}

.game-day-note.error-text{color:var(--coral)}

/* Collapsing controls keeps the active filters and brings rankings to the top. */
.controls-toggle{display:block;width:100%;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);padding:8px 10px;text-align:left;font-size:11px;margin:-8px 0 18px}
#leader-controls[hidden]{display:none}
.controls-collapsed .controls-toggle{margin-bottom:8px}
.compact-filters{font-size:10px;line-height:1.5;color:var(--muted);margin-bottom:12px}

/* Game phase uses the same badge colours everywhere, on neutral surfaces. */
.player-score,.leader-score{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.game-status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:9px;line-height:1.3;font-weight:600;padding:3px 5px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:4px;color:#b6bac2;background:color-mix(in srgb,currentColor 7%,transparent)}
.game-status i{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.status-live{color:#91dbb2}.status-upcoming{color:#e8c47e}.status-finished{color:#b6bac2}
.status-finished i{border-radius:1px}.status-upcoming i{background:transparent;border:1px solid currentColor}
.game-status-key{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.game-status-source{font-size:9px;color:var(--muted);line-height:1.5;margin:0 0 14px}
@media(min-width:681px) and (max-width:1250px){.player-score .game-status{font-size:8px;padding:3px;gap:3px}.player-score .game-status i{width:4px;height:4px}}

/* Put the box-score lines across the unused width below each player. */
.player-row,.leader{flex-wrap:wrap}
.player-stat-line{flex-basis:100%;min-width:0;display:block;font-size:9px;line-height:1.6;color:#d0d0d5;font-weight:450;font-variant-numeric:tabular-nums;margin-top:1px}
.player-stat-line>span{display:block;white-space:normal}
.player-stat-line .stats-pending{color:var(--muted);font-size:8px}
.player-stat-line .stats-stale{color:var(--amber);font-size:8px}
@media(min-width:1600px){.player-stat-line{font-size:10px}}
@media(max-width:680px){.player-stat-line{font-size:10px}}

/* Give game-window options enough room to remain readable. */
.leader-week-controls{grid-template-columns:1fr}

.leader-view-control{margin:0 0 18px}.leader-view-control select{width:100%;font-size:11px}
.league-leaderboard-button{font:inherit;color:inherit;background:none;border:0;padding:0;text-align:left;line-height:inherit;border-bottom:1px dotted var(--muted)}
.league-leaderboard-button[aria-pressed=true]{color:var(--league-colour,var(--ink));border-bottom-style:solid}
select:disabled{opacity:.8;cursor:default}

.view-hint{font-size:10px;color:var(--muted);line-height:1.5;margin-top:8px}

.view-scoring{font-size:11px;color:var(--muted);line-height:1.5;margin-top:9px}.view-scoring strong{color:var(--ink);font-weight:550}

.win-probability{padding-bottom:14px;border-top:1px solid var(--line);margin-top:16px;padding-top:13px}
.win-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.win-heading>span{font-size:8px;letter-spacing:1px;color:var(--muted);line-height:1.6}.win-heading>strong{font-size:28px;font-variant-numeric:tabular-nums}
.win-meter{display:block;width:100%;height:5px;margin:8px 0 12px;border-radius:5px;overflow:hidden}.chance-against{fill:var(--coral)}.chance-for{fill:var(--lime)}
.win-projected{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.win-projected b{color:var(--ink);font-weight:600}
.win-probability p{font-size:9px;line-height:1.6;color:var(--muted);margin:6px 0 0}.win-probability summary{font-size:9px;color:var(--muted);cursor:pointer;margin-top:8px}.win-probability details p{font-size:10px}.win-probability.unavailable strong{color:var(--muted)}
