@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#1a2236;--bg-card-hover:#1e2a42;--bg-glass:#1a2236b3;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-blue:#3b82f6;--accent-cyan:#06b6d4;--accent-purple:#8b5cf6;--accent-green:#10b981;--accent-orange:#f59e0b;--gradient-primary:linear-gradient(135deg, #3b82f6, #06b6d4);--gradient-accent:linear-gradient(135deg, #8b5cf6, #3b82f6);--gradient-hero:linear-gradient(160deg, #0a0e1a 0%, #111827 40%, #0f172a 100%);--border-color:#94a3b81a;--border-glow:#3b82f64d;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 40px #00000080;--shadow-glow:0 0 30px #3b82f626;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--font-sans:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--max-width:1200px;--header-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;border:none;font-family:inherit}.header{height:var(--header-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:1000;background:#0a0e1ad9;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;width:100%;padding:0 24px;display:flex}.logo{background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.nav{gap:32px;list-style:none;display:flex}.nav a{color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:color .3s;position:relative}.nav a:hover{color:var(--text-primary)}.nav a:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav a:hover:after{width:100%}.section{max-width:var(--max-width);margin:0 auto;padding:100px 24px}.section-label{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px;font-size:.8rem;font-weight:600}.section-title{color:var(--text-primary);letter-spacing:-1px;margin-bottom:48px;font-size:2.25rem;font-weight:800}.hero{background:var(--gradient-hero);min-height:100vh;padding-top:var(--header-height);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#3b82f614 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-100px;right:-100px}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#06b6d40f 0%,#0000 70%);width:400px;height:400px;position:absolute;bottom:-50px;left:-50px}.hero-content{max-width:var(--max-width);z-index:1;width:100%;padding:0 24px;position:relative}.hero-greeting{font-family:var(--font-mono);color:var(--accent-cyan);opacity:0;margin-bottom:16px;font-size:1rem;animation:.6s .2s forwards fadeInUp}.hero-name{letter-spacing:-2px;opacity:0;margin-bottom:16px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.1;animation:.6s .4s forwards fadeInUp}.hero-name .gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-title{color:var(--text-secondary);opacity:0;margin-bottom:24px;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:500;animation:.6s .6s forwards fadeInUp}.hero-desc{max-width:600px;color:var(--text-muted);opacity:0;margin-bottom:40px;font-size:1rem;line-height:1.8;animation:.6s .8s forwards fadeInUp}.hero-actions{opacity:0;flex-wrap:wrap;gap:16px;animation:.6s 1s forwards fadeInUp;display:flex}.btn{border-radius:var(--radius-md);align-items:center;gap:8px;padding:14px 28px;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn-outline:hover{border-color:var(--accent-blue);background:#3b82f60d;transform:translateY(-2px)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:20px;font-size:1rem}.about-stats{grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;padding:24px;transition:all .3s}.stat-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.stat-number{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.8rem}.timeline{padding-left:40px;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--accent-blue), var(--accent-cyan), transparent);width:2px;position:absolute;top:0;bottom:0;left:0}.timeline-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:48px;padding:28px 32px;transition:all .3s;position:relative}.timeline-item:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translate(8px)}.timeline-item:before{content:"";background:var(--accent-blue);border:3px solid var(--bg-primary);border-radius:50%;width:14px;height:14px;position:absolute;top:32px;left:-48px;box-shadow:0 0 12px #3b82f666}.timeline-date{font-family:var(--font-mono);color:var(--accent-cyan);margin-bottom:8px;font-size:.8rem}.timeline-role{color:var(--text-primary);margin-bottom:4px;font-size:1.25rem;font-weight:700}.timeline-company{color:var(--accent-blue);margin-bottom:16px;font-size:.9rem;font-weight:500}.timeline-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.timeline-desc ul{padding:0;list-style:none}.timeline-desc li{margin-bottom:8px;padding-left:20px;position:relative}.timeline-desc li:before{content:"▸";color:var(--accent-cyan);position:absolute;left:0}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.skill-category{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px;transition:all .3s}.skill-category:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.skill-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;font-size:1.5rem;display:flex}.skill-category-title{margin-bottom:20px;font-size:1.1rem;font-weight:700}.skill-bar{margin-bottom:16px}.skill-bar-header{justify-content:space-between;margin-bottom:8px;display:flex}.skill-bar-name{color:var(--text-secondary);font-size:.85rem}.skill-bar-pct{font-size:.8rem;font-family:var(--font-mono);color:var(--accent-cyan)}.skill-bar-track{background:#94a3b81a;border-radius:3px;height:6px;overflow:hidden}.skill-bar-fill{background:var(--gradient-primary);border-radius:3px;height:100%;transition:width 1s}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:28px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .4s;overflow:hidden}.project-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-6px)}.project-preview{justify-content:center;align-items:center;height:200px;font-size:3rem;display:flex;position:relative;overflow:hidden}.project-preview:after{content:"";background:linear-gradient(to bottom, transparent 60%, var(--bg-card));position:absolute;inset:0}.project-body{padding:28px}.project-tag{font-family:var(--font-mono);color:var(--accent-cyan);background:#06b6d41a;border-radius:20px;margin-bottom:12px;padding:4px 10px;font-size:.7rem;display:inline-block}.project-name{margin-bottom:12px;font-size:1.3rem;font-weight:700}.project-desc{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem;line-height:1.7}.project-tech{flex-wrap:wrap;gap:8px;display:flex}.tech-tag{color:var(--accent-purple);background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:20px;padding:4px 12px;font-size:.75rem}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.contact-info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:16px;margin-bottom:16px;padding:20px 24px;transition:all .3s;display:flex}.contact-info-card:hover{border-color:var(--border-glow);transform:translate(8px)}.contact-icon{border-radius:var(--radius-sm);background:#3b82f61a;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.contact-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.contact-value{color:var(--text-primary);font-size:.95rem;font-weight:500}.contact-cta{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;padding:48px}.contact-cta h3{margin-bottom:16px;font-size:1.5rem;font-weight:700}.contact-cta p{color:var(--text-secondary);max-width:400px;margin-bottom:32px;margin-left:auto;margin-right:auto}.footer{border-top:1px solid var(--border-color);text-align:center;padding:40px 24px}.footer p{color:var(--text-muted);font-size:.85rem}.footer .gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.nav{display:none}.about-grid{grid-template-columns:1fr;gap:40px}.contact-grid{grid-template-columns:1fr}.hero-name{letter-spacing:-1px}.section{padding:60px 16px}.timeline{padding-left:30px}.projects-grid{grid-template-columns:1fr}}
