/* Jack's mimic voice: glitchy subtitle. The flicker is the clue that it's fake. */
.mimic-subtitle {
  position: absolute;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);
  max-width: min(80vw, 640px);
  margin: 0;
  padding: 0 16px;
  font-size: clamp(18px, 2.6vw, 26px);
  text-align: center;
  color: var(--text);
  text-shadow: 2px 0 rgba(255, 40, 80, 0.75), -2px 0 rgba(40, 220, 255, 0.75);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}

.mimic-subtitle.is-visible {
  opacity: 1;
  animation: mimic-flicker 1.1s steps(1) infinite, mimic-jitter 0.18s steps(2) infinite;
}

@keyframes mimic-flicker {
  0%, 18%, 22%, 60%, 64%, 100% { opacity: 1; }
  20%, 62% { opacity: 0.25; }
}

@keyframes mimic-jitter {
  0% { transform: translateX(-50%); }
  50% { transform: translateX(calc(-50% + 2px)) skewX(-4deg); }
}

@media (prefers-reduced-motion: reduce) {
  .mimic-subtitle.is-visible { animation: none; }
}
