/* Original LUCKYBOX geometry. Preview level frames are never payment entitlements. */
.playerAvatar {
  --avatar-size:68px;
  --avatar-tone:#a5afb7;
  --avatar-light:#e6ebee;
  --avatar-dark:#4a545e;
  --avatar-plate:#303840;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  width:var(--avatar-size);
  height:calc(var(--avatar-size) * 1.1);
  vertical-align:middle;
  isolation:isolate;
  line-height:1;
  text-align:center;
}
.playerAvatar--small { --avatar-size:44px; }
.playerAvatar--large { --avatar-size:112px; }
.playerAvatar--advanced { --avatar-tone:#c49a75; --avatar-light:#eedbc3; --avatar-dark:#6e5142; --avatar-plate:#49352e; }
.playerAvatar--elite { --avatar-tone:#8dc7d9; --avatar-light:#d9f4fa; --avatar-dark:#3e687b; --avatar-plate:#263f50; }
.playerAvatar--master { --avatar-tone:#b39ce0; --avatar-light:#e9dfff; --avatar-dark:#61507e; --avatar-plate:#3d324f; }
.playerAvatar--collector { --avatar-tone:#dabb68; --avatar-light:#fff1bf; --avatar-dark:#7b6533; --avatar-plate:#4c3c22; }
.playerAvatarPortrait {
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  left:20%;
  top:14.55%;
  width:60%;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(145deg,#414b58,#252c36);
  color:#e6eaf0;
  z-index:0;
}
.playerAvatarInitials { display:block; font-family:var(--font,system-ui,sans-serif); font-size:calc(var(--avatar-size) * .22); font-weight:700; letter-spacing:.02em; line-height:1; }
.playerAvatarPortrait > img { display:block; position:absolute; inset:0; width:100%; height:100%; max-width:100%; object-fit:cover; border-radius:50%; }
.playerAvatarFrame { display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; z-index:1; filter:drop-shadow(0 1px 1px #0008); }
.playerAvatarRimOuter { stroke:var(--avatar-dark); stroke-width:7; }
.playerAvatarRimMetal { stroke:var(--avatar-tone); stroke-width:3.6; }
.playerAvatarRimInner { stroke:var(--avatar-light); stroke-width:1; opacity:.62; }
.playerAvatarGlint { fill:none; stroke:var(--avatar-light); stroke-width:1.15; stroke-linecap:round; opacity:.9; }
.playerAvatarDecoration { fill:var(--avatar-tone); stroke:var(--avatar-dark); stroke-width:1.1; stroke-linejoin:round; }
.playerAvatarDecoration .playerAvatarFacet { fill:none; stroke:var(--avatar-light); stroke-width:1.15; opacity:.66; }
.playerAvatarClover { fill:var(--avatar-light); stroke:var(--avatar-tone); stroke-width:.75; }
.playerAvatarClover > path { fill:none; stroke:var(--avatar-tone); stroke-width:1.5; }
.playerAvatarLevel {
  display:block;
  position:absolute;
  bottom:4%;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  min-width:36px;
  max-width:calc(100% - 2px);
  min-height:17px;
  padding:3px 7px;
  border:1px solid var(--avatar-tone);
  border-radius:3px;
  background:linear-gradient(180deg,var(--avatar-plate),#1b2027);
  box-shadow:inset 0 1px 0 #ffffff13,0 1px 2px #0005;
  color:#f6f4ed;
  font-family:var(--font,system-ui,sans-serif);
  font-size:9px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  letter-spacing:.15px;
  line-height:1.1;
  text-shadow:0 1px 1px #000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.playerAvatar--advanced .playerAvatarLevel,.playerAvatar--elite .playerAvatarLevel { border-radius:1px 1px 5px 5px; }
.playerAvatar--master .playerAvatarLevel,.playerAvatar--collector .playerAvatarLevel { border-radius:6px 6px 2px 2px; }
.playerAvatar--small .playerAvatarLevel { min-width:32px; min-height:13px; padding:2px 3px; font-size:8px; bottom:2%; }
.playerAvatar--small .playerAvatarRimOuter { stroke-width:6; }
.playerAvatar--small .playerAvatarGlint { opacity:.65; }
.playerAvatar--large .playerAvatarLevel { min-width:56px; min-height:23px; padding:4px 10px; font-size:12px; bottom:4%; }
.playerAvatar--unknown { --avatar-tone:#858f99; --avatar-light:#c0c7cd; --avatar-dark:#434c56; --avatar-plate:#2d333c; }
.playerAvatar--unknown .playerAvatarDecoration { display:none; }
.playerAvatar--unknown .playerAvatarGlint { opacity:.35; }
.playerAvatar--unknown .playerAvatarLevel { color:#b8c0ca; }
/* Raw third-party PNGs are served only by the separate local preview preparation.
   Preserve each square image's complete pixels; never redraw or tint the frame.
   Portrait center: x50% / y55% of the square; diameter44%. Badge is independent. */
.playerAvatar--original { height:calc(var(--avatar-size) * 1.22); }
.playerAvatar--original .playerAvatarPortrait { left:28%; top:calc(var(--avatar-size) * .33); width:44%; }
.playerAvatarFrameOriginal { display:block; position:absolute; top:0; left:0; width:100%; height:auto; max-width:100%; aspect-ratio:1; object-fit:contain; z-index:1; border:0; border-radius:0; background:transparent; filter:none; opacity:1; pointer-events:none; }
.playerAvatar--original .playerAvatarLevel { bottom:0; }
.playerAvatar--original.playerAvatar--unknown .playerAvatarPortrait { left:20%; top:calc(var(--avatar-size) * .25); width:60%; outline:1px solid #858f99; outline-offset:2px; }
.playerAvatar--neutral { --avatar-tone:#858f99; --avatar-light:#c0c7cd; --avatar-dark:#434c56; --avatar-plate:#2d333c; }
.playerAvatar--neutral .playerAvatarPortrait { left:15%; top:8%; width:70%; }
.playerAvatar--neutral .playerAvatarLevel { border-color:#687380; border-radius:3px; background:#252b34; }
@media (prefers-reduced-motion:reduce) {
  .playerAvatar,.playerAvatar * { animation:none !important; transition:none !important; }
}
