.page{min-height:100vh;width:100%;display:grid;place-items:center;padding:2rem 1rem}.page-public{background:radial-gradient(circle at 20% 15%,rgba(0,195,230,.18),transparent 45%),radial-gradient(circle at 80% 20%,rgba(86,179,255,.25),transparent 40%),linear-gradient(140deg,#f7fbff,#eef3ff)}.page-private{background:radial-gradient(circle at 75% 25%,rgba(0,200,230,.2),transparent 42%),radial-gradient(circle at 15% 15%,rgba(104,160,255,.2),transparent 40%),linear-gradient(140deg,#f4fff8,#eef7ff)}.card{width:min(680px,100%);background:#ffffffe6;border:1px solid rgba(49,61,89,.12);border-radius:20px;box-shadow:0 20px 45px #1f2a4429;padding:clamp(1.5rem,2.5vw,2.5rem)}.hero h1{margin:.3rem 0 .7rem;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#0090b8}.logo-wrap{display:flex;width:fit-content;margin:0 auto 1rem;align-items:center;justify-content:center}.logo-wrap--sm{display:inline-flex;width:auto;margin:0}.header-logo{height:52px;width:auto;filter:drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000) drop-shadow(0 0 6px rgba(0,210,240,.6))}.page-logo{height:100px;width:auto;display:block;filter:drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000) drop-shadow(0 0 10px rgba(0,210,240,.65))}.actions{margin-top:1.3rem;display:flex;gap:.75rem;flex-wrap:wrap}.auth-card h1{margin:0}.form{margin-top:1rem;display:grid;gap:.75rem}.form label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}.form input{border:1px solid #c8d2e9;border-radius:10px;padding:.65rem .75rem;font:inherit}.form input:focus{outline:2px solid #5dd4f0;outline-offset:1px}.btn{border:0;border-radius:10px;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#0080cc;color:#fff}.btn-secondary{background:#fff;color:#223052;border:1px solid #ccd8f2}.btn-danger{background:#b12e34;color:#fff}.btn:disabled{opacity:.65;cursor:not-allowed}.muted{color:#5a6788;margin:0}.small{margin-top:1rem;font-size:.92rem}.error{margin:0;color:#b12e34;font-weight:600}.success{margin:0;color:#1b7a44;font-weight:600}.loading{text-align:center;font-weight:600}.app-shell{min-height:100vh;width:100%;padding:1rem}.live-update-stack{position:fixed;top:1rem;right:1rem;z-index:500;display:grid;gap:.75rem;width:min(370px,calc(100vw - 2rem));pointer-events:none}.live-update-notice{pointer-events:auto;background:#fff;border:1px solid rgba(49,61,89,.14);border-left:5px solid #0080cc;border-radius:10px;box-shadow:0 18px 34px #1f2a442e;padding:.85rem .95rem;display:grid;gap:.55rem}.live-update-depthChart{border-left-color:#1b7a44}.live-update-notice-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.live-update-notice h2{margin:.12rem 0 0;font-size:.98rem;color:#1e2a47}.live-update-label,.live-update-message,.live-update-time{margin:0}.live-update-label{color:#0090b8;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.live-update-message{color:#2a3759;font-size:.88rem;line-height:1.45}.live-update-time{color:#5a6788;font-size:.78rem;font-weight:700}.live-update-close{border:0;background:#f3f5fa;color:#3b4663;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:inherit;font-weight:800;line-height:1;cursor:pointer}.app-header{max-width:1400px;margin:0 auto 1rem;background:#ffffffeb;border:1px solid rgba(49,61,89,.12);border-radius:14px;padding:.9rem 1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.app-title{margin:.05rem 0 0;font-size:1.15rem}.header-right{display:flex;gap:.7rem;align-items:center;position:relative}.header-bell-trigger{position:relative;border:1px solid rgba(49,61,89,.14);background:#fff;color:#30456e;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.header-bell-trigger:hover,.header-bell-trigger[aria-expanded=true]{background:#edf2ff;border-color:#0080cc57;color:#006fba}.header-bell-icon{width:20px;height:20px}.header-bell-badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 .3rem;border-radius:999px;background:#b12e34;color:#fff;border:2px solid #fff;display:inline-grid;place-items:center;font-size:.68rem;font-weight:800;line-height:1}.header-avatar-trigger{border:0;padding:0;background:transparent;cursor:pointer;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.header-avatar{width:36px;height:36px;object-fit:cover;border-radius:50%;border:1px solid rgba(49,61,89,.2);background:#f1f5ff}.header-avatar-fallback{width:36px;height:36px;border-radius:50%;background:#0080cc;color:#fff;font-weight:700;display:grid;place-items:center}.header-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:240px;background:#fffffffa;border:1px solid rgba(49,61,89,.12);border-radius:14px;box-shadow:0 20px 45px #1f2a4429;z-index:100}.header-dropdown-section{padding:.8rem;display:grid;gap:.55rem}.header-dropdown-section:first-of-type{justify-items:center;text-align:center}.header-dropdown-avatar,.header-dropdown-avatar-fallback{width:52px;height:52px;border-radius:50%}.header-dropdown-avatar{object-fit:cover;border:1px solid rgba(49,61,89,.2);background:#f1f5ff}.header-dropdown-avatar-fallback{background:#0080cc;color:#fff;font-weight:700;display:grid;place-items:center}.header-dropdown-name{margin:0;font-weight:700;color:#1e2a47}.header-dropdown-email{margin:0;color:#5a6788;font-size:.85rem}.header-dropdown-divider{border:none;border-top:1px solid rgba(49,61,89,.12);margin:0}.header-leagues-dropdown{right:3.2rem}.header-notifications-dropdown{right:8.1rem;min-width:min(390px,calc(100vw - 2rem))}.header-notifications-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.header-notifications-clear{border:0;background:transparent;color:#006fba;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;padding:.25rem 0}.header-notifications-list{display:grid;gap:.55rem;width:100%;max-height:320px;overflow-y:auto;padding-right:.35rem}.header-notification-item{border:1px solid rgba(49,61,89,.12);border-radius:10px;background:#fff;padding:.65rem .7rem;display:grid;gap:.35rem}.header-notification-top{display:flex;justify-content:space-between;gap:.65rem;align-items:baseline}.header-notification-top strong{color:#1e2a47;font-size:.86rem}.header-notification-top span{color:#5a6788;font-size:.75rem;font-weight:700;white-space:nowrap}.header-notification-item p{margin:0;color:#2a3759;font-size:.82rem;line-height:1.4}.header-leagues-dropdown .header-dropdown-section{justify-items:stretch;text-align:left}.header-league-list{display:grid;gap:.45rem;width:100%;max-height:260px;overflow-y:auto;padding-right:.6rem}.header-league-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.45rem;border:1px solid rgba(49,61,89,.12);border-radius:10px;background:#fff;color:#223052;padding:.4rem .45rem .4rem .6rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.header-league-row:focus{outline:2px solid #5dd4f0;outline-offset:1px}.header-league-option{display:grid;gap:.2rem;font:inherit;padding:.25rem 0;text-align:left}.header-league-row.selected,.header-league-row:hover:not(:has(.header-league-edit-btn:hover)){background:#edf2ff;border-color:#0080cc57;color:#006fba}.header-league-option span{font-weight:700}.header-league-option small{color:#667085;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.header-league-edit-btn{padding:.45rem .6rem;font-size:.76rem;white-space:nowrap}.header-league-edit-btn:hover{background:#edf2ff;border-color:#0080cc57;color:#006fba}.app-body{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem}.app-sidebar{background:#ffffffeb;border:1px solid rgba(49,61,89,.12);border-radius:14px;padding:.6rem;display:grid;gap:.35rem;align-content:start}.side-link{border-radius:10px;padding:.55rem .7rem;color:#30456e;text-decoration:none;font-weight:600}.side-link.active{background:#0080cc;color:#fff}.side-link-disabled{opacity:.45;background:#313d590a;color:#6f7b95;cursor:not-allowed;pointer-events:none}.side-section-label{margin-top:.3rem;padding:.45rem .7rem .2rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#0090b8;font-weight:700;text-decoration:underline}.side-link-toggle{border:0;background:transparent;margin:0;font-family:inherit;font-size:inherit;text-align:left;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.35rem;line-height:1.2;cursor:pointer}.side-link-caret{font-size:.85rem}.side-submenu{display:grid;gap:.25rem}.side-nav-group{display:grid;gap:.35rem}.side-link-subitem{margin-left:.8rem}.sidebar-divider{border:none;border-top:1px solid rgba(49,61,89,.12);margin:.2rem .4rem 0}.side-nav-item{display:grid;gap:.35rem}.sidebar-hint{margin:.4rem 0 0;padding:.55rem .7rem 0;border-top:1px solid rgba(49,61,89,.1);color:#5a6788;font-size:.78rem;line-height:1.4}.app-content{width:100%;min-width:0}.page-private .app-content.card{width:100%;max-width:none}.dashboard-leagues{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(49,61,89,.12)}.dashboard-leagues-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-leagues-header h2{margin:.25rem 0 0;font-size:1.4rem}.dashboard-league-count{display:inline-flex;align-items:center;padding:.45rem .75rem;border-radius:999px;background:#edf4ff;color:#30456e;font-weight:700;white-space:nowrap}.dashboard-league-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.dashboard-league-card{display:grid;gap:.75rem;padding:1rem;border-radius:16px;border:1px solid rgba(49,61,89,.12);background:linear-gradient(180deg,#fffffff5,#f3f8fff0)}.dashboard-league-card.selected{border-color:#0080cc;box-shadow:0 0 0 2px #0080cc1f}.dashboard-league-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dashboard-league-top h3{margin:0;font-size:1.05rem;color:#1e2a47}.dashboard-league-title-wrap{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dashboard-league-edit-btn{padding:.35rem .55rem;font-size:.74rem}.dashboard-league-sport{display:inline-flex;align-items:center;justify-content:center;min-width:3.2rem;padding:.3rem .55rem;border-radius:999px;background:#0080cc;color:#fff;font-size:.75rem;font-weight:700}.dashboard-league-meta{margin:0;color:#30456e;font-weight:600}.dashboard-league-actions{display:flex;gap:.65rem;flex-wrap:wrap}.dashboard-league-card .btn{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.dashboard-league-card .btn-primary:hover{background:#006fba;box-shadow:0 6px 14px #0080cc40}.dashboard-league-card .btn-secondary:hover{background:#edf2ff;border-color:#0080cc57;color:#006fba}.settings-form{margin-top:1.25rem}.profile-pic-preview{width:92px;height:92px;border-radius:50%;object-fit:cover;border:1px solid rgba(49,61,89,.2);background:#f1f5ff}.danger-zone{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(49,61,89,.16)}.danger-zone h2{margin:0 0 .5rem;font-size:1.1rem}.players-table-wrap{margin-top:1rem;overflow-x:scroll;overflow-y:auto;max-height:60vh;width:100%;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;border:1px solid rgba(49,61,89,.16);border-radius:12px;background:#ffffffe0}.players-table-inner{min-width:1500px;width:max-content}.players-table{width:100%;font-size:.82rem;border-collapse:collapse}.players-table th,.players-table td{text-align:left;padding:.5rem .55rem;border-bottom:1px solid rgba(49,61,89,.12);color:#2a3759;vertical-align:top;white-space:nowrap;min-width:80px}.players-table th{position:sticky;top:0;z-index:1;background:#edf4ff;color:#263a63;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.table-sort-button{border:0;background:transparent;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}.minor-league-table-wrap{overflow-x:visible}.minor-league-table-wrap .players-table-inner{min-width:0;width:100%}.minor-league-table-wrap .players-table{table-layout:fixed}.minor-league-table-wrap .players-table th,.minor-league-table-wrap .players-table td{white-space:normal;overflow-wrap:anywhere}.minor-league-current-rosters{margin-top:1.5rem}.minor-league-move-list{display:grid;gap:.65rem}.minor-league-move-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1.7fr);gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(49,61,89,.14);border-radius:10px;background:#ffffffe6}.minor-league-move-player,.minor-league-move-controls{min-width:0}.minor-league-move-player{display:grid;gap:.2rem}.minor-league-move-name{color:#253557;font-weight:700;overflow-wrap:anywhere}.minor-league-move-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.minor-league-move-select{width:100%;min-width:0;border:1px solid #c8d2e9;border-radius:10px;padding:.55rem .7rem;font:inherit}.minor-league-confirm-btn{white-space:nowrap}@media(max-width:760px){.minor-league-move-row,.minor-league-move-controls{grid-template-columns:1fr}.minor-league-confirm-btn{width:100%}}.players-table tr:last-child td{border-bottom:none}.player-table-image{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid rgba(49,61,89,.2);background:#f1f5ff}.players-table th:nth-child(1),.players-table td:nth-child(1){min-width:150px}.players-table th:nth-child(4),.players-table td:nth-child(4){min-width:100px}@media(max-width:900px){.app-body{grid-template-columns:1fr}.app-sidebar{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}.header-right{flex-wrap:wrap;justify-content:flex-end}.players-table{min-width:760px}.dashboard-leagues-header{flex-direction:column}}.app-body-with-panel{grid-template-columns:220px minmax(0,1fr) 370px}.player-stats-panel{background:#ffffffeb;border:1px solid rgba(49,61,89,.12);border-radius:14px;padding:1.25rem;overflow-y:auto;max-height:calc(100vh - 6rem);display:flex;flex-direction:column;gap:1rem;animation:panelSlideIn .25s ease-out}.player-stats-panel.player-stats-panel-inline{position:sticky;top:1rem;align-self:start}@keyframes panelSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.player-stats-top{display:flex;justify-content:space-between;align-items:center}.player-stats-close{border:0;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#5a6788;padding:.15rem .4rem;border-radius:8px;transition:background .15s}.player-stats-close:hover{background:#313d5914;color:#2a3759}.player-stats-photo-wrap{display:flex;justify-content:center}.player-stats-photo{width:180px;height:180px;object-fit:cover;border-radius:14px;border:2px solid rgba(49,61,89,.15);background:#f1f5ff}.player-stats-photo-placeholder{width:180px;height:180px;border-radius:14px;border:2px dashed rgba(49,61,89,.18);background:#f1f5ff;display:grid;place-items:center;color:#5a6788;font-size:.85rem;font-weight:600}.player-stats-name{margin:0;text-align:center;font-size:1.35rem;color:#1e2a47}.player-stats-meta{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap}.player-stats-badge{display:inline-block;background:#edf4ff;color:#263a63;font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:8px;text-transform:uppercase;letter-spacing:.03em}.player-stats-badge.badge-outline{background:transparent;border:1px solid #c8d2e9;color:#5a6788}.player-stats-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.6rem}.player-stats-kpi{background:#f6f9ff;border:1px solid rgba(49,61,89,.1);border-radius:10px;padding:.6rem .7rem;text-align:center}.player-stats-kpi-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0090b8;margin-bottom:.2rem}.player-stats-kpi-value{display:block;font-size:1.2rem;font-weight:700;color:#0080cc}.player-stats-section{background:#f8faff;border:1px solid rgba(49,61,89,.1);border-radius:10px;padding:.75rem .85rem}.player-stats-section h3{margin:0 0 .45rem;font-size:.88rem;color:#2a3759}.player-stats-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem}.player-stats-section-head h3{margin:0}.player-stats-edit-btn{font-size:.72rem;padding:.3rem .6rem;border-radius:8px}.depth-chart-team-label{margin:-.2rem 0 .6rem;font-size:.8rem}.depth-chart-positions{display:grid;gap:.6rem}.depth-chart-position-group{border:1px solid rgba(49,61,89,.1);border-radius:8px;overflow:hidden}.depth-chart-position-label{background:#0080cc;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .6rem}.depth-chart-player-list{list-style:none;margin:0;padding:0}.depth-chart-player-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-bottom:1px solid rgba(49,61,89,.07);font-size:.82rem}.depth-chart-player-row:last-child{border-bottom:none}.depth-chart-player-selected{background:#0080cc14;font-weight:700}.depth-chart-player-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e2a47}.depth-chart-role{flex-shrink:0;font-size:.68rem;color:#5a6788;background:#313d5912;border-radius:4px;padding:.1rem .35rem}.depth-chart-section{flex-shrink:0;font-size:.68rem;color:#0090b8;background:#0080cc14;border-radius:4px;padding:.1rem .35rem}.player-stats-list{margin:0;padding-left:1.2rem;font-size:.82rem;color:#2a3759;display:grid;gap:.25rem}.player-stats-details{margin:0;display:grid;gap:.4rem;font-size:.82rem}.player-stats-detail-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:.65rem;align-items:baseline}.player-stats-detail-row dt{color:#5a6788;font-weight:700}.player-stats-detail-row dd{margin:0;color:#2a3759;font-weight:600;text-align:right;overflow-wrap:anywhere}.player-stats-notes-display p{margin:0;font-size:.85rem;color:#2a3759;white-space:pre-wrap;line-height:1.5}.player-stats-notes-editor{display:grid;gap:.5rem}.player-stats-textarea{width:100%;border:1px solid #c8d2e9;border-radius:8px;padding:.55rem .65rem;font:inherit;font-size:.85rem;resize:vertical;min-height:70px;color:#2a3759}.player-stats-textarea:focus{outline:2px solid #5dd4f0;outline-offset:1px}.player-stats-notes-actions{display:flex;gap:.4rem}.change-position-anchor{position:relative}.change-position-menu{width:min(320px,calc(100vw - 3.5rem));background:#fffffffa;border:1px solid rgba(49,61,89,.12);border-radius:12px;box-shadow:0 20px 45px #1f2a4429;padding:.75rem;display:grid;gap:.55rem;z-index:9999}.change-position-menu-title{margin:0;font-weight:700;color:#1e2a47}.change-position-menu-actions{display:flex;justify-content:flex-end;gap:.4rem}.player-stats-table-wrap{margin-top:.3rem;overflow-y:auto;max-height:260px;border-radius:8px}.player-stats-table{width:100%;font-size:.8rem;border-collapse:collapse}.player-stats-table th,.player-stats-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid rgba(49,61,89,.08);color:#2a3759}.player-stats-table th{position:sticky;top:0;background:#edf4ff;color:#263a63;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.player-stats-table td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.player-stats-table tr:last-child td{border-bottom:none}.players-table tbody tr{cursor:pointer;transition:background .12s}.players-table tbody tr:hover{background:#0080cc0d}.players-table tbody tr.selected-row{background:#0080cc1a}.players-table tbody tr.selected-row td{color:#1a3570}.players-table tbody tr.drafted-row td{color:#7d879f}.players-table tbody tr.drafted-row:not(.selected-row){background:#313d590a}.players-table tbody tr.inactive-row td{color:#6f3440}.players-table tbody tr.inactive-row:not(.selected-row){background:#fff2f4}.players-table tbody tr.inactive-row td:first-child{border-left:4px solid #c03445}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}.status-pill-active{background:#edf8f0;color:#1b7a44;border:1px solid #b8dfc4}.status-pill-inactive{background:#fff0f1;color:#9c2028;border:1px solid #f1b8bd}.player-stats-badge.status-badge{border:1px solid transparent}.player-stats-badge.status-badge-active{background:#edf8f0;border-color:#b8dfc4;color:#1b7a44}.player-stats-badge.status-badge-inactive{background:#fff0f1;border-color:#f1b8bd;color:#9c2028}.player-stats-badge.injury-badge{background:#fff6e6;color:#8a4a00;border:1px solid #f3d39a}.player-stats-draft-btn{min-width:88px}.draft-modal-panel{width:min(960px,100%)}.draft-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.draft-preview{background:#f4f8ff;border:1px solid rgba(49,61,89,.1);border-radius:14px;padding:.8rem}.draft-preview h3{margin:0 0 .6rem;font-size:.95rem;color:#263a63}.draft-warning-box{border:1px solid rgba(177,46,52,.28);border-radius:10px;background:#b12e340f;padding:.65rem}.draft-checkbox{display:flex;align-items:flex-start;gap:.5rem;font-size:.88rem;color:#2a3759}@media(max-width:900px){.draft-modal-grid{grid-template-columns:1fr}.change-position-menu{width:min(320px,calc(100vw - 4rem))}}@media(max-width:1100px){.app-body-with-panel{grid-template-columns:220px minmax(0,1fr);position:relative}.player-stats-panel:not(.player-stats-panel-inline){position:fixed;top:0;right:0;width:370px;height:100vh;max-height:100vh;z-index:20;border-radius:0;box-shadow:-8px 0 30px #1f2a442e}}@media(max-width:900px){.app-body-with-panel{grid-template-columns:1fr}.player-stats-panel{width:100%}}.transactions-table-wrap{margin-top:1rem;overflow-x:auto;overflow-y:auto;max-height:60vh;width:100%;border:1px solid rgba(49,61,89,.16);border-radius:12px;background:#ffffffe0}.transactions-table{width:100%;font-size:.82rem;border-collapse:collapse}.transactions-table th,.transactions-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid rgba(49,61,89,.12);color:#2a3759;vertical-align:top;min-width:100px}.transactions-table th{position:sticky;top:0;z-index:1;background:#edf4ff;color:#263a63;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.transactions-table tr:last-child td{border-bottom:none}.transactions-table td:last-child{white-space:normal;min-width:250px}.my-team-roster-box{margin-top:1rem;border:1px solid rgba(49,61,89,.16);border-radius:14px;background:#ffffffb8;overflow:hidden}.my-team-budget{font-weight:700;text-decoration:underline}.my-team-toolbar{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.roster-player-button{border:0;padding:0;margin:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.roster-player-button:hover strong{text-decoration:underline}.player-search-modal-panel{width:min(1100px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.player-search-modal-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.tab-btn{padding:.45rem 1.1rem;border:1px solid rgba(49,61,89,.22);border-radius:8px;background:transparent;color:#2a3759;font:inherit;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tab-btn:hover{background:#313d5912}.tab-btn.tab-btn-active{background:#2a3759;color:#fff;border-color:#2a3759}.player-search-override-wrap{margin-left:auto;display:flex;align-items:center;gap:.5rem}.player-search-override-label{font-size:.78rem;font-weight:600;color:#5a6a8a;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.player-search-override-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;font:inherit}.override-track{position:relative;width:36px;height:20px;border-radius:999px;background:#c8d2e9;transition:background .2s;flex-shrink:0}.player-search-override-btn.override-on .override-track{background:#2a3759}.override-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .2s}.player-search-override-btn.override-on .override-thumb{left:19px}.override-state-label{font-size:.83rem;color:#2a3759;white-space:nowrap}.player-search-override-btn.override-on .override-state-label{font-weight:600}.player-search-modal-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;flex:1;min-height:0;overflow:hidden}.player-search-modal-list{display:flex;flex-direction:column;gap:.6rem;overflow:hidden}.player-search-modal-search{flex-shrink:0}.modal-search-input{width:100%}.modal-overlay{position:fixed;inset:0;z-index:1000;background:#1e2a4773;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem;animation:overlay-in .2s ease-out}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-panel{width:min(720px,100%);max-height:90vh;overflow-y:auto;animation:panel-in .25s ease-out}@keyframes panel-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{margin:0;font-size:1.35rem;color:#1e2a47}.modal-close{background:none;border:none;font-size:1.6rem;line-height:1;color:#5a6788;cursor:pointer;padding:.2rem .4rem;border-radius:8px;transition:background .15s,color .15s}.modal-close:hover{background:#313d5914;color:#1e2a47}.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.modal-fields{display:grid;gap:.85rem}.modal-label{display:grid;gap:.3rem;font-weight:600;font-size:.92rem;color:#1e2a47}.modal-input,.modal-select{border:1px solid #c8d2e9;border-radius:10px;padding:.6rem .75rem;font:inherit;font-size:.95rem;font-weight:400;color:#1e2a47;background:#fff;box-sizing:border-box;transition:border-color .15s,outline-color .15s}.modal-static-field{padding:.6rem .75rem;font-size:.95rem;font-weight:400;color:#5a6788;background:#f3f5fb;border-radius:10px;border:1px solid #e3e8f4}.modal-search-input:focus{outline:none;border-color:#4668c5;box-shadow:0 0 0 3px #4668c526}.player-search-modal-list .players-table-wrap{flex:1;overflow-y:auto;min-height:0}.player-search-modal-panel-wrap{overflow-y:auto;min-height:0}@media(max-width:860px){.player-search-modal-body{grid-template-columns:1fr}.player-search-modal-panel-wrap{max-height:300px}}.modal-input:focus,.modal-select:focus{outline:2px solid #5dd4f0;outline-offset:1px;border-color:#5dd4f0}.modal-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%235a6788' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem;cursor:pointer}.modal-budget-input{position:relative;display:flex;align-items:center}.budget-prefix{position:absolute;left:.75rem;font-weight:600;color:#5a6788;pointer-events:none}.budget-field{padding-left:1.5rem;width:100%}.budget-field::-webkit-inner-spin-button,.budget-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-field{-moz-appearance:textfield}.modal-positions{background:#f4f8ff;border:1px solid rgba(49,61,89,.1);border-radius:14px;padding:1rem 1.25rem}.modal-positions h3{margin:0 0 .75rem;font-size:1rem;color:#263a63;text-align:center}.positions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem}.position-item{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.88rem;color:#2a3759}.position-name{font-weight:600}.position-count{color:#0090b8;font-weight:700}.modal-footer{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:600px){.modal-body{grid-template-columns:1fr}}.edit-league-modal-panel{width:min(860px,100%)}.edit-league-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem;align-items:start}.edit-teams-panel{background:#f4f8ff;border:1px solid rgba(49,61,89,.1);border-radius:14px;padding:1rem}.edit-teams-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.edit-teams-header h3{margin:0;font-size:1rem;color:#263a63}.add-team-controls{display:flex;align-items:center;gap:.5rem}.add-team-count-input{width:90px}.team-list{display:grid;gap:.5rem;max-height:340px;overflow-y:auto;padding-right:.2rem}.team-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;border:1px solid #d7e2f4;border-radius:10px;background:#fff;padding:.45rem .55rem}.team-name-input{width:100%}.team-name-text-button{border:none;background:none;text-align:left;color:#1e2a47;font:inherit;padding:.35rem .25rem;border-radius:8px;cursor:default}.team-name-text-button:focus{outline:2px solid #7eb1ff;outline-offset:1px}.team-row-actions{display:flex;align-items:center;gap:.35rem}.team-action-btn{padding:.35rem .55rem;font-size:.78rem}.team-delete-btn{color:#8b2530;border-color:#e9b8bf}@media(max-width:700px){.edit-league-body,.team-row{grid-template-columns:1fr}.team-row-actions{justify-content:flex-end}}.tutorial-overlay{z-index:1100}.tutorial-modal-panel{width:min(860px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.tutorial-modal-panel.modal-panel{overflow-y:hidden}.tutorial-page-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-bottom:.25rem}.tutorial-image-wrap{width:100%;border-radius:12px;overflow:hidden;background:#0000000a;border:1px solid rgba(49,61,89,.1);display:flex;align-items:center;justify-content:center}.tutorial-page-image{width:100%;max-height:340px;object-fit:contain;display:block}.tutorial-page-text{color:#2e3a55;font-size:.95rem;line-height:1.65}.tutorial-page-text p{margin:0 0 .65rem}.tutorial-page-text p:last-child{margin-bottom:0}.tutorial-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.1rem;margin-top:.5rem;border-top:1px solid rgba(49,61,89,.1);flex-shrink:0}.tutorial-page-counter{font-size:.85rem;color:#5a6788;font-weight:500;text-align:center;flex:1}.league-tabs{margin-top:1rem;display:flex;gap:.65rem;flex-wrap:wrap}.league-tab{border:1px solid #ccd8f2;background:#fff;color:#30456e;border-radius:999px;padding:.5rem .85rem;font:inherit;font-weight:700;cursor:pointer}.league-tab.active{background:#1f6fff;border-color:#1f6fff;color:#fff}.league-summary-strip{margin-top:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.league-summary-metric{background:#f8fafff2;border:1px solid rgba(49,61,89,.1);border-radius:12px;padding:.8rem .9rem;display:grid;gap:.2rem}.league-summary-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#4866a2;font-weight:700}.my-team-selector-row{margin-top:1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.draft-btn{margin-left:auto}.my-team-select{min-width:220px;border:1px solid #c8d2e9;border-radius:10px;padding:.55rem .7rem;font:inherit;background:#fff;color:#243457}.my-team-select:focus{outline:2px solid #7eb1ff;outline-offset:1px}.sort-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.sort-btn{border:1px solid #c8d2e9;background:#fff;color:#30456e;border-radius:999px;padding:.3rem .75rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.sort-btn:hover{background:#eef3ff;border-color:#7eb1ff}.sort-btn-active{background:#1f6fff;border-color:#1f6fff;color:#fff}.sort-btn-active:hover{background:#1459e0}.team-filter-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}.team-filter-btn{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-board-wrap{margin-top:.5rem;overflow-x:auto;border:1px solid rgba(49,61,89,.16);border-radius:14px;background:#ffffffb8}.roster-board{min-width:max-content;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:.6rem;padding:.75rem;align-items:start}.roster-column{min-height:100%;background:linear-gradient(180deg,#fffffffa,#f5f9fff0);border:1px solid rgba(49,61,89,.12);border-radius:12px;box-shadow:0 4px 12px #1f2a440f;overflow:hidden}.roster-column-mine{border-color:#1f6fff;box-shadow:0 0 0 2px #1f6fff2e,0 4px 12px #1f2a4414}.roster-column-head{padding:.65rem .75rem .55rem;border-bottom:1px solid rgba(49,61,89,.1);background:linear-gradient(145deg,#edf4ff,#f7fbff)}.roster-column-head-top{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.35rem}.roster-column-head-top h2{margin:0;font-size:.88rem;color:#1e2a47;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-team-badge{display:inline-flex;align-items:center;border:1.5px solid #1f6fff;color:#1f6fff;background:transparent;border-radius:6px;padding:.1rem .35rem;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.roster-head-stats{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.72rem;color:#243457;font-weight:600}.stat-label{font-size:.62rem;font-weight:700;text-transform:uppercase;color:#4866a2;margin-right:.15rem}.roster-slot-list{display:grid}.roster-slot-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.5rem;padding:.3rem .6rem;border-bottom:1px solid rgba(49,61,89,.07);align-items:center;min-height:32px}.roster-slot-card:last-child{border-bottom:none}.roster-slot-empty{opacity:.55}.roster-slot-label{display:inline-flex;align-items:center;justify-content:center;height:22px;border-radius:6px;background:#1f6fff;color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.03em}.roster-slot-label.taxi-label{background:#cb5229}.roster-slot-content{min-width:0;display:flex;flex-direction:column;gap:.05rem}.slot-name{font-size:.78rem;font-weight:700;color:#243457;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.slot-meta{font-size:.67rem;color:#7b95c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.slot-empty-label{font-size:.72rem;color:#b0bedd;font-style:italic}.taxi-squad-divider{padding:.35rem .6rem .2rem;border-top:2px dashed #c8d2e9;margin-top:.25rem;text-align:center}.taxi-squad-divider .eyebrow{font-size:.62rem}@media(max-width:1100px){.league-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.league-summary-strip{grid-template-columns:1fr}}.predraft-divider{border:none;border-top:1px solid rgba(49,61,89,.15);margin:1.5rem 0 1rem}.predraft-empty-slot{color:#98a4bc;font-weight:500;font-size:.9rem}.predraft-add-btn{margin-top:.3rem;padding:.3rem .75rem;font-size:.8rem;align-self:start}.btn-sm{padding:.3rem .65rem;font-size:.82rem;border-radius:8px}.roster-slot-card-selected{background:#1f6fff0f;outline:2px solid rgba(31,111,255,.3);outline-offset:-2px;border-radius:4px}.predraft-source-row{margin-top:.6rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.predraft-source-error{font-size:.85rem;color:#d0433a}:root{font-family:Sora,Segoe UI,sans-serif;color:#1e2a47;background:#f3f8ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}a{color:inherit}
