:root{--sy-f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--nominal-f-label:"Geist Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--nominal-label-tracking:0.1em;--nominal-green:#419b55;--accent-9:#0c0c0c;--accent-10:#333333;--accent-a11:#0c0c0c;--accent-a12:#0c0c0c;--sy-c-link:#0c0c0c;--sy-c-link-hover:#6b6b6b}:root,html.light{--sy-c-background:#ffffff;--sy-c-surface:#f5f5f5;--sy-c-text:#333333;--sy-c-heading:#0c0c0c;--sy-c-bold:#0c0c0c;--sy-c-light:#6b6b6b;--sy-c-border:rgba(18,18,18,0.11);--sy-c-divider:rgba(18,18,18,0.11);--sy-c-foot-background:#f5f5f5;--nominal-header:#f5f5f5;--code-block-background:#f5f5f5;--nominal-card:#ffffff;--nominal-card-hover:#f3f3f3}.mermaid-container .mermaid-fullscreen-btn{font-size:0;top:auto!important;bottom:4px}.mermaid-container .mermaid-fullscreen-btn::before{content:"";width:14px;height:14px;background-color:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / contain no-repeat}html.light .sd-tab-content,html.light .jupyter_container .cell_output{--code-block-background:#f5f5f5}.highlight-text pre{white-space:pre-wrap}html.nominal-js .yue div.highlight{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid var(--sy-c-border)}html.nominal-js .yue div.highlight::before{grid-area:1 / 1 / 2 / -1;content:attr(data-lang) "\200b";display:block;padding:0.3rem 0.8rem;border-bottom:1px solid var(--sy-c-border);background-color:var(--sy-c-background);color:var(--sy-c-light);font:500 0.72rem/1.6 var(--sy-f-mono);letter-spacing:0.06em;text-transform:uppercase;text-align:center}html.nominal-js .yue div.highlight>pre{grid-area:2 / 1 / 3 / -1;min-width:0;border-radius:0}@media screen{html.nominal-js .yue div.highlight.nominal-folded>pre{display:none}html.nominal-js .yue div.highlight.nominal-folded::before{border-bottom:none}}.yue div.highlight button.copybtn,.yue div.highlight button.nominal-fold-one{position:static;opacity:1;width:auto;height:auto;padding:0 0.2rem;border:none;background:none;color:var(--sy-c-text);font:500 0.72rem/1.6 var(--sy-f-mono);letter-spacing:0.06em;text-transform:uppercase;cursor:pointer}.yue div.highlight button.nominal-fold-one{grid-area:1 / 1;margin-left:0.6rem}.yue div.highlight button.copybtn{grid-area:1 / 3;margin-right:0.5rem;gap:0.3rem}.yue div.highlight button.copybtn>svg{width:0.95rem;height:0.95rem;padding:0}.yue div.highlight button.copybtn::before{content:attr(data-tooltip);order:1}.yue div.highlight button.copybtn::after{display:none}.yue div.highlight button.copybtn:hover,.yue div.highlight button.nominal-fold-one:hover{background:none;color:var(--sy-c-bold);text-decoration:underline}.yue div.highlight button.copybtn.success{color:var(--green-a10)}@media print{html.nominal-js .yue div.highlight::before,.yue div.highlight button.nominal-fold-one{display:none}}html.dark{--accent-9:#ffffff;--accent-10:#e5e5e5;--accent-a11:#ffffff;--accent-a12:#ffffff;--sy-c-link:#ffffff;--sy-c-link-hover:#a3a3a3;--sy-c-background:#121722;--sy-c-surface:#1e2433;--sy-c-text:#d4d4d4;--sy-c-heading:#ffffff;--sy-c-bold:#ffffff;--sy-c-light:#a3a3a3;--sy-c-border:rgba(255,255,255,0.1);--sy-c-divider:rgba(255,255,255,0.1);--sy-c-foot-background:#0b0e15;--nominal-header:#0b0e15;--code-block-background:#0b0e15;--nominal-card:#1a2030;--nominal-card-hover:#232a3c}.sy-head-blur{background-color:var(--nominal-header);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 var(--sy-c-divider)}*,*::before,*::after{border-radius:0!important}:root{--nominal-grid-line:rgba(0,0,0,0.04)}html.dark{--nominal-grid-line:rgba(150,175,255,0.04)}:root,body,.sy-head-blur{background-image:linear-gradient(to right,var(--nominal-grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--nominal-grid-line) 1px,transparent 1px);background-size:60px 60px;background-attachment:fixed}.yue h1,.yue h2,.yue h3{font-weight:500;letter-spacing:-0.01em}.yue a.reference,.yue a.external{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.sy-head-brand img{height:28px;width:auto}.sy-head-brand strong{font-family:var(--nominal-f-label);font-size:1.25rem;font-weight:400;letter-spacing:0.02em;text-transform:uppercase;color:var(--sy-c-heading)}.nominal-hub{display:flex;align-items:center;flex-shrink:0}.nominal-home{display:flex}.nominal-hub img{height:22px;width:auto}.nominal-hub .dark-logo,.dark .nominal-hub .light-logo{display:none}.dark .nominal-hub .dark-logo{display:inline}:root,html.light{--nominal-path-text:#525252}html.dark{--nominal-path-text:#a3a3a3}.sy-head{--nominal-path-hover:var(--sy-c-heading);--nominal-path-font:var(--nominal-f-label)}.nominal-hub-divider{margin:0 0.4rem;color:#7a7a7a;font-size:1.25rem;font-weight:300}.nominal-tabs-divider{margin-right:0.25rem}@media (max-width:767px){.nominal-tabs-divider{display:none}.sy-head-inner{justify-content:flex-start}.sy-head-actions{margin-left:auto}}dl.py>dd{margin-left:0;padding-left:1.25rem;border-left:1px solid var(--sy-c-divider)}dl.py.class>dt,dl.py.function>dt,dl.py.pydantic_model>dt{font-size:0.95em}:root,html.light{--nominal-api-keyword:#a626a4;--nominal-api-name:#1f60f0;--nominal-api-param:var(--sy-c-text);--nominal-api-type:#916301;--nominal-api-default:#cc2d1e;--nominal-api-punct:#6a6b72}html.dark{--nominal-api-keyword:#c678dd;--nominal-api-name:#61afef;--nominal-api-param:#abb2bf;--nominal-api-type:#e5c07b;--nominal-api-default:#d19a66;--nominal-api-punct:#8e929b}.yue dt.sig{font-weight:400;color:var(--nominal-api-punct)}.yue dt.sig .property,.yue dt.sig>em.property:first-child{color:var(--nominal-api-keyword)}.yue dt.sig .sig-prename{color:var(--nominal-api-punct)}.yue dt.sig .sig-name{color:var(--nominal-api-name);font-weight:600}.yue dt.sig em.sig-param{color:var(--nominal-api-type)}.yue dt.sig em.sig-param>.n:first-child,.yue dt.sig em.sig-param>.o:first-child + .n{color:var(--nominal-api-param)}.yue dt.sig .default_value{color:var(--nominal-api-default)}.yue dt.sig .p,.yue dt.sig .o,.yue dt.sig .sig-paren,.yue dt.sig .sig-return-icon{color:var(--nominal-api-punct)}.yue dt.sig .sig-return-typehint,.yue dt.sig .sig-return-typehint>a{color:var(--nominal-api-type)}.yue dt.sig a.reference{color:inherit;font-weight:inherit;text-decoration:none}.yue dt.sig a.reference:hover{text-decoration:underline}.yue dt.sig + dd{color:var(--sy-c-text)}.yue dt.sig + dd>dl.field-list>dt{font-family:var(--sy-f-mono);font-size:0.84rem;font-weight:500;letter-spacing:0.04em;color:var(--sy-c-light)}.yue dt.sig + dd>dl.field-list>dd li>p>strong:first-child,.yue dt.sig + dd>dl.field-list>dd>p>strong:first-child{font-family:var(--sy-f-mono);font-weight:400;font-size:0.95em;color:var(--sy-c-heading)}.yue dl.field-list p.nominal-param-head em{font-family:var(--sy-f-mono);font-size:0.95em;font-style:normal;color:var(--nominal-api-type)}.yue dl.field-list p.nominal-param-head a.reference{text-decoration:none}.yue dl.field-list p.nominal-param-head a.reference:hover{text-decoration:underline}.yue dl.field-list ul.nominal-params{list-style:none;padding-left:0}.yue dl.field-list ul.nominal-params>li{margin:0 0 0.75rem}.yue dl.field-list p.nominal-param-head{margin:0}.yue dl.field-list p.nominal-param-desc{margin:0.15rem 0 0 1.5rem}.sy-rside .localtoc a,.sy-rside a{overflow-wrap:anywhere}.sy-lside .globaltoc a{overflow-wrap:anywhere}.sy-lside .globaltoc>ul{padding-left:0.75rem}.sy-lside .globaltoc>ul a{font-size:0.8125rem}.sy-rside .localtoc a{font-size:0.8125rem}.sy-rside .localtoc code,.sy-rside .localtoc .pre{font-family:inherit;font-size:inherit}:root{--yue-c-th-background:var(--gray-a4)}.cell_output .output.text_html{max-width:100%;overflow-x:auto}.yue p.lead{font-size:1.125rem;color:var(--sy-c-light);margin-top:-0.5rem}.sd-card{border:1px solid var(--sy-c-border);box-shadow:none!important;background:var(--nominal-card)}.sd-card:hover{background:var(--nominal-card-hover);border-color:var(--sy-c-text)}html.dark .sd-card:hover{border-color:rgba(255,255,255,0.25)}.sd-card .sd-card-title{font-weight:600;margin-bottom:0}.yue .sd-tab-content>:first-child:not([class*="highlight"],.literal-block-wrapper,.sd-tab-set){margin-top:0.75rem!important}.steps{counter-reset:step;margin:1.5rem 0}.steps>.step{counter-increment:step;position:relative;padding:0 0 1rem 2.75rem;border-left:1px solid var(--sy-c-divider);margin-left:0.875rem}.steps>.step::before{content:counter(step);position:absolute;left:-0.875rem;top:0;width:1.75rem;height:1.75rem;line-height:1.75rem;text-align:center;font-size:0.8125rem;font-weight:600;color:var(--sy-c-background);background:var(--sy-c-heading)}.steps>.step:last-child{border-left-color:transparent}.nominal-btn{display:inline-flex;align-items:center;margin-left:0.75rem;padding:0.55rem 0.875rem;border:1px solid var(--sy-c-heading);font-family:var(--nominal-f-label);font-size:0.75rem;font-weight:400;letter-spacing:var(--nominal-label-tracking);line-height:1.35;text-transform:uppercase;white-space:nowrap;color:var(--sy-c-heading)!important;text-decoration:none!important;transition:background-color 0.3s ease-in-out,border-color 0.3s ease-in-out}.nominal-btn:hover{background-color:var(--gray-a3)}@media (max-width:767px){.nominal-head-buttons{flex-wrap:wrap;justify-content:flex-start;gap:0.75rem;padding:0 1rem}.nominal-head-buttons .nominal-btn{margin-left:0}}.nominal-btn-icon{flex-shrink:0;margin-right:0.4rem}.nominal-btn-filled{background-color:var(--sy-c-heading);color:var(--sy-c-background)!important}.nominal-btn-filled:hover{background-color:var(--sy-c-light);border-color:var(--sy-c-light)}.yue iframe{max-width:100%}.sy-head-links a{font-family:var(--nominal-f-label);font-size:0.8125rem;font-weight:400;letter-spacing:var(--nominal-label-tracking);text-transform:uppercase;color:var(--sy-c-light)}.sy-head-links a:hover,.sy-head-links a.current{color:var(--sy-c-heading)}.sy-head-links a,.sy-head-links button{display:inline-flex;align-items:center;gap:0.4rem}.sy-head-links iconify-icon{font-size:1rem}body:has(.sy-head)>.sy-page,body:has(.sy-head)>.sy-container.body{background-color:var(--sy-c-background)}@media (min-width:768px){:root:has(.sy-head),body:has(.sy-head){background-color:var(--nominal-header)}body:has(.sy-head)>.sy-page,body:has(.sy-head)>.sy-container.body{width:calc(100% - 2 * var(--nominal-sheet-gap));margin-bottom:var(--nominal-sheet-gap);border-radius:var(--nominal-tab-radius)!important}body:has(.sy-head:not(.nominal-two-row))>.sy-page,body:has(.sy-head:not(.nominal-two-row))>.sy-container.body{margin-top:var(--nominal-sheet-gap)}body:has(.sy-head)>.sy-foot{background-color:transparent;border-top:0}.sy-head .sy-head-blur{box-shadow:none}}:root{--nominal-head-row:56px;--nominal-tabs-row:44px;--nominal-tabs-indent:2rem;--nominal-sheet-gap:1rem;--nominal-tab-radius:3px;--nominal-tab-shoulder:1.25rem}@media (min-width:768px){:root:has(.sy-head.nominal-two-row){--sy-s-navbar-height:calc(var(--nominal-head-row) + var(--nominal-tabs-row))}.nominal-two-row .sy-head-inner{display:grid;grid-template-columns:auto auto auto 1fr auto auto;grid-template-rows:var(--nominal-head-row) var(--nominal-tabs-row);grid-template-areas:"hub divider brand . extra actions" "tabs tabs tabs tabs search search";align-items:center}.nominal-two-row .sy-head-nav{display:contents}.nominal-two-row .nominal-hub{grid-area:hub}.nominal-two-row .nominal-hub-divider{grid-area:divider}.nominal-two-row .sy-head-brand{grid-area:brand}.nominal-two-row .nominal-tabs-divider{display:none}.nominal-two-row .sy-head-extra{display:contents}.nominal-two-row .sy-head-extra .searchbox{grid-area:search;justify-self:end}.nominal-two-row .nominal-head-buttons{grid-area:extra;justify-content:flex-end}.nominal-two-row .sy-head-actions{grid-area:actions}.nominal-two-row .sy-head-actions button,.nominal-two-row .nav-versions,.nominal-two-row .nav-languages{height:var(--nominal-head-row)}.nominal-two-row .sy-head-links{grid-area:tabs;align-self:stretch;align-items:flex-end;margin-left:calc(var(--nominal-tabs-indent) - 0.875rem);padding:0}.nominal-two-row .sy-head-links .link{height:calc(var(--nominal-tabs-row) - 0.375rem);margin-right:0.25rem;filter:drop-shadow(1px 0 0 var(--nominal-tab-edge)) drop-shadow(-1px 0 0 var(--nominal-tab-edge)) drop-shadow(0 -1px 0 var(--nominal-tab-edge))}.nominal-two-row .sy-head-links .link>a,.nominal-two-row .sy-head-links .link>button{height:100%;padding:0 calc(0.5rem + var(--nominal-tab-shoulder)) 0 1rem;background:var(--nominal-tab);clip-path:polygon(0 var(--nominal-tab-radius),var(--nominal-tab-radius) 0,calc(100% - var(--nominal-tab-shoulder)) 0,100% 100%,0 100%);transition:background-color 0.2s,color 0.2s}.nominal-two-row .sy-head-links .link:hover>a,.nominal-two-row .sy-head-links .link:hover>button{background:var(--nominal-tab-hover)}.nominal-two-row .sy-head-links a.current,.nominal-two-row .sy-head-links .link:hover>a.current{background:var(--sy-c-background)}}:root,html.light{--nominal-tab:#ebebeb;--nominal-tab-hover:#e2e2e2;--nominal-tab-edge:#d6d6d6}html.dark{--nominal-tab:#0f131c;--nominal-tab-hover:#171c28;--nominal-tab-edge:#1e2433}@media (max-width:767px){.sy-head-links a.current>span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}}.sy-lside .caption,.sy-rside .localtoc>h3{font-family:var(--nominal-f-label);font-weight:400;letter-spacing:var(--nominal-label-tracking)}.sy-lside .caption button.nominal-fold{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.sy-lside .caption button.nominal-fold:hover{color:var(--sy-c-text)}.sy-lside .caption button.nominal-fold>i{transition:transform 0.2s}.sy-lside .caption button.nominal-fold[aria-expanded="true"]>i{transform:rotate(90deg)}.sy-lside .globaltoc>ul[hidden]{display:none}.sy-lside .globaltoc>ul[hidden] + .caption{margin-top:0}.sy-lside .globaltoc>ul>li{background:linear-gradient(to right,var(--sy-c-divider) 50%,transparent 0) bottom left / 4px 1px repeat-x}.sy-lside .globaltoc>ul>li:last-child{background:none}.sy-lside .globaltoc a{display:block;margin:0 0 0 -0.75rem;padding:0.4rem 0.5rem 0.4rem 0.75rem;color:var(--sy-c-light);transition:color 0.2s}.sy-lside .globaltoc a:hover{color:var(--sy-c-heading)}.sy-lside .globaltoc li.current>a{color:var(--sy-c-text)}.sy-lside .globaltoc li.current:not(:has(li.current))>a{color:var(--sy-c-heading);box-shadow:inset 2px 0 0 var(--nominal-green)}@media (min-width:1280px){.sy-rside .sy-rside-inner{top:var(--sy-s-offset-top)}body:has(.sy-head.nominal-two-row)>.sy-page>.sy-main::before{content:"";display:block;position:sticky;top:var(--sy-s-offset-top);z-index:5;height:var(--nominal-sheet-gap);margin-bottom:calc(-1 * var(--nominal-sheet-gap));background-color:var(--sy-c-background)}}.sy-rside .localtoc>ul>li{background:linear-gradient(to right,var(--sy-c-divider) 50%,transparent 0) bottom left / 4px 1px repeat-x}.sy-rside .localtoc>ul>li:last-child{background:none}.sy-rside .localtoc a{display:block;padding:0.4rem 0;color:var(--sy-c-light);transition:color 0.2s}.sy-rside .localtoc a:hover,.sy-rside .localtoc li.active>a:hover{color:var(--sy-c-heading)}.sy-rside .localtoc li.active>a{color:var(--sy-c-light)}.sy-rside .localtoc li>a.nominal-current{color:var(--sy-c-heading);text-decoration:underline;text-decoration-color:var(--nominal-green);text-decoration-thickness:2px;text-underline-offset:5px}.sy-rside .nominal-fold-all{display:flex;align-items:center;gap:0.5rem;width:100%;margin:0 0 1.25rem;padding:0.4rem 0.6rem;border:1px solid var(--sy-c-border);border-radius:0.25rem;background:none;color:var(--sy-c-light);font-family:var(--nominal-f-label);font-size:0.75rem;letter-spacing:var(--nominal-label-tracking);text-transform:uppercase;cursor:pointer;transition:color 0.2s,border-color 0.2s}.sy-rside .nominal-fold-all:hover{color:var(--sy-c-heading);border-color:var(--nominal-green)}.sy-rside .nominal-fold-all .unfold,.sy-rside .nominal-fold-all.nominal-folded .fold{display:none}.sy-rside .nominal-fold-all.nominal-folded .unfold{display:block}.yue .sd-tab-set>input:checked + label{border-color:var(--nominal-green)}.yue a.headerlink{position:relative}.yue a.headerlink.nominal-copied::after{content:"Copied";position:absolute;left:100%;top:0;margin-left:0.4em;white-space:nowrap}section:has(img.callout-screenshot) h2,section:has(img.callout-screenshot) details.sd-dropdown{clear:both}ol.callouts>li::marker{color:#ef4444;font-weight:700}@media (max-width:640px){.yue img.callout-screenshot{float:none;display:block;margin:0 auto 1rem}}.yue pre a{text-decoration:none}.yue pre a:hover{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.2em}html.dark{--light:;--dark:initial}html.light{--dark:;--light:initial}div.cell>div.cell_input{border:0;border-radius:var(--radius);background:none}.nominal-theme-commit{margin-top:0.5rem;font-size:0.75rem}html.dark pre.mermaid>svg{filter:none}.yue th.text-left,.yue td.text-left{text-align:left}.yue th.text-center,.yue td.text-center{text-align:center}.yue th.text-right,.yue td.text-right{text-align:right;font-variant-numeric:tabular-nums}.yue table.dataframe th,.yue table.dataframe td{text-align:right;font-variant-numeric:tabular-nums}