@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideUp{animation:slideUp .4s ease-out}.animate-slideDown{animation:slideDown .3s ease-out}.animate-scaleIn{animation:scaleIn .2s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);background-size:200px 100%}.hover-lift{transition:all .3s cubic-bezier(.25,.8,.25,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.gradient-border{position:relative;background:linear-gradient(45deg,transparent,rgba(59,130,246,.1),transparent);background-size:200% 200%;animation:shimmer 3s ease-in-out infinite}.gradient-border:before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(45deg,#3b82f6,#8b5cf6,#3b82f6);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(59,130,246,.6);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.8)}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.animate-checkmark{stroke-dasharray:100;animation:checkmark .6s ease-in-out forwards}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.animate-shake{animation:shake .5s ease-in-out}.button-glow{position:relative;overflow:hidden}.button-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.button-glow:hover:before{left:100%}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.flip-card-back,.flip-card-front{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#3b82f6}}.typewriter{overflow:hidden;border-right:2px solid #3b82f6;white-space:nowrap;margin:0 auto;animation:typing 3.5s steps(40),blink-caret .75s step-end infinite}