@charset "UTF-8";:root{--text:#0d1416;--background:#fdfdfd;--primary:#669ca3;--secondary:#a5abc9;--accent:#8d8cba}:root{--text-50:#eff4f6;--text-100:#dfe9ec;--text-200:#bfd4d9;--text-300:#9fbec6;--text-400:#7ea8b4;--text-500:#5e92a1;--text-600:#4b7581;--text-700:#395860;--text-800:#263b40;--text-900:#131d20;--text-950:#090f10;--background-50:#f0f5f5;--background-100:#e0ebeb;--background-200:#c2d6d6;--background-300:#a3c2c2;--background-400:#85adad;--background-500:#669999;--background-600:#527a7a;--background-700:#3d5c5c;--background-800:#293d3d;--background-900:#141f1f;--background-950:#0a0f0f;--primary-50:#eff5f5;--primary-100:#dfeaec;--primary-200:#bfd6d9;--primary-300:#9fc1c6;--primary-400:#80adb3;--primary-500:#60989f;--primary-600:#4d7a80;--primary-700:#395b60;--primary-800:#263d40;--primary-900:#131e20;--primary-950:#0a0f10;--secondary-50:#eff0f5;--secondary-100:#dfe1ec;--secondary-200:#bfc4d9;--secondary-300:#9fa6c6;--secondary-400:#8088b3;--secondary-500:#606a9f;--secondary-600:#4d5580;--secondary-700:#394060;--secondary-800:#262b40;--secondary-900:#131520;--secondary-950:#0a0b10;--accent-50:#efeff5;--accent-100:#dfdfec;--accent-200:#c0bfd9;--accent-300:#a09fc6;--accent-400:#8080b3;--accent-500:#61609f;--accent-600:#4d4d80;--accent-700:#3a3960;--accent-800:#272640;--accent-900:#131320;--accent-950:#0a0a10}@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/font/inter/InterVariable.woff2)format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:swap;src:url(/font/inter/InterVariable-Italic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:100;font-display:swap;src:url(/font/inter/Inter-Thin.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:100;font-display:swap;src:url(/font/inter/Inter-ThinItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:200;font-display:swap;src:url(/font/inter/Inter-ExtraLight.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:200;font-display:swap;src:url(/font/inter/Inter-ExtraLightItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:300;font-display:swap;src:url(/font/inter/Inter-Light.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:300;font-display:swap;src:url(/font/inter/Inter-LightItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:swap;src:url(/font/inter/Inter-Regular.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:400;font-display:swap;src:url(/font/inter/Inter-Italic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:swap;src:url(/font/inter/Inter-Medium.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:500;font-display:swap;src:url(/font/inter/Inter-MediumItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:600;font-display:swap;src:url(/font/inter/Inter-SemiBold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:600;font-display:swap;src:url(/font/inter/Inter-SemiBoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:700;font-display:swap;src:url(/font/inter/Inter-Bold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:700;font-display:swap;src:url(/font/inter/Inter-BoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:800;font-display:swap;src:url(/font/inter/Inter-ExtraBold.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:800;font-display:swap;src:url(/font/inter/Inter-ExtraBoldItalic.woff2)format("woff2")}@font-face{font-family:inter;font-style:normal;font-weight:900;font-display:swap;src:url(/font/inter/Inter-Black.woff2)format("woff2")}@font-face{font-family:inter;font-style:italic;font-weight:900;font-display:swap;src:url(/font/inter/Inter-BlackItalic.woff2)format("woff2")}:root{--line-height:1.5;--font-family:"Inter", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}@supports(font-variation-settings:normal){:root{font-family:intervariable,system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;font-optical-sizing:auto}}:root{background:var(--background);color:var(--text);font-size:100%;font-family:var(--font-family);line-height:var(--line-height)}a{text-decoration:none;color:var(--text-600)}a:hover{color:var(--text-800)}h1,h2,h3,h4,h5,h6{font-weight:500;overflow-wrap:break-word;word-break:break-word}hr{margin:1rem 0;border:none;height:.15rem;background-color:color-mix(in srgb,var(--text) 30%,var(--background))}figure{margin:0}blockquote{margin:1rem 0;padding:.5rem 1rem}body{margin:.5rem;min-height:calc(100vh - 1rem);display:flex;flex-direction:column}body main{flex:1}p{margin:1.5rem 0}li{margin:.5rem 0}details{background-color:var(--background-50);padding:1rem 1.5rem;border-radius:.5rem}details p{margin:.5rem 0}details summary{margin:.5rem;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}details summary::before{content:"";border-width:.4rem;border-style:solid;border-color:transparent transparent transparent var(--text);transition:transform .3s ease;transform-origin:25% 50%}details[open] summary::before{transform:rotate(90deg)}.heading .heading-anchor{opacity:0;transition:opacity .2s ease}.heading:hover .heading-anchor{opacity:1}img{width:100%;height:auto;display:block}.captioned-image{width:100%;padding:1rem 0}.captioned-image figcaption{text-align:center;padding-top:1rem;color:color-mix(in srgb,var(--text) 70%,var(--background))}blockquote{border-left:.15rem solid color-mix(in srgb,var(--text) 30%,var(--background))}blockquote .alert-heading{font-weight:700;margin:0 0 .5rem}blockquote .alert-emoji{margin-right:.5rem}blockquote p{margin:.5rem 0}blockquote p:last-child{margin:0}pre{color:var(--text);background-color:var(--background-50);padding:1rem;border-radius:.5rem;overflow-x:auto}.chroma{}.chroma .line.prompt::before{content:"$ "}.chroma .err{color:var(--accent-600)}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:var(--background-100)}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:color-mix(in srgb,var(--text) 50%,var(--background-50))}.chroma .line{display:flex}.chroma .k{color:var(--secondary-700)}.chroma .kc{color:var(--primary-600)}.chroma .kd{color:var(--secondary-700)}.chroma .kn{color:var(--secondary-700)}.chroma .kp{color:var(--primary-600)}.chroma .kr{color:var(--secondary-700)}.chroma .kt{color:var(--secondary-700)}.chroma .nc{color:var(--accent-700);font-weight:700}.chroma .no{color:var(--primary-600);font-weight:700}.chroma .nd{color:var(--secondary-800);font-weight:700}.chroma .ni{color:var(--accent-700)}.chroma .ne{color:var(--accent-700);font-weight:700}.chroma .nl{color:var(--primary-600);font-weight:700}.chroma .nn{color:var(--secondary-700)}.chroma .py{color:var(--primary-600)}.chroma .nt{color:var(--primary-700)}.chroma .nv{color:var(--primary-600)}.chroma .vc{color:var(--primary-600)}.chroma .vg{color:var(--primary-600)}.chroma .vi{color:var(--primary-600)}.chroma .vm{color:var(--primary-600)}.chroma .nf{color:var(--secondary-800);font-weight:700}.chroma .fm{color:var(--secondary-800);font-weight:700}.chroma .l{color:var(--primary-700)}.chroma .ld{color:var(--primary-600)}.chroma .s{color:var(--primary-700)}.chroma .sa{color:var(--primary-600)}.chroma .sb{color:var(--primary-700)}.chroma .sc{color:var(--primary-700)}.chroma .dl{color:var(--primary-600)}.chroma .sd{color:var(--primary-700)}.chroma .s2{color:var(--primary-700)}.chroma .se{color:var(--primary-600)}.chroma .sh{color:var(--primary-600)}.chroma .si{color:var(--primary-700)}.chroma .sx{color:var(--primary-700)}.chroma .sr{color:var(--primary-600)}.chroma .s1{color:var(--primary-700)}.chroma .ss{color:var(--primary-700)}.chroma .m{color:var(--primary-700)}.chroma .mb{color:var(--primary-700)}.chroma .mf{color:var(--primary-700)}.chroma .mh{color:var(--primary-700)}.chroma .mi{color:var(--primary-700)}.chroma .il{color:var(--primary-700)}.chroma .mo{color:var(--primary-700)}.chroma .o{color:var(--secondary-700);font-weight:700}.chroma .ow{color:var(--secondary-700);font-weight:700}.chroma .c{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-style:italic}.chroma .ch{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-style:italic}.chroma .cm{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-style:italic}.chroma .c1{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-style:italic}.chroma .cs{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-weight:700;font-style:italic}.chroma .cp{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-weight:700;font-style:italic}.chroma .cpf{color:color-mix(in srgb,var(--text) 50%,var(--background-50));font-weight:700;font-style:italic}.chroma .gd{color:var(--accent-900);background-color:var(--accent-300)}.chroma .ge{font-style:italic}.chroma .gr{color:var(--accent-600)}.chroma .gh{color:var(--primary-600);font-weight:700}.chroma .gi{color:var(--primary-800);background-color:var(--primary-200)}.chroma .go{color:color-mix(in srgb,var(--text) 70%,var(--background-50))}.chroma .gp{color:color-mix(in srgb,var(--text) 70%,var(--background-50))}.chroma .gs{font-weight:700}.chroma .gu{color:var(--primary-600)}.chroma .gt{color:var(--secondary-700)}.chroma .gl{text-decoration:underline}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}table thead th{border-bottom:.1rem solid color-mix(in srgb,var(--text) 20%,var(--background))}table tr+tr td{border-top:.1rem solid color-mix(in srgb,var(--text) 10%,var(--background))}table th,table td{padding:.5rem;border-right:.1rem solid color-mix(in srgb,var(--text) 10%,var(--background))}table th:last-child,table td:last-child{border-right:none}.meta{margin:1rem 0;font-size:.8rem}.meta .date{color:var(--text)}.meta .tag{color:var(--primary-600)}.meta .tag:hover{color:var(--primary-800)}.meta .duration{color:color-mix(in srgb,var(--text) 70%,var(--background))}main.with-details{max-width:75rem;margin:0 auto;padding:2rem;display:grid;grid-template-columns:13rem 45rem 13rem;column-gap:2rem}main.with-details>.content{width:100%;padding:0}main.with-details .title{font-size:1.75rem;margin:0}main.with-details .length{color:color-mix(in srgb,var(--text) 70%,var(--background));margin:.5rem 0;font-size:.8rem}@media(max-width:75rem){main.with-details{display:block;padding:0}main.with-details>.details{max-width:45rem;margin:0 auto;padding:2rem}main.with-details>.content{padding:2rem}}@media(max-width:30rem){main.with-details>.details{padding:1rem}main.with-details>.content{padding:0 1rem 1rem}}.list .post{display:block}.list .post>a{color:inherit}.list .post>a:hover{color:var(--text-800)}.list .post:not(:first-child){margin:4rem 0}.list .post .title{margin:0;font-size:2.25rem}.list .post .summary{margin:.5rem 0}.list .post .heading-anchor{display:none}@media(max-width:30rem){.list .post:not(:first-child){margin:2rem 0}.list .post .title{font-size:1.5rem}}.gallery{margin:-.75rem}.gallery .grid-sizer{width:calc(25% - 1.5rem);margin:0 .75rem}.gallery .grid-item{width:calc(25% - 1.5rem);margin:.75rem}@media(max-width:45rem){.gallery{margin:-.5rem}.gallery .grid-sizer{width:calc(33% - 1rem);margin:0 .5rem}.gallery .grid-item{width:calc(33% - 1rem);margin:.5rem}}@media(max-width:30rem){.gallery{margin:-.375rem}.gallery .grid-sizer{width:calc(50% - .75rem);margin:0 .375rem}.gallery .grid-item{width:calc(50% - .75rem);margin:.375rem}}.header{padding:2rem}.header .header-container{max-width:75rem;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header .header-container a{color:inherit}.header .header-container a:hover{color:var(--text-800)}.header .header-container .site-title{font-size:1.5rem;font-weight:500}.header .header-container .nav ul{display:flex;gap:2.5rem;margin:0;padding:0;list-style:none}.header .header-container .nav ul li{font-size:.85rem}.header .header-container .nav-toggle{display:none}.header .header-container .nav-toggle-label{display:none}@media(max-width:30rem){.header{padding:1rem}.header .header-container .site-title{z-index:2}.header .header-container .nav{z-index:1;position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;background:var(--background);transition:opacity .3s ease;pointer-events:none}.header .header-container .nav ul{flex-direction:column;align-items:center;gap:2rem}.header .header-container .nav ul li a{font-size:1.5rem}.header .header-container .nav-toggle-label{z-index:2;display:flex;flex-direction:column;justify-content:space-between;width:1.5rem;height:.75rem;cursor:pointer}.header .header-container .nav-toggle-label span{display:block;height:.125rem;width:100%;border-radius:1px;background:currentColor;transition:transform .3s ease,opacity .3s ease}.header .header-container .nav-toggle:checked+.nav-toggle-label+.nav{opacity:1;pointer-events:auto}.header .header-container .nav-toggle:checked+.nav-toggle-label span:nth-child(1){transform:translateY(.3125rem)rotate(45deg)}.header .header-container .nav-toggle:checked+.nav-toggle-label span:nth-child(2){transform:translateY(-.3125rem)rotate(-45deg)}}.hero{max-width:45rem;margin:0 auto;padding:2rem 2rem 0}.hero .title{margin:0;font-size:2.5rem}.hero+.content{padding-top:0}@media(max-width:30rem){.hero{padding:1rem 1rem 0}}.content{max-width:45rem;margin:0 auto;padding:2rem}.content.wide{max-width:75rem}@media(max-width:30rem){.content{padding:1rem}}.postnav{max-width:45rem;margin:0 auto;padding:2rem;display:flex;justify-content:space-between;gap:1rem}.postnav a{flex:50%;color:inherit}.postnav a:hover{color:var(--text-800)}.postnav p{margin:.5rem 0}.postnav .caption{font-weight:500}.postnav .title{overflow-wrap:break-word;word-break:break-word}.postnav .next{text-align:right}.postnav .previous .caption::before{content:"‹ "}.postnav .next .caption::after{content:" ›"}.content+.postnav{padding-top:0}@media(max-width:30rem){.postnav{padding:1rem;flex-direction:column}.postnav a{flex:auto}}.footer{padding:4rem 2rem}.footer .footer-container{max-width:45rem;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:color-mix(in srgb,var(--text) 50%,var(--background))}.footer .footer-container a{color:inherit}.footer .footer-container a:hover{color:var(--text-800)}.footer .footer-container .footer-nav .middot{font-weight:900}.footer .footer-container .footer-nav ul{display:flex;gap:1rem;margin:0;padding:0;list-style:none}.footer .footer-container .footer-nav ul li{margin:0;font-size:.85rem}@media(max-width:30rem){.footer{padding:2rem 1rem}.footer .footer-container{flex-direction:column;justify-content:center;gap:1rem}.footer .footer-container .footer-nav .middot{display:none}.footer .footer-container .footer-nav ul{flex-direction:column;align-items:center}}/*!PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com*/.pswp{--pswp-bg:#000;--pswp-placeholder-bg:#222;--pswp-root-z-index:100000;--pswp-preloader-color:rgba(79, 79, 79, 0.4);--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9);--pswp-icon-color:#fff;--pswp-icon-color-secondary:#4f4f4f;--pswp-icon-stroke-color:#4f4f4f;--pswp-icon-stroke-width:2px;--pswp-error-text-color:var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:transparent}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration)cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:0 0;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:0 0;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:0 0;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scale(-1,1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise 600ms linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.pswp{--pswp-bg:var(--background);--pswp-icon-color:var(--text);--pswp-icon-color-secondary:color-mix(
    in srgb,
    var(--text) 30%,
    var(--background)
  )}.pswp-caption-content{display:none}.pswp__caption{position:fixed;bottom:0;width:100%;height:auto;padding:1rem 2rem;text-align:center;line-height:1.5rem}.pswp__caption .meta{margin:0}.pswp__caption a{color:inherit}.pswp__caption a:hover{color:var(--text-800)}