@layer overlays {
  .scanlines { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.06) 2px, rgba(0,0,0,0.06) 4px); pointer-events: none; z-index: 9999; }

  .grain { position: fixed; top: -50%; left: -50%; width: 200%; height: 200%; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 9998; animation: grain 0.5s steps(6) infinite; }

  @keyframes grain {
    0%, 100% { transform: translate(0, 0); } 10% { transform: translate(-5%, -10%); }
    30% { transform: translate(3%, -15%); } 50% { transform: translate(12%, 9%); }
    70% { transform: translate(9%, 4%); } 90% { transform: translate(-1%, 7%); }
  }

  .cursor-glow { position: fixed; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, var(--acid-4) 0%, transparent 70%); pointer-events: none; z-index: 1; transform: translate(-50%, -50%); }

  #particleCanvas { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 2; }
}
