/* Avatar padrão unificado para qualquer conta sem foto. */
:is(
  .avatar,
  .profile-menu-avatar,
  .social-avatar,
  .public-avatar,
  .creator-avatar,
  .notification-avatar
):not(:has(img)):not(:has(svg)),
.dash-avatar>span,
.profile-avatar-upload>span,
.private-profile-avatar>span {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  font-size:0!important;
  color:transparent!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.12),transparent 27%),
    linear-gradient(145deg,#303b46,#1a222a 72%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -12px 28px rgba(0,0,0,.16);
}

:is(
  .avatar,
  .profile-menu-avatar,
  .social-avatar,
  .public-avatar,
  .creator-avatar,
  .notification-avatar
):not(:has(img)):not(:has(svg))::before,
.dash-avatar>span::before,
.profile-avatar-upload>span::before,
.private-profile-avatar>span::before {
  content:"";
  position:absolute;
  z-index:2;
  left:50%;
  top:21%;
  width:31%;
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(145deg,#d4dce3,#8996a2);
  box-shadow:0 4px 10px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.45);
}

:is(
  .avatar,
  .profile-menu-avatar,
  .social-avatar,
  .public-avatar,
  .creator-avatar,
  .notification-avatar
):not(:has(img)):not(:has(svg))::after,
.dash-avatar>span::after,
.profile-avatar-upload>span::after,
.private-profile-avatar>span::after {
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  bottom:-13%;
  width:68%;
  height:53%;
  transform:translateX(-50%);
  border-radius:50% 50% 24% 24%/58% 58% 20% 20%;
  background:linear-gradient(145deg,#c4ced6,#71808d);
  box-shadow:0 -3px 10px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.28);
}

/* Um leve aro azul identifica o placeholder sem competir com fotos reais. */
:is(.profile-menu-avatar,.social-avatar,.public-avatar,.creator-avatar,.notification-avatar):not(:has(img)):not(:has(svg)) {
  border-color:rgba(64,156,255,.28)!important;
}
