@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/Inter-Regular.woff2?v=3.19") format("woff2"),url("/fonts/Inter-Regular.woff?v=3.19") format("woff")}@font-face{font-family:'Inter';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/Inter-Italic.woff2?v=3.19") format("woff2"),url("/fonts/Inter-Italic.woff?v=3.19") format("woff")}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/Inter-SemiBold.woff2?v=3.19") format("woff2"),url("/fonts/Inter-SemiBold.woff?v=3.19") format("woff")}@font-face{font-family:'Inter';font-style:italic;font-weight:600;font-display:swap;src:url("/fonts/Inter-SemiBoldItalic.woff2?v=3.19") format("woff2"),url("/fonts/Inter-SemiBoldItalic.woff?v=3.19") format("woff")}@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/Inter-ExtraBold.woff2?v=3.19") format("woff2"),url("/fonts/Inter-ExtraBold.woff?v=3.19") format("woff")}:root{--white: #fff;--light-grey-1: #F5F7FA;--light-grey-2: #E4E7EB;--light-grey-3: #CBD2D9;--light-grey-4: #9AA5B1;--light-grey-5: #131920;--grey-1: #616E7C;--grey-2: #52606D;--grey-3: #3E4C59;--grey-4: #323F4B;--grey-5: #1F2933;--light-indigo-1: #E0E8F9;--light-indigo-2: #BED0F7;--light-indigo-3: #98AEEB;--light-indigo-4: #7B93DB;--light-indigo-5: #647ACB;--indigo-1: #4C63B6;--indigo-2: #4055A8;--indigo-3: #35469C;--indigo-4: #2D3A8C;--indigo-5: #19216C;--light-red-1: #FFE3E3;--light-red-2: #FFBDBD;--light-red-3: #FF9B9B;--light-red-4: #F86A6A;--light-red-5: #EF4E4E;--red-1: #E12D39;--red-2: #CF1124;--red-3: #AB091E;--red-4: #8A041A;--red-5: #610316;--light-magenta-1: #FDEBFF;--light-magenta-2: #F8C4FE;--light-magenta-3: #F48FFF;--light-magenta-4: #F368FC;--light-magenta-5: #ED47ED;--magenta-1: #E019D0;--magenta-2: #CB10B8;--magenta-3: #B30BA3;--magenta-4: #960888;--magenta-5: #6E0560;--light-yellow-1: #FFFBEA;--light-yellow-2: #FFF3C4;--light-yellow-3: #FCE588;--light-yellow-4: #FADB5F;--light-yellow-5: #F7C948;--yellow-1: #F0B429;--yellow-2: #DE911D;--yellow-3: #CB6E17;--yellow-4: #B44D12;--yellow-5: #8D2B0B;--light-green-1: #E3F9E5;--light-green-2: #C1F2C7;--light-green-3: #91E697;--light-green-4: #51CA58;--light-green-5: #31B237;--green-1: #18981D;--green-2: #0F8613;--green-3: #0E7817;--green-4: #07600E;--green-5: #014807;--spacing-2xs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 128px;--text-2xs: 10px;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--background-color: var(--white);--background-color-accent-1: var(--light-grey-1);--background-color-accent-2: var(--light-grey-2);--dark: var(--grey-5);--light: var(--light-grey-1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;--font-family-monospace: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--text-color: var(--grey-5);--light-text-color: var(--grey-2);--disabled-text-color: var(--light-grey-4);--error-color: var(--light-red-4);--link-color: var(--indigo-1);--base-font-size: var(--text-md);--border-radius: 4px;--border-color: var(--light-grey-3);--border-color-light: var(--light-grey-2);--box-shadow: 0 1px 5px rgba(0, 0, 0, .2);--line-height: calc(1em + 0.725rem);--form-input-border-color: var(--light-grey-4);--button-bg: var(--indigo-1);--button-bg-hover: var(--light-indigo-4);--button-bg-secondary: var(--main-indigo);--button-color: var(--white);--button-border-radius: var(--border-radius);--button-padding: var(--spacing-xs) var(--spacing-md);--header-height: 60px;--header-padding: 0 var(--spacing-lg);--header-bg: var(--background-color-accent-2);--footer-bg: var(--light-grey-1);--footer-text-color: var(--light-text-color);--footer-padding: var(--spacing-xl) var(--spacing-lg);--max-content-width: 1025px}@media screen and (min-width: 600px){:root{--base-font-size: var(--text-md)}}@media (prefers-color-scheme: dark){:root{--dark: #181818;--light: var(--white);--white: #fafafa;--background-color: var(--dark);--background-color-accent-1: #202020;--background-color-accent-2: #383838;--text-color: var(--white);--light-text-color: #aaa;--disabled-text-color: #717171;--border-color: #383838;--border-color-light: #212121;--footer-bg: #202020;--footer-text-color: var(--light-text-color);--form-input-border-color: #383838;--link-color: var(--light-indigo-3);--button-bg: var(--yellow-4);--button-bg-hover: var(--yellow-2)}}*,*::before,*::after{box-sizing:border-box}*{margin:0}body{line-height:1.5}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}strong{font-weight:600}html,body{background-color:var(--background-color)}body{font-family:var(--font-family);color:var(--text-color);font-size:var(--base-font-size);font-weight:400}a{color:var(--link-color);text-decoration:underline;text-underline-offset:.2rem}p{margin-bottom:var(--spacing-lg);line-height:var(--line-height)}#root{margin:0 auto;max-width:var(--max-content-width);padding:0 var(--spacing-md);display:grid;gap:var(--spacing-lg);grid-template-areas:"header" "content" "footer";grid-template-rows:auto 1fr auto}@media screen and (min-width: 600px){#root{padding:0 var(--spacing-lg)}}.page-header{grid-area:header;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) 0}.page-header ul{margin:0;padding:0;list-style-type:none;display:flex}.page-header li{margin-right:var(--spacing-md);font-size:var(--text-sm)}@media screen and (min-width: 600px){.page-header li{margin-right:var(--spacing-lg);font-size:var(--text-md)}}.page-header li svg{fill:var(--light-text-color)}.page-header li:last-child{margin-right:0}.page-header a{text-decoration:none;color:var(--light-text-color);font-weight:600}.page-content{grid-area:content;padding:var(--spacing-lg) 0}.page-footer{grid-area:footer;padding:var(--spacing-xl) 0;font-size:var(--text-sm);color:var(--light-text-color)}@media screen and (min-width: 600px){.page-footer{display:flex;justify-content:space-between}}.page-footer ul{margin:0;padding:0;display:flex;list-style-type:none;margin-top:var(--spacing-sm)}@media screen and (min-width: 600px){.page-footer ul{margin-top:0}}.page-footer li{margin-left:var(--spacing-md)}.page-footer li:first-child{margin-left:0}.page-footer a{text-decoration:none;color:var(--light-text-color);font-weight:600}.home-section{margin-bottom:var(--spacing-2xl)}@media screen and (min-width: 600px){.home-section{margin-bottom:var(--spacing-4xl)}}#about p{margin-bottom:var(--spacing-sm)}.page__header{margin-bottom:var(--text-2xl)}.page__header h1{font-weight:800;font-size:var(--text-4xl);line-height:1.2;margin-bottom:var(--spacing-lg)}.page__content{max-width:700px}.posts{list-style-type:none;margin:0;padding:0}.posts__post{margin:0;padding:0;margin-bottom:var(--spacing-xl)}.posts__post-title{display:block;font-weight:bold;font-size:var(--text-lg);text-decoration:none;color:var(--text-color)}.posts__post-dek{margin-top:var(--spacing-2xs)}.posts__post-dek a{text-decoration:none;color:var(--light-text-color)}.posts__post-meta{margin-top:var(--spacing-2xs);color:var(--disabled-text-color);font-size:var(--text-xs)}.post{--max-width: 700px;margin:0 auto;min-width:0}.post__header,.post__toc,.post__footer,.post__body>*{max-width:var(--max-width);margin-left:auto !important;margin-right:auto !important}.post .gallery{max-width:100%}.post__header{margin-bottom:var(--spacing-2xl);text-align:center}.post__header h1{font-weight:800;font-size:var(--text-3xl);line-height:1.2;margin-bottom:var(--spacing-lg)}@media screen and (min-width: 600px){.post__header h1{font-size:var(--text-4xl)}}.post__header .post__dek{color:var(--light-text-color);font-size:var(--text-lg)}.post__footer{margin:var(--spacing-3xl) 0;text-align:center;color:var(--light-text-color);font-size:var(--text-sm)}.post__toc{background:var(--background-color-accent-1);padding:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);border-radius:6px}.post__toc h2{margin-top:0 !important;font-size:var(--text-sm);padding:0 6px;font-weight:600}.post__toc ul{list-style-type:none;margin:0 !important;padding:0 !important}.post__toc li{margin:0 !important;padding:0 !important;margin-top:2px !important}.post__toc li ul{margin-left:var(--spacing-lg) !important}.post__toc a{text-decoration:none;display:block;border-radius:6px;padding:2px 6px;font-size:var(--text-sm);color:var(--text-color)}.post__toc a:hover{background:var(--background-color-accent-2)}.post__side-note{border-left:4px var(--link-color) solid;background:var(--background-color-accent-1);padding:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);border-radius:4px;font-size:var(--text-sm)}.post__side-note .highlight pre{max-width:calc(100vw - var(--spacing-md) * 4 - 4px) !important}.post__body .twitter-tweet{margin-top:var(--spacing-xl) !important;margin-bottom:var(--spacing-xl) !important;text-align:center}.post__body ul,.post__body ol{margin:var(--spacing-lg) 0;padding:0;padding-left:var(--spacing-lg)}.post__body li{margin-bottom:var(--spacing-sm)}.post__body h2{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-xs)}.post__body h3{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xs)}.post__body h4{margin-bottom:var(--spacing-2xs)}.post__body hr{margin:var(--spacing-2xl) auto;border:none;border-top:1px solid var(--border-color);max-width:30%}.post__body blockquote{padding:0 var(--spacing-md);border-left:3px solid var(--light-indigo-2)}.post__body .highlight,.post__body .animated-code-container{font-size:var(--text-sm);margin-bottom:var(--spacing-lg);overflow:auto;position:relative}.post__body .highlight pre,.post__body .animated-code-container pre{padding:var(--spacing-sm);overflow-x:auto;max-height:600px}.post__body .highlight:last-child,.post__body .animated-code-container:last-child{margin-bottom:0}.post__body .highlight pre{max-width:calc(100vw - var(--spacing-md) * 2)}.post__body p:last-child{margin-bottom:0 !important}.post__body p>code,.post__body li>code,.post__body a>code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--background-color-accent-2);border-radius:6px}.post__body code,.post__body pre{font-family:var(--font-family-monospace);scrollbar-width:thin;scrollbar-color:#6a7078 #1d1f21}.post__body code::-webkit-scrollbar,.post__body pre::-webkit-scrollbar{width:12px;height:12px}.post__body code::-webkit-scrollbar-track,.post__body pre::-webkit-scrollbar-track{background:#1d1f21}.post__body code::-webkit-scrollbar-thumb,.post__body pre::-webkit-scrollbar-thumb{background-color:#6a7078;border-radius:20px;border:3px solid #1d1f21}.post__body code::-webkit-scrollbar-corner,.post__body pre::-webkit-scrollbar-corner{background-color:#1d1f21}.animated-code{position:relative;visibility:hidden;width:100%}.animation-frame{position:absolute;top:0;left:0;display:block}.animated-code-container{position:relative;min-height:1px;color:#CED1CF;background-color:#1d1f21;border-radius:6px}.post__author{color:var(--text-color);text-align:left;margin:var(--spacing-2xl) 0;padding:var(--spacing-lg) var(--spacing-md);background-color:var(--background-color-accent-1);border:1px solid var(--background-color-accent-2);border-radius:var(--border-radius);display:flex}.post__author div{margin-left:var(--spacing-md)}.post__author img{border-radius:50%}.post__author h4{margin-bottom:var(--spacing-xs)}.post__author p:last-child{margin-bottom:0 !important}.footnotes{font-size:var(--text-sm)}sup{line-height:0}sup a{text-decoration:none}figure{margin:var(--spacing-2xl) 0}figure.bleed{max-width:100% !important}figure img{display:block;height:auto}figure figcaption{margin:var(--spacing-md);color:var(--light-text-color);text-align:center;font-size:var(--text-sm)}.gallery{margin:var(--spacing-2xl) 0}.gallery .gallery__images{display:flex;flex-direction:row;gap:4px;justify-content:center}.gallery .gallery__images img{max-height:100%;min-width:100%;min-height:100%;width:auto;object-fit:cover;display:block}.bg{color:#CED1CF;background-color:#1d1f21}.chroma{color:#CED1CF;background-color:#1d1f21;border-radius:6px}.chroma .err{color:#960050;background-color:#1e0010}.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:#ffffcc}.chroma .lnt{white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .ln{white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .k{color:#B294BB}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#81A2BE}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .n{color:#81A2BE}.chroma .na{color:#81A2BE}.chroma .nb{color:#CC6666}.chroma .nc{color:#F0C674}.chroma .no{color:#F0C674}.chroma .nd{color:#81A2BE}.chroma .ne{color:#81A2BE}.chroma .nf{color:#81A2BE}.chroma .nx{color:#81A2BE}.chroma .nt{color:#F0C674}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#b5bd68}.chroma .sa{color:#b5bd68}.chroma .sb{color:#b5bd68}.chroma .sc{color:#b5bd68}.chroma .dl{color:#b5bd68}.chroma .sd{color:#b5bd68}.chroma .s2{color:#b5bd68}.chroma .se{color:#b5bd68}.chroma .sh{color:#b5bd68}.chroma .si{color:#b5bd68}.chroma .sx{color:#b5bd68}.chroma .sr{color:#b5bd68}.chroma .s1{color:#b5bd68}.chroma .ss{color:#de935f}.chroma .m{color:#de935f}.chroma .mb{color:#de935f}.chroma .mf{color:#de935f}.chroma .mh{color:#de935f}.chroma .mi{color:#de935f}.chroma .il{color:#de935f}.chroma .mo{color:#de935f}.chroma .o{color:#CED1CF}.chroma .ow{color:#f92672}.chroma .c{color:#969896}.chroma .ch{color:#969896}.chroma .cm{color:#969896}.chroma .c1{color:#969896}.chroma .cs{color:#969896}.chroma .cp{color:#969896}.chroma .cpf{color:#969896}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:bold}.chroma .gu{color:#75715e}/*! 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:0.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.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:0.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:0.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 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:none;border:0;box-shadow:none;opacity:0.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:0.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:none;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:0px}.pswp__button--arrow--next{right:0px}.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 0.2s linear;animation:pswp-clockwise 600ms linear infinite}.pswp__preloader--active .pswp__icn{opacity:0.85}@keyframes pswp-clockwise{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.pswp__counter{height:30px;margin:15px 0 0 20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:0.85}.pswp--one-slide .pswp__counter{display:none}

/*# sourceMappingURL=styles.css.map */