.breadcrumbs_container__9YH_S{position:relative;cursor:default;color:var(--text-global)}[data-theme=dark] .breadcrumbs_container__9YH_S{color:var(--text-global-dark)}.breadcrumbs_container__9YH_S nav{display:flex;justify-content:left;align-items:center;margin:0 0 0 auto}.breadcrumbs_container__9YH_S nav ol{display:flex;flex-flow:wrap;padding:0;margin:0;align-items:center;list-style-type:none}.breadcrumbs_container__9YH_S nav ol li,.breadcrumbs_container__9YH_S nav ol li:after,.breadcrumbs_container__9YH_S nav ol li>a{font-size:.825rem;line-height:1.125rem}.breadcrumbs_container__9YH_S nav ol li>a:hover{text-decoration:underline;color:#000}[data-theme=dark] .breadcrumbs_container__9YH_S nav ol li>a:hover{color:#fff}.breadcrumbs_container__9YH_S nav ol li:after{content:">";display:inline;margin:1rem}.breadcrumbs_container__9YH_S nav ol li:last-child:after{display:none}.breadcrumbs_skeleton__C0369{margin:0 auto;width:calc(var(--max-width) - 40px);height:18px;border-radius:var(--border-radius);animation:var(--colour-change)}[data-theme=dark] .breadcrumbs_skeleton__C0369{animation:var(--colour-change-dark)}@media only screen and (max-width:767.9px){.breadcrumbs_skeleton__C0369{width:calc(100% - 40px)}.breadcrumbs_container__9YH_S>nav>ol li{font-weight:600}.breadcrumbs_container__9YH_S>nav>ol li:last-child,.breadcrumbs_container__9YH_S>nav>ol li:nth-last-child(2):after{display:none}}@media only screen and (max-width:319.9px){.breadcrumbs_skeleton__C0369{width:calc(100% - 1.5rem)}}.contact_externalBold__J6WcH{font-weight:700}.contact_contact__ow4YV>h2{margin:1.5em 0 .75em}.contact_contact__ow4YV>h2>strong{font-weight:800}.contact_contact__ow4YV>p{font-size:1rem;line-height:1.5rem}.scroll-to-top_containerTransparent__o9rJT,.scroll-to-top_container__nIeJu{position:fixed;cursor:pointer;color:var(--gray-800);border-radius:50%;background-color:#fff;right:1rem;bottom:1rem;transition:opacity var(--transition-duration) var(--transition-timing-function);box-shadow:var(--shadow)}[data-theme=dark] .scroll-to-top_containerTransparent__o9rJT,[data-theme=dark] .scroll-to-top_container__nIeJu{box-shadow:var(--shadow-dark);color:var(--gray-200);background-color:#000}.scroll-to-top_containerTransparent__o9rJT{opacity:0}.scroll-to-top_containerTransparent__o9rJT>a>svg,.scroll-to-top_container__nIeJu>a,.scroll-to-top_container__nIeJu>a>svg{display:block}.scroll-to-top_containerTransparent__o9rJT>a>svg,.scroll-to-top_container__nIeJu>a>svg{padding:.5rem}.scroll-to-top_container__nIeJu:hover{box-shadow:var(--shadow-dark)}[data-theme=dark] .scroll-to-top_container__nIeJu:hover{box-shadow:var(--shadow)}

/*! 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,.4);--pswp-preloader-color-secondary:hsla(0,0%,100%,.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);position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp,.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__bg,.pswp__container,.pswp__content,.pswp__img,.pswp__item,.pswp__scroll-wrap,.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:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__button,.pswp__container,.pswp__counter,.pswp__img{-webkit-user-select:none;-moz-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:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:active,.pswp__button:focus,.pswp__button:hover{transition:none;padding:0;background:none;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);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}.pswp__img--with-bg,div.pswp__img--placeholder{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:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-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 .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.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}.zoom-image_skeleton__tPG1E{height:18px;border-radius:var(--border-radius);animation:var(--colour-change)}[data-theme=dark] .zoom-image_skeleton__tPG1E{animation:var(--colour-change-dark)}.zoom-image_image__Ud9AE{max-width:100%}.tag_tagUnknown__I15l7,.tag_tag__MiUoq{font-family:var(--font-sans);display:inline-block;font-size:.825rem;line-height:1.5rem;padding:0 .7rem;white-space:nowrap;font-weight:500;border-radius:1rem;text-align:center;max-width:100%}[data-theme=dark] .tag_tagUnknown__I15l7,[data-theme=dark] .tag_tag__MiUoq{color:#fff}.tag_tag__MiUoq{color:var(--blue-300);background-color:var(--blue-100)}[data-theme=dark] .tag_tag__MiUoq{background-color:var(--blue-600)}.tag_tagUnknown__I15l7{color:var(--black-400);background-color:var(--gray-200)}[data-theme=dark] .tag_tagUnknown__I15l7{background-color:var(--gray-800)}.tag_tagUnknown__I15l7:hover,.tag_tag__MiUoq:hover{color:#fff}.tag_tag__MiUoq:hover{background-color:var(--blue-300)}[data-theme=dark] .tag_tag__MiUoq:hover{color:var(--blue-300);background-color:var(--blue-100)}.tag_tagUnknown__I15l7:hover{background-color:var(--black-400)}[data-theme=dark] .tag_tagUnknown__I15l7:hover{color:var(--black-400);background-color:var(--gray-200)}.card-blog-mini_layout__4KJAK{display:flex;flex-direction:column;overflow:hidden}.card-blog-mini_field__cj5yg{font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;margin:0;color:var(--blue-300)}[data-theme=dark] .card-blog-mini_field__cj5yg{color:var(--blue-200)}.card-blog-mini_layout__4KJAK h3{font-size:1.25rem;line-height:1.5rem;margin:.75rem 0 0;width:-moz-fit-content;width:fit-content}.card-blog-mini_description___9E1r{-webkit-hyphens:auto;hyphens:auto;letter-spacing:.05em;margin:.75rem 0 0;font-size:.875rem;line-height:1.25rem}.card-blog-mini_description___9E1r,.card-blog-mini_layout__4KJAK h3{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.card-blog-mini_tech__eIhiJ{margin-top:1rem}.card-blog-mini_tech__eIhiJ ul{display:flex;flex-direction:row;padding:0;margin:0;align-items:center}.card-blog-mini_tech__eIhiJ ul li svg{display:block;fill:currentColor;font-size:1rem;line-height:1.5rem}.card-blog-mini_tech__eIhiJ ul li:not(:first-of-type){margin-left:.5rem}.card-blog-mini_tech__eIhiJ a:hover svg{fill:#000}[data-theme=dark] .card-blog-mini_tech__eIhiJ a:hover svg{fill:#fff}.card-blog-mini_tech__eIhiJ a:hover{text-decoration:none;color:#000}[data-theme=dark] .card-blog-mini_tech__eIhiJ a:hover{color:#fff}.card-blog-mini_vyper__kgzoo{display:block;font-size:1.125rem;line-height:1.125rem;font-weight:700;cursor:default}.card-blog-mini_date__Fuqep{font-size:.825rem;line-height:1.125rem;margin-top:.75rem;color:var(--gray-700)}[data-theme=dark] .card-blog-mini_date__Fuqep{color:var(--gray-600)}.card-blog-mini_layout__4KJAK h3>a:hover{color:var(--blue-300)}[data-theme=dark] .card-blog-mini_layout__4KJAK h3>a:hover{color:var(--blue-150)}.card-projects_layout__Dsgtx{display:flex;flex-direction:column;overflow:hidden;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow);height:auto}[data-theme=dark] .card-projects_layout__Dsgtx{box-shadow:var(--shadow-dark);background-color:var(--black-600)}.card-projects_imgWrapper__XVIAL{position:relative;border-radius:var(--border-radius) var(--border-radius) 0 0;height:15rem;overflow:hidden;display:flex;justify-content:center;align-items:center}.card-projects_imgWrapper__XVIAL>img{transform:scale(.55);border-radius:var(--border-radius) var(--border-radius) 0 0;-o-object-position:center;object-position:center;transition:transform 1s cubic-bezier(.165,.84,.44,1)}.card-projects_description__veF0P{letter-spacing:.05em;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;height:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.card-projects_description__veF0P h2{font-size:1.25rem;line-height:1.75rem;margin:0;width:-moz-fit-content;width:fit-content}.card-projects_description__veF0P p{font-size:.875rem;line-height:1.25rem;margin:1rem 0 0}.card-projects_view__RPCpl{font-size:.875rem;line-height:1.25rem;margin-top:1.5rem;display:flex;flex-direction:row;align-items:center;width:-moz-fit-content;width:fit-content;color:var(--blue-300)}[data-theme=dark] .card-projects_view__RPCpl{color:var(--blue-200)}.card-projects_view__RPCpl>svg{fill:currentColor;margin-left:.4em;display:block}.card-projects_imgWrapper__XVIAL>img:hover{transform:scale(.65)}.card-projects_view__RPCpl:hover{color:var(--blue-200)}[data-theme=dark] .card-projects_view__RPCpl:hover{color:var(--blue-150)}.card-projects_description__veF0P h2>a:hover{color:var(--blue-300)}[data-theme=dark] .card-projects_description__veF0P h2>a:hover{color:var(--blue-150)}@media only screen and (max-width:639.9px){.card-projects_imgWrapper__XVIAL>img{transform:scale(.6)}.card-projects_imgWrapper__XVIAL>img:hover{transform:scale(.7)}}@media only screen and (max-width:424.9px){.card-projects_imgWrapper__XVIAL>img{transform:scale(.55)}.card-projects_imgWrapper__XVIAL>img:hover{transform:scale(.6)}}.section_layoutBlog___L_H9{margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;grid-auto-rows:1fr}.section_layoutProjects__iDU7X{margin-top:2rem;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;grid-auto-rows:1fr}.section_layoutTags__3kGsN{margin-top:2rem}.section_layoutTags__3kGsN>ul{width:100%;margin:0;padding:0;display:flex;flex-flow:row wrap;align-items:center;justify-content:center}.section_layoutTags__3kGsN>ul>li{margin:0 .2rem .3rem}.section_link__7L34n:hover{color:var(--blue-300)}[data-theme=dark] .section_link__7L34n:hover{color:var(--blue-150)}@media only screen and (max-width:1023.9px){.section_layoutTags__3kGsN>ul>li{margin:0 .25rem .6rem}}@media only screen and (max-width:767.9px){.section_layoutBlog___L_H9{grid-template-columns:repeat(2,1fr)}}@media only screen and (max-width:639.9px){.section_layoutProjects__iDU7X{display:flex;flex-direction:column;gap:initial}.section_layoutProjects__iDU7X>div:not(:first-of-type){margin-top:1rem}}@media only screen and (max-width:424.9px){.section_layoutBlog___L_H9{display:flex;flex-direction:column;gap:initial}.section_layoutBlog___L_H9>div:not(:first-of-type){margin-top:2rem}}.blog-post_container__7p3WG{max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column}.blog-post_intro__6pe_0{margin-top:.25rem}.blog-post_intro__6pe_0>p{margin:1.25rem 0 0}.blog-post_intro__6pe_0>blockquote{margin:1.25rem .75em 0}.blog-post_contact__NmxqV>p,.blog-post_intro__6pe_0 li,.blog-post_intro__6pe_0 p,.blog-post_mdx__uWIFQ li,.blog-post_mdx__uWIFQ p,.blog-post_toc__BvsuQ li{line-height:1.75;letter-spacing:.05em}.blog-post_mdx__uWIFQ>p{margin:1.25rem 0}.blog-post_title__t2mHz{font-size:3rem;line-height:1;margin:1.25em 0 0;text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.blog-post_imgWrapper__j8_g7 img,.blog-post_mdx__uWIFQ img{border-radius:var(--border-radius)}.blog-post_intro__6pe_0,.blog-post_mdx__uWIFQ{width:100%}.blog-post_intro__6pe_0 code,.blog-post_intro__6pe_0 p,.blog-post_mdx__uWIFQ code,.blog-post_mdx__uWIFQ p{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.blog-post_intro__6pe_0 p,.blog-post_mdx__uWIFQ p{word-break:break-word}.blog-post_intro__6pe_0 code,.blog-post_mdx__uWIFQ code{word-break:break-all}.blog-post_contact__NmxqV>h2,.blog-post_mdx__uWIFQ>h1,.blog-post_mdx__uWIFQ>h2,.blog-post_related__vju38>h2,.blog-post_toc__BvsuQ>h2{margin:1.5em 0 .75em}.blog-post_mdx__uWIFQ>h3,.blog-post_mdx__uWIFQ>h4,.blog-post_mdx__uWIFQ>h5{margin:2.5rem 0 1.25rem}.blog-post_mdx__uWIFQ>h2,.blog-post_related__vju38>h2,.blog-post_toc__BvsuQ>h2{letter-spacing:0}.blog-post_contact__NmxqV>h2>strong{font-weight:800}.blog-post_container__7p3WG blockquote>p>code,.blog-post_intro__6pe_0 code,.blog-post_mdx__uWIFQ>div>p code,.blog-post_mdx__uWIFQ>h1 code,.blog-post_mdx__uWIFQ>h2 code,.blog-post_mdx__uWIFQ>h3 code,.blog-post_mdx__uWIFQ>h4 code,.blog-post_mdx__uWIFQ>h5 code,.blog-post_mdx__uWIFQ>ol li>code,.blog-post_mdx__uWIFQ>ol li>p>code,.blog-post_mdx__uWIFQ>p code,.blog-post_mdx__uWIFQ>ul li>code,.blog-post_mdx__uWIFQ>ul li>p>code{color:#24292e;background-color:var(--gray-150);font-size:.8rem;line-height:1.6;padding:.2em .3em;border-radius:var(--border-radius);border:1px solid var(--gray-150)}[data-theme=dark] .blog-post_container__7p3WG blockquote>p>code,[data-theme=dark] .blog-post_intro__6pe_0 code,[data-theme=dark] .blog-post_mdx__uWIFQ>div>p code,[data-theme=dark] .blog-post_mdx__uWIFQ>h1 code,[data-theme=dark] .blog-post_mdx__uWIFQ>h2 code,[data-theme=dark] .blog-post_mdx__uWIFQ>h3 code,[data-theme=dark] .blog-post_mdx__uWIFQ>h4 code,[data-theme=dark] .blog-post_mdx__uWIFQ>h5 code,[data-theme=dark] .blog-post_mdx__uWIFQ>ol li>code,[data-theme=dark] .blog-post_mdx__uWIFQ>ol li>p>code,[data-theme=dark] .blog-post_mdx__uWIFQ>p code,[data-theme=dark] .blog-post_mdx__uWIFQ>ul li>code,[data-theme=dark] .blog-post_mdx__uWIFQ>ul li>p>code{border-color:var(--black-400);color:#adbac7;background-color:#171a1f}.blog-post_intro__6pe_0>pre>code,.blog-post_mdx__uWIFQ>pre>code{color:#24292e;background-color:var(--gray-150);font-size:.8rem;line-height:1.6;padding:.5rem .7rem;border-radius:var(--border-radius);border:1px solid var(--gray-150)}[data-theme=dark] .blog-post_intro__6pe_0>pre>code,[data-theme=dark] .blog-post_mdx__uWIFQ>pre>code{border-color:var(--black-400);color:#adbac7;background-color:#171a1f}.blog-post_container__7p3WG pre>code:not(.blog-post_container__7p3WG figure>pre>code){display:block;overflow:auto}.blog-post_container__7p3WG blockquote{padding:.5em .75em;background-color:var(--blue-050);border-radius:var(--border-radius);border-left:4px solid var(--blue-300)}[data-theme=dark] .blog-post_container__7p3WG blockquote{background-color:var(--black-300);border-left-color:var(--gray-800)}.blog-post_mdx__uWIFQ blockquote{margin:1.25em .75em}.blog-post_meta__5OgbE{font-size:.825rem;line-height:1.125rem;margin-top:1.5rem;display:flex;flex-flow:row wrap;align-items:center;text-align:left;justify-content:space-between}.blog-post_imgWrapper__j8_g7{width:100%;margin:1.5rem auto 0;display:flex;justify-content:center;align-items:center}.blog-post_imgWrapper__j8_g7>img{cursor:zoom-in;height:auto;-o-object-fit:contain;object-fit:contain}.blog-post_layoutColabGithub__EJARa{margin-top:1.5rem;display:flex;flex-flow:row wrap;align-items:center;text-align:left}.blog-post_layoutColabGithub__EJARa>div{margin-bottom:.75rem}.blog-post_layoutColabGithub__EJARa>div>a{display:flex;flex-direction:row;align-items:center;color:var(--text-global)}[data-theme=dark] .blog-post_layoutColabGithub__EJARa>div>a{color:var(--text-global-dark)}.blog-post_layoutColabGithub__EJARa>div>a>svg{font-size:.65rem;margin-left:.25rem}.blog-post_layoutColabGithub__EJARa>div>a>span{font-size:.825rem;line-height:1.125rem;display:flex;flex-direction:row;align-items:center;margin:0;padding:0;border:0;font-family:var(--font-mono);letter-spacing:-.02em;font-weight:500}.blog-post_layoutColabGithub__EJARa>div>a>span>svg{font-size:1rem;margin-right:.5rem;display:inline-block;fill:currentColor}[data-theme=dark] .blog-post_layoutColabGithub__EJARa>div>a>span>svg{fill:currentColor}.blog-post_layoutColabGithub__EJARa>div:not(:last-of-type){margin-right:1.5rem}.blog-post_meta__5OgbE>span:not(:last-of-type){margin-right:1rem}.blog-post_intro__6pe_0 ol,.blog-post_intro__6pe_0 ul,.blog-post_mdx__uWIFQ ol,.blog-post_mdx__uWIFQ ul{padding-left:1.6rem;margin:0}.blog-post_intro__6pe_0 ul,.blog-post_mdx__uWIFQ ul{list-style-type:disc}.blog-post_intro__6pe_0 ol>li::marker,.blog-post_mdx__uWIFQ ol>li::marker{letter-spacing:0}.blog-post_intro__6pe_0 ul>li::marker,.blog-post_mdx__uWIFQ ul>li::marker,.blog-post_mdx__uWIFQ>ul>li>ul>li::marker,.blog-post_toc__BvsuQ>nav>ul li::marker{color:var(--gray-300)}[data-theme=dark] .blog-post_intro__6pe_0 ul>li::marker,[data-theme=dark] .blog-post_mdx__uWIFQ ul>li::marker,[data-theme=dark] .blog-post_mdx__uWIFQ>ul>li>ul>li::marker,[data-theme=dark] .blog-post_toc__BvsuQ>nav>ul li::marker{color:var(--gray-600)}.blog-post_tocAsideTransparent__RKjzv,.blog-post_tocAside__XWYSY{transition:opacity var(--transition-duration) var(--transition-timing-function);position:fixed;width:14rem;max-height:calc(100vh - 8rem);top:3rem;left:calc(50vw + 400px);overflow:auto}.blog-post_tocAside__XWYSY{opacity:.45}.blog-post_tocAsideTransparent__RKjzv{opacity:0}.blog-post_tags__TzMJV{margin-top:.75rem}.blog-post_tags__TzMJV>ul{margin:0;padding:0;display:flex;flex-flow:row wrap;list-style-type:none}.blog-post_intro__6pe_0 li,.blog-post_mdx__uWIFQ li{margin:1rem 0}.blog-post_tags__TzMJV>ul>li{margin:0 .75rem 0 0}.blog-post_tags__TzMJV>ul>li>div>a{font-weight:500;font-size:.875rem;line-height:1.9;color:var(--blue-300)}[data-theme=dark] .blog-post_tags__TzMJV>ul>li>div>a{color:var(--blue-200)}.blog-post_toc__BvsuQ>nav>ul>li>a{font-size:1rem;line-height:1.5rem;letter-spacing:.05em;font-weight:600}.blog-post_tocAsideTransparent__RKjzv>h2,.blog-post_tocAsideTransparent__RKjzv>nav>ul li,.blog-post_tocAside__XWYSY>h2,.blog-post_tocAside__XWYSY>nav>ul li{font-size:.825rem;line-height:1.125rem}.blog-post_tocAsideTransparent__RKjzv>h2,.blog-post_tocAside__XWYSY>h2{margin:0;padding:0 .5rem .3rem calc(1rem + 3px)}.blog-post_tocAsideTransparent__RKjzv>nav ul,.blog-post_tocAside__XWYSY>nav ul{padding:0;list-style-type:none;margin:0}.blog-post_tocAsideTransparent__RKjzv>nav>ul li,.blog-post_tocAside__XWYSY>nav>ul li{margin:0}.blog-post_toc__BvsuQ>nav ul{padding-left:1.5rem;margin:0}.blog-post_toc__BvsuQ>nav>ul{list-style-type:disc}.blog-post_mdx__uWIFQ>ul>li>ul{list-style-type:circle}.blog-post_toc__BvsuQ>nav>ul>li>ul{list-style-type:none}.blog-post_intro__6pe_0,.blog-post_mdx__uWIFQ,.blog-post_tocAside__XWYSY>nav>ul li>a,.blog-post_toc__BvsuQ>nav>ul li>a{color:var(--text-article)}[data-theme=dark] .blog-post_intro__6pe_0,[data-theme=dark] .blog-post_mdx__uWIFQ,[data-theme=dark] .blog-post_tocAside__XWYSY>nav>ul li>a,[data-theme=dark] .blog-post_toc__BvsuQ>nav>ul li>a{color:var(--text-article-dark)}.blog-post_tocAsideTransparent__RKjzv>nav>ul li>a,.blog-post_tocAside__XWYSY>nav>ul li>a{display:block;border-radius:0 var(--border-radius) var(--border-radius) 0;border-left:3px solid var(--gray-100)}[data-theme=dark] .blog-post_tocAsideTransparent__RKjzv>nav>ul li>a,[data-theme=dark] .blog-post_tocAside__XWYSY>nav>ul li>a{border-color:var(--black-500)}.blog-post_tocAsideTransparent__RKjzv>nav>ul>li>a,.blog-post_tocAside__XWYSY>nav>ul>li>a{padding:.3rem .5rem .3rem 1rem}.blog-post_tocAsideTransparent__RKjzv>nav>ul>li>ul>li>a,.blog-post_tocAside__XWYSY>nav>ul>li>ul>li>a{padding:.3rem .5rem .3rem 2rem}.blog-post_toc__BvsuQ>nav>ul>li:not(:first-of-type),.blog-post_toc__BvsuQ>nav>ul>li>ul>li{margin-top:.75rem}.blog-post_tags__TzMJV a:active{color:#000}[data-theme=dark] .blog-post_tags__TzMJV a:active{color:#fff}.blog-post_tags__TzMJV a:visited{color:var(--magenta-300)}[data-theme=dark] .blog-post_tags__TzMJV a:visited{color:var(--magenta-200)}.blog-post_tags__TzMJV a:hover{padding-bottom:1px;border-bottom-color:inherit;border-bottom-style:solid;border-bottom-width:1px}.blog-post_layoutColabGithub__EJARa>div>a:visited{color:var(--text-global)}[data-theme=dark] .blog-post_layoutColabGithub__EJARa>div>a:visited{color:var(--text-global-dark)}.blog-post_layoutColabGithub__EJARa>div>a:hover{color:#000}[data-theme=dark] .blog-post_layoutColabGithub__EJARa>div>a:hover{color:#fff}.blog-post_tocAside__XWYSY:hover{opacity:.9}.blog-post_tocAside__XWYSY>nav ul>li>a:hover{background-color:var(--gray-150);color:var(--text-article);text-decoration:none;border-left-color:var(--gray-400)}[data-theme=dark] .blog-post_tocAside__XWYSY>nav ul>li>a:hover{color:var(--text-article-dark);background-color:var(--black-300);border-left-color:var(--gray-800)}.blog-post_toc__BvsuQ{display:none}@media only screen and (max-width:1279.9px){.blog-post_tocAside__XWYSY{display:none}.blog-post_toc__BvsuQ{display:inline;display:initial}}@media only screen and (max-width:1023.9px){.blog-post_tags__TzMJV>ul>li{margin-bottom:.25rem}.blog-post_toc__BvsuQ>nav>ul>li:not(:first-of-type),.blog-post_toc__BvsuQ>nav>ul>li>ul>li{margin-top:1rem}}@media only screen and (max-width:767.9px){.blog-post_title__t2mHz{font-size:2.25rem;line-height:2.5rem}.blog-post_layout__mw8rG{display:flex;flex-direction:column}.blog-post_hr__wwpp1{margin-top:3rem}}@media only screen and (max-width:639.9px){.blog-post_mdx__uWIFQ blockquote{margin:1.25em 0}}@media only screen and (max-width:319.9px){.blog-post_title__t2mHz{font-size:1.875rem;line-height:2.25rem}}.loading_container__QlQsI{display:flex;align-items:center;justify-content:center;height:80svh}.loading_container__QlQsI>p{font-size:1.5rem;line-height:2rem;font-weight:400}.cell-out_cellOut__fEOOs{margin-top:-.5rem;margin-bottom:1.25rem}.cell-out_cellOut__fEOOs pre{border:0!important;margin-top:0;padding-top:0}.cell-out_cellOut__fEOOs code{overflow:auto;display:block;padding-left:0;font-size:.825rem;line-height:1.5}.cell-out_cellOut__fEOOs code,.cell-out_cellOut__fEOOs pre{font-family:var(--font-mono);border-radius:0;box-shadow:none}.cell-out_cellOut__fEOOs code,.cell-out_cellOut__fEOOs pre,.cell-out_cellOut__fEOOs pre code{background-color:transparent}.cell-out_cellOut__fEOOs pre code>span:hover{background-color:transparent;background-color:initial}.data-frame_dataframe__zGtxU{font-family:var(--font-mono);border-collapse:collapse;border-spacing:0;border:none;table-layout:fixed;margin:1.25rem auto;display:block;overflow:auto}.data-frame_dataframe__zGtxU thead{vertical-align:bottom}[data-theme=dark] .data-frame_dataframe__zGtxU thead{border-color:var(--gray-800)}.data-frame_dataframe__zGtxU td,.data-frame_dataframe__zGtxU th,.data-frame_dataframe__zGtxU tr{vertical-align:middle;line-height:normal;white-space:normal;max-width:none;border:none}.data-frame_dataframe__zGtxU td,.data-frame_dataframe__zGtxU th{padding:.3em .5em}.data-frame_dataframe__zGtxU th{font-weight:500;font-size:.6rem;color:var(--gray-700)}[data-theme=dark] .data-frame_dataframe__zGtxU th{color:var(--gray-400)}.data-frame_dataframe__zGtxU td{font-size:.7rem;color:var(--black-400)}[data-theme=dark] .data-frame_dataframe__zGtxU td{color:var(--gray-200)}.data-frame_dataframe__zGtxU tbody tr:nth-child(odd){background:#fff}[data-theme=dark] .data-frame_dataframe__zGtxU tbody tr:nth-child(odd){background:var(--black-400)}.data-frame_dataframe__zGtxU tbody tr:nth-child(2n){background:var(--gray-100)}[data-theme=dark] .data-frame_dataframe__zGtxU tbody tr:nth-child(2n){background:var(--black-200)}.data-frame_dataframe__zGtxU table{margin-bottom:1em}.data-frame_dataframe__zGtxU :last-child{margin:0}.data-frame_dataframe__zGtxU tbody tr:hover{background-color:var(--gray-200)}[data-theme=dark] .data-frame_dataframe__zGtxU tbody tr:hover{background-color:var(--black-500)}.data-frame_dataframe__zGtxU .table-selected,.data-frame_dataframe__zGtxU .table-selected>p{color:var(--blue-300);font-weight:800}[data-theme=dark] .data-frame_dataframe__zGtxU .table-selected,[data-theme=dark] .data-frame_dataframe__zGtxU .table-selected>p{color:var(--blue-200)}