:root,[data-theme=light]{--paper: #fbf7e4;--surface: #eee9c8;--surface-2: #e4dfb8;--brand: #3d5a2b;--soft: #5a6b3a;--text: #1b1a17;--accent: #3d5a2b;--aux: #8a5a00}[data-theme=dark]{--paper: #0b1f3a;--surface: #13294d;--surface-2: #1a3460;--brand: #1f4a8a;--soft: #a8c3e8;--text: #eef2f7;--accent: #e8b339;--aux: #e8b339}@media(prefers-color-scheme:dark){:root:not([data-theme]){--paper: #0b1f3a;--surface: #13294d;--surface-2: #1a3460;--brand: #1f4a8a;--soft: #a8c3e8;--text: #eef2f7;--accent: #e8b339;--aux: #e8b339}}:root{--font-serif: "Newsreader", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--fs-h1: 54px;--fs-h2: 32px;--fs-h3: 22px;--fs-lede: 22px;--fs-body: 19px;--fs-meta: 10.5px;--fs-code: 13.5px;--fs-hero: 46px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 44px;--sp-9: 48px;--col-toc: 220px;--col-main: 680px;--col-rail: 200px;--hair: color-mix(in oklab, var(--text) 15%, transparent)}@media(max-width:1000px){:root{--fs-h1: 34px;--fs-h2: 25px;--fs-lede: 18px;--fs-body: 17px;--fs-hero: 30px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font-serif);font-size:var(--fs-body);line-height:1.65;transition:background .3s,color .3s;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}::selection{background:color-mix(in oklab,var(--accent) 30%,transparent)}.prose{font-family:var(--font-serif)}.prose>p{font-size:var(--fs-body);line-height:1.65;margin:0 0 var(--sp-5);text-wrap:pretty}.prose>p:first-of-type:first-letter{font-weight:500;font-size:64px;line-height:.85;float:left;padding:6px 10px 0 0;color:var(--soft)}.prose h2{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.015em;margin:var(--sp-8) 0 var(--sp-3)}.prose h2:before{content:"§ ";color:var(--soft);font-weight:400}.prose h3{font-family:var(--font-serif);font-weight:600;font-style:italic;font-size:var(--fs-h3);line-height:1.2;letter-spacing:-.01em;margin:var(--sp-7) 0 var(--sp-2)}.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--soft)}.prose a:hover{text-decoration-color:var(--accent)}.prose em{font-style:italic}.prose strong{font-weight:600}.prose ul,.prose ol{font-size:var(--fs-body);line-height:1.6;margin:0 0 var(--sp-5);padding-left:var(--sp-6)}.prose li{margin-bottom:var(--sp-1)}.prose ul li::marker{color:var(--soft)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.82em;padding:1px 6px;border-radius:4px;background:var(--surface)}.prose blockquote{margin:var(--sp-7) 0;padding:4px 0 4px var(--sp-6);border-left:3px solid var(--soft);font-style:italic;font-size:24px;line-height:1.35;letter-spacing:-.005em;text-wrap:pretty}.prose blockquote cite{display:block;margin-top:var(--sp-2);font-family:var(--font-mono);font-style:normal;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--soft)}.prose hr{border:none;text-align:center;margin:var(--sp-8) 0}.prose hr:after{content:"∗ ∗ ∗";font-family:var(--font-mono);letter-spacing:.5em;color:var(--soft);font-size:12px}.prose figure{margin:var(--sp-7) 0}.prose figcaption{margin-top:var(--sp-3);padding-left:var(--sp-3);border-left:2px solid var(--soft);font-style:italic;font-size:14.5px;color:var(--soft);line-height:1.4}.astro-code{font-family:var(--font-mono);font-size:var(--fs-code);line-height:1.6;margin:var(--sp-6) 0;padding:16px 18px;border-radius:8px;border:1px solid color-mix(in oklab,var(--text) 18%,transparent);overflow-x:auto;background:var(--shiki-light-bg)}.astro-code,.astro-code span{color:var(--shiki-light)}[data-theme=dark] .astro-code{background:var(--shiki-dark-bg)}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)}@media(prefers-color-scheme:dark){:root:not([data-theme]) .astro-code{background:var(--shiki-dark-bg)}:root:not([data-theme]) .astro-code,:root:not([data-theme]) .astro-code span{color:var(--shiki-dark)}}.mermaid-block{margin:var(--sp-7) 0;border:1px solid color-mix(in oklab,var(--text) 18%,transparent);border-radius:8px;overflow:hidden}.mermaid-placeholder{min-height:160px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--fs-code);color:var(--soft)}.mermaid-render{padding:var(--sp-5);text-align:center}.mermaid-render svg{display:block;max-width:100%;height:auto;margin:0 auto}@media(prefers-reduced-motion:reduce){body,*{transition:none!important}}.brand[data-astro-cid-7eczacpb]{font-family:var(--font-serif);font-weight:500;font-style:italic;font-size:23px;letter-spacing:-.01em;color:var(--text);text-decoration:none}.brand[data-astro-cid-7eczacpb] .r[data-astro-cid-7eczacpb]{color:var(--brand)}[data-theme=dark] .brand[data-astro-cid-7eczacpb] .r[data-astro-cid-7eczacpb],:root:not([data-theme]) .brand[data-astro-cid-7eczacpb] .r[data-astro-cid-7eczacpb]{color:var(--accent)}@media(prefers-color-scheme:light){:root:not([data-theme]) .brand[data-astro-cid-7eczacpb] .r[data-astro-cid-7eczacpb]{color:var(--brand)}}#theme-toggle[data-astro-cid-x3pjskd3]{border:1px solid color-mix(in oklab,var(--text) 28%,transparent);background:transparent;color:var(--soft);width:30px;height:30px;border-radius:99px;cursor:pointer;display:grid;place-items:center;padding:0;line-height:1}#theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--text);border-color:var(--soft)}.ico[data-astro-cid-x3pjskd3]{font-size:13px;grid-area:1 / 1}.moon[data-astro-cid-x3pjskd3],[data-theme=dark] .sun[data-astro-cid-x3pjskd3]{display:none}[data-theme=dark] .moon[data-astro-cid-x3pjskd3]{display:block}svg[data-astro-cid-hkt635aw]{width:1em;height:1em;display:inline;vertical-align:-.125em}.nav[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--hair)}.inner[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-9);flex-wrap:wrap;max-width:1400px;margin:0 auto;width:100%}.links[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--sp-5);list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em}.links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--soft);text-decoration:none}.links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].on{color:var(--text);border-bottom:1px solid currentColor;padding-bottom:1px}.right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--sp-4)}.meta[data-astro-cid-3ef6ksr2]{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--soft)}.ham[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:4px;cursor:pointer}.ham[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{width:20px;height:2px;background:var(--text)}@media(max-width:1000px){.inner[data-astro-cid-3ef6ksr2]{padding:var(--sp-4) var(--sp-5)}.ham[data-astro-cid-3ef6ksr2]{display:flex;order:3}.right[data-astro-cid-3ef6ksr2] .meta[data-astro-cid-3ef6ksr2]{display:none}.links[data-astro-cid-3ef6ksr2]{order:4;flex-basis:100%;flex-direction:column;gap:var(--sp-3);max-height:0;overflow:hidden;transition:max-height .25s ease}#nav-toggle[data-astro-cid-3ef6ksr2]:checked~.links[data-astro-cid-3ef6ksr2]{max-height:320px;padding-top:var(--sp-3)}}.foot[data-astro-cid-sz7xmlte]{border-top:1px solid var(--hair);padding:var(--sp-6) var(--sp-9);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--soft);max-width:1400px;margin:0 auto;width:100%}.foot[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:inherit;text-decoration:none;opacity:.75}.foot[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{opacity:1}.rss-link[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;font-size:12px}@media(max-width:1000px){.foot[data-astro-cid-sz7xmlte]{padding:var(--sp-6) var(--sp-5)}}.shell[data-astro-cid-37fxchfa]{width:100%;max-width:1400px;margin:0 auto;padding:var(--sp-8) var(--sp-9) var(--sp-9)}@media(max-width:1000px){.shell[data-astro-cid-37fxchfa]{padding:var(--sp-7) var(--sp-5)}}
