@layer fonts{@font-face{font-family:Alegreya;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/Alegreya-400-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/Alegreya-500-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/Alegreya-600-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/Alegreya-700-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/Alegreya-800-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/Alegreya-900-Italic-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Alegreya-400-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Alegreya-500-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Alegreya-600-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Alegreya-700-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/Alegreya-800-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/Alegreya-900-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}}@layer fonts{@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/BricolageGrotesque-200-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/BricolageGrotesque-300-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/BricolageGrotesque-400-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/BricolageGrotesque-500-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/BricolageGrotesque-600-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/BricolageGrotesque-700-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/BricolageGrotesque-800-Latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}}@layer fonts{@font-face{font-family:Maple Mono;font-style:normal;font-weight:100;font-display:swap;src:url(/fonts/MapleMono-Thin.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:100;font-display:swap;src:url(/fonts/MapleMono-ThinItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:200;font-display:swap;src:url(/fonts/MapleMono-ExtraLight.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:200;font-display:swap;src:url(/fonts/MapleMono-ExtraLightItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/MapleMono-Light.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/MapleMono-LightItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/MapleMono-Regular.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/MapleMono-Italic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/MapleMono-Medium.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/MapleMono-MediumItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/MapleMono-SemiBold.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/MapleMono-SemiBoldItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/MapleMono-Bold.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/MapleMono-BoldItalic.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/MapleMono-ExtraBold.ttf.woff2) format("woff2")}@font-face{font-family:Maple Mono;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/MapleMono-ExtraBoldItalic.ttf.woff2) format("woff2")}}@layer config{:root{--font-sans: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif: "Alegreya", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "Maple Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--measure: 45rem;--measure-code: 85ch;--ease: cubic-bezier(.4, 0, .2, 1);--duration: .15s;--duration-view-transition: .3s;--padding-measure: calc(var(--s3) + max(0px, (100vw - var(--measure)) / 2));--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.25rem;--s6: 1.5rem;--s8: 2rem;--s12: 3rem;--s16: 4rem;--s20: 5rem;--s24: 6rem;--s32: 8rem;--s40: 10rem;--s56: 14rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--color-white: #fef8fc;--color-light-white: #fffcfe;--color-light-pink: #fdf2f8;--color-light-purple: #f8edfc;--color-light-grey: #f0e5ec;--color-orange: #f1935c;--color-orange-30: #f9d5c9;--color-orange-20: #fbdfd9;--color-orange-10: #fce8e8;--color-terracotta: #ba6b57;--color-terracotta-30: #53342a;--color-terracotta-20: #3c2623;--color-terracotta-10: #26191c;--color-peach: #eedad1;--color-peach-60: #f4e4e1;--color-peach-30: #f8ebec;--color-dark-blue: #020617;--color-purple-black: #0f0b15;--color-purple-elevated: #1a141f;--color-purple-dark: #2d1b3d;--color-purple-light: #3d2550;--color-purple-pink: #e8d5f0;--color-purple-muted: #b8a0c5;--shadow-box: 0 4px 6px -1px #02061720, 0 2px 4px -2px #02061720;--box-radius: 1rem}:root{color-scheme:light dark;--bg-main: light-dark(var(--color-light-pink), var(--color-purple-black));--bg-code: light-dark(var(--color-light-grey), var(--color-purple-dark));--bg-inline-code: light-dark( var(--color-orange-30), var(--color-terracotta-30) );--bg-blockquote: light-dark( var(--color-orange-10), var(--color-terracotta-10) );--bg-lead: light-dark(var(--color-orange-10), var(--color-terracotta-10));--bg-selection: var(--color-terracotta);--bg-footer: light-dark(var(--color-peach-60), var(--color-purple-dark));--bg-tag: light-dark(var(--color-orange-20), var(--color-terracotta-20));--bg-author: light-dark( var(--color-peach-30), var(--color-purple-elevated) );--bg-socials: light-dark( var(--color-orange-10), var(--color-terracotta-10) );--bg-socials-hover: light-dark( var(--color-orange-20), var(--color-terracotta-20) );--bg-section-alternate: light-dark( var(--color-light-purple), var(--color-purple-elevated) );--bg-list-hover: light-dark( var(--color-orange-10), var(--color-purple-light) );--bg-list-hover-alt: light-dark( var(--color-white), var(--color-purple-dark) );--bg-grid-item: light-dark(var(--color-white), var(--color-purple-dark));--bg-grid-item-hover: light-dark( var(--color-light-white), var(--color-purple-light) );--bg-contact: light-dark(var(--color-white), var(--color-purple-elevated));--bg-button: var(--color-orange);--bg-button-hover: var(--color-terracotta);--border-accent: var(--color-orange);--border-light: light-dark( var(--color-orange-20), var(--color-terracotta-20) );--text-color: light-dark( var(--color-purple-black), var(--color-purple-pink) );--text-bright: light-dark(var(--color-dark-blue), var(--color-light-pink));--text-muted: light-dark(var(--color-peach), var(--color-purple-muted));--text-code: light-dark(var(--color-dark-blue), var(--color-purple-pink));--text-link: var(--color-orange);--text-link-hover: var(--color-terracotta);--text-selection: var(--color-peach);--text-button: var(--color-white)}.light{color-scheme:light}.dark{color-scheme:dark}}@layer preflight{*,:before,:after,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;tab-size:4;font-family:var(--font-sans);font-feature-settings:var(--font-sans-features, normal);font-variation-settings:var(--font-sans-variation, normal)}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-variation-settings:var(--font-mono-variations, normal);font-feature-settings:var(--font-mono-features, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer base{@view-transition{navigation:auto}::view-transition-group(*){animation-duration:var(--duration-view-transition);animation-timing-function:var(--ease)}*{max-inline-size:var(--measure)}html,body,div,header,nav,main,article,footer,aside,section{max-inline-size:none}:root{min-height:100%;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;text-wrap:pretty;font-weight:325;color:var(--text-color);background-color:var(--bg-main);transition-property:color,background-color,border-color,text-decoration-color,opacity,transform;transition-duration:var(--duration);transition-timing-function:var(--ease)}::selection{background-color:var(--bg-selection);color:var(--text-selection)}article{font-size:var(--text-lg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-bright);font-weight:700;strong,.strong,&.strong{font-weight:900}&:first-child{margin-block-start:0}+*{margin-block-start:0}a{font-weight:inherit;color:inherit;&:hover,&:focus-visible{text-decoration:none}}code{color:inherit}small{color:var(--text-muted)}}h1{font-size:var(--text-4xl);line-height:1;margin-block:var(--s16) var(--s8);@media(min-width:48rem){font-size:var(--text-5xl)}@media(min-width:64rem){font-size:var(--text-6xl)}}h2{font-size:var(--text-3xl);line-height:1.2;margin-block:var(--s16) var(--s8);@media(min-width:768px){font-size:var(--text-4xl)}}h3{font-size:var(--text-2xl);margin-block:var(--s8) var(--s3)}p{margin-block:0 var(--s8)}.lead{padding-block:var(--s12);padding-inline:var(--s8);margin-bottom:var(--s32);background-color:var(--bg-lead);border-left:4px solid var(--border-accent);font-family:var(--font-serif);font-size:var(--text-xl)}small{font-size:87.5%}b,strong{font-weight:600;color:var(--text-bright)}i,em{font-style:italic}mark{font-size:var(--text-sm);padding:var(--s1) var(--s3);margin:0;background-color:var(--bg-inline-code);color:var(--text-code);font-weight:600;border-radius:var(--s2)}a{color:var(--text-link);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--border-light);transition-property:color,text-decoration-color,background-color,opacity;transition-duration:var(--duration);transition-timing-function:var(--ease);&:hover,&:focus-visible{color:var(--text-link-hover);text-decoration-color:var(--text-link-hover)}strong,code{color:inherit}}button,.button{display:inline-block;padding-inline:var(--s6);padding-block:var(--s3);background-color:var(--bg-button);color:var(--text-button);border-radius:9999px;font-weight:600;font-size:var(--text-base);text-decoration:none;transition:background-color var(--duration) var(--ease);&:hover,&:focus-visible{background-color:var(--bg-button-hover);color:var(--text-button)}}blockquote{margin-block:var(--s8);padding-block:var(--s8);border-left:4px solid var(--border-accent);background-color:var(--bg-blockquote);font-style:italic;quotes:"\201c" "\201d" "\2018" "\2019";line-height:1.3;font-weight:400;p{font-size:var(--text-xl);margin-inline-start:var(--s6);&:first-of-type:before{content:open-quote}&:last-of-type{margin-block-end:0}&:last-of-type:after{content:close-quote}}strong,code{color:inherit}}pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.3;margin-block:var(--s8);padding:var(--s12);border-radius:0;overflow-x:auto;max-inline-size:var(--measure-code);border-block:1px solid var(--border-light);background-color:var(--bg-code);color:var(--text-code);white-space:pre-wrap;overflow-wrap:break-word;>code{background:transparent;border-width:0;border-radius:0;padding:0;margin:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;word-break:inherit;white-space:inherit}}code{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--s1) var(--s3);margin:0;background-color:var(--bg-inline-code);color:var(--text-code);border-radius:var(--s2);word-break:normal;white-space:nowrap}ol,ul{list-style-position:inside;margin:var(--s8) 0;padding-left:var(--s2);ul,ol{margin:var(--s3) 0}}ol{list-style-type:decimal;>li{padding-left:0;p{margin:var(--s3) 0}>*:first-child:not(br){margin-block:var(--s3)}}}ul{list-style-type:disc;>li{padding-left:0;p{margin:var(--s3) 0}>*:first-child:not(br){margin-block:var(--s3)}}}li{margin-block:0}li+li{margin-top:var(--s2)}table{font-size:var(--text-sm);width:100%;table-layout:auto;text-align:left;margin-block:var(--s8)}thead{border-bottom:1px solid var(--border-accent);th{padding:0 var(--s3) var(--s3);font-weight:600;vertical-align:bottom;&:first-child{padding-right:0}strong,code{color:inherit}}}tbody{tr{border-bottom:1px solid currentColor;&:last-child{border-bottom:none}}td{padding:var(--s3);&:first-child{padding-left:0}&:last-child{padding-right:0}}}tfoot{border-top:1px solid currentColor;td{vertical-align:top;padding:var(--s3);&:first-child{padding-left:0}&:last-child{padding-right:0}}}hr{margin:var(--s8) 0;border-color:var(--border-accent);border-top-width:1px;+*{margin-top:0}}figcaption{font-size:var(--text-sm);line-height:1.3;margin-top:var(--s3)}.icon{width:1em;height:1em}[title]{text-decoration:underline}}@layer base{pre code.hljs{display:block;overflow-x:auto;line-height:1.625;--hljs-text: light-dark(#4c4f69, #cdd6f4);--hljs-keyword: light-dark(#d20f39, #f38ba8);--hljs-title: light-dark(#8839ef, #cba6f7);--hljs-constant: light-dark(#1e66f5, #89b4fa);--hljs-string: light-dark(#40a02b, #a6e3a1);--hljs-builtin: light-dark(#fe640b, #fab387);--hljs-comment: light-dark(#9ca0b0, #6c7086);--hljs-tag: light-dark(#179299, #94e2d5);--hljs-addition-text: light-dark(#40a02b, #a6e3a1);--hljs-addition-bg: light-dark(#e8f5e9, #1e3a2e);--hljs-deletion-text: light-dark(#d20f39, #f38ba8);--hljs-deletion-bg: light-dark(#fce4ec, #3a1e26)}.hljs{color:var(--hljs-text)}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--hljs-keyword)}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--hljs-title)}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--hljs-constant)}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--hljs-string)}.hljs-built_in,.hljs-symbol{color:var(--hljs-builtin)}.hljs-comment,.hljs-code,.hljs-formula{color:var(--hljs-comment)}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--hljs-tag)}.hljs-subst{color:var(--hljs-text)}.hljs-section{color:var(--hljs-constant);font-weight:700}.hljs-bullet{color:var(--hljs-builtin)}.hljs-emphasis{color:var(--hljs-text);font-style:italic}.hljs-strong{color:var(--hljs-text);font-weight:700}.hljs-addition{color:var(--hljs-addition-text);background-color:var(--hljs-addition-bg)}.hljs-deletion{color:var(--hljs-deletion-text);background-color:var(--hljs-deletion-bg)}}@layer pages{:root{counter-reset:section}@counter-style decimal-leading-zero{system:fixed;symbols:"01" "02" "03" "04" "05" "06" "07" "08" "09"}nav{display:flex;align-items:center;padding-block:var(--s6);padding-inline:var(--padding-measure);gap:var(--s4);background:linear-gradient(to bottom,light-dark(#fff,#000) 0%,transparent 100%);.title{font-size:var(--text-xl);font-weight:600;color:inherit;text-decoration:none;transition:color var(--duration) var(--ease);&:hover,&:focus-visible{color:var(--text-link)}}ul.link-list{margin-left:auto;justify-self:stretch}}footer{display:flex;flex-direction:column;background:var(--bg-footer);margin-block-start:var(--s16);padding-block:var(--s12);padding-inline:var(--padding-measure);>*+*{margin-block-start:var(--s6)}p{margin:0}a{text-decoration:none}.footer-message{opacity:.7;font-size:var(--text-sm)}@media(min-width:768px){flex-direction:row;justify-content:space-between;align-items:center;>*{margin-top:0}>:last-child{display:flex;flex-direction:column;align-items:end;text-align:right}.footer-message{margin-top:var(--s2)}}}.link-list{list-style-type:none;display:flex;gap:var(--s4);font-size:var(--text-sm);margin:0;padding:0;li{margin:0}a{color:inherit;font-weight:inherit;text-decoration:none;transition:color var(--duration) var(--ease);&:hover,&:focus-visible{color:var(--text-link)}}}header{max-inline-size:var(--measure);margin-inline:auto;margin-block:var(--s8) var(--s16);padding-inline:var(--s3);.back-link{text-decoration:none;font-size:var(--text-sm);font-weight:500}h1{margin-block:var(--s12) var(--s6)}.subtitle{font-size:var(--text-xl);font-weight:400}@media(min-width:768px){margin-block:var(--s16) var(--s32)}}}@layer pages{.hero{display:flex;flex-direction:column;gap:var(--s8);align-items:center;text-align:center;@media(min-width:768px){text-align:left;align-items:flex-start;flex-direction:row}img{width:var(--s40);height:var(--s40);border-radius:var(--s4);object-fit:cover;outline:4px solid var(--border-light);margin-block:var(--s12) var(--s8)}h1{font-size:var(--text-3xl);margin-block-end:var(--s2);@media(min-width:768px){font-size:var(--text-4xl)}}p{margin-block-end:var(--s4);line-height:1.625;@media(min-width:768px){font-size:var(--text-lg)}}.pronouns{font-size:var(--text-sm);opacity:.7}p:last-of-type{opacity:.7;font-size:var(--text-base)}}.socials{display:flex;gap:var(--s4);justify-content:center;margin-block-start:var(--s8);@media(min-width:768px){justify-content:flex-start;margin-block-start:var(--s4)}a{width:var(--s12);height:var(--s12);font-size:var(--text-2xl);text-decoration:none;display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--bg-socials);&:hover,&:focus-visible{background-color:var(--bg-socials-hover)}}}section{padding-block:var(--s8);&.alt{background-color:var(--bg-section-alternate);--bg-list-hover: var(--bg-list-hover-alt)}h2,.content{max-inline-size:var(--measure);padding-inline:var(--s3);margin-inline:auto}p{line-height:1.625}@media(min-width:768px){padding-block:var(--s16)}}.grid{max-inline-size:none;padding-inline:max(var(--s3),var(--padding-measure) - var(--s6));list-style-type:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--measure) / 2 - var(--s8)),1fr));gap:var(--s8);>*{display:flex;flex-direction:column;background-color:var(--bg-grid-item);border-radius:1rem;padding:var(--s6);margin:0;transition-property:box-shadow,background-color;transition-duration:var(--duration);transition-timing-function:var(--ease);&:hover,&:focus-visible{box-shadow:var(--shadow-box);background-color:var(--bg-grid-item-hover)}h3{font-size:var(--text-xl);font-weight:600}>*{margin-block:0}>*+*{margin-block-start:var(--s3)}>:last-child{margin-block-start:auto}}}.list{max-inline-size:none;>*{display:flex;gap:var(--s4);max-inline-size:none;padding-block:var(--s6);--padding: max(var(--s3), var(--padding-measure) - var(--s24));padding-inline-start:var(--padding);padding-inline-end:max(var(--s3),100vw - var(--padding) - var(--measure) - var(--s24));border-left:4px solid var(--border-accent);transition:background-color var(--duration) var(--ease);&:hover,&:focus-visible{background-color:var(--bg-list-hover)}}>*+*{margin-block-start:var(--s4)}h3{font-size:var(--text-lg);font-weight:600}a{text-decoration:none}article{font-size:var(--text-base);>*{margin-block:0}>*+*{margin-block-start:var(--s1)}}time{flex:0 0 6ch;font-size:var(--text-sm);opacity:.5;font-family:var(--font-mono);margin-block:var(--s1)}p{font-size:var(--text-sm);opacity:.8}.tags{margin-block-start:var(--s2);padding-inline:var(--s3)}}.contact{background-color:var(--bg-contact);margin-bottom:calc(-1 * var(--s16));.content{font-size:var(--text-lg);@media(min-width:768px){font-size:var(--text-xl)}}}}@layer pages{article{line-height:1.625;>*{margin-inline:auto;padding-inline:var(--s3)}h2:before{counter-increment:section;content:counter(section,decimal-leading-zero);margin-right:var(--s5);color:var(--text-muted)}blockquote{color:var(--text-bright)}blockquote,pre{max-inline-size:none;padding-inline:var(--padding-measure);>*{max-inline-size:var(--measure);margin-inline:auto}}pre code{display:block}img{border-radius:var(--s2);outline:4px solid var(--border-light);box-shadow:var(--shadow-box)}}.post-meta{display:flex;flex-wrap:wrap;align-items:center;font-size:var(--text-sm);color:var(--text-color);opacity:.7;*+*{margin-left:var(--s4);&:before{display:inline-block;content:"\2022";margin-right:var(--s4)}}}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2);margin-block:var(--s6) 0;padding:0;li{display:inline-block;border-radius:9999px;padding:var(--s1) var(--s2);margin-block:0;font-size:var(--text-xs);font-weight:600;background-color:var(--bg-tag)}}.lead{max-inline-size:none;padding-inline:var(--padding-measure);>*{max-inline-size:var(--measure);margin-inline:auto}}.author{display:flex;align-items:center;flex-direction:column;max-inline-size:var(--measure);margin-block:var(--s20) var(--s16);max-inline-size:none;padding-block:var(--s12);padding-inline:var(--padding-measure);background-color:var(--bg-author);border-block:2px solid var(--border-light);gap:var(--s6);img{width:var(--s24);height:var(--s24);margin-top:var(--s3);border-radius:var(--box-radius);object-fit:cover;box-shadow:var(--shadow-box)}>:last-child{align-items:center;text-align:center}h3{margin:0;font-size:var(--text-2xl)}p{margin-block:var(--s3) 0;font-size:var(--text-lg)}a{font-size:var(--text-base);text-decoration:none}@media(min-width:768px){flex-direction:row;align-items:flex-start;margin-inline:auto;>:last-child{align-items:flex-start;text-align:left}}}.prev-next{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s6);max-inline-size:var(--measure);margin-block:var(--s12);padding-inline:var(--s3);background:transparent;a{display:flex;flex-direction:column;text-decoration:none;flex:1 1 50%;&:hover .title{color:var(--text-link)}}.label{font-size:var(--text-sm);color:var(--text-color);opacity:.7}.title{font-size:var(--text-lg);font-weight:600;color:var(--text-color);transition:color var(--duration) var(--ease)}@media(min-width:768px){flex-direction:row;justify-content:space-between;gap:var(--s12);margin:var(--s24) auto;.label{margin-bottom:var(--s2)}>:last-child{text-align:right}}}}@layer components{theme-switcher{--size: calc(var(--s2) * 2 + var(--text-xl) + 3px * 2);width:var(--size);height:var(--size)}.theme-switcher-btn{padding:var(--s2);border:3px solid transparent;border-radius:9999px;font-size:var(--text-xl);background-color:transparent;color:inherit;transform:rotate(0);transition:transform var(--duration) var(--ease);&:hover,&:focus-visible{color:var(--text-link);border-color:var(--text-color);background-color:transparent;transform:rotate(15deg)}}}
