@import url("syntax-highlighting.css");html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:var(--color-link) dotted underline;color:var(--color-link-muted);animation:link-color-shift-reverse;animation-timing-function:ease-in;animation-iteration-count:1;animation-fill-mode:both;animation-duration:.2s}a:hover{text-decoration:underline;animation:link-color-shift;animation-timing-function:ease-in;animation-iteration-count:1;animation-fill-mode:both;animation-duration:.2s}ol{counter-reset:section;list-style-type:none}ol li:before{counter-increment:section;content:counters(section, ".") " "}ul,ol{list-style-position:outside;margin-left:1rem}body{font-family:var(--font-text);font-size:var(--font-size-text);line-height:1.2}strong{font-weight:bold}em{font-style:oblique}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading) !important;padding:1vh 0}header div.content h1 a{font-size:3rem !important}h1{font-size:3rem}h2{font-size:2.6rem}h3{font-size:2.3rem}h4{font-size:2rem}h5{font-size:1.6rem}h6{font-size:1.3rem}p{padding:.25em 0}hr{width:60%}blockquote{background-color:var(--color-muted);border-left:10px solid #ccc;padding-left:1vw;padding-top:1vh;padding-bottom:1vh;margin-top:1vh;margin-bottom:1vh}blockquote p{display:block}table{border-spacing:1em .5em;margin:1vh 0;padding:1vh var(--margins);margin:0 var(--margins)}table th{font-weight:bold}table td,table th{text-align:left;vertical-align:middle;word-break:break-word}pre:not(.artifact){margin:1vh 0;overflow-x:auto}*:not(blockquote)>pre:not(.artifact){padding:1vh var(--margins)}blockquote>pre:not(.artifact){background-color:inherit}pre.artifact{overflow:scroll}pre,code{font-family:var(--font-code),monospace}*:not(pre)>code{background-color:var(--color-muted);word-wrap:break-word}code mark,pre mark{background-color:var(--color-accent);color:var(--color-text)}figure.enriched{display:grid;grid-template-columns:2vh 1fr 2vh;grid-template-rows:2vw 1fr 2vw;max-height:100vh;max-width:100vw;margin:0}figure.enriched figcaption{z-index:1;grid-column:2;grid-row:2;justify-self:end;align-self:start;padding:1vh 1vw;color:var(--color-text);text-shadow:var(--color-background) 0 0 10px;transition-duration:1s;transition-property:background-color}figure.enriched figcaption:hover{background-color:var(--color-background)}figure.enriched img{z-index:0;grid-column:1/span 3;grid-row:1/span 3;object-fit:cover;width:100%;height:100%}h2.post-title{padding-top:calc(var(--font-size-text)*2)}h5.description{font-family:var(--font-heading) !important;font-style:italic}div.post-meta{display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-heading) !important;padding-top:var(--font-size-text);padding-bottom:var(--font-size-text)}footer.post-footer{padding-top:10vh;padding-bottom:5vh;overflow:clip;background:var(--gradient-splash-background)}a.continue-reading{font-family:var(--font-heading) !important;font-style:italic}div.posted-on::before{content:"Posted on "}div.reading-time::before{content:"Read in "}div.tags::before{content:"Tagged "}@media only screen and (min-width: 500px){div.post-meta{flex-direction:row}}:root{--color-background: rgb(22, 22, 22);--color-muted: rgb(42, 42, 42);--color-accent: rgb(114, 63, 137);--color-link: rgb(164, 118, 186);--color-link-muted: rgb(185, 166, 194);--color-text: #CCCCCC;--font-text: "Delius", sans-serif;--font-heading: "Architects Daughter", cursive;--font-code: "Fira Code";--font-size-text: 14pt;--margins: 2vw;--gradient-fade-up: linear-gradient(0deg, rgba(22, 22, 22,1) 0%, rgba(22, 22, 22,.9) 20%, rgba(22, 22, 22,.8) 50%, rgba(22, 22, 22,0) 100%);--gradient-fade-down: linear-gradient(0deg, rgba(22, 22, 22,0) 0%, rgba(22, 22, 22,.7) 50%, rgba(22, 22, 22,.9) 80%, rgba(22, 22, 22,1) 100%);--gradient-splash-background: linear-gradient(336deg, rgba(0,0,0, 0) 40%, rgba(58, 54, 24, 0.4), rgba(0,0,0, 0)), linear-gradient(127deg, rgba(0,0,0, 0) 40%, rgba(39, 57, 31, .4), rgba(0,0,0, 0)), radial-gradient(rgba(51, 32, 50), rgb(17, 17, 17))}@media only screen and (min-width: 1024px){:root{--margins: 10vw !important}}@media only screen and (min-width: 1444px){:root{--margins: 15vw !important}}@media only screen and (min-width: 2160px){:root{--margins: 30vw !important}}nav{padding-bottom:4vh}nav#toc:first-child::before{content:"Table of Contents";font-size:16pt}nav#toc ol{margin-left:0;margin-right:0}nav#tree>ul{padding-left:0}nav#tree>ul>li{display:inline-block;margin-left:0 !important}nav#tree>ul>li:not(:first-child):before{content:" | "}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}@keyframes twinkle{0%{opacity:.2}50%{opacity:1}100%{opacity:.2}}@keyframes link-color-shift{0%{color:var(--color-link-muted)}100%{color:var(--color-link)}}@keyframes link-color-shift-reverse{0%{color:var(--color-link)}100%{color:var(--color-link-muted)}}body{background-color:var(--color-background);color:var(--color-text);display:flex;flex-direction:column;align-content:center;justify-content:end;max-width:100vw;min-height:100vh;opacity:0;animation:.5s fade-in ease-in 0s 1 forwards}div#splash{position:fixed;top:0;height:100vh;width:100vw;display:flex;place-content:center;background:var(--gradient-splash-background)}svg.logo{width:100vw;height:100vh;animation:fade-in;animation-timing-function:ease-in;animation-delay:.25s;animation-iteration-count:1;animation-fill-mode:both;animation-duration:1.5s}svg.logo #bear{fill:#fff;opacity:0;animation:fade-in;animation-timing-function:ease-in;animation-delay:3s;animation-iteration-count:1;animation-fill-mode:both;animation-duration:1.5s}svg.logo #star-links{stroke:#808285;stroke-miterlimit:10;stroke-width:.75px}svg.logo #star-links line{opacity:0;animation:twinkle;animation-timing-function:ease-in;animation-delay:3s;animation-iteration-count:1;animation-fill-mode:both}svg.logo #star-links line:nth-child(1n+1){animation-duration:6s;animation-timing-function:cubic-bezier(.8593228608, .798202787, .2384371331, .9504529848)}svg.logo #star-links line:nth-child(1n+2){animation-duration:20s;animation-timing-function:cubic-bezier(.2132549824, .5139362641, .5445144764, .6901136947)}svg.logo #star-links line:nth-child(1n+3){animation-duration:16s;animation-timing-function:cubic-bezier(.9609046408, .5479269884, .2155157814, .0823915382)}svg.logo #star-links line:nth-child(1n+4){animation-duration:16s;animation-timing-function:cubic-bezier(.1608883424, .7373518015, .2386629276, .6664251567)}svg.logo #star-links line:nth-child(1n+5){animation-duration:6s;animation-timing-function:cubic-bezier(.3030149364, .0965283942, .6789429242, .5041083901)}svg.logo #star-links line:nth-child(1n+6){animation-duration:8s;animation-timing-function:cubic-bezier(.2720090426, .5168626284, .1963909159, .7129068203)}svg.logo #star-links line:nth-child(1n+7){animation-duration:2s;animation-timing-function:cubic-bezier(.5394351463, .2473507046, .3298958302, .0529437876)}svg.logo #star-links line:nth-child(1n+8){animation-duration:20s;animation-timing-function:cubic-bezier(.3778267344, .0359840188, .3716295025, .0571737707)}svg.logo #star-links line:nth-child(1n+9){animation-duration:4s;animation-timing-function:cubic-bezier(.8136845971, .5815272864, .593677155, .7108496491)}svg.logo #star-links line:nth-child(1n+10){animation-duration:12s;animation-timing-function:cubic-bezier(.4357016266, .3858490425, .1642077922, .2315384091)}svg.logo #star-links line:nth-child(1n+11){animation-duration:14s;animation-timing-function:cubic-bezier(.6253569292, .6411072363, .9140081405, .9984861576)}svg.logo #star-links line:nth-child(1n+12){animation-duration:20s;animation-timing-function:cubic-bezier(.1391664841, .1671511157, .9744407006, .6252439865)}svg.logo #star-links line:nth-child(1n+13){animation-duration:8s;animation-timing-function:cubic-bezier(.4001288409, .5171710313, .2344885627, .3726815698)}svg.logo #star-links line:nth-child(1n+14){animation-duration:14s;animation-timing-function:cubic-bezier(.6095182787, .3265222974, .5115533424, .1759925864)}svg.logo #star-links line:nth-child(1n+15){animation-duration:6s;animation-timing-function:cubic-bezier(.1660156587, .5385724371, .5423488384, .172229518)}svg.logo #star-links line:nth-child(1n+16){animation-duration:18s;animation-timing-function:cubic-bezier(.5424828042, .6493676228, .1596486234, .4661082871)}svg.logo #star-links line:nth-child(1n+17){animation-duration:6s;animation-timing-function:cubic-bezier(.8088447316, .3061285094, .0515337886, .8798243322)}svg.logo #star-links line:nth-child(1n+18){animation-duration:12s;animation-timing-function:cubic-bezier(.1593088686, .7884480091, .8540480284, .2980053851)}svg.logo #star-links line:nth-child(1n+19){animation-duration:12s;animation-timing-function:cubic-bezier(.0170244866, .1893913423, .3773055059, .1818615653)}svg.logo #star-links line:nth-child(1n+20){animation-duration:16s;animation-timing-function:cubic-bezier(.9507729111, .6950291198, .5166070763, .2427988248)}svg.logo #stars,svg.logo #starfield{fill:#808285}svg.logo #stars circle,svg.logo #starfield circle{opacity:0;animation:twinkle;animation-fill-mode:both;animation-iteration-count:infinite}svg.logo #stars circle:nth-child(20n+1),svg.logo #starfield circle:nth-child(20n+1){animation-duration:20s;animation-timing-function:cubic-bezier(.01932558, .2332227905, .5554628305, .4048584089)}svg.logo #stars circle:nth-child(20n+2),svg.logo #starfield circle:nth-child(20n+2){animation-duration:8s;animation-timing-function:cubic-bezier(.0618119341, .5032018116, .7864887405, .7146269899)}svg.logo #stars circle:nth-child(20n+3),svg.logo #starfield circle:nth-child(20n+3){animation-duration:4s;animation-timing-function:cubic-bezier(.1672009921, .0206960593, .7764354819, .9226508316)}svg.logo #stars circle:nth-child(20n+4),svg.logo #starfield circle:nth-child(20n+4){animation-duration:4s;animation-timing-function:cubic-bezier(.3731731213, .0867411541, .1738551373, .0205376616)}svg.logo #stars circle:nth-child(20n+5),svg.logo #starfield circle:nth-child(20n+5){animation-duration:4s;animation-timing-function:cubic-bezier(.0699720308, .8588900969, .1241280444, .3230134769)}svg.logo #stars circle:nth-child(20n+6),svg.logo #starfield circle:nth-child(20n+6){animation-duration:10s;animation-timing-function:cubic-bezier(.9196337499, .6222454212, .0955112044, .9510672866)}svg.logo #stars circle:nth-child(20n+7),svg.logo #starfield circle:nth-child(20n+7){animation-duration:16s;animation-timing-function:cubic-bezier(.7807318783, .3641310297, .3197122128, .9725952933)}svg.logo #stars circle:nth-child(20n+8),svg.logo #starfield circle:nth-child(20n+8){animation-duration:6s;animation-timing-function:cubic-bezier(.0688347756, .2159440044, .6077511969, .2417746951)}svg.logo #stars circle:nth-child(20n+9),svg.logo #starfield circle:nth-child(20n+9){animation-duration:8s;animation-timing-function:cubic-bezier(.3973918273, .8807553737, .5809874617, .8559801513)}svg.logo #stars circle:nth-child(20n+10),svg.logo #starfield circle:nth-child(20n+10){animation-duration:18s;animation-timing-function:cubic-bezier(.0801523215, .2733739477, .1902194643, .4690670601)}svg.logo #stars circle:nth-child(20n+11),svg.logo #starfield circle:nth-child(20n+11){animation-duration:12s;animation-timing-function:cubic-bezier(.3530440391, .3968617826, .0494966797, .1996039928)}svg.logo #stars circle:nth-child(20n+12),svg.logo #starfield circle:nth-child(20n+12){animation-duration:8s;animation-timing-function:cubic-bezier(.6296567616, .0113938643, .5003001167, .9321587389)}svg.logo #stars circle:nth-child(20n+13),svg.logo #starfield circle:nth-child(20n+13){animation-duration:8s;animation-timing-function:cubic-bezier(.8049714599, .9460798878, .1019030763, .844684918)}svg.logo #stars circle:nth-child(20n+14),svg.logo #starfield circle:nth-child(20n+14){animation-duration:12s;animation-timing-function:cubic-bezier(.7947005737, .1671347932, .7121585769, .8940071793)}svg.logo #stars circle:nth-child(20n+15),svg.logo #starfield circle:nth-child(20n+15){animation-duration:6s;animation-timing-function:cubic-bezier(.3429596541, .4835780512, .6704281945, .3987694609)}svg.logo #stars circle:nth-child(20n+16),svg.logo #starfield circle:nth-child(20n+16){animation-duration:20s;animation-timing-function:cubic-bezier(.9403562868, .1442283762, .2444291505, .2814429805)}svg.logo #stars circle:nth-child(20n+17),svg.logo #starfield circle:nth-child(20n+17){animation-duration:2s;animation-timing-function:cubic-bezier(.8050568982, .5816471494, .6165127322, .7728243508)}svg.logo #stars circle:nth-child(20n+18),svg.logo #starfield circle:nth-child(20n+18){animation-duration:16s;animation-timing-function:cubic-bezier(.8893842564, .64850577, .2213408088, .3440616504)}svg.logo #stars circle:nth-child(20n+19),svg.logo #starfield circle:nth-child(20n+19){animation-duration:16s;animation-timing-function:cubic-bezier(.1768940348, .6036979891, .489617954, .3429957587)}svg.logo #stars circle:nth-child(20n+20),svg.logo #starfield circle:nth-child(20n+20){animation-duration:20s;animation-timing-function:cubic-bezier(.3980374129, .702138072, .9924500383, .2604813643)}div#hero-wrapper{position:fixed;top:0;height:100vh;width:100vw;overflow:hidden}div#hero-wrapper>figure>img{height:100vh}div#hero-wrapper+header{margin-top:70vh}header{z-index:1;place-self:stretch}header div.content{background:var(--gradient-fade-up);padding-left:var(--margins);padding-right:var(--margins);padding-top:1vh;text-shadow:var(--color-background) 0 0 10px}header div.content>h1>a{font-size:3rem;color:var(--color-text);animation:.5s fade-in ease-in 0s 1 forwards}header div.content>nav#tree>ul{margin-left:0}header div.content>nav#tree>ul>li>a{color:var(--color-text)}header div.content .main-title{transition:1s ease-in-out all}main{z-index:1;display:flex;flex-direction:column;align-content:center;padding:2vh 0;background-color:var(--color-background)}main article>div,main article>section,main article>p,main article>h1,main article>h2,main article>h3,main article>h4,main article>h5,main article>h6,main article>blockquote,main article>table,main article>ul,main article>ol,main article>nav,main>div,main>section,main>p,main>h1,main>h2,main>h3,main>h4,main>h5,main>h6,main>blockquote,main>table,main>ul,main>ol,main>nav{padding-left:var(--margins);padding-right:var(--margins)}main article>ul>li>pre,main article>ol>li>pre,main>ul>li>pre,main>ol>li>pre{margin-left:calc(var(--margins)*-1 - 1rem) !important;margin-right:calc(var(--margins)*-1) !important}article figure:before{background:var(--gradient-fade-up)}footer{z-index:1;overflow:auto;max-width:100vw;place-self:stretch;background-color:var(--color-background);padding-left:var(--margins);padding-right:var(--margins)}pre.artifact{z-index:1;font-size:.75rem;place-self:stretch;text-align:right;overflow:clip;background-color:var(--color-background)}