.article-layout.svelte-1teoznn{display:grid;grid-template-columns:280px 1fr;gap:var(--space-8);max-width:1280px;margin-inline:auto;padding-inline:var(--space-6);padding-block-start:var(--space-8)}.toc-sidebar.svelte-1teoznn{position:relative}@media (max-width: 1024px){.article-layout.svelte-1teoznn{grid-template-columns:1fr}.toc-sidebar.svelte-1teoznn{display:none}}.article-page.svelte-1teoznn{padding-block:var(--space-8) var(--space-24);min-width:0}.container.svelte-1teoznn{max-width:820px;margin-inline:auto;padding-inline:var(--space-6)}.article-header.svelte-1teoznn{margin-bottom:var(--space-10)}.back-link.svelte-1teoznn{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--link);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-6);text-decoration:none;transition:color var(--transition-base),transform var(--transition-base)}.back-link.svelte-1teoznn:hover{color:var(--brand-0);transform:translate(-2px)}.article-meta.svelte-1teoznn{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.article-type.svelte-1teoznn{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-0)}.article-meta.svelte-1teoznn time:where(.svelte-1teoznn){font-size:var(--text-sm);color:var(--text-secondary)}.updated-note.svelte-1teoznn{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.byline.svelte-1teoznn{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base)}.byline.svelte-1teoznn:hover{color:var(--brand-0)}.article-header.svelte-1teoznn h1:where(.svelte-1teoznn){font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,3rem);line-height:1.2;letter-spacing:-.02em;margin:0;background:linear-gradient(135deg,var(--brand-0),var(--brand-2),var(--brand-4));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.prose.svelte-1teoznn{font-size:1.0625rem;line-height:1.7;color:var(--text)}.prose h2{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,var(--text-3xl));font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--text);margin-top:var(--space-16);margin-bottom:var(--space-5);padding-bottom:var(--space-3);position:relative;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.prose h2:after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand-0),var(--brand-2))}.prose h3{font-family:var(--font-heading);font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:700;line-height:1.3;color:var(--text);margin-top:var(--space-10);margin-bottom:var(--space-3)}.prose h2 .heading-anchor,.prose h3 .heading-anchor{margin-left:var(--space-2);color:var(--brand-0);text-decoration:none;font-weight:400;opacity:0;transition:opacity .15s ease}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:.55}.prose .heading-anchor:hover{opacity:1}.prose h4{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-5);color:var(--text)}.prose ul,.prose ol{padding-left:var(--space-6);margin-bottom:var(--space-5)}.prose li{margin-bottom:var(--space-2);color:var(--text-secondary);line-height:1.7}.prose li strong{color:var(--text)}.prose a{color:var(--brand-0);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand-0) 40%,transparent);text-underline-offset:3px;transition:color var(--transition-base),text-decoration-color var(--transition-base)}.prose a:hover{color:var(--brand-1);text-decoration-color:var(--brand-1)}.prose strong{font-weight:700;color:var(--text)}.prose em{font-style:italic;color:var(--text-secondary)}.prose code{font-family:var(--font-mono);font-size:.875em;padding:.15em .4em;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:var(--r-sm);color:var(--brand-0)}.prose pre.shiki{position:relative;border:1px solid color-mix(in srgb,var(--brand-0) 18%,transparent);border-radius:var(--r-lg);padding:var(--space-5) var(--space-6);overflow-x:auto;margin-block:var(--space-6);font-family:var(--font-mono);font-size:.875rem;line-height:1.65;-moz-tab-size:2;tab-size:2;box-shadow:0 8px 24px #00000040}.prose pre.shiki,.prose pre.shiki code,.prose pre.shiki span{font-family:var(--font-mono)}.prose pre.shiki code,.prose pre.shiki .line,.prose pre.shiki span{background:transparent!important}.prose pre.shiki .code-copy{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:color-mix(in srgb,#0c0c0c 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--r-sm);padding:.28rem .6rem;cursor:pointer;opacity:.5;transition:opacity var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.prose pre.shiki:hover .code-copy,.prose pre.shiki .code-copy:focus-visible{opacity:1}.prose pre.shiki .code-copy:hover{color:var(--brand-0);border-color:color-mix(in srgb,var(--brand-0) 50%,transparent)}.prose pre.shiki .code-copy.copied{color:var(--brand-4);border-color:color-mix(in srgb,var(--brand-4) 50%,transparent)}.prose pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit;font-family:var(--font-mono)}.prose blockquote{background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-left:4px solid var(--brand-0);border-radius:var(--r-md);padding:var(--space-4) var(--space-6);margin-block:var(--space-6);font-style:italic;color:var(--text-secondary)}.prose blockquote p{margin:0}.prose img{max-width:100%;height:auto;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);margin-block:var(--space-6)}.prose table{width:100%;border-collapse:collapse;margin-bottom:var(--space-6);font-size:.9375rem}.prose th{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);font-weight:600;text-align:left;color:var(--text)}.prose td{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);color:var(--text-secondary)}.prose tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface) 30%,transparent)}.prose hr{border:none;border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);margin-block:var(--space-10)}.dark .prose.svelte-1teoznn{color:var(--text)}.dark .prose code{background:color-mix(in srgb,var(--surface) 60%,transparent)}.prose .d2-diagram{display:block;margin-block:var(--space-8);margin-inline:auto;max-width:100%;overflow-x:auto;background:#1e1e2e;border:1px solid color-mix(in srgb,var(--brand-0) 18%,transparent);border-radius:var(--r-lg);box-shadow:0 8px 24px #00000059;padding:var(--space-4);text-align:center}.prose .d2-diagram svg{max-width:100%;height:auto;display:block;margin-inline:auto}.prose .d2-diagram figcaption{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);text-align:center;font-style:italic}@media (max-width: 640px){.article-layout.svelte-1teoznn{padding-inline:var(--space-4)}.article-page.svelte-1teoznn{padding-block:var(--space-10) var(--space-16)}.prose pre.shiki{padding:var(--space-4);font-size:.8125rem}}@media (prefers-reduced-motion: reduce){.back-link.svelte-1teoznn:hover{transform:none}}
