#pwa-splash {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding:
    env(safe-area-inset-top, 0)
    env(safe-area-inset-right, 0)
    env(safe-area-inset-bottom, 0)
    env(safe-area-inset-left, 0);
  background: #ffffff;
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

#pwa-splash[hidden] {
  display: none !important;
  pointer-events: none !important;
}

#pwa-splash.pwa-splash--visible {
  opacity: 1;
  pointer-events: auto;
}

#pwa-splash.pwa-splash--hiding,
#pwa-splash.pwa-splash-hidden {
  opacity: 0;
  pointer-events: none;
  transition-duration: 350ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

#pwa-splash .pwa-splash__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: min(72vw, 280px);
  max-height: min(42vh, 280px);
  object-fit: contain;
  object-position: center;
  background: transparent;
  opacity: 0;
  transform: scale(0.94);
  transition:
    opacity 400ms cubic-bezier(0.4, 0, 0.2, 1),
    transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

#pwa-splash.pwa-splash--visible .pwa-splash__logo {
  opacity: 1;
  transform: scale(1);
}

#pwa-splash.pwa-splash--hiding .pwa-splash__logo,
#pwa-splash.pwa-splash-hidden .pwa-splash__logo {
  opacity: 0;
  transform: scale(0.98);
  transition-duration: 350ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
