.story-card:where(.astro-snnnpcdd)+.story-card:where(.astro-snnnpcdd){border-top:1px solid var(--brand-border)}a:where(.astro-snnnpcdd){color:inherit;align-items:flex-start;gap:1.25rem;padding-block:1.5rem;text-decoration:none;display:flex}img:where(.astro-snnnpcdd){width:var(--publication-thumbnail,112px);aspect-ratio:8/5;object-fit:cover;border-radius:var(--brand-radius-image);flex-shrink:0;height:auto;margin-top:.125rem}.card-copy:where(.astro-snnnpcdd){min-width:0}.meta:where(.astro-snnnpcdd){font-size:var(--brand-caption-size);line-height:var(--brand-caption-leading);color:var(--brand-muted);margin:0 0 .375rem}.meta:where(.astro-snnnpcdd) span:where(.astro-snnnpcdd){color:var(--brand-action)}h3:where(.astro-snnnpcdd){font-size:var(--brand-title-size);line-height:var(--brand-title-leading);letter-spacing:var(--brand-title-tracking);font-weight:var(--brand-title-weight);text-wrap:pretty;margin:0}.summary:where(.astro-snnnpcdd){color:var(--brand-muted);font-size:var(--brand-small-size);line-height:var(--brand-small-leading);margin:.5rem 0 0}a:where(.astro-snnnpcdd):hover h3:where(.astro-snnnpcdd){text-decoration:underline;text-decoration-color:var(--brand-action);text-underline-offset:var(--brand-link-offset);text-decoration-thickness:var(--brand-link-thickness)}@media (width<=600px){a:where(.astro-snnnpcdd){gap:1rem;padding-block:1.25rem}img:where(.astro-snnnpcdd){width:72px}}@media (prefers-reduced-motion:no-preference){html:has(.publication-article){scroll-behavior:smooth}}.publication-shell{max-width:1320px;margin-inline:auto;padding:3rem 2.5rem 5rem}.publication-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.publication-heading h1{font-size:var(--brand-heading-size);line-height:var(--brand-heading-leading);letter-spacing:var(--brand-heading-tracking);margin:0 0 1rem}.publication-heading p{color:var(--brand-muted);font-size:var(--brand-reading-size);line-height:var(--brand-body-leading);max-width:38rem}.back,.article-end a{color:var(--brand-action);text-underline-offset:var(--brand-link-offset)}.publication-board{border-top:1px solid var(--brand-border)}.publication-overview{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:2rem;display:grid}.publication-column{min-width:0}.publication-overview .publication-column+.publication-column{border-left:1px solid var(--brand-border);--publication-thumbnail:72px;padding-left:2rem}.publication-section+.publication-section{border-top:1px solid var(--brand-border);margin-top:2rem}.publication-section-heading{justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.publication-section-heading h2{font-size:var(--brand-subheading-size);line-height:var(--brand-subheading-leading);font-weight:var(--brand-heading-weight);letter-spacing:var(--brand-heading-tracking);margin:0}.publication-section-heading>a{color:var(--brand-action);font-size:var(--brand-small-size);line-height:var(--brand-small-leading);white-space:nowrap}.publication-board:not(.publication-overview) .publication-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem;display:grid}.publication-board:not(.publication-overview) .story-card:nth-child(2){border-top:0}.publication-meta{font-size:var(--brand-small-size);line-height:var(--brand-small-leading);color:var(--brand-muted)}.publication-article{padding:4rem 2rem 6rem}.article-heading{max-width:900px;margin:0 auto 3rem}.publication-article:not(.video-watch) .article-heading{isolation:isolate;border-bottom:1px solid var(--brand-border);max-width:720px;padding-bottom:2rem;position:relative}.publication-article:not(.video-watch) .article-heading:has(.article-header-image){padding-top:clamp(180px,20vw,260px)}.publication-article .article-heading h1{font-size:calc(var(--brand-subheading-size) * 1.5);line-height:var(--brand-heading-leading);margin:.75rem 0 1rem}.article-header-image{z-index:-1;object-fit:cover;border-radius:var(--brand-radius-image);width:100%;max-width:none;height:clamp(280px,30vw,400px);position:absolute;top:0;left:0;mask-image:url(/images/publication/header-fade.svg);mask-size:100% 100%;mask-repeat:no-repeat}@media (width>=1100px){.publication-article:not(.video-watch):has(.has-toc) .article-heading{transform:translate(-152px)}.publication-article:has(.has-toc) .article-header-image{width:calc(100% + 304px)}}@media (width>=1400px){.article-header-image{width:calc(100% + 280px);left:-140px}.publication-article:has(.has-toc) .article-header-image{width:calc(100% + 444px)}.publication-article:has(.has-toc .expressive-code) .article-header-image{width:calc(100% + 584px)}}.video-heading>:last-child{margin-bottom:0}.video-watch{grid-template-rows:min-content min-content 1fr;grid-template-columns:300px minmax(0,900px);align-items:start;column-gap:3rem;max-width:1312px;margin-inline:auto;display:grid}.video-watch>:not(.video-watch-related){grid-column:2;width:100%;min-width:0}.video-watch-player .publication-video{margin:0 0 2rem}.video-watch-player summary>span{display:none}.video-watch .video-heading{margin-bottom:2rem}.video-heading .back{display:none}.video-watch .article-reading{max-width:none}.video-watch-related{--publication-thumbnail:88px;grid-area:1/1/span 3;min-width:0}.video-watch-related h2{font-size:var(--brand-subheading-size);line-height:var(--brand-subheading-leading);margin:0}.video-watch-related .story-card h3{font-size:var(--brand-reading-size);line-height:var(--brand-body-leading)}.video-watch-related .story-card>a{padding-block:1rem;display:flow-root}.video-watch-related .story-card img{float:left;margin:.125rem 1rem .5rem 0}.video-watch-related .card-copy{display:contents}.video-watch-related section+section{margin-top:2rem}.article-related{border-top:1px solid var(--brand-border);max-width:1024px;margin:3rem auto 0;padding-top:2rem}@media (width>=1800px){.publication-article:not(.video-watch){grid-template-columns:340px minmax(0,1304px);align-items:start;column-gap:3rem;max-width:1756px;margin-inline:auto;display:grid}.publication-article:not(.video-watch)>:not(.article-related){grid-column:2;width:100%;min-width:0}.article-related{border:0;grid-area:1/1/span 3;margin:0;padding:0}}@media (width<=1000px){.video-watch{max-width:900px;display:block}.video-watch-related{border-top:1px solid var(--brand-border);margin-top:3rem;padding-top:2rem}}.back{font-size:var(--brand-small-size);margin-bottom:2.5rem;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}.article-summary{max-width:65ch;color:var(--brand-muted);font-size:var(--brand-reading-size);line-height:var(--brand-body-leading);margin:0 0 2rem}.byline{font-size:var(--brand-small-size);line-height:var(--brand-small-leading);align-items:center;gap:.8rem;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);font-size:var(--brand-small-size);margin-top:.15rem;display:block}.article-reading{max-width:720px;margin-inline:auto}.article-body{min-width:0}.article-toc{font-size:var(--brand-small-size);line-height:var(--brand-small-leading);margin-bottom:2.5rem}.article-toc h2{font-size:var(--brand-reading-size);font-weight:var(--brand-title-weight);margin:0 0 1rem}.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}}@media (width>=1400px){.article-reading:has(.expressive-code){max-width:1000px}.article-reading.has-toc:has(.expressive-code){grid-template-columns:minmax(0,1000px) 240px;max-width:1304px}.article-reading:has(.expressive-code) .publication-prose>:not(.expressive-code),.article-reading:has(.expressive-code) .article-end{max-width:720px;margin-inline: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:calc(var(--brand-subheading-size) * 1.25);line-height:var(--brand-subheading-leading);margin:3rem 0 1rem}.publication-prose h3{font-size:var(--brand-subheading-size);line-height:var(--brand-subheading-leading);margin:2.5rem 0 1rem}.video-watch .publication-prose h3{font-size:var(--brand-title-size);line-height:var(--brand-title-leading);font-weight:var(--brand-title-weight);letter-spacing:var(--brand-title-tracking);margin:2rem 0 .75rem}.publication-prose h4{font-size:var(--brand-title-size);line-height:var(--brand-title-leading);font-weight:var(--brand-title-weight);letter-spacing:var(--brand-title-tracking);margin:2rem 0 1rem}.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);color:var(--brand-ink);font-size:var(--brand-quote-size);line-height:var(--brand-quote-leading);letter-spacing:var(--brand-quote-tracking);margin:2rem 0;padding-left:1.5rem}.publication-prose blockquote>:last-child{margin-bottom:0}.publication-quote{margin:2.5rem 0}.publication-quote blockquote{margin:0}.publication-quote figcaption{color:var(--brand-muted);font-size:var(--brand-small-size);line-height:var(--brand-small-leading);margin-top:1rem;padding-left:calc(1.5rem + 1px)}.publication-quote figcaption strong{color:var(--brand-ink);font-weight:var(--brand-title-weight);display:block}.publication-about{border-top:1px solid var(--brand-border);font-size:var(--brand-small-size);line-height:var(--brand-small-leading);margin-top:3rem;padding-top:2rem}.publication-about h2{font-size:var(--brand-title-size);line-height:var(--brand-title-leading);font-weight:var(--brand-title-weight);letter-spacing:var(--brand-title-tracking);margin:1.5rem 0 .75rem}.publication-about>p:first-child img{max-width:160px;margin:0}.publication-figure{margin:2rem 0}.publication-figure img{margin:0 auto .75rem}.publication-figure figcaption{font-size:var(--brand-small-size);line-height:var(--brand-small-leading);color:var(--brand-muted)}.article-end{border-top:1px solid var(--brand-border);font-size:var(--brand-small-size);line-height:var(--brand-small-leading);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:2rem;display:flex}.publication-nav a[aria-current=page]{color:var(--brand-ink);font-weight:var(--brand-link-weight)}.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-heading{flex-direction:column;align-items:start}}@media (width<=800px){.publication-overview{grid-template-columns:1fr}.publication-overview .publication-column+.publication-column{border-left:0;border-top:1px solid var(--brand-border);--publication-thumbnail:112px;padding-left:0}.publication-board:not(.publication-overview) .publication-list{grid-template-columns:1fr}.publication-board:not(.publication-overview) .story-card:nth-child(2){border-top:1px solid var(--brand-border)}}@media (width<=600px){.publication-shell,.publication-article{padding:2.5rem 1.25rem 4rem}.article-heading{margin-bottom:2rem}}
