@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 8px #8b5cf600}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .4s ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .3s ease-out forwards}.animate-slide-in-right{animation:slideInRight .4s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .4s ease-out forwards}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-bounce-subtle{animation:bounceSubtle 2s ease-in-out infinite}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 30px -8px #8b5cf626}.glass{backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);background:#0f172ab3}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#64748b}.focus-ring:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.view-transition{animation:fadeIn .3s ease-out}.tooltip-trigger:hover .tooltip-content{opacity:1;transform:translateY(0);pointer-events:auto}.tooltip-content{opacity:0;transform:translateY(4px);pointer-events:none;transition:all .2s ease}.color-swatch{transition:all .2s ease;cursor:pointer}.color-swatch:hover{transform:scale(1.15);box-shadow:0 0 0 2px #ffffff4d}.color-swatch.active{box-shadow:0 0 0 3px #fff,0 0 0 5px #8b5cf6;transform:scale(1.1)}.template-card{transition:all .3s ease;cursor:pointer}.template-card:hover{transform:translateY(-4px);border-color:#8b5cf680}.template-card.active{border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf6,0 8px 30px -8px #8b5cf64d}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-fill{transition:width .8s cubic-bezier(.4,0,.2,1)}.btn-press:active{transform:scale(.97)}@keyframes notifPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:0}}
