.navigation[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{color:var(--nav-link-color)}.navigation[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:hover,.navigation[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:focus{opacity:.8}.theme-toggle-item[data-astro-cid-pux6a34n]{margin-left:auto}.theme-toggle[data-astro-cid-pux6a34n]{background:none;border:none;font-size:inherit;cursor:pointer;padding:.5em var(--nav-item-space);line-height:1;opacity:.6;transition:opacity .2s ease,transform .2s ease}.theme-toggle[data-astro-cid-pux6a34n]:hover,.theme-toggle[data-astro-cid-pux6a34n]:focus{opacity:1;transform:scale(1.1)}.theme-toggle[data-astro-cid-pux6a34n]:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:4px}.theme-icon[data-astro-cid-pux6a34n]{display:none}:root[data-theme=dark] .theme-icon-dark[data-astro-cid-pux6a34n]{display:inline}:root[data-theme=light] .theme-icon-light[data-astro-cid-pux6a34n]{display:inline}:root{--fontstack-prefix: -apple-system, BlinkMacSystemFont,;--fontstack-sans-serif: "Helvetica Neue", Arial, sans-serif;--fontstack-serif: Georgia, serif;--fontstack-monospace: Menlo, Consolas, monospace;--fontstack-default: var(--fontstack-prefix) var(--fontstack-sans-serif);--font-size: clamp(1.125rem, .9167rem + .5208vw, 1.375rem);--heading-scale-1: clamp(5.0625rem, 4.1667rem + 2.8125vw, 6.1875rem);--heading-scale-2: clamp(2.25rem, 1.8333rem + 1.0417vw, 2.75rem);--heading-scale-3: clamp(1.6875rem, 1.375rem + .7813vw, 2.0625rem);--font-features: "halt", "cv01", "cv02", "cv03";--line-height: calc(20 / 14);--heading-letter-spacing: -.04em;--space-lg: 24vw;--space-md: 8vw;--space-sm: 4vw;--space-xs: 1.2vw;--border-lg: 4px;--border-md: 2px;--border-sm: 1px;--nav-padding: .75vmax;--nav-item-space: 1.4vmax;--text-color-h: 210;--text-color-s: 30%;--text-color-l: 10%;--text-color-hsl: var(--text-color-h), var(--text-color-s), var(--text-color-l);--text-color: hsl(var(--text-color-hsl));--text-color-0: hsla(var(--text-color-hsl), 0);--text-color-3: hsla(var(--text-color-hsl), .03);--text-color-5: hsla(var(--text-color-hsl), .05);--text-color-10: hsla(var(--text-color-hsl), .1);--text-color-20: hsla(var(--text-color-hsl), .2);--text-color-30: hsla(var(--text-color-hsl), .3);--text-color-40: hsla(var(--text-color-hsl), .4);--text-color-50: hsla(var(--text-color-hsl), .5);--text-color-60: hsla(var(--text-color-hsl), .6);--text-color-70: hsla(var(--text-color-hsl), .7);--text-color-80: hsla(var(--text-color-hsl), .8);--text-color-90: hsla(var(--text-color-hsl), .9);--link-color-h: 210;--link-color-s: 100%;--link-color-l: 50%;--link-color-hsl: var(--link-color-h), var(--link-color-s), var(--link-color-l);--link-color: hsl(var(--link-color-hsl));--background-color: #fff;--code-color-h: calc(var(--link-color-h) + 30);--code-color-s: calc(var(--link-color-s) * .2 + 30%);--code-color-l: var(--link-color-l);--code-color-hsl: var(--code-color-h), var(--code-color-s), var(--code-color-l);--code-color: hsl(var(--code-color-hsl));--code-color-5: hsla(var(--code-color-hsl), .05)}:root[data-theme=dark]{--text-color-h: 210;--text-color-s: 20%;--text-color-l: 90%;--text-color-hsl: var(--text-color-h), var(--text-color-s), var(--text-color-l);--text-color: hsl(var(--text-color-hsl));--text-color-0: hsla(var(--text-color-hsl), 0);--text-color-3: hsla(var(--text-color-hsl), .03);--text-color-5: hsla(var(--text-color-hsl), .05);--text-color-10: hsla(var(--text-color-hsl), .1);--text-color-20: hsla(var(--text-color-hsl), .2);--text-color-30: hsla(var(--text-color-hsl), .3);--text-color-40: hsla(var(--text-color-hsl), .4);--text-color-50: hsla(var(--text-color-hsl), .5);--text-color-60: hsla(var(--text-color-hsl), .6);--text-color-70: hsla(var(--text-color-hsl), .7);--text-color-80: hsla(var(--text-color-hsl), .8);--text-color-90: hsla(var(--text-color-hsl), .9);--link-color-h: 210;--link-color-s: 100%;--link-color-l: 65%;--link-color-hsl: var(--link-color-h), var(--link-color-s), var(--link-color-l);--link-color: hsl(var(--link-color-hsl));--background-color: #0a0a0a;--code-color-h: calc(var(--link-color-h) + 30);--code-color-s: calc(var(--link-color-s) * .2 + 30%);--code-color-l: var(--link-color-l);--code-color-hsl: var(--code-color-h), var(--code-color-s), var(--code-color-l);--code-color: hsl(var(--code-color-hsl));--code-color-5: hsla(var(--code-color-hsl), .05)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:100%;text-size-adjust:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-color)}body{--space-body: var(--space-lg);padding-top:0;padding-bottom:0;padding-left:var(--space-body);padding-right:var(--space-body);margin:0 auto;font-family:var(--fontstack-default);font-size:var(--font-size);font-feature-settings:var(--font-features);line-height:var(--line-height);color:var(--text-color);background:var(--background-color)}@media(max-width:1080px){body{--space-body: var(--space-md)}}@media(max-width:640px){body{--space-body: var(--space-sm)}}a,button{color:var(--text-color);text-decoration:none;transition:color .5s ease,border-color .5s ease,background .5s ease,opacity 1.5s ease}a:hover,a:focus,button:hover,button:focus{transition:color .1s ease,border-color .1s ease,background .1s ease,opacity .1s ease;text-decoration:underline}a[disabled],button[disabled]{opacity:.4;cursor:not-allowed}button{appearance:none;cursor:pointer;background:none;border:none;outline:none}input,button,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}img,hr{border:0}del{text-decoration:line-through}::placeholder{color:var(--text-color);opacity:.2}:focus::placeholder{color:var(--link-color)}html{scroll-behavior:smooth}::selection{background:var(--link-color);color:var(--background-color)}.navigation{padding-top:var(--nav-padding);padding-bottom:var(--nav-padding);margin-right:calc(var(--nav-item-space) * -1);margin-left:calc(var(--nav-item-space) * -1);font-size:90%;font-weight:700}.navigation li{display:inline-block;line-height:2}.navigation li a{padding:.5em var(--nav-item-space);transition:color .2s ease}.navigation li a:hover,.navigation li a:focus{color:var(--link-color);text-decoration:none}.navigation li a:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:2px}.current a{color:var(--link-color)}.content{margin-bottom:16vmin}.content:before,.content:after{display:table;content:""}.content:after{clear:both}.content article>*:last-child{margin-bottom:0!important}.content article>*:last-child>*:last-child{margin-bottom:0!important}.content article>*:last-child>*:last-child>*:last-child{margin-bottom:0!important}.content article>*:last-child>*:last-child>*:last-child>*:last-child{margin-bottom:0!important}.content .post-content>*:first-child,.content .page-content>*:first-child{margin-top:0}.content .post-content>*:first-child>*:first-child,.content .page-content>*:first-child>*:first-child{margin-top:0}.content a{font-weight:700;transition:color .2s ease}.content a:focus-visible{outline:2px solid var(--link-color);outline-offset:4px;border-radius:2px}.content p{margin-bottom:1.6rem;line-height:calc(var(--line-height) * 1.2)}.content ul,.content ol{margin-bottom:1.8rem;list-style:none;counter-reset:list}@media(max-width:640px){.content ul,.content ol{margin-left:1em}}.content ul li,.content ol li{position:relative;margin-bottom:.4em;line-height:calc(var(--line-height) * 1.2)}.content ul li:before,.content ol li:before{position:absolute;display:flex;justify-content:flex-end;width:4em;margin-top:0;margin-left:-4em;text-align:right;opacity:.4;pointer-events:none}.content ul li>ul,.content ul li>ol,.content ol li>ul,.content ol li>ol{margin-left:1em;margin-bottom:0}.content ul li:before{content:"-";padding-right:.5em}.content ol li:before{counter-increment:list;content:counter(list) ".";padding-right:.25em}.content pre,.content code{font-family:var(--fontstack-monospace);color:var(--code-color)}.content pre{background:var(--code-color-5)}.content code{font-size:92%;overflow-wrap:break-word}.content pre,.content .highlight>pre,.content .highlighter-rouge pre.highlight,.content .astro-code{--space-code: var(--space-xs);padding-top:var(--space-xs);padding-bottom:var(--space-xs);padding-left:var(--space-code);padding-right:var(--space-code);margin-left:calc(var(--space-code) * -1);margin-right:calc(var(--space-code) * -1);margin-bottom:1.8rem;overflow-x:auto;font-size:80%;line-height:1.3;-webkit-overflow-scrolling:touch}@media(max-width:1080px){.content pre,.content .highlight>pre,.content .highlighter-rouge pre.highlight,.content .astro-code{--space-code: var(--space-md)}}@media(max-width:640px){.content pre,.content .highlight>pre,.content .highlighter-rouge pre.highlight,.content .astro-code{--space-code: var(--space-sm)}}.content pre code,.content .highlight>pre code,.content .highlighter-rouge pre.highlight code,.content .astro-code code{overflow-wrap:normal}.content .astro-code{background:var(--code-color-5)!important}.content .astro-code code{font-family:var(--fontstack-monospace);font-size:100%}.content .astro-code span{color:var(--shiki-light)!important}.content :root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}.content header{--header-height: 100vh;--space-header: var(--space-lg);display:flex;min-height:calc(var(--header-height) - var(--nav-padding) * 4 - var(--nav-item-space) * 4 - 1.8ex);padding-top:10vmin;padding-bottom:10vmin;margin-bottom:16vmin;flex-direction:column;justify-content:center;background:var(--text-color-3);padding-left:var(--space-header);padding-right:var(--space-header);margin-left:calc(var(--space-header) * -1);margin-right:calc(var(--space-header) * -1)}@media(max-width:1080px){.content header{--header-height: 70vh;--space-header: var(--space-md);padding-top:16vmin;padding-bottom:16vmin}}@media(max-width:640px){.content header{--space-header: var(--space-sm)}}.content header h1{font-size:var(--heading-scale-1);font-weight:700;letter-spacing:var(--heading-letter-spacing);margin-left:-2px;hyphens:none;line-height:1.1}@media(max-width:640px){.content header h1{font-size:280%}}.content header h2{margin:1.2vmin 0 0}.content header small{display:block;margin-top:2vmin}.content h2{margin:10vmin 0 1rem;font-size:90%;font-weight:400;opacity:.6}.content h3{margin:8vmin 0 1rem;font-size:80%;font-weight:400;opacity:.55}.content h4,.content h5,.content h6{margin:6vmin 0 1rem;font-size:72%;font-weight:400;opacity:.5}.content blockquote{position:relative;margin-bottom:2.8rem;margin-left:calc(var(--space-xs) * -1);font-size:90%}@media(max-width:640px){.content blockquote{margin-left:0}}.content blockquote>p{padding-left:var(--space-xs);border-left:var(--border-md) solid var(--link-color);color:var(--text-color-60);padding-bottom:1.6em;margin-bottom:0}.content blockquote>p:last-of-type{padding-bottom:0;margin-bottom:.4em}@media(max-width:640px){.content blockquote>p{padding-left:calc(var(--space-sm) - var(--border-md));padding-right:var(--space-sm);margin-left:calc(var(--space-sm) * -1);margin-right:calc(var(--space-sm) * -1)}}.content code{font-family:var(--fontstack-monospace);padding:.1em .4em;font-size:90%;background:var(--code-color-5);border-radius:2px}.content pre{overflow-x:auto;margin-bottom:1.8rem;padding:1em;background:var(--code-color-5);border-radius:2px}.content pre code{padding:0;background:none}.list{display:block;margin:0 0 .4rem;transition:transform .2s ease}.list h1{font-size:var(--heading-scale-1);font-weight:700;letter-spacing:var(--heading-letter-spacing);font-size:var(--heading-scale-2);line-height:1.1;opacity:1;margin:0}@media(max-width:640px){.list h1{font-size:180%}}.list h1 a{color:inherit;text-decoration:none;transition:color .2s ease}.list h1 a:hover{color:var(--link-color)}@media(max-width:640px){.list .external{display:none}}.external .dot{display:inline-block;width:.7rem;height:.7rem;margin:0 .1em;vertical-align:middle;background:var(--text-color);border-radius:50%;transition:transform .4s ease}.external .dot--post{margin-left:1rem}.external:hover .dot,.external:focus .dot{transform:scale(1.4)}.post-modified-date{font-size:75%;opacity:.5}.post-meta{color:var(--text-color-50);font-size:.9em}.footer{padding:0 0 16vmin;margin-right:calc(var(--nav-item-space) * -1);margin-left:calc(var(--nav-item-space) * -1);font-size:80%;text-transform:lowercase}.footer p{padding-left:var(--nav-item-space);padding-right:var(--nav-item-space)}.footer ul li{display:inline-block;line-height:1.8}.footer ul li a{padding:.5em var(--nav-item-space)}@media(max-width:640px){.navigation{font-size:100%}.page-header h1,.content h1{font-size:2em}.work-grid{grid-template-columns:1fr}}
