*{will-change:auto}.page-transition{transition:opacity .2s ease-in-out,transform .2s ease-in-out}.page-transition-enter{opacity:0;transform:translateY(10px)}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-10px)}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-loading{background:linear-gradient(90deg,#ffffff1a 25%,#fff3 50%,#ffffff1a 75%) 0 0/200px 100%;animation:1.5s infinite shimmer}.skeleton-item{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff26 50%,#ffffff0d 75%) 0 0/200px 100%;animation:2s infinite shimmer}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.font-display-swap{font-display:swap}.lazy-image{opacity:0;transition:opacity .3s ease-in-out}.lazy-image.loaded{opacity:1}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.focus-visible{outline-offset:2px;outline:2px solid #9333ea80}.button-optimized{position:relative;overflow:hidden}.button-optimized:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .3s ease-out,height .3s ease-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-optimized:active:before{width:300px;height:300px}.card-hover{transition:all .2s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.backdrop-blur-optimized{-webkit-backdrop-filter:blur(8px)}.gradient-animate{background-size:200% 200%;animation:3s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}
