:root {
    --advent-snow-color: rgba(255, 255, 255, 0.9);
}

.advent-snow-overlay {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 60;
    opacity: 0;
    transition: opacity 220ms ease;
    color: var(--advent-snow-color, rgba(255, 255, 255, 0.9));
}

body.advent-snow-active .advent-snow-overlay {
    opacity: 1;
}

.advent-snow-overlay__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.advent-snow-overlay--static .advent-snow-overlay__canvas {
    opacity: 0.9;
}

.advent-snow-overlay--static {
    background-image: none;
}

.advent-snow-overlay--fallback {
    background-image: radial-gradient(currentColor 1.2px, transparent 1.2px), radial-gradient(currentColor 1.2px, transparent 1.2px);
    background-size: 160px 160px, 220px 220px;
    background-position: 0 0, 80px 40px;
}

.advent-snow-overlay--fallback .advent-snow-overlay__canvas {
    display: none;
}
