html{--pg-width:90rem;--brand:#cf649a;--theme-1:color-mix(in srgb, var(--surf-1) 50%, var(--background));--theme-2:color-mix(in srgb, var(--surf-1) 60%, var(--background));--theme-3:color-mix(in srgb, var(--surf-1) 80%, var(--background));--theme-4:color-mix(in srgb, var(--surf-3) 50%, var(--background));scrollbar-gutter:stable;scrollbar-color:var(--surf-3)var(--surf-1)}body{min-block-size:100dvh;max-inline-size:var(--pg-width);margin-inline:auto;padding-inline:1rem}.section-page,.startup-page{display:grid;grid-template-areas:"banner banner" "menu main" "menu footer";grid-template-columns:minmax(0,13rem)minmax(0,auto);align-content:start;align-items:start}.startup-page :is(main,#footer){max-inline-size:66rem}.article-page{display:grid;grid-template-areas:"banner banner banner" "menu main aside" "menu footer aside";grid-template-columns:minmax(0,13rem)minmax(0,auto)minmax(0,16rem);align-content:start;align-items:start}#banner{grid-area:banner;position:sticky;inset-block-start:0;padding-block-start:1rem;background-color:color-mix(in srgb,var(--background) 96%,transparent);z-index:200}#banner nav{display:flex;align-items:center;column-gap:1rem;padding-block:.75rem;padding-inline:1rem;border:1px solid var(--theme-4);border-radius:.188rem;background-color:var(--theme-2)}#banner a{--ico:var(--text);--link:var(--text);--visited:var(--text);text-decoration:none}#banner a:not([href="/"]):hover{--ico:var(--hover)}#banner [href="/"]{--ico:#cf649a;--ico-xy:1.25em;--svg:var(--stylemods);color:var(--text);font-weight:500;display:inline-flex;align-items:center;place-content:center}#banner .github{margin-inline-start:auto}#banner .version{font-size:.75rem;font-weight:400;padding-block:.15rem;padding-inline:.4rem;border:1px solid var(--surf-2);border-radius:.188rem}#banner button{--btn-fs:0.85rem;--btn-py:0.2rem;--btn-px:0.4125rem}#themes{--ico:CanvasText;--btn-bg:transparent;--btn-hover:transparent;--btn-bd-color:transparent;margin-inline-end:.35rem}#themes:hover{--ico:var(--link)}[style="color-scheme: light;"] #themes{--svg:var(--sun)}[style="color-scheme: dark;"] #themes{--svg:var(--moon)}[aria-controls=menu]{display:none}[aria-controls=menu][aria-expanded=false]{--ico:var(--text);--svg:var(--bars);--btn-bg:transparent;--btn-hover:transparent;--btn-bd-color:transparent}[aria-controls=menu][aria-expanded=true]{--ico:#fff;--svg:var(--close);--btn-bg:var(--red-6);--btn-hover:var(--red-6);--btn-bd-color:var(--red-6)}#menu{grid-area:menu;position:sticky;inset-block-start:4.4rem;block-size:fit-content;max-block-size:calc(100dvh - 5.4rem);padding-block:1rem;padding-inline:1.25rem;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;z-index:100}.main-menu{--dt-fw:500;--dt-mt:0.6rem;--dd-ms:0;--list-mb:0}.main-menu a{text-decoration:none}.main-menu a:before{display:inline-block;content:"";block-size:var(--ico-xy,1em);inline-size:var(--ico-xy,1em);vertical-align:var(--ico-va,-.115em);background-color:var(--ico,CanvasText);mask-image:var(--svg);mask-repeat:no-repeat;opacity:var(--ico-op,1);margin-inline-end:.3rem}.main-menu [aria-current=page]{font-weight:700}.main-menu dt{font-size:.875rem;margin-block-end:.188rem}.main-menu dd{--svg:var(--circle-sm);--ico-op:0.35;margin-block-end:.063rem}.main-menu dd [aria-current=page]{--svg:var(--circle-inner-sm);--ico-op:1}.main-menu dd a:is(:hover,:focus):not([aria-current=page]){--svg:var(--circle-inner-sm);--ico-op:0.25}.main-menu .current-section{--svg:var(--circle-inner-sm);--ico-op:0.25}main{grid-area:main;padding-block:1.5rem;padding-inline:2rem}.page-title{padding-block-end:1rem;border-block-end:1px solid var(--theme-4)}.page-title+p{--para-fs:1.125rem}.section-title+p{--para-fs:1.125rem}h2[id]:not(.home h2){--heading-mb:1rem;padding-block-end:1rem;border-block-end:1px solid var(--theme-4)}h2[id]:not(.home h2,.page-title+p+h2){padding-block-start:.25rem}.anchor{font-size:85%;font-weight:400;opacity:0;transition:opacity .35s ease-in-out}.anchor:after{content:"#"}.anchor:is(:hover,:focus,:hover>.anchor,:target>.anchor){text-decoration:none;opacity:1}.table-wrap>table{white-space:nowrap}.home-page #banner:has([aria-controls=menu])+#menu{display:none}.home-page main{padding-block:2.5rem;padding-inline:0}#aside{grid-area:aside;position:sticky;inset-block-start:4.4rem;block-size:fit-content;max-block-size:calc(100dvh - 5.4rem);padding-block:1.5rem;padding-inline-start:.5rem;padding-inline-end:1rem;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}#aside .list-links{--dt-fw:500;--list-group-dt-bg:var(--theme-2);--list-group-bd-color:var(--theme-4);--list-group-py:0.35rem;--list-group-px:0.85rem;--list-group-hover:var(--theme-1);--ico-op:0.25}#aside .list-links dt{font-size:.75rem;text-transform:uppercase;line-height:1.4;display:flex;align-items:center;justify-content:space-between;padding-block:.5rem}#aside .list-links a{font-size:.875rem}#footer{--ico:var(--brand);--ico-xy:1.25em;--ico-va:-0.265em;grid-area:footer;margin-block-end:1rem;padding-inline:2rem}#footer div{padding-block:1rem;border-block-start:1px solid var(--theme-4)}:where(html){--book:url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='currentColor' xmlns='http://www.w3.org/2000/svg'><path d='m8.5 2.79c0.654-0.689 1.78-0.886 3.11-0.752 1.23 0.124 2.5 0.523 3.39 0.893v9.92c-0.918-0.35-2.11-0.692-3.29-0.81-1.09-0.111-2.28-0.039-3.21 0.492zm-0.5-0.904c-0.985-0.847-2.41-0.973-3.71-0.843-1.51 0.153-3.04 0.672-3.99 1.1a0.5 0.5 0 0 0-0.293 0.455v11a0.5 0.5 0 0 0 0.707 0.455c0.882-0.4 2.3-0.881 3.68-1.02 1.41-0.142 2.59 0.087 3.22 0.877a0.5 0.5 0 0 0 0.78 0c0.633-0.79 1.81-1.02 3.22-0.877 1.38 0.139 2.8 0.62 3.68 1.02a0.5 0.5 0 0 0 0.707-0.455v-11a0.5 0.5 0 0 0-0.293-0.455c-0.952-0.433-2.48-0.952-3.99-1.1-1.3-0.131-2.73-4e-3 -3.71 0.843'/></svg>")}.icon-demo *{--ico-xy:1.8em;font-size:.906rem;text-align:center;padding-block-start:1rem;padding-block-end:.75rem;padding-inline:.25rem;border:1px solid var(--surf-3)}.em-tab{line-height:1;display:inline-block;padding-block:.5rem;padding-inline:.65rem;border:1px solid var(--surf-3);border-block-end:none;border-start-start-radius:.188rem;border-start-end-radius:.188rem;background-color:var(--surf-1)}.em-tab+.highlight pre{border-radius:.188rem;border-start-start-radius:0}.form-demo label{display:block;margin-block-end:.1rem}.form-demo label:not(:first-child){margin-block-start:.25rem}.ratio-demo{font-size:.875rem;display:flex;flex-wrap:wrap;align-items:start;gap:1rem;margin-block-end:1rem}.ratio-demo *{display:grid;place-content:center;inline-size:var(--sz,15rem);border:1px solid var(--surf-3)}.grid-demo *{font-size:.875rem;line-height:1.35;text-align:center;padding:.5rem;border:1px solid var(--surf-3);background-color:var(--theme-3)}.border-demo,.borders-demo *{font-size:.875rem;text-align:center;background-color:var(--surf-1)}.shadow-demo *{text-align:center;padding:1rem;background-color:var(--surf-1)}.th-docs{inline-size:10rem;max-inline-size:fit-content}.skip:not(:focus):not(:focus-within){position:absolute;block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;display:block;inline-size:100%;max-inline-size:var(--pg-width);padding-block:1.25rem;padding-inline:1.5rem;z-index:1000;outline:none;border:1px solid var(--surf-3);border-block-start:none;border-radius:0;border-end-start-radius:.5rem;border-end-end-radius:.5rem;background-color:var(--background);box-shadow:var(--shadow-lg)}.skip:hover{text-decoration:underline;background-color:var(--surf-1)}@keyframes Target{from{outline-offset:-.25rem;outline-color:var(--link);outline-width:.063rem}to{outline-offset:1rem;outline-color:transparent;outline-width:.35rem}}:target{outline-width:0;outline-style:solid;outline-color:var(--link);border-radius:.5rem;scroll-margin-block-start:4.5rem}@media screen and (prefers-reduced-motion:no-preference){:target{outline-width:0;animation:Target 1.75s ease-out 1}}:where(html){color-scheme:light dark;--ch0:color-mix(in srgb, CanvasText 1%, var(--background));--ch1:light-dark(#c8c8fa, #3e4451);--ch2:light-dark(#565c64, #868e96);--ch3:light-dark(#030303, #565c64);--ch4:light-dark(#333, #abb2bf);--ch5:light-dark(#9a6700, #d19a66);--ch6:light-dark(#bc4c00, #d98c8c);--ch7:light-dark(#087990, #d19a66);--ch8:light-dark(#795da3, #e5c07b);--ch9:light-dark(#183691, #98c379);--ch10:light-dark(#a71d5d, #56b6c2);--ch11:light-dark(#a71d5d, #b3b3ff)}.chroma{color:var(--text);background-color:var(--ch0)}.chroma .hl{background-color:var(--ch1)}.chroma .c{color:var(--ch2)}.chroma .err{color:var(--ch6)}.chroma .k{color:var(--ch11)}.chroma .l{color:var(----ch7)}.chroma .n{color:var(--ch6)}.chroma .o{color:var(--ch4)}.chroma .p{color:var(--ch4)}.chroma .cm{color:var(--ch3)}.chroma .cp{color:var(--ch6)}.chroma .c1{color:var(--ch2)}.chroma .cs{color:var(--ch3)}.chroma .gd{color:var(--ch6)}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;color:#fff}.chroma .gi{color:var(--blue)}.chroma .gp{font-weight:600;color:var(--ch3)}.chroma .gs{font-weight:600}.chroma .gu{font-weight:600;color:var(--ch10)}.chroma .kc{color:var(--ch11)}.chroma .kd{color:var(--ch11)}.chroma .kn{color:var(--ch10)}.chroma .kp{color:var(--ch11)}.chroma .kr{color:var(--ch11)}.chroma .kt{color:var(--ch8)}.chroma .ld{color:var(--ch10)}.chroma .m{color:var(--ch7)}.chroma .s{color:var(--ch10)}.chroma .na{color:var(--ch8)}.chroma .nb{color:var(--ch4)}.chroma .nc{color:var(--ch5)}.chroma .no{color:var(--ch6)}.chroma .nd{color:var(--ch5)}.chroma .ni{color:var(--ch6)}.chroma .ne{color:var(--ch6)}.chroma .nf{color:var(--ch9)}.chroma .nl{color:var(--ch4)}.chroma .nn{color:var(--ch8)}.chroma .nx{color:var(--ch8)}.chroma .py{color:var(--ch6)}.chroma .nt{color:var(--ch6)}.chroma .nv{color:var(--ch6)}.chroma .ow{color:var(--ch10)}.chroma .w{color:#fff}.chroma .mf{color:var(--ch7)}.chroma .mh{color:var(--ch7)}.chroma .mi{color:var(--ch7)}.chroma .mo{color:var(--ch7)}.chroma .sb{color:var(--ch10)}.chroma .sc{color:#fff}.chroma .sd{color:var(--ch3)}.chroma .s2{color:var(--ch10)}.chroma .se{color:var(--ch7)}.chroma .sh{color:var(--ch10)}.chroma .si{color:var(--ch7)}.chroma .sx{color:var(--ch10)}.chroma .sr{color:var(--ch10)}.chroma .s1{color:var(--ch10)}.chroma .ss{color:var(--ch10)}.chroma .bp{color:var(--ch4)}.chroma .vc{color:var(--ch6)}.chroma .vg{color:var(--ch6)}.chroma .vi{color:var(--ch6)}.chroma .il{color:var(--ch7)}@media(width <= 1280px){.article-page{grid-template-columns:minmax(0,12.25rem)minmax(0,auto)minmax(0,15.25rem)}}@media(width <= 1024px){html{scrollbar-gutter:initial}body:not(.error){display:revert;padding-inline:0}#banner{padding-block-start:initial;background-color:var(--background)}#banner nav{column-gap:.5rem;border:initial;border-block-end:1px solid var(--surf-3);border-radius:initial;background-color:var(--surf-1)}#banner .quickstart{margin-inline-start:.5rem}#banner .github{padding-inline:.5rem}[aria-controls=menu]{display:initial}#banner:has([aria-controls=menu][aria-expanded=false])+#menu{display:none}#banner:has([aria-controls=menu][aria-expanded=true])+#menu{display:block;border-block-end:1px solid var(--surf-3)}#themes:hover{--ico:var(--text)}#menu{inset-block-start:3.275rem;max-block-size:calc(100dvh - 3.275rem);background-color:var(--surf-1)}main{padding-block:1rem;padding-inline:1rem}.home-page main{padding-inline:1rem}#aside{position:initial;inset-block-start:initial;padding-block:initial;padding-inline:1rem;max-block-size:initial;overflow-y:initial;scrollbar-width:initial;overscroll-behavior:initial}#aside dl{--border-color:var(--surf-3);--background-color:var(--surf-1)}#footer{margin-block-end:initial;padding-block:1.25rem;padding-inline:initial}}@media(width <= 768px){#banner a:not([href="/"]){--hover:var(--text)}#banner .version{display:none}#banner .github{margin-inline-end:0}#themes:hover{--ico:var(--text)}#themes{margin-inline-end:initial}}@media(width <= 480px){#footer div{padding-inline:.5rem}#banner .quickstart{margin-inline-start:auto;padding-inline:.5rem}#banner .quickstart:before{--svg:var(--book);display:inline-block;content:"";block-size:var(--ico-xy,1em);inline-size:var(--ico-xy,1em);vertical-align:var(--ico-va,-.115em);background-color:var(--ico,CanvasText);mask-image:var(--svg);mask-repeat:no-repeat;opacity:var(--ico-op,1)}.quickstart span{position:absolute;block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#banner .github{margin-inline-start:initial}.anchor{display:none}}@media(width <= 360px){#banner .github{display:none}}