@charset "UTF-8";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}html,html.light{--background: oklch(91.84% .007 124.45);--footer-background: oklch(0% 0 0 / 13.2%);--text-color-normal: oklch(17.32% .1197 264.04);--text-color-light: oklch(from var(--text-color-normal) l c h / 60%);--text-color-hidden: oklch(from var(--text-color-normal) l c h / 40%);--accent: oklch(74.93% .2124 54.63);--accent-2: oklch(68.69% .333 338.2);--accent-3: oklch(56.23% .2564 262.26);--accent-dark: oklch(from var(--accent) calc(l/2) c h);transition:all .15s ease;scroll-behavior:smooth}@media (prefers-color-scheme: dark){html{--background: oklch(14.13% .0908 265.1);--footer-background: oklch(from var(--background) l c h / 25%);--text-color-normal: oklch(97.64% .105 106.56);--text-color-light: oklch(from var(--accent) l c h / 55%);--text-color-hidden: oklch(from white l c h / 55%);--accent-dark: oklch(from var(--accent) calc(l/2) c h)}}html.dark{--background: oklch(14.13% .0908 265.1);--footer-background: oklch(from var(--background) l c h / 25%);--text-color-normal: oklch(97.64% .105 106.56);--text-color-light: oklch(from var(--accent) l c h / 55%);--text-color-hidden: oklch(from white l c h / 55%);--accent-dark: oklch(from var(--accent) calc(l/2) c h)}:root{--black: 15, 18, 25;--font-title: "Brandon Grotesque", sans-serif;--font-text: "Brandon Text", sans-serif;--pretty-gradient: linear-gradient( 90deg, var(--accent), var(--accent-2), var(--accent-3) )}::selection{background-color:oklch(from var(--accent) l c h/50%);color:var(--text-color-normal)}body{font-family:var(--font-text);margin:0;padding:0;text-align:left;background:var(--background);background-size:100% 600px;word-wrap:break-word;overflow-wrap:break-word;color:var(--font-color-normal);font-size:20px;line-height:1.7;scroll-timeline:--scrollTimeline y;scroll-timeline:--scrollTimeline vertical}main{max-width:840px;margin:auto;padding:3em 1em;width:calc(100% - 2em);color:oklch(from var(--text-color-normal) l calc(c/2) h)}@media (max-width: 840px){body{font-size:18px}main{padding:1em}}h1,h2,h3,h4,h5,h6{margin:1em 0 .5em;color:var(--text-color-normal);line-height:1.2;font-family:var(--font-title)}h1{font-size:3.052rem}h2{font-size:2.441rem}h3{font-size:1.953rem}h4{font-size:1.563rem}h5{font-size:1.25rem}strong,b{font-weight:700}a{background:var(--pretty-gradient);color:var(--text-color-normal);text-decoration:underline;text-decoration-color:var(--text-color-hidden);text-decoration-thickness:.25px;text-decoration-style:wavy;-webkit-background-clip:text;background-clip:text;transition:all .15s ease}a:hover{color:#0000}p{margin-bottom:1em}.prose p{margin-bottom:2em}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto}code{padding:2px 5px;margin-right:.2em;background-color:var(--footer-background);border-radius:2px;font-size:1rem}pre{font-size:1rem;padding:1.5em;border-radius:8px}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.1em}hr{border:none;border-top:1px solid var(--font-color-normal)}article p{text-align:justify}iframe{margin:0 auto}figure{padding:0;display:flex;flex-direction:column}figure div,figure img,figure object,figure svg,figure embed{margin:auto}figcaption{font-size:.8em;text-align:center;color:var(--text-color-light)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.title{margin:0;line-height:1}.title{margin-bottom:1em;padding:1em 0;text-align:center;line-height:1;background:var(--pretty-gradient);-webkit-background-clip:text;background-clip:text;transition:.1s ease}.title h1{margin:0 0 .5em;color:#0000}.date{margin-bottom:.5em;color:#0000}.title hr{background:var(--pretty-gradient);height:5px;border-top:none}.last-updated-on{font-style:italic}.post-list ul{flex-wrap:wrap;gap:2rem;list-style-type:none;margin:0;padding:0}.post-list ul li *{text-decoration:none}.post-list ul li:first-child img{width:100%}.post-list h1,.post-list ul li:first-child .title{font-size:2.369rem}.post-list ul li img{margin-bottom:.5rem;border-radius:12px}.post-list ul li a{display:block;background:var(--pretty-gradient);color:var(--text-color-normal);-webkit-background-clip:text;background-clip:text;transition:.1s ease;margin:0 0 3rem}.post-list ul li a:hover{color:#0000}.post-list ul li a *{color:inherit}.post-list .title{margin:0;line-height:1}.post-list .date{margin:0 .5rem 0 0}@media (max-width: 720px){.post-list ul{gap:.5em}.post-list ul li{width:100%;text-align:left}.post-list ul li:first-child{margin-bottom:0}.post-list ul li:first-child .title{font-size:1.563em}}.post-list .tag{margin:0 .5rem 0 0;padding:.25rem}.post-list .tag:hover{background:var(--accent);opacity:.8;color:var(--text-color-normal)!important;border-radius:4px}.post-list section{margin:0 0 3rem}.toc-post{position:fixed;top:400px;left:calc(50vw + 420px);width:25%;max-height:calc(100vh - 3rem);overflow-y:auto;padding:1rem;margin-left:2rem}.toc-post ol{padding-inline-start:1rem}.toc-post .toc-link-h1{font-size:1rem}.toc-post .toc-link-h2{font-size:.9rem}.toc-post .toc-link-h3{font-size:.8rem}.toc-post li{list-style-type:none}.toc-post .toc-item{padding-left:1rem;border-left:2px solid var(--accent-3);transition:border-left .2s ease}.toc-post a{text-decoration:none;overflow:visible}.toc-post a[href="#footnote-label"]{display:none}@media (min-width: 1400px){.toc-post .toc-item:has(a.active){border-left:4px solid var(--accent)}.toc-post .toc-item a.active{color:#fff3}}@media (max-width: 1400px){.toc-post{position:unset;width:100%;margin:0;padding:0}}code,pre{font-family:Fira Code,Monaco,Andale Mono,Ubuntu Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code::selection,code ::selection,pre::selection,pre ::selection{background:#ffffff4a;color:inherit}:not(pre)>code{padding:.2em .3em;border-radius:.5rem;white-space:normal}pre{position:relative;padding:1.5rem 0}pre code{display:flex;flex-direction:column}pre .line{display:block;padding:0 1.5rem;width:100%;cursor:text}pre .line:hover{background:#ffffff29}pre{counter-increment:step calc(var(--start, 1) - 1);counter-reset:step}code .line:before{content:counter(step);counter-increment:step;width:1rem;margin-right:1.5rem;display:inline-block;text-align:right;color:#738a9466}code .line:only-child:before{content:"❯"}.copy-code{position:absolute;top:10px;right:10px;width:24px;height:24px;border:none;border-radius:3px;background-color:#ffffff28;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="%23FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>');background-size:16px 16px;background-position:center;background-repeat:no-repeat;transition:.1s ease all}.copy-code:hover{transform:scale(1.1);box-shadow:0 0 3px #00000059}.copy-code:before{content:"";position:absolute;top:0;left:0;width:24px;height:24px;border-radius:3px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="%23FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>');background-size:0px 18px;background-position:center;background-repeat:no-repeat;transition:.15s ease all}.copy-code.copied{background-size:0 18px}.copy-code.copied:before{background-size:18px 18px}code .line:last-child{display:none}code .line:nth-last-child(2):first-child:before{content:"❯ ";margin-right:0;margin-left:1.5rem}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Bold.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-LightItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-LightItalic.woff) format("woff");font-weight:300;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-BlackItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-BlackItalic.woff) format("woff");font-weight:900;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Light.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-BoldItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Black.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-MediumItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Medium.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-RegularItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-RegularItalic.woff) format("woff");font-weight:400;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-ThinItalic.woff2) format("woff2"),url(/fonts/BrandonGrotesque-ThinItalic.woff) format("woff");font-weight:100;font-style:italic;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Thin.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Thin.woff) format("woff");font-weight:100;font-style:normal;font-display:auto}@font-face{font-family:Brandon Grotesque;src:url(/fonts/BrandonGrotesque-Regular.woff2) format("woff2"),url(/fonts/BrandonGrotesque-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-BoldItalic.woff2) format("woff2"),url(/fonts/BrandonText-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Bold.woff2) format("woff2"),url(/fonts/BrandonText-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Medium.woff2) format("woff2"),url(/fonts/BrandonText-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Regular.woff2) format("woff2"),url(/fonts/BrandonText-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-RegularItalic.woff2) format("woff2"),url(/fonts/BrandonText-RegularItalic.woff) format("woff");font-weight:400;font-style:italic;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Light.woff2) format("woff2"),url(/fonts/BrandonText-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-LightItalic.woff2) format("woff2"),url(/fonts/BrandonText-LightItalic.woff) format("woff");font-weight:300;font-style:italic;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-ThinItalic.woff2) format("woff2"),url(/fonts/BrandonText-ThinItalic.woff) format("woff");font-weight:100;font-style:italic;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Black.woff2) format("woff2"),url(/fonts/BrandonText-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-Thin.woff2) format("woff2"),url(/fonts/BrandonText-Thin.woff) format("woff");font-weight:100;font-style:normal;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-MediumItalic.woff2) format("woff2"),url(/fonts/BrandonText-MediumItalic.woff) format("woff");font-weight:500;font-style:italic;font-display:auto}@font-face{font-family:Brandon Text;src:url(/fonts/BrandonText-BlackItalic.woff2) format("woff2"),url(/fonts/BrandonText-BlackItalic.woff) format("woff");font-weight:900;font-style:italic;font-display:auto}@font-face{font-family:Fira Code;src:url(/fonts//FiraCode-Light.woff2) format("/fonts/"),url(/fonts/FiraCode-Light.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Fira Code;src:url(/fonts//FiraCode-Regular.woff2) format("/fonts/"),url(/fonts/FiraCode-Regular.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Fira Code;src:url(/fonts//FiraCode-Medium.woff2) format("/fonts/"),url(/fonts/FiraCode-Medium.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Fira Code;src:url(/fonts//FiraCode-SemiBold.woff2) format("/fonts/"),url(/fonts/FiraCode-SemiBold.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:Fira Code;src:url(/fonts//FiraCode-Bold.woff2) format("/fonts/"),url(/fonts/FiraCode-Bold.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Fira Code VF;src:url(/fonts//FiraCode-VF.woff2) format("/fonts/-variations"),url(/fonts/FiraCode-VF.woff) format("woff-variations");font-weight:300 700;font-style:normal}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;position:relative;z-index:50}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1em}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-title)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em .5em;color:var(--text-color-normal);border-bottom:4px solid transparent;text-decoration:none}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:var(--accent)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active:hover{border-bottom-color:var(--accent)}.social-links[data-astro-cid-3ef6ksr2],.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex}@media (max-width: 840px){.social-links[data-astro-cid-3ef6ksr2]{display:none}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 6em;color:var(--text-color-hidden);text-align:center}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0}}@keyframes astroFadeOut{to{opacity:0}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
