.article-page{width:min(760px,100% - 40px);max-width:760px;margin:44px auto 70px;padding:0}.article-page article{color:var(--site-ink)}.article-back{color:var(--site-muted);font-size:var(--text-sm);margin-bottom:45px;font-weight:400;text-decoration:none;display:inline-block}.article-back:hover{text-underline-offset:5px;text-decoration:underline}.article-meta{color:var(--site-muted);font-size:var(--text-meta);flex-wrap:wrap;gap:18px;display:flex}.article-page h1{color:var(--site-ink);font-size:var(--text-article);letter-spacing:-2px;overflow-wrap:anywhere;margin:18px 0 26px;font-weight:600;line-height:1.08}.article-lede{color:var(--site-ink);font-family:Georgia,serif;font-size:var(--text-h3);margin:0 0 38px;line-height:1.5}.article-hero-image{border:1px solid var(--site-rule);border-radius:var(--radius-media);width:min(1040px,100vw - 80px);max-width:none;height:auto;margin:35px 0 55px;display:block;position:relative;left:50%;transform:translate(-50%)}.article-content{color:var(--site-ink);font-size:var(--text-lg);overflow-wrap:break-word;line-height:1.8}.article-content h2,.article-content h3,.article-content h4{color:var(--site-ink);margin:2em 0 .75em;font-weight:500;line-height:1.25}.article-content h2{font-size:var(--text-section)}.article-content h3{font-size:var(--text-h3)}.article-content p,.article-content ul,.article-content ol,.article-content blockquote,.article-content pre{margin:0 0 1.5em}.article-content img{border-radius:var(--radius-media);max-width:100%;height:auto;margin:28px auto;display:block}.article-content a{color:var(--site-accent);text-underline-offset:4px}.article-content blockquote{border-left:2px solid var(--site-rule);color:var(--site-muted);margin-left:0;padding-left:24px}.article-content pre{border-radius:var(--radius-control);background:var(--site-surface-code);color:var(--site-ink);font-size:var(--text-sm);padding:22px;line-height:1.7;overflow-x:auto}.article-content :not(pre)>code{background:var(--site-surface-code);border-radius:var(--radius-inline);padding:2px 4px;font-size:.88em}.article-content th,.article-content td{border-bottom:1px solid var(--site-rule);text-align:left;padding:12px}.article-actions{flex-wrap:wrap;gap:14px;margin-top:35px;display:flex}.article-page .article-actions .blog-cta{border:1px solid var(--site-accent);border-radius:var(--radius-control);background:var(--site-accent);color:#fff9ee;box-shadow:none;font-weight:400;font-size:var(--text-ui);padding:12px 20px}.article-page .article-actions .blog-cta.secondary{color:var(--site-accent);background:0 0}.article-page .blog-cta:hover{filter:brightness(.9);transform:none}.article-end{border-top:1px solid var(--site-rule);margin-top:60px;padding-top:28px}.article-end a{color:var(--site-ink);font-size:var(--text-ui);text-underline-offset:5px}.article-page a:focus-visible{outline:2px solid var(--site-accent);outline-offset:5px}.article-message{font-size:var(--text-xl);padding:80px 0}.article-message div{margin-top:18px}.article-message a{color:var(--site-accent)}@media (width<=760px){.article-page{margin-top:25px}.article-back{margin-bottom:32px}.article-lede{font-size:var(--text-h3)}.article-hero-image{width:100%;margin:28px 0 35px}.article-content{font-size:var(--text-reading)}}html{scroll-behavior:auto}.article-page:focus{outline:none}.article-content pre code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:inherit;white-space:pre}.article-content .article-section-label{color:var(--site-ink);font-size:var(--text-section);margin:2em 0 .75em;font-weight:500;line-height:1.25}.article-content .hljs-keyword{color:#9b59b6}.article-content .hljs-built_in,.article-content .hljs-type{color:#8e44ad}.article-content .hljs-number,.article-content .hljs-literal{color:#e67e22}.article-content .hljs-string{color:#27ae60}.article-content .hljs-comment{color:#7f8c8d;font-style:italic}.article-content .hljs-symbol,.article-content .hljs-sorry{color:#c0392b}.article-content .hljs-attr{color:#b58900}.article-math-display{max-width:100%;padding:.2em 0;display:block;overflow-x:auto}.article-math-display>.katex-display{margin:.75em 0}.article-math-error{overflow-wrap:anywhere}.article-math-display .katex-display>.katex{width:max-content;min-width:100%}.article-content :is(h2,h3,h4,h5,h6){scroll-margin-top:130px}.article-content :is(h2,h3,h4,h5,h6):focus-visible{outline:2px solid var(--numina-accent);outline-offset:6px}.article-toc{border:1px solid var(--color-border-warm);border-radius:12px;margin:0 0 2.5rem;padding:1.25rem 1.5rem}.article-toc h2{margin:0 0 .75rem;font-size:1.1rem}.article-toc ol{margin:0;padding-left:1.25rem}.article-toc li{overflow-wrap:anywhere;margin:.4rem 0}.article-toc li[data-level="3"]{margin-left:1rem}.article-toc li[data-level="4"],.article-toc li[data-level="5"],.article-toc li[data-level="6"]{margin-left:2rem}.article-toc a{color:var(--numina-accent);scroll-margin-top:130px}.article-figure{margin:0 0 1.35em}.article-figure-hero{margin:20px 0 48px}.article-figure img{max-width:100%;height:auto;display:block}.article-content>.article-figure{width:min(860px,100vw - 40px);margin-inline:calc(50% + min(860px,100vw - 40px)/-2)}.article-content>.article-figure img{width:100%}.article-figure-hero .article-hero-image{max-width:none;margin:0}.article-figure figcaption{color:var(--color-article-body);overflow-wrap:anywhere;margin-top:.65rem;font-size:.95rem;line-height:1.5}.article-table{border:1px solid var(--color-border-warm);border-radius:8px;max-width:100%;margin:0 0 1.35em;overflow-x:auto}.article-table:focus-visible{outline:2px solid var(--numina-accent);outline-offset:3px}.article-table table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.95em;line-height:1.5}.article-table :is(th,td){border-bottom:1px solid var(--color-border-warm);text-align:left;vertical-align:top;max-width:36rem;padding:.65em 1em}.article-table th{font-weight:700}.article-table tr:last-child td{border-bottom:0}.article-table [data-align=right]{text-align:right}.article-table [data-align=center]{text-align:center}.article-authors{color:var(--color-article-body);flex-wrap:wrap;gap:.4em;margin:0 0 1.5rem;display:flex}.article-authors ul{flex-wrap:wrap;gap:.35em 1em;margin:0;padding:0;list-style:none;display:flex}.article-authors li{overflow-wrap:anywhere}.article-authors a{color:var(--numina-accent)}
