.matrix-rain {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .24;
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.95), rgba(0,0,0,.6) 38%, rgba(0,0,0,.28) 78%, transparent);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.95), rgba(0,0,0,.6) 38%, rgba(0,0,0,.28) 78%, transparent);
}

header,
main,
footer {
  position: relative;
  z-index: 1;
}

.ambient {
  z-index: 0;
}

@media (max-width: 600px) {
  .matrix-rain { opacity: .16; }
}

@media (prefers-reduced-motion: reduce) {
  .matrix-rain { display: none; }
}
