@keyframes menuFadeIn{0%{opacity:0}to{opacity:1}}@keyframes menuItemIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpIn{to{opacity:1;transform:translateY(0)}}@keyframes gradientShimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes blink-cursor{50%{opacity:0}}@keyframes floatParticle{0%{transform:translateY(0) translateX(0) scale(1);opacity:0}10%,90%{opacity:.6}50%{transform:translateY(-50vh) translateX(30px) scale(.8)}to{transform:translateY(-100vh) translateX(-20px) scale(.3);opacity:0}}@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}to{transform:translate(10px,-10px) scale(1.02)}}@keyframes rippleExpand{to{transform:scale(4);opacity:0}}@keyframes iconBounce{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.3) rotate(-5deg)}60%{transform:scale(.95) rotate(2deg)}}@keyframes logoPulse{0%,to{box-shadow:0 0 8px rgba(34,197,94,.08),0 0 16px rgba(34,197,94,.03)}50%{box-shadow:0 0 15px rgba(34,197,94,.15),0 0 30px rgba(34,197,94,.06)}}@keyframes logoCharBounce{0%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(2px)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 8px transparent}}@keyframes cellEaten{0%{transform:scale(1.5);opacity:.2}50%{transform:scale(.8)}to{transform:scale(1);opacity:1}}@keyframes cellWavePulse{0%,to{transform:scale(1);box-shadow:none}50%{transform:scale(1.6);box-shadow:0 0 6px rgba(34,197,94,.5)}}@keyframes ringRotate{to{transform:rotate(360deg)}}@keyframes aboutFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes mouseScroll{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.3}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes detailIconFloat{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-6px) rotate(2deg)}75%{transform:translateY(4px) rotate(-1deg)}}@keyframes featureIconPop{0%{transform:scale(1)}40%{transform:scale(1.2) rotate(-5deg)}70%{transform:scale(.95) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes screenshotIconBounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}65%{transform:translateY(3px)}}@keyframes techIconSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}@keyframes detailOrbFloat{0%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-15px) scale(1.08)}to{transform:translate(-10px,10px) scale(.95)}}@keyframes detailParticleFloat{0%{transform:translateY(0) rotate(0);opacity:0}10%,90%{opacity:.5}to{transform:translateY(-200px) rotate(180deg);opacity:0}}@keyframes blogDetailIconFloat{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-6px) rotate(2deg)}75%{transform:translateY(4px) rotate(-1deg)}}@keyframes blogDetailOrbFloat{0%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-15px) scale(1.08)}to{transform:translate(-10px,10px) scale(.95)}}@keyframes blogDetailParticleFloat{0%{transform:translateY(0) rotate(0);opacity:0}10%,90%{opacity:.5}to{transform:translateY(-200px) rotate(180deg);opacity:0}}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--accent-gradient);z-index:10000;transition:width .1s linear;box-shadow:0 0 10px var(--neon-green),0 0 20px rgba(34,197,94,.15)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1);filter:blur(4px)}.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}.reveal-left{transform:translateX(-60px)}.reveal-left,.reveal-right,.reveal-scale{opacity:0;filter:blur(4px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1)}.reveal-right{transform:translateX(60px)}.reveal-scale{transform:scale(.85)}.reveal-left.visible,.reveal-right.visible,.reveal-scale.visible{opacity:1;transform:none;filter:blur(0)}.reveal:nth-child(1){transition-delay:0ms}.reveal:nth-child(2){transition-delay:100ms}.reveal:nth-child(3){transition-delay:200ms}.reveal:nth-child(4){transition-delay:300ms}.reveal:nth-child(5){transition-delay:400ms}.reveal:nth-child(6){transition-delay:500ms}.reveal:nth-child(7){transition-delay:600ms}.reveal:nth-child(8){transition-delay:700ms}.fade-up{opacity:0;transform:translateY(30px);animation:fadeUpIn 1s cubic-bezier(.16,1,.3,1) forwards}.delay-1{animation-delay:200ms}.delay-2{animation-delay:400ms}.delay-3{animation-delay:600ms}.delay-4{animation-delay:800ms}.delay-5{animation-delay:1000ms}.delay-6{animation-delay:1200ms}.gradient-text{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary),var(--accent-primary));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShimmer 4s ease infinite}.typing-cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent-primary);margin-left:4px;animation:blink-cursor .8s step-end infinite;vertical-align:text-bottom}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:floatParticle linear infinite}.hero__glow-orb{animation:orbFloat 12s ease-in-out infinite alternate}.hero__glow-orb--2{animation-delay:-6s;animation-duration:15s}.blog-card,.philosophy__card,.project-card,.skill-group{transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,border-color .4s ease}.blog-card:hover,.philosophy__card:hover,.project-card:hover,.skill-group:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 30px rgba(34,197,94,.08);border-color:var(--accent-primary)}.blog-card::after,.navbar__logo::before,.philosophy__card::after,.project-card::after,.skill-group::after{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--accent-gradient);opacity:0;z-index:-1;transition:opacity .4s ease;filter:blur(8px)}.blog-card:hover::after,.philosophy__card:hover::after,.project-card:hover::after,.skill-group:hover::after{opacity:.15}.skill-tag{transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.skill-tag:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 4px 15px rgba(34,197,94,.2)}.btn{position:relative;overflow:hidden}.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.25);transform:scale(0);animation:rippleExpand .6s ease-out;pointer-events:none}.btn--primary{transition:transform .3s ease,box-shadow .3s ease}.btn--outline:hover,.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(34,197,94,.35),0 0 15px rgba(34,197,94,.2)}.btn--outline:hover{box-shadow:0 8px 25px rgba(59,130,246,.2)}.timeline__dot{transition:box-shadow .4s ease,transform .4s ease}.timeline__item:hover .timeline__dot{transform:scale(1.3);box-shadow:0 0 0 6px var(--bg-primary),0 0 20px rgba(34,197,94,.5),0 0 40px rgba(34,197,94,.15)}.timeline__card{transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease}.timeline__item:hover .timeline__card{transform:translateX(8px);box-shadow:0 15px 40px rgba(0,0,0,.2)}.contact__link-item{transition:transform .3s ease,color .3s ease}.contact__link-item:hover{transform:translateX(6px);color:var(--accent-primary)}.contact__link-item:hover i{animation:iconBounce .5s cubic-bezier(.68,-.55,.265,1.55)}.code-window{transition:transform .5s ease,box-shadow .5s ease}.code-window:hover{transform:translateY(-5px) rotateX(2deg);box-shadow:0 25px 60px rgba(0,0,0,.4),0 0 30px rgba(34,197,94,.1)}.navbar__logo::before{inset:-2px;filter:blur(10px);transition:opacity .5s ease}.navbar__logo:hover::before{opacity:.2}.navbar__logo::after{content:"";position:absolute;top:0;left:-100%;bottom:0;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-20deg);transition:left .6s ease}.navbar__logo:hover::after{left:200%}.page-loaded .navbar__logo{animation:logoPulse 3s ease-in-out infinite}.navbar__logo:hover{animation:none}.page-loaded .logo-char--t{animation:logoCharBounce .6s cubic-bezier(.34,1.56,.64,1) .3s both}.page-loaded .logo-char--d{animation:logoCharBounce .6s cubic-bezier(.34,1.56,.64,1) .45s both}.navbar.scrolled .navbar__logo{background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.15)}.nav-link::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent-gradient);transition:width .35s cubic-bezier(.22,1,.36,1)}.nav-link.active::after,.nav-link:hover::after{width:100%}.pulse-dot{animation:pulseDot 2s ease-in-out infinite}.stat__number{transition:text-shadow .3s ease}.stat:hover .stat__number{text-shadow:0 0 20px rgba(34,197,94,.4)}.contribution-cell{transition:transform .15s ease,opacity .15s ease,background .15s ease,box-shadow .15s ease}.contribution-cell:hover{transform:scale(2);opacity:1!important;z-index:2}.back-to-top{transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease}.back-to-top.visible{opacity:1;transform:translateY(0)}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(34,197,94,.3)}.footer__social a{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),color .3s ease,text-shadow .3s ease}.footer__social a:hover{transform:translateY(-4px) scale(1.15);color:var(--accent-primary);text-shadow:0 0 15px rgba(34,197,94,.4)}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px rgba(34,197,94,.15),0 0 15px rgba(34,197,94,.05)}.about__image-ring{animation:ringRotate 20s linear infinite}.about__image-wrapper{animation:aboutFloat 6s ease-in-out infinite}.section__title{transition:text-shadow .6s ease}.reveal.visible .section__title{text-shadow:0 0 40px rgba(34,197,94,.06)}.mouse__wheel{animation:mouseScroll 2s ease-in-out infinite}.github__stat-card{transition:transform .35s cubic-bezier(.175,.885,.32,1.275),background .35s ease,box-shadow .35s ease}.github__stat-card:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 12px 35px rgba(0,0,0,.25)}.github__stat-card:hover i{animation:iconPulse .6s ease}.project-card__placeholder i{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.project-card:hover .project-card__placeholder i{transform:scale(1.15) rotate(-5deg)}.page-loaded .navbar{animation:slideDown .6s ease forwards}body.perf-lite .about__image-ring,body.perf-lite .about__image-wrapper,body.perf-lite .gradient-text,body.perf-lite .mouse__wheel,body.perf-lite .navbar__logo,body.perf-lite .particle,body.perf-lite .pulse-dot,body.perf-lite .typing-cursor{animation:none!important}body.perf-lite .detail-reveal,body.perf-lite .reveal,body.perf-lite .reveal-left,body.perf-lite .reveal-right,body.perf-lite .reveal-scale{filter:none;transition:opacity .35s ease,transform .35s ease}body.perf-lite .blog-card:hover,body.perf-lite .github__stat-card:hover,body.perf-lite .philosophy__card:hover,body.perf-lite .project-card:hover,body.perf-lite .skill-group:hover{transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;filter:none}.fade-up{opacity:1;transform:none}.hero__glow-orb{animation:none!important}.scroll-progress{display:none}.detail-reveal{opacity:1;transform:none;filter:none}}.detail-reveal{opacity:0;transform:translateY(50px);filter:blur(6px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}.detail-reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}.detail-reveal:nth-child(1){transition-delay:0ms}.detail-reveal:nth-child(2){transition-delay:80ms}.detail-reveal:nth-child(3){transition-delay:160ms}.detail-reveal:nth-child(4){transition-delay:240ms}.detail-reveal:nth-child(5){transition-delay:320ms}.detail-reveal:nth-child(6){transition-delay:400ms}.project-detail__hero-content{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.16,1,.3,1) .2s,transform .6s cubic-bezier(.16,1,.3,1) .2s}.project-detail-overlay.active .project-detail__hero-content{opacity:1;transform:translateY(0)}.project-detail__icon-wrapper{opacity:0;transform:scale(.3) rotate(-15deg);transition:opacity .5s cubic-bezier(.34,1.56,.64,1) .35s,transform .5s cubic-bezier(.34,1.56,.64,1) .35s}.project-detail-overlay.active .project-detail__icon-wrapper{opacity:1;transform:scale(1) rotate(0);animation:detailIconFloat 4s ease-in-out 1s infinite}.project-detail__stat{opacity:0;transform:translateY(30px) scale(.9);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.project-detail__stat.visible{opacity:1;transform:translateY(0) scale(1)}.project-detail__stat:nth-child(1){transition-delay:.1s}.project-detail__stat:nth-child(2){transition-delay:.2s}.project-detail__stat:nth-child(3){transition-delay:.3s}.project-detail__stat:nth-child(4){transition-delay:.4s}.project-detail__stat:hover{border-color:rgba(34,197,94,.3);box-shadow:var(--shadow-glow);transform:translateY(-4px) scale(1.03)}.project-detail__feature{opacity:0;transform:translateY(25px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,box-shadow .3s ease}.project-detail__feature.visible{opacity:1;transform:translateY(0)}.project-detail__feature:nth-child(1){transition-delay:.05s}.project-detail__feature:nth-child(2){transition-delay:.1s}.project-detail__feature:nth-child(3){transition-delay:.15s}.project-detail__feature:nth-child(4){transition-delay:.2s}.project-detail__feature:nth-child(5){transition-delay:.25s}.project-detail__feature:nth-child(6){transition-delay:.3s}.project-detail__feature:hover .project-detail__feature-icon{animation:featureIconPop .5s cubic-bezier(.34,1.56,.64,1)}.project-detail__screenshot{opacity:0;transform:translateY(40px) scale(.85);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.175,.885,.32,1.275),box-shadow .5s ease,border-color .3s ease}.project-detail__screenshot.visible{opacity:1;transform:translateY(0) scale(1)}.project-detail__screenshot:nth-child(1){transition-delay:.05s}.project-detail__screenshot:nth-child(2){transition-delay:.12s}.project-detail__screenshot:nth-child(3){transition-delay:.19s}.project-detail__screenshot:nth-child(4){transition-delay:.26s}.project-detail__screenshot:hover .project-detail__screenshot-icon{animation:screenshotIconBounce .6s cubic-bezier(.34,1.56,.64,1)}.blog-detail__takeaways-list li,.project-detail__tech-item{opacity:0;transform:translateX(-20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,box-shadow .3s ease}.project-detail__tech-item.visible{opacity:1;transform:translateX(0)}.project-detail__tech-item:nth-child(1){transition-delay:.05s}.project-detail__tech-item:nth-child(2){transition-delay:.1s}.project-detail__tech-item:nth-child(3){transition-delay:.15s}.project-detail__tech-item:nth-child(4){transition-delay:.2s}.project-detail__tech-item:nth-child(5){transition-delay:.25s}.project-detail__tech-item:nth-child(6){transition-delay:.3s}.project-detail__tech-item:hover .project-detail__tech-icon i{animation:techIconSpin .6s cubic-bezier(.34,1.56,.64,1)}.project-detail__challenge{opacity:0;transform:translateX(-30px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.project-detail__challenge.visible{opacity:1;transform:translateX(0)}.project-detail__challenge:nth-child(1){transition-delay:.1s}.project-detail__challenge:nth-child(2){transition-delay:.2s}.project-detail__link-btn{opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease,color .3s ease,background .3s ease}.project-detail__link-btn.visible{opacity:1;transform:translateY(0)}.project-detail__link-btn:nth-child(1){transition-delay:.05s}.project-detail__link-btn:nth-child(2){transition-delay:.12s}.project-detail__link-btn:nth-child(3){transition-delay:.19s}.detail-glow-orb,.detail-particle{position:absolute;border-radius:50%;pointer-events:none}.detail-glow-orb{filter:blur(60px);opacity:0;transition:opacity 1s ease .3s}.project-detail-overlay.active .detail-glow-orb{opacity:.12;animation:detailOrbFloat 10s ease-in-out infinite alternate}.detail-particle{animation:detailParticleFloat linear infinite}.blog-detail__hero-content{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.16,1,.3,1) .2s,transform .6s cubic-bezier(.16,1,.3,1) .2s}.blog-detail-overlay.active .blog-detail__hero-content{opacity:1;transform:translateY(0)}.blog-detail__icon-wrapper{opacity:0;transform:scale(.3) rotate(-15deg);transition:opacity .5s cubic-bezier(.34,1.56,.64,1) .35s,transform .5s cubic-bezier(.34,1.56,.64,1) .35s}.blog-detail-overlay.active .blog-detail__icon-wrapper{opacity:1;transform:scale(1) rotate(0);animation:blogDetailIconFloat 4s ease-in-out 1s infinite}.blog-detail__stat{opacity:0;transform:translateY(30px) scale(.9);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}.blog-detail__stat.visible{opacity:1;transform:translateY(0) scale(1)}.blog-detail__stat:nth-child(1){transition-delay:.1s}.blog-detail__stat:nth-child(2){transition-delay:.2s}.blog-detail__stat:nth-child(3){transition-delay:.3s}.blog-detail__stat:hover{border-color:rgba(34,197,94,.3);box-shadow:var(--shadow-glow);transform:translateY(-4px) scale(1.03)}.blog-detail__content-section{opacity:0;transform:translateX(-25px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,box-shadow .3s ease}.blog-detail__content-section.visible,.blog-detail__takeaways-list.visible li{opacity:1;transform:translateX(0)}.blog-detail__content-section:nth-child(1){transition-delay:.05s}.blog-detail__content-section:nth-child(2),.blog-detail__takeaways-list.visible li:nth-child(1){transition-delay:.1s}.blog-detail__content-section:nth-child(3){transition-delay:.15s}.blog-detail__takeaways-list{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1) .2s,transform .5s cubic-bezier(.16,1,.3,1) .2s}.blog-detail__takeaways-list.visible{opacity:1;transform:translateY(0)}.blog-detail__takeaways-list.visible li:nth-child(2){transition-delay:.18s}.blog-detail__takeaways-list.visible li:nth-child(3){transition-delay:.26s}.blog-detail__takeaways-list.visible li:nth-child(4){transition-delay:.34s}.blog-detail__tech-item{opacity:0;transform:translateX(-20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,box-shadow .3s ease}.blog-detail__tech-item.visible{opacity:1;transform:translateX(0)}.blog-detail__tech-item:nth-child(1){transition-delay:.05s}.blog-detail__tech-item:nth-child(2){transition-delay:.1s}.blog-detail__tech-item:nth-child(3){transition-delay:.15s}.blog-detail__tech-item:nth-child(4){transition-delay:.2s}.blog-detail__related-card{opacity:0;transform:translateY(25px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.175,.885,.32,1.275),border-color .3s ease,box-shadow .3s ease}.blog-detail__related-card.visible{opacity:1;transform:translateY(0)}.blog-detail__related-card:nth-child(1){transition-delay:.1s}.blog-detail__related-card:nth-child(2){transition-delay:.18s}.blog-detail__action-btn{opacity:0;transform:translateY(20px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease,color .3s ease,background .3s ease}.blog-detail__action-btn.visible{opacity:1;transform:translateY(0)}.blog-detail__action-btn:nth-child(1){transition-delay:.1s}.blog-detail__action-btn:nth-child(2){transition-delay:.18s}.blog-detail-glow-orb,.blog-detail-particle{position:absolute;border-radius:50%;pointer-events:none}.blog-detail-glow-orb{filter:blur(60px);opacity:0;transition:opacity 1s ease .3s}.blog-detail-overlay.active .blog-detail-glow-orb{opacity:.15;animation:blogDetailOrbFloat 10s ease-in-out infinite alternate}.blog-detail-particle{animation:blogDetailParticleFloat linear infinite}