.store-loading-screen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px;
  box-sizing: border-box;
  background: radial-gradient(ellipse at center, #fff4df 0, #fffaf2 32%, #fff 70%);
  color: #83552c;
  font-family: Arial, 'Microsoft YaHei', sans-serif;
  text-align: center;
}
.store-loading-content { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.store-loading-logo {
  display: block;
  width: clamp(130px, 26vw, 180px);
  height: auto;
  aspect-ratio: 1108 / 1140;
  object-fit: contain;
  filter: drop-shadow(0 14px 14px rgb(231 145 26 / 14%));
  animation: store-logo-float 2.4s ease-in-out infinite;
}
.store-loading-brand { font-size: 19px; font-weight: 700; letter-spacing: .24em; padding-left: .24em; color: #e87410; }
.store-loading-track { width: 160px; height: 4px; overflow: hidden; border-radius: 10px; background: #ffe6c6; }
.store-loading-track > span { display: block; width: 45%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ffc44b, #ff790d); animation: store-loading-slide 1.4s ease-in-out infinite; }
.store-loading-label { margin: -6px 0 0; font-size: 13px; line-height: 1.5; color: #94765d; }
body:has(.store-loading-screen) { overflow: hidden; }
@keyframes store-logo-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes store-loading-slide { 0% { transform: translateX(-110%); } 100% { transform: translateX(330%); } }
@media (prefers-reduced-motion: reduce) {
  .store-loading-logo, .store-loading-track > span { animation: none; }
  .store-loading-track > span { width: 100%; opacity: .7; }
}
