.boot-screen {
  position: fixed;
  inset: 3px 0 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #f3f2ef;
  padding: 32px;
}

.boot-content {
  display: grid;
  width: min(230px, 70vw);
  justify-items: center;
  gap: 18px;
  color: #737477;
  font-family: "Montserrat", "Avenir Next", "Segoe UI", Arial, Helvetica, sans-serif;
}

.boot-content img {
  display: block;
  width: 178px;
  height: auto;
}

.boot-content p {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.boot-progress {
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  overflow: hidden;
  background: #dedbd5;
}

.boot-progress::after {
  position: absolute;
  inset: 0;
  width: 45%;
  background: #f58634;
  content: "";
  animation: boot-progress 1s ease-in-out infinite;
}

body:has(#login:not([hidden])) .boot-screen,
body:has(#application:not([hidden])) .boot-screen {
  display: none;
}

@keyframes boot-progress {
  from { transform: translateX(-110%); }
  to { transform: translateX(245%); }
}

@media (prefers-reduced-motion: reduce) {
  .boot-progress::after { animation-duration: 2.5s; }
}
