html,body { margin:0; background:#f3f7ff; }
#qingyun-startup {
  position:fixed; inset:0; z-index:9999; display:grid; place-items:center;
  padding:24px; box-sizing:border-box; color:#10264e;
  background:radial-gradient(ellipse at 85% 15%,#deeaff 0,transparent 52%),
    radial-gradient(ellipse at 10% 90%,#e0e6ff 0,transparent 50%),#f5f8ff;
  font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;
  transition:opacity .18s ease;
}
#qingyun-startup.qy-ready { opacity:0; pointer-events:none; }
.qy-failed .qy-startup-progress { display:none; }
.qy-startup-card { width:min(100%,360px); text-align:center; }
.qy-startup-brand {
  display:grid; place-items:center; width:68px; height:68px; margin:0 auto 23px;
  border-radius:22px; color:white; font-size:22px; font-weight:850; letter-spacing:1px;
  background:linear-gradient(145deg,#184cd8,#3878ff 65%,#83b6ff);
  box-shadow:0 14px 34px #2f60c82b,inset 0 1px 0 #ffffff7d;
}
.qy-startup-label { font-size:10px; letter-spacing:2.2px; color:#6380b0; font-weight:700; }
.qy-startup-card h1 { font-size:22px; line-height:1.5; margin:12px 0 8px; letter-spacing:.3px; }
#qy-startup-status { min-height:44px; font-size:13px; line-height:1.7; color:#687c9c; }
.qy-startup-progress { overflow:hidden; height:3px; border-radius:3px; width:160px; margin:18px auto; background:#dbe6fa; }
.qy-startup-progress span { display:block; width:45%; height:100%; border-radius:3px;
  background:linear-gradient(90deg,#4b7dff,#9dbaff); animation:qy-loading 1.4s ease-in-out infinite; }
#qy-startup-retry { border:1px solid #cbd9f2; border-radius:12px; padding:11px 22px;
  background:white; color:#285ce2; font:inherit; font-size:13px; cursor:pointer; }
#qy-startup-retry[hidden] { display:none; }
@keyframes qy-loading { from { transform:translateX(-110%); } to { transform:translateX(330%); } }
@media(prefers-reduced-motion:reduce) {
  #qingyun-startup { transition:none; }
  .qy-startup-progress span { animation:none; width:100%; opacity:.55; }
}
