:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a2e;--bg-card-hover:#222240;--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#686880;--accent-1:#6366f1;--accent-2:#8b5cf6;--accent-3:#06b6d4;--accent-gradient:linear-gradient(135deg, #6366f1, #8b5cf6, #06b6d4);--accent-gradient-2:linear-gradient(135deg, #06b6d4, #6366f1);--border-color:#6366f126;--shadow-glow:0 0 30px #6366f126;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--font-sans:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--navbar-height:70px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}#particle-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-1);border-radius:3px}#navbar{width:100%;height:var(--navbar-height);z-index:100;background:0 0;transition:all .3s;position:fixed;top:0;left:0}#navbar.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);background:#0a0a0fd9}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:100%;margin:0 auto;padding:0 24px;display:flex}.nav-logo{background:var(--accent-gradient);-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--accent-gradient);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after{width:100%}.section{z-index:1;max-width:1200px;margin:0 auto;padding:100px 24px;position:relative}.section-label{font-family:var(--font-mono);color:var(--accent-1);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-size:.85rem}.section-title{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:2.5rem;font-weight:700}.section-subtitle{color:var(--text-secondary);max-width:600px;font-size:1.1rem;line-height:1.7}#hero{z-index:1;align-items:center;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 24px;display:flex;position:relative}.hero-content{flex-direction:column;gap:24px;display:flex}.hero-badge{color:var(--accent-3);width:fit-content;font-size:.85rem;font-family:var(--font-mono);background:#06b6d414;border:1px solid #06b6d44d;border-radius:20px;align-items:center;gap:8px;padding:6px 16px;display:inline-flex}.hero-badge:before{content:"";background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot;display:block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero-name{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;line-height:1.1}.hero-name .highlight{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-title-line{color:var(--text-secondary);font-size:clamp(1.3rem,3vw,2rem);font-weight:400}#typewriter{font-family:var(--font-mono);color:var(--text-muted);min-height:1.8em;font-size:clamp(.95rem,1.5vw,1.15rem)}#typewriter .cursor{background:var(--accent-1);vertical-align:text-bottom;width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-cta{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 20px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #6366f166}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:0 0}.btn-secondary:hover{border-color:var(--accent-1);background:#6366f114;transform:translateY(-2px)}.hero-social{gap:16px;margin-top:8px;display:flex}.hero-social a{color:var(--text-muted);font-size:1.4rem;transition:all .3s}.hero-social a:hover{color:var(--accent-1);transform:translateY(-2px)}.scroll-indicator{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);letter-spacing:2px;flex-direction:column;align-items:center;gap:8px;animation:2s ease-in-out infinite float-down;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator .line{background:linear-gradient(to bottom, var(--text-muted), transparent);width:1px;height:40px}@keyframes float-down{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}#about .about-grid{grid-template-columns:300px 1fr;align-items:start;gap:48px;margin-top:40px;display:grid}.about-avatar-wrapper{border-radius:var(--radius-xl);border:2px solid var(--border-color);flex-shrink:0;width:280px;height:280px;position:relative;overflow:hidden}.about-avatar-wrapper:before{content:"";border-radius:var(--radius-xl);background:var(--accent-gradient);z-index:-1;animation:4s linear infinite rotate-glow;position:absolute;inset:-3px}@keyframes rotate-glow{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}.about-avatar-wrapper img{object-fit:cover;border-radius:var(--radius-xl);width:100%;height:100%}.about-text p{color:var(--text-secondary);margin-bottom:16px;font-size:1.05rem;line-height:1.8}.about-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;display:grid}.stat-card{text-align:center;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:20px 12px;transition:all .3s}.stat-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.stat-value{background:var(--accent-gradient-2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.8rem}#skills{background:var(--bg-secondary);margin:0;padding:100px 24px}#skills .section{max-width:1200px;margin:0 auto;padding:0}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:40px;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:default;padding:20px;transition:all .3s}.skill-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.skill-icon{margin-bottom:8px;font-size:1.5rem}.skill-name{margin-bottom:8px;font-size:.9rem;font-weight:600}.skill-bar{background:#ffffff14;border-radius:2px;width:100%;height:4px;overflow:hidden}.skill-fill{background:var(--accent-gradient);border-radius:2px;width:0;height:100%;transition:width 1.5s cubic-bezier(.4,0,.2,1)}.skill-card.visible .skill-fill{width:var(--skill-level)}.timeline{margin-top:40px;position:relative}.timeline:before{content:"";background:var(--border-color);width:2px;position:absolute;top:0;bottom:0;left:24px}.timeline-item{opacity:0;padding-bottom:48px;padding-left:60px;transition:all .6s;position:relative;transform:translate(-20px)}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--bg-card);border:2px solid var(--accent-1);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:6px;left:16px}.timeline-dot:after{content:"";background:var(--accent-1);border-radius:50%;width:8px;height:8px}.timeline-period{font-family:var(--font-mono);color:var(--accent-3);margin-bottom:4px;font-size:.8rem}.timeline-role{margin-bottom:2px;font-size:1.2rem;font-weight:700}.timeline-company{color:var(--accent-1);margin-bottom:12px;font-size:.95rem}.timeline-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.timeline-desc li{margin-bottom:8px;padding-left:20px;list-style:none;position:relative}.timeline-desc li:before{content:"▸";color:var(--accent-1);position:absolute;left:0}.timeline-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.timeline-tags span{color:var(--accent-1);font-size:.75rem;font-family:var(--font-mono);background:#6366f11a;border-radius:6px;padding:4px 10px}#projects{background:var(--bg-secondary);margin:0;padding:100px 24px}#projects .section{max-width:1200px;margin:0 auto;padding:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-top:40px;display:grid}.project-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);opacity:0;transition:all .4s;overflow:hidden;transform:translateY(30px)}.project-card.visible{opacity:1;transform:translateY(0)}.project-card:hover{border-color:var(--accent-1);transform:translateY(-8px)scale(1.01);box-shadow:0 20px 50px #0000004d}.project-image{object-fit:cover;width:100%;height:200px;transition:transform .5s}.project-card:hover .project-image{transform:scale(1.05)}.project-body{padding:24px}.project-title{margin-bottom:2px;font-size:1.15rem;font-weight:700}.project-subtitle{color:var(--accent-3);font-size:.85rem;font-family:var(--font-mono);margin-bottom:12px}.project-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.9rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.project-tags span{color:var(--text-secondary);font-size:.75rem;font-family:var(--font-mono);background:#6366f114;border-radius:6px;padding:3px 10px}.project-links{gap:12px;display:flex}.project-links a{color:var(--accent-1);align-items:center;gap:4px;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .3s;display:flex}.project-links a:hover{color:var(--accent-3)}.contact-content{grid-template-columns:1fr 1fr;gap:48px;margin-top:40px;display:grid}.contact-info h3{margin-bottom:16px;font-size:1.3rem;font-weight:700}.contact-info p{color:var(--text-secondary);margin-bottom:24px;line-height:1.7}.contact-detail{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:12px;display:flex}.contact-detail .icon{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color);justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.contact-form{flex-direction:column;gap:16px;display:flex}.form-field{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);outline:none;padding:14px 16px;font-size:.95rem;transition:all .3s}.form-field:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px #6366f126}.form-field::placeholder{color:var(--text-muted)}textarea.form-field{resize:vertical;min-height:120px}#footer{z-index:1;text-align:center;border-top:1px solid var(--border-color);padding:40px 24px;position:relative}#footer p{color:var(--text-muted);font-size:.85rem}#footer .heart{color:#ef4444}.reveal{opacity:0;transition:all .7s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@media (width<=768px){#hero{min-height:90vh}.hero-name{font-size:clamp(2rem,10vw,3rem)}.nav-links{display:none}.about-grid{grid-template-columns:1fr!important;gap:32px!important}.about-avatar-wrapper{width:200px;height:200px;margin:0 auto}.about-stats{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.projects-grid,.contact-content{grid-template-columns:1fr}}@media (width<=480px){.section{padding:60px 16px}.section-title{font-size:1.8rem}.about-stats,.skills-grid{grid-template-columns:repeat(2,1fr)}.hero-cta{flex-direction:column}.btn{justify-content:center}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}
