.button-press{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.button-press:active{transform:scale(.97)}.button-hover{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.button-hover:hover{transform:translateY(-1px)}.button-focus{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.button-focus:focus-visible{outline-offset:2px;outline:2px solid #0000;box-shadow:0 0 0 2px}.button-micro{transition:all .15s cubic-bezier(.25,.46,.45,.94)}.button-micro:hover{transform:scale(1.02)}.button-micro:active{transform:scale(.97)}.icon-rotate{transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.icon-rotate:hover{transform:rotate(5deg)}.scale-on-hover{transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.scale-on-hover:hover{transform:scale(1.05)}.scale-on-hover:active{transform:scale(.95)}.slide-on-hover{transition:transform .15s cubic-bezier(.25,.46,.45,.94)}.slide-on-hover:hover{transform:translate(4px)}.bounce-success{animation:.3s cubic-bezier(.68,-.55,.265,1.55) bounceSuccess}@keyframes bounceSuccess{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.pulse-loading{animation:1.5s cubic-bezier(.4,0,.6,1) infinite pulseLoading}@keyframes pulseLoading{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.button-press,.button-hover,.button-focus,.button-micro,.icon-rotate,.scale-on-hover,.slide-on-hover,.bounce-success,.pulse-loading{transition:none!important;animation:none!important;transform:none!important}}@media (hover:hover) and (pointer:fine){.touch-optimized:hover{transform:scale(1.02)}}@media (prefers-contrast:high){.button-focus:focus-visible{outline-offset:2px;outline:3px solid}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
