.matrix-back,
.matrix-back-target {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(18, 30, 19, 0.92) 0%, rgba(36, 72, 15, 0.94) 100%);
  isolation: isolate;
}

.matrix-back > :not(.matrix-back-stage):not(.matrix-back-overlay),
.matrix-back-target > :not(.matrix-back-stage):not(.matrix-back-overlay) {
  position: relative;
  z-index: 1;
}

.matrix-back .matrix-back-stage,
.matrix-back .matrix-back-overlay,
.matrix-back-target .matrix-back-stage,
.matrix-back-target .matrix-back-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.matrix-back .matrix-back-stage,
.matrix-back-target .matrix-back-stage {
  opacity: 1;
}

.matrix-back .matrix-back-overlay,
.matrix-back-target .matrix-back-overlay {
  background:
    radial-gradient(circle at top right, rgba(118, 152, 0, 0.08) 0%, rgba(118, 152, 0, 0) 36%),
    linear-gradient(180deg, rgba(18, 30, 19, 0.04) 0%, rgba(18, 30, 19, 0.18) 100%);
}

.matrix-back canvas.matrix-back-canvas,
.matrix-back-target canvas.matrix-back-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .matrix-back .matrix-back-stage,
  .matrix-back .matrix-back-overlay,
  .matrix-back-target .matrix-back-stage,
  .matrix-back-target .matrix-back-overlay {
    display: none;
  }
}
