.player-profile { max-width: 1100px; padding-bottom: 32px; color: #172132; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0; }
.player-profile *, .player-profile *::before, .player-profile *::after { box-sizing: border-box; letter-spacing: 0; }
.player-profile a { text-decoration: none; }
.pp-hero { position: relative; isolation: isolate; min-height: 460px; overflow: hidden; background: #122038; color: #fff; }
.pp-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #122038 5%, rgba(18,32,56,.88) 38%, transparent 75%), linear-gradient(0deg, rgba(8,17,29,.6), transparent 40%); }
.pp-portrait { position: absolute; z-index: -2; right: 0; top: 0; width: 65%; height: 100%; object-fit: contain; object-position: center bottom; }
.pp-initial { position: absolute; z-index: -2; right: 12%; top: 0; font-size: 280px; line-height: 1.5; font-weight: 900; color: #344c73; }
.pp-hero--no-photo { min-height: 320px; }
.pp-identity { padding: 36px; max-width: 66%; overflow-wrap: anywhere; }
.pp-eyebrow { display: block; color: #c0cde1; font-size: 11px; font-weight: 700; margin-bottom: 30px; }
.pp-number { display: block; color: #f4c665; font-size: 42px; font-weight: 900; line-height: 1.2; }
.pp-identity h1 { font-size: 42px; line-height: 1.08; font-weight: 900; margin: 10px 0 20px; color: #fff; }
.pp-identity h1 span { display: block; font-size: 28px; font-weight: 700; margin-top: 8px; }
.pp-teams { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; font-weight: 600; }
.pp-teams a { color: #fff; border-bottom: 1px solid #f4c665; }
.pp-facts { display: flex; flex-wrap: wrap; gap: 16px 28px; margin: 28px 0 0; }
.pp-facts dt { color: #c0cde1; font-size: 11px; font-weight: 500; }
.pp-facts dd { margin: 4px 0 0; font-size: 14px; font-weight: 700; }
.pp-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: #fff; border-bottom: 1px solid #dce3ed; }
.pp-tabs a { text-align: center; padding: 20px 6px; color: #526176; font-size: 14px; font-weight: 700; border-bottom: 3px solid transparent; }
.pp-tabs a:hover { background: #eff5ff; color: #174fc6; }
.pp-tabs a.is-active { color: #174fc6; border-bottom-color: #2460dc; background: #eff5ff; }
.player-profile a:focus-visible { outline: 3px solid #dc9d24; outline-offset: -3px; }
.pp-panel { background: #fff; padding: 28px 32px; scroll-margin-top: 100px; }
.pp-panel[hidden] { display: none; }
.pp-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 18px; flex-wrap: wrap; }
.pp-heading:not(:first-child) { margin-top: 32px; }
.pp-heading h2 { font-size: 20px; font-weight: 800; margin: 0; color: #172132; }
.pp-heading > span { font-size: 12px; color: #64748b; }
.pp-heading a { font-size: 13px; font-weight: 700; color: #174fc6; }
.pp-highlights { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid #e5eaf1; }
.pp-highlights > div { padding: 22px 12px; text-align: center; }
.pp-highlights > div + div { border-left: 1px solid #e5eaf1; }
.pp-highlights strong, .pp-stat-grid strong { display: block; font-size: 34px; line-height: 1.2; font-weight: 900; color: #174fc6; }
.pp-highlights span, .pp-stat-grid span { display: block; margin-top: 6px; font-size: 12px; font-weight: 600; }
.pp-highlights .pp-gold strong, .pp-stat-grid .pp-gold strong { color: #946009; }
.pp-heading .pp-award-count { color: #946009; background: #fff4d8; padding: 5px 9px; border-radius: 4px; font-weight: 700; }
.pp-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.pp-stat-grid > div { background: #f6f8fc; border: 1px solid #e5eaf1; border-radius: 8px; padding: 24px 12px; text-align: center; }
.pp-stat-grid .pp-yellow { border-top: 3px solid #e5b637; }
.pp-stat-grid .pp-red { border-top: 3px solid #cd3c49; }
.pp-stat-grid .pp-red strong { color: #b52738; }
.pp-report { display: inline-block; color: #174fc6; font-weight: 700; margin-top: 24px; }
.pp-match { display: grid; grid-template-columns: 85px minmax(0,1fr) 16px; align-items: center; gap: 16px; padding: 17px 0; border-bottom: 1px solid #e5eaf1; color: #172132; }
.pp-match:hover { background: #f4f7fd; color: #174fc6; }
.pp-match time { font-size: 12px; color: #64748b; font-variant-numeric: tabular-nums; }
.pp-match time span { display: block; margin-top: 4px; color: #172132; font-weight: 700; }
.pp-match-teams { min-width: 0; display: grid; gap: 10px; }
.pp-match-teams > div { display: grid; grid-template-columns: 26px minmax(0,1fr) 30px; gap: 10px; align-items: center; font-size: 14px; font-weight: 600; }
.pp-match-teams img { width: 26px; height: 26px; object-fit: contain; }
.pp-match-teams span { overflow-wrap: anywhere; }
.pp-match-teams strong { text-align: center; font-variant-numeric: tabular-nums; }
.pp-team-placeholder { width: 22px; height: 26px; background: #e4eaf3; border: 1px solid #cbd5e1; border-radius: 4px 4px 10px 10px; }
.pp-match-arrow { color: #7e8ca0; font-size: 22px; }
.pp-empty { color: #64748b; font-size: 14px; padding: 24px 0; margin: 0; }
.pp-career-entry { padding: 22px 0; border-bottom: 1px solid #e5eaf1; overflow-wrap: anywhere; }
.pp-career-entry:first-of-type { padding-top: 0; }
.pp-career-season { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: #64748b; font-size: 12px; margin-bottom: 12px; }
.pp-career-season span { color: #174fc6; font-weight: 700; }
.pp-career-season .pp-cup-label { color: #946009; }
.pp-career-entry h3 { font-size: 19px; font-weight: 800; margin: 0 0 6px; }
.pp-career-entry p { margin: 0 0 12px; font-size: 14px; color: #526176; }
.pp-career-stats { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); background: #f6f8fc; padding: 12px 4px; margin: 16px 0; text-align: center; }
.pp-career-stats dt { font-size: 11px; font-weight: 500; color: #64748b; }
.pp-career-stats dd { font-size: 18px; font-weight: 800; margin: 4px 0 0; }
.pp-career-entry .pp-career-meta { font-size: 12px; color: #64748b; }
@media (max-width: 600px) {
  .player-profile { padding-inline: 0; }
  .pp-hero { min-height: 490px; display: flex; align-items: flex-end; }
  .pp-hero--no-photo { min-height: 320px; }
  .pp-hero--no-photo .pp-initial { font-size: 200px; right: 5%; }
  .pp-portrait { width: 100%; height: 390px; object-position: center top; }
  .pp-hero::after { background: linear-gradient(0deg, #122038 0%, rgba(18,32,56,.96) 22%, rgba(18,32,56,.1) 62%, transparent 100%); }
  .pp-identity { padding: 24px 20px; max-width: 100%; width: 100%; }
  .pp-eyebrow { margin-bottom: 14px; }
  .pp-number { font-size: 32px; }
  .pp-identity h1 { font-size: 32px; margin: 8px 0 16px; }
  .pp-identity h1 span { font-size: 22px; }
  .pp-facts { margin-top: 18px; gap: 16px 24px; }
  .pp-tabs a { font-size: 12px; padding: 16px 3px; }
  .pp-panel { padding: 24px 16px; }
  .pp-heading h2 { font-size: 18px; }
  .pp-highlights strong { font-size: 27px; }
  .pp-highlights > div { padding: 18px 4px; }
  .pp-highlights span { font-size: 11px; }
  .pp-stat-grid { gap: 8px; }
  .pp-stat-grid > div { padding: 20px 6px; }
  .pp-stat-grid strong { font-size: 28px; }
  .pp-stat-grid span { font-size: 11px; }
  .pp-match { grid-template-columns: 66px minmax(0,1fr) 10px; gap: 8px; }
  .pp-match time { font-size: 10px; }
  .pp-match-teams > div { grid-template-columns: 24px minmax(0,1fr) 24px; gap: 7px; font-size: 13px; }
}
.player-profile[data-view]:not([data-view="overview"]) .pp-hero { min-height: 130px; }
.player-profile[data-view]:not([data-view="overview"]) .pp-identity { padding: 20px; max-width: calc(100% - 100px); }
.player-profile[data-view]:not([data-view="overview"]) .pp-identity h1 { font-size: 24px; margin: 0 0 12px; }
.player-profile[data-view]:not([data-view="overview"]) .pp-identity h1 span { font-size: 17px; }
.player-profile[data-view]:not([data-view="overview"]) .pp-portrait { width: 100px; height: 100%; object-fit: contain; object-position: right bottom; }
.player-profile[data-view]:not([data-view="overview"]) .pp-initial { font-size: 100px; right: 16px; line-height: 1.3; }
.player-profile[data-view]:not([data-view="overview"]) .pp-eyebrow,
.player-profile[data-view]:not([data-view="overview"]) .pp-number,
.player-profile[data-view]:not([data-view="overview"]) .pp-facts { display: none; }
