.container[data-astro-cid-ap6mcnip]{box-sizing:border-box;width:100%;margin:0 auto;padding:0 2rem}@media (width<40rem){.container[data-astro-cid-ap6mcnip]{padding:0 1.5rem}}.navbar[data-astro-cid-l7arcky5]{z-index:100;background-color:#22252f80;padding:0;transition:background-color .1s,box-shadow .1s;position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px #0000}.navbar[data-astro-cid-l7arcky5].scrolled{background-color:#22252ff2;box-shadow:0 0 10px #0000001a}.navbar-inner[data-astro-cid-l7arcky5]{justify-content:space-between;align-items:center;display:flex}.navbar-inner[data-astro-cid-l7arcky5] img{display:block}.navbar-inner[data-astro-cid-l7arcky5] a:hover img{filter:brightness(1.5)saturate(0)}.navbar-inner[data-astro-cid-l7arcky5] ul[data-astro-cid-l7arcky5]{margin:0;padding:0;list-style:none;display:flex}.navbar-inner[data-astro-cid-l7arcky5] ul[data-astro-cid-l7arcky5] a[data-astro-cid-l7arcky5]{color:var(--color-foreground-muted-2);padding:.75rem .5rem;font-size:1.25rem;font-weight:500;text-decoration:none;display:block}.navbar-inner[data-astro-cid-l7arcky5] ul[data-astro-cid-l7arcky5] a[data-astro-cid-l7arcky5]:hover{color:var(--color-foreground)}:root{--color-foreground:#fff;--color-foreground-muted-1:#d6dde7;--color-foreground-muted-2:#bfc1c9;--color-foreground-muted-3:#898a98;--color-foreground-inverted:#252732;--color-background-upper:#272c3d;--color-background-lower:#1b1d25;--color-link:#82aaff;--color-brand:#ffb49c;--color-accent-1:#7cdeb5;--color-accent-1-lighter:hsl(from var(--color-accent-1) h s calc(l + 10));--color-accent-1-darker:hsl(from var(--color-accent-1) h s calc(l - 10));--color-accent-2:#b8a4ff;--color-accent-2-lighter:hsl(from var(--color-accent-2) h s calc(l + 10));--color-accent-2-darker:hsl(from var(--color-accent-2) h s calc(l - 10));--color-accent-3:#ff96a7;--color-accent-3-lighter:hsl(from var(--color-accent-3) h s calc(l + 10));--color-accent-3-darker:hsl(from var(--color-accent-3) h s calc(l - 10));--color-accent-4:#f3d68c;--color-accent-4-lighter:hsl(from var(--color-accent-4) h s calc(l + 10));--color-accent-4-darker:hsl(from var(--color-accent-4) h s calc(l - 10));--color-overlay-light:#ffffff14}@font-face{font-family:Saira;font-style:normal;font-weight:400 700;font-stretch:100% 125%;font-display:swap;src:local(Saira),url(/fonts/Saira.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:local(JetBrains Mono),url(/fonts/JetBrainsMono.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{margin:0}body{font-optical-sizing:auto;font-variation-settings:"wdth" 100;min-height:100vh;color:var(--color-foreground);background-color:#1b1b24;font-family:Saira,sans-serif;font-style:normal;font-weight:400;position:relative}body.with-gradient{background:linear-gradient(145deg, var(--color-background-upper), var(--color-background-lower))}.backdrops[data-astro-cid-ju4pidww] div[data-astro-cid-ju4pidww]{z-index:-1;width:100%;position:absolute;top:0;bottom:0}.backdrops__shapes-top[data-astro-cid-ju4pidww]{opacity:.65;background-position:top;background-repeat:no-repeat;background-size:100%}.backdrops__shapes-bottom[data-astro-cid-ju4pidww]{opacity:.65;background-position:bottom;background-repeat:no-repeat;background-size:100%}.backdrops__noise[data-astro-cid-ju4pidww]{opacity:.08;background-position:top;background-repeat:repeat;background-size:2048px}.page[data-astro-cid-ju4pidww]{padding-bottom:2rem}.expressive-code{--ec-frm-trmTtbBg:#232734;--ec-frm-edTabBarBg:#232734;--ec-frm-edActTabIndBtmCol:var(--color-accent-4);margin:1.2em 0}.expressive-code figure.frame{--header-border-radius:.3em;box-shadow:none}.expressive-code figure.frame .copy{--ec-frm-tooltipSuccessBg:var(--color-accent-1);--ec-frm-tooltipSuccessFg:var(--color-foreground-inverted)}.expressive-code figure.frame .copy button:before{border:none}.expressive-code pre code .code span{font-style:normal}hr{background:var(--color-overlay-light);border:0;border-radius:2px;height:4px;margin:2rem 0}h1,h2,h3{font-variation-settings:"wdth" 125;font-weight:600}strong{font-weight:600}ul li{margin:.25rem 0}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mt-4{margin-top:4rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mb-4{margin-bottom:4rem}blockquote{background-color:#00000026;border-radius:0 1rem 1rem 0;margin:0;padding:.15rem 1.5rem .15rem calc(1.5rem + 4px);position:relative}blockquote:before{content:"";background:linear-gradient(#ffaa87,#ffcaa9 50%,#ff8d87 100%);width:4px;height:100%;display:block;position:absolute;top:0;left:0}.text-center{text-align:center}.text-right{text-align:right}.text-muted-1{color:var(--color-foreground-muted-1)}.text-muted-2{color:var(--color-foreground-muted-2)}a{color:var(--color-link);text-decoration:underline solid var(--color-overlay-light);text-underline-offset:4px;text-decoration-thickness:2px}a:hover{color:var(--color-foreground);text-decoration-color:var(--color-foreground)}a.accent-1{color:var(--color-accent-1)}a.accent-1:hover{color:var(--color-foreground)}a.accent-2{color:var(--color-accent-2)}a.accent-2:hover{color:var(--color-foreground)}a.accent-3{color:var(--color-accent-3)}a.accent-3:hover{color:var(--color-foreground)}a.accent-4{color:var(--color-accent-4)}a.accent-4:hover{color:var(--color-foreground)}.badge{background-color:var(--color-brand);color:var(--color-foreground-inverted);border-radius:.25rem;padding:0 .5rem;font-weight:500;display:inline-block}.posts{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}.posts .card-header{flex-direction:row-reverse;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.posts .card-header .card-header-title{flex:1;margin:0!important;font-size:1.4rem!important}.tags{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.tags li{margin:0}.tags li a{color:var(--color-brand);font-size:1.1rem;font-weight:500;text-decoration:none;display:inline-block}.tags li a:hover{color:inherit}.tags.accent-1 li a{color:var(--color-accent-1)}.tags.accent-1 li a:hover{color:inherit}.tags.accent-2 li a{color:var(--color-accent-2)}.tags.accent-2 li a:hover{color:inherit}.tags.accent-3 li a{color:var(--color-accent-3)}.tags.accent-3 li a:hover{color:inherit}.tags.accent-4 li a{color:var(--color-accent-4)}.tags.accent-4 li a:hover{color:inherit}ul.pills{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:2rem 0;padding:0;list-style:none;display:flex}ul.pills li{gap:2px;font-size:1rem;font-weight:500;display:flex}ul.pills li.accent-1 span:last-child{color:var(--color-accent-1)}ul.pills li.accent-2 span:last-child{color:var(--color-accent-2)}ul.pills li.accent-3 span:last-child{color:var(--color-accent-3)}ul.pills li.accent-4 span:last-child{color:var(--color-accent-4)}ul.pills li span:first-child{background:var(--color-overlay-light);border-top-left-radius:1rem;border-bottom-left-radius:1rem;padding:.2rem .75rem .2rem 1rem}ul.pills li span:last-child{background:var(--color-overlay-light);color:var(--color-foreground-muted-2);border-top-right-radius:1rem;border-bottom-right-radius:1rem;padding:.2rem 1rem .2rem .75rem}ul.pills li span:last-child a{text-decoration:none}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.caption{text-align:center;color:var(--color-foreground-muted-2);margin:1rem 0 2rem;font-size:.9em;font-style:italic}table{border-collapse:collapse;width:100%}table th,table td{border:1px solid var(--color-overlay-light);padding:.3rem .7rem}p>code,li>code{word-wrap:anywhere;background:#292c3e;border-radius:.3em;padding:.1rem .4em;font-family:JetBrains Mono,monospace;font-size:1rem;display:inline-block}.medium-zoom-overlay,.medium-zoom-image{z-index:200}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important}}@media (width<48rem){.posts .card-header{flex-direction:column;align-items:flex-start}.grid-2,.grid-3{grid-template-columns:repeat(1,1fr)}}
