.blind-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.95);
  z-index: 40;
  pointer-events: none;
  display: none;
}

.blind-overlay.active {
  display: block;
}

.sabotage-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  display: none;
  border: 2px solid rgba(239,68,68,0.2);
}

.sabotage-overlay.active {
  display: block;
}

.freeze-overlay {
  position: fixed;
  inset: 0;
  z-index: 39;
  pointer-events: none;
  display: none;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(59,130,246,0.08) 70%, rgba(59,130,246,0.15) 100%);
}

.freeze-overlay.active {
  display: block;
}

.storm-overlay {
  position: fixed;
  inset: 0;
  z-index: 39;
  pointer-events: none;
  display: none;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(245,158,11,0.05) 100%);
}

.storm-overlay.active {
  display: block;
}

/* Click ripples */

.click-ripple {
  position: fixed;
  pointer-events: none;
  z-index: 22;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid;
  animation: ripple 400ms ease-out forwards;
  transform: translate(-50%, -50%);
}

/* Pop text */

.pop-text {
  position: fixed;
  pointer-events: none;
  z-index: 22;
  font-size: 16px;
  font-weight: 700;
  font-family: 'Rajdhani', sans-serif;
  animation: popFloat 800ms ease-out forwards;
  transform: translate(-50%, -50%);
}

.pop-text .pop-name {
  display: block;
  font-size: 9px;
  font-weight: 600;
  opacity: 0.6;
  text-align: center;
}

.pop-text .pop-combo {
  font-size: 28px;
  font-weight: 900;
  color: #fbbf24;
  display: block;
}

/* Power FX banner */

.power-banner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 26px;
  font-weight: 700;
  pointer-events: none;
  z-index: 35;
  font-family: 'Rajdhani', sans-serif;
  animation: bannerPop 1.2s ease-out forwards;
}
