pre{line-height:125%}td.linenos .normal{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special{color:#000000;background-color:#ffffc0;padding-left:5px;padding-right:5px}span.linenos.special{color:#000000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.code .hll{background-color:#49483e}.code{background:#272822;color:#f8f8f2}.code .c{color:#75715e}.code .err{color:#960050;background-color:#1e0010}.code .k{color:#66d9ef}.code .l{color:#ae81ff}.code .n{color:#f8f8f2}.code .o{color:#f92672}.code .p{color:#f8f8f2}.code .ch{color:#75715e}.code .cm{color:#75715e}.code .cp{color:#75715e}.code .cpf{color:#75715e}.code .c1{color:#75715e}.code .cs{color:#75715e}.code .gd{color:#f92672}.code .ge{font-style:italic}.code .gi{color:#a6e22e}.code .go{color:#66d9ef}.code .gp{color:#f92672;font-weight:bold}.code .gs{font-weight:bold}.code .gu{color:#75715e}.code .kc{color:#66d9ef}.code .kd{color:#66d9ef}.code .kn{color:#f92672}.code .kp{color:#66d9ef}.code .kr{color:#66d9ef}.code .kt{color:#66d9ef}.code .ld{color:#e6db74}.code .m{color:#ae81ff}.code .s{color:#e6db74}.code .na{color:#a6e22e}.code .nb{color:#f8f8f2}.code .nc{color:#a6e22e}.code .no{color:#66d9ef}.code .nd{color:#a6e22e}.code .ni{color:#f8f8f2}.code .ne{color:#a6e22e}.code .nf{color:#a6e22e}.code .nl{color:#f8f8f2}.code .nn{color:#f8f8f2}.code .nx{color:#a6e22e}.code .py{color:#f8f8f2}.code .nt{color:#f92672}.code .nv{color:#f8f8f2}.code .ow{color:#f92672}.code .w{color:#f8f8f2}.code .mb{color:#ae81ff}.code .mf{color:#ae81ff}.code .mh{color:#ae81ff}.code .mi{color:#ae81ff}.code .mo{color:#ae81ff}.code .sa{color:#e6db74}.code .sb{color:#e6db74}.code .sc{color:#e6db74}.code .dl{color:#e6db74}.code .sd{color:#e6db74}.code .s2{color:#e6db74}.code .se{color:#ae81ff}.code .sh{color:#e6db74}.code .si{color:#e6db74}.code .sx{color:#e6db74}.code .sr{color:#e6db74}.code .s1{color:#e6db74}.code .ss{color:#e6db74}.code .bp{color:#f8f8f2}.code .fm{color:#a6e22e}.code .vc{color:#f8f8f2}.code .vg{color:#f8f8f2}.code .vi{color:#f8f8f2}.code .vm{color:#f8f8f2}.code .il{color:#ae81ff}:root{--color-bg:#ffffff;--color-fg:#333333;--color-link:cornflowerblue;--color-link-visited:#4e80dc}@media (prefers-color-scheme:dark){:root{--color-bg:#333333;--color-fg:#ffffff;--color-link:crimson;--color-link-visited:crimson}}body,html{padding:0;margin:0;font-family:Helvetica,Arial,sans-serif}html{background-color:var(--color-bg);color:var(--color-fg)}.content-grid{--padding-inline:1rem;--content-max-width:1000px;--breakout-max-width:1300px;--breakout-size:calc((var(--breakout-max-width) - var(--content-max-width)) / 2);display:grid;grid-template-columns:[full-width-start] minmax(var(--padding-inline),1fr) [breakout-start] minmax(0,var(--breakout-size)) [content-start] min(100% - (var(--padding-inline) * 2),var(--content-max-width)) [content-end] minmax(0,var(--breakout-size)) [breakout-end] minmax(var(--padding-inline),1fr) [full-width-end]}.content-grid>:not(.breakout,.full-width),.full-width>:not(.breakout,.full-width){grid-column:content}.content-grid>.breakout{grid-column:breakout}.content-grid>.full-width{grid-column:full-width;display:grid;grid-template-columns:inherit}img.full-width{width:100%;max-height:45vh;object-fit:cover}img.breakout{width:100%;object-fit:cover}.page{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:0 0;grid-template-areas:"Header Header" "Sidebar Content" "Footer Footer";min-height:100vh}.portrait{border-radius:50%}.sidebar{padding:1em;grid-area:Sidebar}.content{padding:1em;grid-area:Content}header{padding:1em;grid-area:Header}footer{border-top:3px solid #eee;margin-top:1em;padding-top:1em}img:not(.breakout):not(.full-width){max-width:100%}a{color:var(--color-link);text-decoration:none}a:visited{color:var(--color-link-visited)}ul{list-style:disc;margin-left:1em;padding:0;line-height:1.5}nav{font-size:1.2em}nav ul{margin:0;padding:0}nav ul li{display:inline;padding:0.5em}nav ul li:first-child{padding-left:0}nav ul li:last-child{padding-right:0}nav img{float:right}code{font-family:monospace}.code{padding:10px;overflow:auto}.code pre{line-height:1;margin:0}.code + .code{margin-top:10px}.full-size-image{transition:all 0.3s;position:absolute;left:50%;top:50%;height:50%;transform:translateX(-50%) translateY(-50%) scale(1);object-fit:contain}.full-size-image.hidden{transform:translateX(-50%) translateY(-50%) scale(0) rotateZ(180deg);top:-80%}.hidden{opacity:0}h1{font-size:1.6em}h2{font-size:1.3em}h3{font-size:1.2em}h4{font-size:1.1em}h1,h2,h3,h4,h5,h6{font-weight:bold}