.article{padding:0 0 var(--space-500)}.art-head{padding-top:var(--space-700)}.art-head .crumbs{display:flex;align-items:center;gap:var(--space-100);font-family:var(--label);font-size:13px;color:var(--text-muted)}.art-head .crumbs a:hover{color:var(--text-link)}.art-head .crumbs .sep{color:var(--text-faint)}.art-head h1{font-weight:500;font-size:52px;line-height:1.06;letter-spacing:-.02em;margin:var(--space-250) 0 0;max-width:16ch;text-wrap:balance}.art-head .standfirst{font-size:21px;line-height:1.5;color:var(--text-soft);margin:var(--space-300) 0 0;max-width:36ch;font-style:italic}.art-head .standfirst code{font-family:var(--mono);font-style:normal;font-size:.85em}.art-meta{display:flex;align-items:center;gap:var(--space-200);margin:var(--space-400) 0 0;padding-bottom:var(--space-400);border-bottom:1px solid var(--border)}.art-meta .spacer{flex:1}.art-meta .mdot{width:3px;height:3px;border-radius:var(--radius-full);background:var(--text-faint)}.art-meta .stat{font-family:var(--mono);font-size:12px;color:var(--text-muted)}.art-hero{margin:var(--space-400) 0 0;border-radius:var(--radius-200);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.art-hero .ph,.art-hero img{width:100%;aspect-ratio:21 / 9;object-fit:cover;display:block}.art-hero-cap{font-family:var(--label);font-size:12.5px;color:var(--text-faint);margin:var(--space-100) 2px 0}.art-body{display:grid;grid-template-columns:1fr minmax(0,var(--read)) 1fr;gap:0;margin-top:var(--space-600)}.art-body>.prose{grid-column:2}.toc-rail{grid-column:3;padding-left:var(--space-500)}.toc{position:sticky;top:92px}.toc h4{font-family:var(--label);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin:0 0 var(--space-150);font-weight:600}.toc a{display:block;font-family:var(--label);font-size:13.5px;color:var(--text-muted);padding:var(--space-50) 0 var(--space-50) var(--space-150);border-left:2px solid var(--border);line-height:1.35;transition:color var(--duration-normal) var(--ease),border-color var(--duration-normal) var(--ease)}.toc a:hover{color:var(--text-body)}.toc a.active{color:var(--primary);border-color:var(--primary)}.toc .share{margin-top:var(--space-300);padding-top:var(--space-200);border-top:1px solid var(--border);display:flex;gap:var(--space-100)}.prose{font-size:19px;line-height:1.72;color:var(--text-body);counter-reset:h2}.prose>*+*{margin-top:1.35em}.prose p{text-wrap:pretty}.prose>p:first-of-type{font-size:21px;line-height:1.6;color:var(--text-soft)}.prose>p:first-of-type:first-letter{font-family:var(--serif);font-weight:600;color:var(--primary);font-size:3.6em;float:left;line-height:.72;padding:var(--space-100) var(--space-150) 0 0}.prose h2{font-weight:500;font-size:31px;letter-spacing:-.01em;line-height:1.2;margin-top:2em;scroll-margin-top:90px;counter-increment:h2}.prose h2:before{content:counter(h2,decimal-leading-zero);font-family:var(--mono);font-size:14px;color:var(--primary);margin-right:var(--space-150);vertical-align:middle}.prose h3{font-family:var(--label);font-weight:600;font-size:20px;margin-top:1.8em;scroll-margin-top:90px}.prose a:not(.btn){color:var(--text-link);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--text-link) 35%,transparent);text-underline-offset:3px}.prose a:not(.btn):hover{text-decoration-color:var(--text-link)}.prose strong{font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-top:.5em}.prose li::marker{color:var(--primary)}.prose :not(pre)>code{font-family:var(--mono);font-size:.82em;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-50);padding:.12em .42em;color:var(--primary-strong)}.prose hr{border:0;height:1px;background:var(--border);margin:2.4em 0}.prose blockquote{margin:1.8em 0;padding:var(--space-50) 0 var(--space-50) var(--space-300);border-left:3px solid var(--primary);font-style:italic;font-size:22px;line-height:1.45;color:var(--text-soft)}.prose blockquote p{margin:0}.prose blockquote cite{display:block;font-style:normal;font-family:var(--label);font-size:13px;color:var(--text-muted);margin-top:var(--space-150)}.prose figure{margin:2em 0}.prose figure img,.prose figure .ph{border-radius:var(--radius-150);border:1px solid var(--border);width:100%}.prose figcaption{font-family:var(--label);font-size:13px;color:var(--text-faint);margin-top:var(--space-100);text-align:center}.callout{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-150);padding:var(--space-200) var(--space-250);display:flex;gap:var(--space-200);font-size:16.5px;line-height:1.55}.callout .mk{font-family:var(--label);font-weight:700;color:var(--primary);font-size:13px;letter-spacing:.04em;text-transform:uppercase;flex:none;padding-top:2px}.callout>div>:first-child{margin-top:0}.callout.note{border-left:3px solid var(--secondary)}.callout.note .mk{color:var(--secondary)}.prose .codeblock,.prose .sandbox,.prose .term{margin:1.8em 0}.prose pre[class*=language-],.codeblock pre[class*=language-]{background:var(--code-bg);color:var(--code-text);font-family:var(--mono);font-size:13.5px;line-height:1.85;overflow-x:auto;margin:0}.prose>pre[class*=language-]{border-radius:var(--radius-150);padding:var(--space-200);border:1px solid var(--code-border);box-shadow:var(--shadow)}.codeblock pre[class*=language-]{padding:var(--space-200)}.prose pre[class*=language-] code{font-family:inherit;font-size:inherit;background:none;border:0;padding:0;color:inherit}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--syntax-comment);font-style:italic}.token.punctuation,.token.operator{color:var(--syntax-punctuation)}.token.keyword,.token.atrule,.token.rule,.token.important{color:var(--syntax-keyword)}.token.function,.token.class-name,.token.function-variable{color:var(--syntax-function)}.token.string,.token.char,.token.attr-value,.token.regex,.token.inserted{color:var(--syntax-string)}.token.number,.token.boolean,.token.constant,.token.symbol,.token.property,.token.tag,.token.builtin{color:var(--syntax-number)}.token.attr-name,.token.variable,.token.parameter{color:var(--code-text)}.token.url,.token.entity{color:var(--primary)}.series-banner{display:flex;align-items:center;gap:var(--space-200);background:var(--surface-raised);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius-150);padding:var(--space-200) var(--space-250);margin:var(--space-250) 0 var(--space-100)}.series-banner .pn{font-family:var(--label);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-weight:600}.series-banner .st{font-family:var(--label);font-weight:600;font-size:15px;margin-top:var(--space-50)}.series-banner .prog{font-family:var(--mono);font-size:12px;color:var(--text-muted);margin-left:auto}.pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-200);margin-top:var(--space-400)}.pager a{border:1px solid var(--border);border-radius:var(--radius-150);padding:var(--space-200) var(--space-250);background:var(--surface-raised);transition:border-color var(--duration-normal) var(--ease),transform var(--duration-normal) var(--ease)}.pager a:hover{border-color:var(--primary);transform:translateY(-2px)}.pager .dir{font-family:var(--label);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.pager .pt{font-weight:500;font-size:19px;line-height:1.2;margin-top:var(--space-100);letter-spacing:-.01em}.pager .next{text-align:right}.progress{position:fixed;top:0;left:0;height:3px;background:var(--primary);width:0;z-index:60;transition:width var(--duration-fast) linear}@media(width<=1040px){.art-body{grid-template-columns:1fr}.art-body>.prose{grid-column:1;max-width:var(--read);margin-inline:auto}.toc-rail{display:none}}@media(width<=640px){.art-head h1{font-size:38px}.prose{font-size:18px}.pager{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.pager a:hover{transform:none}.progress{transition:none}}
