@keyframes gradient-move{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient-move{background-size:200% 200%;animation:gradient-move 4s ease-in-out infinite}@keyframes grid-fade{0%,to{opacity:.7}50%{opacity:.3}}.animate-grid-fade{animation:grid-fade 6s ease-in-out infinite}@keyframes grid-fade2{0%,to{opacity:.5}50%{opacity:.15}}.animate-grid-fade2{animation:grid-fade2 8s ease-in-out infinite}.glass-card{box-shadow:0 16px 64px #00eaff55,0 1.5px #fff2;background:#182036a6;border:1.5px solid rgba(0,234,255,.12);transform-style:preserve-3d;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}@keyframes float-x{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-12px) translate(8px)}}.animate-float-x{animation:float-x 3.2s ease-in-out infinite}@keyframes float-x2{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-10px) translate(-10px)}}.animate-float-x2{animation:float-x2 3.7s ease-in-out infinite}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.animate-float-y{animation:float-y 2.8s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #00f0ff4d}50%{box-shadow:0 0 40px #00f0ff99}}.animate-pulse-glow{animation:pulse-glow 3s ease-in-out infinite}@keyframes float-up-down{0%,to{transform:translateY(0) translate(0)}50%{transform:translateY(-15px) translate(5px)}}.animate-float-annotation{animation:float-up-down 4s ease-in-out infinite}@keyframes rotate-3d{0%{transform:perspective(1000px) rotateY(-5deg) rotateX(10deg)}50%{transform:perspective(1000px) rotateY(5deg) rotateX(10deg)}to{transform:perspective(1000px) rotateY(-5deg) rotateX(10deg)}}.animate-rotate-3d{animation:rotate-3d 20s ease-in-out infinite;transform-style:preserve-3d}@keyframes shimmer-text{0%{background-position:-200% center}to{background-position:200% center}}.animate-shimmer-text{background-size:200% auto;animation:shimmer-text 3s linear infinite}@keyframes scroll-reveal{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal{animation:scroll-reveal .8s ease-out forwards}@keyframes stagger-fade-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.stagger-item{animation:stagger-fade-in .5s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}@keyframes circle-fill{0%{stroke-dashoffset:283}to{stroke-dashoffset:23}}.animate-circle-fill{animation:circle-fill 1.5s ease-out forwards;animation-delay:1s}@keyframes draw-line{0%{height:0}to{height:100%}}.animate-draw-line{animation:draw-line .8s ease-out forwards}.resume-card-hover{transition:all .4s cubic-bezier(.4,0,.2,1)}.resume-card-hover:hover{transform:translateY(-8px);box-shadow:0 20px 60px #00f0ff26}@keyframes particle-float{0%,to{transform:translate(0) scale(1);opacity:0}50%{opacity:1}}.particle{animation:particle-float var(--duration, 5s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.animate-badge-pulse{animation:badge-pulse 2s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient-text{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.theme-transition{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}
