.ava-real-root {
  --ava-real-intensity: 0.78;
  --ava-real-pulse: 0.72;
  --ava-real-bloom: 0.68;
  --ava-real-motion: 0.62;
  --ava-real-visibility: 1;

  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: var(--ava-real-visibility);
  overflow: hidden;
}

.ava-real-caduceus {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(42vw, 520px);
  height: min(42vw, 520px);
  transform: translate(-50%, -50%);
  opacity: calc(0.18 + (var(--ava-real-intensity) * 0.32));
  filter:
    drop-shadow(0 0 calc(22px + (var(--ava-real-bloom) * 34px)) rgba(80, 190, 255, 0.42))
    drop-shadow(0 0 calc(16px + (var(--ava-real-bloom) * 28px)) rgba(255, 210, 120, 0.22));
  animation: avaRealFloat calc(9s - (var(--ava-real-motion) * 3s)) ease-in-out infinite;
}

.ava-real-halo,
.ava-real-neural-ring {
  position: absolute;
  inset: 8%;
  border-radius: 999px;
  border: 1px solid rgba(140, 220, 255, 0.34);
  box-shadow:
    inset 0 0 32px rgba(120, 210, 255, 0.15),
    0 0 48px rgba(120, 210, 255, 0.12);
}

.ava-real-halo {
  background:
    radial-gradient(circle, rgba(80, 190, 255, 0.10), transparent 58%),
    conic-gradient(
      from 180deg,
      transparent,
      rgba(80, 190, 255, 0.20),
      rgba(255, 220, 140, 0.16),
      transparent
    );
  animation: avaRealSpin calc(18s - (var(--ava-real-motion) * 8s)) linear infinite;
}

.ava-real-neural-ring.ring-one {
  inset: 15%;
  transform: rotate(28deg) scaleX(0.72);
  border-color: rgba(255, 220, 140, 0.28);
  animation: avaRealOrbit 8s ease-in-out infinite;
}

.ava-real-neural-ring.ring-two {
  inset: 21%;
  transform: rotate(-32deg) scaleX(0.58);
  border-color: rgba(120, 210, 255, 0.30);
  animation: avaRealOrbit 10s ease-in-out infinite reverse;
}

.ava-real-spine {
  position: absolute;
  left: 50%;
  top: 18%;
  width: 8px;
  height: 64%;
  transform: translateX(-50%);
  border-radius: 999px;
  background:
    linear-gradient(
      to bottom,
      rgba(255, 245, 210, 0.12),
      rgba(120, 220, 255, 0.84),
      rgba(255, 210, 120, 0.66),
      rgba(255, 245, 210, 0.12)
    );
  box-shadow:
    0 0 24px rgba(120, 220, 255, 0.42),
    inset 0 0 12px rgba(255, 255, 255, 0.45);
}

.ava-real-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 19%;
  height: 19%;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,0.95), rgba(120,220,255,0.58) 32%, rgba(15,28,58,0.16) 70%);
  box-shadow:
    0 0 calc(26px + (var(--ava-real-pulse) * 38px)) rgba(120, 220, 255, 0.52),
    0 0 calc(16px + (var(--ava-real-pulse) * 28px)) rgba(255, 218, 130, 0.25);
  animation: avaRealPulse calc(3.8s - (var(--ava-real-pulse) * 1.2s)) ease-in-out infinite;
}

.ava-real-wing {
  position: absolute;
  top: 28%;
  width: 30%;
  height: 13%;
  border-top: 2px solid rgba(210, 240, 255, 0.36);
  border-radius: 999px 999px 0 0;
  filter: blur(0.2px);
}

.ava-real-wing::after {
  content: "";
  position: absolute;
  inset: 35% 4% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.32), transparent);
}

.wing-left {
  right: 51%;
  transform: rotate(-18deg);
}

.wing-right {
  left: 51%;
  transform: rotate(18deg) scaleX(-1);
}

.ava-real-serpent {
  position: absolute;
  left: 50%;
  top: 23%;
  width: 22%;
  height: 54%;
  border: 3px solid transparent;
  border-radius: 55% 45% 55% 45%;
  filter:
    drop-shadow(0 0 14px rgba(255, 220, 140, 0.28))
    drop-shadow(0 0 12px rgba(120, 220, 255, 0.18));
}

.serpent-left {
  transform: translateX(-74%) rotate(10deg);
  border-right-color: rgba(255, 220, 140, 0.56);
  animation: avaRealSerpent 5.4s ease-in-out infinite;
}

.serpent-right {
  transform: translateX(-26%) rotate(-10deg);
  border-left-color: rgba(210, 235, 255, 0.50);
  animation: avaRealSerpent 5.4s ease-in-out infinite reverse;
}

@keyframes avaRealFloat {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    transform: translate(-50%, calc(-50% - 10px)) scale(1.018);
  }
}

@keyframes avaRealSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes avaRealOrbit {
  0%, 100% {
    opacity: 0.46;
  }

  50% {
    opacity: 0.9;
  }
}

@keyframes avaRealPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.96);
  }

  50% {
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes avaRealSerpent {
  0%, 100% {
    filter:
      drop-shadow(0 0 10px rgba(255, 220, 140, 0.22))
      drop-shadow(0 0 8px rgba(120, 220, 255, 0.16));
  }

  50% {
    filter:
      drop-shadow(0 0 20px rgba(255, 220, 140, 0.38))
      drop-shadow(0 0 18px rgba(120, 220, 255, 0.28));
  }
}
