.article-header{padding-block:var(--space-xl) var(--space-lg)}.article-header__title{font-size:var(--text-article-title);line-height:var(--leading-tight);letter-spacing:-0.03em;margin:var(--space-sm) 0 var(--space-md)}.article-header__figure{margin:var(--space-xl) 0 0}.article-header__caption{margin:var(--space-sm) 0 0;font-size:var(--text-meta);color:var(--color-text-muted);line-height:var(--leading-body);max-width:var(--article-max)}.article-lead{max-width:var(--article-max);margin:0 auto var(--space-lg);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text-secondary)}.article-header__diagram{margin-top:0;width:100%;aspect-ratio:16 / 10;max-height:28rem;border-radius:var(--radius-lg);object-fit:contain;object-position:center;background:var(--color-surface-elevated)}.article-header__diagram--placeholder{border:1px dashed var(--color-border);background:var(--color-placeholder-gradient)}.takeaway-box{max-width:var(--article-max);margin-inline:auto;padding:var(--space-lg);border-radius:var(--radius-lg);border-left:4px solid var(--color-link);background:var(--color-takeaway-bg);margin-bottom:var(--space-xl)}.takeaway-box__label{font-size:var(--text-meta);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-link);margin:0 0 var(--space-xs)}.takeaway-box p{margin:0}.prose{max-width:var(--article-max)}.prose h2{font-size:var(--text-prose-h2);letter-spacing:-0.02em;margin:var(--space-2xl) 0 var(--space-md)}.prose h3{font-size:var(--text-prose-h3);margin:var(--space-xl) 0 var(--space-sm)}.prose p,.prose li{color:var(--color-text-secondary)}.prose>p:first-of-type{font-size:1.1875rem;color:var(--color-text-primary)}.prose a{color:var(--color-link)}.prose a:hover{color:var(--color-link-hover)}.prose pre{overflow-x:auto;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-dark);color:var(--color-code-text);font-size:0.9rem}.prose code{font-family:var(--font-mono);font-size:0.9em}.prose :not(pre)>code{background:var(--color-code-inline-bg);padding:0.15em 0.4em;border-radius:var(--radius-sm)}.prose table{width:100%;border-collapse:collapse;margin-block:var(--space-lg);font-size:var(--text-small)}.prose thead th{background:var(--color-surface-elevated);color:var(--color-text-primary);text-align:left;font-weight:700;padding:var(--space-sm) var(--space-md);border-bottom:2px solid var(--color-border-strong)}.prose tbody td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);vertical-align:top}.prose tbody tr:last-child td{border-bottom:none}@media (max-width:36rem){.prose table{display:block;overflow-x:auto}}.toc-collapsible{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.toc-collapsible__summary{cursor:pointer;font-size:var(--text-small);font-weight:700;min-height:var(--touch-target-min);display:flex;align-items:center;list-style:none}.toc-collapsible__summary::-webkit-details-marker{display:none}.toc-collapsible .toc__title{display:none}@media (min-width:64rem){.toc-collapsible{border:none;border-left:1px solid var(--color-border);border-radius:0;padding:0 0 0 var(--space-md);margin-bottom:0}.toc-collapsible__summary{display:none}.toc-collapsible .toc__title{display:block}}.toc{font-size:var(--text-small)}.toc__title{font-weight:700;margin:0 0 var(--space-sm);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted)}.toc ul{list-style:none;padding:0;margin:0}.toc li{margin-bottom:0.5rem}.toc a{color:var(--color-text-secondary);text-decoration:none}.toc a.is-active,.toc a:hover{color:var(--color-link)}.toc__link--h3{padding-left:0.75rem}.related-articles{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.author-bio{display:flex;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface-elevated);border:1px solid var(--color-border);margin-top:var(--space-xl)}.author-bio__avatar{width:3.5rem;height:3.5rem;border-radius:50%;background:var(--color-border);flex-shrink:0}.author-bio__avatar--image{object-fit:cover;display:block}.author-bio__name-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent}.author-bio__name-link:hover{border-bottom-color:currentColor}.faq details{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm)}.faq summary{font-weight:600;cursor:pointer}.page-header{padding-block:var(--space-xl)}.page-header__title{font-size:var(--text-section);margin:0;letter-spacing:-0.03em}.breadcrumb{padding-top:var(--space-lg)}.breadcrumb__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-size:var(--text-meta);color:var(--color-text-muted)}.breadcrumb__item a{color:var(--color-text-muted);text-decoration:none}.breadcrumb__item a:hover{color:var(--color-text-primary)}.breadcrumb__item--current{color:var(--color-text-secondary)}.breadcrumb__separator{color:var(--color-border-strong)}.article-cta__inner{text-align:center}.article-cta__lead{color:var(--color-text-on-dark-muted);max-width:var(--article-cta-max);margin:var(--space-sm) auto var(--space-lg)}.prose .highlight pre{margin:0;background:transparent}.prose .highlight .hll{background-color:#49483e}.prose .highlight .c{color:#75715e}.prose .highlight .err{color:#960050;background-color:#1e0010}.prose .highlight .k{color:#66d9ef}.prose .highlight .l{color:#ae81ff}.prose .highlight .n{color:#f8f8f2}.prose .highlight .o{color:#f92672}.prose .highlight .p{color:#f8f8f2}.prose .highlight .ch{color:#75715e}.prose .highlight .cm{color:#75715e}.prose .highlight .cp{color:#75715e}.prose .highlight .cpf{color:#75715e}.prose .highlight .c1{color:#75715e}.prose .highlight .cs{color:#75715e}.prose .highlight .gd{color:#f92672}.prose .highlight .ge{font-style:italic}.prose .highlight .gi{color:#a6e22e}.prose .highlight .gs{font-weight:bold}.prose .highlight .gu{color:#75715e}.prose .highlight .kc{color:#66d9ef}.prose .highlight .kd{color:#66d9ef}.prose .highlight .kn{color:#f92672}.prose .highlight .kp{color:#66d9ef}.prose .highlight .kr{color:#66d9ef}.prose .highlight .kt{color:#66d9ef}.prose .highlight .ld{color:#e6db74}.prose .highlight .m{color:#ae81ff}.prose .highlight .s{color:#e6db74}.prose .highlight .na{color:#a6e22e}.prose .highlight .nb{color:#f8f8f2}.prose .highlight .nc{color:#a6e22e}.prose .highlight .no{color:#66d9ef}.prose .highlight .nd{color:#a6e22e}.prose .highlight .ni{color:#f8f8f2}.prose .highlight .ne{color:#a6e22e}.prose .highlight .nf{color:#a6e22e}.prose .highlight .nl{color:#f8f8f2}.prose .highlight .nn{color:#f8f8f2}.prose .highlight .nx{color:#a6e22e}.prose .highlight .py{color:#f8f8f2}.prose .highlight .nt{color:#f92672}.prose .highlight .nv{color:#f8f8f2}.prose .highlight .ow{color:#f92672}.prose .highlight .w{color:#f8f8f2}.prose .highlight .mb{color:#ae81ff}.prose .highlight .mf{color:#ae81ff}.prose .highlight .mh{color:#ae81ff}.prose .highlight .mi{color:#ae81ff}.prose .highlight .mo{color:#ae81ff}.prose .highlight .sa{color:#e6db74}.prose .highlight .sb{color:#e6db74}.prose .highlight .sc{color:#e6db74}.prose .highlight .dl{color:#e6db74}.prose .highlight .sd{color:#e6db74}.prose .highlight .s2{color:#e6db74}.prose .highlight .se{color:#ae81ff}.prose .highlight .sh{color:#e6db74}.prose .highlight .si{color:#e6db74}.prose .highlight .sx{color:#e6db74}.prose .highlight .sr{color:#e6db74}.prose .highlight .s1{color:#e6db74}.prose .highlight .ss{color:#e6db74}.prose .highlight .bp{color:#f8f8f2}.prose .highlight .fm{color:#a6e22e}.prose .highlight .vc{color:#f8f8f2}.prose .highlight .vg{color:#f8f8f2}.prose .highlight .vi{color:#f8f8f2}.prose .highlight .vm{color:#f8f8f2}.prose .highlight .il{color:#ae81ff}