.qx-avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--qx-size, 72px);
  height: var(--qx-size, 72px);
  flex: 0 0 var(--qx-size, 72px);
  isolation: isolate;
  overflow: visible;
}

[dir="rtl"] .qx-avatar {
  direction: ltr;
  unicode-bidi: isolate;
}

.qx-avatar__halo,
.qx-avatar__ring,
.qx-avatar__plate,
.qx-avatar__badge {
  position: absolute;
}

.qx-avatar__halo {
  inset: -10%;
  border-radius: 34%;
  background: radial-gradient(circle, var(--qx-accent, #6366f1) 0%, transparent 68%);
  opacity: 0.28;
  filter: blur(calc(var(--qx-size, 72px) * 0.14));
  z-index: 0;
}

.qx-avatar__ring {
  inset: 4%;
  border-radius: 30%;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.04)),
    linear-gradient(145deg, var(--qx-accent, #6366f1), var(--qx-accent-2, #1e293b));
  box-shadow:
    0 calc(var(--qx-size, 72px) * 0.14) calc(var(--qx-size, 72px) * 0.26) rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  z-index: 1;
}

.qx-avatar__plate {
  inset: 14%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 26%;
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.18), transparent 46%),
    rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  z-index: 2;
  direction: ltr;
  unicode-bidi: isolate;
}

.qx-avatar__plate svg,
.qx-avatar__plate img,
.qx-avatar__plate .qx-avatar__fallback {
  width: 100%;
  height: 100%;
  display: block;
}

.qx-avatar__plate img {
  object-fit: cover;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

/* شاشات لمس / عالية الكثافة: تخفيف ضبابية الهالة وتثبيت طبقة الصورة (WebKit) */
@media (max-width: 600px) {
  .qx-avatar__halo {
    opacity: 0.12;
    filter: blur(calc(var(--qx-size, 72px) * 0.065));
  }
  .qx-avatar__plate {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
}

.qx-avatar__fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--qx-size, 72px) * 0.46);
  color: #fff;
}

.qx-avatar__badge {
  inset: auto auto 2% 50%;
  transform: translateX(-50%);
  min-height: calc(var(--qx-size, 72px) * 0.24);
  padding: 0 calc(var(--qx-size, 72px) * 0.1);
  border-radius: 999px;
  background: rgba(7, 16, 31, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: calc(var(--qx-size, 72px) * 0.12);
  font-weight: 900;
  white-space: nowrap;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.qx-avatar--badge-off .qx-avatar__badge {
  display: none;
}

.qx-avatar--picker .qx-avatar__halo {
  opacity: 0.18;
}

.qx-avatar--podium .qx-avatar__halo,
.qx-avatar--hero .qx-avatar__halo {
  opacity: 0.38;
}

/* واجهة المضيف: بدون هالة/حلقة عريضة؛ اللوحة بملء الإطار والصورة تمتد بملء المربع */
.qx-avatar--host .qx-avatar__halo,
.qx-avatar--host .qx-avatar__ring {
  display: none;
}

.qx-avatar--host .qx-avatar__plate {
  inset: 0;
  border-radius: inherit;
  box-shadow: none;
  background: transparent;
  line-height: 0;
}

.qx-avatar--host .qx-avatar__plate img {
  object-fit: fill;
  vertical-align: top;
  display: block;
}
