@keyframes fadeDown{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes borderGlow{0%,100%{box-shadow:0 0 0 0 rgba(200,255,0,0)}50%{box-shadow:0 0 30px 4px rgba(200,255,0,0.15)}}

.animate-float{animation:float 4s ease-in-out infinite;}
.animate-pulse{animation:pulse 2s ease-in-out infinite;}
.shimmer{background:linear-gradient(90deg,transparent,rgba(200,255,0,0.1),transparent);background-size:200%;animation:shimmer 2s linear infinite;}

/* Stagger delays for children */
.stagger > *:nth-child(1){transition-delay:.05s}
.stagger > *:nth-child(2){transition-delay:.12s}
.stagger > *:nth-child(3){transition-delay:.19s}
.stagger > *:nth-child(4){transition-delay:.26s}
.stagger > *:nth-child(5){transition-delay:.33s}
.stagger > *:nth-child(6){transition-delay:.4s}

/* Glitch text effect */
.glitch{position:relative;}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;}
.glitch::before{left:2px;text-shadow:-2px 0 #ff6b35;clip:rect(44px,450px,56px,0);animation:glitch1 5s infinite linear alternate-reverse;}
.glitch::after{left:-2px;text-shadow:2px 0 #00d4ff;clip:rect(44px,450px,56px,0);animation:glitch2 5s infinite linear alternate-reverse;}
@keyframes glitch1{0%{clip:rect(12px,9999px,48px,0)}25%{clip:rect(62px,9999px,18px,0)}50%{clip:rect(28px,9999px,76px,0)}75%{clip:rect(4px,9999px,40px,0)}100%{clip:rect(82px,9999px,24px,0)}}
@keyframes glitch2{0%{clip:rect(80px,9999px,16px,0)}25%{clip:rect(44px,9999px,64px,0)}50%{clip:rect(8px,9999px,36px,0)}75%{clip:rect(68px,9999px,92px,0)}100%{clip:rect(20px,9999px,56px,0)}}

/* AI particle text */
.ai-label{display:inline-flex;align-items:center;gap:8px;font-family:'DM Mono',monospace;font-size:11px;color:rgba(200,255,0,0.6);letter-spacing:.12em;}
.ai-label::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 1.5s ease-in-out infinite;}
