@keyframes wave-color-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes char-wave-bounce{0%,to{transform:translateY(0) scale(1);color:inherit;filter:drop-shadow(0 0 0px rgba(127,19,236,0))}35%{transform:translateY(-7px) scale(1.06);background:linear-gradient(135deg,#22d3ee,#c084fc,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 14px rgba(127,19,236,.65))}70%{transform:translateY(2px) scale(.98)}}@keyframes float-slow{0%,to{transform:translate(-50%,-50%) translateY(0) rotate(0)}50%{transform:translate(-50%,-50%) translateY(-12px) rotate(.6deg)}}@keyframes shimmer-sweep{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(220%) skew(-18deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #7f13ec59,0 0 40px #7f13ec1a}50%{box-shadow:0 0 30px #a855f7a6,0 0 60px #38bdf840}}@keyframes fade-up-enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.wave-text{display:inline-block;background:linear-gradient(90deg,#7f13ec,#a855f7 20%,#38bdf8,#ec4899 70%,#7f13ec);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;background-position:0% 50%;transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s ease;animation:wave-color-flow 6s ease infinite}.wave-text:hover{animation:wave-color-flow 1.6s linear infinite;filter:drop-shadow(0 0 18px rgba(168,85,247,.55))}.wave-word{display:inline-flex;cursor:pointer;position:relative}.wave-char{display:inline-block;background:linear-gradient(90deg,#7f13ec,#c084fc,#38bdf8,#f472b6,#7f13ec);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wave-color-flow 5s ease infinite;transition:transform .3s ease}.wave-word:hover .wave-char{animation:char-wave-bounce .75s cubic-bezier(.34,1.56,.64,1) infinite,wave-color-flow 1.4s linear infinite;animation-delay:calc(var(--char-index, 0) * 65ms)}.nav-wave-link{position:relative;display:inline-flex;align-items:center;padding:.35rem .15rem;color:#9ca3af;font-weight:500;transition:color .3s ease,transform .25s ease}.nav-wave-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;border-radius:999px;background:linear-gradient(90deg,#7f13ec,#38bdf8,#ec4899,#7f13ec);background-size:250% 100%;transform:scaleX(0);transform-origin:right;transition:transform .38s cubic-bezier(.22,1,.36,1)}.nav-wave-link:hover,.nav-wave-link.active{color:#fff;transform:translateY(-1px);text-shadow:0 0 14px rgba(127,19,236,.55)}.nav-wave-link:hover:after,.nav-wave-link.active:after{transform:scaleX(1);transform-origin:left;animation:wave-color-flow 2s linear infinite}.btn-wave{position:relative;overflow:hidden;background:linear-gradient(120deg,#7f13ec,#9333ea,#4f46e5,#7f13ec);background-size:260% 260%;transition:all .35s cubic-bezier(.22,1,.36,1);animation:pulse-glow 4s ease-in-out infinite}.btn-wave:before{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-140%) skew(-18deg)}.btn-wave:hover{transform:translateY(-2px) scale(1.02);background-position:100% 50%;animation:wave-color-flow 2s linear infinite;box-shadow:0 10px 28px -4px #7f13eca6,0 0 20px #38bdf84d}.btn-wave:hover:before{animation:shimmer-sweep .75s ease forwards}.btn-wave-light{position:relative;overflow:hidden;transition:all .35s cubic-bezier(.22,1,.36,1)}.btn-wave-light:hover{transform:translateY(-2px) scale(1.03);background:linear-gradient(90deg,#fff,#f3e8ff,#e0f2fe,#fff);background-size:250% 100%;animation:wave-color-flow 2s linear infinite;box-shadow:0 0 22px #a855f773}.card-dynamic{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .35s ease}.card-dynamic:hover{transform:translateY(-6px);box-shadow:0 20px 40px -15px #7f13ec47,0 0 25px #7f13ec1f}.floating-code-card{animation:float-slow 6s ease-in-out infinite}.animate-fade-up{animation:fade-up-enter .65s cubic-bezier(.22,1,.36,1) both}
