:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#161619;--ink:#dedee5;--muted:#9898a5;--line:#303038;--accent:#a78bfa;--font-body:Arial, sans-serif;--font-display:"Departure Mono", monospace;--font-mono:"Berkeley Mono", monospace}
@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Oblique.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Bold-Oblique.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html{background:var(--paper);--text-size:16px;--title-size:24px;--section-size:18px;--nav-size:14px;--meta-size:12px}body{max-width:720px;color:var(--ink);font-family:var(--font-body);font-size:var(--text-size);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0 auto;padding:56px 24px 32px;line-height:1.65}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{color:#fff;background:#48386b}img,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.4}h1{font-size:var(--title-size)}h2{font-size:var(--section-size)}h3,h4,h5,h6{font-size:var(--text-size)}p{margin:1em 0}.quiet{color:var(--muted);font-family:var(--font-mono);font-size:var(--meta-size)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--paper);padding:8px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{margin-bottom:46px}.brand-stage{width:100%;height:54px;position:relative}.brand{font-family:var(--font-display);font-size:var(--title-size);line-height:1;text-decoration:none;position:absolute;bottom:0;left:0}.alpaca-walker{width:44px;height:44px;color:var(--accent);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;z-index:2;background:0 0;border:0;padding:0;position:absolute;bottom:0;right:4px;overflow:visible}.alpaca-walker svg{transform-origin:50% 90%;width:100%;height:100%;transition:filter .18s;display:block;overflow:visible}.alpaca-walker:hover svg,.alpaca-walker:focus-visible svg{filter:brightness(1.18)drop-shadow(0 0 3px #a78bfa70)}.alpaca-walker:focus-visible{outline:1px dashed var(--accent);outline-offset:4px;border-radius:5px}.alpaca-walker[data-paused=true]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-4px;left:calc(50% - 2px)}.alpaca-walker[data-dragging=true]{cursor:grabbing}.alpaca-walker[data-away=true]{z-index:90}.alpaca-walker[data-booped=true] svg{animation:.28s ease-out alpaca-boop}@keyframes alpaca-boop{0%,to{transform:scale(1)}35%{transform:scale(1.07,.9)}65%{transform:scale(.97,1.04)}}.site-header nav{font-family:var(--font-display);font-size:var(--nav-size);flex-wrap:wrap;gap:20px;margin-top:14px;display:flex}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--accent);text-decoration:underline}.site-main{min-width:0}.page-title{margin:0 0 28px}.section-title{margin:0 0 16px}.home-bio p{max-width:580px;margin-top:0}.home-contact{flex-wrap:wrap;gap:4px 20px;margin:18px 0 0;padding:0;list-style:none;display:flex}.home-contact li{margin:0}.copy-email{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.copy-email:hover{color:var(--accent)}.copy-email:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.home-writing,.home-proud{margin-top:42px}.home-writing h2{margin:0 0 20px}.post-row{grid-template-columns:180px minmax(0,1fr);align-items:baseline;gap:20px;display:grid}.archive-list{margin-top:24px}.back-link{font-family:var(--font-display);font-size:13px}.article-header{margin-bottom:32px}.article-header h1{text-wrap:balance;margin:0 0 12px}.article-prose{margin-bottom:40px}.prose{line-height:1.7}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4{margin:1.8em 0 .7em}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:.4em}.prose li>p{margin:.5em 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:24px 0;padding:0 18px}.prose code{font-family:var(--font-mono);font-size:.85em}.prose pre{border:1px solid var(--line);white-space:pre;overflow-wrap:normal;tab-size:2;background:#111114;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit}.prose img{margin:24px auto;display:block}.prose table{border-collapse:collapse;max-width:100%;margin:24px 0;font-size:14px;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.prose details{margin:20px 0}.prose summary{cursor:pointer;color:var(--accent)}.prose .katex-display{overflow:auto hidden}.prose .footnotes{border-top:1px solid var(--line);margin-top:32px;font-size:13px}.reading-list,.social-list{margin:0;padding:0;list-style:none}.reading-list li{margin-bottom:20px}.social-list{margin-top:28px}.social-list li{margin:8px 0}.content-counts{flex-wrap:wrap;gap:20px;margin:24px 0;font-size:14px;display:flex}@media (max-width:480px){html{--text-size:15px;--title-size:23px;--nav-size:13px}body{padding:32px 20px 24px}.site-header{margin-bottom:36px}.site-header nav{gap:16px}.post-row{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:14px}}@media (prefers-reduced-motion:reduce){.brand-stage{align-items:flex-end;gap:14px;height:44px;display:flex;overflow:visible}.brand{position:static}.alpaca-walker{will-change:auto;flex-shrink:0;width:32px;height:32px;position:static}.alpaca-walker:not([data-away]){transform:none!important}.alpaca-walker svg{transition:none;animation:none!important}}
