*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;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{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--font-size-xl: clamp(2.44rem, 2.38vw + 1.85rem, 3.25rem);--color-heading: #ffffff;--color-text: rgb(158, 158, 158);--color-link: #ffffff;--color-bg: #0d0d0d;--color-border: var(--color-text);--grid-width: 80rem;--content-width: 30rem}html{font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.6;padding:3rem 40px 80px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(min-width:801px){html{padding-left:60px;padding-right:60px}}body{margin:0}h1,h2,h3,h4{font-family:"Source Serif 4",serif;font-weight:400;color:var(--color-heading);margin-bottom:1.5rem;line-height:1.2}h1{font-size:var(--font-size-xl)}h2{font-size:1.625rem}h3{font-size:1.3rem}code{font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace}.grid{max-width:var(--grid-width);margin:0 auto}.content{max-width:var(--content-width)}.enter{--enter-duration: 1s;--enter-distance: 3rem;--enter-delay-base: .2s;--stagger-step: 0;--move: var(--enter-distance);animation:fade-in var(--enter-duration) var(--ease-slow) backwards,slide-in-up var(--enter-duration) var(--ease-entrance) backwards;animation-delay:calc(var(--enter-delay-base) * var(--stagger-step)),calc(var(--enter-delay-base) * var(--stagger-step))}@media(prefers-reduced-motion:reduce){.enter{animation:none}}::view-transition-old(page-content){animation:fade-out var(--time3) var(--ease-exit) forwards,slide-out-up-subtle var(--time3) var(--ease-exit) forwards}::view-transition-new(page-content){animation:fade-in var(--time6) var(--ease-slow) backwards,slide-in-up-subtle var(--time6) var(--ease-entrance) backwards}@media(prefers-reduced-motion:reduce){::view-transition-old(page-content),::view-transition-new(page-content){animation:none}}.text-sm{color:#ffffffe6;font-size:.875rem;line-height:1.375rem;& strong,b{color:#fff}}.button{background:transparent;border:1px solid var(--color-border);border-radius:4px;color:#fff;cursor:pointer}.button-icon-lg{width:3rem;height:3rem;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#080808f2;color:#fff;cursor:pointer}.button-icon-lg:is(:hover,:focus-visible){border-color:#ffffffbf}a,a:visited{color:#fff;text-underline-offset:.2rem;&:hover,&:focus-visible{color:#ffffffe6}}.divider{height:1px;width:2.5rem;background-color:#555;margin:2rem 0}:root{--scale-down: .8;--scale-down-subtle: .9;--scale-down-exaggerated: .5;--move: 90px;--move-subtle: 30px;--move-exaggerated: 125px;--ease-slow: cubic-bezier(.35, 0, .5, 1);--ease-quick: cubic-bezier(.35, 0, .25, 1);--ease-entrance: cubic-bezier(0, 0, .1, 1);--ease-exit: cubic-bezier(.35, 0, .8, 1);--ease-spirited: cubic-bezier(.35, 1.3, .3, 1);--ease-spirited-entrance: cubic-bezier(.15, 1.3, .3, 1);--ease-spirited-exit: cubic-bezier(.7, -.1, .6, .1);--ease-slow-exit: cubic-bezier(.9, 0, 1 ,1);--time0: 0s;--time1: .05s;--time2: .1s;--time3: .15s;--time4: .25s;--time5: .35s;--time6: .5s;--time7: .75s;--time8: 1s;--time9: 1.5s;--time10: 2s;--time11: 3s;--time12: 4s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes grow-in{0%{transform:scale(var(--scale-down))}to{transform:scale(1)}}@keyframes grow-in-subtle{0%{transform:scale(var(--scale-down-subtle))}to{transform:scale(1)}}@keyframes grow-in-exaggerated{0%{transform:scale(var(--scale-down-exaggerated))}to{transform:scale(1)}}@keyframes slide-in-down{0%{transform:translateY(calc(-1 * var(--move)))}to{transform:translateY(0)}}@keyframes slide-in-down-subtle{0%{transform:translateY(calc(-1 * var(--move-subtle)))}to{transform:translateY(0)}}@keyframes slide-in-down-exaggerated{0%{transform:translateY(calc(-1 * var(--move-exaggerated)))}to{transform:translateY(0)}}@keyframes slide-in-up{0%{transform:translateY(var(--move))}to{transform:translateY(0)}}@keyframes slide-in-up-subtle{0%{transform:translateY(var(--move-subtle))}to{transform:translateY(0)}}@keyframes slide-in-up-exaggerated{0%{transform:translateY(var(--move-exaggerated))}to{transform:translateY(0)}}@keyframes slide-in-left{0%{transform:translate(var(--move))}to{transform:translate(0)}}@keyframes slide-in-left-subtle{0%{transform:translate(var(--move-subtle))}to{transform:translate(0)}}@keyframes slide-in-left-exaggerated{0%{transform:translate(var(--move-exaggerated))}to{transform:translate(0)}}@keyframes slide-in-right{0%{transform:translate(calc(-1 * var(--move)))}to{transform:translate(0)}}@keyframes slide-in-right-subtle{0%{transform:translate(calc(-1 * var(--move-subtle)))}to{transform:translate(0)}}@keyframes slide-in-right-exaggerated{0%{transform:translate(calc(-1 * var(--move-exaggerated)))}to{transform:translate(0)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes shrink-out{0%{transform:scale(1)}to{transform:scale(var(--scale-down))}}@keyframes shrink-out-subtle{0%{transform:scale(1)}to{transform:scale(var(--scale-down-subtle))}}@keyframes shrink-out-exaggerated{0%{transform:scale(1)}to{transform:scale(var(--scale-down-exaggerated))}}@keyframes slide-out-down{0%{transform:translateY(0)}to{transform:translateY(var(--move))}}@keyframes slide-out-down-subtle{0%{transform:translateY(0)}to{transform:translateY(var(--move-subtle))}}@keyframes slide-out-down-exaggerated{0%{transform:translateY(0)}to{transform:translateY(var(--move-exaggerated))}}@keyframes slide-out-up{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--move)))}}@keyframes slide-out-up-subtle{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--move-subtle)))}}@keyframes slide-out-up-exaggerated{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--move-exaggerated)))}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--move)))}}@keyframes slide-out-left-subtle{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--move-subtle)))}}@keyframes slide-out-left-exaggerated{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--move-exaggerated)))}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(var(--move))}}@keyframes slide-out-right-subtle{0%{transform:translate(0)}to{transform:translate(var(--move-subtle))}}@keyframes slide-out-right-exaggerated{0%{transform:translate(0)}to{transform:translate(var(--move-exaggerated))}}.fade-in{animation:fade-in var(--time5) var(--ease-slow) backwards}.grow-in{animation:fade-in var(--time4) var(--ease-slow) backwards,grow-in var(--time7) var(--ease-spirited-entrance) backwards}.grow-in-subtle{animation:fade-in var(--time4) var(--ease-slow) backwards,grow-in-subtle var(--time4) var(--ease-exit) backwards}.grow-in-exaggerated{animation:fade-in var(--time4) var(--ease-slow) backwards,grow-in-exaggerated var(--time7) var(--ease-spirited-entrance) backwards}.slide-in-down{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-down var(--time5) var(--ease-entrance) backwards}.slide-in-down-subtle{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-down-subtle var(--time4) var(--ease-entrance) backwards}.slide-in-down-exaggerated{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-down-exaggerated var(--time5) var(--ease-entrance) backwards}.slide-in-down-overshoot{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-down var(--time7) var(--ease-spirited-entrance) backwards}.slide-in-down-theatric{animation:fade-in var(--time7) var(--ease-slow) backwards,slide-in-down-exaggerated var(--time7) var(--ease-entrance) backwards}.slide-in-up{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-up var(--time5) var(--ease-entrance) backwards}.slide-in-up-subtle{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-up-subtle var(--time4) var(--ease-entrance) backwards}.slide-in-up-exaggerated{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-up-exaggerated var(--time5) var(--ease-entrance) backwards}.slide-in-up-overshoot{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-up var(--time7) var(--ease-spirited-entrance) backwards}.slide-in-up-theatric{animation:fade-in var(--time7) var(--ease-slow) backwards,slide-in-up-exaggerated var(--time7) var(--ease-entrance) backwards}.slide-in-left{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-left var(--time5) var(--ease-entrance) backwards}.slide-in-left-subtle{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-left-subtle var(--time4) var(--ease-entrance) backwards}.slide-in-left-exaggerated{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-left-exaggerated var(--time5) var(--ease-entrance) backwards}.slide-in-left-overshoot{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-left var(--time7) var(--ease-spirited-entrance) backwards}.slide-in-left-theatric{animation:fade-in var(--time7) var(--ease-slow) backwards,slide-in-left-exaggerated var(--time7) var(--ease-entrance) backwards}.slide-in-right{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-right var(--time5) var(--ease-entrance) backwards}.slide-in-right-subtle{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-right-subtle var(--time4) var(--ease-entrance) backwards}.slide-in-right-exaggerated{animation:fade-in var(--time5) var(--ease-slow) backwards,slide-in-right-exaggerated var(--time5) var(--ease-entrance) backwards}.slide-in-right-overshoot{animation:fade-in var(--time4) var(--ease-slow) backwards,slide-in-right var(--time7) var(--ease-spirited-entrance) backwards}.slide-in-right-theatric{animation:fade-in var(--time7) var(--ease-slow) backwards,slide-in-right-exaggerated var(--time7) var(--ease-entrance) backwards}.fade-out{animation:fade-out var(--time4) var(--ease-slow) forwards}.shrink-out{animation:fade-out var(--time4) var(--ease-slow) forwards,shrink-out var(--time5) var(--ease-exit) forwards}.shrink-out-subtle{animation:fade-out var(--time4) var(--ease-slow) forwards,shrink-out-subtle var(--time4) var(--ease-exit) forwards}.shrink-out-exaggerated{animation:fade-out var(--time4) var(--ease-slow) forwards,shrink-out-exaggerated var(--time5) var(--ease-exit) forwards}.slide-out-down{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-down var(--time4) var(--ease-exit) forwards}.slide-out-down-subtle{animation:fade-out var(--time3) var(--ease-slow) forwards,slide-out-down-subtle var(--time3) var(--ease-exit) forwards}.slide-out-down-exaggerated{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-down-exaggerated var(--time4) var(--ease-exit) forwards}.slide-out-down-overshoot{animation:fade-out var(--time6) var(--ease-slow) var(--time4) forwards,slide-out-down var(--time7) var(--ease-spirited-exit) forwards}.slide-out-down-theatric{animation:fade-out var(--time6) var(--ease-slow) forwards,slide-out-down var(--time6) var(--ease-slow-exit) forwards}.slide-out-up{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-up var(--time4) var(--ease-exit) forwards}.slide-out-up-subtle{animation:fade-out var(--time3) var(--ease-slow) forwards,slide-out-up-subtle var(--time3) var(--ease-exit) forwards}.slide-out-up-exaggerated{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-up-exaggerated var(--time4) var(--ease-exit) forwards}.slide-out-up-overshoot{animation:fade-out var(--time6) var(--ease-slow) var(--time4) forwards,slide-out-up var(--time7) var(--ease-spirited-exit) forwards}.slide-out-up-theatric{animation:fade-out var(--time6) var(--ease-slow) forwards,slide-out-up var(--time6) var(--ease-slow-exit) forwards}.slide-out-left{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-left var(--time4) var(--ease-exit) forwards}.slide-out-left-subtle{animation:fade-out var(--time3) var(--ease-slow) forwards,slide-out-left-subtle var(--time3) var(--ease-exit) forwards}.slide-out-left-exaggerated{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-left-exaggerated var(--time4) var(--ease-exit) forwards}.slide-out-left-overshoot{animation:fade-out var(--time6) var(--ease-slow) var(--time4) forwards,slide-out-left var(--time7) var(--ease-spirited-exit) forwards}.slide-out-left-theatric{animation:fade-out var(--time6) var(--ease-slow) forwards,slide-out-left var(--time6) var(--ease-slow-exit) forwards}.slide-out-right{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-right var(--time4) var(--ease-exit) forwards}.slide-out-right-subtle{animation:fade-out var(--time3) var(--ease-slow) forwards,slide-out-right-subtle var(--time3) var(--ease-exit) forwards}.slide-out-right-exaggerated{animation:fade-out var(--time4) var(--ease-slow) forwards,slide-out-right-exaggerated var(--time4) var(--ease-exit) forwards}.slide-out-right-overshoot{animation:fade-out var(--time6) var(--ease-slow) var(--time4) forwards,slide-out-right var(--time7) var(--ease-spirited-exit) forwards}.slide-out-right-theatric{animation:fade-out var(--time6) var(--ease-slow) forwards,slide-out-right var(--time6) var(--ease-slow-exit) forwards}.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}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@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}}
