.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@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(*),[data-astro-transition-scope]{animation:none!important}}._track_5ra30_1{height:1px;z-index:var(--z-overlay);pointer-events:none;position:fixed;top:0;left:0;right:0}._bar_5ra30_11{transform-origin:0;background:var(--color-900);width:100%;height:100%;transition:transform var(--dur-slow) var(--ease), opacity var(--dur) var(--ease-standard);transform:scaleX(0)}@media (prefers-reduced-motion:reduce){._bar_5ra30_11{transition:opacity var(--dur-fast) linear}}._toggle_xvdtf_1{top:20px;right:var(--gutter);z-index:var(--z-overlay);align-items:center;gap:5px;display:flex;position:fixed}@media (width>=768px){._toggle_xvdtf_1{top:24px;right:var(--gutter-md)}}._option_xvdtf_18,._active_xvdtf_19{transition:color var(--dur-fast) var(--ease-standard);padding:0}._option_xvdtf_18{color:var(--color-400)}._option_xvdtf_18:hover{color:var(--color-700)}._active_xvdtf_19{color:var(--color-900)}._sep_xvdtf_36{color:var(--color-300)}._skip_wu5tl_1{left:var(--gutter);z-index:var(--z-overlay);border-radius:var(--radius-sm);background:var(--color-900);color:var(--color-canvas);transition:transform var(--dur) var(--ease);padding:6px 12px;position:fixed;top:16px;transform:translateY(-200%)}._skip_wu5tl_1:focus{transform:translateY(0)}._closing_wu5tl_17{color:var(--color-700)}._aside_wu5tl_21{margin-top:8px}._footer_wu5tl_25{color:var(--color-400);font-variant-numeric:tabular-nums;margin-top:40px}:root{--color-canvas:#fdfdfc;--color-900:#171717;--color-700:#404040;--color-500:#737373;--color-400:#a1a1a1;--color-300:#d4d4d4;--color-200:#e5e5e5;--color-100:#f5f5f5;--color-chip:#ececea;--color-text:var(--color-700);--color-heading:var(--color-900);--color-muted:var(--color-400);--color-line:var(--color-100);--color-selection:#dfe4ff;--font-sans:var(--font-inter);--font-mono:var(--font-jetbrains);--text:.9rem;--text-code:.8125rem;--leading:1.39;--leading-prose:1.6;--tracking:-.006em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--measure:615px;--gutter:24px;--gutter-md:32px;--pad-top:64px;--pad-top-md:80px;--pad-bottom:96px;--pad-bottom-md:128px;--stack:16px;--block:56px;--row-h:48px;--row-h-md:40px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--dur-fast:.2s;--dur:.26s;--dur-slow:.45s;--stagger:85ms;--z-base:1;--z-aside:40;--z-overlay:100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--color-canvas)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text);font-weight:var(--weight-medium);line-height:var(--leading);letter-spacing:var(--tracking);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:var(--weight-medium);color:var(--color-heading)}a{color:inherit;text-decoration:none}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none}code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--text-code)}img,svg{max-width:100%;display:block}ul,ol{list-style:none}::selection{background:var(--color-selection);color:var(--color-900)}:focus-visible{outline:2px solid var(--color-400);outline-offset:3px;border-radius:var(--radius-xs)}.shell{width:100%;min-height:100vh;max-width:var(--measure);padding:var(--pad-top) var(--gutter) var(--pad-bottom);background:var(--color-canvas);margin-inline:auto}@media (width>=768px){.shell{padding:var(--pad-top-md) var(--gutter-md) var(--pad-bottom-md)}}.link{color:var(--color-900);text-decoration:underline;text-decoration-color:var(--color-300);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-standard)}.link:hover{text-decoration-color:var(--color-900)}.muted{color:var(--color-muted)}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}::view-transition-old(root),::view-transition-new(root),::view-transition-old(lang-toggle),::view-transition-new(lang-toggle){mix-blend-mode:normal}::view-transition-old(root){animation:.1s linear both page-out}::view-transition-new(root){animation:.28s cubic-bezier(.16,1,.3,1) 60ms both page-in}:root[data-astro-transition=back]::view-transition-new(root){animation-name:page-in-back}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@keyframes page-in-back{0%{opacity:0;transform:translateY(-8px)}}[data-lang-toggle]{view-transition-name:lang-toggle}:root[data-astro-transition-fallback=new] main{animation:.28s cubic-bezier(.16,1,.3,1) both page-in}:root[data-astro-transition=back][data-astro-transition-fallback=new] main{animation-name:page-in-back}@media (prefers-reduced-motion:reduce){::view-transition-group(root),::view-transition-old(root),::view-transition-new(root),::view-transition-group(lang-toggle),::view-transition-old(lang-toggle),::view-transition-new(lang-toggle){animation:none!important}:root[data-astro-transition-fallback=new] main{animation:none}}._reveal_4u6kw_5{opacity:0;animation:_reveal_4u6kw_5 var(--dur-slow) var(--ease) var(--reveal-delay,0s) both;transform:translateY(8px)}@keyframes _reveal_4u6kw_5{to{opacity:1;transform:none}}:root[data-navigated] ._reveal_4u6kw_5{opacity:1;animation:none;transform:none}@media (prefers-reduced-motion:reduce){._reveal_4u6kw_5{opacity:1;animation:none;transform:none}}
