@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/6NUI8FyLNQOQZAnv9bYEvCeYdG9Ea92uemAO_0ikVfM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/6NUI8FyLNQOQZAnv9bYEvCeYdG9Ea92uemAO8Uik.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fbfaf7;--bg-2: #f3efe5;--surface: #ffffff;--line: #e6e0d2;--line-2: #d4ccb7;--text: #1a1815;--text-dim: #3a3530;--text-mute: #6e6a62;--accent: #8b3a1f;--accent-hi: #a8462a;--ok: #2f5233;--radius-sm: 4px;--radius: 6px;--serif: "Fraunces", "Iowan Old Style", "Georgia", serif;--sans: "Inter", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg)}body{font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hi);text-decoration:underline}main{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header .inner{max-width:960px;margin:0 auto;padding:1.1rem 1.25rem;display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.brand{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--text)}.brand:hover{text-decoration:none;color:var(--text)}.site-nav a{color:var(--text-dim);font-size:.95rem;margin-left:1.25rem}.site-nav a:hover{color:var(--accent);text-decoration:none}article header h1{font-family:var(--serif);font-weight:500;font-size:2.1rem;line-height:1.2;margin:0 0 .35rem;letter-spacing:-.01em}article header .meta{color:var(--text-mute);font-size:.92rem;margin-bottom:2rem}article h2{font-family:var(--serif);font-weight:500;font-size:1.45rem;margin-top:2.5rem;margin-bottom:.8rem}article h3{font-weight:600;font-size:1.1rem;margin-top:1.8rem;margin-bottom:.4rem}article p{margin:0 0 1.1rem}article blockquote{border-left:3px solid var(--line-2);padding:.25rem 0 .25rem 1rem;margin:1.3rem 0;color:var(--text-dim);font-style:italic}article code{font-family:var(--mono);font-size:.88em;background:var(--bg-2);padding:.1em .35em;border-radius:var(--radius-sm)}article pre{background:#1a1815;color:#f3efe5;padding:1rem 1.1rem;border-radius:var(--radius);overflow-x:auto;font-size:.88rem;line-height:1.5;margin:1.3rem 0}article pre code{background:transparent;color:inherit;padding:0}article ul,article ol{padding-left:1.4rem;margin:0 0 1.1rem;list-style:revert}article li{margin-bottom:.35rem}article hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.post-list{list-style:none;padding:0}.post-list li{margin-bottom:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1.3rem}.post-list li:last-child{border-bottom:0}.post-list .title{font-family:var(--serif);font-size:1.3rem;font-weight:500;display:block;color:var(--text);margin-bottom:.2rem}.post-list .title:hover{color:var(--accent);text-decoration:none}.post-list .date{color:var(--text-mute);font-size:.88rem}.post-list .desc{color:var(--text-dim);margin-top:.4rem;font-size:.98rem}.cta{margin-top:3rem;padding:1.3rem 1.4rem;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.cta h3{margin:0 0 .5rem;font-family:var(--serif);font-weight:500}.cta p{margin:0 0 .7rem;color:var(--text-dim);font-size:.96rem}.cta a.btn{display:inline-block;background:var(--accent);color:#fff;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.95rem}.cta a.btn:hover{background:var(--accent-hi);text-decoration:none}.site-footer{border-top:1px solid var(--line);color:var(--text-mute);font-size:.88rem;padding:2rem 1.25rem;text-align:center;margin-top:3rem}.site-footer a{color:var(--text-mute)}
