*,*: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:#313a3d;width:100%;margin:0 auto;padding:0 16px;line-height:1.6;overflow-wrap:break-word}header#banner{margin:25px 0}header#banner a{color:#313a3d;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:#454545}main#content a{color:#007dfa;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:#394548;margin:16px 0}main#content hr{height:1px;border:0;background:#d8d8d8}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:#767676;margin-left:10px}main#content ul#posts li a{text-decoration:none}main#content ul#posts li a:hover{color:#369aff}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:#767676}main#content #toc{border:1px solid #b1b1b1;border-radius:1px;line-height:26px;margin:16px 0;padding:9px 14px}main#content #toc h4{font-size:1.06em;color:#3d3d3d;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 #ccc}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:#b3b3b3;margin:40px 0}@media(min-width:770px){body{width:600px;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}}@media(prefers-color-scheme:dark){html{scrollbar-color:#6c6c6c #2e2e2e}body{color:#ebebeb;background:#121212;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header#banner a{color:#e0e0e0;text-decoration:none}header#banner nav ul li a{color:#ccc}main#content a{color:#00b1ed}main#content p{color:#f5f5f5}main#content hr{background:#5c5c5c}main#content #toc h4{color:#d4d4d4}main#content ul#posts small{color:#a7a7a7}main#content ul#posts li a:hover{color:#21c7ff}main#content header#post-header div{color:#a7a7a7}}.bg{color:#3c3836;background-color:#fbf1c7}.chroma{color:#3c3836;background-color:#fbf1c7;-webkit-text-size-adjust:none}.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:#e1d8b3}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#9d9b9a}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#9d9b9a}.chroma .line{display:flex}.chroma .k{color:#af3a03}.chroma .kc{color:#af3a03}.chroma .kd{color:#af3a03}.chroma .kn{color:#af3a03}.chroma .kp{color:#af3a03}.chroma .kr{color:#af3a03}.chroma .kt{color:#b57614}.chroma .na{color:#79740e;font-weight:700}.chroma .no{color:#d3869b}.chroma .ni{color:#b57614}.chroma .ne{color:#fb4934}.chroma .nl{color:#9d0006}.chroma .nn{color:#79740e}.chroma .nt{color:#9d0006}.chroma .nb{color:#b57614}.chroma .bp{color:#b57614}.chroma .nf{color:#b57614}.chroma .fm{color:#b57614}.chroma .s{color:#79740e}.chroma .sa{color:#79740e}.chroma .sb{color:#79740e}.chroma .sc{color:#79740e}.chroma .dl{color:#79740e}.chroma .sd{color:#79740e}.chroma .s2{color:#79740e}.chroma .se{color:#79740e}.chroma .sh{color:#79740e}.chroma .si{color:#79740e}.chroma .sx{color:#79740e}.chroma .sr{color:#79740e}.chroma .s1{color:#79740e}.chroma .ss{color:#076678}.chroma .m{color:#8f3f71}.chroma .mb{color:#8f3f71}.chroma .mf{color:#8f3f71}.chroma .mh{color:#8f3f71}.chroma .mi{color:#8f3f71}.chroma .il{color:#8f3f71}.chroma .mo{color:#8f3f71}.chroma .o{color:#af3a03}.chroma .ow{color:#af3a03}.chroma .or{color:#af3a03}.chroma .c{color:#928374;font-style:italic}.chroma .ch{color:#928374;font-style:italic}.chroma .cm{color:#928374;font-style:italic}.chroma .c1{color:#928374;font-style:italic}.chroma .cs{color:#928374;font-style:italic}.chroma .cp{color:#427b58}.chroma .cpf{color:#427b58;font-style:italic}.chroma .gd{color:#282828;background-color:#9d0006}.chroma .ge{color:#076678;text-decoration:underline}.chroma .gr{background-color:#9d0006;font-weight:700}.chroma .gh{color:#79740e;font-weight:700}.chroma .gi{color:#282828;background-color:#79740e}.chroma .go{color:#504945}.chroma .gp{color:#3c3836}.chroma .gs{color:#3c3836}.chroma .gu{color:#79740e;font-weight:700}.chroma .gt{background-color:#3c3836;font-weight:700}@media(prefers-color-scheme:dark){.bg{color:#ebdbb2;background-color:#282828}.chroma{color:#ebdbb2;background-color:#282828;-webkit-text-size-adjust:none}.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:#3d3d3d}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#756d59}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#756d59}.chroma .line{display:flex}.chroma .k{color:#fe8019}.chroma .kc{color:#fe8019}.chroma .kd{color:#fe8019}.chroma .kn{color:#fe8019}.chroma .kp{color:#fe8019}.chroma .kr{color:#fe8019}.chroma .kt{color:#fabd2f}.chroma .na{color:#b8bb26;font-weight:700}.chroma .no{color:#d3869b}.chroma .ni{color:#fabd2f}.chroma .ne{color:#fb4934}.chroma .nl{color:#fb4934}.chroma .nn{color:#b8bb26}.chroma .nt{color:#fb4934}.chroma .nb{color:#fabd2f}.chroma .bp{color:#fabd2f}.chroma .nf{color:#fabd2f}.chroma .fm{color:#fabd2f}.chroma .s{color:#b8bb26}.chroma .sa{color:#b8bb26}.chroma .sb{color:#b8bb26}.chroma .sc{color:#b8bb26}.chroma .dl{color:#b8bb26}.chroma .sd{color:#b8bb26}.chroma .s2{color:#b8bb26}.chroma .se{color:#b8bb26}.chroma .sh{color:#b8bb26}.chroma .si{color:#b8bb26}.chroma .sx{color:#b8bb26}.chroma .sr{color:#b8bb26}.chroma .s1{color:#b8bb26}.chroma .ss{color:#83a598}.chroma .m{color:#d3869b}.chroma .mb{color:#d3869b}.chroma .mf{color:#d3869b}.chroma .mh{color:#d3869b}.chroma .mi{color:#d3869b}.chroma .il{color:#d3869b}.chroma .mo{color:#d3869b}.chroma .o{color:#fe8019}.chroma .ow{color:#fe8019}.chroma .or{color:#fe8019}.chroma .c{color:#928374;font-style:italic}.chroma .ch{color:#928374;font-style:italic}.chroma .cm{color:#928374;font-style:italic}.chroma .c1{color:#928374;font-style:italic}.chroma .cs{color:#928374;font-style:italic}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#8ec07c;font-style:italic}.chroma .gd{color:#282828;background-color:#fb4934}.chroma .ge{color:#83a598;text-decoration:underline}.chroma .gr{background-color:#fb4934;font-weight:700}.chroma .gh{color:#b8bb26;font-weight:700}.chroma .gi{color:#282828;background-color:#b8bb26}.chroma .go{color:#504945}.chroma .gp{color:#ebdbb2}.chroma .gs{color:#ebdbb2}.chroma .gu{color:#b8bb26;font-weight:700}.chroma .gt{background-color:#fb4934;font-weight:700}}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin.woff2)format("woff2")}@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-latin-italic.woff2)format("woff2")}:root{--gb-bg:#fbf1c7;--gb-bg1:#ebdbb2;--gb-bg2:#d5c4a1;--gb-bg3:#bdae93;--gb-fg:#3c3836;--gb-fg0:#282828;--gb-fg2:#504945;--gb-muted:#7c6f64;--gb-border:#d5c4a1;--gb-link:#076678;--gb-link-hover:#427b58;--gb-accent:#af3a03;color-scheme:light}@media(prefers-color-scheme:dark){:root{--gb-bg:#282828;--gb-bg1:#3c3836;--gb-bg2:#504945;--gb-bg3:#665c54;--gb-fg:#ebdbb2;--gb-fg0:#fbf1c7;--gb-fg2:#d5c4a1;--gb-muted:#a89984;--gb-border:#504945;--gb-link:#83a598;--gb-link-hover:#8ec07c;--gb-accent:#fe8019;color-scheme:dark}}html{background:var(--gb-bg);scrollbar-color:var(--gb-bg3)var(--gb-bg1)}body{color:var(--gb-fg);background:var(--gb-bg)}header#banner a{color:var(--gb-fg0)}header#banner nav ul li a{color:var(--gb-fg2)}main#content a{color:var(--gb-link)}main#content a:hover,main#content ul#posts li a:hover{color:var(--gb-link-hover)}main#content ul#posts li a{color:var(--gb-fg)}main#content h1,main#content h2,main#content h3,main#content h4,main#content h5,main#content h6{color:var(--gb-fg0)}main#content p,main#content li,main#content td{color:var(--gb-fg)}main#content hr{background:var(--gb-border)}main#content ul#posts small,main#content header#post-header>div,main#content header#post-header div{color:var(--gb-muted)}main#content #toc{border-color:var(--gb-bg3)}main#content #toc h4{color:var(--gb-fg2)}main#content blockquote{border-left-color:var(--gb-accent)}main#content :not(pre)>code{background:var(--gb-bg1)}main#content pre{border-radius:2px}::selection{background:var(--gb-bg2)}footer#footer{color:var(--gb-muted)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Tahoma,Arial,sans-serif}html[lang=en] main#content,html[lang=en] header#banner h2{font-family:lora,Georgia,serif}@media(min-width:848px){body{width:800px}}main#content img,main#content figure img{display:block;width:100%;max-width:100%;height:auto;margin:16px 0}main#content figure{margin:16px 0}main#content p#subtitle{color:var(--gb-muted);font-style:italic}main#content table{display:block;overflow-x:auto;border-collapse:collapse;margin:20px 0;font-size:.92em}main#content th,main#content td{padding:6px 12px;border:1px solid var(--gb-border);text-align:start}main#content th{background:var(--gb-bg1)}main#content footer#post-tags{margin:32px 0 0;font-size:.9em}main#content footer#post-tags a{margin-inline-end:12px}main#content nav#post-nav{display:flex;justify-content:space-between;gap:24px;margin:32px 0 0;padding-top:16px;border-top:1px solid var(--gb-border);font-size:.92em}main#content nav#post-nav .next{margin-inline-start:auto;text-align:end}main#content input#search-input{width:100%;margin:8px 0 16px;padding:8px 10px;font:inherit;color:inherit;background:0 0;border:1px solid var(--gb-bg3);border-radius:0}footer#footer nav.social{margin-bottom:6px}footer#footer nav.social a{margin-inline-end:12px}footer#footer a{color:inherit}