@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-fade-out{animation:.3s ease-out fadeOut}.animate-slide-in-down{animation:.3s ease-out slideInDown}.animate-slide-in-up{animation:.3s ease-out slideInUp}.animate-slide-in-left{animation:.3s ease-out slideInLeft}.animate-slide-in-right{animation:.3s ease-out slideInRight}.animate-slide-out-down{animation:.3s ease-out slideOutDown}.animate-slide-out-up{animation:.3s ease-out slideOutUp}.animate-scale-in{animation:.3s ease-out scaleIn}.animate-scale-out{animation:.3s ease-out scaleOut}.animate-bounce{animation:1s infinite bounce}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-shimmer{animation:2s infinite shimmer}.animate-shake{animation:.5s shake}.transition-all{transition:all .3s ease-in-out}.transition-colors{transition:color,background-color,border-color,text-decoration-color,fill,stroke .3s ease-in-out}.transition-opacity{transition:opacity .3s ease-in-out}.transition-transform{transition:transform .3s ease-in-out}.transition-shadow{transition:box-shadow .3s ease-in-out}.hover-lift{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a}.dark .hover-lift:hover{box-shadow:0 10px 25px #0000004d}.hover-scale{transition:transform .3s ease-in-out}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease-in-out}.hover-glow:hover{box-shadow:0 0 20px #fb923c66}.dark .hover-glow:hover{box-shadow:0 0 20px #fb923c33}.page-enter{animation:.4s ease-out fadeIn}.page-exit{animation:.4s ease-out fadeOut}.modal-enter{animation:.3s ease-out scaleIn}.modal-exit{animation:.3s ease-out scaleOut}.modal-backdrop-enter{animation:.3s ease-out fadeIn}.modal-backdrop-exit{animation:.3s ease-out fadeOut}.card-hover{transition:all .3s ease-in-out}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000014}.dark .card-hover:hover{box-shadow:0 20px 40px #0003}.button-press{transition:all .2s ease-in-out}.button-press:active{transform:scale(.98)}.color-transition{transition:color .3s ease-in-out}@keyframes expandDown{0%{opacity:0;transform-origin:top;transform:scaleY(.9)}to{opacity:1;transform-origin:top;transform:scaleY(1)}}@keyframes collapseUp{0%{opacity:1;transform-origin:top;transform:scaleY(1)}to{opacity:0;transform-origin:top;transform:scaleY(.9)}}.animate-expand-down{animation:.3s ease-out expandDown}.animate-collapse-up{animation:.3s ease-out collapseUp}.loading-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes checkmark{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.animate-checkmark{animation:.6s ease-out forwards checkmark}@keyframes inputFocus{0%{box-shadow:0 0 #fb923c80}to{box-shadow:0 0 0 4px #fb923c1a}}.focus-ring:focus{animation:.3s ease-out inputFocus}
