﻿*,*::before,*::after{box-sizing:border-box}html,body,div,span,applet,button,input,select,textarea,object,iframe,h1,h2,h3,h4,h5,h6,hr,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,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{background:rgba(0,0,0,0);border:0;font:inherit;font-size:100%;margin:0;min-width:0;outline:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}ol,ul,menu{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}img,svg{display:block}table{border-collapse:collapse;border-spacing:0}:root{--hsl-black: 0, 0%, 0%;--hsl-white: 0, 0%, 100%;--hsl-grey-1: 210, 12%, 85%;--hsl-grey-2: 210, 5%, 44%;--hsl-grey-3: 210, 29%, 8%;--hsl-red: 359, 83%, 52%;--color-black: hsl(var(--hsl-black));--color-white: hsl(var(--hsl-white));--color-grey-1: hsl(var(--hsl-grey-1));--color-grey-2: hsl(var(--hsl-grey-2));--color-grey-3: hsl(var(--hsl-grey-3));--color-red: hsl(var(--hsl-red));--font-family: "Lab Grotesque", Sans-Serif;--font-family-mono: "Lab Grotesque Mono", Monospace;--font-size: calc(1em + 1vw);--font-size-x-small: 60%;--font-size-small: 80%;--font-size-large: 105%;--font-size-x-large: 110%;--font-size-xx-large: 115%;--font-size-xxx-large: 125%;--font-size-xxxx-large: 140%;--line-height: calc(1.3em + 1vw);--spacing: 0.75em;--transition: 0.2s cubic-bezier(0.37, 1, 0.74, 1)}@media(min-width: 64em)and (hover: hover)and (pointer: fine){:root{--font-size: calc(1.25em + 1vw);--font-size-x-small: 50%;--font-size-small: 65%;--font-size-large: 110%;--font-size-x-large: 120%;--font-size-xx-large: 130%;--font-size-xxx-large: 150%;--font-size-xxxx-large: 180%;--line-height: 1.3em}}@font-face{font-family:"Lab Grotesque";font-style:normal;font-weight:300;src:url("../fonts/LabGrotesque-Light.woff2") format("woff2"),url("../fonts/LabGrotesque-Light.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:italic;font-weight:300;src:url("../fonts/LabGrotesque-LightItalic.woff2") format("woff2"),url("../fonts/LabGrotesque-LightItalic.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:normal;font-weight:400;src:url("../fonts/LabGrotesque-Regular.woff2") format("woff2"),url("../fonts/LabGrotesque-Regular.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:italic;font-weight:400;src:url("../fonts/LabGrotesque-Italic.woff2") format("woff2"),url("../fonts/LabGrotesque-Italic.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:normal;font-weight:500;src:url("../fonts/LabGrotesque-Medium.woff2") format("woff2"),url("../fonts/LabGrotesque-Medium.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:italic;font-weight:500;src:url("../fonts/LabGrotesque-MediumItalic.woff2") format("woff2"),url("../fonts/LabGrotesque-MediumItalic.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:normal;font-weight:700;src:url("../fonts/LabGrotesque-Bold.woff2") format("woff2"),url("../fonts/LabGrotesque-Bold.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:italic;font-weight:700;src:url("../fonts/LabGrotesque-BoldItalic.woff2") format("woff2"),url("../fonts/LabGrotesque-BoldItalic.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:normal;font-weight:800;src:url("../fonts/LabGrotesque-Black.woff2") format("woff2"),url("../fonts/LabGrotesque-Black.woff") format("woff")}@font-face{font-family:"Lab Grotesque";font-style:italic;font-weight:800;src:url("../fonts/LabGrotesque-BlackItalic.woff2") format("woff2"),url("../fonts/LabGrotesque-BlackItalic.woff") format("woff")}@font-face{font-family:"Lab Grotesque Mono";font-style:normal;font-weight:400;src:url("../fonts/LabGrotesqueMono-Regular.woff2") format("woff2"),url("../fonts/LabGrotesqueMono-Regular.woff") format("woff")}@font-face{font-family:"Lab Grotesque Mono";font-style:normal;font-weight:700;src:url("../fonts/LabGrotesqueMono-Bold.woff2") format("woff2"),url("../fonts/LabGrotesqueMono-Bold.woff") format("woff")}html{background:var(--color-black);font-size:16px;min-height:-webkit-fill-available;scroll-behavior:smooth}body{align-items:stretch;background:var(--color-black);color:var(--color-grey-1);display:flex;flex-direction:column;font-family:var(--font-family);font-feature-settings:"liga","ss02";font-size:var(--font-size);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;letter-spacing:-0.01em;line-height:1.3;min-height:100vh;overflow-x:hidden;-webkit-tap-highlight-color:hsla(var(--hsl-white), 0);text-rendering:optimizeLegibility}@supports(-webkit-touch-callout: none){body{min-height:-webkit-fill-available}}::selection{background:hsla(var(--hsl-white), 0.2)}main{position:relative}h1,h2,h3,h4,h5,h6{color:var(--color-white);font-weight:700}a{color:var(--color-white);font-weight:700;letter-spacing:normal;text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.09em}em,i{font-style:italic}strong,b{color:var(--color-white);font-weight:700}img,source,video{height:auto;max-width:100%;width:100%}.highlight{color:var(--color-white)}.highlight .hll{background-color:rgba(137,207,235,.15)}.highlight .c{color:#828282;font-style:italic}.highlight .k{color:#ff4284;font-weight:700}.highlight .o{font-weight:700}.highlight .p{color:#89cfeb}.highlight .cm{color:#828282;font-style:italic}.highlight .cp{color:#cec5f6;font-weight:700}.highlight .c1{color:#828282;font-style:italic}.highlight .cs{color:#828282;font-weight:700;font-style:italic}.highlight .gd{color:#f9443e}.highlight .ge{color:#f0f;font-style:italic}.highlight .gr{color:#bfbfbf;font-weight:700}.highlight .gi{color:#20cb23}.highlight .go{color:#bddfeb;font-weight:700}.highlight .gs{font-weight:700}.highlight .gt{color:#bfbfbf;font-weight:700}.highlight .kc{color:#ff4284;font-weight:700}.highlight .kd{color:#ff4284;font-weight:700}.highlight .kn{color:#ff4284}.highlight .kp{color:#ff4284;font-weight:700}.highlight .kr{color:#89cfeb;font-weight:700}.highlight .kt{color:#beb96f;font-weight:700}.highlight .s{color:#ffed66}.highlight .na{color:#c0e78d}.highlight .nc{color:#c0e78d;font-weight:700}.highlight .no{color:#89cfeb}.highlight .ni{color:#ffe2b8}.highlight .ne{font-weight:700}.highlight .nf{color:#9b8aff;font-weight:700}.highlight .nt{color:#89cfeb}.highlight .nv{color:#beb96f}.highlight .ow{font-weight:700}.highlight .s2{color:#ffed66}.highlight .s1{color:#ffed66}.highlight .ss{color:#a48fea}.highlight .vc{color:#98fb98}.highlight .vg{color:#98fb98}.button{align-self:flex-start;background:var(--color-white);border-radius:1.3em;color:var(--color-black);cursor:pointer;display:inline-flex;font-size:var(--font-size-small);font-weight:500;gap:.4em;letter-spacing:normal;padding:.6em 1.1em .55em 1.1em;text-decoration:none;white-space:nowrap}.button span{color:var(--color-grey-2);display:inline-flex}.button--dim{background:var(--color-grey-3);color:var(--color-white)}.button--black{background:var(--color-black);color:var(--color-white)}.content{font-size:var(--font-size-small);letter-spacing:normal}.content>*+*{margin-top:var(--flow-space, var(--line-height))}.content>*+h1,.content>*+h2,.content>*+h3,.content>*+h4,.content>*+h5,.content>*+h6{--flow-space: calc(var(--line-height) * 1.2)}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-weight:700;line-height:1.2}.content h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a{text-decoration:none}.content h1 i,.content h1 em,.content h2 i,.content h2 em,.content h3 i,.content h3 em,.content h4 i,.content h4 em,.content h5 i,.content h5 em,.content h6 i,.content h6 em{color:var(--color-grey-1);font-weight:400}.content h1+*,.content h2+*,.content h3+*,.content h4+*,.content h5+*,.content h6+*{--flow-space: calc(var(--line-height) * 0.5)}.content h2{font-size:var(--font-size-xxx-large)}.content h3{font-size:var(--font-size-x-large)}.content h4{font-size:var(--font-size-x-large)}.content h5{font-size:var(--font-size-large)}.content h6{font-size:var(--font-size-large)}.content hr{--flow-space: 0;height:3.7em}.content hr+*{--flow-space: 0}.content hr.ornament{display:flex;flex-direction:column;height:auto;margin-bottom:2.6em;margin-top:2.6em;text-align:center}.content hr.ornament:before{color:var(--color-white);content:"***";font-size:var(--font-size-xx-large);font-weight:500;letter-spacing:.15em;line-height:1;padding-top:.4em}.content ul li ul,.content ul li ol,.content ol li ul,.content ol li ol{margin-top:.4em}.content ul li ul li,.content ul li ol li,.content ol li ul li,.content ol li ol li{counter-increment:none}.content ul li ul li:before,.content ul li ol li:before,.content ol li ul li:before,.content ol li ol li:before{display:none}.content ul li+li,.content ol li+li{margin-top:.4em}.content ul{list-style:disc;padding-left:1.85ch}.content ol{counter-reset:counter;padding-left:3.25ch}.content ol li{counter-increment:counter}.content ol li:before{content:counter(counter) ".";display:inline-block;font-feature-settings:"ss02","tnum";font-weight:700;margin-left:-2.5em;margin-right:.5em;text-align:right;width:2em}.content details{background:var(--color-grey-3);border-radius:.3em}.content details summary{color:var(--color-white);cursor:pointer;font-size:75%;font-weight:700;padding:1.2em 1.4em}.content details section{background:hsla(var(--hsl-grey-2), 0.1);color:var(--color-grey-1);font-size:75%;padding:1.1em 1.4em}.content details section>*+*{margin-top:var(--flow-space, var(--line-height))}.content details section dl dt{color:var(--color-white);font-weight:700;margin-bottom:.25em}.content details section dl dt span{color:hsla(var(--hsl-grey-1), 0.7);font-size:80%;font-weight:400}.content details section dl dd .highlighter-details{margin-bottom:.5em;margin-top:.5em}.content details section blockquote{border-left-color:hsla(var(--hsl-grey-1), 0.1)}.content details section code{background:hsla(var(--hsl-grey-1), 0.1);border:1px solid hsla(var(--hsl-grey-1), 0.075);border-radius:.15em;color:hsla(var(--hsl-white), 0.8);display:inline-block;font-size:75%;padding:.1em .3em}.content details section .highlighter-details pre{padding:.5em .7em .7em .7em;white-space:pre}.content details section .highlighter-details code{font-size:75%}.content blockquote{border-left:3px solid var(--color-grey-3);color:hsla(var(--hsl-grey-1), 0.8);font-style:italic;padding-left:1.5em}.content blockquote *+*{margin-top:var(--line-height)}.content mark{color:inherit}.content figure.highlight,.content div.highlighter-rouge,.content .highlighter-details{background:var(--color-grey-3);border-radius:.3em}.content pre{overflow-x:auto;padding:1.1em 1.6em 1.3em 1.6em;white-space:pre}.content code{font-family:var(--font-family-mono);font-size:75%;font-style:normal;font-weight:400}.content code.highlighter-rouge{background:hsla(var(--hsl-grey-1), 0.2);border:1px solid hsla(var(--hsl-grey-1), 0.15);border-radius:.15em;color:var(--color-white);display:inline-block;padding:0 .25em}.content a code{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.0825em}.content sup{display:inline-block;font-feature-settings:"ss02","tnum";font-size:65%;letter-spacing:normal;margin-left:.2ch;vertical-align:super}.content sup a.footnote{text-decoration:none}.content sup a.footnote:before{content:"[";display:inline-block}.content sup a.footnote:after{content:"]";display:inline-block}.content .footnotes ol li{display:flex;font-size:85%;letter-spacing:normal}.content .footnotes ol li p{display:inline;flex:1}.content .footnotes ol li p a{display:inline;text-decoration:none;vertical-align:sub}.content .footnotes ol li+li{margin-top:.4em}.content .console-prompt{font-family:var(--font-family-mono);font-style:normal;font-weight:400;line-height:1.6}.content .console-prompt>*+*{margin-top:var(--line-height)}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.content h1 a:hover,.content h1 a:focus,.content h2 a:hover,.content h2 a:focus,.content h3 a:hover,.content h3 a:focus,.content h4 a:hover,.content h4 a:focus,.content h5 a:hover,.content h5 a:focus,.content h6 a:hover,.content h6 a:focus{text-decoration:underline}}.hey-nav{background:url(../images/hey-navigation/back.svg) .25em center no-repeat #9dffec;background-size:.58em .58em;border-radius:1.1em;color:var(--color-black);display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,Sans-Serif;font-weight:500;line-height:1.1em;padding-left:.95em;padding-right:.45em;text-decoration:none;transform:translateY(0.1em);vertical-align:top}.hey-nav span{display:inline-flex;font-size:.675em}.footer{background:linear-gradient(0deg, hsla(var(--hsl-black), 1) 0, hsla(var(--hsl-black), 0) 100%);bottom:0;display:flex;justify-content:flex-end;left:0;pointer-events:none;position:fixed;width:100%;z-index:104}.footer ul{display:none;flex:1;line-height:var(--line-height);padding-bottom:var(--spacing);padding-left:var(--spacing);pointer-events:auto}.footer ul li{align-items:center;font-size:var(--font-size-small);font-weight:700;letter-spacing:normal}.footer ul li a{text-decoration:none;transition:color var(--transition)}.footer ul li:not(:last-child){padding-right:1em}.footer ul li.selected a{text-decoration:underline}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.footer ul{display:flex}.footer ul li a:hover,.footer ul li a:focus{color:var(--color-grey-2)}.footer ul li.selected a:hover,.footer ul li.selected a:focus{color:var(--color-white)}}.header{background:linear-gradient(180deg, hsla(var(--hsl-black), 1) 0, hsla(var(--hsl-black), 0) 100%);color:var(--color-white);display:flex;justify-content:flex-end;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:104}.header div{order:2;pointer-events:auto}.header div a{display:block;height:var(--line-height);margin-right:var(--spacing);margin-top:var(--spacing)}.header div a svg{height:100%;max-height:100%;overflow:visible;width:auto}.header div a svg path{fill:var(--color-white)}.header dl{align-items:center;display:flex;flex:1;line-height:var(--line-height);order:1;padding-left:var(--spacing);padding-top:var(--spacing);pointer-events:auto}.header dl dt,.header dl dd{font-size:var(--font-size-small);font-weight:700;letter-spacing:normal}.header dl dt a,.header dl dd a{text-decoration:none}.header dl dt a{align-items:center;display:flex;gap:.5em}.header dl dt a svg{height:1.2em;width:1.2em}.header dl dt a svg path{fill:var(--color-white)}.header dl dd{display:none}.header dl dd:before{color:var(--color-grey-2);content:"/";display:inline-flex;font-weight:500;padding-left:.6em;padding-right:.6em}@media(min-width: 48em)and (hover: hover)and (pointer: fine){.header dl dd{display:flex}}.media{display:flex;flex-direction:column;gap:.6em;margin-bottom:.3em}.media__element{display:flex;justify-content:center;margin-top:.25em}.media__element img,.media__element video{border-radius:.3em;overflow:hidden}.media__caption{font-size:80%;font-style:italic;opacity:.8;margin-bottom:-0.3em;text-align:center}.media--portrait .media__element{background:var(--color-grey-3);border-radius:.3em;padding:1em}.media--portrait .media__element img,.media--portrait .media__element video{max-width:20rem}.page{display:flex;flex-direction:column;margin:7.4em var(--spacing) 0 var(--spacing);position:relative}.page:after{background:linear-gradient(180deg, hsla(var(--hsl-black), 1) 0, hsla(var(--hsl-black), 0) 90%);content:"";height:7.4em;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:101}.page__headline,.page__body{display:flex;flex-direction:column;max-width:49ch;position:relative}.page__headline{color:var(--color-white);gap:.6em}.page__headline h1{display:flex;font-size:var(--font-size-xxx-large);font-weight:700;line-height:1.2}.page__headline h1 span{color:var(--color-grey-2);font-weight:300;margin-left:.3em;margin-right:.3em}.page__headline h1 a{letter-spacing:inherit;text-decoration:none}.page__headline h1 br{display:none}.page__headline p br{display:none}.page__headline--post{gap:0}.page__headline--post time{color:var(--color-grey-2);display:flex;font-size:var(--font-size-x-small);font-weight:500;letter-spacing:normal;line-height:1em;margin-bottom:1.5em;margin-top:-2.5em}.page__headline--post time span{display:inline-flex}.page__headline--post time span a{color:inherit;font-weight:inherit;text-decoration:none}.page__headline--post time span:before{color:hsla(var(--hsl-grey-2), 0.6);content:"/";display:inline-flex;font-weight:500;padding-left:.6em;padding-right:.6em}.page__headline--post p{margin-bottom:.8em;margin-top:.6em}.page__headline--author{gap:0}.page__headline--author h2{color:var(--color-grey-2);font-size:var(--font-size-x-large);font-weight:500;line-height:1.2}.page__headline--author p{margin-top:.6em}.page__headline--author ul{font-size:var(--font-size-x-small);letter-spacing:normal;margin-top:.6em}.page__headline--author ul li{display:flex}.page__headline--author ul li a{align-items:center;display:inline-flex;gap:.5em}.page__headline--author ul li a svg{height:1em;width:1em}.page__headline--author ul li a svg path{fill:var(--color-white)}.page__headline--author ul li+li{margin-top:.3em}.page__author{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:var(--font-size-x-small);gap:.8em 1.4em;letter-spacing:normal}.page__author a{align-items:center;display:flex;gap:.8em;text-decoration:none}.page__author a img{border-radius:100%;overflow:hidden;width:3em}.page__author a dl{display:flex;flex-direction:column;gap:.4em;line-height:1}.page__author a dl dd{color:var(--color-grey-2);font-weight:500}.page__content{font-size:var(--font-size-small);letter-spacing:normal;margin-bottom:3.7em;margin-top:3.7em}.page__back{--flow-space: calc(var(--line-height) * 2)}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.page{margin-top:max(22.2vh, 5.4em)}.page:after{height:max(22.2vh, 5.4em)}.page__headline,.page__body{margin-left:2.8ch;margin-right:2.8ch}.page__headline h1 a:hover,.page__headline h1 a:focus{text-decoration:underline}.page__headline h1 br{display:inline}.page__headline p br{display:inline}}.post{display:flex;flex-direction:column;max-width:49ch}.post__content{display:flex;flex-direction:column;margin-bottom:3.7em;margin-top:1.85em;padding-top:3.7em;position:relative}.post__content:before{background:var(--color-grey-3);content:"";height:2px;left:0;position:absolute;top:0;width:50%}.post__meta ul{list-style:none;padding:0}.post__meta ul li{padding-left:1.4em;position:relative}.post__meta ul li:before{color:hsla(var(--hsl-grey-2), 0.6);content:"→";display:inline-block;font-weight:500;left:0;position:absolute;width:1.4em}.post__meta ul li+li{margin-top:.3em}.post .signup{margin-bottom:3.7em}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.post{max-width:39ch}.post details,.post div.media,.post figure.highlight,.post div.highlighter-rouge{margin-left:-1em;max-width:calc(100% + 2em);width:calc(100% + 2em)}}.posts{display:flex;flex-direction:column;max-width:49ch}.posts__container{display:flex;flex-direction:column;font-size:var(--font-size-small);gap:calc(var(--line-height)*2);letter-spacing:normal;margin-bottom:3.7em;margin-top:3.7em}.posts__post{display:flex;flex-direction:column;gap:.6em}.posts__post time{font-size:var(--font-size-small);line-height:1;margin-bottom:-0.15em}.posts__post time a{color:var(--color-grey-2);font-weight:500;text-decoration:none}.posts__post h3{font-size:var(--font-size-xxx-large);font-weight:700;line-height:1.2}.posts__post p br{display:none}.posts__post div{display:flex;flex-wrap:wrap;font-size:var(--font-size-small);gap:.8em 1.4em}.posts__post div a{align-items:center;display:flex;gap:.8em;text-decoration:none}.posts__post div a img{border-radius:100%;overflow:hidden;width:3em}.posts__post div a dl{display:flex;flex-direction:column;gap:.4em;line-height:1}.posts__post div a dl dd{color:var(--color-grey-2);font-weight:500}.posts .signup{margin-bottom:3.7em;order:1}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.posts{max-width:39ch}.posts .signup{margin-bottom:0;margin-top:3.7em;order:0}}.signup{align-self:flex-start;background:var(--color-grey-3);border-radius:.3em;display:flex;flex-direction:column;gap:1em;padding:1.3em 1.6em}.signup p{--flow-space: 0}.signup p br{display:none}.signup form{--flow-space: 0;background:var(--color-white);border-radius:2em;display:flex;max-width:20em;padding:.25em}.signup form input[type=email]{appearance:none;border:none;color:var(--color-grey-3);flex:1;font-family:var(--font-family-mono);font-size:var(--font-size-small);line-height:1;margin-right:.25em;padding:.15em 0 .15em 1.2em;vertical-align:middle}.signup form input[type=email]::placeholder{color:hsla(var(--hsl-grey-3), 0.5)}.signup form input[type=email]::selection{background:hsla(var(--hsl-grey-3), 0.15)}.signup form.error{background:var(--color-red)}.signup--inline{align-self:auto;background:none;border-radius:unset;padding:0}@media(min-width: 64em)and (hover: hover)and (pointer: fine){.signup{align-items:center;align-self:auto;flex-direction:row;gap:1.6em;margin-left:-1em;max-width:calc(100% + 2em);width:calc(100% + 2em)}.signup p{justify-self:flex-start}.signup p br{display:inline}.signup form{flex:1;max-width:none}.signup--inline{align-items:normal;margin-left:0;max-width:none;width:auto}.signup--inline form{max-width:20em}}