html{font-family:var(--font-body);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;background:var(--background-color);color:var(--text-color);font-size:16px;line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.container{max-width:42em;margin:2em auto 0;min-width:0}.site-shell{display:grid;grid-template-columns:minmax(18rem, 20rem) minmax(0, 42em);gap:0;justify-content:start;margin:0 auto;max-width:72rem;padding:0 1.5rem}main{outline:none}.index-columns{display:flex;flex-wrap:wrap;justify-content:space-between}.index-listing{min-width:48%;max-width:48%;flex-grow:1}.index-listing h2{text-transform:uppercase;font-size:.8em;margin-block-start:1em;margin-block-end:0;border-bottom:thin dotted var(--border-color)}.index-banner{width:100%;height:300px;object-fit:cover;object-position:0 46%}.profile-image{border:1px solid var(--color-rule);border-radius:.5rem;float:right;margin:0 0 1rem 1.5rem;max-width:min(16rem,40%)}h1{font-size:1.35em;color:var(--color-heading-1);font-family:var(--font-heading)}h2{font-weight:normal;font-size:1.2em;color:var(--color-heading-2);font-family:var(--font-heading)}h3{font-size:1em;color:var(--color-heading-3);font-family:var(--font-heading)}a{color:var(--link-color);text-decoration:none}a:active,a:hover{outline:0}a:hover,a:focus{color:var(--link-hover-color);border-bottom:1px solid var(--link-hover-line-color);transition:all .1s linear}a:active{color:var(--link-hover-color);opacity:.9;border-bottom:1px solid var(--link-hover-line-color);transition:all .1s linear}a.active{color:var(--link-hover-color);transition:all .1s linear}.external-link-marker{color:var(--color-muted);font-size:.8em;margin-left:.2em;vertical-align:.1em}.table-wrapper{overflow-x:auto}table{margin:auto;max-width:100%;border-spacing:0}thead{background:var(--table-header-background-color)}th,td{padding:.5em 1em;border:1px double var(--table-header-background-color)}pre{padding:1em;background-color:var(--code-background);max-width:100%;overflow:auto}code,pre,kbd{font-family:ui-monospace,Menlo,Monaco,"Cascadia Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;font-size:.9em;line-height:130%}blockquote{background:var(--color-quote-bg);border-left:2px solid var(--color-quote-marker);color:var(--color-quote-fg);padding:.1em 1em;margin-left:.75em}p{margin-top:.5em;margin-bottom:.5em}hr{height:1px;border:0;border-top:1px solid var(--color-rule)}ul ol,ol ol,ul ul{margin:0em 2em}.site-explorer{align-self:start;border-right:1px solid var(--color-fg);display:block;margin-top:2em;min-height:calc(100vh - 4em);padding:0 1.5rem 0 0;position:sticky;top:1rem}.site-explorer h1{font-size:1em;font-weight:normal;display:inline-block}.site-explorer h2{color:var(--text-accent-color);font-size:.8em;margin:0 0 .8em 0;font-weight:normal}.site-explorer .file-tree{margin-top:1rem;max-width:100%;margin-bottom:0;text-align:left}.site-explorer .file-tree ul{list-style-type:none;display:block;float:none;margin:0;padding:0}.site-explorer .file-tree li{border-radius:.2rem;float:none;padding-left:1.5em;white-space:nowrap}.site-explorer .file-tree li.active{background:var(--color-selection)}.site-explorer .file-tree a{display:inline-block;margin-left:-.35em;padding:0 .35em}.site-explorer .file-tree .tree-depth-1{padding-left:3em}.site-explorer a{color:var(--text-color)}.site-shell>.container{margin-left:0;padding-left:2rem}.tree-dir{color:var(--color-link)}.tree-arrow{color:var(--color-muted)}.tree-symlink{color:var(--color-heading-4)}.tree-target{color:var(--color-link)}h1 .zola-anchor,h2 .zola-anchor,h3 .zola-anchor,h4 .zola-anchor,h5 .zola-anchor,h6 .zola-anchor{filter:opacity(0)}h1:hover .zola-anchor,h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,h5:hover .zola-anchor,h6:hover .zola-anchor{filter:opacity(0.2);transition:all .1s linear;border-bottom:none}.site-header{font-size:1em;font-weight:bolder;margin-block-start:0;margin-block-end:0;white-space:nowrap}main h1{margin-top:1em;font-weight:normal;line-height:1.1em;margin-bottom:.5em;font-weight:600}.post-short-list:first-of-type{margin-top:1em}article{padding-bottom:.5em}article:first-of-type header h3{margin-block-start:.5em}article header h1{font-size:1.35em;line-height:1.1em;margin-bottom:.5em;font-weight:600}article header h1 a{border:none;text-decoration:none;color:var(--text-color)}article header h2{font-size:1em;margin-bottom:.5em}.article-info{font-size:.75em;color:var(--text-accent-color)}.article-info a{color:var(--text-accent-color)}.article-info a:hover{color:var(--link-hover-color);transition:all .1s linear}.post-short-list .article-info{margin-top:0;margin-bottom:1.5em}.article-taxonomies{display:inline-block}.article-date{display:inline-block;white-space:nowrap}.article-categories{display:inline;list-style-type:none;padding:0}.article-categories li{display:inline;margin-right:.2em}.article-categories li:last-of-type{margin-right:0}.article-tags{display:inline;list-style-type:none;padding:0;margin:0}.article-tags li{display:inline;margin-right:.2em}.article-github{display:inline-block}article .content:not(.post-summary){margin-block-start:1em}article img{max-width:100%;display:block;height:auto;margin:0 auto .5em}.extended-img{left:50%;margin-left:-50vw;margin-right:-50vw;max-width:100vw;position:relative;right:50%;width:100vw}.extended-figure{position:relative;max-width:100vw;left:50%;margin-left:-50vw;margin-right:-50vw}figcaption{font-size:.75em;color:var(--text-accent-color);text-align:center}.bordered{border:3px solid var(--background-color);box-shadow:0 0 0 3px var(--header-background-color)}.read-more{text-transform:uppercase;font-size:.7em}.divider{display:block;height:1px;border:0;border-top:thin solid var(--color-rule);width:25%;margin:1em auto}.post .site-explorer{display:block}.post .footnote-definition:first-of-type{margin-top:1em;padding-top:1em;border-top:1px dotted var(--border-color)}.post-summary{display:block}.post-summary p{font-size:.8em;display:block;margin-top:0}.post-list a{color:var(--text-color);text-decoration:none}.post-list a .article-taxonomies{color:var(--text-accent-color)}.post-list a:active,.post-list a:hover{outline:0}.post-list a:hover,.post-list a:focus{color:var(--link-hover-color);border-bottom:1px solid var(--link-hover-line-color);transition:all .1s linear}.post-list a:active{color:var(--link-hover-color);opacity:.9;border-bottom:1px solid var(--link-hover-line-color);transition:all .1s linear}.post-list a.active{color:var(--link-hover-color);transition:all .1s linear}.post-list img{margin:.5em auto 0}.post-list h3{margin-block-start:.25em;margin-block-end:0}.project-listing{display:flex;gap:1.5em;align-items:flex-start;margin-bottom:2em}.project-listing .project-cover{flex-shrink:0}.project-listing .project-cover img{width:150px;height:150px;object-fit:cover;margin:0}.project-listing .project-details{flex:1;min-width:0}.project-listing .project-details header{display:block}.project-listing .project-artist{display:block;font-size:1em;font-weight:normal;color:var(--text-accent-color);margin-top:.25em;margin-bottom:.75em}.streaming-embeds{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.streaming-embeds iframe{margin:0 auto}.footnote-definition{display:flex}.footnote-definition sup{min-width:1em}.terms{list-style-type:none;padding:0;line-height:2em}.pagination{display:flex;justify-content:space-between;margin-top:3em}.pagination{text-align:center}.pagination-item{background:var(--header-background-color);padding:.75em .75em}.disabled{visibility:hidden}.pagination-item a{color:var(--text-color)}.pagination-item a:hover,.pagination-item a:focus{color:var(--link-hover-color);border-bottom:0;transition:all .1s linear}footer{border-top:thin dotted var(--border-color);margin-top:2em;font-size:16px;text-align:center}.icon-text a{padding:0 8px 0 8px}.icon-text a,.article-github a{color:var(--icon-color)}.icon-text a:hover,.article-github a:hover{color:var(--icon-hover-color);text-decoration:none;border-bottom:none;transition:all .1s linear}@media (max-width: 840px){.main-wrapper{margin:0;max-width:none;overflow-x:hidden;padding-left:25px;padding-right:25px}.site-shell{display:block;max-width:none;padding:0}.container{max-width:90%;margin:0 auto}.pagination-item{padding:.5em .5em;font-size:14px}.site-header{text-align:left}.site-explorer{border-left:0;border-radius:0;border-right:0;border-bottom:1px solid var(--color-fg);margin:0;min-height:0;padding:.75em 5%;position:static}.site-explorer .file-tree{margin-top:0em;max-width:100%;padding:0;text-align:left}.site-explorer .file-tree ul{float:none;padding:0;margin:0}.site-explorer .file-tree li{padding:.15em 0 .15em 1.5em}.site-explorer .file-tree .tree-depth-1{padding-left:3em}.site-explorer .file-tree a:first-of-type{margin-left:0}.site-explorer .file-tree a{margin-left:0}.site-shell>.container{margin:0 auto;padding-left:0}.index-listing{max-width:none}.profile-image{float:none;margin:0 auto 1rem;max-width:100%}}h1 .zola-anchor,h2 .zola-anchor,h3 .zola-anchor,h4 .zola-anchor,h5 .zola-anchor,h6 .zola-anchor{all:initial;visibility:hidden}h1:hover .zola-anchor,h2:hover .zola-anchor,h3:hover .zola-anchor,h4:hover .zola-anchor,h5:hover .zola-anchor,h6:hover .zola-anchor{all:initial;cursor:pointer;visibility:visible}h1 .zola-anchor-link,h2 .zola-anchor-link,h3 .zola-anchor-link,h4 .zola-anchor-link,h5 .zola-anchor-link,h6 .zola-anchor-link{vertical-align:middle;display:inline-block;fill:var(--text-color)}p>code{padding:.2em .4em;font-size:85%;background-color:var(--code-background);border-radius:6px}