.hello-kitty-loading[hidden] { display: none !important; }
.hello-kitty-loading {
  position: fixed; top: max(12px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); z-index: 160;
  display: flex; align-items: center; gap: .55rem; max-width: calc(100vw - 24px);
  padding: .4rem .9rem .4rem .45rem; border: 1px solid #f7b5d0; border-radius: 24px;
  background: #fffafd; color: #5b2c46; box-shadow: 0 6px 22px #ad275e22, inset 0 1px 0 #fff;
  pointer-events: none; font: 700 .82rem/1.2 system-ui, sans-serif;
}
.hello-kitty-loading img { width: 40px; height: 40px; object-fit: contain; }
.hello-kitty-loading-ornaments { color: #ad275e; letter-spacing: .15rem; animation: hello-kitty-loading-shimmer 1.6s ease-in-out infinite; }
@keyframes hello-kitty-loading-shimmer { 50% { opacity: .5; transform: translateY(-2px); } }
html[data-motion-preference="reduce"] .hello-kitty-loading-ornaments,
.accessibility-motion-reduce .hello-kitty-loading-ornaments,
.theme-opt-reduced-motion .hello-kitty-loading-ornaments,
.theme-opt-stop-animated-effects .hello-kitty-loading-ornaments { animation: none; }
html[data-contrast-preference="high"] .hello-kitty-loading { display: none !important; }
@media (prefers-reduced-motion: reduce), (forced-colors: active) { .hello-kitty-loading-ornaments { animation: none; } }
@media (forced-colors: active), (prefers-contrast: more) { .hello-kitty-loading { display: none !important; } }
