:root{--space-3xs:clamp(.25rem, calc(.23rem + .11vw), .31rem);--space-2xs:clamp(.5rem, calc(.48rem + .11vw), .56rem);--space-xs:clamp(.75rem, calc(.71rem + .22vw), .88rem);--space-s:clamp(1rem, calc(.96rem + .22vw), 1.13rem);--space-m:clamp(1.5rem, calc(1.43rem + .33vw), 1.69rem);--space-l:clamp(2rem, calc(1.91rem + .43vw), 2.25rem);--space-xl:clamp(3rem, calc(2.87rem + .65vw), 3.38rem);--space-2xl:clamp(4rem, calc(3.83rem + .87vw), 4.5rem);--space-3xl:clamp(6rem, calc(5.74rem + 1.3vw), 6.75rem);--space-3xs-2xs:clamp(.25rem, calc(.14rem + .54vw), .56rem);--space-2xs-xs:clamp(.5rem, calc(.37rem + .65vw), .88rem);--space-xs-s:clamp(.75rem, calc(.62rem + .65vw), 1.13rem);--space-s-m:clamp(1rem, calc(.76rem + 1.2vw), 1.69rem);--space-m-l:clamp(1.5rem, calc(1.24rem + 1.3vw), 2.25rem);--space-l-xl:clamp(2rem, calc(1.52rem + 2.39vw), 3.38rem);--space-xl-2xl:clamp(3rem, calc(2.48rem + 2.61vw), 4.5rem);--space-2xl-3xl:clamp(4rem, calc(3.04rem + 4.78vw), 6.75rem);--space-s-l:clamp(1rem, calc(.57rem + 2.17vw), 2.25rem);--step--2:clamp(.65rem, calc(.64rem + .05vw), .66rem);--step--1:clamp(.78rem, calc(.76rem + .11vw), .83rem);--step-0:clamp(.94rem, calc(.9rem + .18vw), 1.03rem);--step-1:clamp(1.13rem, calc(1.06rem + .28vw), 1.29rem);--step-2:clamp(1.35rem, calc(1.25rem + .41vw), 1.61rem);--step-3:clamp(1.62rem, calc(1.47rem + .59vw), 2.01rem);--step-4:clamp(1.94rem, calc(1.73rem + .83vw), 2.51rem);--step-5:clamp(2.33rem, calc(2.03rem + 1.15vw), 3.14rem);--hue:0;--theme-shade-1:100% .01 var(--hue);--theme-color-1:oklch(var(--theme-shade-1));--theme-shade-2:92% .02 var(--hue);--theme-color-2:oklch(var(--theme-shade-2));--theme-shade-3:85% .02 var(--hue);--theme-color-3:oklch(var(--theme-shade-3));--theme-shade-4:75% .02 var(--hue);--theme-color-4:oklch(var(--theme-shade-4));--theme-shade-5:66% .03 var(--hue);--theme-color-5:oklch(var(--theme-shade-5));--theme-shade-6:55% .03 var(--hue);--theme-color-6:oklch(var(--theme-shade-6));--dark-hue:260;--theme-shade-7:35% .03 var(--dark-hue);--theme-color-7:oklch(var(--theme-shade-7));--theme-shade-8:23% .02 var(--dark-hue);--theme-color-8:oklch(var(--theme-shade-8));--theme-shade-9:14% .015 var(--dark-hue);--theme-color-9:oklch(var(--theme-shade-9));--theme-shade-10:5% .015 var(--dark-hue);--theme-color-10:oklch(var(--theme-shade-10));--accent-hue:94;--accent-shade-1:99.3% .187 var(--accent-hue);--accent-color-1:oklch(var(--accent-shade-1));--accent-shade-2:95% .227 var(--accent-hue);--accent-color-2:oklch(var(--accent-shade-2));--accent-shade-3:87% .257 var(--accent-hue);--accent-color-3:oklch(var(--accent-shade-3));--accent-shade-4:77% .287 var(--accent-hue);--accent-color-4:oklch(var(--accent-shade-4));--accent-shade-5:68.3% .287 var(--accent-hue);--accent-color-5:oklch(var(--accent-shade-5));--accent-shade-6:55% .287 var(--accent-hue);--accent-color-6:oklch(var(--accent-shade-6));--accent-shade-7:45% .287 var(--accent-hue);--accent-color-7:oklch(var(--accent-shade-7));--accent-shade-8:35% .287 var(--accent-hue);--accent-color-8:oklch(var(--accent-shade-8));--accent-shade-9:20% .287 var(--accent-hue);--accent-color-9:oklch(var(--accent-shade-9));--accent-shade-10:4% .287 var(--accent-hue);--accent-color-10:oklch(var(--accent-shade-10));--accent-gradient:linear-gradient(100deg, var(--accent-color-4), var(--accent-color-6));--accent-2-hue:258;--accent-2-shade-1:99.3% .087 var(--accent-2-hue);--accent-2-color-1:oklch(var(--accent-2-shade-1));--accent-2-shade-2:95% .127 var(--accent-2-hue);--accent-2-color-2:oklch(var(--accent-2-shade-2));--accent-2-shade-3:87% .207 var(--accent-2-hue);--accent-2-color-3:oklch(var(--accent-2-shade-3));--accent-2-shade-4:77% .287 var(--accent-2-hue);--accent-2-color-4:oklch(var(--accent-2-shade-4));--accent-2-shade-5:68.3% .287 var(--accent-2-hue);--accent-2-color-5:oklch(var(--accent-2-shade-5));--accent-2-shade-6:55% .287 var(--accent-2-hue);--accent-2-color-6:oklch(var(--accent-2-shade-6));--accent-2-shade-7:45% .287 var(--accent-2-hue);--accent-2-color-7:oklch(var(--accent-2-shade-7));--accent-2-shade-8:35% .287 var(--accent-2-hue);--accent-2-color-8:oklch(var(--accent-2-shade-8));--accent-2-shade-9:20% .287 var(--accent-2-hue);--accent-2-color-9:oklch(var(--accent-2-shade-9));--accent-2-shade-10:4% .287 var(--accent-2-hue);--accent-2-color-10:oklch(var(--accent-2-shade-10));font-size:15pt}@supports (background-image:linear-gradient(1deg in oklab, white, white)){:root{--accent-gradient:linear-gradient(100deg in oklab, var(--accent-color-4), var(--accent-color-6))}@media (prefers-color-scheme:light){:root{--accent-gradient:linear-gradient(-10deg in oklab, var(--accent-color-3), var(--accent-color-5))}}:root[color-scheme=dark]{--accent-gradient:linear-gradient(100deg in oklab, var(--accent-color-4), var(--accent-color-6))}:root[color-scheme=light]{--accent-gradient:linear-gradient(-10deg in oklab, var(--accent-color-3), var(--accent-color-5))}}:root{color-scheme:dark;--text-shade-1:var(--theme-shade-3);--text-color-1:var(--theme-color-3);--text-shade-2:var(--theme-shade-4);--text-color-2:var(--theme-color-4);--splash-shade:var(--accent-shade-4);--splash-color:var(--accent-color-4);--splash-shade-2:var(--accent-2-shade-5);--splash-color-2:var(--accent-2-color-5);--surface-shade-1:var(--theme-shade-9);--surface-color-1:var(--theme-color-9);--surface-shade-2:var(--theme-shade-8);--surface-color-2:var(--theme-color-8);--surface-shade-3:var(--theme-shade-7);--surface-color-3:var(--theme-color-7);--shadow-color:220 40% 2%;--shadow-strength:25%;--link-color:var(--accent-2-color-3);--link-color-visited:var(--accent-2-color-5)}@media (prefers-color-scheme:light){:root{color-scheme:light;--text-shade-1:var(--theme-shade-10);--text-color-1:var(--theme-color-10);--text-shade-2:var(--theme-shade-8);--text-color-2:var(--theme-color-8);--surface-shade-1:var(--theme-shade-1);--surface-color-1:var(--theme-color-1);--surface-shade-2:var(--theme-shade-2);--surface-color-2:var(--theme-color-2);--surface-shade-3:var(--theme-shade-4);--surface-color-3:var(--theme-color-4);--splash-shade:var(--accent-shade-5);--splash-color:var(--accent-color-5);--splash-shade-2:var(--accent-2-shade-5);--splash-color-2:var(--accent-2-color-5);--accent-gradient:linear-gradient(-10deg, var(--accent-color-3), var(--accent-color-5));--link-color:var(--accent-2-color-5);--link-color-visited:var(--accent-2-color-7)}}:root[color-scheme=light]{color-scheme:light;--text-shade-1:var(--theme-shade-10);--text-color-1:var(--theme-color-10);--text-shade-2:var(--theme-shade-8);--text-color-2:var(--theme-color-8);--surface-shade-1:var(--theme-shade-1);--surface-color-1:var(--theme-color-1);--surface-shade-2:var(--theme-shade-2);--surface-color-2:var(--theme-color-2);--surface-shade-3:var(--theme-shade-4);--surface-color-3:var(--theme-color-4);--splash-shade:var(--accent-shade-5);--splash-color:var(--accent-color-5);--splash-shade-2:var(--accent-2-shade-5);--splash-color-2:var(--accent-2-color-5);--accent-gradient:linear-gradient(-10deg, var(--accent-color-3), var(--accent-color-5));--link-color:var(--accent-2-color-5);--link-color-visited:var(--accent-2-color-7)}:root[color-scheme=dark]{color-scheme:dark;--text-shade-1:var(--theme-shade-3);--text-color-1:var(--theme-color-3);--text-shade-2:var(--theme-shade-4);--text-color-2:var(--theme-color-4);--splash-shade:var(--accent-shade-4);--splash-color:var(--accent-color-4);--splash-shade-2:var(--accent-2-shade-5);--splash-color-2:var(--accent-2-color-5);--surface-shade-1:var(--theme-shade-9);--surface-color-1:var(--theme-color-9);--surface-shade-2:var(--theme-shade-8);--surface-color-2:var(--theme-color-8);--surface-shade-3:var(--theme-shade-7);--surface-color-3:var(--theme-color-7);--shadow-color:220 40% 2%;--shadow-strength:25%;--link-color:var(--accent-2-color-3);--link-color-visited:var(--accent-2-color-5)}:where(html){--shadow-color:220 3% 15%;--shadow-strength:1%;--shadow-1:0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 16px 16px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 10px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 20px 20px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 40px 40px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), 0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), 0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), 0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), 0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)), 0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%))}:root{--noise-1:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.005' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--noise-2:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.05' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--noise-3:url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.25' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--noise-4:url("data:image/svg+xml,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--noise-5:url("data:image/svg+xml,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");--noise-filter-1:contrast(300%) brightness(100%);--noise-filter-2:contrast(200%) brightness(150%);--noise-filter-3:contrast(200%) brightness(250%);--noise-filter-4:contrast(200%) brightness(500%);--noise-filter-5:contrast(200%) brightness(1000%)}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMonoVariable-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-sans:"Lora", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;--font-heading:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;--font-mono:"Berkeley Mono", Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro, monospace;font-family:var(--font-sans);font-size:12pt;font-weight:400}*{box-sizing:border-box;margin:0}p{font-size:var(--step-0)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:300}input{accent-color:var(--splash-color)}.heading-1{font-family:var(--font-heading);font-size:var(--step-2);font-weight:400;line-height:1}.heading-2{font-family:var(--font-heading);font-size:var(--step-2)}.heading-3{font-family:var(--font-heading);font-size:var(--step-1);font-weight:700}code{font-size:var(--step--1);font-family:var(--font-mono);font-variation-settings:"wght" 150}pre.astro-code{padding:var(--space-3xs)}pre.astro-code code{font-family:var(--font-mono);font-variation-settings:"wght" 100;line-height:1.2;font-size:var(--step--1)}a{color:var(--link-color);text-decoration:none}a:visited{color:var(--link-color-visited)}blockquote{padding:var(--space-2xs);padding-left:calc(var(--space-2xs) + 4px);margin:var(--space-2xs) 0;font-size:var(--step--1);font-style:italic;position:relative}blockquote:before{content:"";font-size:var(--step-2);background:var(--splash-color);width:4px;box-shadow:var(--shadow-2);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.headline{font-family:var(--font-heading);font-size:var(--step-2);font-weight:700}.stack{gap:var(--space-s);flex-direction:column;display:flex}li::marker{color:var(--splash-color)}body{background:var(--surface-color-1);color:var(--text-color-1);padding:var(--space-2xs)}p{font-variation-settings:"opsz" 17, "wght" 300;line-height:1.45}ul[data-astro-cid-yxete6jp]{align-items:flex-start;gap:var(--space-3xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-yxete6jp]{align-items:baseline;gap:var(--space-3xs);flex-direction:row-reverse;display:flex}.home[data-astro-cid-yxete6jp]{font-size:var(--step-1)}.dot[data-astro-cid-yxete6jp]{--size:1.4ex;height:var(--size);aspect-ratio:1;background-color:var(--accent-color-3);border-radius:1000000000px}a[data-astro-cid-yxete6jp]{align-items:baseline;gap:var(--space-3xs);font-family:var(--font-heading);font-size:var(--step-0);margin:0;padding:0;font-weight:300;text-decoration:none;display:flex;position:relative;color:var(--accent-color-10)!important}@media (prefers-color-scheme:dark){a[data-astro-cid-yxete6jp]{color:var(--text-color-1)!important}}:root[color-scheme=dark] a[data-astro-cid-yxete6jp]{color:var(--text-color-1)!important}:root[color-scheme=light] a[data-astro-cid-yxete6jp]{color:var(--accent-color-10)!important}nav[data-astro-cid-yxete6jp]{top:var(--space-l);align-items:baseline;gap:var(--space-3xs);flex-direction:column;display:flex;position:sticky}@media (width<=768px){nav[data-astro-cid-yxete6jp]{top:var(--space-2xs);flex-direction:row;justify-content:space-between}ul[data-astro-cid-yxete6jp]{justify-content:flex-start;align-items:end;gap:var(--space-3xs) var(--space-xs);flex-flow:wrap}li[data-astro-cid-yxete6jp]{white-space:nowrap;flex-direction:row-reverse}}body{text-rendering:optimizelegibility;grid-template-rows:auto min-content;min-height:100vh;display:grid}header[data-astro-cid-z4jru4n3]{margin:0;padding:0;position:relative}.site-container[data-astro-cid-z4jru4n3]{gap:var(--space-m);max-width:1280px;padding:max(var(--space-m), env(safe-area-inset-top)) max(var(--space-m), calc(env(safe-area-inset-right))) max(var(--space-m), env(safe-area-inset-bottom)) max(var(--space-m), env(safe-area-inset-left));grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,3fr));display:grid}.site-header[data-astro-cid-z4jru4n3]{grid-column:1}.main-content[data-astro-cid-z4jru4n3]{grid-column:2/5}.theme-switcher[data-astro-cid-z4jru4n3]{justify-content:flex-end;justify-self:end;display:flex}@media (width<=768px){.site-container[data-astro-cid-z4jru4n3]{gap:var(--space-xs);padding:max(var(--space-3xs), env(safe-area-inset-top)) calc(env(safe-area-inset-right) + var(--space-3xs)) max(var(--space-3xs), env(safe-area-inset-bottom)) calc(env(safe-area-inset-right) + var(--space-3xs));grid-template-columns:1fr}.site-header[data-astro-cid-z4jru4n3]{grid-column:1;max-width:100%}.main-content[data-astro-cid-z4jru4n3]{grid-column:1}}
