.sprite-filter-definitions {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.main-sprite[data-composite="matte-v1"] img,
.vn-stage .main-sprite[data-composite="matte-v1"] img {
  filter: url("#seoa-sprite-matte-v1") var(--sprite-grade);
  image-rendering: auto;
}

/* A painted glow and a full-height shadow isolate the cutout from its room. */
.main-sprite[data-composite="matte-v1"]::before,
.main-sprite[data-composite="matte-v1"]::after {
  content: none;
}

/* Scene grading must also exist below the desktop-only direction breakpoint. */
@media (max-width: 899px) {
  .vn-stage[data-tone="warm"] .scene-backdrop { filter: saturate(1.12) brightness(1.03) sepia(.04); }
  .vn-stage[data-tone="cool"] .scene-backdrop { filter: saturate(.86) brightness(.76) hue-rotate(9deg); }
  .vn-stage[data-tone="danger"] .scene-backdrop { filter: saturate(.74) contrast(1.16) brightness(.68); }
  .vn-stage[data-tone="memory"] .scene-backdrop { filter: saturate(.82) contrast(1.09) brightness(.72) hue-rotate(13deg); }
  .vn-stage[data-tone="stage"] .scene-backdrop { filter: saturate(1.2) contrast(1.08) brightness(.94); }
  .vn-stage.has-cg .scene-backdrop { filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  .main-sprite[data-composite="matte-v1"] img { transition: none; }
}
