/* =========================================================================
   Nexus · grain.css — film-grain noise overlay (driven by visuals/grain.js).
   The JS injects an animated SVG noise into #nx-grain.
   ========================================================================= */

#nx-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9997;
  opacity: .035;
  mix-blend-mode: overlay;
}

#nx-grain svg {
  width: 100%;
  height: 100%;
}

[data-theme="paper"] #nx-grain { opacity: .055; mix-blend-mode: multiply; }
[data-theme="amber"] #nx-grain { opacity: .045; }

@media (prefers-reduced-motion: reduce) {
  #nx-grain { animation: none; }
}
