@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-fadeOut{animation:fadeOut .3s ease-out forwards}.animate-slideInLeft{animation:slideInLeft .3s ease-out forwards}.animate-slideInRight{animation:slideInRight .3s ease-out forwards}.animate-scaleIn{animation:scaleIn .3s ease-out forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.transition-all{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-transform{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-opacity{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.stagger-children>*{opacity:0;animation:fadeIn .3s ease-out forwards}.stagger-children>:first-child{animation-delay:.05s}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.hardware-accelerate{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}