:root{--bg:#020804;--bg2:#040f05;--neon:#00ff41;--neon-dim:#0c3;--neon-glow:#00ff4140;--neon-subtle:#00ff4114;--neon-border:#00ff412e;--text:#c8f0c8;--text-dim:#5a8a5a;--font-d:"Space Grotesk", sans-serif;--font-m:"JetBrains Mono", monospace;--ease:cubic-bezier(.16,1,.3,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--neon-dim);border-radius:2px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-d);overflow-x:hidden}@media (pointer:fine){body{cursor:none}}#cursor{background:var(--neon);pointer-events:none;z-index:9999;mix-blend-mode:screen;opacity:0;border-radius:50%;width:10px;height:10px;transition:transform .1s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}#cursor-ring{border:1px solid var(--neon);pointer-events:none;z-index:9998;width:36px;height:36px;transition:width .3s var(--ease), height .3s var(--ease), opacity .3s;opacity:0;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}@media (pointer:fine){body:hover #cursor{opacity:1}body:hover #cursor-ring{opacity:.5}}#bg-canvas{z-index:0;pointer-events:none;position:fixed;top:0;left:0}nav{z-index:100;background:0 0;justify-content:space-between;align-items:center;padding:1.2rem 3rem;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--neon-border);background:#020804e0}.nav-logo{font-family:var(--font-m);color:var(--neon);letter-spacing:.1em;font-size:.85rem;text-decoration:none}.nav-logo span{color:var(--text-dim)}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-m);letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;font-size:.75rem;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--neon);height:1px;transition:transform .3s var(--ease);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a.active{color:var(--neon)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-cta{font-family:var(--font-m);letter-spacing:.1em;color:var(--neon);border:1px solid var(--neon-border);text-transform:uppercase;padding:.5rem 1.2rem;font-size:.75rem;text-decoration:none;transition:background .2s,box-shadow .2s}.nav-cta:hover{background:var(--neon-subtle);box-shadow:0 0 20px var(--neon-glow)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:0;display:none}.hamburger span{background:var(--neon);width:24px;height:1px;transition:all .3s;display:block}#hero{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1400px;min-height:100vh;margin:0 auto;padding:120px 3rem 100px;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-m);color:var(--neon);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;opacity:0;max-width:100%;animation:fadeUp .8s var(--ease) .2s forwards;margin-bottom:1.5rem;font-size:.75rem;overflow:hidden}.hero-eyebrow:before{content:"> ";color:var(--text-dim)}.hero-name{letter-spacing:-.02em;color:#fff;opacity:0;animation:fadeUp .8s var(--ease) .4s forwards, glitch 8s infinite 2s;font-size:clamp(3.5rem,8vw,8rem);font-weight:700;line-height:.95}.hero-name .accent{color:var(--neon);display:block}.hero-role{color:var(--text-dim);opacity:0;min-height:2rem;animation:fadeUp .8s var(--ease) .6s forwards;margin-top:1.5rem;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:300}.hero-role .typed{color:var(--neon);font-family:var(--font-m);font-weight:500}.hero-role .cursor-blink{color:var(--neon);animation:1s infinite blink}.hero-desc{max-width:560px;color:var(--text-dim);opacity:0;animation:fadeUp .8s var(--ease) .8s forwards;margin-top:1.5rem;font-size:1.05rem;font-weight:300;line-height:1.7}.hero-btns{opacity:0;animation:fadeUp .8s var(--ease) 1s forwards;gap:1rem;margin-top:2.5rem;display:flex}.btn-primary{font-family:var(--font-m);letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--neon);padding:.9rem 2rem;font-size:.8rem;text-decoration:none;transition:box-shadow .3s,transform .2s}.btn-primary:hover{box-shadow:0 0 40px var(--neon-glow);transform:translateY(-2px)}.btn-secondary{font-family:var(--font-m);letter-spacing:.12em;text-transform:uppercase;color:var(--neon);border:1px solid var(--neon-border);padding:.9rem 2rem;font-size:.8rem;text-decoration:none;transition:background .2s,box-shadow .3s}.btn-secondary:hover{background:var(--neon-subtle);box-shadow:0 0 30px var(--neon-glow)}.hero-scroll{font-family:var(--font-m);letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;animation:fadeIn 1s var(--ease) 1.5s both;flex-direction:column;align-items:center;gap:.5rem;font-size:.65rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, transparent, var(--neon));width:1px;height:50px;animation:1.5s ease-in-out infinite scrollDrop}.hero-stats{opacity:0;animation:fadeUp .8s var(--ease) 1.1s forwards;align-items:center;gap:2.5rem;margin-top:3rem;display:flex}.stat-num{color:var(--neon);font-size:2rem;font-weight:700;font-family:var(--font-m);line-height:1}.stat-num.sm{letter-spacing:.04em;white-space:nowrap;padding-top:.5rem;font-size:.85rem}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-top:.3rem;font-size:.75rem}.stat-divider{background:var(--neon-border);align-self:center;width:1px;height:40px}section{z-index:2;position:relative}.section-inner{max-width:1200px;margin:0 auto;padding:7rem 3rem}.section-tag{font-family:var(--font-m);color:var(--neon);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem;font-size:.7rem}.section-tag:before{content:"// ";color:var(--text-dim)}.section-title{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1}.section-title .dim{color:var(--text-dim)}#about{background:var(--bg2);border-top:1px solid var(--neon-border)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;margin-top:4rem;display:grid}.about-text p{color:var(--text-dim);margin-bottom:1.2rem;font-size:1.05rem;font-weight:300;line-height:1.8}.about-text p strong{color:var(--text);font-weight:500}.about-visual{justify-content:center;align-items:center;display:flex;position:relative}.about-card{border:1px solid var(--neon-border);background:var(--neon-subtle);transform-style:preserve-3d;padding:2.5rem;position:relative;overflow:hidden}.about-card:before{content:"";background:linear-gradient(90deg, transparent, var(--neon), transparent);height:2px;position:absolute;top:0;left:0;right:0}.card-code{font-family:var(--font-m);font-size:.8rem;line-height:2}.card-code .kw{color:#ff79c6}.card-code .str{color:var(--neon)}.card-code .num{color:#bd93f9}.card-code .cmt{color:var(--text-dim)}.card-code .fn{color:#8be9fd}#experience{background:var(--bg)}.timeline{margin-top:5rem;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--neon), transparent);width:1px;position:absolute;top:0;bottom:0;left:0}.tl-item{grid-template-columns:240px 1fr;gap:2.5rem;margin-bottom:4rem;padding-left:2rem;display:grid;position:relative}.tl-item:before{content:"";background:var(--neon);width:9px;height:9px;box-shadow:0 0 12px var(--neon);border-radius:50%;position:absolute;top:1rem;left:-4px}.tl-left{padding-top:.2rem}.tl-company{font-family:var(--font-m);color:var(--neon);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.tl-date{font-family:var(--font-m);color:var(--text-dim);margin-top:.3rem;font-size:.7rem}.tl-role{color:#fff;margin-bottom:1rem;font-size:1.3rem;font-weight:600}.tl-card{border:1px solid var(--neon-border);background:var(--neon-subtle);padding:1.8rem 2rem;transition:border-color .3s,box-shadow .3s;position:relative}.tl-card:hover{border-color:#00ff4166;box-shadow:0 0 30px #00ff410d}.tl-card ul{flex-direction:column;gap:.7rem;list-style:none;display:flex}.tl-card li{color:var(--text-dim);padding-left:1.2rem;font-size:.95rem;font-weight:300;line-height:1.6;position:relative}.tl-card li:before{content:"›";color:var(--neon);position:absolute;left:0}.tl-card li.highlight{color:var(--text);margin-bottom:.5rem;font-style:italic}.tl-tags{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.tag{font-family:var(--font-m);letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;border:1px solid #00ff411f;padding:.25rem .6rem;font-size:.65rem}#skills{background:var(--bg2);border-top:1px solid var(--neon-border)}.skills-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:2rem;margin-top:4rem;display:grid}.skill-group{border:1px solid var(--neon-border);background:var(--neon-subtle);flex-direction:column;padding:2rem;display:flex;position:relative;overflow:hidden}.skill-group:before{content:"";background:linear-gradient(90deg, transparent, var(--neon), transparent);height:1px;position:absolute;top:0;left:0;right:0}.skill-group-title{font-family:var(--font-m);color:var(--neon);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.7rem}.skill-pills{flex-wrap:wrap;gap:.6rem;display:flex}.skill-pill{font-family:var(--font-m);color:var(--text);border:1px solid var(--neon-border);letter-spacing:.05em;padding:.4rem .9rem;font-size:.72rem;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.skill-pill:hover{border-color:var(--neon-dim);color:var(--neon);background:#00ff411f;box-shadow:0 0 14px #00ff4126}#projects{background:var(--bg)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:4rem;display:grid}.project-card{border:1px solid var(--neon-border);background:var(--neon-subtle);transition:border-color .3s, box-shadow .3s, transform .3s var(--ease);transform-style:preserve-3d;cursor:default;padding:2rem;position:relative;overflow:hidden}.project-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 60%,#00ff4108);position:absolute;inset:0}.project-card:hover{border-color:#00ff4180;transform:translateY(-4px);box-shadow:0 0 50px #00ff4112}.project-num{font-family:var(--font-m);color:var(--text-dim);letter-spacing:.1em;margin-bottom:1rem;font-size:.65rem}.project-title{color:#fff;margin-bottom:.8rem;font-size:1.2rem;font-weight:600;line-height:1.3}.project-desc{color:var(--text-dim);font-size:.9rem;font-weight:300;line-height:1.7}.project-footer{justify-content:space-between;align-items:center;margin-top:1.5rem;display:flex}.project-badge{font-family:var(--font-m);color:var(--neon);border:1px solid var(--neon-border);letter-spacing:.1em;padding:.15rem .5rem;font-size:.6rem}#education{background:var(--bg2);border-top:1px solid var(--neon-border)}.edu-card{border:1px solid var(--neon-border);background:var(--neon-subtle);grid-template-columns:auto 1fr;align-items:center;gap:3rem;margin-top:4rem;padding:3rem;display:grid;position:relative;overflow:hidden}.edu-card:before{content:"";background:var(--neon);width:3px;position:absolute;top:0;bottom:0;left:0}.edu-year{font-family:var(--font-m);color:var(--neon);opacity:.2;white-space:nowrap;writing-mode:vertical-rl;font-size:3rem;font-weight:700;line-height:1}.edu-degree{color:#fff;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.edu-school{font-family:var(--font-m);color:var(--neon);letter-spacing:.08em;font-size:.85rem}.edu-detail{color:var(--text-dim);margin-top:1rem;font-size:.95rem;font-weight:300;line-height:1.7}.edu-badges{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.edu-badge{font-family:var(--font-m);color:var(--neon);border:1px solid var(--neon-border);letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;font-size:.65rem}#contact{background:var(--bg)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;margin-top:4rem;display:grid}.contact-intro h3{color:#fff;margin-bottom:1rem;font-size:2rem;font-weight:600;line-height:1.2}.contact-intro p{color:var(--text-dim);margin-bottom:2rem;font-weight:300;line-height:1.8}.contact-links{flex-direction:column;gap:1rem;display:flex}.contact-link{border:1px solid var(--neon-border);color:var(--text-dim);align-items:center;gap:1rem;padding:1rem 1.2rem;text-decoration:none;transition:border-color .2s,background .2s,color .2s;display:flex}.contact-link:hover{border-color:var(--neon-dim);background:var(--neon-subtle);color:var(--neon)}.link-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.link-label{font-family:var(--font-m);letter-spacing:.08em;font-size:.75rem}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{font-family:var(--font-m);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.form-input,.form-textarea{background:var(--neon-subtle);border:1px solid var(--neon-border);color:var(--text);font-family:var(--font-d);resize:none;outline:none;width:100%;padding:.85rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:var(--neon-dim);box-shadow:0 0 20px #00ff4114}.form-textarea{min-height:120px}.form-btn{font-family:var(--font-m);letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--neon);cursor:pointer;border:none;align-self:flex-start;padding:1rem 2rem;font-size:.8rem;transition:box-shadow .3s,transform .2s}.form-btn:hover{box-shadow:0 0 40px var(--neon-glow);transform:translateY(-2px)}footer{z-index:2;text-align:center;border-top:1px solid var(--neon-border);background:var(--bg2);font-family:var(--font-m);color:var(--text-dim);letter-spacing:.1em;padding:3rem;font-size:.7rem;position:relative}footer span{color:var(--neon)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes scrollDrop{0%,to{opacity:0;transform-origin:top;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}}@keyframes glitch{0%,89%,to{text-shadow:none}90%{text-shadow:3px 0 #f0f,-3px 0 #0ff}91%{text-shadow:-2px 0 #f0f}92%{text-shadow:2px 0 #0ff}93%{text-shadow:none}95%{text-shadow:-1px 0 #f0f,1px 0 #0ff}96%{text-shadow:none}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}.mobile-nav{z-index:98;background:#020804fa;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:none;position:fixed;inset:0}.mobile-nav.open{display:flex}.mobile-nav a{font-family:var(--font-m);color:var(--text);letter-spacing:.1em;text-transform:uppercase;font-size:1.2rem;text-decoration:none;transition:color .2s}.mobile-nav a:hover{color:var(--neon)}@media (width<=1024px){.projects-grid,.skills-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr;gap:3rem}.about-visual{display:none}}@media (width<=768px){nav{padding:1rem 1.5rem}.nav-links{display:none}.hamburger{display:flex}.section-inner{padding:5rem 1.5rem}#hero{padding:100px 1.5rem 80px}.hero-stats{flex-wrap:wrap;gap:1.2rem}.stat-divider{display:none}.tl-item{grid-template-columns:1fr;gap:1rem;padding-left:1.5rem}.tl-left{padding-top:0}.projects-grid,.skills-grid,.contact-grid,.edu-card{grid-template-columns:1fr}.edu-year{writing-mode:horizontal-tb;font-size:1.5rem}.hero-btns{flex-direction:column}}
