.neural-light { pointer-events: none; }

/* The three strokes end at the same point. The long cyan tail tapers to a short white tip. */
.neural-current {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: var(--length) calc(120px - var(--length));
  animation: neural-transmit var(--period) linear var(--phase) infinite;
}
.neural-tail { --length: 9px; stroke: #00e9ea; stroke-width: 2.7; opacity: .46; filter: blur(1.6px); }
.neural-filament { --length: 5.6px; stroke: #45fff6; stroke-width: 1.4; opacity: .89; }
.neural-tip { --length: 2.1px; stroke: #e8fffd; stroke-width: 1.05; }
@keyframes neural-transmit {
  from { stroke-dashoffset: var(--length); }
  to { stroke-dashoffset: calc(var(--length) - 120px); }
}

.neural-flare {
  transform-origin: 0 0;
  animation: neural-glow var(--period) ease-in-out var(--phase) infinite;
}
@keyframes neural-glow {
  0%, 100% { opacity: .17; transform: scale(.72); }
  45% { opacity: .97; transform: scale(1.16); }
  70% { opacity: .45; transform: scale(.94); }
}
.ai-section.is-paused :is(.neural-current, .neural-flare) { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .neural-current { animation: none; stroke: none; }
  .neural-flare { animation: none; opacity: .4; }
}
