@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2")}:root{color-scheme:dark;--bw-color-ink: #f3f0e8;--bw-color-muted: #aaa79f;--bw-color-faint: #6d6b66;--bw-color-line: rgba(243, 240, 232, .15);--bw-color-paper: #080808;--bw-color-surface: #10100f;--bw-color-surface-raised: #171715;--bw-color-accent: #c5f05c;--bw-font-sans: "Outfit", Arial, sans-serif;--bw-font-display: var(--bw-font-sans);--bw-header-height: 74px;--bw-edge-gutter: clamp(24px, 3vw, 44px);--bw-content-width: 1115px;--bw-transition: .25s ease}*,*:before,*:after{box-sizing:border-box}html{background:var(--bw-color-paper);color:var(--bw-color-ink);font-family:var(--bw-font-sans);scroll-behavior:smooth;text-rendering:optimizeLegibility}body{min-width:320px;margin:0;background:var(--bw-color-paper);color:var(--bw-color-ink)}a{color:inherit;text-decoration:none}.bw-icon{display:inline-block;flex:none;width:1em;height:1em;overflow:visible;fill:currentColor;vertical-align:-.125em}.bw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bw-skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;background:var(--bw-color-accent);color:var(--bw-color-paper);transform:translateY(-150%)}.bw-skip-link:focus{transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.bw-header{z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:var(--bw-header-height);padding:0 var(--bw-edge-gutter)}.bw-header--overlay{position:absolute;inset:0 0 auto;min-height:0;padding-top:22px;padding-bottom:22px}.bw-header--sticky{position:sticky;top:0;border-bottom:1px solid var(--bw-color-line);background:#080808db;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bw-mark{display:grid;width:30px;height:30px;place-items:center;opacity:.86;transition:opacity .3s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.bw-mark:hover{opacity:1;transform:rotate(8deg) scale(1.08)}.bw-mark img{width:100%;height:100%;object-fit:contain}.bw-nav{display:flex;gap:20px;align-items:center}.bw-nav a{position:relative;padding:8px 0;color:#f3f0e8b3;font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;transition:color var(--bw-transition)}.bw-nav a:after{position:absolute;right:0;bottom:3px;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.bw-nav a:hover,.bw-nav a:focus-visible,.bw-nav [aria-current]{color:var(--bw-color-ink)}.bw-nav a:hover:after,.bw-nav a:focus-visible:after,.bw-nav [aria-current]:after{transform:scaleX(1);transform-origin:left}.bw-button{display:inline-flex;align-items:center;gap:16px;min-height:45px;padding:10px 16px;border:1px solid var(--bw-color-line);background:transparent;color:var(--bw-color-ink);font-family:var(--bw-font-sans);font-size:12px;font-weight:600;letter-spacing:.035em;transition:border-color .2s ease,background .2s ease,color .2s ease}.bw-button:hover,.bw-button:focus-visible{border-color:var(--bw-color-accent);background:#c5f05c0f;color:var(--bw-color-accent)}.bw-button--primary{border-color:var(--bw-color-accent);background:var(--bw-color-accent);color:#10120a}.bw-button--primary:hover,.bw-button--primary:focus-visible{background:#d4fa79;color:#10120a}.bw-footer{position:relative;z-index:1;isolation:isolate;overflow:hidden;padding:70px var(--bw-edge-gutter) 32px;border-top:1px solid var(--bw-color-line);background:var(--bw-color-paper)}.bw-footer__content,.bw-footer__bottom{position:relative;z-index:1;width:min(var(--bw-content-width),100%);margin:0 auto}.bw-footer__content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(430px,1fr);gap:clamp(50px,9vw,140px)}.bw-footer__brand{display:inline-flex;align-items:center;gap:11px;color:#fffdf7;font-size:21px;font-weight:500;letter-spacing:-.045em;text-shadow:0 2px 12px rgba(0,0,0,.92)}.bw-footer__brand img{width:31px;height:31px;object-fit:contain}.bw-footer__intro p{max-width:360px;margin:22px 0 27px;color:#fffdf7f0;font-size:15px;line-height:1.55;text-shadow:0 2px 12px rgba(0,0,0,.92)}.bw-footer__contact{display:inline-flex;align-items:center;gap:11px;padding:8px 11px;border:0;border-bottom:1px solid rgba(255,253,247,.78);background:#080808b8;box-shadow:0 4px 16px #00000042;color:#fffdf7;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bw-footer__contact .bw-icon{font-size:17px;transition:transform .22s ease}.bw-footer__contact:hover .bw-icon{transform:translate(4px)}.bw-footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.bw-footer__links h2{margin:2px 0 18px;color:#fffdf7d1;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.92)}.bw-footer__links a{display:block;width:max-content;max-width:100%;margin:0 0 10px;color:#fffdf7;font-size:13px;text-shadow:0 2px 12px rgba(0,0,0,.92);transition:color .18s ease,transform .18s ease}.bw-footer__links a:hover{color:var(--bw-color-accent);transform:translate(3px)}.bw-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:58px;padding-top:18px;border-top:1px solid rgba(255,253,247,.38);color:#fffdf7d9;font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.92)}@media(min-width:761px){.bw-header--rail{display:grid;grid-template-columns:270px minmax(0,1fr);padding:0}.bw-header--rail .bw-mark{margin-left:28px}.bw-header--rail .bw-nav{justify-self:end;margin-right:28px}}@media(min-width:1001px){.bw-footer--rail .bw-footer__content,.bw-footer--rail .bw-footer__bottom{width:min(800px,calc(100% - 354px));margin-right:0;margin-left:max(312px,calc((100% - 761px)/2))}}@media(max-width:760px){.bw-header--sticky{display:flex;padding:0 var(--bw-edge-gutter)}.bw-header--sticky .bw-mark{margin-left:0}.bw-header--sticky .bw-nav{margin-right:0}.bw-nav a{font-size:9px}.bw-footer{padding-top:52px;padding-bottom:28px}.bw-footer__content{display:block}.bw-footer__links{margin-top:46px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bw-footer__links h2{font-size:9px}.bw-footer__links a{font-size:12px}.bw-footer__bottom{align-items:flex-start;flex-direction:column;gap:5px;margin-top:44px}}.bw-page-dot-field,.bw-footer__dot-field{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}.bw-page-dot-field{position:fixed}.bw-footer__dot-field{opacity:.7}.bw-footer__glow{position:absolute;z-index:0;right:0;bottom:0;left:0;width:auto;height:min(40vh,380px);pointer-events:none;transform:translate3d(0,var(--bw-footer-glow-parallax, 0px),0) scaleY(var(--bw-footer-glow-progress, .045));transform-origin:bottom;transition:transform 70ms linear;will-change:transform}.bw-footer__glow svg{display:block;width:100%;height:100%;opacity:1}.bw-footer:after{position:absolute;z-index:0;inset:0;background:linear-gradient(to bottom,#080808d6,#0808089e 48%,#08080838);content:"";pointer-events:none}@media(max-width:760px){.bw-footer__glow{height:260px}}@media(prefers-reduced-motion:reduce){.bw-footer__glow{transition:none}}:root{--bw-color-accent: #b49ae9;--bw-color-surface: #121016;--bw-color-surface-raised: #1a1621;--line: var(--bw-color-line);--accent: var(--bw-color-accent);--muted: var(--bw-color-muted)}body{font-size:15px;line-height:1.65;isolation:isolate}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#b49ae9;color:#080808}.bw-header .bw-mark{opacity:1}.bw-header .bw-mark img{filter:brightness(0) invert(1)}.header-right{justify-self:end;margin-right:28px}.header-right{display:flex;align-items:center;gap:18px}.header-right .bw-nav{margin-right:0}.menu-toggle{display:none}.docs-shell{display:grid;grid-template-columns:270px minmax(0,1fr)}.docs-sidebar{position:sticky;top:var(--bw-header-height);height:calc(100dvh - var(--bw-header-height));overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3d344b transparent;padding:28px 20px 24px 28px;border-right:1px solid var(--line);background:#0808088c}.sidebar-heading{display:none;align-items:center;justify-content:space-between;margin-bottom:15px;color:#99978e;font-size:10px;letter-spacing:.12em}.close-menu{border:0;background:none;color:var(--bw-color-ink);font:inherit;min-height:36px;cursor:pointer}.search-wrap{position:relative;min-width:0;margin-bottom:25px}.search-wrap input{width:100%;height:46px;padding:10px 48px 10px 37px;border:1px solid rgba(243,240,232,.19);border-radius:2px;outline:none;background:linear-gradient(135deg,#f3f0e817,#f3f0e809);color:var(--bw-color-ink);font:13px var(--bw-font-sans);transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}.search-wrap input:focus{border-color:var(--accent);background:#b49ae912;box-shadow:0 0 0 3px #b49ae91a}.search-wrap input::placeholder{color:#9a968d}.search-wrap input::-webkit-search-cancel-button{width:10px;height:10px;margin-right:4px;cursor:pointer;appearance:none;background:linear-gradient(45deg,transparent 41%,var(--accent) 43% 57%,transparent 59%),linear-gradient(-45deg,transparent 41%,var(--accent) 43% 57%,transparent 59%);opacity:.78}.search-icon{position:absolute;z-index:1;top:50%;left:13px;color:var(--muted);font-size:16px;line-height:1;pointer-events:none;transform:translateY(-50%)}.search-wrap kbd{position:absolute;top:50%;right:10px;display:grid;min-width:25px;height:20px;padding:0 4px;border:1px solid rgba(243,240,232,.15);border-radius:2px;background:#08080859;color:#9a968d;font:10px/1 monospace;place-items:center;pointer-events:none;transform:translateY(-50%)}#search-results{position:absolute;top:54px;left:0;right:0;z-index:5;max-height:55dvh;overflow:auto;border-radius:3px;background:#141218fa;border:1px solid rgba(243,240,232,.19);box-shadow:0 24px 50px #00000094}#search-results button{position:relative;display:block;width:100%;min-height:82px;padding:12px 35px 12px 13px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--bw-color-ink);text-align:left;font:13px var(--bw-font-sans);cursor:pointer}#search-results button span{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}#search-results [aria-selected=true],#search-results button:hover{background:#b49ae918}#search-results button:last-child{border-bottom:0}#search-results [aria-selected=true]:before{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--accent);content:""}#search-results .search-result-kicker{margin:0 0 3px;color:var(--accent);font-size:9px;font-weight:600;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}#search-results strong{font-size:13px;font-weight:500;line-height:1.25}#search-results .search-excerpt{display:-webkit-box;margin-top:4px;overflow:hidden;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}#search-results i{position:absolute;top:30px;right:14px;color:var(--accent);font-size:16px;font-style:normal;opacity:0}#search-results button:hover i,#search-results [aria-selected=true] i{opacity:1}.empty-search{padding:8px;color:var(--muted);font-size:12px}.sidebar-nav p{margin:20px 0 6px;color:#99978e;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.sidebar-nav a,.on-page a{display:block;padding:5px 8px;border-left:1px solid transparent;color:var(--muted);font-size:13px;line-height:1.5}.sidebar-nav a:hover,.on-page a:hover{color:var(--bw-color-ink);background:#ffffff06}.sidebar-nav [aria-current],.on-page [aria-current]{color:var(--accent);border-color:var(--accent);background:#b49ae90c}.docs-main{display:grid;grid-template-columns:minmax(0,800px) 190px;gap:74px;width:min(1115px,100%);margin:0 auto;padding:65px 42px 110px}article{min-width:0}section{scroll-margin-top:105px}section+section{margin-top:60px;padding-top:60px;border-top:1px solid var(--line)}section:focus{outline:none}.eyebrow,.section-label,.rail-label{font-size:10px;font-weight:500;letter-spacing:.12em}.eyebrow{display:flex;gap:10px;color:var(--muted);margin-bottom:32px}.eyebrow>span:first-child,.section-label{color:var(--accent)}.eyebrow .divider{color:#55574e}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(42px,5vw,64px);margin:0;text-wrap:balance}h2{font-size:31px;margin:0 0 17px}h3{font-size:19px;font-weight:600;margin:34px 0 12px;scroll-margin-top:105px}p{margin:0 0 17px}.lead{margin:19px 0 18px;max-width:700px;color:#d2d0c9;font-size:20px;line-height:1.52}.overview-links{display:flex;gap:19px;margin:27px 0 40px;text-transform:uppercase;letter-spacing:.06em}.overview-links{font-size:12px}.overview-links a{display:flex;gap:7px;align-items:center;font-size:12px;text-decoration:none}.overview-links button{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.overview-links button:hover{color:var(--accent)}article a{color:var(--accent);text-decoration:underline;text-decoration-color:#b49ae955;text-underline-offset:4px}article a:hover{text-decoration-color:var(--accent)}.section-label{display:none}article p,article li{color:#c2c0b8}article strong{color:var(--bw-color-ink);font-weight:500}ul,ol{padding-left:22px;margin:16px 0 24px}li{padding-left:4px;margin-bottom:11px}code{padding:2px 5px;background:#ffffff08;border:1px solid #ffffff08;border-radius:3px;color:#ded0f6;font:12px/1.65 Consolas,monospace;overflow-wrap:anywhere}.callout{margin:24px 0;padding:18px 20px;border:1px solid #b49ae922;border-left:2px solid var(--accent);background:#b49ae908;font-size:14px}.callout strong{color:var(--accent);font-size:13px}.callout p{margin:7px 0 0}.source-note{color:var(--muted);font-size:13px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}figure{margin:0;background:#121016;border:1px solid var(--line)}figure img{display:block;width:100%;height:auto}figcaption{border-top:1px solid var(--line);padding:12px;color:var(--muted);font-size:12px}.image-state{display:inline-block;color:var(--accent);margin-right:9px;font:10px monospace}.table-wrap{max-width:100%;overflow-x:auto;margin:22px 0;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.65}th{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:#ffffff05}td,th{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td{color:#c2c0b8}td code{white-space:nowrap}.code-block{border:1px solid #b49ae930;border-radius:5px;background:#121016;margin:24px 0;overflow:hidden;box-shadow:0 8px 24px #0002}.code-label{display:flex;gap:14px;padding:12px 20px;border-bottom:1px solid #b49ae926;background:linear-gradient(100deg,#6b52b324,#9c80cc08);color:var(--accent);font:11px/1.5 Consolas,monospace}.code-label span{color:var(--muted);overflow-wrap:anywhere}.code-label{align-items:center}.copy-code{display:grid;place-items:center;flex:none;width:32px;height:32px;margin:-6px -8px -6px auto;padding:6px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--muted);font-size:17px;cursor:pointer}.copy-code:hover,.copy-code:focus-visible{color:var(--accent);border-color:#b49ae94d;background:#b49ae910}.copy-code[data-copied]{color:var(--accent)}.copied-glyph,.copy-code[data-copied] .copy-glyph{display:none}.copy-code[data-copied] .copied-glyph{display:block}pre{margin:0;padding:23px 24px;overflow-x:auto;font-size:13px;line-height:1.85;tab-size:4}pre code{padding:0;border:0;background:none;color:#e3deeb;font-size:inherit;line-height:inherit;overflow-wrap:normal}.on-page{position:sticky;top:108px;align-self:start;padding-left:17px;border-left:1px solid var(--line)}.rail-label{color:#aaa79f;margin:0 0 14px 8px}.on-page a{padding:6px 8px;font-size:12px}@media(max-width:1000px){.docs-main{grid-template-columns:minmax(0,760px);max-width:850px}.on-page{display:none}}@media(max-width:760px){.bw-header{padding:0 20px}.header-right{margin-right:0}.header-right .bw-nav{display:none}.sidebar-heading{display:flex}.menu-toggle{display:inline-flex;padding:7px 10px;min-height:38px;font-size:11px}.docs-shell{display:block}.docs-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.enhanced .docs-sidebar{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(330px,90vw);height:100dvh;visibility:hidden;transform:translate(-100%);transition:transform .18s ease,visibility .18s}.enhanced .docs-sidebar.is-open{visibility:visible;transform:none;box-shadow:0 0 0 100vmax #000a}body.menu-open{overflow:hidden}.docs-main{display:block;padding:42px 22px 90px}h1{font-size:42px}h2{font-size:28px}.lead{font-size:18px}.eyebrow{font-size:9px;margin-bottom:23px}section+section{margin-top:37px;padding-top:32px}.image-pair{grid-template-columns:1fr}.image-pair figure{max-width:440px;width:100%;margin:auto}td,th{padding:11px}.table-wrap table{min-width:440px}}@media(prefers-reduced-motion:reduce){.enhanced .docs-sidebar{transition:none}}.steps{padding-left:22px}.steps>li{margin-bottom:17px}.steps p{margin:5px 0 0}.docs-dot-field{opacity:.9;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 27%,#0008 37%,transparent 46%,transparent 61%,#0008 70%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,#000 27%,#0008 37%,transparent 46%,transparent 61%,#0008 70%,#000 100%)}body:after{position:fixed;z-index:0;inset:0;content:"";pointer-events:none;background:radial-gradient(circle at 50% 3%,#9c80cc18,transparent 32%),linear-gradient(90deg,#0808086b,#08080812 47%,#0808088c)}.docs-shell{position:relative;z-index:1}.eyebrow a{text-decoration:none}#quick-setup{margin-top:30px}.on-page{max-height:calc(100dvh - 135px);overflow-y:auto;scrollbar-width:thin}.on-page a{padding:5px 8px}.rail-label{font-size:10px;letter-spacing:.12em}.hljs-keyword,.hljs-selector-tag{color:#c6a5fa}.hljs-type,.hljs-title.class_,.hljs-built_in{color:#8fd3db}.hljs-title,.hljs-title.function_{color:#e9d29e}.hljs-string,.hljs-char{color:#b7d9ac}.hljs-number,.hljs-literal{color:#efb993}.hljs-comment{color:#9c95aa;font-style:italic}.hljs-meta{color:#e5a9d7}.hljs-subst,.hljs-params{color:#e3deeb}@media(prefers-reduced-motion:reduce){.bw-mark{transition:none}.bw-mark:hover{transform:none}}
