:root{--nextra-primary-hue:212deg;--nextra-primary-saturation:100%;--nextra-primary-lightness:45%;--nextra-bg:250,250,250;--nextra-content-width:90rem}.dark{--nextra-primary-hue:204deg;--nextra-primary-saturation:100%;--nextra-primary-lightness:55%;--nextra-bg:17,17,17}::selection{background:hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3)}html{--docs-ai-offset:0px;background:rgb(var(--nextra-bg))}body{font-family:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:var(--docs-ai-offset);transition:padding-right .32s cubic-bezier(.22,1,.36,1)}html.docs-ai-resizing body{transition:none}html.docs-ai-open .nextra-toc,html.docs-ai-open nav[aria-label="Table of contents"],html.docs-ai-open nav[aria-label="table of contents"]{display:none!important}.docs-search-trigger{display:inline-flex;align-items:center;gap:.5rem;width:100%;max-width:16rem;height:2.25rem;padding:0 .625rem 0 .75rem;border-radius:.5rem;border:1px solid transparent;background:rgba(0,0,0,.05);color:inherit;font:inherit;font-size:.875rem;line-height:1.25;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease}:is(html[class~=dark]) .docs-search-trigger{background:rgba(249,250,251,.1)}.docs-search-trigger:hover{background:rgba(0,0,0,.08)}:is(html[class~=dark]) .docs-search-trigger:hover{background:rgba(249,250,251,.14)}.docs-search-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}.docs-search-trigger-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5563}:is(html[class~=dark]) .docs-search-trigger-label{color:#9ca3af}.docs-search-trigger-kbd{flex-shrink:0;padding:.125rem .375rem;border-radius:.25rem;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.6875rem;font-family:inherit;line-height:1.25}:is(html[class~=dark]) .docs-search-trigger-kbd{border-color:rgba(255,255,255,.16);background:rgba(0,0,0,.35);color:#9ca3af}.docs-navbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.docs-navbar-tools .docs-search-trigger{width:auto;min-width:11.5rem;flex:1 1 12rem}.docs-ai-nav-trigger{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;height:2.25rem;padding:0 .75rem 0 .55rem;border-radius:.5rem;border:1px solid transparent;background:rgba(0,0,0,.05);color:inherit;font:inherit;font-size:.875rem;font-weight:600;line-height:1.25;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}:is(html[class~=dark]) .docs-ai-nav-trigger{background:rgba(249,250,251,.1)}.docs-ai-nav-trigger.is-open,.docs-ai-nav-trigger:hover{background:rgba(0,0,0,.08)}:is(html[class~=dark]) .docs-ai-nav-trigger.is-open,:is(html[class~=dark]) .docs-ai-nav-trigger:hover{background:rgba(249,250,251,.14)}.docs-ai-nav-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}.docs-ai-nav-trigger-mark{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem}.docs-ai-nav-trigger-mark svg{width:1rem;height:1rem}.docs-search-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:12vh 1rem 2rem;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}:is(html[class~=dark]) .docs-search-overlay{background:rgba(0,0,0,.65)}.docs-search-modal{width:min(100%,36rem);max-height:min(70vh,32rem);display:flex;flex-direction:column;border-radius:.75rem;border:1px solid #e5e7eb;background:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.02);overflow:hidden}:is(html[class~=dark]) .docs-search-modal{border-color:rgba(255,255,255,.12);background:#111827;box-shadow:0 25px 50px -12px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04)}.docs-search-input-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid #e5e7eb;color:#6b7280}:is(html[class~=dark]) .docs-search-input-row{border-bottom-color:rgba(255,255,255,.1);color:#9ca3af}.docs-search-input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;color:inherit;font:inherit;font-size:1rem;line-height:1.5}.docs-search-input::placeholder{color:#9ca3af}.docs-search-input::-webkit-search-cancel-button{appearance:none}.docs-search-esc{flex-shrink:0;padding:.125rem .4rem;border-radius:.25rem;border:1px solid #e5e7eb;background:#f9fafb;color:#6b7280;font-size:.6875rem;font-family:inherit;line-height:1.25}:is(html[class~=dark]) .docs-search-esc{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#9ca3af}.docs-search-body{flex:1 1;overflow-y:auto;padding:.5rem}.docs-search-status{margin:0;padding:1.5rem 1rem;text-align:center;font-size:.875rem;color:#6b7280}.docs-search-error{color:#dc2626}.docs-search-result{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .85rem;border-radius:.5rem;text-decoration:none!important;color:inherit;border:1px solid transparent}.docs-search-result[data-active=true]{background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.2)}:is(html[class~=dark]) .docs-search-result[data-active=true]{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.28)}.docs-search-result-group{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.docs-search-result-title{font-size:.9375rem;font-weight:600;line-height:1.35;color:#111827}:is(html[class~=dark]) .docs-search-result-title{color:#f3f4f6}.docs-search-result-excerpt{font-size:.8125rem;line-height:1.4;color:#6b7280}.docs-search-result-excerpt mark{background:rgba(37,99,235,.85);color:#fff;border-radius:2px;padding:0 .1em}@media (max-width:640px){.docs-search-trigger{max-width:none;width:auto}.docs-navbar-tools .docs-search-trigger{min-width:0;flex:0 0 auto}.docs-search-trigger-label{display:none}.docs-search-overlay{padding:10vh .75rem 1rem;align-items:flex-start}.docs-search-modal{max-height:80vh}}.docs-ai-form button:focus-visible,.docs-ai-icon-button:focus-visible,.docs-ai-resize:focus-visible,.docs-ai-source:focus-visible,.docs-ai-suggestions button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:3px}.docs-ai-author-mark,.docs-ai-mark,.docs-ai-welcome-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;background:#262626;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:#ececec}.docs-ai-author-mark svg,.docs-ai-mark svg,.docs-ai-welcome-mark svg{width:1.15rem;height:1.15rem}.docs-ai-panel{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(var(--docs-ai-width,26.25rem),100vw);height:100%;display:flex;flex-direction:column;overflow:hidden;border:0;border-left:1px solid rgba(255,255,255,.08);border-radius:0;background:radial-gradient(120% 28% at 0 0,rgba(255,255,255,.05),transparent 46%),#111111;color:#ececec;box-shadow:-18px 0 40px rgba(0,0,0,.22);pointer-events:none;transform:translateX(100%);transition:transform var(--docs-ai-duration,.32s) var(--docs-ai-easing,cubic-bezier(.22,1,.36,1))}.docs-ai-panel.is-open{pointer-events:auto;transform:none}.docs-ai-panel.is-resizing,.docs-ai-panel.is-resizing *{-webkit-user-select:none;user-select:none}:is(html[class~=dark]) .docs-ai-panel{border-color:rgba(255,255,255,.1);background:#111111;color:#ececec;box-shadow:-16px 0 40px rgba(0,0,0,.28)}.docs-ai-resize{position:absolute;z-index:3;padding:0;border:0;background:transparent;touch-action:none}.docs-ai-resize-w{top:0;bottom:0;left:0;width:8px;cursor:ew-resize}.docs-ai-resize-w:after{content:"";position:absolute;top:50%;left:2px;width:3px;height:2.25rem;margin-top:-1.125rem;border-radius:999px;background:rgba(255,255,255,.18)}.docs-ai-panel.is-resizing .docs-ai-resize-w:after,.docs-ai-resize-w:hover:after{background:rgba(255,255,255,.45)}.docs-ai-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .95rem .8rem 1.05rem;border-bottom:1px solid rgba(255,255,255,.06)}.docs-ai-panel.is-busy .docs-ai-header:after{content:"";position:absolute;right:1rem;bottom:0;left:1rem;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:200% 100%;animation:docs-ai-scan 1.15s ease-in-out infinite}.docs-ai-heading{display:flex;align-items:center;gap:.75rem;min-width:0}.docs-ai-mark{width:2.35rem;height:2.35rem}.docs-ai-heading h2{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.03em;line-height:1.15}.docs-ai-heading p{margin:.16rem 0 0;color:#a3a3a3;font-size:.72rem;line-height:1.3}:is(html[class~=dark]) .docs-ai-heading p{color:#a3a3a3}.docs-ai-header-actions{display:flex;gap:.3rem}.docs-ai-icon-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:.65rem;background:transparent;color:#a3a3a3;cursor:pointer}.docs-ai-icon-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.docs-ai-icon-button:hover{background:rgba(255,255,255,.08);color:#ececec}:is(html[class~=dark]) .docs-ai-icon-button{color:#a3a3a3}:is(html[class~=dark]) .docs-ai-icon-button:hover{background:rgba(255,255,255,.08);color:#ececec}.docs-ai-messages{flex:1 1;min-height:0;overflow-y:auto;padding:.85rem 1.05rem 1.25rem;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.docs-ai-messages::-webkit-scrollbar{width:3px}.docs-ai-messages::-webkit-scrollbar-track{background:transparent}.docs-ai-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}.docs-ai-messages::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}.docs-ai-welcome{display:flex;flex-direction:column;justify-content:flex-start;padding:.5rem .15rem .4rem}.docs-ai-welcome-mark{width:3rem;height:3rem;margin-bottom:1rem}.docs-ai-welcome-mark svg{width:1.45rem;height:1.45rem}.docs-ai-kicker{margin:0 0 .35rem;color:#d4d4d4;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}:is(html[class~=dark]) .docs-ai-kicker{color:#d4d4d4}.docs-ai-welcome h3{margin:0;max-width:16rem;font-size:1.65rem;font-weight:650;letter-spacing:-.04em;line-height:1.12}.docs-ai-welcome>p:last-of-type,.docs-ai-welcome>p:nth-of-type(2){max-width:24rem;margin:.7rem 0 0;color:#a3a3a3;font-size:.9rem;line-height:1.55}:is(html[class~=dark]) .docs-ai-welcome>p:nth-of-type(2){color:#a3a3a3}.docs-ai-suggestions{display:flex;flex-direction:column;gap:.45rem;margin-top:1.15rem}.docs-ai-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.75rem .8rem;border:1px solid rgba(255,255,255,.1);border-radius:.85rem;background:#1a1a1a;color:#ececec;font:inherit;font-size:.86rem;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.docs-ai-suggestions button svg{width:.9rem;height:.9rem;flex-shrink:0;fill:none;stroke:#d4d4d4;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.docs-ai-suggestions button:hover:not(:disabled){border-color:rgba(255,255,255,.22);background:#222;transform:translateX(2px)}:is(html[class~=dark]) .docs-ai-suggestions button{border-color:rgba(255,255,255,.1);background:#1a1a1a;color:#ececec}:is(html[class~=dark]) .docs-ai-suggestions button:hover:not(:disabled){border-color:rgba(255,255,255,.22);background:#222}.docs-ai-message{display:flex;flex-direction:column;margin-bottom:1.15rem}.docs-ai-author{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;color:#a3a3a3;font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.docs-ai-author-user{align-self:flex-end}.docs-ai-author-mark{width:1rem;height:1rem}.docs-ai-author-mark svg{width:.62rem;height:.62rem}.docs-ai-message-content{max-width:92%;padding:0;border-radius:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.92rem;line-height:1.65}.docs-ai-message-user{align-items:flex-end}.docs-ai-message-user .docs-ai-message-content{max-width:86%;padding:.7rem .9rem;border-radius:1.1rem 1.1rem .35rem 1.1rem;background:#2a2a2a;color:#ececec;box-shadow:none}.docs-ai-message-assistant .docs-ai-message-content,.docs-ai-thinking{border:0;background:transparent;color:#ececec}:is(html[class~=dark]) .docs-ai-message-assistant .docs-ai-message-content,:is(html[class~=dark]) .docs-ai-thinking{border:0;background:transparent;color:#ececec}.docs-ai-sources{display:flex;width:100%;flex-direction:column;gap:.35rem;margin-top:.7rem}.docs-ai-sources>span{color:#8a8a8a;font-size:.64rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.docs-ai-source{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.5rem .65rem;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;background:rgba(255,255,255,.03);color:#ececec!important;text-decoration:none!important;transition:border-color .15s ease,background .15s ease}.docs-ai-source em{color:#d4d4d4;font-style:normal;font-size:.68rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.docs-ai-source span{display:flex;min-width:0;flex-direction:column;gap:.08rem}.docs-ai-source strong{font-size:.78rem;font-weight:650}.docs-ai-source small,.docs-ai-source strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-ai-source small{color:#a3a3a3;font-size:.68rem}.docs-ai-source svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.docs-ai-source:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}:is(html[class~=dark]) .docs-ai-source{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#ececec!important}:is(html[class~=dark]) .docs-ai-source small{color:#a3a3a3}.docs-ai-thinking{display:flex;gap:.32rem;width:fit-content;padding:.35rem 0;border-radius:0}.docs-ai-thinking span{width:.38rem;height:.38rem;border-radius:999px;background:#a3a3a3;animation:docs-ai-pulse 1.2s ease-in-out infinite}.docs-ai-thinking span:nth-child(2){animation-delay:.15s}.docs-ai-thinking span:nth-child(3){animation-delay:.3s}@keyframes docs-ai-pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@keyframes docs-ai-scan{0%{background-position:100% 0}to{background-position:-100% 0}}.docs-ai-error{margin:.2rem 0 .8rem;padding:.7rem .8rem;border:1px solid rgba(252,165,165,.28);border-radius:.75rem;background:#2a1515;color:#fecaca;font-size:.78rem;line-height:1.45}:is(html[class~=dark]) .docs-ai-error{border-color:rgba(252,165,165,.2);background:rgba(220,38,38,.14);color:#fecaca}.docs-ai-form{display:flex;align-items:flex-end;padding:.55rem .9rem 1rem;background:transparent}.docs-ai-field{position:relative;flex:1 1;min-width:0}.docs-ai-field .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}.docs-ai-form textarea{display:block;width:100%;min-height:3.1rem;max-height:10rem;resize:none;padding:.9rem 3.15rem .9rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;outline:none;background:#1a1a1a;color:#ececec;font:inherit;font-size:.92rem;line-height:1.45;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.docs-ai-form textarea::-webkit-scrollbar{width:3px}.docs-ai-form textarea::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}.docs-ai-form textarea::placeholder{color:#737373}.docs-ai-form textarea:focus{border-color:rgba(255,255,255,.2);background:#1c1c1c;box-shadow:0 0 0 3px rgba(255,255,255,.04)}:is(html[class~=dark]) .docs-ai-form textarea{border-color:rgba(255,255,255,.1);background:#1a1a1a;color:#ececec}:is(html[class~=dark]) .docs-ai-form textarea:focus{background:#1c1c1c}.docs-ai-form button{position:absolute;right:.45rem;bottom:.45rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.15rem;height:2.15rem;padding:0;border:0;border-radius:999px;background:#ececec;color:#111111;box-shadow:none;cursor:pointer}.docs-ai-form button svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.docs-ai-form button:hover:not(:disabled){background:#fff}.docs-ai-form button:disabled,.docs-ai-suggestions button:disabled{cursor:not-allowed;opacity:.45}html:not([class~=dark]) .docs-ai-panel{border-color:#e5e7eb;background:#ffffff;color:#171717;box-shadow:-16px 0 36px rgba(15,23,42,.12)}html:not([class~=dark]) .docs-ai-resize-w:after{background:rgba(15,23,42,.16)}html:not([class~=dark]) .docs-ai-panel.is-resizing .docs-ai-resize-w:after,html:not([class~=dark]) .docs-ai-resize-w:hover:after{background:rgba(15,23,42,.38)}html:not([class~=dark]) .docs-ai-header{border-color:#e5e7eb}html:not([class~=dark]) .docs-ai-panel.is-busy .docs-ai-header:after{background:linear-gradient(90deg,transparent,rgba(15,23,42,.4),transparent)}html:not([class~=dark]) .docs-ai-author,html:not([class~=dark]) .docs-ai-heading p,html:not([class~=dark]) .docs-ai-source small,html:not([class~=dark]) .docs-ai-welcome>p:nth-of-type(2){color:#6b7280}html:not([class~=dark]) .docs-ai-kicker,html:not([class~=dark]) .docs-ai-source em{color:#4b5563}html:not([class~=dark]) .docs-ai-icon-button{color:#6b7280}html:not([class~=dark]) .docs-ai-icon-button:hover{background:rgba(15,23,42,.06);color:#111827}html:not([class~=dark]) .docs-ai-messages{scrollbar-color:rgba(15,23,42,.2) transparent}html:not([class~=dark]) .docs-ai-form textarea::-webkit-scrollbar-thumb,html:not([class~=dark]) .docs-ai-messages::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18)}html:not([class~=dark]) .docs-ai-messages::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.3)}html:not([class~=dark]) .docs-ai-suggestions button{border-color:#e5e7eb;background:#f9fafb;color:#171717}html:not([class~=dark]) .docs-ai-suggestions button svg{stroke:#4b5563}html:not([class~=dark]) .docs-ai-suggestions button:hover:not(:disabled){border-color:#d1d5db;background:#f3f4f6}html:not([class~=dark]) .docs-ai-message-user .docs-ai-message-content{background:#e5e7eb;color:#171717}html:not([class~=dark]) .docs-ai-message-assistant .docs-ai-message-content,html:not([class~=dark]) .docs-ai-thinking{color:#171717}html:not([class~=dark]) .docs-ai-sources>span{color:#6b7280}html:not([class~=dark]) .docs-ai-source{border-color:#e5e7eb;background:#f9fafb;color:#171717!important}html:not([class~=dark]) .docs-ai-source:hover{border-color:#d1d5db;background:#f3f4f6}html:not([class~=dark]) .docs-ai-thinking span{background:#6b7280}html:not([class~=dark]) .docs-ai-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}html:not([class~=dark]) .docs-ai-form textarea{border-color:#d1d5db;background:#ffffff;color:#171717;box-shadow:inset 0 1px 0 rgba(15,23,42,.02);scrollbar-color:rgba(15,23,42,.18) transparent}html:not([class~=dark]) .docs-ai-form textarea::placeholder{color:#9ca3af}html:not([class~=dark]) .docs-ai-form textarea:focus{border-color:#9ca3af;background:#ffffff;box-shadow:0 0 0 3px rgba(15,23,42,.06)}html:not([class~=dark]) .docs-ai-form button{background:#171717;color:#ffffff}html:not([class~=dark]) .docs-ai-form button:hover:not(:disabled){background:#000000}@media (max-width:640px){body{padding-right:0!important}.docs-ai-nav-trigger span:not(.docs-ai-nav-trigger-mark){display:none}.docs-ai-nav-trigger{padding:0 .55rem}.docs-ai-panel{left:0;width:100%!important;border-left:0}.docs-ai-resize{display:none}}@media (prefers-reduced-motion:reduce){.docs-ai-panel,.docs-ai-panel.is-busy .docs-ai-header:after,.docs-ai-resize,.docs-ai-source,.docs-ai-suggestions button,.docs-ai-thinking span,body{transition:none;animation:none;transform:none}}:is(article,main,.nextra-content) div:has(>svg .node),:is(article,main,.nextra-content) div:has(>svg .statediagram-state),:is(article,main,.nextra-content) div:has(>svg[aria-roledescription]),:is(article,main,.nextra-content) div:has(>svg[class*=flowchart]),:is(article,main,.nextra-content) div:has(>svg[class*=statediagram]){margin:2rem 0 2.5rem;padding:1.75rem 1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid #e5e7eb;background:#fafafa;line-height:1.4}:is(html[class~=dark]) :is(article,main,.nextra-content) div:has(>svg .node),:is(html[class~=dark]) :is(article,main,.nextra-content) div:has(>svg .statediagram-state),:is(html[class~=dark]) :is(article,main,.nextra-content) div:has(>svg[aria-roledescription]),:is(html[class~=dark]) :is(article,main,.nextra-content) div:has(>svg[class*=flowchart]),:is(html[class~=dark]) :is(article,main,.nextra-content) div:has(>svg[class*=statediagram]){border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}:is(article,main,.nextra-content) div:has(>svg .node)>svg,:is(article,main,.nextra-content) div:has(>svg .statediagram-state)>svg,:is(article,main,.nextra-content) div:has(>svg[aria-roledescription])>svg,:is(article,main,.nextra-content) div:has(>svg[class*=flowchart])>svg,:is(article,main,.nextra-content) div:has(>svg[class*=statediagram])>svg{display:block;width:100%!important;max-width:100%;min-height:240px;height:auto!important;margin:0 auto}:is(article,main,.nextra-content) div:has(>svg) .edgeLabel,:is(article,main,.nextra-content) div:has(>svg) .label,:is(article,main,.nextra-content) div:has(>svg) .nodeLabel,:is(article,main,.nextra-content) div:has(>svg) foreignObject div,:is(article,main,.nextra-content) div:has(>svg) foreignObject span{font-size:15px!important;line-height:1.4!important}:is(article,main,.nextra-content) div:has(>svg) .cluster span,:is(article,main,.nextra-content) div:has(>svg) .cluster-label .nodeLabel{font-size:14px!important;font-weight:600!important}:is(article,main,.nextra-content) p:has(>a img),:is(article,main,.nextra-content) p:has(>img),:is(article,main,.nextra-content) p:has(>span img){margin:1.75rem 0 2rem}:is(article,main,.nextra-content) img{border-radius:10px}.docs-footer{width:100%;text-align:left}.docs-footer-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:2rem 3rem;padding-bottom:1.75rem;border-bottom:1px solid #e5e7eb}:is(html[class~=dark]) .docs-footer-top{border-bottom-color:rgba(255,255,255,.1)}.docs-footer-logo{display:inline-block;font-size:1.125rem;font-weight:800;letter-spacing:.02em;line-height:1.2}.docs-footer-tagline{margin:.625rem 0 0;max-width:22rem;font-size:.875rem;line-height:1.5;color:#6b7280}:is(html[class~=dark]) .docs-footer-tagline{color:#9ca3af}.docs-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.docs-footer-heading{margin:0 0 .75rem;font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}:is(html[class~=dark]) .docs-footer-heading{color:#9ca3af}.docs-footer-col ul{margin:0;padding:0;list-style:none}.docs-footer-col li+li{margin-top:.5rem}.docs-footer-col a{font-size:.875rem;line-height:1.4;color:inherit;text-decoration:none;opacity:.9}.docs-footer-col a:hover{opacity:1;text-decoration:underline;text-underline-offset:.15em}.docs-footer-cta{font-weight:600;color:#2563eb!important;opacity:1!important}:is(html[class~=dark]) .docs-footer-cta{color:#60a5fa!important}.docs-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.25rem}.docs-footer-bottom p{margin:0;font-size:.8125rem;color:#6b7280}:is(html[class~=dark]) .docs-footer-bottom p{color:#9ca3af}.docs-footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.docs-footer-demo-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:.5rem;background:#2563eb;color:#fff!important;font-size:.8125rem;font-weight:600;line-height:1.25;text-decoration:none!important;transition:background .15s ease}.docs-footer-demo-btn:hover{background:#1d4ed8}@media (max-width:860px){.docs-footer-top{grid-template-columns:1fr;gap:1.75rem}.docs-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.docs-footer-nav{grid-template-columns:1fr;gap:1.25rem}.docs-footer-bottom{flex-direction:column;align-items:flex-start}}.erpx-faq{display:flex;flex-direction:column;gap:.625rem;margin:1.25rem 0}.erpx-faq-item{border:1px solid var(--x-color-neutral-400,#e5e7eb);border-radius:.625rem;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.erpx-faq-item:hover{border-color:#93c5fd;box-shadow:0 1px 4px rgba(15,23,42,.06)}.erpx-faq-question{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.875rem;padding:.9rem 1.1rem;font-weight:600;font-size:.95rem;line-height:1.4;color:#111827}.erpx-faq-question::-webkit-details-marker{display:none}.erpx-faq-question::marker{content:""}.erpx-faq-chevron{flex-shrink:0;color:#6b7280;transition:transform .2s ease}.erpx-faq-item[open] .erpx-faq-chevron{transform:rotate(180deg)}.erpx-faq-item[open] .erpx-faq-question{color:#1d4ed8}.erpx-faq-answer{margin:0;border-top:1px solid var(--x-color-neutral-200,#f1f3f5);padding:.75rem 1.1rem 1rem;color:#4b5563;font-size:.9rem;line-height:1.65}:is(html[class~=dark]) .erpx-faq-item{border-color:#2a2f3a;background:#16181d}:is(html[class~=dark]) .erpx-faq-item:hover{border-color:#3b82f6;box-shadow:0 1px 4px rgba(0,0,0,.35)}:is(html[class~=dark]) .erpx-faq-question{color:#e5e7eb}:is(html[class~=dark]) .erpx-faq-item[open] .erpx-faq-question{color:#60a5fa}:is(html[class~=dark]) .erpx-faq-chevron{color:#9ca3af}:is(html[class~=dark]) .erpx-faq-answer{color:#9ca3af;border-top-color:#2a2f3a}.fig{--fig-panel:#ffffff;--fig-inset:#f9fafb;--fig-border:#e5e7eb;--fig-border-soft:#f0f1f3;--fig-text:#111827;--fig-muted:#6b7280;--fig-faint:#9ca3af;--fig-raw:#2563eb;--fig-raw-soft:rgba(37,99,235,0.1);--fig-wip:#d97706;--fig-wip-soft:rgba(217,119,6,0.12);--fig-fg:#059669;--fig-fg-soft:rgba(5,150,105,0.12);--fig-scrap:#e11d48;--fig-scrap-soft:rgba(225,29,72,0.1);--fig-people:#7c3aed;--fig-people-soft:rgba(124,58,237,0.12);--fig-faint-soft:rgba(107,114,128,0.08);--fig-track:#e5e7eb;margin:1.75rem 0 2rem;border:1px solid var(--fig-border);border-radius:12px;background:var(--fig-panel);overflow:hidden}:is(html[class~=dark]) .fig{--fig-panel:rgba(255,255,255,0.028);--fig-inset:rgba(255,255,255,0.035);--fig-border:rgba(255,255,255,0.1);--fig-border-soft:rgba(255,255,255,0.07);--fig-text:rgba(255,255,255,0.92);--fig-muted:rgba(255,255,255,0.55);--fig-faint:rgba(255,255,255,0.38);--fig-raw:#60a5fa;--fig-raw-soft:rgba(96,165,250,0.16);--fig-wip:#fbbf24;--fig-wip-soft:rgba(251,191,36,0.16);--fig-fg:#34d399;--fig-fg-soft:rgba(52,211,153,0.16);--fig-scrap:#fb7185;--fig-scrap-soft:rgba(251,113,133,0.16);--fig-people:#a78bfa;--fig-people-soft:rgba(167,139,250,0.16);--fig-faint-soft:rgba(255,255,255,0.06);--fig-track:rgba(255,255,255,0.12)}.fig-head{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem .7rem 1rem;border-bottom:1px solid var(--fig-border-soft);background:var(--fig-inset)}.fig-title{flex:1 1;min-width:0;margin:0;font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--fig-text)}.fig-replay{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border:1px solid var(--fig-border);border-radius:6px;background:var(--fig-panel);color:var(--fig-muted);font:inherit;font-size:.7rem;font-weight:500;line-height:1.4;cursor:pointer;transition:color .15s ease,border-color .15s ease}.fig-replay:hover{color:var(--fig-text);border-color:var(--fig-faint)}.fig-replay:focus-visible{outline:2px solid var(--fig-raw);outline-offset:2px}.fig-replay svg{width:11px;height:11px}.fig-body{padding:1.1rem 1rem .9rem;overflow-x:auto}.fig-body>svg{display:block;width:100%;height:auto;min-width:460px;overflow:visible}.fig-caption{margin:0;padding:0 1.1rem 1rem;font-size:.8125rem;line-height:1.6;color:var(--fig-muted)}.fig-caption strong{color:var(--fig-text);font-weight:600}.fig svg text{font-family:inherit;fill:var(--fig-text)}.fig .f-label{font-size:11.5px;font-weight:600}.fig .f-sub{font-size:10px;fill:var(--fig-muted);font-weight:500}.fig .f-tiny{font-size:9px;fill:var(--fig-faint);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.fig .f-num{font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fig .f-box{fill:var(--fig-inset);stroke:var(--fig-border);stroke-width:1}.fig .f-wire{fill:none;stroke:var(--fig-track);stroke-width:1.5;stroke-linecap:round}.fig[data-playing=false] *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.fig *{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.fig-replay{display:none}}