@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--color-bg:#0b0c0a;--color-surface:#141510;--color-text:#e7e5df;--color-muted:#7c8073;--color-accent:#7fb26c;--color-border:#232418;--max-width:38rem;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--color-bg)}body{font-family:var(--font-mono);color:var(--color-text);background:var(--color-bg);margin:0;line-height:1.6}main{max-width:var(--max-width);margin:0 auto;padding:2rem 1.25rem 4rem}a{color:var(--color-text);border-bottom:1px solid var(--color-border);text-decoration:none;transition:color .15s,border-color .15s}a:hover,a:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header{border-bottom:1px solid var(--color-border)}.site-header nav{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:1.25rem;display:flex}.site-header .brand{color:var(--color-text);border-bottom:none;font-size:.95rem;font-weight:700}.site-header .links a{color:var(--color-muted);border-bottom:none;margin-left:1.25rem;font-size:.85rem}.site-header .links a:hover{color:var(--color-accent)}.site-footer{max-width:var(--max-width);color:var(--color-muted);border-top:1px solid var(--color-border);margin:0 auto;padding:1.5rem 1.25rem 3rem;font-size:.8rem}.site-footer a{color:var(--color-muted);border-bottom:none;align-items:center;gap:.35rem;display:inline-flex}.site-footer a:hover{color:var(--color-accent)}.landing{flex-direction:column;justify-content:center;align-items:flex-start;min-height:calc(100vh - 140px);display:flex}.landing .name{letter-spacing:-.01em;color:var(--color-text);font-size:1.5rem;font-weight:700}.cursor{color:var(--color-accent);animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.landing .role{color:var(--color-muted);margin-top:.5rem;font-size:.9rem}.landing .langs{gap:.4rem;margin-top:.5rem;font-size:1rem;display:flex}.landing .tagline{max-width:32rem;color:var(--color-text);margin-top:1rem;font-size:.9rem;line-height:1.6}.landing .tool-inline{color:var(--color-text);border-bottom:1px dashed var(--color-border);align-items:center;gap:.3rem;padding-bottom:1px;display:inline-flex}.landing .tool-inline:hover,.landing .tool-inline:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}.landing .tool-inline i{font-size:.85em}.landing .tool-icon-svg{width:.85em;height:.85em;display:inline-flex}.landing .tool-icon-svg svg{width:100%;height:100%}.landing .links{gap:1.5rem;margin-top:1.75rem;display:flex}.landing .links a{border-bottom:1px solid var(--color-border);align-items:center;gap:.4rem;padding-bottom:1px;font-size:.9rem;display:inline-flex}.landing .links i{font-size:.95rem}h1,h2,h3{line-height:1.25}.content-section{margin-top:2.5rem}.content-section h2{font-size:1.05rem}.feature-list{flex-direction:column;gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.feature-list li{padding-left:1.4rem;line-height:1.6;position:relative}.feature-list li:before{content:"▸";color:var(--color-accent);position:absolute;left:0}.recent-posts,.post-list{margin-top:2.5rem}.post-list{padding:0;list-style:none}.post-list li,.recent-posts li{border-bottom:1px solid var(--color-border);padding:.75rem 0}.post-list a,.recent-posts a{border-bottom:none}.post-date{color:var(--color-muted);margin-top:.15rem;font-size:.8rem;display:block}.see-all{margin-top:1rem;font-size:.9rem;display:inline-block}.post-header{margin-bottom:2rem}.post-meta{color:var(--color-muted);font-size:.85rem}.tag{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.post-content pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:1rem;font-size:.85rem;overflow-x:auto}.mermaid-diagram{justify-content:center;margin:1.5rem 0;display:flex}.mermaid-diagram svg{max-width:100%}.skills-list{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem 1rem;margin-top:1rem;padding:0;list-style:none;display:grid}.skills-list li{border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.skills-list i{color:var(--color-accent);text-align:center;width:1.1em}.skills-list .skill-icon-svg{width:1.1em;height:1.1em;color:var(--color-accent);display:inline-flex}.skills-list .skill-icon-svg svg{width:100%;height:100%}
