@keyframes shimmer{0%{transform:translate(-100%) skew(-12deg)}to{transform:translate(200%) skew(-12deg)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #9333ea80}50%{box-shadow:0 0 20px #9333eacc}}.animate-pulse-glow{animation:pulse-glow 2s infinite}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:bounce-in .6s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slide-up .6s ease-out}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-float{animation:float 2s ease-in-out infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#1a1a1a;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:.5em;color:#1a1a1a}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(2rem,4vw,3rem);font-weight:700}h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}p{font-size:1.1rem;line-height:1.7;margin-bottom:1rem;color:#4a5568}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;font-size:1rem;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}.btn-secondary{background:#ffffff1a;color:#1a1a1a;border:2px solid rgba(102,126,234,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#667eea1a;border-color:#667eea99;transform:translateY(-2px)}.card{background:#fffffff2;border-radius:20px;padding:2rem;box-shadow:0 10px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.card:hover:before{transform:scaleX(1)}.card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #00000026}nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border-bottom:1px solid rgba(255,255,255,.2)}nav a{position:relative;color:#4a5568;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease}nav a:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);transition:all .3s ease;transform:translate(-50%)}nav a:hover:after{width:80%}nav a:hover{color:#667eea;background:#667eea1a}section{padding:5rem 0;position:relative}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.skill-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#667eea1a;color:#667eea;border-radius:25px;font-size:.9rem;font-weight:500;border:1px solid rgba(102,126,234,.2);transition:all .3s ease}.skill-tag:hover{background:#667eea33;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}input,textarea{width:100%;padding:1rem;border:2px solid rgba(102,126,234,.2);border-radius:12px;font-size:1rem;font-family:inherit;background:#ffffffe6;transition:all .3s ease}input:focus,textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}@media (max-width: 768px){.container{padding:0 1rem}section{padding:3rem 0}.btn{padding:.75rem 1.5rem;font-size:.9rem}.card{padding:1.5rem}}.loading{opacity:.7;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #667eea;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*:focus-visible{outline:2px solid #667eea;outline-offset:2px}::selection{background:#667eea4d;color:#1a1a1a}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}@keyframes glitter{0%{opacity:0;transform:translateY(0) scale(.5)}25%{opacity:1;transform:translateY(-10px) scale(1)}50%{opacity:.8;transform:translateY(-20px) scale(.8)}75%{opacity:.4;transform:translateY(-30px) scale(.6)}to{opacity:0;transform:translateY(-40px) scale(.3)}}@keyframes bubble-float{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.6;transform:translateY(90vh) scale(.3)}90%{opacity:.6;transform:translateY(-10vh) scale(.8)}to{transform:translateY(-20vh) scale(0);opacity:0}}.animate-sparkle{animation:sparkle 2s ease-in-out infinite}.animate-glitter{animation:glitter 3s ease-in-out infinite}.animate-bubble-float{animation:bubble-float 8s linear infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite alternate}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #9333ea4d}50%{box-shadow:0 0 40px #9333ea99}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes timeline-gradient-flow{0%{background-position:0% 0%}50%{background-position:0% 100%}to{background-position:0% 0%}}@keyframes timeline-gradient-pulse{0%,to{background-size:100% 200%;filter:brightness(1) drop-shadow(0 0 8px rgba(168,85,247,.4))}50%{background-size:100% 300%;filter:brightness(1.2) drop-shadow(0 0 16px rgba(168,85,247,.8))}}@keyframes timeline-color-flow{0%{background:linear-gradient(to bottom,#a855f7,#ec4899)}25%{background:linear-gradient(to bottom,#3b82f6,#a855f7)}50%{background:linear-gradient(to bottom,#10b981,#3b82f6)}75%{background:linear-gradient(to bottom,#f59e0b,#10b981)}to{background:linear-gradient(to bottom,#a855f7,#ec4899)}}@keyframes timeline-pulse{0%,to{box-shadow:0 0 10px #a855f766}50%{box-shadow:0 0 20px #a855f7cc}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-gradient{background-size:400% 400%;animation:gradient-shift 3s ease infinite}.animate-timeline-color{animation:timeline-color-flow 8s ease-in-out infinite}.animate-timeline-pulse{animation:timeline-pulse 3s ease-in-out infinite}.animate-timeline-combined{animation:timeline-color-flow 8s ease-in-out infinite,timeline-pulse 3s ease-in-out infinite}.animate-timeline-gradient{background:linear-gradient(to bottom,#a855f7,#ec4899,#3b82f6,#10b981,#f59e0b);background-size:100% 200%;animation:timeline-gradient-flow 4s ease-in-out infinite,timeline-gradient-pulse 6s ease-in-out infinite}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.gradient-text{background:linear-gradient(-45deg,#8b5cf6,#ec4899,#3b82f6,#10b981);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite}#sticky-nav.show{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#8b5cf6,#ec4899);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,#7c3aed,#db2777)}html{scroll-behavior:smooth}a:focus,button:focus{outline:2px solid #8b5cf6;outline-offset:2px}.image-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){.animate-on-scroll{transform:translateY(20px)}.animate-blob{animation-duration:10s}}
