/**
 * P777 Loading 共享样式（单一来源）
 * 用于 index.html bootstrap loading 与 LoadingSpinner 组件
 */

/* ========== 动画关键帧 ========== */
@keyframes dashArray {
  0% {
    stroke-dasharray: 0 1 359 0;
  }
  50% {
    stroke-dasharray: 0 359 1 0;
  }
  100% {
    stroke-dasharray: 359 1 0 0;
  }
}

@keyframes dashOffset {
  0% {
    stroke-dashoffset: 365;
  }
  100% {
    stroke-dashoffset: 5;
  }
}

/* ========== P777 描边动画（LoadingSpinner 与 bootstrap 共用） ========== */
.p777-loader-dash {
  animation:
    dashArray 2s ease-in-out infinite,
    dashOffset 2s linear infinite;
  will-change: stroke-dasharray, stroke-dashoffset;
}

/* ========== Bootstrap 阶段全屏 loading（index.html） ========== */
.app-loading {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: #0d0e0f;
}

.app-loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  border-radius: 1rem;
  background: #262b31;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.app-loading-text {
  font-size: 0.8125rem;
  color: #bcc9dc;
  font-weight: 500;
}

.app-loader {
  display: flex;
  align-items: center;
  position: relative;
}

.app-loader-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.app-loader-icon {
  width: 48px;
  height: 48px;
}
