@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(50px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes modalBounceIn{0%{transform:scale(.3) rotate(-5deg);opacity:0}50%{transform:scale(1.05) rotate(2deg)}70%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.modal-bounce{animation:modalBounceIn .5s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .3s ease-out forwards}.animate-slide-in-bottom{animation:slideInFromBottom .5s ease-out forwards}.animate-slide-in-right{animation:slideInFromRight .4s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.stagger-item:first-child{animation-delay:0s}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-fade{animation:staggerFadeIn .5s ease-out forwards;opacity:0}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-scale{transition:transform .2s ease-out}.hover-scale:hover{transform:scale(1.02)}.btn-press:active{transform:scale(.97)}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-smooth-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.shimmer{background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:1000px 100%;animation:shimmer 2s linear infinite}.modal-backdrop{animation:modalFadeIn .2s ease-out forwards}.modal-content{animation:modalSlideUp .3s ease-out forwards}.focus-ring:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.focus-ring{transition:box-shadow .15s ease-in-out}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes successFlash{0%,to{background-color:transparent}50%{background-color:rgba(16,185,129,.1)}}.success-flash{animation:successFlash .6s ease-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.error-shake{animation:shake .4s ease-out}.view-transition-hero{view-transition-name:hero}.view-transition-card{view-transition-name:card}.view-transition-header{view-transition-name:header}::view-transition-new(root),::view-transition-old(root){animation-duration:.22s;animation-timing-function:ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-new(*),::view-transition-old(*){animation-duration:.01ms!important}}