body[data-halloween-level="1"]::before,
body[data-halloween-level="2"]::before,
body[data-halloween-level="3"]::before,
body[data-halloween-level="4"]::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(255, 100, 0, 0.25) 0%, rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 0.7) 100%);
  pointer-events: none;
  z-index: 2;
}

body[data-halloween-level="3"]::after,
body[data-halloween-level="4"]::after {
  content: "";
  position: fixed;
  inset: 0;
  background: 
    radial-gradient(circle at 20% 30%, rgba(80, 255, 50, 0.08) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(60, 200, 40, 0.06) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(40, 180, 30, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 3;
  animation: humoAcido 12s ease-in-out infinite alternate;
}

@keyframes humoAcido {
  0% { opacity: 0.6; transform: scale(1); }
  100% { opacity: 1; transform: scale(1.05); }
}

.hw-elem {
  display: none;
}

body[data-halloween-level="1"] .hw-elem[data-min-level="1"],
body[data-halloween-level="2"] .hw-elem[data-min-level="1"],
body[data-halloween-level="2"] .hw-elem[data-min-level="2"],
body[data-halloween-level="3"] .hw-elem[data-min-level="1"],
body[data-halloween-level="3"] .hw-elem[data-min-level="2"],
body[data-halloween-level="3"] .hw-elem[data-min-level="3"],
body[data-halloween-level="4"] .hw-elem {
  display: block;
}

.falling-item {
  position: fixed;
  top: -80px;
  width: 42px;
  height: 42px;
  pointer-events: none;
  z-index: 6;
  animation: caer linear forwards;
}

@keyframes caer {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(110vh) rotate(360deg);
    opacity: 0.8;
  }
}