*,*:before,*:after{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}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;min-height:100vh;width:100%;margin:0 auto;padding:0 16px;line-height:1.6;overflow-wrap:break-word;display:flex;flex-direction:column}@supports(min-height:100dvh){body{min-height:100dvh}}main#content{flex:1 0 auto}header#banner{margin:25px 0}header#banner.home-banner{margin-bottom:16px}header#banner a{color:#313a3d;text-decoration:none}header#banner a:hover{text-decoration:underline}header#banner h1,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:16px;font-size:1.6rem}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.home-content>p:first-child{margin-top:0;margin-bottom:10px}main#content .list-title,main#content .page-title{font-size:16px;font-size:1.6rem;font-weight:600;margin:0 0 10px}main#content ul#posts{list-style-type:none;font-size:16px;font-size:1.6rem;margin-top:10px;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{color:#313a3d;text-decoration:none}main#content ul#posts li a:hover{color:#313a3d;text-decoration:underline}main#content nav.pagination{display:flex;gap:10px;margin:18px 0 0}main#content nav.pagination a,main#content nav.pagination span,main#content nav.pagination strong{color:#767676;font-size:.9em;font-weight:400}main#content nav.pagination strong{color:#313a3d}main#content header#post-header h1{display:block;font-size:22px;font-size:2.2rem;font-weight:600;line-height:1.25;margin-bottom:10px}main#content article>h2{font-size:20px;font-size:2rem;margin-top:2.4rem}main#content article>h3{font-size:17px;font-size:1.7rem;margin-top:2rem}main#content article.post-article{line-height:1.65}main#content article.post-article>header#post-header{margin-bottom:1.6rem}main#content article.post-article>header#post-header+*{margin-top:0}main#content article.post-article>p{margin:0 0 1rem}main#content article.post-article>h2{margin-top:2.4rem;margin-bottom:.8rem}main#content article.post-article>h3{margin-top:1.6rem;margin-bottom:.8rem}main#content article.post-article>h2+*,main#content article.post-article>h3+*{margin-top:0}main#content article.post-article>h2+h3{margin-top:.8rem}main#content article.post-article>h2+table,main#content article.post-article>h2+.highlight,main#content article.post-article>h2+.code-block,main#content article.post-article>h2+pre,main#content article.post-article>h2+blockquote,main#content article.post-article>h2+figure,main#content article.post-article>h2+details{margin-top:1.2rem}main#content article.post-article>h3+table,main#content article.post-article>h3+.highlight,main#content article.post-article>h3+.code-block,main#content article.post-article>h3+pre,main#content article.post-article>h3+blockquote,main#content article.post-article>h3+figure,main#content article.post-article>h3+details{margin-top:1.2rem}main#content article.post-article>table{margin:1.2rem 0}main#content article.post-article>.highlight,main#content article.post-article>.code-block,main#content article.post-article>pre,main#content article.post-article>figure,main#content article.post-article>details,main#content article.post-article>blockquote{margin-top:1.2rem;margin-bottom:1.2rem}main#content article.post-article>p:has(>img:only-child){margin-top:1.2rem;margin-bottom:1.2rem}main#content article.post-article>p>img:only-child{display:block}main#content article.post-article>ul,main#content article.post-article>ol{margin:0 0 1rem}main#content article.post-article>.highlight>pre,main#content article.post-article>.highlight>.code-block{margin-top:0;margin-bottom:0}main#content article.post-article>blockquote>:first-child{margin-top:0}main#content article.post-article>blockquote>:last-child{margin-bottom:0}main#content article.post-article>hr{margin:1.8rem 0}main#content header#post-header>div{display:block;font-size:.85em;color:#767676}main#content nav.post-footer-nav{margin-top:32px}main#content nav.post-footer-nav a{color:#767676;font-size:.92em}main#content .post-layout{position:relative}main#content .post-layout>aside.post-sidebar-toc{display:none}main#content .post-layout>aside.post-sidebar-toc h4{margin:0 0 11px;font-size:13px;font-weight:600;letter-spacing:0;color:#9a9a9a}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents{margin:0}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ul,main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ol{list-style:none;margin:0;padding-left:0}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents li{margin:0;padding:0}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ul ul,main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ol ol,main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ul ol,main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents ol ul{margin-top:4px;padding-left:12px}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents a{display:block;color:#8b8b8b;font-size:13px;line-height:1.65;padding:3px 0 3px 12px;border-left:2px solid transparent;text-decoration:none}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents a:hover{border-left-color:#d4d4d4;color:#4f4f4f;text-decoration:none}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 table{width:100%;display:block;overflow-x:auto;border-collapse:collapse;margin:18px 0;font-size:.96em}main#content thead{background:#f4f5f6}main#content th,main#content td{border:1px solid #d8d8d8;padding:10px 12px;text-align:left;vertical-align:top}main#content th{color:#313a3d;font-weight:600}main#content details{margin:18px 0;padding:10px 14px;border:1px solid #d8d8d8;border-radius:8px;background:#fafafa}main#content summary{cursor:pointer;font-weight:600}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;border-radius:8px;background:#1f2328;color:#f5f7fa}main#content .code-block{position:relative;margin:20px 0}main#content .code-block pre{margin:0;padding-right:6rem}main#content .code-copy-button{position:absolute;top:15px;right:12px;z-index:1;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:3px 8px;background:rgba(255,255,255,6%);color:#d8dee9;font-size:12px;line-height:1.5;cursor:pointer}main#content .code-copy-button:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff}main#content .code-copy-button.is-copied{color:#b8f3c6}main#content .code-copy-button.is-selected{color:#f4d58d}main#content .code-copy-button.is-failed{color:#ffb4b4}main#content pre code{padding:0}main#content .footnotes{font-size:.9em}footer#footer{flex:none;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:nowrap;color:#b3b3b3;margin:40px 0 24px;text-align:center}@media(max-width:600px){footer#footer{font-size:12px}}@media(min-width:770px){body{width:600px;line-height:1.5}main#content hr{width:108%;margin-left:-3.8%}header#banner h1,header#banner h2{font-size:25px;font-size:2.5rem}main#content h3{font-size:16px;font-size:1.6rem}main#content ul#posts{font-size:16px;font-size:1.6rem}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}main#content .code-block{width:108%;margin:20px 0 20px -3.8%}main#content .code-block pre{width:100%;margin:0;padding:1.5rem 6rem 1.5rem 2.2rem}}@media(min-width:1280px){body{width:600px}main#content .post-layout.has-sidebar-toc>aside.post-sidebar-toc{display:block;position:fixed;top:96px;left:calc(50% + 360px);width:220px;max-height:calc(100vh - 128px);overflow-y:auto;padding-left:0;border-left:1px solid #ececec}}@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{color:#ebebeb}main#content ul#posts li a:hover{color:#ebebeb}main#content header#post-header div{color:#a7a7a7}main#content nav.post-footer-nav a{color:#a7a7a7}main#content .post-layout>aside.post-sidebar-toc h4{color:#8f8f8f}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents a{color:#9f9f9f}main#content .post-layout>aside.post-sidebar-toc nav#TableOfContents a:hover{border-left-color:#555;color:#d5d5d5}main#content thead{background:#1f1f1f}main#content th,main#content td{border-color:#4a4a4a}main#content th{color:#ebebeb}main#content details{border-color:#4a4a4a;background:#171717}main#content pre{background:#0f1115;color:#f5f7fa}main#content .code-copy-button{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,5%);color:#cfd6e4}main#content .code-copy-button:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff}main#content .post-layout.has-sidebar-toc>aside.post-sidebar-toc{border-left-color:#343434}}.chroma{color:#f5f7fa;background-color:transparent}.chroma .err{color:#ffb4a9;background-color:rgba(255,120,117,.18)}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:rgba(255,255,255,8%)}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7d8590}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7d8590}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#ffb86c}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#ffb86c}.chroma .l{color:#caa6ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#caa6ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#caa6ff}.chroma .mb{color:#caa6ff}.chroma .mf{color:#caa6ff}.chroma .mh{color:#caa6ff}.chroma .mi{color:#caa6ff}.chroma .il{color:#caa6ff}.chroma .mo{color:#caa6ff}.chroma .o{color:#ffb86c}.chroma .ow{color:#ffb86c}.chroma .c{color:#9aa4b2}.chroma .ch{color:#9aa4b2}.chroma .cm{color:#9aa4b2}.chroma .c1{color:#9aa4b2}.chroma .cs{color:#9aa4b2}.chroma .cp{color:#9aa4b2}.chroma .cpf{color:#9aa4b2}.chroma .gd{color:#ffb86c}.chroma .ge{font-style:italic}.chroma .gi{color:#8bdc8b}.chroma .gs{font-weight:700}.chroma .gu{color:#9aa4b2}