.brand-loading {
  --loading-paper: #f3f4f2;
  --loading-ink: #247c70;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; color: #667b75; font: 12px/1.6 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.dark .brand-loading { --loading-paper: #111f1a; --loading-ink: #64bcaa; color: #9bb3a8; }
.app-boot, .app-loading-overlay { position: fixed; inset: 0; z-index: 2200; background: var(--loading-paper); }
.app-loading-overlay { background: color-mix(in srgb, var(--loading-paper) 96%, transparent); }
.brand-loading-scene { display: block; width: 160px; max-width: 65vw; height: auto; color: var(--loading-ink); }
.brand-loading-name { font-size: 16px; font-weight: 600; letter-spacing: 2px; color: var(--qhms-text-primary, #30363c); }
.dark .brand-loading-name { color: var(--qhms-text-primary, #eeeef2); }
.brand-loading-label { margin: 0; }
.loading-arch { stroke-dasharray:140 50; animation:loading-trace 2.4s linear infinite; }
.loading-progress circle { animation:loading-pulse 1.5s ease-in-out infinite; }
.loading-progress circle:nth-child(2) { animation-delay:.18s; }
.loading-progress circle:nth-child(3) { animation-delay:.36s; }
@keyframes loading-trace { to { stroke-dashoffset:-190; } }
@keyframes loading-pulse { 0%,100% { opacity:.2; } 50% { opacity:1; } }
.app-loading-enter-active, .app-loading-leave-active { transition: opacity 160ms ease; }
.app-loading-enter-from, .app-loading-leave-to { opacity: 0; }
.app-boot-retry { border: 1px solid currentColor; background: transparent; border-radius: 6px; padding: 6px 16px; color: inherit; font: inherit; cursor: pointer; }
html[data-motion="reduced"] .brand-loading *, html[data-motion="reduced"] .app-loading-overlay { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) { .brand-loading *, .app-loading-overlay { animation: none !important; transition: none !important; } }
