:root{--bg-page: #F7F8FA;--bg-surface: #FFFFFF;--border-default: #E2E5EA;--text-primary: #14181F;--text-secondary: #5B6472;--brand-primary: #1D4ED8;--status-live-text: #B91C1C;--status-live-bg: #FEE2E2;--status-final-text: #4B5563;--status-final-bg: #F1F2F4;--status-scheduled-text: #374151;--status-scheduled-bg: #F1F2F4;--status-stale-text: #92400E;--status-stale-bg: #FEF3C7;--status-error-text: #991B1B;--status-error-bg: #FEE2E2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--content-max-width: 1200px;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--focus-ring: 0 0 0 2px var(--bg-surface), 0 0 0 4px var(--brand-primary)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-family);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:700}h2{font-size:20px;font-weight:600}h3{font-size:16px;font-weight:600}.text-small{font-size:12px;color:var(--text-secondary)}.text-secondary{color:var(--text-secondary)}a{color:var(--brand-primary)}button{font-family:inherit;color:inherit}table{font-variant-numeric:tabular-nums}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible,th[aria-sort]:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:2px}.app-shell{min-height:100%;display:flex;flex-direction:column}.content-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-4)}@media (min-width: 640px){.content-container{padding:0 var(--space-6)}}.section{padding:var(--space-8) 0;scroll-margin-top:96px}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:var(--space-6) 0}.app-header__title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.app-header__live-badge{font-size:12px}.app-header__meta{margin-top:var(--space-2);font-size:14px}.app-header__divider{margin:0 var(--space-2)}.stale-banner{background:var(--status-stale-bg);color:var(--status-stale-text);padding:var(--space-2) 0;font-size:12px;display:flex;justify-content:center;gap:var(--space-2);text-align:center;padding-left:var(--space-4);padding-right:var(--space-4)}.sub-nav{position:sticky;top:0;z-index:10;background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.sub-nav__bar{display:flex;align-items:center;gap:var(--space-6)}.sub-nav__inner{display:flex;gap:var(--space-6);overflow-x:auto;min-width:0}.team-picker{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;padding-right:var(--space-6);border-right:1px solid var(--border-default)}.team-picker__select{border:1px solid var(--border-default);border-radius:6px;padding:var(--space-1) var(--space-2);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.team-picker__select:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 767px){.sub-nav__bar{gap:var(--space-3)}.team-picker{padding-right:var(--space-3)}}.sub-nav__link{display:inline-block;padding:var(--space-3) 0;color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:14px;border-bottom:2px solid transparent;white-space:nowrap}.sub-nav__link--active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--border-default)}.tabs__tab{background:none;border:none;border-bottom:2px solid transparent;padding:var(--space-2) 0;font-size:14px;color:var(--text-secondary);cursor:pointer}.tabs__tab--active{color:var(--brand-primary);font-weight:600;border-bottom-color:var(--brand-primary)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:999px;font-size:12px;font-weight:600}.status-badge--live{color:var(--status-live-text);background:var(--status-live-bg)}.status-badge__dot{width:6px;height:6px;border-radius:50%;background:var(--status-live-text);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status-badge--final{color:var(--status-final-text);background:var(--status-final-bg)}.status-badge--scheduled{color:var(--status-scheduled-text);background:var(--status-scheduled-bg)}.error-box{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--status-error-bg);color:var(--status-error-text);border-radius:8px;padding:var(--space-4)}.error-box__retry{margin-top:var(--space-2);background:var(--bg-surface);border:1px solid var(--status-error-text);color:var(--status-error-text);border-radius:6px;padding:var(--space-1) var(--space-3);cursor:pointer;font-weight:600}.skeleton{background:linear-gradient(90deg,var(--border-default) 25%,#EEF0F3 37%,var(--border-default) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-block{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.week-selector{display:flex;align-items:center;gap:var(--space-2)}.week-selector__nav{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;width:32px;height:32px;font-size:16px;cursor:pointer}.week-selector__nav:disabled{opacity:.4;cursor:not-allowed}.week-selector__select{border:1px solid var(--border-default);border-radius:6px;padding:var(--space-1) var(--space-2);font-size:14px;background:var(--bg-surface)}.games-section__note{background:var(--status-stale-bg);color:var(--status-stale-text);padding:var(--space-2) var(--space-3);border-radius:6px;margin-bottom:var(--space-4)}.team-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--bg-page)}.team-logo__img{width:100%;height:100%;object-fit:contain;display:block}.team-logo__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--border-default);color:var(--text-secondary);font-weight:700;font-size:9px;letter-spacing:.02em;text-transform:uppercase}.team-logo--md .team-logo__placeholder{font-size:13px}.team-logo--lg .team-logo__placeholder{font-size:15px}.team-cell{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.game-card{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.game-card__teams{display:flex;flex-direction:column;gap:var(--space-2)}.game-card__team{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);font-size:14px}.game-card__team-info{display:flex;align-items:center;gap:var(--space-2);min-width:0}.game-card__team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-card__team-record{color:var(--text-secondary);font-size:12px;flex-shrink:0}.game-card__team--winner .game-card__team-name,.game-card__team--winner .game-card__team-score{font-weight:700;color:var(--text-primary)}.game-card__team-score{font-variant-numeric:tabular-nums;font-weight:600;flex-shrink:0}.standings-grid{display:grid;gap:var(--space-4)}.standings-grid--division{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start}@media (max-width: 720px){.standings-grid--division{grid-template-columns:1fr}}.standings-conference-column{display:flex;flex-direction:column;gap:var(--space-4)}.standings-grid--conference{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.standings-table-card{padding:var(--space-4)}.standings-table-card__title{margin-bottom:var(--space-2)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default);text-align:left;white-space:nowrap}.data-table tbody tr:nth-child(2n){background:var(--bg-page)}.data-table tbody tr:hover{background:#eef2ff}.data-table__th--numeric,.data-table__td--numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table__sort-btn{background:none;border:none;font:inherit;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px}.data-table__sort-btn--active{color:var(--text-primary)}.data-table__sort-arrow{font-size:10px}.standings-table__sticky-col{position:sticky;left:0;background:var(--bg-surface);z-index:1}.standings-table__team{display:inline-flex;align-items:center;gap:var(--space-2)}.standings-table tbody tr:nth-child(2n) .standings-table__sticky-col{background:var(--bg-page)}.playoff-week{font-size:14px;color:var(--text-secondary)}.playoff-card{padding:var(--space-4)}.playoff-table th,.playoff-table td{padding-left:var(--space-2);padding-right:var(--space-2)}.playoff-table .playoff-table__group th{padding-top:var(--space-4);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-surface)}.playoff-table tbody tr.playoff-table__group:first-child th{padding-top:var(--space-2)}.playoff-table tbody tr:nth-child(2n){background:transparent}.playoff-table tbody tr.playoff-table__row--favorite{background:#eef2ff}.playoff-table__seed{display:inline-block;min-width:1.5em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary)}td.playoff-table__seed{width:2em;padding-right:0}.playoff-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:999px;color:var(--brand-primary);background:#eef2ff}.playoff-matchups{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-default)}.playoff-matchups__title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.playoff-matchups__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.playoff-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);font-size:14px;font-weight:600}.playoff-matchup__team{display:inline-flex;align-items:center;gap:var(--space-2)}.playoff-matchup__team:last-child{justify-content:flex-end}.playoff-matchup__at{color:var(--text-secondary)}.playoff-matchups__bye{margin-top:var(--space-2);font-size:13px;color:var(--text-secondary)}@media (max-width: 479px){.playoff-table__optional{display:none}}.card-list__controls{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.card-list__sort-select,.card-list__dir-btn{border:1px solid var(--border-default);border-radius:6px;padding:var(--space-2) var(--space-3);font-size:14px;background:var(--bg-surface)}.card-list__dir-btn{cursor:pointer}.card-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.card-list__item{padding:var(--space-4)}.card-list__title{font-weight:700;margin-bottom:var(--space-2)}.card-list__details{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-4);margin:0}.card-list__detail{display:flex;justify-content:space-between;font-size:14px}.card-list__detail dt{color:var(--text-secondary)}.card-list__detail dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.section-intro{margin-bottom:var(--space-3)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.filter-bar__field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.filter-bar__label{font-size:12px;font-weight:600;color:var(--text-secondary)}.filter-bar__control{border:1px solid var(--border-default);border-radius:6px;padding:var(--space-2) var(--space-3);font:inherit;background:var(--bg-surface);min-height:36px;min-width:0}.filter-bar__check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;font-weight:600;cursor:pointer}.player-cell{display:inline-flex;flex-direction:column;line-height:1.25}.player-cell__name{font-weight:600}.player-cell__meta{font-size:12px;color:var(--text-secondary)}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3);margin:0 0 var(--space-6)}.stat-tile{padding:var(--space-3) var(--space-4)}.stat-tile__label{font-size:12px;color:var(--text-secondary)}.stat-tile__value{margin:0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.team-game-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.team-game-line__matchup{font-size:16px;font-weight:700}.team-game-line__score{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.roster-unit{margin-top:var(--space-6)}.roster-unit__title{margin-bottom:var(--space-2)}.season-chart{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;padding:var(--space-4);margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.season-chart__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.season-chart__table-btn,.season-chart__chip{border:1px solid var(--border-default);border-radius:999px;background:var(--bg-surface);padding:var(--space-1) var(--space-3);min-height:32px;font-size:13px;font-weight:600;cursor:pointer}.season-chart__legend{display:flex;flex-wrap:wrap;gap:var(--space-2)}.season-chart__chip{display:inline-flex;align-items:center;gap:var(--space-2)}.season-chart__chip--off{color:var(--text-secondary);font-weight:400;text-decoration:line-through}.season-chart__chip--off .season-chart__key{opacity:.25}.season-chart__key,.season-chart__tooltip-key{display:inline-block;width:14px;height:3px;border-radius:2px}.season-chart__plot{position:relative;width:100%}.season-chart__plot svg{display:block;cursor:pointer;touch-action:pan-y}.season-chart__grid{stroke:var(--border-default);stroke-width:1}.season-chart__axis{font-size:11px;fill:var(--text-secondary);font-variant-numeric:tabular-nums}.season-chart__axis--sub{font-size:10px}.season-chart__crosshair{stroke:var(--text-secondary);stroke-width:1}.season-chart__selected{fill:var(--brand-primary);opacity:.07}.season-chart__dot{stroke:var(--bg-surface);stroke-width:2}.season-chart__tooltip{position:absolute;top:0;transform:translate(-50%);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 12px #14181f1f;padding:var(--space-2) var(--space-3);font-size:13px;pointer-events:none;min-width:160px;z-index:2}.season-chart__tooltip-title{font-weight:700}.season-chart__tooltip-row{display:flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums}.week-stats-title{margin-bottom:var(--space-3)}.stat-panel{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.tabs{overflow-x:auto}.tabs__tab{white-space:nowrap}@media (max-width: 639px){.section-header{flex-direction:column;align-items:flex-start}}.matchup{--team-color: #002244;--opponent-color: #8A94A6;--good-text: #166534;--good-bg: #DCFCE7;--bad-text: #991B1B;--bad-bg: #FEE2E2;display:flex;flex-direction:column;gap:var(--space-4)}.matchup-card{padding:var(--space-4)}.matchup-card__title{margin-bottom:var(--space-3)}.matchup-card__header{margin-bottom:var(--space-2)}.matchup-card__header .matchup-card__title{margin-bottom:0}.matchup-card__intro{margin:calc(-1 * var(--space-2)) 0 var(--space-3)}.matchup-card__footnote{margin-top:var(--space-3)}.matchup-note{color:var(--text-secondary);padding:var(--space-3) 0}.matchup-note.card{padding:var(--space-4)}.matchup-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-4)}.matchup-head__team{display:flex;align-items:center;gap:var(--space-3);min-width:0}.matchup-head__team--right{flex-direction:row-reverse;text-align:right}.matchup-head__name{font-size:18px;font-weight:700;line-height:1.2}.matchup-head__center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.matchup-head__vs{font-size:22px;font-weight:700;color:var(--text-secondary)}.matchup-head__score{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}@media (max-width: 639px){.matchup-head{grid-template-columns:1fr;justify-items:center}.matchup-head__team,.matchup-head__team--right{flex-direction:column;text-align:center}.matchup-head__center{order:1}.matchup-head__team--right{order:2}}.odds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.odds-tile{border:1px solid var(--border-default);border-radius:8px;padding:var(--space-3)}.odds-tile__value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.prob-bar{margin-top:var(--space-3)}.prob-bar__labels{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);font-variant-numeric:tabular-nums}.prob-bar__track{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;background:var(--bg-surface)}.prob-bar__fill--team{background:var(--team-color)}.prob-bar__fill--opponent{background:var(--opponent-color)}.rank-chip{display:inline-block;min-width:34px;padding:0 6px;border-radius:10px;font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;background:var(--status-final-bg);color:var(--status-final-text)}.rank-chip--good{background:var(--good-bg);color:var(--good-text)}.rank-chip--bad{background:var(--bad-bg);color:var(--bad-text)}.duel-grid,.matchup-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.matchup-two-col--inner{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.duel-list__title{font-size:14px;font-weight:600;margin:0 0 var(--space-2)}.duel-list__items,.strength-list,.injury-list{list-style:none;margin:0;padding:0}.duel-row{display:grid;grid-template-columns:1fr auto 112px;align-items:center;gap:var(--space-2);padding:6px 0;border-bottom:1px solid var(--border-default)}.duel-row:last-child{border-bottom:0}.duel-row__ranks{display:inline-flex;align-items:center;gap:var(--space-1)}.edge-badge{justify-self:end;font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;white-space:nowrap}.edge-badge--team{background:var(--team-color);color:#fff}.edge-badge--opponent{background:var(--opponent-color);color:#14181f}.edge-badge--even{color:var(--text-secondary)}.strengths{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.strengths__head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.strengths__head--good{color:var(--good-text)}.strengths__head--bad{color:var(--bad-text)}.strength-list li{padding:3px 0}.compare__row{display:grid;grid-template-columns:1fr minmax(120px,220px) 1fr;align-items:center;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--border-default)}.compare__row--head{font-weight:700;font-size:12px;color:var(--text-secondary);text-transform:uppercase}.compare__label{text-align:center;font-size:13px}.compare__side{display:flex;align-items:center;gap:var(--space-2);min-width:0}.compare__side--left{justify-content:flex-end}.compare__row--head .compare__side--right{justify-content:flex-start}.compare__side--better .compare__value{font-weight:700}.compare__value{font-variant-numeric:tabular-nums;min-width:48px}.compare__side--left .compare__value{text-align:right}.compare__bar{flex:1;max-width:160px;height:8px;background:var(--status-final-bg);border-radius:4px;display:flex;overflow:hidden}.compare__bar--left{order:1;justify-content:flex-end}.compare__side--left .compare__value{order:3}.compare__side--left .rank-chip{order:2}.compare__bar-fill{height:100%;border-radius:4px}.compare__bar-fill--team{background:var(--team-color)}.compare__bar-fill--opponent{background:var(--opponent-color)}@media (max-width: 639px){.compare__row{grid-template-columns:1fr 1fr;grid-template-areas:"label label" "left right";gap:var(--space-1) var(--space-3)}.compare__label{grid-area:label}.compare__side--left{grid-area:left}.compare__side--right{grid-area:right}.compare__bar{display:none}}.form-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0}.form-row__team{min-width:64px;font-weight:600}.form-row__games{display:flex;flex-wrap:wrap;gap:var(--space-2)}.form-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-default);border-radius:6px;padding:2px 8px 2px 2px;font-size:12px;font-variant-numeric:tabular-nums}.form-chip__result{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-weight:700;background:var(--status-final-bg);color:var(--status-final-text)}.form-chip--W .form-chip__result{background:var(--good-bg);color:var(--good-text)}.form-chip--L .form-chip__result{background:var(--bad-bg);color:var(--bad-text)}.leader-list{margin:0}.leader-list__item{padding:4px 0}.leader-list__item dd{margin:0}.injury-list li{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px solid var(--border-default)}.injury-list li:last-child{border-bottom:0}.leaderboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);align-items:start}.leaderboard{padding:var(--space-4) var(--space-4) var(--space-3)}.leaderboard--negative{background:#fef2f2;border-color:#fecaca}.leaderboard--negative .leaderboard__title{color:var(--status-error-text)}.leaderboard__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.leaderboard__title{margin:0;font-size:18px;font-weight:800}.leaderboard__unit{color:var(--text-secondary);font-size:14px;white-space:nowrap}.leaderboard__list{list-style:none;margin:0;padding:0}.leaderboard__list--extra{border-top:1px dashed var(--border-default);margin-top:var(--space-1);padding-top:var(--space-1)}.leaderboard__row{display:grid;grid-template-columns:24px 36px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2);margin:0 calc(-1 * var(--space-2));border-radius:8px}.leaderboard__row--favorite{background:#eef2ff}.leaderboard__rank{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center}.leaderboard__name{display:flex;flex-direction:column;min-width:0}.leaderboard__team{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard__abbr{color:var(--text-secondary);font-size:14px}.leaderboard__value{font-weight:700;font-variant-numeric:tabular-nums}.leaderboard__toggle{display:block;width:100%;margin-top:var(--space-2);padding:var(--space-2);border:none;border-radius:999px;background:var(--status-final-bg);color:var(--text-primary);font:inherit;font-weight:700;cursor:pointer}.leaderboard__toggle:hover{background:var(--border-default)}.leaderboard__toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.leaderboard-source{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:13px}@media (max-width: 400px){.leaderboard-grid{grid-template-columns:1fr}}.player-avatar{position:relative;width:36px;height:36px}.player-avatar__img{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--status-final-bg)}.player-avatar__badge{position:absolute;right:-6px;bottom:-4px;background:var(--bg-surface);border-radius:4px}.leaderboard__pos{font-weight:600}
