*,::after,::before{box-sizing:border-box}::after,::before{text-decoration:inherit;vertical-align:inherit}html{cursor:default;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-break:break-word}button,dl dl,dl ol,dl ul,input,ol dl,select,ul dl{margin:0}hr{height:0}nav ol,nav ul{list-style:none;padding:0}pre{font-family:monospace,monospace}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}iframe{border-style:none}svg:not([fill]){fill:currentColor}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;padding:.35em .75em .625em}progress{vertical-align:baseline}textarea{margin:0;resize:vertical}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:ButtonText dotted 1px}:-moz-ui-invalid{box-shadow:none}details{display:block}dialog{background-color:#fff;border:solid;color:#000;display:block;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content}dialog:not([open]){display:none}summary{display:list-item}[tabindex],a,area,button,input,label,select,summary,textarea{touch-action:manipulation}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:optional;src:local('Roboto Light'),local('Roboto-Light'),local('sans-serif-light'),url(/fonts/RobotoLightLatin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:optional;src:local('Roboto'),local('Roboto-Regular'),local('sans-serif'),url(/fonts/RobotoLatin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Ubuntu Mono';font-style:normal;font-weight:400;font-display:optional;src:local('Ubuntu Mono'),local('UbuntuMono-Regular'),url(/fonts/UbuntuMono.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.highlight,article{display:grid;grid-template-rows:1fr;grid-template-columns:[full-start] minmax(16px,1fr) [main-start] minmax(auto,35rem) [main-end] minmax(16px,1fr) [full-end]}article>*{grid-column:main}.highlight{grid-column:full;margin:1.5rem 0;background:#272822}code{padding:.25rem;font-family:'Ubuntu Mono';background:#d9e2ec}pre code{grid-column:main;background:0 0;padding:0}:root{font-size:16px;line-height:1.5;color:#0f2941}.footnotes,a,blockquote,h1,h2,h3,h4,h5,h6,ol,p,pre,table,ul{margin:0}h1{font-size:1.8125rem;line-height:1.6551724137931034;padding-top:.75rem;margin-bottom:.75rem;font-weight:lighter;letter-spacing:-.05rem;word-spacing:.075rem}h2{font-size:1.625rem;line-height:1.8461538461538463;padding-top:.75rem;margin-bottom:0;font-weight:lighter;letter-spacing:-.05rem;word-spacing:.075rem}h3{font-size:1.4375rem;line-height:1.0434782608695652;padding-top:.9375rem;margin-bottom:.5625rem;font-weight:lighter;letter-spacing:-.05rem;word-spacing:.075rem}h4{font-size:1.25rem;line-height:1.2;padding-top:1rem;margin-bottom:-1rem;font-weight:lighter}h5{font-size:1.125rem;line-height:1.3333333333333333;padding-top:1.0625rem;margin-bottom:-1.0625rem;font-weight:lighter}h6{font-size:1rem;line-height:1.5;padding-top:1.125rem;margin-bottom:-1.125rem}p{font-size:1rem;line-height:1.5;padding-top:1.125rem;margin-bottom:.375rem}kbd{font-family:inherit}table{border-collapse:collapse;font-size:1rem;line-height:1.5;padding-top:1.875rem;margin-bottom:1.125rem;width:100%}thead{text-align:left}pre{grid-column:main;font-size:1rem;line-height:1.5;overflow-x:auto;padding:1.5rem 0;margin:0}ol,ul{font-size:1rem;line-height:1.5;padding-top:1.875rem;margin-bottom:1.125rem}li{margin-bottom:1.5rem}a{color:#257fbf}a:visited{color:#0f5f99}mark{background:#8cedc6}@media (min-width:768px){:root{font-size:18px}.main{padding-top:1.5rem}}@media (min-width:1024px){:root{font-size:20px}}.expanded[title]{text-decoration:none}.expanded[title]::after{content:" (" attr(title) ")"}.footer{grid-area:footer;display:grid;grid-template-rows:1fr;grid-template-columns:[full-start] minmax(16px,1fr) [main-start] minmax(auto,35rem) [main-end] minmax(16px,1fr) [full-end]}.footer__container{grid-column:main;display:flex;justify-content:space-between;align-items:baseline;margin-top:1.5rem;font-size:.694rem}.footer__copyright{font-weight:lighter;color:#617c98}.footer__link{font-size:.694rem;font-weight:lighter;color:#617c98;text-decoration:none}.footer__link:hover{text-decoration:underline}.footer__link:visited{color:#617c98}.main{grid-area:content}.nav{margin:0;padding:0;list-style:none}.nav__element{display:inline;font-weight:lighter;color:#617c98}.nav__element:not(:last-child){margin-right:12px}.post{display:grid;grid-template-columns:4rem minmax(0,1fr);grid-template-rows:1fr;grid-column-gap:24px;margin-bottom:24px}.post__date{display:flex;justify-content:space-between;font-family:'Roboto Mono',monospace}.post__date--bold{font-weight:600}.post__info{display:flex;flex-direction:column;justify-content:space-between}.post__info--title{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.2;margin-bottom:-.25rem;padding:.0625rem 0 0}.post__info--link{text-decoration:none}.post__info--container{white-space:nowrap;margin-bottom:-.05rem}.post__info--lastmod,.post__info--readtime{display:inline-block;color:#0f2941;font-size:.875rem;line-height:1.7142857142857142;margin-bottom:-.375rem;padding:0}.post__info--lastmod::before{display:inline-block;content:'\2022';color:#0f2941;margin:0 8px}@media (max-width:24em){.post__info--lastmod{display:none;visibility:hidden}}.posts{margin:24px 0 0;padding:0;list-style:none}.section{position:relative}.section__link{font-size:1rem;text-decoration:none}.section__link--right{position:absolute;right:0}.section__link:hover{text-decoration:underline}:root{font-family:Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;display:grid;grid-template-rows:1fr auto;grid-template-areas:"content" "footer";height:100vh}body::before{position:absolute;height:4px;width:100%;background:linear-gradient(to right,#63b0e7 0,#8461c6 50%,#e56a6a 100%);content:''}