/* ══════════════════════════════════════════════════════════════════
   🍮 启动加载遮罩 —— 从 image2pro.top 的 #bootLoader 实测提取
   结构：logo(✦) + 呼吸光晕 + 三点弹跳 + 主文案 + 副文案
   所有数值来自 getComputedStyle：
     logo 44px / font-size 44px / margin-bottom 26px
     glow inset -10px / radial-gradient(rgba(205,111,71,.26) → 透明 72%)
     三点 10px / gap 9px / delay 0 / .18s / .36s
     动画 bootGlowPulse 2.2s / bootLogoPulse 2.2s / bootBounce 1.3s
   ══════════════════════════════════════════════════════════════════ */

#exBoot{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(165deg,#faf7f2 0%,#f5f1ea 45%,#efe9df 100%);
  transition:opacity .5s ease,visibility .5s ease;
}
#exBoot.is-out{opacity:0;visibility:hidden;pointer-events:none;}

.ex-boot-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 32px;
}

/* 图标 + 光晕 */
.ex-boot-logo-outer{
  position:relative;width:44px;height:44px;margin-bottom:26px;
  display:flex;align-items:center;justify-content:center;
}
.ex-boot-glow{
  position:absolute;inset:-10px;border-radius:50%;
  background:radial-gradient(circle,rgba(205,111,71,.26) 0%,rgba(205,111,71,0) 72%);
  animation:exBootGlowPulse 2.2s ease-in-out infinite;
}
@keyframes exBootGlowPulse{
  0%,100%{opacity:.6;transform:scale(.9);}
  50%{opacity:1;transform:scale(1.15);}
}
.ex-boot-logo{
  position:relative;font-size:44px;line-height:1;
  color:#cd6f47;
  animation:exBootLogoPulse 2.2s ease-in-out infinite;
  transform-origin:center;
}
@keyframes exBootLogoPulse{
  0%,100%{opacity:.85;transform:scale(1);}
  50%{opacity:1;transform:scale(1.08);}
}

/* 三点弹跳 */
.ex-boot-ring{display:flex;gap:9px;margin-bottom:22px;}
.ex-boot-ring span{
  width:10px;height:10px;border-radius:50%;
  background:linear-gradient(145deg,#e08b62,#cd6f47 55%,#a8532f);
  box-shadow:0 2px 10px rgba(205,111,71,.36);
  animation:exBootBounce 1.3s ease-in-out infinite both;
}
.ex-boot-ring span:nth-child(2){animation-delay:.18s;}
.ex-boot-ring span:nth-child(3){animation-delay:.36s;}
@keyframes exBootBounce{
  0%,80%,100%{transform:scale(.5);opacity:.3;}
  40%{transform:scale(1);opacity:1;}
}

/* 文案 */
.ex-boot-msg{
  font-size:15px;font-weight:700;letter-spacing:.01em;
  line-height:1.5;margin-bottom:8px;color:#1a1a1a;
}
.ex-boot-sub{
  font-size:12.5px;line-height:1.6;max-width:280px;
  color:rgba(26,26,26,.46);
}

@media (prefers-reduced-motion:reduce){
  .ex-boot-glow,.ex-boot-logo,.ex-boot-ring span{animation:none!important;}
}
