html.app-booting,
html.app-navigating,
html.app-booting body,
html.app-navigating body {
  min-height: 100%;
  background: #0a1219 !important;
  color-scheme: dark;
}

html.app-booting body,
html.app-navigating body {
  overflow: hidden !important;
}

html.app-booting body > *,
html.app-navigating body > * {
  visibility: hidden !important;
}

html.app-booting body::before,
html.app-navigating body::before {
  content: "" !important;
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  visibility: visible;
  background-color: #0a1219 !important;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDIgNjAiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iU8OtbWJvbG8gTGEgQ2zDqSI+PHBhdGggZD0iTTkgNWgzMmE5IDkgMCAwIDEgOSA5djExaDUwdjEySDg4djEzSDc1VjM3SDUwdjlhOSA5IDAgMCAxLTkgOUg5YTkgOSAwIDAgMS05LTlWMTRhOSA5IDAgMCAxIDktOVptNSAxNHYyMmgyMlYxOVoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03OCAxOGgxN2w2LTlIODRaIiBmaWxsPSIjYjk5YTY0Ii8+PC9zdmc+Cg==") !important;
  background-position: center calc(50% - 22px);
  background-repeat: no-repeat;
  background-size: 86px auto;
}

html.app-booting body::after,
html.app-navigating body::after {
  content: "" !important;
  position: fixed;
  z-index: 2147483647;
  visibility: visible;
  left: calc(50% - 80px);
  top: calc(50% + 38px);
  width: 160px;
  height: 1px;
  background: linear-gradient(90deg, #c9ab74 0 48%, #2a3a48 48% 100%);
  background-size: 210% 100%;
  transform-origin: left;
  animation: lacle-boot-progress 1.15s cubic-bezier(.22,.61,.36,1) infinite;
}

@keyframes lacle-boot-progress {
  0% { background-position: 100% 0; opacity: .5; }
  55% { opacity: 1; }
  100% { background-position: -100% 0; opacity: .65; }
}

@media (prefers-reduced-motion: reduce) {
  html.app-booting body::after,
  html.app-navigating body::after { animation: none; background: #c9ab74; }
}
