body fuse-splash-screen {
  /* display: flex; */
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background-color: #111827; */
  background-color: rgba(255, 255, 255, 0.5);
  color: #f9fafb;
  z-index: 999999;
  /* pointer-events: none; */
  opacity: 1;
  visibility: visible;
  transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

body fuse-splash-screen img {
  width: 120px;
  max-width: 120px;
}

body fuse-splash-screen .spinner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 40px;
  width: 56px;
}

body fuse-splash-screen .spinner > div {
  width: 12px;
  height: 12px;
  background-color: #1e96f7;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: fuse-bouncedelay 1s infinite ease-in-out both;
  animation: fuse-bouncedelay 1s infinite ease-in-out both;
}

body fuse-splash-screen .spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

body fuse-splash-screen .spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes fuse-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}

@keyframes fuse-bouncedelay {
  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

body:not(.fuse-splash-screen-hidden) {
  overflow: hidden;
}

body.fuse-splash-screen-hidden fuse-splash-screen {
  /* visibility: hidden; */
  /* opacity: 0; */
  opacity: 0;
  display: none;
  transition: none !important;
}

body.fuse-splash-screen-hidden .splash-screen {
  visibility: hidden;
  opacity: 0;
}

/* Main container */
.splash-container {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Loading bar animation */
@keyframes loading {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

/* Text styles */
.logo-text {
  font-size: 3.75rem;
  font-weight: 700;
  color: white;
  margin-bottom: 2rem;
  letter-spacing: -1px;
}

@media (max-width: 640px) {
  .logo-text {
    font-size: 2rem;
  }
}

/* Loading bar container */
.loading-container {
  width: 240px;
  height: 3px;
  background-color: #333;
  border-radius: 2px;
  overflow: hidden;
}

/* Loading bar progress */
.loading-progress {
  height: 100%;
  background-color: white;
  border-radius: 2px;
  animation: loading 2s ease-in-out infinite;
}
