.prose{max-width:var(--prose-width);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--line-height-body);color:var(--text-primary)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--font-display);font-weight:600;line-height:var(--line-height-heading);letter-spacing:-.02em;margin-top:2em;margin-bottom:.6em;color:var(--text-primary);scroll-margin-top:5rem}@media(max-width:640px){.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{scroll-margin-top:3.5rem}}.prose h1{font-size:var(--text-2xl)}.prose h2{font-size:var(--text-xl);border-bottom:1px solid var(--border);padding-bottom:.3em}.prose h3{font-size:var(--text-lg)}.prose h4{font-size:var(--text-base)}[data-theme=dark] .prose h2,[data-theme=dark] .prose h3,[data-theme=dark] .prose h4{color:#ff6e30}[data-theme=dark] .prose .code-header__lang{color:var(--accent)}[data-theme=dark] .prose .code-header{background:var(--bg-subtle)}[data-theme=dark] .prose .code-wrap pre{background-color:#252222!important}.prose h5,.prose h6{font-size:var(--text-base);font-weight:700}.prose h1 a,.prose h2 a,.prose h3 a,.prose h4 a,.prose h5 a,.prose h6 a{color:inherit;text-decoration:none;position:relative}.prose h2 a:before,.prose h3 a:before,.prose h4 a:before{content:"#";position:absolute;left:-1.5em;color:var(--text-muted);font-family:var(--font-mono);font-size:.85em;font-weight:400;opacity:0;transition:opacity var(--ease)}.prose h2:hover a:before,.prose h3:hover a:before,.prose h4:hover a:before{opacity:1}@media(max-width:640px){.prose h2 a:before,.prose h3 a:before,.prose h4 a:before{display:none}}.prose p{margin-bottom:1.5em}.prose strong{font-weight:700;color:var(--text-primary)}.prose em{font-style:italic}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color var(--ease)}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{margin-bottom:1.5em;padding-left:1.75em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.4em}.prose li>ul,.prose li>ol{margin-top:.4em;margin-bottom:0}.prose blockquote{border-left:3px solid var(--accent);padding:var(--sp-3) var(--sp-5);margin:2em 0;color:var(--text-secondary);font-style:italic;background-color:var(--accent-light);border-radius:0 6px 6px 0}.prose blockquote p{margin-bottom:0}.prose p:not(.math-display)>.katex,.prose li>.katex,.prose strong>.katex{display:inline-flex;align-items:center;background-color:var(--bg-subtle);color:var(--text-primary);padding:.1em .35em;border:1px solid var(--border);vertical-align:middle;margin:0 .15em}.prose .math-display{background-color:var(--bg-subtle);border:1px solid var(--border);padding:1em 1.25em;margin:.75em 0;overflow-x:auto;text-align:left}.prose .math-display .katex-display,.prose .math-display .katex-display>.katex,.prose .math-display .katex-display>.katex>.katex-html{text-align:left!important;margin:0!important}.prose code{font-family:var(--font-mono);font-size:.875em;background-color:var(--bg-subtle);color:var(--text-primary);padding:.15em .4em;border-radius:4px;border:1px solid var(--border)}.prose .code-wrap{margin:1.75em 0;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.prose .code-header{display:flex;align-items:center;gap:var(--sp-3);padding:.5rem var(--sp-4);background:var(--bg-subtle);font-size:11px}.prose .code-header__lang{font-family:var(--font-body);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0}.prose .code-header__caption{font-style:italic;color:var(--text-muted);flex:1}.prose pre{background-color:var(--bg-subtle)!important;padding:var(--sp-5);overflow-x:auto;margin:1.75em 0;border:1px solid var(--border);border-radius:8px;-webkit-overflow-scrolling:touch}.prose .code-wrap pre{margin:0;border:none;border-radius:0 0 8px 8px;background-color:#fff!important;padding:var(--sp-3) var(--sp-4);max-height:60vh;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.prose .code-wrap pre::-webkit-scrollbar{width:6px;height:6px}.prose .code-wrap pre::-webkit-scrollbar-track{background:transparent;border-radius:8px}.prose .code-wrap pre::-webkit-scrollbar-thumb{background:var(--accent);border-radius:8px}.prose .code-wrap code{display:table;width:100%;counter-reset:line;font-size:.78rem;line-height:1.45}.prose .code-wrap code .line{display:table-row;counter-increment:line}.prose .code-wrap code .line:before{content:counter(line);display:table-cell;width:1px;padding-right:var(--sp-4);color:var(--text-muted);font-size:.8em;opacity:.65;user-select:none;text-align:right;white-space:nowrap;vertical-align:top;padding-top:.1em}.prose pre code{background:none;border:none;padding:0;font-size:.78rem;line-height:1.45}.copy-btn{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:4px;padding:.2em var(--sp-2);cursor:pointer;transition:color var(--ease),border-color var(--ease),background-color var(--ease);display:flex;align-items:center;gap:.3em;margin-left:auto;flex-shrink:0}.copy-btn:hover{color:var(--text-primary);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-subtle))}.copy-btn.copied{color:var(--badge-published);border-color:var(--badge-published)}.prose table{width:auto;border-collapse:separate;border-spacing:0;margin:2em auto;font-size:var(--text-sm);display:table;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}.prose th{font-family:var(--font-display);font-weight:600;text-align:center;padding:var(--sp-1) var(--sp-4);border:1px solid var(--border-strong);border-bottom:2px solid var(--border-strong)}.prose td{padding:var(--sp-1) var(--sp-4);border:1px solid var(--border);text-align:center}.prose tr:last-child td{border-bottom:none}.prose hr{border:none;border-top:1px solid var(--border);margin:3em 0}.prose img{width:100%;height:auto;border-radius:8px;border:1px solid var(--border);display:block;margin:2em 0}.prose figure{margin:2em 0;width:100%}.prose figure img{margin:0}.prose figcaption{text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--sp-2);font-style:italic}.diagram-example{margin:2em 0;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.diagram-example__code .code-wrap{margin:0;border:none;border-radius:0;border-bottom:1px solid var(--border-strong)}.diagram-example__code .code-wrap pre{border-radius:0;max-height:40vh}.diagram-example__output{background:var(--bg-subtle);padding:var(--sp-4);display:flex;flex-direction:column;align-items:center}.diagram-example__output img{width:auto;max-width:100%;max-height:480px;height:auto;border:none;border-radius:4px;margin:0;display:block}.diagram-example__output figcaption{margin-top:var(--sp-3);font-size:var(--text-xs);color:var(--text-muted);font-style:italic;text-align:center}.diagram-example--side{display:grid;grid-template-columns:1fr 1fr}.diagram-example--side .diagram-example__code .code-wrap{border-bottom:none;border-right:1px solid var(--border-strong);height:100%}.diagram-example--side .diagram-example__code .code-wrap pre{max-height:100%;height:100%}@media(max-width:860px){.diagram-example--side{grid-template-columns:1fr}.diagram-example--side .diagram-example__code .code-wrap{border-right:none;border-bottom:1px solid var(--border-strong)}}.prose .footnotes{margin-top:4em;padding-top:2em;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-secondary)}.prose .footnotes ol{padding-left:1.25em}.prose .footnotes li{margin-bottom:var(--sp-3)}.prose a[data-footnote-backref]{font-size:var(--text-xs);text-decoration:none;padding:0 var(--sp-1)}.sidenote-anchor{position:relative}.prose>.sidenote-anchor{display:block}.sidenote-highlight{background-color:transparent;border-bottom:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;padding:0 .1em;margin:0 -.1em;border-radius:2px}.sidenote-anchor[data-open=false] .sidenote-highlight{border-bottom-color:color-mix(in srgb,var(--accent) 30%,transparent)}.sidenote-anchor[data-open=true] .sidenote-highlight,.sidenote-anchor:hover .sidenote-highlight{background-color:var(--accent-light);border-bottom-color:color-mix(in srgb,var(--accent) 50%,transparent)}.sidenote-num{font-family:var(--font-mono);font-size:.65em;font-weight:700;color:var(--accent);margin-left:.2em;vertical-align:super}.sidenote-ref{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;border-radius:50%;background-color:var(--accent-light);color:var(--accent);font-family:var(--font-mono);font-size:.6em;font-weight:700;vertical-align:super;margin:0 .1em;transition:background-color var(--ease)}.sidenote{display:none;font-size:.78rem;color:var(--text-secondary);line-height:1.55;border-left:2px solid var(--border);padding-left:var(--sp-3)}@media(min-width:1400px){.sidenote{display:block;position:absolute;width:13rem}}@media(max-width:1399px){.sidenote{display:none!important}}@media(max-width:640px){.prose{font-size:.95rem;line-height:1.65}.prose blockquote{padding:var(--sp-3) var(--sp-3)}.prose ul,.prose ol{padding-left:1.25em}.prose .code-wrap pre{max-height:45vh}.sidenote{display:none!important}}.tag-list[data-astro-cid-lga65v7i]{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;padding:0;margin:0}.tag[data-astro-cid-lga65v7i]{font-family:var(--font-mono);font-size:calc(var(--text-xs) * .85);color:var(--tag-text);background-color:var(--tag-bg);border:1px solid var(--tag-border);border-radius:4px;padding:.2em .4em;text-decoration:none;transition:opacity var(--ease);white-space:nowrap}.tag[data-astro-cid-lga65v7i]:hover{opacity:.75}.tag-list--sm[data-astro-cid-lga65v7i] .tag[data-astro-cid-lga65v7i]{font-size:.65rem}.toc[data-astro-cid-xvrfupwn]{position:sticky;top:5rem;max-height:calc(100vh - 7rem);overflow-y:auto;padding:var(--sp-3);background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:10px;width:100%;scrollbar-width:thin;scrollbar-color:var(--border) transparent}@media(max-width:1100px){.toc[data-astro-cid-xvrfupwn]{display:none}}.toc__title[data-astro-cid-xvrfupwn]{font-family:var(--font-display);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin-bottom:var(--sp-4)}.toc__list[data-astro-cid-xvrfupwn]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.toc__item--h3[data-astro-cid-xvrfupwn]{padding-left:var(--sp-4)}.toc__link[data-astro-cid-xvrfupwn]{display:block;font-size:calc(var(--text-sm) * .85);color:var(--text-secondary);text-decoration:none;padding:calc(var(--sp-1) * .8) var(--sp-2);border-radius:4px;line-height:1.4;transition:color var(--ease),background-color var(--ease)}.toc__link[data-astro-cid-xvrfupwn]:hover{color:var(--text-primary);background-color:var(--bg)}.toc__link[data-astro-cid-xvrfupwn].is-active{color:var(--accent);background-color:var(--accent-light);font-weight:500}.toc-mobile[data-astro-cid-xvrfupwn]{display:none;margin-bottom:var(--sp-6)}.post-left[data-astro-cid-xvrfupwn] .toc-mobile[data-astro-cid-xvrfupwn]{display:none!important}@media(max-width:1100px){.toc-mobile[data-astro-cid-xvrfupwn]{display:block}.toc-mobile-sticky[data-astro-cid-xvrfupwn]{position:sticky;top:3rem;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);margin-bottom:0}}.toc-mobile__details[data-astro-cid-xvrfupwn]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.toc-mobile__summary[data-astro-cid-xvrfupwn]{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;padding:var(--sp-3) var(--sp-4);cursor:pointer;background:var(--bg-subtle);list-style:none;display:flex;align-items:center;justify-content:space-between}.toc-mobile__summary[data-astro-cid-xvrfupwn]:after{content:"▾";font-size:var(--text-xs);color:var(--text-muted);transition:transform var(--ease)}.toc-mobile__details[data-astro-cid-xvrfupwn][open] .toc-mobile__summary[data-astro-cid-xvrfupwn]:after{transform:rotate(180deg)}.toc-mobile__summary[data-astro-cid-xvrfupwn]::-webkit-details-marker{display:none}.toc-mobile__list[data-astro-cid-xvrfupwn]{list-style:none;padding:var(--sp-3) var(--sp-4);margin:0;display:flex;flex-direction:column;gap:var(--sp-1);background:var(--bg)}.series-block[data-astro-cid-unhzifza]{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:10px;padding:var(--sp-3) var(--sp-4);margin:var(--sp-5) 0}.series-block__label[data-astro-cid-unhzifza]{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600;margin-bottom:var(--sp-1)}.series-block__name[data-astro-cid-unhzifza]{font-size:calc(var(--text-base) * .85);font-weight:600;color:var(--text-primary);text-transform:capitalize;margin-bottom:var(--sp-3);letter-spacing:-.01em}.series-block__list[data-astro-cid-unhzifza]{list-style:none;padding:0;margin:0 0 var(--sp-2);border-top:1px solid var(--border)}.series-block__item[data-astro-cid-unhzifza]{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2);border-bottom:1px solid var(--border);border-radius:6px;transition:background-color var(--ease)}.series-block__item[data-astro-cid-unhzifza].is-current{background:color-mix(in srgb,var(--accent) 10%,transparent);border-left:3px solid var(--accent);padding-left:calc(var(--sp-2) - 3px)}.series-block__num[data-astro-cid-unhzifza]{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);min-width:1.8em;flex-shrink:0}.series-block__title[data-astro-cid-unhzifza]{flex:1;font-size:calc(var(--text-sm) * .85);color:var(--text-secondary);text-decoration:none;transition:color var(--ease)}a[data-astro-cid-unhzifza].series-block__title:hover{color:var(--accent)}.series-block__item[data-astro-cid-unhzifza].is-current .series-block__title[data-astro-cid-unhzifza]{color:var(--text-primary);font-weight:600}.series-block__here[data-astro-cid-unhzifza]{font-size:8px;color:var(--accent);flex-shrink:0}.series-block__nav[data-astro-cid-unhzifza]{display:flex;gap:var(--sp-2);padding-top:var(--sp-2)}.series-nav-btn[data-astro-cid-unhzifza]{flex:1;display:flex;flex-direction:column;gap:2px;text-decoration:none;padding:var(--sp-2) var(--sp-3);background:var(--bg);border:1px solid var(--border);border-radius:6px;transition:border-color var(--ease),background-color var(--ease)}.series-nav-btn[data-astro-cid-unhzifza]:hover{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent) 6%,transparent)}.series-nav-btn--next[data-astro-cid-unhzifza]{text-align:right;align-items:flex-end}.series-nav-btn__dir[data-astro-cid-unhzifza]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.05em}.series-nav-btn__title[data-astro-cid-unhzifza]{font-size:calc(var(--text-sm) * .85);font-weight:500;color:var(--text-primary);line-height:1.3}@media(max-width:480px){.series-block__nav[data-astro-cid-unhzifza]{flex-direction:column}.series-nav-btn--next[data-astro-cid-unhzifza]{text-align:left;align-items:flex-start}}.related[data-astro-cid-dpgbfi7r]{margin-top:var(--sp-12);padding-top:var(--sp-8);border-top:1px solid var(--border)}.related__header[data-astro-cid-dpgbfi7r]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.related__heading[data-astro-cid-dpgbfi7r]{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0}.related__nav[data-astro-cid-dpgbfi7r]{display:flex;gap:var(--sp-1)}.related__nav-btn[data-astro-cid-dpgbfi7r]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.related__nav-btn[data-astro-cid-dpgbfi7r]:hover:not([disabled]){color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-subtle)}.related__nav-btn[data-astro-cid-dpgbfi7r][disabled]{opacity:.3;cursor:default}.related__list[data-astro-cid-dpgbfi7r]{list-style:none;padding:0 0 var(--sp-2);margin:0;display:flex;flex-direction:row;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.related__list[data-astro-cid-dpgbfi7r]::-webkit-scrollbar{display:none}.related__item[data-astro-cid-dpgbfi7r]{flex:0 0 340px;scroll-snap-align:start}.related__card[data-astro-cid-dpgbfi7r]{display:flex;flex-direction:row;align-items:center;text-decoration:none;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);overflow:hidden;height:90px;transition:border-color .2s ease,box-shadow .2s ease}.related__card[data-astro-cid-dpgbfi7r]:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.related__panel[data-astro-cid-dpgbfi7r]{width:56px;height:56px;flex-shrink:0;margin:0 0 0 .75rem;border-radius:6px}.related__content[data-astro-cid-dpgbfi7r]{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4)}.related__card-title[data-astro-cid-dpgbfi7r]{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.3;transition:color .2s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related__card[data-astro-cid-dpgbfi7r]:hover .related__card-title[data-astro-cid-dpgbfi7r]{color:var(--accent)}.related__card-desc[data-astro-cid-dpgbfi7r]{font-size:11px;font-style:italic;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.related__card-meta[data-astro-cid-dpgbfi7r]{display:flex;align-items:center;gap:.375rem;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.post-outer[data-astro-cid-gjtny2mx]{display:flex;gap:var(--sp-12);max-width:1400px;margin:0 auto;padding:var(--sp-10) 1rem;align-items:flex-start;position:relative}.post-left[data-astro-cid-gjtny2mx]{width:19rem;flex-shrink:0;position:sticky;top:5rem;display:flex;flex-direction:column;gap:var(--sp-4);align-self:flex-start}@media(max-width:1100px){.post-left[data-astro-cid-gjtny2mx]{display:none}.post-outer[data-astro-cid-gjtny2mx]{justify-content:center}}.post-article[data-astro-cid-gjtny2mx]{flex:1;min-width:0;max-width:var(--prose-width);position:relative;overflow:visible}.post-header[data-astro-cid-gjtny2mx]{margin-bottom:var(--sp-10)}.post-breadcrumb[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--sp-5);display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none;transition:color var(--ease)}.post-breadcrumb[data-astro-cid-gjtny2mx]:hover{color:var(--accent)}.post-back-bottom[data-astro-cid-gjtny2mx]{display:inline-block;margin-top:var(--sp-12);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;transition:color var(--ease)}.post-back-bottom[data-astro-cid-gjtny2mx]:hover{color:var(--accent)}.post-subtitle[data-astro-cid-gjtny2mx]{font-style:italic;font-size:var(--text-lg);color:var(--text-secondary);line-height:1.5;margin-top:var(--sp-3);margin-bottom:var(--sp-6);max-width:55ch}.post-header__meta[data-astro-cid-gjtny2mx]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--sp-4);font-family:var(--font-mono)}.post-meta-lines[data-astro-cid-gjtny2mx]{display:flex;flex-direction:column;gap:var(--sp-1)}.post-meta-line[data-astro-cid-gjtny2mx]{display:block}@media(max-width:640px){.post-header__meta[data-astro-cid-gjtny2mx]{font-size:var(--text-xs)}}.post-confidence[data-astro-cid-gjtny2mx]{font-size:var(--text-xs)}.confidence--low[data-astro-cid-gjtny2mx]{color:var(--badge-wip)}.confidence--medium[data-astro-cid-gjtny2mx]{color:var(--text-muted)}.confidence--high[data-astro-cid-gjtny2mx]{color:var(--badge-published)}.post-title[data-astro-cid-gjtny2mx]{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--text-primary);margin-bottom:0}.post-links[data-astro-cid-gjtny2mx]{display:flex;gap:var(--sp-4);margin-top:var(--sp-4)}.post-link[data-astro-cid-gjtny2mx]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-decoration:none;transition:color var(--ease)}.post-link[data-astro-cid-gjtny2mx]:hover{color:var(--accent)}@media(max-width:768px){.post-outer[data-astro-cid-gjtny2mx]{padding:var(--sp-6) var(--sp-4)}}@media(max-width:480px){.post-outer[data-astro-cid-gjtny2mx]{padding:var(--sp-4) var(--sp-3)}}
