#sidebar[data-astro-cid-uhrsm3ek]{position:relative;display:flex;flex-direction:column;overflow:visible;flex-grow:1;min-width:0;padding-inline:1ch;padding-block-start:0;color:var(--foreground2);font-family:var(--font-family);line-height:1.25;&:focus-within{--box-border-color: var(--focus-region-border)}}#sidebar-actions[data-astro-cid-uhrsm3ek]{display:flex;gap:0;font-size:.95em;position:relative;z-index:10;width:fit-content;margin-block-start:0;margin-inline-start:0ch;background:var(--background0);.sidebar-action{all:unset;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:.2lh .75ch;min-width:3ch;color:var(--foreground0);background-color:color-mix(in oklch,var(--background0),var(--foreground0) 5%);border:1px solid color-mix(in oklch,var(--background0),var(--foreground0) 18%);cursor:pointer;font-family:var(--font-family);font-size:inherit;line-height:1;text-decoration:none;--chip-accent: var(--foreground2);transition:color .1s linear,background-color .1s linear,border-color .1s linear,transform .1s ease-out,box-shadow .1s ease-out;opacity:50%;&:hover,&:focus-visible,&[data-vim-focused=true]{color:var(--foreground0);transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent);opacity:100%!important}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}&[href="/"]:hover,&[href="/"]:focus-visible,&[href="/"][data-vim-focused=true]{--chip-accent: var(--blue);color:var(--blue);background-color:color-mix(in srgb,var(--background0),var(--blue) 18%)!important;border-color:var(--blue)!important}&[href*=github]:hover,&[href*=github]:focus-visible,&[href*=github][data-vim-focused=true]{--chip-accent: var(--purple);color:var(--purple);background-color:color-mix(in srgb,var(--background0),var(--purple) 18%)!important;border-color:var(--purple)!important}&[href*=rss]:hover,&[href*=rss]:focus-visible,&[href*=rss][data-vim-focused=true]{--chip-accent: var(--orange);color:var(--orange);background-color:color-mix(in srgb,var(--background0),var(--orange) 18%)!important;border-color:var(--orange)!important}&#search-button-sidebar:hover,&#search-button-sidebar:focus-visible,&#search-button-sidebar[data-vim-focused=true]{--chip-accent: var(--green);color:var(--green);background-color:color-mix(in srgb,var(--background0),var(--green) 18%)!important;border-color:var(--green)!important}&#command-button-sidebar:hover,&#command-button-sidebar:focus-visible,&#command-button-sidebar[data-vim-focused=true]{--chip-accent: var(--pink);color:var(--pink);background-color:color-mix(in srgb,var(--background0),var(--pink) 18%)!important;border-color:var(--pink)!important}}}#category-container[data-astro-cid-uhrsm3ek]{position:relative;flex-grow:1;margin-top:.5ch;min-width:0}#category-list[data-astro-cid-uhrsm3ek]{position:absolute;inset:0;display:flex;flex-direction:column;gap:0;overflow-y:auto}.tree-root[data-astro-cid-uhrsm3ek]{color:var(--foreground1);padding-inline-start:0ch;white-space:nowrap;user-select:none;text-decoration:none;display:block}.tree-root[data-astro-cid-uhrsm3ek]:hover{color:var(--foreground0)}.root-icon[data-astro-cid-uhrsm3ek]{color:var(--accent, var(--foreground2))}.tree-entry[data-astro-cid-uhrsm3ek]{display:flex;align-items:baseline;white-space:nowrap;text-decoration:none;color:var(--foreground2);outline:none;cursor:pointer;position:relative;transition:background-color .1s linear,color .1s linear}.tree-entry[data-astro-cid-uhrsm3ek]:hover{background-color:var(--focus-hover-bg)}.tree-entry[data-astro-cid-uhrsm3ek]:focus-visible,.tree-entry[data-astro-cid-uhrsm3ek][data-vim-focused=true]{background-color:oklch(from var(--accent) calc(l*.85) c h / .075);outline:1pt solid;color:var(--focus-fg);text-decoration:none}.tree-entry[data-astro-cid-uhrsm3ek].active{color:var(--accent)}.tree-entry[data-astro-cid-uhrsm3ek].external{font-style:italic}.depth-1[data-astro-cid-uhrsm3ek],.depth-2[data-astro-cid-uhrsm3ek],.depth-3[data-astro-cid-uhrsm3ek]{padding-inline-start:0}.tree-folder[data-astro-cid-uhrsm3ek].depth-1>summary[data-astro-cid-uhrsm3ek]{padding-inline-start:0}.tree-folder[data-astro-cid-uhrsm3ek].depth-2>summary[data-astro-cid-uhrsm3ek]{padding-inline-start:0}.tree-folder[data-astro-cid-uhrsm3ek].depth-3>summary[data-astro-cid-uhrsm3ek]{padding-inline-start:0}.tree-line[data-astro-cid-uhrsm3ek]{display:inline-block;width:2ch;flex-shrink:0;color:var(--foreground3);user-select:none;text-align:left}.tree-file[data-astro-cid-uhrsm3ek]>.tree-line[data-astro-cid-uhrsm3ek]:before,.tree-folder[data-astro-cid-uhrsm3ek]>summary[data-astro-cid-uhrsm3ek]>.tree-line[data-astro-cid-uhrsm3ek]:before{content:"├─"}.tree-file[data-astro-cid-uhrsm3ek][data-last]>.tree-line[data-astro-cid-uhrsm3ek]:before,.tree-folder[data-astro-cid-uhrsm3ek][data-last]>summary[data-astro-cid-uhrsm3ek]>.tree-line[data-astro-cid-uhrsm3ek]:before{content:"└─"}.tree-children[data-astro-cid-uhrsm3ek]{position:relative;margin-inline-start:.4ch;padding-inline-start:2ch}.tree-chevron[data-astro-cid-uhrsm3ek]{display:inline-block;flex-shrink:0;color:var(--foreground3);user-select:none;text-align:center}.tree-chevron[data-astro-cid-uhrsm3ek]:before{content:""}details[data-astro-cid-uhrsm3ek][open]>summary[data-astro-cid-uhrsm3ek]>.tree-chevron[data-astro-cid-uhrsm3ek]:before{content:""}.tree-icon[data-astro-cid-uhrsm3ek]{display:inline-block;width:1.5ch;flex-shrink:0;text-align:center;user-select:none;margin-inline-end:.5ch}.folder-icon[data-astro-cid-uhrsm3ek]:before{content:"󰉖";color:var(--foreground2)}details[data-astro-cid-uhrsm3ek][open]>summary[data-astro-cid-uhrsm3ek]>.folder-icon[data-astro-cid-uhrsm3ek]:before{content:"󰷏";color:var(--accent, var(--foreground2))}.file-icon[data-astro-cid-uhrsm3ek]{color:var(--foreground3)}.sidebar-toc[data-astro-cid-uhrsm3ek]{margin-inline-start:0;padding-inline-start:2ch}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek]{display:flex;align-items:baseline;gap:.75ch;padding-block:.05lh;padding-inline:0;color:var(--foreground3);text-decoration:none;line-height:1.3}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-hash[data-astro-cid-uhrsm3ek]{flex-shrink:0;color:var(--foreground3);font-size:.8em;letter-spacing:-.05ch;opacity:.7}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-text[data-astro-cid-uhrsm3ek]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-3{padding-inline-start:3ch}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-4{padding-inline-start:6ch}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-5{padding-inline-start:10ch}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-6{padding-inline-start:14ch}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek]:is(.depth-3,.depth-4,.depth-5,.depth-6){display:none}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].toc-section-open:is(.depth-3,.depth-4,.depth-5,.depth-6){display:flex}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-2.active{color:var(--h2);background-color:oklch(from var(--h2, var(--orange)) calc(l * var(--oklch-scale, .85)) c h / .1)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-3.active{color:var(--h3);background-color:oklch(from var(--h3, var(--green)) calc(l * var(--oklch-scale, .85)) c h / .1)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-4.active{color:var(--h4);background-color:oklch(from var(--h4, #50fa7b) calc(l * var(--oklch-scale, .85)) c h / .1)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-5.active{color:var(--h5);background-color:oklch(from var(--h5, #fd971f) calc(l * var(--oklch-scale, .85)) c h / .1)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].depth-6.active{color:var(--h6);background-color:oklch(from var(--h6, #f44336) calc(l * var(--oklch-scale, .85)) c h / .1)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek].active .toc-hash[data-astro-cid-uhrsm3ek]{color:inherit;opacity:1}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek]:hover{background-color:var(--focus-hover-bg, var(--background1));color:var(--foreground0)}.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek]:focus-visible,.sidebar-toc[data-astro-cid-uhrsm3ek] .toc-heading[data-astro-cid-uhrsm3ek][data-vim-focused=true]{background-color:oklch(from var(--accent) calc(l*.85) c h / .075);outline:1pt solid var(--accent);outline-offset:-1pt;color:var(--focus-fg);text-decoration:none}.tree-label[data-astro-cid-uhrsm3ek]{min-width:0;overflow:hidden;text-overflow:ellipsis;color:inherit;text-decoration:none}a[data-astro-cid-uhrsm3ek].tree-label{color:inherit;text-decoration:none}a[data-astro-cid-uhrsm3ek].tree-label:hover{text-decoration:none}.tree-folder[data-astro-cid-uhrsm3ek]{list-style:none}.tree-folder[data-astro-cid-uhrsm3ek]>summary[data-astro-cid-uhrsm3ek]{list-style-type:""}.tree-folder[data-astro-cid-uhrsm3ek]>summary[data-astro-cid-uhrsm3ek]::marker{content:""}.tree-folder[data-astro-cid-uhrsm3ek]>summary[data-astro-cid-uhrsm3ek]::-webkit-details-marker{display:none}.cat-key[data-astro-cid-uhrsm3ek]{opacity:.35}details[data-astro-cid-uhrsm3ek][open] a[data-astro-cid-uhrsm3ek].hidden,details[data-astro-cid-uhrsm3ek].hidden,.hidden[data-astro-cid-uhrsm3ek]{display:none}.share-buttons[data-astro-cid-zllr3mxm]{display:inline-flex;align-items:center;gap:.5ch}.share-btn[data-astro-cid-zllr3mxm]{font-family:var(--font-family);font-size:1em;box-sizing:border-box;width:3ch;padding:0;color:var(--foreground2);background:none;border:1px solid transparent;border-radius:0;cursor:pointer;text-decoration:none;text-align:center;justify-content:center;opacity:.6;--chip-accent: var(--foreground2);transition:opacity .1s linear,color .1s linear,background-color .1s linear,border-color .1s linear,transform .1s ease-out,box-shadow .1s ease-out;&:hover,&:focus-visible{opacity:1;color:var(--foreground0);transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent)}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}}.share-btn-copy[data-astro-cid-zllr3mxm],.share-btn-twitter[data-astro-cid-zllr3mxm],.share-btn-bluesky[data-astro-cid-zllr3mxm]{background-image:none;background-color:var(--badge-color);color:var(--badge-text);opacity:1;&:before,&:after{background-color:transparent}}.share-btn-copy[data-astro-cid-zllr3mxm]{--chip-accent: var(--pink);--badge-color: color-mix(in srgb, var(--background0), var(--pink) 18%);--badge-text: var(--pink);&:hover,&:focus-visible{--badge-color: color-mix( in srgb, var(--background0), var(--pink) 30% );color:var(--pink);border-color:var(--pink)}}.share-btn-twitter[data-astro-cid-zllr3mxm]{--twitter: #1da1f2;--chip-accent: var(--twitter);--badge-color: color-mix( in srgb, var(--background0), var(--twitter) 18% );--badge-text: var(--twitter);&:hover,&:focus-visible{--badge-color: color-mix( in srgb, var(--background0), var(--twitter) 30% );color:var(--twitter);border-color:var(--twitter)}}.share-btn-bluesky[data-astro-cid-zllr3mxm]{--bluesky: #0085ff;--chip-accent: var(--bluesky);--badge-color: color-mix( in srgb, var(--background0), var(--bluesky) 18% );--badge-text: var(--bluesky);&:hover,&:focus-visible{--badge-color: color-mix( in srgb, var(--background0), var(--bluesky) 30% );color:var(--bluesky);border-color:var(--bluesky)}}.cite-this[data-astro-cid-ufs62ngv]{margin-block-start:2lh;border-top:1px solid var(--background2);padding-block-start:1lh}.cite-this[data-astro-cid-ufs62ngv] summary[data-astro-cid-ufs62ngv]{cursor:pointer;color:var(--foreground2);font-style:italic;list-style:none}.cite-this[data-astro-cid-ufs62ngv] summary[data-astro-cid-ufs62ngv]::-webkit-details-marker{display:none}.cite-this[data-astro-cid-ufs62ngv] summary[data-astro-cid-ufs62ngv]:before{content:"+ ";font-style:normal;color:var(--foreground2)}.cite-this[data-astro-cid-ufs62ngv] details[data-astro-cid-ufs62ngv][open] summary[data-astro-cid-ufs62ngv]:before{content:"- "}.cite-this[data-astro-cid-ufs62ngv] summary[data-astro-cid-ufs62ngv]:hover{color:var(--foreground0)}.cite-body[data-astro-cid-ufs62ngv]{margin-block-start:.5lh}#vim-statusline{display:flex;align-items:center;gap:0;height:1lh;line-height:1lh;background-color:var(--background1);color:var(--foreground1);white-space:nowrap;overflow:hidden;z-index:10;flex-shrink:0}#vim-statusline>span{padding:0 1ch}.vsl-site{background-color:oklch(from var(--foreground2) calc(l * var(--oklch-scale, 1.15)) c h / .1);color:oklch(from var(--foreground1) l c h);font-weight:500;letter-spacing:.05ch;padding-inline:1ch!important}.vsl-file{padding-inline-start:1ch;display:inline-flex;align-items:baseline}.vsl-crumb{color:oklch(from var(--foreground2) l c h)}.vsl-crumb-sep{color:oklch(from var(--foreground3) l c h / .7)}a.vsl-crumb{color:oklch(from var(--url) calc(l * var(--oklch-scale, .95)) c h)}a.vsl-site,a.vsl-crumb{text-decoration:none!important;cursor:pointer;transition:background-color .1s linear,color .1s linear}a.vsl-site:hover,a.vsl-site:focus-visible{color:oklch(from var(--foreground0) l c h)!important;background-color:oklch(from var(--foreground2) calc(l * var(--oklch-scale, 1.15)) c h / .2)!important}a.vsl-crumb:hover,a.vsl-crumb:focus-visible{color:oklch(from var(--background0) l c h)!important;background-color:oklch(from var(--url) calc(l * var(--oklch-scale, .95)) c h)!important}.vsl-spacer{flex:1;padding:0!important}.vsl-clock{color:oklch(from var(--foreground3) l c h);background-color:oklch(from var(--foreground2) calc(l * var(--oklch-scale, 1.15)) c h / .04);display:inline-flex;align-items:baseline;gap:1ch;font-variant-numeric:tabular-nums}.vsl-clock-sep{color:var(--foreground3);opacity:.6}.vsl-pos{background-color:oklch(from var(--foreground2) calc(l * var(--oklch-scale, 1.15)) c h / .07);color:oklch(from var(--foreground2) l c h);font-variant-numeric:tabular-nums}.vsl-loc{background-color:oklch(from var(--foreground2) calc(l * var(--oklch-scale, 1.15)) c h / .1);color:oklch(from var(--foreground1) l c h);font-weight:500;font-variant-numeric:tabular-nums}.vsl-vim-icon{background-color:var(--blue, oklch(from #339af0 l c h));color:var(--background0);padding:0 .5ch!important;padding-inline-start:1ch!important;padding-inline-end:.5ch!important}.vsl-keys{display:flex;gap:1;padding:0!important;color:var(--foreground3);background-color:oklch(from var(--foreground3) calc(l * var(--oklch-scale, 1.15)) c h / .2);#vsl-last-key{padding:0 1ch;color:var(--background0);background-color:var(--accent);min-width:1ch;text-align:center;&:empty{display:none}}button{all:unset;padding:0 1ch;color:var(--foreground2);cursor:default;border-right:1px solid var(--background1);transition:color .1s;&:last-child{border-right:none}}}#mobile-nav{display:none;gap:1ch;position:fixed;bottom:0;left:.5ch;right:.5ch;z-index:100;padding:.5lh 1ch;background-color:var(--background0, white);border-top:1px solid var(--foreground2, #ccc);button{flex:1 1 0;min-width:0}}#doc-article>header{overflow-x:auto}#doc-article>header [is-~=badge]{padding-inline-start:0}#doc-article{position:relative;z-index:1}#doc-columns{margin-block:.5lh;margin-inline:2ch}#sidebar:before,#sidebar:after,#doc-article:before,#doc-article:after{display:none!important}@media(max-width:768px){#doc-article,#main-content{display:block!important;height:auto!important;max-height:none!important;overflow-y:visible!important;overflow-x:clip!important;position:static!important;max-width:100vw!important;min-width:0!important}#scroll-container{height:auto!important;max-height:none!important;overflow-y:visible!important;overflow-x:clip!important;max-width:100vw!important;min-width:0!important}#doc-article:before,#doc-article:after{display:none!important}}.figure-row{display:flex;flex-wrap:wrap;gap:1ch;margin-block:1lh;align-items:flex-start;>p{flex:1 1 0;min-width:0;margin:0}img,svg{width:100%;height:auto;display:block}}.figure-margin{max-width:var(--prose-measure)}@media(min-width:1280px){.figure-margin{float:right;width:min(calc(100% - var(--prose-measure) - 3ch),52ch);margin-inline-start:3ch;margin-block:0 1lh}.figure-margin>figcaption{text-align:left}.heading-collapse[open]>summary+.figure-margin{margin-block-start:0!important}.heading-collapse[open]>summary+.figure-margin+*{margin-block-start:1lh!important}#doc-article :is(h1,h2,h3,h4,h5,h6){clear:both}html[data-reader] .figure-margin{float:none;width:100%;margin-inline-start:0;margin-block:1lh}html[data-reader] .figure-margin>figcaption{text-align:center}}.post-meta{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1ch;color:var(--foreground2);padding:0;line-height:1lh;flex-shrink:0;margin-block-start:2ch;margin-block-end:0;max-width:var(--prose-measure)}.post-description{color:var(--foreground2);font-style:italic;margin-block:1lh 1lh;flex-shrink:0}.post-description code{font-style:normal;color:var(--foreground1);background-color:var(--background1);padding:0 .5ch}.post-meta-row{display:flex;align-items:center;gap:1ch;flex-wrap:wrap;.date-short{display:none}@media(max-width:480px){.post-meta-links,.share-buttons,.date-long{display:none}.date-short{display:inline}}}.post-meta-item,.post-meta-tag{text-decoration:none}.post-meta-item,.post-meta-source,.post-meta-raw{&.post-meta-author,&.post-meta-date,&.post-meta-updated,&.post-meta-reading,&.post-meta-source,&.post-meta-raw{background-image:none;background-color:var(--badge-color);color:var(--badge-text);&:before,&:after{background-color:transparent}}}.post-meta-author,.post-meta-date,.post-meta-updated,.post-meta-reading{--badge-color: var(--background2);--badge-text: var(--foreground1)}.post-meta-source,.post-meta-raw{box-sizing:border-box;width:3ch;padding:0;justify-content:center;text-align:center;border:1px solid transparent;border-radius:0;cursor:pointer;background-image:none;background-color:var(--badge-color);color:var(--badge-text);transition:color .1s linear,background-color .1s linear,border-color .1s linear,transform .1s ease-out,box-shadow .1s ease-out;&:before,&:after{background-color:transparent}&:hover,&:focus-visible{transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent)}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}}.post-meta-source{--chip-accent: var(--purple);--badge-color: color-mix(in srgb, var(--background0), var(--purple) 18%);--badge-text: var(--purple);&:hover,&:focus-visible{--badge-color: color-mix( in srgb, var(--background0), var(--purple) 30% );color:var(--purple);border-color:var(--purple)}}.post-meta-raw{--chip-accent: var(--orange);--badge-color: color-mix(in srgb, var(--background0), var(--orange) 18%);--badge-text: var(--orange);&:hover,&:focus-visible{--badge-color: color-mix( in srgb, var(--background0), var(--orange) 30% );color:var(--orange);border-color:var(--orange)}}.post-meta-links{display:inline-flex;gap:.5ch}h1:before{content:"#";display:var(--h1-prefix, inline);color:var(--h1);margin-inline-end:1ch}h2:before{content:"##";color:var(--h2);margin-inline-end:1ch}h3:before{content:"###";color:var(--h3);margin-inline-end:1ch}h4:before{content:"####";color:var(--h4);margin-inline-end:1ch}h5:before{content:"#####";color:var(--h5);margin-inline-end:1ch}h6:before{content:"######";color:var(--h6);margin-inline-end:1ch}#toc-toggle{display:flex;align-items:center;justify-content:flex-start;white-space:nowrap;box-sizing:border-box;bottom:0;left:0;right:0;z-index:3;color:var(--foreground3);background-color:var(--background0);border:none;width:min-content;left:1ch;line-height:inherit}.key-z[data-active=true]{color:var(--accent)}#sidebar:focus-within .key-h{color:var(--accent)}#toc-sidebar:focus-within .key-l{color:var(--accent)}#toc-toggle:hover{color:var(--yellow)}#sidebar-container{display:flex;width:var(--sidebar-width, auto);max-width:90vw;min-width:23ch;flex:0 0 var(--sidebar-width, auto)}#sidebar-container.collapsed{max-width:5ch;width:5ch;min-width:5ch;flex-basis:5ch}#sidebar-container.collapsed+#sidebar-resizer{display:none}#sidebar-container.collapsed{overflow:visible}#sidebar-resizer,#toc-resizer{flex:0 0 1ch;position:relative;z-index:4;align-self:stretch;height:auto;cursor:col-resize;background-image:none;border-right:2px dashed var(--background1);transition:border-color .1s linear;touch-action:none}#sidebar-resizer:before,#toc-resizer:before{content:"";position:absolute;inset:0 -12px 0 -5px;cursor:inherit}#sidebar-resizer:hover,#sidebar-resizer.dragging,#toc-resizer:hover,#toc-resizer.dragging{border-right-color:var(--accent)}#toc-container{display:flex;width:var(--toc-width, 34ch);max-width:100vw;min-width:16ch;margin-right:1ch;flex:0 0 var(--toc-width, 34ch)}#toc-container.collapsed{max-width:1lh;width:1lh;min-width:1lh;flex-basis:1lh;overflow:hidden}#toc-container.collapsed #toc-list-container{display:none}#toc-resizer:has(+#toc-container.collapsed){display:none}#toc-container.collapsed #toc-sidebar #toc-toggle{left:0;right:0;bottom:0;min-width:0;max-inline-size:none;width:1lh;height:7ch;margin-left:0;padding:0;writing-mode:vertical-rl;transform:none;background-color:var(--background2);color:var(--button-primary);margin-inline-start:1.4ch}#toc-sidebar{position:relative;display:flex;flex:1;#toc-toggle{position:absolute;bottom:0;z-index:3;background-color:var(--background0);width:min-content;right:2ch;left:auto}&:focus-within{--box-border-color: var(--focus-region-border)}}#toc-list-container{position:absolute;inset:1.5ch 0ch 0ch;padding:0 1ch;overflow-y:auto;margin-inline:0;margin-block-end:3ch}#toc-list{margin:0;padding:0;list-style:none}#main-content li>details:not(.footnote-popover),#main-content li>p>details:not(.footnote-popover){width:100%;box-sizing:border-box}#main-content li>details:not(.footnote-popover){margin-left:2ch!important;width:calc(100% - 2ch);margin-block:.5lh!important}#main-content details[is-~=accordion]+details[is-~=accordion]{margin-top:.5lh}#main-content details[is-~=accordion]+.heading-collapse[data-heading-level="2"]{margin-top:1lh!important}#main-content details[is-~=accordion]+.heading-collapse[data-heading-level="3"]{margin-top:1lh!important}#main-content details[is-~=accordion]+.heading-collapse:is([data-heading-level="4"],[data-heading-level="5"],[data-heading-level="6"]){margin-top:0!important}#main-content :is(h1,h2,h3,h4,h5,h6){margin-block:1lh 2lh;&:before{content:none}.heading-anchor{text-decoration:none;display:inline-block;transform-origin:right center;transition:transform .18s ease-out,color .1s linear}&:hover>.heading-anchor{transform:rotate(-6deg)}}#main-content>:first-child:is(h1,h2,h3,h4,h5,h6){margin-block-start:0}#main-content .heading-collapse>summary>:is(h2,h3,h4,h5,h6){margin-block:0!important}#main-content .heading-collapse:is([data-heading-level="2"],[data-heading-level="3"]){margin-block:1lh 0!important}#main-content .heading-collapse:is([data-heading-level="4"],[data-heading-level="5"],[data-heading-level="6"]){margin-block:1lh 0!important}#main-content .heading-collapse:not([open]){margin-bottom:0!important}#main-content .heading-collapse:not([open])+.heading-collapse:not([open]){margin-top:0!important}#main-content .heading-collapse:not([open])+.heading-collapse[open]{margin-top:1lh!important}#main-content .heading-collapse:not([open])+:not(.heading-collapse){margin-top:1lh!important}#main-content>.heading-collapse:first-child{margin-block-start:0!important}#main-content h1 .heading-anchor{color:var(--h1)}#main-content h2 .heading-anchor{color:var(--h2)}#main-content h3 .heading-anchor{color:var(--h3)}#main-content h4 .heading-anchor{color:var(--h4)}#main-content h5 .heading-anchor{color:var(--h5)}#main-content h6 .heading-anchor{color:var(--h6)}#toc-list li{list-style:none;margin:0;padding:0;&:before{content:none}}#toc-list a{display:block;position:relative;color:var(--foreground2);text-decoration:none;outline:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;transition:background-color .1s linear,color .1s linear,box-shadow .1s linear}#toc-list li:has(>a:is(.depth-3,.depth-4,.depth-5,.depth-6)){display:none}#toc-list li:has(>a:is(.depth-3,.depth-4,.depth-5,.depth-6)).toc-visible{display:list-item}#toc-list a:is(.depth-3,.depth-4,.depth-5,.depth-6):before{content:""}#toc-list a.depth-1.active:before{content:"#";color:var(--h1)}#toc-list a.depth-2.active:before{content:"##";color:var(--h2)}#toc-list a.depth-3.active:before{content:"###";color:var(--h3)}#toc-list a.depth-4.active:before{content:"####";color:var(--h4)}#toc-list a.depth-5.active:before{content:"#####";color:var(--h5)}#toc-list a.depth-6.active:before{content:"#######";color:var(--h6)}#toc-list .depth-1,#toc-list .depth-2{padding-inline-start:0}#toc-list .depth-3{padding-inline-start:2ch}#toc-list .depth-4{padding-inline-start:4ch}#toc-list .depth-5{padding-inline-start:6ch}#toc-list .depth-6{padding-inline-start:8ch}#toc-list a .toc-tree-prefix{display:none}#toc-list a.active{color:var(--foreground0);background-color:oklch(from var(--background1, var(--foreground, #838383)) calc(l * var(--oklch-scale, .85)) c h / .1)}#toc-list a.depth-1.active{color:var(--h1)}#toc-list a.depth-2.active{color:var(--h2)}#toc-list a.depth-3.active{color:var(--h3)}#toc-list a.depth-4.active{color:var(--h4)}#toc-list a.depth-5.active{color:var(--h5)}#toc-list a.depth-6.active{color:var(--h6)}#toc-list a:hover{background-color:var(--focus-hover-bg)}#toc-list a:focus-visible,#toc-list a[data-vim-focused=true]:focus{background-color:var(--focus-bg-strong);color:var(--focus-fg);outline:var(--focus-ring-size) solid var(--focus-marker);outline-offset:calc(-1 * var(--focus-ring-size));text-decoration:none}#toc-list a.depth-1.active:focus-visible,#toc-list a.depth-1.active[data-vim-focused=true]:focus{color:var(--h1)}#toc-list a.depth-2.active:focus-visible,#toc-list a.depth-2.active[data-vim-focused=true]:focus{color:var(--h2)}#toc-list a.depth-3.active:focus-visible,#toc-list a.depth-3.active[data-vim-focused=true]:focus{color:var(--h3)}#toc-list a.depth-4.active:focus-visible,#toc-list a.depth-4.active[data-vim-focused=true]:focus{color:var(--h4)}#toc-list a.depth-5.active:focus-visible,#toc-list a.depth-5.active[data-vim-focused=true]:focus{color:var(--h5)}#toc-list a.depth-6.active:focus-visible,#toc-list a.depth-6.active[data-vim-focused=true]:focus{color:var(--h6)}#sidebar-container.collapsed #category-container{display:none}#sidebar-container.collapsed #sidebar-actions{position:absolute;top:0;left:0;z-index:20;flex-direction:column;gap:.5ch;padding-right:3px;padding-bottom:3px;margin:0;height:auto;.sidebar-action{padding:.2lh .75ch!important;justify-content:center;&:hover,&:focus-visible,&[data-vim-focused=true]{transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent);border-color:var(--chip-accent);background-color:color-mix(in oklch,var(--background0),var(--chip-accent) 15%)}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}}}#scroll-container{position:relative;flex-grow:1;overflow-y:auto;height:auto;#main-content{position:absolute;inset:0lh 1ch;display:flex;flex-direction:column;gap:0ch;overflow-x:hidden;color:var(--foreground1);padding-inline:2ch;margin-inline:-1ch;:is(p,ul,ol,dl,blockquote,h1,h2,h3,h4,h5,h6){max-width:var(--prose-measure)}details[is-~=accordion]:not(.heading-collapse){max-width:var(--prose-measure)}:is(ul,ol):has(>li>pre.astro-code){max-width:100%}li>pre.astro-code{max-width:100%}:is(ul,ol):has(>li>pre.astro-code)>li{max-width:var(--prose-measure)}:is(ul,ol):has(>li>pre.astro-code){container-type:inline-size}:is(ul,ol):has(>li>pre.astro-code)>li>pre.astro-code{max-width:100cqw;width:min(max-content,100cqw)}strong{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:subpixel-antialiased}:is([tabindex="0"],a[href],summary){position:relative;outline:none;transition:background-color .1s linear,color .15s ease-out,outline-color .1s linear,background-size .15s ease-out}:is([tabindex="0"],a[href],summary):not(.icon-flex a):not(.footnote-popover>summary):not(.footnote-popover summary *):focus-visible,:is([tabindex="0"],a[href],summary):not(.icon-flex a):not(.footnote-popover>summary):not(.footnote-popover summary *)[data-vim-focused=true]:focus{background-color:var(--focus-bg-strong);color:var(--focus-fg);outline:var(--focus-ring-size) solid var(--focus-marker);outline-offset:calc(-1 * var(--focus-ring-size));text-decoration:none}:is([tabindex="0"]:not(a[href]):not([is-~=badge]),summary):after{content:"";position:absolute;inset-inline-start:-1ch;inset-block-start:0;color:transparent;width:1ch;pointer-events:none}.next,.prev{text-decoration:none;color:var(--background3);--box-border-color: currentColor;transition:color .12s ease-out,background-color .12s ease-out,transform .1s ease-out;&:before{transition:box-shadow .1s ease-out}& span[pad-]{color:var(--url)}&:focus,&:hover{color:var(--accent);--box-border-color: var(--accent);background-color:oklch(from var(--accent) l c h / .08);transform:translate(-2px,-2px)}&:focus:before,&:hover:before{box-shadow:4px 4px 0 0 var(--accent)}&:focus [is-=badge],&:hover [is-=badge]{--badge-color: var(--accent)}&:active{transform:translate(0)}&:active:before{box-shadow:2px 2px 0 0 var(--accent)}&:focus span[pad-],&:hover span[pad-]{color:var(--accent)}}:is([tabindex="0"]:not(a[href]),summary):focus-visible:after,:is([tabindex="0"]:not(a[href]),summary)[data-vim-focused=true]:focus:after{color:var(--focus-marker)}li>p+p{display:block}li>p+p:before{content:none}li>:where(*+*):not(ul):not(ol):not(code){margin-inline-start:var(--li-text-offset, 0ch)}li>:is(pre,[is-~=pre]):not(.astro-code){padding-block:0}li>:is(pre,[is-~=pre]){text-indent:0}ul li{text-indent:2ch hanging}ol li{text-indent:3ch hanging}ol>li:nth-child(n+10){text-indent:4ch hanging}ol>li::marker{content:counter(list-item) ". "}p{margin-block:0 1lh}:is(li,details:not(.heading-collapse),blockquote,.callout) p{margin-block-end:0}:is(ul,ol){margin-block:0 1lh;padding-inline-start:2ch}li>:is(ul,ol){margin-block:0;margin-left:0;padding-inline-start:2ch}li>:is(ul,ol)>li{text-indent:1.5ch hanging}ul>li>:is(ul,ol){margin-left:0}ol>li>:is(ul,ol){margin-left:1ch}ol>li:nth-child(n+10)>:is(ul,ol){margin-left:2ch}#doc-pagination{display:flex;flex-wrap:wrap;margin-block-start:1lh;&:has(>.prev){justify-content:flex-start}&:has(>.next){justify-content:flex-end}&:has(>.prev):has(>.next){justify-content:space-between}}}}article{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;&:focus-within{--box-border-color: var(--focus-region-border)}}@media(min-width:80ch)and (max-width:110ch){#sidebar-container:not(.collapsed){min-width:23ch;width:var(--sidebar-width, 23ch);flex-basis:var(--sidebar-width, 23ch)}}@media(max-width:80ch){#sidebar-container{max-width:100%;width:100%;flex:1;overflow-y:auto}#sidebar-resizer,#toc-resizer{display:none}#toc-container{max-width:100%;width:100%;flex:1;overflow-y:auto}#sidebar-container.collapsed{max-width:100%;width:100%}#sidebar-container.collapsed #category-container{display:block}#sidebar-toggle,#toc-toggle{display:none}#mobile-nav{display:flex}#doc-pagination{margin-block-end:5lh}#vim-statusline{display:none}#doc-article{margin-bottom:2lh;isolation:auto}.mobile-hidden{display:none!important}.next,.prev{text-decoration:none;flex-grow:1;code{display:none}}}#scroll-progress{position:sticky;top:0;left:0;right:0;height:2px;background:var(--accent, var(--red));transform-origin:left;transform:scaleX(0);z-index:50;transition:transform 50ms linear}p:has(>img){img{object-fit:contain;max-width:100%;height:auto}}img,video{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;object-fit:contain;max-width:round(calc(100% - 2ch),1ch);padding:1ch;height:auto}#main-content :is(img,picture):not(.svgbob-figure,.figure-margin,.figure-row,:is(.figure-margin,.figure-row) *){max-width:var(--prose-measure);height:auto}html[data-reader] #sidebar-container,html[data-reader] #sidebar-resizer,html[data-reader] #toc-container,html[data-reader] #toc-resizer,html[data-reader] #vim-statusline,html[data-reader] #mobile-nav,html[data-reader] #doc-pagination,html[data-reader] #main-content aside{display:none!important}html[data-reader] .post-meta-row:not(.post-meta-actions),html[data-reader] .post-meta-actions>:not(.reader-toggle){display:none!important}html[data-reader] #doc-article{max-width:var(--reader-width, 90ch);margin-inline:auto}html[data-reader] #main-content{padding-inline:3ch;padding-block-start:1lh}html[data-reader] #scroll-container #main-content,html[data-reader] #doc-article{overflow-x:visible}html[data-reader] .figure-row{width:min(130ch,100vw - 6ch);position:relative;left:50%;transform:translate(-50%)}html[data-reader] #doc-article:before,html[data-reader] #doc-article:after{display:none!important}html[data-reader] #doc-article>header{display:flex;justify-content:flex-start}.post-meta-actions{justify-content:flex-end;gap:.5ch}.post-meta-empty{justify-content:flex-end;margin-block-start:2ch}.reader-toggle{box-sizing:border-box;width:3ch;height:1lh;padding:0;align-self:center;align-items:center;justify-content:center;text-align:center;font-family:var(--font-family);font-size:1em;cursor:pointer;border:1px solid transparent;border-radius:0;--chip-accent: var(--green);--badge-color: color-mix(in srgb, var(--background0), var(--green) 18%);--badge-text: var(--green);background-image:none;background-color:var(--badge-color);color:var(--badge-text);transition:color .1s linear,background-color .1s linear,border-color .1s linear,transform .1s ease-out,box-shadow .1s ease-out;&:before,&:after{background-color:transparent}&:hover,&:focus-visible{--badge-color: color-mix(in srgb, var(--background0), var(--green) 30%);color:var(--green);border-color:var(--green);transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent)}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}}#reader-controls,html[data-reader] .reader-toggle{display:none}html[data-reader] #reader-controls{display:inline-flex;gap:.25ch;position:fixed;top:1lh;right:1.5ch;z-index:6}.reader-ctrl{box-sizing:border-box;width:2.5ch;height:1lh;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family);font-size:.9em;cursor:pointer;border:1px solid transparent;border-radius:0;background-color:transparent;color:var(--foreground2);--chip-accent: var(--green);transition:color .1s linear,background-color .1s linear,border-color .1s linear,transform .1s ease-out,box-shadow .1s ease-out;&:hover,&:focus-visible{color:var(--green);border-color:var(--green);transform:translate(-1px,-1px);box-shadow:2px 2px 0 0 var(--chip-accent)}&:active{transform:translate(0);box-shadow:1px 1px 0 0 var(--chip-accent)}}.reader-width[disabled]{opacity:.3;pointer-events:none;cursor:default}.reader-exit{--chip-accent: var(--red);&:hover,&:focus-visible{color:var(--red);border-color:var(--red)}}.heading-collapse{padding:0!important;margin:0!important;border:none!important;&[open]::details-content{padding-left:0!important}>summary{background-color:transparent!important;list-style:none;cursor:pointer;line-height:1lh!important;min-height:1lh;display:flex;align-items:center;width:auto;max-width:var(--prose-measure);padding-block:.15lh!important;padding-inline-start:1ch;margin-left:-1ch;margin-right:4px;border:1px solid transparent;transition:background-color .1s linear,color .1s linear,outline-color .1s linear,border-color .12s ease-out,box-shadow .12s ease-out!important;&::-webkit-details-marker{display:none}>:is(h2,h3,h4,h5,h6){display:inline;border:none;line-height:1lh;margin:0!important;padding:0!important}}>summary:hover{border-color:var(--callout-color, var(--foreground3));box-shadow:2px 2px #0000008c}&:not([open])>summary{font-style:italic;&:before{content:"+";color:var(--callout-color, var(--foreground3));order:1;margin-inline-start:auto;padding-inline-start:1ch;font-style:normal;font-weight:700}&:after{content:" ...";color:var(--foreground2);opacity:0;transition:opacity .1s linear}&:hover:after,&:focus-visible:after,&[data-vim-focused=true]:after{opacity:1}}&[open]>summary{&:before{content:none!important}}&[data-heading-level="2"]{--callout-color: var(--h2, var(--orange))}&[data-heading-level="3"]{--callout-color: var(--h3, var(--green))}&[data-heading-level="4"]{--callout-color: var(--h4, var(--blue))}&[data-heading-level="5"]{--callout-color: var(--h5, var(--purple))}&[data-heading-level="6"]{--callout-color: var(--h6, var(--aqua))}&:not([open])[data-heading-level="2"]>summary{background-color:oklch(from var(--h2, var(--orange)) l c h / .04)!important}&:not([open])[data-heading-level="3"]>summary{background-color:oklch(from var(--h3, var(--green)) l c h / .04)!important}&:not([open])[data-heading-level="4"]>summary{background-color:oklch(from var(--h4, var(--blue)) l c h / .04)!important}&:not([open])[data-heading-level="5"]>summary{background-color:oklch(from var(--h5, var(--purple)) l c h / .04)!important}&:not([open])[data-heading-level="6"]>summary{background-color:oklch(from var(--h6, var(--aqua)) l c h / .04)!important}&[open]>summary+*{margin-block-start:1lh!important}}#main-content section.footnotes>h2.sr-only{margin-block:1lh!important}.footnote-popover{display:inline-block!important;vertical-align:baseline;>summary{display:inline-block;padding:0 .5ch;cursor:help;list-style:none;border:none!important;&::-webkit-details-marker{display:none}&::marker{content:""}&:before{display:none!important}}}.footnote-popover-content{background-color:var(--background0);border:1px solid var(--foreground1);border-left:2px solid var(--url, var(--blue));padding:.5lh 1ch;max-width:min(40ch,calc(100vw - 4ch));width:max-content;font-size:.9em;line-height:1.4;z-index:1000;box-shadow:3px 3px 0 0 var(--foreground1),3px 3px 0 1px var(--background0);white-space:normal;p{margin:0;white-space:normal}p+p{margin-top:.5lh}a{white-space:normal}}.footnote-popover[open]>.footnote-popover-content{position:fixed!important;top:var(--popover-top, auto);left:var(--popover-left, auto);margin:0!important}#main-content :is(img,picture>img,p>img,figure>img):not(.no-zoom,[data-no-zoom],.icon img,[is-~=icon] img,.mermaid img,.keybind img){cursor:zoom-in}.image-modal{position:fixed;inset:0;background-color:oklch(from var(--background0) l c h / .85);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2lh 2ch}.image-modal-inner{position:relative;width:100%;height:100%;background-color:var(--background0);border:1px solid var(--background2);padding:2lh 2ch 1lh;display:flex;align-items:center;justify-content:center;overflow:auto}.image-modal-inner>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.image-modal-close{position:absolute;top:1ch;right:1ch;appearance:none;background:var(--background1);color:var(--foreground1);border:1px solid var(--background2);width:3ch;height:1lh;font-family:inherit;font-size:.95em;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.image-modal-close:before{content:""}.image-modal-close:hover{background:var(--red);color:var(--background0)}.image-modal-caption{position:absolute;bottom:.5lh;left:2ch;right:2ch;text-align:center;font-size:.85em;color:var(--foreground2);pointer-events:none}.slide-deck-placeholder{all:unset;display:block;width:100%;box-sizing:border-box;cursor:pointer;padding:1lh 1ch;background-color:color-mix(in srgb,var(--background0),var(--url, var(--blue)) 8%);border:1px dashed var(--url, var(--blue));color:var(--url, var(--blue));text-align:center;font-family:var(--font-family);transition:background-color .12s linear,color .12s linear,border-color .12s linear;&:hover,&:focus-visible{background-color:color-mix(in srgb,var(--background0),var(--url, var(--blue)) 16%);color:var(--foreground0)}}.slide-deck-placeholder-inner{display:inline-block;font-weight:700;& small{display:block;font-weight:400;font-size:.85em;color:var(--foreground2);margin-top:.25lh}}
