.hex-bg-canvas {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    pointer-events: none;
    z-index: 0;
    opacity: var(--hex-bg-opacity, 1);
    -webkit-mask-image: radial-gradient(
        ellipse 90% 80% at 50% 42%,
        #000 25%,
        rgba(0, 0, 0, 0.55) 65%,
        transparent 100%
    );
    mask-image: radial-gradient(
        ellipse 90% 80% at 50% 42%,
        #000 25%,
        rgba(0, 0, 0, 0.55) 65%,
        transparent 100%
    );
}

.binary-aura-canvas {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    pointer-events: none;
    z-index: 0;
    opacity: var(--hex-bg-opacity, 1);
}

@media (prefers-reduced-motion: reduce) {
    .hex-bg-canvas,
    .binary-aura-canvas {
        opacity: min(var(--hex-bg-opacity, 1), 0.8);
    }
}

/* Page-reveal overlay: match the live hex canvas opacity + edge vignette so transition
   tiles don't look heavier than the resting background (especially in outer margins). */
.page-reveal-canvas {
    opacity: var(--hex-bg-opacity, 1);
    -webkit-mask-image: radial-gradient(
        ellipse 90% 80% at 50% 42%,
        #000 25%,
        rgba(0, 0, 0, 0.55) 65%,
        transparent 100%
    );
    mask-image: radial-gradient(
        ellipse 90% 80% at 50% 42%,
        #000 25%,
        rgba(0, 0, 0, 0.55) 65%,
        transparent 100%
    );
}

@media (prefers-reduced-motion: reduce) {
    .page-reveal-canvas {
        opacity: min(var(--hex-bg-opacity, 1), 0.8);
    }
}
