.site-header[data-astro-cid-rq4qnsko]{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.logo[data-astro-cid-rq4qnsko]{display:inline-flex;align-items:baseline;font-family:var(--font-mono);font-size:14px;letter-spacing:-.01em}.caret[data-astro-cid-rq4qnsko]{color:var(--accent);animation:blink 1.2s step-end infinite}.nav[data-astro-cid-rq4qnsko]{display:flex;align-items:baseline;gap:18px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.nav[data-astro-cid-rq4qnsko] .active[data-astro-cid-rq4qnsko]{color:var(--ink)}@media(max-width:380px){.nav[data-astro-cid-rq4qnsko]{gap:14px}}.site-footer[data-astro-cid-ch5ybykl]{display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--muted)}.footer-nav[data-astro-cid-ch5ybykl]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.footer-meta[data-astro-cid-ch5ybykl]{display:inline-flex;align-items:center;gap:7px}.repo[data-astro-cid-ch5ybykl]{display:inline-flex}.repo[data-astro-cid-ch5ybykl] svg[data-astro-cid-ch5ybykl]{display:block}:root{color-scheme:dark;--paper: #121211;--ink: #eae8e1;--muted: #807d75;--line: #26251f;--accent: #e08a57;--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure: 46ch;--col-meta: 84px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16.5px;line-height:1.75}.wrap{width:100%;max-width:640px;margin:0 auto;padding:40px 28px 96px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:64px}main{display:flex;flex-direction:column;gap:64px;animation:rise .3s ease both}.site-footer{margin-top:auto}@keyframes blink{0%,48%{opacity:1}52%,to{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.section{display:flex;flex-direction:column;gap:18px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11.5px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section-head .num{color:var(--accent)}.row{display:grid;grid-template-columns:var(--col-meta) 1fr;gap:16px;align-items:baseline}.row>*{min-width:0}.rows>li{border-bottom:1px solid var(--line)}.meta{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.link-underline{border-bottom:1px solid var(--line);transition:color .15s ease,border-color .15s ease}.link-underline:hover{color:var(--accent);border-color:var(--accent)}.link-quiet{color:inherit;transition:color .15s ease}.link-quiet:hover,.accent{color:var(--accent)}.prose{max-width:var(--measure);text-wrap:pretty}.prose-muted{color:var(--muted)}.lede{font-size:18.5px;line-height:1.7;letter-spacing:-.006em;color:var(--muted);text-wrap:pretty}.page-title{font-size:19px;font-weight:500;line-height:1.55;letter-spacing:-.01em}.article{display:flex;flex-direction:column;gap:22px;font-size:17px;line-height:1.78;letter-spacing:-.003em}.article>:first-child{margin-top:0}.article p{text-wrap:pretty}.article h1,.article h2,.article h3,.article h4{margin-top:10px;font-family:var(--font-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.article h1{font-size:15px}.article h2{font-size:14px}.article h3,.article h4{font-size:13px;letter-spacing:.06em}.article strong{font-weight:500;color:var(--ink)}.article em{font-style:italic}.article a{border-bottom:1px solid var(--line);transition:color .15s ease,border-color .15s ease}.article a:hover{color:var(--accent);border-color:var(--accent)}.article blockquote{padding:4px 0 4px 20px;border-left:2px solid var(--accent);color:var(--muted);font-style:italic;text-wrap:pretty}.article ul,.article ol{display:flex;flex-direction:column;gap:8px;padding-left:22px}.article ul{list-style:disc}.article ol{list-style:decimal}.article li::marker{color:var(--muted)}.article pre{padding:18px 20px;background:var(--line);overflow-x:auto;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:var(--ink)}.article :not(pre)>code{padding:1px 5px;background:var(--line);font-family:var(--font-mono);font-size:.88em}.article img{width:100%;border:1px solid var(--line)}.article hr{border:0;border-top:1px solid var(--line)}.article table{width:100%;border-collapse:collapse;font-size:14px}.article th,.article td{padding:8px 12px;border:1px solid var(--line);text-align:left}.article th{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media(max-width:560px){:root{--col-meta: 100%}.wrap{padding:32px 20px 72px;gap:48px}main{gap:48px}.row{grid-template-columns:1fr;gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
