@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--duration-base) var(--ease-out) forwards}.animate-fade-up{animation:fadeUp var(--duration-slow) var(--ease-out) forwards}.animate-scale-in{animation:scaleIn var(--duration-base) var(--ease-spring) forwards}.stagger>*{opacity:0;animation:fadeUp var(--duration-slow) var(--ease-out) forwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:80ms}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.24s}.stagger>*:nth-child(5){animation-delay:.32s}.stagger>*:nth-child(6){animation-delay:.4s}.stagger>*:nth-child(7){animation-delay:.48s}.stagger>*:nth-child(8){animation-delay:.56s}.stagger>*:nth-child(9){animation-delay:.64s}.stagger>*:nth-child(10){animation-delay:.72s}.stagger>*:nth-child(11){animation-delay:.8s}.stagger>*:nth-child(12){animation-delay:.88s}.skeleton{background:linear-gradient(90deg,var(--color-grey-200) 25%,var(--color-grey-100) 50%,var(--color-grey-200) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--radius-md)}.reveal{opacity:0;transform:translateY(20px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal.revealed{opacity:1;transform:translateY(0)}.card-enter{animation:scaleIn var(--duration-base) var(--ease-spring)}.card-exit{animation:fadeIn var(--duration-fast) var(--ease-out) reverse forwards}.heart-burst{animation:heartBeat .35s var(--ease-spring)}.filter-chip{transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-spring)}.filter-chip:active{transform:scale(.94)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stagger>*{opacity:1;animation:none}.reveal{opacity:1;transform:none}}
