*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body{margin:0;padding:0}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:root{--font-size--2: clamp(.6944rem, .6577rem + .1836vw, .8rem);--font-size--1: clamp(.8333rem, .7754rem + .2899vw, 1rem);--font-size-0: clamp(1rem, .913rem + .4348vw, 1.25rem);--font-size-1: clamp(1.2rem, 1.0739rem + .6304vw, 1.5625rem);--font-size-2: clamp(1.44rem, 1.2615rem + .8924vw, 1.9531rem);--font-size-3: clamp(1.728rem, 1.4799rem + 1.2407vw, 2.4414rem);--font-size-4: clamp(2.0736rem, 1.7334rem + 1.7011vw, 3.0518rem);--font-size-5: clamp(2.4883rem, 2.027rem + 2.3067vw, 3.8147rem)}:root{--space-3xs: clamp(.25rem, .2283rem + .1087vw, .3125rem);--space-2xs: clamp(.5rem, .4565rem + .2174vw, .625rem);--space-xs: clamp(.75rem, .6848rem + .3261vw, .9375rem);--space-s: clamp(1rem, .913rem + .4348vw, 1.25rem);--space-m: clamp(1.5rem, 1.3696rem + .6522vw, 1.875rem);--space-l: clamp(2rem, 1.8261rem + .8696vw, 2.5rem);--space-xl: clamp(3rem, 2.7391rem + 1.3043vw, 3.75rem);--space-2xl: clamp(4rem, 3.6522rem + 1.7391vw, 5rem);--space-3xl: clamp(6rem, 5.4783rem + 2.6087vw, 7.5rem);--space-3xs-2xs: clamp(.25rem, .1196rem + .6522vw, .625rem);--space-2xs-xs: clamp(.5rem, .3478rem + .7609vw, .9375rem);--space-xs-s: clamp(.75rem, .5761rem + .8696vw, 1.25rem);--space-s-m: clamp(1rem, .6957rem + 1.5217vw, 1.875rem);--space-m-l: clamp(1.5rem, 1.1522rem + 1.7391vw, 2.5rem);--space-l-xl: clamp(2rem, 1.3913rem + 3.0435vw, 3.75rem);--space-xl-2xl: clamp(3rem, 2.3043rem + 3.4783vw, 5rem);--space-2xl-3xl: clamp(4rem, 2.7826rem + 6.087vw, 7.5rem)}:where(html){--font-monospace-code: Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro, Cascadia Code, Menlo, Consolas, DejaVu Sans Mono, monospace;--font-didone: Didot, Bodoni MT, Noto Serif Display, URW Palladio L, P052, Sylfaen, serif;--stone-0: #f8fafb;--stone-1: #f2f4f6;--stone-2: #ebedef;--stone-3: #e0e4e5;--stone-4: #d1d6d8;--stone-5: #b1b6b9;--stone-6: #979b9d;--stone-7: #7e8282;--stone-8: #666968;--stone-9: #50514f;--stone-10: #3a3a37;--stone-11: #252521;--stone-12: #121210;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--font-weight-1: 100;--font-weight-2: 200;--font-weight-3: 300;--font-weight-4: 400;--font-weight-5: 500;--font-weight-6: 600;--font-weight-7: 700;--font-weight-8: 800;--font-weight-9: 900}:root{--font-family: var(--font-monospace-code);--font-size: var(--font-size-0);--font-weight: var(--font-weight-4);--heading-font-family: var(--font-didone);--heading-font-size: var(--font-size-3);--flow-space: var(--space-xl);--max-content-width: 90ch}:root{color-scheme:light;--bg-color: var(--stone-2);--bg-contrast-color: var(--stone-0);--text-color: var(--stone-10);--text-color-pale: var(--stone-5);--primary-ink: var(--violet-11);--primary-ink-pale: var(--violet-1)}@media screen and (prefers-color-scheme:dark){:root{color-scheme:dark;--bg-color: var(--stone-10);--bg-contrast-color: var(--stone-12);--text-color: var(--stone-5);--text-color-pale: var(--stone-7);--primary-ink: var(--violet-3);--primary-ink-pale: var(--violet-2)}}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);font-weight:var(--font-weight)}span,p,li,a{font-weight:var(--font-weight);font-size:var(--font-size)}code,code span{font-size:var(--font-size--1)}a{text-underline-offset:2px;text-decoration-thickness:2px;text-decoration:underline;text-underline-position:from-font;text-decoration-color:var(--primary-ink);word-wrap:break-word;overflow-wrap:break-word}a:hover{color:var(--primary-ink)}h1,h2,h1 a,h2 a{font-family:var(--heading-font-family);font-size:var(--heading-font-size);font-weight:var(--font-weight);color:var(--primary-ink);text-decoration:none}h1 a:hover,h2 a:hover{color:var(--primary-ink);text-decoration:underline;text-decoration-color:var(--primary-ink-pale)}p,span,a{&.pale{color:var(--text-color-pale)}}.center{display:flex;justify-content:center}.wrap{flex-wrap:wrap}.apart{display:flex;justify-content:space-between}.level{display:flex;align-items:center;gap:1rem}.caged{margin-inline:auto;max-width:var(--max-content-width);padding-inline:3ch}.flow>*+*{margin-block-start:var(--flow-space, 1.5rem)}.upper{text-transform:uppercase}.mt-xs{margin-top:var(--space-xs)}.mt-s{margin-top:var(--space-s)}.mt-m{margin-top:var(--space-m)}.mt-l{margin-top:var(--space-l)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-s{margin-bottom:var(--space-s)}.mb-m{margin-bottom:var(--space-m)}.mb-l{margin-bottom:var(--space-l)}.mb-xl{margin-bottom:var(--space-xl)}.post{h1{margin-block-start:2rem}img{height:auto}}blockquote{margin-left:40px;margin-block:40px;padding-left:20px;padding-block:20px;border-left:1px solid var(--primary-ink);& p{margin-block-start:0}}.astro-code{padding:2rem;border-radius:15px}.wave{height:300px;background-color:var(--bg-contrast-color);--mask: radial-gradient(59.24px at 50% 77px, #000 99%, #0000 101%) calc(50% - 110px) 0/220px 100%, radial-gradient(59.24px at 50% -22px, #0000 99%, #000 101%) 50% 55px/220px 100% repeat-x;-webkit-mask:var(--mask);mask:var(--mask);display:grid;place-items:center;padding-block-start:5rem;& a{text-decoration:none}.level{gap:4rem}}a.passive,a.passive:hover{text-decoration:none;color:inherit}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#011627;color:#d6deeb}.hljs-keyword{color:#c792ea;font-style:italic}.hljs-built_in{color:#addb67;font-style:italic}.hljs-type{color:#82aaff}.hljs-literal{color:#ff5874}.hljs-number{color:#f78c6c}.hljs-regexp{color:#5ca7e4}.hljs-string{color:#ecc48d}.hljs-subst{color:#d3423e}.hljs-symbol{color:#82aaff}.hljs-class{color:#ffcb8b}.hljs-function{color:#82aaff}.hljs-title{color:#dcdcaa;font-style:italic}.hljs-params{color:#7fdbca}.hljs-comment{color:#637777;font-style:italic}.hljs-doctag{color:#7fdbca}.hljs-meta,.hljs-meta .hljs-keyword{color:#82aaff}.hljs-meta .hljs-string{color:#ecc48d}.hljs-section{color:#82b1ff}.hljs-attr,.hljs-name,.hljs-tag{color:#7fdbca}.hljs-attribute{color:#80cbc4}.hljs-variable{color:#addb67}.hljs-bullet{color:#d9f5dd}.hljs-code{color:#80cbc4}.hljs-emphasis{color:#c792ea;font-style:italic}.hljs-strong{color:#addb67;font-weight:700}.hljs-formula{color:#c792ea}.hljs-link{color:#ff869a}.hljs-quote{color:#697098;font-style:italic}.hljs-selector-tag{color:#ff6363}.hljs-selector-id{color:#fad430}.hljs-selector-class{color:#addb67;font-style:italic}.hljs-selector-attr,.hljs-selector-pseudo{color:#c792ea;font-style:italic}.hljs-template-tag{color:#c792ea}.hljs-template-variable{color:#addb67}.hljs-addition{color:#addb67;font-style:italic}.hljs-deletion{color:#ef535090;font-style:italic}
