@font-face{font-family:monaspace xenon;src:url(/fonts/monaspace-xenon-var.woff2)format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0 11deg;font-display:swap}@font-face{font-family:monaspace neon;src:url(/fonts/monaspace-neon-var.woff2)format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0 11deg;font-display:swap}@font-face{font-family:monaspace argon;src:url(/fonts/monaspace-argon-var.woff2)format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0 11deg;font-display:swap}@font-face{font-family:monaspace krypton;src:url(/fonts/monaspace-krypton-var.woff2)format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0 11deg;font-display:swap}@font-face{font-family:monaspace radon;src:url(/fonts/monaspace-radon-var.woff2)format("woff2");font-weight:200 800;font-stretch:100% 125%;font-style:oblique 0 11deg;font-display:swap}@font-face{font-family:mona sans;src:url(/fonts/mona-sans-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:mona sans;src:url(/fonts/mona-sans-latin-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:mona sans;src:url(/fonts/mona-sans-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:bernie sans beta vf;src:url(/fonts/BernieSansBetaVF.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f4efe4;--fg:#1d1b18;--muted:#6a6358;--rule:#cdc5b3;--accent:#a5121a;--code-bg:#ebe4d3;--fallback:"Bernie Sans Beta VF",ui-monospace,Menlo,Consolas,monospace;--font-xenon:"Monaspace Xenon",var(--fallback);--font-neon:"Monaspace Neon",var(--fallback);--font-argon:"Monaspace Argon",var(--fallback);--font-krypton:"Monaspace Krypton",var(--fallback);--font-radon:"Monaspace Radon",var(--fallback);--font-mona:"Mona Sans","Bernie Sans Beta VF",system-ui,-apple-system,sans-serif;--body:var(--font-xenon);--head:var(--font-neon);--measure:64ch;--size:1.125rem;--lead:1.65;--step:1.2;--step-2:calc(var(--step) * var(--step));--step-3:calc(var(--step-2) * var(--step))}@media(prefers-color-scheme:dark){:root{--bg:#161412;--fg:#ddd5c6;--muted:#9a9184;--rule:#3a352e;--accent:#e0a53f;--code-bg:#211e1a;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;padding:2rem 1rem 4rem;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:var(--size);line-height:var(--lead);font-synthesis:none;overflow-wrap:anywhere}body>header,body>main,body>footer{max-width:var(--measure);margin-inline:auto}body>header{margin-bottom:2.5rem}body>footer{margin-top:3rem;color:var(--muted)}body>footer p{margin:0;font-size:.9em}header .site{margin:0 0 .4em;font-family:var(--head);font-weight:800}header .site a{color:var(--fg);text-decoration:none}header nav{display:flex;flex-wrap:wrap;gap:0 2ch;color:var(--muted)}header nav a{color:var(--muted);text-decoration:none}header nav a:hover,header nav a:focus-visible,header nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}h1,h2,h3,h4,h5,h6{font-family:var(--head);font-weight:800;line-height:1.2;text-wrap:balance}h1{font-size:calc(1em * var(--step-3));margin:0 0 .6em}h2{font-size:calc(1em * var(--step-2));margin:1.6em 0 .45em}h3{font-size:calc(1em * var(--step));margin:1.5em 0 .4em}h4,h5,h6{font-size:1em;margin:1.4em 0 .4em}main h1::before{content:"# ";color:var(--accent)}main h2::before{content:"## ";color:var(--accent)}main h3::before{content:"### ";color:var(--accent)}main h4::before{content:"#### ";color:var(--accent)}main h5::before{content:"##### ";color:var(--accent)}main h6::before{content:"###### ";color:var(--accent)}p{margin:0 0 1.1em}a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meta,time{color:var(--muted)}.meta{margin:0 0 1.6em}.meta a{color:var(--muted)}.meta.tags{margin:2em 0 0}.lede{color:var(--muted);margin-bottom:2em}.shavian{font-family:bernie sans beta vf,var(--body)}blockquote{position:relative;margin:1.2em 0;padding:0 0 0 2ch}blockquote::before{content:">";position:absolute;left:0;color:var(--accent)}blockquote p:last-child{margin-bottom:0}main ul{list-style:none;margin:0 0 1.1em;padding:0}main ul>li{position:relative;padding-left:2ch}main ul>li::before{content:"-";position:absolute;left:0;color:var(--accent)}main ol{margin:0 0 1.1em;padding-left:3ch}code{background:var(--code-bg);padding:0 .3ch}pre{margin:1.2em 0;padding:.8em 1.2ch;background:var(--code-bg);overflow-x:auto;font-size:.92em;line-height:1.5;overflow-wrap:normal}pre code{background:0 0;padding:0}.highlight{margin:1.2em 0}.highlight pre{margin:0}hr{border:0;margin:1.6em 0;text-align:center;color:var(--muted)}hr::before{content:"\00a7"}img{max-width:100%;height:auto}table{display:block;max-width:100%;margin:0 0 1.1em;overflow-x:auto;border-collapse:collapse}th,td{padding:.3em 1ch;border-bottom:1px dashed var(--rule);text-align:left}.ledger{list-style:none;margin:0;padding:0}.ledger li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 2ch;padding:.45em 0;border-bottom:1px dashed var(--rule)}main .ledger li{padding-left:0}main .ledger li::before{content:none}.ledger time{font-variant-numeric:tabular-nums}.ledger a{color:var(--fg);text-decoration:none}.ledger a:hover,.ledger a:focus-visible{color:var(--accent);text-decoration:underline}.ledger .where{display:block;color:var(--muted);font-size:.9em}pre.mermaid{background:0 0;padding:0;text-align:center;overflow-x:auto}pre.mermaid.mermaid-error{text-align:left;background:var(--code-bg);padding:.8em 1.2ch}