.profile-viewport .profile-scroll{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;flex:1;min-height:0;padding:12px 14px 104px;overflow-y:auto}.profile-utility .review-link{color:var(--text-secondary);align-items:center;gap:4px;font-size:10px;display:flex}.profile-utility .header-avatar{place-items:center;width:32px;height:32px;display:grid}.profile-backline{color:var(--text-secondary);align-items:center;gap:10px;margin-bottom:12px;font-size:11px;display:flex}.profile-backline>a{white-space:nowrap;text-overflow:ellipsis;max-width:55%;overflow:hidden}.profile-backline>span{letter-spacing:1px;font-size:9px}.profile-actions{gap:6px;margin-left:auto;display:flex}.profile-actions button{border:1px solid var(--border-subtle);width:30px;height:30px;color:var(--text-secondary);border-radius:8px;place-items:center;display:grid}.profile-actions button.is-on{color:var(--brand-orange);background:color-mix(in srgb,var(--brand-orange) 9%,var(--bg-primary));border-color:color-mix(in srgb,var(--brand-orange) 35%,var(--border-subtle))}.team-bio-header,.player-bio-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.team-crest{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:16px;flex-shrink:0;width:64px;height:64px;padding:8px}.team-crest img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.team-bio-header h1,.player-bio-header h1{letter-spacing:-.4px;margin:0;font-size:22px;font-weight:700;line-height:1.25}.team-bio-header p,.player-bio-header p{color:var(--text-secondary);margin:5px 0;font-size:12px}.team-bio-header p>span,.player-bio-header p>span{padding:0 4px}.team-bio-header small{color:var(--text-secondary);font-size:12px}.standings-strip{scrollbar-width:none;gap:10px;margin-bottom:14px;display:flex;overflow-x:auto}.standing-card{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:190px;padding:12px;display:flex}.competition-mark{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:28px;height:28px}.competition-mark.fallback{background:var(--bg-elevated);color:var(--text-secondary);border-radius:6px;place-items:center;font-size:10px;font-weight:700;display:grid}.standing-card>div{flex:1}.standing-card strong{margin-bottom:5px;font-size:12px;font-weight:600;display:block}.standing-card>div>span{align-items:center;gap:12px;font-size:14px;display:flex}.standing-card small{color:var(--text-secondary);font-size:10px}.streak{color:var(--felt-green);margin-left:auto;font-size:10px}.profile-filters{scrollbar-width:none;gap:6px;margin:12px 0 16px;display:flex;overflow-x:auto}.profile-filters button{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 11px;font-size:11px}.profile-filters button.selected{color:#fff;background:var(--brand-orange);border-color:var(--brand-orange)}.profile-mobile-tabs{z-index:2;background:var(--bg-primary);margin-bottom:16px;padding-bottom:2px;position:sticky;top:0}.profile-mobile-tabs button{color:var(--text-secondary);transition:none}.profile-mobile-tabs button[aria-selected=true]{color:var(--text-primary)}.mobile-section{display:none}.mobile-section.mobile-active{display:block}.profile-card{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:14px;margin-bottom:16px;overflow:hidden}.profile-card-heading{justify-content:space-between;align-items:center;gap:10px;padding:16px 14px 0;display:flex}.profile-card-heading h2{margin:0;font-size:16px;font-weight:600;line-height:1.35}.profile-card-heading h2>span{color:var(--text-secondary);margin-left:5px;font-size:11px}.profile-card-heading>span,.profile-card-heading>time{color:var(--text-secondary);font-size:9px}.profile-card>.profile-filters{margin-bottom:12px;padding:0 14px}.roster-sort{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:0 14px 12px;font-size:10px;display:flex}.profile-viewport select{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;margin-left:6px;padding:4px 6px;font-size:10px}.roster-table-heading{display:none}.team-roster-row{border-top:1px solid var(--border-subtle);padding:12px 14px}.team-roster-row.has-absence{background:color-mix(in srgb,var(--chip-red) 4%,var(--bg-surface))}.roster-person{align-items:center;gap:10px;min-width:0;display:flex}.player-avatar{background:var(--bg-elevated);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.player-avatar img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.roster-person>div:first-of-type{flex:1;min-width:0}.roster-person .player-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.roster-person>div>span{color:var(--text-secondary);margin-top:3px;font-size:10px;display:block}.starter-mark{color:var(--vegas-gold);font-size:13px}.roster-stat-values{grid-template-columns:repeat(5,1fr);gap:4px;margin:10px 0 4px 50px;font-size:12px;display:grid}.roster-stat-values small{color:var(--text-secondary);margin-bottom:2px;font-size:8px;display:block}.roster-injury-note{border-left:2px solid var(--chip-red);background:color-mix(in srgb,var(--chip-red) 5%,var(--bg-elevated));border-radius:0 6px 6px 0;flex-wrap:wrap;gap:5px 10px;margin:10px 0 8px;padding:9px 10px;font-size:11px;display:flex}.roster-injury-note>span:not(.surprise-scratch-alert){color:var(--text-secondary);font-size:10px}.roster-provenance{margin:6px 0 0 50px}.source-report-button{text-align:left;align-items:center;gap:5px;max-width:100%;display:flex}.source-report-button>span{background:0 0;border:0;flex-wrap:wrap;height:auto;padding:0;font-size:10px}.source-report-button>svg{color:var(--text-secondary);flex-shrink:0}.source-report-button:hover,.profile-viewport a:hover{color:var(--brand-orange)}.form-strip{gap:6px;padding:14px 14px 0;display:flex}.result-chip{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-flex}.result-chip.w{color:var(--felt-green);background:color-mix(in srgb,var(--felt-green) 12%,var(--bg-surface))}.result-chip.l{color:var(--chip-red);background:color-mix(in srgb,var(--chip-red) 12%,var(--bg-surface))}.form-averages{border-bottom:1px solid var(--border-subtle);gap:30px;padding:14px;display:flex}.form-averages small{color:var(--text-secondary);font-size:9px;display:block}.form-averages b{margin-top:3px;font-size:20px;display:block}.team-game-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto 22px;align-items:center;gap:6px 8px;padding:10px 14px;display:grid}.team-game-row>div{color:var(--text-secondary);grid-column:1/-1;justify-content:space-between;font-size:9px;display:flex}.team-game-row a{align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.team-game-row img{-o-object-fit:contain;object-fit:contain;width:22px;height:22px}.team-game-row>b{font-size:12px}.profile-hint{color:var(--text-secondary);margin:0;padding:10px 14px;font-size:10px;line-height:1.5}.profile-news-article{border-top:1px solid var(--border-subtle);padding:14px}.profile-news-category{color:var(--text-secondary);letter-spacing:.5px;margin-bottom:8px;font-size:9px;display:inline-block}.category-INJURY{color:var(--chip-red)}.category-OFFICIAL_CLUB,.category-OFFICIAL_ROSTER{color:var(--royal-blue)}.category-COACH_QUOTE{color:var(--vegas-gold)}.category-RETURN_TO_PLAY{color:var(--felt-green)}.profile-news-article h3{margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.4}.profile-news-article ul{margin:0 0 12px;padding-left:16px}.profile-news-article li,.profile-news-article p{color:var(--text-secondary);margin:0 0 10px;font-size:12px;line-height:1.6}.profile-news-article>a>span{background:0 0;border:0;flex-wrap:wrap;height:auto;padding:0;font-size:10px}.related-player-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.related-player-chips a{border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:10px;display:flex}.profile-empty{color:var(--text-secondary);padding:16px;font-size:12px}.profile-disclaimer{letter-spacing:.5px;color:var(--text-secondary);margin-top:20px;font-size:8px}.profile-disclaimer>span{float:right;font-size:8px}.profile-disclaimer small{letter-spacing:0;margin-top:5px;font-size:10px;display:block}.subscription-note{color:var(--felt-green);margin:0 0 12px;font-size:11px}.player-avatar.large{width:80px;height:80px;box-shadow:0 0 0 4px var(--bg-primary);border-width:2px;font-size:26px}.player-avatar.status-OUT{border-color:var(--chip-red)}.player-avatar.status-IN{border-color:var(--felt-green)}.player-avatar.status-PROBABLE{border-color:var(--royal-blue)}.player-avatar.status-DOUBTFUL{border-color:var(--vegas-gold)}.player-avatar.status-UNCERTAIN{border-color:var(--status-uncertain)}.player-portrait{flex-shrink:0;position:relative}.portrait-team{-o-object-fit:contain;object-fit:contain;border:2px solid var(--bg-primary);background:var(--bg-surface);border-radius:50%;width:26px;height:26px;position:absolute;bottom:-2px;right:-2px}.player-title{align-items:center;gap:8px;display:flex}.player-title>span{color:var(--text-secondary);font-size:15px}.player-bio-header>div>a{color:var(--text-secondary);align-items:center;gap:4px;margin-top:5px;font-size:12px;display:flex}.player-bio-metrics{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px;padding:12px 0;display:grid}.player-bio-metrics>div{text-align:center;border-right:1px solid var(--border-subtle);padding:0 8px}.player-bio-metrics>div:last-child{border:0}.player-bio-metrics small{color:var(--text-secondary);letter-spacing:.4px;font-size:8px;display:block}.player-bio-metrics b{margin:3px 0;font-size:18px;line-height:1.5;display:block}.player-bio-metrics .role-label{padding:3px 0;font-size:14px}.player-bio-metrics span{color:var(--text-secondary);font-size:9px}.availability-card{border-top:2px solid var(--chip-red)}.availability-card.status-neutral{border-top-color:var(--border-subtle)}.availability-card.status-IN{border-top-color:var(--felt-green)}.availability-card.status-PROBABLE{border-top-color:var(--royal-blue)}.availability-card.status-DOUBTFUL{border-top-color:var(--vegas-gold)}.availability-card.status-UNCERTAIN{border-top-color:var(--status-uncertain)}.injury-uncertain{border-color:var(--status-uncertain);color:var(--status-uncertain)}.availability-headline{flex-wrap:wrap;align-items:center;gap:9px;margin:14px 14px 10px;display:flex}.availability-headline h3{margin:0;font-size:14px;font-weight:600}.availability-card>p{color:var(--text-secondary);margin:0 14px 12px;font-size:12px;line-height:1.6}.return-timeline{background:var(--bg-elevated);border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px;margin:0 14px 14px;padding:10px;font-size:10px;display:flex}.return-timeline>span{color:var(--text-secondary)}.return-timeline b{margin-left:auto;font-size:10px;font-weight:500}.verification-heading{border-top:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;padding:12px 14px 0;font-size:9px;display:flex}.verification-list{padding:0 14px 6px}.verification-list>div{border-bottom:1px solid var(--border-subtle);padding:10px 0}.verification-list>div:last-child{border-bottom:0}.verification-list p{color:var(--text-secondary);margin:5px 0 0;font-size:11px;line-height:1.5}.game-log-scroll{scrollbar-width:thin;overflow-x:auto}.player-game-table{border-collapse:collapse;width:100%;min-width:610px}.player-game-table th{font-family:var(--font-jetbrains-mono),monospace;text-align:right;color:var(--text-secondary);background:var(--bg-elevated);padding:9px 8px;font-size:9px;font-weight:500}.player-game-table th:first-child{text-align:left;width:220px;padding-left:14px}.player-game-table td{font-family:var(--font-jetbrains-mono),monospace;text-align:right;border-top:1px solid var(--border-subtle);padding:10px 8px;font-size:11px}.player-game-table td:first-child{text-align:left;padding-left:14px}.game-log-match{font-family:var(--font-heebo),var(--font-inter),sans-serif;align-items:center;gap:8px;display:flex}.game-log-match>img{-o-object-fit:contain;object-fit:contain;width:26px;height:26px}.game-log-match strong{font-size:12px;font-weight:500}.game-log-match>div>span{color:var(--text-secondary);align-items:center;gap:5px;margin-top:3px;font-size:9px;display:flex}.game-log-match .result-chip{width:16px;height:16px;font-size:8px}.player-game-table td>small{color:var(--text-secondary);margin-top:3px;font-size:7px;display:block}.player-game-table .dnp-row{background:color-mix(in srgb,var(--vegas-gold) 7%,var(--bg-surface))}.dnp-row td[colspan]{text-align:left;font-family:var(--font-heebo),var(--font-inter),sans-serif;color:var(--vegas-gold)}.dnp-row td[colspan]>small{font-size:10px}.season-hero-stats{grid-template-columns:repeat(4,1fr);gap:8px;padding:6px 14px 16px;display:grid}.season-hero-stats small{color:var(--text-secondary);font-size:8px}.season-hero-stats b{color:var(--brand-orange);margin-top:4px;font-size:24px;font-weight:600;display:block}.season-secondary-stats{background:color-mix(in srgb,var(--bg-elevated) 50%,var(--bg-surface));grid-template-columns:repeat(3,1fr);gap:14px 10px;padding:10px 14px;display:grid}.season-secondary-stats>div{justify-content:space-between;align-items:center;gap:6px;display:flex}.season-secondary-stats small{color:var(--text-secondary);font-size:9px}.season-secondary-stats b{font-size:12px;font-weight:500}.news-timeline{border-left:1px solid var(--border-subtle);margin:14px 14px 0}.news-timeline .profile-news-article{border-top:0;padding:0 0 20px 17px;position:relative}.timeline-dot{background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:3px;left:-4px}.player-alert-card{border:1px dashed var(--border-subtle);text-align:center;background:var(--bg-elevated);border-radius:10px;margin:0 14px 16px;padding:18px 14px}.player-alert-card>svg{color:var(--brand-orange);margin:0 auto 9px}.player-alert-card h3{margin:0 0 6px;font-size:13px;font-weight:600}.player-alert-card p{color:var(--text-secondary);margin:0 0 12px;font-size:11px}.player-alert-card button{background:var(--brand-orange);color:#fff;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:600}.player-alert-card small{color:var(--text-secondary);margin-top:8px;font-size:9px;display:block}.source-sheet{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);border-radius:16px;width:min(480px,100% - 28px);max-height:85dvh;padding:0;overflow-y:auto}.source-sheet::backdrop{background:color-mix(in srgb,var(--bg-primary) 78%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.source-sheet>div{padding:20px}.source-sheet header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:11px;display:flex}.source-sheet h2{margin:18px 0 12px;font-size:16px}.source-sheet blockquote{border-left:2px solid var(--brand-orange);background:var(--bg-elevated);margin:0 0 12px;padding:10px 14px;font-size:14px;line-height:1.6}.source-sheet time{color:var(--text-secondary);font-size:10px}.source-sheet p,.source-sheet small{color:var(--text-secondary);margin:16px 0;font-size:11px;line-height:1.6}.source-external{align-items:center;gap:8px;font-size:12px;display:flex;color:var(--brand-orange)!important}@container (min-width:768px){.profile-viewport .profile-scroll{padding:18px 24px 104px}.team-bio-header{gap:18px}.standing-card{max-width:350px}.player-bio-metrics>div{text-align:left;padding:0 20px}.team-roster-row{grid-template-columns:minmax(240px,1fr) 245px;gap:8px 14px;display:grid}.roster-stat-values{text-align:right;align-items:center;margin:0}.roster-injury-note{grid-column:1/-1;margin:0}.roster-provenance{grid-column:1/-1;margin:0 0 0 50px}}@container (min-width:1024px){.profile-viewport .profile-scroll{padding:18px 24px 30px}.profile-mobile-tabs{display:none}.mobile-section{display:block}.team-profile-grid{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.player-profile-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.team-roster-row{display:block}.roster-stat-values{text-align:left;margin:8px 0 4px 50px}.player-news{position:sticky;top:0}.player-game-table{min-width:610px}}@container (min-width:1280px){.profile-viewport .profile-scroll{padding:18px 28px 30px}.team-profile-grid{grid-template-columns:minmax(0,1.85fr) minmax(330px,1fr);gap:20px}.team-roster-row{grid-template-columns:minmax(235px,1fr) 220px;gap:8px 12px;padding:11px 14px;display:grid}.roster-person{gap:8px}.roster-person .player-name{font-size:13px}.roster-status>span>span{padding:0 6px;font-size:9px}.roster-stat-values{text-align:right;margin:0}.roster-stat-values small{display:none}.roster-table-heading{background:var(--bg-elevated);color:var(--text-secondary);grid-template-columns:minmax(235px,1fr) repeat(5,44px);align-items:center;padding:10px 14px;font-size:8px;display:grid}.roster-table-heading>span:not(:first-child){text-align:right}.roster-injury-note{grid-column:1/-1;margin:0}.roster-provenance{margin:0 0 0 48px}.player-profile-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:20px}.player-game-table{min-width:0}.player-game-table td,.player-game-table th{padding-left:6px;padding-right:6px}.player-game-table th:first-child{width:200px}.season-secondary-stats{grid-template-columns:repeat(5,1fr)}}.compact-roster .profile-card-heading{padding-top:12px}.compact-roster>.profile-filters{margin-top:8px;margin-bottom:8px}.compact-roster .roster-sort{padding-bottom:8px}.compact-roster .team-roster-row{grid-template-columns:minmax(0,1fr);gap:3px;padding:7px 12px;display:grid}.compact-roster .roster-person{gap:8px}.compact-roster .player-avatar{width:28px;height:28px;font-size:10px}.compact-roster .player-name{font-size:13px;line-height:18px}.compact-roster .roster-person>div>span{margin-top:0;font-size:9px;line-height:12px}.compact-roster .starter-mark{font-size:11px}.compact-roster .roster-stat-values{text-align:left;grid-column:1/-1;justify-content:space-between;gap:6px;margin:0 0 0 36px;font-size:11px;line-height:16px;display:flex}.compact-roster .roster-stat-values>span{white-space:nowrap;align-items:baseline;gap:3px;display:flex}.compact-roster .roster-stat-values small{margin:0;font-size:8px;display:inline}.compact-roster .roster-provenance{grid-column:1/-1;min-height:15px;margin:0 0 0 36px}.compact-roster .source-report-button{min-height:18px}.compact-roster .source-report-button>span{gap:4px;font-size:9px;line-height:15px}.compact-roster .roster-injury-note{background:0 0;border:0;border-radius:0;grid-column:1/-1;align-items:center;gap:2px 8px;margin:1px 0 0 36px;padding:0;font-size:10px;line-height:16px}.compact-roster .roster-injury-note>strong{color:var(--chip-red);font-weight:500}.compact-roster .injury-probable>strong{color:var(--royal-blue)}.compact-roster .injury-doubtful>strong{color:var(--vegas-gold)}.compact-roster .roster-injury-note>span:not(.surprise-scratch-alert){font-size:9px}.compact-roster .surprise-scratch-alert{height:18px;padding:0 4px;font-size:9px}@container (min-width:768px) and (max-width:1023px){.compact-roster .team-roster-row{-moz-column-gap:12px;grid-template-columns:minmax(240px,1fr) 245px;column-gap:12px}.compact-roster .roster-stat-values{grid-area:1/2;align-self:center;margin:0}}@container (min-width:1280px){.compact-roster .team-roster-row{-moz-column-gap:12px;grid-template-columns:minmax(235px,1fr) 220px;column-gap:12px;padding:7px 14px}.compact-roster .roster-stat-values{text-align:right;grid-area:1/2;grid-template-columns:repeat(5,1fr);align-self:center;gap:0;margin:0;display:grid}.compact-roster .roster-stat-values>span{display:block}.compact-roster .roster-stat-values small{display:none}.compact-roster .roster-table-heading{padding-top:7px;padding-bottom:7px}}
