body {
  margin: 0;
  overflow: hidden;
  color-scheme: light;
  background: var(--xy-bg-page);
}

:root {
  --xy-bg-page: #f3f6fb;
  --xy-bg-shell: #ffffff;
  --xy-bg-soft: #f7f9fc;
  --xy-text-2: #536072;
  --xy-primary-rgb: 38, 71, 131;
}

html[data-loading-theme="dark"] body {
  color-scheme: dark;
}

html[data-loading-theme="dark"] {
  --xy-bg-page: #0f172a;
  --xy-bg-shell: #111c31;
  --xy-bg-soft: #1b2a42;
  --xy-text-2: #aebbd0;
  --xy-primary-rgb: 142, 176, 224;
}
.init-page {
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--xy-text-2);
  background:
    radial-gradient(ellipse 70% 48% at 100% 0%, rgba(var(--xy-primary-rgb), 0.1), transparent 56%),
    var(--xy-bg-page);
}
/* HTML: <div class="snow-loader"></div> */
.snow-loader {
  width: 45px;
  aspect-ratio: 1;

  --c: no-repeat linear-gradient(rgb(var(--xy-primary-rgb)) 0 0);

  background:
    var(--c) 0% 50%,
    var(--c) 50% 50%,
    var(--c) 100% 50%;
  background-size: 20% 100%;
  animation: l1 1s infinite linear;
}

@keyframes l1 {
  0% {
    background-size:
      20% 100%,
      20% 100%,
      20% 100%;
  }
  33% {
    background-size:
      20% 10%,
      20% 100%,
      20% 100%;
  }
  50% {
    background-size:
      20% 100%,
      20% 10%,
      20% 100%;
  }
  66% {
    background-size:
      20% 100%,
      20% 100%,
      20% 10%;
  }
  100% {
    background-size:
      20% 100%,
      20% 100%,
      20% 100%;
  }
}
