@import 'https://fonts.googleapis.com/css2?family=Red+Hat+Mono:ital,wght@0,300..700;1,300..700&display=swap';:root{--font-mono-display:'Red Hat Mono', ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;--font-body:system-ui, sans-serif;--font-code:ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;--bs-body-font-family:var(--font-body);--bs-font-monospace:var(--font-code);--font-size-body:1.0625rem;--link-underline-offset:0.2em;--space-page-top:4.5rem;--space-page-bottom:4.5rem;--space-below-menu:1.75rem;--space-entry-indent:1.25rem}main{padding-top:var(--space-page-top);padding-bottom:var(--space-page-bottom)}body{background-color:var(--bg-color)!important}body,main{height:100%;font-family:var(--font-body);font-optical-sizing:auto;font-style:normal;font-weight:350;color:var(--font-color)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{font-size:var(--font-size-body)}::selection{background:var(--secondary);color:var(--selection-color)}.splash-screen{height:100%}nav a,a{text-decoration:none!important}nav a:hover,a:hover,.list-post-title a:hover{text-decoration:underline!important}.list-post-title a{text-decoration:none!important}a{color:var(--primary-variant)!important;text-decoration:underline!important;text-underline-offset:var(--link-underline-offset)!important}a:hover{color:var(--primary)!important}@media(min-width:1200px){.container{max-width:720px!important}}table:not(.gist-data *){border-collapse:collapse;margin-top:1.5rem;margin-bottom:1.5rem}@media(min-width:1200px){table:not(.gist-data *){width:100%}}th:not(.gist-data *),td:not(.gist-data *){padding:.5rem;text-align:left}th:not(.gist-data *){font-weight:700;background-color:var(--bg-variant)}td:not(.gist-data *){border-bottom:2px solid var(--bg-variant)!important}ul>li:has(input[type=checkbox]){list-style-type:none}code{font-family:var(--font-code)}code:not(.highlight *){color:var(--secondary);font-weight:600;user-select:all;padding-left:.3em;padding-right:.3em}.highlight>div{padding:0 1em}.highlight>pre{padding:1em}mark{background-color:var(--primary-variant)!important}kbd{background-color:var(--bg-variant)!important;font-family:var(--font-code);font-weight:700}.post article h1,.post article h2,.post article h3,.post article h4,.post article h5,.post article h6{font-size:1.2rem;margin:24px 0 10px;font-weight:700}.post article h1::before{content:"# ";color:var(--secondary)}.post article h2::before{content:"## ";color:var(--secondary)}.post article h3::before{content:"### ";color:var(--secondary)}.post article h4::before{content:"#### ";color:var(--secondary)}.post article h5::before{content:"###### ";color:var(--secondary)}.post article h6::before{content:"###### ";color:var(--secondary)}.post article a.external::after,footer a::after{content:" ↗"}.post article a:has(img)::after{content:none!important}.post .draft-label{font-weight:700;color:var(--primary)}.breadcrumb-item+.breadcrumb-item::before{color:#6c757d!important}.tags a{text-decoration:none!important}.tags a:hover{background-color:var(--primary)!important;color:var(--selection-color)!important;text-decoration:none!important}.underline{background-image:linear-gradient(to right,var(--secondary),var(--secondary));background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px;text-decoration:none!important}img{max-width:100%}figure{box-sizing:border-box;display:inline-block;max-width:100%;width:100%;text-align:center}figure img{max-height:500px;max-width:100%;margin:0 auto}figure h4{margin-bottom:1em;font-size:.85rem!important;font-weight:lighter!important;position:relative;overflow:hidden;opacity:.9}figure h4::before{content:''!important}blockquote{padding-left:3rem!important;position:relative;overflow:hidden;&::before, &::after{position:absolute;color:#777}&::before{content:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%23777777'><path d='M9.983 3v7.391C9.983 16.095 6.252 19.961 1 21l-.995-2.151C2.437 17.932 4 15.211 4 13H0V3h9.983zM24 3v7.391c0 5.704-3.748 9.571-9 10.609l-.996-2.151C16.437 17.932 18 15.211 18 13h-3.983V3H24z'/></svg>");left:15px}&::after{content:"";left:20px;top:25px;width:1px;height:100%;background-color:currentColor}p{margin:0}p + p{margin-top:1rem}}.twitter-tweet,.instagram-media{margin-right:auto!important;margin-left:auto!important}.post-summary{margin:0}ul:has(input[type=checkbox]){margin-left:0!important;padding-left:.5rem!important}li>input[type=checkbox]{margin-right:.2rem}.toc-title{font-size:smaller}.toc{font-family:var(--font-code)}@media(min-width:768px){.toc{display:block!important;position:fixed!important;right:calc(50% - 360px - 20px);margin-right:1.5rem;opacity:.2;-webkit-transition:opacity 1s ease-in-out;-moz-transition:opacity 1s ease-in-out;-ms-transition:opacity 1s ease-in-out;-o-transition:opacity 1s ease-in-out;transition:opacity 1s ease-in-out;-webkit-transition:margin 1s ease-in-out;-moz-transition:margin 1s ease-in-out;-ms-transition:margin 1s ease-in-out;-o-transition:margin 1s ease-in-out;transition:margin 1s ease-in-out;&:hover{margin-right:2.3rem;opacity:1}}}@media(max-width:767px){.breadcrumb{flex-direction:column!important;--bs-breadcrumb-item-padding-x:0rem !important}.breadcrumb-item::before{display:none!important}}@media(min-width:992px){.toc{right:calc(50% - 480px - 20px)}}@media(min-width:1200px){.toc{right:calc(50% - 570px - 20px)}}@media(min-width:1400px){.toc{right:calc(50% - 660px - 20px)}}#TableOfContents>ul{list-style-type:'//  '}.badge{font-family:var(--font-mono-display);font-weight:600!important}hr{border:0!important;height:10px;color:var(--secondary)!important;background-image:linear-gradient(-45deg,transparent,transparent 25%,currentColor 25%,currentColor 50%,transparent 50%,transparent 75%,currentColor 75%);background-size:4px 4px}.terms-char{&::before{content:'― '}}.giscus{padding-top:1.5rem}nav.navbar{font-size:1rem;margin-bottom:var(--space-below-menu)}nav.navbar .breadcrumb{font-family:var(--font-mono-display);font-weight:500;margin-bottom:0}nav.navbar .breadcrumb a.active{text-decoration:underline!important}.nav-icons{display:flex;align-items:center;gap:1rem;list-style:none;margin:0 0 0 auto;padding:0}.nav-icons a,.theme-toggle{display:inline-flex}.icon{width:1.2rem;height:1.2rem}.theme-toggle{background:0 0;border:0;padding:0;color:var(--primary-variant);cursor:pointer}.theme-toggle:hover{color:var(--primary)}.theme-toggle-dark{display:inline-flex}.theme-toggle-light,.dark .theme-toggle-dark{display:none}.dark .theme-toggle-light{display:inline-flex}@media(max-width:991.98px){.navbar .navbar-collapse{order:1}}html:not(.js) .theme-toggle-item{display:none}@media(max-width:991.98px){html:not(.js) .navbar-toggler{display:none}html:not(.js) .navbar-collapse{display:block}}.site-title,.site-lead{font-family:var(--font-mono-display)}.page-title{font-family:var(--font-mono-display)}.post.page article h2{font-family:var(--font-mono-display);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:2.5rem 0 1rem;padding-bottom:.4rem;color:var(--primary);border-bottom:1px solid var(--primary)}.post.page article>h2:first-child{margin-top:0}.post.page article h3{font-size:1.125rem;font-weight:600;margin:1.75rem 0 .2rem}.post.page article h2::before,.post.page article h3::before{content:none}.post.page article h3+p{font-family:var(--font-mono-display);font-size:.8rem;opacity:.65;margin-bottom:.75rem}.post.page article h3+p em{font-style:normal}.post.page article ul{margin-bottom:.75rem}.post.page article>h3~:not(h2,h3,h3+p){margin-left:var(--space-entry-indent)}.tech-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.tech-badges .badge{font-size:.75rem;padding:.4em .75em}