@font-face{font-family:DMMono;src:url(/fonts/DMMono-Regular.woff2) format("woff2"),url(/fonts/DMMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DMSans;src:url(/fonts/DMSans-Regular.woff2) format("woff2"),url(/fonts/DMSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DMSans;src:url(/fonts/DMSans-Italic.woff2) format("woff2"),url(/fonts/DMSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DMSans;src:url(/fonts/DMSans-Bold.woff2) format("woff2"),url(/fonts/DMSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DMSans;src:url(/fonts/DMSans-BoldItalic.woff2) format("woff2"),url(/fonts/DMSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:DMSerifDisplay;src:url(/fonts/DMSerifDisplay-Regular.woff2) format("woff2"),url(/fonts/DMSerifDisplay-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--color-white: #ffffff;--color-gray-100: #e8e8e8;--color-gray-200: #cfcfcf;--color-gray-300: #b8b8b8;--color-gray-400: #9f9f9f;--color-gray-500: #888888;--color-gray-600: #6f6f6f;--color-gray-700: #585858;--color-gray-800: #3f3f3f;--color-gray-900: #282828;--color-black: #0f0f0f;--color-primary: #f31559;--color-primary-muted: #ee4266;--color-bg: var(--color-white);--color-box-muted: #f5f5f5;--color-box-border: #dfdfdf;--color-link: var(--color-primary);--color-link--active: var(--color-primary-muted);--color-link--hover: var(--color-primary-muted);--color-text-logo: var(--color-white);--color-text-headline: var(--color-gray-800);--color-text-body: var(--color-gray-900);--color-text-muted: var(--color-gray-500);--bezier-curve: cubic-bezier(.4, 1.2, .4, 1.2);--max-app-width: 168rem;--max-text-width: 54ch;--default-side-padding: clamp(1.2rem, 4vw, 4.8rem);--type-face-sans: "DMSans", sans-serif;--type-face-serif: "DMSerifDisplay", serif;--type-face-code: "DMMono", monospace;--step--2: clamp(.6944rem, .5189rem + .8772vw, 1.44rem);--step--1: clamp(.8331rem, .6056rem + 1.1375vw, 1.8rem);--step-0: clamp(1rem, .7059rem + 1.4706vw, 2.25rem);--step-1: clamp(1.2rem, .8206rem + 1.8971vw, 2.8125rem);--step-2: clamp(1.44rem, .9516rem + 2.4419vw, 3.5156rem);--step-3: clamp(1.7281rem, 1.1008rem + 3.1368vw, 4.3944rem);--step-4: clamp(2.0738rem, 1.2692rem + 4.0228vw, 5.4931rem);--step-5: clamp(2.4881rem, 1.458rem + 5.1507vw, 6.8663rem);--pagefind-ui-scale: 1;--pagefind-ui-primary: var(--color-primary);--pagefind-ui-text: #363636;--pagefind-ui-background: #ffffff;--pagefind-ui-border: #d8d8d8;--pagefind-ui-tag: #eeeeee;--pagefind-ui-border-width: 0px;--pagefind-ui-border-radius: 0px;--pagefind-ui-image-border-radius: 0px;--pagefind-ui-image-box-ratio: 3 / 2;--pagefind-ui-font: var(--type-face-sans);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--color-primary: #fcbf49;--color-primary-muted: #fbcd60;--color-bg: var(--color-black);--color-box-muted: #151515;--color-box-border: #2a2a2a;--color-link: var(--color-primary);--color-link--active: var(--color-primary-muted);--color-link--hover: var(--color-primary-muted);--color-text-logo: var(--color-black);--color-text-headline: var(--color-gray-100);--color-text-body: var(--color-gray-300);color-scheme:dark}}[data-theme=light]{--color-primary: #f31559;--color-primary-muted: #ee4266;--color-bg: var(--color-white);--color-box-muted: #f5f5f5;--color-box-border: #dfdfdf;--color-link: var(--color-primary);--color-link--active: var(--color-primary-muted);--color-link--hover: var(--color-primary-muted);--color-text-logo: var(--color-white);--color-text-headline: var(--color-gray-800);--color-text-body: var(--color-gray-900);color-scheme:light}[data-theme=dark]{--color-primary: #fcbf49;--color-primary-muted: #fbcd60;--color-bg: var(--color-black);--color-box-muted: #151515;--color-box-border: #2a2a2a;--color-link: var(--color-primary);--color-link--active: var(--color-primary-muted);--color-link--hover: var(--color-primary-muted);--color-text-logo: var(--color-black);--color-text-headline: var(--color-gray-100);--color-text-body: var(--color-gray-200);color-scheme:dark}html{font-size:62.5%;height:100%;overflow:scroll;scroll-behavior:smooth;scroll-padding-top:9.6em}main :target{animation:.6s targetblink}a[href^=http]:after{content:"↗";display:inline-block;font-size:.5625em;margin:0 0 0 .25em;vertical-align:super;font-weight:400}@keyframes targetblink{0%{background-color:var(--color-primary)}to{background-color:#fff}}body{font-size:var(--step-1);line-height:1.5;height:100%;color:var(--color-text-body);background-color:var(--color-bg)}body,input,button,select{font-family:var(--type-face-sans)}ul,ol{list-style-type:none}a{text-decoration:none;color:var(--color-link)}a:hover{color:var(--color-link--hover)}a:active{color:var(--color-link--active)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}mark{background-color:var(--color-primary);color:var(--color-white);display:inline-block;padding-left:.2em;padding-right:.2em}.screen-readers-only{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}h1,h2,h3,h4,h5,h6,[role=heading]{position:relative;font-weight:400;line-height:1.25;margin:0 0 .75em;font-family:var(--type-face-serif);color:var(--color-text-headline)}main *+:where(h1,h2,h3,h4,h5,h6,[role=heading]){margin:1.5em 0 .75em}h1{font-size:var(--step-5);margin:1em 0 .5em}h2,[role=heading]{font-size:var(--step-4)}h3{font-size:var(--step-3)}h4{font-size:var(--step-2)}h5{font-size:var(--step-1)}h6{font-size:var(--step-0)}p{margin:0 0 .75em}li{margin:0 0 .25em}strong{font-weight:700}em{font-style:italic}pre.astro-code{padding:1em;border-radius:1px;margin:2em auto;font-size:var(--step-0)}pre.astro-code code{font-family:var(--type-face-code);font-weight:400}.content ul{list-style-type:disc;padding-left:1em}.content ol{list-style-type:roman;padding-left:1em}.content :not(pre) code{font-family:var(--type-face-code);font-weight:400}.muted{color:var(--color-text-muted)}
