: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}html{scroll-behavior:smooth}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-107i0jg.svelte-107i0jg{min-height:100vh}.article.svelte-107i0jg.svelte-107i0jg{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-sm);padding-top:calc(4rem + var(--space-md))}.article-header.svelte-107i0jg.svelte-107i0jg{margin-bottom:var(--space-sm)}.back-link.svelte-107i0jg.svelte-107i0jg{display:inline-block;font-size:.875rem;color:var(--color-text-light);text-decoration:none;margin-bottom:var(--space-sm)}.back-link.svelte-107i0jg.svelte-107i0jg:hover{color:var(--color-text-dark)}.article-title.svelte-107i0jg.svelte-107i0jg{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-107i0jg.svelte-107i0jg{font-size:1.0625rem;color:var(--color-text);line-height:1.8;font-style:italic;max-width:680px}.toc.svelte-107i0jg.svelte-107i0jg{background:var(--color-code-bg);padding:var(--space-sm);border-radius:6px;margin-bottom:var(--space-xs);max-width:680px}.toc-list.svelte-107i0jg.svelte-107i0jg{list-style:none;padding-left:0;margin:0}.toc-list.svelte-107i0jg li.svelte-107i0jg{margin-bottom:.375rem}.toc-list.svelte-107i0jg a.svelte-107i0jg{font-size:.875rem;color:var(--color-text);text-decoration:none;border-bottom:1px solid transparent}.toc-list.svelte-107i0jg a.svelte-107i0jg:hover{color:var(--color-text-dark);border-bottom-color:var(--color-border)}.article-content.svelte-107i0jg.svelte-107i0jg{max-width:680px}.series-note.svelte-107i0jg.svelte-107i0jg{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-107i0jg h2.svelte-107i0jg{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-107i0jg p.svelte-107i0jg{margin-bottom:var(--space-sm);line-height:1.8}.article-content.svelte-107i0jg table.svelte-107i0jg{width:100%;border-collapse:collapse;margin-bottom:var(--space-sm);font-size:.875rem}.article-content.svelte-107i0jg th.svelte-107i0jg,.article-content.svelte-107i0jg td.svelte-107i0jg{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.article-content.svelte-107i0jg th.svelte-107i0jg{font-weight:500;color:var(--color-text-dark)}.article-content.svelte-107i0jg pre.svelte-107i0jg{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-107i0jg code.svelte-107i0jg{font-family:var(--font-mono);font-size:.875em;background:var(--color-code-bg);padding:.1em .3em;border-radius:3px}.article-content.svelte-107i0jg pre code.svelte-107i0jg{background:none;font-variant-ligatures:none;padding:0;font-size:inherit;border-radius:0}.c.svelte-107i0jg.svelte-107i0jg{color:var(--color-text-light)}.k.svelte-107i0jg.svelte-107i0jg{color:#2b60ab;font-weight:500}.s.svelte-107i0jg.svelte-107i0jg{color:#857047}.n.svelte-107i0jg.svelte-107i0jg{color:#3d588f}.diagram-box.svelte-107i0jg.svelte-107i0jg{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-107i0jg.svelte-107i0jg{font-size:.8125rem;font-weight:500;color:var(--color-text-dark);margin-bottom:.5rem;font-family:var(--font-sans)}.diagram-box.svelte-107i0jg pre.mermaid.svelte-107i0jg{margin:0;background:none;border:none;padding:0;display:flex;justify-content:center}.article-content.svelte-107i0jg a.svelte-107i0jg{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-107i0jg a.svelte-107i0jg:hover{border-bottom-color:var(--color-text-dark)}.nav-posts.svelte-107i0jg.svelte-107i0jg{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-107i0jg a.svelte-107i0jg{color:var(--color-text);text-decoration:none;font-weight:400;font-size:.875rem;border-bottom:none}.nav-posts.svelte-107i0jg a.svelte-107i0jg:hover{color:var(--color-text-dark);border-bottom:none}.nav-posts.svelte-107i0jg .next-post.svelte-107i0jg{margin-left:auto}.footer.svelte-107i0jg.svelte-107i0jg{padding:var(--space-md) var(--space-sm);border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-faint);text-align:center}@media (max-width: 768px){:root{--space-md:2rem;--space-lg:3rem;--space-xl:4rem}.article-title.svelte-107i0jg.svelte-107i0jg{font-size:1.75rem}.diagram-box.svelte-107i0jg.svelte-107i0jg{flex-direction:column}}
