/* The soft negative afterimage is clipped strictly to photographic pixels. The separate cursor
   circle provides inversion on type and other content. */
.grain-trail--photos {
  position: fixed;
  inset: 0;
  z-index: 25;
  display: block;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  opacity: 1;
  pointer-events: none;
  user-select: none;
  mix-blend-mode: normal;
}
.photo-open { z-index: 2; }
@media (prefers-reduced-motion: reduce) {
  .grain-trail { display: none; }
}
@media print {
  .grain-trail { display: none !important; }
}
