@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glass{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce-dots{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes fade-in-loader{0%{opacity:0}to{opacity:1}}.animate-spin-glass{animation:.8s linear infinite spin}.animate-pulse-glass{animation:1.5s ease-in-out infinite pulse-glass}.animate-shimmer{background:linear-gradient(90deg,var(--surface-glass)0%,var(--glass-hover)50%,var(--surface-glass)100%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.animate-bounce-dots>*{animation:1.4s ease-in-out infinite bounce-dots}.animate-bounce-dots>:first-child{animation-delay:0s}.animate-bounce-dots>:nth-child(2){animation-delay:.2s}.animate-bounce-dots>:nth-child(3){animation-delay:.4s}.page-loader-overlay{animation:.3s ease-out forwards fade-in-loader}.skeleton-base{background:var(--surface-blur,#1e1e2e99);border-radius:var(--border-radius-md,12px);overflow:hidden}.skeleton-shimmer{position:relative}.skeleton-shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff14 50%,#0000 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}[data-theme=dark] .skeleton-shimmer:after,[data-theme=midnight-professional] .skeleton-shimmer:after{background:linear-gradient(90deg,#0000 0%,#7b3fe814 50%,#0000 100%)}:root:not([data-theme=dark]):not([data-theme=midnight-professional]) .skeleton-shimmer:after{background:linear-gradient(90deg,#0000 0%,#0000000d 50%,#0000 100%)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
