@font-face{font-family:'Source Sans Pro';src:local("Source Sans Pro Regular"),local("SourceSansPro-Regular"),url("../fonts/sourcesanspro-regular-webfont.woff2") format("woff2"),url("../fonts/sourcesanspro-regular-webfont.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Source Sans Pro';src:local("Source Sans Pro SemiBold"),local("SourceSansPro-SemiBold"),url("../fonts/sourcesanspro-semibold-webfont.woff2") format("woff2"),url("../fonts/sourcesanspro-semibold-webfont.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html{min-height:100vh;color:rgba(0,0,0,0.84);font:1em/1.5 'Source Sans Pro', sans-serif;background:#fff}body{display:flex;min-width:17.5rem;min-height:100vh;overflow-x:hidden;overflow-y:scroll;background-color:#fff}@media (prefers-color-scheme: dark){body{color:#fff;background:#232323}}img{vertical-align:middle}a{color:inherit}.main a:focus,.main a:active,.main button:focus,.main button:active{background-color:#c0e1f1}@media (prefers-color-scheme: dark){.main a:focus,.main a:active,.main button:focus,.main button:active{outline-color:#0088cc;background-color:#608a9b}}.main a:visited{color:rebeccapurple}@media (prefers-color-scheme: dark){.main a:visited{color:#b98eff}.main a:visited:focus,.main a:visited:active{color:#eee3ff}}button::-moz-focus-inner,input::-moz-focus-inner{border:none}address{font-style:normal}abbr{text-decoration:none}code{font-size:85%;line-height:1;font-family:SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace}figcaption{color:rgba(0,0,0,0.54);text-align:left;font-size:0.75em}@media (prefers-color-scheme: dark){figcaption{color:#d7d7db}}pre:focus-within{outline:.5rem solid #f4ffa2;outline-offset:.125rem}.header{display:flex;align-items:flex-end;justify-content:space-between;width:100%;min-height:4rem;margin-top:2rem;margin-bottom:4rem}.logo{width:4rem;height:4rem}@media (prefers-color-scheme: dark){.logo{outline:.25rem solid #fff}}.nav{display:flex;flex-wrap:wrap;font-size:1.125rem}.nav a{position:relative;padding:0 1.25rem;font-weight:bold;text-decoration:none;text-transform:capitalize;border-radius:.25rem;border:2px solid transparent}@media (max-width: 37.5rem){.nav a{text-align:right}}.nav a.current::before{content:'';border-bottom:2px solid currentColor;position:absolute;left:1.25rem;right:1.25rem;bottom:-.25rem}@media (max-width: 37.5rem){.nav a.current::before{bottom:0}}.nav a:focus:not(:active):not(:hover){border-color:#111}@media (prefers-color-scheme: dark){.nav a:focus:not(:active):not(:hover){border-color:#fff}}@media (max-width: 37.5rem){.nav{flex-direction:column;align-items:flex-end;margin-bottom:-0.25rem}}.main,.footer{margin:1.875rem 0}.header,.main,.footer{max-width:42rem}.page{position:relative;z-index:1;width:100%;max-width:79.25rem;margin:0 auto;padding:0 1.625rem;display:flex;flex-direction:column}.main{margin-top:0;flex-grow:1;font-size:1.25rem}.footer{padding-top:3rem;margin-top:3rem;border-top:1px solid currentColor}.page--blog .post .posts-list{margin-top:0}.posts-list-item{margin-bottom:1rem}.posts-list-item a{margin-right:1ch}.posts-list-item time{display:block;font-size:1rem}.posts-list-item time,.posts-list-item::marker,.posts-list-item--favorite::before{color:#777}@media (prefers-color-scheme: dark){.posts-list-item time,.posts-list-item::marker,.posts-list-item--favorite::before{color:#d7d7db}}.posts-list-item--favorite{list-style:none}.posts-list-item--favorite::before{content:'\2605';display:inline-block;text-align:right;width:1rem;font-size:1rem;margin-left:-1.25rem;margin-right:.25rem}.page::after{content:'';position:absolute;top:0;bottom:0;left:45.25rem;right:0;height:100%;max-width:32rem;background-color:#f2f2f2;z-index:-1}@media (prefers-color-scheme: dark){.page::after{background-color:#18181a}}.intro{margin-bottom:2rem}.post>*{margin-bottom:1rem}.post hr{margin:3rem 0;width:8ch;max-width:100%;height:1px;border:none;background-color:currentColor}.post h2:not(:first-child){margin-top:3rem}.post h3:not(:first-child){margin-top:2rem}.post ul,.post ol{margin-top:2rem;margin-bottom:2rem;padding-left:1.25rem}.post li:not(:last-child){margin-bottom:.5rem}.post code{padding:.125rem .25rem;background-color:rgba(0,0,0,0.05)}@media (prefers-color-scheme: dark){.post code{background-color:rgba(255,255,255,0.15)}}.post pre code{display:block;padding:1rem;line-height:1.4;overflow:auto}@media (prefers-color-scheme: dark){.post pre code{border:1px solid #38383d}}.post img{display:block;max-width:100%;height:auto;border:1px solid #ccc}.post blockquote{margin-top:1rem;margin-bottom:1rem;border-left:.5rem solid #f2f2f2;padding-left:1rem}.post blockquote>*:not(:last-child){margin-bottom:1rem}.post .figure--large{width:calc(100vw - 3.25rem);max-width:77.625rem}.post .figure--grid{display:grid;grid-template-columns:repeat(2, fit-content(50%));grid-gap:.5rem}.post .figure--grid figcaption{margin-top:0;grid-column:1 / 3}.post figure{margin-top:3rem;margin-bottom:3rem}.post figcaption{margin-top:.5rem;margin-bottom:.5rem}.post .alert{margin:3rem -.8125rem}.post-header{margin-bottom:3rem}.post-title{font-size:2.5rem;line-height:1.25;margin-top:0.25em;margin-bottom:0.25em}.post-subtitle{font-size:1.5rem;color:rgba(0,0,0,0.54)}@media (prefers-color-scheme: dark){.post-subtitle{color:#d7d7db}}.alert{padding:.8125rem;color:#856404;background-color:#fff3cd;border-color:#856404}.highlight .hll{background-color:#49483e}.highlight{background:#272822;color:#f8f8f2}.highlight .c{color:#75715e}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .ch{color:#75715e}.highlight .cm{color:#75715e}.highlight .cp{color:#75715e}.highlight .cpf{color:#75715e}.highlight .c1{color:#75715e}.highlight .cs{color:#75715e}.highlight .gd{color:#f92672}.highlight .ge{font-style:italic}.highlight .gi{color:#a6e22e}.highlight .gs{font-weight:bold}.highlight .gu{color:#75715e}.highlight .kc{color:#66d9ef}.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp{color:#66d9ef}.highlight .kr{color:#66d9ef}.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nl{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mb{color:#ae81ff}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .sa{color:#e6db74}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .dl{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .bp{color:#f8f8f2}.highlight .fm{color:#a6e22e}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .vm{color:#f8f8f2}.highlight .il{color:#ae81ff}
