@font-face{font-family:"Josefin Sans";font-display:auto;font-style:normal;font-weight:100 700;font-display:swap;src:url(/static/fonts/josefin-sans-variable.woff2) format("woff2"),url(/static/fonts/josefin-sans-variable.ttf) format("truetype")}@font-face{font-family:"Josefin Sans";font-display:auto;font-style:italic;font-weight:100 700;font-display:swap;src:url(/static/fonts/josefin-sans-italic-variable.woff2) format("woff2"),url(/static/fonts/josefin-sans-italic-variable.ttf) format("truetype")}@font-face{font-family:"Archivo";font-display:swap;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/static/fonts/archivo-variable.woff2) format("woff2"),url(/static/fonts/archivo-variable.ttf) format("truetype")}@font-face{font-family:"Archivo";font-display:swap;font-style:italic;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/static/fonts/archivo-italic-variable.woff2) format("woff2"),url(/static/fonts/archivo-italic-variable.ttf) format("truetype")}@font-face{font-family:"Ruda";font-display:block;font-style:normal;font-weight:400 900;font-display:swap;src:url(/static/fonts/ruda-variable.woff2) format("woff2"),url(/static/fonts/ruda-variable.ttf) format("truetype")}@font-face{font-family:"Archivo Fallback";src:local("Arimo"),local("Helvetica"),local("Arial"),local("Liberation Sans"),local("FreeSans");ascent-override:87.8%;descent-override:21%;line-gap-override:0%}@font-face{font-family:"Josefin Sans Fallback";src:local("Arimo"),local("Helvetica"),local("Arial"),local("Liberation Sans"),local("FreeSans");ascent-override:75%;descent-override:25%;line-gap-override:0%}:root{--pmos-accent-colour:#008443;--inline-accent-colour:var(--pmos-accent-colour);--accent-background-colour:var(--pmos-accent-colour);--accent-foreground-colour:#f9f9f9;--accent-foreground-hover-colour:#ffffff;--view-background-colour:#f9f9f9;--view-foreground-colour:#000000;--view-selectable-colour:#1a1a1a;--view-selectable-hover-colour:var(--inline-accent-colour);--selection-colour:#bfdac4;--secondary-background-colour:#eeeeee;--logo-text-colour:var(--inline-accent-colour);--alternating-row-background-colour:color-mix(in srgb,white 20%,var(--view-background-colour));color-scheme:light dark;font-family:Archivo,Archivo Fallback,sans-serif}::selection{background-color:var(--selection-colour)}a{color:var(--view-selectable-colour)}a:hover{color:var(--view-selectable-hover-colour)}a svg{fill:currentColor}body{display:grid;grid-template-areas:". header ." ". main   ." "footer footer footer";grid-template-columns:auto minmax(300px,70rem) auto;grid-template-rows:auto 1fr auto;min-height:100vh;margin:0px;background:var(--view-background-colour);line-height:1.6;color:var(--view-foreground-colour)}h1,h1 a,h2,h2 a,h3,h3 a,h4,h4 a,h5,h5 a,h6,h6 a{font-family:Josefin Sans,Josefin Sans Fallback,sans-serif;font-weight:300;line-height:1.3;color:var(--inline-accent-colour);text-align:center;text-wrap:balance;margin:1em 0 .2em}:where(h1,h2,h3,h4,h5,h6) + :where(h1,h2,h3,h4,h5,h6){margin-top:.2em!important}h1{font-size:clamp(2.4rem,6vw,3.5rem);font-weight:bold}h2{font-size:clamp(2.2rem,5.5vw,3.2rem)}h3{font-size:clamp(1.6rem,5vw,2.8rem)}h4{font-size:clamp(1.4rem,4.5vw,2.5rem)}h5{font-size:clamp(1.2rem,4vw,2.0rem)}h6{font-size:clamp(1.2rem,3.5vw,1.5rem)}main{grid-area:main}.content{padding:10px 30px 40px;font-size:1.2rem}.content.alt{background:var(--secondary-background-colour)}.codehilite pre,pre.codehilite{font-size:0.8rem;overflow:auto}.separator{background:var(--accent-background-colour);height:10px}.highlight-box{color:var(--accent-foreground-colour);background:var(--accent-background-colour);margin:2em auto;padding:2em}.highlight-box p{margin:.5em 0;font-weight:520;hyphens:auto;text-align:justify}.highlight-box :where(h1,h2,h3,h4,h5,h6){margin:.1em 0;font-weight:bold;color:var(--accent-foreground-colour)}.header{grid-area:header;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5em 2em;margin:30px}.logo{grid-area:logo;display:grid;align-items:center;grid-template-areas:"logo-img logo-span";grid-template-columns:90px 1fr;min-height:90px;text-decoration:none}.logo img{grid-area:logo-img;width:75px;height:75px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}.logo span{grid-area:logo-span;font-size:2rem;color:var(--logo-text-colour);font-family:Ruda,Archivo,sans-serif;font-weight:750}.nav{grid-area:nav;display:flex;flex-wrap:wrap;gap:4px;margin:auto 0}.inline-button{text-align:center}.nav a,.inline-button a{border:2px solid var(--accent-background-colour);color:var(--inline-accent-colour);text-decoration:none}.inline-button a{padding:.2em .5em;font-size:1.6rem}.nav a{padding:.2em .3em;font-size:1.3rem}.nav a:hover,.inline-button a:hover,.nav a.active{background:var(--accent-background-colour);color:var(--accent-foreground-colour)}.inline-button-row,.inline-button-row-standalone{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.inline-button-row-standalone{margin:3em 0}.title{display:grid;grid-template-areas:"title title" "date reading_time";margin:0 1rem}.title h1{grid-area:title;text-align:center;display:block;margin-top:0;white-space:pre-line}.date{grid-area:date}.reading_time{grid-area:reading_time;text-align:right}footer{grid-area:footer;display:grid;grid-template-areas:"contribute . nav-bottom" "contribute . copyright";grid-template-columns:auto 1fr auto;align-items:center;background-color:var(--accent-background-colour);color:var(--accent-foreground-colour)}.nav-bottom{grid-area:nav-bottom;margin:15px 30px 0px;text-align:right}.icon-button{display:inline-grid;grid-template-areas:"icon-button-icon icon-button-label";grid-template-columns:auto auto;padding:.3em .5em;align-items:center;border:2px solid var(--accent-foreground-colour);text-decoration:none;margin-left:4px;color:var(--accent-foreground-colour)}.icon-button :where(img,svg){grid-area:icon-button-icon;width:16px;height:16px;margin-right:5px}.icon-button span{grid-area:icon-button-label;text-decoration:none}.icon-button:hover,.icon-button.active{border-color:var(--view-background-colour);background:var(--view-background-colour);color:var(--inline-accent-colour)}.contribute{grid-area:contribute;font-size:1.6rem;padding:.3em .75em;margin:0px 30px;height:calc(100% - 30px);box-sizing:border-box}.contribute span{text-decoration:none}.contribute svg{width:48px;height:48px;margin-right:10px}.copyright{grid-area:copyright;margin:.3em 2em 1em;font-size:.9rem;text-align:right}img.inline{height:1em}.copyright a{color:var(--accent-foreground-colour)!important}.copyright a:hover{color:var(--accent-foreground-hover-colour)!important;border-color:var(--accent-foreground-hover-colour)}@media screen and (max-width:50rem){footer{grid-template-areas:"contribute" "nav-bottom" "copyright";grid-template-columns:100%}.nav-bottom{text-align:center}.nav-bottom .icon-button{margin:0px 2px 10px}.contribute{height:unset;margin:15px auto 0px}.copyright{text-align:center}}@media (prefers-color-scheme:dark){:root{--inline-accent-colour:#5fc782;--accent-background-colour:var(--pmos-accent-colour);--accent-foreground-colour:#f9f9f9;--view-background-colour:#232729;--view-foreground-colour:#cccccc;--view-selectable-colour:#d0d0d0;--view-selectable-hover-colour:#44ff99;--selection-colour:#294733;--secondary-background-colour:#33393b;--logo-text-colour:#289755}div.border,img.border,video.border{border:1px solid #0b0c0c!important}html img.border,html video.border,html .grid-bottom img,html .grid-bottom video{border:1px solid #0b0c0c}html .codehilite{background:black;border:1px solid #0b0c0c}}blockquote{font-style:italic;color:var(--inline-accent-colour);padding:1.2em 30px 1.2em 75px;border-left:10px solid var(--accent-background-colour);line-height:1.6;position:relative;margin:0}blockquote::before{font-family:Helvetica;content:"\201C";color:var(--inline-accent-colour);font-size:4em;position:absolute;left:10px;top:-10px}blockquote a{color:var(--inline-accent-colour)}article .article-attribution{font-style:italic;font-size:1rem}