/* Splash shown until Vue mounts. app.mount("#app") clears it.
   Loads before the app bundle, so it cannot use the Tailwind theme tokens. */
#dz-splash {
  --splash-bone: oklch(0.94609845 0.01033327 67.70107558);
  --splash-charcoal: oklch(0.20903609 0 0);
  --splash-accent: oklch(0.57373836 0.16682267 10.86534535);

  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(1.5rem + env(safe-area-inset-top));
  padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
  background: var(--splash-bone);
  font-family: "Oswald", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

#dz-splash .s-brand {
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.02em;
  color: var(--splash-charcoal);
}

#dz-splash .s-spacer {
  flex: 1;
}

#dz-splash svg {
  display: block;
  flex-shrink: 0;
  width: 120px;
  height: 120px;
}

#dz-splash .s-track {
  stroke: var(--splash-charcoal);
  opacity: 0.12;
}

#dz-splash .s-facets {
  transform-origin: 60px 60px;
  animation: dz-splash-orbit 2.4s linear infinite;
}

#dz-splash .s-facet {
  fill: var(--splash-charcoal);
  opacity: 0.25;
  transform-origin: 60px 60px;
  animation: dz-splash-pulse 2.4s ease-in-out infinite;
}

@keyframes dz-splash-orbit {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes dz-splash-pulse {
  0%,
  100% {
    opacity: 0.25;
    fill: var(--splash-charcoal);
  }
  50% {
    opacity: 1;
    fill: var(--splash-accent);
  }
}

@media (prefers-reduced-motion: reduce) {
  #dz-splash .s-facets,
  #dz-splash .s-facet {
    animation: none;
  }
}
