.lab-header{z-index:60;background:var(--paper);position:sticky;top:0}.lab-brand{min-height:44px;color:var(--ink);align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{flex:none;display:block}.brand-name{font-family:var(--display-font,"Space Grotesk",system-ui,sans-serif);letter-spacing:-.02em;font-size:17px;font-weight:500;line-height:1}.lab-brand:hover .brand-mark{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.brand-mark{transition:color .15s}}:root{--lab-ease:cubic-bezier(.22,1,.36,1)}@keyframes stage-arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes page-leave{to{opacity:0;transform:translateY(-8px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.explorer-panel:not([hidden]){animation:stage-arrive .5s var(--lab-ease) both}@view-transition{navigation:auto}::view-transition-old(root){animation:.2s ease-in both page-leave}::view-transition-new(root){animation:page-enter .45s var(--lab-ease) both}.feature-link span{transition:transform .25s var(--lab-ease);display:inline-block}.feature-link:hover span{transform:translate(5px)}.featured-work-links a>span:first-child{transition:transform .3s var(--lab-ease)}.featured-work-links a:hover>span:first-child{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.explorer-panel,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.prose{overflow-wrap:anywhere;font-size:1.075rem;line-height:1.8}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 1.5em}.prose h2{letter-spacing:-.035em;margin:2.4em 0 .8em;font-size:1.65rem;line-height:1.25}.prose h3{margin:2em 0 .6em;font-size:1.25rem}.prose a{text-underline-offset:4px;text-decoration:underline}.prose pre{border:1px solid var(--line);border-radius:3px;padding:1.35rem;font-size:.85rem;line-height:1.65;overflow-x:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.87em}.prose :not(pre)>code{background:var(--soft);border-radius:3px;padding:.12em .3em}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:2rem 0;padding-left:1.5rem}.prose img{max-width:100%;height:auto}.prose table{border-collapse:collapse;margin:2rem 0;font-size:.9rem;display:block;overflow:auto}.prose td,.prose th{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .9rem}.prose hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.prose h2,.prose h3,.prose span[id]{scroll-margin-top:7rem}.prose ul,.prose ol{padding-left:1.5rem}.prose li{margin:.45rem 0}.prose .heading-anchor{opacity:.5;margin-left:.5em;font-size:.8em}.article-toc a{color:var(--muted);padding:.3rem 0;font-size:.8rem;display:block}.article-toc a:hover{color:var(--ink)}.article-toc{align-self:start;position:sticky;top:7rem}.article-toc ol{padding:0;list-style:none}.article-shell{grid-template-columns:minmax(0,700px) 180px;gap:5rem;display:grid}.article-meta{color:var(--muted);margin:1.5rem 0 3rem;font-size:.8rem}.pagefind-ui{--pagefind-ui-primary:var(--ink);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--paper);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--soft);--pagefind-ui-border-radius:2px;--pagefind-ui-font:inherit}.search-area{min-height:320px}.search-area p{color:var(--muted)}.filter-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin:2rem 0;display:flex}.filter-controls input,.filter-controls select{font:inherit;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:2px;padding:.7rem}.filter-controls label{font-size:.75rem}.filter-controls input{min-width:180px}.filter-controls p{color:var(--muted);font-size:.75rem}[hidden]{display:none!important}.pagination{align-items:center;gap:1rem;margin:3rem 0;display:flex}.pagination a{border:1px solid var(--line);padding:.5rem 1rem}.pagination [aria-current]{background:var(--ink);color:var(--paper)}@media (width<=850px){.article-shell{flex-direction:column-reverse;gap:2rem;display:flex}.article-toc{position:static}.article-toc ol{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.article-toc a{font-size:.75rem}.prose{font-size:1rem}}:root{--paper:#f7f6f2;--ink:#232321;--muted:#66665f;--line:#d9d7d0;--accent:#45453f;--soft:#eeece5;--lime:#e1ddd2;background:var(--paper);color:var(--ink);font-synthesis:none;font-family:Manrope Variable,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,p{margin-top:0}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--lime)}.skip{background:var(--ink);color:#fff;z-index:100;padding:1rem;position:absolute;top:-100px;left:20px}.skip:focus{top:15px}.lab-header{border-bottom:1px solid var(--line);align-items:center;gap:50px;height:96px;margin:0 48px;display:flex}.lab-brand{letter-spacing:-1.7px;align-items:center;gap:0;font-size:32px;font-weight:650;display:flex}.lab-header nav{gap:34px;margin-left:auto;font-size:13px;display:flex}.lab-header [aria-current]{text-underline-offset:6px;text-decoration:underline}.search-link{margin-left:35px;font-size:12px}.lab-hero{padding:62px 48px 48px;position:relative;overflow:hidden}.hero-top{justify-content:space-between;display:flex}.eyebrow,.mono,.section-no{text-transform:uppercase;letter-spacing:.065em;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400}.hero-top .eyebrow:last-child{color:var(--muted)}.hero-composition{grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;min-height:450px;display:grid;position:relative}.hero-copy{z-index:1;position:relative}.hero-copy h1{letter-spacing:-.065em;max-width:810px;margin:36px 0 29px;font-size:clamp(54px,6.4vw,99px);font-weight:500;line-height:1.03}.hero-copy h1 em{color:#5f6059;font-style:normal}.hero-copy>p{max-width:400px;color:var(--muted);font-size:15px;line-height:1.8}.hero-links{align-items:center;gap:28px;margin-top:28px;display:flex}.underlined{border-bottom:1px solid var(--ink);gap:30px;padding-bottom:8px;font-size:12px;display:inline-flex}.underlined span{transition:transform .2s cubic-bezier(.2,0,0,1)}.underlined:hover span{transform:translate(3px,-3px)}.research-object{justify-self:center;width:100%;max-width:540px;position:relative}.research-object svg{width:100%;height:auto;overflow:visible}.object-caption{color:var(--muted);justify-content:space-between;gap:10px;padding:0 40px;font-family:IBM Plex Mono,monospace;font-size:9px;display:flex}.object-caption button{font:inherit;text-transform:uppercase;color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.hero-baseline{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:35px;margin-top:30px;padding-top:22px;display:flex}.hero-baseline a{font-size:11px}.hero-baseline .mono{color:var(--muted);font-size:9px}.lab-section{border-top:1px solid var(--line);padding:56px 48px 64px}.section-head{grid-template-columns:110px 1fr auto;align-items:baseline;gap:25px;margin-bottom:34px;display:grid}.section-head h2{letter-spacing:-.055em;margin:0;font-size:38px;font-weight:500}.section-head>a{text-underline-offset:5px;font-size:11px;text-decoration:underline}.section-no{color:var(--muted)}.publication{border:1px solid var(--line);grid-template-columns:1fr 1fr;min-height:340px;display:grid}.publication-art{background:var(--ink);color:var(--lime);place-items:center;min-height:310px;display:grid;position:relative;overflow:hidden}.publication-art svg{width:82%;height:auto}.publication-art .mono{font-size:9px;position:absolute;top:22px;left:25px}.publication-copy{background:#fff;flex-direction:column;justify-content:space-between;padding:40px;display:flex}.publication-copy h3{letter-spacing:-.05em;max-width:410px;margin:25px 0 18px;font-size:36px;font-weight:500;line-height:1.2}.publication-copy p{color:var(--muted);max-width:400px;font-size:13px;line-height:1.8}.publication-copy .meta{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px}.publication-copy .underlined{align-self:flex-start}.product-list{grid-template-columns:repeat(3,1fr);column-gap:35px;display:grid}.product-item{border-top:1px solid var(--line);padding:25px 0 30px}.product-item .product-top{justify-content:space-between;align-items:center;display:flex}.product-item h3{letter-spacing:-.03em;margin:0 0 13px;font-size:22px;font-weight:600}.product-item p{color:var(--muted);max-width:320px;min-height:43px;font-size:12px;line-height:1.8}.product-item .mono{color:var(--muted);font-size:9px}.area-list{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.area-item{border-top:1px solid var(--line);padding-top:23px}.area-item .mono{color:var(--muted);font-size:9px}.area-item h3{letter-spacing:-.04em;margin:40px 0 15px;font-size:19px;font-weight:500;line-height:1.35}.area-item p{color:var(--muted);font-size:12px;line-height:1.85}.journal-row{border-top:1px solid var(--line);grid-template-columns:140px minmax(0,1fr) 130px 25px;align-items:baseline;gap:30px;padding:24px 0;display:grid}.journal-row h3{letter-spacing:-.035em;margin:0;font-size:20px;font-weight:500;line-height:1.5}.journal-row .mono{color:var(--muted);font-size:9px}.lab-footer{background:var(--ink);color:var(--paper);padding:50px 48px 22px}.footer-top{justify-content:space-between;gap:35px;padding-bottom:65px;display:flex}.footer-wordmark{letter-spacing:-9px;align-items:center;gap:25px;font-size:94px;font-weight:700;line-height:1;display:flex}.footer-wordmark span{color:var(--lime);font-size:55px;font-weight:400}.footer-top p{color:#c0beb5;margin:25px 0 0;font-size:12px;line-height:1.8}.footer-links{gap:80px;padding-top:20px;display:flex}.footer-links>div{flex-direction:column;gap:15px;font-size:12px;display:flex}.lab-footer a:hover{color:var(--lime)}.footer-bottom{color:#c9c7be;border-top:1px solid #4e4e47;justify-content:space-between;gap:20px;padding-top:22px;font-family:IBM Plex Mono,monospace;font-size:9px;display:flex}.page-head{max-width:1100px;padding:66px 48px 45px}.page-head h1{letter-spacing:-.065em;margin:28px 0;font-size:clamp(45px,6.5vw,88px);font-weight:500;line-height:1.05}.page-head>p:last-child{color:var(--muted);max-width:600px;font-size:16px;line-height:1.85}.body-section{min-height:350px;padding:0 48px 70px}.archive-layout{grid-template-columns:190px minmax(0,1fr);gap:50px;display:grid}.archive-sidebar{border-top:1px solid var(--line);padding-top:24px}.archive-sidebar a{margin:18px 0;font-size:12px;display:block}.catalog-head{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:24px;font-size:10px;display:flex}.catalog-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 130px 100px 20px;align-items:baseline;gap:25px;padding:27px 0;display:grid}.catalog-row h2{letter-spacing:-.04em;margin:0 0 10px;font-size:24px;font-weight:600}.catalog-row p{color:var(--muted);max-width:550px;margin:0;font-size:12px;line-height:1.75}.catalog-row .mono{color:var(--muted);font-size:9px}.article-shell{gap:70px;max-width:1160px;padding:0 48px 75px}.article-head{max-width:1000px}.article-head h1{font-size:clamp(42px,5vw,70px)}.article-meta{margin-top:20px}.product-detail{max-width:820px}.project-links{flex-wrap:wrap;gap:30px;margin:32px 0;display:flex}.project-links a{border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:12px}.facts{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:16px;padding:28px 0;font-size:13px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.about-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.about-grid h2{letter-spacing:-.05em;font-size:36px;font-weight:500}.about-grid p{color:var(--muted);font-size:16px;line-height:1.9}.related{border-top:1px solid var(--line);margin-top:55px;padding-top:25px}.related h2{font-size:25px;font-weight:500}.topic-links{flex-wrap:wrap;gap:20px;margin:0 0 28px;font-size:12px;display:flex}.topic-links a{border-bottom:1px solid var(--line);padding-bottom:5px}.notice{background:var(--soft);margin:25px 0;padding:18px 22px;font-size:12px;line-height:1.8}.empty{color:var(--muted);padding:25px 0;font-size:14px}@media (prefers-reduced-motion:no-preference){.hero-copy h1{animation:.7s cubic-bezier(.2,0,0,1) both lab-entry}.research-object .plate-top{animation:.8s cubic-bezier(.2,0,0,1) both plate-arrive}.research-object .plate-mid{animation:.8s cubic-bezier(.2,0,0,1) 60ms both plate-arrive}.research-object .plate-base{animation:.8s cubic-bezier(.2,0,0,1) .12s both plate-arrive}@keyframes lab-entry{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes plate-arrive{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}}@media (width<=900px){.lab-header{gap:20px;margin:0 28px}.lab-header nav{gap:20px}.search-link{margin-left:0}.lab-hero,.lab-section{padding-left:28px;padding-right:28px}.hero-composition{grid-template-columns:1.1fr 1fr;min-height:360px}.hero-copy h1{font-size:65px}.hero-copy>p{font-size:13px}.section-head{grid-template-columns:60px 1fr auto}.product-list,.area-list{grid-template-columns:repeat(2,1fr)}.page-head,.body-section,.article-shell{padding-left:28px;padding-right:28px}.archive-layout{grid-template-columns:150px minmax(0,1fr);gap:25px}.catalog-row{grid-template-columns:1fr 90px 20px}.catalog-row .catalog-language{display:none}.journal-row{grid-template-columns:95px 1fr 20px;gap:20px}.journal-row .journal-type{display:none}.lab-footer{padding-left:28px;padding-right:28px}}@media (width<=650px){.lab-header{flex-wrap:wrap;gap:20px;height:auto;min-height:93px;padding:20px 0 15px}.lab-header nav{order:3;justify-content:space-between;gap:12px;width:100%;font-size:11px}.search-link{margin-left:auto}.lab-brand{font-size:25px}.lab-hero{padding-top:28px}.hero-top .eyebrow{font-size:8px}.hero-composition{flex-direction:column;gap:0;display:flex}.hero-copy h1{margin-top:25px;font-size:58px}.hero-copy{width:100%}.hero-copy>p{max-width:350px}.research-object{width:86%;max-width:330px;margin-top:10px}.object-caption{padding:0 10px;font-size:8px}.hero-baseline{flex-wrap:wrap;gap:15px}.hero-baseline .mono{width:100%;font-size:8px}.section-head{grid-template-columns:25px 1fr;gap:12px}.section-head h2{font-size:31px}.section-head>a{grid-column:2;margin-top:8px}.lab-section{padding-top:38px;padding-bottom:40px}.publication{grid-template-columns:1fr}.publication-art{min-height:220px}.publication-art svg{width:68%}.publication-copy{padding:28px}.publication-copy h3{font-size:30px}.product-list{grid-template-columns:1fr}.product-item p{max-width:100%;min-height:0}.area-list{gap:22px}.area-item h3{margin-top:28px;font-size:17px}.footer-top{flex-direction:column;padding-bottom:40px}.footer-wordmark{font-size:77px}.footer-links{gap:70px;padding-top:0}.footer-bottom{flex-wrap:wrap;font-size:8px;line-height:1.8}.page-head{padding-top:42px}.page-head>p:last-child{font-size:14px}.archive-layout{display:block}.archive-sidebar{border:0;flex-wrap:wrap;gap:10px 20px;padding:0 0 20px;display:flex}.archive-sidebar>.mono{width:100%}.archive-sidebar a{margin:0;font-size:10px}.catalog-row{grid-template-columns:1fr 18px;gap:12px}.catalog-row .catalog-category{display:none}.catalog-row h2{font-size:22px}.journal-row{grid-template-columns:1fr 20px;gap:8px 15px}.journal-row time{grid-column:1/-1}.journal-row h3{font-size:17px}.about-grid{grid-template-columns:1fr;gap:30px}.article-head h1{font-size:44px}.facts{grid-template-columns:100px 1fr}.lab-hero,.lab-section,.page-head,.body-section,.article-shell,.lab-footer{padding-left:22px;padding-right:22px}.lab-header{margin-left:22px;margin-right:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-links .primary-link{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;gap:32px;padding:13px 19px;line-height:1.5}.hero-links .primary-link:hover{background:#42423c;border-color:#42423c}.hero-links>.underlined:not(.primary-link){border-bottom-color:var(--line);padding:13px 0}.product-item:hover .product-top span{transform:translate(2px,-2px)}.product-top span{transition:transform .2s}.lab-footer a:focus-visible{outline-color:var(--paper)}.publication-art{color:#e1ddd2}.lab-section.tint{background:var(--paper)}.area-item{border-top-color:var(--ink)}@media (prefers-reduced-motion:reduce){.product-top span{transition:none}}.hero-copy h1{letter-spacing:-.04em;font-size:clamp(54px,5.8vw,88px);font-weight:500;line-height:1.08}.page-head h1{letter-spacing:-.035em;font-size:clamp(42px,5.2vw,72px);line-height:1.08}.section-head h2{letter-spacing:-.035em;font-size:34px}.lab-header nav{font-size:14px}.eyebrow,.mono,.section-no{font-size:11px}.product-item p,.catalog-row p,.publication-copy p,.area-item p{font-size:14px;line-height:1.75}.product-item .mono,.catalog-row .mono,.publication-copy .meta,.area-item .mono{font-size:11px}.product-item h3{letter-spacing:-.025em;font-size:23px;font-weight:500}.product-item p{max-width:360px;min-height:49px}.article-head{text-align:center;max-width:1040px;margin:0 auto;padding-top:76px;padding-bottom:20px}.article-head h1{letter-spacing:-.03em;font-size:clamp(36px,4.4vw,64px);line-height:1.08}.article-head>p:last-of-type{margin-left:auto;margin-right:auto}.article-shell{grid-template-columns:180px minmax(0,680px);justify-content:center;gap:66px;max-width:1130px;margin:0 auto}.article-shell .prose{grid-area:1/2;font-size:17px;line-height:1.7}.article-shell .article-toc{grid-area:1/1}.article-toc a{padding:6px 0;font-size:12px;line-height:1.5}.article-toc .mono{color:var(--muted)}.prose h2{letter-spacing:-.025em;font-size:28px;font-weight:500}.prose h3{font-weight:500}@media (width<=900px){.hero-copy h1{font-size:58px}.article-shell{grid-template-columns:150px minmax(0,680px);gap:32px}}@media (width<=850px){.article-shell{flex-direction:column-reverse;gap:26px;display:flex}.article-toc{border-top:1px solid var(--line);padding-top:16px}.article-toc ol{flex-wrap:wrap;margin-bottom:0;display:flex}.article-shell .prose{font-size:17px;line-height:1.7}}@media (width<=650px){.hero-copy h1{letter-spacing:-.045em;font-size:52px;line-height:1.08}.lab-header nav{font-size:12px}.article-head{text-align:left;padding-top:48px}.article-head h1{font-size:36px}.article-head>p{font-size:15px}.article-meta{margin-bottom:24px}.product-item p{min-height:0}.section-head h2{font-size:29px}.area-list{grid-template-columns:1fr}.area-item h3{margin-top:18px;font-size:22px}}html .prose table{overflow-wrap:normal;word-break:normal;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%}html .prose th,html .prose td{vertical-align:top;min-width:8ch}html .prose th{font-weight:600}html .prose td code{white-space:nowrap}html .prose pre{scrollbar-width:thin;max-width:100%}@media (width<=650px){html .journal-row{grid-template-columns:minmax(0,1fr) 20px}html .journal-row>:first-child{grid-column:1/-1}html .journal-row h3{grid-column:1;min-width:0}}html .eyebrow,html .article-head .eyebrow{letter-spacing:.065em;font-size:11px}html .journal-row .mono,html .catalog-row .mono,html .area-item .mono,html .product-item .mono,html .publication-copy .meta,html .publication-art .mono,html .hero-baseline .mono,html .object-caption,html .hero-top .eyebrow,html .lab-opening-kicker .mono,html .explorer-heading .mono,html .explorer-heading a,html .explorer-controls button .mono{font-size:11px}html .footer-bottom{font-size:11px;line-height:1.6}@media (width<=900px){html .search-link{align-items:center;min-height:44px;font-size:13px;display:inline-flex}html .menu-toggle{min-height:44px}html .footer-links a{align-items:center;min-height:44px;display:flex}html .section-head>a,html .research-next a,html .project-links a,html .footer-bottom a,html .footer-bottom span{align-items:center;min-height:44px;display:inline-flex}}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-vietnamese-500-normal.BmEvtly_.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-500-normal.BTqKIpxg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-ext-500-normal.DUe3BAxM.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-500-normal.3dgZTiw9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/space-grotesk-latin-500-normal.lFbtlQH6.woff2)format("woff2"),url(/_astro/space-grotesk-latin-500-normal.CNSSEhBt.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-vietnamese-600-normal.DUi7WF5p.woff2)format("woff2"),url(/_astro/space-grotesk-vietnamese-600-normal.D6zpsUhD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-ext-600-normal.DxxdqCpr.woff2)format("woff2"),url(/_astro/space-grotesk-latin-ext-600-normal.VcznFIpX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-600-normal.DjKNqYRj.woff2)format("woff2"),url(/_astro/space-grotesk-latin-600-normal.BflQw4A9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--paper:#0b0c0a;--panel:#121410;--ink:#edede6;--prose-ink:#dcdcd4;--muted:#a3a79b;--line:#2a2d26;--accent:#8d9184;--soft:#171a15;--lime:#171a15;--glyph:#8d9184;--edge:#3a3e35;--footer:#070806;--selection:#2b2e27;--display-font:"Space Grotesk",system-ui,sans-serif;--sans-font:"IBM Plex Sans Variable","IBM Plex Sans",system-ui,sans-serif;--mono-font:"IBM Plex Mono",ui-monospace,monospace}html[data-theme=light]{color-scheme:light;--paper:#f4f3ee;--panel:#ebebe4;--ink:#12130f;--prose-ink:#23241f;--muted:#595c52;--line:#d6d7cd;--accent:#63665b;--soft:#e6e6de;--lime:#e6e6de;--glyph:#7d8175;--edge:#c3c5b9;--footer:#12130f;--selection:#dcdfd4}html body{background:var(--paper);color:var(--ink);font-family:var(--sans-font);-webkit-font-smoothing:antialiased}html body :is(h1,h2,h3,h4){font-family:var(--display-font);letter-spacing:-.03em;color:var(--ink)}html body .mono,html body .eyebrow,html body time,html body code,html body pre{font-family:var(--mono-font)}html ::selection{background:var(--selection);color:var(--ink)}html :focus-visible{outline:2px solid var(--accent);outline-offset:3px}html a:hover{color:var(--accent)}html body .ascii-field.ascii-ink{background:var(--panel);color:var(--glyph);border-color:var(--line)}html .lab-header{box-sizing:border-box;border-bottom:1px solid var(--line);background:var(--paper);gap:40px;width:100%;max-width:none;height:64px;margin:0;padding:0 max(48px,50% - 592px)}html body .lab-header:before{content:none}html .lab-header,html .lab-header a,html .lab-brand{color:var(--ink)}html .lab-header nav{gap:28px;font-size:14px;font-weight:500}html .lab-header nav>a{color:var(--muted)}html .lab-header nav>a:hover,html .lab-header nav>a[aria-current]{color:var(--ink)}html .lab-header [aria-current]{box-shadow:inset 0 -2px 0 var(--accent);padding-bottom:4px;text-decoration:none}html .search-link{border:1px solid var(--line);color:var(--ink);border-radius:2px;padding:6px 12px;font-size:14px;font-weight:500}html .search-link:hover{border-color:var(--accent)}html .menu-toggle{color:var(--ink)}html .theme-toggle{border-color:var(--line);color:var(--muted)}html .theme-toggle:hover{border-color:var(--accent);color:var(--ink)}html .lab-header.open nav{border-bottom-color:var(--line);background:var(--paper)!important}@media (width<=1000px){html body .lab-header.lab-header{padding-left:28px;padding-right:28px}}@media (width<=650px){html body .lab-header.lab-header{height:60px;min-height:60px;padding-left:22px;padding-right:22px}}html .page-head{max-width:1280px;margin:0 auto;padding:64px 48px 40px}html .page-head .eyebrow{letter-spacing:.08em;color:var(--muted);font-size:11px}html .page-head h1{letter-spacing:-.045em;margin:20px 0;font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1}html .page-head>p{color:var(--muted);max-width:60ch;font-size:18px;line-height:1.6}html .body-section{max-width:1280px;margin:0 auto}@media (width<=1000px){html .page-head{padding-left:28px;padding-right:28px}}@media (width<=650px){html .page-head{padding:44px 22px 28px}}html :is(.catalog-row,.paper-row,.journal-row,.area-item,.node,.sm-round li,.sm-open){border-color:var(--line)}html :is(.catalog-row,.paper-row,.journal-row):hover :is(h2,h3){color:var(--accent);text-decoration:none}html :is(.catalog-row,.paper-row,.journal-row,.area-item) p,html .sm-q,html .sm-lede,html .sm-from{color:var(--muted)}html .research-introduction p,html .area-item p{font-family:var(--sans-font)}html :is(.papers-feature,.sm-measured a,.sm-graph){background:var(--panel);border-color:var(--line)}html .g-node circle{fill:var(--ink)}html .g-node:hover circle{fill:var(--accent);stroke:var(--accent)}html .g-label{fill:var(--ink)}html :is(.g-count,.g-round){fill:var(--muted)}html .g-edge{stroke:var(--edge)}html :is(input,select){background:var(--panel);color:var(--ink);border:1px solid var(--line)}html .article-head{text-align:left;max-width:1184px;margin:0 auto;padding:64px 48px 32px}html .article-head h1{letter-spacing:-.04em;max-width:22ch;font-size:clamp(36px,4.2vw,60px);font-weight:600;line-height:1.04}html .article-head>p{color:var(--muted);max-width:62ch;margin-left:0;font-size:19px;line-height:1.55}html .article-shell{grid-template-columns:200px minmax(0,720px);justify-content:start;gap:72px;max-width:1184px;margin:0 auto;padding:0 48px 96px;display:grid}html .article-shell>.article-toc{grid-area:1/1}html .article-shell>.prose,html .article-shell>article{grid-area:1/2}html .prose{font-family:var(--sans-font);color:var(--prose-ink);max-width:68ch;font-size:17px;line-height:1.75}html .prose :is(h2,h3){font-family:var(--display-font);color:var(--ink);letter-spacing:-.025em;scroll-margin-top:80px}html .prose h2{border-top:1px solid var(--line);margin-top:2.4em;padding-top:.9em;font-size:28px}html .prose strong{color:var(--ink)}html .prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}html .prose a:hover{color:var(--accent)}html .prose table{font-variant-numeric:tabular-nums;border-top:1px solid var(--ink);font-size:14.5px}html .prose :is(td,th){border-color:var(--line)}html .prose th{font:600 11px var(--mono-font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink)}html .prose pre{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:2px;font-size:13.5px}html .prose :not(pre)>code{background:var(--soft);color:var(--ink);font-size:.88em}html .prose blockquote{border-left-color:var(--accent);color:var(--muted)}html .article-toc{align-self:start;position:sticky;top:88px}html .article-toc .mono{letter-spacing:.08em;color:var(--accent);font-size:11px}html .article-toc a{color:var(--muted);font-size:14px}html .article-toc a:hover{color:var(--ink)}html .paper-status,html .status{border-color:var(--line)}@media (width<=850px){html .article-shell{flex-direction:column-reverse;gap:2rem;padding:0 28px 72px;display:flex}html .article-toc{position:static}}@media (width<=650px){html .article-head{padding:40px 22px 24px}html .article-shell{padding:0 22px 64px}html .prose{font-size:16.5px}}html .lab-footer{background:var(--footer);color:#edede6;border-top:1px solid var(--line)}html .lab-footer a{color:#edede6}html .lab-footer p,html .lab-footer .footer-bottom{color:#a3a79b}html .lab-footer .footer-bottom{border-top-color:#2a2d26}html .lab-footer .footer-lockup{font-size:inherit;letter-spacing:normal;color:#edede6;align-items:center;gap:22px;display:inline-flex}html .lab-footer .footer-lockup span{font-family:var(--display-font);letter-spacing:-.03em;color:#edede6;font-size:40px;font-weight:500;line-height:1}@media (width<=650px){html .lab-footer .footer-lockup svg{width:34px;height:34px}html .lab-footer .footer-lockup span{font-size:32px}}html .lab-header .lab-brand{align-items:center;gap:13px;display:inline-flex}html body .lab-header{gap:0;height:64px}html body .lab-header nav{gap:2px;margin-left:32px;margin-right:auto;font-size:14px;font-weight:500}html body .lab-header nav>a{height:34px;color:var(--muted);box-shadow:none;border-radius:999px;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}html body .lab-header nav>a:hover{background:var(--soft);color:var(--ink)}html body .lab-header nav>a[aria-current]{background:var(--soft);color:var(--ink);box-shadow:none;padding-bottom:0}html body .lab-header .search-link{border:1px solid var(--line);height:36px;color:var(--muted);background:0 0;border-radius:999px;order:10;align-items:center;gap:8px;margin-left:0;padding:0 7px 0 12px;font-size:13.5px;font-weight:500;display:inline-flex}html body .lab-header .search-link:hover{border-color:var(--ink);color:var(--ink)}html body .lab-header .search-kbd{font:500 11px var(--mono-font);border:1px solid var(--line);color:var(--muted);background:var(--soft);border-radius:6px;padding:4px 6px;line-height:1}html body .lab-header .theme-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);border-radius:999px;order:11;justify-content:center;margin-left:8px;padding:0}html body .lab-header .theme-toggle:hover{border-color:var(--ink);color:var(--ink)}html body .lab-header .theme-toggle-label{display:none}html body .lab-header .hdr-cta{background:var(--ink);height:36px;color:var(--paper);border-radius:999px;order:12;align-items:center;margin-left:8px;padding:0 16px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}html body .lab-header .hdr-cta:hover{background:var(--accent);color:var(--paper)}@media (prefers-reduced-motion:no-preference){html body .lab-header :is(nav a,.search-link,.theme-toggle,.hdr-cta){transition:background-color .15s,border-color .15s,color .15s}}@media (width<=900px){html body .lab-header nav{margin:0}html body .lab-header .menu-toggle{order:9;margin-left:auto;margin-right:4px}html body .lab-header .search-link{justify-content:center;width:44px;height:44px;padding:0}html body .lab-header :is(.search-label,.search-kbd){display:none}html body .lab-header .theme-toggle{width:44px;height:44px;margin-left:6px}html body .lab-header .hdr-cta{display:none}html body .lab-header.open nav>a{background:0 0;border-radius:0;height:auto;padding:13px 0}html body .lab-header.open nav>a[aria-current]{color:var(--accent)}}html body .pill{height:40px;min-height:40px;font:500 14px/1 var(--sans-font);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:0 5px 0 18px;text-decoration:none;display:inline-flex}html body .pill:not(:has(.pill-arrow)){padding:0 18px}html body .pill--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}html body .pill--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}html body .pill--ghost{border-color:var(--line);color:var(--ink);background:0 0}html body .pill--ghost:hover{border-color:var(--ink);color:var(--ink)}html body .pill-arrow{background:var(--paper);width:28px;height:28px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}html body .pill--ghost .pill-arrow{background:var(--soft)}html body .pill-arrow:after{content:"";background:currentColor;width:12px;height:12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5L10 6l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5L10 6l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}html body .pill-arrow--out:after{transform:rotate(-45deg)}@media (prefers-reduced-motion:no-preference){html body .pill{transition:background-color .15s,border-color .15s,color .15s}html body .pill-arrow:after{transition:transform .22s cubic-bezier(.22,1,.36,1)}html body .pill:hover .pill-arrow:after{transform:translate(2px)}html body .pill:hover .pill-arrow--out:after{transform:rotate(-45deg)translate(2px)}}html body .project-links{gap:10px;margin:32px 0}html body .project-links .pill{border-bottom-width:1px;padding-bottom:0;font-size:13.5px}html body .lab-header :is(.search-link,.theme-toggle){height:40px}html body .lab-header .theme-toggle{width:40px}html body .lab-header .hdr-cta.pill{height:40px;margin-left:8px;padding:0 5px 0 16px}html body .lab-header .menu-toggle{border:1px solid var(--line);border-radius:999px;justify-content:center;gap:0;width:44px;height:44px;padding:0}html body .lab-header .menu-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html body .lab-header .menu-icon{background:0 0;width:16px;height:8px;position:relative}html body .lab-header .menu-icon:before,html body .lab-header .menu-icon:after{content:"";background:currentColor;border-radius:2px;width:16px;height:1.5px;position:absolute;top:auto;left:0}html body .lab-header .menu-icon:before{top:0}html body .lab-header .menu-icon:after{top:6.5px}html body .lab-header.open .menu-icon:before{transform:translateY(3.25px)rotate(45deg)}html body .lab-header.open .menu-icon:after{transform:translateY(-3.25px)rotate(-45deg)}@media (prefers-reduced-motion:no-preference){html body .lab-header .menu-icon:before,html body .lab-header .menu-icon:after{transition:transform .25s cubic-bezier(.22,1,.36,1)}}html.menu-open{overflow:hidden}@media (width<=900px){html body .lab-header.open nav{border-top:1px solid var(--line);counter-reset:nav;flex-direction:column;gap:0;height:calc(100dvh - 60px);margin:0;padding:28px 22px 40px;display:flex;position:fixed;top:60px;left:0;right:0;overflow-y:auto;background:var(--paper)!important}html body .lab-header.open nav>a{counter-increment:nav;border-bottom:1px solid var(--line);height:auto;font:500 clamp(28px,8vw,40px)/1.05 var(--display-font);letter-spacing:-.03em;color:var(--ink);background:0 0;border-radius:0;align-items:baseline;gap:16px;padding:18px 0;display:flex}html body .lab-header.open nav>a:before{content:counter(nav,decimal-leading-zero);font:500 11px var(--mono-font);letter-spacing:.08em;color:var(--muted);transform:translateY(-.9em)}html body .lab-header.open nav>a[aria-current]{color:var(--accent)}html body .lab-header.open nav>a:first-child{border-top:0}}@media (width<=900px) and (prefers-reduced-motion:no-preference){html body .lab-header.open nav>a{animation:.42s cubic-bezier(.22,1,.36,1) both nav-in}html body .lab-header.open nav>a:nth-child(2){animation-delay:40ms}html body .lab-header.open nav>a:nth-child(3){animation-delay:80ms}html body .lab-header.open nav>a:nth-child(4){animation-delay:.12s}html body .lab-header.open nav>a:nth-child(5){animation-delay:.16s}@keyframes nav-in{0%{opacity:0;transform:translateY(10px)}}}@media (width<=650px){html body .lab-header.open nav{height:calc(100dvh - 60px);top:60px}}html body .lab-header .theme-toggle{border:1px solid var(--line);background:var(--soft);width:auto;height:40px;color:var(--muted);border-radius:999px;justify-content:flex-start;padding:3px}html body .lab-header .theme-toggle:hover{border-color:var(--muted)}html body .tt-track{grid-template-columns:32px 32px;align-items:center;height:100%;display:grid;position:relative}html body .tt-thumb{background:var(--paper);border:1px solid var(--line);box-sizing:border-box;border-radius:999px;width:32px;height:100%;position:absolute;top:0;left:0;transform:translate(32px)}html[data-theme=light] body .tt-thumb{transform:none}html body .tt-icon{color:var(--muted);justify-self:center;position:relative}html:not([data-theme=light]) body .tt-moon,html[data-theme=light] body .tt-sun{color:var(--ink)}html:not([data-theme=light]) body .tt-sun{transform:rotate(-90deg)scale(.86)}@media (prefers-reduced-motion:no-preference){html body .tt-thumb{transition:transform .28s cubic-bezier(.22,1,.36,1)}html body .tt-icon{transition:color .2s,transform .45s cubic-bezier(.22,1,.36,1)}}@media (width<=900px){html body .lab-header .theme-toggle{width:auto;height:44px;margin-left:6px}html body .tt-track{grid-template-columns:36px 36px}html body .tt-thumb{width:36px;transform:translate(36px)}html[data-theme=light] body .tt-thumb{transform:none}}html body .ascii-hero{box-sizing:border-box;margin:0 auto;padding:0 48px 48px}html body .ascii-hero--list{max-width:1280px}html body .ascii-hero--article{max-width:1184px}html body .ascii-hero--inset{max-width:none;padding:8px 0 48px}@media (width<=1000px){html body .ascii-hero:not(.ascii-hero--inset){padding-left:28px;padding-right:28px}}@media (width<=650px){html body .ascii-hero:not(.ascii-hero--inset){padding:0 22px 36px}html body .ascii-hero--inset{padding-bottom:36px}}html body .nav-search{display:none}@media (width<=900px){html body .lab-header .search-link{display:none}html body .lab-header .theme-toggle{order:9;margin-left:auto}html body .lab-header .menu-toggle{order:10;margin-left:8px;margin-right:0}html body .lab-header.open .nav-search{margin:0 0 12px;display:block;position:relative}html body .nav-search:before{content:"";background:var(--muted);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:18px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3Cpath d='M15.5 15.5L21 21' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3Cpath d='M15.5 15.5L21 21' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}html body .nav-search input{box-sizing:border-box;border:1px solid var(--line);background:var(--soft);width:100%;height:52px;color:var(--ink);font:400 16px var(--sans-font);-webkit-appearance:none;appearance:none;border-radius:999px;outline:none;padding:0 18px 0 46px}html body .nav-search input::placeholder{color:var(--muted);opacity:1}html body .nav-search input:focus{border-color:var(--ink)}html body .nav-search input::-webkit-search-cancel-button{-webkit-appearance:none}}html body .lab-header nav .nav-desc,html body .nav-foot{display:none}html body .lab-header :is(.menu-toggle,.theme-toggle,.search-link){-webkit-tap-highlight-color:transparent}html body .lab-header .menu-toggle{color:var(--ink);background:0 0}html body .lab-header.open .menu-toggle{background:var(--ink);border-color:var(--ink);color:var(--paper)}@media (width<=900px){html body .lab-header.open nav{padding:20px 22px calc(24px + env(safe-area-inset-bottom))}html body .lab-header.open nav>a{font-size:inherit;grid-template-columns:28px minmax(0,1fr) 20px;grid-template-areas:"num label arrow""num desc arrow";align-items:center;gap:4px 12px;padding:16px 0;display:grid}html body .lab-header.open nav>a:before{grid-area:num;align-self:start;padding-top:9px;transform:none}html body .lab-header.open nav>a:after{content:"";background:var(--muted);grid-area:arrow;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5L10 6l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5L10 6l-3.5 3.5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}html body .lab-header.open nav .nav-label{font:500 clamp(26px,7.4vw,34px)/1.05 var(--display-font);letter-spacing:-.03em;color:var(--ink);grid-area:label}html body .lab-header.open nav .nav-desc{font:400 13.5px/1.4 var(--sans-font);letter-spacing:0;color:var(--muted);grid-area:desc;display:block}html body .lab-header.open nav>a[aria-current] .nav-label{color:var(--accent)}html body .lab-header.open nav>a[aria-current] .nav-label:after{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:10px;display:inline-block}html body .lab-header.open nav>a:hover:after{background:var(--ink)}html body .lab-header.open .nav-foot{gap:16px;margin-top:auto;padding-top:28px;display:grid}html body .nav-foot-links{flex-wrap:wrap;gap:6px;display:flex}html body .nav-foot-links .pill{gap:8px;padding-left:14px}html body .nav-foot-meta{font:500 11px var(--mono-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:10px;margin:0;display:flex}html body .nav-foot-meta time{color:var(--ink)}}@media (width<=900px) and (prefers-reduced-motion:no-preference){html body .lab-header.open .nav-foot{animation:.42s cubic-bezier(.22,1,.36,1) .22s both nav-in}html body .lab-header.open nav>a:after{transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .15s}html body .lab-header.open nav>a:hover:after{transform:translate(3px)}}@media (width<=900px){html body .js-nav .lab-header.open .nav-foot a.pill,html.js-nav body .lab-header.open .nav-foot a.pill{border:1px solid var(--line);height:40px;font:500 14px/1 var(--sans-font);color:var(--ink);background:0 0;border-radius:999px;padding:0 5px 0 16px;animation:none}}html .astro-code,html .astro-code span{color:var(--shiki-dark)}html[data-theme=light] .astro-code,html[data-theme=light] .astro-code span{color:var(--shiki-light)}html body .skip{color:var(--paper)}html .lab-footer .footer-lockup{min-height:44px}html body .archive-sidebar a,html body .catalog-head a{font-size:12px}html body .catalog-head{font-size:11px}html body .prose th code,html body .archive-reading th code{font-size:inherit}@media (width<=900px){html body .archive-sidebar{gap:0 18px}html body .archive-sidebar a,html body .catalog-head a{align-items:center;min-height:44px;display:inline-flex}html body .archive-reading summary,html body .prose summary{padding-block:8px}}@media (width>=901px){html body .lab-header nav>a .nav-label{white-space:nowrap}}@media (width>=901px) and (width<=1180px){html body .lab-header .hdr-cta,html body .lab-header .search-link .search-label,html body .lab-header .search-link .search-kbd{display:none}html body .lab-header .search-link{justify-content:center;width:44px;padding:0}html body .lab-header nav{gap:2px}html body .lab-header nav>a{padding-left:10px;padding-right:10px}}html body .catalog-group{margin-top:72px}html body .catalog-group-head{border-bottom:1px solid var(--line);padding:0 0 22px}html body .catalog-group-head .mono{color:var(--accent);letter-spacing:.08em;margin:0 0 14px;font-size:11px}html body .catalog-group-head h2{font-family:var(--display-font);letter-spacing:-.03em;margin:0 0 10px;font-size:34px;font-weight:500;line-height:1.1}html body .catalog-group-head p:last-child{max-width:52ch;color:var(--muted);margin:0;font-size:15px;line-height:1.6}html body .catalog-row h3{letter-spacing:-.04em;margin:0 0 10px;font-size:24px;font-weight:600}html body .catalog-group:not(:has([data-filter-item]:not([hidden]))){display:none}@media (width<=700px){html body .catalog-group{margin-top:52px}html body .catalog-group-head h2{font-size:28px}}@media (width>=901px){html body .lab-header nav>a.nav-menu-only{display:none}}html body .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html body .product-item h2{font-family:var(--display-font);letter-spacing:-.03em;margin:0 0 8px;font-size:22px;font-weight:500;line-height:1.2}@media (width<=900px){html.js-nav body .lab-header.open nav{padding:18px 22px calc(18px + env(safe-area-inset-bottom));flex-wrap:nowrap}html.js-nav body .lab-header.open .nav-search{margin:0 0 8px}html.js-nav body .lab-header.open .nav-search input{height:48px}html.js-nav body .lab-header.open nav>a{padding:clamp(7px,1.3dvh,18px) 0}html.js-nav body .lab-header.open nav .nav-label{font-size:clamp(22px,3.4dvh + 2px,34px)}html.js-nav body .lab-header.open nav .nav-desc{font-size:13px}html.js-nav body .lab-header.open .nav-foot{gap:12px;padding-top:16px}}@media (width<=900px) and (height<=760px){html.js-nav body .lab-header.open nav .nav-desc{display:none}html.js-nav body .lab-header.open nav>a{row-gap:0}html.js-nav body .lab-header.open nav>a:before{padding-top:6px}}html body .filter-controls{flex-wrap:wrap;align-items:center;gap:10px 12px;margin:22px 0 6px;display:flex}html body .filter-controls label{font:500 11px var(--mono-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}html body .filter-controls input,html body .filter-controls select{box-sizing:border-box;border:1px solid var(--line);background-color:var(--soft);height:44px;color:var(--ink);font:400 15px var(--sans-font);-webkit-appearance:none;appearance:none;border-radius:999px;outline:none;margin:0;padding:0 16px;line-height:42px}html body .filter-controls input{flex:200px;min-width:0;max-width:340px}html body .filter-controls input::placeholder{color:var(--muted);opacity:1}html body .filter-controls input::-webkit-search-cancel-button,html body .filter-controls input::-webkit-search-decoration{-webkit-appearance:none}html body .filter-controls select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%23a3a79b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:42px}html[data-theme=light] body .filter-controls select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%23595c52' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html body .filter-controls input:hover,html body .filter-controls select:hover{border-color:var(--edge)}html body .filter-controls input:focus-visible,html body .filter-controls select:focus-visible{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:2px}html body .filter-controls [data-filter-status]{font:400 13px var(--sans-font);color:var(--muted);margin:0}html body [data-filter-empty]{color:var(--muted);margin:28px 0;font-size:15px}@media (width<=650px){html body .filter-controls{gap:8px 10px}html body .filter-controls label{flex-basis:100%;margin-top:6px}html body .filter-controls label:first-child{margin-top:0}html body .filter-controls input,html body .filter-controls select{flex:100%;width:100%;max-width:none}}html body .prose .diagram{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin:28px 0;padding:18px;overflow-x:auto}html body .prose .diagram img{max-width:none;height:auto;margin:0 auto;display:block}html body .prose .diagram img[src$=-light\.svg],html[data-theme=light] body .prose .diagram img[src$=-dark\.svg]{display:none}html[data-theme=light] body .prose .diagram img[src$=-light\.svg]{display:block}html body .prose .diagram figcaption{font:400 13px var(--mono-font);color:var(--muted);margin-top:12px}@media (width<=700px){html body .prose .diagram{padding:12px}}@media (width>=1000px){html body .article-shell .prose .diagram{width:min(100%,1088px);max-width:none}}html body .prose .diagram{opacity:.72;transform-origin:0;transition:opacity .55s,transform .6s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.22,1,.36,1);transform:scale(.965)}html body .prose .diagram.is-in{opacity:1;transform:none}html body .prose .diagram img{width:auto;max-width:100%;height:auto}@media (width>=1000px){html body .article-shell .prose .diagram.is-in{width:calc(100% + clamp(0px,100vw - 1240px,320px))}}html body .prose .diagram figcaption a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;margin-left:8px}@media (prefers-reduced-motion:reduce){html body .prose .diagram{opacity:1;transition:none;transform:none}}@media (width<=700px){html body .footer-links{flex-wrap:wrap;gap:28px 44px}html body .footer-links a{overflow-wrap:anywhere}}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}.menu-toggle{display:none}@media (width<=900px){.lab-header{flex-wrap:nowrap;position:relative}.js-nav .menu-toggle{color:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-left:auto;padding:8px 0;font:13px IBM Plex Mono,monospace;display:inline-flex}.js-nav .search-link{order:3;margin-left:0}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;width:18px;height:1.5px;transition:transform .2s,opacity .2s;display:block}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.lab-header.open .menu-icon{background:0 0}.lab-header.open .menu-icon:before{transform:translateY(6px)rotate(45deg)}.lab-header.open .menu-icon:after{transform:translateY(-6px)rotate(-45deg)}.js-nav .lab-header nav{display:none}.js-nav .lab-header.open nav{z-index:20;padding-top:8px;padding-bottom:16px;padding-left:inherit;padding-right:inherit;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;margin:0;font-size:17px;display:flex;position:absolute;top:100%;left:0;right:0}.js-nav .lab-header.open nav a{border-top:1px solid var(--line);padding:13px 0}.js-nav .lab-header.open nav a:first-child{border-top:0}}@media (width<=650px){.lab-header nav{flex-wrap:wrap;justify-content:flex-start;gap:12px 18px}.js-nav .lab-header{flex-wrap:nowrap;min-height:72px;padding:12px 0}}@media (width<=400px){.js-nav .menu-toggle .menu-label{display:none}.js-nav .lab-header{gap:14px}}@media (prefers-reduced-motion:reduce){.menu-icon,.menu-icon:before,.menu-icon:after{transition:none}}.theme-toggle{border:1px solid var(--line);height:34px;color:inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;margin-left:22px;padding:0 12px;font:11px IBM Plex Mono,monospace;display:none}.js-nav .theme-toggle,.no-js .theme-toggle,html:not(.js-nav) .theme-toggle{display:inline-flex}.theme-toggle:hover{border-color:var(--ink);color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-icon .icon-sun{display:none}[data-theme=dark] .theme-icon .icon-sun{display:block}[data-theme=dark] .theme-icon .icon-moon{display:none}@media (width<=900px){.theme-toggle{order:2;height:44px;min-height:44px;margin-left:0}}@media (width<=650px){.theme-toggle-label{display:none}.theme-toggle{justify-content:center;width:44px;padding:0}}
