@font-face{font-display:swap;font-family:'Ubuntu';font-style:normal;font-weight:400;src:local('') , url(/fonts/ubuntu-v15-latin-regular.woff2) format('woff2')}@font-face{font-display:swap;font-family:'Ubuntu Mono';font-style:normal;font-weight:400;src:local('') , url(/fonts/ubuntu-mono-v10-latin-regular.woff2) format('woff2')}:root{--padding:.75rem;color-scheme:dark light;font-size:100%;font-family:'Ubuntu',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Cantarell,'Open Sans','Helvetica Neue','Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji','EmojiOne Color',sans-serif;line-height:1.5}*,::before,::after{box-sizing:border-box}body{color:var(--text-color);background-color:var(--background-color);background-image:url(/static/background.svg);background-attachment:fixed;margin:0;padding:var(--padding);display:flex;justify-content:center;counter-reset:footnotes}@supports (padding: max(1px)) {
  body {
    padding: max(var(--padding), env(safe-area-inset-top))
      max(var(--padding), env(safe-area-inset-right))
      max(var(--padding), env(safe-area-inset-bottom))
      max(var(--padding), env(safe-area-inset-left));
  }
}h1,h2,h3,h4,h5,h6,.heading-effect{width:fit-content;-webkit-text-fill-color:transparent;text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;text-decoration:none;text-wrap:balance}header .heading-effect{display:block;font-size:2em;margin-block-start:.67em;margin-block-end:.67em;margin-inline-start:0;margin-inline-end:0;font-weight:bold}h1,header .heading-effect{font-size:2rem;margin:.67em 0}h2{font-size:1.5rem}h3{font-size:1.17rem}h4{font-size:1rem}h5{font-size:.83rem}h6{font-size:.67rem}article h1{font-size:1.75rem}p{text-wrap:pretty}pre,code,kbd{font-family:'Ubuntu Mono',Consolas,Monaco,'Andale Mono',monospace}ins{background-color:hsl(133,100%,90%)}del{background-color:hsl(353,100%,97%);text-decoration:line-through}del,ins{color:hsl(0,0%,0%)}pre{overflow-x:auto}code{word-break:break-word;overflow-wrap:break-word}kbd{color:hsl(0,0%,0%);background-color:#d3d3d3;border:solid 1px #a9a9a9;padding:-1px;border-radius:.25rem}a{color:var(--link-color);text-decoration:none}article a,.post-date a,.postlist-link{word-break:break-word;overflow-wrap:break-word}a:focus,a:hover,a:active{text-decoration:underline}.header-footer-text,.footer-link{color:var(--text-color)}.footer-link{cursor:pointer;text-decoration:underline;text-decoration-color:var(--link-color)}img{max-width:100%;height:auto}picture{flex-shrink:0}figcaption{text-align:center}iframe[src*="youtube"]{width:100%}abbr{text-decoration:underline;text-decoration-color:var(--link-color)}abbr::after{content:'?';font-size:.8rem;position:relative;top:-.2rem;color:var(--metadata-color);padding-inline-start:.1rem}blockquote{position:relative;font-style:italic}blockquote::before{content:'“';color:var(--metadata-color);font-size:3.5rem;position:absolute;left:-2.5rem}.nav-item,.tag-item{border-radius:.25rem;color:hsl(0,0%,100%);padding:.1rem .25rem;text-decoration:none;white-space:nowrap}.tag-item{background-color:hsl(1,89%,49%)}.nav-item{background-color:#006400}.nav-item,.aside-item,.tag-item{font-size:.875rem}.container{display:grid;grid-template-areas:'header header header' 'nav content aside' 'footer footer footer';grid-template-columns:9rem minmax(0,1fr) 9rem;grid-template-rows:auto 1fr auto;max-width:1024px;width:100%}.container>header{grid-area:header;border-left:solid .1rem var(--border-color);border-right:solid .1rem var(--border-color);border-top:solid .1rem var(--border-color);border-radius:var(--padding) var(--padding) 0 0;background-image: linear-gradient(
    to bottom,
    var(--main-background-color-transparent) 0%,
    var(--main-background-color) 70%
  );display:flex;padding:var(--padding);justify-content:flex-end;flex-direction:column}nav{grid-area:nav;border-left:solid .1rem var(--border-color)}main{grid-area:content}aside{grid-area:aside;border-right:solid .1rem var(--border-color)}.container>footer{grid-area:footer;border-left:solid .1rem var(--border-color);border-right:solid .1rem var(--border-color);border-bottom:solid .1rem var(--border-color);border-radius:0 0 var(--padding) var(--padding);font-size:.75rem;padding:var(--padding);background-image: linear-gradient(
    to top,
    var(--main-background-color-transparent) 0%,
    var(--main-background-color) 70%
  );display:flex;align-items:flex-end;position:relative}nav,aside,main{background-color:var(--main-background-color);padding:var(--padding)}svg.icon-container{display:none}svg.icon{width:1rem;height:1rem;vertical-align:middle;margin-inline-end:.25rem}nav ul,aside ul,footer ul{list-style:none;padding:0}footer ul{margin-block-end:0;max-width:calc(100% - 110px)}ul.postlist{padding-inline-start:1.5em;list-style-type:square}ul.postlist ::marker{color:hsl(51,100%,50%)}.author{width:2rem;height:2rem;border-radius:.5rem;margin-inline-end:.25rem;background-image: linear-gradient(
    to bottom,
    lightgray 0%,
    var(--metadata-color) 100%
  );flex-shrink:0}.metadata{display:flex;align-items:center}.post-date,.postlist-date{color:var(--metadata-color);font-size:.875rem}.webmentions{font-size:.875rem}.webmention-content{max-height:7rem;overflow-y:auto}.webmention-anchor{margin-inline-start:.25rem}.edit-on-github{text-align:right;font-size:.875rem;color:var(--metadata-color)}.validator{position:absolute;bottom: calc(2 * var(--padding));right:var(--padding)}dark-mode-toggle{--dark-mode-toggle-light-icon:url(/static/moon.svg);--dark-mode-toggle-dark-icon:url(/static/sun.svg);--dark-mode-toggle-color:var(--text-color);--dark-mode-toggle-icon-filter:invert(100%);position:absolute;bottom: calc(3.5 * var(--padding) + 31px);right:var(--padding)}.share{background-color:var(--link-color);background-repeat:no-repeat;background-position-y:center;border-radius:.25rem;border:1px solid var(--main-background-color);display:block;cursor:pointer;color:hsl(0,0%,100%);font-family:inherit;font-size:inherit;padding: 0.5rem 0.25rem 0.5rem calc(24px + 0.25rem)}.share:hover{border:1px solid var(--link-color)}.share:active{position:relative;top:1px}.share.share-ios{background-image:url(/static/share-ios.svg)}.share.share-others{background-image:url(/static/share-others.svg)}.share-image{display:none;font-size:.75rem;background-size: calc(24px * 0.75);padding: 0.25rem 0.1rem 0.25rem calc(24px * 0.75 + 0.1rem)}.performance-metrics{margin-block-start:var(--padding)}.largest-contentful-paint{outline:dashed .25rem var(--link-color)}.lcp-link{overflow-x:hidden;display:inline-block;vertical-align:bottom;width:fit-content;max-width:9rem;white-space:nowrap;text-overflow:ellipsis}fed-embed li{border:solid 1px var(--border-color);border-radius:var(--padding);margin-block-end:var(--padding);padding:var(--padding);word-break:break-word;overflow-wrap:break-word}@media (min-width:1024px){:root{font-size:112.5%}}@media (max-width:800px){:root{--padding:.25rem}.container{grid-template-areas:'header' 'content' 'nav' 'aside' 'footer';grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto auto}aside ul,nav ul{margin-block-start:0}nav ul{display:flex;flex-wrap:wrap}li{margin-inline-end: calc(2 * var(--padding));margin-block-end: calc(2 * var(--padding))}h1,h2,h3,header .heading-effect{margin:var(--padding) 0;letter-spacing:-.05rem}nav,aside,main{padding:var(--padding);border-left:solid .1rem var(--border-color);border-right:solid .1rem var(--border-color)}}@media (max-width:240px){.container{overflow-x:hidden}main{width:100%}}.pagefind-ui__search-clear{display:none}rt{background-color:hsl(0,0%,93%);color:hsl(0,0%,7%);font-size:.75rem;padding:.2rem;margin:.2rem;max-width:30ch;display:none}ruby::after{color:red;cursor:pointer;font-size:.75rem;vertical-align:top;counter-increment:footnotes;content:' [' counter(footnotes) ']'}ruby{ruby-position:under;--footnote-display:inline-block}ruby:focus{outline:none}rt:hover{display:var(--footnote-display)}ruby:focus rt{display:var(--footnote-display)}