html,body{margin:0;background:#F8F9FB}.app-boot{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font:14px/1.5 system-ui,sans-serif;color:#666}.app-boot span{width:28px;height:28px;border:2px solid #EAF2F8;border-top-color:#337AAF;border-radius:50%;animation:boot-spin 1s linear infinite}.app-boot p{margin:16px 0 0}@keyframes boot-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-boot span{animation:none}}

/* 品牌开屏（版式与 huobo-nb 一致）：背景与标识取自当前品牌目录 brand/（由 Release Profile 按品牌复制），
   用背景图引用，未提供素材的品牌只显示底色与加载状态，不出现破图。 */
html:has(.app-boot), html:has(.app-boot) body { background:#E6F2FF; }
.app-boot { position:relative; min-height:100svh; color:#06275F!important; background:#E6F2FF url('./brand/splash-background.webp') center/cover no-repeat; }
.app-boot .boot-brand { display:block; }
.app-boot .boot-brand { position:absolute; top:44%; left:50%; width:min(220px,60vw); aspect-ratio:498 / 190; transform:translate(-50%,-50%); background:url('./brand/logo-light.png') center/contain no-repeat; }
.app-boot .boot-status { position:absolute; bottom:max(48px,env(safe-area-inset-bottom)); left:24px; right:24px; display:flex; flex-direction:column; align-items:center; color:#58718E; }
.app-boot .boot-status span { width:18px; height:18px; border-color:#DCE8F8; border-top-color:#176FE8; }
.app-boot .boot-status p { margin-top:16px; }
@media (max-height:560px) { .app-boot { min-height:100svh; box-sizing:border-box; padding:32px 24px; gap:20px; } .app-boot .boot-brand,.app-boot .boot-status { position:static; transform:none; } }
