[data-reveal]{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out}[data-reveal].hidden{opacity:0;transform:translateY(30px)}[data-reveal=fade]{opacity:1;transition:opacity .8s ease-out}[data-reveal=fade].hidden{opacity:0;transform:none}[data-reveal=slide-up]{opacity:1;transform:translateY(0)}[data-reveal=slide-up].hidden{opacity:0;transform:translateY(40px)}[data-reveal=slide-left]{opacity:1;transform:translateX(0)}[data-reveal=slide-left].hidden{opacity:0;transform:translateX(-40px)}[data-reveal=slide-right]{opacity:1;transform:translateX(0)}[data-reveal=slide-right].hidden{opacity:0;transform:translateX(40px)}[data-reveal=scale]{opacity:1;transform:scale(1);transition:opacity .6s ease-out,transform .6s ease-out}[data-reveal=scale].hidden{opacity:0;transform:scale(.9)}[data-reveal=zoom]{opacity:1;transform:scale(1);transition:opacity .5s ease-out,transform .5s ease-out}[data-reveal=zoom].hidden{opacity:0;transform:scale(.8)}[data-reveal][data-delay="100"]{transition-delay:.1s}[data-reveal][data-delay="200"]{transition-delay:.2s}[data-reveal][data-delay="300"]{transition-delay:.3s}[data-reveal][data-delay="400"]{transition-delay:.4s}[data-reveal][data-delay="500"]{transition-delay:.5s}[data-reveal][data-delay="600"]{transition-delay:.6s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-pulse:hover{animation:pulse 1s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.btn-shimmer{background-image:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2) 50%,transparent);background-size:200% 100%}.btn-shimmer:hover{animation:shimmer 2s linear infinite}.btn-ripple{overflow:hidden;position:relative}.btn-ripple:after{background-color:hsla(0,0%,100%,.5);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-ripple:active:after{height:300px;width:300px}.btn-scale{transition:transform .2s ease-out}.btn-scale:focus,.btn-scale:hover{transform:scale(1.05)}.btn-scale:active{transform:scale(.98)}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary),0 0 10px var(--color-primary)}50%{box-shadow:0 0 10px var(--color-primary),0 0 20px var(--color-primary)}}.btn-glow:focus,.btn-glow:hover{animation:glow 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .8s linear infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:currentcolor;height:24px;width:24px}.spinner-lg{border-width:4px;height:48px;width:48px}.spinner-sm{border-width:2px;height:16px;width:16px}@keyframes dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.loading-dots{display:inline-flex;gap:.5em}.loading-dots span{animation:dot-pulse 1.4s ease-in-out infinite;background-color:currentColor;border-radius:50%;height:.5em;width:.5em}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes wave{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.loading-wave{display:inline-flex;gap:.25em}.loading-wave span{animation:wave 1.2s ease-in-out infinite;background-color:currentColor;height:1em;width:.25em}.loading-wave span:nth-child(2){animation-delay:.1s}.loading-wave span:nth-child(3){animation-delay:.2s}.loading-wave span:nth-child(4){animation-delay:.3s}@keyframes success-scale{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.animate-success{animation:success-scale .4s ease-out}@keyframes error-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.animate-error{animation:error-shake .5s ease-in-out}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.animate-checkmark{animation:checkmark .6s ease-out forwards;stroke-dasharray:100;stroke-dashoffset:100}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:focus-within,.hover-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.hover-zoom{overflow:hidden}.hover-zoom img{transition:transform var(--transition-slow)}.hover-zoom:focus-within img,.hover-zoom:hover img{transform:scale(1.1)}.hover-brightness{transition:filter var(--transition-base)}.hover-brightness:focus-within,.hover-brightness:hover{filter:brightness(1.1)}.hover-saturate{transition:filter var(--transition-base)}.hover-saturate:focus-within,.hover-saturate:hover{filter:saturate(1.3)}.hover-shadow{transition:box-shadow var(--transition-base)}.hover-shadow:focus-within,.hover-shadow:hover{box-shadow:var(--shadow-xl)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in{animation:fade-in .6s ease-out}.animate-fade-in-up{animation:fade-in-up .6s ease-out}.animate-fade-in-down{animation:fade-in-down .6s ease-out}.animate-fade-in-left{animation:fade-in-left .6s ease-out}.animate-fade-in-right{animation:fade-in-right .6s ease-out}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.transition-opacity{transition:opacity var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-colors{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.transition-shadow{transition:box-shadow var(--transition-base)}@keyframes focus-ring{0%{box-shadow:0 0 0 0 var(--color-primary-light)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.focus-ring:focus{animation:focus-ring .6s ease-out}@keyframes slide-in-from-left{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-from-right{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-from-top{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes zoom-out{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.animate-slide-in-left{animation:slide-in-from-left .6s ease-out}.animate-slide-in-right{animation:slide-in-from-right .6s ease-out}.animate-slide-in-top{animation:slide-in-from-top .6s ease-out}.animate-slide-in-bottom{animation:slide-in-from-bottom .6s ease-out}.animate-zoom-in{animation:zoom-in .6s ease-out}.animate-zoom-out{animation:zoom-out .6s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-subtle{animation:float-subtle 4s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.animate-breathe{animation:breathe 2.5s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate{animation:rotate 2s linear infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1.5s ease-in-out infinite}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-bounce-subtle{animation:bounce-subtle 2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-gray-200) 0,var(--color-gray-100) 50%,var(--color-gray-200) 100%);background-size:200% 100%;border-radius:var(--radius-md)}.skeleton-text{height:1em;margin-bottom:.5em;width:100%}.skeleton-title{height:2em;margin-bottom:1em;width:60%}.skeleton-avatar{border-radius:var(--radius-full);height:48px;width:48px}.skeleton-card{height:240px;width:100%}.skeleton-button{height:44px;width:120px}@keyframes progress-bar{0%{width:0}}.progress-bar{background-color:var(--color-gray-200);border-radius:var(--radius-full);height:4px;overflow:hidden;width:100%}.progress-bar-fill{animation:progress-bar 2s ease-out;background-color:var(--color-primary);height:100%}@keyframes slide-down-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.notification-enter{animation:slide-down-fade-in .3s ease-out}@keyframes slide-up-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.notification-exit{animation:slide-up-fade-out .3s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}[data-reveal],[data-reveal].hidden{opacity:1!important;transform:none!important;transition:none!important}.animate-bounce,.animate-bounce-subtle,.animate-breathe,.animate-float,.animate-float-subtle,.animate-rotate,.btn-glow,.btn-pulse,.btn-shimmer{animation:none!important}:focus-visible{transition:outline-offset .1s!important}}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.animate-duration-fast{animation-duration:.15s}.animate-duration-normal{animation-duration:.3s}.animate-duration-slow{animation-duration:.6s}.animate-duration-slower{animation-duration:1s}.animate-once{animation-iteration-count:1}.animate-twice{animation-iteration-count:2}.animate-infinite{animation-iteration-count:infinite}.animate-pause-on-hover:hover{animation-play-state:paused}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-transition{animation:page-fade-in .3s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-overlay{animation:modal-fade-in .2s ease-out}.modal-content{animation:modal-scale-up .3s ease-out}