@font-face{font-family:Maple Mono;font-style:normal;font-display:swap;font-weight:400;src:url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-400-normal.woff)format("woff")}@font-face{font-family:Maple Mono;font-style:normal;font-display:swap;font-weight:700;src:url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-700-normal.woff2)format("woff2"),url(https://cdn.jsdelivr.net/fontsource/fonts/maple-mono@latest/latin-700-normal.woff)format("woff")}:root{--uts-canvas-width:80%;--uts-canvas-height:45ex;--serif:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;--sans:"CooperHewitt","Inria Sans",Arial;--mono:"Maple Mono","Fira Code","DejaVu Sans Mono","Imprima",monospace}body{font-family:var(--sans)}:root[data-applied-font=serif] body{font-family:var(--serif)}:root[data-applied-font=mono] body{font-family:var(--mono)}:root[data-applied-font=sans] body{font-family:var(--sans)}@media screen{body{margin-top:2em;transition:all .2s}#grid-wrapper{grid-template-columns:unset;margin-left:auto;margin-right:auto;display:grid}#grid-wrapper article{max-width:100%;margin-left:unset;margin-right:unset}#grid-wrapper nav#toc{display:none}}@media only screen and (min-width:160ex){body{margin-top:2em;transition:all .2s}#grid-wrapper{grid-template-columns:100ex;max-width:160ex;margin-left:auto;margin-right:auto;display:grid}#grid-wrapper article{width:100ex}#grid-wrapper nav#toc{display:unset;max-width:60ex}}@media only screen and (max-width:450px){:root{--uts-canvas-width:53.33ex;--uts-canvas-height:30ex}[data-taxon=Figure] figure{width:60ex;margin-left:0;margin-right:0}[data-taxon=Figure] figure img{min-height:var(--uts-canvas-height)}}:root[data-applied-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--uts-text:black;--uts-link:#9e7140;--uts-link-internal:#5d5d5d;--uts-text-gentle:#848484;--uts-text-cite:#10731d;--uts-background:white;--uts-vocab:#75140c}:root,:root[data-applied-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--uts-text:#cbd1db;--uts-link:#d7b28b;--uts-link-internal:#adadad;--uts-text-gentle:#aeaeae;--uts-text-cite:#8cd295;--uts-background:#151a1f;--uts-vocab:#db8c84}:root{background-color:var(--uts-background)!important}body{-webkit-font-smoothing:antialiased;text-size-adjust:ex-height .53;-webkit-text-size-adjust:100%;font-display:block;line-height:1.55}.meta-item,.slug{font-size:.85em}nav#toc a.link.local,nav#toc .link.local a,nav#toc a.slug{box-shadow:none;color:#848484;font-size:80%;text-decoration-line:underline;text-decoration-style:dotted}body,span.taxon,nav#toc{color:var(--uts-text)!important}a,nav#toc a{cursor:pointer;color:var(--uts-text)!important}.link.external{text-decoration:none}.link.external a,.markdownit a{color:var(--uts-link)!important}.link.local a{color:var(--uts-link-internal)!important}.slug,.doi,.orcid,.meta-item .link.local a,nav#toc a.link.local,nav#toc .link.local a,nav#toc a.slug{font-weight:400;color:var(--uts-link-internal)!important}.link-reference .link.local a,.link-reference-full .link.local a{color:var(--uts-text-cite)!important;box-shadow:none!important;text-decoration:none!important}.link-reference-full a .link-title{margin-right:.5ex;color:var(--uts-text-gentle)!important}.link-reference .link.external{text-decoration:none!important}button#theme-toggle,button#font-toggle,button#search{cursor:pointer;font:inherit;background:0 0;border:0;margin:auto 4px}:root svg#sun,:root[data-applied-mode=dark] svg#moon{display:none}:root[data-applied-mode=dark] svg#sun{color:var(--uts-text);display:block}svg.embedded-tex-svg,img[src^="data:image/svg+xml"]{max-width:97%}[data-taxon=Remark]{--taxon-color:#97da9b}[data-taxon=Example]{--taxon-color:#e28563}[data-taxon=Theorem],[data-taxon=Lemma],[data-taxon=Corollary],[data-taxon=Proof]{--taxon-color:#95dbfc}[data-taxon=Notation]{--taxon-color:#ffd27f}[data-taxon=Convention]{--taxon-color:#d369cb}section.block{padding-left:1em;padding-right:1em}section[data-taxon]{border-left:5px solid var(--taxon-color);background-color:color-mix(in srgb,var(--taxon-color)6%,var(--uts-background)94%);margin:1em 0;padding:1em}section[data-taxon]:hover{background-color:color-mix(in srgb,var(--taxon-color)12%,var(--uts-background)88%)}section[data-taxon] h1 span.taxon,#toc span.taxon[data-taxon]{color:color-mix(in srgb,var(--taxon-color)60%,var(--uts-text)40%)!important}section[data-taxon=Example],section[data-taxon=Notation],section[data-taxon=Convention]{border:1px solid var(--taxon-color);border-radius:5px}section[data-taxon=Proof].block{border-left:unset;background-color:unset}section[data-taxon=Figure]{--taxon-color:var(--uts-text);border-left:unset;background-color:unset}section[data-taxon=Algorithm]{--taxon-color:var(--uts-text);border-left:unset;background-color:unset;border-radius:unset;border-top:3px solid var(--taxon-color);border-bottom:1px solid var(--taxon-color);margin-left:1em;margin-right:1em;padding:0}section[data-taxon=Algorithm] summary{border-bottom:1px solid var(--taxon-color);padding-top:3ex;padding-bottom:3ex}section[data-taxon=Algorithm] figure{margin-left:0;margin-right:0}section[data-taxon=Figure].block:hover,section[data-taxon=Proof].block:hover,section[data-taxon=Algorithm].block:hover{background-color:rgba(0,100,255,.04)}.link-list section[data-taxon],section[data-taxon=Proof],section[data-taxon=Definition],section[data-taxon=Reference]{margin-top:5px;margin-bottom:2px;padding-top:5px;padding-bottom:2px}section[data-taxon]:hover section[data-taxon=Proof],section[data-taxon=Proof]:hover,section[data-taxon=Definition]:hover,section[data-taxon=Reference]:hover{background-color:rgba(0,100,255,.04)}span.newvocab{color:#00f;font-weight:700}span.vocab{font-weight:700}span.vocab .link.local a{-webkit-text-decoration-color:color-mix(in srgb,var(--uts-vocab)40%,var(--uts-background)60%);text-decoration-color:color-mix(in srgb,var(--uts-vocab)40%,var(--uts-background)60%);color:var(--uts-vocab)!important}#toc a.bullet{display:none}#toc>.block>ul>li>span.link.local{font-weight:700}#toc>.block>ul>li>ul.block{margin-top:.5em}nav#toc{flex-wrap:wrap;display:flex}nav#toc>.block{--offset:1em;--eh:100%;--vh:100vh;--ratio:calc(var(--vh)/var(--eh));top:var(--offset);flex-grow:1;flex-basis:300px;align-self:start;position:sticky}nav#toc>.block>ul.block{max-height:calc(80vh - var(--offset)*2);overflow-y:auto}nav#toc li{border-left:5px solid transparent;padding-left:.5em}nav#toc li.active{border-left:var(--uts-text)5px solid;font-weight:700}.meta-lean{float:right;cursor:pointer;z-index:1;width:4vw;height:4em;display:block;position:relative}.link-buttons{cursor:pointer}.link-button,.meta-lean a,.meta-lean-symbol{border:var(--uts-text-gentle)1px solid;float:right;border-radius:5px;margin:0 .5ex 1ex;padding:3px 1ex;font-size:60%;font-weight:400;color:var(--uts-text-gentle)!important;background-color:var(--uts-background)!important}.link-button:hover,.meta-lean a:hover,.meta-lean-symbol:hover{box-shadow:0 0 5px #95dbfc}.link-source span,.link-pdf span{margin-left:1ex;display:none}.meta-lean a,.meta-lean-symbol,.link-source span,.link-pdf span{font-family:var(--mono)}.meta-lean-list{visibility:hidden;display:none}.meta-lean:hover .meta-lean-list,.meta-lean-list:hover{visibility:visible;display:block}.meta-lean:hover .meta-lean-symbol{visibility:hidden}.related{display:none}.todo{background-color:rgba(255,255,0,.1);border:1px solid #818118;border-radius:5px;margin:1em 0;padding:1em;display:block}.todo:before{content:"TODO: ";font-weight:700}.langblock{display:none}.langblock-body{color:var(--uts-text-gentle);font-size:90%;font-style:italic;font-weight:400}.langblock-body em{font-style:normal}.show-langblock .langblock{margin-left:1em;display:block}.show-langblock h1 .langblock{margin-left:0;display:inline}button#langblock-toggle{cursor:pointer;font:inherit;background:0 0;border:0;margin:auto 4px}@keyframes breathing{0%{opacity:0}50%{opacity:.3}to{opacity:0}}.embeded-shader,.embeded-shadertoy{color:transparent;width:var(--uts-canvas-width);height:var(--uts-canvas-height);margin-left:auto;margin-right:auto;display:block}.lazy-loading,.loading{color:transparent;height:var(--uts-canvas-height);background-image:url(./images/3d-cube-scan-hover.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;animation:2s ease-out infinite breathing}figure{text-align:center;display:block}code.highlight,code.highlight code{background-color:unset;padding:unset;font-size:unset}.mermaid.grace-loading,.markdownit.grace-loading,.twisty.grace-loading,code.highlight.grace-loading{color:var(--uts-text);white-space:pre-wrap;background:unset;animation:unset;height:unset;margin-top:1em;margin-bottom:1em}.mermaid.grace-loading,code.highlight.grace-loading{font-family:var(--mono)}.penrose-root.loading,.typst-root.loading,.pikchr-root.loading{background-image:url(./images/3d-cube-scan-loading.svg)}.typst-root svg,.pikchr-root svg{width:100%;min-width:70ex}.typst-root svg .tsel{visibility:hidden}.optional{color:var(--uts-text-gentle)}[data-taxon] ol{counter-reset:ol;list-style-type:none}[data-taxon] ol>li{counter-increment:ol}[data-taxon] ol>li>ol{counter-reset:ol2;list-style-type:none}[data-taxon] ol>li>ol>li{counter-increment:ol2}[data-taxon] ol>li>ol>li:before{content:counter(ol2,lower-roman)") "}[data-taxon] ol>li:before{content:counter(ol,numeric)") "}.usegpu,.wgputoy{color:transparent;width:var(--uts-canvas-width);height:var(--uts-canvas-height);margin-left:auto;margin-right:auto;display:block}:is(.usegpu,.wgputoy) canvas{position:relative!important}.shadertoywithcode details{cursor:pointer}.shadertoywithcode details summary:after{content:" ▸";color:var(--uts-text-gentle);font-size:80%}.shadertoywithcode details[open] summary:after{content:" ▾"}:root[data-applied-mode=dark] svg.embedded-tex-svg{filter:invert(.85)}:root[data-applied-mode=dark] img.embedded-tex-svg{filter:invert(.85)}:root[data-applied-mode=dark] img[src^="data:image/svg+xml"]{filter:invert(.85)}:root[data-applied-mode=dark] span.newvocab{filter:invert()!important}:root[data-applied-mode=dark] #langblock-toggle svg{filter:invert(.85)}:root[data-applied-mode=dark] .lazy-loading{filter:invert(.85)}:root[data-applied-mode=dark] .loading{filter:invert(.85)}:root[data-applied-mode=dark] .grace-loading{filter:invert(.85)}:root[data-applied-mode=dark] .tags.grace-loading{filter:unset}:root[data-applied-mode=dark] .mermaid.grace-loading{filter:unset}:root[data-applied-mode=dark] .markdownit.grace-loading{filter:unset}:root[data-applied-mode=dark] code.highlight.grace-loading{filter:unset}:root[data-applied-mode=dark] .typst-root{filter:invert()}:root[data-applied-mode=dark] .pikchr-root{filter:invert()}:root[data-applied-mode=dark] .penrose-root svg{filter:invert()}:root[data-applied-mode=dark] .mermaid svg{filter:invert(.85)}:root[data-applied-mode=dark] .markmap svg{filter:invert(.65)}.mermaid{justify-content:center;display:flex}article>section:first-of-type>details>summary>header>h1{font-size:2em}h1,h2,h3,h4,h5,h6{margin-bottom:.5em}p{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}a{word-break:break-all}