@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/_astro/montserrat-v26-latin_latin-ext-300.SFVUjltc.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/_astro/montserrat-v26-latin_latin-ext-300.SFVUjltc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:Raleway;font-style:normal;font-weight:900;font-display:swap;src:url(/_astro/raleway-v34-latin_latin-ext-900.BE-_UR1O.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-weight:900;font-display:swap;src:url(/_astro/raleway-v34-latin_latin-ext-900.BE-_UR1O.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:Rokkitt;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/rokkitt-v36-latin_latin-ext-regular.ChTtoJtP.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rokkitt;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/rokkitt-v36-latin_latin-ext-regular.ChTtoJtP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--main-font-family:"Rokkitt", serif;--heading-font-family:"Raleway", sans;--heading-font-weight:normal;--quote-font-family:"Montserrat", "sans serif";--dark-grey:#3f3f3f;--darkened-grey:#0c0c0c;--lightened-grey:#7f7f7f;--color-primary-0:#ff5e9a;--color-primary-1:#fff;--color-primary-2:#ffbfd7;--color-primary-3:#fc307b;--color-primary-4:#e31a64;--color-secondary-1-0:#ff825e;--color-secondary-1-1:#fff;--color-secondary-1-2:#ffcebf;--color-secondary-1-3:#ff5f31;--color-secondary-1-4:#ff501d;--color-secondary-2-0:#5effa9;--color-secondary-2-1:#fff;--color-secondary-2-2:#bfffdd;--color-secondary-2-3:#2ff78c;--color-secondary-2-4:#16bf65;--color-complement-0:#b2ff5e;--color-complement-1:#fff;--color-complement-2:#e0ffbf;--color-complement-3:#9bfc30;--color-complement-4:#87ea1b;--base:var(--color-primary-0);--light-base:var(--color-primary-2);--dark-base:var(--color-primary-3);--light-bg-tint:color-mix(in srgb, var(--base), #fff 90%);--highlight:var(--color-secondary-1-0);--accent:var(--color-secondary-1-2);--linkcolor:var(--color-complement-0);--dark-text-colour:var(--dark-grey);--light-text-colour:#fff;--gutter-small:1rem;--gutter-medium:2rem;--gutter-large:3rem;--gutter:var(--gutter-small);--margin-indent:calc(.2 * var(--gutter))}@media only screen and (width>=601px){:root{--gutter:var(--gutter-medium)}}@media only screen and (width>=1051px){:root{--gutter:var(--gutter-large)}}html,body{height:100%}html{color:var(--dark-grey);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:62.5%;line-height:1.4}body{color:var(--dark-text-colour);font-kerning:normal;-moz-font-feature-settings:"kern", "liga", "clig", "calt";-ms-font-feature-settings:"kern", "liga", "clig", "calt";font-feature-settings:"kern", "liga", "clig", "calt";margin:0;padding:0;font:2.4rem Rokkitt,Helvetica,Helvetica Neue,Arial}::selection{background:var(--accent);text-shadow:none}hr{border:0;border-top:1px solid var(--dark-grey);height:1px;margin:1em 0;padding:0;display:block}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}h1{font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);margin:.67em 0;font-size:5rem;line-height:5rem}h2{font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);font-size:4rem}h3{font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);font-size:3rem}h4{font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);font-size:2.4rem}a{color:var(--highlight);box-decoration-break:clone;text-decoration:none;transition:all .4s}a:hover,a:visited:hover{color:var(--dark-base)}article h1{font-size:2em}article h2,article h3{color:var(--dark-base)}article h4,article h5{font-family:var(--heading-font-family);color:var(--dark-text-colour);margin:0}article p.caption,article p img+em{background-color:var(--dark-grey);margin-top:calc(-.5 * var(--gutter));border-bottom:.4rem solid var(--light-base);border-radius:.2rem;margin-bottom:0;display:inline-block;color:var(--light-text-colour)!important;padding:.2rem .5rem!important;padding-left:var(--gutter)!important;font-size:1.8rem!important}article p.caption a,article p.caption a:visited,article p img+em a,article p img+em a:visited{color:var(--light-text-colour);background:0 0;padding:0}article p.caption a:hover,article p.caption a:visited:hover,article p img+em a:hover,article p img+em a:visited:hover{color:var(--light-base)}article p img+em{margin-top:calc(.25 * var(--gutter));font-style:normal}article video{width:100%}article table{box-sizing:content-box;margin:var(--gutter);width:90%;font-size:1.8rem;font-family:var(--main-font-family);border-collapse:collapse;& thead{& th{text-align:left;padding-right:calc(.25 * var(--gutter))}}& td{padding-right:0 calc(.25 * var(--gutter))}}article .benchmark-results-table+table{box-sizing:border-box;margin:var(--gutter);width:calc(100% - (2 * var(--gutter)));font-size:1.45rem;line-height:1.15}article .benchmark-results-table+table thead{background-color:var(--base);color:var(--light-text-colour)}article .benchmark-results-table+table th,article .benchmark-results-table+table td{vertical-align:top;padding:.35rem .45rem}article .benchmark-results-table+table th{background-color:var(--base);color:var(--light-text-colour)}article .benchmark-results-table+table td{white-space:nowrap}article .benchmark-results-table+table th:nth-child(n+3),article .benchmark-results-table+table td:nth-child(n+3){text-align:right}article .benchmark-results-table+table th:nth-child(-n+2),article .benchmark-results-table+table td:nth-child(-n+2){text-align:left}@media only screen and (width<=700px){article .benchmark-results-table+table{display:block;overflow-x:auto}}article .latency-animation-pair{gap:calc(.5 * var(--gutter));margin:var(--gutter);width:calc(100% - (2 * var(--gutter)));grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}article .latency-animation-pair iframe{aspect-ratio:680/460;background:#080808;border:0;width:100%;display:block}@media only screen and (width<=700px){article .latency-animation-pair{grid-template-columns:1fr}}article aside h2{color:var(--base);background-color:inherit;margin:calc(.5 * var(--gutter)) var(--gutter);font-size:2.4rem;display:block}article form label{font-family:var(--main-font-family);font-size:2.2rem}article form input{padding:var(--margin-indent);margin-left:var(--gutter-small);border:1px solid var(--base);margin-right:var(--gutter-small);height:100%;font-family:var(--main-font-family);width:55%;font-size:2.2rem}article form button{padding:var(--margin-indent);background-color:var(--light-base);color:var(--dark-base);height:100%;font-family:var(--main-font-family);border:none;font-size:2.2rem}.image-link{border-bottom:.5rem solid var(--light-base);height:25rem;margin-bottom:calc(.5 * var(--gutter));will-change:border-bottom;border-radius:.2rem;transition:border-bottom .8s;& :hover{border-bottom-color:.5rem solid var(--dark-grey);border-radius:.2rem}@media only screen and (width>=821px){height:17rem}& div.image-wrapper{height:100%;position:relative;overflow:hidden}& img{object-fit:cover;width:100%;height:100%;object-position:var(--image-position,50% 50%)!important}}@media only screen and (width>=768px){h1{font-size:9rem}}ul[data-astro-cid-yxete6jp]{margin:0;padding:0;list-style-type:none;& li{margin:0;font-size:3rem;line-height:5rem;@media only screen and (width>=601px){font-size:3.5rem;line-height:4.8rem}@media only screen and (width>=821px){font-size:2.8rem;line-height:3.5rem}}& li:first-child{margin-top:0}& li.icons{justify-content:flex-start;align-items:center;gap:calc(.15 * var(--gutter));flex-direction:row;min-width:100%;margin-left:-.4rem;font-size:5.2rem;display:flex;@media only screen and (width>=601px){font-size:6rem}@media only screen and (width>=821px){font-size:3.6rem}@media only screen and (width>=1051px){font-size:4.2rem}}& a{color:var(--dark-grey);font-family:var(--heading-font-family);font-weight:var(--heading-font-weight);background:0 0;padding:0;text-decoration:none}& a:hover,& a:visited:hover{color:var(--dark-base);background:0 0}}button[data-astro-cid-wpvy4v7s].nav-menu-toggle{top:calc(.25 * var(--gutter));right:calc(.5 * var(--gutter));color:var(--base);background-color:#0000;border:none;font-size:3.5rem;position:fixed;&:hover{color:var(--dark-text-colour)}@media only screen and (width>=821px){display:none}}nav[data-astro-cid-wpvy4v7s]#nav-menu{& button.nav-close{transition-behavior:allow-discrete;transition:transform .5s ease-in-out;transform:none}}nav[data-astro-cid-wpvy4v7s]#nav-menu[popover]{width:75vw;height:100dvh;padding:var(--gutter);background:var(--light-text-colour);opacity:0;transition-behavior:allow-discrete;border:none;margin:0;transition:opacity .5s ease-in-out;position:fixed;inset:0 0 0 auto;@media only screen and (width>=601px){width:60vw}}nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open{opacity:1}nav[data-astro-cid-wpvy4v7s]#nav-menu[popover]::backdrop{transition-behavior:allow-discrete;background:0 0;transition:background .52s}nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open::backdrop{background:#000000b3}nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open button[data-astro-cid-wpvy4v7s].nav-close{transform:rotate(-90deg)}@starting-style{nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open{opacity:0}nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open::backdrop{background:0 0}nav[data-astro-cid-wpvy4v7s]#nav-menu:popover-open button[data-astro-cid-wpvy4v7s].nav-close{transform:none}}@media (prefers-reduced-motion:reduce){nav[data-astro-cid-wpvy4v7s]#nav-menu[popover],nav[data-astro-cid-wpvy4v7s]#nav-menu[popover]::backdrop{transition:none}nav[data-astro-cid-wpvy4v7s]#site-nav:popover-open button[data-astro-cid-wpvy4v7s].nav-close{transition:none}}nav[data-astro-cid-wpvy4v7s]#side-nav{display:none;@media only screen and (width>=821px){display:block}}footer[data-astro-cid-jo6i4kqk]{box-sizing:border-box;border-top:2px solid var(--highlight);padding-bottom:var(--gutter);background:var(--darkened-grey);background:-moz-radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);background:-webkit-radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);background:radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);margin:0;& ::selection{background:var(--light-base)}}footer[data-astro-cid-jo6i4kqk]>div[data-astro-cid-jo6i4kqk]{width:100vw;color:var(--light-text-colour);margin:0;padding-top:0;@media only screen and (width>=821px){flex-flow:row;justify-content:space-between;align-items:flex-start;margin:0 auto;display:flex}@media only screen and (width>=1051px){max-width:1020px}& section{padding:0 var(--gutter);@media only screen and (width>=821px){align-self:flex-start;width:30%}& p{margin:var(--gutter) 0;font-size:2rem;@media only screen and (width>=821px){margin:calc(.5 * var(--gutter)) 0}& a,& a:visited{background:0 0;padding:0}}& div{& a,& a:visited{background:0 0;padding:0}}& div.image-link{border-bottom:.5rem solid var(--highlight);border-radius:.2rem;& :hover{border-bottom:.5rem solid var(--light-base);border-radius:.2rem}}}}h2[data-astro-cid-jo6i4kqk]{color:var(--highlight);margin:var(--gutter) 0;font-size:3rem;@media only screen and (width>=821px){margin:calc(.5 * var(--gutter)) 0}}main{box-sizing:border-box;width:100%;@media only screen and (width>=821px){flex-flow:row;justify-content:space-between;align-items:flex-start;display:flex}@media only screen and (width>=1051px){width:1020px;margin:0 auto}& article{width:100%;@media only screen and (width>=821px){flex-grow:2;align-self:flex-start;width:62%}@media only screen and (width>=1051px){width:66%}& section{margin-top:var(--gutter);& h2,& h3{margin:0;margin-left:var(--gutter);padding:0 0 .5rem}& h4,& h5{margin:calc(.5 * var(--gutter)) var(--gutter)}& p,& pre{padding:0 var(--gutter);&>code{font-size:1.5rem}& b{font-weight:inherit}}& p>code.language-text{background-color:var(--lightened-grey);font-size:initial;color:var(--light-text-colour);border-radius:.2rem;padding:.2rem .5rem}& p,& ul>li,& blockquote,& ol>li{font-size:2rem;@media only screen and (width>=821px){font-size:2.2rem}}& ul,& ol{margin:0 var(--gutter);margin-left:calc(-1 * var(--gutter));@media only screen and (width>=821px){margin-left:-2rem}@media only screen and (width>=1051px){margin-left:-1rem}}& p:has(img){margin-bottom:0;padding:0;margin-left:0!important;margin-right:0!important}& p img{width:100%;height:auto;max-width:1000px!important}& blockquote,& p.has-pullquote:before{margin:auto var(--margin-indent);padding:0 calc(var(--gutter) - var(--margin-indent) - 2px);padding-right:var(--gutter);border-left:2px solid var(--accent);margin-right:0;font-style:italic}& blockquote>p{font-family:var(--quote-font-family);font-weight:var(--heading-font-weight);color:var(--highlight);font-size:4rem;font-style:normal;padding:0!important}& p.has-pullquote:before{content:attr(data-pullquote);font-family:var(--quote-font-family);font-weight:var(--heading-font-weight);color:var(--highlight);font-size:4rem;font-style:normal;display:block;margin:inherit!important;margin-left:calc(-1 * var(--gutter) + var(--margin-indent))!important}& p.mediacontainer{height:50vh;margin-bottom:calc(.25 * var(--gutter));padding:0}& p.mediacontainer.letterbox{height:40vh}& p>iframe{border:none;width:100%;height:100%;max-width:calc(100% + 2 * var(--gutter))!important}}& section.list{&>h1{color:var(--dark-base);padding:0 var(--gutter);margin-bottom:0;font-size:3.5rem}&>h1:first-letter{text-transform:uppercase}&>h2{font-size:3rem}&>h3,&>h2{margin:calc(.5 * var(--gutter)) var(--gutter);color:var(--dark-base);box-shadow:none;background:0 0;padding:0;display:block}& p{font-size:2rem}}}&>aside{width:100%;@media only screen and (width>=821px){top:var(--gutter);margin-top:var(--gutter);padding:0 var(--gutter);flex-flow:column wrap;flex-grow:1;align-self:flex-start;width:27%;height:min-content;display:flex;position:sticky}& nav{@media only screen and (width>=821px){order:1}}& section{@media only screen and (width>=821px){order:2}}& section{padding:0 var(--gutter);@media only screen and (width>=821px){padding:0}& h2{display:none;@media only screen and (width>=821px){color:var(--dark-base);margin:var(--gutter) 0;font-size:3rem;line-height:.9;display:block}@media only screen and (width>=1051px){font-size:4rem}}& p.published{display:none;@media only screen and (width>=821px){color:var(--light-text-colour);background:var(--dark-grey);box-decoration-break:clone;box-shadow:none;border-bottom:.4rem solid var(--light-base);border-radius:.2rem;padding:.5rem;font-size:2rem;display:inline}}}}}header{background:var(--darkened-grey);background:-moz-radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);background:-webkit-radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);background:radial-gradient(circle, var(--dark-grey) 0%, var(--darkened-grey) 100%);box-sizing:border-box;border-bottom:2px solid var(--highlight);-webkit-box-shadow:0 .5rem .8rem #aaa;-moz-box-shadow:0 .5rem .8rem #aaa;margin:0;box-shadow:0 .65rem .8rem #aaa;& .headerimage,& .imagefill{width:100%;height:clamp(60vh,55vw,70vh);min-height:60vh;overflow:hidden}& .imagefill{background-color:var(--darkened-grey);background:linear-gradient(45deg, var(--dark-base) 30%, var(--highlight) 100%)}& .headerimage img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}& div.wrapper{width:100vw;padding-top:0;padding-bottom:var(--gutter);z-index:2;margin:-10rem 0 0;position:relative;@media only screen and (width>=501px){padding-bottom:calc(.5 * var(--gutter));margin-top:-12rem}@media only screen and (width>=1051px){max-width:1020px;margin:-15rem auto 0}& h1,& h2{background-color:var(--light-base);padding:var(--gutter);color:var(--dark-base);box-sizing:border-box;align-items:center;width:min-content;min-width:90vw;min-height:14rem;margin:0;font-size:4rem;line-height:4rem;display:flex;&.enlarge{font-size:5rem;line-height:5rem;@media only screen and (width>=601px){font-size:6rem;line-height:6rem}@media only screen and (width>=821px){font-size:7rem;line-height:7rem}}&.shrink{@media only screen and (width>=601px){font-size:4.5rem;line-height:4.5rem}@media only screen and (width>=821px){font-size:5rem;line-height:5rem}}& a,& a:visited{color:inherit;background:0 0;padding:0}& a:hover,& a:visited:hover{color:var(--dark-grey)}@media only screen and (width>=501px){min-width:80vw}@media only screen and (width>=601px){padding:var(--gutter);max-width:70vw;font-size:5rem;line-height:5rem}@media only screen and (width>=821px){width:61vw;min-width:70vw;max-height:40vh;font-size:6rem;line-height:6rem}@media only screen and (width>=1051px){width:67%;min-width:67%}}& p{color:var(--light-text-colour);padding:0 var(--gutter);margin:var(--gutter) 0;box-sizing:border-box;width:min-content;min-width:70vw;margin-block-end:0;font-size:1.8rem;@media only screen and (width>=601px){padding:0 var(--gutter);margin:calc(.5 * var(--gutter)) 0;font-size:2rem}@media only screen and (width>=821px){max-width:61vw;font-size:2.2rem}@media only screen and (width>=1051px){min-width:67%}}& p.featured{color:var(--highlight);text-transform:uppercase;font-size:1.8rem;text-decoration:underline}& p.lede{font-size:1.8rem;font-weight:400;@media only screen and (width>=601px){font-size:2.2rem}}& p.date{color:var(--light-base)}& p.postdata{color:var(--lightened-grey);justify-content:flex-start;align-items:center;gap:calc(.2 * var(--gutter));flex-direction:row;min-width:100%;margin-left:-.2em;font-size:1.8rem;display:flex;@media only screen and (width>=601px){font-size:2rem}@container (width>=400px){gap:calc(.5 * var(--gutter))}& span{& svg{font-size:2.5rem;display:inline-block}}}}}
