/* 首屏骨架样式（app shell）

   注意：注释内不得出现「星号+斜杠」组合，否则注释会在此提前结束，后面的文字会被当成
   CSS 解析并报错，紧随其后的规则也会被整条丢弃（历史上就踩过一次）。

   - 必须由 index.html 的 link 标签直接引入，所以只能放在 public 目录下。
   - 不放 global.css：它由入口脚本引入，在入口脚本执行完之前骨架会按浏览器默认样式显示
     （白底黑字），冷启动时会停留数秒。
   - 不放 src 目录：开发服务器会把那里的 css 按脚本类型返回，浏览器做资源类型校验时会
     直接拒载，骨架仍然没有样式。
   - 本目录文件不参与构建、文件名不带指纹：改动后须在 index.html 中把版本号加一（当前 ?v=3）。
   - 视觉与入场动画须与启动页保持一致（负延迟接力播放）；骨架结构写在 index.html 中，
     改这里要同步改启动页。 */

/* 最小重置：首帧时全局样式可能尚未注入，不能依赖它 */
.boot-shell,
.boot-shell * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boot-shell {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #1677FF 0%, #0A5ED9 100%);
}

/* Logo 白卡：弹入后持续轻微呼吸，避免骨架停留数秒时像「卡死」 */
.boot-shell-logo {
  width: 120px;
  height: 120px;
  background: #FFFFFF;
  border-radius: 28px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: boot-pop 0.5s cubic-bezier(0.22, 0.9, 0.24, 1) both,
             boot-breathe 2.6s ease-in-out 0.5s infinite;
}

/* 骨架显示真实 logo（public/logo_hualiang.png），与 SplashView 同图，交接无跳变 */
.boot-shell-logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.boot-shell-brand {
  margin-top: 28px;
  font-size: 32px;
  font-weight: bold;
  color: #FFFFFF;
  letter-spacing: 2px;
  animation: boot-up 0.45s ease-out 0.12s both;
}

.boot-shell-sub {
  margin-top: 12px;
  font-size: 14px;
  font-style: italic;
  color: #FFFFFF;
  opacity: 0.85;
  letter-spacing: 1px;
  animation: boot-up 0.45s ease-out 0.2s both;
}

.boot-shell-ver {
  position: absolute;
  bottom: 32px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 12px;
  color: #FFFFFF;
  opacity: 0.6;
  animation: boot-fade 0.5s ease-out 0.3s both;
}

@keyframes boot-pop {
  from { opacity: 0; transform: scale(0.86) translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes boot-breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.035); }
}

@keyframes boot-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes boot-fade {
  from { opacity: 0; }
  to   { opacity: 0.6; }
}

/* 无障碍：减弱动态效果时禁用动画 */
@media (prefers-reduced-motion: reduce) {
  .boot-shell-logo,
  .boot-shell-brand,
  .boot-shell-sub,
  .boot-shell-ver {
    animation: none;
  }
}
