/* Easter eggs: Stick, Foxy, Killstreak
   (archivo: css/components/easter-eggs.css) */
/* ============================================================
   STICK JUMPSCARE
   ============================================================ */
#stick-jumpscare-overlay {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(0, 0, 0, 0.92);
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}
#stick-jumpscare-overlay.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.12s ease, visibility 0s linear 0s;
}
#stick-jumpscare-overlay.show,
#stick-jumpscare-overlay.glitching {
  pointer-events: auto;
}
#stick-jumpscare-overlay img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: drop-shadow(0 0 22px rgba(255, 255, 255, 0.32));
  transform: scale(1.02);
  animation: stickJumpscarePop 0.22s ease-out forwards;
}
@keyframes stickGlitchFlicker {
  0%   { transform: translate(0,0) skew(0deg); filter: hue-rotate(0deg) contrast(1.2); }
  20%  { transform: translate(-8px,2px) skew(-2deg); filter: hue-rotate(18deg) contrast(1.6); }
  40%  { transform: translate(7px,-3px) skew(2deg); filter: hue-rotate(-12deg) contrast(1.8); }
  60%  { transform: translate(-5px,1px) skew(-1deg); filter: hue-rotate(24deg) contrast(1.4); }
  80%  { transform: translate(4px,-1px) skew(1deg); filter: hue-rotate(-18deg) contrast(1.7); }
  100% { transform: translate(0,0) skew(0deg); filter: hue-rotate(0deg) contrast(1.2); }
}
#stick-jumpscare-overlay.glitching {
  background: #000;
}
#stick-jumpscare-overlay.glitching::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.08) 0 2px, transparent 2px 5px),
    repeating-linear-gradient(90deg, rgba(255,0,0,0.12) 0 3px, transparent 3px 7px),
    linear-gradient(180deg, rgba(255,255,255,0.1), rgba(0,0,0,0.2));
  mix-blend-mode: screen;
  animation: stickGlitchFlicker 0.12s steps(2, end) infinite;
  pointer-events: none;
}
#stick-jumpscare-overlay.glitching img {
  opacity: 0;
  animation: none;
}
@keyframes stickJumpscarePop {
  from { opacity: 0; transform: scale(1.08); }
  to   { opacity: 1; transform: scale(1.02); }
}

/* ============================================================
   FOXY FULLSCREEN VIDEO
   ============================================================ */
#foxy-video-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 920;
  background: #000;
  pointer-events: none;
}
#foxy-video-overlay.show {
  display: block;
}
#foxy-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================================
   KILLSTREAK — FLASH ROJO DE KILL (easter egg)
   ============================================================ */
#killstreak-flash-overlay {
  position: fixed;
  inset: 0;
  z-index: 950;
  background: #ff0000;
  opacity: 0;
  pointer-events: none;
}

/* ============================================================
   FOXY FULLSCREEN VIDEO
   ============================================================ */
/* upgrades */
#detail-upgrades-wrap { flex-shrink: 0; }
#detail-upgrades-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 5px;
}
.upgrade-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: #0e1a0e;
  border: 2px solid #1f3a1f;
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 0.87rem;
  color: var(--text-light);
  line-height: 1.4;
}
.upgrade-bullet {
  color: var(--green-done);
  font-family: 'Fredoka One', cursive;
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: -1px;
}

