:root{--bg-primary: #f7f0e4;--bg-secondary: #efe5d4;--bg-card: #fffaf0;--bg-nav: #f7f0e4;--bg-nav-overlay: #f7f0e4;--accent: #3f6b55;--accent-hover: #2f5743;--text-on-accent: #fffaf0;--text-primary: #15181a;--text-secondary: #50504b;--text-muted: #77736c;--border: #cfc4b4;--danger: #c83d35;--warning: #b56e11;--status-questionable: #f59e0b;--status-doubtful: #f97316;--status-pup: #8b5cf6;--nav-height: 58px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--text-3xs: .7rem;--text-2xs: .7rem;--text-xs: .7rem;--text-dense: .62rem;--text-sm: .8rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.15rem;--text-xl: 1.4rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--font-sans: -apple-system, BlinkMacSystemFont, "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--font-brand: "Barlow Condensed", "Arial Narrow", "Avenir Next Condensed", "Franklin Gothic Medium", sans-serif;--type-weight-meta: 600;--type-weight-number: 600;--type-weight-strong: 700;--type-weight-emphasis: 800;--type-tracking-meta: .04em;--type-tracking-micro: .06em;--bg-header-strip: #efe5d4;--bg-row-alt: #fffaf0;--text-on-strip: #15181a;--radius-sm: 4px;--radius-md: 10px;--radius-md-lg: 14px;--radius-lg: 16px;--shadow-card: 0 10px 28px rgba(22, 31, 35, .06);--shadow-soft: 0 2px 12px rgba(22, 31, 35, .04);--page-panel-pad: .95rem;--table-cell-pad-y: .78rem;--table-cell-pad-x: .85rem;--surface-route: #3f6b55;--surface-route-faint: #e2eadf;--surface-success: #e2eadf;--body-background: #f7f0e4;--surface-panel: #fffaf0;--surface-panel-strong: #fffaf0;--surface-panel-soft: #f3ebde;--surface-subtle: #efe5d4;--surface-strong: #fffaf0;--surface-input: #fffaf0;--surface-metric: #f3ebde;--surface-table-head: #efe5d4;--surface-table: #fffaf0;--surface-row-hover: #e2eadf;--surface-line: #ded2c1;--surface-pill-flat: #e5ded2;--surface-empty: #9aa5b2;--border-strong: #827d73;--overlay-backdrop: rgba(21, 24, 26, .82);--modal-shadow: 0 26px 60px rgba(17, 30, 36, .18)}:root[data-theme=dark]{--bg-primary: #15181a;--bg-secondary: #1d2022;--bg-card: #202426;--bg-nav: #15181a;--bg-nav-overlay: #15181a;--accent: #6f9a7d;--accent-hover: #86ad91;--text-on-accent: var(--bg-primary);--text-primary: #f7f0e4;--text-secondary: #c7c2b9;--text-muted: #a49f96;--border: #434646;--danger: #ef7c74;--warning: #e5b157;--bg-header-strip: #202426;--bg-row-alt: #1a1d1e;--text-on-strip: #f7f0e4;--shadow-card: 0 12px 32px rgba(0, 0, 0, .28);--shadow-soft: 0 6px 20px rgba(0, 0, 0, .18);--surface-route: #6f9a7d;--surface-route-faint: #23362a;--surface-success: #23362a;--body-background: #15181a;--surface-panel: #202426;--surface-panel-strong: #25292a;--surface-panel-soft: #1d2022;--surface-subtle: #1d2022;--surface-strong: #292d2e;--surface-input: #202426;--surface-metric: #1d2022;--surface-table-head: #202426;--surface-table: #1d2022;--surface-row-hover: #23362a;--surface-line: #3b3e3d;--surface-pill-flat: #303332;--surface-empty: #8d8981;--border-strong: #76736d;--overlay-backdrop: rgba(9, 13, 17, .72);--modal-shadow: 0 30px 70px rgba(0, 0, 0, .36)}*{margin:0;padding:0;box-sizing:border-box}html{min-height:100%;background:var(--bg-primary)}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overflow-x:hidden;overscroll-behavior:none;width:100%;min-height:100%}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--body-background),var(--bg-primary)}#root{min-height:100dvh}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-scroll{flex:1 0 auto}.app-main{padding-top:calc(var(--nav-height) + var(--safe-area-top) + 1rem);padding-bottom:calc(3rem + var(--safe-area-bottom))}.app-loading-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:calc(1rem + var(--safe-area-top)) calc(1rem + var(--safe-area-right)) calc(1rem + var(--safe-area-bottom)) calc(1rem + var(--safe-area-left))}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.skeleton{--skeleton-base: color-mix(in srgb, var(--text-secondary) 12%, transparent);--skeleton-sheen: color-mix(in srgb, var(--text-secondary) 22%, transparent);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-sheen) 50%,var(--skeleton-base) 75%);background-size:300% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.6s linear infinite}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.skeleton-td{padding:.55rem .75rem}.skeleton-badge{width:32px;height:20px;border-radius:var(--radius-md)}.skeleton-identity{display:flex;align-items:center;gap:.55rem;min-width:140px}.skeleton-avatar{width:32px;height:34px;border-radius:50%;flex-shrink:0}.skeleton-identity-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:.32rem}.skeleton-bar{height:12px;min-width:28px}.team-roster-row.is-skeleton{grid-template-columns:minmax(0,1fr) 52px}.team-roster-row.is-skeleton .team-roster-player{display:flex;align-items:center;gap:.55rem;min-width:0}.team-roster-row.is-skeleton .skeleton-avatar{width:36px;height:36px}.bench-card.is-skeleton .skeleton-avatar{width:30px;height:30px}.bench-card.is-skeleton>.skeleton:not(.skeleton-avatar){width:70%}input,select{font-family:inherit}.container{max-width:min(1280px,100%);margin:0 auto;padding-left:max(1.25rem,var(--safe-area-left));padding-right:max(1.25rem,var(--safe-area-right));box-sizing:border-box}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1rem;border-radius:0;font-weight:700;font-size:var(--text-base);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;transition:background .15s ease,border-color .15s ease,opacity .15s ease,color .15s ease;white-space:nowrap;cursor:pointer}.btn-primary{background:var(--accent);color:var(--text-on-accent);border:1px solid var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{background:color-mix(in srgb,var(--accent) 38%,transparent);border-color:color-mix(in srgb,var(--accent) 18%,transparent);color:color-mix(in srgb,var(--text-on-accent) 88%,transparent);opacity:1;cursor:not-allowed}.btn-secondary{background:var(--surface-subtle);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-strong);border-color:var(--border-strong)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 34%,transparent)}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font-size:inherit;font-weight:700;text-decoration:none}.player-name-stack{display:flex;flex-direction:column;min-width:0;line-height:1.14}.player-name-stack>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-player-link{background:none;border:none;padding:0;font-weight:500;font-size:inherit;color:var(--text-primary);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:#fff3;text-underline-offset:2px}.card{background:var(--surface-panel);border-radius:0;padding:1.5rem;border:1px solid var(--surface-line);box-shadow:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(1rem,var(--safe-area-top)) max(1rem,var(--safe-area-right)) max(1rem,var(--safe-area-bottom)) max(1rem,var(--safe-area-left));background:var(--overlay-backdrop);backdrop-filter:none;-webkit-backdrop-filter:none;animation:modal-backdrop-in .15s ease-out}.modal-backdrop-top{align-items:flex-start;padding-top:max(.75rem,var(--safe-area-top))}.modal-shell{width:100%;max-height:min(88vh,calc(100dvh - max(1rem,var(--safe-area-top)) - max(1rem,var(--safe-area-bottom))));overflow-y:auto;overscroll-behavior:contain;position:relative;background:var(--surface-panel-strong);border:2px solid var(--text-primary);border-radius:0;box-shadow:none;animation:modal-shell-in .15s ease-out}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-shell-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal-shell{animation:none}}.modal-body{position:relative;padding:1.35rem}.modal-stack{display:flex;flex-direction:column;gap:.95rem}.modal-header-band{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--surface-line);background:var(--surface-panel);position:sticky;top:0;z-index:5}.modal-surface,.modal-table-card{background:var(--surface-table);border:1px solid var(--border);border-radius:0;box-shadow:none;overflow:hidden}.modal-title{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--type-weight-strong);line-height:1.15;letter-spacing:-.02em;text-transform:none;margin:0}.modal-heading{min-width:0;padding-right:2.7rem}.modal-heading .modal-title{overflow-wrap:anywhere}.modal-subtitle{color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.modal-kicker,.modal-section-label{font-size:var(--text-xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.modal-kicker{color:var(--text-secondary)}.modal-section{margin-bottom:1rem}.modal-section-label{color:var(--text-secondary);margin:0}.modal-toolbar,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.modal-actions{justify-content:flex-end}.modal-close-btn{position:absolute;top:.9rem;right:.9rem;z-index:6;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-md);line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.modal-close-btn:hover{background:var(--surface-strong);border-color:var(--border-strong);color:var(--text-primary)}.team-header{background:var(--bg-header-strip)}.team-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.4rem .75rem;flex-wrap:wrap}.team-page-heading{margin-bottom:.12rem}.team-head-week{display:flex;align-items:center;justify-self:start}.page-panel-header.team-page-panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:36px;margin-top:-.15rem;padding-left:0;padding-right:.82rem}.team-head-controls{display:flex;align-items:center;min-height:36px;gap:.55rem;flex-shrink:0;justify-self:end}.team-page-panel-header .team-page-name,.team-page-panel-header .team-inline-select-shell,.team-page-panel-header .team-roster-total{align-self:center}.team-page-panel-header .team-page-name{justify-self:start}.team-head-note{color:var(--text-muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.team-notice-stack{display:grid;gap:.4rem;margin:-.5rem 0 -.6rem}.team-notice-stack:empty{display:none}.team-action-bar{position:fixed;top:calc(var(--nav-height) + var(--safe-area-top) + .4rem);left:max(1.25rem,var(--safe-area-left));right:max(1.25rem,var(--safe-area-right));z-index:30;display:flex;align-items:center;gap:.6rem;max-width:1280px;margin:0 auto;padding:.42rem .6rem .42rem .8rem;border:2px solid var(--accent);border-radius:0;background:var(--surface-panel);box-shadow:none}.team-action-bar-text{flex:1 1 auto;min-width:0;color:var(--text-primary);font-size:var(--text-xs);font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.team-action-bar-actions{flex:0 0 auto;display:flex;align-items:center;gap:.4rem}.team-toast-stack{position:fixed;bottom:calc(1rem + var(--safe-area-bottom));left:50%;z-index:40;transform:translate(-50%);display:grid;justify-items:center;gap:.4rem;width:max-content;max-width:min(92vw,420px);pointer-events:none}.team-toast{display:flex;align-items:center;gap:.5rem;max-width:100%;pointer-events:auto;padding:.5rem .9rem;border:2px solid var(--border);border-radius:0;background:var(--surface-panel);box-shadow:none;color:var(--text-primary);font-size:var(--text-xs);font-weight:600;text-align:center;animation:team-toast-in .18s ease-out}.team-toast.is-success{border-color:color-mix(in srgb,var(--accent) 40%,var(--surface-line))}.team-toast.is-danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--surface-line));color:var(--danger)}.team-toast.is-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--surface-line));color:var(--warning)}.team-toast-text{min-width:0}.team-toast-close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin:-.3rem -.5rem -.3rem 0;padding:0;border:none;border-radius:0;background:none;color:inherit;opacity:.65;font-size:var(--text-2xs);line-height:1;cursor:pointer}.team-toast-close:hover{opacity:1}@keyframes team-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.team-toast{animation:none}}.notice-bar{display:flex;align-items:center;gap:.7rem;padding:.5rem .75rem;border-radius:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;line-height:1.3}.notice-bar-text{flex:1 1 auto;min-width:0;text-align:center}.notice-bar:has(.notice-bar-actions) .notice-bar-text{text-align:left}.notice-bar-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.notice-bar strong{color:var(--text-primary);font-weight:var(--type-weight-strong)}.notice-bar--quiet{padding:0 .24rem;border:none;background:none;color:var(--text-muted);text-align:center}.notice-bar--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.notice-bar--success{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.notice-bar--info{border-color:color-mix(in srgb,var(--accent) 18%,var(--surface-line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-subtle))}.notice-bar--warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 26%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.btn-compact{padding:.34rem .72rem;font-size:var(--text-xs)}.notice-bar .btn-compact{font-size:inherit;padding:.3rem .66rem}.notice-bar:has(.notice-bar-actions){padding-top:.34rem;padding-bottom:.34rem}.team-roster-head{display:grid;grid-template-columns:minmax(auto,1fr) minmax(0,auto) minmax(auto,1fr);align-items:center;gap:.5rem;margin-bottom:.8rem;padding:0 .82rem 0 .5rem}.team-roster-total{min-width:52px;text-align:right;display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.28rem}.team-page-title-row{display:flex;align-items:baseline;justify-content:center;gap:.32rem;flex-wrap:nowrap;min-width:0;min-height:calc(var(--text-2xl) * 1.25)}.team-roster-head .team-page-name{min-width:0}.team-roster-head .team-page-name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.team-page-name{font-family:var(--font-sans);font-weight:var(--type-weight-strong);letter-spacing:-.02em;text-transform:none;min-width:0;display:block;line-height:1.24;overflow:visible}.team-page-name-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.28;padding-top:.14em;padding-bottom:.04em;box-sizing:border-box}.page-title-truncate{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.12}.table-name-truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.team-inline-select-shell{position:relative;min-width:104px;width:fit-content}.team-inline-select{min-width:72px;padding:.32rem 1.5rem .32rem .58rem;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface-input);border-color:var(--border);box-shadow:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.team-inline-select-icon{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--text-sm);font-weight:600;pointer-events:none}.team-inline-select-shell--lite{min-width:0}.team-inline-select-shell--lite .team-inline-select{min-width:max-content;min-height:0;padding:.2rem .7rem .2rem .2rem;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.team-inline-select-shell--lite .team-inline-select-icon{right:.06rem;font-size:var(--text-2xs)}.team-total-score{display:inline-flex;align-items:baseline;gap:.22rem;white-space:nowrap;min-width:92px;justify-content:flex-end}.team-total-score-value{color:var(--text-primary);font-size:var(--text-2xl);font-weight:800;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}.team-live-flag{color:var(--accent)}.team-status-note{margin-top:.8rem;padding:.8rem .9rem;border-radius:12px;border:1px solid var(--surface-line);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-sm)}.team-status-note.is-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.team-status-note.is-success{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.team-status-note.is-info{color:var(--text-secondary);border-color:color-mix(in srgb,var(--accent) 18%,var(--surface-line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-subtle))}.team-status-note.is-warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 26%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.team-roster-board{display:grid;gap:.8rem}.team-roster-group{border:1px solid var(--border);border-radius:0;border-top:2px solid var(--accent);background:var(--surface-table);overflow:hidden}.team-roster-group-note{flex:0 0 auto;color:var(--text-secondary);font-size:var(--text-2xs)}.team-roster-list{display:grid}.team-roster-group-head-row{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem;padding:.5rem .82rem .28rem .7rem}.team-roster-group-head-row .pos-group-head{flex:1 1 auto;min-width:0}.team-roster-row:has(+.team-roster-group-head-row),.team-roster-list-head:has(+.team-roster-group-head-row){border-bottom:none}.team-roster-list-head{display:grid;grid-template-columns:minmax(0,1fr) 28px 48px 52px;align-items:center;gap:.5rem;padding:.4rem .82rem .34rem .7rem;border-bottom:1px solid var(--surface-line);color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.team-roster-list-head,.team-roster-group-head-row .pos-group-head,.bench-strip-title{font-family:var(--font-sans);font-weight:700;letter-spacing:.07em}.team-roster-list-head-stat{text-align:right}.team-roster-list-head-captain{text-align:center}.team-roster-row{display:grid;grid-template-columns:minmax(0,1fr) 28px 48px 52px;align-items:center;gap:.5rem;min-height:43px;padding:.22rem .82rem .22rem .7rem;border-bottom:1px solid var(--surface-line);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.team-roster-row:last-child{border-bottom:none}.team-roster-row.is-clickable{cursor:pointer}.team-roster-row.is-clickable:hover{background:var(--surface-row-hover)}.team-roster-row.is-selected{background:color-mix(in srgb,var(--surface-route) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-route) 15%,transparent)}.team-roster-row.is-target{background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.team-roster-row.is-build{grid-template-columns:minmax(0,1fr) 36px}.team-roster-row.is-open{min-height:36px;background:var(--surface-subtle)}.team-roster-open-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.team-roster-open-button:hover{background:var(--surface-row-hover)}.team-roster-open-copy{color:var(--text-muted);font-size:var(--text-sm)}.team-roster-remove{display:flex;align-items:center;justify-content:center}.bench-card.is-open{justify-content:center;gap:.3rem}.bench-card-open-button{width:100%;border-top:0;border-bottom:0;border-left:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.bench-card-open-button:hover{background:var(--surface-row-hover)}.bench-card-open-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px dashed var(--surface-line);border-radius:0;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta)}.bench-card-open-copy{color:var(--text-muted);font-size:var(--text-2xs)}.bench-card-remove{position:absolute;top:.1rem;right:.1rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-radius:var(--radius-sm)}.bench-strip{border:1px solid var(--border);border-radius:0;border-top:2px solid var(--accent);background:var(--surface-table);overflow:hidden}.bench-strip-head{display:flex;align-items:baseline;gap:.5rem;padding:.5rem .82rem .34rem .7rem;border-bottom:1px solid var(--surface-line)}.bench-strip-title{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.bench-strip-hint{flex:1 1 auto;min-width:0;color:var(--text-muted);font-size:var(--text-2xs);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bench-strip-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.bench-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.18rem;min-width:0;padding:.5rem .18rem .45rem;border-right:1px solid var(--surface-line);text-align:center;transition:background .15s ease,box-shadow .15s ease}.bench-card:last-child{border-right:none}.bench-card.is-clickable{cursor:pointer}.bench-card.is-clickable:hover{background:var(--surface-row-hover)}.bench-card.is-selected{background:color-mix(in srgb,var(--surface-route) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-route) 15%,transparent)}.bench-card.is-target{background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.bench-card-order{position:absolute;top:.24rem;left:.34rem;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);font-variant-numeric:tabular-nums;line-height:1}.bench-card-avatar-btn{display:block;padding:0;border:none;background:none;cursor:pointer;line-height:0}.bench-card-name{max-width:100%;color:var(--text-primary);font-size:var(--text-xs);font-weight:600;line-height:1.15;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bench-card-meta{display:flex;align-items:center;gap:.24rem;max-width:100%;color:var(--text-secondary);font-size:var(--text-dense);overflow:hidden;white-space:nowrap}.bench-card-tag{margin-top:.1rem}.bench-card-line{display:flex;align-items:baseline;justify-content:center;gap:.16rem;max-width:100%;min-width:0}.bench-card-line .bench-card-meta{min-width:0;gap:.18rem;text-overflow:ellipsis}.bench-card-pts{color:var(--text-primary);font-size:var(--text-dense);font-weight:var(--type-weight-strong);font-variant-numeric:tabular-nums;line-height:1}.bench-card-pts.is-price{color:var(--text-primary);opacity:1}.bench-card-pts.is-proj{font-style:italic}.team-roster-slot{display:flex;align-items:center}.team-roster-player{display:flex;align-items:center;gap:.6rem;min-width:0}.trades-out-identity{display:flex;align-items:center;gap:.5rem;min-width:0}.roster-slot-tag{display:none}.team-roster-avatar-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;line-height:0}.team-roster-player-copy{min-width:0}.team-roster-player-name,.team-roster-name-btn{font-size:var(--text-base);font-weight:700;line-height:1.05;min-width:0}.team-roster-name-btn{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;text-underline-offset:0}.team-roster-player-subline{display:flex;align-items:center;gap:.22rem;flex-wrap:nowrap;margin-top:.24rem;color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;overflow:hidden;white-space:nowrap}.team-roster-player-subline-shared{margin-top:.26rem}.team-roster-player-subline>span:not(:last-child):not(.pos-pill):after,.player-meta-inline>span:not(:last-child):not(.pos-pill):after{content:"·";margin-left:.26rem;color:var(--text-muted)}.player-meta-inline>span.player-meta-team-joined:not(:last-child):after{content:none}.team-roster-player-subline>.pos-pill:not(:last-child)+*:before,.player-meta-inline>.pos-pill:not(:last-child)+*:before{content:"·";margin-right:.26rem;color:var(--text-muted)}.team-roster-player-subline span{overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.status-tag{border:none;background:none;padding:0;font-size:var(--text-xs);font-weight:var(--type-weight-meta);line-height:1;letter-spacing:0;flex-shrink:0}.team-roster-player-subline .status-tag,.team-roster-player-subline .pos-pill{overflow:visible;flex-shrink:0;min-width:auto}.team-roster-captain{display:flex;align-items:center;justify-content:center;min-width:0}.status-tag--out{color:var(--danger)}.status-tag--bye{color:var(--warning);font-weight:var(--type-weight-strong)}.status-tag--doubtful{color:var(--status-doubtful)}.status-tag--questionable{color:var(--status-questionable)}.status-tag--pup{color:var(--status-pup)}.status-tag-captain{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:23px;height:24px;border:1px solid var(--warning);border-radius:3.5px;background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);font-size:var(--text-xs);font-weight:800;line-height:1}.status-tag-captain:after{content:"★★★";font-size:5.5px;font-weight:400;letter-spacing:.6px;margin-right:-.6px;line-height:1}button.status-tag-captain{position:relative;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,opacity .15s ease}button.status-tag-captain:before{content:"";position:absolute;top:-.3rem;right:-.3rem;bottom:-.3rem;left:-.3rem}button.status-tag-captain:not(.is-active),.status-tag-captain.is-inert:not(.is-active){color:var(--text-muted);border-color:transparent;background:transparent;opacity:.6}button.status-tag-captain:not(.is-active):after,.status-tag-captain.is-inert:not(.is-active):after{display:none}button.status-tag-captain:hover,button.status-tag-captain:focus-visible{color:var(--warning);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);opacity:1}button.status-tag-captain:hover:after,button.status-tag-captain:focus-visible:after{display:block}.team-roster-player-copy .flex-row.gap-2xs{min-width:0}.team-roster-stat{display:flex;align-items:center;justify-content:flex-end;min-width:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.team-roster-opp{color:var(--text-muted)}.team-roster-opp span{font-weight:500}.team-roster-opp.is-bye,.team-roster-opp.is-bye span{color:var(--warning);font-weight:var(--type-weight-strong)}.team-roster-score{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--type-weight-strong);font-variant-numeric:tabular-nums;white-space:nowrap}.team-roster-score-muted{color:var(--text-muted)}.compact-stats tr.is-proj,.team-roster-score.is-proj,.team-total-score-value.is-proj{font-style:italic}.pos-filter-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:44px;height:34px;padding:0 .7rem;flex-shrink:0;background:var(--surface-subtle);border:1px solid color-mix(in srgb,var(--text-secondary) 18%,transparent);border-radius:0;font-size:var(--text-sm);font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color .15s,border-color .15s,background .15s;color:var(--text-muted)}.pos-filter-btn.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pos-filter-btn.is-disabled{opacity:.4;cursor:not-allowed;border-style:dashed;background:transparent}.position-filter-group{display:inline-flex;align-items:center;gap:0;min-width:fit-content;flex-shrink:0}.input{width:100%;padding:.8rem .95rem;background:var(--surface-input);border:1px solid var(--border);border-radius:0;color:var(--text-primary);font-size:var(--text-base);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.trades-squad-board{display:grid}.trades-squad-row{display:grid;grid-template-columns:50px minmax(0,1fr) 52px 48px 24px;align-items:center;gap:.5rem;min-height:58px;padding:.4rem .68rem;border-bottom:1px solid var(--surface-line);transition:background .15s ease}.trades-board-header{display:grid;grid-template-columns:50px minmax(0,1fr) 52px 48px 24px;gap:.5rem;align-items:center;min-height:38px;padding:.52rem .68rem;border-bottom:1px solid var(--surface-line);background:var(--surface-table-head);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);position:sticky;top:0;z-index:2}.trades-board-header .trades-board-h-num{text-align:right}.trades-replacement-add-btn{padding:.1rem .3rem}.trades-replacement-add-btn:disabled{opacity:.3}.trades-squad-action{display:flex;justify-content:flex-end}.trades-mark-btn{background:none;border:none;cursor:pointer;color:var(--danger);font-size:var(--text-md);font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:.1rem .3rem;border-radius:var(--radius-sm)}.trades-mark-btn.is-restore{color:var(--accent);font-size:var(--text-sm)}.trades-mark-btn:hover{background:var(--surface-row-hover)}.trades-squad-row:last-child{border-bottom:none}.trades-squad-row.is-clickable{cursor:pointer}.trades-squad-row.is-clickable:hover{background:var(--surface-row-hover)}.trades-squad-slot{display:flex;align-items:center}.trades-squad-stat{text-align:right;font-size:var(--text-sm);font-variant-numeric:tabular-nums}@media (max-width: 768px){.app-main{padding-top:calc(var(--nav-height) + var(--safe-area-top) + .65rem);padding-bottom:calc(.75rem + var(--safe-area-bottom))}.app-shell:has(.team-page-stack) .site-footer{display:none}.page-stack.team-page-stack{gap:.32rem}.team-page-stack .page-panel{--page-panel-pad: .52rem}.app-shell:has(.team-page-stack){height:100dvh;min-height:0}.app-shell:has(.team-page-stack) .app-scroll{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.app-shell:has(.team-page-stack) .app-main{flex:1 1 auto;width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}.page-stack.team-page-stack{align-content:start}.team-inline-select-shell{min-width:96px}.team-inline-select{min-height:36px;padding:.34rem 1.7rem .34rem .66rem;font-size:var(--text-sm);border-radius:0}.team-page-heading{margin-top:0;margin-bottom:0}.team-roster-head{padding:0 .18rem;margin-bottom:.12rem}.team-roster-board{gap:.48rem}.team-season-points,.bench-strip-head{display:none}.bench-card{padding:.42rem .22rem .4rem}.team-roster-group-head-row{display:none}.team-roster-row:has(+.team-roster-group-head-row),.team-roster-list-head:has(+.team-roster-group-head-row){border-bottom:1px solid var(--surface-line)}.trades-squad-row-section{display:none}.trades-squad-card tr:has(+.trades-squad-row-section) td{border-bottom:1px solid var(--surface-line)}.roster-slot-tag{display:block;flex:0 0 26px;line-height:1}.team-roster-row{padding:.34rem .56rem .34rem .7rem;gap:.3rem;grid-template-columns:minmax(0,1fr) 26px 36px 42px}.page-panel-header.team-page-panel-header{padding-right:.56rem}.team-roster-avatar-btn .player-avatar,.team-roster-player .player-avatar{width:36px!important;height:36px!important}.team-roster-player{gap:.5rem}.team-roster-player-name,.team-roster-name-btn{line-height:1.04}.team-roster-player-subline{margin-top:.18rem}.team-roster-score{font-size:var(--text-xs)}.trades-squad-row,.trades-board-header{grid-template-columns:38px minmax(0,1fr) 40px 36px 22px;gap:.3rem}.trades-squad-row{padding:.44rem .56rem}.trades-board-header{padding:.5rem .56rem}.trades-squad-own{display:none}.trades-squad-stat{font-size:var(--text-xs)}.team-page-stack .page-title{font-size:var(--text-lg)}.input{font-size:var(--text-md)}.team-toolbar{align-items:flex-start;gap:.28rem .45rem;flex-wrap:wrap}.team-roster-head{grid-template-columns:minmax(auto,1fr) minmax(0,auto) minmax(auto,1fr);gap:.35rem;margin-bottom:.22rem;padding:0 .56rem 0 .34rem}.team-notice-stack{gap:.3rem;margin:-.1rem 0 0}.notice-bar{gap:.5rem;padding:.42rem .6rem;font-size:var(--text-2xs)}.notice-bar--quiet{padding:0 .56rem}.team-head-controls{gap:.4rem}.team-roster-total{min-width:40px}.team-page-title-row-inline{width:auto;min-width:0}.team-page-title-row{align-items:baseline}.team-inline-select-shell{min-width:0;width:fit-content;max-width:116px}.team-total-score{gap:.18rem;min-width:72px}.team-total-score-value{font-size:var(--text-base)}.team-roster-list-head{grid-template-columns:minmax(0,1fr) 26px 36px 42px;gap:.3rem;padding:.32rem .56rem .28rem .7rem;font-size:.54rem}.team-roster-player-name,.team-roster-name-btn{font-size:.75rem}.team-roster-player-subline{gap:.14rem;font-size:var(--text-2xs);line-height:1.1}.team-roster-player-subline span:not(:last-child):after{margin-left:.16rem}.team-roster-player-copy{overflow:hidden}.team-roster-stat,.team-roster-score{font-size:var(--text-xs)}.team-page-heading{gap:.16rem;margin-bottom:.2rem}.team-page-title-row{gap:.42rem}.team-roster-group-note{display:none}}@media (max-width: 560px){.team-page-stack .page-panel{--page-panel-pad: .58rem}.team-page-stack .page-title{font-size:var(--text-md)}.team-page-title-row{align-items:baseline;gap:.24rem}.team-inline-select{padding:.34rem 1.7rem .34rem .66rem;font-size:var(--text-sm)}}.input-group{display:flex;flex-direction:column;gap:.375rem}.input-group label{font-size:var(--text-sm);font-weight:var(--type-weight-meta);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--type-tracking-meta)}table{width:100%;border-collapse:collapse}th,td{padding:var(--table-cell-pad-y) var(--table-cell-pad-x);text-align:left;font-size:var(--text-base)}th{font-size:var(--text-2xs);font-weight:var(--type-weight-meta);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface-table-head);z-index:3;letter-spacing:var(--type-tracking-micro)}.table-card{background:transparent;min-width:0}.data-table-compact th,.data-table-compact td{padding:.52rem .68rem}.data-table th:not(:first-child),.data-table td:not(:first-child){padding-left:.3rem;padding-right:.3rem}.data-table-numeric-end th:last-child,.data-table-numeric-end td:last-child{padding-right:.8rem}.data-table-compact th{height:38px;vertical-align:middle}.data-table-compact td{height:48px;padding-top:.3rem;padding-bottom:.3rem;vertical-align:middle}.data-table-compact .player-meta-inline{margin-top:.18rem}.data-table-compact .btn-player-link{line-height:1.04}.data-table-compact .skeleton-td{padding:.52rem .68rem}.data-table-compact .skeleton-avatar{width:38px;height:38px}td{border-bottom:1px solid var(--border)}tr:hover td{background:var(--surface-row-hover)}.table-responsive{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;max-height:70vh}table.compact-stats{font-size:var(--text-sm)}table.compact-stats th,table.compact-stats td{padding:.35rem .4rem;text-align:center}table.compact-stats td{font-variant-numeric:tabular-nums}@media (max-width: 640px){table.compact-stats th,table.compact-stats td{padding:.3rem .2rem;font-size:var(--text-xs)}}.pm-weeks{display:flex;flex-direction:column}.pm-week-grid{display:grid;grid-template-columns:1.35rem 2.6rem 1fr auto;align-items:center;gap:.5rem;width:100%;padding:.34rem .7rem;text-align:left;font-size:var(--text-sm)}.pm-week-cols{padding-top:.3rem;padding-bottom:.3rem;border-bottom:1px solid var(--surface-line);background:var(--surface-subtle);color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.pm-shell table.compact-stats th{height:auto;padding-top:.3rem;padding-bottom:.3rem;background:var(--surface-subtle);color:var(--text-muted);border-bottom:1px solid var(--surface-line);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.pm-week-split{padding:.28rem .7rem .26rem;border-top:1px solid var(--surface-line);border-bottom:1px solid var(--surface-line);background:var(--surface-subtle);color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.pm-week-grid--no-opp{grid-template-columns:1.35rem 1fr auto}.pm-week-link{color:inherit;text-decoration:none}.pm-week-link:hover{background:var(--surface-subtle)}.pm-week-line{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pm-week-head.is-proj .pm-week-line{font-style:italic}.pm-week-head+.pm-week-head,.pm-week-bye+.pm-week-head,.pm-week-head+.pm-week-bye,.pm-week-bye+.pm-week-bye{border-top:1px solid var(--surface-line)}.pm-week-bye{color:var(--text-muted)}button.pm-week-head{background:none;border:0;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--text-sm)}button.pm-week-head:hover{background:var(--surface-row-hover)}button.pm-week-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pm-week-opp,.pm-week-pts{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-week-label,.pm-week-opp{font-weight:500;color:var(--text-secondary)}.pm-week-label.table-value-secondary,.pm-week-opp.table-value-secondary{color:var(--text-primary)}.pm-week-label{text-align:left;font-variant-numeric:tabular-nums}.pm-week-pts{text-align:right;min-width:2.6rem}.pm-week-pts.is-proj,.compact-stats .table-number.is-proj{font-style:italic}.pm-shell .modal-header-band{padding:.8rem 1.25rem .75rem}.pm-identity-meta{margin-top:.28rem}.pm-shell .modal-content-pad{padding:.85rem 1.25rem 0}.pm-shell .modal-section,.pm-news{margin-bottom:.8rem}.pm-news-body{padding:.6rem .8rem}.pm-shell:after{content:"";display:block;position:sticky;bottom:0;height:26px;pointer-events:none;background:linear-gradient(to top,var(--surface-panel-strong),transparent),linear-gradient(to top,var(--surface-panel-strong),transparent)}.season-points-week-toggle{display:inline-flex;align-items:center;gap:.45rem;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}.season-points-week-caret{width:.7rem;height:.7rem;position:relative;color:var(--text-muted);flex-shrink:0}.season-points-week-caret:before{content:"";position:absolute;top:.14rem;left:.12rem;width:.32rem;height:.32rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.season-points-week-row.is-open .season-points-week-caret:before{transform:rotate(45deg)}.season-points-week-feed-row td{padding:.6rem .9rem 1rem;background:var(--surface-subtle);border-top:none}.hide-mobile{display:table-cell}@media (max-width: 640px){.hide-mobile{display:none}}.sort-header{white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer}.sticky-header{position:sticky;top:0;z-index:3;background:var(--surface-table-head)}.app-nav{background:var(--bg-nav);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:2px solid var(--text-primary);box-shadow:none;padding-top:var(--safe-area-top);position:fixed;top:0;left:0;right:0;z-index:100}@supports (-webkit-touch-callout: none){.app-nav,.modal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}.app-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:var(--nav-height);position:relative}.nav-title{font-family:var(--font-brand);display:inline-flex;align-items:center;gap:.42rem;font-size:clamp(1.3rem,1.9vw,1.38rem);font-weight:var(--type-weight-emphasis);letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);text-decoration:none;white-space:nowrap}.nav-brand-mark{width:1.8em;height:1.015em;flex:none;display:block}.app-nav-links{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.nav-link{flex-shrink:0;padding:.35rem .6rem;border-radius:0;font-size:var(--text-base);font-weight:var(--type-weight-strong);color:var(--text-secondary);text-decoration:none;transition:color .15s,background .15s}.nav-link-inline{display:inline-flex;align-items:baseline;gap:.4rem;min-width:0;max-width:100%}.nav-link-inline-label{flex-shrink:0}.nav-link-inline-sub{display:inline-block;max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--type-weight-meta)}.desktop-nav .nav-link-inline-sub{display:none}.desktop-nav .nav-link-inline{align-items:center;line-height:1.5;white-space:nowrap}.nav-link-active{background:transparent;box-shadow:inset 0 -3px 0 var(--accent);color:var(--text-primary)}.app-nav-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.app-nav-status{display:flex;align-items:center;justify-content:flex-end;gap:.36rem;flex:0 0 auto;flex-wrap:nowrap;min-width:0}.nav-status-chip{display:inline-flex;align-items:center;min-height:28px;max-width:min(28ch,32vw);padding:.22rem .48rem;border-radius:0;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);line-height:1.1;letter-spacing:0;white-space:nowrap;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.nav-status-rank{color:var(--accent);font-weight:var(--type-weight-strong);max-width:25ch;background:var(--surface-success);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}a.nav-status-rank{text-decoration:none;transition:background .15s,border-color .15s}a.nav-status-rank:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface-success));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.nav-auth-btn,.nav-theme-toggle{min-height:32px;padding:.38rem .72rem;font-size:var(--text-sm);border-radius:0}.nav-theme-toggle{min-width:56px}.nav-account{position:relative;display:inline-flex}.nav-account-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:1;min-width:11rem;padding:.3rem;display:flex;flex-direction:column;gap:.1rem;border:2px solid var(--text-primary);border-radius:0;background:var(--bg-nav-overlay);box-shadow:none}.nav-account-menu-head{padding:.35rem .55rem .45rem;margin-bottom:.15rem;border-bottom:1px solid var(--surface-line);color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-account-item{padding:.45rem .55rem;border:0;border-radius:0;background:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--type-weight-strong);text-align:left;cursor:pointer}.nav-account-item:hover{background:var(--surface-row-hover);color:var(--text-primary)}.mobile-nav-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:var(--text-2xl);place-items:center;min-width:44px;min-height:44px;padding:0;line-height:1;margin-left:auto;margin-right:-.35rem}.mobile-nav-close{font-weight:900;font-size:var(--text-2xl)}.mobile-menu{display:none;flex-direction:column;gap:.35rem;padding:.55rem 0 1rem;border-top:2px solid var(--text-primary);background:var(--bg-nav-overlay)}.mobile-nav-link{display:flex;align-items:center;min-height:44px;padding:.7rem .95rem;border-radius:0;border-left:3px solid transparent;color:var(--text-secondary);font-size:var(--text-base);font-weight:700;text-decoration:none}.mobile-nav-link-active{color:var(--text-primary);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.mobile-nav-link-row{display:flex;align-items:center;min-height:44px;padding:0}.mobile-nav-link-row .mobile-nav-link{flex:1 1 auto;min-width:0;padding:.7rem .35rem .7rem .95rem}.mobile-nav-edit-btn{width:32px;height:44px;margin:0 .95rem 0 0;padding:0;border:0;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.mobile-nav-auth{padding:.8rem .95rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:.75rem;border-top:1px solid var(--surface-line);margin-top:.45rem}.nav-auth-btn-mobile{width:auto}.page-stack{display:grid;gap:1rem}.page-band,.page-panel{background:var(--surface-panel);border:1px solid var(--border);border-radius:0;box-shadow:none;min-width:0}.page-band{padding:1.1rem 1.2rem 1.15rem;background:var(--surface-panel);border-top:4px solid var(--accent)}.page-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-title{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--type-weight-strong);line-height:1.12;letter-spacing:-.02em;text-transform:none;margin:0}.page-section-meta{font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-secondary)}.page-panel{padding:var(--page-panel-pad);background:var(--surface-panel)}.page-panel-header{margin-bottom:.8rem}.page-feedback,.page-empty-state,.table-empty-state{text-align:center;color:var(--text-secondary)}.page-feedback{padding:2rem}.page-feedback-error{color:var(--danger)}.page-empty-state,.table-empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem}.page-empty-state{padding:3rem 0}.table-empty-state{padding:2rem 1rem 2.2rem;font-size:var(--text-sm)}.page-empty-copy,.page-supporting-text{margin:0;font-size:var(--text-base);line-height:1.45;color:var(--text-secondary)}.page-error-text{margin:0;font-size:var(--text-base);line-height:1.45;color:var(--danger)}.page-empty-copy-muted{color:var(--text-muted)}.page-label-meta{font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-muted)}.page-inline-meta{font-size:var(--text-xs);color:var(--text-secondary)}.list-card-title{margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:var(--type-weight-strong);line-height:1.2;color:var(--text-primary)}.list-card-meta{font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-muted)}.list-card-rank{font-size:var(--text-md);font-weight:var(--type-weight-strong);line-height:1;font-variant-numeric:tabular-nums}.list-card-rank-accent{color:var(--accent)}.inline-code-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.28rem .7rem;border:1px solid var(--surface-line);border-radius:0;background:var(--surface-subtle);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--type-weight-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:var(--type-tracking-meta)}.inline-code-chip.is-copied{color:var(--accent)}.input-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:var(--type-tracking-meta);text-transform:uppercase}.inline-code-copy-icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2}.inline-code-status{font-family:var(--font-sans);font-size:.9rem;line-height:1}.icon-button-subtle,.text-button-subtle{background:none;border:none;cursor:pointer;color:var(--text-muted)}.icon-button-subtle{padding:.1rem .2rem;font-size:var(--text-lg);line-height:1;opacity:.68;flex-shrink:0}.text-button-subtle{padding:.2rem .25rem;font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta)}.icon-button-subtle:hover,.text-button-subtle:hover{color:var(--text-primary)}.text-button-subtle.text-button-danger:hover{color:var(--danger)}.table-number{font-size:var(--text-base);font-weight:var(--type-weight-number);font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary)}.table-number-muted{color:var(--text-secondary)}.section-subtitle{margin:0 0 .75rem;font-size:var(--text-md);font-weight:var(--type-weight-strong);line-height:1.2;color:var(--text-primary)}.summary-stat-label{font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-muted)}.summary-stat-value{font-size:var(--text-md);font-weight:var(--type-weight-strong);line-height:1.15;font-variant-numeric:tabular-nums;color:var(--text-primary)}.status-pill{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .75rem;border-radius:0;font-size:var(--text-xs);font-weight:var(--type-weight-meta)}.status-pill-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:color-mix(in srgb,var(--warning) 62%,black)}:root[data-theme=dark] .status-pill-warning{color:var(--warning)}.page-callout-note{margin-top:.5rem;padding-top:.4rem;border-top:1px solid var(--border);font-size:var(--text-sm);line-height:1.4;color:var(--warning)}.table-value-positive{color:var(--accent)}.table-value-negative{color:var(--danger)}.table-value-muted{color:var(--text-muted)}.table-value-secondary{font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.player-meta-inline{display:inline-flex;align-items:center;gap:.22rem;font-size:var(--text-2xs);color:var(--text-muted);margin-top:.26rem}.player-meta-position{font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-micro);text-transform:uppercase}.pos-pill{display:inline-flex;align-items:center;border-radius:0;padding:.1rem .34rem;font-size:var(--text-3xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-micro);line-height:1.35;text-transform:uppercase;white-space:nowrap;background:var(--surface-strong);border:1px solid var(--surface-line);color:var(--text-secondary)}.pos-pill--muted{color:var(--text-muted)}.pos-group-head,.roster-slot-tag{font-size:var(--text-xs);font-weight:var(--type-weight-strong);letter-spacing:var(--type-tracking-micro);text-transform:uppercase;color:var(--text-secondary)}.pos-group-head{display:flex;align-items:center;gap:.45rem;width:100%;line-height:1.2}.pos-group-head-label{flex:0 0 auto}.pos-group-head-rule{flex:1 1 auto;height:1px;min-width:0;background:var(--surface-line)}.pos-group-head--incomplete .pos-group-head-label{color:var(--warning)}.icon-action-button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:var(--text-md);font-weight:700;line-height:1;padding:0;text-align:center}.icon-remove-button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:var(--text-md);font-weight:700;line-height:1;padding:.1rem .2rem}.icon-action-button:disabled,.icon-remove-button:disabled{cursor:default;opacity:.3}.sort-label{display:inline-flex;align-items:center;gap:.3rem}.sort-label-icon-first{flex-direction:row-reverse}.sort-header-active .sort-label{color:var(--text-primary)}.sort-arrow-active{font-size:.625rem;line-height:1;color:var(--text-secondary)}.table-alert{padding:.75rem 1rem;margin-bottom:1rem;border-radius:0;font-size:var(--text-base);line-height:1.45;white-space:pre-line}.table-alert-success{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.table-alert-danger{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.modal-copy{margin:0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.5}.modal-error-text{margin:0;color:var(--danger);font-size:var(--text-base);line-height:1.45}.modal-empty{margin:0;padding:1.5rem;text-align:center;color:var(--text-muted);font-size:var(--text-base);line-height:1.45;background:var(--surface-table);border:1px solid var(--surface-line);border-radius:0}.modal-cta{width:100%;padding:.8rem .9rem;display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:var(--text-md)}.modal-content-pad{padding:1.25rem 1.25rem 1.5rem}.boxscore-team-label{font-size:var(--text-2xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-muted)}.boxscore-team-abbr{font-size:var(--text-2xl);font-weight:800;line-height:1;letter-spacing:.03em;color:var(--text-primary)}.boxscore-team-score{margin-top:.12rem;font-size:var(--text-3xl);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--text-primary)}.boxscore-status-pill{display:inline-flex;align-items:center;gap:.35rem;min-height:30px;padding:.3rem .65rem;border-radius:0;font-size:var(--text-xs);font-weight:var(--type-weight-meta);color:var(--text-secondary);background:var(--surface-subtle);border:1px solid var(--surface-line)}.boxscore-status-pill-live{color:var(--accent);background:var(--surface-success);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.boxscore-team-chip{display:inline-block;width:10px;height:14px;margin-right:.4rem;vertical-align:-1px;border-radius:2px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 14%,transparent)}.boxscore-team-heading{display:inline-flex;align-items:center;gap:.35rem}.boxscore-team-heading .boxscore-team-chip{margin-right:0}.boxscore-roster-label{margin-bottom:.75rem;font-size:var(--text-sm);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-primary)}.boxscore-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.boxscore-team-section{margin-bottom:1.5rem}.boxscore-team-divider{border-top:1px solid var(--surface-line);margin-bottom:1.25rem}.modal-header-band .is-loser{opacity:.55}.boxscore-td-cell{padding:.3rem .25rem}.boxscore-td-avatar{width:34px;padding-left:.3rem;padding-right:.3rem}.boxscore-td-pos{width:30px;padding-left:.3rem;padding-right:0;text-align:left}.boxscore-pos-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--type-weight-strong);font-variant-numeric:tabular-nums}.boxscore-td-pts{width:48px}.boxscore-td-name{overflow:hidden}.boxscore-identity{display:flex;flex-direction:column;gap:.1rem;min-width:0;line-height:1.2}.boxscore-stat-line{font-size:var(--text-dense);font-variant-numeric:tabular-nums;color:var(--text-muted);overflow-wrap:anywhere}.boxscore-stat-cell.boxscore-td-cell{font-variant-numeric:tabular-nums}.boxscore-row{border-bottom:1px solid var(--surface-line);background:transparent;border-left:2px solid transparent}.boxscore-row.is-my-player{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left-color:color-mix(in srgb,var(--accent) 55%,transparent)}.boxscore-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface-strong);border:1.5px solid var(--surface-line);color:var(--text-muted)}.boxscore-avatar-img{height:100%;object-fit:cover;object-position:top;border-radius:50%}.boxscore-header-center{min-width:80px}.boxscore-live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}.boxscore-tabs-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--surface-line)}.boxscore-tabs{display:flex;gap:0}.boxscore-tab{padding:.35rem .75rem;border:1px solid transparent;border-radius:0;background:none;color:var(--text-muted);font-family:inherit;font-size:var(--text-xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;cursor:pointer}.boxscore-tab.is-active{border-color:var(--surface-line);background:var(--surface-subtle);color:var(--text-primary)}.boxscore-filter-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-left:auto}.boxscore-filter-chip{display:inline-flex;align-items:center;height:26px;padding:0 .6rem;border-radius:0;border:1px solid color-mix(in srgb,var(--text-secondary) 18%,transparent);background:var(--surface-subtle);color:var(--text-muted);font-family:inherit;font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;cursor:pointer;white-space:nowrap}.boxscore-filter-chip.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.boxscore-pbp{display:flex;flex-direction:column;gap:1rem}.boxscore-drive.has-team-rule{padding-left:1rem;background-image:var(--drive-team-bar);background-repeat:no-repeat;background-size:10px 100%}.boxscore-drive-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;width:100%;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-align:left}.boxscore-drive-caret{font-size:var(--text-2xs);color:var(--text-muted);width:.8em;flex-shrink:0}.boxscore-drive-team{font-size:var(--text-xs);font-weight:var(--type-weight-strong);letter-spacing:var(--type-tracking-meta);color:var(--text-primary)}.boxscore-drive-desc{font-size:var(--text-2xs);color:var(--text-muted)}.boxscore-drive-result{display:flex;align-items:baseline;gap:.35rem;margin-left:auto;white-space:nowrap;font-size:var(--text-2xs);font-weight:var(--type-weight-meta);color:var(--text-secondary)}.boxscore-drive-result.is-score{color:var(--accent)}.boxscore-quarter-sep{display:flex;align-items:center;gap:.5rem}.boxscore-quarter-sep:after{content:"";flex:1;height:1px;background:var(--surface-line)}.boxscore-quarter-label{font-size:var(--text-2xs);font-weight:var(--type-weight-strong);letter-spacing:var(--type-tracking-meta);color:var(--text-secondary);text-transform:uppercase}.boxscore-drive-score{font-variant-numeric:tabular-nums;font-weight:var(--type-weight-meta);color:var(--text-muted)}.boxscore-play-list{margin:0;padding:0;list-style:none;border-left:1px solid var(--surface-line)}.boxscore-play{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.15rem .5rem;padding:.3rem 0 .3rem .6rem;font-size:var(--text-xs);line-height:1.4}.boxscore-play.is-scoring{margin-left:-1px;border-left:2px solid var(--accent);background:var(--surface-subtle)}.boxscore-play-clock{color:var(--text-muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;white-space:nowrap}.boxscore-play-text{color:var(--text-secondary);overflow-wrap:anywhere}.boxscore-play.is-scoring .boxscore-play-text{color:var(--text-primary)}.boxscore-play-score{grid-column:2;font-size:var(--text-2xs);font-weight:var(--type-weight-meta);color:var(--accent);font-variant-numeric:tabular-nums}.boxscore-player-link,.boxscore-player-name{display:block;color:var(--text-primary);font-weight:600;font-size:var(--text-xs);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boxscore-player-link{background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--text-primary) 20%,transparent);text-underline-offset:2px}.modal-shell.boxscore-shell:after{content:"";display:block;position:sticky;bottom:0;height:1px;margin-top:-1px;pointer-events:none;background:var(--surface-line)}.modal-list{margin:0;padding-left:1.15rem;font-size:var(--text-base);line-height:1.5;color:var(--text-primary)}.rules-pill-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.rules-pill-compact{padding:.15rem .3rem}.rules-pill-inline{padding:.1rem .25rem;font-size:var(--text-xs)}.rules-legend{margin-top:.65rem;color:var(--text-primary);display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.hiw{display:flex;flex-direction:column}.hiw-title{margin-bottom:.85rem;font-size:var(--text-xl);line-height:1.15}.hiw>.modal-kicker,.hiw>.hiw-title{padding-right:2.7rem}.hiw-panel{display:flex;flex-direction:column;gap:.75rem}.hiw-summary{margin:0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.4}.hiw-block-label{font-size:var(--text-xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;color:var(--text-muted)}.hiw-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;font-size:var(--text-base);line-height:1.4;color:var(--text-primary)}.hiw-facts li{display:flex;align-items:center;gap:.5rem;min-height:24px}.hiw-facts--plain li{align-items:flex-start;padding:.48rem 0;border-bottom:1px solid var(--surface-line)}.hiw-facts--plain{border-top:1px solid var(--surface-line)}.hiw-score-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem 1rem;margin:0}.hiw-score-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.22rem 0}.hiw-score-list dt{color:var(--text-secondary);font-size:var(--text-xs)}.hiw-score-list dd{margin:0;color:var(--text-primary);font-size:var(--text-sm)}.hiw-rule-list{display:grid;margin:0;border-top:1px solid var(--surface-line)}.hiw-rule-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--surface-line)}.hiw-rule-list dt,.hiw-rule-list dd{margin:0}.hiw-rule-list dt{color:var(--text-secondary);font-size:var(--text-sm)}.hiw-rule-list dd{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--type-weight-strong);font-variant-numeric:tabular-nums;text-align:right}.hiw-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--surface-line)}.hiw-nav{padding:.45rem .9rem;font-size:var(--text-sm);min-width:78px}.hiw-nav:disabled{opacity:.4;cursor:default}@media (max-width: 400px){.hiw-nav{min-width:68px}}.scoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.help-page{max-width:1080px;margin:0 auto}.help-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--text-primary);border-left:1px solid var(--surface-line)}.help-section{min-width:0;padding:.9rem 1rem;border-right:1px solid var(--surface-line);border-bottom:1px solid var(--surface-line);background:transparent}.help-section-title{margin-bottom:.45rem;color:var(--text-primary);font-size:var(--text-md);font-weight:var(--type-weight-strong)}.help-team-rules{margin-bottom:1rem;padding:.75rem;border-top:2px solid var(--text-primary);border-bottom:1px solid var(--surface-line);background:var(--surface-subtle)}@media (max-width: 768px){.scoring-grid,.help-section-grid{grid-template-columns:1fr}}.section-card{padding:1rem;margin-bottom:1.5rem}.loading-skeleton-stack{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.player-directory-toolbar{display:grid;grid-template-columns:minmax(10rem,1fr) max-content;align-items:center;gap:.75rem;padding-bottom:.7rem;border-bottom:2px solid var(--text-primary);margin-bottom:.7rem;min-width:0}.player-directory-search{width:100%;min-width:0}.player-directory-filters{display:flex;align-items:center;gap:.4rem;min-width:0}.squad-afford-btn{font-weight:700;text-transform:none;letter-spacing:0}.squad-afford-btn-compact{display:none}@media (max-width: 560px){.player-directory-toolbar{grid-template-columns:minmax(8.5rem,1fr) max-content;gap:.35rem}.position-filter-group{gap:0;min-width:0}.pos-filter-btn{width:32px;min-width:34px;height:34px;padding:0;font-size:var(--text-sm);border-radius:0}.squad-afford-btn{width:auto;min-width:0;padding:0 .45rem}.squad-afford-btn-full{display:none}.squad-afford-btn-compact{display:inline}.player-directory-search{padding-left:.8rem;padding-right:.8rem}}@media (max-width: 360px){.position-filter-group{gap:.15rem}.pos-filter-btn{width:30px;min-width:30px;height:30px;padding:0;font-size:var(--text-xs)}}.news-stream{display:flex;flex-direction:column;gap:0;border:1px solid var(--surface-line);background:var(--surface-panel)}.news-item{border-bottom:1px solid var(--surface-line)}.news-item:last-of-type{border-bottom:0}.news-item-loading{min-height:80px;opacity:.4;background:var(--surface-subtle)}.news-item-main{display:flex;align-items:flex-start;gap:.6rem;padding:.68rem .9rem .7rem}.news-item-avatar-btn{background:none;border:none;cursor:pointer;margin-top:.1rem}.news-item-byline{display:flex;flex-wrap:nowrap;align-items:baseline;gap:.45rem;overflow:hidden}.news-item-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;color:var(--text-primary);cursor:pointer;font:inherit;font-size:var(--text-base);font-weight:var(--type-weight-strong);text-align:left;flex-shrink:0;white-space:nowrap}.news-item-meta,.news-item-time{font-size:var(--text-sm);color:var(--text-muted)}.news-item-team{flex-shrink:0;white-space:nowrap}.news-item-time{margin-left:auto;flex-shrink:0;white-space:nowrap;padding-left:.4rem}.news-item-copy{margin:.14rem 0 0;font-size:var(--text-base);line-height:1.4;color:var(--text-secondary);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;max-width:84ch}.news-item-copy.is-expanded{color:var(--text-primary);-webkit-line-clamp:unset}.news-item-toggle{margin-top:.2rem;font-size:var(--text-xs)}.news-item-detail{border-top:1px solid var(--surface-line);background:var(--surface-subtle);padding:.58rem .9rem .64rem calc(.9rem + 42px)}.news-item-detail-copy{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-secondary);max-width:84ch}.news-item-source{margin:.4rem 0 0;font-size:var(--text-xs);color:var(--text-muted)}.news-item-source-link{color:inherit}.news-load-more{align-self:center;margin:.7rem}.trades-cap-summary{padding:.75rem;border:1px solid var(--border);border-radius:0;background:var(--surface-subtle)}.trades-cap-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.trades-cap-metrics>div{display:grid;gap:.15rem;min-width:0}.trades-cap-metrics .summary-stat-label{text-transform:none;letter-spacing:0}.trades-cap-metrics .summary-stat-value{overflow-wrap:anywhere}.trades-clear-link{color:var(--danger)}.trades-queue-card{padding:.75rem 1rem}.trades-queue-actions{display:flex;gap:.5rem}.trades-queue-btn{padding:.3rem .75rem}.trades-queue-row{display:flex;align-items:center;gap:.4rem;padding:.4rem 0;min-width:0}.trades-queue-row.is-stacked{border-top:1px solid var(--border)}.trades-queue-row-main{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.trades-queue-slot{flex-shrink:0;min-width:32px;padding:.14rem .3rem;font-size:var(--text-2xs)}.trades-queue-names{display:flex;align-items:center;gap:.3rem;min-width:0;flex:1 1 auto;font-size:var(--text-sm);font-weight:600}.trades-queue-names .table-name-truncate{flex:1 1 0;min-width:0}.trades-arrow{flex-shrink:0;color:var(--text-muted)}.trades-queue-meta{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.trades-queue-delta{font-size:var(--text-xs);font-weight:700;white-space:nowrap}.trades-queue-remove{flex-shrink:0;padding:.1rem .3rem}.trades-grid{--trades-table-height: min(68vh, 760px);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch;overflow-anchor:none}.trades-pane{display:flex;flex-direction:column;min-width:0}.trades-pane-title-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:nowrap;margin-bottom:.7rem}.trades-pane-title-row .section-subtitle{margin-bottom:0}.trades-pane-title-row .page-inline-meta{margin-left:.4rem;white-space:nowrap}.trades-replacement-pane{scroll-margin-top:110px}.trades-empty-state{min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:.45rem}.trades-replacement-table{height:var(--trades-table-height);max-height:var(--trades-table-height);overflow-y:auto}.trades-squad-card{height:var(--trades-table-height);overflow-y:auto}.trades-squad-card .data-table-compact tr:not(.trades-squad-row-section) td{height:46px;padding-top:.3rem;padding-bottom:.3rem}.trades-squad-card table,.trades-replacement-table table{table-layout:fixed}.trades-history{margin-top:2rem}.trades-squad-row-open{background:color-mix(in srgb,var(--surface-empty) 7%,transparent)}.trades-open-slot{display:flex;align-items:center;gap:.55rem;min-width:0}.trades-open-slot-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px dashed var(--surface-line);background:color-mix(in srgb,var(--surface-empty) 8%,transparent)}.trades-open-slot-copy{display:grid;gap:.08rem;min-width:0}.trades-open-slot-note{display:flex;align-items:center;gap:.3rem;color:var(--text-muted);font-size:var(--text-2xs);min-width:0}.trades-open-slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trades-squad-row-section td{height:auto;line-height:1;padding:.5rem .68rem .28rem;background:none;border-bottom:none;cursor:default}.trades-squad-row-section:hover td{background:none}.trades-squad-card tr:has(+.trades-squad-row-section) td,.trades-squad-card thead th{border-bottom:none}.trades-squad-card td{border-bottom-color:var(--surface-line)}@media (max-width: 768px){.trades-squad-card tr:has(+.trades-squad-row-section) td{border-bottom:1px solid var(--surface-line)}}.trades-queue-slot.pos-pill{flex:0 0 auto;justify-content:center}.trades-modal-warning{padding:.6rem .75rem;border-radius:0;background:color-mix(in srgb,var(--warning) 12%,transparent);font-size:var(--text-base)}.trades-modal-budget{padding:.5rem .75rem;border-radius:0;background:var(--bg-secondary);font-size:var(--text-base);display:flex}.trades-confirm-list{display:grid;gap:.35rem;overflow-y:auto;flex:1 1 auto}.trades-confirm-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:0;background:var(--surface-table)}.trades-confirm-player{display:flex;align-items:baseline;gap:.35rem;min-width:0}.trades-confirm-player .pos-pill{align-self:center;flex-shrink:0}.trades-confirm-name{flex:0 1 auto;min-width:0;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trades-confirm-arrow{color:var(--text-muted);font-weight:800}.trades-confirm-price{flex-shrink:0;color:var(--text-primary);font-size:var(--text-2xs);font-weight:var(--type-weight-number);font-variant-numeric:tabular-nums}.player-directory-table{border:1px solid var(--border);border-radius:0;background:var(--surface-table);overflow:hidden;min-width:0}.player-directory-table th{box-shadow:1px 0 0 0 var(--surface-table-head),-1px 0 0 0 var(--surface-table-head)}.players-data-table,.leaderboard-table{table-layout:fixed;min-width:100%}.leaderboard-team{display:flex;align-items:baseline;gap:.35rem;min-width:0}.leaderboard-team .page-inline-meta{flex:0 0 auto}.leaderboard-context{margin:.55rem 0;font-size:var(--text-xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;color:var(--text-muted)}.leaderboard-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--surface-line)}.players-data-table th:nth-child(1),.players-data-table td:nth-child(1){width:auto}.player-pool-dense th:first-child,.player-pool-dense td:first-child{padding-left:.7rem;padding-right:.2rem}.players-data-table th:nth-child(1),.players-data-table td:nth-child(1){padding-left:.7rem;padding-right:.2rem}.league-nav{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;margin-bottom:1rem}.league-tabs{display:grid;gap:0}.league-tabs-primary{display:flex;width:auto}.league-action-tabs{display:flex;width:auto;margin-left:auto}.league-tab{min-width:0;width:auto;background:var(--surface-subtle);border:1px solid var(--border);border-radius:0;padding:.46rem .8rem;cursor:pointer;font-weight:700;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;line-height:1.1;text-align:center}.league-tabs-primary .league-tab+.league-tab,.league-action-tabs .league-tab+.league-tab{border-left:0}.league-action-tabs .league-tab{min-width:5.4rem}@media (max-width: 480px){.league-nav{flex-wrap:wrap;gap:.55rem}.league-tabs-primary{width:100%}.league-tabs-primary .league-tab{flex:1 1 0}.league-action-tabs{margin-left:0;width:100%}.league-action-tabs .league-tab{flex:1 1 0}.league-tab{padding:.38rem .45rem;font-size:var(--text-xs)}}.league-tab-action{padding-inline:.65rem;background:transparent;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 46%,var(--border))}.league-tab-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.league-tab-action-active{background:var(--surface-route-faint);border-color:var(--accent);color:var(--accent)}.league-list{display:flex;flex-direction:column;border-top:2px solid var(--text-primary)}.league-list-card{padding:1rem 1.25rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--surface-table);border:1px solid var(--border);border-top:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.league-masthead{border-top-width:2px}.league-masthead-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--surface-line)}.league-masthead-actions{display:flex;align-items:center;gap:.7rem;margin-top:.65rem}.league-masthead-actions .btn{padding:.25rem .75rem}.league-masthead-meta .inline-code-chip{border-radius:0}.league-delete-inline{margin-left:auto;white-space:nowrap}.league-standings-panel{min-width:0;border-top:2px solid var(--text-primary)}.league-standings-panel .player-directory-table{border-top:0}.league-form-shell{max-width:480px}.scoreboard-sections{display:grid;gap:.9rem}.score-section{display:grid;gap:.45rem}.score-section-label,.score-card-status{font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta)}.score-section-label{color:var(--text-secondary);padding:0 .1rem}.score-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}.score-day-group{display:grid;gap:.35rem;margin-top:.15rem}.score-day-group+.score-day-group{margin-top:.55rem}.score-day-label{display:flex;align-items:center;gap:.4rem;padding:0 .1rem;font-size:var(--text-xs);font-weight:var(--type-weight-strong);color:var(--text-secondary)}.score-day-label:after{content:"";flex:1;height:1px;background:var(--surface-line)}.score-day-count{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted)}.score-card{width:100%;text-align:left;position:relative;overflow:hidden;padding:.6rem .7rem .55rem;border-radius:0;border:1px solid var(--border);background:var(--surface-table);box-shadow:none;transition:border-color .15s ease,background .15s ease}.score-card:hover{border-color:var(--border-strong);background:var(--surface-panel-strong)}.score-card-live{background:var(--surface-table);border-top:2px solid var(--accent)}.score-card-final{background:var(--surface-subtle)}.score-card-status-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.42rem}.score-card-time,.score-card-site{font-size:var(--text-xs);color:var(--text-muted)}.score-card-time{white-space:nowrap}.score-card-site{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.score-card-network{margin-left:auto;font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.score-card-teams{display:flex;flex-direction:column;gap:.18rem}.score-card-team-row{display:flex;align-items:baseline;gap:.4rem}.score-card-team-row.is-loser{opacity:.55}.score-card-team-bar{align-self:center;width:10px;height:18px;border-radius:2px;flex-shrink:0;background:var(--border-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text-primary) 14%,transparent)}.score-card-team{font-size:var(--text-md);font-weight:var(--type-weight-emphasis);letter-spacing:.05em;color:var(--text-primary)}.score-card-record{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.score-card-team-spacer{flex:1;min-width:.4rem}.score-card-score{font-size:var(--text-md);font-weight:var(--type-weight-emphasis);color:var(--text-primary);font-variant-numeric:tabular-nums}.score-card-footer{margin-top:.42rem;padding-top:.36rem;border-top:1px solid var(--surface-line);font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-groups{display:flex;flex-direction:column;gap:1rem}.feed-rows{display:flex;flex-direction:column}.feed-row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.5rem .1rem}.feed-row+.feed-row{border-top:1px solid var(--surface-line)}.feed-row--bench{opacity:.6}.feed-bench-tag{font-size:var(--text-2xs);font-weight:var(--type-weight-meta);letter-spacing:var(--type-tracking-meta);text-transform:uppercase;color:var(--text-muted)}.feed-captain-tag{width:16px;height:17px;gap:1px;border-radius:2.5px;font-size:8px}.feed-captain-tag:after{font-size:4px;letter-spacing:.4px}.feed-degraded-note{font-size:var(--text-xs);color:var(--warning);padding:var(--space-xs) 0}.feed-row-identity{min-width:0}.feed-row-identity .feed-avatar{display:inline-flex;flex-shrink:0;margin-top:-4px;margin-bottom:-4px}.feed-row-identity--unknown{font-size:var(--text-sm);color:var(--text-muted)}.feed-row-body{display:flex;flex-direction:column;gap:.1rem}.feed-row-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere}.feed-points{font-size:var(--text-base);font-weight:var(--type-weight-emphasis);text-align:right;white-space:nowrap}.feed-skeleton-table{width:100%}@media (max-width: 768px){.feed-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity points" "body body";row-gap:.3rem}.feed-row-identity{grid-area:identity}.feed-points{grid-area:points}.feed-row-body{grid-area:body}}.squad-panel-shell{background:var(--surface-panel);border:1px solid var(--border);border-radius:0;box-shadow:none;min-width:0}.squad-selection-page{display:grid;gap:1.25rem}.squad-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.squad-panel-title{margin:0;font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--type-weight-strong);letter-spacing:-.02em;line-height:1.08;text-transform:none}.panel-header-actions{display:flex;align-items:baseline;gap:.9rem;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.squad-section-title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--type-weight-strong);line-height:1.1;letter-spacing:-.02em}.squad-progress-track{position:relative;margin-top:.65rem;height:4px;border-radius:0;background:var(--surface-line);overflow:hidden}.squad-progress-fill{height:100%;border-radius:inherit;background:var(--accent)}.squad-progress-fill.is-over{background:var(--danger)}.squad-section-meta{font-size:var(--text-xs);font-weight:var(--type-weight-meta);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--type-tracking-meta)}.squad-pool-toggle{display:flex;align-items:center;gap:.15rem;padding:.15rem;border:1px solid var(--surface-line);border-radius:0;background:var(--surface-subtle)}.squad-pool-toggle-btn{background:transparent;border:none;border-radius:calc(var(--radius-sm) - 1px);padding:.28rem .48rem;min-height:30px;cursor:pointer;font-size:var(--text-xs);font-weight:var(--type-weight-meta);text-transform:uppercase;letter-spacing:var(--type-tracking-meta);color:var(--text-muted);white-space:nowrap}.squad-pool-toggle-btn.is-active{color:var(--text-primary);background:var(--surface-strong);box-shadow:none}.squad-pool-toggle-sep{display:none}.squad-alert{margin-top:.85rem;padding:.75rem .85rem;border-radius:0;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger);font-size:var(--text-sm);font-weight:600}.squad-login-prompt{font-size:var(--text-sm);color:var(--text-secondary)}.squad-selection-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:1.25rem;align-items:start}.squad-player-list,.squad-panel{min-width:0}.squad-panel-shell{padding:var(--page-panel-pad);background:var(--surface-panel)}.squad-panel-header{margin-bottom:.8rem}.squad-panel-header-roster{margin-bottom:.65rem}.squad-roster-shell{max-height:calc(100dvh - var(--nav-height) - 6rem);overflow-y:auto}.squad-panel-desktop{position:sticky;top:calc(var(--nav-height) + 1rem)}.squad-roster-summary{padding:.9rem 0;margin-bottom:.75rem;border:0;border-top:3px solid var(--text-primary);border-bottom:1px solid var(--border);background:transparent}.squad-roster-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.squad-avatar-col{display:inline-flex;flex-shrink:0}.squad-roster-metrics>div{display:grid;gap:.15rem;min-width:0}.squad-roster-metrics .summary-stat-value{overflow-wrap:anywhere}.squad-roster-summary .summary-stat-label{text-transform:uppercase;letter-spacing:var(--type-tracking-micro)}.squad-draft-status{margin-top:.5rem;color:var(--text-muted);font-size:var(--text-xs)}.squad-table-wrap{max-height:65vh;overflow-y:auto;border:1px solid var(--border);border-radius:0;background:var(--surface-table)}.squad-table-wrap .sticky-header{background:var(--surface-table-head)}.squad-table-wrap th:first-child,.squad-table-wrap td:first-child{padding-left:.7rem;padding-right:.2rem}.squad-table-wrap th:last-child,.squad-table-wrap td:last-child{padding-left:.1rem;padding-right:.1rem}.squad-roster-groups{display:grid;gap:.75rem}.squad-remove-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:0}.squad-add-btn{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;font-weight:800}.squad-pool-complete{display:grid;gap:.6rem;padding:2.4rem 1.2rem;text-align:center;border:1px solid var(--border);border-radius:0;background:var(--surface-table)}.squad-pool-complete-head{display:grid;justify-items:center;gap:.4rem}.squad-pool-complete-title{font-weight:700;color:var(--accent)}.squad-pool-complete-sub{font-size:var(--text-sm);color:var(--text-secondary)}.squad-empty-dash{color:var(--text-muted);font-size:var(--text-sm)}.squad-feedback{margin-top:.8rem;font-size:var(--text-sm);font-weight:600}.squad-feedback-muted{color:var(--text-secondary)}.squad-feedback.is-error{color:var(--danger)}.squad-feedback.is-success{color:var(--accent)}.squad-roster-actions{display:flex;align-items:center;gap:.6rem;margin-top:.8rem}.squad-roster-shell .squad-roster-actions{position:sticky;bottom:calc(0rem - var(--page-panel-pad));z-index:4;margin-right:calc(0rem - var(--page-panel-pad));margin-bottom:calc(0rem - var(--page-panel-pad));margin-left:calc(0rem - var(--page-panel-pad));padding:.7rem var(--page-panel-pad) var(--page-panel-pad);border-top:1px solid var(--surface-line);background:var(--surface-strong)}.squad-roster-action-btn{min-height:44px}.squad-roster-confirm{flex:1}.row-ineligible{opacity:.5}.squad-mobile-cta{display:none}@media (max-width: 768px){.app-main:has(>.squad-selection-page){padding-bottom:0}.squad-selection-page{grid-template-rows:auto minmax(0,1fr);gap:.7rem;height:calc(100dvh - var(--nav-height) - var(--safe-area-top) - 1rem);padding-bottom:calc(56px + var(--safe-area-bottom));overflow:hidden}.squad-login-prompt-text{display:none}.squad-player-shell .squad-panel-header,.squad-player-shell .player-directory-toolbar,.trades-replacement-pane .player-directory-toolbar{margin-bottom:.45rem}.squad-selection-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:0}.squad-player-list{height:100%;min-height:0}.squad-player-shell{display:flex;flex-direction:column;height:100%;min-height:0}.squad-panel-desktop{display:none}.squad-player-shell table{table-layout:fixed}.squad-player-toolbar{gap:.35rem}.squad-player-toolbar .player-directory-search{min-height:36px;padding:.5rem .7rem;font-size:var(--text-sm)}.squad-player-toolbar .position-filter-group{gap:.18rem}.squad-player-toolbar .pos-filter-btn{width:32px;min-width:32px;height:32px;font-size:var(--text-xs)}.player-pool-dense th,.player-pool-dense td,.player-pool-dense .skeleton-td{padding-top:.32rem;padding-bottom:.32rem}.player-pool-dense th{height:32px}.player-pool-dense .player-meta-inline{margin-top:.1rem}.player-pool-dense .skeleton-avatar{width:36px;height:36px}.squad-table-wrap{flex:1;height:auto;min-height:0;max-height:none}.squad-pool-complete{flex:1;align-content:start;padding:0;border:0;background:none;text-align:left}.squad-pool-complete-head{display:none}.squad-mobile-cta{display:flex;align-items:center;gap:.4rem;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:.35rem max(.8rem,var(--safe-area-right)) calc(.35rem + var(--safe-area-bottom)) max(.8rem,var(--safe-area-left));background:var(--surface-panel);border-top:3px solid var(--text-primary);box-shadow:none}.squad-mobile-cta-budget{display:grid;flex:0 0 64px;gap:.08rem;width:64px}.squad-mobile-cta-budget .summary-stat-value{font-size:var(--text-base)}.squad-mobile-action{flex:1;min-width:0;min-height:44px;padding-right:.55rem;padding-left:.55rem;white-space:nowrap}.squad-mobile-save{flex:1.1}.squad-mobile-cta-progress{position:absolute;top:0;right:0;left:0;height:3px;overflow:hidden;background:var(--surface-line)}.squad-mobile-cta-progress>span{display:block;height:100%;background:var(--accent)}.squad-selection-page.is-roster-sheet-open .squad-mobile-cta{display:none}.squad-roster-backdrop{align-items:flex-end;padding:0 .5rem}.squad-roster-modal{max-height:min(96dvh,calc(100dvh - .5rem));border-radius:0;animation:modal-sheet-in .15s ease-out}@keyframes modal-sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){.squad-roster-modal{animation:none}}.squad-roster-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:5;padding:.6rem .9rem;border-bottom:1px solid var(--surface-line);background:var(--surface-panel-strong)}.squad-roster-modal-content{padding:.5rem .6rem calc(.5rem + var(--safe-area-bottom))}.squad-alert-standalone{margin-bottom:.5rem}.squad-roster-modal .team-roster-row.is-build,.squad-pool-complete .team-roster-row.is-build{min-height:44px;padding-top:.1rem;padding-bottom:.1rem}.squad-roster-modal .bench-card{padding:.34rem .22rem .32rem}.squad-roster-modal .squad-roster-actions{position:sticky;bottom:calc(-.5rem - var(--safe-area-bottom));z-index:4;margin:.55rem -.6rem calc(-.5rem - var(--safe-area-bottom));padding:.55rem .6rem calc(.55rem + var(--safe-area-bottom));border-top:1px solid var(--surface-line);background:var(--surface-strong)}.squad-roster-modal .squad-roster-summary{padding:0 0 .65rem;margin-bottom:.48rem;border:0;border-radius:0;background:none;border-bottom:1px solid var(--surface-line)}}@media (max-width: 480px){.squad-pool-count{display:none}}.trades-mobile-cta{display:none}@media (max-width: 768px){.trades-mobile-cta{display:flex;align-items:center;gap:.75rem;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:.6rem max(.9rem,var(--safe-area-right)) calc(.6rem + var(--safe-area-bottom)) max(.9rem,var(--safe-area-left));background:var(--surface-panel);border-top:3px solid var(--text-primary);box-shadow:none}.trades-has-cta{padding-bottom:calc(64px + var(--safe-area-bottom))}.trades-mobile-cta-hint{flex:1;text-align:right;color:var(--text-secondary);font-size:var(--text-xs)}}@media (max-width: 768px){.trades-grid{grid-template-columns:1fr;align-items:start}.trades-cap-summary,.trades-out-pane .trades-pane-title-row{display:none}.trades-step-out .page-panel-header{min-height:0;margin-bottom:.5rem;gap:.5rem}.trades-step-out .page-panel-header .page-title{margin-bottom:0}.trades-step-out.trades-has-cta{padding-bottom:calc(.5rem + var(--safe-area-bottom))}.app-shell:has(.trades-step-out) .app-main{padding-top:calc(var(--nav-height) + var(--safe-area-top) + .65rem);padding-bottom:calc(.2rem + var(--safe-area-bottom))}.trades-board .team-roster-row{padding-top:.24rem;padding-bottom:.24rem}.app-shell:has(.trades-step-out) .site-footer,.app-shell:has(.trades-step-in) .site-footer{display:none}.trades-step-out .trades-replacement-pane,.trades-step-in .trades-out-pane,.trades-step-in .page-panel-header,.trades-step-in .trades-cap-summary,.trades-step-in .trades-header,.trades-step-in .trades-history,.trades-step-in .trades-queue-card,.trades-step-in .trades-pane-title-row{display:none}.app-shell:has(.trades-step-in){height:100dvh;min-height:0}.app-shell:has(.trades-step-in) .app-scroll{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.app-shell:has(.trades-step-in) .app-main{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}.page-stack.trades-step-in{flex:1 1 auto;min-height:0;min-width:0;max-width:100%}.page-stack.trades-step-in>.page-panel,.trades-step-in .trades-grid,.trades-step-in .trades-replacement-pane{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0}.trades-step-in .trades-replacement-table{flex:1 1 auto;min-height:220px;height:auto;max-height:none;overflow-y:auto}.trades-board .team-roster-row{grid-template-columns:minmax(0,1fr) 26px 36px}.trades-board .team-roster-points,.trades-board .team-roster-list-head-stat:last-child{display:none}.trades-board .bench-card{padding-top:.4rem;padding-bottom:.3rem}.trades-board .team-roster-row.is-trading-out,.trades-board .bench-card.is-trading-out{opacity:.42}.trades-board .is-trading-out .team-roster-name-btn,.trades-board .is-trading-out .team-roster-player-name,.trades-board .is-trading-out .bench-card-name{text-decoration:line-through}.trades-board .team-roster-row.is-trading-in,.trades-board .bench-card.is-trading-in{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.trades-step-head{display:flex;align-items:center;gap:.55rem;min-width:0;margin-bottom:.55rem}.trades-step-back{flex-shrink:0;padding:.3rem .55rem .3rem 0;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--type-weight-strong);cursor:pointer}.trades-step-replacing{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:var(--text-xs)}.trades-step-picked{color:var(--accent);font-weight:var(--type-weight-strong)}.trades-replacement-table tr.is-picked td{background:color-mix(in srgb,var(--accent) 12%,transparent)}.trades-replacement-table tr.is-picked td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.trades-pane-title-row{min-height:0;flex-wrap:wrap;align-items:flex-start;margin-bottom:.7rem}.trades-pane-title-row .page-inline-meta{margin-left:0;white-space:normal}.trades-squad-card,.trades-replacement-table{height:auto;max-height:none}.trades-squad-row-section td{padding:.44rem .68rem .24rem}.page-panel,.squad-panel-shell{--page-panel-pad: .75rem}.page-panel.page-canvas,.squad-panel-shell.page-canvas{--page-panel-pad: 0;background:transparent;border:0}.squad-panel-shell.page-canvas .squad-roster-actions{padding:.7rem 0}.page-canvas>.page-panel-header:not(.team-page-panel-header){padding-bottom:.6rem;margin-bottom:.85rem;border-bottom:1px solid var(--border)}.page-stack:not(.team-page-stack):has(>.page-canvas){gap:1.25rem}.team-action-bar{left:max(.75rem,var(--safe-area-left));right:max(.75rem,var(--safe-area-right))}.page-canvas .help-section-grid{border-top:0}.league-form-shell{padding:.75rem;border:1px solid var(--border);background:var(--surface-panel)}.trades-header{flex-direction:column;align-items:flex-start!important}.trades-queue-actions{width:100%;flex-wrap:wrap}.container{padding-left:max(.75rem,var(--safe-area-left));padding-right:max(.75rem,var(--safe-area-right))}.modal-backdrop{padding:.75rem}.modal-shell{border-radius:0}.modal-body{padding:1rem}.modal-header-band{padding:1rem 1rem .9rem}.card{padding:1rem;border-radius:0}th,td{--table-cell-pad-y: .58rem;--table-cell-pad-x: .62rem}td{font-size:var(--text-base)}.table-number,.table-value-secondary{font-size:var(--text-xs)}.pm-week-line{font-size:var(--text-dense)}.pm-week-grid{padding-left:.55rem;padding-right:.55rem}.pos-pill{border:0;padding:.08rem .3rem;background:var(--surface-pill-flat)}.trades-replacement-table{overflow-x:auto}h1{font-size:var(--text-xl)}h2{font-size:var(--text-md)}.page-panel-header{flex-direction:column;align-items:stretch}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.score-card-weekday{display:none}.score-card-upcoming .score-card-weekday{display:inline}.score-card{padding:.5rem .55rem .45rem}.score-card-status-row{margin-bottom:.35rem}.score-card-team,.score-card-score{font-size:var(--text-sm)}.score-card-footer{margin-top:.34rem;padding-top:.3rem}.news-item-copy{-webkit-line-clamp:3}.news-item-main{padding-left:.65rem;padding-right:.65rem}.news-item-detail{padding-left:calc(.65rem + 42px);padding-right:.65rem}}@media (max-width: 480px){.page-panel,.squad-panel-shell{--page-panel-pad: .58rem}.score-card{padding:.45rem .5rem .42rem}.score-card-time,.score-card-site,.score-card-status{font-size:var(--text-2xs)}.modal-backdrop{padding:.5rem}th,td{padding:.5rem .54rem}td{font-size:var(--text-sm)}.nav-title{font-size:calc(var(--text-lg) + .08rem)}.squad-section-title,.page-title{font-size:var(--text-lg)}}@media (max-width: 360px){.score-grid{grid-template-columns:1fr}}.flex-row{display:flex;flex-direction:row;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-between{justify-content:space-between}.flex-center{justify-content:center}.flex-1{flex:1;min-width:0}.shrink-0{flex-shrink:0}.min-w-0{min-width:0}.w-full{width:100%}.gap-2xs{gap:.3rem}.gap-xs{gap:.5rem}.gap-sm{gap:.75rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.mb-0{margin-bottom:0}.mb-2xs{margin-bottom:.35rem}.mb-xs{margin-bottom:.5rem}.mb-sm{margin-bottom:.75rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.25rem}.mt-xs{margin-top:.5rem}.mt-sm{margin-top:.75rem}.mt-md{margin-top:1rem}.ml-xs{margin-left:.5rem}.p-0{padding:0}.text-center{text-align:center}.text-right{text-align:right}.nowrap{white-space:nowrap}.fw-bold{font-weight:700}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-primary-bold{color:var(--text-primary);font-weight:700}.text-primary-number{color:var(--text-primary);font-weight:500;font-variant-numeric:tabular-nums}.status-dot-live{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}.font-xs{font-size:var(--text-xs)}.font-sm{font-size:var(--text-sm)}.site-footer{flex:none;border-top:3px solid var(--text-primary);background:var(--surface-panel);padding-top:.55rem;padding-bottom:calc(.55rem + var(--safe-area-bottom));font-size:var(--text-xs);color:var(--text-muted)}.site-footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem 1rem}.site-footer-brand{font-family:var(--font-brand);font-weight:800;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase}.site-footer-note{min-width:0}.site-footer-links{display:flex;align-items:center;gap:.9rem;margin-left:auto}.site-footer-links a{color:var(--text-secondary)}.site-footer-links a:hover{color:var(--accent)}@media (max-width: 768px){.site-footer-note{display:none}.site-footer-links{margin-left:0}.app-shell:has(.squad-selection-page) .site-footer{display:none}}@media (min-width: 769px){html,body{height:100%}body{overflow:hidden}#root{height:100%;min-height:0;display:flex;flex-direction:column}.app-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app-scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.app-main{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column;padding-bottom:1rem}.app-main>.page-stack,.app-main>.page-panel,.app-main>.squad-selection-page{flex:1 1 auto;min-height:0}.app-main>.page-stack{display:flex;flex-direction:column}.page-fill{display:flex;flex-direction:column;min-height:0}.app-main>.page-stack>.page-fill,.app-main>.page-fill{flex:0 1 auto;max-height:100%}.page-fill-heading{margin-bottom:.8rem}.page-fill-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;--scroll-fade-color: var(--surface-panel)}.page-fill-body>*{flex-shrink:0}.page-fill>.player-directory-table{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;--scroll-fade-color: var(--surface-table)}.page-fill>.player-directory-table>.table-responsive{flex:1 1 auto;min-height:0;max-height:none;--scroll-fade-color: var(--surface-table)}.page-fill-body:after,.page-fill>.player-directory-table>.table-responsive:after,.page-fill>.player-directory-table:not(:has(>.table-responsive)):after,.squad-player-shell>.squad-table-wrap:after{content:"";display:block;position:sticky;bottom:0;flex:none;height:26px;pointer-events:none;background:linear-gradient(to top,var(--scroll-fade-color),transparent),linear-gradient(to top,var(--scroll-fade-color),transparent)}.app-main>.squad-selection-page{display:flex;flex-direction:column;gap:.85rem}.squad-selection-page>.squad-selection-grid{flex:1 1 auto;min-height:0;align-items:stretch}.squad-selection-grid>.squad-player-list,.squad-selection-grid>.squad-panel{display:flex;flex-direction:column;min-height:0}.squad-panel-desktop{position:static}.squad-player-shell,.squad-roster-shell{flex:1 1 auto;min-height:0;max-height:none}.squad-player-shell{display:flex;flex-direction:column}.squad-player-shell>.squad-table-wrap{flex:1 1 auto;min-height:0;max-height:none;--scroll-fade-color: var(--surface-table)}.squad-player-shell>.squad-pool-complete{flex:1 1 auto;align-content:start}.squad-roster-shell .squad-roster-actions:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:22px;pointer-events:none;background:linear-gradient(to top,var(--surface-strong),transparent)}}
