:root{--font-display: "Chakra Petch", system-ui, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-2xs: .65rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.5rem;--space-10: 3rem;--space-11: 3.5rem;--space-12: 4rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 24px;--radius-pill: 9999px;--color-bg-abyss: #1a1c28;--color-bg-void: #20222e;--color-bg-base: #282a39;--color-bg-raised: #303246;--color-bg-surface: #3a3d52;--color-bg-abyss-rgb: 26 28 40;--color-bg-void-rgb: 32 34 46;--color-bg-base-rgb: 40 42 57;--color-bg-raised-rgb: 48 50 70;--color-bg-surface-rgb: 58 61 82;--color-text-bright: #eaf2f1;--color-text-primary: #e9f1f0;--color-text-secondary: #cde0dd;--color-text-muted: #8b919e;--color-text-subtle: #696d77;--color-text-inverse: #1a1c28;--color-text-bright-rgb: 234 242 241;--color-text-primary-rgb: 233 241 240;--color-text-secondary-rgb: 205 224 221;--color-text-muted-rgb: 139 145 158;--color-text-subtle-rgb: 105 109 119;--color-accent-gold: #ffbe12;--color-accent-gold-hover: #e5a800;--color-accent-teal: #9dd2bc;--color-accent-green: #b9d760;--color-accent-pink: #ff667a;--color-accent-orange: #ff9a5c;--color-accent-purple: #c39cc9;--color-accent-yellow: #ffd866;--color-accent-gold-rgb: 255 190 18;--color-accent-teal-rgb: 157 210 188;--color-accent-green-rgb: 185 215 96;--color-accent-pink-rgb: 255 102 122;--color-accent-orange-rgb: 255 154 92;--color-accent-purple-rgb: 195 156 201;--color-accent-yellow-rgb: 255 216 102;--color-success: #a8d7c4;--color-warning: #ffdc7f;--color-error: #ff7789;--color-info: #9dd2bc;--color-success-rgb: 168 215 196;--color-warning-rgb: 255 220 127;--color-error-rgb: 255 119 137;--color-info-rgb: 157 210 188;--color-alert-critical: var(--color-error);--color-alert-warning: var(--color-warning);--color-alert-info: var(--color-info);--color-link: var(--color-accent-teal);--gradient-page: radial-gradient( ellipse 80% 60% at 50% -10%, rgba(var(--color-accent-teal-rgb), .06) 0%, transparent 50% ), radial-gradient( ellipse 60% 40% at 100% 100%, rgba(var(--color-accent-purple-rgb), .04) 0%, transparent 40% ), linear-gradient(180deg, var(--color-bg-abyss) 0%, var(--color-bg-void) 100%);--gradient-button-primary: linear-gradient( 135deg, var(--color-accent-gold) 0%, var(--color-accent-gold-hover) 100% );--gradient-button-secondary: linear-gradient( 135deg, rgba(var(--color-accent-teal-rgb), .15) 0%, rgba(var(--color-accent-teal-rgb), .08) 100% );--gradient-card: linear-gradient( 180deg, rgba(var(--color-bg-raised-rgb), .6) 0%, rgba(var(--color-bg-base-rgb), .8) 100% );--border-subtle: 1px solid rgba(var(--color-text-subtle-rgb), .15);--border-default: 1px solid rgba(var(--color-text-subtle-rgb), .2);--border-strong: 1px solid rgba(var(--color-text-subtle-rgb), .3);--border-gold: 1px solid rgba(var(--color-accent-gold-rgb), .4);--border-teal: 1px solid rgba(var(--color-accent-teal-rgb), .3);--border-teal-strong: 1px solid rgba(var(--color-accent-teal-rgb), .5);--border-success: 1px solid rgba(var(--color-success-rgb), .4);--border-warning: 1px solid rgba(var(--color-warning-rgb), .4);--border-error: 1px solid rgba(var(--color-error-rgb), .4);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .25), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3), 0 4px 6px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .35), 0 8px 10px rgba(0, 0, 0, .2);--shadow-glow-gold: 0 0 20px rgba(var(--color-accent-gold-rgb), .25);--shadow-glow-teal: 0 0 16px rgba(var(--color-accent-teal-rgb), .2);--shadow-glow-error: 0 0 12px rgba(var(--color-error-rgb), .2);--focus-ring: 0 0 0 3px rgba(var(--color-accent-gold-rgb), .3);--focus-ring-teal: 0 0 0 3px rgba(var(--color-accent-teal-rgb), .3);--focus-ring-error: 0 0 0 3px rgba(var(--color-error-rgb), .3);--rim-highlight: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .3);--surface-0-bg: var(--color-bg-void);--surface-0-border: var(--border-subtle);--surface-0-shadow: var(--shadow-inset);--surface-1-bg: var(--color-bg-base);--surface-1-border: var(--border-default);--surface-1-shadow: var(--shadow-sm);--surface-2-bg: var(--color-bg-raised);--surface-2-border: 1px solid rgba(var(--color-accent-teal-rgb), .15);--surface-2-shadow: var(--shadow-md);--surface-3-bg: var(--color-bg-surface);--surface-3-border: 1px solid rgba(var(--color-accent-teal-rgb), .25);--surface-3-shadow: var(--shadow-lg);--surface-4-bg: var(--color-bg-base);--surface-4-border: 1px solid rgba(var(--color-accent-gold-rgb), .15);--surface-4-shadow: var(--shadow-xl);--quickview-card-border: #6e7ca3;--quickview-card-bg: #1d263b;--quickview-card-gradient-start: #2a3552;--quickview-card-gradient-end: #1c2336;--quickview-card-text: #f1f7ff;--quickview-title: #f8fcff;--quickview-subtitle: #dce9f9;--quickview-body: #edf5ff;--quickview-metric-bg: #0f1728;--quickview-metric-border: #566486;--quickview-metric-label: #d6e4f7;--quickview-metric-value: #f7fcff;--quickview-stat-divider: #576489;--quickview-stat-label: #deebfb;--quickview-stat-value: #f7fcff;--duration-instant: 75ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-glacial: .6s;--ease-out: cubic-bezier(.215, .61, .355, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--color-bg-deepest: var(--color-bg-abyss);--color-bg-deeper: var(--color-bg-void);--color-bg-deep: var(--color-bg-base);--color-bg-elevated: var(--color-bg-raised);--color-bg-elevated-strong: var(--color-bg-surface)}:root{font-family:var(--font-sans);line-height:var(--line-height-base);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background-color:var(--color-bg-abyss)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background-color:var(--color-bg-abyss);background-image:var(--gradient-page);background-attachment:fixed;color:var(--color-text-primary)}#root{min-height:100vh;background:var(--gradient-page);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-bright);margin-top:0}h1{font-size:var(--text-3xl);font-weight:600;line-height:var(--line-height-tight)}h2{font-size:var(--text-2xl);font-weight:600;line-height:var(--line-height-tight)}h3{font-size:var(--text-xl);font-weight:500}p{margin-top:0;color:var(--color-text-secondary)}a{color:var(--color-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-text-bright)}::selection{background:rgba(var(--color-accent-gold-rgb),.3);color:var(--color-text-bright)}::-moz-selection{background:rgba(var(--color-accent-gold-rgb),.3);color:var(--color-text-bright)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-void);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb{background:var(--color-bg-raised);border-radius:var(--radius-pill);border:2px solid var(--color-bg-void)}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-surface)}*{scrollbar-width:thin;scrollbar-color:var(--color-bg-raised) var(--color-bg-void)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:var(--gradient-page);background-attachment:fixed;color:var(--color-text-primary);padding:0rem 1rem 1rem}.page-layout{width:min(100%,1632px);display:flex;gap:1rem;align-self:center;justify-content:center;margin:0 auto}.page-content{flex:1;display:flex;flex-direction:column;align-items:center}.left-nav{width:300px;background:var(--color-bg-base);border:var(--border-default);border-radius:var(--radius-xl);padding:.5rem;box-shadow:var(--shadow-md),var(--rim-highlight);align-self:flex-start;display:flex;flex-direction:column;gap:0;transition:width var(--duration-slow) var(--ease-out);position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;margin-left:0}.left-nav__footer{margin-top:auto;padding:.75rem .5rem .5rem;display:flex;flex-direction:column;gap:.5rem}.left-nav__footer-link{text-decoration:none;color:var(--color-text-secondary);font-weight:600;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid transparent;margin-top:.5rem;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.left-nav__footer-link:hover{background:rgba(var(--color-accent-teal-rgb),.08);border-color:rgba(var(--color-accent-teal-rgb),.35);color:var(--color-text-primary)}.left-nav__logout{width:100%;justify-content:flex-start;gap:.45rem;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(var(--color-text-subtle-rgb),.28);background:rgba(var(--color-bg-void-rgb),.45);color:var(--color-text-muted);box-shadow:none;font-size:.9rem}.left-nav__logout:hover:not(:disabled){transform:none;box-shadow:none;color:var(--color-text-secondary);border-color:rgba(var(--color-text-subtle-rgb),.45);background:rgba(var(--color-bg-void-rgb),.7)}.left-nav__logout-icon{width:16px;height:16px;flex-shrink:0}.left-nav.collapsed{width:60px;padding:1rem .5rem}.left-nav__title{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);opacity:1;transition:opacity var(--duration-normal) var(--ease-out);white-space:nowrap;overflow:hidden}.left-nav.collapsed .left-nav__title{opacity:0;height:0;margin:0}.left-nav ul{list-style:none;padding:0 .5rem .5rem;margin:0;display:flex;flex-direction:column;gap:.35rem}.nav-link{display:flex;align-items:center;gap:0;padding:.65rem .75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-weight:600;border:1px solid transparent;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);white-space:nowrap;overflow:hidden}.left-nav.collapsed .nav-link{justify-content:center;padding:.65rem .5rem}.nav-link__icon{width:20px;height:20px;flex-shrink:0}.nav-link__label{opacity:1;transition:opacity var(--duration-normal) var(--ease-out);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-nav.collapsed .nav-link__label{opacity:0;width:0;overflow:hidden}.nav-link__badge{width:26px;height:26px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:rgba(var(--color-accent-teal-rgb),.15);color:var(--color-accent-teal);flex-shrink:0}.nav-link:hover{border-color:rgba(var(--color-accent-teal-rgb),.4);background:rgba(var(--color-accent-teal-rgb),.1)}.nav-link--static{cursor:default}.nav-link--static:hover{border-color:transparent;background:transparent}.nav-link--active{background:rgba(var(--color-accent-gold-rgb),.15);border-color:rgba(var(--color-accent-gold-rgb),.5);color:var(--color-text-bright)}.left-nav__toggle{display:flex;align-items:center;justify-content:center;width:44px;height:32px;margin:1rem auto 0;padding:0;border:1px solid rgba(var(--color-text-subtle-rgb),.35);border-radius:var(--radius-pill);background:var(--color-bg-void);color:var(--color-text-secondary);cursor:pointer;box-shadow:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);flex-shrink:0}.left-nav__toggle:hover{background:rgba(var(--color-accent-teal-rgb),.15);border-color:rgba(var(--color-accent-teal-rgb),.5);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.left-nav__toggle-icon{width:18px;height:18px;transition:transform var(--duration-normal) var(--ease-out)}.left-nav__toggle-icon.is-collapsed{transform:rotate(180deg)}.left-nav__status{color:var(--color-text-muted);font-size:.8rem;line-height:1.4;padding:.25rem .5rem .5rem}.left-nav__status--error{color:var(--color-error)}.collapsible-section{border-bottom:none;margin-bottom:.5rem}.collapsible-section__header{display:flex;align-items:center;gap:.35rem;width:100%;padding:.6rem .75rem;margin:0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:rgba(var(--color-bg-void-rgb),.45);border:1px solid rgba(var(--color-text-subtle-rgb),.15);border-radius:var(--radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-xs)}.collapsible-section__header:hover{background:rgba(var(--color-bg-void-rgb),.7);border-color:rgba(var(--color-text-subtle-rgb),.3);box-shadow:var(--shadow-sm)}.collapsible-section__chevron{width:12px;height:12px;flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.collapsible-section__chevron--collapsed{transform:rotate(-90deg)}.collapsible-section__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsible-section__content{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration-normal) var(--ease-out);overflow:hidden}.collapsible-section__content--collapsed{grid-template-rows:0fr}.collapsible-section__inner{min-height:0}.team-info{padding:.5rem}.team-info__empty{color:var(--color-text-muted);font-size:.8rem;padding:.25rem 0}.team-info__league-name{font-size:.85rem;font-weight:600;color:var(--color-text-bright);margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-info__week{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.75rem}.team-info__team{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.team-info__logo{width:24px;height:24px;border-radius:var(--radius-sm);object-fit:contain;background:var(--color-bg-void)}.team-info__logo--placeholder{display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-text-secondary)}.team-info__team-name{font-size:.85rem;font-weight:600;color:var(--color-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-info__stats{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-muted)}.team-info__stat{display:flex;flex-direction:column;gap:.1rem}.team-info__stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.team-info__stat-value{font-weight:600;color:var(--color-text-secondary)}.matchup-summary{padding:.5rem}.matchup-summary__empty{color:var(--color-text-muted);font-size:.8rem;padding:.25rem 0}.matchup-summary__scores{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.matchup-summary__team{display:flex;flex-direction:column;align-items:center;flex:1}.matchup-summary__team-name{font-size:.7rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-align:center}.matchup-summary__score{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.matchup-summary__score--winning{color:var(--color-success)}.matchup-summary__score--losing{color:var(--color-error)}.matchup-summary__vs{font-size:.65rem;color:var(--color-text-subtle);text-transform:uppercase}.matchup-summary__record{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.matchup-summary__record-value{font-weight:600;color:var(--color-text-secondary)}.category-bar{display:flex;flex-wrap:wrap;gap:.2rem}.category-bar--compact{gap:.15rem}.category-bar__item{padding:.2rem .35rem;font-size:.65rem;font-weight:600;border-radius:var(--radius-xs);background:rgba(var(--color-text-subtle-rgb),.15);color:var(--color-text-muted)}.category-bar--compact .category-bar__item{padding:.15rem .25rem;font-size:.6rem}.category-bar__item--win{background:rgba(var(--color-success-rgb),.2);color:var(--color-success)}.category-bar__item--loss{background:rgba(var(--color-error-rgb),.2);color:var(--color-error)}.category-bar__item--tied{background:rgba(var(--color-warning-rgb),.2);color:var(--color-warning)}.header{max-width:680px;text-align:center;margin-bottom:2.5rem}.header h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:.75rem;font-weight:700}.header p{margin:0;color:var(--color-text-secondary);font-size:1.1rem}.app-header{background:rgba(var(--color-bg-base-rgb),.38);border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.2);color:var(--color-text-primary);padding:.35rem 1.25rem;display:flex;justify-content:space-between;align-items:center;box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.header-content{display:flex;align-items:center;width:100%;justify-content:center;gap:1rem;padding:.5rem}.header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.header-link{text-decoration:none;color:var(--color-accent-teal);font-weight:600;padding:.4rem .75rem;border-radius:var(--radius-sm);border:var(--border-teal);background:rgba(var(--color-accent-teal-rgb),.08);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.header-link:hover{background:rgba(var(--color-accent-teal-rgb),.2);border-color:rgba(var(--color-accent-teal-rgb),.6);color:var(--color-text-bright)}.app-header h1{margin:0;font-size:.98rem;font-weight:600;letter-spacing:.04em;color:var(--color-text-muted)}.content{width:100%;max-width:720px;display:flex;flex-direction:column;gap:1.5rem}.auth-content{max-width:560px}.card{background:var(--color-bg-base);border:var(--border-default);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-md),var(--rim-highlight)}.auth-card{width:100%}.auth-card h2{margin-bottom:1.25rem}.auth-card .button{width:100%}.auth-header{max-width:560px}.card h2{margin-top:0;font-size:1.5rem;margin-bottom:.75rem}.card p{color:var(--color-text-secondary);line-height:1.6}.connected-card{border-color:rgba(var(--color-accent-green-rgb),.4)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card form{display:flex;flex-direction:column;gap:1rem;margin:0}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:600;color:var(--color-text-secondary)}.form-group input{width:100%;padding:.75rem .9rem;border-radius:var(--radius-md);border:var(--border-default);background:var(--color-bg-void);color:var(--color-text-primary);box-shadow:var(--shadow-inset);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:hover:not(:disabled){border-color:rgba(var(--color-accent-teal-rgb),.4)}.form-group input:focus-visible{outline:none;border-color:rgba(var(--color-accent-gold-rgb),.6);box-shadow:var(--focus-ring),var(--shadow-inset)}.form-group input:disabled{opacity:.7;cursor:not-allowed}.form-group small{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.form-footer{margin:.9rem 0 0;color:var(--color-text-muted);font-size:.95rem}.form-footer-links{display:flex;align-items:center;justify-content:space-around;gap:.85rem;flex-wrap:wrap;margin-top:2rem}.form-footer a{color:var(--color-link);text-decoration:underline;text-underline-offset:3px;font-weight:600}button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.5rem;font-size:1rem;border-radius:var(--radius-pill);border:none;font-weight:600;color:var(--color-text-inverse);background:var(--gradient-button-primary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm)}button[type=submit]{width:100%}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow-gold)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:rgba(var(--color-accent-teal-rgb),.12);color:var(--color-accent-teal);box-shadow:none;border:var(--border-teal)}button.secondary:hover:not(:disabled){background:rgba(var(--color-accent-teal-rgb),.2);box-shadow:var(--shadow-glow-teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.5rem;font-size:1rem;border-radius:var(--radius-pill);border:none;font-weight:600;color:var(--color-text-inverse);background:var(--gradient-button-primary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm);text-decoration:none;width:fit-content}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow-gold)}.button:active{transform:translateY(0)}.button.secondary{background:rgba(var(--color-accent-teal-rgb),.12);color:var(--color-accent-teal);box-shadow:none;border:var(--border-teal)}.button.secondary:hover{background:rgba(var(--color-accent-teal-rgb),.2);box-shadow:var(--shadow-glow-teal)}.auth-button{background:var(--gradient-button-primary);color:var(--color-text-inverse);border:none;padding:.5rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow-gold)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.button-group{display:flex;flex-wrap:wrap;gap:.75rem}.link-button{background:transparent;border:none;color:var(--color-link);text-decoration:underline;padding:0;cursor:pointer;font-size:1rem}.link-button:disabled{opacity:.6;cursor:not-allowed}.error-banner .link-button{margin-top:.5rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;line-height:1.4;border:1px solid transparent;flex-shrink:0}.badge__icon{width:1rem;height:1rem}.badge.success{background:rgba(var(--color-accent-green-rgb),.18);color:var(--color-accent-green);border-color:rgba(var(--color-accent-green-rgb),.35)}.badge.warning{background:rgba(var(--color-accent-orange-rgb),.18);color:var(--color-accent-orange);border-color:rgba(var(--color-accent-orange-rgb),.35)}.error-banner{background:rgba(var(--color-error-rgb),.12);color:var(--color-error);border:var(--border-error);padding:1rem 1.25rem;border-radius:var(--radius-md)}.success-banner{background:rgba(var(--color-success-rgb),.12);color:var(--color-success);border:var(--border-success);padding:1rem 1.25rem;border-radius:var(--radius-md)}.error-text{color:var(--color-error)}.status-message{color:var(--color-accent-teal);text-align:center}.status-card{text-align:center}.status-card.success{border-color:rgba(var(--color-success-rgb),.45)}.status-card.error{border-color:rgba(var(--color-error-rgb),.45)}.details-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1.25rem 0 1.75rem}.details-item{padding:.75rem 1rem;background:rgba(var(--color-accent-teal-rgb),.08);border-radius:var(--radius-md)}.details-item dt{font-weight:600}.details-item dd{margin:0 0 1rem;font-weight:600;color:var(--color-text-primary)}.profile-details{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:.6rem 1.25rem;margin:1.5rem 0 0}.profile-details dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0}.profile-details dd{margin:0;font-weight:600;display:flex;align-items:center;gap:.6rem;min-width:0}.profile-email__address{overflow-wrap:anywhere}.profile-email__verify-button{padding:.3rem .75rem;color:var(--color-text-inverse);font-size:.8rem}.profile-actions{margin-top:1.25rem;display:flex;align-items:center;justify-content:flex-start}.profile-update-button{padding:.45rem 1.1rem;font-size:.9rem}.account-details{margin-top:1.5rem}.detail-item{margin-bottom:1.5rem}.detail-item label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--color-text-muted)}.detail-item p{margin:0;color:var(--color-text-subtle);font-size:1rem}.muted{color:var(--color-text-muted);font-size:.9rem}.empty-state{background:var(--color-bg-void);border:1px dashed rgba(var(--color-accent-teal-rgb),.35);border-radius:var(--radius-lg);padding:1.25rem;color:var(--color-text-muted);line-height:1.5;box-shadow:var(--shadow-xs)}.user-profile-card{display:flex;flex-direction:column;gap:1rem}.user-profile-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.user-profile-card__header p{color:var(--color-text-muted);margin:.25rem 0 0}.user-profile-card__actions button{min-width:120px}.user-profile-panel{display:flex;gap:1.5rem;align-items:center;background:var(--color-bg-base);border:var(--border-default);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md),var(--rim-highlight)}.user-profile-panel__avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--color-accent-teal-rgb),.35);box-shadow:var(--shadow-lg)}.user-profile-panel__avatar--fallback{display:flex;align-items:center;justify-content:center;background:rgba(var(--color-accent-teal-rgb),.2);color:var(--color-accent-teal);font-size:1.5rem;font-weight:700}.user-profile-panel__details{flex:1;display:flex;flex-direction:column;gap:1rem}.user-profile-panel__identity h3{margin:0;font-size:1.35rem}.user-profile-panel__guid{margin:.15rem 0 0;color:var(--color-accent-purple);font-family:var(--font-mono);font-size:.95rem}.user-profile-panel__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:0}.user-profile-panel__meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0}.user-profile-panel__meta dd{margin:0;font-weight:600}.user-profile-panel__meta a{color:var(--color-link);text-decoration:underline}.leagues-card{display:flex;flex-direction:column;gap:1rem}.leagues-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.leagues-card__header p{color:var(--color-text-muted);margin:.25rem 0 0}.leagues-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.league-card{background:var(--color-bg-raised);border:var(--surface-2-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-sm),var(--rim-highlight);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.league-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.league-card__header{display:flex;align-items:center;gap:.75rem}.league-card__logo{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid rgba(var(--color-accent-teal-rgb),.25);flex-shrink:0}.league-card__logo--placeholder{display:flex;align-items:center;justify-content:center;background:rgba(var(--color-accent-teal-rgb),.15);font-size:1.5rem}.league-card__title{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex:1;min-width:0}.league-card__title h3{margin:0;font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-badge{padding:.15rem .75rem;border-radius:var(--radius-pill);background:rgba(var(--color-accent-green-rgb),.2);color:var(--color-accent-green);font-size:.8rem;font-weight:600}.league-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin:0}.league-meta dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin:0}.league-meta dd{margin:0;font-weight:600}.league-actions{display:flex;justify-content:flex-start;align-items:center;gap:.75rem}.league-actions a{color:var(--color-link);text-decoration:underline;font-weight:600}.league-shell{width:min(100%,1536px);margin:0 auto;padding:1.25rem;border-radius:var(--radius-2xl);background:var(--color-bg-base);border:var(--border-default);box-shadow:var(--shadow-lg),var(--rim-highlight);display:flex;flex-direction:column;gap:1.5rem}.league-shell__body{display:flex;min-height:420px;align-items:stretch}.league-shell__header{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.league-shell__eyebrow{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--color-accent-teal)}.league-shell__title{margin:0;font-size:clamp(1.2rem,2.1vw,1.85rem);line-height:1.1}.league-shell__meta{margin:.2rem 0 0;color:var(--color-accent-purple);font-size:.9rem}.command-center{display:flex;flex-direction:column;gap:1.5rem}.command-center__loading,.command-center__empty{display:flex;align-items:center;justify-content:center;min-height:140px;background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-lg);color:var(--color-text-muted)}.command-center__error{background:rgba(var(--color-error-rgb),.12);color:var(--color-error);border:var(--border-error);padding:.9rem 1rem;border-radius:var(--radius-md)}.command-center__actions{display:flex;justify-content:flex-end}.alert-list{display:flex;flex-direction:column;gap:1rem}.alert-list__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.25rem;border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.1)}.alert-list__eyebrow{display:none}.alert-list__title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-secondary)}.alert-list__counts{display:flex;flex-wrap:wrap;gap:.4rem}.alert-list__count{padding:.15rem .5rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.alert-list__count--critical{color:var(--color-alert-critical);background:rgba(var(--color-error-rgb),.1);border:1px solid rgba(var(--color-error-rgb),.2)}.alert-list__count--warning{color:var(--color-alert-warning);background:rgba(var(--color-warning-rgb),.1);border:1px solid rgba(var(--color-warning-rgb),.2)}.alert-list__count--info{color:var(--color-alert-info);background:rgba(var(--color-info-rgb),.1);border:1px solid rgba(var(--color-info-rgb),.2)}.alert-list__group{display:flex;flex-direction:column;gap:.5rem}.alert-list__group-title{margin:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.alert-list__group-title--critical{color:var(--color-alert-critical)}.alert-list__group-title--warning{color:var(--color-alert-warning)}.alert-list__group-title--info{color:var(--color-alert-info)}.alert-list__cards{display:flex;flex-direction:column;gap:.75rem}.alert-list--empty{display:flex;align-items:center;gap:1rem;background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.alert-list__empty-icon{width:42px;height:42px;border-radius:50%;background:rgba(var(--color-accent-green-rgb),.2);color:var(--color-accent-green);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.alert-list__empty-title{margin:0;font-size:1.1rem}.alert-list__empty-text{margin:.35rem 0 0;color:var(--color-text-muted)}.alert-card{background:var(--surface-1-bg);border:var(--surface-1-border);border-left:4px solid var(--color-alert-info);border-radius:var(--radius-lg);padding:.65rem 1rem;display:flex;flex-direction:row;align-items:center;gap:1rem;box-shadow:var(--surface-1-shadow),var(--rim-highlight)}.alert-card--critical{border-left-color:var(--color-alert-critical)}.alert-card--warning{border-left-color:var(--color-alert-warning)}.alert-card__badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;font-size:.9rem}.alert-card--critical .alert-card__badge{background:rgba(var(--color-error-rgb),.15);color:var(--color-alert-critical)}.alert-card--warning .alert-card__badge{background:rgba(var(--color-warning-rgb),.15);color:var(--color-alert-warning)}.alert-card--info .alert-card__badge{background:rgba(var(--color-info-rgb),.15);color:var(--color-alert-info)}.alert-card__content{flex:1;display:flex;align-items:center;gap:1.25rem;min-width:0}.alert-card__player{display:flex;flex-direction:column;min-width:140px;flex-shrink:0}.alert-card__player-name{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-card__player-meta{font-size:.75rem;color:var(--color-text-muted)}.alert-card__info{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.alert-card__title{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-card__description{margin:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-card__swap{display:flex;align-items:center;gap:.4rem;background:rgba(var(--color-accent-teal-rgb),.1);border:1px solid rgba(var(--color-accent-teal-rgb),.2);border-radius:var(--radius-sm);padding:.25rem .5rem;flex-shrink:0}.alert-card__swap-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-teal);font-weight:700}.alert-card__swap-name{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.alert-card__actions{flex-shrink:0}.alert-card__action{padding:.35rem .85rem;font-size:.8rem;height:auto;min-height:0}.roster-health{background:var(--color-bg-raised);border:var(--border-subtle);border-radius:var(--radius-xl);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}.roster-health__header{display:flex;flex-direction:column;gap:.2rem}.roster-health__title{margin:0;font-size:1.1rem}.roster-health__subtitle{margin:0;color:var(--color-text-muted);font-size:.9rem}.roster-health__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.roster-health__stat{display:flex;align-items:center;gap:.6rem;background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-md);padding:.6rem .75rem}.roster-health__stat-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle)}.roster-health__stat-value{font-size:1.05rem;font-weight:600}.roster-health__dot{width:10px;height:10px;border-radius:50%;background:var(--color-text-subtle);box-shadow:0 0 0 3px rgba(var(--color-text-subtle-rgb),.15)}.roster-health__dot--active{background:var(--color-accent-teal);box-shadow:0 0 0 3px rgba(var(--color-accent-teal-rgb),.2)}.roster-health__dot--bench{background:var(--color-text-muted);box-shadow:0 0 0 3px rgba(var(--color-text-muted-rgb),.2)}.roster-health__dot--injured{background:var(--color-alert-warning);box-shadow:0 0 0 3px rgba(var(--color-warning-rgb),.2)}.roster-health__dot--ir{background:var(--color-alert-critical);box-shadow:0 0 0 3px rgba(var(--color-error-rgb),.2)}.matchup-snapshot{background:var(--color-bg-raised);border:var(--border-subtle);border-radius:var(--radius-xl);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}.matchup-snapshot--empty{align-items:center;text-align:center}.matchup-snapshot__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.matchup-snapshot__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--color-accent-teal)}.matchup-snapshot__title{margin:.35rem 0 0;font-size:1.15rem}.matchup-snapshot__status{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.matchup-snapshot__status--preevent{color:var(--color-accent-purple);background:rgba(var(--color-accent-purple-rgb),.2);border:1px solid rgba(var(--color-accent-purple-rgb),.35)}.matchup-snapshot__status--midevent{color:var(--color-accent-green);background:rgba(var(--color-accent-green-rgb),.2);border:1px solid rgba(var(--color-accent-green-rgb),.35)}.matchup-snapshot__status--postevent{color:var(--color-text-muted);background:rgba(var(--color-text-subtle-rgb),.15);border:1px solid rgba(var(--color-text-subtle-rgb),.25)}.matchup-snapshot__scores{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch}.matchup-snapshot__vs{display:flex;align-items:center;justify-content:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-subtle)}.matchup-snapshot__team{background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-lg);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem}.matchup-snapshot__team--user{border-color:rgba(var(--color-accent-gold-rgb),.5);background:rgba(var(--color-accent-gold-rgb),.08)}.matchup-snapshot__team-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-subtle)}.matchup-snapshot__team-identity{display:flex;align-items:center;gap:.6rem}.matchup-snapshot__team-logo{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:cover}.matchup-snapshot__team-logo--placeholder{display:flex;align-items:center;justify-content:center;background:rgba(var(--color-accent-teal-rgb),.2);color:var(--color-accent-teal);font-weight:700}.matchup-snapshot__team-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-snapshot__team-points{display:flex;align-items:baseline;gap:.25rem}.matchup-snapshot__points-value{font-family:var(--font-mono);font-weight:700;font-size:1.4rem;color:var(--color-text-bright)}.matchup-snapshot__points-label{font-size:.75rem;color:var(--color-text-subtle)}.matchup-snapshot__record{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background:var(--color-bg-void);border-radius:var(--radius-md);border:var(--border-subtle)}.matchup-snapshot__record-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle)}.matchup-snapshot__record-value{font-size:1rem;font-weight:700;font-family:var(--font-mono)}.matchup-snapshot__button{align-self:flex-start}.matchup-snapshot__empty-text{margin:.5rem 0 0;color:var(--color-text-muted)}.league-shell__main-frame{flex:1;border:2px dashed rgba(var(--color-accent-teal-rgb),.4);border-radius:var(--radius-lg);background:var(--color-bg-void);box-shadow:var(--shadow-xs);display:flex;align-items:center;justify-content:center;text-align:center;padding:1.25rem;color:var(--color-accent-teal)}.league-shell__placeholder-title{margin:0 0 .5rem;font-size:1.2rem}.league-shell__placeholder-text{margin:0;color:var(--color-accent-teal)}.league-tabs{display:flex;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;height:100%;border-radius:var(--radius-xl);background:var(--color-bg-base);border:var(--border-default);overflow:hidden;box-shadow:var(--shadow-md),var(--rim-highlight)}.league-tabs__nav{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.2);background:var(--color-bg-void)}.league-tabs__tab{padding:.38rem .82rem;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;color:var(--color-text-muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.league-tabs__tab:hover{color:var(--color-accent-teal);background:rgba(var(--color-accent-teal-rgb),.1);border-color:rgba(var(--color-accent-teal-rgb),.25)}.league-tabs__tab--active{color:var(--color-accent-teal);background:rgba(var(--color-accent-teal-rgb),.15);border-color:rgba(var(--color-accent-teal-rgb),.5)}.league-tabs__content{flex:1;min-height:0;max-height:calc(100vh - 168px);overflow-y:auto;padding:.72rem}.league-settings{display:flex;flex-direction:column;gap:1.5rem}.league-settings__loading,.league-settings__empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted)}.league-settings__error{background:rgba(var(--color-error-rgb),.12);color:var(--color-error);border:var(--border-error);padding:1rem;border-radius:var(--radius-md)}.league-settings__section{background:var(--color-bg-raised);border:var(--border-subtle);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.league-settings__section-title{margin:0 0 1rem;font-size:1.1rem;color:var(--color-accent-teal)}.league-settings__overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1.5rem;margin:0}.league-settings__overview dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin:0}.league-settings__overview dd{margin:.25rem 0 0;font-weight:600;color:var(--color-text-primary)}.league-settings__categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.league-settings__category-group{background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-xs)}.league-settings__group-title{margin:0 0 .75rem;font-size:.9rem;color:var(--color-accent-teal);text-transform:uppercase;letter-spacing:.08em}.league-settings__category-table{width:100%;border-collapse:collapse}.league-settings__category-table th,.league-settings__category-table td{padding:.4rem .5rem;text-align:left}.league-settings__category-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.2)}.league-settings__category-table td{border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.1)}.league-settings__stat-name{color:var(--color-text-secondary)}.league-settings__stat-abbr{margin-left:.35rem;color:var(--color-text-subtle);font-size:.85rem}.league-settings__stat-value{text-align:right;font-weight:600;color:var(--color-accent-teal);font-family:var(--font-mono)}.league-settings__roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.league-settings__roster-group{background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-md);padding:.75rem 1rem;box-shadow:var(--shadow-xs)}.league-settings__position-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.league-settings__position-item{display:inline-flex;align-items:center;gap:.35rem}.league-settings__position-badge{padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;color:var(--color-accent-teal);background:rgba(var(--color-accent-teal-rgb),.15);border:1px solid rgba(var(--color-accent-teal-rgb),.3)}.league-settings__position-badge--bench{background:rgba(var(--color-text-subtle-rgb),.15);border-color:rgba(var(--color-text-subtle-rgb),.3);color:var(--color-text-muted)}.league-settings__position-count{font-size:.8rem;color:var(--color-text-subtle)}.league-settings__helper{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1rem}.league-roster{display:flex;flex-direction:column;gap:.85rem;width:100%}.league-roster__loading,.league-roster__empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted);background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-lg)}.league-roster__error{background:rgba(var(--color-error-rgb),.12);color:var(--color-error);border:var(--border-error);padding:1rem;border-radius:var(--radius-md)}.roster-stat-section{display:flex;flex-direction:column;gap:.45rem;padding:.62rem;border-radius:var(--radius-lg);background:var(--color-bg-raised);border:var(--surface-2-border);box-shadow:var(--shadow-sm),var(--rim-highlight)}.roster-stat-section__title{margin:0;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent-teal)}.roster-stat-section__table-wrapper{overflow-x:auto;border:1px solid rgba(var(--color-text-subtle-rgb),.18);border-radius:var(--radius-md)}.roster-table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;background:var(--color-bg-base)}.roster-table__head{position:sticky;top:0;z-index:1}.roster-table__th{padding:.46rem .5rem;text-align:right;white-space:nowrap;background:var(--color-bg-void);color:var(--color-text-subtle);border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.24);font-size:.61rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono);font-weight:600}.roster-table__th--pos{width:60px;text-align:center}.roster-table__th--headshot{width:40px;text-align:center}.roster-table__th--player{min-width:212px;text-align:left;font-family:inherit}.roster-table__th--actions{width:110px;text-align:left;font-family:inherit}.roster-table__th--fpts,.roster-table__th--fpg{width:74px}.roster-table__th--stat{width:56px}.roster-table__row{transition:background-color var(--duration-fast) var(--ease-out)}.roster-table__row:hover{background:rgba(var(--color-accent-teal-rgb),.06)}.roster-table__row--reserve{opacity:.88}.roster-table__row--ir{opacity:.72}.roster-table__td{padding:.4rem .5rem;border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.14);color:var(--color-text-secondary);font-family:var(--font-mono);text-align:right;font-size:.72rem;vertical-align:middle;white-space:nowrap}.roster-table__td--pos,.roster-table__td--headshot{text-align:center}.roster-table__td--player,.roster-table__td--actions{text-align:left;font-family:inherit}.roster-table__td--fpts{font-weight:700;color:var(--color-accent-teal)}.roster-table__badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:20px;padding:0 .25rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.roster-table__badge--active{color:var(--color-accent-teal);background:rgba(var(--color-accent-teal-rgb),.18);border-color:rgba(var(--color-accent-teal-rgb),.35)}.roster-table__badge--reserve{color:var(--color-text-muted);background:rgba(var(--color-text-subtle-rgb),.18);border-color:rgba(var(--color-text-subtle-rgb),.3)}.roster-table__badge--ir{color:var(--color-accent-pink);background:rgba(var(--color-accent-pink-rgb),.18);border-color:rgba(var(--color-accent-pink-rgb),.36)}.roster-table__headshot{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid rgba(var(--color-text-subtle-rgb),.2);display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-void);color:var(--color-text-muted);font-size:.7rem;font-weight:700}.roster-table__headshot--placeholder{font-family:var(--font-display)}.roster-table__player-info{display:flex;flex-direction:column;gap:.08rem;min-width:0}.roster-table__player-name{color:var(--color-text-primary);font-weight:700;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-table__player-meta{color:var(--color-accent-purple);font-size:.68rem}.roster-table__injury-badge{display:inline-flex;align-items:center;width:fit-content;padding:.05rem .35rem;border-radius:var(--radius-pill);border:1px solid rgba(var(--color-accent-orange-rgb),.34);background:rgba(var(--color-accent-orange-rgb),.16);color:var(--color-accent-orange);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.roster-table__action-btn{border:1px solid rgba(var(--color-text-subtle-rgb),.3);background:rgba(var(--color-text-subtle-rgb),.08);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.14rem .34rem;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:not-allowed;margin-right:.24rem}.roster-table__action-btn:last-child{margin-right:0}.roster-table__placeholder{padding:.56rem .5rem;text-align:center;font-size:.74rem;color:var(--color-text-muted)}.roster-stat-section__summary{margin:0;display:flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.72rem;font-family:var(--font-mono)}.roster-stat-section__summary-divider{color:rgba(var(--color-text-subtle-rgb),.75)}.league-matchup{display:flex;flex-direction:column;gap:1.25rem}.league-matchup__loading,.league-matchup__empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted)}.league-matchup__error{background:rgba(var(--color-error-rgb),.12);color:var(--color-error);border:var(--border-error);padding:1rem;border-radius:var(--radius-md)}.league-matchup__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.league-matchup__week-block{display:flex;flex-direction:column;gap:.35rem}.league-matchup__week{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.league-matchup__meta{display:flex;align-items:center;gap:.75rem}.league-matchup__dates{color:var(--color-text-muted);font-size:.9rem}.league-matchup__status{padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.league-matchup__status--preevent{color:var(--color-accent-purple);background:rgba(var(--color-accent-purple-rgb),.2);border:1px solid rgba(var(--color-accent-purple-rgb),.35)}.league-matchup__status--midevent{color:var(--color-accent-green);background:rgba(var(--color-accent-green-rgb),.2);border:1px solid rgba(var(--color-accent-green-rgb),.35)}.league-matchup__status--postevent{color:var(--color-text-muted);background:rgba(var(--color-text-subtle-rgb),.15);border:1px solid rgba(var(--color-text-subtle-rgb),.25)}.league-matchup__record{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.league-matchup__record-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle)}.league-matchup__record-value{font-size:1.05rem;font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.league-matchup__teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:1rem}.league-matchup__vs{display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.1em}.league-matchup__team-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-lg);background:var(--color-bg-raised);border:var(--border-subtle);box-shadow:var(--shadow-sm)}.league-matchup__team-card--user{border-color:rgba(var(--color-accent-gold-rgb),.5);background:rgba(var(--color-accent-gold-rgb),.08)}.league-matchup__team-card--empty{align-items:center;justify-content:center;color:var(--color-text-subtle)}.league-matchup__team-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle)}.league-matchup__team-identity{display:flex;align-items:center;gap:.5rem}.league-matchup__team-logo{width:32px;height:32px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0}.league-matchup__team-logo--placeholder{display:flex;align-items:center;justify-content:center;background:rgba(var(--color-accent-teal-rgb),.2);color:var(--color-accent-teal);font-size:1.1rem;font-weight:700}.league-matchup__team-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-matchup__team-points{display:flex;align-items:baseline;gap:.35rem}.league-matchup__points-value{font-size:1.35rem;font-weight:700;color:var(--color-text-bright);font-family:var(--font-mono)}.league-matchup__points-label{font-size:.85rem;color:var(--color-text-subtle)}.league-matchup__team-projected{display:flex;align-items:baseline;gap:.35rem}.league-matchup__projected-value{font-size:.9rem;font-weight:600;color:var(--color-accent-teal);font-family:var(--font-mono)}.league-matchup__projected-label{font-size:.8rem;color:var(--color-text-subtle)}.league-matchup__team-games{display:flex;align-items:center;gap:.4rem;font-size:.75rem}.league-matchup__games-live{color:var(--color-accent-green);font-weight:600}.league-matchup__games-remaining{color:var(--color-text-muted)}.league-matchup__categories{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:var(--radius-md);background:var(--color-bg-void);border:var(--border-subtle);box-shadow:var(--shadow-xs)}.league-matchup__category-list{display:flex;flex-wrap:wrap;gap:.35rem}.league-matchup__category-item{padding:.25rem .5rem;border-radius:var(--radius-xs);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.league-matchup__category-item--win{color:var(--color-accent-green);background:rgba(var(--color-accent-green-rgb),.2);border:1px solid rgba(var(--color-accent-green-rgb),.3)}.league-matchup__category-item--loss{color:var(--color-accent-pink);background:rgba(var(--color-accent-pink-rgb),.15);border:1px solid rgba(var(--color-accent-pink-rgb),.3)}.league-matchup__category-item--tied{color:var(--color-accent-yellow);background:rgba(var(--color-accent-yellow-rgb),.15);border:1px solid rgba(var(--color-accent-yellow-rgb),.3)}.matchup-roster{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.matchup-roster__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:var(--color-bg-void);border:var(--border-subtle);border-radius:var(--radius-md)}.matchup-roster__title{margin:0;font-size:.9rem;color:var(--color-accent-teal);text-transform:uppercase;letter-spacing:.08em}.matchup-roster__stat-labels{display:flex;gap:.25rem;flex-wrap:wrap}.matchup-roster__stat-label{padding:.15rem .35rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:rgba(var(--color-text-subtle-rgb),.1);border-radius:var(--radius-xs);min-width:28px;text-align:center}.matchup-roster__comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.matchup-roster__column{display:flex;flex-direction:column;gap:.75rem;background:var(--color-bg-raised);border:var(--border-subtle);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow-sm)}.matchup-roster__column--opponent{border-color:rgba(var(--color-accent-pink-rgb),.3)}.matchup-roster__column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(var(--color-text-subtle-rgb),.2)}.matchup-roster__column-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-subtle)}.matchup-roster__column-team{font-size:.85rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matchup-roster__loading,.matchup-roster__empty{display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--color-text-muted);font-size:.85rem}.matchup-roster__section{display:flex;flex-direction:column;gap:.35rem}.matchup-roster__section-title{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.matchup-roster__section-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .3rem;background:rgba(var(--color-accent-teal-rgb),.15);color:var(--color-accent-teal);border-radius:var(--radius-xs);font-size:.7rem;font-weight:600}.matchup-roster__players{display:flex;flex-direction:column;gap:.25rem}.matchup-roster__player{display:flex;flex-direction:column;gap:.2rem;padding:.4rem .5rem;background:var(--color-bg-base);border:1px solid rgba(var(--color-accent-teal-rgb),.15);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.matchup-roster__player:hover{border-color:rgba(var(--color-accent-teal-rgb),.35);transform:translateY(-1px)}.matchup-roster__player--opponent{border-color:rgba(var(--color-accent-pink-rgb),.15)}.matchup-roster__player--opponent:hover{border-color:rgba(var(--color-accent-pink-rgb),.35)}.matchup-roster__player-info{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.4rem}.matchup-roster__player-position{min-width:36px;height:24px;padding:0 .3rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;letter-spacing:.02em;color:var(--color-accent-teal);background:rgba(var(--color-accent-teal-rgb),.12);border:1px solid rgba(var(--color-accent-teal-rgb),.25)}.matchup-roster__player--opponent .matchup-roster__player-position{color:var(--color-accent-pink);background:rgba(var(--color-accent-pink-rgb),.12);border-color:rgba(var(--color-accent-pink-rgb),.25)}.matchup-roster__player-details{display:flex;flex-direction:column;gap:.1rem;min-width:0}.matchup-roster__player-name{font-size:.8rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matchup-roster__player-meta{font-size:.7rem;color:var(--color-text-muted)}.matchup-roster__player-points{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--color-accent-teal)}.matchup-roster__player--opponent .matchup-roster__player-points{color:var(--color-accent-pink)}.matchup-roster__player-stats{display:flex;gap:.25rem;flex-wrap:wrap;padding-top:.2rem;border-top:1px solid rgba(var(--color-text-subtle-rgb),.1)}.matchup-roster__stat-value{min-width:28px;padding:.1rem .25rem;font-size:.65rem;font-weight:500;text-align:center;color:var(--color-text-secondary);background:rgba(var(--color-text-subtle-rgb),.08);border-radius:var(--radius-xs)}@media(max-width:960px){.matchup-roster__comparison{grid-template-columns:1fr}}@media(max-width:640px){.matchup-roster__header{flex-direction:column;align-items:flex-start;gap:.5rem}.matchup-roster__player-info{grid-template-columns:32px minmax(0,1fr) auto}}.quickview-trigger{cursor:help}.quickview-layer{position:fixed;z-index:9999;pointer-events:none}.quickview-card{position:relative;isolation:isolate;width:min(41vw,480px);min-width:min(300px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:min(40vh,345px);overflow-y:auto;overflow-x:hidden;pointer-events:auto;border-radius:var(--radius-lg);border:1px solid var(--quickview-card-border);background-color:var(--quickview-card-bg);background-image:linear-gradient(180deg,var(--quickview-card-gradient-start) 0%,var(--quickview-card-gradient-end) 100%);color:var(--quickview-card-text);opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 28px 48px #060a14b8,inset 0 1px #ffffff24}.quickview-card__content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.quickview-card__header{display:flex;align-items:center;gap:.5rem}.quickview-card__header-copy{display:flex;min-width:0;flex-direction:column;gap:.5rem}.quickview-card__avatar{width:48px;height:48px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--color-accent-teal-rgb),.58)}.quickview-card__avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--color-accent-gold);background:rgba(var(--color-accent-gold-rgb),.18)}.quickview-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:700;line-height:1;color:var(--quickview-title)}.quickview-card__subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--quickview-subtitle)}.quickview-card__text,.quickview-card__note{margin:0;font-size:.85rem;line-height:1.25;color:var(--quickview-body)}.quickview-card__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.quickview-card__metric{display:flex;flex-direction:column;gap:.08rem;padding:.45rem .55rem;border-radius:var(--radius-sm);background:var(--quickview-metric-bg);border:1px solid var(--quickview-metric-border)}.quickview-card__metric--full{grid-column:span 2}.quickview-card__metric-label{font-size:.6rem;color:var(--quickview-metric-label);text-transform:uppercase;letter-spacing:.05em}.quickview-card__metric-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:1rem;line-height:1;color:var(--quickview-metric-value)}.quickview-card__stats{display:flex;flex-direction:column;gap:.2rem}.quickview-card__stat-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.2rem;border-bottom:1px solid var(--quickview-stat-divider)}.quickview-card__stat-row:last-child{border-bottom:0}.quickview-card__stat-label{font-size:.82rem;color:var(--quickview-stat-label)}.quickview-card__stat-value{font-family:var(--font-mono);font-size:.86rem;color:var(--quickview-stat-value)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.left-nav{animation:slideInLeft var(--duration-normal) var(--ease-out) backwards}.league-shell__body{animation:fadeInUp var(--duration-normal) var(--ease-out) .2s backwards}.card,.league-card,.user-profile-panel{animation:scaleIn var(--duration-normal) var(--ease-out) backwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}@media(max-width:960px){.league-shell{padding:1.5rem}.league-shell__body{min-height:360px}.league-tabs__content{max-height:none}}@media(max-width:640px){.container{padding:2.5rem 1.25rem}.page-layout{flex-direction:column}.left-nav,.page-content{width:100%}.left-nav{position:static;max-height:none;border-radius:var(--radius-md)}.left-nav__toggle{display:none}.leagues-card__header{flex-direction:column;align-items:flex-start}.card{padding:1.75rem}.form-row{grid-template-columns:1fr}.league-matchup__header{flex-direction:column;align-items:flex-start}.league-matchup__record{align-items:flex-start}.league-matchup__teams{grid-template-columns:1fr;gap:.75rem}.league-matchup__vs{padding:.25rem 0}}.modal-backdrop{position:fixed;inset:0;background:rgba(var(--color-bg-abyss-rgb),.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2500;padding:1rem}.modal{position:relative;background:var(--color-bg-base);border:var(--surface-4-border);border-radius:var(--radius-2xl);padding:0;box-shadow:var(--shadow-xl),var(--rim-highlight);width:min(92vw,720px);max-width:720px;max-height:90vh;overflow-y:auto;outline:none}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2rem .75rem}.modal__title{margin:0;font-size:1.45rem;color:var(--color-text-bright)}.modal__close{width:38px;height:38px;padding:0;border:1px solid rgba(var(--color-text-subtle-rgb),.35);border-radius:50%;background:var(--color-bg-void);color:var(--color-text-secondary);font-size:1.35rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.modal__close:hover{background:rgba(var(--color-accent-teal-rgb),.15);border-color:rgba(var(--color-accent-teal-rgb),.45);transform:scale(1.05);box-shadow:none}.modal__content{padding:.75rem 2rem 2rem}.modal__content form{display:flex;flex-direction:column;gap:1rem}.modal__content .error-banner{margin-bottom:.5rem}.update-password-modal .error-banner{margin-bottom:1rem}.update-password-form{gap:1.1rem}.update-password-form .form-group{display:grid;grid-template-columns:minmax(150px,170px) minmax(0,1fr);align-items:center;gap:.6rem 1rem}.update-password-form label{font-size:.95rem;color:var(--color-text-secondary)}.update-password-form input{width:100%}.update-password-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.update-password-actions button{padding:.5rem 1.1rem;font-size:.9rem;min-width:0}.update-password-actions .update-password-submit{width:auto}@media(max-width:480px){.modal{max-width:100%;border-radius:var(--radius-lg)}.modal__header,.modal__content{padding-left:1.25rem;padding-right:1.25rem}.update-password-form .form-group{grid-template-columns:1fr}}
