:root{--bg:#0d1117;--bg-alt:#141a21;--fg:#c9d1d9;--fg-dim:#8b949e;--fg-dimmer:#768390;--accent:#58a6ff;--accent-hover:#79c0ff;--border:#21262d;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--max-width:760px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px}*{box-sizing:border-box}html{color-scheme:dark;scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);padding:0 var(--space-6);margin:0;font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--fg);letter-spacing:-.01em;font-weight:700;line-height:1.25}h1{font-size:var(--text-2xl);margin:0 0 var(--space-4)}h2{font-size:var(--text-lg);margin:0 0 var(--space-4)}h3{font-size:var(--text-base);margin:0;font-weight:600}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--space-2);display:block}p,ul{margin:0 0 var(--space-4);color:var(--fg-dim)}ul{padding-left:1.2em}li{margin-bottom:var(--space-2)}.lead{color:var(--fg)}section>:last-child,.entry>:last-child,li:last-child{margin-bottom:0}main{max-width:var(--max-width);padding:var(--space-12) 0 var(--space-16);margin:0 auto}main>section{margin-top:var(--space-12)}main>section:first-child{margin-top:0}.site-header{max-width:var(--max-width);padding:var(--space-8) 0 var(--space-6);justify-content:space-between;align-items:baseline;gap:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;margin:0 auto;display:flex}.site-name{font-size:var(--text-xl);letter-spacing:-.01em;margin:0 0 var(--space-1);font-weight:700;line-height:1.25}.site-name a{color:var(--fg)}.site-name a:hover{text-decoration:none}.role-line{color:var(--fg-dim);font-size:var(--text-sm);margin:0}.site-header nav{gap:var(--space-2) var(--space-6);font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-header nav a{color:var(--fg-dim)}.site-header nav a:hover{color:var(--accent);text-decoration:none}.site-header nav a[aria-current=page]{color:var(--fg)}.site-footer{max-width:var(--max-width);padding:var(--space-6) 0 var(--space-12);border-top:1px solid var(--border);color:var(--fg-dimmer);font-size:var(--text-sm);margin:0 auto}.site-footer p{color:inherit;margin:0 0 var(--space-2)}.site-footer p:last-child{margin-bottom:0}.entry+.entry{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.entry-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.entry-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-dimmer);white-space:nowrap}.stack-list{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.stack-list li{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-dim);background:var(--bg-alt);border:1px solid var(--border);padding:2px var(--space-2);border-radius:4px;margin:0}.read-more{margin-top:var(--space-6);font-family:var(--font-mono);font-size:var(--text-sm)}.contact-list{margin:0}.contact-list>div{align-items:baseline;gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.contact-list>div:last-child{border-bottom:1px solid var(--border)}.contact-list dt{width:6rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-dimmer)}.contact-list dd{overflow-wrap:anywhere;margin:0}.cta{color:var(--bg);background:var(--accent);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:6px;font-weight:600;display:inline-block}.cta:hover{background:var(--accent-hover);text-decoration:none}.headshot{float:right;width:112px;height:112px;margin:0 0 var(--space-4) var(--space-6);border:1px solid var(--border);border-radius:50%}@media (width<=480px){.headshot{width:80px;height:80px;margin-left:var(--space-4)}body{padding:0 var(--space-4);font-size:15px}.site-header{padding-top:var(--space-6)}.site-header nav{column-gap:var(--space-4)}main{padding-top:var(--space-8)}}
