:root{--primary-color: #6366f1;--secondary-color: #8b5cf6;--accent-color: #06b6d4;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-dark: #111827;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 30px rgba(99, 102, 241, .15);--gradient-primary: linear-gradient(135deg, var(--primary-color), var(--secondary-color));--gradient-accent: linear-gradient(135deg, var(--accent-color), var(--primary-color));--gradient-success: linear-gradient(135deg, var(--success-color), var(--accent-color));--gradient-animated: linear-gradient(45deg, #6366f1, #8b5cf6, #06b6d4, #10b981);--easing-smooth: cubic-bezier(.4, 0, .2, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--easing-elastic: cubic-bezier(.175, .885, .32, 1.275)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-anchor:none;scroll-padding-top:70px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;scroll-behavior:smooth;min-height:100vh;opacity:0;animation:fadeInBody .5s ease-in-out forwards;margin:0;padding:0;position:relative;scroll-margin-top:70px}@keyframes fadeInBody{to{opacity:1}}.cursor-trail{position:fixed;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.4) 0%,transparent 70%);pointer-events:none;z-index:9999;transition:all .1s ease;left:var(--cursor-x, 0);top:var(--cursor-y, 0);transform:translate(-50%,-50%)}.cursor-trail.cursor-hover{transform:translate(-50%,-50%) scale(2);background:radial-gradient(circle,rgba(99,102,241,.6) 0%,transparent 70%)}.cursor-pointer{cursor:pointer!important}.skills-tooltip,.wasm-skills-tooltip{position:fixed;background:rgba(0,0,0,.9);color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;pointer-events:none;z-index:1000;max-width:300px;border:1px solid var(--skill-color, #6366f1);box-shadow:0 4px 20px rgba(0,0,0,.3);left:var(--tooltip-x, 0);top:var(--tooltip-y, 0);display:none;transition:opacity .2s ease}.skills-tooltip.visible,.wasm-skills-tooltip.visible{display:block;opacity:1}.skills-tooltip .skill-name,.wasm-skills-tooltip .skill-name{color:var(--skill-color, #6366f1)}.page-transition{opacity:0;transform:translateY(20px);animation:pageEnter .8s var(--easing-smooth) forwards}@keyframes pageEnter{to{opacity:1;transform:translateY(0)}}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease}.loader.hidden{opacity:0;pointer-events:none}.loader-content{text-align:center;color:#fff}.loader-text{font-size:1.5rem;font-weight:600;margin-bottom:2rem;animation:pulse 2s ease-in-out infinite}.loader-progress{width:300px;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.loader-bar{height:100%;background:var(--gradient-primary);border-radius:2px;animation:loading 2s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes loading{0%{width:0%}to{width:100%}}#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:.8}.desktop-navbar{position:fixed;top:0;left:0;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;height:70px;display:none}.desktop-navbar.scrolled{background:rgba(255,255,255,.98);box-shadow:var(--shadow-md)}.desktop-nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px}.desktop-nav-logo{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-decoration:none;transition:transform .3s ease;display:flex;align-items:center;gap:.75rem}.desktop-nav-logo:hover{transform:scale(1.05)}.desktop-nav-logo-img{height:55px;width:auto;border-radius:8px;object-fit:contain;margin-top:8px}.desktop-nav-logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.desktop-nav-menu{display:flex;list-style:none;gap:2rem}.desktop-nav-link{color:var(--text-primary);text-decoration:none;font-weight:500;position:relative;transition:color .3s ease}.desktop-nav-link:hover{color:var(--primary-color)}.desktop-nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--primary-color);transition:width .3s ease}.desktop-nav-link:hover:after{width:100%}.mobile-navigation{position:fixed;top:0;left:0;width:100%;z-index:2000;display:none}.mobile-nav-header{background:#fff;height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid #eee}.mobile-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--primary-color);font-weight:700;font-size:18px}.mobile-logo-img{height:36px;width:auto;border-radius:6px}.mobile-logo-text{color:var(--primary-color)}.mobile-hamburger{background:none;border:none;cursor:pointer;padding:10px;display:flex;flex-direction:column;gap:4px}.mobile-hamburger span{width:25px;height:3px;background:#333;transition:all .3s ease;border-radius:2px}.mobile-hamburger.active span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.mobile-hamburger.active span:nth-child(2){opacity:0}.mobile-hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-menu{position:fixed;top:70px;left:0;width:100%;height:calc(100vh - 70px);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:50px;transform:translate(-100%);transition:transform .3s ease;overflow-y:auto}.mobile-menu.active{transform:translate(0)}.mobile-link{display:block;padding:20px 0;margin:10px 0;font-size:20px;font-weight:600;color:#333;text-decoration:none;text-align:center;background:rgba(99,102,241,.05);border:2px solid rgba(99,102,241,.2);border-radius:10px;width:250px;transition:all .3s ease}.mobile-link:hover,.mobile-link:active{background:rgba(99,102,241,.1);border-color:var(--primary-color);transform:translateY(-2px);color:var(--primary-color)}@media (min-width: 769px){.desktop-navbar{display:block}.mobile-navigation{display:none}}@media (max-width: 768px){.desktop-navbar{display:none}.mobile-navigation{display:block}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:70px 2rem 0}.hero-content{text-align:center;max-width:800px;animation:heroEnter 1.2s var(--easing-elastic) forwards;opacity:0}@keyframes heroEnter{0%{opacity:0;transform:translateY(60px) scale(.8)}60%{opacity:1;transform:translateY(-10px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-title{font-size:4rem;font-weight:700;margin-bottom:1rem}.hero-greeting{display:block;font-size:1.2rem;color:var(--text-secondary);margin-bottom:.5rem}.hero-name{display:block;font-size:4rem;font-weight:700;background:var(--gradient-animated);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;animation:gradientShift 3s ease-in-out infinite,typewriter 2s steps(12) .5s both;position:relative;overflow:hidden}.hero-name:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:translate(-100%);animation:shimmer 2s infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero-subtitle{font-size:1.5rem;color:var(--text-secondary);margin-bottom:1.5rem;height:2.4rem;line-height:2.4rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.elite-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;font-size:1.2em;text-shadow:0 0 20px rgba(99,102,241,.3);animation:eliteGlow 2s ease-in-out infinite alternate}@keyframes eliteGlow{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.2);transform:scale(1.05)}}.hero-description{font-size:1.1rem;color:var(--text-light);max-width:600px;margin:0 auto 2rem}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);animation:bounce 2s infinite}.scroll-indicator{display:flex;flex-direction:column;align-items:center;color:var(--text-light);font-size:.9rem}.scroll-arrow{width:20px;height:20px;border-right:2px solid var(--text-light);border-bottom:2px solid var(--text-light);transform:rotate(45deg);margin-top:.5rem}.btn{display:inline-block;padding:.75rem 2rem;font-weight:600;text-decoration:none;border-radius:50px;transition:all .4s var(--easing-smooth);border:none;cursor:pointer;position:relative;overflow:hidden;transform:translateY(0);will-change:transform}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s var(--easing-smooth);z-index:1}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:translate(-50%,-50%);border-radius:50%;transition:width .6s var(--easing-smooth),height .6s var(--easing-smooth);z-index:0}.btn:hover:after{width:300px;height:300px}.btn:active{transform:scale(.95)}.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-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);position:relative;z-index:1}.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-xl),var(--shadow-glow);background:var(--gradient-animated);background-size:400% 400%;animation:gradientShift 2s ease infinite}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px rgba(99,102,241,.5)}.btn-secondary{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.btn-full{width:100%}section{min-height:100vh;padding:70px 0 5rem;display:flex;align-items:center;justify-content:center}section .container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.experience .container{justify-content:flex-start;padding-top:2rem}.experience .container::-webkit-scrollbar{display:none}.experience .section-header{position:sticky;top:0;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-secondary) 70%,rgba(255,255,255,.9) 90%,rgba(255,255,255,.7) 100%);z-index:10;padding:1rem 3rem 2rem;margin-bottom:1rem;backdrop-filter:blur(10px)}.footer{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--bg-dark),#1a202c);color:#fff;padding:1rem 0;z-index:500;box-shadow:0 -4px 20px rgba(0,0,0,.1);transform:translateY(100%);transition:transform .3s ease}.footer.visible{transform:translateY(0)}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-content p{color:#e2e8f0;margin:0;font-size:.9rem}.footer-social{display:flex;gap:1.5rem}.footer .social-link{display:flex;align-items:center;gap:.5rem;color:#e2e8f0;text-decoration:none;font-size:.9rem;transition:all .3s ease;padding:.5rem;border-radius:8px}.footer .social-link:hover{color:var(--primary-color);background:rgba(99,102,241,.1);transform:translateY(-2px)}.footer .social-link svg{transition:transform .3s ease}.footer .social-link:hover svg{transform:scale(1.1)}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--gradient-primary);border-radius:2px}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.about{background:var(--bg-secondary)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text{font-size:1.1rem;line-height:1.8;color:var(--text-secondary)}.about-info{margin-top:2rem}.info-item{display:flex;margin-bottom:1rem}.info-label{font-weight:600;color:var(--text-primary);min-width:100px}.info-value{color:var(--text-secondary)}.about-visual{display:flex;justify-content:center}.floating-card{background:var(--bg-primary);padding:2rem;border-radius:20px;box-shadow:var(--shadow-xl);transform:perspective(1000px) rotateX(0) rotateY(0);transition:transform .6s ease;position:relative;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.floating-card:hover{box-shadow:var(--shadow-xl),0 0 30px rgba(99,102,241,.15)}.floating-card h3{color:var(--primary-color);margin-bottom:1rem}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border-color);transform:translate(-50%)}.timeline-item{position:relative;margin-bottom:3rem;display:flex;align-items:center}.timeline-item:nth-child(odd){flex-direction:row-reverse}.timeline-item:nth-child(odd) .timeline-content{text-align:right}.timeline-dot{position:absolute;left:50%;transform:translate(-50%);width:16px;height:16px;background:var(--primary-color);border-radius:50%;border:4px solid var(--bg-primary);box-shadow:var(--shadow-md);z-index:10;top:2rem}.timeline-content{flex:1;background:var(--bg-primary);padding:2rem;border-radius:15px;box-shadow:var(--shadow-md);margin:0 2rem;position:relative;transition:all .4s var(--easing-smooth);transform:translateY(0) scale(1);opacity:1}.timeline-content:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-xl),var(--shadow-glow);border:1px solid rgba(99,102,241,.2)}.timeline-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.02),rgba(139,92,246,.02));border-radius:15px;opacity:0;transition:opacity .3s ease}.timeline-content:hover:before{opacity:1}@keyframes slideInTimeline{0%{opacity:0;transform:translate(-50px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.timeline-header h3{color:var(--primary-color);font-size:1.3rem;margin-bottom:.5rem}.timeline-company{color:var(--text-secondary);font-weight:600;display:block;margin-bottom:.5rem}.timeline-duration{color:var(--text-light);font-size:.9rem;background:var(--bg-secondary);padding:.25rem .75rem;border-radius:20px;display:inline-block}.timeline-description{list-style:none;margin-top:1rem}.timeline-description li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}.timeline-description li:before{content:"▸";position:absolute;left:0;color:var(--primary-color)}.education{background:var(--bg-primary)}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;max-width:800px;margin:0 auto}.education-card{background:var(--bg-secondary);padding:2rem;border-radius:15px;box-shadow:var(--shadow-md);display:flex;align-items:flex-start;gap:1.5rem;transition:all .4s var(--easing-smooth);position:relative;overflow:hidden;opacity:0;animation:educationCardEnter .8s var(--easing-elastic) forwards}.education-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-xl),var(--shadow-glow)}.education-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.03),rgba(139,92,246,.03));opacity:0;transition:opacity .3s ease}.education-card:hover:before{opacity:1}.education-icon{width:60px;height:60px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;position:relative;z-index:1}.education-icon svg{transition:transform .3s ease}.education-card:hover .education-icon svg{transform:scale(1.1) rotate(5deg)}.education-content h3{color:var(--primary-color);font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.education-content h4{color:var(--text-secondary);font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.education-year{color:var(--text-light);font-size:.9rem;background:var(--bg-primary);padding:.25rem .75rem;border-radius:20px;display:inline-block;margin-bottom:.75rem}.education-details{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}@keyframes educationCardEnter{0%{opacity:0;transform:translateY(40px) scale(.8)}60%{opacity:1;transform:translateY(-8px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}.skills{background:var(--bg-secondary)}.skills-container{position:relative;min-height:80vh;width:100%;background:transparent;overflow:hidden;border-radius:20px;margin:2rem 0}#skills-canvas{width:100%!important;height:500px!important;display:block!important;background:#f8fafc!important;border-radius:12px}.skills-controls{position:absolute;top:20px;right:20px;display:flex;gap:10px;z-index:10}.skills-control-btn{padding:10px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:25px;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:500;color:var(--text-primary)}.skills-control-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.skills-control-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.skills-legend{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:10}.legend-item{display:flex;align-items:center;gap:8px;background:var(--bg-primary);padding:6px 12px;border-radius:15px;font-size:12px;font-weight:500;color:var(--text-primary);box-shadow:var(--shadow-sm)}.legend-color{width:12px;height:12px;border-radius:50%}.skills-info{position:absolute;bottom:20px;left:20px;right:20px;background:var(--bg-primary);padding:20px;border-radius:15px;box-shadow:var(--shadow-md);opacity:0;transform:translateY(20px);transition:all .3s ease;z-index:10}.skills-info.visible{opacity:1;transform:translateY(0)}.skills-info h3{margin:0 0 8px;color:var(--text-primary);font-size:18px}.skills-info p{margin:0;color:var(--text-secondary);font-size:14px}@media (max-width: 768px){#skills-canvas{height:600px}.skills-controls{position:relative;justify-content:center;top:0;right:0;margin-bottom:20px}.skills-legend{position:relative;margin-bottom:20px;top:0;left:0;flex-direction:row;flex-wrap:wrap;justify-content:center}.skills-info{position:relative;opacity:1;transform:translateY(0);bottom:0;left:0;right:0;margin-top:20px}.skills-container{min-height:700px}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;perspective:1000px}.skill-card{background:var(--bg-primary);padding:2rem;border-radius:20px;box-shadow:var(--shadow-md);transition:all .6s var(--easing-smooth);position:relative;overflow:hidden;opacity:1;transform:translate(0) rotateY(0);cursor:pointer}.skill-card.pre-animate{opacity:0;transform:translate(-100px) rotateY(-15deg)}.skill-card.pre-animate:nth-child(2n){transform:translate(100px) rotateY(15deg)}.skill-card:hover{transform:translateY(-15px) rotateX(5deg) scale(1.05);box-shadow:var(--shadow-xl),var(--shadow-glow),0 25px 50px rgba(99,102,241,.2);border:1px solid rgba(99,102,241,.4)}.skill-card:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:var(--gradient-animated);background-size:400% 400%;border-radius:23px;opacity:0;z-index:-1;transition:opacity .4s ease;animation:gradientShift 3s ease-in-out infinite}.skill-card:hover:before{opacity:1}.skill-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 50%,transparent);transition:left .6s ease;border-radius:20px}.skill-card:hover:after{left:100%}.skill-card.animate-in{opacity:1!important;transform:translate(0) rotateY(0)!important;transition:all .8s var(--easing-elastic)}.skill-content{position:relative;z-index:2;text-align:center}.skill-icon{margin-bottom:1.5rem;position:relative}.skill-name{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.skill-card:hover .skill-name{background:var(--gradient-animated);background-size:200% 200%;animation:gradientShift 2s ease-in-out infinite}.skill-category{color:var(--text-secondary);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;opacity:.8;transition:opacity .3s ease}.skill-card:hover .skill-category{opacity:1;color:var(--primary-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.project-card{background:var(--bg-primary);border-radius:15px;overflow:hidden;box-shadow:var(--shadow-md);transition:all .5s var(--easing-smooth);position:relative;transform:translateY(0) scale(1);opacity:0;animation:projectCardEnter .8s var(--easing-elastic) forwards}.project-card:hover{transform:translateY(-15px) scale(1.03);box-shadow:var(--shadow-xl),var(--shadow-glow)}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.05));opacity:0;transition:opacity .3s ease;z-index:1;border-radius:15px}.project-card:hover:before{opacity:1}@keyframes projectCardEnter{0%{opacity:0;transform:translateY(50px) scale(.8)}60%{opacity:1;transform:translateY(-10px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}.project-image{height:200px;background:var(--gradient-animated);background-size:400% 400%;position:relative;overflow:hidden;animation:gradientShift 4s ease-in-out infinite}.project-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.project-card:hover .project-image:before{transform:translate(100%)}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:1rem}.project-link{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--bg-primary);border-radius:50%;color:var(--text-primary);text-decoration:none;transition:transform .3s ease}.project-link:hover{transform:scale(1.1)}.project-content{padding:2rem}.project-content h3{color:var(--text-primary);margin-bottom:1rem}.project-content p{color:var(--text-secondary);margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:var(--bg-secondary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.contact{background:var(--bg-secondary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:center;gap:1rem}.contact-icon{width:50px;height:50px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.contact-details h4{color:var(--text-primary);margin-bottom:.25rem}.contact-details p{color:var(--text-secondary)}.contact-form{background:var(--bg-primary);padding:2rem;border-radius:15px;box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:120px}.footer{background:var(--bg-dark);color:#fff;padding:2rem 0;text-align:center}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem}.footer-social{display:flex;gap:1rem}.social-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:5px;transition:background .3s ease}.social-link:hover{background:var(--primary-color)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@media (max-width: 768px){.hero{height:auto;min-height:100vh;padding:70px 1rem 2rem;overflow-y:visible;align-items:flex-start;padding-top:100px}.hero-content{max-width:100%;padding:1rem 0;margin-top:0}.hero-name{font-size:2.5rem;line-height:1.1;margin-bottom:1rem}.hero-subtitle{font-size:1.2rem;line-height:1.4;margin-bottom:1rem;height:auto}.hero-description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;padding:0 .5rem}.hero-buttons{flex-direction:column;align-items:center;gap:.8rem}.hero-buttons .btn{width:200px;text-align:center}.about-content{grid-template-columns:1fr;gap:2rem}.timeline:before{left:20px}.timeline-item{flex-direction:row!important}.timeline-item .timeline-content{text-align:left!important;margin-left:3rem;margin-right:0}.timeline-dot{left:20px;transform:translate(-50%)}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-content{flex-direction:column;gap:1rem}}@media (max-width: 480px){.container{padding:0 1rem}.hero{padding:70px .5rem 1rem}.hero-name{font-size:2rem;line-height:1.1}.hero-subtitle{font-size:1.1rem}.hero-description{font-size:.95rem;padding:0;line-height:1.5}.section-title{font-size:2rem}.timeline-content{margin-left:2rem;padding:1.5rem}}@media (max-width: 768px){.education-card{flex-direction:column;text-align:center}}@media (max-width: 480px){.education-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:10000;font-weight:600}.skip-link:focus{top:6px}@media (prefers-contrast: high){:root{--primary-color: #000080;--text-primary: #000000;--text-secondary: #333333;--border-color: #000000}}a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 6px rgba(99,102,241,.2)}.btn,.nav-link,.social-link,.project-link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.text-white{color:#ffffff \!important}@media (max-width: 768px){#skills-canvas{height:400px}.skills-controls{position:relative;top:auto;right:auto;justify-content:center;margin-bottom:20px}.skills-legend{position:relative;top:auto;left:auto;margin-bottom:20px}.skills-info{position:relative;bottom:auto;left:auto;right:auto;margin-top:20px;opacity:1;transform:none}}.bg-contrast{background:#000;color:#fff}.focus-trap{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--primary-color);border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wasm-skills-tooltip{position:fixed;background:rgba(0,0,0,.9);color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;pointer-events:none;z-index:1000;max-width:300px;box-shadow:0 4px 20px rgba(0,0,0,.3);display:none}.wasm-skills-tooltip strong,.wasm-skills-tooltip .skill-name{display:block;margin-bottom:4px;color:var(--skill-color, #6366f1)}.wasm-skills-tooltip small{opacity:.8}.wasm-skills-error{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;padding:40px;text-align:center}.wasm-skills-error h3{color:#334155;margin-bottom:20px;font-size:1.25rem}.wasm-skills-error p{color:#64748b;margin-bottom:20px}.wasm-skills-error .error-details{color:#94a3b8;font-size:14px}.scroll-progress-bar{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4);z-index:999;transition:width .1s ease}.particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-2;opacity:.1}.tilt-shadow{box-shadow:0 20px 40px rgba(0,0,0,.1),5px 5px 20px rgba(99,102,241,.2);transition:box-shadow .3s ease}
