/*
 * PROVENANCE
 *   source repo:   /Users/ethanabot/Downloads/Projects -of-claude/Projects/fluidUI  (fluidUI, MIT)
 *   source path:   packages/ui/src/styles/motion.css
 *   source commit: 4549c7f   (read via `git show 4549c7f:<path>` — the fluidUI repo
 *                             is READ-ONLY and was never written to)
 *   vendor date:   2026-07-29
 *   ruling:        T10 §1 — vendor the CSS, never the package; no npm in v0.1.
 *                  PIN, DO NOT FOLLOW: fluidUI is still developing, and
 *                  live-tracking it would import someone else's in-flight state
 *                  into our fixture. Re-pin deliberately, never automatically.
 *   edits:         none — verbatim.
 *   read-only donor — never edited from here. Overrides live in ../styles.css.
 *   Three verbs only: condense 150ms, breathe 2.5s, dissolve 250ms. The
 *   prefers-reduced-motion blanket is kept, per T10 §3.
 */
/*
 * Exactly three verbs — DESIGN.md. Nothing bounces, slides, or parallaxes.
 *
 * These keyframes are applied ONLY to the glass element itself, never to a
 * lane, the stage, or the host: an ancestor carrying opacity<1 / filter /
 * transform becomes a backdrop root and the glass silently goes flat.
 * `glassGuard.ts` asserts that at mount in dev builds.
 */
@keyframes fluid-condense {
  from {
    opacity: 0;
    transform: scale(0.985) translateY(3px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fluid-dissolve {
  to {
    opacity: 0;
    filter: blur(3px);
    transform: scale(0.99);
  }
}

@keyframes fluid-breathe {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.62;
  }
}

.condense {
  animation: fluid-condense 150ms ease-out;
}
.dissolve {
  animation: fluid-dissolve 250ms ease-in forwards;
  pointer-events: none;
}
.breathe {
  animation: fluid-breathe 2.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
