/* ASCII snow overlay using Fira Mono */
#ascii-snow {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  color: rgba(255, 255, 255, 0.4); /* tweak to match your theme */
}

.ascii-flake {
  position: absolute;
  top: -1em;
  animation-name: ascii-fall;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.ascii-flake-char {
  display: inline-block;
  animation-name: ascii-drift;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* Straight down fall */
@keyframes ascii-fall {
  0%   { transform: translateY(-2vh); }
  100% { transform: translateY(110vh); }
}

/* Gentle horizontal wiggle */
@keyframes ascii-drift {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(1.5ch); }
  100% { transform: translateX(0); }
}
