/* =========================================
   KONAMI BOOM LAYER
   ========================================= */
#boom-layer {
  position: fixed;
  inset: 0;
  z-index: 14000;
  pointer-events: none;
  overflow: hidden;
}

.boom-frag {
  position: fixed;
  top: 0;
  left: 0;
  transform-origin: center;
  will-change: transform;
  user-select: none;
  mix-blend-mode: multiply;
  filter: contrast(120%);
  white-space: pre;
  pointer-events: none;
}

#boom-flash {
  position: fixed;
  inset: 0;
  z-index: 14001;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 55%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0) 55%),
    radial-gradient(circle at 48% 52%, rgba(255, 0, 255, 0.45), rgba(255, 0, 255, 0) 60%),
    radial-gradient(circle at 52% 50%, rgba(0, 0, 255, 0.35), rgba(0, 0, 255, 0) 65%);
  mix-blend-mode: screen;
}

.boom-flash-on {
  animation: boomFlash 420ms ease-out forwards;
}

@keyframes boomFlash {
  0% { opacity: 0; transform: scale(1); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.08); }
}
