.article-prose{--prose-text:color-mix(in oklab, var(--color-text) 80%, var(--color-bg-soft));--prose-gap:1.25em;--prose-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--header-offset:calc(4.5rem + 1.5rem);color:var(--prose-text);overflow-wrap:break-word;font-size:1rem;line-height:1.75}@media (min-width:64rem){.article-prose{font-size:1.0625rem}}.article-prose>*+*{margin-top:var(--prose-gap)}.article-prose :is(h2,h3,h4,h5,h6){color:var(--color-navy);scroll-margin-top:var(--header-offset);overflow-wrap:anywhere;text-wrap:balance}.article-prose h2{letter-spacing:-.02em;margin-top:2.25em;font-size:clamp(1.5rem,1.2rem + 1vw,1.875rem);line-height:1.2}.article-prose h3{letter-spacing:-.01em;margin-top:2em;font-size:clamp(1.1875rem,1.05rem + .5vw,1.375rem);line-height:1.3}.article-prose :is(h4,h5,h6){margin-top:1.75em;font-size:1.0625rem;line-height:1.4}.article-prose>:first-child{margin-top:0}.article-prose :is(h2,h3,h4,h5,h6)+*{margin-top:.75em}.article-prose strong{color:var(--color-navy);font-weight:650}.article-prose a{color:var(--color-link-text);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px}.article-prose a:hover{text-decoration-thickness:2px}.article-prose :not(pre)>code{background-color:color-mix(in srgb, var(--color-navy) 6%, transparent);color:var(--color-navy);font-family:var(--prose-mono);overflow-wrap:anywhere;border-radius:.25rem;padding:.1em .35em;font-size:.875em}.article-prose hr{border:0;border-top:1px solid var(--color-line);margin-block:2.5em}.article-prose :is(ul,ol){padding-left:1.5em}.article-prose ul{list-style-type:disc}.article-prose ol{list-style-type:decimal}.article-prose li+li,.article-prose li>:is(ul,ol){margin-top:.4em}.article-prose li::marker{color:var(--color-muted)}.article-prose ul ul{list-style-type:circle}.article-prose ul ul ul{list-style-type:square}.article-prose .contains-task-list{padding-left:0;list-style:none}.article-prose .task-list-item input{accent-color:var(--color-blue-strong);vertical-align:-.1em;margin-right:.6em}.article-prose blockquote{border-left:2px solid var(--color-orange);border-radius:0 var(--radius-control) var(--radius-control) 0;background-color:var(--color-bg);padding:1em 1.25em}.article-prose blockquote>*+*{margin-top:.75em}.article-prose img{max-width:100%;height:auto}.article-prose .article-figure{margin-block:2em}.article-prose .article-figure img{border-radius:var(--radius-control);margin-inline:auto;display:block}.article-prose figcaption{color:var(--color-muted);text-align:center;margin-top:.75em;font-size:.8125rem;line-height:1.5}.article-prose .article-table{border:1px solid var(--color-line);border-radius:var(--radius-card);background-color:var(--color-bg);max-width:100%;margin-block:2em;overflow-x:auto}.article-prose table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.5}.article-prose :is(th,td){border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;min-width:7rem;padding:.65rem .9rem}.article-prose th[align=right],.article-prose td[align=right]{text-align:right;font-variant-numeric:tabular-nums}.article-prose th[align=center],.article-prose td[align=center]{text-align:center}.article-prose th{color:var(--color-navy);white-space:nowrap;font-weight:600}.article-prose tbody tr:last-child td{border-bottom:0}.article-prose .katex{font-size:1.08em}.article-prose .katex-display{color:var(--color-navy);margin-block:1.5em;padding-block:.5em;overflow:auto hidden}.article-prose .article-code{border-radius:var(--radius-card);background-color:var(--color-navy-deep);color:#e6ebf2;margin-block:1.75em;overflow:hidden}.article-code__bar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.25rem .5rem .25rem 1rem;display:flex}.article-code__lang{color:#aeb7c4;font-family:var(--prose-mono);font-size:.75rem}.article-code__copy{border-radius:var(--radius-control);color:#aeb7c4;cursor:pointer;align-items:center;gap:.375rem;min-height:2rem;padding:0 .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.article-code__copy:hover{color:#fff;background-color:#ffffff14}.article-code__copy:focus-visible{outline-color:var(--color-blue-light)}.article-prose .article-code pre{font-family:var(--prose-mono);tab-size:2;counter-reset:line;margin:0;padding:1rem 1.25rem 1.125rem .75rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.article-prose .article-code pre:focus-visible{outline:2px solid var(--color-blue-light);outline-offset:-2px}.article-prose .article-code code{white-space:pre;width:max-content;min-width:100%;display:block}.article-prose .article-code .line:before{color:#5d6878;content:counter(line);counter-increment:line;text-align:right;-webkit-user-select:none;user-select:none;width:2.25rem;padding-right:1rem;display:inline-block}.article-prose .article-diagram{margin-block:2em}.article-diagram__canvas{border:1px solid var(--color-line);border-radius:var(--radius-card);background-color:var(--color-bg);text-align:center;padding:1.5rem 1rem;overflow-x:auto}.article-diagram__canvas svg{max-width:100%;height:auto}.article-diagram__source{margin-top:.75rem;font-size:.8125rem}.article-diagram__source summary{color:var(--color-link-text);cursor:pointer}.article-diagram__source pre,.article-diagram__fallback{border-radius:var(--radius-card);background-color:var(--color-navy-deep);color:#e6ebf2;font-family:var(--prose-mono);margin-top:.75rem;padding:1rem 1.25rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.article-diagram__note{text-align:left}.article-prose .footnotes{border-top:1px solid var(--color-line);margin-top:3em;padding-top:1.5em;font-size:.875rem}
