/* 加载动画样式 - 优化版本 */
body {
  margin: 0;
  padding: 0;
}

.app-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  overflow: hidden;
  background-color: #fff;
}

.sk-circle {
  width: 64px;
  height: 64px;
  position: relative;
  will-change: transform; /* 提示浏览器优化 */
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #409eff;
  border-radius: 100%;
  /* 使用GPU加速的动画属性 */
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  will-change: transform, opacity;
}

/* 旋转角度优化 - 使用transform3d启用硬件加速 */
.sk-circle .sk-circle2 { transform: rotate3d(0, 0, 1, 30deg); }
.sk-circle .sk-circle3 { transform: rotate3d(0, 0, 1, 60deg); }
.sk-circle .sk-circle4 { transform: rotate3d(0, 0, 1, 90deg); }
.sk-circle .sk-circle5 { transform: rotate3d(0, 0, 1, 120deg); }
.sk-circle .sk-circle6 { transform: rotate3d(0, 0, 1, 150deg); }
.sk-circle .sk-circle7 { transform: rotate3d(0, 0, 1, 180deg); }
.sk-circle .sk-circle8 { transform: rotate3d(0, 0, 1, 210deg); }
.sk-circle .sk-circle9 { transform: rotate3d(0, 0, 1, 240deg); }
.sk-circle .sk-circle10 { transform: rotate3d(0, 0, 1, 270deg); }
.sk-circle .sk-circle11 { transform: rotate3d(0, 0, 1, 300deg); }
.sk-circle .sk-circle12 { transform: rotate3d(0, 0, 1, 330deg); }

/* 动画延迟优化 */
.sk-circle .sk-circle2:before { animation-delay: -1.1s; }
.sk-circle .sk-circle3:before { animation-delay: -1s; }
.sk-circle .sk-circle4:before { animation-delay: -0.9s; }
.sk-circle .sk-circle5:before { animation-delay: -0.8s; }
.sk-circle .sk-circle6:before { animation-delay: -0.7s; }
.sk-circle .sk-circle7:before { animation-delay: -0.6s; }
.sk-circle .sk-circle8:before { animation-delay: -0.5s; }
.sk-circle .sk-circle9:before { animation-delay: -0.4s; }
.sk-circle .sk-circle10:before { animation-delay: -0.3s; }
.sk-circle .sk-circle11:before { animation-delay: -0.2s; }
.sk-circle .sk-circle12:before { animation-delay: -0.1s; }

/* 关键帧动画优化 - 使用transform和opacity */
@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    transform: scale3d(0, 0, 0);
    opacity: 0;
  }
  40% {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

/* 减少重绘的优化 */
@media (prefers-reduced-motion: reduce) {
  .sk-circle .sk-child:before {
    animation: none;
  }
}
