/* Lightweight screamer pass: preserve the scare without viewport-sized filtered clones. */
.entry-gate__scene {
  contain: paint;
}

.entry-gate__art::after,
.entry-gate__tear {
  display: none !important;
}

.entry-gate__art img {
  filter: none !important;
  will-change: opacity;
}

.entry-gate__scene::after {
  background-image:
    linear-gradient(90deg, rgba(71, 207, 255, 0.34), rgba(24, 63, 190, 0.08) 72%, transparent),
    linear-gradient(270deg, rgba(155, 124, 255, 0.3), rgba(71, 207, 255, 0.08) 72%, transparent) !important;
  background-repeat: no-repeat !important;
  background-position: left center, right center !important;
  background-size: 24% 100%, 24% 100% !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  will-change: opacity;
}

.entry-gate__impact {
  mix-blend-mode: normal !important;
}

html.has-entry-gate[data-entry-state="impact"] .entry-gate__art img {
  transform: scale(var(--entry-scale-end)) !important;
  animation: bb-entry-center-safe 480ms steps(3, end) 100ms both !important;
}

html.has-entry-gate[data-entry-state="impact"] .entry-gate__scene::after {
  animation: bb-entry-sides-safe 420ms steps(4, end) 260ms both !important;
}

html.has-entry-gate[data-entry-state="impact"] .entry-gate__impact {
  animation: bb-entry-impact-safe 300ms ease-out 90ms both !important;
}

html.has-entry-gate[data-entry-state="exit"] .entry-gate__scene {
  animation: none !important;
}

@keyframes bb-entry-center-safe {
  0% { opacity: 0; }
  28% { opacity: 1; }
  55% { opacity: 0.72; }
  100% { opacity: 1; }
}

@keyframes bb-entry-sides-safe {
  0%, 100% { opacity: 0; }
  30% { opacity: 0.58; }
  58% { opacity: 0.22; }
  78% { opacity: 0.46; }
}

@keyframes bb-entry-impact-safe {
  from { opacity: 0.74; }
  to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .entry-gate__scene::after {
    display: none !important;
  }
}

/* MAIN-SCREEN COMPOSITOR SAFETY -------------------------------------- */
.screen-fx__scan {
  display: none !important;
  animation: none !important;
  filter: none !important;
}

.screen-fx__noise {
  opacity: 0.1 !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      rgba(246, 252, 255, 0.06) 0,
      rgba(246, 252, 255, 0.06) 1px,
      transparent 1px,
      transparent 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(71, 207, 255, 0.035) 0,
      rgba(71, 207, 255, 0.035) 1px,
      transparent 1px,
      transparent 5px
    ) !important;
  background-size: 100% 4px, 5px 100% !important;
  mix-blend-mode: soft-light !important;
}

.art-halo,
.channel-status__light {
  animation: none !important;
}
