/* player.css
   Player Profile page only. All selectors are scoped beneath .player-page so
   this redesign cannot leak into the shared site components in style.css. */

.player-page{
  --player-card-gap:36px;
}

.player-page main.wrap{
  max-width:1320px;
}

.player-page main.wrap > .section{
  padding:22px;
}

.player-page .player-profile-shell{
  position:relative;
  padding:28px;
  overflow:hidden;
  border-color:rgba(255,184,28,.22);
  background:
    radial-gradient(circle at 14% 9%, rgba(255,184,28,.11), transparent 25%),
    radial-gradient(circle at 84% 18%, rgba(40,116,77,.16), transparent 30%),
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,.014) 0,
      rgba(255,255,255,.014) 2px,
      transparent 2px,
      transparent 9px
    ),
    linear-gradient(145deg,#101720 0%,#0c1118 54%,#10161e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 22px 50px rgba(0,0,0,.30);
}

.player-page .player-profile-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(255,184,28,.03) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(255,184,28,.025) 50%, transparent 50.2%);
  background-size:180px 180px;
  opacity:.75;
}

.player-page .player-profile-shell > *{
  position:relative;
  z-index:1;
}

.player-page .player-stat-grid-enhanced .player-stat-card:focus-visible{
  outline:3px solid #ffe39a;
  outline-offset:3px;
}

.player-page .player-profile-hero.profile-hero-wide{
  display:grid;
  grid-template-columns:minmax(320px, 390px) minmax(0,1fr);
  gap:var(--player-card-gap);
  align-items:stretch;
  margin-bottom:28px;
}

/* =========================================
   TLPT Ultimate Player Card
   ========================================= */

.player-page .tlpt-card-stage{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  padding:4px 0 0;
}

.player-page .tlpt-card-view-bar{
  width:min(100%, 380px);
  margin:0 auto 11px;
  text-align:center;
}

.player-page .tlpt-card-view-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.player-page .tlpt-card-view-switch{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:4px;
  padding:4px;
  border:1px solid rgba(255,184,28,.26);
  border-radius:999px;
  background:rgba(7,13,19,.86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.22);
}

.player-page .tlpt-card-view-switch button{
  appearance:none;
  min-height:34px;
  padding:6px 13px;
  border:0;
  border-radius:999px;
  color:#9fb0bf;
  background:transparent;
  cursor:pointer;
  font:inherit;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.035em;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.player-page .tlpt-card-view-switch button:hover:not(:disabled){
  color:#fff2c7;
  transform:translateY(-1px);
}

.player-page .tlpt-card-view-switch button.is-active{
  color:#171006;
  background:linear-gradient(135deg,#ffe49a,#ffb81c 68%,#c98106);
  box-shadow:0 4px 12px rgba(255,184,28,.24), inset 0 1px 0 rgba(255,255,255,.60);
}

.player-page .tlpt-card-view-switch button:focus-visible{
  outline:2px solid #ffe39a;
  outline-offset:2px;
}

.player-page .tlpt-card-view-switch button:disabled{
  cursor:not-allowed;
  opacity:.38;
}

.player-page .tlpt-card-compare-open{
  appearance:none;
  min-width:96px;
  padding:7px 13px;
  border:1px solid rgba(255,184,28,.38);
  border-radius:999px;
  color:#ffe6a0;
  background:linear-gradient(145deg,rgba(255,184,28,.14),rgba(8,13,19,.92));
  cursor:pointer;
  font:inherit;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.20);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.player-page .tlpt-card-compare-open:hover{
  border-color:#ffcf5a;
  color:#fff7df;
  background:linear-gradient(145deg,rgba(255,184,28,.22),rgba(8,13,19,.94));
  transform:translateY(-1px);
}

.player-page .tlpt-card-compare-open:focus-visible{
  outline:2px solid #ffe39a;
  outline-offset:2px;
}

.player-page .tlpt-card-view-bar > p{
  min-height:16px;
  margin:6px 0 0;
  color:#93a7b7;
  font-size:.62rem;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.025em;
}

.player-page .tlpt-card-shape-defs{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
  pointer-events:none;
}

.player-page .tlpt-player-card{
  --card-edge:#ffe39a;
  --card-surface-a:#1a1409;
  --card-surface-b:#6d4a0a;
  --card-surface-c:#251b09;
  --card-ink:#fff1b9;
  --card-muted:#d8c07b;
  --card-line:rgba(255,227,154,.30);
  --card-glow:rgba(255,184,28,.28);
  width:min(100%, 380px);
  aspect-ratio:.655;
  padding:3px;
  background:var(--card-frame,linear-gradient(145deg,#fff4c2 0%,var(--card-edge) 32%,#916411 63%,#ffeaa5 100%));
  clip-path:polygon(13% 5.5%,23% 1.4%,50% 0,77% 1.4%,87% 5.5%,88% 9.4%,92% 12.7%,100% 14%,100% 85.5%,91% 93.4%,50% 100%,9% 93.4%,0 85.5%,0 14%,8% 12.7%,12% 9.4%);
  clip-path:url(#tlpt-player-card-shape);
  filter:
    drop-shadow(0 24px 24px rgba(0,0,0,.34))
    drop-shadow(0 0 20px var(--card-glow));
  transition:transform .25s ease, filter .25s ease;
}

.player-page .tlpt-player-card:hover{
  transform:translateY(-4px);
  filter:
    drop-shadow(0 28px 28px rgba(0,0,0,.38))
    drop-shadow(0 0 28px var(--card-glow));
}

.player-page .tlpt-player-card-inner{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  grid-template-rows:80px 210px 72px minmax(0,1fr) 22px;
  overflow:hidden;
  padding:24px 30px 31px;
  color:var(--card-ink);
  background:
    radial-gradient(circle at 76% 24%, rgba(255,255,255,.22), transparent 21%),
    radial-gradient(circle at 26% 38%, rgba(255,255,255,.10), transparent 30%),
    linear-gradient(145deg,var(--card-surface-a) 0%,var(--card-surface-b) 48%,var(--card-surface-c) 100%);
  clip-path:polygon(13% 5.5%,23% 1.4%,50% 0,77% 1.4%,87% 5.5%,88% 9.4%,92% 12.7%,100% 14%,100% 85.5%,91% 93.4%,50% 100%,9% 93.4%,0 85.5%,0 14%,8% 12.7%,12% 9.4%);
  clip-path:url(#tlpt-player-card-shape);
}

.player-page .tlpt-player-card-inner::after{
  content:"";
  position:absolute;
  inset:-35% -65%;
  z-index:5;
  pointer-events:none;
  transform:translateX(-58%) rotate(20deg);
  background:linear-gradient(
    90deg,
    transparent 42%,
    rgba(255,255,255,.02) 47%,
    rgba(255,255,255,.24) 50%,
    rgba(255,255,255,.02) 53%,
    transparent 58%
  );
  transition:transform .65s ease;
}

.player-page .tlpt-player-card:hover .tlpt-player-card-inner::after{
  transform:translateX(58%) rotate(20deg);
}

.player-page .tlpt-player-card-pattern{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
  background:
    linear-gradient(
      118deg,
      transparent 0 14%,
      rgba(255,255,255,.05) 15%,
      rgba(255,255,255,.18) 18%,
      transparent 23% 42%,
      rgba(255,255,255,.11) 45%,
      transparent 49% 72%,
      rgba(255,255,255,.08) 75%,
      transparent 79%
    ),
    repeating-linear-gradient(
      102deg,
      rgba(255,255,255,.025) 0,
      rgba(255,255,255,.025) 1px,
      rgba(0,0,0,.018) 1px,
      rgba(0,0,0,.018) 4px
    );
}

.player-page .tlpt-player-card-pattern::before,
.player-page .tlpt-player-card-pattern::after{
  content:"";
  position:absolute;
}

.player-page .tlpt-player-card-pattern::before{
  top:17%;
  left:-18%;
  width:136%;
  height:29%;
  transform:rotate(-13deg);
  border-top:1px solid rgba(255,255,255,.17);
  border-bottom:1px solid rgba(0,0,0,.14);
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.02),
      rgba(255,255,255,.18) 28%,
      rgba(255,255,255,.035) 52%,
      rgba(0,0,0,.10) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    0 12px 24px rgba(0,0,0,.08);
}

.player-page .tlpt-player-card-pattern::after{
  inset:0;
  background:
    radial-gradient(ellipse at 72% 18%, rgba(255,255,255,.20), transparent 23%),
    radial-gradient(ellipse at 19% 48%, rgba(255,255,255,.09), transparent 27%),
    linear-gradient(145deg, transparent 0 47%, rgba(255,255,255,.11) 48%, transparent 50% 100%);
  mix-blend-mode:soft-light;
}

.player-page .tlpt-card-header,
.player-page .tlpt-card-portrait,
.player-page .tlpt-card-identity,
.player-page .tlpt-card-attributes,
.player-page .tlpt-card-footer-mark{
  position:relative;
  z-index:2;
}

.player-page .tlpt-card-header{
  display:grid;
  grid-template-columns:70px 1fr 62px;
  align-items:start;
  gap:8px;
  padding:8px 24px 0;
}

.player-page .tlpt-card-rating-block{
  appearance:none;
  padding:2px;
  border:0;
  border-radius:9px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  color:inherit;
  background:transparent;
  cursor:pointer;
  font:inherit;
  line-height:1;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.player-page .tlpt-card-rating-block:hover,
.player-page .tlpt-card-rating-block.is-active{
  background:rgba(255,255,255,.09);
  box-shadow:0 0 0 1px var(--card-line), 0 0 13px var(--card-glow);
  transform:translateY(-1px);
}

.player-page .tlpt-card-rating-block:focus-visible{
  outline:2px solid var(--card-edge);
  outline-offset:2px;
}

.player-page .tlpt-card-overall{
  font-size:2.95rem;
  font-weight:500;
  letter-spacing:-.075em;
  text-shadow:0 1px 0 rgba(255,255,255,.10);
}

.player-page .tlpt-card-tier-code{
  margin-top:4px;
  padding-top:5px;
  min-width:42px;
  border-top:2px solid var(--card-line);
  font-size:1.12rem;
  font-weight:900;
  letter-spacing:.07em;
  text-align:center;
}

.player-page .tlpt-card-edition{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding-top:7px;
  color:var(--card-muted);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.player-page .tlpt-card-edition strong{
  color:var(--card-ink);
  font-size:.7rem;
  line-height:1.05;
  text-align:center;
}

.player-page .tlpt-card-edition small{
  color:var(--card-muted);
  font-size:.48rem;
  font-weight:1000;
  letter-spacing:.12em;
}

.player-page .tlpt-card-movement{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:16px;
  margin-top:2px;
  padding:2px 6px;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(7,11,15,.60);
  font-size:.48rem;
  font-style:normal;
  line-height:1;
  letter-spacing:.055em;
  white-space:nowrap;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}

.player-page .tlpt-card-movement[hidden]{
  display:none;
}

.player-page .tlpt-card-movement.is-up{
  color:#62ef9c;
}

.player-page .tlpt-card-movement.is-down{
  color:#ff8a91;
}

.player-page .tlpt-card-movement.is-flat{
  color:#d4dee6;
}

.player-page .tlpt-card-movement.is-new{
  color:#8ed5ff;
}

@keyframes tlpt-card-view-change{
  0%{opacity:.35; transform:translateY(3px)}
  100%{opacity:1; transform:translateY(0)}
}

.player-page .tlpt-player-card.is-view-changing .tlpt-card-overall,
.player-page .tlpt-player-card.is-view-changing .tlpt-card-edition,
.player-page .tlpt-player-card.is-view-changing .tlpt-card-attribute strong{
  animation:tlpt-card-view-change .24s ease-out both;
}

.player-page .tlpt-card-crest-wrap{
  display:flex;
  justify-content:flex-end;
}

.player-page .tlpt-card-crest{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));
}

.player-page .tlpt-card-portrait{
  --tlpt-profile-avatar-size:210px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:-11px;
}

.player-page .tlpt-card-portrait .player-avatar-wrap{
  flex:0 0 auto;
  width:min(100%, var(--tlpt-profile-avatar-size));
  height:auto;
  aspect-ratio:1 / 1;
}

.player-page .tlpt-card-portrait .player-avatar.profile,
.player-page .tlpt-card-portrait .player-avatar-fallback.profile{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:1 / 1;
  border-radius:50%;
  border:4px solid var(--card-edge);
  color:var(--card-ink);
  background:rgba(10,14,18,.22);
  image-rendering:auto;
  object-fit:cover;
  object-position:center;
  box-shadow:
    0 0 0 3px rgba(0,0,0,.12),
    0 16px 24px rgba(0,0,0,.28),
    0 0 24px var(--card-glow);
}

.player-page .tlpt-card-portrait .player-avatar.profile{
  display:block;
}

.player-page .tlpt-card-portrait .player-avatar-fallback.profile{
  display:flex;
}

.player-page .tlpt-card-identity{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  border-top:1px solid var(--card-line);
  border-bottom:1px solid var(--card-line);
  text-align:center;
}

.player-page .tlpt-card-identity h2{
  width:100%;
  margin:0;
  overflow:hidden;
  color:var(--card-ink);
  font-size:clamp(1.55rem, 3.1vw, 2.05rem);
  font-weight:900;
  line-height:1.05;
  letter-spacing:.015em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-card-archetype{
  margin-top:7px;
  color:var(--card-muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.player-page .tlpt-card-attributes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  grid-template-rows:repeat(3, minmax(0,1fr));
  gap:0 18px;
  padding:8px 10px 4px;
}

.player-page .tlpt-card-attribute{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:7px;
  row-gap:1px;
  min-width:0;
  padding:3px 4px;
  border:0;
  border-radius:8px;
  color:inherit;
  background:transparent;
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.player-page .tlpt-card-attribute:hover,
.player-page .tlpt-card-attribute.is-active{
  background:rgba(255,255,255,.09);
  box-shadow:inset 0 0 0 1px var(--card-line), 0 0 11px var(--card-glow);
  transform:translateY(-1px);
}

.player-page .tlpt-card-attribute:focus-visible{
  outline:2px solid var(--card-edge);
  outline-offset:1px;
}

.player-page .tlpt-card-attribute:nth-child(odd)::after{
  content:"";
  position:absolute;
  top:18%;
  right:-9px;
  width:1px;
  height:64%;
  background:var(--card-line);
}

.player-page .tlpt-card-attribute strong{
  grid-column:1;
  grid-row:1 / 3;
  font-size:1.48rem;
  font-weight:900;
  line-height:1;
  text-align:right;
}

.player-page .tlpt-card-attribute span{
  grid-column:2;
  grid-row:1;
  font-size:.83rem;
  font-weight:900;
  letter-spacing:.035em;
}

.player-page .tlpt-card-attribute small{
  grid-column:2;
  grid-row:2;
  color:var(--card-muted);
  font-size:.55rem;
  font-weight:800;
  line-height:1.05;
  letter-spacing:.025em;
  text-transform:uppercase;
  white-space:normal;
}

.player-page .tlpt-card-footer-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--card-muted);
  font-size:.72rem;
  opacity:.82;
}

.player-page .tlpt-card-footer-mark span:nth-child(2),
.player-page .tlpt-card-footer-mark span:nth-child(4){
  color:#d52c3f;
}

.player-page .tlpt-card-rating-note{
  max-width:370px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
  text-align:center;
}

.player-page .tlpt-card-experience,
.player-page .tlpt-card-rating-explainer{
  width:min(100%, 380px);
  margin-left:auto;
  margin-right:auto;
  border-radius:15px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 24px rgba(0,0,0,.20);
}

.player-page .tlpt-card-experience{
  --experience-accent:var(--gold);
  margin-top:16px;
  padding:13px 14px;
  border:1px solid rgba(255,184,28,.24);
  background:linear-gradient(145deg, rgba(255,184,28,.09), rgba(8,13,19,.90));
}

.player-page .tlpt-card-experience-rookie{
  --experience-accent:#52de91;
  border-color:rgba(82,222,145,.30);
  background:linear-gradient(145deg, rgba(33,138,91,.20), rgba(8,18,14,.92));
}

.player-page .tlpt-card-experience-provisional{
  --experience-accent:#72c5ff;
  border-color:rgba(114,197,255,.30);
  background:linear-gradient(145deg, rgba(45,119,168,.22), rgba(8,15,21,.92));
}

.player-page .tlpt-card-experience-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}

.player-page .tlpt-card-experience-head span{
  color:var(--experience-accent);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.player-page .tlpt-card-experience-head strong{
  color:#fff;
  font-size:.76rem;
  line-height:1.2;
  text-align:right;
}

.player-page .tlpt-card-experience-track{
  height:8px;
  margin:10px 0 9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.42);
}

.player-page .tlpt-card-experience-track > span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--experience-accent), rgba(255,255,255,.88));
  box-shadow:0 0 12px var(--experience-accent);
}

.player-page .tlpt-card-experience p{
  margin:0;
  color:#edf5fb;
  font-size:.72rem;
  font-weight:800;
  line-height:1.35;
}

.player-page .tlpt-card-experience small{
  display:block;
  margin-top:6px;
  color:#aebdca;
  font-size:.64rem;
  line-height:1.4;
}

.player-page .tlpt-card-rating-explainer{
  min-height:158px;
  margin-top:10px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 100% 0, rgba(255,184,28,.10), transparent 36%),
    linear-gradient(150deg, rgba(20,28,38,.97), rgba(9,14,20,.98));
}

.player-page .tlpt-card-rating-explainer-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 12px;
  align-items:center;
}

.player-page .tlpt-card-rating-explainer-head span{
  color:var(--gold);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.player-page .tlpt-card-rating-explainer-head strong{
  min-width:0;
  overflow:hidden;
  color:#fff;
  font-size:.95rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-page .tlpt-card-rating-explainer-head b{
  grid-column:2;
  grid-row:1 / 3;
  color:var(--gold);
  font-size:2rem;
  line-height:1;
}

.player-page .tlpt-card-rating-explainer > p{
  margin:11px 0 6px;
  color:#dce7f0;
  font-size:.72rem;
  font-weight:800;
  line-height:1.35;
}

.player-page .tlpt-card-rating-explainer > small{
  display:block;
  color:#aebdca;
  font-size:.65rem;
  line-height:1.42;
}

.player-page .tlpt-card-rating-explainer > em{
  display:block;
  margin-top:8px;
  color:#758594;
  font-size:.59rem;
  font-style:normal;
  line-height:1.35;
}

/* Card finishes follow the live TLPT power tier. */

.player-page .tlpt-player-card-s{
  --card-edge:#ffe694;
  --card-surface-a:#090b0f;
  --card-surface-b:#5f420b;
  --card-surface-c:#12100a;
  --card-ink:#fff0ad;
  --card-muted:#dec781;
  --card-line:rgba(255,230,148,.32);
  --card-glow:rgba(255,184,28,.34);
}

.player-page .tlpt-player-card-a{
  --card-edge:#fff0aa;
  --card-surface-a:#f6dc76;
  --card-surface-b:#c99b31;
  --card-surface-c:#f0cf68;
  --card-ink:#2a210b;
  --card-muted:#5b4612;
  --card-line:rgba(67,48,5,.34);
  --card-glow:rgba(255,204,75,.32);
}

.player-page .tlpt-player-card-b{
  --card-edge:#f3f7fb;
  --card-surface-a:#dce3e9;
  --card-surface-b:#8e9aa6;
  --card-surface-c:#d3d9df;
  --card-ink:#17202a;
  --card-muted:#344350;
  --card-line:rgba(21,31,40,.28);
  --card-glow:rgba(191,216,232,.26);
}

.player-page .tlpt-player-card-c{
  --card-edge:#f0b57e;
  --card-surface-a:#c47a43;
  --card-surface-b:#74401f;
  --card-surface-c:#b96b38;
  --card-ink:#251308;
  --card-muted:#452512;
  --card-line:rgba(51,24,7,.30);
  --card-glow:rgba(211,118,61,.28);
}

.player-page .tlpt-player-card-d{
  --card-edge:#c2cbd3;
  --card-surface-a:#76818b;
  --card-surface-b:#3d464f;
  --card-surface-c:#707a83;
  --card-ink:#f5f8fa;
  --card-muted:#d5dde3;
  --card-line:rgba(255,255,255,.24);
  --card-glow:rgba(154,171,184,.22);
}

.player-page .tlpt-player-card-provisional{
  --card-edge:#a9d7ff;
  --card-surface-a:#12283b;
  --card-surface-b:#2d77a8;
  --card-surface-c:#162b3b;
  --card-ink:#eff8ff;
  --card-muted:#c2e2fa;
  --card-line:rgba(194,226,250,.28);
  --card-glow:rgba(78,166,224,.30);
}

.player-page .tlpt-player-card-prospect,
.player-page .tlpt-player-card-rookie{
  --card-edge:#9edbc0;
  --card-surface-a:#10291f;
  --card-surface-b:#218a5b;
  --card-surface-c:#12271f;
  --card-ink:#edfff5;
  --card-muted:#bfe8d2;
  --card-line:rgba(191,232,210,.27);
  --card-glow:rgba(61,220,132,.34);
}

/* Phase 2D special editions layer over—not replace—the official tier finish. */

.player-page .tlpt-player-card-special,
.player-page .tlpt-compare-card-special{
  --special-accent:#ffd36a;
  --special-soft:rgba(255,211,106,.26);
  --special-deep:rgba(117,71,0,.38);
  --card-glow:var(--special-soft);
}

.player-page .tlpt-player-card-special-hall,
.player-page .tlpt-compare-card-special-hall{
  --special-accent:#ffe995;
  --special-soft:rgba(255,214,91,.38);
  --special-deep:rgba(122,78,0,.46);
}

.player-page .tlpt-player-card-special-infamy,
.player-page .tlpt-compare-card-special-infamy{
  --special-accent:#ff6a76;
  --special-soft:rgba(255,66,82,.34);
  --special-deep:rgba(111,6,25,.48);
}

.player-page .tlpt-player-card-special-leader,
.player-page .tlpt-compare-card-special-leader{
  --special-accent:#c99cff;
  --special-soft:rgba(166,93,255,.34);
  --special-deep:rgba(58,18,112,.48);
}

.player-page .tlpt-player-card-special-heater,
.player-page .tlpt-compare-card-special-heater{
  --special-accent:#ffad4a;
  --special-soft:rgba(255,113,35,.38);
  --special-deep:rgba(129,34,0,.50);
}

.player-page .tlpt-player-card-special-milestone,
.player-page .tlpt-compare-card-special-milestone{
  --special-accent:#8cf3ed;
  --special-soft:rgba(78,222,215,.30);
  --special-deep:rgba(7,87,94,.44);
}

/* Every special edition receives a complete item shell, not a tier-colored tint. */

.player-page [class*="tlpt-player-card-edition-hall-"],
.player-page [class*="tlpt-compare-card-edition-hall-"]{
  --card-edge:#d2ad53;
  --card-surface-a:#fff9e8;
  --card-surface-b:#d7c495;
  --card-surface-c:#f4e7c2;
  --card-ink:#2d2517;
  --card-muted:#745f2f;
  --card-line:rgba(86,65,23,.28);
  --card-glow:rgba(255,220,126,.42);
  --special-accent:#a77b20;
  --special-soft:rgba(255,238,178,.58);
  --special-deep:rgba(125,91,24,.20);
  --card-frame:linear-gradient(145deg,#fffdf1 0%,#d8b75f 28%,#8c651c 54%,#f4d98c 76%,#fff7cf 100%);
  --edition-blend:multiply;
  --edition-opacity:.48;
  --edition-overlay:
    radial-gradient(ellipse at 50% 9%,rgba(255,255,255,.92),transparent 29%),
    repeating-linear-gradient(90deg,transparent 0 11%,rgba(103,78,30,.07) 11.5% 12.2%,transparent 12.8% 22%),
    conic-gradient(from 225deg at 50% 82%,transparent 0 18deg,rgba(160,119,34,.10) 20deg 24deg,transparent 26deg 42deg,rgba(160,119,34,.10) 44deg 48deg,transparent 50deg 360deg),
    linear-gradient(118deg,transparent 0 39%,rgba(255,255,255,.65) 45%,transparent 51% 100%);
}

.player-page [class*="tlpt-player-card-edition-leader-"],
.player-page [class*="tlpt-compare-card-edition-leader-"]{
  --card-edge:#dbeaff;
  --card-surface-a:#071425;
  --card-surface-b:#123b67;
  --card-surface-c:#07111f;
  --card-ink:#f4f9ff;
  --card-muted:#bfd1e6;
  --card-line:rgba(222,238,255,.26);
  --card-glow:var(--special-soft);
  --special-accent:#a8d8ff;
  --special-soft:rgba(88,173,255,.36);
  --special-deep:rgba(10,43,82,.58);
  --card-frame:linear-gradient(145deg,#f4fbff 0%,var(--special-accent) 26%,#507392 48%,#dcecff 72%,var(--special-accent) 100%);
  --edition-opacity:.78;
  --edition-overlay:
    conic-gradient(from 228deg at 50% 36%,transparent 0 10deg,var(--special-soft) 11deg 16deg,transparent 17deg 31deg,var(--special-soft) 32deg 37deg,transparent 38deg 360deg),
    linear-gradient(122deg,transparent 0 30%,var(--special-soft) 31% 34%,transparent 35% 63%,rgba(255,255,255,.16) 64% 67%,transparent 68%),
    radial-gradient(circle at 50% 86%,var(--special-deep),transparent 44%);
}

.player-page .tlpt-player-card-edition-leader-profit,
.player-page .tlpt-compare-card-edition-leader-profit{
  --special-accent:#65f0aa;
  --special-soft:rgba(48,219,133,.35);
  --special-deep:rgba(4,85,56,.58);
}

.player-page .tlpt-player-card-edition-leader-knockouts,
.player-page .tlpt-compare-card-edition-leader-knockouts{
  --special-accent:#ff7884;
  --special-soft:rgba(255,67,83,.36);
  --special-deep:rgba(103,3,21,.62);
}

.player-page .tlpt-player-card-edition-leader-roi,
.player-page .tlpt-compare-card-edition-leader-roi{
  --special-accent:#6de8ff;
  --special-soft:rgba(41,207,244,.37);
  --special-deep:rgba(3,72,101,.62);
}

.player-page .tlpt-player-card-edition-leader-cash-rate,
.player-page .tlpt-compare-card-edition-leader-cash-rate{
  --special-accent:#d29aff;
  --special-soft:rgba(169,83,255,.38);
  --special-deep:rgba(65,14,112,.62);
}

.player-page [class*="tlpt-player-card-edition-heater-"],
.player-page [class*="tlpt-compare-card-edition-heater-"]{
  --card-edge:#ffb347;
  --card-surface-a:#080808;
  --card-surface-b:#8d2109;
  --card-surface-c:#1b0804;
  --card-ink:#fff4dd;
  --card-muted:#ffc47d;
  --card-line:rgba(255,181,79,.30);
  --card-glow:rgba(255,83,24,.48);
  --special-accent:#ffb24c;
  --special-soft:rgba(255,104,29,.45);
  --special-deep:rgba(121,15,0,.64);
  --card-frame:linear-gradient(145deg,#fff0b5 0%,#ffad3b 23%,#a92508 50%,#ff6324 72%,#ffe29a 100%);
  --edition-opacity:.86;
  --edition-overlay:
    radial-gradient(ellipse at 24% 105%,rgba(255,219,73,.58),transparent 28%),
    radial-gradient(ellipse at 55% 104%,rgba(255,59,12,.60),transparent 36%),
    radial-gradient(ellipse at 82% 105%,rgba(255,172,42,.50),transparent 25%),
    repeating-linear-gradient(104deg,transparent 0 18px,rgba(255,193,87,.12) 20px,transparent 23px),
    linear-gradient(118deg,transparent 0 39%,rgba(255,219,142,.28) 44%,transparent 50% 100%);
}

.player-page .tlpt-player-card-edition-infamy-boy-in-the-bubble,
.player-page .tlpt-compare-card-edition-infamy-boy-in-the-bubble{
  --card-edge:#ff5b76;
  --card-surface-a:#07060a;
  --card-surface-b:#4b081d;
  --card-surface-c:#10050b;
  --card-ink:#fff1f4;
  --card-muted:#ff9bac;
  --card-line:rgba(255,105,131,.28);
  --card-glow:rgba(255,34,92,.46);
  --special-accent:#ff6385;
  --special-soft:rgba(255,37,99,.38);
  --special-deep:rgba(91,0,28,.66);
  --card-frame:linear-gradient(145deg,#ffd0da 0%,#ff426d 22%,#3a0617 49%,#b70e3c 72%,#ff9ab0 100%);
  --edition-opacity:.84;
  --edition-overlay:
    repeating-radial-gradient(circle at 50% 43%,transparent 0 34px,rgba(255,93,133,.13) 36px,transparent 39px 54px),
    repeating-linear-gradient(132deg,transparent 0 20px,rgba(255,58,104,.13) 21px,transparent 24px),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 44%);
}

.player-page .tlpt-player-card-edition-milestone-10,
.player-page .tlpt-compare-card-edition-milestone-10{
  --card-edge:#e7a66d;
  --card-surface-a:#3c180d;
  --card-surface-b:#ad5e31;
  --card-surface-c:#4d2012;
  --card-ink:#fff0dd;
  --card-muted:#9ff0dc;
  --card-line:rgba(155,239,217,.28);
  --card-glow:rgba(54,210,177,.34);
  --special-accent:#79e3c8;
  --special-soft:rgba(65,205,174,.30);
  --special-deep:rgba(48,17,8,.54);
  --card-frame:linear-gradient(145deg,#ffe2c3 0%,#d78750 24%,#6a2c17 50%,#46bda1 74%,#f0b17d 100%);
  --edition-opacity:.72;
  --edition-overlay:
    repeating-radial-gradient(circle at 50% 52%,transparent 0 17px,rgba(112,229,199,.12) 18px,transparent 20px 34px),
    linear-gradient(118deg,transparent 0 40%,rgba(255,220,177,.25) 45%,transparent 51% 100%);
}

.player-page .tlpt-player-card-edition-milestone-25,
.player-page .tlpt-compare-card-edition-milestone-25{
  --card-edge:#dffcff;
  --card-surface-a:#dcecef;
  --card-surface-b:#79bfc7;
  --card-surface-c:#ecf8f9;
  --card-ink:#10292e;
  --card-muted:#245d65;
  --card-line:rgba(11,72,82,.27);
  --card-glow:rgba(91,236,239,.40);
  --special-accent:#1f8994;
  --special-soft:rgba(81,226,232,.38);
  --special-deep:rgba(17,104,116,.22);
  --card-frame:linear-gradient(145deg,#ffffff 0%,#b8e9ed 23%,#5da8b2 50%,#dffcff 74%,#8ce5e5 100%);
  --edition-blend:multiply;
  --edition-opacity:.46;
  --edition-overlay:
    repeating-conic-gradient(from 45deg at 50% 45%,rgba(255,255,255,.30) 0 8deg,transparent 9deg 22deg,rgba(31,137,148,.08) 23deg 31deg,transparent 32deg 45deg),
    linear-gradient(118deg,transparent 0 39%,rgba(255,255,255,.70) 45%,transparent 51% 100%);
}

.player-page .tlpt-player-card-edition-milestone-50,
.player-page .tlpt-compare-card-edition-milestone-50{
  --card-edge:#f2cb67;
  --card-surface-a:#05070a;
  --card-surface-b:#242a31;
  --card-surface-c:#080a0d;
  --card-ink:#ffe9a1;
  --card-muted:#d7bd69;
  --card-line:rgba(242,203,103,.30);
  --card-glow:rgba(247,198,62,.42);
  --special-accent:#f3c956;
  --special-soft:rgba(238,190,54,.34);
  --special-deep:rgba(0,0,0,.66);
  --card-frame:linear-gradient(145deg,#fff4bf 0%,#e1b33e 21%,#171b20 48%,#775915 69%,#ffe08a 100%);
  --edition-opacity:.78;
  --edition-overlay:
    repeating-conic-gradient(from 45deg at 50% 44%,rgba(255,213,98,.10) 0 8deg,transparent 9deg 22deg,rgba(255,255,255,.05) 23deg 31deg,transparent 32deg 45deg),
    radial-gradient(circle at 50% 88%,rgba(163,111,8,.30),transparent 41%);
}

.player-page .tlpt-player-card-edition-milestone-75,
.player-page .tlpt-compare-card-edition-milestone-75{
  --card-edge:#eee4ff;
  --card-surface-a:#130720;
  --card-surface-b:#6b2c9d;
  --card-surface-c:#180926;
  --card-ink:#fff8ff;
  --card-muted:#e4c5ff;
  --card-line:rgba(231,208,255,.29);
  --card-glow:rgba(185,104,255,.46);
  --special-accent:#dfb0ff;
  --special-soft:rgba(175,79,255,.40);
  --special-deep:rgba(57,4,88,.64);
  --card-frame:linear-gradient(145deg,#fff8ff 0%,#d9b1f5 21%,#6f289f 47%,#58d7e5 70%,#f0caff 100%);
  --edition-opacity:.82;
  --edition-overlay:
    conic-gradient(from 210deg at 50% 36%,transparent 0 18deg,rgba(102,222,239,.20) 19deg 26deg,transparent 27deg 51deg,rgba(223,176,255,.22) 52deg 60deg,transparent 61deg 360deg),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 43%),
    linear-gradient(118deg,transparent 0 39%,rgba(255,255,255,.24) 45%,transparent 51% 100%);
}

.player-page .tlpt-player-card-edition-milestone-100,
.player-page .tlpt-compare-card-edition-milestone-100{
  --card-edge:#f1cb5f;
  --card-surface-a:#ffffff;
  --card-surface-b:#cbd0d7;
  --card-surface-c:#f7f7f5;
  --card-ink:#080a0d;
  --card-muted:#4e4330;
  --card-line:rgba(24,25,27,.28);
  --card-glow:rgba(255,220,116,.52);
  --special-accent:#b98516;
  --special-soft:rgba(255,218,103,.46);
  --special-deep:rgba(12,13,15,.22);
  --card-frame:linear-gradient(145deg,#ffffff 0%,#efd16f 18%,#0a0d10 42%,#f8f8f4 63%,#c08d19 82%,#ffffff 100%);
  --edition-blend:multiply;
  --edition-opacity:.54;
  --edition-overlay:
    repeating-radial-gradient(circle at 50% 44%,transparent 0 23px,rgba(13,15,18,.08) 24px,transparent 27px 40px,rgba(185,133,22,.10) 41px,transparent 44px 60px),
    conic-gradient(from 45deg at 50% 42%,rgba(92,222,235,.10),rgba(255,128,188,.10),rgba(255,220,91,.12),rgba(92,222,235,.10)),
    linear-gradient(118deg,transparent 0 39%,rgba(255,255,255,.92) 45%,transparent 51% 100%);
}

.player-page .tlpt-player-card-special .tlpt-player-card-inner::before,
.player-page .tlpt-compare-card-special .tlpt-compare-card-inner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:var(--edition-overlay,
    radial-gradient(circle at 50% 4%,var(--special-soft),transparent 25%),
    linear-gradient(118deg,transparent 0 37%,var(--special-soft) 43%,transparent 49% 100%),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 38%)
  );
  mix-blend-mode:var(--edition-blend,screen);
  opacity:var(--edition-opacity,.72);
}

.player-page .tlpt-player-card-special-infamy .tlpt-player-card-inner::before,
.player-page .tlpt-compare-card-special-infamy .tlpt-compare-card-inner::before{
  background:var(--edition-overlay,
    radial-gradient(circle at 50% 6%,var(--special-soft),transparent 25%),
    repeating-linear-gradient(128deg,transparent 0 18px,rgba(255,71,83,.10) 19px,transparent 22px),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 42%)
  );
}

.player-page .tlpt-player-card-special-heater .tlpt-player-card-inner::before,
.player-page .tlpt-compare-card-special-heater .tlpt-compare-card-inner::before{
  background:var(--edition-overlay,
    radial-gradient(ellipse at 50% 100%,rgba(255,59,19,.36),transparent 46%),
    linear-gradient(118deg,transparent 0 36%,rgba(255,183,61,.22) 43%,transparent 50% 100%),
    radial-gradient(circle at 50% 5%,var(--special-soft),transparent 25%)
  );
}

.player-page .tlpt-player-card-special .tlpt-card-header,
.player-page .tlpt-player-card-special .tlpt-card-portrait,
.player-page .tlpt-player-card-special .tlpt-card-identity,
.player-page .tlpt-player-card-special .tlpt-card-attributes,
.player-page .tlpt-player-card-special .tlpt-card-footer-mark,
.player-page .tlpt-compare-card-special .tlpt-compare-card-head,
.player-page .tlpt-compare-card-special .tlpt-compare-portrait,
.player-page .tlpt-compare-card-special .tlpt-compare-identity,
.player-page .tlpt-compare-card-special .tlpt-compare-special-tag,
.player-page .tlpt-compare-card-special .tlpt-compare-attributes,
.player-page .tlpt-compare-card-special .tlpt-compare-card-context,
.player-page .tlpt-compare-card-special .tlpt-compare-profile-link{
  position:relative;
  z-index:2;
}

.player-page .tlpt-card-special-banner{
  --special-accent:#ffd36a;
  --special-soft:rgba(255,211,106,.20);
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  width:min(100%,380px);
  margin:14px auto 0;
  padding:10px 12px;
  border:1px solid var(--special-accent);
  border-radius:14px;
  color:#fff;
  background:
    radial-gradient(circle at 0 50%,var(--special-soft),transparent 32%),
    linear-gradient(145deg,rgba(19,27,35,.96),rgba(7,12,17,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.22),0 0 16px var(--special-soft);
}

.player-page .tlpt-card-special-banner-hall{
  --special-accent:#ffe995;
  --special-soft:rgba(255,214,91,.25);
}

.player-page .tlpt-card-special-banner-infamy{
  --special-accent:#ff6a76;
  --special-soft:rgba(255,66,82,.24);
}

.player-page .tlpt-card-special-banner-leader{
  --special-accent:#c99cff;
  --special-soft:rgba(166,93,255,.24);
}

.player-page .tlpt-card-special-banner-heater{
  --special-accent:#ffad4a;
  --special-soft:rgba(255,113,35,.26);
}

.player-page .tlpt-card-special-banner-milestone{
  --special-accent:#8cf3ed;
  --special-soft:rgba(78,222,215,.22);
}

.player-page .tlpt-card-special-banner-edition-leader-profit{
  --special-accent:#65f0aa;
  --special-soft:rgba(48,219,133,.24);
}

.player-page .tlpt-card-special-banner-edition-leader-knockouts{
  --special-accent:#ff7884;
  --special-soft:rgba(255,67,83,.24);
}

.player-page .tlpt-card-special-banner-edition-leader-roi{
  --special-accent:#6de8ff;
  --special-soft:rgba(41,207,244,.24);
}

.player-page .tlpt-card-special-banner-edition-leader-cash-rate{
  --special-accent:#d29aff;
  --special-soft:rgba(169,83,255,.24);
}

.player-page .tlpt-card-special-banner-edition-milestone-10{
  --special-accent:#79e3c8;
  --special-soft:rgba(65,205,174,.22);
}

.player-page .tlpt-card-special-banner-edition-milestone-25{
  --special-accent:#8ce5e5;
  --special-soft:rgba(81,226,232,.22);
}

.player-page .tlpt-card-special-banner-edition-milestone-50{
  --special-accent:#f3c956;
  --special-soft:rgba(238,190,54,.23);
}

.player-page .tlpt-card-special-banner-edition-milestone-75{
  --special-accent:#dfb0ff;
  --special-soft:rgba(175,79,255,.23);
}

.player-page .tlpt-card-special-banner-edition-milestone-100{
  --special-accent:#e7bc4b;
  --special-soft:rgba(255,218,103,.24);
}

.player-page .tlpt-card-special-banner > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid var(--special-accent);
  border-radius:50%;
  background:var(--special-soft);
  font-size:1.08rem;
  box-shadow:0 0 12px var(--special-soft);
}

.player-page .tlpt-card-special-banner > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2px 8px;
  min-width:0;
}

.player-page .tlpt-card-special-banner strong{
  color:var(--special-accent);
  font-size:.58rem;
  font-weight:1000;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.player-page .tlpt-card-special-banner b{
  color:#fff;
  font-size:.72rem;
  line-height:1.15;
  text-align:right;
}

.player-page .tlpt-card-special-banner small{
  grid-column:1 / -1;
  color:#aebdca;
  font-size:.59rem;
  line-height:1.35;
}

.player-page .tlpt-card-special-banner em{
  grid-column:1 / -1;
  width:max-content;
  max-width:100%;
  margin-top:3px;
  padding:3px 7px;
  border:1px solid color-mix(in srgb,var(--special-accent) 58%,transparent);
  border-radius:999px;
  color:var(--special-accent);
  background:color-mix(in srgb,var(--special-accent) 10%,rgba(4,8,12,.7));
  font-size:.49rem;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.player-page .tlpt-card-special-banner em[hidden]{
  display:none;
}

.player-page .tlpt-player-card[data-historic-edition] .tlpt-card-edition small{
  color:var(--special-accent,var(--card-ink));
  letter-spacing:.16em;
}

.player-page .tlpt-card-special-banner[hidden]{
  display:none;
}

/* =========================================
   Phase 2D2 — Collectible card editions
   ========================================= */

.player-page .tlpt-card-collection{
  margin:0 0 30px;
  padding:24px;
  border:1px solid rgba(255,184,28,.22);
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 2%,rgba(255,184,28,.12),transparent 28%),
    radial-gradient(circle at 88% 14%,rgba(95,211,172,.09),transparent 28%),
    linear-gradient(150deg,rgba(18,27,36,.96),rgba(8,13,18,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 18px 36px rgba(0,0,0,.24);
}

.player-page .tlpt-card-collection-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,184,28,.18);
}

.player-page .tlpt-card-collection-head > div > span{
  color:var(--gold);
  font-size:.64rem;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.player-page .tlpt-card-collection-head h2{
  margin:4px 0 5px;
  color:#fff;
  font-size:clamp(1.45rem,2.7vw,2.1rem);
  line-height:1.05;
}

.player-page .tlpt-card-collection-head p{
  max-width:650px;
  margin:0;
  color:#9db0bf;
  font-size:.76rem;
  line-height:1.45;
}

.player-page .tlpt-card-collection-head > strong{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(255,184,28,.36);
  border-radius:999px;
  color:#ffe7a6;
  background:rgba(255,184,28,.08);
  font-size:.68rem;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 16px rgba(0,0,0,.18);
}

.player-page .tlpt-card-collection-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,176px));
  gap:24px 18px;
  justify-content:center;
  padding:24px 0 6px;
}

.player-page .tlpt-card-collectible-button{
  appearance:none;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  padding:0 0 44px;
  border:0;
  color:#fff;
  background:transparent;
  cursor:pointer;
  font:inherit;
  text-align:center;
}

.player-page .tlpt-card-collectible-button:focus-visible{
  outline:2px solid #ffe39a;
  outline-offset:6px;
  border-radius:14px;
}

.player-page .tlpt-card-collectible-frame{
  display:block;
  width:100%;
  aspect-ratio:.655;
  padding:2px;
  background:var(--card-frame,linear-gradient(145deg,#fff4c2 0%,var(--card-edge) 32%,#916411 63%,#ffeaa5 100%));
  clip-path:polygon(13% 5.5%,23% 1.4%,50% 0,77% 1.4%,87% 5.5%,88% 9.4%,92% 12.7%,100% 14%,100% 85.5%,91% 93.4%,50% 100%,9% 93.4%,0 85.5%,0 14%,8% 12.7%,12% 9.4%);
  filter:drop-shadow(0 13px 12px rgba(0,0,0,.34)) drop-shadow(0 0 10px var(--card-glow));
  transition:transform .22s ease,filter .22s ease;
}

.player-page .tlpt-card-collectible-button:hover .tlpt-card-collectible-frame,
.player-page .tlpt-card-collectible-button.is-selected .tlpt-card-collectible-frame{
  transform:translateY(-5px) scale(1.025);
  filter:drop-shadow(0 17px 14px rgba(0,0,0,.40)) drop-shadow(0 0 18px var(--card-glow));
}

.player-page .tlpt-card-collectible-button.is-selected .tlpt-card-collectible-frame{
  background:var(--card-frame-selected,var(--card-frame,linear-gradient(145deg,#fffbe0 0%,var(--special-accent,var(--card-edge)) 34%,#ffb81c 66%,#fff0ac 100%)));
}

.player-page .tlpt-card-collectible-inner{
  position:relative;
  display:grid;
  grid-template-rows:17% 37% 12% 20% 14%;
  width:100%;
  height:100%;
  padding:8% 9% 10%;
  overflow:hidden;
  color:var(--card-ink);
  background:
    radial-gradient(circle at 76% 24%,rgba(255,255,255,.22),transparent 21%),
    radial-gradient(circle at 26% 38%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(145deg,var(--card-surface-a) 0%,var(--card-surface-b) 48%,var(--card-surface-c) 100%);
  clip-path:polygon(13% 5.5%,23% 1.4%,50% 0,77% 1.4%,87% 5.5%,88% 9.4%,92% 12.7%,100% 14%,100% 85.5%,91% 93.4%,50% 100%,9% 93.4%,0 85.5%,0 14%,8% 12.7%,12% 9.4%);
}

.player-page .tlpt-card-collectible-inner::after{
  content:"";
  position:absolute;
  inset:-35% -70%;
  z-index:5;
  pointer-events:none;
  transform:translateX(-58%) rotate(20deg);
  background:linear-gradient(90deg,transparent 43%,rgba(255,255,255,.03) 47%,rgba(255,255,255,.26) 50%,rgba(255,255,255,.03) 53%,transparent 57%);
  transition:transform .55s ease;
}

.player-page .tlpt-card-collectible-button:hover .tlpt-card-collectible-inner::after{
  transform:translateX(58%) rotate(20deg);
}

.player-page .tlpt-card-collectible-pattern{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(118deg,transparent 0 15%,rgba(255,255,255,.15) 19%,transparent 24% 44%,rgba(255,255,255,.11) 48%,transparent 52% 75%,rgba(255,255,255,.08) 78%,transparent 82%),
    repeating-linear-gradient(102deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,rgba(0,0,0,.018) 1px,rgba(0,0,0,.018) 4px);
}

.player-page .tlpt-player-card-special .tlpt-card-collectible-inner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:var(--edition-overlay,
    radial-gradient(circle at 50% 4%,var(--special-soft),transparent 25%),
    linear-gradient(118deg,transparent 0 37%,var(--special-soft) 43%,transparent 49% 100%),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 38%)
  );
  mix-blend-mode:var(--edition-blend,screen);
  opacity:var(--edition-opacity,.78);
}

.player-page .tlpt-player-card-special-infamy .tlpt-card-collectible-inner::before{
  background:var(--edition-overlay,
    radial-gradient(circle at 50% 6%,var(--special-soft),transparent 25%),
    repeating-linear-gradient(128deg,transparent 0 12px,rgba(255,71,83,.12) 13px,transparent 16px),
    radial-gradient(circle at 50% 88%,var(--special-deep),transparent 42%)
  );
}

.player-page .tlpt-player-card-special-heater .tlpt-card-collectible-inner::before{
  background:var(--edition-overlay,
    radial-gradient(ellipse at 50% 100%,rgba(255,59,19,.38),transparent 46%),
    linear-gradient(118deg,transparent 0 36%,rgba(255,183,61,.24) 43%,transparent 50% 100%),
    radial-gradient(circle at 50% 5%,var(--special-soft),transparent 25%)
  );
}

.player-page .tlpt-card-collectible-head,
.player-page .tlpt-card-collectible-portrait,
.player-page .tlpt-card-collectible-name,
.player-page .tlpt-card-collectible-stats,
.player-page .tlpt-card-collectible-stamp{
  position:relative;
  z-index:2;
}

.player-page .tlpt-card-collectible-head{
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 28px;
  gap:3px;
  align-items:start;
  padding:3px 5px 0;
}

.player-page .tlpt-card-collectible-rating{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1;
}

.player-page .tlpt-card-collectible-rating strong{
  font-size:1.45rem;
  font-weight:600;
  letter-spacing:-.075em;
}

.player-page .tlpt-card-collectible-rating small{
  width:24px;
  margin-top:2px;
  padding-top:2px;
  border-top:1px solid var(--card-line);
  font-size:.51rem;
  font-weight:1000;
}

.player-page .tlpt-card-collectible-edition{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  min-width:0;
  padding-top:4px;
  color:var(--card-muted);
  font-size:.34rem;
  font-weight:1000;
  line-height:1.05;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.player-page .tlpt-card-collectible-edition strong{
  max-width:100%;
  overflow:hidden;
  color:var(--card-ink);
  font-size:.39rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-page .tlpt-card-collectible-head img{
  width:28px;
  height:28px;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.30));
}

.player-page .tlpt-card-collectible-portrait{
  display:flex;
  align-items:center;
  justify-content:center;
}

.player-page .tlpt-card-collectible-portrait .player-avatar-wrap{
  width:min(58%,88px);
  height:auto;
  aspect-ratio:1 / 1;
}

.player-page .tlpt-card-collectible-portrait .player-avatar.profile,
.player-page .tlpt-card-collectible-portrait .player-avatar-fallback.profile{
  display:flex;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:1 / 1;
  border:2px solid var(--card-edge);
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
  box-shadow:0 0 0 2px rgba(0,0,0,.12),0 7px 10px rgba(0,0,0,.26),0 0 12px var(--card-glow);
}

.player-page .tlpt-card-collectible-name{
  align-self:center;
  width:100%;
  padding:4px 2px;
  overflow:hidden;
  border-top:1px solid var(--card-line);
  border-bottom:1px solid var(--card-line);
  font-size:.67rem;
  font-weight:1000;
  line-height:1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-card-collectible-name .player-entry-asterisk{
  font-size:.5em;
}

.player-page .tlpt-card-collectible-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px 9px;
  align-content:center;
  padding:3px 7px;
}

.player-page .tlpt-card-collectible-stats > span{
  display:flex;
  align-items:baseline;
  gap:3px;
  min-width:0;
  line-height:1;
}

.player-page .tlpt-card-collectible-stats strong{
  font-size:.62rem;
}

.player-page .tlpt-card-collectible-stats small{
  color:var(--card-muted);
  font-size:.36rem;
  font-weight:1000;
}

.player-page .tlpt-card-collectible-stamp{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
  margin:2px 5px 0;
  padding:3px 5px;
  border:1px solid var(--special-accent,var(--card-line));
  border-radius:999px;
  color:var(--card-stamp-ink,#f7fbff);
  background:rgba(6,10,14,.82);
  text-shadow:0 1px 2px rgba(0,0,0,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 7px rgba(0,0,0,.22);
}

.player-page .tlpt-card-collectible-stamp b{
  flex:0 0 auto;
  color:var(--card-stamp-accent,var(--special-accent,var(--card-muted)));
  font-size:.48rem;
  text-shadow:0 0 5px color-mix(in srgb,var(--card-stamp-accent,var(--special-accent,#fff)) 35%,transparent);
}

.player-page .tlpt-card-collectible-stamp strong{
  min-width:0;
  overflow:hidden;
  font-size:.35rem;
  letter-spacing:.025em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-card-collectible-caption{
  display:grid;
  gap:2px;
  width:100%;
  margin-top:12px;
  line-height:1.15;
}

.player-page .tlpt-card-collectible-caption strong{
  color:var(--special-accent,#f7d77e);
  font-size:.61rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.player-page .tlpt-card-collectible-caption small{
  overflow:hidden;
  color:#b7c4ce;
  font-size:.65rem;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-page .tlpt-card-collectible-caption em{
  overflow:hidden;
  color:#8fa1af;
  font-size:.49rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.045em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-card-collectible-selected{
  position:absolute;
  bottom:0;
  left:50%;
  padding:3px 8px;
  border:1px solid var(--special-accent,var(--card-edge));
  border-radius:999px;
  color:#090d12;
  background:var(--special-accent,var(--card-edge));
  font-size:.48rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translate(-50%,3px);
  transition:opacity .18s ease,transform .18s ease;
}

.player-page .tlpt-card-collectible-button.is-featured.is-selected .tlpt-card-collectible-selected{
  bottom:21px;
}

.player-page .tlpt-card-collectible-button.is-selected .tlpt-card-collectible-selected{
  opacity:1;
  transform:translate(-50%,0);
}

.player-page .tlpt-card-collectible-featured{
  position:absolute;
  bottom:0;
  left:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:max-content;
  padding:3px 8px;
  border:1px solid rgba(101,240,170,.62);
  border-radius:999px;
  color:#bdfbd7;
  background:rgba(10,49,34,.92);
  box-shadow:0 0 12px rgba(61,226,139,.14),inset 0 1px 0 rgba(255,255,255,.08);
  font-size:.46rem;
  font-weight:1000;
  letter-spacing:.075em;
  line-height:1;
  text-transform:uppercase;
  transform:translateX(-50%);
  white-space:nowrap;
}

.player-page .tlpt-card-collection-status{
  min-height:18px;
  margin:14px 0 0;
  color:#9fb0bd;
  font-size:.68rem;
  font-weight:800;
  line-height:1.35;
  text-align:center;
}

.player-page .tlpt-player-card.is-edition-changing .tlpt-player-card-inner{
  animation:tlpt-card-view-change .28s ease-out both;
}

/* =========================================
   Phase 2C — Head-to-head card comparison
   ========================================= */

.player-page.tlpt-compare-open{
  overflow:hidden;
}

.player-page .tlpt-card-compare-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:24px;
  overflow:auto;
  background:rgba(3,7,11,.86);
  backdrop-filter:blur(10px);
}

.player-page .tlpt-card-compare-overlay[hidden]{
  display:none;
}

.player-page .tlpt-card-compare-dialog{
  width:min(100%, 980px);
  margin:auto;
  padding:22px;
  border:1px solid rgba(255,184,28,.34);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,184,28,.15), transparent 30%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.016) 0,rgba(255,255,255,.016) 2px,transparent 2px,transparent 9px),
    linear-gradient(150deg,#151e28,#090e14 70%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 80px rgba(0,0,0,.58);
}

.player-page .tlpt-card-compare-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,184,28,.20);
}

.player-page .tlpt-card-compare-dialog-head span{
  color:var(--gold);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.player-page .tlpt-card-compare-dialog-head h2{
  margin:4px 0 0;
  color:#fff;
  font-size:clamp(1.25rem,3vw,2rem);
  line-height:1.08;
}

.player-page .tlpt-card-compare-dialog-head button{
  appearance:none;
  flex:0 0 auto;
  width:38px;
  height:38px;
  padding:0 0 3px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  color:#e8f0f6;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  font:inherit;
  font-size:1.7rem;
  line-height:1;
}

.player-page .tlpt-card-compare-dialog-head button:hover{
  border-color:rgba(255,184,28,.52);
  color:#ffcf5a;
  background:rgba(255,184,28,.10);
}

.player-page .tlpt-card-compare-dialog-head button:focus-visible,
.player-page .tlpt-card-compare-controls select:focus-visible,
.player-page .tlpt-card-compare-period button:focus-visible,
.player-page .tlpt-compare-profile-link:focus-visible{
  outline:2px solid #ffe39a;
  outline-offset:2px;
}

.player-page .tlpt-card-compare-controls{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:16px;
  align-items:end;
  margin-top:16px;
}

.player-page .tlpt-card-compare-controls label{
  display:grid;
  gap:6px;
}

.player-page .tlpt-card-compare-controls label > span{
  color:#b8c6d1;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.player-page .tlpt-card-compare-controls select{
  width:100%;
  min-height:42px;
  padding:8px 36px 8px 12px;
  border:1px solid rgba(255,184,28,.30);
  border-radius:11px;
  color:#fff;
  background:#111a23;
  font:inherit;
  font-size:.86rem;
  font-weight:800;
}

.player-page .tlpt-card-compare-period{
  display:grid;
  grid-template-columns:repeat(2,minmax(90px,1fr));
  gap:4px;
  padding:4px;
  border:1px solid rgba(255,184,28,.25);
  border-radius:999px;
  background:rgba(4,8,12,.64);
}

.player-page .tlpt-card-compare-period button{
  appearance:none;
  min-height:34px;
  padding:6px 12px;
  border:0;
  border-radius:999px;
  color:#9fb0bf;
  background:transparent;
  cursor:pointer;
  font:inherit;
  font-size:.72rem;
  font-weight:900;
}

.player-page .tlpt-card-compare-period button.is-active{
  color:#171006;
  background:linear-gradient(135deg,#ffe49a,#ffb81c 68%,#c98106);
  box-shadow:0 4px 12px rgba(255,184,28,.20),inset 0 1px 0 rgba(255,255,255,.60);
}

.player-page .tlpt-card-compare-note{
  margin:9px 0 16px;
  color:#8294a3;
  font-size:.65rem;
  line-height:1.4;
  text-align:center;
}

.player-page .tlpt-card-compare-arena{
  display:grid;
  grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);
  gap:13px;
  align-items:center;
  width:min(100%, 790px);
  margin:0 auto;
}

.player-page .tlpt-card-compare-versus{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border:2px solid rgba(255,184,28,.62);
  border-radius:50%;
  color:#ffe09a;
  background:linear-gradient(145deg,#1c2630,#080d12);
  font-size:1rem;
  font-weight:1000;
  letter-spacing:.06em;
  box-shadow:0 0 24px rgba(255,184,28,.22),inset 0 1px 0 rgba(255,255,255,.10);
}

.player-page .tlpt-compare-card{
  min-width:0;
  padding:2px;
  background:var(--card-frame,linear-gradient(145deg,#fff4c2 0%,var(--card-edge) 32%,#916411 63%,#ffeaa5 100%));
  clip-path:polygon(13% 5.5%,23% 1.4%,50% 0,77% 1.4%,87% 5.5%,88% 9.4%,92% 12.7%,100% 14%,100% 85.5%,91% 93.4%,50% 100%,9% 93.4%,0 85.5%,0 14%,8% 12.7%,12% 9.4%);
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.38)) drop-shadow(0 0 14px var(--card-glow));
}

.player-page .tlpt-compare-card-inner{
  position:relative;
  min-height:478px;
  overflow:hidden;
  padding:26px 24px 24px;
  color:var(--card-ink);
  background:
    radial-gradient(circle at 76% 22%,rgba(255,255,255,.20),transparent 21%),
    repeating-linear-gradient(102deg,rgba(255,255,255,.024) 0,rgba(255,255,255,.024) 1px,rgba(0,0,0,.018) 1px,rgba(0,0,0,.018) 4px),
    linear-gradient(145deg,var(--card-surface-a),var(--card-surface-b) 49%,var(--card-surface-c));
  clip-path:inherit;
}

.player-page .tlpt-compare-card-head{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) 50px;
  gap:6px;
  align-items:start;
  padding:12px 22px 0;
}

.player-page .tlpt-compare-overall{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1;
}

.player-page .tlpt-compare-overall > strong{
  font-size:2.45rem;
  font-weight:600;
  letter-spacing:-.07em;
}

.player-page .tlpt-compare-overall > span{
  min-width:34px;
  margin-top:3px;
  padding-top:4px;
  border-top:2px solid var(--card-line);
  font-size:.82rem;
  font-weight:900;
  text-align:center;
}

.player-page .tlpt-compare-overall > em,
.player-page .tlpt-compare-attribute > em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(5,9,12,.72);
  font-style:normal;
  font-weight:1000;
  line-height:1;
  box-shadow:0 3px 8px rgba(0,0,0,.20);
}

.player-page .tlpt-compare-overall > em{
  min-width:35px;
  margin-top:6px;
  padding:3px 6px;
  font-size:.54rem;
}

.player-page .tlpt-compare-overall > em.is-ahead,
.player-page .tlpt-compare-attribute > em.is-ahead{
  color:#62ef9c;
}

.player-page .tlpt-compare-overall > em.is-behind,
.player-page .tlpt-compare-attribute > em.is-behind{
  color:#ff8a91;
}

.player-page .tlpt-compare-overall > em.is-even,
.player-page .tlpt-compare-attribute > em.is-even{
  color:#d4dee6;
}

.player-page .tlpt-compare-edition{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  padding-top:6px;
  color:var(--card-muted);
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.14em;
  text-align:center;
}

.player-page .tlpt-compare-edition strong{
  color:var(--card-ink);
  font-size:.63rem;
  line-height:1.05;
  text-transform:uppercase;
}

.player-page .tlpt-compare-edition small{
  color:var(--card-muted);
  font-size:.42rem;
  font-weight:1000;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.player-page .tlpt-compare-crest{
  width:46px;
  height:46px;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.30));
}

.player-page .tlpt-compare-portrait{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:-7px;
}

.player-page .tlpt-compare-portrait .player-avatar-wrap{
  width:142px;
  height:142px;
  aspect-ratio:1;
}

.player-page .tlpt-compare-portrait .player-avatar.profile,
.player-page .tlpt-compare-portrait .player-avatar-fallback.profile{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:1;
  border:3px solid var(--card-edge);
  border-radius:50%;
  color:var(--card-ink);
  background:rgba(8,12,15,.24);
  image-rendering:auto;
  object-fit:cover;
  object-position:center;
  box-shadow:0 0 0 2px rgba(0,0,0,.13),0 12px 19px rgba(0,0,0,.28),0 0 17px var(--card-glow);
}

.player-page .tlpt-compare-portrait .player-avatar.profile{
  display:block;
}

.player-page .tlpt-compare-portrait .player-avatar-fallback.profile{
  display:flex;
}

.player-page .tlpt-compare-identity{
  margin-top:7px;
  padding:7px 3px;
  border-top:1px solid var(--card-line);
  border-bottom:1px solid var(--card-line);
  text-align:center;
}

.player-page .tlpt-compare-identity h3{
  margin:0;
  overflow:hidden;
  color:var(--card-ink);
  font-size:1.28rem;
  font-weight:1000;
  line-height:1.05;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-compare-identity > span{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:var(--card-muted);
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.055em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-compare-special-tag{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:1px 7px;
  align-items:center;
  min-height:37px;
  margin:6px 4px 0;
  padding:5px 8px;
  border:1px solid var(--special-accent,#71808d);
  border-radius:10px;
  color:var(--special-accent,#cbd5dc);
  background:linear-gradient(145deg,var(--special-soft,rgba(255,255,255,.08)),rgba(5,9,13,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 10px rgba(0,0,0,.16);
}

.player-page .tlpt-compare-special-tag.is-empty{
  visibility:hidden;
}

.player-page .tlpt-compare-special-tag > span{
  grid-row:1 / 3;
  font-size:.84rem;
  text-align:center;
}

.player-page .tlpt-compare-special-tag > strong{
  overflow:hidden;
  font-size:.48rem;
  font-weight:1000;
  letter-spacing:.075em;
  line-height:1.1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-compare-special-tag > small{
  overflow:hidden;
  color:var(--card-ink);
  font-size:.52rem;
  font-weight:900;
  line-height:1.1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-compare-attributes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 12px;
  padding:9px 4px 6px;
}

.player-page .tlpt-compare-attribute{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  min-width:0;
  padding:3px 4px;
  border-radius:7px;
  background:rgba(255,255,255,.035);
}

.player-page .tlpt-compare-attribute > div{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-width:0;
}

.player-page .tlpt-compare-attribute > div strong{
  font-size:1.16rem;
  font-weight:1000;
  line-height:1;
}

.player-page .tlpt-compare-attribute > div span{
  font-size:.68rem;
  font-weight:1000;
}

.player-page .tlpt-compare-attribute > small{
  grid-column:1;
  min-width:0;
  overflow:hidden;
  color:var(--card-muted);
  font-size:.43rem;
  font-weight:900;
  line-height:1.1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.player-page .tlpt-compare-attribute > em{
  grid-column:2;
  grid-row:1 / 3;
  min-width:30px;
  padding:3px 4px;
  font-size:.48rem;
}

.player-page .tlpt-compare-card-context{
  display:grid;
  gap:2px;
  padding:5px 2px 7px;
  border-top:1px solid var(--card-line);
  color:var(--card-muted);
  font-size:.48rem;
  font-weight:800;
  line-height:1.25;
  text-align:center;
}

.player-page .tlpt-compare-card-context strong{
  color:var(--card-ink);
}

.player-page .tlpt-compare-profile-link{
  display:block;
  padding:7px 8px;
  border:1px solid var(--card-line);
  border-radius:999px;
  color:var(--card-ink);
  background:rgba(255,255,255,.055);
  font-size:.59rem;
  font-weight:1000;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}

.player-page .tlpt-compare-profile-link:hover{
  background:rgba(255,255,255,.13);
}

/* =========================================
   Companion career summary
   ========================================= */

.player-page .tlpt-player-summary{
  min-width:0;
  padding:28px;
  border:1px solid rgba(255,184,28,.22);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0, rgba(255,184,28,.12), transparent 30%),
    linear-gradient(160deg, rgba(23,31,42,.96), rgba(12,17,24,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 18px 34px rgba(0,0,0,.24);
}

.player-page .tlpt-player-summary-kicker{
  color:var(--gold);
}

.player-page .tlpt-player-summary-title-row{
  margin:8px 0 22px;
}

.player-page .tlpt-player-summary-title-row h2{
  margin:0;
  color:#fff;
  font-size:clamp(2.2rem, 4.2vw, 3.55rem);
  line-height:1;
  letter-spacing:-.035em;
}

.player-page .tlpt-player-summary-quote{
  margin:12px 0 0;
  color:var(--gold-soft);
  font-size:1.08rem;
  font-style:italic;
  font-weight:700;
  line-height:1.45;
}

.player-page .tlpt-player-status-row{
  display:grid;
  grid-template-columns:.72fr 1.15fr 1.1fr;
  gap:12px;
  margin-bottom:18px;
}

.player-page .tlpt-player-status-card{
  min-width:0;
  min-height:126px;
  display:flex;
  flex-direction:column;
  padding:15px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:15px;
  background:rgba(255,255,255,.035);
}

.player-page .tlpt-player-status-card > span,
.player-page .tlpt-player-snapshot-stat > span,
.player-page .tlpt-player-archetype-card > span{
  color:var(--muted);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.player-page .tlpt-player-status-card > strong{
  display:block;
  margin:9px 0 7px;
  color:#fff;
  font-size:1.04rem;
  line-height:1.2;
}

.player-page .tlpt-player-status-card:first-child > strong{
  color:var(--gold);
  font-size:2.35rem;
  line-height:.95;
}

.player-page .tlpt-player-status-card > small{
  display:block;
  margin-top:auto;
  color:#b9c6d3;
  font-size:.7rem;
  line-height:1.35;
}

.player-page .tlpt-player-status-hot{
  border-color:rgba(61,220,132,.28);
  background:linear-gradient(145deg, rgba(61,220,132,.10), rgba(255,255,255,.025));
}

.player-page .tlpt-player-status-cold{
  border-color:rgba(94,180,255,.27);
  background:linear-gradient(145deg, rgba(94,180,255,.10), rgba(255,255,255,.025));
}

.player-page .tlpt-player-snapshot-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}

.player-page .tlpt-player-snapshot-stat{
  min-width:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(7,11,16,.33);
}

.player-page .tlpt-player-snapshot-stat > strong{
  display:block;
  margin-top:7px;
  overflow:hidden;
  color:#fff;
  font-size:1.48rem;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-page .tlpt-player-archetype-pair{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.player-page .tlpt-player-archetype-card{
  min-width:0;
  padding:15px;
  border:1px solid rgba(93,156,255,.24);
  border-radius:14px;
  background:linear-gradient(145deg, rgba(46,86,145,.19), rgba(255,255,255,.025));
}

.player-page .tlpt-player-archetype-card.secondary{
  border-color:rgba(158,176,195,.20);
  background:linear-gradient(145deg, rgba(105,119,135,.13), rgba(255,255,255,.02));
}

.player-page .tlpt-player-archetype-card strong{
  display:block;
  margin:8px 0 6px;
  color:#eef5ff;
  font-size:1rem;
  line-height:1.2;
}

.player-page .tlpt-player-archetype-card small{
  display:block;
  color:#bfcee0;
  font-size:.73rem;
  line-height:1.4;
}

.player-page .tlpt-player-summary-badges{
  margin-top:17px;
}

.player-page .tlpt-player-summary-badges .stat-leader-badges{
  justify-content:flex-start;
  margin:0;
}

/* Keep the established lower profile systems, but give them more separation
   from the new card hero. */

.player-page .player-dna-nemesis-wrap{
  margin-top:0;
}

.player-page .player-archetype-spectrum-shell,
.player-page .player-stat-grid-enhanced,
.player-page .player-body-count-card{
  position:relative;
}

.player-page .player-nav,
.player-page #player-nav{
  padding-top:4px;
}

.player-page .player-page-links{
  justify-content:center;
}

.player-page .player-page-links-top{
  align-items:stretch;
  margin-bottom:18px;
}

.player-page .player-page-links-top [hidden]{
  display:none !important;
}

.player-page .player-page-link-cycle{
  min-height:42px;
  padding:9px 16px;
  border-color:rgba(255,184,28,.38);
  background:
    linear-gradient(180deg, rgba(255,184,28,.14), rgba(255,184,28,.045)),
    rgba(8,12,17,.86);
  color:var(--gold);
  font-weight:900;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 7px 16px rgba(0,0,0,.18),
    0 0 12px rgba(255,184,28,.06);
}

.player-page .player-page-link-cycle:hover{
  border-color:rgba(255,184,28,.62);
  background:
    linear-gradient(180deg, rgba(255,184,28,.19), rgba(255,184,28,.06)),
    rgba(8,12,17,.92);
  color:#ffe199;
}

.player-page .player-page-link-crew{
  color:#fff1c2;
}

.player-page .player-page-link{
  backdrop-filter:blur(7px);
}

@media (max-width:1100px){
  .player-page .player-profile-hero.profile-hero-wide{
    grid-template-columns:1fr;
  }

  .player-page .tlpt-player-card{
    width:min(100%, 380px);
  }

  .player-page .tlpt-player-summary{
    width:100%;
  }
}

@media (max-width:760px){
  .player-page{
    --player-card-gap:24px;
  }

  .player-page main.wrap > .section{
    padding:16px;
  }

  .player-page .player-profile-shell{
    padding:18px;
  }

  .player-page .tlpt-player-summary{
    padding:22px;
  }

  .player-page .tlpt-player-status-row{
    grid-template-columns:1fr;
  }

  .player-page .tlpt-player-status-card{
    min-height:0;
  }

  .player-page .tlpt-player-status-card > small{
    margin-top:2px;
  }

  .player-page .tlpt-player-snapshot-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .player-page .tlpt-player-archetype-pair{
    grid-template-columns:1fr;
  }

  .player-page .tlpt-card-collection{
    padding:18px;
  }

  .player-page .tlpt-card-collection-head{
    display:grid;
    gap:12px;
  }

  .player-page .tlpt-card-collection-head > strong{
    justify-self:start;
  }

  .player-page .tlpt-card-collection-grid{
    gap:21px 14px;
  }

  .player-page .tlpt-card-compare-overlay{
    padding:12px;
  }

  .player-page .tlpt-card-compare-dialog{
    padding:16px;
    border-radius:19px;
  }

  .player-page .tlpt-card-compare-controls{
    grid-template-columns:1fr;
    gap:10px;
  }

  .player-page .tlpt-card-compare-period{
    width:min(100%, 320px);
    margin:0 auto;
  }

  .player-page .tlpt-card-compare-arena{
    grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);
    gap:6px;
  }

  .player-page .tlpt-card-compare-versus{
    width:38px;
    height:38px;
    font-size:.72rem;
  }

  .player-page .tlpt-compare-card-inner{
    min-height:442px;
    padding:23px 16px 20px;
  }

  .player-page .tlpt-compare-portrait .player-avatar-wrap{
    width:118px;
    height:118px;
  }
}

@media (max-width:520px){
  .player-page main.wrap > .section{
    padding:12px;
  }

  .player-page .player-profile-shell{
    padding:12px;
    border-radius:15px;
  }

  .player-page .tlpt-player-card{
    width:100%;
    aspect-ratio:.655;
  }

  .player-page .tlpt-card-view-bar{
    width:100%;
    margin-bottom:9px;
  }

  .player-page .tlpt-card-view-switch button{
    min-height:32px;
    padding:5px 9px;
    font-size:.7rem;
  }

  .player-page .tlpt-card-view-actions{
    gap:6px;
  }

  .player-page .tlpt-card-compare-open{
    min-width:84px;
    padding:6px 9px;
    font-size:.66rem;
  }

  .player-page .tlpt-player-card-inner{
    grid-template-rows:68px 160px 60px minmax(0,1fr) 18px;
    padding:18px 20px 24px;
  }

  .player-page .tlpt-card-header{
    grid-template-columns:58px 1fr 50px;
    padding:8px 14px 0;
  }

  .player-page .tlpt-card-overall{
    font-size:2.6rem;
  }

  .player-page .tlpt-card-edition strong{
    font-size:.60rem;
  }

  .player-page .tlpt-card-edition small{
    font-size:.40rem;
  }

  .player-page .tlpt-card-crest{
    width:46px;
    height:46px;
  }

  .player-page .tlpt-card-portrait{
    --tlpt-profile-avatar-size:160px;
  }

  .player-page .tlpt-card-identity h2{
    font-size:1.45rem;
  }

  .player-page .tlpt-card-archetype{
    font-size:.62rem;
  }

  .player-page .tlpt-card-attributes{
    gap:0 10px;
    padding-left:2px;
    padding-right:2px;
  }

  .player-page .tlpt-card-attribute{
    grid-template-columns:30px minmax(0,1fr);
    column-gap:5px;
    row-gap:0;
    padding:2px;
  }

  .player-page .tlpt-card-attribute:nth-child(odd)::after{
    right:-5px;
  }

  .player-page .tlpt-card-attribute strong{
    font-size:1.2rem;
  }

  .player-page .tlpt-card-attribute span{
    font-size:.72rem;
  }

  .player-page .tlpt-card-attribute small{
    font-size:.46rem;
    line-height:1;
  }

  .player-page .tlpt-card-experience,
  .player-page .tlpt-card-rating-explainer{
    border-radius:13px;
  }

  .player-page .tlpt-card-experience-head{
    display:grid;
    gap:4px;
  }

  .player-page .tlpt-card-experience-head strong{
    text-align:left;
  }

  .player-page .tlpt-card-rating-explainer{
    min-height:0;
    padding:13px;
  }

  .player-page .tlpt-card-special-banner{
    grid-template-columns:32px minmax(0,1fr);
    gap:8px;
    margin-top:10px;
    padding:8px 9px;
    border-radius:12px;
  }

  .player-page .tlpt-card-special-banner > span{
    width:30px;
    height:30px;
    font-size:.9rem;
  }

  .player-page .tlpt-card-special-banner > div{
    grid-template-columns:1fr;
  }

  .player-page .tlpt-card-special-banner strong{
    font-size:.50rem;
  }

  .player-page .tlpt-card-special-banner b{
    font-size:.64rem;
    text-align:left;
  }

  .player-page .tlpt-card-special-banner small{
    font-size:.52rem;
  }

  .player-page .tlpt-card-special-banner em{
    font-size:.44rem;
  }

  .player-page .tlpt-card-collection{
    margin-bottom:22px;
    padding:14px 10px;
    border-radius:15px;
  }

  .player-page .tlpt-card-collection-head{
    padding:0 4px 14px;
  }

  .player-page .tlpt-card-collection-head h2{
    font-size:1.35rem;
  }

  .player-page .tlpt-card-collection-head p{
    font-size:.67rem;
  }

  .player-page .tlpt-card-collection-head > strong{
    padding:6px 9px;
    font-size:.59rem;
  }

  .player-page .tlpt-card-collection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:19px 9px;
    padding-top:19px;
  }

  .player-page .tlpt-card-collectible-head{
    grid-template-columns:27px minmax(0,1fr) 24px;
    padding-left:3px;
    padding-right:3px;
  }

  .player-page .tlpt-card-collectible-rating strong{
    font-size:1.22rem;
  }

  .player-page .tlpt-card-collectible-rating small{
    width:21px;
    font-size:.45rem;
  }

  .player-page .tlpt-card-collectible-head img{
    width:24px;
    height:24px;
  }

  .player-page .tlpt-card-collectible-name{
    font-size:.58rem;
  }

  .player-page .tlpt-card-collectible-stats{
    gap:1px 5px;
    padding-left:4px;
    padding-right:4px;
  }

  .player-page .tlpt-card-collectible-stats strong{
    font-size:.55rem;
  }

  .player-page .tlpt-card-collectible-stats small{
    font-size:.31rem;
  }

  .player-page .tlpt-card-collectible-caption strong{
    font-size:.53rem;
  }

  .player-page .tlpt-card-collectible-caption small{
    font-size:.57rem;
  }

  .player-page .tlpt-card-collectible-caption em{
    font-size:.44rem;
  }

  .player-page .tlpt-player-summary{
    padding:18px;
    border-radius:16px;
  }

  .player-page .tlpt-player-summary-title-row h2{
    font-size:2.15rem;
  }

  .player-page .tlpt-player-snapshot-stat > strong{
    font-size:1.2rem;
  }

  .player-page .tlpt-card-compare-overlay{
    padding:6px;
  }

  .player-page .tlpt-card-compare-dialog{
    padding:10px;
    border-radius:14px;
  }

  .player-page .tlpt-card-compare-dialog-head{
    gap:8px;
    padding-bottom:9px;
  }

  .player-page .tlpt-card-compare-dialog-head span{
    font-size:.52rem;
  }

  .player-page .tlpt-card-compare-dialog-head h2{
    font-size:1.05rem;
  }

  .player-page .tlpt-card-compare-dialog-head button{
    width:32px;
    height:32px;
    font-size:1.4rem;
  }

  .player-page .tlpt-card-compare-controls{
    margin-top:10px;
  }

  .player-page .tlpt-card-compare-controls label > span{
    font-size:.56rem;
  }

  .player-page .tlpt-card-compare-controls select{
    min-height:38px;
    font-size:.72rem;
  }

  .player-page .tlpt-card-compare-period button{
    min-height:30px;
    padding:5px 8px;
    font-size:.65rem;
  }

  .player-page .tlpt-card-compare-note{
    margin:7px 2px 11px;
    font-size:.52rem;
  }

  .player-page .tlpt-card-compare-arena{
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
    gap:3px;
  }

  .player-page .tlpt-card-compare-versus{
    width:24px;
    height:24px;
    border-width:1px;
    font-size:.49rem;
  }

  .player-page .tlpt-compare-card{
    padding:1px;
  }

  .player-page .tlpt-compare-card-inner{
    min-height:372px;
    padding:19px 8px 16px;
  }

  .player-page .tlpt-compare-card-head{
    grid-template-columns:42px minmax(0,1fr) 32px;
    gap:2px;
    padding:8px 14px 0;
  }

  .player-page .tlpt-compare-overall > strong{
    font-size:1.67rem;
  }

  .player-page .tlpt-compare-overall > span{
    min-width:25px;
    font-size:.58rem;
  }

  .player-page .tlpt-compare-overall > em{
    min-width:27px;
    margin-top:4px;
    padding:2px 4px;
    font-size:.40rem;
  }

  .player-page .tlpt-compare-edition{
    padding-top:4px;
    font-size:.38rem;
    letter-spacing:.08em;
  }

  .player-page .tlpt-compare-edition strong{
    font-size:.45rem;
  }

  .player-page .tlpt-compare-edition small{
    font-size:.32rem;
  }

  .player-page .tlpt-compare-crest{
    width:31px;
    height:31px;
  }

  .player-page .tlpt-compare-portrait{
    margin-top:-2px;
  }

  .player-page .tlpt-compare-portrait .player-avatar-wrap{
    width:84px;
    height:84px;
  }

  .player-page .tlpt-compare-portrait .player-avatar.profile,
  .player-page .tlpt-compare-portrait .player-avatar-fallback.profile{
    border-width:2px;
  }

  .player-page .tlpt-compare-identity{
    margin-top:5px;
    padding:5px 1px;
  }

  .player-page .tlpt-compare-identity h3{
    font-size:.85rem;
  }

  .player-page .tlpt-compare-identity > span{
    margin-top:3px;
    font-size:.37rem;
  }

  .player-page .tlpt-compare-special-tag{
    grid-template-columns:17px minmax(0,1fr);
    gap:1px 4px;
    min-height:29px;
    margin:4px 1px 0;
    padding:3px 4px;
    border-radius:7px;
  }

  .player-page .tlpt-compare-special-tag > span{
    font-size:.62rem;
  }

  .player-page .tlpt-compare-special-tag > strong{
    font-size:.33rem;
    letter-spacing:.035em;
  }

  .player-page .tlpt-compare-special-tag > small{
    font-size:.35rem;
  }

  .player-page .tlpt-compare-attributes{
    gap:3px;
    padding:6px 0 4px;
  }

  .player-page .tlpt-compare-attribute{
    padding:3px 2px;
  }

  .player-page .tlpt-compare-attribute > div{
    gap:2px;
  }

  .player-page .tlpt-compare-attribute > div strong{
    font-size:.88rem;
  }

  .player-page .tlpt-compare-attribute > div span{
    font-size:.49rem;
  }

  .player-page .tlpt-compare-attribute > small{
    font-size:.32rem;
  }

  .player-page .tlpt-compare-attribute > em{
    min-width:21px;
    padding:2px 3px;
    font-size:.34rem;
  }

  .player-page .tlpt-compare-card-context{
    font-size:.35rem;
  }

  .player-page .tlpt-compare-profile-link{
    padding:6px 3px;
    font-size:.40rem;
  }

  .player-page .player-page-links{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .player-page .player-page-link{
    width:100%;
    min-width:0;
    padding:8px 9px;
    font-size:.75rem;
    text-align:center;
  }
}

@media (prefers-reduced-motion:reduce){
  .player-page .tlpt-player-card,
  .player-page .tlpt-player-card-inner::after,
  .player-page .tlpt-card-view-switch button,
  .player-page .tlpt-card-compare-open,
  .player-page .tlpt-card-rating-block,
  .player-page .tlpt-card-attribute,
  .player-page .tlpt-card-collectible-frame,
  .player-page .tlpt-card-collectible-inner::after,
  .player-page .tlpt-card-collectible-selected{
    transition:none;
  }

  .player-page .tlpt-player-card.is-view-changing .tlpt-card-overall,
  .player-page .tlpt-player-card.is-view-changing .tlpt-card-edition,
  .player-page .tlpt-player-card.is-view-changing .tlpt-card-attribute strong,
  .player-page .tlpt-player-card.is-edition-changing .tlpt-player-card-inner{
    animation:none;
  }

  .player-page .tlpt-player-card:hover{
    transform:none;
  }

  .player-page .tlpt-player-card:hover .tlpt-player-card-inner::after{
    transform:translateX(-58%) rotate(20deg);
  }

  .player-page .tlpt-card-collectible-button:hover .tlpt-card-collectible-frame,
  .player-page .tlpt-card-collectible-button.is-selected .tlpt-card-collectible-frame{
    transform:none;
  }

  .player-page .tlpt-card-collectible-button:hover .tlpt-card-collectible-inner::after{
    transform:translateX(-58%) rotate(20deg);
  }
}
