.snow {
	position: fixed;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	z-index: 40;
}

.snowflake {
	position: absolute;
	top: -12vh;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	opacity: 0.85;
	animation-name: snowfall;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	text-shadow: 0 0 6px rgba(255, 255, 255, 0.7);
	user-select: none;
}

.snowflake.is-logo {
	width: 28px;
	height: 28px;
	object-fit: contain;
	filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.45));
}

@keyframes snowfall {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg);
		opacity: 0;
	}
	8% {
		opacity: 0.9;
	}
	100% {
		transform: translate3d(var(--drift, 40px), 110vh, 0) rotate(360deg);
		opacity: 0.15;
	}
}
