.wfe-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 2147480000; /* lässt sich per inline-style überschreiben */
  transition: opacity .35s ease;
}

.wfe-emoji {
  position: absolute;
  bottom: -40px;
  left: var(--x);
  transform: translate(-50%, 0) rotate(var(--rot));
  font-size: 24px;
  opacity: 0.95;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.25));
  animation:
    wfe-rise var(--dur) linear forwards,
    wfe-sway calc(var(--dur) * 0.6) ease-in-out infinite alternate;
  will-change: transform, opacity;
}

.wfe-emoji img, .wfe-emoji svg {
  display: block;
  width: 1em;
  height: 1em;
}

@keyframes wfe-rise {
  0%   { transform: translate(-50%, 0) rotate(var(--rot)); opacity: 0.95; }
  100% { transform: translate(-50%, -110vh) rotate(calc(var(--rot) + 20deg)); opacity: 0; }
}

@keyframes wfe-sway {
  0%   { margin-left: -10px; }
  100% { margin-left: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .wfe-emoji { animation: none; opacity: 1; }
}

.wfe-overlay.wfe-hidden {
  opacity: 0;
}



