:root{--charcoal-color:#272b2d;--hover-color:rebeccapurple;--link-color:#B84E00;--background-color:whitesmoke;--text-color:var(--charcoal-color);--secondary-text-color:dimgray;--separator-color:gray;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--hover-color:#C9AFE4;--link-color:#dc8100;--background-color:var(--charcoal-color);--text-color:white-smoke;--secondary-text-color:gray;--separator-color:dimgray}}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%}body{font-size:16px;font-size:1.6rem;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;color:var(--text-color);background:var(--background-color);width:100%;margin:0 auto;padding:25px 16px;line-height:1.6;overflow-wrap:break-word}header#banner a{color:var(--text-color);text-decoration:none}header#banner a:hover{text-decoration:underline}header#banner h2{display:inline;font-size:21px;font-size:2.1rem;margin:0 8px 0 0}header#banner nav{display:inline-block}header#banner nav ul{list-style-type:none;font-size:1.05em;text-transform:lowercase;margin:0;padding:0}header#banner nav ul li{display:inline;margin:0 3px}header#banner nav ul li a{color:var(--secondary-text-color)}main#content a{color:var(--link-color);text-decoration:none}main#content a:hover{text-decoration:underline}main#content h1,main#content h2,main#content h3,main#content h4,main#content h5,main#content h6{margin-bottom:0;line-height:1.15}main#content h3{font-size:19px;font-size:1.9rem}main#content h1+p,main#content h2+p,main#content h3+p,main#content h4+p,main#content h5+p,main#content h6+p{margin-top:5px}main#content p{color:var( --text-color);margin:16px 0}main#content hr{height:1px;border:0;background:var(--separator-color)}main#content abbr{cursor:help}main#content ul#posts{list-style-type:none;font-size:16px;font-size:1.6rem;margin-top:0;padding:0}main#content ul#posts li{margin:5px 0;padding:0}main#content ul#posts small{font-size:.8em;color:var(--secondary-text-color);margin-left:10px}main#content ul#posts li a{text-decoration:none}main#content ul#posts li a:hover{color:var(--hover-color)}main#content ul#posts li a:hover small{color:inherit}main#content header#post-header h1{display:block;font-size:23px;font-size:2.3rem;font-weight:600;line-height:1.15}main#content header#post-header>div{display:block;font-size:.85em;color:var(--secondary-text-color)}main#content footer#post-footer li{display:inline;font-size:.85em;margin:0 .25em}main#content footer#post-footer ul{margin:0;padding:0}main#content #toc{border:1px solid var(--separator-color);line-height:26px;margin:16px 0;padding:9px 14px}main#content #toc,main#content code,main#content pre,main#content img,main#content video{border-radius:5px}main#content #toc h4{font-size:1.06em;color:var(--text-color);margin:0}main#content #toc nav#TableOfContents{margin-top:4px}main#content #toc nav#TableOfContents>ul,main#content #toc nav#TableOfContents>ol{margin-left:-40px}main#content #toc ul,main#content #toc ol{font-size:.98em;margin:0;padding:0 0 0 40px}main#content #toc ul{list-style-type:none}main#content #toc ol{counter-reset:item}main#content #toc ol li{display:block}main#content #toc ol li:before{content:counters(item,".")". ";counter-increment:item}main#content img{max-width:100%;margin:0 auto}main#content figure{margin:16px 0}main#content figure img{display:block;max-width:100%;margin:0 auto}main#content figure figcaption{font-size:.92em;font-style:italic;line-height:22px;text-align:center;margin-top:6px;padding:0 10px}main#content figure figcaption h4{font-style:normal;display:inline;margin:0}main#content figure figcaption p{display:inline;margin:0;padding-left:8px}main#content blockquote{font-style:italic;margin-top:10px;margin-bottom:10px;margin-left:50px;padding-left:15px;border-left:3px solid var(--separator-color)}main#content code,main#content pre{font-family:menlo,monospace}main#content code{font-size:.96em;padding:0 5px}main#content pre{display:block;overflow-x:auto;font-size:14px;font-size:1.4rem;white-space:pre;margin:20px 0;padding:1.5rem;line-height:1.4}main#content pre code{padding:0}main#content .footnotes{font-size:.9em}footer#footer{font-size:14px;font-size:1.4rem;font-weight:400;color:var(--separator-color);margin:40px 0}body>footer{margin-right:auto;margin-left:auto;color:var(--text-2);font-size:.875rem;line-height:1.25rem}body>footer section:last-of-type{display:flex;flex-flow:row wrap;justify-content:center;gap:1rem;padding:2.5rem}body>footer section:last-of-type a,body>footer section:last-of-type a:visited{color:inherit;text-decoration:inherit}body>footer section:last-of-type a:hover{text-decoration-line:underline}.htmx-indicator{opacity:0;transition:opacity 500ms ease-in;color:var(--link-color)}.htmx-request .htmx-indicator{opacity:1}.htmx-request.htmx-indicator{opacity:1}@media(min-width:900px){body{width:800px;line-height:1.5}main#content hr{width:108%;margin-left:-3.8%}header#banner h2{font-size:25px;font-size:2.5rem}main#content h3{font-size:20px;font-size:2rem}main#content ul#posts{font-size:18px;font-size:1.8rem}main#content header#post-header h1{font-size:24px;font-size:2.4rem}main#content img{max-width:108%;margin-left:-3.8%}main#content figure{margin-left:-3.8%}main#content figure img{max-width:108%}main#content pre{width:108%;margin-left:-3.8%;padding:1.5rem 2.2rem}}.bg{color:#d8dee9;background-color:#2e3440}.chroma{color:#d8dee9;background-color:#2e3440}.chroma .x{}.chroma .err{color:#bf616a}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#424853}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .line{display:flex}.chroma .k{color:#81a1c1;font-weight:700}.chroma .kc{color:#81a1c1;font-weight:700}.chroma .kd{color:#81a1c1;font-weight:700}.chroma .kn{color:#81a1c1;font-weight:700}.chroma .kp{color:#81a1c1}.chroma .kr{color:#81a1c1;font-weight:700}.chroma .kt{color:#81a1c1}.chroma .n{}.chroma .na{color:#8fbcbb}.chroma .nb{color:#81a1c1}.chroma .bp{}.chroma .nc{color:#8fbcbb}.chroma .no{color:#8fbcbb}.chroma .nd{color:#d08770}.chroma .ni{color:#d08770}.chroma .ne{color:#bf616a}.chroma .nf{color:#88c0d0}.chroma .fm{}.chroma .nl{color:#8fbcbb}.chroma .nn{color:#8fbcbb}.chroma .nx{}.chroma .py{color:#8fbcbb}.chroma .nt{color:#81a1c1}.chroma .nv{}.chroma .vc{}.chroma .vg{}.chroma .vi{}.chroma .vm{}.chroma .l{}.chroma .ld{}.chroma .s{color:#a3be8c}.chroma .sa{color:#a3be8c}.chroma .sb{color:#a3be8c}.chroma .sc{color:#a3be8c}.chroma .dl{color:#a3be8c}.chroma .sd{color:#616e87}.chroma .s2{color:#a3be8c}.chroma .se{color:#ebcb8b}.chroma .sh{color:#a3be8c}.chroma .si{color:#a3be8c}.chroma .sx{color:#a3be8c}.chroma .sr{color:#ebcb8b}.chroma .s1{color:#a3be8c}.chroma .ss{color:#a3be8c}.chroma .m{color:#b48ead}.chroma .mb{color:#b48ead}.chroma .mf{color:#b48ead}.chroma .mh{color:#b48ead}.chroma .mi{color:#b48ead}.chroma .il{color:#b48ead}.chroma .mo{color:#b48ead}.chroma .o{color:#81a1c1}.chroma .ow{color:#81a1c1;font-weight:700}.chroma .p{color:#eceff4}.chroma .c{color:#616e87;font-style:italic}.chroma .ch{color:#616e87;font-style:italic}.chroma .cm{color:#616e87;font-style:italic}.chroma .c1{color:#616e87;font-style:italic}.chroma .cs{color:#616e87;font-style:italic}.chroma .cp{color:#5e81ac;font-style:italic}.chroma .cpf{color:#5e81ac;font-style:italic}.chroma .g{}.chroma .gd{color:#bf616a}.chroma .ge{font-style:italic}.chroma .gr{color:#bf616a}.chroma .gh{color:#88c0d0;font-weight:700}.chroma .gi{color:#a3be8c}.chroma .go{}.chroma .gp{color:#4c566a;font-weight:700}.chroma .gs{font-weight:700}.chroma .gu{color:#88c0d0;font-weight:700}.chroma .gt{color:#bf616a}.chroma .gl{}.chroma .w{}