/* Decorative startup: never blocks input or waits for catalog loading. */
.startup-intro { display: none; }
@media screen and (prefers-reduced-motion: no-preference) {
  .startup-intro {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #101214;
    pointer-events: none;
    animation: startup-exit 1.4s ease-in-out both;
  }
  .startup-intro img {
    display: block;
    width: min(72vw, 380px);
    max-width: 100%;
    height: auto;
    max-height: 55vh;
    object-fit: contain;
    animation: startup-logo 1.4s cubic-bezier(.2,.7,.2,1) both;
  }
}
@keyframes startup-logo {
  0% { opacity: 0; transform: translateY(10px) scale(.96); }
  30%, 72% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 0; transform: translateY(-4px) scale(1.02); }
}
@keyframes startup-exit {
  0%, 72% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
@media print { .startup-intro { display: none !important; } }
