@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-code-pro-latin-400-normal.DEXWLoHG.woff2)format("woff2"),url(/_astro/source-code-pro-latin-400-normal.Bf_aQirX.woff)format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-code-pro-latin-600-normal.DVVSlvOB.woff2)format("woff2"),url(/_astro/source-code-pro-latin-600-normal.B5rj6vMs.woff)format("woff")}:root{color-scheme:light;--bg:#fbfbf9;--fg:#1a1a1a;--fg-dim:#3d3d3d;--muted:#565656;--rule:#e3e3df;--hover:#f2f2ee;--accent:#0a5f51;--mono:"Source Code Pro", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--prose:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--measure:34rem;--step:1.5rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}body{background:var(--bg);color:var(--fg);font-family:var(--mono);margin:0;padding:4.5rem 1.5rem 6rem;font-size:1.0625rem;line-height:1.7}.page{max-width:var(--measure);margin:0 auto}a{color:inherit;text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover,a:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}.name{margin:0 0 var(--step);letter-spacing:.02em;font-size:1.125rem;font-weight:600}.bio p{margin:0 0 var(--step)}.section{border-top:1px solid var(--rule);margin-top:3rem;padding-top:2rem}.section-title{margin:0 0 var(--step);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.85rem;font-weight:600}.archive-list{margin-top:2.5rem}.posts{margin:0;padding:0;list-style:none}.posts li+li{margin-top:var(--step)}.post-link{border:1px solid var(--rule);border-radius:3px;padding:.8rem .95rem;text-decoration:none;transition:background-color .12s;display:block}.post-link:hover,.post-link:focus-visible{background:var(--hover)}.post-link:hover .post-title,.post-link:focus-visible .post-title{color:var(--accent)}.post-date{color:var(--muted);letter-spacing:.06em;font-size:.85rem;display:block}.post-title{font-size:inherit;font-weight:600;line-height:inherit;margin:0}.post-dek{color:var(--muted);margin:.15rem 0 0}.links{flex-wrap:wrap;gap:.4rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.prose{font-family:var(--prose);font-size:1.125rem;line-height:1.7}.prose>p{margin:0 0 1.35rem}.prose h2{font-family:var(--mono);letter-spacing:.01em;margin:2.75rem 0 1rem;font-size:1.25rem;font-weight:600}.prose h3{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2.5rem 0 .9rem;font-size:.85rem;font-weight:600}.prose a{color:var(--accent);text-decoration-color:currentColor}.prose strong{font-weight:600}.prose em{color:var(--fg-dim);font-style:italic}.prose code{font-family:var(--mono);font-size:.9em}.prose blockquote{border-left:2px solid var(--rule);color:var(--muted);margin:1.75rem 0;padding-left:1.1rem}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.article-header{border-bottom:1px solid #0000;margin-bottom:2.5rem}.article-title{text-overflow:ellipsis;margin:0 0 .5rem;font-size:1.5rem;font-weight:600;line-height:1.3;overflow:hidden}@supports (animation-timeline:scroll()){.article-header{z-index:10;background:var(--bg);animation:linear both header-pin scroll(root);animation-range:0 8rem;position:sticky;top:0}.article-title{animation:linear both title-pin-compact scroll(root);animation-range:0 8rem}.article-meta{animation:linear both meta-collapse scroll(root);animation-range:0 8rem}}@media (width>=40rem){.article-header{justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.article-title{white-space:nowrap;margin:0}@supports (animation-timeline:scroll()){.article-title{animation-name:title-pin}.article-meta{animation:none}}}@keyframes header-pin{to{border-bottom-color:var(--rule);padding:.55rem 0}}@keyframes title-pin{to{letter-spacing:.06em;color:var(--muted);font-size:.85rem}}@keyframes title-pin-compact{to{letter-spacing:.06em;color:var(--muted);white-space:nowrap;margin:0;font-size:.85rem}}@keyframes meta-collapse{to{opacity:0;font-size:.01px}}.progress{z-index:30;background:var(--accent);transform-origin:0;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation-name:fill-progress;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}}@keyframes fill-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.prose h2,.prose h3{scroll-margin-top:3.5rem}.prose .heading-anchor{color:var(--muted);opacity:0;margin-left:.45em;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose .heading-anchor:hover{color:var(--accent)}.toc{display:none}@media (width>=68rem){.toc{width:12rem;font-size:.8rem;line-height:1.6;display:block;position:fixed;top:4.5rem;left:calc(50vw - 32rem)}.toc-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.75rem;font-weight:600}.toc ul{margin:0;padding:0;list-style:none}.toc li+li{margin-top:.4rem}.toc-sub{padding-left:.9rem}.toc a{color:var(--muted);text-decoration:none}.toc a:hover,.toc a:focus-visible{color:var(--accent)}}.article-meta{color:var(--muted);letter-spacing:.06em;font-size:.85rem;display:block}.article-footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:3.5rem;padding-top:1.5rem;font-size:.9rem}.article-footer p{margin:0}.back{color:var(--muted);letter-spacing:.06em;margin-bottom:2.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.back:hover{color:var(--accent)}@media (width<=34rem){body{padding-top:3rem}}
