.agent-core {
  --agent-energy: 0;
  --agent-assembly: 0;
  --agent-pulse: 0;
  --agent-spark: 0;
  --agent-network: 0;
  position: relative;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  color: #ecf9ff;
  isolation: isolate;
}

.agent-core--shell {
  opacity: 0.72;
  filter: saturate(0.82) brightness(0.92);
}

.agent-core--shell .agent-core__spark,
.agent-core--shell .agent-core__center {
  opacity: calc(0.06 + var(--agent-assembly) * 0.3);
  filter: blur(1px);
}

.agent-core--shell .agent-core__halo {
  filter: blur(18px);
  opacity: calc(0.18 + var(--agent-energy) * 0.46);
}

.agent-core--shell .agent-core__pulse {
  border-color: rgba(112, 255, 231, calc(var(--agent-pulse) * 0.16));
  box-shadow:
    0 0 20px rgba(92, 198, 255, calc(var(--agent-pulse) * 0.08)),
    inset 0 0 14px rgba(112, 255, 231, calc(var(--agent-pulse) * 0.04));
}

.agent-core--shell .agent-core__orbit {
  border-color: rgba(112, 255, 231, calc(0.05 + var(--agent-assembly) * 0.14));
  box-shadow: 0 0 12px rgba(92, 198, 255, calc(var(--agent-assembly) * 0.08));
}

.agent-core--shell .agent-core__line {
  background: linear-gradient(90deg, rgba(90, 166, 255, 0.08), rgba(112, 255, 231, 0.46));
  box-shadow: 0 0 10px rgba(92, 198, 255, 0.08);
}

.agent-core--shell .agent-core__node {
  opacity: 0.65;
  box-shadow:
    0 0 10px rgba(112, 255, 231, 0.18),
    0 0 18px rgba(89, 158, 255, 0.08);
}

.agent-core__halo,
.agent-core__pulse,
.agent-core__spark,
.agent-core__center,
.agent-core__orbit,
.agent-core__network,
.agent-core__line,
.agent-core__node {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}

.agent-core__halo {
  width: calc(180px + var(--agent-energy) * 150px);
  height: calc(180px + var(--agent-energy) * 150px);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(84, 225, 255, calc(0.12 + var(--agent-energy) * 0.18)) 0%, rgba(63, 115, 255, calc(0.08 + var(--agent-energy) * 0.1)) 32%, rgba(6, 14, 22, 0) 70%);
  filter: blur(12px);
  opacity: calc(0.12 + var(--agent-energy) * 0.9);
}

.agent-core__pulse {
  width: calc(120px + var(--agent-pulse) * 200px);
  height: calc(120px + var(--agent-pulse) * 200px);
  border-radius: 50%;
  border: 1px solid rgba(112, 255, 231, calc(var(--agent-pulse) * 0.35));
  box-shadow:
    0 0 28px rgba(92, 198, 255, calc(var(--agent-pulse) * 0.18)),
    inset 0 0 18px rgba(112, 255, 231, calc(var(--agent-pulse) * 0.08));
  opacity: calc(var(--agent-pulse) * 0.85);
}

.agent-core__spark {
  width: calc(8px + var(--agent-spark) * 24px);
  height: calc(8px + var(--agent-spark) * 24px);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(112, 255, 231, 0.92) 38%, rgba(87, 151, 255, 0.18) 74%, rgba(87, 151, 255, 0) 100%);
  box-shadow:
    0 0 calc(8px + var(--agent-spark) * 24px) rgba(133, 255, 244, 0.9),
    0 0 calc(16px + var(--agent-spark) * 38px) rgba(87, 151, 255, 0.54);
  opacity: calc(0.12 + var(--agent-spark) * 0.95);
}

.agent-core__center {
  width: calc(42px + var(--agent-assembly) * 104px);
  height: calc(42px + var(--agent-assembly) * 104px);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.98) 0%, rgba(112, 255, 231, 0.96) 26%, rgba(90, 166, 255, 0.84) 54%, rgba(7, 15, 24, 0.08) 76%, rgba(7, 15, 24, 0) 100%);
  box-shadow:
    0 0 calc(12px + var(--agent-energy) * 28px) rgba(103, 232, 255, 0.72),
    0 0 calc(30px + var(--agent-energy) * 72px) rgba(71, 116, 255, 0.28);
  opacity: calc(0.22 + var(--agent-assembly) * 0.82);
}

.agent-core__orbit {
  border-radius: 50%;
  border: 1px solid rgba(112, 255, 231, calc(0.08 + var(--agent-assembly) * 0.22));
  box-shadow: 0 0 18px rgba(92, 198, 255, calc(var(--agent-assembly) * 0.12));
  opacity: calc(0.08 + var(--agent-assembly) * 0.88);
  transform-style: preserve-3d;
}

.agent-core__orbit--outer {
  width: 300px;
  height: 300px;
  animation: agentCoreSpinOuter 8s linear infinite;
}

.agent-core__orbit--mid {
  width: 220px;
  height: 220px;
  animation: agentCoreSpinMid 5.8s linear infinite reverse;
}

.agent-core__orbit--inner {
  width: 148px;
  height: 148px;
  animation: agentCoreSpinInner 4.6s linear infinite;
}

.agent-core__network {
  width: 270px;
  height: 270px;
  opacity: calc(0.08 + var(--agent-network) * 0.92);
}

.agent-core__line {
  left: 50%;
  top: 50%;
  height: 1px;
  transform-origin: left center;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(90, 166, 255, 0.16), rgba(112, 255, 231, 0.84));
  box-shadow: 0 0 14px rgba(92, 198, 255, 0.16);
}

.agent-core__node {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(112, 255, 231, 0.92) 52%, rgba(112, 255, 231, 0) 100%);
  box-shadow:
    0 0 12px rgba(112, 255, 231, 0.38),
    0 0 24px rgba(89, 158, 255, 0.16);
}

@keyframes agentCoreSpinOuter {
  from { transform: translate(-50%, -50%) rotate(0deg) scale(calc(0.82 + var(--agent-assembly) * 0.18)); }
  to { transform: translate(-50%, -50%) rotate(360deg) scale(calc(0.82 + var(--agent-assembly) * 0.18)); }
}

@keyframes agentCoreSpinMid {
  from { transform: translate(-50%, -50%) rotate(0deg) scale(calc(0.84 + var(--agent-assembly) * 0.16)); }
  to { transform: translate(-50%, -50%) rotate(360deg) scale(calc(0.84 + var(--agent-assembly) * 0.16)); }
}

@keyframes agentCoreSpinInner {
  from { transform: translate(-50%, -50%) rotate(0deg) scale(calc(0.86 + var(--agent-assembly) * 0.14)); }
  to { transform: translate(-50%, -50%) rotate(360deg) scale(calc(0.86 + var(--agent-assembly) * 0.14)); }
}
