@font-face{font-family:mainFont;src:url(../media/MartianGrotesk_VFVF-s.p.0omnog58_7crx.woff2)format("woff2");font-display:fallback}@font-face{font-family:mainFont Fallback;src:local(Arial);ascent-override:76.9%;descent-override:15.38%;line-gap-override:0.0%;size-adjust:130.04%}.mainfont_5357517e-module__WrQbua__className{font-family:mainFont,mainFont Fallback}.mainfont_5357517e-module__WrQbua__variable{--font-family:"mainFont", "mainFont Fallback"}
@font-face{font-family:monoFont;src:url(../media/MartianMono_Regular-s.p.09~8z7-jt7t.q.woff2)format("woff2");font-display:fallback}@font-face{font-family:monoFont Fallback;src:local(Arial);ascent-override:65.19%;descent-override:13.04%;line-gap-override:0.0%;size-adjust:153.41%}.monofont_a12f811e-module__5nTflq__className{font-family:monoFont,monoFont Fallback}.monofont_a12f811e-module__5nTflq__variable{--font-family-mono:"monoFont", "monoFont Fallback"}
@keyframes Logo-module__5H8fwW__logo-sun{0%{opacity:1}25%{opacity:0}50%{opacity:0}to{opacity:0}}@keyframes Logo-module__5H8fwW__logo-sunset{0%{opacity:0}25%{opacity:1}50%{opacity:0}to{opacity:0}}@keyframes Logo-module__5H8fwW__logo-haze-moon{0%{opacity:0}25%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes Logo-module__5H8fwW__logo-moon-stars{0%{opacity:0}25%{opacity:0}50%{opacity:0}to{opacity:1}}.Logo-module__5H8fwW__wrapper{letter-spacing:0.12%;will-change:transform;flex-direction:row;font-size:1.25rem;font-weight:600;text-decoration:none;transition:font-weight .4s,transform .4s;display:flex}.Logo-module__5H8fwW__wrapper>div:first-child{display:inline-block;transform:rotate(355deg)}.Logo-module__5H8fwW__wrapper>div:last-child{display:inline-block;transform:rotate(5deg)}.Logo-module__5H8fwW__wrapper>div:nth-child(2){display:grid}.Logo-module__5H8fwW__wrapper>div:nth-child(2)>svg{opacity:0;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;grid-area:1/1;animation-timeline:scroll(root)}.Logo-module__5H8fwW__wrapper>div:nth-child(2)>svg:first-child{opacity:1;animation-name:Logo-module__5H8fwW__logo-sun}.Logo-module__5H8fwW__wrapper>div:nth-child(2)>svg:nth-child(2){animation-name:Logo-module__5H8fwW__logo-sunset}.Logo-module__5H8fwW__wrapper>div:nth-child(2)>svg:nth-child(3){animation-name:Logo-module__5H8fwW__logo-haze-moon}.Logo-module__5H8fwW__wrapper>div:nth-child(2)>svg:nth-child(4){animation-name:Logo-module__5H8fwW__logo-moon-stars}@media (min-width:35rem){.Logo-module__5H8fwW__wrapper{font-size:1.5rem}}.Logo-module__5H8fwW__wrapper:hover svg{stroke:var(--color-fg-complementary)}@media (pointer:fine){.Logo-module__5H8fwW__wrapper:hover{font-weight:900;transition:font-weight .1s,transform .1s;transform:translate(-1px)}}@media (pointer:fine) and (max-width:35rem){.Logo-module__5H8fwW__wrapper[data-mobile-alignment=center]:hover{transform:translate(0)}}
.DecorativeSwoops-module__qtuzYa__wrapper{--stroke-color:var(--color-fg-tertiary);--stroke-width:3px;background:repeating-linear-gradient(75deg, var(--stroke-color) 0px var(--stroke-width), transparent var(--stroke-width) 10px), var(--color-bg-secondary);width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.DecorativeSwoops-module__qtuzYa__blocker{inset:calc(var(--stroke-width) * -1);width:calc(100% + 4px);min-width:800px;height:80%;max-width:revert;position:absolute}.DecorativeSwoops-module__qtuzYa__blocker path{fill:var(--color-bg-secondary);stroke:var(--stroke-color);stroke-width:var(--stroke-width)}
.Footer-module__N-jXLa__wrapper{text-align:center;justify-content:center;display:flex;position:relative}.Footer-module__N-jXLa__content{width:100%;max-width:var(--content-width);padding:0 var(--viewport-padding);flex-direction:column;align-items:center;gap:64px;padding-bottom:48px;display:flex;position:relative}@media (min-width:35rem){.Footer-module__N-jXLa__wrapper{text-align:revert;padding-bottom:64px}.Footer-module__N-jXLa__content{flex-direction:row;justify-content:space-between;align-items:baseline;gap:32px}}
.VisuallyHidden-module__hEIg9W__wrapper{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@keyframes Header-module__xqJ6RW__header-bg{0%{background:0 0}to{background:var(--color-bg-secondary)}}.Header-module__xqJ6RW__container{z-index:3;animation:linear both Header-module__xqJ6RW__header-bg;animation-timeline:scroll(root);animation-duration:auto;animation-range:0 50vh;position:sticky;top:0}.Header-module__xqJ6RW__wrapper{height:var(--header-height);width:100%;max-width:var(--content-width);padding:0 var(--viewport-padding);justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;display:flex;position:relative}.Header-module__xqJ6RW__actions{align-items:center;display:flex}.Header-module__xqJ6RW__action{cursor:pointer;background:0 0;border:none;border-radius:1000px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:background .2s;display:flex}.Header-module__xqJ6RW__action:hover{background:var(--color-bg-primary);color:var(--color-fg-complementary)}.Header-module__xqJ6RW__action svg{display:block}
:root{--purple-100:#fbf1fe;--purple-200:#ecbef6;--purple-300:#cd7ddf;--yellow-100:#ffd244;--neutral-100:#3d3d3d;--neutral-200:#1b1b1b}@supports (color:lab(0% 0 0)){:root{--purple-100:lab(96.2564% 5.24753 -4.81789);--purple-200:lab(82.5156% 23.8526 -21.3117);--purple-300:lab(63.9846% 43.0989 -37.2515);--yellow-100:lab(86.4723% 7.88522 79.1955);--neutral-100:lab(25.76% -.0000149012 0);--neutral-200:lab(9.52% -.00000745058 0)}}[data-color-theme=purple]{--color-fg-primary:var(--purple-100);--color-fg-secondary:var(--purple-200);--color-fg-tertiary:var(--purple-300);--color-fg-complementary:var(--yellow-100);--color-bg-primary:var(--neutral-100);--color-bg-secondary:var(--neutral-200)}
*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}html{--content-width:55rem;--outer-content-width:80rem;--viewport-padding:1rem;--header-height:5rem;--radius:1rem;--trimmed-content-width:calc(var(--content-width) - var(--viewport-padding) * 2)}@media (min-width:35rem){html{--viewport-padding:2rem}}::selection{background-image:none!important;background-clip:revert!important;-webkit-background-clip:revert!important;text-shadow:none!important}html{color:var(--color-fg-primary);font-family:var(--font-family);letter-spacing:0.12%;background:var(--color-bg-secondary)}body{background:var(--color-bg-secondary);flex-direction:column;min-height:100svh;display:flex}body:before{content:"";z-index:0;height:50vh;position:absolute;top:0;left:0;right:0}body>main{flex:1;position:relative}em{font-style:italic}code{font-family:var(--font-family-mono)}h1{font-size:1.75rem;font-weight:700}h2{margin-top:2em;margin-bottom:.5em;font-size:1.5rem;font-weight:600}h3{margin-top:2em;margin-bottom:.5em;font-size:1.25rem;font-weight:500}p{margin-bottom:1.875rem;font-size:1.25rem}p code{background:var(--color-bg-primary);border-radius:3px;margin:-.25rem -.063rem;padding:.25rem .375rem;font-size:1rem;display:inline-block}a{color:var(--color-fg-secondary);-webkit-text-decoration-color:var(--color-fg-complementary);text-decoration-color:var(--color-fg-complementary);text-underline-offset:.125em;font-weight:500;text-decoration-thickness:2px;transition:all .2s}a:hover{text-underline-offset:.175em;color:var(--color-fg-tertiary)}button{padding:0}@media (min-width:35rem){h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}details:not([open]){margin-bottom:1.5em}kbd{background:var(--color-bg-primary);border-radius:.25rem;padding:.25rem}video{border:thin var(--color-fg-tertiary) solid;border-radius:var(--radius);object-fit:contain;height:auto;margin-bottom:1.5em;padding:.5rem}hr{margin-block:1rem}sup:target,h2:target,h3:target,li:target{scroll-margin-top:var(--header-height)}:is(h2,h3) a{text-decoration:none}:is(h2,h3) a:after{content:" #";opacity:0}:is(h2,h3) a:hover,:is(h2,h3) a:focus,:is(h2,h3) a:target{-webkit-text-decoration:underline var(--color-fg-complementary);text-decoration:underline var(--color-fg-complementary)}:is(:is(h2,h3) a:hover,:is(h2,h3) a:focus,:is(h2,h3) a:target):after{opacity:1;color:var(--color-fg-complementary)}ol{padding-inline-start:0}ol li{counter-increment:footnotes;grid-template-columns:auto 1fr auto;gap:1rem;display:grid}ol li:before{content:counter(footnotes) "."}ol li>*{min-width:0}ol li>:last-child{font-size:1.5rem}
