/* Neon organic blobs (SVG) — smooth, slow, non-hectic */
#shapes{
  position:fixed; inset:0; z-index:5; pointer-events:none;
  perspective: 900px;
}
.shape{
  position:absolute; width: 22vmin; height: 22vmin;
  will-change: transform, opacity;
  transition: opacity 1.2s ease;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.45)) drop-shadow(0 0 22px currentColor);
  mix-blend-mode: screen;
  pointer-events:auto; cursor:pointer; opacity:.0;
  transform: translate3d(0,0,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(0.96);
  transform-style: preserve-3d;
  border-radius: 999px; /* just in case */
}
.shape svg{ width:100%; height:100%; display:block; }
.shape path.blob-fill{ fill: currentColor; opacity:.38 }
.shape path.blob-stroke{ fill:none; stroke: currentColor; stroke-opacity:.85; stroke-width:1.5 }

/* subtle entrance */
.shape.show{ opacity: .95; }

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce){
  #shapes, .shape{ animation:none !important; transition:none !important }
}
