/* Capa subliminal — flashes breves, alto contraste */
.subliminal-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}

.subliminal-flash {
  position: absolute;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: scale(1.08);
  text-shadow:
    0 0 12px currentColor,
    0 0 40px currentColor,
    0 0 80px rgba(255, 255, 255, 0.15);
  animation: subFlash 0.11s ease-out forwards;
}

.subliminal-flash.center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1.12);
  font-size: clamp(28px, 9vw, 52px);
  animation: subFlashCenter 0.13s ease-out forwards;
}

.subliminal-flash.corner {
  font-size: clamp(11px, 3.2vw, 16px);
  opacity: 0;
  animation: subFlashCorner 0.09s ease-out forwards;
}

.subliminal-flash.cyan { color: #00f2ff; }
.subliminal-flash.orange { color: #f7931a; }
.subliminal-flash.white { color: #fff; }
.subliminal-flash.red { color: #ff3b3b; }

.subliminal-burst {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(247, 147, 26, 0.22), transparent 55%);
  opacity: 0;
  animation: subBurst 0.14s ease-out forwards;
}

.subliminal-scan {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.9), transparent);
  opacity: 0;
  animation: subScan 0.18s linear forwards;
}

@keyframes subFlash {
  0% { opacity: 0; }
  18% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes subFlashCenter {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
  22% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }
}

@keyframes subFlashCorner {
  0% { opacity: 0; }
  25% { opacity: 0.95; }
  100% { opacity: 0; }
}

@keyframes subBurst {
  0% { opacity: 0; }
  30% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes subScan {
  0% { top: -4px; opacity: 0; }
  15% { opacity: 1; }
  100% { top: 110%; opacity: 0; }
}
