.btn-press{transition:transform .1s cubic-bezier(.4,0,.2,1)}.btn-press:active{transform:scale(.95)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px hsl(var(--foreground)/.08)}.input-focus{transition:all .2s ease-out}.input-focus:focus{transform:scale(1.01);box-shadow:0 0 0 3px hsl(var(--primary)/.1)}.link-hover{position:relative}.link-hover:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:0;left:0;background-color:currentColor;transform-origin:bottom right;transition:transform .25s ease-out}.link-hover:hover:after{transform:scaleX(1);transform-origin:bottom left}.icon-rotate{transition:transform .2s ease-out}.icon-rotate.rotate-90{transform:rotate(90deg)}.icon-rotate.rotate-180{transform:rotate(180deg)}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in .3s ease-out forwards}@keyframes step-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-step-fade-up{animation:step-fade-up .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-hero-fade-up{animation:hero-fade-up .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes zoom-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.zoom-in{animation:zoom-in .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 0,hsl(var(--neutral-200)) 20%,hsl(var(--muted)) 40%,hsl(var(--muted)) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.hover-glow{transition:all .3s ease-out}.hover-glow:hover{box-shadow:0 0 20px hsl(var(--primary)/.3)}.smooth-scroll{scroll-behavior:smooth}.clickable{cursor:pointer;transition:all .2s ease-out}.clickable:hover{transform:translateY(-2px)}.clickable:active{transform:translateY(0)}.tooltip{opacity:0;visibility:hidden;transition:all .2s ease-out;transform:translateY(4px)}.tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}@keyframes progress-fill{0%{width:0}}.progress-animated{animation:progress-fill 1s ease-out forwards}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:count-up .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;width:100px;height:100px;background:rgba(255,255,255,.3);border-radius:50%;transform:scale(0);pointer-events:none;opacity:0}.ripple:active:after{animation:ripple .6s linear}@keyframes gradient-flow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-flow{background-size:200% 200%;animation:gradient-flow 15s ease infinite}@keyframes glow-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.animate-glow-pulse{animation:glow-pulse 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(2deg)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes slow-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-slow-spin{animation:slow-spin 20s linear infinite}@keyframes gradient-x{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-gradient-x{background-size:200% auto;animation:gradient-x 3s ease infinite}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:1rem 2rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));text-decoration:none;border-radius:.5rem;font-weight:600;transition:all .3s ease}.skip-to-main:focus{left:1rem;top:1rem;outline:3px solid hsl(var(--ring));outline-offset:2px}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:.25rem}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-contrast:high){*{border-color:currentColor!important}[role=button],button{border:2px solid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-primary{color:hsl(var(--primary))}a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;box-shadow:0 0 0 3px hsl(var(--ring)/.2)}[aria-invalid=true]{border-color:hsl(var(--destructive))}[aria-invalid=true]:focus-visible{outline-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive)/.2)}[aria-busy=true]{cursor:progress}:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.6}[aria-expanded=true]{cursor:pointer}[aria-selected=true]{background-color:hsl(var(--accent)/.1);border-color:hsl(var(--accent))}.sr-only-live{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}