/* public/page-studio-assets/runtimes/ps-animations.css
   @keyframes for every preset in PropGroups/behaviors.json.
   Loaded unconditionally by every component that composes behaviors.
   Inert without a matching animation declaration on some element. */

@layer ps-components {

  @keyframes ps-anim-fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

  @keyframes ps-anim-slideUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  @keyframes ps-anim-slideDown {
    from { opacity: 0; transform: translateY(-24px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  @keyframes ps-anim-slideLeft {
    from { opacity: 0; transform: translateX(24px); }
    to   { opacity: 1; transform: translateX(0); }
  }

  @keyframes ps-anim-slideRight {
    from { opacity: 0; transform: translateX(-24px); }
    to   { opacity: 1; transform: translateX(0); }
  }

  @keyframes ps-anim-zoomIn {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
  }

  @keyframes ps-anim-zoomOut {
    from { opacity: 0; transform: scale(1.1); }
    to   { opacity: 1; transform: scale(1); }
  }

  @keyframes ps-anim-bounce {
    0%   { transform: translateY(0); }
    25%  { transform: translateY(-12px); }
    50%  { transform: translateY(0); }
    75%  { transform: translateY(-6px); }
    100% { transform: translateY(0); }
  }

  @keyframes ps-anim-pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.04); }
    100% { transform: scale(1); }
  }

  @keyframes ps-anim-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }

}
