.button[data-astro-cid-4shr73qq]{--button-color:var(--tone);--button-color-hover:var(--tone-hover);--shadow-color:var(--button-color);height:var(--control-height-md);justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:600;line-height:var(--leading-snug);color:var(--color-on-accent);background-color:var(--button-color);border:1px solid var(--button-color);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), translate var(--transition);text-decoration:none;display:inline-flex;& svg{flex:none;width:1.2em;height:1.2em;margin-bottom:.1em}&.button--outline,&.button--ghost,&.button--link{color:var(--button-color);background-color:#0000}&.button--ghost,&.button--link{border-color:#0000}&.button--size-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);height:var(--control-height-sm)}&.button--size-lg{padding:var(--space-sm) var(--space-md-lg);font-size:var(--font-size-base);height:var(--control-height-lg)}&.button--size-icon{width:var(--control-height-md);height:var(--control-height-md);padding:0;& svg{margin-bottom:0}}&:hover{background-color:var(--button-color-hover);border-color:var(--button-color-hover);color:var(--color-on-accent);&.button--outline,&.button--ghost,&.button--link{color:var(--color-on-accent);border-color:var(--button-color-hover)}&.button--link{color:var(--button-color-hover);background-color:#0000;border-color:#0000;text-decoration:underline}}&:active:where(:not(:disabled,[aria-disabled=true])){translate:0 1px}&:disabled,&[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light dark;--color-bg:light-dark(#f2f5f3,#0e0e0e);--color-bg-alt:light-dark(#e7ebe8,#171717);--color-surface:light-dark(#fafcfb,#1d1d1d);--color-surface-raised:light-dark(#fff,#252525);--color-text:light-dark(#131915,#d3d9d5);--color-text-muted:light-dark(#606762,#88908a);--color-border:light-dark(#a3a8a4,#474c48);--color-border-strong:light-dark(#898f8b,#5b605c);--color-grid:light-dark(#0000000a,#ffffff08);--color-scanline:light-dark(#00000012,#ffffff12);--color-primary:light-dark(#98194b,#f995af);--color-primary-hover:light-dark(#790037,#ffb1c4);--color-secondary:light-dark(#6d2aa8,#c8a3f8);--color-secondary-hover:light-dark(#57048e,#d8bbff);--color-destructive:light-dark(#9d1a1a,#f99a8f);--color-destructive-hover:light-dark(#7d0007,#ffb5ab);--color-warning:light-dark(#6b5113,#e3ae34);--color-warning-hover:light-dark(#533b00,#ffbf00);--color-success:light-dark(#176636,#3cd879);--color-success-hover:light-dark(#004e24,#4fed8a);--color-on-accent:light-dark(#f2f5f3,#0e0e0e);--color-primary-accent:light-dark(#f77299,#f76492);--color-secondary-accent:light-dark(#bb88f6,#b67ff6);--color-destructive-accent:light-dark(#f7796d,#f76d61);--color-warning-accent:light-dark(#cc9c2e,#c4972c);--color-success-accent:light-dark(#35c26c,#32bb68);--font-base:var(--font-inter);--font-mono:var(--font-jetbrains-mono);--font-size-base:.9375rem;--font-size-sm:.8125rem;--font-size-xs:.75rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:clamp(1.25rem, 2vw + .75rem, 1.75rem);--font-size-4xl:clamp(2rem, 4vw + 1rem, 3.25rem);--font-size-code:.9em;--leading-tight:1.2;--leading-snug:1.25;--leading-code:1.6;--leading-body:1.7;--line-height:var(--leading-body);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-md-lg:1.5rem;--space-lg:2rem;--space-xl:4rem;--control-height-sm:1.75rem;--control-height-md:2rem;--control-height-lg:2.25rem;--container-width:70rem;--header-height:3.5rem;--grid-size:2rem;--z-scanlines:60;--z-crosshair:100;--z-skip-link:200;--radius:0;--border-width:1px;--border-color:var(--color-border);--shadow-offset:4px;--shadow-color:var(--color-primary-accent);--transition:.12s ease-out;--breakpoint-xl:80rem}html:has([data-theme-toggle]>input:checked){color-scheme:light;@media (prefers-color-scheme:light){color-scheme:dark}}@media (prefers-reduced-motion:reduce){:root{--transition:0s}}@media (pointer:coarse){:root{--control-height-sm:2.5rem;--control-height-md:2.75rem;--control-height-lg:3rem}}:root[data-theme=ocean],html:has([data-theme-select] option[value=ocean]:checked){--color-bg:light-dark(#eff4f8,#091018);--color-bg-alt:light-dark(#e1e9ef,#101822);--color-surface:light-dark(#f7fbfd,#141e29);--color-surface-raised:light-dark(#fff,#1b2634);--color-text:light-dark(#101c28,#d2dde3);--color-text-muted:light-dark(#556574,#8898a3);--color-border:light-dark(#9ea7af,#444d53);--color-border-strong:light-dark(#858e96,#576167);--color-grid:light-dark(#0000000a,#ffffff08);--color-scanline:light-dark(#00000012,#ffffff12);--color-primary:light-dark(#155892,#83bdf8);--color-primary-hover:light-dark(#004174,#a2cfff);--color-secondary:light-dark(#176161,#3ccfcf);--color-secondary-hover:light-dark(#004a4a,#00e7e7);--color-destructive:light-dark(#9d1a1a,#f99a8f);--color-destructive-hover:light-dark(#7d0007,#ffb5ab);--color-warning:light-dark(#6b5113,#e3ae34);--color-warning-hover:light-dark(#533b00,#ffbf00);--color-success:light-dark(#176636,#3cd879);--color-success-hover:light-dark(#004e24,#4fed8a);--color-on-accent:light-dark(#eff4f8,#091018);--color-primary-accent:light-dark(#5caaf6,#4da3f6);--color-secondary-accent:light-dark(#35baba,#32b3b3);--color-destructive-accent:light-dark(#f7796d,#f76d61);--color-warning-accent:light-dark(#cc9c2e,#c4972c);--color-success-accent:light-dark(#35c26c,#32bb68)}:root[data-theme=ocean],html:has([data-theme-select] option[value=ocean]:checked){--radius:.625rem;--shadow-offset:6px;--transition:.22s cubic-bezier(.34, 1.56, .64, 1);--grid-size:3rem;--font-base:var(--font-nunito);--font-mono:var(--font-fira-code);@media (prefers-reduced-motion:reduce){--transition:0s}}.container{width:min(100% - 2 * var(--space-md), var(--container-width));margin-inline:auto}.section{padding-block:var(--space-xl);@container (width<=40rem){padding-block:var(--space-lg)}}.section--alt{background-color:var(--color-bg-alt);border-block:var(--border-width) solid var(--border-color)}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--font-size-4xl);font-weight:800}h2{font-size:var(--font-size-3xl);margin-bottom:var(--space-md);font-weight:700}h3{font-size:var(--font-size-lg);margin-bottom:var(--space-sm);font-weight:600}p{text-wrap:pretty;&+p{margin-top:var(--space-md)}}a{color:var(--color-primary);text-underline-offset:.25em;transition:color var(--transition), background-color var(--transition);text-decoration:underline 1px;&:hover{color:var(--color-on-accent);background-color:var(--color-primary);text-decoration:none}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{color:var(--color-on-accent);background-color:var(--color-primary)}code{font-family:var(--font-mono);font-size:var(--font-size-code)}.lead{font-size:var(--font-size-lg);color:var(--color-text-muted);margin-block:var(--space-md) var(--space-lg)}.accent{color:var(--color-primary)}hr{border:none;border-top:var(--border-width) solid var(--color-border);margin-block:var(--space-sm);width:100%}.lift{transition:border-color var(--transition), translate var(--transition)}html[data-lift-shadow] .lift,html:has([data-lift-shadow-toggle]>input:checked) .lift{transition:border-color var(--transition), box-shadow var(--transition), translate var(--transition);&:hover{box-shadow:var(--shadow-offset) var(--shadow-offset) 0 var(--shadow-color);translate:calc(var(--shadow-offset) * -1) calc(var(--shadow-offset) * -1)}}html[data-lift-shadow] .lift:active,html:has([data-lift-shadow-toggle]>input:checked) .lift:active{box-shadow:none;translate:0}@media (prefers-reduced-motion:reduce){html[data-lift-shadow] .lift:hover,html:has([data-lift-shadow-toggle]>input:checked) .lift:hover{translate:none}}.tone-primary{--tone:var(--color-primary);--tone-hover:var(--color-primary-hover);--tone-accent:var(--color-primary-accent)}.tone-secondary{--tone:var(--color-secondary);--tone-hover:var(--color-secondary-hover);--tone-accent:var(--color-secondary-accent)}.tone-destructive{--tone:var(--color-destructive);--tone-hover:var(--color-destructive-hover);--tone-accent:var(--color-destructive-accent)}.tone-warning{--tone:var(--color-warning);--tone-hover:var(--color-warning-hover);--tone-accent:var(--color-warning-accent)}.tone-success{--tone:var(--color-success);--tone-hover:var(--color-success-hover);--tone-accent:var(--color-success-accent)}.tone-neutral{--tone:var(--color-text-muted);--tone-hover:var(--color-text);--tone-accent:var(--color-border-strong)}.panel{--panel-accent:var(--tone-accent,var(--color-primary-accent));--shadow-color:var(--panel-accent);background-color:var(--color-surface-raised);border:var(--border-width) solid var(--border-color);border-top:2px solid var(--panel-accent);border-radius:var(--radius);&.lift:hover{border-color:var(--shadow-color)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){html[data-crosshair] .fx-crosshair,html:has([data-crosshair-toggle]>input:checked) .fx-crosshair{--fx-x:-100;--fx-y:-100;--pad:.25rem;--coord-offset:14px;z-index:var(--z-crosshair);pointer-events:none;contain:strict;color:var(--color-text);font:var(--font-size-xs) / 1 var(--font-mono);display:block;position:fixed;inset:0;& .fx-crosshair__reticle{box-sizing:border-box;width:1.25rem;height:1.25rem;translate:calc(var(--fx-x) * 1px - 50%) calc(var(--fx-y) * 1px - 50%);will-change:translate;transition:width var(--transition), height var(--transition);position:absolute;top:0;left:0;&:before,&:after{content:"";transition:opacity var(--transition);background:currentColor;position:absolute}&:before{height:1px;inset:50% 0 auto}&:after{width:1px;inset:0 auto 0 50%}}&[data-snap] .fx-crosshair__reticle{width:calc(var(--fx-sw) * 1px + var(--pad) * 2);height:calc(var(--fx-sh) * 1px + var(--pad) * 2);translate:calc(var(--fx-sx) * 1px - var(--pad)) calc(var(--fx-sy) * 1px - var(--pad));border:var(--border-width) solid currentColor;transition:translate var(--transition), width var(--transition), height var(--transition)}&[data-snap] .fx-crosshair__reticle:before,&[data-snap] .fx-crosshair__reticle:after{opacity:0}& .fx-crosshair__coord{translate:calc(var(--fx-x) * 1px + var(--coord-offset)) calc(var(--fx-y) * 1px + var(--coord-offset));will-change:translate;counter-reset:x var(--fx-x) y var(--fx-y);white-space:nowrap;color:var(--color-text-muted);position:absolute;top:0;left:0;&:after{content:"x:" counter(x) " y:" counter(y)}}@media (prefers-reduced-motion:reduce){& .fx-crosshair__reticle,& .fx-crosshair__reticle:before,& .fx-crosshair__reticle:after{transition:none}}}html[data-crosshair] *,html:has([data-crosshair-toggle]>input:checked) *{cursor:none}}html[data-scanlines] .fx-scanlines,html:has([data-scanlines-toggle]>input:checked) .fx-scanlines{z-index:var(--z-scanlines);pointer-events:none;background:repeating-linear-gradient(to bottom, var(--color-scanline) 0 1px, transparent 1px 3px), radial-gradient(ellipse at center, transparent 55%, light-dark(#0000001f,#00000080) 100%);position:fixed;inset:0}body{min-height:100dvh;font-family:var(--font-base);font-optical-sizing:auto;font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex;container-type:inline-size}.skip-link[data-astro-cid-h25gq7ek]{left:var(--space-md);top:var(--space-md);z-index:var(--z-skip-link);padding:var(--space-sm) var(--space-md);color:var(--color-on-accent);background-color:var(--color-primary);text-decoration:none;position:absolute;translate:0 -200%;&:focus-visible{translate:0}}
