details{padding:0;border-block-end:none}details[open]{border-block-end:var(--border)}summary{cursor:pointer;font-size:var(--font-500);font-weight:var(--fontWeight-medium);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;list-style:none;border-bottom:var(--border)}summary:after{content:"";display:inline-flex;align-items:center;justify-content:center;inline-size:var(--size-4);block-size:var(--size-4);flex-shrink:0;background-color:currentColor;mask-image:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3.5V12.5M3.5 8H12.5" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3.5V12.5M3.5 8H12.5" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;mask-size:contain;-webkit-mask-size:contain;transition:mask-image .2s ease,-webkit-mask-image .2s ease}summary::-webkit-details-marker,summary::marker{display:none}details[open] summary{color:var(--foreground-subtle)}details[open] summary:after{mask-image:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8H12.5" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8H12.5" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>')}.markdown *{grid-column:1/4}@media only screen and (min-width:768px){.markdown *{grid-column:1/3}}@media only screen and (min-width:1201px){.markdown *{grid-column:1/4}}.markdown .md-full-bg{grid-column:1/4;width:100%;min-height:50vh;background-size:cover;background-position:center 30%;background-repeat:no-repeat;border-radius:0;margin-block:var(--spacing-md)}@media only screen and (min-width:1201px){.markdown .md-full-bg{min-height:60vh;margin-block:var(--spacing-lg)}}.markdown hr{margin-block-end:0;margin-block-start:var(--spacing-md)}@media only screen and (min-width:768px){.markdown hr{margin-block-start:var(--size-11)}}@media only screen and (min-width:1201px){.markdown p:has(>img){grid-column:1/4}}.markdown p:has(>img)>em{display:block;font-style:normal;margin-block-start:var(--spacing-xxs);opacity:.75}.markdown img:not(.article-byline__avatar){cursor:zoom-in;margin-block:var(--spacing-xs) var(--spacing-xxxs);object-fit:contain!important;object-position:top center;height:auto;width:100%}@media only screen and (min-width:1201px){.markdown img:not(.article-byline__avatar){margin-block:var(--spacing-md) 0}}.markdown .md-video{min-width:0;margin:var(--spacing-xs) 0 var(--spacing-xxxs)}@media only screen and (min-width:1201px){.markdown .md-video{grid-column:1/4;margin-block:var(--spacing-md) 0}}.markdown .md-video video{display:block;width:100%;max-width:100%;height:auto;border-radius:var(--spacing-xxs);filter:var(--filter)}.markdown .article-byline__avatar{width:24px!important;height:24px!important;object-fit:cover!important;object-position:center top;border-radius:50%;margin:0!important;cursor:default!important}.markdown img:first-of-type,.markdown p:has(>img):first-of-type img{object-fit:contain!important;object-position:top center;aspect-ratio:auto}.markdown header{padding-block-end:var(--spacing-sm)}@media only screen and (min-width:1201px){.markdown header{padding-block-end:var(--spacing-lg);grid-column:1/4;margin-block:var(--spacing-xl) var(--spacing-md)}}.markdown header h4{font-size:var(--font-sm);padding:0;margin-block-start:2rem;inline-size:100%}@media only screen and (min-width:768px){.markdown header h4{max-width:75vw;margin-block-start:3.2rem}}.markdown h1{margin-block-start:0;margin-block-end:1.6rem}@media only screen and (min-width:768px){.markdown h1{margin-block-end:2rem}}@media only screen and (min-width:1201px){.markdown h1{margin-block-end:2.4rem}}.markdown h2{margin-block-start:2.4rem;margin-block-end:1.2rem}@media only screen and (min-width:768px){.markdown h2{margin-block-start:3.2rem;margin-block-end:1.6rem}}@media only screen and (min-width:1201px){.markdown h2{margin-block-start:4rem;margin-block-end:2rem}}.markdown h3{margin-block-start:2rem;margin-block-end:1rem}@media only screen and (min-width:768px){.markdown h3{margin-block-start:2.4rem;margin-block-end:1.2rem}}@media only screen and (min-width:1201px){.markdown h3{margin-block-start:3.2rem;margin-block-end:1.6rem}}.markdown h4,.markdown h5,.markdown h6{margin-block-start:1.6rem;margin-block-end:.8rem}@media only screen and (min-width:768px){.markdown h4,.markdown h5,.markdown h6{margin-block-start:2rem;margin-block-end:1rem}}@media only screen and (min-width:1201px){.markdown h4,.markdown h5,.markdown h6{margin-block-start:2.4rem;margin-block-end:1.2rem}}.markdown p{margin-block-start:0;margin-block-end:1.2rem}@media only screen and (min-width:768px){.markdown p{margin-block-end:1.6rem}}@media only screen and (min-width:1201px){.markdown p{margin-block-end:1.8rem}}.markdown a{font-weight:var(--fontWeight-medium);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.2em;transition:color .2s ease,text-decoration-thickness .2s ease}.markdown a,.markdown a:focus,.markdown a:hover{color:var(--color-action);text-decoration-thickness:.15rem}.markdown a:visited{color:var(--color-action)}.markdown summary{margin-block-start:1.2rem;margin-block-end:.8rem}@media only screen and (min-width:768px){.markdown summary{margin-block-start:1.6rem;margin-block-end:1rem}}.markdown blockquote{margin-block-start:1.6rem;margin-block-end:1.6rem}.markdown blockquote p{margin-block-end:1.2rem}.markdown blockquote p:last-child{margin-block-end:0}.markdown blockquote.md-amendment{background:transparent;border-inline-start-style:dashed;scroll-margin-block-start:var(--spacing-xl)}.markdown ol,.markdown ul{margin-block-start:1.2rem;margin-block-end:1.2rem}@media only screen and (min-width:768px){.markdown ol,.markdown ul{margin-block-start:1.6rem;margin-block-end:1.6rem}}.markdown ol>li{list-style:inherit;list-style-position:outside}.markdown ol>li,.markdown ul>li{margin-inline-start:4rem;margin-block-end:.6rem}.markdown ul>li{list-style:disc}.markdown .codeblock{background-color:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--spacing-xxxs);overflow:hidden;margin:0 0 var(--spacing-sm)}.markdown .codeblock-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:var(--spacing-xxxs) var(--spacing-xs);border-bottom:1px solid var(--code-border);color:var(--code-fg)}.markdown .codeblock-lang{font-size:var(--font-3xs);letter-spacing:.08em;text-transform:uppercase;opacity:.85}.markdown .codeblock pre{background:transparent;border:0;margin:0;padding:var(--spacing-sm);overflow-x:auto;color:var(--code-fg);line-height:1.6}.markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--font-xs)}.markdown pre code{display:block;padding:0;background:transparent;color:inherit}.markdown pre code.hljs{color:var(--code-fg)}.markdown .hljs-comment,.markdown .hljs-quote{color:var(--code-comment)}.markdown .hljs-keyword,.markdown .hljs-literal,.markdown .hljs-selector-tag{color:var(--code-keyword)}.markdown .hljs-regexp,.markdown .hljs-string{color:var(--code-string)}.markdown .hljs-built_in,.markdown .hljs-number,.markdown .hljs-type{color:var(--code-number)}.markdown .hljs-function .hljs-title,.markdown .hljs-section,.markdown .hljs-title{color:var(--code-title)}.markdown .hljs-attr,.markdown .hljs-attribute{color:var(--code-attr)}.markdown .hljs-meta{color:var(--code-meta)}.markdown .hljs-addition{color:var(--code-addition)}.markdown .hljs-deletion{color:var(--code-deletion)}.markdown .line-numbers{counter-reset:linenumber}.markdown code[class*=language-].line-numbers{position:relative}.markdown code[class*=language-].line-numbers:before{content:counter(linenumber);position:absolute;inset-inline-start:-2.5em;text-align:right;user-select:none;pointer-events:none;color:#aaa}.markdown dd>code,.markdown li>code,.markdown p>code,.markdown td>code{background:var(--code-inline-bg);color:var(--code-inline-fg);word-wrap:break-word;box-decoration-break:clone;padding:.1rem .3rem .2rem;border-radius:.2rem}.table-scroll{overflow-x:auto;inline-size:100%}@media only screen and (max-width:768px){.table-scroll{overflow-x:scroll}}table{inline-size:100%;min-inline-size:100%;border-collapse:collapse;margin-block-start:3rem;margin-block-end:3rem;font-size:var(--font-500);line-height:1.5;border:var(--border)}@media only screen and (max-width:768px){table{white-space:nowrap}}th{color:var(--foreground-muted)!important;font-weight:var(--fontWeight-medium);background-color:var(--background-darker);white-space:nowrap}td,th{padding:var(--spacing-xs);text-align:left;vertical-align:text-top}th,tr{border-block-end:var(--border)}tr:last-of-type{border-block-end:none!important}td,th{border-inline-end:var(--border)}td:last-of-type,th:last-of-type{border-inline-end:none}table:not(:has(thead th:not(:empty))) thead{display:none}table:not(:has(thead th:not(:empty))) td:first-child{background-color:var(--background-darker);color:var(--foreground-muted)!important;font-weight:var(--fontWeight-medium);white-space:nowrap}.fig{container-type:inline-size;grid-column:1/-1;margin-block:var(--spacing-xs) 1.2rem}@media only screen and (min-width:768px){.fig{margin-block-end:1.6rem}}@media only screen and (min-width:1201px){.fig{margin-block:var(--spacing-md) 1.8rem}}.fig{--fig-stage:var(--accent-mark);--fig-surface:var(--background);--fig-ink:var(--foreground);--fig-muted:var(--foreground-muted);--fig-block:var(--accent-mark);--fig-stroke:var(--control-border-width);--fig-pad-stage:var(--spacing-md);--fig-pad-1:var(--spacing-xxs);--fig-pad-2:var(--spacing-xs);--fig-r-frame:var(--spacing-xxs);--fig-r-card:max(var(--radius-sm),calc(var(--fig-r-frame) - var(--fig-pad-stage)));--fig-r-inner:max(0.2rem,calc(var(--fig-r-card) - var(--fig-pad-2)));--fig-r-block:max(0.2rem,calc(var(--fig-r-inner) - var(--fig-pad-1)));--fig-card-pad:var(--spacing-md);--fig-stroke-strong:var(--fig-stroke);--fig-focus-line:var(--fig-ink);--fig-text:var(--font-2xs);--fig-text-small:var(--font-2xs);--fig-focus-fill:var(--fig-surface);--fig-connector:var(--fig-ink);--fig-connector-width:var(--fig-stroke);--fig-band:5.6rem;--fig-elbow:var(--fig-r-card);--fig-head-inset:0.6rem;--fig-head:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--fig-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 12'%3E%3Cpath d='M1 6h29m-5-4.5L30 6l-5 4.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.fig *{box-sizing:border-box;grid-column:auto}.fig li,.fig p{margin:0}.fig .fig__stage li,.fig .fig__stage p{font-size:var(--fig-text);line-height:1.45}.fig .fig__heading{margin:0 0 var(--spacing-xxxs)}.fig .fig__stage .fig__small{font-size:var(--fig-text-small);opacity:.7}.fig .fig__stage{background:var(--fig-stage);border-radius:var(--fig-r-frame);padding:var(--fig-pad-stage)}.fig>figcaption{font-size:inherit;margin-block-start:var(--spacing-xs);opacity:1}.fig .fig__compare{align-items:stretch;display:grid;gap:0 var(--spacing-md);grid-template-columns:1fr;position:relative}@container (min-width: 44rem){.fig .fig__compare{grid-template-columns:repeat(2,1fr)}}.fig .fig__compare.fig__compare--became{column-gap:calc(var(--spacing-md)*2)}.fig .fig__compare.fig__compare--became:after{background:var(--fig-connector);content:"";height:1.2rem;left:50%;mask:var(--fig-arrow) center/contain no-repeat;position:absolute;top:38%;transform:translate(-50%,-50%);width:3.2rem}@container (max-width: 43.99rem){.fig .fig__compare.fig__compare--became:after{display:none}}.fig .fig__panel{display:grid;grid-row:span 3;grid-template-rows:subgrid;justify-items:center;row-gap:0;text-align:center}.fig .fig__panel>:first-child{align-self:stretch}@container (max-width: 43.99rem){.fig .fig__panel+.fig__panel{margin-block-start:var(--spacing-md)}}.fig .fig__label{font-weight:var(--fontWeight-bold)!important;margin-block-start:var(--spacing-sm)}.fig .fig__stage .fig__note{font-size:var(--fig-text-small);opacity:.7}.fig .fig__surface{align-items:center;justify-content:center;padding:var(--fig-card-pad);width:100%}.fig .fig-phone,.fig .fig__surface{background:var(--fig-surface);border:var(--fig-stroke) solid var(--fig-ink);border-radius:var(--fig-r-card);display:flex}.fig .fig-phone{aspect-ratio:9/15;align-self:center!important;flex:0 0 auto!important;flex-direction:column;gap:var(--fig-pad-2);overflow:hidden;padding:var(--fig-pad-2);width:min(100%,26rem)}.fig .fig-card{border:var(--fig-stroke) solid var(--fig-ink);border-radius:var(--fig-r-inner);display:flex;flex:0 0 30%;flex-direction:column;gap:6%;padding:var(--fig-pad-1)}.fig .fig-card:before{background:var(--fig-block);border-radius:var(--fig-r-block);content:"";flex:1 1 auto}.fig .fig-card:after{background:linear-gradient(to right,var(--fig-ink) 0 30%,transparent 30% 36%,var(--fig-block) 36% 100%);content:"";flex:0 0 10%}.fig .fig-card--roomy{flex-basis:64%}.fig .fig-card--roomy:after{flex-basis:5%;margin-block-end:30%}.fig .fig-flow{container-type:inline-size;display:grid;gap:var(--fig-band)}.fig .fig-flow__source{background:var(--fig-surface);border:var(--fig-stroke) solid var(--fig-ink);border-radius:var(--fig-r-card);justify-self:stretch;padding:var(--fig-card-pad);position:relative;width:100%;display:grid;gap:var(--spacing-xs) var(--spacing-md);grid-template-columns:1fr}@container (min-width: 60rem){.fig .fig-flow__source{align-items:start;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.fig .fig-flow__source .fig-flow__scales{grid-column:2;grid-row:1/span 2}}.fig .fig-flow__scales{display:grid;gap:var(--spacing-xs);margin:0}.fig .fig-flow__scales>div{display:grid;gap:.1rem}.fig .fig-flow__scales dt{font-size:var(--fig-text);font-weight:var(--fontWeight-bold)}.fig .fig-flow__scales dd{font-size:var(--fig-text-small);line-height:1.45;margin:0;opacity:.7}.fig .fig-flow__source:after{border-inline-start:var(--fig-connector-width) solid var(--fig-connector);content:"";height:calc(var(--fig-band)/2 + var(--fig-stroke) + var(--fig-connector-width));inset-inline-start:calc(50% - var(--fig-connector-width)/2);position:absolute;top:100%}.fig .fig-flow__targets{--fig-gap:var(--spacing-sm);display:grid;gap:var(--fig-gap);grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}.fig .fig-flow__targets>li{align-content:start;background:var(--fig-surface);border:var(--fig-stroke) solid var(--fig-ink);border-radius:var(--fig-r-card);display:grid;gap:.2rem;margin:0;padding:var(--fig-card-pad);position:relative}.fig .fig-flow__targets>li:before{border:0 solid var(--fig-connector);content:"";height:calc(var(--fig-band)/2 + var(--fig-stroke) - var(--fig-head-inset));position:absolute;top:calc(var(--fig-band)*-1/2 - var(--fig-stroke))}.fig .fig-flow__targets>li:first-child:before{border-inline-start-width:var(--fig-connector-width);border-start-start-radius:var(--fig-elbow);border-top-width:var(--fig-connector-width);inset-inline:calc(50% - var(--fig-connector-width)/2) calc(var(--fig-gap)*-.5 - var(--fig-stroke))}.fig .fig-flow__targets>li:last-child:before{border-inline-end-width:var(--fig-connector-width);border-start-end-radius:var(--fig-elbow);border-top-width:var(--fig-connector-width);inset-inline:calc(var(--fig-gap)*-.5 - var(--fig-stroke)) calc(50% - var(--fig-connector-width)/2)}.fig .fig-flow__targets>li:not(:first-child):not(:last-child):before{background:linear-gradient(var(--fig-connector),var(--fig-connector)) 50%/var(--fig-connector-width) 100% no-repeat;border-top-width:var(--fig-connector-width);inset-inline:calc(var(--fig-gap)*-.5 - var(--fig-stroke))}.fig .fig-flow__targets>li:after{background:var(--fig-connector);content:"";height:1.2rem;inset-inline-start:50%;mask:var(--fig-head) center/contain no-repeat;position:absolute;top:calc(-.975rem - var(--fig-stroke));transform:translateX(-50%);width:1.8rem}@container (max-width: 59.99rem){.fig .fig-flow__targets{gap:var(--fig-band);grid-template-columns:1fr}.fig .fig-flow__targets>li:before,.fig .fig-flow__targets>li:first-child:before,.fig .fig-flow__targets>li:last-child:before,.fig .fig-flow__targets>li:not(:first-child):not(:last-child):before{background:none;border-radius:0;border-width:0 0 0 var(--fig-connector-width);height:calc(var(--fig-band) + var(--fig-stroke) - var(--fig-head-inset));inset-inline:calc(50% - var(--fig-connector-width)/2) auto;top:calc(var(--fig-band)*-1 - var(--fig-stroke))}.fig .fig-flow__targets>li:first-child:before{height:calc(var(--fig-band)/2 + var(--fig-stroke) - var(--fig-head-inset));top:calc(var(--fig-band)*-1/2 - var(--fig-stroke))}}.fig .fig__stage .fig-flow__body,.fig .fig__stage .fig-flow__eyebrow{font-size:var(--fig-text-small);opacity:.7}.fig .fig-flow__title{font-weight:var(--fontWeight-bold)!important}.fig .fig-code{background:var(--fig-surface);border:var(--fig-stroke) solid var(--fig-ink);border-radius:var(--fig-r-card);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-3xs);font-weight:var(--fontWeight-bold);line-height:1.7;margin:0;overflow-x:auto;padding:var(--fig-card-pad);text-align:start;white-space:pre;width:100%}.fig .fig-code code{background:none;color:inherit;font-family:inherit;font-size:inherit;padding:0}.fig .fig-code .fig-code__note{color:var(--fig-muted)}.fig .is-focus{background:var(--fig-focus-fill);border:var(--fig-stroke-strong) solid var(--fig-focus-line)}.fig.fig--signal{--fig-focus-fill:color-mix(in srgb,var(--color-yellow) 28%,var(--background))}