
.ao-avatar-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* File-based frame overlay */
.ao-avatar-frame-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 136%;
  height: 136%;
  pointer-events: none;
  object-fit: contain;
  z-index: 2;
}

/* Avatar image */
.ao-avatar-wrap .ao-avatar-img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.ao-avatar-wrap--circle .ao-avatar-img {
  border-radius: 50%;
}
.ao-avatar-wrap--rounded .ao-avatar-img {
  border-radius: 20%;
}

.ao-avatar-ring {
  display: block;
  position: absolute;
  inset: -5px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  pointer-events: none;
  z-index: 1;
}

.ao-avatar-level {
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  background: #6c5ce7;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  padding: 2px 6px 3px;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 3;
  border: 2px solid var(--ao-bg-card, #1a1d2e);
  letter-spacing: 0.3px;
}

.ao-avatar-wrap--silver .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #b2bec3,
    0 0 8px rgba(178, 190, 195, 0.4);
}
.ao-avatar-wrap--silver .ao-avatar-level {
  background: #636e72;
}

.ao-avatar-wrap--gold .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #f9ca24,
    0 0 14px rgba(249, 202, 36, 0.55);
}
.ao-avatar-wrap--gold .ao-avatar-level {
  background: linear-gradient(90deg, #f9ca24, #f0932b);
  color: #1a1a1a;
}

.ao-avatar-wrap--cosmic .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #6c5ce7,
    0 0 16px rgba(108, 92, 231, 0.65);
}
.ao-avatar-wrap--cosmic .ao-avatar-level {
  background: linear-gradient(90deg, #6c5ce7, #a29bfe);
}

.ao-avatar-wrap--diamond .ao-avatar-img {
  animation: aoAvatarDiamond 3s linear infinite;
}
.ao-avatar-wrap--diamond .ao-avatar-level {
  background: linear-gradient(90deg, #00d2ff, #a29bfe);
}

@keyframes aoAvatarDiamond {
  0% {
    box-shadow:
      0 0 0 2.5px #00d2ff,
      0 0 18px rgba(0, 210, 255, 0.6);
  }
  33% {
    box-shadow:
      0 0 0 2.5px #a29bfe,
      0 0 18px rgba(162, 155, 254, 0.6);
  }
  66% {
    box-shadow:
      0 0 0 2.5px #fd79a8,
      0 0 18px rgba(253, 121, 168, 0.6);
  }
  100% {
    box-shadow:
      0 0 0 2.5px #00d2ff,
      0 0 18px rgba(0, 210, 255, 0.6);
  }
}

/* Admin frame */
.ao-avatar-wrap--admin .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #ff4757,
    0 0 16px rgba(255, 71, 87, 0.55);
}
.ao-avatar-wrap--admin .ao-avatar-level {
  background: #ff4757;
}

/* Editor frame */
.ao-avatar-wrap--editor .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #f39c12,
    0 0 14px rgba(243, 156, 18, 0.5);
}
.ao-avatar-wrap--editor .ao-avatar-level {
  background: linear-gradient(90deg, #f39c12, #f1c40f);
  color: #1a1a1a;
}

/* Author frame */
.ao-avatar-wrap--author .ao-avatar-img {
  box-shadow:
    0 0 0 2.5px #3498db,
    0 0 12px rgba(52, 152, 219, 0.45);
}
.ao-avatar-wrap--author .ao-avatar-level {
  background: #3498db;
}

.ao-profile-badge--frame-gold {
  background: linear-gradient(90deg, #f9ca24, #f0932b) !important;
  color: #1a1a1a !important;
}
.ao-profile-badge--frame-cosmic {
  background: linear-gradient(90deg, #6c5ce7, #a29bfe) !important;
}
.ao-profile-badge--frame-diamond {
  background: linear-gradient(90deg, #00d2ff, #a29bfe) !important;
}
.ao-profile-badge--frame-admin {
  background: #ff4757 !important;
}
.ao-profile-badge--frame-editor {
  background: linear-gradient(90deg, #f39c12, #f1c40f) !important;
  color: #1a1a1a !important;
}
.ao-profile-badge--frame-author {
  background: #3498db !important;
}

.ao-header__user-btn--avatar {
  padding: 0;
  background: transparent;
  border: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ao-header__user-btn--avatar .ao-avatar-wrap {
  width: 34px;
  height: 34px;
}
.ao-header__user-btn--avatar .ao-avatar-level {
  font-size: 8px;
  padding: 1px 5px 2px;
  bottom: -4px;
}

.ao-user-dropdown__avatar .ao-avatar-wrap {
  width: 48px;
  height: 48px;
}

.ao-user-dropdown__avatar .ao-avatar-level {
  bottom: -6px;
}

.ao-mobile-bottom-nav__item--user .ao-avatar-wrap {
  width: 32px;
  height: 32px;
}
.ao-mobile-bottom-nav__item--user .ao-avatar-level {
  font-size: 7px;
  padding: 1px 4px 2px;
  bottom: -4px;
}
