body {
  margin: 0;
  overflow: hidden;
}
.init-page {
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

/* 暗色启动占位：由 index.html 的内联脚本在 Vue 之前打上 html.uvp-boot-dark。
   底色对齐 --uvp-shell-bg / body 暗色底（实测 rgb(11,17,24)），蓝条对齐 --uvp-brand。 */
.uvp-boot-dark .init-page {
  background: #0b1118;
}
.uvp-boot-dark .snow-loader {
  --c: no-repeat linear-gradient(rgb(96 165 250) 0 0);
}

/* HTML: <div class="snow-loader"></div> */
.snow-loader {
  width: 45px;
  aspect-ratio: 1;

  --c: no-repeat linear-gradient(rgb(22, 93, 255) 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%;
  }
}
