*{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.fade-in{animation:fadeIn .6s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.slide-in-right{animation:slideInRight .4s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.pulse-slow{animation:pulseSlow 2s ease-in-out infinite}@keyframes pulseSlow{0%,to{opacity:1}50%{opacity:.7}}.gradient-move{background-size:200% 200%;animation:gradientMove 3s ease infinite}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-bar{animation:progressBar 2s ease-in-out}@keyframes progressBar{0%{width:0}to{width:var(--progress-width,100%)}}.typing{animation:typing 3.5s steps(40),blink-caret .75s step-end infinite;overflow:hidden;border-right:3px solid;white-space:nowrap;margin:0 auto;letter-spacing:.15em}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:orange}}.ripple{position:relative;overflow:hidden;transform:translateZ(0)}.ripple:after{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#fff 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity 1s}.ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.floating-label{position:relative}.floating-label input:not(:-moz-placeholder)+label{transform:translateY(-20px) scale(.8);color:#3b82f6}.floating-label input:focus+label,.floating-label input:not(:placeholder-shown)+label{transform:translateY(-20px) scale(.8);color:#3b82f6}.floating-label label{position:absolute;top:50%;left:12px;transform:translateY(-50%);transition:all .2s ease;pointer-events:none;color:#6b7280}html{transition:background-color .3s ease,color .3s ease;scroll-behavior:smooth}.focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}