@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}:root{--bg:#0c0c0c;--surface:#141414;--surface2:#1c1c1c;--accent:#00ff41;--accent-dim:#006618;--text:#d4f5d4;--muted:#5a8a5a;--border:#1a3a1a;--nav-h:64px}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"JetBrains Mono",monospace;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.015) 2px,rgba(0,255,65,.015) 4px);pointer-events:none;z-index:9999}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:rgba(15,23,42,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.nav-links a,.nav-logo{font-family:"JetBrains Mono",monospace;text-decoration:none}.nav-logo{font-size:14px;font-weight:500;color:var(--accent);letter-spacing:.5px}.nav-logo::before{content:"> ";opacity:.5}#home,.nav-links{display:flex;align-items:center}.nav-links{gap:4px;list-style:none}.nav-links a{font-size:13px;font-weight:400;padding:7px 14px;border-radius:4px;transition:color .15s,background .15s}.nav-links a.active,.nav-links a:hover{color:var(--accent);background:var(--surface)}.nav-resume{font-size:12px!important;font-weight:600!important;color:var(--bg)!important;background:var(--accent)!important;padding:7px 16px!important;border-radius:4px!important;transition:opacity .2s!important}.nav-resume:hover{opacity:.85!important}section{min-height:100vh;padding:calc(var(--nav-h) + 80px) 40px 80px;max-width:960px;margin:0 auto}#home{gap:64px}.hero-text{flex:1}.hero-subtitle,.hero-tag{margin-bottom:20px;font-weight:400}.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.5px;font-family:"JetBrains Mono",monospace}.hero-tag::before{content:"$";opacity:.6}.hero-tag::after{content:"_";animation:blink 1.1s step-end infinite}.hero-text h1{font-size:clamp(36px,5vw,54px);font-weight:700;letter-spacing:-1px;line-height:1.1;margin-bottom:12px}.article-card:hover .article-arrow,.hero-tag,.hero-text h1 span,.project-card:hover .project-arrow,.section-title span,footer a:hover{color:var(--accent)}.hero-subtitle{font-size:18px;color:var(--muted)}.hero-desc{font-size:15px;color:var(--muted);line-height:1.75;max-width:520px;margin-bottom:36px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.btn-ghost,.btn-primary{display:inline-flex;align-items:center;gap:8px;font-size:14px;border-radius:8px;text-decoration:none}.btn-primary{font-weight:600;color:var(--bg);background:var(--accent);padding:12px 24px;transition:opacity .2s,transform .15s}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-ghost{font-weight:500;color:var(--muted);background:0 0;border:1px solid var(--border);padding:11px 22px;transition:color .2s,border-color .2s,transform .15s}.btn-ghost:hover{color:var(--text);border-color:var(--muted);transform:translateY(-1px)}.hero-avatar{flex-shrink:0}.avatar-ring{width:200px;height:200px;border-radius:50%;border:2px solid var(--accent-dim);padding:4px}.avatar-inner{width:100%;height:100%;border-radius:50%;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;color:var(--accent);font-family:"JetBrains Mono",monospace;letter-spacing:-2px;text-shadow:0 0 20px rgba(0,255,65,.5)}.section-header{margin-bottom:48px}.section-label,.section-title{font-family:"JetBrains Mono",monospace}.section-label{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--accent);margin-bottom:10px;opacity:.8}.section-title{font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-.5px;line-height:1.2}#about{padding-bottom:0}.about-summary{font-size:15px;color:var(--muted);line-height:1.8;max-width:720px;margin-bottom:32px}.achievements-bar{background:var(--surface);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:48px;font-size:13.5px;color:var(--muted);line-height:1.7}.achievements-bar strong{color:var(--accent);font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:64px}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.skill-card-label{font-size:12px;font-weight:400;letter-spacing:0;color:var(--accent);margin-bottom:12px;font-family:"JetBrains Mono",monospace;opacity:.8}.skill-card-label::before{content:"# ";opacity:.5}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:12px;font-weight:500;color:var(--muted);background:var(--surface2);border:1px solid var(--border);padding:4px 10px;border-radius:4px;font-family:"JetBrains Mono",monospace}.experience-header{margin-bottom:32px}.job,.timeline{position:relative;display:flex}.timeline{gap:0;overflow-x:auto;padding-bottom:12px}.timeline::before{content:"";position:absolute;top:20px;left:20px;right:20px;height:1px;background:var(--border);z-index:0}.job{flex:1;min-width:130px;flex-direction:column;align-items:center;text-align:center;padding-top:44px;padding-left:8px;padding-right:8px}.badge-available::before,.job::before{content:"";border-radius:50%;background:var(--accent)}.job::before{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:14px;height:14px;border:2px solid var(--bg);box-shadow:0 0 0 1px var(--accent-dim);z-index:1}.company,.dates{margin-bottom:4px}.company{font-size:13px;font-weight:700;color:var(--text);line-height:1.3}.dates{font-size:11px;color:var(--muted);font-family:"JetBrains Mono",monospace}.role-line{font-size:11.5px;color:var(--accent);font-weight:500;line-height:1.4}.job-header{display:contents}#about,#projects,#published{min-height:auto}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}.article-card:hover,.project-card:hover{border-color:var(--accent-dim);transform:translateY(-3px)}.project-top{display:flex;justify-content:space-between;align-items:flex-start}.project-icon{width:36px;height:36px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px}.project-arrow{color:var(--border);font-size:18px;transition:color .2s}.project-name{font-size:16px;font-weight:700;color:var(--text);font-family:"JetBrains Mono",monospace}.project-desc{font-size:13px;color:var(--muted);line-height:1.65;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-link,.project-tag{font-family:"JetBrains Mono",monospace}.project-tag{font-size:11px;font-weight:500;color:var(--accent);background:rgba(52,211,153,.08);border:1px solid var(--accent-dim);padding:3px 8px;border-radius:4px}.project-link{font-size:12px;color:var(--muted);margin-top:auto}.articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.article-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}#contact,.article-meta{display:flex;align-items:center;justify-content:space-between}.article-date{font-size:11px;color:var(--muted);font-family:"JetBrains Mono",monospace}.article-arrow{color:var(--border);font-size:16px;transition:color .2s}.article-title{font-size:15px;font-weight:700;color:var(--text);line-height:1.4;font-family:"JetBrains Mono",monospace}.article-desc{font-size:13px;color:var(--muted);line-height:1.65;flex:1}.article-link{font-size:11px;color:var(--accent);font-family:"JetBrains Mono",monospace;opacity:.7;margin-top:auto}@media (max-width:768px){.articles-grid{grid-template-columns:1fr}}#contact{min-height:auto;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + 60px);padding-bottom:60px}#contact,#contact .section-label{text-align:center}.contact-heading{font-size:clamp(24px,4vw,38px);font-weight:700;letter-spacing:-.5px;margin-bottom:16px;line-height:1.2;font-family:"JetBrains Mono",monospace}.contact-sub{font-size:15px;color:var(--muted);margin-bottom:40px;max-width:440px}.contact-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:32px}.badge-available{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--accent);background:rgba(52,211,153,.08);border:1px solid var(--accent-dim);padding:10px 20px;border-radius:999px}.badge-available::before{width:7px;height:7px;animation:pulse 2s infinite}.nav-links a,footer,footer a{color:var(--muted)}footer{text-align:center;padding:24px 40px;border-top:1px solid var(--border);font-size:13px;font-family:"JetBrains Mono",monospace}footer a{text-decoration:none;border-bottom:1px solid var(--border)}footer a:hover{border-color:var(--accent)}.section-divider{max-width:960px;margin:0 auto;height:1px;background:var(--border);opacity:.5}@media (max-width:768px){nav{padding:0 20px}section{padding:calc(var(--nav-h) + 48px) 20px 48px}#home{flex-direction:column-reverse;align-items:flex-start;gap:32px}.hero-avatar{align-self:center}.avatar-ring{width:140px;height:140px}.avatar-inner{font-size:36px}.projects-grid,.skills-grid{grid-template-columns:1fr}.nav-links .nav-resume{display:none}.nav-links{flex:1;min-width:0;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex-shrink:0}.timeline{padding-left:24px;padding-bottom:0;overflow-x:visible}.timeline::before{top:8px;bottom:0;left:0;right:auto;width:1px;height:auto}.job,.job-header,.timeline{flex-direction:column}.job{align-items:flex-start;text-align:left;padding-top:0;padding-left:0;padding-right:0;min-width:unset;margin-bottom:24px}.job::before{left:-28px;top:4px;transform:none}.job-header{display:flex;gap:2px}}@media (max-width:500px){.nav-links{gap:2px}.nav-links a{padding:8px 10px;font-size:13px}}