*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

body {
  overflow: hidden;
  background: #f2f3f5;
}

/* ─── 全屏居中容器 ─── */
.init-box {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #f0f4ff 0%, #f5f0ff 100%);
}

/* ─── 卡片 ─── */
.init-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  animation: init-fade-in 0.4s ease both;
}

/* ─── Logo ─── */
.init-logo {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(64, 128, 255, 0.28);
}

/* ─── 标题 ─── */
.init-title {
  font-size: 20px;
  font-weight: 600;
  color: #1d2129;
  letter-spacing: 0.5px;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif;
}

/* ─── 三点脉冲进度条 ─── */
.init-spinner {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}

.init-spinner-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4080ff;
  animation: init-dot-bounce 1.2s ease-in-out infinite both;
}

.init-spinner-dot:nth-child(1) { animation-delay: 0s; }
.init-spinner-dot:nth-child(2) { animation-delay: 0.2s; background: #7B5CEA; }
.init-spinner-dot:nth-child(3) { animation-delay: 0.4s; }

/* ─── 提示文字 ─── */
.init-hint {
  font-size: 13px;
  color: #86909c;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
  letter-spacing: 0.3px;
}

/* ─── 动画 ─── */
@keyframes init-dot-bounce {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
  40%           { transform: scale(1);   opacity: 1;   }
}

@keyframes init-fade-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0);    }
}
