:root{--c-fg:var(--t-ecece8,#ecece8);--c-muted:rgba(var(--t-fg-rgb,236,236,232), .64);--c-line:var(--t-2a2c31,#2a2c31);--c-panel:var(--t-17181c,#17181c);--c-bg:var(--t-141518,#141518);--c-accent:var(--t-8366ea,#8366ea);--c-mono:"IBM Plex Mono", ui-monospace, monospace}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.c-list{padding-top:clamp(112px,12vw,150px)!important}.c-list-h{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;gap:24px 40px;margin-bottom:clamp(28px,3vw,40px);display:grid}.c-h1{letter-spacing:-.035em;color:var(--c-fg);margin:0;font:500 clamp(44px,5.2vw,72px)/1 Inter,sans-serif}.c-tools{display:contents}.c-search{color:var(--c-muted);align-items:center;display:flex;position:relative}.c-search svg{position:absolute;left:14px}.c-search input{box-sizing:border-box;border:1px solid var(--c-line);background:var(--c-panel);width:100%;height:46px;color:var(--c-fg);border-radius:4px;outline:none;padding:0 16px 0 40px;font:400 15px Inter,sans-serif}.c-search input:focus{border-color:var(--c-accent)}.c-chips{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.c-chip{border:1px solid var(--c-line);height:32px;color:var(--c-muted);font:500 11.5px var(--c-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:0 12px}.c-chip:hover{color:var(--c-fg)}.c-chip.on{background:var(--c-fg);border-color:var(--c-fg);color:var(--c-bg)}.c-empty,.c-none{border:1px dashed var(--c-line);color:var(--c-muted);font:12px var(--c-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;grid-column:1/-1;margin:0;padding:22px}.c-sec-k{font:500 11.5px var(--c-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);margin:clamp(32px,4vw,48px) 0 16px}.c-sec-k:first-of-type{margin-top:0}.c-cards{gap:20px;display:grid}.c-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.c-card{background:var(--c-panel);border:1px solid var(--c-line);min-width:0;color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.c-card:hover{border-color:rgba(var(--t-violet-rgb,131,102,234), .7)}.c-card[hidden]{display:none}.c-card img{aspect-ratio:1.9;object-fit:cover;background:var(--c-bg);border-bottom:1px solid var(--c-line);width:100%;display:block}.c-card-b,.c-card-plain{flex-direction:column;flex:1;gap:10px;padding:20px 22px 22px;display:flex}.c-card h3{letter-spacing:-.01em;color:var(--c-fg);margin:0;font:500 19px/1.3 Inter,sans-serif}.c-excerpt{color:var(--c-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font:400 14.5px/1.6 Inter,sans-serif;display:-webkit-box;overflow:hidden}.c-card .c-authors{margin-top:auto;padding-top:8px}.c-meta{font:12px var(--c-mono);letter-spacing:.08em;color:var(--c-muted);margin:auto 0 0}.c-kicker{font:500 11.5px var(--c-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin:0}.c-kicker span{color:var(--c-accent)}.c-authors{align-items:center;gap:10px;min-width:0;display:flex}.c-avs{display:flex}.c-av{background:rgba(var(--t-fg-rgb,236,236,232), .1);color:var(--c-fg);font:500 10px var(--c-mono);object-fit:cover;box-shadow:0 0 0 2px var(--c-panel);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.c-av+.c-av{margin-left:-8px}.c-names{color:var(--c-fg);font:500 13.5px/1.35 Inter,sans-serif}.c-names em{color:var(--c-muted);font-style:normal;font-weight:400;display:block}.c-progress{z-index:59;pointer-events:none;height:2px;position:fixed;top:60px;left:0;right:0}.c-progress span{background:var(--c-accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.c-article{padding-top:clamp(104px,11vw,140px)!important}.c-head{max-width:880px;margin:0 auto}.c-back{font:500 11.5px var(--c-mono);letter-spacing:.16em;color:var(--c-accent);margin-bottom:22px;text-decoration:none;display:inline-block}.c-title{letter-spacing:-.03em;color:var(--c-fg);text-wrap:balance;margin:14px 0 18px;font:500 clamp(36px,4.4vw,58px)/1.06 Inter,sans-serif}.c-lead{color:var(--c-muted);margin:0;font:400 clamp(17px,1.5vw,20px)/1.6 Inter,sans-serif}.c-lead a{color:var(--c-fg)}.c-byline{border-top:1px solid var(--c-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.c-actions{flex-wrap:wrap;gap:8px;display:flex}.c-act{border:1px solid var(--c-line);height:36px;color:var(--c-fg);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:0 14px;font:500 13.5px Inter,sans-serif;text-decoration:none;display:inline-flex}.c-act:hover{border-color:var(--c-accent)}.c-cover{max-width:1040px;margin:clamp(32px,4vw,48px) auto 0}.c-cover img{border:1px solid var(--c-line);width:100%;height:auto;display:block}.c-cover figcaption{font:12.5px var(--c-mono);color:var(--c-muted);text-align:center;margin-top:10px}.c-grid{grid-template-columns:minmax(0,720px) 260px;justify-content:center;gap:56px;margin-top:clamp(36px,4vw,56px);display:grid}.c-rail{position:relative}.c-toc,.c-cta{position:sticky;top:96px}.c-toc{margin-bottom:24px}.c-toc p{font:500 11px var(--c-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin:0 0 10px}.c-toc ol{border-left:1px solid var(--c-line);max-height:50vh;margin:0;padding:0;list-style:none;overflow:auto}.c-toc a{color:var(--c-muted);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;font:400 13.5px/1.4 Inter,sans-serif;text-decoration:none;display:block}.c-toc a:hover,.c-toc a.on{color:var(--c-fg);border-left-color:var(--c-accent)}.c-cta{background:var(--c-panel);border:1px solid var(--c-line);padding:18px;top:auto}.c-cta-t{color:var(--c-fg);margin:0 0 6px;font:500 15px Inter,sans-serif}.c-cta p{color:var(--c-muted);margin:0 0 14px;font:400 13.5px/1.55 Inter,sans-serif}.c-cta .x-btn{box-sizing:border-box;justify-content:center;width:100%}.c-prose{min-width:0;color:rgba(var(--t-fg-rgb,236,236,232), .82);font:400 17px/1.75 Inter,sans-serif}.c-prose-solo{max-width:720px;margin:40px auto 0}.c-prose>:first-child{margin-top:0}.c-prose h2{letter-spacing:-.02em;color:var(--c-fg);margin:2.2em 0 .6em;scroll-margin-top:90px;font:500 clamp(24px,2.4vw,30px)/1.25 Inter,sans-serif}.c-prose h3{color:var(--c-fg);margin:1.8em 0 .5em;scroll-margin-top:90px;font:500 20px/1.35 Inter,sans-serif}.c-prose h4{color:var(--c-fg);margin:1.5em 0 .4em;font:600 17px Inter,sans-serif}.c-prose p,.c-prose ul,.c-prose ol{margin:0 0 1.1em}.c-prose li{margin:.35em 0}.c-prose li::marker{color:var(--c-accent)}.c-prose strong{color:var(--c-fg);font-weight:600}.c-prose a{color:var(--c-fg);text-decoration:underline;text-decoration-color:var(--c-accent);text-underline-offset:3px}.c-prose img{border:1px solid var(--c-line);cursor:zoom-in;max-width:100%;height:auto;margin:1.6em auto;display:block}.c-prose blockquote{border-left:2px solid var(--c-accent);color:var(--c-fg);margin:1.6em 0;padding:4px 0 4px 20px}.c-prose hr{border:0;border-top:1px solid var(--c-line);margin:2.4em 0}.c-prose :not(pre)>code{background:rgba(var(--t-fg-rgb,236,236,232), .08);font:.88em var(--c-mono);color:var(--c-fg);border-radius:3px;padding:.12em .4em}.c-code{border:1px solid var(--c-line);background:#0d1117;border-radius:4px;margin:1.6em 0;overflow:hidden}.c-code-h{font:500 11px var(--c-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 8px 6px 14px;display:flex}.c-code-h button{color:#fffc;height:26px;font:500 11px var(--c-mono);cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:3px;padding:0 10px}.c-prose pre{max-height:520px;font:13.5px/1.6 var(--c-mono);margin:0;padding:16px 18px;overflow:auto}.c-table{border:1px solid var(--c-line);margin:1.6em 0;overflow-x:auto}.c-prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.5}.c-prose th,.c-prose td{border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top;padding:10px 14px}.c-prose th{background:var(--c-panel);color:var(--c-fg);font-weight:500}.c-prose tr:last-child td{border-bottom:0}.c-zoom{background:0 0;border:0;max-width:94vw;max-height:94vh;padding:0}.c-zoom::backdrop{background:#000c}.c-zoom img{max-width:94vw;max-height:94vh;display:block}.c-faq,.c-related{max-width:1036px;margin:clamp(48px,6vw,80px) auto 0}.c-faq h2,.c-related h2{color:var(--c-fg);margin:0 0 20px;font:500 clamp(24px,2.4vw,30px)/1.25 Inter,sans-serif}.c-404{min-height:40vh}.w-stack,.w-tabs{border:1px solid var(--c-line);background:var(--c-panel);--w-edge:var(--c-fg);--w-wash:rgba(var(--t-fg-rgb,236,236,232), .08);border-radius:4px;margin:2em 0;font-family:Inter,sans-serif;overflow:hidden}.w-stack[data-tone=violet]{--w-edge:var(--t-8366ea,#8366ea);--w-wash:rgba(var(--t-violet-rgb,131,102,234), .18)}.w-stack[data-tone=mint]{--w-edge:var(--t-4ade9c,#4ade9c);--w-wash:rgba(var(--t-mint-rgb,74,222,156), .14)}.w-stack[data-tone=lilac]{--w-edge:var(--t-b7a4f6,#b7a4f6);--w-wash:rgba(var(--t-lilac-rgb,183,164,246), .14)}.w-stack-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 0;display:flex}.w-t{color:var(--c-fg);margin:0;font:500 18px/1.3 Inter,sans-serif}.w-s{color:var(--c-muted);margin:4px 0 0;font:400 14px/1.5 Inter,sans-serif}.w-trace{border:1px solid var(--c-line);height:34px;color:var(--t-b7a4f6,#b7a4f6);font:500 11px var(--c-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:0 12px}.w-cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:12px;padding:18px 20px 0;display:grid}.w-col{cursor:pointer;opacity:.42;flex-direction:column;align-items:stretch;transition:opacity .25s;display:flex}.w-col.on{opacity:1}.w-col[data-tone=violet]{--e:var(--t-8366ea,#8366ea);--w:rgba(var(--t-violet-rgb,131,102,234), .18);--ht:#fff}.w-col[data-tone=mint]{--e:var(--t-4ade9c,#4ade9c);--w:rgba(var(--t-mint-rgb,74,222,156), .14);--ht:#0e2a1c}.w-col[data-tone=lilac]{--e:var(--t-b7a4f6,#b7a4f6);--w:rgba(var(--t-lilac-rgb,183,164,246), .14);--ht:#1e1640}.w-col[data-tone=neutral]{--e:var(--c-fg);--w:rgba(var(--t-fg-rgb,236,236,232), .08);--ht:var(--c-bg)}.w-head{border:1px solid var(--e);height:48px;color:var(--c-fg);cursor:pointer;background:0 0;border-radius:4px;font:500 15px Inter,sans-serif;transition:background .25s,color .25s}.w-col.on .w-head{background:var(--e);color:var(--ht)}.w-link{background:rgba(var(--t-fg-rgb,236,236,232), .2);align-self:center;width:1px;height:14px;transition:background .2s}.w-link-base{height:18px}.w-link.lit{background:var(--e)}.w-layer{border:1px solid rgba(var(--t-fg-rgb,236,236,232), .14);background:var(--c-bg);color:var(--c-fg);font:400 14px/1.35 var(--c-mono);text-align:center;border-radius:4px;padding:11px 10px;transition:all .22s}.w-layer.hot{border-color:var(--e);background:var(--w);box-shadow:0 0 0 4px var(--w)}.w-base{border:1px solid rgba(var(--t-fg-rgb,236,236,232), .2);background:rgba(var(--t-fg-rgb,236,236,232), .04);color:var(--c-fg);text-align:center;border-radius:4px;margin:0 20px;padding:14px 12px;font-size:14px;transition:all .25s}.w-base.lit{border-color:var(--w-edge);background:var(--w-wash)}.w-note{border-left:3px solid var(--w-edge);background:var(--c-bg);border-radius:4px;margin:18px 20px 20px;padding:16px 18px}.w-note-k{font:500 11px var(--c-mono);letter-spacing:.18em;color:var(--w-edge);margin:0 0 6px!important}.w-note-t{color:rgba(var(--t-fg-rgb,236,236,232), .8);font-size:15.5px;line-height:1.6;margin:0!important}.w-k{font:500 11px var(--c-mono);letter-spacing:.18em;color:var(--c-accent);border-bottom:1px solid var(--c-line);padding:14px 20px;margin:0!important}.w-tabs [role=tablist]{flex-wrap:wrap;gap:8px;padding:16px 20px 0;display:flex}.w-tabs [role=tab]{border:1px solid var(--c-line);height:36px;color:var(--c-muted);cursor:pointer;background:0 0;border-radius:4px;padding:0 14px;font:500 14px Inter,sans-serif}.w-tabs [role=tab][aria-selected=true]{background:var(--c-fg);border-color:var(--c-fg);color:var(--c-bg)}.w-tabs [role=tabpanel]{flex-direction:column;justify-content:center;gap:10px;padding:18px 20px 22px;display:flex}.w-picker .w-tabs-g{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}.w-picker [role=tablist]{border-right:1px solid var(--c-line);flex-flow:column;gap:0;padding:0}.w-picker [role=tab]{border:0;border-bottom:1px solid var(--c-line);text-align:left;border-left:2px solid #0000;border-radius:0;height:auto;padding:14px 18px;font-size:15px;font-weight:400;line-height:1.45}.w-picker [role=tab][aria-selected=true]{background:rgba(var(--t-violet-rgb,131,102,234), .12);border-left-color:var(--c-accent);color:var(--c-fg)}.w-picker [role=tabpanel]{padding:22px 24px}.w-ans{font:500 11px var(--c-mono);letter-spacing:.18em;color:var(--c-accent);margin:0!important}.w-body{color:rgba(var(--t-fg-rgb,236,236,232), .85);white-space:pre-line;font-size:17px;line-height:1.6;margin:0!important}@media (width<=1100px){.c-grid{grid-template-columns:minmax(0,720px)}.c-rail{display:none}}@media (width<=900px){.c-cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}.c-list-h{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.c-cards-3{grid-template-columns:minmax(0,1fr)}.c-prose{font-size:16px}.w-cols,.w-picker .w-tabs-g{grid-template-columns:minmax(0,1fr)}.w-picker [role=tablist]{border-right:0}}:root body [data-page=home_v3] :is(.c-card,.c-cover,.c-prose,.c-authors,.c-zoom) img,:root[data-theme] body [data-page=home_v3] :is(.c-card,.c-cover,.c-prose,.c-authors,.c-zoom) img,.c-zoom img{filter:none!important}[data-page=home_v3] :is(.c-head,.c-prose,.c-card,.c-list-h,.c-toc,.c-cta,.c-faq,.c-related,.c-404,.c-sec-k,.c-none,.w-stack,.w-tabs){text-align:left}[data-page=home_v3] .w-layer,[data-page=home_v3] .w-base,[data-page=home_v3] .w-head{text-align:center}
