#elvensong-loading {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(20px + env(safe-area-inset-bottom));
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 1px solid var(--ev-line, #e5e2da);
  border-radius: 10px;
  background: var(--ev-surface, #fff);
  color: var(--ev-ink, #22211e);
  box-shadow: 0 2px 8px rgb(31 29 24 / 8%);
  font: 400 12px/18px var(--ev-font, 'Segoe UI', Arial, sans-serif);
  white-space: nowrap;
  pointer-events: none;
}
#elvensong-loading[hidden] { display: none !important; }
#elvensong-loading .elvensong-loading-coin {
  display: block;
  box-sizing: border-box;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  perspective: 70px;
}
#elvensong-loading .elvensong-loading-logo {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: contain;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
}
@media (prefers-reduced-motion: no-preference) {
  #elvensong-loading:not([hidden]) .elvensong-loading-logo {
    animation: elvensong-loading-coin-spin 1.45s linear infinite;
  }
}
@keyframes elvensong-loading-coin-spin {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}
@media (max-width: 640px) {
  #elvensong-loading {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media print { #elvensong-loading { display: none !important; } }
