*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#050a05;--bg2:#0a120a;--bg3:#0f1a0f;--green:#00ff41;--green2:#00cc33;--green-dim:#0a3d0a;--emerald:#34d399;--lime:#a3e635;--text:#d4e8d4;--text2:#7a9f7a;--border:rgba(0,255,65,0.1);--glow:0 0 20px rgba(0,255,65,0.15);--font-head:"Space Grotesk",sans-serif;--font-mono:"JetBrains Mono",monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-head);line-height:1.65;overflow-x:hidden}a{color:var(--green);text-decoration:none}::selection{background:var(--green);color:var(--bg)}body:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 4px)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;transition:all .3s}.navbar.scrolled{background:rgba(5,10,5,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--green);text-shadow:0 0 10px rgba(0,255,65,.4)}.nav-logo-bracket{color:var(--text2)}.nav-links{display:flex;gap:32px}.nav-link{color:var(--text2);font-size:13px;font-weight:500;letter-spacing:1.5px;transition:all .2s;text-transform:uppercase;font-family:var(--font-mono);position:relative}.nav-link:hover{color:var(--green);text-shadow:0 0 8px rgba(0,255,65,.3)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--green);box-shadow:0 0 6px var(--green);transition:width .3s}.nav-link:hover:after{width:100%}.nav-hamburger{display:none;background:none;border:none;color:var(--green);font-size:28px;cursor:pointer}@media (max-width:768px){.nav-hamburger{display:block}.nav-links{display:none;flex-direction:column;position:absolute;top:60px;right:32px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px 24px;gap:16px}.nav-links.open{display:flex}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:120px 32px 80px}.hero-content{text-align:center;position:relative;z-index:1;max-width:800px}.profile-glow{display:inline-block;position:relative;border-radius:50%;padding:3px;background:conic-gradient(var(--green),var(--emerald),var(--lime),var(--green));margin-bottom:36px}.profile-glow:before{content:"";position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,rgba(0,255,65,.2),transparent 70%);animation:glowPulse 3s ease-in-out infinite}.profile-scan-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--green),transparent);border-radius:50%;z-index:2;animation:scanDown 3s ease-in-out infinite;opacity:.6}@keyframes scanDown{0%,to{top:10%;opacity:0}50%{top:90%;opacity:.6}}@keyframes glowPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.profile-glow img{border:3px solid var(--bg)}.hero h1{font-size:clamp(36px,6vw,62px);font-weight:700;letter-spacing:-2px;margin-bottom:12px;color:var(--text)}.hero h1 .accent{color:var(--green);text-shadow:0 0 30px rgba(0,255,65,.4),0 0 60px rgba(0,255,65,.15)}.hero-subtitle{font-family:var(--font-mono);font-size:clamp(14px,2vw,17px);color:var(--green);min-height:28px;margin-bottom:20px;text-shadow:0 0 10px rgba(0,255,65,.3)}.cursor-blink{animation:blink .8s step-end infinite;color:var(--green)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-tagline{color:var(--text2);font-size:16px;max-width:580px;margin:0 auto 36px;line-height:1.75}.hero-cta{gap:16px;flex-wrap:wrap;justify-content:center}.btn,.hero-cta{display:inline-flex}.btn{align-items:center;gap:8px;padding:13px 30px;border-radius:4px;font-family:var(--font-mono);font-weight:600;font-size:14px;cursor:pointer;transition:all .25s;border:none;letter-spacing:.5px}.btn-primary{background:var(--green);color:var(--bg);box-shadow:0 0 20px rgba(0,255,65,.2)}.btn-primary:hover{box-shadow:0 0 40px rgba(0,255,65,.4),0 4px 20px rgba(0,255,65,.2);transform:translateY(-2px)}.btn-ghost{background:transparent;border:1px solid rgba(0,255,65,.3);color:var(--green)}.btn-ghost:hover{background:rgba(0,255,65,.06);transform:translateY(-2px);border-color:var(--green);box-shadow:0 0 20px rgba(0,255,65,.1)}section{padding:100px 32px;max-width:1100px;margin:0 auto;position:relative;z-index:1}.section-title{display:flex;align-items:center;gap:16px;margin-bottom:52px}.section-icon{font-family:var(--font-mono);font-size:13px;color:var(--green);background:rgba(0,255,65,.06);padding:6px 14px;border-radius:2px;border:1px solid rgba(0,255,65,.15);letter-spacing:1px}.section-title h2{font-size:34px;font-weight:700;letter-spacing:-1px}.title-line{flex:1 1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:52px}@media (max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:28px 20px;text-align:center;transition:all .3s;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent);opacity:0;transition:opacity .3s}.stat-card:hover{border-color:rgba(0,255,65,.25)}.stat-card:hover:before{opacity:1}.stat-value{font-size:38px;font-weight:700;color:var(--green);text-shadow:0 0 20px rgba(0,255,65,.3)}.stat-label,.stat-value{font-family:var(--font-mono)}.stat-label{color:var(--text2);font-size:12px;margin-top:6px;text-transform:uppercase;letter-spacing:1px}.about-text{color:var(--text2);font-size:16px;line-height:1.85;max-width:700px}.about-text strong{color:var(--green);font-weight:600}.terminal-interface{background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-top:40px}.terminal-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(0,255,65,.03);border-bottom:1px solid var(--border)}.terminal-dots{display:flex;gap:6px}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ff5f57}.dot.yellow{background:#febc2e}.dot.green{background:#28c840}.terminal-bar-title{font-family:var(--font-mono);font-size:12px;color:var(--text2)}.terminal-body{padding:16px;max-height:240px;overflow-y:auto;font-family:var(--font-mono);font-size:13px;line-height:1.7}.term-system{color:var(--text2);opacity:.6}.term-input-line{color:var(--text)}.term-prompt-sym{color:var(--green)}.term-output{color:var(--emerald);white-space:pre-wrap;margin:4px 0;font-family:var(--font-mono);font-size:13px}.term-error{color:#ef4444}.term-input-row{display:flex;align-items:center;gap:8px;margin-top:4px}.term-input{background:transparent;border:none;color:var(--green);font-family:var(--font-mono);font-size:13px;outline:none;flex:1 1;caret-color:var(--green)}.term-input::placeholder{color:var(--text2);opacity:.4}.term-c-green{color:var(--green)}.term-c-yellow{color:#febc2e}.term-c-cyan{color:var(--emerald)}.term-c-magenta{color:#d946ef}.term-c-dim{color:var(--text2)}.term-c-red{color:#ef4444}.term-c-bold{font-weight:700}.term-banner{color:var(--green);font-family:var(--font-mono);font-size:11px;line-height:1.3;white-space:pre;margin:4px 0 8px;text-shadow:0 0 8px rgba(0,255,65,.3)}.term-cmd-list{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 16px;gap:4px 16px;margin:4px 0}.term-cmd-name{color:var(--green);font-weight:600}.term-cmd-desc{color:var(--text2)}.term-link{color:var(--emerald);text-decoration:underline}.term-link:hover{text-shadow:0 0 8px var(--green)}.timeline{position:relative;padding-left:36px}.timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--green),rgba(0,255,65,.1),transparent)}.timeline-item{position:relative;margin-bottom:20px}.timeline-dot{position:absolute;left:-36px;top:22px;width:17px;height:17px;display:flex;align-items:center;justify-content:center}.timeline-dot:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--green2);transition:all .3s}.timeline-dot-ring{position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(0,255,65,.2);animation:ringPulse 2s ease-in-out infinite;opacity:0}.timeline-item.open .timeline-dot:before{background:var(--green);box-shadow:0 0 12px var(--green)}.timeline-item.open .timeline-dot-ring{opacity:1}@keyframes ringPulse{0%,to{transform:scale(1);opacity:0}50%{transform:scale(1.8);opacity:.4}}.timeline-content{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:24px 28px;cursor:pointer;transition:all .3s;position:relative}.timeline-content:hover{border-color:rgba(0,255,65,.2)}.timeline-item.open .timeline-content{border-color:rgba(0,255,65,.3);box-shadow:var(--glow)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.timeline-role{font-size:17px;font-weight:600}.timeline-company{color:var(--text2);font-size:14px;margin-top:3px}.timeline-period{color:var(--green);white-space:nowrap}.timeline-period,.timeline-toggle{font-family:var(--font-mono);font-size:12px}.timeline-toggle{color:var(--text2);margin-top:4px;text-align:right}.timeline-bullets{margin-top:18px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px;animation:fadeSlideIn .4s ease}.timeline-bullets li{color:var(--text2);font-size:14px;line-height:1.65;padding-left:18px;position:relative}.timeline-bullets li:before{content:"▸";position:absolute;left:0;color:var(--green)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;grid-auto-rows:1fr}@media (max-width:900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}}.project-card{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:6px;transition:all .35s;position:relative;overflow:hidden;text-decoration:none;color:inherit;min-height:280px}.project-card.hovered{border-color:rgba(0,255,65,.35);box-shadow:0 0 30px rgba(0,255,65,.08);transform:translateY(-4px)}.project-terminal-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(0,255,65,.03);border-bottom:1px solid var(--border)}.terminal-title{font-family:var(--font-mono);font-size:11px;color:var(--text2)}.project-card-inner{padding:20px;flex:1 1;display:flex;flex-direction:column}.project-card h3{font-size:16px;font-weight:600;margin-bottom:8px}.prompt{color:var(--green)}.project-desc{color:var(--text2);font-size:13px;margin-bottom:16px;line-height:1.6;flex:1 1}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;background:rgba(0,255,65,.06);padding:3px 10px;border-radius:2px;border:1px solid rgba(0,255,65,.1)}.project-link-hint,.tag{font-family:var(--font-mono);color:var(--green)}.project-link-hint{font-size:12px;margin-top:12px;opacity:0;transition:opacity .3s}.project-card.hovered .project-link-hint{opacity:1}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;grid-auto-rows:1fr}.skill-grid>div{display:flex}.skill-grid>div>.skill-category{flex:1 1}.skill-category{display:flex;flex-direction:column}@media (max-width:900px){.skill-grid{grid-template-columns:repeat(2,1fr)}.skill-grid>:nth-child(5){grid-column:span 2}}@media (max-width:600px){.skill-grid{grid-template-columns:1fr}.skill-grid>:nth-child(5){grid-column:span 1}}.skill-category{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:22px}.skill-cat-title{font-size:13px;font-weight:600;color:var(--green);margin-bottom:16px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1.5px;display:flex;align-items:center;gap:10px}.cat-indicator{width:8px;height:8px;background:var(--green);border-radius:1px;box-shadow:0 0 8px var(--green);display:inline-block}.skill-nodes{display:flex;flex-wrap:wrap;gap:7px}.skill-node{font-size:12px;font-family:var(--font-mono);color:var(--text);background:rgba(0,255,65,.03);border:1px solid rgba(0,255,65,.08);padding:5px 12px;border-radius:2px;transition:all .3s;animation:nodeIn .5s ease backwards;cursor:default;white-space:nowrap}.skill-node:hover{background:rgba(0,255,65,.1);border-color:var(--green);color:var(--green);box-shadow:0 0 12px rgba(0,255,65,.15);transform:translateY(-2px)}@keyframes nodeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}@media (max-width:600px){.contact-grid{grid-template-columns:1fr}}.contact-card{display:flex;align-items:center;gap:16px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:20px 24px;transition:all .3s}.contact-card:hover{border-color:rgba(0,255,65,.3);box-shadow:var(--glow)}.contact-icon{width:44px;height:44px;border-radius:4px;background:rgba(0,255,65,.06);border:1px solid rgba(0,255,65,.1);display:flex;align-items:center;justify-content:center;font-size:18px;font-family:var(--font-mono);color:var(--green);flex-shrink:0}.contact-info{font-size:14px}.contact-info .label{color:var(--text2);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.chat-fab{position:fixed;bottom:28px;right:28px;z-index:200;width:56px;height:56px;border-radius:4px;background:var(--bg2);border:1px solid rgba(0,255,65,.3);color:var(--green);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px rgba(0,255,65,.15);transition:all .2s}.chat-fab:hover{border-color:var(--green);box-shadow:0 0 40px rgba(0,255,65,.3);transform:scale(1.05)}.chat-fab-pulse{position:absolute;inset:-4px;border-radius:4px;border:1px solid var(--green);animation:fabPulse 2.5s ease-in-out infinite}@keyframes fabPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(1.2)}}.chat-fab-icon{font-family:var(--font-mono);font-weight:700;font-size:16px;text-shadow:0 0 8px var(--green)}.chat-panel{position:fixed;bottom:28px;right:28px;z-index:200;width:400px;max-width:calc(100vw - 56px);height:520px;max-height:calc(100vh - 56px);background:var(--bg2);border:1px solid rgba(0,255,65,.2);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.6),0 0 40px rgba(0,255,65,.05);animation:chatIn .3s ease}@keyframes chatIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.chat-header{padding:14px 18px;border-bottom:1px solid var(--border);justify-content:space-between;background:rgba(0,255,65,.02)}.chat-header,.chat-header-left{display:flex;align-items:center}.chat-header-left{gap:12px}.chat-avatar{width:34px;height:34px;border-radius:4px;background:rgba(0,255,65,.1);border:1px solid rgba(0,255,65,.2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.chat-avatar,.chat-header-title{color:var(--green);font-family:var(--font-mono)}.chat-header-title{font-weight:600;font-size:14px}.chat-header-status{font-size:11px;color:var(--emerald);font-family:var(--font-mono)}.chat-close{background:none;border:1px solid var(--border);color:var(--text2);font-size:14px;cursor:pointer;padding:4px 10px;border-radius:3px;font-family:var(--font-mono)}.chat-close:hover{border-color:rgba(0,255,65,.3);color:var(--green)}.chat-messages{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.chat-msg{display:flex}.chat-msg-user{justify-content:flex-end}.chat-bubble{max-width:85%;padding:12px 16px;font-size:13px;line-height:1.6;font-family:var(--font-head)}.chat-bubble-ai{background:rgba(0,255,65,.04);border:1px solid rgba(0,255,65,.1);border-radius:2px 12px 12px 12px}.chat-bubble-user{background:rgba(0,255,65,.08);border:1px solid rgba(0,255,65,.15);border-radius:12px 2px 12px 12px;color:var(--green)}.typing-indicator{display:flex;gap:5px;padding:14px 18px}.typing-indicator span{width:7px;height:7px;border-radius:50%;background:var(--green);animation:typeDot 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typeDot{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.quick-questions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.quick-q{background:rgba(0,255,65,.04);border:1px solid rgba(0,255,65,.12);color:var(--green);font-size:11px;font-family:var(--font-mono);padding:7px 12px;border-radius:2px;cursor:pointer;transition:all .2s}.quick-q:hover{background:rgba(0,255,65,.1);border-color:var(--green)}.chat-input-row{padding:14px;border-top:1px solid var(--border);display:flex;gap:10px}.chat-input{flex:1 1;background:rgba(0,255,65,.03);border:1px solid rgba(0,255,65,.1);border-radius:3px;padding:10px 14px;color:var(--green);font-family:var(--font-mono);font-size:13px;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--green);box-shadow:0 0 12px rgba(0,255,65,.1)}.chat-input::placeholder{color:var(--text2)}.chat-send{width:42px;height:42px;border-radius:3px;background:rgba(0,255,65,.1);border:1px solid rgba(0,255,65,.2);color:var(--green);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;font-family:var(--font-mono)}.chat-send:hover{background:var(--green);color:var(--bg);box-shadow:0 0 20px rgba(0,255,65,.3)}.chat-input:disabled,.chat-send:disabled{opacity:.5;cursor:not-allowed}.tool-activity{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:4px 0;font-family:var(--font-mono);font-size:11px;color:var(--emerald);background:rgba(0,255,65,.04);border-left:2px solid var(--green);border-radius:2px}.tool-activity-icon{color:var(--green)}.tool-activity-label{letter-spacing:.3px}.footer{text-align:center;padding:48px 32px;color:var(--text2);font-size:12px;font-family:var(--font-mono);border-top:1px solid var(--border);position:relative;z-index:1;letter-spacing:1px}@media (max-width:768px){section{padding:60px 20px}.hero{padding:100px 20px 60px}.hero h1{font-size:32px;letter-spacing:-1px}.hero-tagline{font-size:14px;margin-bottom:28px}.btn{padding:11px 22px;font-size:13px}.section-title h2{font-size:26px}.stat-value{font-size:28px}.stat-label{font-size:11px}.stat-card{padding:20px 14px}.timeline{padding-left:28px}.timeline-content{padding:18px 20px}.timeline-header{flex-direction:column;gap:4px}.timeline-role{font-size:15px}.timeline-period{font-size:11px}.timeline-toggle{text-align:left}.timeline-bullets li{font-size:13px}.about-text{font-size:14px}.edu-card{padding:18px 20px;flex-direction:column;text-align:center}.terminal-body{max-height:200px;font-size:12px}.chat-panel{width:calc(100vw - 32px);height:480px}.chat-fab,.chat-panel{right:16px;bottom:16px}.chat-fab{width:50px;height:50px}.chat-fab-icon{font-size:14px}.contact-card{padding:16px 18px}.contact-info{font-size:13px}.footer{padding:32px 20px}.profile-glow img{width:120px!important;height:120px!important}.skill-node{font-size:12px;padding:5px 11px}.project-card h3{font-size:15px}.project-desc{font-size:12px}.tag{font-size:10px;padding:3px 8px}}@media (max-width:480px){.stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.hero h1{font-size:28px}.hero-subtitle{font-size:13px}.section-title{gap:10px;margin-bottom:36px}.section-title h2{font-size:22px}.section-icon{font-size:11px;padding:4px 10px}.nav-inner{padding:0 16px}.nav-links.open{right:16px}.contact-grid,.projects-grid,.skill-grid{gap:12px}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:rgba(0,255,65,.15);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(0,255,65,.3)}.edu-card{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:24px 28px;margin-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.edu-card h3{font-size:17px;font-weight:600}.edu-card p{color:var(--text2);font-size:14px;margin-top:4px}.edu-gpa{font-size:28px;font-weight:700;color:var(--green);text-shadow:0 0 15px rgba(0,255,65,.3)}.edu-gpa,.edu-gpa-label{font-family:var(--font-mono)}.edu-gpa-label{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:1px}.cert-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(0,255,65,.04);border:1px solid rgba(0,255,65,.12);border-radius:3px;padding:10px 18px;margin-top:16px;font-size:14px}.cert-badge .cert-icon{color:var(--green);font-family:var(--font-mono);font-size:16px}.bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.bg-canvas.matrix{opacity:.4}