@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg: #0a0a0a;--bg-alt: #0f0f0f;--bg-surface: #141414;--border: #1c1c1c;--text: #999;--text-bright: #e0e0e0;--text-muted: #444;--accent: #a78bfa;--accent-dim: rgba(167, 139, 250, .08);--green: #4ade80;--font: "JetBrains Mono", "Cascadia Code", "Fira Code", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#222 var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--text-bright)}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:200;width:0%;pointer-events:none}.cursor-glow{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.04) 0%,transparent 70%);pointer-events:none;transform:translate(-50%,-50%);z-index:1;transition:left .15s ease-out,top .15s ease-out;display:none}@media (pointer: fine){.cursor-glow{display:block}}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#0a0a0acc;backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-logo{color:var(--text-bright);font-weight:700;font-size:15px;letter-spacing:-.5px}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text-muted);font-size:13px;transition:color .2s;position:relative}.nav-links a:hover{color:var(--text-bright)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.nav-links a:hover:after{width:100%}main{max-width:660px;margin:0 auto;padding:0 2rem;position:relative;z-index:2}.hero{padding-top:10rem;padding-bottom:5rem;min-height:90vh;display:flex;flex-direction:column;justify-content:center}.terminal-line{margin-bottom:.8rem;font-size:13px;color:var(--text-muted)}.prompt{color:var(--green);margin-right:.5rem}.hero h1{font-size:2.4rem;font-weight:700;color:var(--text-bright);letter-spacing:-1.5px;margin-bottom:.3rem;line-height:1.2}.hero .subtitle{color:var(--text-muted);font-size:14px;margin-bottom:1.6rem}.hero .bio{color:var(--text);font-size:14px;margin-bottom:2.5rem;max-width:480px;line-height:1.8}.hero .bio:before{content:"> ";color:var(--text-muted)}.npx-block{margin-top:.5rem;padding:1rem 1.2rem;background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;display:inline-block}.npx-block .typed-text{color:var(--text-bright)}.npx-block .cursor-char{color:var(--accent);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hint{color:var(--text-muted);font-size:11px;margin-top:.6rem;font-style:italic}.section{padding:4rem 0;border-top:1px solid var(--border)}.section-header{font-size:13px;color:var(--text-muted);margin-bottom:2rem}.section-header .prompt{color:var(--green)}.interests{list-style:none;display:flex;flex-direction:column;gap:.6rem}.interests li{color:var(--text);font-size:14px;padding:.4rem 0 .4rem 1.2rem;position:relative;transition:color .2s,transform .2s}.interests li:before{content:"-";position:absolute;left:0;color:var(--text-muted)}.interests li:hover{color:var(--text-bright);transform:translate(4px)}.stack-grid{display:flex;flex-direction:column;gap:.3rem}.stack-row{display:flex;padding:.6rem 0;border-bottom:1px solid var(--border);transition:background .2s;gap:1rem}.stack-row:last-child{border-bottom:none}.stack-row:hover{background:var(--accent-dim);margin:0 -.8rem;padding-left:.8rem;padding-right:.8rem;border-radius:3px}.stack-label{color:var(--text-muted);min-width:120px;flex-shrink:0;font-size:13px}.stack-items{color:var(--text);font-size:13px}.contact-list{display:flex;flex-direction:column;gap:.3rem}.contact-row{display:flex;align-items:center;gap:1rem;padding:.6rem 0;color:var(--text);text-decoration:none;transition:color .2s,transform .2s}.contact-row:hover{color:var(--text-bright);transform:translate(4px)}.contact-label{color:var(--text-muted);min-width:100px;font-size:13px}.contact-value{font-size:13px}footer{padding:3rem 0;border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:12px}footer .exit-line{margin-bottom:1rem}.page-header{padding-top:8rem;padding-bottom:3rem}.page-header h1{font-size:1.5rem;color:var(--text-bright);font-weight:700;letter-spacing:-1px;margin-bottom:.3rem}.page-header p{color:var(--text-muted);font-size:13px}.post-list{display:flex;flex-direction:column;gap:.5rem;padding-bottom:6rem}.post-item{display:flex;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);transition:background .2s,transform .2s;align-items:baseline}.post-item:hover{color:var(--text-bright);background:var(--accent-dim);margin:0 -.8rem;padding-left:.8rem;padding-right:.8rem;border-radius:3px}.post-date{color:var(--text-muted);font-size:12px;flex-shrink:0;min-width:90px}.post-title{font-size:14px;font-weight:500}.post-desc{color:var(--text-muted);font-size:12px;margin-top:.2rem}.post-meta{display:flex;flex-direction:column}.empty-state{color:var(--text-muted);font-size:13px;padding:2rem 0}.article-header{padding-top:8rem;padding-bottom:2rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.article-header h1{font-size:1.8rem;color:var(--text-bright);font-weight:700;letter-spacing:-1px;line-height:1.3;margin-bottom:.5rem}.article-header time{color:var(--text-muted);font-size:12px}.article-tags{display:flex;gap:.5rem;margin-top:.8rem}.tag{font-size:11px;color:var(--accent);background:var(--accent-dim);padding:.15rem .5rem;border-radius:3px}.back-link{display:inline-block;color:var(--text-muted);font-size:13px;margin-bottom:2rem;margin-top:.5rem}.back-link:hover{color:var(--accent)}.back-link:before{content:"<- "}.prose{padding-bottom:6rem}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text-bright);margin-top:2.5rem;margin-bottom:1rem;letter-spacing:-.5px}.prose h2{font-size:1.3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.prose h3{font-size:1.1rem}.prose p{margin-bottom:1.2rem;line-height:1.8}.prose ul,.prose ol{margin-bottom:1.2rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem;line-height:1.7}.prose code{background:var(--bg-surface);padding:.15rem .4rem;border-radius:3px;font-size:.9em;color:var(--accent)}.prose pre{background:var(--bg-surface)!important;border:1px solid var(--border);border-radius:4px;padding:1.2rem;margin-bottom:1.5rem;overflow-x:auto;font-size:13px;line-height:1.6}.prose pre code{background:none;padding:0;color:inherit}.prose blockquote{border-left:2px solid var(--accent);padding-left:1rem;color:var(--text-muted);margin-bottom:1.2rem;font-style:italic}.prose img{max-width:100%;border-radius:4px;margin:1.5rem 0}.prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.prose a{text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--text-bright);font-weight:600}.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 640px){nav{padding:1rem 1.2rem}.nav-links{gap:1.2rem}main{padding:0 1.2rem}.hero{padding-top:7rem;min-height:auto;padding-bottom:3rem}.hero h1{font-size:1.8rem}.stack-row{flex-direction:column;gap:.2rem}.stack-label{min-width:auto}.post-item{flex-direction:column;gap:.3rem}.post-date{min-width:auto}}
