/* Keep the public TV crash message readable throughout its existing lifetime. */
body.tv-display-body .public-fullscreen-preview {
  animation: none;
}

body.tv-display-body .public-fullscreen-preview .crash-takeover {
  animation: none;
  background:
    radial-gradient(ellipse at center, rgba(255, 55, 68, 0.28), transparent 66%),
    linear-gradient(135deg, rgba(15, 7, 11, 0.98), rgba(82, 8, 19, 0.98) 52%, rgba(15, 7, 11, 0.98));
  transition: opacity 360ms ease, transform 420ms ease;
}

body.tv-display-body .public-fullscreen-preview.crash-imminent .crash-takeover,
body.tv-display-body .public-fullscreen-preview.crash-counting-down .crash-takeover,
body.tv-display-body .public-fullscreen-preview.market-crashing .crash-takeover {
  opacity: 1;
  transform: scale(1);
  animation: tvCrashEnter 360ms ease-out both;
}

body.tv-display-body .public-fullscreen-preview.market-crashing .crash-takeover strong {
  animation: tvCrashGlow 2.4s ease-in-out infinite alternate;
}

body.tv-display-body .public-fullscreen-preview.crash-counting-down::after,
body.tv-display-body .public-fullscreen-preview.market-crashing::after {
  animation: none;
  opacity: 0.16;
}

body.tv-display-body .public-fullscreen-preview.crash-counting-down .ticker,
body.tv-display-body .public-fullscreen-preview.crash-counting-down .instruction-scroller,
body.tv-display-body .public-fullscreen-preview.market-crashing .ticker,
body.tv-display-body .public-fullscreen-preview.market-crashing .instruction-scroller {
  animation: none;
}

body.tv-display-body .public-fullscreen-preview.crash-imminent .traders-row-list,
body.tv-display-body .public-fullscreen-preview.crash-counting-down .traders-row-list,
body.tv-display-body .public-fullscreen-preview.market-crashing .traders-row-list,
body.tv-display-body .public-fullscreen-preview.crash-imminent .ticker-track,
body.tv-display-body .public-fullscreen-preview.crash-counting-down .ticker-track,
body.tv-display-body .public-fullscreen-preview.market-crashing .ticker-track,
body.tv-display-body .public-fullscreen-preview.crash-imminent .instruction-track,
body.tv-display-body .public-fullscreen-preview.crash-counting-down .instruction-track,
body.tv-display-body .public-fullscreen-preview.market-crashing .instruction-track {
  animation-play-state: paused !important;
}

body.tv-display-body .public-fullscreen-preview .price-board .price-crashed,
body.tv-display-body .public-fullscreen-preview .price-board .price-crashed.just-crashed,
body.tv-display-body .public-fullscreen-preview .traders-row.crashed {
  animation: none !important;
}

@keyframes tvCrashEnter {
  from { opacity: 0; transform: scale(1.025); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes tvCrashGlow {
  from { text-shadow: 0 0 20px rgba(255, 255, 255, 0.45), 0 0 44px rgba(255, 55, 68, 0.45); }
  to { text-shadow: 0 0 28px rgba(255, 255, 255, 0.65), 0 0 62px rgba(255, 55, 68, 0.65); }
}

@media (prefers-reduced-motion: reduce) {
  body.tv-display-body .public-fullscreen-preview .crash-takeover,
  body.tv-display-body .public-fullscreen-preview .crash-takeover strong {
    animation: none !important;
    transition: none;
  }
}
