.p1-tfo{--p1-ink:#222326;--p1-body:#333;--p1-hover:#000;--p1-muted:#6a6d77;--p1-surface:#f8f9fb;--p1-border:#e3e6ec;--p1-white:#fff;--p1-font-body:"euclid reg","Euclid Circular B",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--p1-font-head:"Euclid","Euclid Circular B",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--p1-font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;color:var(--p1-body);font-family:var(--p1-font-body)}.p1-tfo .p1-sec{background:var(--p1-white);padding:0}.p1-tfo .p1-sec+.p1-sec{margin-top:104px}.p1-tfo .p1-sec--alt{background:var(--p1-surface);padding:56px 0}.p1-tfo .p1-sec--dark{background:var(--p1-ink);color:var(--p1-white);padding:56px 0}.p1-tfo .p1-tfo-hero{padding:120px 0 0}.p1-tfo .p1-tfo-hero+.p1-sec{margin-top:110px}.p1-tfo .p1-wrap{margin:0 auto;max-width:1120px;padding:0 24px}.p1-tfo .p1-wrap--narrow{max-width:800px}.p1-tfo .p1-eyebrow{color:var(--p1-muted);font-family:var(--p1-font-head);font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 16px;text-transform:uppercase}.p1-tfo .p1-h1{font-size:46px;line-height:1.12}.p1-tfo .p1-h1,.p1-tfo .p1-h2{color:var(--p1-ink);font-family:var(--p1-font-head);font-weight:700;margin:0 0 20px}.p1-tfo .p1-h2{font-size:30px;line-height:1.2}.p1-tfo .p1-h3{font-size:21px;line-height:1.3;margin:0 0 12px}.p1-tfo .p1-h3,.p1-tfo .p1-h4{color:var(--p1-ink);font-family:var(--p1-font-head);font-weight:700}.p1-tfo .p1-h4{font-size:17px;line-height:1.35;margin:0 0 8px}.p1-tfo .p1-lede{color:var(--p1-body);font-size:19px;line-height:1.6;margin:0 0 28px}.p1-tfo p{font-size:16px;line-height:1.65;margin:0 0 16px}.p1-tfo p:last-child{margin-bottom:0}.p1-tfo a{color:var(--p1-body);text-decoration:underline}.p1-tfo a:hover{color:var(--p1-hover);text-decoration:none}.p1-tfo .p1-part{color:var(--p1-muted);font-family:var(--p1-font-head);font-size:13px;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.p1-tfo .p1-list{margin:0 0 16px;padding-left:22px}.p1-tfo .p1-list li{font-size:16px;line-height:1.65;margin-bottom:8px}.p1-tfo .p1-list--num{list-style:decimal}.p1-tfo .p1-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 28px;padding:0}.p1-tfo .p1-chip{background:var(--p1-white);border:1px solid var(--p1-border);border-radius:999px;color:var(--p1-body);font-size:14px;padding:7px 16px}.p1-tfo .p1-toc__title{font-size:17px;margin-bottom:14px}.p1-tfo .p1-toc{column-count:2;column-gap:40px;margin:0;padding-left:20px}.p1-tfo .p1-toc li{break-inside:avoid;font-size:15px;line-height:1.9}.p1-tfo .p1-step{display:flex;gap:24px;padding:28px 0}.p1-tfo .p1-step,.p1-tfo .p1-step:first-of-type{border-top:1px solid var(--p1-border)}.p1-tfo .p1-step__num{color:var(--p1-muted);flex:0 0 auto;font-family:var(--p1-font-head);font-size:15px;font-weight:700;line-height:1.4;padding-top:3px;width:34px}.p1-tfo .p1-step__body{flex:1 1 auto;min-width:0}.p1-tfo .p1-choice{border-left:3px solid var(--p1-border);margin:0 0 18px;padding:2px 0 2px 18px}.p1-tfo .p1-acc__name[id],.p1-tfo .p1-os__name[id],.p1-tfo h2[id],.p1-tfo h3[id],.p1-tfo h4[id]{position:relative}.p1-tfo .p1-anchor{align-items:center;background:none;border:0;border-radius:4px;color:var(--p1-muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin-left:6px;opacity:0;padding:0;transition:opacity .12s ease,color .12s ease,background-color .12s ease;vertical-align:middle;width:24px}.p1-tfo .p1-anchor svg{display:block}.p1-tfo .p1-acc__head:hover .p1-anchor,.p1-tfo .p1-anchor:focus-visible,.p1-tfo .p1-os__head:hover .p1-anchor,.p1-tfo h2[id]:hover .p1-anchor,.p1-tfo h3[id]:hover .p1-anchor,.p1-tfo h4[id]:hover .p1-anchor{opacity:1}.p1-tfo .p1-anchor:hover{background:var(--p1-border);color:var(--p1-ink)}.p1-tfo .p1-anchor:focus-visible{outline:2px solid var(--p1-ink);outline-offset:1px}.p1-tfo .p1-anchor--done{background:var(--p1-border);color:var(--p1-ink);opacity:1}.p1-tfo .p1-anchor--done svg{display:none}.p1-tfo .p1-anchor--done:after{content:"Copied";font-family:var(--p1-font-body);font-size:11px;line-height:1;padding:0 4px;white-space:nowrap}.p1-tfo .p1-anchor--done{padding:0 4px;width:auto}@media (hover:none){.p1-tfo .p1-anchor{opacity:.4}}.p1-tfo .p1-toc ul{list-style:none;margin:2px 0 6px;padding-left:0}.p1-tfo .p1-toc ul li{border-left:2px solid var(--p1-border);color:var(--p1-muted);font-size:14px;line-height:1.7;padding-left:12px}.p1-tfo .p1-os{background:var(--p1-white);border:1px solid var(--p1-border);border-radius:10px;margin:0 0 16px}.p1-tfo .p1-os[open]{border-color:var(--p1-ink)}.p1-tfo .p1-os__head{align-items:center;cursor:pointer;display:flex;gap:14px;list-style:none;padding:20px 24px}.p1-tfo .p1-os__head::-webkit-details-marker{display:none}.p1-tfo .p1-os__name{color:var(--p1-ink);font-family:var(--p1-font-head);font-size:22px;font-weight:700}.p1-tfo .p1-os__meta{color:var(--p1-muted);font-size:14px;margin-right:auto}.p1-tfo .p1-os__icon{border-bottom:2px solid var(--p1-muted);border-right:2px solid var(--p1-muted);flex:0 0 auto;height:12px;margin-right:6px;transform:rotate(45deg);transition:transform .18s ease;width:12px}.p1-tfo .p1-os[open] .p1-os__icon{transform:rotate(-135deg)}.p1-tfo .p1-os__body{border-top:1px solid var(--p1-border);padding:8px 24px 28px}.p1-tfo .p1-os__body>.p1-step:first-of-type{border-top:0}.p1-tfo .p1-acc--single{border-top:0;margin-top:28px}.p1-tfo .p1-acc--single .p1-acc__item{border-top:1px solid var(--p1-border)}.p1-tfo .p1-comp{display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:20px 0}.p1-tfo .p1-comp__item{background:var(--p1-white);border:1px solid var(--p1-border);border-radius:8px;padding:20px}.p1-tfo .p1-comp__item p{font-size:15px;margin:0}.p1-tfo .p1-paths{border:1px solid var(--p1-border);border-radius:8px;margin:0 0 28px;padding:24px}.p1-tfo .p1-paths>h3{margin-bottom:8px}.p1-tfo .p1-path{border-left:3px solid var(--p1-border);margin:18px 0 0;padding:2px 0 2px 18px}.p1-tfo .p1-path h4{margin-bottom:6px}.p1-tfo .p1-path p{font-size:15px;margin:0}.p1-tfo .p1-path__det{border-bottom:1px solid var(--p1-border);border-top:1px solid var(--p1-border);margin-top:14px}.p1-tfo .p1-path__det .p1-acc__head{font-size:15px;padding:14px 0}.p1-tfo .p1-path__det .p1-acc__body{padding-bottom:18px}.p1-tfo .p1-path__det ol{margin:0 0 16px;padding-left:22px}.p1-tfo .p1-path__det li{font-size:15px;line-height:1.65;margin-bottom:7px}.p1-tfo .p1-path__det pre{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;font-family:var(--p1-font-mono);font-size:12.5px;line-height:1.6;margin:0 0 16px;overflow-x:auto;padding:12px 14px}.p1-tfo .p1-os__intro{margin:16px 0 24px}.p1-tfo .p1-block{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;margin:0 0 28px;padding:24px}.p1-tfo .p1-block>h3{margin-bottom:8px}.p1-tfo .p1-block .p1-tablewrap{margin-bottom:14px}.p1-tfo .p1-block p{font-size:15px}.p1-tfo .p1-path .p1-list{margin:10px 0 0}.p1-tfo .p1-path .p1-list li{font-size:15px;margin-bottom:6px}.p1-tfo .p1-gate{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;margin:32px 0 0;padding:24px}.p1-tfo .p1-gate h3{margin-bottom:10px}.p1-tfo .p1-check{list-style:none;margin:0 0 16px;padding:0}.p1-tfo .p1-check li{font-size:15px;line-height:1.65;padding:6px 0 6px 30px;position:relative}.p1-tfo .p1-check li:before{border-bottom:2px solid var(--p1-ink);border-left:2px solid var(--p1-ink);content:"";height:6px;left:4px;position:absolute;top:12px;transform:rotate(-45deg);width:12px}.p1-tfo .p1-version{color:var(--p1-muted);font-size:13px;margin-top:28px}.p1-tfo .p1-note{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;margin:20px 0;padding:16px 20px}.p1-tfo .p1-note p{font-size:15px;margin-bottom:10px}.p1-tfo .p1-note p:last-child{margin-bottom:0}.p1-tfo .p1-note--warn{border-left:3px solid var(--p1-ink)}.p1-tfo .p1-note--plain{background:transparent;border:0;border-left:3px solid var(--p1-border);border-radius:0;padding:4px 0 4px 18px}.p1-tfo code{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:4px;font-family:var(--p1-font-mono);font-size:.9em;padding:1px 5px;word-break:break-word}.p1-tfo .p1-code{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;margin:0 0 18px;overflow-x:auto;padding:14px 16px}.p1-tfo .p1-code pre{margin:0}.p1-tfo .p1-code code{background:transparent;border:0;color:var(--p1-body);font-size:13px;line-height:1.6;padding:0;white-space:pre}.p1-tfo .p1-tablewrap{margin:0 0 20px;overflow-x:auto}.p1-tfo .p1-table{border-collapse:collapse;font-size:15px;width:100%}.p1-tfo .p1-table td,.p1-tfo .p1-table th{border-bottom:1px solid var(--p1-border);padding:11px 14px;text-align:left;vertical-align:top}.p1-tfo .p1-table th{border-bottom:2px solid var(--p1-border);color:var(--p1-ink);font-family:var(--p1-font-head);font-weight:700}.p1-tfo .p1-rmm__title{margin-top:36px}.p1-tfo .p1-acc{border-top:1px solid var(--p1-border);margin-top:16px}.p1-tfo .p1-acc__item{border-bottom:1px solid var(--p1-border)}.p1-tfo .p1-acc__head{align-items:center;color:var(--p1-ink);cursor:pointer;display:flex;font-family:var(--p1-font-head);font-size:17px;font-weight:700;gap:16px;justify-content:space-between;list-style:none;padding:18px 4px}.p1-tfo .p1-acc__head::-webkit-details-marker{display:none}.p1-tfo .p1-acc__head:hover{color:var(--p1-hover)}.p1-tfo .p1-acc__icon{border-bottom:2px solid var(--p1-muted);border-right:2px solid var(--p1-muted);flex:0 0 auto;height:12px;margin-right:6px;transform:rotate(45deg);transition:transform .18s ease;width:12px}.p1-tfo .p1-acc__item[open] .p1-acc__icon{transform:rotate(-135deg)}.p1-tfo .p1-acc__body{padding:0 4px 24px}.p1-tfo .p1-acc__body p{font-size:15px}.p1-tfo .p1-acc__body ol,.p1-tfo .p1-acc__body ul{margin:0 0 16px;padding-left:22px}.p1-tfo .p1-acc__body li{font-size:15px;line-height:1.65;margin-bottom:6px}.p1-tfo .p1-acc__body li>ol,.p1-tfo .p1-acc__body li>ul{margin:6px 0 0}.p1-tfo .p1-acc__body pre{background:var(--p1-surface);border:1px solid var(--p1-border);border-radius:8px;font-family:var(--p1-font-mono);font-size:13px;margin:0 0 16px;overflow-x:auto;padding:12px 14px}.p1-tfo .p1-tshoot{border-top:1px solid var(--p1-border);padding:20px 0}.p1-tfo .p1-btn{background:var(--p1-ink);border:1px solid var(--p1-ink);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:var(--p1-font-head);font-size:15px;font-weight:700;line-height:1;padding:14px 24px;transition:opacity .15s ease}.p1-tfo .p1-btn,.p1-tfo .p1-btn:hover{color:var(--p1-white);text-decoration:none}.p1-tfo .p1-btn:hover{opacity:.86}.p1-tfo .p1-btn--sm{font-size:14px;padding:10px 16px}.p1-tfo .p1-btn--ghost{background:transparent;border-color:var(--p1-border);color:var(--p1-ink)}.p1-tfo .p1-btn--ghost:hover{border-color:var(--p1-ink);color:var(--p1-ink)}.p1-tfo .p1-btn--light{background:var(--p1-white);border-color:var(--p1-white);color:var(--p1-ink)}.p1-tfo .p1-btn--light:hover{color:var(--p1-ink)}.p1-tfo .p1-btn[disabled]{cursor:default;opacity:.45}.p1-tfo .p1-btn[disabled]:hover{opacity:.45}.p1-tfo .p1-actions{margin:20px 0}.p1-tfo .p1-cta{text-align:center}.p1-tfo .p1-cta__title{color:var(--p1-white)}.p1-tfo .p1-cta__text{color:hsla(0,0%,100%,.85);margin-bottom:26px}.p1-tfo .p1-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:32px 24px;position:fixed;z-index:9999}.p1-tfo .p1-modal[hidden]{display:none}.p1-tfo .p1-modal__backdrop{background:rgba(34,35,38,.6);inset:0;position:absolute}.p1-tfo .p1-modal__panel{background:var(--p1-white);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.28);display:flex;flex-direction:column;max-height:88vh;max-width:880px;overflow:hidden;position:relative;width:100%}.p1-tfo .p1-modal__head{align-items:center;border-bottom:1px solid var(--p1-border);display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.p1-tfo .p1-modal__head .p1-h3{margin:0}.p1-tfo .p1-modal__x{background:none;border:0;color:var(--p1-muted);cursor:pointer;font-size:28px;line-height:1;padding:0 4px}.p1-tfo .p1-modal__x:hover{color:var(--p1-ink)}.p1-tfo .p1-modal__bar{background:var(--p1-surface);border-bottom:1px solid var(--p1-border);display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px}.p1-tfo .p1-modal__body{overflow:auto;padding:0}.p1-tfo .p1-modal__code{color:var(--p1-body);font-family:var(--p1-font-mono);font-size:12.5px;line-height:1.6;margin:0;padding:20px 24px;tab-size:4;white-space:pre}.p1-tfo .p1-modal__code code{background:transparent;border:0;font-size:inherit;padding:0;white-space:pre}.p1-tfo .p1-copywrap{position:relative}.p1-tfo .p1-copywrap .p1-code,.p1-tfo .p1-copywrap>pre{padding-right:72px}.p1-tfo .p1-copywrap pre,.p1-tfo .p1-copywrap pre code{overflow-wrap:anywhere;white-space:pre-wrap}.p1-tfo .p1-copybtn{background:var(--p1-white);border:1px solid var(--p1-border);border-radius:4px;color:var(--p1-ink);cursor:pointer;font-family:var(--p1-font-body);font-size:12px;line-height:1;padding:6px 9px;position:absolute;right:8px;top:8px}.p1-tfo .p1-copybtn:hover{border-color:var(--p1-ink)}.p1-tfo .p1-copybtn:focus-visible{outline:2px solid var(--p1-ink);outline-offset:1px}body.p1-modal-open{overflow:hidden}@media (max-width:1140px){.p1-tfo .p1-sec+.p1-sec{margin-top:80px}.p1-tfo .p1-sec--alt,.p1-tfo .p1-sec--dark{padding:44px 0}.p1-tfo .p1-tfo-hero{padding:96px 0 0}.p1-tfo .p1-tfo-hero+.p1-sec{margin-top:86px}.p1-tfo .p1-h1{font-size:38px}.p1-tfo .p1-h2{font-size:27px}}@media (max-width:768px){.p1-tfo .p1-sec+.p1-sec{margin-top:64px}.p1-tfo .p1-sec--alt,.p1-tfo .p1-sec--dark{padding:36px 0}.p1-tfo .p1-tfo-hero{padding:72px 0 0}.p1-tfo .p1-tfo-hero+.p1-sec{margin-top:64px}.p1-tfo .p1-wrap{padding:0 20px}.p1-tfo .p1-h1{font-size:31px}.p1-tfo .p1-h2{font-size:24px}.p1-tfo .p1-h3{font-size:19px}.p1-tfo .p1-lede{font-size:17px}.p1-tfo .p1-toc{column-count:1}.p1-tfo .p1-comp{gap:14px;grid-template-columns:1fr}.p1-tfo .p1-os__head{flex-wrap:wrap;gap:10px;padding:16px}.p1-tfo .p1-os__name{font-size:19px}.p1-tfo .p1-os__meta{font-size:13px;margin-right:0;width:100%}.p1-tfo .p1-os__body{padding:8px 16px 20px}.p1-tfo .p1-block,.p1-tfo .p1-gate,.p1-tfo .p1-paths{padding:18px}.p1-tfo .p1-step{gap:14px;padding:22px 0}.p1-tfo .p1-step__num{font-size:14px;width:26px}.p1-tfo .p1-modal{padding:0}.p1-tfo .p1-modal__panel{border-radius:0;height:100%;max-height:100vh;max-width:100%}.p1-tfo .p1-modal__code{font-size:11.5px;padding:16px}.p1-tfo .p1-modal__bar,.p1-tfo .p1-modal__head{padding:14px 16px}.p1-tfo .p1-btn{text-align:center;width:100%}.p1-tfo .p1-btn--sm{width:auto}}