.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}.fs-header-shell{--fs-header-rule-color: hsl(var(--border) / .7);transition:background-color .18s ease;padding-top:env(safe-area-inset-top,0px)}.fs-header-shell:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;box-shadow:0 1px #00000008,0 18px 60px -50px #00000047;opacity:0;transition:opacity .24s ease}.dark .fs-header-shell:before{box-shadow:0 1px #ffffff08,0 22px 90px -64px #000000b8}[data-scrolled=true] .fs-header-shell:before{opacity:1}.fs-header-shell:after{content:"";position:absolute;left:50%;bottom:0;width:min(var(--page-max),calc(100vw - (var(--page-gutter) * 2)));transform:translate(-50%);border-bottom:1px solid var(--fs-header-rule-color);pointer-events:none;transition:border-color .18s ease}[data-scrolled=true] .fs-header-shell{background:color-mix(in oklab,hsl(var(--background)) 86%,transparent 14%);--fs-header-rule-color: color-mix(in oklab, hsl(var(--border)) 78%, transparent 22%)}.fs-icon-sun{display:none}.fs-icon-moon,.dark .fs-icon-sun{display:block}.dark .fs-icon-moon{display:none}.fs-page-rails{position:fixed;inset:0;pointer-events:none;z-index:40}.fs-page-rails:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:min(var(--page-max),calc(100vw - (var(--page-gutter) * 2)));transform:translate(-50%);border-left:1px solid hsl(var(--border) / .7);border-right:1px solid hsl(var(--border) / .7)}.fs-skip-link{position:fixed;top:calc(.75rem + env(safe-area-inset-top,0px));left:calc(.75rem + env(safe-area-inset-left,0px));z-index:100;display:inline-flex;align-items:center;justify-content:center;padding:.6rem .85rem;border:1px solid hsl(var(--border) / .8);background:hsl(var(--background) / .96);color:hsl(var(--foreground));font-family:var(--font-mono-stack);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;transform:translateY(calc(-100% - 1rem));transition:transform .14s ease}.fs-skip-link:focus-visible{transform:translateY(0)}body.fs-grid{position:relative}body.fs-grid:after{content:"";position:fixed;inset:-20vh -10vw;z-index:-2;pointer-events:none;background:radial-gradient(900px 520px at 18% -8%,hsl(var(--accent) / .08),transparent 62%),radial-gradient(760px 460px at 86% -10%,hsl(var(--foreground) / .04),transparent 60%),radial-gradient(760px 520px at 55% 115%,hsl(var(--accent) / .05),transparent 70%);opacity:.92}.dark body.fs-grid:after{background:radial-gradient(900px 520px at 18% -8%,hsl(var(--accent) / .12),transparent 62%),radial-gradient(760px 460px at 86% -10%,hsl(var(--foreground) / .05),transparent 60%),radial-gradient(760px 520px at 55% 115%,hsl(var(--accent) / .08),transparent 70%);opacity:.55}body.fs-grid:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(to right,hsl(var(--border) / .22) 0px,hsl(var(--border) / .22) 1px,transparent 1px,transparent 64px),repeating-linear-gradient(to bottom,hsl(var(--border) / .16) 0px,hsl(var(--border) / .16) 1px,transparent 1px,transparent 64px);opacity:.38;mask-image:linear-gradient(to bottom,transparent 0%,black 12%,black 100%)}.dark body.fs-grid:before{opacity:.28;background-image:repeating-linear-gradient(to right,hsl(var(--border) / .28) 0px,hsl(var(--border) / .28) 1px,transparent 1px,transparent 64px),repeating-linear-gradient(to bottom,hsl(var(--border) / .22) 0px,hsl(var(--border) / .22) 1px,transparent 1px,transparent 64px)}@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}}
