:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media (max-width: 600px){.project-image{height:60vw;min-height:140px;max-height:300px}.project-image img{width:100%;height:100%;object-fit:cover}}.project-tagline{font-size:1.1rem;color:#4b5563;font-weight:600;margin:.5rem 0 1rem;letter-spacing:.5px;font-family:inherit}html,body{min-width:100vw;overflow-x:hidden}body{background-attachment:fixed;background-size:cover}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--secondary-color: #64748b;--accent-color: #f59e0b;--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #ef4444;--text-primary: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-dark: #0f172a;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,#f8fafc,#e2e8f0,#cbd5e1,#94a3b8,#64748b);background-size:300% 300%;animation:subtleShift 25s ease infinite;position:relative}@keyframes subtleShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.App{min-height:100vh;display:flex;flex-direction:column;position:relative}.App:before{content:"";position:absolute;top:0;left:0;min-width:100vw;min-height:100vh;width:100%;height:100%;pointer-events:none;z-index:-20;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 0%,transparent 45%),radial-gradient(circle at 60% 60%,rgba(255,255,255,.05) 0%,transparent 35%);animation:gentleFloat 40s ease-in-out infinite}.App:after{content:"";position:absolute;top:0;left:0;min-width:100vw;min-height:100vh;width:100%;height:100%;pointer-events:none;z-index:-20;background-image:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.03) 49%,rgba(255,255,255,.03) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(255,255,255,.02) 49%,rgba(255,255,255,.02) 51%,transparent 52%);background-size:120px 120px;animation:subtlePattern 60s linear infinite}@keyframes gentleFloat{0%,to{transform:translateY(0) scale(1);opacity:.6}33%{transform:translateY(-8px) scale(1.02);opacity:.4}66%{transform:translateY(5px) scale(.98);opacity:.8}}@keyframes subtlePattern{0%{transform:translate(0) translateY(0)}to{transform:translate(-120px) translateY(-120px)}}.main-content{flex:1;padding-top:80px;min-height:100vh}.navigation{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#fffc,#f8fafcbf 40%,#eff6ffb3,#dbeafea6);backdrop-filter:blur(15px) saturate(180%);-webkit-backdrop-filter:blur(15px) saturate(180%);border-bottom:1px solid rgba(226,232,240,.6);box-shadow:0 1px 3px #0000000d,0 4px 20px #3b82f608,inset 0 1px #fffc;z-index:9999;pointer-events:auto;transition:all .3s cubic-bezier(.4,0,.2,1)}.navigation:hover{background:linear-gradient(135deg,#ffffffe6,#f8fafcd9 40%,#eff6ffcc,#dbeafebf);backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);box-shadow:0 2px 6px #00000014,0 8px 30px #3b82f60f,inset 0 1px #ffffffe6}.navigation.scrolled{background:linear-gradient(135deg,#ffffffa6,#f8fafc99 40%,#eff6ff8c,#dbeafe80);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:0 1px 2px #0000000a,0 2px 15px #3b82f60a,inset 0 1px #fff9}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;height:80px;position:relative;z-index:10000}.brand-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.25rem;transition:all .3s ease;cursor:pointer}.brand-link:hover{color:var(--primary-color);transform:scale(1.05)}.brand-link:hover .brand-icon{animation:pulse .6s ease-in-out}.brand-icon{font-size:1.5rem}.desktop-menu{display:flex;list-style:none;gap:2rem;margin:0}.nav-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-secondary);font-weight:500;padding:.5rem 1rem;border-radius:.5rem;transition:all .3s ease;position:relative;z-index:10001;pointer-events:auto}.nav-link:hover,.nav-link.active{color:var(--primary-color);background-color:#2563eb1a}.mobile-menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger-line{width:24px;height:2px;background-color:var(--text-primary);margin:3px 0;transition:.3s}.mobile-menu{display:none}.page-header{text-align:center;padding:4rem 1rem 2rem;max-width:800px;margin:0 auto}.page-header h1{font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.page-header p{font-size:1.25rem;color:var(--text-secondary);line-height:1.6}.about-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.hero-section{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:center;padding:4rem 0}.hero-content h1{font-size:4rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.hero-content h2{font-size:2rem;font-weight:400;color:var(--primary-color);margin-bottom:2rem}.intro-text{font-size:1.25rem;color:var(--text-secondary);line-height:1.8}.profile-placeholder{width:300px;height:300px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#fff;box-shadow:var(--shadow-xl)}.profile-photo{width:300px;height:300px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-xl);border:4px solid white;animation:float 6s ease-in-out infinite;transition:transform .3s ease}.profile-photo:hover{transform:scale(1.05)}.about-content{padding:4rem 0}.overview{text-align:center;margin-bottom:4rem}.overview h3{font-size:2.5rem;color:var(--text-primary);margin-bottom:2rem}.overview p{font-size:1.125rem;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.8}.highlights h3{font-size:2.5rem;text-align:center;color:var(--text-primary);margin-bottom:3rem}.highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.highlight-card{background:var(--bg-secondary);padding:2rem;border-radius:1rem;text-align:center;box-shadow:var(--shadow-md);transition:transform .3s ease}.highlight-card:hover{transform:translateY(-5px)}.highlight-card h4{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.experience-page,.projects-page,.skills-page,.contact-page{max-width:1000px;margin:0 auto;padding:2rem 1rem}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:fixed;left:1rem;top:0;bottom:0;width:2px;background:var(--border-color)}.experience-card{position:relative;margin-bottom:3rem;padding-left:2rem}.timeline-marker{position:fixed;left:-2rem;top:.5rem;width:12px;height:12px;background:var(--primary-color);border-radius:50%;border:3px solid white;box-shadow:var(--shadow-md)}.experience-content{background:var(--bg-secondary);padding:2rem;border-radius:1rem;box-shadow:var(--shadow-md)}.experience-header{margin-bottom:1rem}.experience-header h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.company-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.company{font-weight:600;color:var(--primary-color)}.period{color:var(--text-secondary);font-size:.9rem}.description{color:var(--text-secondary);margin-bottom:1.5rem}.technologies h4,.achievements h4{color:var(--text-primary);margin-bottom:1rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.achievements ul{list-style:none;padding-left:0}.achievements li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}.achievements li:before{content:"✓";position:absolute;left:0;color:var(--success-color);font-weight:700}.projects-grid{display:flex;flex-direction:column;gap:2rem}.project-card{background:var(--bg-secondary);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-md);transition:transform .3s ease}.project-card:hover{transform:translateY(-5px)}.project-image{height:200px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:1rem}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.image-placeholder{color:#fff;font-size:2rem;font-weight:500}.project-content{padding:2rem}.project-content h3{color:var(--text-primary);margin-bottom:1rem}.project-description{color:var(--text-secondary);margin-bottom:1.5rem}.project-features ul{list-style:none;padding-left:0}.project-features li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text-secondary)}.project-features li:before{content:"•";position:absolute;left:0;color:var(--primary-color);font-weight:700}.project-links{display:flex;gap:1rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#1e40af;transform:translateY(-2px)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);transform:translateY(-2px)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.skill-category{background:var(--bg-secondary);padding:2rem;border-radius:1rem;box-shadow:var(--shadow-md)}.category-title{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.25rem}.skill-item{margin-bottom:1.5rem}.skill-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.skill-name{font-weight:500;color:var(--text-primary)}.skill-experience{font-size:.875rem;color:var(--text-secondary)}.skill-bar-container{position:relative;background:var(--border-color);height:8px;border-radius:4px;overflow:hidden}.skill-bar{height:100%;border-radius:4px;transition:width .8s ease}.skill-percentage{position:absolute;right:.5rem;top:-1.5rem;font-size:.75rem;color:var(--text-secondary)}.certifications-section{text-align:center}.certifications-section h3{color:var(--text-primary);margin-bottom:2rem;font-size:2rem}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.cert-card{background:var(--bg-secondary);padding:1.5rem;border-radius:1rem;box-shadow:var(--shadow-md)}.cert-card h4{color:var(--text-primary);margin-bottom:.5rem}.cert-date{color:var(--text-secondary);font-size:.875rem}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem}.contact-info h3{color:var(--text-primary);margin-bottom:1rem}.contact-methods{margin-top:2rem}.contact-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.contact-item .icon{font-size:1.5rem}.contact-item h4{color:var(--text-primary);margin-bottom:.25rem}.contact-item a{color:var(--primary-color);text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-form{background:var(--bg-secondary);padding:2rem;border-radius:1rem;box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.status-message{padding:1rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500}.status-message.success{background:#22c55e1a;color:var(--success-color);border:1px solid rgba(34,197,94,.2)}.status-message.error{background:#ef44441a;color:var(--error-color);border:1px solid rgba(239,68,68,.2)}.status-message.demo{background:#f59e0b1a;color:var(--warning-color);border:1px solid rgba(245,158,11,.2)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.fade-in-up{animation:fadeInUp .8s ease-out forwards}.fade-in-up.delay-1{animation-delay:.3s;opacity:0}.fade-in-up.delay-2{animation-delay:.6s;opacity:0}.slide-in-left{animation:slideInLeft .8s ease-out forwards}.slide-in-right{animation:slideInRight .8s ease-out forwards}.scale-in{animation:scaleIn .6s ease-out forwards}.animate-in{animation:fadeInUp .6s ease-out forwards;opacity:0}.animate-in.delay-1{animation-delay:.2s}.animate-in.delay-2{animation-delay:.4s}.animate-in.delay-3{animation-delay:.6s}.typewriter{overflow:hidden;white-space:nowrap}.cursor{animation:blink 1s infinite;color:var(--primary-color)}.highlight-card{transition:all .3s ease}.highlight-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:var(--shadow-xl)}.experience-card:hover .experience-content{transform:translate(10px);transition:transform .3s ease}.project-card:hover{transform:translateY(-8px) rotate(1deg);box-shadow:var(--shadow-xl)}.skill-bar{position:relative;overflow:hidden}.skill-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.timeline{opacity:0;animation:fadeInUp 1s ease-out forwards}.timeline.visible{animation-delay:.2s}.profile-placeholder{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-section,.nav-link{position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;bottom:0;left:-100%;width:100%;height:2px;background:var(--primary-color);transition:left .3s ease}.nav-link:hover:before,.nav-link.active:before{left:0}html{scroll-behavior:smooth}.loading{position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-header:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,rgba(37,99,235,.3),transparent),radial-gradient(2px 2px at 40px 70px,rgba(245,158,11,.2),transparent),radial-gradient(1px 1px at 90px 40px,rgba(34,197,94,.3),transparent),radial-gradient(1px 1px at 130px 80px,rgba(37,99,235,.2),transparent),radial-gradient(2px 2px at 160px 30px,rgba(245,158,11,.3),transparent);background-repeat:repeat;background-size:200px 100px;animation:particlesFloat 15s linear infinite;opacity:.6}@keyframes particlesFloat{0%{transform:translateY(0)}to{transform:translateY(-200px)}}.highlight-card,.experience-content,.project-card,.skill-category,.contact-form{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.highlight-card:hover,.project-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-5px)}.main-content:before{content:"";position:fixed;top:20%;right:15%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:-10;animation:floatOrb1 25s ease-in-out infinite}.main-content:after{content:"";position:fixed;bottom:20%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:-10;animation:floatOrb2 35s ease-in-out infinite reverse}@keyframes floatOrb1{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(-50px,-30px) scale(1.1);opacity:.5}50%{transform:translate(-100px,40px) scale(.9);opacity:.2}75%{transform:translate(30px,20px) scale(1.05);opacity:.4}}@keyframes floatOrb2{0%,to{transform:translate(0) scale(1);opacity:.2}33%{transform:translate(40px,-40px) scale(.8);opacity:.4}66%{transform:translate(-20px,-60px) scale(1.2);opacity:.1}}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;box-shadow:0 4px 20px #0003;z-index:1000}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{transform:translateY(-5px) scale(1.1);box-shadow:0 8px 25px #667eea66}.scroll-to-top.launching{animation:rocketLaunch 1s ease-out}@keyframes rocketLaunch{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(-10deg) scale(1.2)}to{transform:translateY(-100px) rotate(0) scale(.8);opacity:0}}.scroll-to-top:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:3px;height:20px;background:linear-gradient(to bottom,rgba(255,165,0,.8),transparent);border-radius:50%;opacity:0;transition:opacity .3s ease}.scroll-to-top:hover:after{opacity:1}.scroll-to-top.launching:after{animation:rocketTrail 1s ease-out}@keyframes rocketTrail{0%{height:20px;opacity:1}to{height:100px;opacity:0}}@media (max-width: 768px){.desktop-menu{display:none}.mobile-menu-toggle{display:flex}.mobile-menu{display:block;position:fixed;top:80px;left:0;right:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transform:translate(-100%);transition:transform .3s ease;z-index:999}.mobile-menu.open{transform:translate(0)}.mobile-nav-list{list-style:none;padding:1rem}.mobile-nav-link{display:flex;align-items:center;gap:1rem;padding:1rem;text-decoration:none;color:var(--text-secondary);border-radius:.5rem;transition:all .3s ease}.mobile-nav-link:hover,.mobile-nav-link.active{background:#2563eb1a;color:var(--primary-color)}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:998}.hero-section{grid-template-columns:1fr;text-align:center;gap:2rem}.hero-content h1{font-size:2.5rem}.hero-content h2{font-size:1.5rem}.profile-placeholder{width:200px;height:200px;font-size:3rem;margin:0 auto}.page-header h1{font-size:2rem}.contact-content{grid-template-columns:1fr;gap:2rem}.projects-grid{grid-template-columns:1fr}.highlight-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
