.fx-is-disabled, [data-state="disabled"]{opacity:0.45;cursor:not-allowed;pointer-events:none;}.fx-is-loading{cursor:progress;}.fx-fade-in{animation:fx-fade-in var(--fx-duration-slow) var(--fx-ease) both;}.fx-animate-pulse{animation:fx-pulse 2.2s var(--fx-ease) infinite;}.fx-animate-ping{animation:fx-ping 1.6s cubic-bezier(0, 0, 0.2, 1) infinite;}.fx-animate-bounce{animation:fx-bounce 1.2s infinite;}.fx-animate-shimmer{background:linear-gradient( 90deg, color-mix(in srgb, var(--fx-warm) 40%, transparent) 0%, color-mix(in srgb, var(--fx-accent) 18%, var(--fx-warm)) 50%, color-mix(in srgb, var(--fx-warm) 40%, transparent) 100% );background-size:200% 100%;animation:fx-shimmer-x 1.6s linear infinite;}@keyframes fx-fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}@keyframes fx-pulse{0%, 100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fx-accent) 35%, transparent);}50%{box-shadow:0 0 0 10px transparent;}}@keyframes fx-ping{75%, 100%{transform:scale(1.6);opacity:0;}}@keyframes fx-bounce{0%, 100%{transform:translateY(-8%);animation-timing-function:cubic-bezier(0.8, 0, 1, 1);}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, 0.2, 1);}}@keyframes fx-shimmer-x{from{background-position:200% 0;}to{background-position:-200% 0;}}@media (prefers-reduced-motion:reduce){.fx-fade-in, .fx-animate-pulse, .fx-animate-ping, .fx-animate-bounce, .fx-animate-shimmer{animation:none;}}