.btn-hover{transition:transform .2s ease,box-shadow .2s ease}.btn-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.btn-hover:active{transform:translateY(0);box-shadow:0 2px 4px rgba(59,130,246,.2)}.card-lift{transition:transform .3s ease,box-shadow .3s ease}.card-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1)}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.icon-pulse{animation:pulse-subtle 2s ease-in-out infinite}.color-transition{transition:color .2s ease,background-color .2s ease}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:currentColor;transition:width .3s ease}.link-underline:hover:after{width:100%}.input-glow:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1),0 0 0 1px rgba(59,130,246,.5);transition:box-shadow .2s ease}.checkbox-animate{transition:all .2s ease}.checkbox-animate:checked{transform:scale(1.1)}@keyframes spin-slow{to{transform:rotate(1turn)}}.spinner{animation:spin-slow 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in,.stagger-children>*{animation:fadeIn .5s ease forwards}.stagger-children>*{opacity:0}.stagger-children>:first-child{animation-delay:.05s}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.tooltip{opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translateY(-5px)}.tooltip-trigger:hover .tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.badge-notification{animation:badge-pulse 2s ease-in-out infinite}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.progress-animate{animation:progress 1s ease forwards}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);background-size:1000px 100%}.dark .skeleton-shimmer{background:linear-gradient(90deg,#2d3748,#1a202c 50%,#2d3748);background-size:1000px 100%}