@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Share+Tech+Mono&display=swap');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#080c0e;--bg2:#0d1117;--bg3:#0f1923;--bg4:#1a2535;
  --green:#00ff41;--green-d:#00b330;--cyan:#00d4ff;--cyan-d:#006e87;
  --purple:#9d4edd;--red:#ff4757;--orange:#ff9f43;--yellow:#ffd700;
  --text:#e6edf3;--text2:#8b949e;--text3:#6e7681;
  --border:#1e2935;--border2:#2d3f50;
  --glow-g:0 0 8px rgba(0,255,65,.5),0 0 30px rgba(0,255,65,.15);
  --glow-c:0 0 8px rgba(0,212,255,.5),0 0 30px rgba(0,212,255,.15);
  --glow-p:0 0 8px rgba(157,78,221,.5),0 0 30px rgba(157,78,221,.15);
  --mono:'JetBrains Mono','Fira Code','Consolas',monospace;
  --ease:cubic-bezier(.4,0,.2,1)
}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--green-d) var(--bg2)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--green-d);border-radius:3px}
body{background:var(--bg);color:var(--text);font-family:var(--mono);min-height:100vh;overflow-x:hidden;position:relative}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);pointer-events:none;z-index:9998}
body::after{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(0,255,65,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.022) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0}
.nav{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(8,12,14,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 2rem;height:56px}
.nav-logo{font-family:var(--mono);font-size:.9rem;font-weight:700;color:var(--green);text-decoration:none;text-shadow:var(--glow-g);display:flex;align-items:center;gap:.4rem;letter-spacing:.04em}
.nav-logo .prompt{animation:blink 1s step-end infinite}
.nav-logo .host{color:var(--text);font-weight:400}
.nav-links{display:flex;align-items:center;gap:.15rem;list-style:none}
.nav-links a{color:var(--text2);text-decoration:none;font-size:.78rem;font-family:var(--mono);padding:.35rem .75rem;border-radius:4px;border:1px solid transparent;transition:all .25s var(--ease);letter-spacing:.04em}
.nav-links a:hover,.nav-links a.active{color:var(--green);border-color:rgba(0,255,65,.35);background:rgba(0,255,65,.05);text-shadow:var(--glow-g)}
.nav-links a.active{font-weight:700}
.nav-right{display:flex;align-items:center;gap:1rem}
.status{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--text3)}
.dot-status{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:var(--glow-g);animation:pulse 2s infinite}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--green);transition:all .25s}
.page-wrap{padding-top:56px;min-height:100vh;position:relative;z-index:1}
#home-wrap{height:calc(100vh - 56px);display:flex;flex-direction:column;padding:.75rem}
.term-window{flex:1;display:flex;flex-direction:column;border:1px solid #252525;border-radius:8px;overflow:hidden;box-shadow:0 0 80px rgba(0,255,65,.05),0 20px 60px rgba(0,0,0,.6)}
.term-chrome{display:flex;align-items:center;gap:1rem;padding:.55rem 1rem;background:#181818;border-bottom:1px solid #2a2a2a;flex-shrink:0}
.term-dots{display:flex;gap:6px}
.term-dot{width:12px;height:12px;border-radius:50%}
.dot-r{background:#ff5f57}.dot-y{background:#ffbd2e}.dot-g{background:#28ca41}
.term-titlebar{flex:1;text-align:center;font-size:.72rem;color:#555;font-family:var(--mono)}
#skip-boot{background:rgba(0,255,65,.07);border:1px solid rgba(0,255,65,.25);color:var(--green);font-family:var(--mono);font-size:.7rem;padding:.22rem .6rem;cursor:pointer;border-radius:3px;transition:all .2s;flex-shrink:0}
#skip-boot:hover{background:rgba(0,255,65,.14);box-shadow:var(--glow-g)}
#terminal{flex:1;background:#060a06;padding:1.25rem 1.5rem;overflow-y:auto;font-family:var(--mono);font-size:.85rem;line-height:1.75;cursor:text;scrollbar-width:thin;scrollbar-color:#1e1e1e #060a06}
.t-g{color:var(--green)}.t-c{color:var(--cyan)}.t-r{color:var(--red)}.t-y{color:var(--yellow)}
.t-p{color:var(--purple)}.t-o{color:var(--orange)}.t-d{color:var(--text3)}.t-w{color:var(--text)}
.t-b{color:#2d4a2d}.t-title{color:var(--green);font-weight:700}
.tl{white-space:pre-wrap;word-break:break-all}.tl-cmd{margin-top:.4rem}
#term-input-line{display:none;align-items:center;gap:.5rem;margin-top:.35rem;padding-top:.2rem}
.term-ps{white-space:nowrap;flex-shrink:0}
#term-input{background:none;border:none;outline:none;color:var(--text);font-family:var(--mono);font-size:.85rem;flex:1;caret-color:var(--green);min-width:0}
.quick-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;padding:.75rem 2rem;background:var(--bg2);border-top:1px solid var(--border);position:relative;z-index:1}
.quick-nav a{color:var(--text2);text-decoration:none;font-size:.78rem;font-family:var(--mono);padding:.35rem .75rem;border:1px solid var(--border);border-radius:4px;transition:all .25s var(--ease)}
.quick-nav a:hover{color:var(--green);border-color:rgba(0,255,65,.3);background:rgba(0,255,65,.04)}
.hero{padding:4rem 2rem 2.5rem;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:250px;background:radial-gradient(ellipse,rgba(0,255,65,.05) 0%,transparent 70%);pointer-events:none}
.hero-path{font-size:.72rem;color:var(--text3);font-family:var(--mono);margin-bottom:1rem;letter-spacing:.04em}
.hero-path .seg{color:var(--green)}
.hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;font-family:var(--mono);line-height:1.1;margin-bottom:.75rem}
.hero-sub{font-size:.875rem;color:var(--text2);max-width:560px;margin:0 auto;line-height:1.65}
.section{padding:3rem 2rem 4rem;max-width:1300px;margin:0 auto}
.sec-head{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border2),transparent)}
.sec-label{font-size:.68rem;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.18em;white-space:nowrap}
.sec-label .hl{color:var(--green)}
.card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:all .3s var(--ease);position:relative;overflow:hidden}
.card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent);opacity:0;transition:opacity .3s}
.card:hover{background:var(--bg4);border-color:var(--border2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.45)}
.card:hover::after{opacity:1}
.proj-header{display:flex;gap:.4rem;margin-bottom:.75rem}
.proj-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.5rem}
.proj-desc{font-size:.8rem;color:var(--text2);line-height:1.65;margin-bottom:1rem;flex:1}
.proj-card{display:flex;flex-direction:column}
.proj-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;flex:1}
.proj-links{display:flex;gap:.5rem;margin-top:auto}
.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;font-size:.67rem;font-family:var(--mono);border-radius:3px;border:1px solid;letter-spacing:.03em}
.badge-g{color:var(--green);border-color:rgba(0,255,65,.3);background:rgba(0,255,65,.05)}
.badge-c{color:var(--cyan);border-color:rgba(0,212,255,.3);background:rgba(0,212,255,.05)}
.badge-p{color:var(--purple);border-color:rgba(157,78,221,.3);background:rgba(157,78,221,.05)}
.badge-o{color:var(--orange);border-color:rgba(255,159,67,.3);background:rgba(255,159,67,.05)}
.badge-r{color:var(--red);border-color:rgba(255,71,87,.3);background:rgba(255,71,87,.05)}
.badge-y{color:var(--yellow);border-color:rgba(255,215,0,.3);background:rgba(255,215,0,.05)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:var(--mono);font-size:.77rem;font-weight:500;text-decoration:none;border-radius:4px;border:1px solid;cursor:pointer;transition:all .25s var(--ease);letter-spacing:.04em;background:none}
.btn-g{color:var(--green);border-color:rgba(0,255,65,.5)}
.btn-g:hover{background:rgba(0,255,65,.08);box-shadow:var(--glow-g);transform:translateY(-1px)}
.btn-c{color:var(--cyan);border-color:rgba(0,212,255,.5)}
.btn-c:hover{background:rgba(0,212,255,.08);box-shadow:var(--glow-c);transform:translateY(-1px)}
.btn-solid{color:#060a06;background:var(--green);border-color:var(--green);font-weight:700}
.btn-solid:hover{background:#33ff6a;box-shadow:var(--glow-g);transform:translateY(-1px)}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.sae-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.sae-card{height:100%}
.sae-card .proj-tags{display:flex;flex-wrap:wrap;gap:.35rem;align-content:flex-start}
.sae-card .proj-tags .badge{width:auto;min-height:0;padding:.18rem .55rem}
.skills-section{}
.skill-item{margin-bottom:1.1rem}
.skill-label{display:flex;justify-content:space-between;margin-bottom:.35rem;font-size:.78rem;color:var(--text2)}
.skill-label .sname{color:var(--text)}
.skill-track{height:4px;background:var(--bg4);border-radius:2px;overflow:hidden}
.skill-bar{height:100%;border-radius:2px;width:0;transition:width 1.1s var(--ease)}
.bar-g{background:linear-gradient(90deg,var(--green-d),var(--green));box-shadow:0 0 6px rgba(0,255,65,.4)}
.bar-c{background:linear-gradient(90deg,var(--cyan-d),var(--cyan));box-shadow:0 0 6px rgba(0,212,255,.4)}
.bar-p{background:linear-gradient(90deg,#5b21b6,var(--purple));box-shadow:0 0 6px rgba(157,78,221,.4)}
.bar-o{background:linear-gradient(90deg,#c26a00,var(--orange));box-shadow:0 0 6px rgba(255,159,67,.4)}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0;top:.4rem;bottom:0;width:1px;background:linear-gradient(180deg,var(--green) 0%,rgba(0,255,65,.1) 100%)}
.tl-item{position:relative;padding-bottom:2.25rem;opacity:0;transform:translateX(-15px);transition:all .5s var(--ease)}
.tl-item.visible{opacity:1;transform:translateX(0)}
.tl-item:last-child{padding-bottom:.5rem}
.tl-dot{position:absolute;left:-2.44rem;top:.3rem;width:10px;height:10px;border-radius:50%;border:2px solid var(--green);background:var(--bg);box-shadow:var(--glow-g)}
.tl-year{font-size:.68rem;color:var(--green);font-family:var(--mono);margin-bottom:.25rem;letter-spacing:.08em}
.tl-title{font-size:.98rem;font-weight:600;color:var(--text);margin-bottom:.2rem}
.tl-sub{font-size:.8rem;color:var(--cyan);margin-bottom:.5rem}
.tl-desc{font-size:.8rem;color:var(--text2);line-height:1.6}
.profile-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:2rem;text-align:center;position:sticky;top:80px}
.avatar{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--green-d),var(--cyan-d));display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:2rem;font-weight:700;color:var(--bg);border:2px solid rgba(0,255,65,.3);box-shadow:var(--glow-g)}
.profile-name{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.25rem}
.profile-role{font-size:.78rem;color:var(--cyan);margin-bottom:1.25rem}
.profile-info{list-style:none;text-align:left}
.profile-info li{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--text2);padding:.35rem 0;border-bottom:1px solid var(--border)}
.profile-info li:last-child{border-bottom:none}
.profile-info .pi-label{color:var(--green);font-size:.7rem;min-width:50px}
.cv-2col{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}
.tech-item{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;text-align:center;font-size:.78rem;color:var(--text2);transition:all .25s var(--ease);font-family:var(--mono)}
.tech-item:hover{border-color:var(--border2);color:var(--green);background:var(--bg4)}
.tech-item .ti-icon{font-size:1.25rem;display:block;margin-bottom:.3rem}
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.72rem;color:var(--text3);font-family:var(--mono);margin-bottom:.4rem;letter-spacing:.06em}
.form-label .req{color:var(--green);margin-left:.15rem}
.form-control{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--mono);font-size:.82rem;padding:.65rem 1rem;transition:all .25s var(--ease);outline:none;resize:vertical}
.form-control:focus{border-color:rgba(0,255,65,.5);box-shadow:0 0 0 2px rgba(0,255,65,.08);background:var(--bg4)}
.form-control::placeholder{color:var(--text3)}
textarea.form-control{min-height:150px}
.contact-info{list-style:none}
.contact-info li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text2)}
.contact-info li:last-child{border-bottom:none}
.contact-info .ci-icon{font-size:1.1rem;flex-shrink:0}
.contact-info a{color:var(--cyan);text-decoration:none}
.contact-info a:hover{color:var(--green);text-shadow:var(--glow-g)}
.socials{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}
.social-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid var(--border);border-radius:4px;color:var(--text2);text-decoration:none;font-size:.78rem;font-family:var(--mono);transition:all .25s var(--ease)}
.social-btn:hover{color:var(--green);border-color:rgba(0,255,65,.35);background:rgba(0,255,65,.04)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes pulse{0%,100%{box-shadow:0 0 6px rgba(0,255,65,.8)}50%{box-shadow:0 0 2px rgba(0,255,65,.2)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes glitch1{0%{clip-path:inset(10% 0 75% 0);transform:translateX(-3px)}25%{clip-path:inset(55% 0 20% 0);transform:translateX(3px)}50%{clip-path:inset(80% 0 5% 0);transform:translateX(-2px)}75%{clip-path:inset(5% 0 85% 0);transform:translateX(2px)}100%{clip-path:inset(10% 0 75% 0);transform:translateX(0)}}
@keyframes glitch2{0%{clip-path:inset(60% 0 10% 0);transform:translateX(3px)}25%{clip-path:inset(10% 0 70% 0);transform:translateX(-3px)}50%{clip-path:inset(40% 0 40% 0);transform:translateX(2px)}75%{clip-path:inset(70% 0 15% 0);transform:translateX(-2px)}100%{clip-path:inset(60% 0 10% 0);transform:translateX(0)}}
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:.22;pointer-events:none}
.glitch::before{color:var(--cyan);animation:glitch1 2.2s steps(2) infinite}
.glitch::after{color:var(--red);animation:glitch2 2.4s steps(2) infinite}
.glitch:hover::before,.glitch:hover::after{opacity:.7;animation-duration:.5s}
@media (prefers-reduced-motion: reduce){
  .glitch::before,.glitch::after{animation:none;opacity:0}
}
.animate-in{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.animate-in.visible{opacity:1;transform:translateY(0)}
.animate-in:nth-child(1){transition-delay:.0s}.animate-in:nth-child(2){transition-delay:.08s}
.animate-in:nth-child(3){transition-delay:.16s}.animate-in:nth-child(4){transition-delay:.24s}
.animate-in:nth-child(5){transition-delay:.32s}.animate-in:nth-child(6){transition-delay:.4s}
.c-g{color:var(--green)}.c-c{color:var(--cyan)}.c-p{color:var(--purple)}.c-o{color:var(--orange)}
.c-r{color:var(--red)}.c-d{color:var(--text2)}.c-glow-g{text-shadow:var(--glow-g)}
.footer{border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center;color:var(--text3);font-size:.72rem;font-family:var(--mono);position:relative;z-index:1}
.footer a{color:var(--green);text-decoration:none}
.footer a:hover{text-shadow:var(--glow-g)}
@media(max-width:1000px){.cv-2col{grid-template-columns:1fr}.profile-card{position:static}}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sae-grid{grid-template-columns:1fr}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.nav-links{display:none}.nav-toggle{display:flex}.nav-links.open{display:flex;flex-direction:column;position:fixed;top:56px;left:0;width:100%;background:rgba(8,12,14,.97);padding:1rem;border-bottom:1px solid var(--border);z-index:999}.hero{padding:2.5rem 1rem 1.5rem}.section{padding:2rem 1rem 3rem}.term-window{border-radius:4px}#home-wrap{padding:.4rem}#terminal{font-size:.78rem;padding:1rem}}