/* Compact profile layout, using pitch.'s shared tokens and homepage canvas. */
.player-profile-page { position: relative; }
.player-profile-page [data-component="header"] { position: relative; z-index: 1100; }
.player-profile-page :is(main, [data-component="footer"]) { position: relative; z-index: 2; }
.player-profile-page .profile-backdrop {
  position: fixed;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 62% -8%, rgba(0, 255, 102, .065), transparent 34%),
    linear-gradient(180deg, #050806 0%, #040605 48%, #050806 100%);
}
.player-profile-page .profile-backdrop__grid {
  position: absolute;
  inset: 0;
  opacity: .28;
  background-image:
    linear-gradient(rgba(255, 255, 255, .026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .026) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 65%);
}
.player-profile-page .profile-backdrop__flare {
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  filter: blur(110px);
  opacity: .15;
}
.player-profile-page .profile-backdrop__flare--one { top: 0; right: -360px; background: var(--color-primary); }
.player-profile-page .profile-backdrop__flare--two { top: 950px; left: -510px; background: #0aa8ff; opacity: .05; }
.player-profile-page .profile-backdrop__beam {
  position: absolute;
  top: -320px;
  left: 58%;
  width: 1px;
  height: 1200px;
  background: linear-gradient(transparent, rgba(0, 255, 102, .2), transparent);
  box-shadow: 0 0 70px 24px rgba(0, 255, 102, .025);
  transform: rotate(29deg);
}
.player-profile-page .profile-backdrop__noise {
  position: absolute;
  inset: 0;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
.player-profile-page .profile-page {
  --player-line: var(--color-border);
  --player-muted: #a5b2a9;
  --player-green: var(--color-primary);
  --player-draw: #8a9790;
  --player-loss: #ff667a;
  --player-surface: #090d0b;
  --player-panel: linear-gradient(145deg, rgba(14, 20, 16, .94), rgba(5, 8, 6, .96));
  --player-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 18px 54px rgba(0, 0, 0, .2);
  padding-bottom: 36px;
  color: var(--color-text-primary);
}
.player-profile-page .profile-page [hidden] { display: none !important; }
.player-profile-page .profile-page .container { width: min(1200px, calc(100% - 48px)); max-width: 1200px; padding: 0; }
.player-profile-page .profile-hero { padding-top: 24px; }
.player-profile-page .profile-card { min-height: 128px; border: 1px solid rgba(0, 255, 102, .15); border-radius: 18px; background: radial-gradient(ellipse at 95% 0, rgba(0, 255, 102, .1), transparent 55%), var(--player-panel); box-shadow: var(--player-shadow); }
.player-profile-page .profile-content { display: flex; align-items: center; gap: 22px; padding: 26px; }
.player-profile-page .profile-avatar-wrap,
.player-profile-page .profile-avatar { width: 112px; height: 112px; flex: 0 0 112px; }
.player-profile-page .profile-avatar { border-width: 2px; }
.player-profile-page .profile-identity { flex: 1; min-width: 0; }
.player-profile-page .profile-name-row { flex-wrap: wrap; gap: 8px; }
.player-profile-page .profile-name-row h1 { font-size: 36px; font-weight: 850; line-height: 1.15; letter-spacing: -1px; overflow-wrap: anywhere; min-width: 0; }
.player-profile-page .profile-level-chip { margin-left: 2px; flex-shrink: 0; }
.player-profile-page .profile-username { color: #c1cdc5; margin: 7px 0; font-size: 16px; font-weight: 500; overflow-wrap: anywhere; }
.player-profile-page .profile-presence { display: inline-flex; margin: 0 10px 0 0; line-height: 1.6; }
.player-profile-page .profile-meta { display: inline-flex; flex-wrap: wrap; gap: 6px; font-size: 13px; line-height: 1.6; color: var(--player-muted); }
.player-profile-page .profile-card .profile-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 0; margin: 0; width: auto; max-width: 460px; }
.player-profile-page .profile-hero-actions > :is(a, button),
.player-profile-page .player-edit-link { min-height: 40px; border-radius: 9px; border: 1px solid var(--player-line); padding: 10px 12px; font-size: 13px; line-height: 1.3; font-weight: 700; gap: 7px; background: rgba(255, 255, 255, .025); color: var(--color-text-primary); box-shadow: none; }
.player-profile-page .profile-hero-actions > .profile-friend-trigger { color: var(--color-primary); background: var(--color-primary-soft); border-color: rgba(0, 255, 102, .2); }
.player-profile-page .profile-hero-actions > .profile-message-trigger { background: var(--color-primary); color: #020604; border-color: transparent; }
.player-profile-page .profile-hero-actions > .profile-message-trigger:hover { background: var(--color-primary-hover); box-shadow: var(--shadow-primary); }
.player-profile-page .profile-hero-actions > .profile-message-trigger svg { color: inherit; }
.player-profile-page .profile-hero-actions > :is(.profile-block-trigger, .pitch-report-trigger) { width: 40px; padding: 10px; }
.player-profile-page .profile-hero-actions > :is(.profile-block-trigger, .pitch-report-trigger) > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.player-profile-page .profile-hero-actions svg { flex: 0 0 17px; width: 17px; height: 17px; }
.player-profile-page .player-edit-link { display: inline-flex; align-items: center; flex-shrink: 0; }
.player-profile-page .profile-content-section { padding: 18px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.player-profile-page .profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) 304px; align-items: start; gap: 18px; }
.player-profile-page .profile-main-column,
.player-profile-page .profile-sidebar { display: grid; gap: 18px; min-width: 0; position: static; }
.player-profile-page .profile-page .section-card { min-width: 0; padding: 22px; background: var(--player-panel); border: 1px solid var(--player-line); border-radius: 18px; box-shadow: var(--player-shadow); }
.player-profile-page .profile-page :is(.section-header, .player-section-head) { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 0 0 20px; }
.player-profile-page .profile-page .section-kicker { display: block; color: var(--color-primary); font-family: var(--font-mono); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 1.4px; margin: 0 0 7px; }
.player-profile-page .profile-page h2 { font-size: 20px; font-weight: 800; line-height: 1.3; letter-spacing: -.35px; margin: 0; }
.player-profile-page .player-scope-note { color: var(--player-muted); font-size: 12px; }
.player-profile-page .player-segments { display: inline-flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid var(--player-line); border-radius: 9px; background: rgba(0, 0, 0, .24); }
.player-profile-page .player-segments button { flex: 1 0 auto; border: 0; border-radius: 6px; padding: 9px 13px; background: transparent; color: #b7c4bb; font-size: 13px; line-height: 1.3; font-weight: 600; cursor: pointer; white-space: nowrap; box-shadow: none; }
.player-profile-page .player-segments button[aria-pressed="true"] { color: var(--color-primary); background: var(--color-primary-soft); box-shadow: inset 0 0 0 1px rgba(0, 255, 102, .2); }
.player-profile-page .player-segments button:hover { color: #fff; }
.player-profile-page .profile-page :is(a, button, summary):focus-visible { outline: 2px solid var(--player-green); outline-offset: 3px; }
.player-profile-page .player-results { display: grid; grid-template-columns: 206px minmax(0, 1fr); align-items: center; gap: 34px; min-height: 228px; }
.player-profile-page .player-donut-wrap { text-align: center; min-width: 0; }
.player-profile-page .player-donut { position: relative; width: 192px; height: 192px; margin: 0 auto; }
.player-profile-page .player-donut-svg { display: block; width: 100%; height: 100%; overflow: visible; }
.player-profile-page .player-ring-guide { stroke: rgba(0, 255, 102, .12); stroke-width: 1; stroke-dasharray: 2 5; }
.player-profile-page .player-ring-track { stroke: #1b2820; stroke-width: 14; }
.player-profile-page .player-ring-inner { stroke: rgba(255, 255, 255, .06); stroke-width: 1; fill: rgba(3, 8, 5, .55); }
.player-profile-page .player-ring-segment { stroke-width: 14; }
.player-profile-page .player-ring-segment.is-win { stroke: url(#profile-ring-win); filter: drop-shadow(0 0 4px rgba(0, 255, 102, .14)); }
.player-profile-page .player-ring-segment.is-draw { stroke: var(--player-draw); }
.player-profile-page .player-ring-segment.is-loss { stroke: var(--player-loss); }
.player-profile-page .player-donut .player-donut-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.player-profile-page .player-donut strong { font-size: 38px; font-weight: 750; letter-spacing: -1.4px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.player-profile-page .player-donut strong small { font-size: 17px !important; margin-left: 2px; letter-spacing: 0; color: #b9c9bf; }
.player-profile-page .player-donut span { color: #b3c2b8; font-size: 13px; }
.player-profile-page .player-donut-wrap > p { margin: 10px 0 0; color: var(--player-muted); font-size: 12px; line-height: 1.5; }
.player-profile-page .player-results-numbers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; min-width: 0; }
.player-profile-page .player-kpi { display: grid; grid-template-columns: minmax(0, 1fr) auto 54px; gap: 7px 10px; align-items: center; min-width: 0; }
.player-profile-page .player-kpi > span { display: flex; align-items: center; gap: 8px; color: #c2d0c6; font-size: 14px; line-height: 1.4; min-width: 0; }
.player-profile-page .player-kpi strong { font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; overflow-wrap: anywhere; }
.player-profile-page .player-kpi > small { font-size: 13px !important; font-variant-numeric: tabular-nums; color: var(--player-muted); text-align: right; }
.player-profile-page .player-kpi--total { grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 13px; border-bottom: 1px solid var(--player-line); }
.player-profile-page .player-kpi--total strong { font-size: 34px; }
.player-profile-page .player-kpi > span > i, .player-profile-page .player-chart-legend i { display: inline-block; width: 7px; height: 7px; border-radius: 2px; flex-shrink: 0; }
.player-profile-page .player-kpi i.is-win { background: var(--player-green); }
.player-profile-page .player-kpi i.is-draw { background: var(--player-draw); }
.player-profile-page .player-kpi i.is-loss { background: var(--player-loss); }
.player-profile-page .player-kpi-track { grid-column: 1 / -1; height: 3px; border-radius: 4px; background: rgba(255, 255, 255, .045); overflow: hidden; }
.player-profile-page .player-kpi-track > i { display: block; height: 100%; border-radius: inherit; background: var(--player-draw); }
.player-profile-page .player-kpi.is-win .player-kpi-track > i { background: var(--player-green); }
.player-profile-page .player-kpi.is-loss .player-kpi-track > i { background: var(--player-loss); }
.player-profile-page .player-result-caption { font-size: 13px; line-height: 1.6; color: var(--player-muted); margin: 0; }
.player-profile-page .player-rankings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.player-profile-page .player-ranking { display: flex; flex-direction: column; gap: 5px; padding: 14px; border: 1px solid var(--player-line); border-radius: 10px; color: var(--color-text-primary); background: rgba(255, 255, 255, .018); min-width: 0; overflow-wrap: anywhere; transition: border-color .15s; }
.player-profile-page .player-ranking:hover { border-color: rgba(0, 255, 102, .25); }
.player-profile-page .player-ranking-heading { display: flex; justify-content: space-between; gap: 8px; color: #c0ccc3; font-size: 14px; }
.player-profile-page .player-ranking > strong { font-size: 28px; line-height: 1.4; font-weight: 700; font-variant-numeric: tabular-nums; }
.player-profile-page .player-ranking > strong small { font-weight: 500; color: var(--player-muted); font-size: 12px !important; }
.player-profile-page .player-ranking > span { color: #bdc9c1; font-size: 13px; line-height: 1.5; }
.player-profile-page .player-ranking > small { color: var(--player-muted); font-size: 12px !important; }
.player-profile-page .player-ranking .is-positive { color: var(--player-green); }
.player-profile-page .player-ranking .is-negative { color: var(--player-loss); }
.player-profile-page .player-goal-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding-bottom: 16px; border-bottom: 1px solid var(--player-line); }
.player-profile-page .player-goal-stats > div { min-width: 0; padding-left: 14px; border-left: 1px solid var(--player-line); }
.player-profile-page .player-goal-stats > div:first-child { padding-left: 0; border-left: 0; }
.player-profile-page .player-goal-stats span { display: block; color: var(--player-muted); font-size: 13px; line-height: 1.5; }
.player-profile-page .player-goal-stats strong { display: block; margin-top: 8px; font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; overflow-wrap: anywhere; }
.player-profile-page .player-goal-stats > div:first-child strong { color: var(--player-green); }
.player-profile-page .player-goal-stats > p { grid-column: 1 / -1; font-size: 12px; color: var(--player-muted); margin: 7px 0 0; }
.player-profile-page .player-chart-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin: 22px 0 18px; font-size: 14px; color: #c1cec5; }
.player-profile-page .player-chart-legend { display: flex; gap: 16px; font-size: 13px; }
.player-profile-page .player-chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
.player-profile-page .is-for { background: var(--player-green); }
.player-profile-page .is-against { background: #84988b; }
.player-profile-page .player-score-chart { min-width: 0; }
.player-profile-page .player-chart-scroll { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #35483c transparent; padding: 3px 3px 8px; }
.player-profile-page .player-chart-plot { --plot-height: 156px; --label-height: 24px; --plot-gap: 12px; position: relative; padding-left: 30px; min-width: 328px; }
.player-profile-page .player-chart-axis { position: absolute; top: calc(var(--label-height) + var(--plot-gap)); left: 0; height: var(--plot-height); width: 21px; color: var(--player-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.player-profile-page .player-chart-axis span { position: absolute; right: 0; transform: translateY(-50%); }
.player-profile-page .player-chart-bars { position: relative; display: grid; grid-template-columns: repeat(var(--match-count), minmax(0, 1fr)); gap: 12px; }
.player-profile-page .player-chart-bars::before { content: ''; position: absolute; inset: calc(var(--label-height) + var(--plot-gap)) 0 auto; height: var(--plot-height); background: linear-gradient(to bottom, rgba(255, 255, 255, .065) 1px, transparent 1px) 0 0 / 100% 25%; border-bottom: 1px solid rgba(255, 255, 255, .1); pointer-events: none; }
.player-profile-page .player-chart-match { appearance: none; position: relative; display: grid; grid-template-rows: var(--label-height) var(--plot-height) var(--label-height); gap: var(--plot-gap); align-items: center; justify-items: center; min-width: 0; padding: 0; border: 0; border-radius: 7px; color: #c6d3ca; background: transparent; box-shadow: none; cursor: pointer; font: inherit; }
.player-profile-page .player-chart-match:hover, .player-profile-page .player-chart-match[aria-pressed="true"] { color: #effff4; background: rgba(0, 255, 102, .045); }
.player-profile-page .player-chart-score { display: block; width: 100%; max-width: 56px; padding: 2px; border-radius: 5px; font-size: 13px; font-weight: 650; line-height: 20px; font-variant-numeric: tabular-nums; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-profile-page .player-chart-match[aria-pressed="true"] .player-chart-score { background: rgba(0, 255, 102, .12); color: var(--player-green); box-shadow: inset 0 0 0 1px rgba(0, 255, 102, .18); }
.player-profile-page .player-bar-pair { display: flex; align-items: flex-end; justify-content: center; gap: 5px; height: 100%; width: 100%; }
.player-profile-page .player-bar-pair > i { display: block; width: min(36%, 22px); height: var(--bar-height); border-radius: 5px 5px 0 0; }
.player-profile-page .player-bar-pair > .is-for { background: linear-gradient(180deg, #71ffac, #00da58); box-shadow: inset 0 0 0 1px rgba(155, 255, 193, .3); }
.player-profile-page .player-bar-pair > .is-against { background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(255, 255, 255, .045) 5px 6px), linear-gradient(180deg, #91a89a, #405b4b); box-shadow: inset 0 0 0 1px rgba(190, 215, 198, .2); }
.player-profile-page .player-chart-date { font-size: 12px; line-height: 1.4; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.player-profile-page .player-chart-footnote { color: var(--player-muted); font-size: 12px; line-height: 1.6; margin: 12px 0 0; }
.player-profile-page .player-selected-match { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid rgba(0, 255, 102, .1); border-radius: 12px; background: linear-gradient(110deg, rgba(0, 255, 102, .035), rgba(255, 255, 255, .01)); }
.player-profile-page .player-person-avatar { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; overflow: hidden; border-radius: 10px; border: 1px solid rgba(0, 255, 102, .15); background: radial-gradient(circle at 30% 10%, #183c26, #0a1510); }
.player-profile-page .player-person-avatar b { font-size: 13px; color: #c8ead5; font-weight: 750; }
.player-profile-page .player-person-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.player-profile-page .player-selected-identity { min-width: 0; }
.player-profile-page .player-selected-identity strong { display: block; font-size: 15px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-profile-page .player-selected-identity span { display: block; color: var(--player-muted); font-size: 12px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-profile-page .player-selected-score { text-align: right; }
.player-profile-page .player-selected-score strong { display: block; font-size: 22px; line-height: 1.3; font-variant-numeric: tabular-nums; }
.player-profile-page .player-selected-score span { display: block; font-size: 12px; line-height: 1.5; color: var(--player-muted); }
.player-profile-page .player-selected-score.is-win span { color: var(--player-green); }
.player-profile-page .player-selected-score.is-loss span { color: #ff96a4; }
.player-profile-page .player-chart-open { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 12px; color: var(--player-green); border: 1px solid rgba(0, 255, 102, .2); background: rgba(0, 255, 102, .045); border-radius: 8px; font-size: 13px; font-weight: 600; text-align: center; }
.player-profile-page .player-empty { grid-column: 1 / -1; width: 100%; padding: 24px 12px; font-size: 13px; line-height: 1.6; text-align: center; color: var(--player-muted); margin: 0; }
.player-profile-page .profile-page .matches-list { display: grid; gap: 0; }
.player-profile-page .profile-page .profile-match-row { display: grid; grid-template-columns: 25px minmax(0, 1fr) 48px minmax(0, 1.15fr) 88px 12px; gap: 10px; align-items: center; padding: 12px 0; border: 0; border-bottom: 1px solid var(--player-line); border-radius: 0; background: transparent; min-height: 60px; }
.player-profile-page .profile-page .profile-match-row:last-child { border-bottom: 0; padding-bottom: 0; }
.player-profile-page .profile-page .profile-match-row:hover { background: #ffffff03; }
.player-profile-page .profile-page .profile-match-row::before { display: none; }
.player-profile-page .profile-match-result { width: 24px; height: 24px; border-radius: 6px; font-size: 12px; }
.player-profile-page .profile-match-score { display: flex; justify-content: center; align-items: center; gap: 4px; font-size: 17px; }
.player-profile-page .profile-match-side { min-width: 0; gap: 8px; }
.player-profile-page .profile-match-side > span:not(.profile-match-team-mark) { min-width: 0; }
.player-profile-page .profile-match-side strong { font-size: 14px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.player-profile-page .profile-match-side small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px !important; color: var(--player-muted); }
.player-profile-page .profile-match-team-mark { width: 26px; height: 26px; flex: 0 0 26px; border: 0; border-radius: 5px; }
.player-profile-page .profile-match-team-mark b { font-size: 12px; }
.player-profile-page .profile-match-meta { grid-column: auto; display: flex; flex-direction: column; text-align: right; gap: 3px; min-width: 0; }
.player-profile-page .profile-match-meta :is(span, small) { font-size: 12px !important; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--player-muted); }
.player-profile-page .profile-match-arrow { width: 12px; height: 12px; }
.player-profile-page .profile-data-empty { padding: 25px 16px; min-height: 0; border: 1px dashed var(--player-line); background: transparent; }
.player-profile-page .profile-data-empty > span { display: none; }
.player-profile-page .profile-data-empty strong { font-size: 14px; }
.player-profile-page .profile-data-empty p { font-size: 12px; margin-top: 6px; }
.player-profile-page .player-collection-count { display: flex; gap: 6px; align-items: baseline; font-variant-numeric: tabular-nums; }
.player-profile-page .player-collection-count b { color: var(--player-green); font-size: 25px; }
.player-profile-page .player-collection-count span { color: var(--player-muted); font-size: 13px; }
.player-profile-page .player-achievement-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.player-profile-page .player-achievements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.player-profile-page .player-achievement { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--player-line); border-radius: 12px; padding: 14px; background: rgba(0, 0, 0, .17); }
.player-profile-page .player-achievement.is-unlocked { border-color: rgba(0, 255, 102, .17); background: linear-gradient(145deg, rgba(0, 255, 102, .055), transparent 75%), rgba(7, 12, 9, .75); }
.player-profile-page .player-achievement-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 14px; }
.player-profile-page .player-achievement-icon { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border: 1px solid var(--player-line); border-radius: 9px; background: rgba(255, 255, 255, .025); color: var(--player-muted); }
.player-profile-page .is-unlocked .player-achievement-icon { color: var(--player-green); background: var(--color-primary-soft); border-color: rgba(0, 255, 102, .15); }
.player-profile-page .is-unlocked[data-achievement-kind="season"] .player-achievement-icon { color: #ead093; background: #302a1c; border-color: #ead09330; }
.player-profile-page .is-unlocked[data-achievement-kind="rating"] .player-achievement-icon { color: #b9b0ef; background: #27233b; border-color: #b9b0ef30; }
.player-profile-page .player-achievement-icon svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.player-profile-page .player-achievement-state { color: var(--player-muted); font-size: 12px; text-align: right; line-height: 1.4; }
.player-profile-page .is-unlocked .player-achievement-state { color: var(--player-green); }
.player-profile-page .player-achievement h3 { font-size: 15px; font-weight: 700; line-height: 1.45; letter-spacing: 0; margin: 0 0 6px; overflow-wrap: anywhere; }
.player-profile-page .player-achievement > p { font-size: 13px; line-height: 1.55; color: #b5c2b9; margin: 0 0 15px; }
.player-profile-page .player-achievement-progress { display: flex; flex-direction: column; gap: 5px; margin-top: auto; }
.player-profile-page .player-achievement-progress > span { font-size: 14px; font-variant-numeric: tabular-nums; color: #d2ddd6; }
.player-profile-page .player-achievement-progress > small { font-size: 12px !important; line-height: 1.5; color: var(--player-muted); }
.player-profile-page .player-achievement-track { height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; margin-top: 9px; }
.player-profile-page .player-achievement-track > i { display: block; height: 100%; border-radius: inherit; background: #829489; }
.player-profile-page .is-unlocked .player-achievement-track > i { background: var(--player-green); }
.player-profile-page .player-show-more { display: block; width: 100%; margin-top: 14px; min-height: 42px; padding: 10px; background: rgba(255, 255, 255, .025); color: var(--color-text-secondary); font-size: 13px; border: 1px solid var(--player-line); border-radius: 8px; cursor: pointer; box-shadow: none; }
.player-profile-page .player-show-more:hover { background: var(--color-primary-soft); border-color: rgba(0, 255, 102, .2); color: var(--color-primary); }
.player-profile-page .player-collection-note { font-size: 12px; line-height: 1.6; color: var(--player-muted); margin: 14px 0 0; }
.player-profile-page .profile-sidebar .section-card { padding: 20px; }
.player-profile-page .profile-sidebar h2 { font-size: 18px; }
.player-profile-page .profile-sidebar .section-header { gap: 10px; margin-bottom: 16px; }
.player-profile-page .profile-experience-total { padding: 5px 8px; font-size: 12px; }
.player-profile-page .profile-experience-overview { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: start; }
.player-profile-page .profile-level-crest { width: 48px; height: 60px; }
.player-profile-page .profile-level-crest svg { width: 48px; height: 54px; }
.player-profile-page .profile-level-crest strong { font-size: 17px; }
.player-profile-page .profile-experience-tier { font-size: 12px; }
.player-profile-page .profile-experience-progress h3 { font-size: 22px; margin: 3px 0 0; }
.player-profile-page .profile-experience-progress > p { display: none; }
.player-profile-page .profile-xp-progress { margin-top: 12px; }
.player-profile-page .profile-xp-progress__top { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; line-height: 1.4; }
.player-profile-page .profile-xp-progress__top :is(span, strong) { font-size: 12px; }
.player-profile-page .profile-experience-tools { grid-template-columns: minmax(0, 1fr); gap: 6px; padding-top: 14px; margin-top: 16px; }
.player-profile-page .profile-experience-history > summary { flex-wrap: wrap; padding: 10px; gap: 4px; }
.player-profile-page .profile-experience-history > summary small { max-width: 100%; overflow-wrap: anywhere; font-size: 12px !important; }
.player-profile-page .profile-experience-rules summary { padding: 10px; font-size: 12px; }
.player-profile-page .profile-experience-history > summary > span { font-size: 12px !important; }
.player-profile-page .profile-experience-events { padding: 8px; }
.player-profile-page .profile-experience-event { grid-template-columns: minmax(0, 1fr) auto; padding: 8px; }
.player-profile-page .profile-experience-event :is(strong, span, small) { overflow-wrap: anywhere; }
.player-profile-page .profile-experience-rules__content { padding: 10px; font-size: 12px; line-height: 1.6; }
.player-profile-page .profile-experience-rules__content p { font-size: 12px; }
.player-profile-page .profile-bio { font-size: 14px; line-height: 1.7; color: #bdc9c1; margin: 0 0 18px; overflow-wrap: anywhere; white-space: pre-wrap; }
.player-profile-page .info-list { gap: 0; }
.player-profile-page .info-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--player-line); min-width: 0; }
.player-profile-page .info-item:last-child { border-bottom: 0; padding-bottom: 0; }
.player-profile-page .info-item span { color: var(--player-muted); font-size: 13px; line-height: 1.5; }
.player-profile-page .info-item strong { text-align: right; font-size: 14px; line-height: 1.5; font-weight: 500; overflow-wrap: anywhere; min-width: 0; }
.player-profile-page .profile-social-card__tools { flex-wrap: wrap; gap: 7px; }
.player-profile-page .profile-social-total { font-size: 12px; }
.player-profile-page .profile-social-card .section-link { font-size: 12px; }
.player-profile-page .profile-social-overview { padding: 0 0 12px; margin: 0; }
.player-profile-page .profile-social-overview > p { display: none; }
.player-profile-page .profile-social-list { grid-template-columns: minmax(0, 1fr); gap: 8px; max-height: 330px; overflow-y: auto; scrollbar-width: thin; }
.player-profile-page .profile-social-row { grid-template-columns: 44px minmax(0, 1fr); padding: 12px; gap: 12px; }
.player-profile-page .profile-social-avatar { width: 44px; height: 44px; border-radius: 12px; font-size: 18px; }
.player-profile-page .profile-social-identity a { font-size: 15px; line-height: 1.5; }
.player-profile-page .profile-social-identity :is(small, span) { font-size: 13px !important; line-height: 1.5; }
.player-profile-page .profile-social-actions { grid-column: 2; justify-content: flex-start; }
.player-profile-page .profile-social-action { width: 30px; height: 30px; }
.player-profile-page .profile-social-empty { padding: 14px 8px; }
.player-profile-page .profile-social-empty > span { display: none; }
.player-profile-page .profile-social-empty strong { font-size: 12px; }
.player-profile-page .profile-social-empty p { font-size: 12px; }

@media (max-width: 1100px) {
  .player-profile-page .profile-grid { grid-template-columns: minmax(0, 1fr) 280px; gap: 14px; }
  .player-profile-page .profile-page .section-card { padding: 18px; }
  .player-profile-page .profile-content { flex-wrap: wrap; }
  .player-profile-page .profile-card .profile-hero-actions { max-width: none; }
  .player-profile-page .player-achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-profile-page .profile-page .profile-match-row { grid-template-columns: 24px minmax(0, 1fr) 40px minmax(0, 1fr); gap: 8px; }
  .player-profile-page .profile-match-meta { grid-column: 2 / -1; flex-direction: row; text-align: left; gap: 8px; }
  .player-profile-page .profile-match-arrow { display: none; }
  .player-profile-page .profile-match-team-mark { display: none; }
}
@media (max-width: 850px) {
  .player-profile-page .profile-grid { grid-template-columns: minmax(0, 1fr); }
  .player-profile-page .profile-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .player-profile-page .profile-sidebar .profile-social-card { grid-column: 1 / -1; }
  .player-profile-page .profile-social-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-profile-page .player-achievements { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .player-profile-page .profile-page .container { width: calc(100% - 24px); }
  .player-profile-page .profile-hero { padding-top: 12px; }
  .player-profile-page .profile-content { gap: 12px; padding: 16px; align-items: flex-start; }
  .player-profile-page .profile-avatar-wrap, .player-profile-page .profile-avatar { width: 80px; height: 80px; flex-basis: 80px; }
  .player-profile-page .profile-identity { flex: 1 1 calc(100% - 92px); padding: 0; }
  .player-profile-page .profile-name-row h1 { font-size: 30px; }
  .player-profile-page .profile-meta { gap: 4px; }
  .player-profile-page .profile-card .profile-hero-actions { width: 100%; gap: 6px; padding: 0; }
  .player-profile-page .profile-hero-actions > :is(a, button) { padding: 10px; font-size: 12px; }
  .player-profile-page .profile-hero-actions > .profile-friend-trigger { flex: 1; }
  .player-profile-page .player-edit-link { margin-left: 92px; }
  .player-profile-page .profile-content-section { padding-top: 12px; }
  .player-profile-page .profile-grid,
  .player-profile-page .profile-main-column,
  .player-profile-page .profile-sidebar { gap: 12px; }
  .player-profile-page .profile-page .section-card { padding: 16px; border-radius: 14px; }
  .player-profile-page .profile-page :is(.section-header, .player-section-head) { margin-bottom: 18px; gap: 12px; }
  .player-profile-page .profile-page h2 { font-size: 19px; }
  .player-profile-page .player-segments button { padding: 8px 10px; }
  .player-profile-page .player-rankings { gap: 8px; margin-top: 18px; }
  .player-profile-page .player-ranking { padding: 12px; }
  .player-profile-page .player-ranking > strong { font-size: 22px; }
  .player-profile-page .player-achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .player-profile-page .player-achievement { padding: 12px; }
  .player-profile-page .profile-sidebar { grid-template-columns: minmax(0, 1fr); }
  .player-profile-page .profile-social-list { grid-template-columns: minmax(0, 1fr); }
  .player-profile-page .profile-page .profile-match-row { padding: 11px 0; }
}
@media (max-width: 620px) {
  .player-profile-page .profile-page .profile-match-row { grid-template-columns: 24px minmax(0, 1fr) 48px; }
  .player-profile-page .profile-match-side--own { display: none; }
  .player-profile-page .profile-match-side--opponent { grid-column: 2; }
  .player-profile-page .profile-match-score { grid-column: 3; grid-row: 1; }
  .player-profile-page .profile-match-meta { grid-column: 2 / -1; }
}
@media (max-width: 360px) {
  .player-profile-page .player-achievement-top { align-items: flex-start; flex-direction: column; }
  .player-profile-page .player-ranking { padding: 10px; }
}
.player-profile-page .profile-avatar { border-color: rgba(0, 255, 102, .24); box-shadow: 0 0 0 5px rgba(0, 255, 102, .025), 0 12px 32px rgba(0, 0, 0, .3); font-size: 34px; }
.player-profile-page .profile-avatar > span { font-size: inherit; }
.player-profile-page .profile-avatar-upload { width: 34px; height: 34px; }
.player-profile-page .profile-avatar-wrap .profile-status-dot { width: 12px; height: 12px; left: 5px; bottom: 7px; }
.player-profile-page .profile-presence__text { font-size: 13px; }
.player-profile-page .profile-meta span { color: var(--player-muted); }
.player-profile-page .profile-experience-progress h3 { font-size: 26px; }
.player-profile-page .profile-experience-tier { font-size: 12px; }
.player-profile-page .profile-xp-progress__top :is(span, strong) { font-size: 12px; color: #c0cec5; }
.player-profile-page .profile-experience-empty { color: var(--player-muted); font-size: 13px; line-height: 1.6; }
.player-profile-page .profile-page .profile-match-row { grid-template-columns: 26px minmax(0, 1fr) 56px minmax(0, 1.35fr) 100px 12px; gap: 12px; min-height: 70px; }
.player-profile-page .profile-match-score { font-size: 20px; }
.player-profile-page .profile-match-result { width: 26px; height: 26px; font-size: 12px; }
@media (max-width: 1100px) {
  .player-profile-page .player-results { grid-template-columns: 160px minmax(0, 1fr); gap: 20px; }
  .player-profile-page .player-donut { width: 160px; height: 160px; }
  .player-profile-page .player-donut strong { font-size: 32px; }
  .player-profile-page .player-kpi { grid-template-columns: minmax(0, 1fr) auto 46px; gap: 7px 8px; }
  .player-profile-page .player-kpi > span { font-size: 13px; }
  .player-profile-page .player-kpi--total { grid-template-columns: minmax(0, 1fr) auto; }
  .player-profile-page .profile-page .profile-match-row { grid-template-columns: 26px minmax(0, 1fr) 50px minmax(0, 1.35fr); }
  .player-profile-page .player-selected-match { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .player-profile-page .player-chart-open { grid-column: 2 / -1; justify-self: start; }
}
@media (max-width: 850px) {
  .player-profile-page .player-results { grid-template-columns: 192px minmax(0, 1fr); gap: 28px; }
  .player-profile-page .player-donut { width: 184px; height: 184px; }
}
@media (max-width: 620px) {
  .player-profile-page .profile-page .profile-match-row { grid-template-columns: 26px minmax(0, 1fr) 50px; }
  .player-profile-page .profile-match-side--opponent { grid-column: 2; gap: 10px; }
  .player-profile-page .profile-match-meta { grid-column: 2 / -1; }
}
@media (max-width: 560px) {
  .player-profile-page .player-results { grid-template-columns: 132px minmax(0, 1fr); gap: 18px; }
  .player-profile-page .player-donut { width: 132px; height: 132px; }
  .player-profile-page .player-donut strong { font-size: 28px; }
  .player-profile-page .player-donut strong small { font-size: 14px !important; }
  .player-profile-page .player-donut span { font-size: 12px; }
  .player-profile-page .player-donut-wrap > p { font-size: 12px; }
  .player-profile-page .player-kpi { grid-template-columns: minmax(0, 1fr) auto 43px; gap: 6px; }
  .player-profile-page .player-kpi > span { font-size: 12px; gap: 5px; }
  .player-profile-page .player-kpi > span > i { display: none; }
  .player-profile-page .player-kpi strong { font-size: 18px; }
  .player-profile-page .player-kpi > small { font-size: 12px !important; }
  .player-profile-page .player-kpi--total { grid-template-columns: minmax(0, 1fr) auto; }
  .player-profile-page .player-kpi--total strong { font-size: 30px; }
  .player-profile-page .player-goal-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .player-profile-page .player-goal-stats > div { padding-left: 12px; }
  .player-profile-page .player-goal-stats > div:nth-child(odd) { border-left: 0; padding-left: 0; }
  .player-profile-page .player-chart-plot { --plot-height: 136px; }
  .player-profile-page .player-chart-bars { gap: 5px; }
  .player-profile-page .player-bar-pair { gap: 3px; }
  .player-profile-page .player-selected-match { padding: 12px; gap: 10px; }
  .player-profile-page .player-selected-match .player-person-avatar { width: 36px; height: 36px; }
  .player-profile-page .player-selected-score strong { font-size: 21px; }
  .player-profile-page .player-ranking > strong { font-size: 25px; }
  .player-profile-page .player-achievement-top { flex-wrap: wrap; }
  .player-profile-page .player-achievement h3 { font-size: 14px; }
  .player-profile-page .profile-avatar { font-size: 28px; }
}
@media (max-width: 360px) {
  .player-profile-page .player-results { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  .player-profile-page .player-donut { width: 96px; height: 96px; }
  .player-profile-page .player-donut strong { font-size: 22px; letter-spacing: -.8px; }
  .player-profile-page .player-donut strong small { font-size: 11px !important; }
  .player-profile-page .player-donut span { font-size: 11px; }
  .player-profile-page .player-kpi { column-gap: 5px; }
  .player-profile-page .profile-name-row h1 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .player-profile-page .profile-page * { scroll-behavior: auto; transition: none; animation: none; }
}

.player-profile-page .profile-username { display: block; color: #00ff66; font-size: 20px; font-weight: 650; line-height: 1.5; letter-spacing: .15px; }
@media(max-width:560px){.player-profile-page .profile-username {font-size:18px;}}
