@keyframes pageLoad{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #06b6d466}50%{transform:scale(1.05);box-shadow:0 0 0 10px #06b6d400}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{border-color:transparent}50%{border-color:#06b6d4}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes morph{0%,to{border-radius:.75rem;transform:scale(1)}50%{border-radius:2rem;transform:scale(1.02)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.advanced-hover{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1)}.advanced-hover: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 .6s}.advanced-hover:hover:before{left:100%}.parallax-element{will-change:transform;transition:transform .1s ease-out}.magnetic{transition:transform .3s cubic-bezier(.23,1,.32,1);cursor:pointer}.magnetic:hover{transform:scale(1.1)}@keyframes glitch{0%{text-shadow:.05em 0 0 #00ffff,-.03em -.04em 0 #ff00ff,.025em .04em 0 #ffff00}15%{text-shadow:.05em 0 0 #00ffff,-.03em -.04em 0 #ff00ff,.025em .04em 0 #ffff00}16%{text-shadow:-.05em -.025em 0 #00ffff,.025em .035em 0 #ff00ff,-.05em -.05em 0 #ffff00}49%{text-shadow:-.05em -.025em 0 #00ffff,.025em .035em 0 #ff00ff,-.05em -.05em 0 #ffff00}50%{text-shadow:.05em .035em 0 #00ffff,.03em 0 0 #ff00ff,0 -.04em 0 #ffff00}99%{text-shadow:.05em .035em 0 #00ffff,.03em 0 0 #ff00ff,0 -.04em 0 #ffff00}to{text-shadow:-.05em 0 0 #00ffff,-.025em -.04em 0 #ff00ff,-.04em -.025em 0 #ffff00}}.page-transition{animation:pageLoad .8s ease-out}.stagger-children>*{animation:staggerFadeIn .6s ease-out}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.float-on-hover{transition:transform .3s ease}.float-on-hover:hover{transform:translateY(-8px);animation:float 2s ease-in-out infinite}.pulse-on-hover{transition:all .3s ease}.pulse-on-hover:hover{animation:pulse 1.5s infinite}.skeleton{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}}body[data-theme=dark] .skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%);background-size:200% 100%}@media(max-width:768px){.advanced-hover:before{display:none}.float-on-hover:hover{transform:translateY(-4px);animation:none}.pulse-on-hover:hover{animation:none;transform:scale(1.02)}.magnetic:active{transform:scale(.95)}}.contact-form{animation:slideInUp .8s ease-out}.contact-form .form-group{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.contact-form .form-group:nth-child(1){animation-delay:.1s}.contact-form .form-group:nth-child(2){animation-delay:.2s}.contact-form .form-group:nth-child(3){animation-delay:.3s}.contact-form .form-group:nth-child(4){animation-delay:.4s}.contact-form .form-group:nth-child(5){animation-delay:.5s}.form-input{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.form-input:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a,0 0 0 1px #3b82f633}.form-input:focus{transform:translateY(-3px);box-shadow:0 0 0 3px #3b82f61a,0 8px 25px #3b82f626}.form-label{transition:all .3s ease;cursor:pointer}.form-input:focus+.form-label{color:#3b82f6;transform:scale(1.05)}.btn{position:relative;overflow:hidden;transition:all .3s ease}.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 ease}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px) scale(1.02)}.btn:active{transform:translateY(0) scale(.98);transition:transform .1s ease}@keyframes focusRing{0%{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f61a}to{box-shadow:0 0 #3b82f600}}.form-input:focus{animation:focusRing .6s ease-out}.form-input.success{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;animation:successPulse .5s ease-out}.form-input.error{border-color:#ef4444;animation:shake .5s ease-in-out}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn.loading{pointer-events:none;opacity:.7}.btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#3b82f60d,#10b9810d,#8b5cf60d)}body[data-theme=dark] .hero{background:linear-gradient(135deg,#3b82f61a,#10b9811a,#8b5cf61a)}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(59,130,246,.1) 0%,transparent 50%);animation:pulse-glow 8s ease-in-out infinite;pointer-events:none}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.hero h1{background:linear-gradient(135deg,#3b82f6,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(59,130,246,.3);animation:gradient-shift 5s ease infinite;background-size:200% 200%}body[data-theme=dark] .hero h1{text-shadow:0 0 40px rgba(59,130,246,.5)}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.subtitle{position:relative;padding-left:2rem;padding-right:2rem}.subtitle:before,.subtitle:after{content:"⚛️";position:absolute;top:50%;transform:translateY(-50%);font-size:1.5rem;opacity:.6}.subtitle:before{left:0;animation:rotate-atom 4s linear infinite}.subtitle:after{right:0;animation:rotate-atom 4s linear infinite reverse}@keyframes rotate-atom{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.card:hover:before{left:100%}@keyframes float-molecule{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.tool-icon,.project-title i{animation:float-molecule 6s ease-in-out infinite}.tech-tag{position:relative;transition:all .3s ease}.tech-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.tech-tag:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#3b82f6,#06b6d4,#8b5cf6);border-radius:9999px;opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(4px)}.tech-tag:hover:before{opacity:.3}.project-card{border-left:4px solid transparent;transition:all .3s ease}.project-card:nth-child(4n+1){border-left-color:#3b82f6}.project-card:nth-child(4n+2){border-left-color:#10b981}.project-card:nth-child(4n+3){border-left-color:#f59e0b}.project-card:nth-child(4n+4){border-left-color:#8b5cf6}.section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,#06b6d4,#8b5cf6,transparent)}@keyframes orbital-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glassmorphic:after{content:"";position:absolute;top:50%;left:50%;width:100px;height:100px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);animation:orbital-rotation 20s linear infinite;pointer-events:none;opacity:0;transition:opacity .3s ease}.glassmorphic:hover:after{opacity:1}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 0 20px #3b82f633}body[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px #3b82f633,0 0 20px #3b82f666}.page-transition-bond{position:fixed;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#3b82f6,#06b6d4,#8b5cf6);transform:scaleX(0);transform-origin:left;z-index:9999;animation:bond-growth .5s ease-out forwards}@keyframes bond-growth{to{transform:scaleX(1)}}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,#3b82f6,#06b6d4);transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn:hover:before{width:300px;height:300px}.btn:active:before{width:0;height:0;transition:width 0s,height 0s}.grid>*{transition:all .3s cubic-bezier(.4,0,.2,1)}.grid:hover>*{opacity:.7}.grid>*:hover{opacity:1;transform:scale(1.05);z-index:10}code{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);padding:.2rem .4rem;border-radius:.25rem;font-family:Source Code Pro,monospace;border:1px solid rgba(59,130,246,.2)}body[data-theme=dark] code{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-color:#3b82f64d}ol{counter-reset:atomic-number}ol li{counter-increment:atomic-number;position:relative;padding-left:3rem}ol li:before{content:counter(atomic-number);position:absolute;left:0;top:0;width:2rem;height:2rem;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.section{position:relative}.section:nth-child(2n):before{content:"";position:absolute;top:20%;right:5%;width:200px;height:200px;background-image:linear-gradient(#3b82f620 1px,transparent 1px),linear-gradient(90deg,#3b82f620 1px,transparent 1px);background-size:40px 40px;transform:rotate(45deg);opacity:.3;pointer-events:none}body[data-theme=dark] .section:nth-child(2n):before{opacity:.5}@media(max-width:768px){.subtitle:before,.subtitle:after{font-size:1rem}.hero:before{display:none}}.loading-molecule{display:inline-block;width:40px;height:40px;position:relative}.loading-molecule:before,.loading-molecule:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#3b82f6;animation:molecule-bounce 1.5s ease-in-out infinite}.loading-molecule:before{left:0}.loading-molecule:after{right:0;animation-delay:.75s}@keyframes molecule-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}
