/* First paint must not depend on the React bundle or its fonts. */
#initial-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: #f7f8fc;
  opacity: 1;
  transition: opacity 180ms ease-out;
  /* Also escape if the bootstrap script itself fails to download. */
  animation: initial-loader-escape 0s 15s forwards;
}
#initial-loader img {
  display: block;
  width: 180px;
  max-width: 70vw;
  height: auto;
  animation: initial-logo-pulse 1.6s ease-in-out infinite;
}
#initial-loader.is-leaving { opacity: 0; }
#initial-load-fallback {
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-content: center;
  padding: 24px;
  background: #f7f8fc;
  color: #171821;
  font: 16px/1.6 system-ui, sans-serif;
  animation: initial-fallback-show 0s 15s forwards;
}
#initial-load-fallback a { color: #2421c4; }
#initial-load-fallback[hidden],
#root:not(:empty) ~ #initial-load-fallback { display: none; }
#initial-load-fallback.is-visible { visibility: visible; animation: none; }
@keyframes initial-logo-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@keyframes initial-loader-escape { to { visibility: hidden; } }
@keyframes initial-fallback-show { to { visibility: visible; } }
@media (prefers-reduced-motion: reduce) {
  #initial-loader { transition: none; }
  #initial-loader img { animation: none; }
}
