body {
  margin: 0;
}
.nexa-splash {
  --nexa-loader-track: #e2ebf0;
  --nexa-loader-color: #3286ed;
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  background: #fff;
  color: #1f2b32;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.nexa-loader {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: 32px;
}
.nexa-loader__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -1px;
}
.nexa-loader__brand img {
  object-fit: contain;
}
.nexa-loader__admin {
  font-weight: 400;
  opacity: 0.7;
}
.nexa-loader__route {
  position: relative;
  width: 160px;
  height: 3px;
  border-radius: 4px;
  background: var(--nexa-loader-track);
}
.nexa-loader__route::before,
.nexa-loader__route::after {
  content: '';
  position: absolute;
  top: -3px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--nexa-loader-color);
  opacity: 0.3;
}
.nexa-loader__route::before {
  left: 0;
}
.nexa-loader__route::after {
  right: 0;
}
.nexa-loader__route span {
  position: absolute;
  top: -3px;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--nexa-loader-color);
  animation: nexa-route 1.8s ease-in-out infinite alternate;
}
.nexa-loader__label {
  font-size: 13px;
  letter-spacing: 0.1px;
  opacity: 0.65;
}
@keyframes nexa-route {
  to {
    transform: translateX(151px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .nexa-loader__route span {
    animation: none;
    left: calc(50% - 4px);
  }
}
@media (prefers-color-scheme: dark) {
  .nexa-splash {
    --nexa-loader-track: #29363d;
    background: #101619;
    color: #e4ebef;
  }
}
