/* ============================================================
   Page Loader  ·  /static/css/page-loader.css
   极简首屏加载：单色细环 + 快速淡出（约 0.15s）
   另含全局字体 @font-face（前后台共用此文件）
   ============================================================ */

/* ---------- 全局字体：HarmonyOS Sans（华为鸿蒙） ---------- */
@font-face {
  font-family: "HarmonyOS Sans SC";
  src: url("/static/fonts/HarmonyOS-Sans-SC-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "HarmonyOS Sans SC";
  src: url("/static/fonts/HarmonyOS-Sans-SC-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "HarmonyOS Sans SC";
  src: url("/static/fonts/HarmonyOS-Sans-SC-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* 兜底：未单独声明的页面也统一用鸿蒙字体 */
body {
  font-family: "HarmonyOS Sans SC", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.pgl{
  position:fixed;
  left:0; top:0; width:100%; height:100%;
  z-index:99998;
  display:flex; align-items:center; justify-content:center;
  background:#fff;
  opacity:1; visibility:visible;
  transition:opacity .15s linear, visibility 0s linear 0s;
  will-change:opacity;
}

.pgl.is-hidden{
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .15s linear, visibility 0s linear .15s;
}

.pgl-inner{
  display:flex; align-items:center; justify-content:center;
}

/* 只保留一圈细环，单色、快速旋转 */
.pgl-orb{
  position:relative;
  width:30px; height:30px;
  border-radius:50%;
  border:2px solid rgba(102,126,234,.18);
  border-top-color:#667eea;
  animation:pgl-spin .7s linear infinite;
}

/* 装饰元素与进度条统一隐藏，保持干净 */
.pgl-ring,
.pgl-mark,
.pgl-text,
.pgl-bar{ display:none !important; }

@keyframes pgl-spin{ to{ transform:rotate(360deg); } }

/* 深色主题 */
body.dark .pgl{ background:#141416; }

/* 尊重「减少动态效果」偏好：不转圈，只保留淡入淡出 */
@media (prefers-reduced-motion:reduce){
  .pgl-orb{ animation:none; border-color:rgba(102,126,234,.35); border-top-color:#667eea; }
  .pgl, .pgl.is-hidden{ transition-duration:.01ms !important; }
}
