#bootstrap-loader {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: rgba(248, 250, 252, 0.6);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.bootstrap-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 24rem;
  width: 100%;
  animation: fade-in-zoom 0.3s ease-out forwards;
}

.bootstrap-title {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  color: #0f172a;
  margin-top: 0;
  margin-bottom: 0.75rem;
  text-align: center;
  letter-spacing: -0.025em;
}

.bootstrap-msg-container {
  opacity: 1;
  transition: opacity 0.2s;
}

.bootstrap-message {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #64748b;
  text-align: center;
  margin-top: 0;
  margin-bottom: 2rem;
}

.bootstrap-dots-container {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.bootstrap-dot {
  width: 0.625rem;
  height: 0.625rem;
  background-color: #4f46e5;
  border-radius: 9999px;
  animation: bootstrap-bounce 1.4s infinite;
}

.bootstrap-dot--delay-0 {
  animation-delay: 0s;
}

.bootstrap-dot--delay-1 {
  animation-delay: 0.2s;
}

.bootstrap-dot--delay-2 {
  animation-delay: 0.4s;
}

@keyframes bootstrap-bounce {
  0%,
  100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

@keyframes fade-in-zoom {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
