.logo[data-astro-cid-f7espo7c]{align-items:baseline;gap:var(--space-2xs);z-index:1;display:flex}.logo-heading[data-astro-cid-f7espo7c]{font-size:var(--step-1);font-family:var(--font-mono);font-weight:var(--font-bold);color:var(--color-text-logo);text-shadow:0px 0px 2px var(--color-shaka-dark);position:relative}svg[data-astro-cid-f7espo7c]{height:var(--step-1);width:fit-content}.ui-button{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--button-gap);min-block-size:var(--button-min-block-size);padding-block:var(--button-padding-block);padding-inline:var(--button-padding-inline);border:1px solid var(--button-border);border-radius:var(--border-radius);appearance:none;background-color:var(--button-bg);color:var(--button-text);font:inherit;font-weight:var(--font-medium);text-align:center;cursor:pointer;transition:background-color var(--transition-duration-turbo) ease-in-out, border-color var(--transition-duration-turbo) ease-in-out, color var(--transition-duration-turbo) ease-in-out;line-height:1.2;display:inline-flex}.ui-button--primary{--button-bg:var(--color-button-primary-bg);--button-bg-hover:var(--color-button-primary-bg-hover);--button-bg-active:var(--color-button-primary-bg-active);--button-border:transparent;--button-text:var(--color-button-text);--button-disabled-bg:var(--color-button-disabled-bg);--button-disabled-border:transparent;--button-disabled-text:var(--color-button-disabled-text)}.ui-button--secondary{--button-bg:var(--color-button-secondary-bg);--button-bg-hover:var(--color-button-secondary-bg-hover);--button-bg-active:var(--color-button-secondary-bg-active);--button-border:var(--color-button-secondary-border);--button-text:var(--color-button-secondary-text);--button-disabled-bg:transparent;--button-disabled-border:var(--color-button-disabled-border);--button-disabled-text:var(--color-button-disabled-text)}.ui-button--tertiary{--button-bg:var(--color-button-tertiary-bg);--button-bg-hover:var(--color-button-tertiary-bg-hover);--button-bg-active:var(--color-button-tertiary-bg-active);--button-border:transparent;--button-text:var(--color-button-tertiary-text);--button-disabled-bg:transparent;--button-disabled-border:transparent;--button-disabled-text:var(--color-button-disabled-text)}.ui-button--danger{--button-bg:var(--color-button-danger-bg);--button-bg-hover:var(--color-button-danger-bg-hover);--button-bg-active:var(--color-button-danger-bg-active);--button-border:transparent;--button-text:var(--color-button-danger-text);--button-disabled-bg:var(--color-button-disabled-bg);--button-disabled-border:transparent;--button-disabled-text:var(--color-button-disabled-text)}.ui-button:hover:not(:disabled){background-color:var(--button-bg-hover)}.ui-button:active:not(:disabled){background-color:var(--button-bg-active)}.ui-button:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.ui-button:disabled{border-color:var(--button-disabled-border);background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed}.ui-button--sm{--button-min-block-size:2.25rem;--button-padding-block:var(--space-2xs);--button-padding-inline:var(--space-xs);--button-gap:var(--space-3xs)}.ui-button--md{--button-min-block-size:2.75rem;--button-padding-block:var(--space-xs);--button-padding-inline:var(--space-s);--button-gap:var(--space-2xs)}.ui-button--lg{--button-min-block-size:3.25rem;--button-padding-block:var(--space-s);--button-padding-inline:var(--space-m);--button-gap:var(--space-xs)}.ui-button--full-width{inline-size:100%}.ui-button-icon{flex:none;justify-content:center;align-items:center;block-size:1em;inline-size:1em;line-height:0;display:inline-flex}.ui-button-icon svg{block-size:100%;inline-size:100%;display:block}.ui-button-label{min-inline-size:0}a.ui-button:any-link{color:var(--button-text);text-decoration:none}.ui-icon-button{inline-size:var(--button-min-block-size);min-inline-size:var(--button-min-block-size);block-size:var(--button-min-block-size);padding:0}.ui-icon-button.ui-button--sm{--icon-button-icon-size:1rem}.ui-icon-button.ui-button--md{--icon-button-icon-size:1.25rem}.ui-icon-button.ui-button--lg{--icon-button-icon-size:1.5rem}.ui-icon-button .ui-button-icon{inline-size:var(--icon-button-icon-size);block-size:var(--icon-button-icon-size)}.ui-button{position:relative}.ui-button-content{justify-content:center;align-items:center;gap:var(--button-gap);min-inline-size:0;display:inline-flex}.ui-button-spinner{border:.125em solid;border-inline-end-color:#0000;border-radius:50%;block-size:1em;inline-size:1em;animation:.75s linear infinite ui-button-spin;display:none;position:absolute;inset-block-start:50%;inset-inline-start:50%}.ui-button[aria-busy=true] .ui-button-content{visibility:hidden}.ui-button[aria-busy=true] .ui-button-spinner{display:block}.ui-button[aria-busy=true]:disabled{cursor:progress;opacity:1}.ui-icon-button .ui-button-spinner{inline-size:var(--icon-button-icon-size);block-size:var(--icon-button-icon-size)}@keyframes ui-button-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ui-button-spinner{animation:none;transform:translate(-50%,-50%)}}nav[data-astro-cid-yxete6jp]{width:100vw;padding:calc(var(--step-1) * var(--pi) / 2 + var(--space-s) * 2) 0;transition:transform var(--transition-duration-fast) cubic-bezier(.6, 0, .4, 1);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;transform:translate(100%)}@media (width>=48rem){nav[data-astro-cid-yxete6jp]{background-color:#0000;justify-content:end;width:fit-content;padding:0;position:static;transform:none}}.menu-list[data-astro-cid-yxete6jp]{padding-left:0;list-style:none}@media (width>=48rem){.menu-list[data-astro-cid-yxete6jp]{gap:var(--space-3xs);justify-content:end;align-items:center;display:flex}}.menu-item[data-astro-cid-yxete6jp]{margin-top:var(--space-xs);width:fit-content;margin-inline:auto}@media (width>=48rem){.menu-item[data-astro-cid-yxete6jp]{margin-top:0}}.menu-item[data-astro-cid-yxete6jp]:first-of-type{margin-top:0}.menu-item-login[data-astro-cid-yxete6jp]{margin-top:calc(var(--space-xs) * 2);width:fit-content;margin-inline:auto}@media (width>=48rem){.menu-item-login[data-astro-cid-yxete6jp]{margin-top:0}}.menu-item-login[data-astro-cid-yxete6jp] a[data-astro-cid-yxete6jp]{font-size:var(--step-1);padding:var(--space-xs) var(--space-s)}@media (width>=48rem){.menu-item-login[data-astro-cid-yxete6jp] a[data-astro-cid-yxete6jp]{font-size:var(--step-0);border-color:var(--color-divider);padding:var(--space-2xs) var(--space-xs);min-block-size:unset;line-height:1}.menu-item-login[data-astro-cid-yxete6jp] a[data-astro-cid-yxete6jp]:hover{background-color:var(--color-bg-light);box-shadow:var(--shadow-s);border-color:#0000}}.menu-link[data-astro-cid-yxete6jp]{font-size:var(--step-3);font-weight:var(--font-regular);padding:var(--space-2xs) var(--space-xs);cursor:pointer;line-height:1;display:block;position:relative}@media (width>=48rem){.menu-link[data-astro-cid-yxete6jp]{font-size:var(--step-0);color:var(--color-text-link)}.menu-link[data-astro-cid-yxete6jp]:hover{color:var(--color-text)}}.menu-link[data-astro-cid-yxete6jp].active{color:var(--color-link-active);font-weight:var(--font-semibold)}.social-list[data-astro-cid-yxete6jp]{column-gap:var(--space-xs);display:flex}hr[data-astro-cid-yxete6jp]{background-color:var(--color-border);width:50%;height:2px;margin:var(--space-2xs) auto;border:none}.copyright[data-astro-cid-yxete6jp]{margin:0;display:none}.copyright[data-astro-cid-yxete6jp] a[data-astro-cid-yxete6jp]{font-size:var(--step--1);color:var(--color-text-link)}@media (width>=48rem){.social-list[data-astro-cid-yxete6jp],hr[data-astro-cid-yxete6jp],.copyright[data-astro-cid-yxete6jp]{display:none}}.link-tab-active[data-astro-cid-yxete6jp]{border-radius:var(--border-radius);z-index:0;width:1rem;height:1rem;transition:var(--transition-duration-fast) ease-in-out;position:absolute}.menu-list[data-astro-cid-yxete6jp]:has(>.menu-item:not(.link-tab-active):hover)>.link-tab-active[data-astro-cid-yxete6jp]{background-color:var(--color-bg-light);box-shadow:var(--shadow-s)}a[data-astro-cid-yxete6jp].button-nav{padding:var(--space-2xs) var(--space-s);font-weight:var(--font-regular);border-color:var(--color-border);display:inline-flex}.theme-switch[data-astro-cid-hds7qqbe]{--theme-switch-width:calc(var(--step-0)*3.25);--theme-switch-move:calc(var(--theme-switch-width) / 2 + 1px);--theme-switch-transition:transform calc(var(--phi-inv3) * 1s) ease;width:var(--theme-switch-width);background-color:var(--color-bg-light);border:none;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;z-index:1;padding:2px}.theme-switch-track[data-astro-cid-hds7qqbe]{background-color:var(--color-bg);border-radius:var(--border-radius);box-shadow:var(--inset-s);justify-content:space-between;align-items:end;display:flex;position:relative}.theme-switch-on[data-astro-cid-hds7qqbe],.theme-switch-off[data-astro-cid-hds7qqbe]{color:var(--color-text);font-size:var(--step--1);font-weight:var(--font-regular);transition-duration:calc(var(--phi-inv3) * 1s);transition-property:opacity,transform;transition-timing-function:ease;transition:var(--theme-switch-transition);line-height:1}.theme-switch-on[data-astro-cid-hds7qqbe]{opacity:0;visibility:hidden;position:absolute;left:3px}.theme-switch-off[data-astro-cid-hds7qqbe]{margin-right:4px}.theme-switch-thumb[data-astro-cid-hds7qqbe]{height:var(--step-0);width:var(--step-0);background-color:var(--color-bg-light);border:1px solid var(--color-divider);box-shadow:var(--shadow-s);transition:var(--theme-switch-transition);z-index:1;border-radius:50%}html[data-theme=light] .theme-switch-on[data-astro-cid-hds7qqbe]{transform:translate(100%)}html[data-theme=dark] .theme-switch-on[data-astro-cid-hds7qqbe]{opacity:1;visibility:visible;color:var(--color-peach-400)}html[data-theme=dark] .theme-switch-off[data-astro-cid-hds7qqbe]{opacity:0;visibility:hidden;transform:translate(-100%)}html[data-theme=dark] .theme-switch-thumb[data-astro-cid-hds7qqbe]{transform:translateX(var(--theme-switch-move))}.site-header[data-astro-cid-nen7h5rs]{height:var(--header-height)}.actions[data-astro-cid-nen7h5rs]{gap:var(--space-xs);align-items:center;display:flex}@media (width>=48rem){.actions[data-astro-cid-nen7h5rs]{flex-direction:row-reverse}}footer[data-astro-cid-jo6i4kqk]{background-color:var(--color-bg);font-size:var(--step--2);font-family:var(--font-mono);color:var(--color-link)}.container[data-astro-cid-jo6i4kqk]{height:var(--footer-height);justify-content:space-between;align-items:center;display:flex}.site-legal[data-astro-cid-jo6i4kqk],.site-contact[data-astro-cid-jo6i4kqk]{gap:var(--space-3xs);align-items:center;display:flex}.site-legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--color-link)}.site-legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-text);text-decoration:underline}.site-legal[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration:none}.site-contact[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:last-child{border:1px solid var(--color-divider);border-radius:var(--space-3xs);width:32px;height:32px;color:var(--color-text-link);justify-content:center;align-items:center;display:flex}.site-contact[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:last-child:hover{color:var(--color-text);border-color:var(--color-border)}p[data-astro-cid-jo6i4kqk]{margin:0}.link[data-astro-cid-jo6i4kqk]{text-decoration:none}svg[data-astro-cid-jo6i4kqk]{width:auto;height:16px}.github[data-astro-cid-jo6i4kqk]{fill:currentColor}dialog[data-astro-cid-limcatzk]{padding:var(--space-s);border:none;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg);max-width:500px;width:calc(100% - var(--space-s-l) * 2);margin:auto}dialog[data-astro-cid-limcatzk]::backdrop{background-color:color-mix(in oklab, var(--color-neutral-900) 90%, transparent)}.modal-header[data-astro-cid-limcatzk]{padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title[data-astro-cid-limcatzk]{font-size:var(--step-1);font-weight:var(--font-semibold)}.modal-body[data-astro-cid-limcatzk]{padding:var(--space-2xs) var(--space-xs)}button[data-astro-cid-limcatzk]{border-radius:var(--border-radius);cursor:pointer;color:var(--color-text);font-size:var(--step-3);line-height:var(--step-0);background-color:#0000;border:none}dialog[data-astro-cid-limcatzk].is-success .modal-title[data-astro-cid-limcatzk]{color:var(--color-brand-500)}dialog[data-astro-cid-limcatzk].is-error .modal-title[data-astro-cid-limcatzk]{color:var(--color-red-500)}dialog[data-astro-cid-limcatzk].is-warning .modal-title[data-astro-cid-limcatzk]{color:var(--color-amber-300)}:root{--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-brand-400:oklch(70.7% .165 254.624);--color-brand-500:oklch(62.3% .214 259.815);--color-brand-600:oklch(54.6% .245 262.881);--color-brand-700:oklch(48.8% .243 264.376);--color-brand-800:oklch(42.4% .199 265.638);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-green-500:oklch(72.3% .219 149.579);--color-green-800:oklch(44.8% .119 151.328);--color-white:oklch(100% 0 0);--color-black:oklch(0% 0 0);--color-bg-dark:light-dark(var(--color-neutral-100),var(--color-neutral-950));--color-bg:light-dark(var(--color-neutral-50),var(--color-neutral-900));--color-bg-light:light-dark(var(--color-white),var(--color-neutral-800));--color-text:light-dark(var(--color-neutral-800),var(--color-neutral-100));--color-text-link:var(--color-text-muted);--color-text-muted:light-dark(var(--color-neutral-600),var(--color-neutral-300));--color-divider:light-dark(var(--color-neutral-200),var(--color-neutral-800));--color-border:light-dark(var(--color-neutral-300),var(--color-neutral-700));--color-border-hover:light-dark(var(--color-neutral-400),var(--color-neutral-500));--color-success:light-dark(var(--color-green-800),var(--color-green-500));--color-danger:oklch(from var(--color-red-600) l c h / 80%);--color-button-bg:light-dark(var(--color-brand-600),var(--color-brand-500));--color-button-bg-hover:light-dark(var(--color-brand-700),var(--color-brand-400));--color-button-bg-active:light-dark(var(--color-brand-800),var(--color-brand-600));--color-button-text:light-dark(var(--color-neutral-800),var(--color-neutral-700));--color-button-primary-bg:var(--color-button-bg);--color-button-primary-bg-hover:var(--color-button-bg-hover);--color-button-primary-bg-active:var(--color-button-bg-active);--color-button-primary-border:transparent;--color-button-primary-text:var(--color-button-text);--color-button-secondary-bg:transparent;--color-button-secondary-bg-hover:color-mix(in oklch, var(--color-text) 8%, transparent);--color-button-secondary-bg-active:color-mix(in oklch, var(--color-text) 14%, transparent);--color-button-secondary-border:var(--color-border);--color-button-secondary-text:var(--color-text);--color-button-tertiary-bg:transparent;--color-button-tertiary-bg-hover:color-mix(in oklch, var(--color-button-tertiary-text) 10%, transparent);--color-button-tertiary-bg-active:color-mix(in oklch, var(--color-button-tertiary-text) 16%, transparent);--color-button-tertiary-text:light-dark(var(--color-brand-800),var(--color-brand-400));--color-button-tertiary-border:transparent;--color-button-danger-bg:var(--color-red-700);--color-button-danger-bg-hover:var(--color-red-800);--color-button-danger-bg-active:var(--color-red-900);--color-button-danger-text:var(--color-neutral-50);--color-button-disabled-bg:light-dark(var(--color-neutral-200),var(--color-neutral-800));--color-button-disabled-border:light-dark(var(--color-neutral-300),var(--color-neutral-700));--color-button-disabled-text:light-dark(var(--color-neutral-500),var(--color-neutral-400));--color-input-bg:var(--color-bg);--color-input-bg-disabled:var(--color-bg-dark);--color-input-text:var(--color-text);--color-input-placeholder:var(--color-text-muted);--color-input-border:var(--color-border);--color-input-border-hover:var(--color-border-hover);--color-input-border-focus:var(--color-text-link);--color-input-border-invalid:var(--color-danger);--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--transition-duration:.618s;--transition-duration-fast:.382s;--transition-duration-turbo:.145898s;--transition-duration-slow:1.618s;--shadow-s:inset 0 1px 2px #ffffff30,  0 1px 2px #00000030,  0 2px 4px #00000015;--shadow-m:inset 0 1px 2px #ffffff50,  0 2px 4px #00000030,  0 4px 8px #00000015;--shadow-l:inset 0 1px 2px #ffffff70,  0 4px 6px #00000030,  0 6px 10px #00000015;--inset-s:inset 0 2px 4px #00000030,  0 1px 2px #ffffff10,  0 1px 2px #ffffff05;--inset-m:inset 0 3px 5px #00000030,  0 2px 4px #ffffff10,  0 1px 2px #ffffff05;--inset-l:inset 0 4px 6px #00000030,  0 4px 6px #ffffff10,  0 1px 2px #ffffff05;--space-3xs:clamp(.25rem, .2375rem + .0625vw, .3125rem);--space-2xs:clamp(.5rem, .4875rem + .0625vw, .5625rem);--space-xs:clamp(.75rem, .725rem + .125vw, .875rem);--space-s:clamp(1rem, .975rem + .125vw, 1.125rem);--space-m:clamp(1.5rem, 1.4625rem + .1875vw, 1.6875rem);--space-l:clamp(2rem, 1.95rem + .25vw, 2.25rem);--space-xl:clamp(3rem, 2.925rem + .375vw, 3.375rem);--space-2xl:clamp(4rem, 3.9rem + .5vw, 4.5rem);--space-3xl:clamp(6rem, 5.85rem + .75vw, 6.75rem);--space-3xs-2xs:clamp(.25rem, .1875rem + .3125vw, .5625rem);--space-2xs-xs:clamp(.5rem, .425rem + .375vw, .875rem);--space-xs-s:clamp(.75rem, .675rem + .375vw, 1.125rem);--space-s-m:clamp(1rem, .8625rem + .6875vw, 1.6875rem);--space-m-l:clamp(1.5rem, 1.35rem + .75vw, 2.25rem);--space-l-xl:clamp(2rem, 1.725rem + 1.375vw, 3.375rem);--space-xl-2xl:clamp(3rem, 2.7rem + 1.5vw, 4.5rem);--space-2xl-3xl:clamp(4rem, 3.45rem + 2.75vw, 6.75rem);--space-s-l:clamp(1rem, .75rem + 1.25vw, 2.25rem);--space-m-xl:clamp(1.5rem, 1.125rem + 1.875vw, 3.375rem);--space-l-2xl:clamp(2rem, 1.5rem + 2.5vw, 4.5rem);--gutter-xs:var(--space-s);--gutter-s:var(--space-s-m);--gutter-m:var(--space-m-l);--gutter-l:var(--space-l-xl);--gutter-xl:var(--space-xl-2xl);--gutter-2xl:var(--space-2xl-3xl);--step--2:clamp(.6944rem, .6771rem + .0868vw, .7813rem);--step--1:clamp(.8333rem, .8125rem + .1042vw, .9375rem);--step-0:clamp(1rem, .975rem + .125vw, 1.125rem);--step-1:clamp(1.2rem, 1.17rem + .15vw, 1.35rem);--step-2:clamp(1.44rem, 1.404rem + .18vw, 1.62rem);--step-3:clamp(1.728rem, 1.6848rem + .216vw, 1.944rem);--step-4:clamp(2.0736rem, 2.0218rem + .2592vw, 2.3328rem);--step-5:clamp(2.4883rem, 2.4261rem + .311vw, 2.7994rem);--step-6:clamp(2.986rem, 2.9113rem + .3732vw, 3.3592rem);--step-7:clamp(3.5832rem, 3.4936rem + .4479vw, 4.0311rem);--step-8:clamp(4.2998rem, 4.1923rem + .5375vw, 4.8373rem);--font-heading:// the font variable loaded/defined in BaseHead.astro and astro.config.mjs --font-body: // the font variable loaded/defined in BaseHead.astro and astro.config.mjs --font-mono: //the font variable loaded/defined in BaseHead.astro and astro.config.mjs --font-thin: 100;--font-extralight:200;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800}.heading{font-family:var(--font-heading);font-weight:var(--font-medium);font-optical-sizing:auto;font-style:normal}:root{--space-3xs:clamp(.25rem, .2375rem + .0625vw, .3125rem);--space-2xs:clamp(.5rem, .4875rem + .0625vw, .5625rem);--space-xs:clamp(.75rem, .725rem + .125vw, .875rem);--space-s:clamp(1rem, .975rem + .125vw, 1.125rem);--space-m:clamp(1.5rem, 1.4625rem + .1875vw, 1.6875rem);--space-l:clamp(2rem, 1.95rem + .25vw, 2.25rem);--space-xl:clamp(3rem, 2.925rem + .375vw, 3.375rem);--space-2xl:clamp(4rem, 3.9rem + .5vw, 4.5rem);--space-3xl:clamp(6rem, 5.85rem + .75vw, 6.75rem);--space-3xs-2xs:clamp(.25rem, .1875rem + .3125vw, .5625rem);--space-2xs-xs:clamp(.5rem, .425rem + .375vw, .875rem);--space-xs-s:clamp(.75rem, .675rem + .375vw, 1.125rem);--space-s-m:clamp(1rem, .8625rem + .6875vw, 1.6875rem);--space-m-l:clamp(1.5rem, 1.35rem + .75vw, 2.25rem);--space-l-xl:clamp(2rem, 1.725rem + 1.375vw, 3.375rem);--space-xl-2xl:clamp(3rem, 2.7rem + 1.5vw, 4.5rem);--space-2xl-3xl:clamp(4rem, 3.45rem + 2.75vw, 6.75rem);--space-s-l:clamp(1rem, .75rem + 1.25vw, 2.25rem);--space-m-xl:clamp(1.5rem, 1.125rem + 1.875vw, 3.375rem);--space-l-2xl:clamp(2rem, 1.5rem + 2.5vw, 4.5rem);--gutter-xs:var(--space-s);--gutter-s:var(--space-s-m);--gutter-m:var(--space-m-l);--gutter-l:var(--space-l-xl);--gutter-xl:var(--space-xl-2xl);--gutter-2xl:var(--space-2xl-3xl);--border-radius:var(--space-2xs);--transition-duration:calc(var(--phi-inv) * 1s);--transition-duration-fast:calc(var(--phi-inv2) * 1s);--transition-duration-turbo:calc(var(--phi-inv3) * 1s);--transition-duration-hidden:calc(var(--phi) * 1s);--pi:3.14159;--header-height:3.5rem;--footer-height:3rem;--phi-3:calc(var(--phi) * var(--phi) * var(--phi));--phi-2:calc(var(--phi) * var(--phi));--phi:1.61803;--phi-inv:calc(1 / var(--phi));--phi-inv2:calc(1 / (var(--phi) * var(--phi)));--phi-inv3:calc(1 / (var(--phi) * var(--phi) * var(--phi)));--phi-inv4:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv5:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv6:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv7:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv8:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv9:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)));--phi-inv10:calc(1 / (var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi) * var(--phi)))}@media (width>=80rem){:root{--header-height:4rem}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body{scroll-behavior:smooth;height:100%}img,picture,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}strong{font-weight:400}a{color:var(--color-text);text-decoration:none}.hidden{opacity:0;filter:blur(.25rem);transition:transform var(--transition-duration-hidden), opacity var(--transition-duration-hidden), filter var(--transition-duration-hidden)}.hidden--top{transform:translateY(-2.5rem)}.hidden--bottom{transform:translateY(2.5rem)}.hidden--left{transform:translate(-2.5rem)}.hidden--right{transform:translate(2.5rem)}.show{opacity:1;filter:blur();transform:translate(0)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overflow-hidden{overflow-y:hidden}.skip-link{padding:var(--space-3xs) var(--space-2xs);text-align:center;background-color:var(--color-bg-lighter);font-size:var(--step--1);color:var(--color-text);z-index:99;opacity:0;border-radius:0 0 .25rem .25rem;transition:translate .25s ease-in-out;position:fixed;top:0;left:50%;translate:-50% -100%}.skip-link:focus{opacity:1;translate:-50%}body{font-family:var(--font-fira);font-size:var(--step-0);font-weight:var(--font-light);font-optical-sizing:auto;line-height:var(--phi);color:var(--color-text);background-color:var(--color-bg-dark)}.menu-open .icon{color:var(--color-text)}.no-bullets{padding-left:0;list-style:none}.link{text-underline-offset:3px;color:var(--color-text-link);text-decoration:underline}.link:hover{color:var(--color-text)}.content{column-gap:var(--gutter-m);flex-wrap:wrap;display:flex}@media (width>=80rem){.content{column-gap:var(--gutter-m)}}.column{width:100%}@media (width>=80rem){.column{width:calc(50% - var(--gutter-m) / 2)}}.scroll-up .logo img{filter:invert(1) drop-shadow(0px 0px var(--color-shadow))!important}main{padding-top:var(--header-height)}main p{margin-block:var(--space-xs)}main ul{margin-block:var(--space-s);padding-left:var(--space-m)}.block{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--step--2:clamp(.6944rem, .6771rem + .0868vw, .7813rem);--step--1:clamp(.8333rem, .8125rem + .1042vw, .9375rem);--step-0:clamp(1rem, .975rem + .125vw, 1.125rem);--step-1:clamp(1.2rem, 1.17rem + .15vw, 1.35rem);--step-2:clamp(1.44rem, 1.404rem + .18vw, 1.62rem);--step-3:clamp(1.728rem, 1.6848rem + .216vw, 1.944rem);--step-4:clamp(2.0736rem, 2.0218rem + .2592vw, 2.3328rem);--step-5:clamp(2.4883rem, 2.4261rem + .311vw, 2.7994rem);--step-6:clamp(2.986rem, 2.9113rem + .3732vw, 3.3592rem);--font-heading:var(--font-fira), sans-serif;--font-body:var(--font-fira), sans-serif;--font-mono:var(--font-jetbrains-mono), monospace;--font-thin:100;--font-extralight:200;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900}.heading,.subheading{font-family:var(--font-fira);font-weight:var(--font-medium);font-optical-sizing:auto;font-style:normal}.font-mono,.time{font-family:var(--font-mono);font-weight:var(--font-light);font-optical-sizing:auto;font-style:normal}:root{color-scheme:light dark;--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-brand-50:oklch(98.4% .014 180.72);--color-brand-100:oklch(95.3% .051 180.801);--color-brand-200:oklch(91% .096 180.426);--color-brand-300:oklch(85.5% .138 181.071);--color-brand-400:oklch(77.7% .152 181.912);--color-brand-500:oklch(70.4% .14 182.503);--color-brand-600:oklch(60% .118 184.704);--color-brand-700:oklch(51.1% .096 186.391);--color-brand-800:oklch(43.7% .078 188.216);--color-brand-900:oklch(38.6% .063 188.416);--color-brand-950:oklch(27.7% .046 192.524);--color-red-500:oklch(63.7% .237 25.331);--color-peach-400:color-mix(in oklch, white 25%, var(--color-peach-500));--color-peach-50:color-mix(in oklch, white 90%, var(--color-peach-500));--color-peach-100:color-mix(in oklch, white 80%, var(--color-peach-500));--color-peach-200:color-mix(in oklch, white 65%, var(--color-peach-500));--color-peach-300:color-mix(in oklch, white 50%, var(--color-peach-500));--color-peach-500:oklch(79.1% .102 56.8);--color-peach-600:color-mix(in oklch, var(--color-peach-500) 80%, black 20%);--color-peach-700:color-mix(in oklch, var(--color-peach-500) 60%, black 40%);--color-peach-800:color-mix(in oklch, var(--color-peach-500) 45%, black 55%);--color-peach-900:color-mix(in oklch, var(--color-peach-500) 30%, black 70%);--color-peach-950:color-mix(in oklch, var(--color-peach-500) 15%, black 85%);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-shaka-light:oklch(79.081% .10183 56.8);--color-shaka-dark:oklch(75.582% .12688 55.398);--color-brand:light-dark(var(--color-peach-700),var(--color-peach-400));--color-shaka-400:var(--color-shaka-light);--color-shaka-500:var(--color-shaka-dark);--color-shaka-600:oklch(70% .13 55.5);--color-shaka-700:oklch(66% .135 55.5);--color-shaka-800:oklch(52% .12 55.5);--color-shaka-hover:var(--color-shaka-600);--color-shaka-active:var(--color-shaka-700);--color-primary:var(--color-shaka-400);--color-black:#000;--color-white:#fff;--color-bg-dark:light-dark(var(--color-stone-100),var(--color-stone-950));--color-bg:light-dark(var(--color-stone-50),var(--color-stone-900));--color-bg-light:light-dark(var(--color-white),var(--color-stone-800));--color-text:light-dark(var(--color-neutral-700),var(--color-neutral-100));--color-text-link:light-dark(var(--color-neutral-600),var(--color-neutral-300));--color-text-logo:light-dark(var(--color-stone-800),var(--color-stone-100));--color-status:light-dark(var(--color-amber-700),var(--color-brand));--color-code:light-dark(var(--color-brand-700),var(--color-peach-300));--color-code-bg:light-dark(var(--color-stone-100),var(--color-stone-800));--color-link:light-dark(var(--color-neutral-600),var(--color-neutral-300));--color-link-active:light-dark(var(--color-brand-700),var(--color-shaka-light));--color-badge:light-dark(oklch(from var(--color-shaka-dark) calc(l * .76) calc(c * .95) h),var(--color-shaka-light));--color-icon:light-dark(var(--color-shaka-dark),var(--color-shaka-light));--color-bg-opacity:light-dark(#ffffffbf,#000000bf);--color-gradient:light-dark(var(--color-glass-gradient-inv),var(--color-glass-gradient));--color-glass-gradient:linear-gradient(134deg, oklch(from var(--color-neutral-50) l c h / 6%), oklch(from var(--color-neutral-50) l c h / 2%), oklch(from var(--color-neutral-50) l c h / 0%) 55%);--color-glass-gradient-inv:linear-gradient(-67deg, oklch(from var(--color-neutral-50) l c h / 6%), oklch(from var(--color-neutral-50) l c h / 2%), oklch(from var(--color-neutral-50) l c h / 0%) 55%);--color-bg-gradient:linear-gradient(134deg, oklch(from var(--color-bg) l c h / 60%) 55%);--color-bg-graphic:radial-gradient(oklch(from var(--color-brand-500) l c h /20%), oklch(from var(--color-brand-500) l c h /20%), oklch(from var(--color-bg) l c h /20%) 50%);--color-border:light-dark(var(--color-neutral-300),var(--color-neutral-700));--color-border-m:light-dark(var(--color-neutral-200),var(--color-neutral-800));--color-divider:light-dark(var(--color-neutral-300),var(--color-neutral-800));--color-shadow:light-dark(#00000020,#00000059);--color-button:light-dark(var(--color-brand-700),oklch(from var(--color-brand-800) l c h / 80%));--color-button-hover:light-dark(var(--color-brand-600),oklch(from var(--color-brand-800) l c h / 100%));--body-font-weight:light-dark(var(--font-regular),var(--font-light));--color-button-bg:var(--color-shaka-dark);--color-button-bg-hover:var(--color-shaka-hover);--color-button-bg-active:var(--color-shaka-700);--color-button-text:var(--color-stone-800);--color-button-primary-bg:var(--color-button-bg);--color-button-primary-bg-hover:var(--color-button-bg-hover);--color-button-primary-bg-active:var(--color-button-bg-active);--color-button-primary-border:transparent;--color-button-primary-text:var(--color-button-text);--color-button-secondary-bg:transparent;--color-button-secondary-bg-hover:color-mix(in oklch, var(--color-text) 8%, transparent);--color-button-secondary-bg-active:color-mix(in oklch, var(--color-text) 14%, transparent);--color-button-secondary-border:var(--color-border);--color-button-secondary-text:var(--color-text);--color-button-tertiary-bg:transparent;--color-button-tertiary-bg-hover:color-mix(in oklch, var(--color-button-tertiary-text) 10%, transparent);--color-button-tertiary-bg-active:color-mix(in oklch, var(--color-button-tertiary-text) 16%, transparent);--color-button-tertiary-text:light-dark(var(--color-shaka-800),var(--color-shaka-400));--color-button-tertiary-border:transparent;--color-button-danger-bg:var(--color-red-700);--color-button-danger-bg-hover:var(--color-red-800);--color-button-danger-bg-active:var(--color-red-900);--color-button-danger-text:var(--color-neutral-50);--color-focus:var(--color-text-muted);--card-head:light-dark(var(--color-stone-100),var(--color-stone-900));--mask-visible:var(--color-black);--mask-invisible:transparent;--mask-bottom:linear-gradient(to bottom,var(--mask-visible)50%,var(--mask-invisible)100%);--mask-right:linear-gradient(to right,var(--mask-visible)20%,var(--mask-invisible)100%);--lamp-bulb:light-dark(var(--color-neutral-300),var(--color-amber-200));--lamp-light:light-dark(var(--color-bg),var(--color-amber-100));--laptop-screen-bg:light-dark(var(--color-stone-100),var(--color-stone-800));--laptop-terminal-bg:light-dark(var(--color-stone-700),var(--color-stone-700));--laptop-terminal-head:light-dark(var(--color-stone-100),oklch(from var(--color-stone-900) l c h / 50%));--color-straw:var(--color-neutral-700);--color-cup:var(--color-peach-400);--color-desktop:var(--color-neutral-700);--shadow-s:inset 0 1px 2px #ffffff30,  0 1px 2px #00000030,  0 2px 4px #00000015;--shadow-m:inset 0 1px 2px #ffffff50,  0 2px 4px #00000030,  0 4px 8px #00000015;--shadow-l:inset 0 1px 2px #ffffff70,  0 4px 6px #00000030,  0 6px 10px #00000015;--inset-s:inset 0 1px 2px #00000030,  0 1px 2px #ffffff10,  0 2px 4px #ffffff05;--inset-m:inset 0 1px 2px #00000030,  0 2px 4px #00000030,  0 4px 8px #00000015;--inset-l:inset 0 1px 2px #00000030,  0 4px 6px #00000030,  0 6px 10px #00000015}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=dark] .light-bulb,:root[data-theme=dark] #lamp-bulb{filter:drop-shadow(0 2px 22px var(--lamp-bulb));animation:flickerLamp calc(var(--transition-duration-hidden) / 2);animation-timing-function:cubic-bezier(.455,.03,.515,.955);animation-iteration-count:2}:root[data-theme=dark] #light-beam{animation:flickerBeam calc(var(--transition-duration-hidden) / 2);animation-timing-function:cubic-bezier(.455,.03,.515,.955);animation-iteration-count:2}@keyframes flickerLamp{0%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/0%))}10%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/25%))}25%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/50%))}30%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/65%))}40%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/85%))}50%{filter:drop-shadow(0 2px 22px var(--lamp-bulb))}60%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/65%))}70%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/50%))}80%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/25%))}90%{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/17.5%))}to{filter:drop-shadow(0 2px 22px oklch(from var(--lamp-bulb) l c h/10%))}}@keyframes flickerBeam{10%{opacity:0}10%{opacity:.11}25%{opacity:.22}30%{opacity:.27}40%{opacity:.37}50%{opacity:.43}60%{opacity:.27}70%{opacity:.22}80%{opacity:.11}90%{opacity:.075}to{opacity:.043}}.page-section{margin-block:var(--gutter-xl)}.page-section-sm{margin-block:var(--gutter-s)}.page-section-md{margin-block:var(--gutter-m)}.page-section-lg{margin-block:var(--gutter-l)}.page-section-xl{margin-block:var(--gutter-xl)}.container{padding-inline:var(--gutter-m);margin-inline:auto}@media (width>=40rem){.container{padding-inline:var(--gutter-m)}}@media (width>=48rem){.container{padding-inline:var(--gutter-l)}}@media (width>=70rem){.container{padding-inline:var(--gutter-xl)}}@media (width>=80rem){.container{padding-inline:var(--gutter-xl)}}@media (width>=90rem){.container{max-width:90rem}}.page-section-inner{padding-inline:var(--gutter-m);margin-inline:auto}@media (width>=40rem){.page-section-inner{max-width:40rem;padding-inline:var(--gutter-m);border-radius:var(--border-radius)}}@media (width>=48rem){.page-section-inner{max-width:48rem;padding-inline:var(--gutter-l)}}@media (width>=70rem){.page-section-inner{max-width:70rem;padding-inline:var(--gutter-xl)}}.meta-pill{font-size:var(--step--1);text-transform:capitalize;font-weight:var(--font-regular);background-color:var(--color-bg-light);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--border-radius);color:var(--color-badge)}.site-header{z-index:401;width:100%;transition:transform var(--transition-duration), background-color var(--transition-duration), filter var(--transition-duration);position:fixed;top:0}.site-header .container{justify-content:space-between;align-items:center;height:100%;display:flex;position:relative}.site-header .site-logo{z-index:1}.site-header .site-logo .site-heading{font-size:var(--step-1)}.flex-item{width:var(--space-l)}.menu-list{padding:0;list-style:none}.scroll-down .site-header,.scroll-up .site-header{background-color:var(--color-bg-light)}.scroll-down .site-header:before,.scroll-up .site-header:before{transform:translateY(0)}.site-nav{background-color:var(--color-bg)}.site-nav .menu-item a:before,.site-nav .menu-item button:before{background-color:var(--color-text)}.site-nav .menu-item.active a:before{width:100%}.menu-toggle[data-menu-state=open]~.site-nav{transform:translate(0)}.menu-toggle{gap:var(--space-2xs);cursor:pointer;font-family:var(--font-heading);z-index:1;transition:var(--transition-duration);background-color:#0000;border:0;align-items:center;margin:0;padding:0;display:flex;position:relative}@media (width>=48rem){.menu-toggle{display:none}}.menu-toggle-menu,.menu-toggle-close,.menu-toggle-lines{color:var(--color-text);font-weight:var(--font-regular);transition:var(--transition-duration-fast) ease-in-out;transition-property:transform,filter,opacity,visibility}.menu-toggle-close{opacity:0;visibility:hidden;filter:blur(1px);position:absolute;transform:scale(0)}.menu-toggle-lines{width:var(--space-s);height:calc(var(--space-s) / 2);transition-timing-function:cubic-bezier(.445,.05,.55,.95);position:relative}.menu-toggle-lines:before,.menu-toggle-lines:after{--height:2px;content:"";width:100%;height:var(--height);border-radius:var(--border-radius);background-color:var(--color-text-link);transition:var(--transition-duration-fast) ease-in-out;position:absolute;right:0}.menu-toggle-lines:before{width:80%;top:0%}.menu-toggle-lines:after{bottom:calc(0px - var(--height) / 2)}.menu-toggle[data-menu-state=open] .menu-toggle-menu{opacity:0;visibility:hidden;filter:blur(1px);transform:scale(0)}.menu-toggle[data-menu-state=open] .menu-toggle-close{opacity:1;visibility:visible;filter:blur();transform:scale(1)}.menu-toggle[data-menu-state=open] .menu-toggle-lines{transform:rotate(-45deg)}.menu-toggle[data-menu-state=open] .menu-toggle-lines:before{width:100%;top:50%}.menu-toggle[data-menu-state=open] .menu-toggle-lines:after{top:50%;transform:rotate(90deg)}.logo{position:relative}:root{--content-padding:var(--space-m)}.page-home main{display:grid}.page-home .recent-notes{align-items:end;display:grid}
