/*
 * A faint monochrome dither breaks up visible 8-bit color bands in the dark
 * gradients. It sits above background glows and below page content, so text
 * and controls remain crisp.
 */
.site-gradient {
  isolation: isolate;
}

.site-gradient::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 128px 128px;
  mix-blend-mode: soft-light;
  opacity: 0.12;
}

@media print {
  .site-gradient::before {
    display: none;
  }
}
