@media (prefers-reduced-motion:no-preference){html:has(.publication-article){scroll-behavior:smooth}}.publication-shell{max-width:1240px;margin-inline:auto;padding:4rem 2.5rem 7rem}.publication-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3.5rem;display:flex}.publication-heading h1{font-size:var(--brand-display-size);line-height:var(--brand-display-leading);margin:0 0 1.25rem}.publication-heading p{color:var(--brand-muted);max-width:38rem;line-height:1.6}.back,.article-end a{color:var(--brand-action);text-underline-offset:.25em}.publication-section{margin-top:5rem}.publication-section>h2{font-size:var(--brand-heading-size);line-height:var(--brand-heading-leading);margin:0 0 2rem}.publication-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem;display:grid}.video-article-link{margin-top:.75rem;font-size:.875rem;display:inline-block}.publication-updates{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.publication-update{border-top:1px solid var(--brand-border);padding-top:1.5rem}.publication-update h3{margin:.75rem 0;font-size:1.5rem;line-height:1.3}.publication-update h3 a{color:inherit;text-decoration:none}.publication-update h3 a:hover{text-decoration:underline}.publication-update p{color:var(--brand-muted);line-height:1.6}.publication-meta{color:var(--brand-muted);font-size:.875rem}.publication-article{padding:4rem 2rem 6rem}.article-heading{max-width:900px;margin:0 auto 3rem}.back{margin-bottom:2.5rem;font-size:.875rem;display:inline-block}.article-heading h1{font-size:var(--brand-display-size);line-height:var(--brand-display-leading);letter-spacing:var(--brand-display-tracking);overflow-wrap:break-word;margin:1rem 0 2rem}.byline{align-items:center;gap:.8rem;font-size:.875rem;display:flex}.byline .author-avatar{aspect-ratio:150/163.11;flex-shrink:0;width:44px;margin:0;mask:url(/assets/brand/tilebox-avatar-mask.svg) 50%/contain no-repeat}.author-avatar img{object-fit:cover;width:100%;height:100%;transform:scale(1.35)}.byline p{margin:0}.byline span{color:var(--brand-muted);margin-top:.15rem;font-size:.875rem;display:block}.article-cover{border-radius:var(--brand-radius-image);width:100%;max-width:1000px;height:auto;margin:0 auto 3.5rem;display:block}.article-reading{max-width:720px;margin-inline:auto}.article-body{min-width:0}.article-toc{margin-bottom:2.5rem;font-size:.875rem;line-height:1.5}.article-toc h2{margin:0 0 1rem;font-size:.9375rem;font-weight:600}.article-toc ul{border-left:1px solid var(--brand-border);margin:0;padding:0;list-style:none}.article-toc a{color:var(--brand-muted);overflow-wrap:anywhere;border-left:1px solid #0000;margin-left:-1px;padding:.625rem 1rem;font-weight:400;text-decoration:none;display:block}.article-toc a:hover{color:var(--brand-ink);background:var(--brand-paper)}.article-toc a[aria-current=location]{color:var(--brand-action);background:color-mix(in srgb, var(--brand-action) 5%, transparent);border-left-color:currentColor}@media (width>=1100px){.article-reading.has-toc{grid-template-columns:minmax(0,720px) 240px;align-items:start;gap:4rem;max-width:1024px;display:grid}.article-reading.has-toc .article-body{grid-area:1/1}.article-toc{scrollbar-width:thin;grid-area:1/2;max-height:calc(100dvh - 8rem);margin:0;padding:.25rem;position:sticky;top:6rem;overflow-y:auto}}.publication-prose{font-size:var(--brand-reading-size);color:var(--brand-muted);line-height:var(--brand-body-leading);overflow-wrap:anywhere}.publication-prose p{text-wrap:pretty;max-width:72ch;margin:0 0 1rem}.publication-prose h2{font-size:var(--brand-heading-size);line-height:var(--brand-heading-leading);margin:3rem 0 1rem}.publication-prose h3{margin:2.5rem 0 1rem;font-size:1.5rem;line-height:1.3}.publication-prose h4{margin:2rem 0 1rem;font-size:1.25rem;line-height:1.4}.publication-prose :is(h2,h3,h4){color:var(--brand-ink);scroll-margin-top:6rem}.publication-prose :is(ul,ol){margin-bottom:1.5rem;padding-left:1.4rem}.publication-prose ul{list-style:outside}.publication-prose ol{list-style:decimal}.publication-prose li{margin-bottom:.5rem;padding-left:.3rem}.publication-prose li p{margin-bottom:.5rem}.publication-prose img{max-width:100%;height:auto;margin:2rem auto;display:block}.publication-prose .expressive-code{--ec-codeFontFml:var(--brand-code-font);--ec-codeFontSize:var(--brand-code-size);--ec-codeFontWg:400;--ec-codeLineHt:var(--brand-code-leading);--ec-codeBg:var(--brand-white);--ec-codeFg:var(--brand-ink);--ec-brdCol:var(--brand-border);--ec-uiFontFml:var(--brand-font);--ec-frm-edBg:var(--brand-white);--ec-frm-edActTabBg:var(--brand-paper);--ec-frm-edTabBarBg:var(--brand-paper);--ec-frm-trmBg:var(--brand-white);--ec-frm-inlBtnFg:var(--brand-ink);--ec-frm-inlBtnBg:var(--brand-ink);--ec-lineNumbers-fg:var(--brand-muted);--ec-focusBrd:var(--brand-action);margin:2rem 0}.publication-prose .docs-copy-label{display:none}.publication-prose :not(pre)>code{font-family:var(--brand-code-font);font-size:var(--brand-code-size);line-height:var(--brand-code-leading);color:var(--brand-ink);background:var(--brand-white);border:1px solid var(--brand-border);border-radius:var(--brand-radius-control);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.12em .35em;font-weight:400}.publication-prose a>code{color:inherit}.publication-prose blockquote{border-left:1px solid var(--brand-border);margin:2rem 0;padding-left:1.5rem}.article-end{border-top:1px solid var(--brand-border);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:2rem;font-size:.875rem;display:flex}.short-news .article-heading,.short-news .article-cover{max-width:720px}.publication-nav a[aria-current=page]{color:var(--brand-ink);font-weight:600}.publication-shell :is(a,summary):focus-visible,.publication-article :is(a,summary):focus-visible{outline:2px solid var(--brand-action);outline-offset:4px}@media (width<=950px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-heading{flex-direction:column;align-items:start}}@media (width<=600px){.publication-shell{padding:2.5rem 1.25rem 4rem}.publication-grid,.publication-updates{grid-template-columns:1fr}.publication-section{margin-top:3.5rem}.publication-article{padding:2.5rem 1.25rem 4rem}.article-heading,.article-cover{margin-bottom:2rem}}
