:root{--color-bg:hsl(40, 20%, 97%);--color-border:hsl(40, 10%, 88%);--color-text-faint:hsl(40, 8%, 70%);--color-text-light:hsl(40, 8%, 55%);--color-text:hsl(40, 8%, 35%);--color-text-dark:hsl(40, 10%, 20%);--color-code-bg:hsl(40, 15%, 93%);--font-serif:"Instrument Serif", Georgia, serif;--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--space-xs:.75rem;--space-sm:1.5rem;--space-md:3rem;--space-lg:4rem;--space-xl:6rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.7;font-weight:300;font-size:16px;-webkit-font-smoothing:antialiased}.page.svelte-1pbbarw.svelte-1pbbarw{min-height:100vh}.article.svelte-1pbbarw.svelte-1pbbarw{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-sm);padding-top:calc(4rem + var(--space-md))}.article-header.svelte-1pbbarw.svelte-1pbbarw{margin-bottom:var(--space-sm)}.back-link.svelte-1pbbarw.svelte-1pbbarw{display:inline-block;font-size:.875rem;color:var(--color-text-light);text-decoration:none;margin-bottom:var(--space-sm)}.back-link.svelte-1pbbarw.svelte-1pbbarw:hover{color:var(--color-text-dark)}.article-title.svelte-1pbbarw.svelte-1pbbarw{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--color-text-dark);letter-spacing:-.02em;margin-bottom:var(--space-xs)}.article-subtitle.svelte-1pbbarw.svelte-1pbbarw{font-size:1.0625rem;color:var(--color-text);line-height:1.8;font-style:italic;max-width:680px}.toc.svelte-1pbbarw.svelte-1pbbarw{background:var(--color-code-bg);padding:var(--space-sm);border-radius:6px;margin-bottom:var(--space-xs);max-width:680px}.toc-list.svelte-1pbbarw.svelte-1pbbarw{list-style:none;padding-left:0;margin:0}.toc-list.svelte-1pbbarw li.svelte-1pbbarw{margin-bottom:.375rem}.toc-list.svelte-1pbbarw a.svelte-1pbbarw{font-size:.875rem;color:var(--color-text);text-decoration:none;border-bottom:1px solid transparent}.toc-list.svelte-1pbbarw a.svelte-1pbbarw:hover{color:var(--color-text-dark);border-bottom-color:var(--color-border)}.article-content.svelte-1pbbarw.svelte-1pbbarw{max-width:680px}.series-note.svelte-1pbbarw.svelte-1pbbarw{font-size:.9rem;color:var(--color-text-light);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.article-content.svelte-1pbbarw h2.svelte-1pbbarw{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;color:var(--color-text-dark);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.article-content.svelte-1pbbarw p.svelte-1pbbarw{margin-bottom:var(--space-sm);line-height:1.8}.article-content.svelte-1pbbarw table.svelte-1pbbarw{width:100%;border-collapse:collapse;margin-bottom:var(--space-sm);font-size:.875rem}.article-content.svelte-1pbbarw th.svelte-1pbbarw,.article-content.svelte-1pbbarw td.svelte-1pbbarw{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.article-content.svelte-1pbbarw th.svelte-1pbbarw{font-weight:500;color:var(--color-text-dark)}.article-content.svelte-1pbbarw pre.svelte-1pbbarw{background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-sm);overflow-x:auto;margin-bottom:var(--space-sm);font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;color:#58544b}.article-content.svelte-1pbbarw code.svelte-1pbbarw{font-family:var(--font-mono);font-size:.875em;background:var(--color-code-bg);padding:.1em .3em;border-radius:3px}.article-content.svelte-1pbbarw pre code.svelte-1pbbarw{background:none;font-variant-ligatures:none;padding:0;font-size:inherit;border-radius:0}.c.svelte-1pbbarw.svelte-1pbbarw{color:var(--color-text-light)}.k.svelte-1pbbarw.svelte-1pbbarw{color:#2b60ab;font-weight:500}.s.svelte-1pbbarw.svelte-1pbbarw{color:#857047}.n.svelte-1pbbarw.svelte-1pbbarw{color:#3d588f}.diagram-box.svelte-1pbbarw.svelte-1pbbarw{background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-sm);margin-bottom:var(--space-sm);overflow-x:auto}.diagram-title.svelte-1pbbarw.svelte-1pbbarw{font-size:.8125rem;font-weight:500;color:var(--color-text-dark);margin-bottom:.5rem;font-family:var(--font-sans)}.diagram-box.svelte-1pbbarw pre.mermaid.svelte-1pbbarw{margin:0;background:none;border:none;padding:0;display:flex;justify-content:center}.article-content.svelte-1pbbarw a.svelte-1pbbarw{color:var(--color-text-dark);text-decoration:none;padding-bottom:1px;border-bottom:1px solid var(--color-border);transition:border-color .12s ease-in-out}.article-content.svelte-1pbbarw a.svelte-1pbbarw:hover{border-bottom-color:var(--color-text-dark)}.nav-posts.svelte-1pbbarw.svelte-1pbbarw{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.nav-posts.svelte-1pbbarw a.svelte-1pbbarw{color:var(--color-text);text-decoration:none;font-weight:400;font-size:.875rem;border-bottom:none}.nav-posts.svelte-1pbbarw a.svelte-1pbbarw:hover{color:var(--color-text-dark);border-bottom:none}.nav-posts.svelte-1pbbarw .next-post.svelte-1pbbarw{margin-left:auto}@media (max-width: 768px){:root{--space-md:2rem;--space-lg:3rem;--space-xl:4rem}.article-title.svelte-1pbbarw.svelte-1pbbarw{font-size:1.75rem}.diagram-box.svelte-1pbbarw.svelte-1pbbarw{flex-direction:column}}
