:root{color-scheme:light;--bg: #f5f5f5;--card-bg: #ffffff;--text: #222222;--text-secondary: #666666;--text-muted: #888888;--text-faint: #999999;--border: #eeeeee;--border-strong: #dddddd;--hover-bg: #f0f0f0;--hover-soft: #faf8ff;--hover-strong: #e0e0e0;--primary: #5e17eb;--primary-soft: #f3efff;--link: #1a6dd4;--link-hover: #155ab0;--success: #28a745;--success-soft-bg: #d4edda;--success-soft-text: #155724;--danger: #dc3545;--danger-soft: #fdecee;--danger-soft-bg: #f8d7da;--danger-soft-text: #721c24;--warning: #fd7e14;--warn-soft-bg: #fff3cd;--warn-soft-text: #856404;--neutral-soft-bg: #e2e3e5;--neutral-soft-text: #383d41;--score-strong: #000000;--live-bg: #f0f0f0;--poss-bg: #e3f5e3;--redzone-bg: #fdecec;--nav-blur-bg: rgba(243, 239, 255, .94)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #000000;--card-bg: #0a0a0a;--text: #e6e6e8;--text-secondary: #9e9ea8;--text-muted: #9a9aa3;--text-faint: #7d7d87;--border: #1e1e1e;--border-strong: #2a2a2a;--hover-bg: #1a1a1a;--hover-soft: #111111;--hover-strong: #222222;--primary: #7b3df0;--primary-soft: #1a1033;--link: #4d94e0;--link-hover: #6aa8e8;--success: #3ddc6a;--success-soft-bg: #0f1f14;--success-soft-text: #6fe08b;--danger: #ff5f6e;--danger-soft: #2a1216;--danger-soft-bg: #241418;--danger-soft-text: #ff9ba3;--warning: #ffa94d;--warn-soft-bg: #211e0a;--warn-soft-text: #ffcb6b;--neutral-soft-bg: #1a1a1a;--neutral-soft-text: #b8b8c0;--score-strong: #f2f2f4;--live-bg: #141414;--poss-bg: #0a1a0f;--redzone-bg: #1f0f12;--nav-blur-bg: rgba(42, 33, 64, .94)}}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--card-bg: #0a0a0a;--text: #e6e6e8;--text-secondary: #9e9ea8;--text-muted: #9a9aa3;--text-faint: #7d7d87;--border: #1e1e1e;--border-strong: #2a2a2a;--hover-bg: #1a1a1a;--hover-soft: #111111;--hover-strong: #222222;--primary: #7b3df0;--primary-soft: #1a1033;--link: #4d94e0;--link-hover: #6aa8e8;--success: #3ddc6a;--success-soft-bg: #0f1f14;--success-soft-text: #6fe08b;--danger: #ff5f6e;--danger-soft: #2a1216;--danger-soft-bg: #241418;--danger-soft-text: #ff9ba3;--warning: #ffa94d;--warn-soft-bg: #211e0a;--warn-soft-text: #ffcb6b;--neutral-soft-bg: #1a1a1a;--neutral-soft-text: #b8b8c0;--score-strong: #f2f2f4;--live-bg: #141414;--poss-bg: #0a1a0f;--redzone-bg: #1f0f12;--nav-blur-bg: rgba(42, 33, 64, .94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.nav{background:var(--primary);color:#fff;display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;position:sticky;top:0;z-index:40}.nav a{color:#d6c9ff;font-size:.9rem}.nav a:hover{color:#fff;text-decoration:none}.nav a.active{color:#fff;font-weight:700}.nav .brand{font-weight:700;font-size:1.05rem;color:#fff;margin-right:auto;display:flex;align-items:center;gap:.5rem}.brand-logo{height:26px;width:26px;border-radius:6px}.nav .user{font-size:.8rem;color:#c7b6ff}.top-nav-links{display:none;align-items:center;gap:1.25rem}.top-nav-right{display:none;align-items:center;gap:.85rem}.top-hamburger{color:#fff}.icon-btn{background:none;border:none;color:#fff;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;padding:0}.icon-btn:hover{background:#ffffff26}.icon-btn.active{background:#ffffff38;color:#fff}.container{max-width:none;padding:.75rem 0;--lz-nav-h: 43.6px}.container>h1,.container>p,.container>.chips,.container>.sub-nav,.container>.flex,.container>.flex-between{padding-left:1rem;padding-right:1rem}.app-main{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px));min-height:100vh}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-around;width:calc(100% - 1.25rem);max-width:520px;background:var(--nav-blur-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:22px;box-shadow:0 6px 24px #0000002e;padding:.4rem .25rem;z-index:50;gap:2px}.bottom-nav-item{flex:1;position:relative;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:.45rem 0;border-radius:14px;background:none;border:none;cursor:pointer}.bottom-nav-item.active{color:var(--primary);background:#5e17eb1a}.bottom-nav-item:active{transform:scale(.94)}.bottom-nav-menu{font-size:0}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .bottom-nav{border:1px solid rgba(123,61,240,.16);box-shadow:0 6px 24px #00000080,0 0 20px #7b3df03d,0 0 40px #7b3df01f}}:root[data-theme=dark] .bottom-nav{border:1px solid rgba(123,61,240,.16);box-shadow:0 6px 24px #00000080,0 0 20px #7b3df03d,0 0 40px #7b3df01f}.bottom-nav-badge{position:absolute;top:.05rem;right:.15rem;min-width:1rem;line-height:1;padding:.15rem .3rem;font-size:.62rem}.top-nav-badge{margin-left:.3rem;min-width:1rem;line-height:1.2;padding:.12rem .3rem;font-size:.62rem;vertical-align:1px}.chips{display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;padding:.6rem 0;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{height:6px}.chips::-webkit-scrollbar-track{background:transparent}.chips::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.chips::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.chips>.chip{flex-shrink:0}.chip{padding:.4rem .9rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--card-bg);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer}.chip:hover:not(:disabled){background:var(--hover-bg)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.lz-header{margin:-.75rem 0 1rem;padding:.75rem 1rem .5rem;box-shadow:0 1px 0 var(--border-strong)}.lz-zone{display:flex;flex-direction:column;height:calc(100vh - var(--lz-nav-h, 43.6px));height:calc(100dvh - var(--lz-nav-h, 43.6px));min-height:0}.lz-zone .lz-header{flex-shrink:0}.lz-zone .lz-header .league-alerts{margin-bottom:.6rem}.lz-feed-tab{flex:1;min-height:0;display:flex}.lz-tab-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:90;display:none}.drawer-overlay.open{display:block;animation:drawer-fade-in .2s ease}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--card-bg);z-index:91;display:none;flex-direction:column;padding:1rem;box-shadow:-8px 0 28px #00000024}.drawer.open{display:flex;animation:drawer-slide-in .25s ease}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.drawer-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--primary)}.drawer-header .icon-btn{color:var(--text-secondary)}.drawer-header .icon-btn:hover{background:var(--hover-bg)}.drawer-user{color:var(--text-muted);font-size:.85rem;margin-bottom:.4rem;padding:0 .75rem}.drawer-bottom{margin-top:auto}.drawer-list{display:flex;flex-direction:column;gap:.15rem}.drawer-item{display:flex;align-items:center;gap:.85rem;padding:.7rem .75rem;border-radius:10px;color:var(--text);font-size:.95rem;font-weight:600;background:none;border:none;cursor:pointer;text-align:left;width:100%}.drawer-item:hover{background:var(--primary-soft);color:var(--link);text-decoration:none}.drawer-footer{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.5rem}.drawer-logout{color:var(--danger)}.drawer-logout:hover{background:var(--danger-soft);color:var(--danger)}@media (min-width: 901px){.top-nav-links,.top-nav-right{display:flex}.bottom-nav{display:none}.app-main{padding-bottom:1.5rem}.container{padding:.75rem 0;--lz-nav-h: 57.6px}}.card{background:var(--card-bg);padding:.9rem 1rem;margin-bottom:1rem}.card h2{font-size:1.1rem;margin-bottom:.75rem}.card h3{font-size:1rem;margin-bottom:.5rem}.table-wrap{overflow:visible}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}tr:hover td{background:var(--hover-bg)}.standings-split{display:flex;align-items:stretch}.standings-frozen{flex-shrink:0;background:var(--card-bg);border-right:2px solid var(--border-strong)}.standings-frozen table{table-layout:fixed;width:17.7rem}.standings-frozen th,.standings-frozen td{overflow:hidden;white-space:nowrap}.standings-frozen .col-rank{width:2rem;padding-right:.1rem}.standings-frozen .col-logo{width:2.2rem;padding-left:0;padding-right:.1rem}.standings-frozen .col-logo img{display:block}.standings-frozen .col-team{width:10.5rem;padding-left:0}.standings-frozen .col-team a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-frozen .col-record{width:3rem;padding-left:.4rem;padding-right:.4rem}.standings-frozen tr.hover td,table.standings-table tr.hover td{background:var(--hover-bg)}.standings-scroll{overflow-x:auto;flex:1;min-width:0}table.standings-table{white-space:nowrap}table.standings-table th:first-child,table.standings-table td:first-child{padding-left:.9rem}table.roster-table .player-cell{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}table.roster-table .player-cell-left{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}table.roster-table .player-cell-name{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;min-width:0}table.roster-table .player-cell-name .name-cell{min-width:0}table.roster-table .name-cell span,table.roster-table .name-cell a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.roster-table .name-cell a{display:block;min-width:0;color:var(--link);text-decoration:none}table.roster-table .name-cell a:hover{text-decoration:underline}table.roster-table .player-cell-game{display:flex;justify-content:flex-start;color:var(--text-secondary);font-size:.78rem}table.roster-table .player-cell-game.matchup-live{color:var(--danger);font-weight:600}table.roster-table .player-cell-pts{display:flex;align-items:center;gap:.4rem;white-space:nowrap;min-width:0}table.roster-table .pts-pair{display:inline-flex;align-items:baseline;gap:.7rem;white-space:nowrap}table.roster-table:not(.ir-table) td:first-child{border-right:1px solid var(--border)}table.roster-table.players-table th:first-child,table.roster-table.players-table td:first-child{border-right:none;width:2.5rem;padding:.4rem .2rem .4rem 0}.moving-banner{position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}@media (max-width: 640px){table{font-size:.78rem}th,td{padding:.35rem .4rem}.card{padding:.7rem .6rem}.container>h1,.container>p,.container>.chips,.container>.sub-nav,.container>.flex,.container>.flex-between{padding-left:.6rem;padding-right:.6rem}.lz-header{padding-left:.6rem;padding-right:.6rem}.player-cell{gap:.3rem;flex-wrap:wrap;min-width:0}.player-cell a{min-width:0}.team-logo{width:16px;height:16px}.player-pos{font-size:.7rem}.btn-sm{padding:.26rem .45rem;font-size:.75rem}.badge{padding:.1rem .35rem;font-size:.68rem}table.roster-table .player-cell{gap:.4rem}table.roster-table .player-cell-left{gap:.1rem}table.roster-table .player-cell-name{gap:.3rem}table.roster-table .player-cell-game{font-size:.73rem}table.roster-table{table-layout:fixed}table.roster-table:not(.ir-table) th:first-child,table.roster-table:not(.ir-table) td:first-child{width:12%;text-align:center}table.roster-table:not(.ir-table) th:nth-child(2),table.roster-table:not(.ir-table) td:nth-child(2){width:auto}table.roster-table:not(.ir-table) th:nth-child(3),table.roster-table:not(.ir-table) td:nth-child(3){width:2.4rem}table.roster-table:not(.ir-table) th:nth-child(4),table.roster-table:not(.ir-table) td:nth-child(4){width:3rem}table.roster-table:not(.ir-table) th:nth-child(5),table.roster-table:not(.ir-table) td:nth-child(5){width:4.5rem}table.roster-table td{overflow-wrap:anywhere}td.pts-col{overflow-wrap:normal}table.roster-table.players-table th:first-child,table.roster-table.players-table td:first-child{width:2.5rem;padding:.35rem .2rem .35rem 0}table.roster-table.players-table th:nth-child(2),table.roster-table.players-table td:nth-child(2){width:auto}table.ir-table{table-layout:fixed}table.ir-table td:nth-child(1){width:34%}table.ir-table td:nth-child(2){width:12%}table.ir-table td:nth-child(3){width:20%}table.ir-table td:nth-child(4){width:14%}table.ir-table td:nth-child(5){width:20%}table.ir-table td{overflow-wrap:anywhere}table.ir-table td:nth-child(3){white-space:nowrap;overflow-wrap:normal}.standings-frozen table{width:15.2rem}.standings-frozen .col-team{width:7.5rem}.standings-frozen .col-record{width:3rem}table.standings-table th:nth-child(2),table.standings-table th:nth-child(3),table.standings-table th:nth-child(4){text-align:right;padding-left:.25rem;padding-right:.25rem}table.standings-table td:nth-child(2),table.standings-table td:nth-child(3),table.standings-table td:nth-child(4){text-align:right;white-space:nowrap;padding-left:.25rem;padding-right:.25rem}td>.ir-actions{flex-direction:column;align-items:stretch;gap:.2rem}td>.ir-actions .btn{width:100%;white-space:nowrap}}.player-cell{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.name-cell{display:inline-flex;align-items:center;min-width:0;font-size:.73rem}.team-logo{width:18px;height:18px;border-radius:3px;flex-shrink:0}.player-pos{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;white-space:nowrap}.matchup-live{color:var(--danger);font-weight:600}.streak-win{color:var(--success);font-weight:700}.streak-loss{color:var(--danger);font-weight:700}.status-dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;color:#fff;font-size:.62rem;font-weight:700;line-height:1;flex-shrink:0}.status-dot.active{background:var(--success)}.status-dot.questionable{background:var(--warning)}.status-dot.out,.status-dot.doubtful{background:var(--danger)}.roster-pts{font-variant-numeric:tabular-nums;font-weight:600}.pts-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.pts-btn:hover{text-decoration:underline}.pts-btn:active{opacity:.7}.roster-pts.pts-proj{color:var(--text-muted)}th.pts-col,td.pts-col{text-align:right;white-space:nowrap}th.pts-col+th.pts-col,td.pts-col+td.pts-col{padding-left:.7rem}td.pts-col .roster-pts,.pts-pair .roster-pts{font-size:.68rem}.pts-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.pts-actions .btn{white-space:nowrap}tr.roster-row-live{background:var(--live-bg)}tr.roster-row-poss{background:var(--poss-bg)}tr.roster-row-redzone{background:var(--redzone-bg)}tr.roster-row-final{opacity:.7}tr.roster-row-final td,tr.roster-row-final .roster-pts,tr.roster-row-upcoming td,tr.roster-row-idle td{color:var(--text-faint)}.player-cell-stats{display:block;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-breakdown{list-style:none;margin:0 0 .75rem;padding:0}.score-breakdown li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.score-breakdown-label{font-size:.95rem}.score-breakdown-pts{font-variant-numeric:tabular-nums;font-weight:600}.score-breakdown-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.5rem;font-weight:700}.score-breakdown-total strong{font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.1rem .38rem;border-radius:4px;font-size:.65rem;font-weight:600}.badge.active{background:var(--success-soft-bg);color:var(--success-soft-text)}.badge.out{background:var(--danger-soft-bg);color:var(--danger-soft-text)}.badge.que,.badge.doubt{background:var(--warn-soft-bg);color:var(--warn-soft-text)}.badge.suspended,.badge.ir,.badge.inactive,.badge.practicesquad,.badge.reservelist{background:var(--neutral-soft-bg);color:var(--neutral-soft-text)}.badge.injured{background:var(--danger-soft-bg);color:var(--danger-soft-text)}.badge-red{background:var(--danger);color:#fff}.badge-pill{border-radius:999px}.chip-sm{padding:.15rem .6rem;font-size:.72rem}.notification-list{display:flex;flex-direction:column;gap:.6rem}.notification-item{padding:.75rem 1rem}.notification-item.unread{border-left:3px solid var(--primary);background:var(--hover-soft)}.notification-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.notification-title{margin-bottom:.15rem}.notification-actions{display:flex;gap:.9rem;margin-top:.4rem}.notification-link{color:var(--primary);font-size:.85rem;font-weight:600;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.notification-link:hover{text-decoration:underline}.drawer-count{margin-left:auto;min-width:1.25rem;text-align:center}.btn{display:inline-block;padding:.45rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--link);color:#fff}.btn-primary:hover:not(:disabled){background:var(--link-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.btn-outline:hover:not(:disabled){background:var(--hover-bg)}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.3rem;border-radius:6px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:var(--hover-bg);color:var(--text)}.btn-icon:disabled{opacity:.4;cursor:default}input,select,textarea{padding:.45rem .6rem;border:1px solid var(--border-strong);border-radius:6px;font-size:16px;background:var(--card-bg);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--link)}.form-group{margin-bottom:.75rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem;color:var(--text-secondary)}.form-group input{width:100%}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(180deg,#ece6ff,#fff 60%)}.auth-logo{width:88px;height:88px;border-radius:18px;box-shadow:0 10px 30px #5e17eb59;margin-bottom:1.1rem}.auth-title{color:#5e17eb;font-size:2.1rem;font-weight:800;text-align:center;margin-bottom:1.5rem}.auth-subtitle{color:var(--text-secondary);font-size:.95rem;text-align:center;max-width:340px;line-height:1.45;margin-bottom:1.5rem}.auth-card{background:var(--card-bg);border-radius:16px;box-shadow:0 12px 32px #1e143c1f;padding:1.4rem 1.5rem;width:100%;max-width:420px;animation:auth-fade-up .45s ease}.auth-card .btn-primary{background:#5e17eb}.auth-card .btn-primary:hover:not(:disabled){background:#4a12bc}.auth-card input:focus{border-color:#5e17eb}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .auth-page{background:linear-gradient(180deg,#1a1033,#000 60%)}:root:not([data-theme=light]) .auth-title{color:#7b3df0}:root:not([data-theme=light]) .auth-card .btn-primary{background:#7b3df0}:root:not([data-theme=light]) .auth-card .btn-primary:hover:not(:disabled){background:#6a2ee0}}:root[data-theme=dark] .auth-page{background:linear-gradient(180deg,#1a1033,#000 60%)}:root[data-theme=dark] .auth-title{color:#7b3df0}:root[data-theme=dark] .auth-card .btn-primary{background:#7b3df0}:root[data-theme=dark] .auth-card .btn-primary:hover:not(:disabled){background:#6a2ee0}.row{display:flex;gap:1rem}.col{flex:1}@media (max-width: 768px){.row{flex-direction:column}}.draft-clock{font-size:1.5rem;font-weight:700;text-align:center;padding:1rem}.draft-clock.live{color:var(--success)}.draft-clock.expiring{color:var(--danger)}.pick-highlight{background:var(--warn-soft-bg)!important}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;background:#1a1a2e;color:#fff;padding:.6rem 1.5rem;font-size:.9rem}.draft-banner-main{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.draft-banner-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#9c9cff;font-weight:700}.draft-banner-meta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;font-size:.85rem}.draft-banner-meta a{color:#9c9cff}.draft-banner-meta a:hover{color:#fff;text-decoration:none}.draft-banner-meta .text-muted{color:#999}.draft-banner-clock{font-weight:700;font-variant-numeric:tabular-nums;color:#fff}.draft-banner-clock.expiring{color:#ff6b6b}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--card-bg);border-radius:10px;padding:1rem;width:min(600px,100%);max-width:90vw;max-height:85vh;overflow-y:auto}.modal h2{margin-bottom:1rem}.trade-panes{display:flex;gap:1rem;align-items:stretch;margin-bottom:1rem}@media (max-width: 640px){.trade-panes{flex-direction:column}}.trade-pane{flex:1;min-width:0;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.trade-pane-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.trade-pane-count{background:var(--primary-soft);color:var(--primary);border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.35;padding:.05rem .45rem;min-width:1.4rem;text-align:center}.trade-pane-list{max-height:300px;overflow-y:auto;padding:.2rem}.trade-pane-empty{margin:0;padding:.75rem .5rem}.trade-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.35rem .5rem;border-radius:8px;cursor:pointer}.trade-row:hover{background:var(--hover-bg)}.trade-row.selected{background:var(--primary-soft)}.trade-row.locked{opacity:.55;cursor:not-allowed}.trade-row input[type=checkbox]{flex-shrink:0;accent-color:var(--primary);cursor:inherit}.trade-row-info{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1}.trade-row-info .name-cell{min-width:0;flex:1}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-1{gap:.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mt-2{margin-top:1rem}.text-right{text-align:right}.text-muted{color:var(--text-muted);font-size:.85rem}.text-center{text-align:center}.w-full{width:100%}.matchup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.matchup-box{display:flex;flex-direction:column;margin-bottom:0}.sboard{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sboard-team{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .25rem}.sboard-team-logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;margin-bottom:.15rem;flex-shrink:0}.sboard-team-logo img{width:32px!important;height:32px!important;object-fit:contain}.sboard-team-name{font-weight:700;font-size:.95rem;text-align:center;line-height:1.2;min-width:0;overflow-wrap:anywhere}.sboard-score{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.sboard-score-proj{color:var(--text-muted);font-size:1.5rem}.sboard-team.winner .sboard-score{color:var(--success)}.sboard-team.tied .sboard-score{color:var(--text-muted)}.sboard-proj{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.sboard-vs{color:var(--text-faint);font-size:.9rem;font-weight:600;flex-shrink:0;align-self:center}.sboard-top{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.4rem;padding-top:.35rem;border-top:1px dashed var(--border-strong);max-width:100%;overflow:hidden;font-size:.72rem}.sboard-top-logo{width:14px;height:14px;object-fit:contain;border-radius:4px;flex-shrink:0}.sboard-top-name{color:var(--link);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.sboard-top-name:hover{text-decoration:underline}.sboard-top-pos{color:var(--text-muted);font-size:.62rem;text-transform:uppercase;flex-shrink:0}.sboard-top-pts{font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem}.sboard-top-proj{color:var(--text-faint);font-size:.58rem;font-weight:500;flex-shrink:0}.sboard-top-empty{border-top:none;visibility:hidden;font-size:.8rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.stat-row{display:flex;flex-direction:column;gap:.15rem}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.stat-value{font-size:1rem;font-weight:600}.mp-container{max-width:none;padding:.75rem 0}.mp-scoreboard{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem}.mp-arrow{background:var(--hover-bg);border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;color:var(--text-secondary);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-bottom:4px}.mp-arrow:hover:not(:disabled){background:var(--hover-strong)}.mp-arrow:disabled{opacity:.35;cursor:default}.mp-team{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;flex:1}.mp-team-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0}.mp-team-logo img{width:48px!important;height:48px!important;object-fit:contain}.mp-team-top{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;min-width:0}.mp-team-top img{width:32px!important;height:32px!important;object-fit:contain;flex-shrink:0}.mp-team-name{font-weight:700;font-size:1rem;text-align:center;line-height:1.2;min-width:0;overflow-wrap:anywhere}.mp-team-score{font-size:2.6rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.mp-team-proj{color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.mp-vs{color:var(--text-faint);font-size:1rem;font-weight:600;flex-shrink:0}.mp-board{background:var(--card-bg)}.mp-shared-row{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:stretch}.mp-shared-row+.mp-shared-row{border-top:1px solid var(--border-strong)}.mp-shared-row.section-start{border-top:2px solid var(--border-strong)}.mp-slot{display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:.68rem;font-weight:700;text-transform:uppercase;white-space:nowrap;border-left:1px solid var(--border-strong);border-right:1px solid var(--border-strong)}.mp-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.5rem .75rem;font-size:.88rem}.mp-empty{padding:.5rem .75rem}.mp-logo{width:18px;height:18px;align-self:center;flex-shrink:0}.mp-name{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:.4rem;min-width:0;color:var(--link);font-weight:500}.mp-name:hover{text-decoration:underline}.mp-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.73rem}.mp-name-short{display:none}.mp-stats{grid-column:1;grid-row:2;justify-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:.72rem}.mp-pts{grid-column:2;grid-row:2;justify-self:end;white-space:nowrap;text-align:right}.mp-pts strong{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.25rem;line-height:1.2}.mp-proj{font-size:.6rem;color:var(--text-faint);font-weight:500;flex-shrink:0}.mp-game{grid-column:1 / -1;grid-row:3;color:var(--text-secondary);font-size:.78rem;margin-top:1px;width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.mp-game-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mp-cell.right .mp-name{justify-self:end}.mp-cell.right .mp-stats{grid-column:2;justify-self:end;text-align:right}.mp-cell.right .mp-pts{grid-column:1;justify-self:start;text-align:left}.mp-cell.right .mp-game{justify-self:end;text-align:right;flex-direction:row-reverse}.mp-out{width:14px;height:14px;border-radius:50%;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mp-cell.idle .mp-name,.mp-cell.idle .mp-pts strong,.mp-cell.idle .mp-game{color:var(--text-faint)}.mp-cell.live{background:var(--live-bg)}.mp-cell.live .mp-pts strong{color:var(--score-strong)}.mp-cell.poss{background:var(--poss-bg)}.mp-cell.poss .mp-pts strong{color:var(--score-strong)}.mp-cell.redzone{background:var(--redzone-bg)}.mp-cell.redzone .mp-pts strong{color:var(--score-strong)}.mp-cell.final{opacity:.7}.mp-cell.final .mp-pts strong{font-weight:800;color:var(--text-faint)}.mp-cell.final .mp-game{color:var(--text-secondary)}.mp-final{font-weight:700}.mp-cell.upcoming .mp-pts strong,.mp-cell.upcoming .mp-game{color:var(--text-faint)}.mp-cell.bench:not(.final){opacity:1}.mp-cell.bench.final{opacity:.7}@media (max-width: 860px){.mp-cell{padding:.4rem .5rem;font-size:.85rem}.mp-logo{width:16px;height:16px}.mp-game{font-size:.73rem}.mp-name-full{display:none}.mp-name-short{display:inline}}@media (max-width: 600px){.sboard{gap:.4rem}.sboard-score{font-size:1.6rem}.sboard-score-proj{font-size:1.2rem}.sboard-team-name{font-size:.82rem}.sboard-proj{font-size:.72rem}.sboard-vs{font-size:.75rem}.mp-scoreboard{padding:.9rem .75rem;gap:.5rem}.mp-arrow{width:34px;height:34px;font-size:1.2rem}.mp-team-name{font-size:.85rem}.mp-team-score{font-size:1.75rem}.mp-team-proj{font-size:.75rem}}.install-banner,.notify-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--primary);color:#fff;padding:.75rem 1.5rem;font-size:.9rem}.install-banner-content,.notify-banner-content{display:flex;align-items:center;gap:.75rem;flex:1}.install-banner-link,.notify-banner-link{background:#ffffff26;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;text-align:left}.install-banner-link:hover:not(:disabled),.notify-banner-link:hover:not(:disabled){background:#ffffff40}.install-banner-link:disabled,.notify-banner-link:disabled{opacity:.6;cursor:wait}.notify-banner-error{font-size:.75rem;color:#fcc}.notify-banner-denied{background:#3a2a6b}.notify-banner-icon{width:1.1rem;height:1.1rem;flex-shrink:0;opacity:.85;margin-top:.05rem}.notify-banner-denied-text{display:flex;flex-direction:column;gap:.1rem}.notify-banner-denied-text strong{font-size:.88rem;font-weight:600}.notify-banner-denied-text span{font-size:.8rem;color:#ddd}.notify-banner-text{font-size:.8rem;color:#ddd;margin-left:.5rem}.install-banner-close{background:transparent;border:none;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;opacity:.7;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.install-banner-close:hover{background:#ffffff26;opacity:1}.install-steps{display:flex;flex-direction:column;gap:1.25rem;margin:1.5rem 0}.install-steps li{display:flex;gap:1rem;align-items:flex-start}.install-step-icon{width:48px;height:48px;flex-shrink:0;color:var(--primary)}.install-steps strong{display:block;margin-bottom:.25rem}.install-steps p{margin:0;font-size:.9rem}.league-alerts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.league-alert{display:flex;align-items:flex-start;gap:.6rem;background:var(--card-bg);border-left:4px solid var(--primary);border-radius:8px;padding:.7rem .9rem;font-size:.9rem;box-shadow:0 1px 3px #00000014}.league-alert.warn{border-left-color:var(--warning)}.league-alert.error{border-left-color:var(--danger)}.league-alert a{font-weight:600}.league-alert-icon{color:var(--primary);flex-shrink:0;margin-top:.1rem}.feed-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;border:2px dashed var(--border-strong);border-radius:12px;color:var(--text-faint);text-align:center}.feed-placeholder .feed-icon{color:#c3b3f0}.league-feed{flex:1;min-height:0;display:flex;flex-direction:column;gap:.75rem}.feed-posts-scroll{flex:1;min-height:0;overflow-y:auto;background:var(--card-bg);border-radius:12px;padding:.75rem;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.app-main:has(.lz-zone){min-height:0;padding-bottom:0;height:calc(100vh - 43.6px);height:calc(100dvh - 43.6px)}@media (min-width: 901px){.app-main:has(.lz-zone){height:calc(100dvh - 57.6px)}.feed-posts-scroll,.lz-tab-scroll{padding-bottom:1.5rem}}.feed-error{color:var(--danger);font-size:.85rem}.feed-spinner{width:28px;height:28px;border:3px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;margin:.75rem auto;animation:feed-spin .8s linear infinite}@keyframes feed-spin{to{transform:rotate(360deg)}}.loading-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1rem;background:var(--card-bg);border-bottom:1px solid var(--border-strong);color:var(--text-secondary);font-size:.9rem;box-shadow:0 2px 8px #00000014}.loading-spinner{width:18px;height:18px;border:2.5px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:feed-spin .8s linear infinite;flex-shrink:0}.feed-sentinel{display:flex;align-items:center;justify-content:center;min-height:40px}.feed-composer{border:1px solid var(--border-strong);border-radius:10px;padding:.6rem .7rem;background:var(--bg);position:relative}.feed-composer-input{width:100%;border:none;background:none;resize:none;outline:none;font:inherit;color:var(--text);max-height:180px;padding:.25rem 0}.feed-composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.45rem}.feed-composer-tools{display:flex;gap:.25rem}.feed-mention-menu{position:absolute;bottom:100%;left:.5rem;width:min(320px,calc(100% - 1rem));background:var(--card-bg);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 6px 20px #00000026;z-index:20;max-height:240px;overflow-y:auto;padding:.25rem}.feed-mention-option{display:flex;align-items:center;gap:.55rem;width:100%;padding:.45rem .55rem;border:none;border-radius:8px;background:none;color:var(--text);cursor:pointer;text-align:left;font-size:.9rem}.feed-mention-option:hover{background:var(--hover-bg)}.feed-mention-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.feed-mention-name{font-weight:600}.feed-mention-team{margin-left:auto;color:var(--text-faint);font-size:.8rem}.feed-image-preview{position:relative;display:inline-block;margin-top:.5rem}.feed-image-preview img{display:block;max-height:160px;border-radius:8px;border:1px solid var(--border-strong)}.feed-image-remove{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:none;background:var(--danger);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.feed-posts{display:flex;flex-direction:column;gap:.85rem}.feed-post{border:1px solid var(--border-strong);border-radius:10px;padding:.75rem .85rem;background:var(--card-bg);box-shadow:0 1px 2px #0000000a}.feed-post.system{background:linear-gradient(180deg,var(--primary-soft),var(--card-bg) 55%)}.feed-post-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.45rem}.feed-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;overflow:hidden}.feed-avatar-img{width:100%;height:100%;object-fit:cover}.feed-post.system .feed-avatar{background:var(--primary);color:#fff}.feed-post-author{display:flex;flex-direction:column;line-height:1.25;min-width:0}.feed-author-name{font-weight:700;font-size:.92rem;color:var(--text)}a.feed-author-name{text-decoration:none}a.feed-author-name:hover{text-decoration:underline;color:var(--link)}.feed-post-team{font-size:.72rem;font-style:italic;color:var(--text-muted)}.feed-post-time{color:var(--text-faint);font-size:.75rem}.feed-league-chip{background:var(--primary);color:#fff;margin-left:auto}.feed-post-content{font-size:.95rem;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.feed-mention{font-weight:700;color:var(--link);text-decoration:none}a.feed-mention:hover{text-decoration:underline}.feed-post-link{display:inline-block;margin-top:.4rem;font-size:.82rem;font-weight:600;color:var(--link);text-decoration:none}.feed-post-link:hover{text-decoration:underline}.feed-post-image{display:block;margin-top:.5rem;width:100%;padding:0;border:none;background:none;cursor:zoom-in;text-align:left}.feed-post-image img{max-height:300px;width:100%;object-fit:cover;border-radius:10px;border:1px solid var(--border-strong)}.feed-image-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000e0;display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden}.feed-image-viewer img{max-width:93vw;max-height:82vh;object-fit:contain;border-radius:4px;box-shadow:0 12px 44px #0000008c;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .12s ease}.feed-image-viewer-close{position:absolute;top:.85rem;right:.85rem;width:38px;height:38px;border-radius:50%;border:none;background:#ffffff24;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.feed-image-viewer-close:hover{background:#ffffff42}.feed-image-viewer-toolbar{position:absolute;bottom:1.35rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.2rem;background:#ffffff24;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.3rem}.feed-image-viewer-toolbar button{width:36px;height:36px;border-radius:50%;border:none;background:none;color:#fff;font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.feed-image-viewer-toolbar button:hover{background:#ffffff38}.feed-image-viewer-zoom{color:#fff;font-size:.8rem;font-variant-numeric:tabular-nums;min-width:2.6rem;text-align:center}.feed-reactions{display:flex;align-items:center;gap:.4rem;margin-top:.6rem;flex-wrap:wrap}.feed-reaction-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--hover-bg);color:var(--text-secondary);font-size:.82rem;padding:.2rem .55rem;cursor:pointer}.feed-reaction-chip.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.feed-reaction-add{position:relative}.feed-reaction-add .btn-icon.open{color:var(--primary);background:var(--hover-bg)}.feed-reaction-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24}.feed-emoji-grid{position:absolute;bottom:100%;left:0;z-index:25;display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;background:var(--card-bg);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 6px 20px #00000026;padding:.4rem;margin-bottom:.35rem}.feed-emoji-grid.open-down{bottom:auto;top:calc(100% + .35rem);margin-bottom:0}.feed-emoji{background:none;border:none;font-size:1.15rem;padding:.25rem;border-radius:6px;cursor:pointer;line-height:1}.feed-emoji:hover{background:var(--hover-bg)}.feed-emoji.active{background:var(--primary-soft)}.pb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:-.4rem -1rem -.8rem;padding:.4rem 1rem .8rem}.pb-bracket{display:flex;gap:1.5rem;align-items:flex-start;width:100%}.pb-round{flex:1 1 0;min-width:250px}.pb-round h4{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.6rem}.pb-game{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;border:1px solid var(--border-strong);border-radius:10px;padding:.45rem;background:var(--card-bg);box-shadow:0 1px 2px #0000000a;width:100%;box-sizing:border-box}.pb-team{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem;padding:.4rem .6rem;border-radius:8px;background:var(--hover-bg);min-width:0}.pb-team.mine{background:var(--primary-soft)}.pb-team .player-cell{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:nowrap}.pb-team .player-cell a{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-team .pb-seed{color:var(--text-faint);font-size:.75rem;font-weight:700}.pb-team .pb-score{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-faint)}.pb-tbd{color:var(--text-faint);font-style:italic;font-size:.85rem;padding:.4rem .6rem}.draft-target-card{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;padding:2.5rem 1.5rem}.draft-target-icon{color:var(--primary)}.draft-date{font-size:1.15rem;font-weight:700}.ics-btn{display:inline-flex;align-items:center;gap:.45rem}.draft-summary-table{max-height:none;overflow-y:visible}.rank-badge{display:inline-block;min-width:2.2rem;text-align:center;font-weight:700;color:#fff;background:var(--primary);border-radius:6px;font-size:.78rem;padding:.12rem .3rem}.sub-nav{display:flex;gap:.5rem;margin-bottom:1rem}
