@import"https://fonts.googleapis.com/css2?family=VT323&family=Share+Tech+Mono&family=Fira+Code:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000;--panel: #050705;--card: #0A0E0A;--raised: #0E140E;--green: #00FF41;--green-glow: #39FF7A;--green-mid: #00B828;--green-dim: #008F11;--green-dark: #005C0A;--green-deep: #002B05;--white: #E8FFE8;--amber: #FFB000;--red: #E10600;--blue: #0057FF}html,body{background:var(--bg);color:var(--green);font-family:Share Tech Mono,monospace;font-size:16px;line-height:1.55;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,255,65,.035) 2px,rgba(0,255,65,.035) 3px);mix-blend-mode:screen}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99;box-shadow:inset 0 0 240px #000000e6}a{color:var(--green);text-decoration:none}button{font-family:inherit}.cursor:after{content:"▊";margin-left:2px;animation:blink 1s step-end infinite;text-shadow:0 0 4px var(--green)}@keyframes blink{50%{opacity:0}}.glow{text-shadow:0 0 8px var(--green),0 0 2px var(--white)}.glow-sm{text-shadow:0 0 4px rgba(0,255,65,.6)}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--green);background:transparent;color:var(--green);font-family:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:box-shadow .16s,background .16s,transform 80ms;box-shadow:0 0 8px #00ff4166}.btn:hover{background:#00ff410f;box-shadow:0 0 16px #00ff41b3,0 0 2px var(--green)}.btn:active{transform:scale(.99);box-shadow:0 0 4px #00ff4166}.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn.dim{border-color:var(--green-dark);color:var(--green-dim);box-shadow:none}.btn.dim:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 8px #00ff4180}.btn.red{border-color:var(--red);color:var(--red);box-shadow:0 0 8px #e1060080}.btn.red:hover{box-shadow:0 0 24px #e10600e6,0 0 4px var(--red);background:#e1060014}.btn.blue{border-color:var(--blue);color:var(--blue);box-shadow:0 0 8px #0057ff80}.btn.blue:hover{box-shadow:0 0 24px #0057ffe6,0 0 4px var(--blue);background:#0057ff14}.glitch{position:relative;transition:color .12s}.glitch:hover{animation:glitch .22s steps(2,end)}@keyframes glitch{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px)}to{transform:translate(0)}}.section{max-width:1100px;margin:0 auto;padding:72px 24px}.section-tag{font-size:18px;color:var(--green);letter-spacing:.08em;margin-bottom:24px;text-shadow:0 0 4px rgba(0,255,65,.6)}.section-tag:before{content:"> ";color:var(--green-dim)}.h-display{font-family:VT323,monospace;font-size:80px;line-height:1;color:var(--green);text-shadow:0 0 12px var(--green),0 0 2px var(--white)}.h-display-xl{font-family:VT323,monospace;font-size:clamp(72px,13vw,156px);line-height:1;color:var(--green);text-shadow:0 0 16px var(--green),0 0 4px var(--green-glow),0 0 48px rgba(0,255,65,.3)}.h2{font-family:VT323,monospace;font-size:48px;line-height:1.1;color:var(--green);text-shadow:0 0 6px rgba(0,255,65,.7)}.h3{font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}.body-mono{color:var(--green-dim);font-size:16px;line-height:1.65}.dim{color:var(--green-dim)}.faint{color:var(--green-dark)}.emph{color:var(--white);text-shadow:0 0 4px var(--green)}.label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark)}.term{border:1px solid var(--green-dark);background:var(--panel);transition:border-color .2s,box-shadow .2s}.term:hover{border-color:var(--green);box-shadow:0 0 16px #00ff4166}.term-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--green-deep);background:var(--card)}.term-dots{display:flex;gap:6px}.term-dots span{width:9px;height:9px;background:var(--green);box-shadow:0 0 4px var(--green)}.term-title{flex:1;text-align:center;font-size:11px;letter-spacing:.12em;color:var(--green-dim);text-transform:uppercase}.term-body{padding:18px}.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--green-deep);flex-wrap:wrap;gap:8px}.header-prompt{display:flex;align-items:center;gap:10px;font-size:14px}.header-nav{display:flex;gap:14px;font-size:12px;letter-spacing:.12em;flex-wrap:wrap}.header-nav a{color:var(--green-dim);transition:color .12s,text-shadow .12s;cursor:pointer}.header-nav a:hover,.header-nav a.active{color:var(--green);text-shadow:0 0 6px var(--green)}.hero{position:relative;height:92vh;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 6vw;overflow:hidden}.hero canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:.55}.hero>*:not(canvas){position:relative;z-index:2}.skill-row{display:grid;grid-template-columns:130px 1fr 56px;gap:12px;align-items:center;font-family:Fira Code,monospace;font-size:13px;margin-bottom:8px}.skill-track{height:12px;background:var(--green-deep);position:relative}.skill-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--green);box-shadow:0 0 8px #00ff4199}.log-line{font-family:Fira Code,monospace;font-size:13px;line-height:1.75}.log-line .ts{color:var(--green-dark)}.log-line .tag{color:var(--green)}.log-line .tag.warn{color:var(--amber)}.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.proj-card{cursor:pointer}.proj-card:hover .term{border-color:var(--green);box-shadow:0 0 20px #00ff4180}.chip{display:inline-flex;padding:3px 9px;border:1px solid var(--green-dark);color:var(--green-dim);font-size:11px;letter-spacing:.08em}.chip.active{border-color:var(--green);color:var(--green);box-shadow:0 0 6px #00ff4166}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.input{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--green-deep);background:var(--panel);color:var(--green);font-family:inherit;font-size:14px;width:100%;transition:border-color .16s,box-shadow .16s}.input:focus-within{outline:none;border-color:var(--green);box-shadow:0 0 8px #00ff4166}.input input,.input textarea{flex:1;background:transparent;border:0;outline:0;color:var(--green);font-family:inherit;font-size:14px;resize:vertical}.input input::placeholder,.input textarea::placeholder{color:var(--green-dark)}.input textarea{min-height:80px}.input .prompt{color:var(--green-dim);flex-shrink:0}.footer{padding:32px 24px;border-top:1px solid var(--green-deep);text-align:center;font-size:12px;color:var(--green-dark);letter-spacing:.08em}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 18px;background:var(--panel);border:1px solid var(--green);color:var(--green);font-size:13px;letter-spacing:.08em;box-shadow:0 0 16px #00ff4199;z-index:200;white-space:nowrap}.gate{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:24px;text-align:center}.pills{display:flex;gap:32px;flex-wrap:wrap;justify-content:center}.pill-btn{padding:24px 32px;font-size:14px}.boot{min-height:100vh;padding:48px 24px;font-family:Fira Code,monospace;font-size:14px;color:var(--green);line-height:1.8}.boot .line{opacity:0;animation:fadein 1ms forwards}@keyframes fadein{to{opacity:1}}.no-motion .glitch:hover{animation:none}.no-motion .hero canvas{display:none}.no-motion .cursor:after{animation:none}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr}.header{padding:10px 16px}.header-nav{gap:10px;font-size:11px}.section{padding:48px 16px}.skill-row{grid-template-columns:100px 1fr 48px}.hero{padding:0 5vw}.proj-grid{grid-template-columns:1fr}}@media (max-width: 480px){.header-nav a:not(:last-child):not(:nth-last-child(2)){display:none}.pills{flex-direction:column;align-items:center}}.hide{display:none!important}
