@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(0,71,119,.5)}50%{box-shadow:0 0 20px rgba(0,71,119,.8)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-fade-in-down{animation:fadeInDown .4s ease-out}.animate-fade-in-left{animation:fadeInLeft .4s ease-out}.animate-fade-in-right{animation:fadeInRight .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-bounce-in{animation:bounceIn .5s ease-out}.animate-shake{animation:shake .5s ease-in-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-scale{animation:pulseScale 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.2) 50%,rgba(255,255,255,0));background-size:1000px 100%;animation:shimmer 2s infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(0,71,119,.4)}.hover-brighten{transition:filter .2s ease}.hover-brighten:hover{filter:brightness(1.1)}.focus-ring{transition:box-shadow .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px rgba(0,71,119,.3)}.loading-dots:after{content:"";animation:dots 1.5s steps(4) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.stagger-fade-in>*{animation:fadeInUp .4s ease-out backwards}.stagger-fade-in>:first-child{animation-delay:.05s}.stagger-fade-in>:nth-child(2){animation-delay:.1s}.stagger-fade-in>:nth-child(3){animation-delay:.15s}.stagger-fade-in>:nth-child(4){animation-delay:.2s}.stagger-fade-in>:nth-child(5){animation-delay:.25s}.stagger-fade-in>:nth-child(6){animation-delay:.3s}.stagger-fade-in>:nth-child(7){animation-delay:.35s}.stagger-fade-in>:nth-child(8){animation-delay:.4s}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.95)}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.flip-card{perspective:1000px}.flip-card-inner{transition:transform .6s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.tooltip{opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tooltip.show{opacity:1;transform:translateY(0);pointer-events:auto}@keyframes progress{0%{width:0}}.animate-progress{animation:progress 1s ease-out forwards}@keyframes slideInNotification{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.notification-enter{animation:slideInNotification .3s ease-out}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 40px,#f0f0f0 80px);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.dark .skeleton{background:linear-gradient(90deg,#2a2a2a,#3a3a3a 40px,#2a2a2a 80px)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}