/* Floating orbs */
.orb{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;animation:float 15s ease-in-out infinite}
.orb1{width:400px;height:400px;background:radial-gradient(circle,#2a7fff44,transparent 70%);top:-100px;left:-100px;animation-delay:0s}
.orb2{width:500px;height:500px;background:radial-gradient(circle,#ff00ff33,transparent 70%);bottom:-100px;right:-100px;animation-delay:-5s}
.orb3{width:300px;height:300px;background:radial-gradient(circle,#00ffea33,transparent 70%);top:50%;left:50%;animation-delay:-10s}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(0.9)}}
/* Typing indicator */
.typing{display:flex;gap:5px;padding:4px}
.typing span{width:7px;height:7px;background:var(--accent);border-radius:50%;animation:typingBounce 1.4s infinite;box-shadow:0 0 8px var(--accent)}
.typing span:nth-child(2){animation-delay:0.2s}.typing span:nth-child(3){animation-delay:0.4s}
@keyframes typingBounce{0%,80%,100%{transform:translateY(0);opacity:0.5}40%{transform:translateY(-8px);opacity:1}}
/* Glitch text */
.glitch{position:relative}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.8}
.glitch::before{animation:glitch1 2s infinite;color:#ff00ff;z-index:-1}
.glitch::after{animation:glitch2 2s infinite;color:#00ffea;z-index:-2}
@keyframes glitch1{0%,100%{transform:translate(0)}20%{transform:translate(-1px,1px)}40%{transform:translate(-1px,-1px)}60%{transform:translate(1px,1px)}80%{transform:translate(1px,-1px)}}
@keyframes glitch2{0%,100%{transform:translate(0)}20%{transform:translate(1px,-1px)}40%{transform:translate(1px,1px)}60%{transform:translate(-1px,-1px)}80%{transform:translate(-1px,1px)}}
/* Scrollbar */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:rgba(255,255,255,0.02)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--primary),var(--accent));border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--accent),var(--primary))}
/* Shimmer */
.shimmer{position:relative;overflow:hidden}
.shimmer::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);transform:translateX(-100%);animation:shimmer 2.5s infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}
