.pc-insignia {
  --insignia-accent: #efb36c;
  position: relative;
  display: block;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 12%;
  background: #191414;
}
.pc-insignia-pos-2 { --insignia-accent: #81d4e2; }
.pc-insignia-pos-3 { --insignia-accent: #ffa183; }
.pc-insignia-pos-4 { --insignia-accent: #99d8b6; }
.pc-insignia-pos-5 { --insignia-accent: #d8c2ff; }

.pc-insignia .pc-insignia-hero, .pc-insignia .pc-insignia-frame {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.pc-insignia .pc-insignia-hero { object-fit: cover; }
.pc-insignia::after {
  position: absolute;
  inset: 7%;
  content: "";
  background: linear-gradient(0deg, #151216 0%, transparent 48%);
  pointer-events: none;
}
.pc-insignia .pc-insignia-frame { z-index: 1; object-fit: contain; }
.pc-insignia bdi {
  position: absolute;
  z-index: 2;
  inset-inline: 11%;
  inset-block-end: 13%;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--insignia-accent);
  font-weight: 800;
  font-size: clamp(.65rem,1.5vw,1.08rem);
}
.pc-dossier-face { aspect-ratio: 1; object-fit: cover; border-radius: 10px; }
.pc-dossier-portrait { align-self: start; }
.pc-dossier-portrait :is(.pc-insignia,.pc-dossier-face) { display: block; inline-size: 100%; block-size: auto; }
.pc-dossier-portrait .pc-meta { overflow-wrap: anywhere; }
.pc-player-headline { grid-template-columns: minmax(88px,.56fr) minmax(0,1.44fr); }
.pc-player-headline h1 { overflow-wrap: anywhere; }
.pc-player-visual .pc-insignia { inline-size: min(76%, 116px); }
.pc-player-visual .pc-insignia bdi { display: none; }
.pc-roster-cards .pc-insignia { flex: 0 0 36px; inline-size: 36px; }
.pc-roster-cards .pc-insignia bdi { display: none; }
.pc-dossier-jumps a, .pc-map-perspectives a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  padding-inline: .75rem;
  text-decoration: none;
}
.pc-page :is(#lineup,#results,#calendar,#participants,#maps,#career,#squad,[id^="map-"]) { scroll-margin-block-start: 7.5rem; }
.pc-map-perspectives { border-block-start: 1px solid var(--sc-stroke); margin-block-start: .8rem; padding-block-start: .55rem; }
.pc-map-perspectives h3 { margin: 0; color: var(--sc-muted); font-size: .83rem; font-weight: 700; }
.pc-map-perspectives a, .pc-world-map-links a {
  border: 1px solid var(--sc-stroke);
  border-radius: 7px;
  background: var(--sc-panel);
  color: var(--sc-ink);
}
.pc-world-map-links a { display: inline-flex; align-items: center; gap: .25rem; min-block-size: 38px; padding: .24rem .58rem; text-decoration: none; }
.pc-dossier-jumps a:hover, .pc-world-map-links a:hover { border-color: var(--sc-red); }
.pc-page :is(.pc-dossier-jumps,.pc-world-map-links,.pc-roster-cards) a:focus-visible { outline: 2px solid var(--sc-red); outline-offset: 2px; }
.pc-regional-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.pc-regional-card {
  min-inline-size: 0;
  padding: clamp(.75rem,2vw,1.25rem);
  border: 1px solid var(--sc-stroke);
  border-block-start: 2px solid var(--sc-red);
  border-radius: 10px;
  background: radial-gradient(ellipse at top right,var(--sc-wash),transparent 58%),var(--sc-inset);
}
.pc-regional-card > p { margin-block-start: .6rem; }
.pc-regional-title { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: var(--sc-ink); }
.pc-region-tag { margin-inline-start: auto; font-size: .72rem; font-weight: 800; color: var(--sc-gold); }
.pc-event-dossiers { margin-block: .85rem; }
@media (max-width: 650px) {
  .pc-player-headline { grid-template-columns: minmax(84px,.65fr) minmax(0,1fr); }
  .pc-regional-grid { grid-template-columns: minmax(0,1fr); }
}

.pc-team-card-result {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-block-start: .4rem;
  color: var(--sc-gold);
  font-size: .8rem;
}
.pc-team-card-result img { flex: none; }
.pc-page #team-map { scroll-margin-block-start: 7.5rem; }
.pc-squad-map-title {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .35rem 1rem;
  margin-block: .7rem;
}
.pc-squad-map-title small { display: block; color: var(--sc-muted); }
.pc-squad-map ul {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(160px,100%),1fr));
  gap: .45rem;
  list-style: none;
  padding: 0;
}
.pc-squad-map li a {
  display: flex;
  align-items: center;
  gap: .45rem;
  min-block-size: 54px;
  height: 100%;
  padding: .35rem;
  border-radius: 7px;
  border: 1px solid var(--sc-stroke);
  background: var(--sc-inset);
  color: var(--sc-ink);
  text-decoration: none;
}
.pc-squad-map li a:hover { border-color: var(--sc-red); }
.pc-squad-map li img { flex: 0 0 48px; inline-size: 48px; block-size: 28px; object-fit: cover; border-radius: 4px; }
.pc-squad-map li small { display: block; color: var(--sc-muted); }
.pc-squad-map li .pc-arrow { margin-inline-start: auto; color: var(--sc-red); }
