@font-face{font-family:charis sil;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/charis-sil-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:charis sil;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/charis-sil-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:charis sil;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/charis-sil-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:charis sil;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/charis-sil-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/figtree-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/figtree-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:figtree;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/figtree-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/figtree-latin-ext-400-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/figtree-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/figtree-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/figtree-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/figtree-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#f1f4ea;--fg:#23332a;--muted:#5f7466;--accent:#2f7a50;--accent-2:#c9822b;--surface:#e3eadb;--border:#c9d6bf;--font-body:Figtree, "Avenir Next", Avenir, system-ui, sans-serif;--font-head:"Charis SIL", Charter, Georgia, serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:38rem;--radius:10px;--size:1.06rem;--leading:1.65;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#141c17;--fg:#dbe6dc;--muted:#8fa596;--accent:#7cc79a;--accent-2:#e0a85a;--surface:#1d2820;--border:#2d3b31;color-scheme:dark}}*,*::before,*::after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font:var(--size)/var(--leading)var(--font-body);-webkit-text-size-adjust:100%}body{max-width:var(--measure);margin:0 auto;padding:2.5rem 1.25rem 4rem}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;margin:2em 0 .6em}h1{font-size:2rem;margin-top:0}h2{font-size:1.4rem}h3{font-size:1.15rem}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}::selection{background:var(--accent);color:var(--bg)}.site-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:3rem}.site-title{font-family:var(--font-head);font-size:1.25rem;font-weight:700;color:var(--fg);text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}.site-footer a{color:inherit}.section-label{margin:3rem 0 1rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post-list{list-style:none;margin:0;padding:0}.post-list li{display:flex;align-items:baseline;gap:1rem;padding:.35rem 0}.post-list time{flex:0 0 7.5rem;font-size:.9em;font-variant-numeric:tabular-nums;color:var(--muted)}.post-list .meta{font-size:.9em;color:var(--muted)}.post-list .empty{font-style:italic;color:var(--muted)}@media(max-width:30rem){.post-list li{flex-direction:column;gap:0}.post-list time{flex:none}}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:.3rem}.post-header time{font-size:.9em;color:var(--muted)}.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}blockquote{margin:1.5rem 0;padding:.25rem 1.25rem;border-left:3px solid var(--accent);color:var(--muted)}blockquote.alert{color:var(--fg);background:var(--surface);border-radius:0 var(--radius)var(--radius)0}.alert-heading{margin-bottom:.25rem;font-weight:700}code{font-family:var(--font-mono);font-size:.88em}:not(pre)>code{padding:.1em .35em;border-radius:4px;background:var(--surface)}pre{padding:1rem;border-radius:var(--radius);overflow-x:auto;font-size:.9rem;line-height:1.5}details{margin:1rem 0;padding:.75rem 1rem;border-radius:var(--radius);background:var(--surface)}summary{cursor:pointer;font-weight:600}table{display:block;overflow-x:auto;width:100%;border-collapse:collapse}th,td{padding:.4rem .6rem;border-bottom:1px solid var(--border);text-align:left}html{background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:22px 22px}.site-title::before{content:"✿ ";color:var(--accent-2)}.site-header nav a{padding:.15em .6em;border-radius:var(--radius)}.site-header nav a[aria-current]{background:var(--surface)}h1{font-weight:600}a{text-decoration-style:dotted;text-decoration-thickness:1.5px}a:hover{text-decoration-style:solid}.post-list li{position:relative;padding:.45rem 0 .45rem 1.25rem;border-left:2px solid var(--border)}.post-list li::before{content:"";position:absolute;top:.95em;left:-7px;width:12px;height:12px;border:2px solid var(--accent);border-radius:50%;background:var(--bg)}.post-list .empty::before{border-color:var(--border)}blockquote{border-left-color:var(--accent-2)}.post-list .kind{margin-left:.25rem;padding:.05em .5em;border-radius:999px;background:var(--surface);font-size:.75em;letter-spacing:.03em}