#cw-main{container-type:scroll-state;isolation:isolate}#back-to-top{all:unset;place-self:end;position:-webkit-sticky;position:sticky;inset-block-end:0px;inset-inline-end:32px;display:flex;justify-content:center;align-items:center;width:-webkit-fit-content;width:fit-content;height:-webkit-fit-content;height:fit-content;padding:4px;border-radius:20px;background:#29236a80;box-shadow:0 0 4px #29236a59,0 0 2px #29236abf,0 0 1px #29236af2,inset -.5px -.75px 1px #f2f2ff80,inset .5px .75px 1px #f2f2ff80,inset 0 -4px 5px #9f21e882;opacity:1;transition:translate .2s ease,opacity .2s ease;cursor:pointer}@container not scroll-state(scrollable: top){#back-to-top{translate:0 calc(100% + 10px);opacity:0}}#back-to-top svg:first-child{width:32px;height:32px;mix-blend-mode:plus-lighter;fill:url(#svg-fill-2)}#back-to-top svg:last-child{position:absolute;opacity:0;left:4px;bottom:2px;width:calc(100% - 8px);height:-webkit-fit-content;height:fit-content;mix-blend-mode:color-dodge;filter:blur(2.5px);transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}#back-to-top:hover,#back-to-top:focus-visible{outline:none;box-shadow:0 0 4.5px #3221e580,0 0 1px #3221e5e6,0 12px 24px #9f21e880,0 8px 12px #9f21e840,0 1px 1px #00000059,0 2px 2px #00000040,inset 0 -1px 1px #f2f2ff80,inset 0 1px 1px #f2f2ff80,inset 0 6px 8px #9f21e8bf,inset 0 -4px 5px #9f21e8d9}#back-to-top:hover svg:last-child,#back-to-top:focus-visible svg:last-child{opacity:1}#toc,#toc-drawer{color:var(--text)}#toc h2,#toc-drawer h2{margin-block:unset;border:none;padding:0;background:var(--text-gradient);background-blend-mode:screen,normal;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font:600 var(--ll) / 1.3 var(--family-display)}#toc hr,#toc-drawer hr{justify-self:center}#toc .scrollable,#toc-drawer .scrollable{container:scrollable / scroll-state;position:relative;display:grid;min-height:200px;max-height:calc(100dvh - 96px);padding-block:10px;padding-inline:16px 10px;overflow-x:hidden;overflow-y:auto}#toc .headings,#toc-drawer .headings{--stroke-width: 2px;border-left:var(--stroke-width) solid var(--color-shadow);margin-left:unset;padding-block:12px;padding-left:unset}#toc .headings li,#toc-drawer .headings li{--depth: 2;--stroke: var(--color-shadow)}#toc .headings li:hover,#toc-drawer .headings li:hover{--stroke-width: 3px;--stroke: var(--color-accent)}#toc .headings li:has(a.active),#toc-drawer .headings li:has(a.active){--stroke-width: 4px;--stroke: var(--color-accent)}#toc .headings li,#toc-drawer .headings li{margin-top:unset;margin-left:-2px;border-left:var(--stroke-width) solid var(--stroke);padding-left:calc((1ch * (var(--depth) - 1) - var(--stroke-width)))}#toc ul,#toc-drawer ul{display:flex;flex-direction:column;box-sizing:border-box}#toc ul li,#toc-drawer ul li{--outline: transparent;--shadow: transparent;display:flex;align-items:center;padding-block:2px;box-sizing:border-box}#toc ul li a,#toc-drawer ul li a{display:inline-flex;align-items:center;gap:.5em;max-width:20ch;border-radius:4px;border:1px solid var(--outline);padding-inline:4px;color:var(--text);text-decoration:none;font:600 var(--lm) / 1.3 var(--family-display);letter-spacing:.04em;background:var(--text-gradient);background-blend-mode:screen,normal;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#toc ul li a:focus-visible,#toc-drawer ul li a:focus-visible{box-shadow:0 0 0 1.5px var(--shadow);outline:none}#toc{position:absolute;top:8px;left:-264px;width:240px;height:100%;padding-block:24px}#toc .container{position:-webkit-sticky;position:sticky;display:grid;top:24px;padding-block:6px;padding-right:6px;border-radius:16px;background:oklch(from var(--color-bg) l c h / .45);box-shadow:var(--box-shadow-highlight)}@media screen and (max-width: 1600px){#toc{display:none}}#toc-open,#toc-close{all:unset;display:none!important;width:32px;height:32px;border-radius:8px;cursor:pointer}@media screen and (max-width: 1600px){#toc-open,#toc-close{display:block!important}}#toc-open:hover,#toc-open:focus-visible,#toc-close:hover,#toc-close:focus-visible{filter:drop-shadow(0px 0px 4.5px rgba(50,33,229,.5)) drop-shadow(0px 0px 1px rgba(50,33,229,.9))}#toc-drawer{opacity:1;padding:24px;border:none;background:oklch(from var(--color-bg) calc(l*.65) calc(c*.8) h / .85)}#toc-drawer header{display:inline-flex;gap:16px;align-items:center;justify-content:space-between;width:-webkit-fill-available;width:-moz-available;width:stretch}#toc-drawer header h2{font:600 var(--hm) / 1.3 var(--family-display)}#toc-drawer hr{width:-webkit-fill-available;width:-moz-available;width:stretch}#toc-drawer section{display:grid}#toc-drawer section .scrollable{max-height:-webkit-fill-available;max-height:-moz-available;max-height:stretch}#toc-drawer::backdrop{background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);mix-blend-mode:multiply;transition:display .7s allow-discrete,overlay .7s allow-discrete,background-color .7s}#toc-drawer::backdrop:open,#toc-drawer::backdrop [open]{background-color:oklch(from var(--color-shadow) l c h / .25);animation:fadeIn .3s ease forwards}@media screen and (max-width: 522px){#toc-drawer{width:-webkit-fill-available;width:-moz-available;width:stretch;padding-block:calc(32px + env(safe-area-inset-top)) 32px;padding-inline:calc(32px + env(safe-area-inset-left)) calc(32px + env(safe-area-inset-right))}#toc-drawer section .scrollable{width:-webkit-fill-available;width:-moz-available;width:stretch;padding-inline:unset}#toc-drawer ul li a{font-size:var(--ll)}}@starting-style{#toc-drawer:open,#toc-drawer[open]{opacity:0}#toc-drawer:open::backdrop,#toc-drawer[open]::backdrop{background-color:transparent}}html,body{padding:0!important}.github-markdown-body{border:1px solid transparent;box-sizing:border-box;margin:0 auto;width:-webkit-fill-available!important;width:-moz-available!important;width:stretch!important}.github-markdown-body .github-markdown-content{padding:32px;max-width:980px;min-width:200px;margin:0 auto}.github-markdown-body .github-markdown-content blockquote{background-color:initial}.github-markdown-body .github-markdown-content pre{color:initial;border:none}.github-markdown-body .github-markdown-content code{color:inherit}.github-markdown-body .github-markdown-content pre code{color:initial}.github-markdown-body .github-markdown-content code>div{background:none}.github-markdown-body .github-markdown-content p,.github-markdown-body .github-markdown-content blockquote,.github-markdown-body .github-markdown-content ul,.github-markdown-body .github-markdown-content ol,.github-markdown-body .github-markdown-content dl,.github-markdown-body .github-markdown-content table,.github-markdown-body .github-markdown-content pre{margin-top:16px;margin-bottom:16px}.github-markdown-content details,.github-markdown-content figcaption,.github-markdown-content figure{display:block}.github-markdown-content summary{display:list-item}.github-markdown-content [hidden]{display:none!important}.github-markdown-content a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.github-markdown-content abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.github-markdown-content dfn{font-style:italic}.github-markdown-content h1{margin:.67em 0;padding-bottom:.3em;font-size:2em}.github-markdown-content small{font-size:90%}.github-markdown-content sub,.github-markdown-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.github-markdown-content sub{bottom:-.25em}.github-markdown-content sup{top:-.5em}.github-markdown-content img{border-style:none;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;box-sizing:content-box}.github-markdown-content code,.github-markdown-content kbd,.github-markdown-content pre,.github-markdown-content samp{font-family:monospace;font-size:1em}.github-markdown-content hr{box-sizing:content-box;overflow:hidden;background:transparent;height:.25em;padding:0;border:0}.github-markdown-content input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.github-markdown-content [type=button],.github-markdown-content [type=reset],.github-markdown-content [type=submit]{-webkit-appearance:button;appearance:button}.github-markdown-content [type=checkbox],.github-markdown-content [type=radio]{box-sizing:border-box;padding:0}.github-markdown-content [type=number]::-webkit-inner-spin-button,.github-markdown-content [type=number]::-webkit-outer-spin-button{height:auto}.github-markdown-content [type=search]::-webkit-search-cancel-button,.github-markdown-content [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.github-markdown-content ::-webkit-input-placeholder{color:inherit;opacity:.54}.github-markdown-content ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.github-markdown-content ::placeholder{opacity:1}.github-markdown-content hr:before{display:table;content:""}.github-markdown-content hr:after{display:table;clear:both;content:""}.github-markdown-content table{border-spacing:0;border-collapse:collapse;display:block;width:-webkit-max-content;width:max-content;max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;overflow:auto;font-feature-settings:"tnum";font-variant:tabular-nums}.github-markdown-content td,.github-markdown-content th{padding:0}.github-markdown-content details summary{cursor:pointer}.github-markdown-content a:focus,.github-markdown-content [role=button]:focus,.github-markdown-content input[type=radio]:focus,.github-markdown-content input[type=checkbox]:focus{outline-offset:-2px;box-shadow:none}.github-markdown-content a:focus:not(:focus-visible),.github-markdown-content [role=button]:focus:not(:focus-visible),.github-markdown-content input[type=radio]:focus:not(:focus-visible),.github-markdown-content input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.github-markdown-content a:focus-visible,.github-markdown-content [role=button]:focus-visible,.github-markdown-content input[type=radio]:focus-visible,.github-markdown-content input[type=checkbox]:focus-visible{outline-offset:-2px;box-shadow:none}.github-markdown-content a:not([class]):focus,.github-markdown-content a:not([class]):focus-visible,.github-markdown-content input[type=radio]:focus,.github-markdown-content input[type=radio]:focus-visible,.github-markdown-content input[type=checkbox]:focus,.github-markdown-content input[type=checkbox]:focus-visible{outline-offset:0}.github-markdown-content kbd{display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;vertical-align:middle;border-radius:6px}.github-markdown-content p{margin-top:0;margin-bottom:10px}.github-markdown-content blockquote{margin:0;padding:0 1em}.github-markdown-content ul,.github-markdown-content ol{margin-top:0;margin-bottom:0;padding-left:2em}.github-markdown-content ol ol,.github-markdown-content ul ol{list-style-type:lower-roman}.github-markdown-content ul ul ol,.github-markdown-content ul ol ol,.github-markdown-content ol ul ol,.github-markdown-content ol ol ol{list-style-type:lower-alpha}.github-markdown-content dd{margin-left:0}.github-markdown-content tt,.github-markdown-content code,.github-markdown-content samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.github-markdown-content pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.github-markdown-content input::-webkit-outer-spin-button,.github-markdown-content input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.github-markdown-content a:not([href]){color:inherit;text-decoration:none}.github-markdown-content blockquote>:first-child{margin-top:0}.github-markdown-content blockquote>:last-child{margin-bottom:0}.github-markdown-content h1 tt,.github-markdown-content h1 code,.github-markdown-content h2 tt,.github-markdown-content h2 code,.github-markdown-content h3 tt,.github-markdown-content h3 code,.github-markdown-content h4 tt,.github-markdown-content h4 code,.github-markdown-content h5 tt,.github-markdown-content h5 code,.github-markdown-content h6 tt,.github-markdown-content h6 code{padding:0 .2em;font-size:inherit}.github-markdown-content summary h1,.github-markdown-content summary h2,.github-markdown-content summary h3,.github-markdown-content summary h4,.github-markdown-content summary h5,.github-markdown-content summary h6{display:inline-block}.github-markdown-content summary h1,.github-markdown-content summary h2{padding-bottom:0;border-bottom:0}.github-markdown-content ul.no-list,.github-markdown-content ol.no-list{padding:0;list-style-type:none}.github-markdown-content ol[type="a s"]{list-style-type:lower-alpha}.github-markdown-content ol[type="A s"]{list-style-type:upper-alpha}.github-markdown-content ol[type="i s"]{list-style-type:lower-roman}.github-markdown-content ol[type="I s"]{list-style-type:upper-roman}.github-markdown-content ol[type="1"]{list-style-type:decimal}.github-markdown-content div>ol:not([type]){list-style-type:decimal}.github-markdown-content ul ul,.github-markdown-content ul ol,.github-markdown-content ol ol,.github-markdown-content ol ul{margin-top:0;margin-bottom:0}.github-markdown-content li+li{margin-top:.25em}.github-markdown-content dl{padding:0}.github-markdown-content dl dt{padding:0;font-size:1em;font-style:italic}.github-markdown-content table th,.github-markdown-content table td{padding:6px 13px}.github-markdown-content table td>:last-child{margin-bottom:0}.github-markdown-content table img{background-color:transparent}.github-markdown-content img[align=right]{padding-left:20px}.github-markdown-content img[align=left]{padding-right:20px}.github-markdown-content code,.github-markdown-content tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}.github-markdown-content code br,.github-markdown-content tt br{display:none}.github-markdown-content del code{text-decoration:inherit}.github-markdown-content samp{font-size:85%}.github-markdown-content pre code{font-size:100%}.github-markdown-content pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.github-markdown-content pre code,.github-markdown-content pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.github-markdown-content [role=button]:focus:not(:focus-visible),.github-markdown-content [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.github-markdown-content button:focus:not(:focus-visible),.github-markdown-content summary:focus:not(:focus-visible),.github-markdown-content a:focus:not(:focus-visible){outline:none;box-shadow:none}.github-markdown-content [tabindex="0"]:focus:not(:focus-visible),.github-markdown-content details-dialog:focus:not(:focus-visible){outline:none}.github-markdown-content ::-webkit-calendar-picker-indicator{filter:invert(50%)}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,system-ui,Ubuntu,Droid Sans,sans-serif;font-size:14px;padding:0 26px;line-height:22px;word-wrap:break-word}body{padding-top:1em}.github-markdown-content h1,.github-markdown-content h2,.github-markdown-content h3,.github-markdown-content h4,.github-markdown-content h5,.github-markdown-content h6,.github-markdown-content p,.github-markdown-content ol,.github-markdown-content ul,.github-markdown-content pre{margin-top:0}.github-markdown-content sub,.github-markdown-content sup{line-height:0}.github-markdown-content ul ul:first-child,.github-markdown-content ul ol:first-child,.github-markdown-content ol ul:first-child,.github-markdown-content ol ol:first-child{margin-bottom:0}.github-markdown-content img,.github-markdown-content video{max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch;max-height:100%}.github-markdown-content a{text-decoration:none}.github-markdown-content a:hover{text-decoration:underline}.github-markdown-content a:focus,.github-markdown-content input:focus,.github-markdown-content select:focus,.github-markdown-content textarea:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.github-markdown-content p{margin-bottom:16px}.github-markdown-content li p,.github-markdown-content ul,.github-markdown-content ol{margin-bottom:.7em}.github-markdown-content hr{border:0;height:1px;border-bottom:1px solid}.github-markdown-content h1{font-size:2em;margin-top:0;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid}.github-markdown-content h2{font-size:1.5em;padding-bottom:.3em;border-bottom-width:1px;border-bottom-style:solid}.github-markdown-content h3{font-size:1.25em}.github-markdown-content h4{font-size:1em}.github-markdown-content h5{font-size:.875em}.github-markdown-content h6{font-size:.85em}.github-markdown-content table{border-collapse:collapse;margin-bottom:.7em}.github-markdown-content th{text-align:left;border-bottom:1px solid}.github-markdown-content th,.github-markdown-content td{padding:5px 10px}.github-markdown-content table>tbody>tr+tr>td{border-top:1px solid}.github-markdown-content blockquote{margin:0;padding:0 16px 0 10px;border-left-width:5px;border-left-style:solid;border-radius:2px}.github-markdown-content code{font-family:SF Mono,Monaco,Menlo,Consolas,Ubuntu Mono,Liberation Mono,DejaVu Sans Mono,Courier New,monospace;font-size:1em;line-height:1.357em}.github-markdown-content body.wordWrap pre{white-space:pre-wrap}.github-markdown-content pre:not(.hljs),.github-markdown-content pre.hljs code>div{padding:16px;border-radius:3px;overflow:auto}article{position:relative;display:flex;flex-direction:column}article>section{display:flex;flex-direction:column;scroll-margin-top:116px}article #article-title{container-type:scroll-state;position:-webkit-sticky;position:sticky;z-index:1;top:-8px;flex-direction:row;align-items:center;gap:16px;margin-inline:-32px;padding-block:32px;padding-inline:32px;transition:font-size .2s ease}@media screen and (max-width: 522px){article #article-title h1{font-size:var(--hm);font-weight:600}}article #article-title:before{opacity:0;transition:opacity .2s ease}@container scroll-state(stuck: top){article #article-title h1{font-size:var(--hm);font-weight:600}@media screen and (max-width: 522px){article #article-title h1{font-size:var(--ht);font-weight:800}}article #article-title:before{position:absolute;z-index:-1;content:"";inset:0;border-radius:16px;background:oklch(from var(--color-bg) calc(l*.65) calc(c*.8) h / .85);mix-blend-mode:hard-light;opacity:1;box-shadow:var(--box-shadow-highlight),var(--box-shadow-shadow)}}article #article-title h1{margin:unset!important}article #article-title button{all:unset;width:32px;height:32px;border-radius:8px;cursor:pointer}@media screen and (max-width: 1280px){article{max-width:-webkit-fill-available;max-width:-moz-available;max-width:stretch}}
