@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{margin:0;padding:4.5rem 1.5rem 6rem;background:var(--bg);color:var(--fg);font-family:var(--mono);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);font-size:1.125rem;font-weight:600;letter-spacing:.02em}.bio p{margin:0 0 var(--step)}.section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule)}.section-title{margin:0 0 var(--step);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.archive-list{margin-top:2.5rem}.posts{margin:0;padding:0;list-style:none}.posts li+li{margin-top:var(--step)}.post-link{display:block;padding:.8rem .95rem;border:1px solid var(--rule);border-radius:3px;text-decoration:none;transition:background-color .12s ease}.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{display:block;color:var(--muted);font-size:.85rem;letter-spacing:.06em}.post-title{margin:0;font-size:inherit;font-weight:600;line-height:inherit}.post-dek{margin:.15rem 0 0;color:var(--muted)}.links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}.prose{font-family:var(--prose);font-size:1.125rem;line-height:1.7}.prose>p{margin:0 0 1.35rem}.prose h2{margin:2.75rem 0 1rem;font-family:var(--mono);font-size:1.25rem;font-weight:600;letter-spacing:.01em}.prose h3{margin:2.5rem 0 .9rem;font-family:var(--mono);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.prose a{color:var(--accent);text-decoration-color:currentColor}.prose strong{font-weight:600}.prose em{font-style:italic;color:var(--fg-dim)}.prose code{font-family:var(--mono);font-size:.9em}.prose blockquote{margin:1.75rem 0;padding-left:1.1rem;border-left:2px solid var(--rule);color:var(--muted)}.prose hr{margin:2.5rem 0;border:0;border-top:1px solid var(--rule)}.article-header{margin-bottom:2.5rem;border-bottom:1px solid transparent}.article-title{margin:0 0 .5rem;font-size:1.5rem;line-height:1.3;font-weight:600;overflow:hidden;text-overflow:ellipsis}@supports (animation-timeline: scroll()){.article-header{position:sticky;top:0;z-index:10;background:var(--bg);animation:header-pin linear both;animation-timeline:scroll(root);animation-range:0 8rem}.article-title{animation:title-pin-compact linear both;animation-timeline:scroll(root);animation-range:0 8rem}.article-meta{animation:meta-collapse linear both;animation-timeline:scroll(root);animation-range:0 8rem}}@media(min-width:40rem){.article-header{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem}.article-title{margin:0;white-space:nowrap}@supports (animation-timeline: scroll()){.article-title{animation-name:title-pin}.article-meta{animation:none}}}@keyframes header-pin{to{padding:.55rem 0;border-bottom-color:var(--rule)}}@keyframes title-pin{to{font-size:.85rem;letter-spacing:.06em;color:var(--muted)}}@keyframes title-pin-compact{to{margin:0;font-size:.85rem;letter-spacing:.06em;color:var(--muted);white-space:nowrap}}@keyframes meta-collapse{to{font-size:.01px;opacity:0}}.progress{position:fixed;top:0;left:0;z-index:30;width:100%;height:2px;background:var(--accent);transform-origin:0 50%;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{margin-left:.45em;color:var(--muted);text-decoration:none;opacity:0}.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(min-width:68rem){.toc{display:block;position:fixed;top:4.5rem;left:calc(50vw - 32rem);width:12rem;font-size:.8rem;line-height:1.6}.toc-label{margin:0 0 .6rem;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.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{display:block;color:var(--muted);font-size:.85rem;letter-spacing:.06em}.article-footer{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-size:.9rem;color:var(--muted)}.article-footer p{margin:0}.back{display:inline-block;margin-bottom:2.5rem;color:var(--muted);font-size:.85rem;letter-spacing:.06em;text-decoration:none}.back:hover{color:var(--accent)}@media(max-width:34rem){body{padding-top:3rem}}
