body.page-loading {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

.splash-screen {
  display: none;
}

.page-loading .splash-screen,
.splash-screen.splash-screen-visible {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  /* Mirrors $font-family-sans-serif in _variables.scss -- the splash screen
     renders before any bundled CSS, so it carries its own copy. */
  font-family: Inter, 'IBM Plex Sans Arabic', Helvetica, 'sans-serif';
  background-color: #ffffff;
  color: #4a4547;
  line-height: 1;
  font-size: 20px;
  font-weight: 400;
}

.page-loading .splash-screen span,
.splash-screen.splash-screen-visible span {
  color: #4a4547;
  transition: none !important;
  -webkit-font-smoothing: antialiased;
}

.page-loading .splash-screen img,
.splash-screen.splash-screen-visible img {
  margin-left: calc(100vw - 100%);
  margin-bottom: 30px;
  height: 48px !important;
  width: auto;
}

html[data-bs-theme='dark'] .page-loading .splash-screen,
html[data-bs-theme='dark'] .splash-screen.splash-screen-visible {
  background-color: #0f1213;
  color: #f4f7f7;
}

html[data-bs-theme='dark'] .page-loading .splash-screen span,
html[data-bs-theme='dark'] .splash-screen.splash-screen-visible span {
  color: #b6c1c1;
}

.splash-screen .dark-logo {
  display: none;
}

.splash-screen .light-logo {
  display: block;
}

html[data-bs-theme='dark'] .splash-screen .light-logo {
  display: none;
}

html[data-bs-theme='dark'] .splash-screen .dark-logo {
  display: block;
}

/* After boot the splash is an overlay over a mounted app, not the only thing on
   the page, so it is viewport-fixed rather than document-absolute. Same
   specificity as the rule above, so source order decides -- keep it last. */
.splash-screen.splash-screen-visible {
  position: fixed;
  inset: 0;
}
