*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--fg);font:var(--size)/var(--lh)var(--font);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.25;text-wrap:balance;margin:2em 0 .6em}img{max-width:100%;height:auto}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;margin-left:auto}.brand{color:var(--fg);text-decoration:none;font-weight:600}.tagline{display:none}.toggle{background:0 0;border:0;padding:.2rem;color:inherit;font:inherit;cursor:pointer;line-height:1}.toggle::before{content:"◐"}.meta,time,.posts p,footer{color:var(--muted)}.posts{list-style:none;padding:0;margin:0}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose pre,.prose .highlight{margin:0 0 1.25em}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin:.3em 0}.prose h1{font-size:1.5em}.prose h2{font-size:1.3em}.prose h3{font-size:1.1em}.prose blockquote{margin:1.5em 0;padding-left:1.1em;border-left:2px solid var(--line);color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.9em}.prose th,.prose td{padding:.4em .8em;border-bottom:1px solid var(--line);text-align:left}code{font-family:var(--mono);font-size:.86em;background:var(--code-bg);padding:.12em .35em;border-radius:4px}pre{background:var(--code-bg);padding:1em 1.1em;overflow-x:auto;border-radius:var(--radius);line-height:1.55;font-size:.85em;tab-size:4}pre code{background:0 0;padding:0;font-size:1em}.chroma [class^=k]{color:var(--k)}.chroma [class^=s]{color:var(--s)}.chroma [class^=c]:not(.cl){color:var(--muted);font-style:italic}.chroma [class^=m],.chroma .nf{color:var(--n)}.pager{display:flex;justify-content:space-between;gap:1.5rem;margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.9em}.pager .next{margin-left:auto;text-align:right}footer{font-size:.85em;margin-top:5rem}@media(prefers-reduced-motion:no-preference){body{transition:background-color .2s,color .2s}}:root{--bg:#f8f9fb;--fg:#1d2433;--muted:#677086;--line:#d5dbe5;--accent:#2447b3;--code-bg:#edf0f5;--k:#7c3aa8;--s:#1b6e4b;--n:#a5480b;--font:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif;--font-head:var(--font);--ui:system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--size:1.1875rem;--lh:1.7;--radius:6px}[data-theme=dark]{--bg:#12151c;--fg:#d6dbe6;--muted:#8b93a7;--line:#2b3140;--accent:#93b1ff;--code-bg:#1a1e28;--k:#c9a0f0;--s:#8fd3ad;--n:#f0b07a}body{max-width:42rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}.site-header{margin-bottom:4.5rem;font-family:var(--ui);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}.site-header nav a{color:var(--muted);text-decoration:none}.site-header nav a:hover{color:var(--fg)}.brand{font-family:var(--font);font-style:italic;font-weight:400;font-size:1.4rem;letter-spacing:0;text-transform:none}.toggle{font-size:1rem;color:var(--muted)}h1{font-size:2.2rem;font-weight:500;letter-spacing:-.01em;margin:0 0 .5rem}.lede{font-style:italic;color:var(--muted);font-size:1.15em;margin:0 0 .75rem}.meta{font-family:var(--ui);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 3rem}.year h2,.recent h2{font-family:var(--ui);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:3rem 0 .75rem}.posts li{display:flex;align-items:baseline;gap:.75rem;padding:.3rem 0}.posts li::after{content:"";flex:1;min-width:1.5rem;order:1;border-bottom:1px dotted var(--muted);opacity:.5}.posts a{color:var(--fg);text-decoration:none}.posts a:hover{color:var(--accent)}.posts time{order:2;font-family:var(--ui);font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}.posts p{display:none}.more,footer{font-family:var(--ui);font-size:.85rem}