:root{--lumi-color-firefly: #a8ff78;--lumi-color-firefly-soft: #6fe3a8;--lumi-color-aurora: #8e78ff;--lumi-color-cyan: #78d6ff;--lumi-color-warm: #ffb071;--lumi-duration-fast: .12s;--lumi-duration-base: .2s;--lumi-duration-medium: .32s;--lumi-easing-soft: cubic-bezier(.25, .8, .25, 1)}html{scroll-behavior:auto;scrollbar-width:none}body{background-color:#0a0e14;color:#f5f5f7}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;transform:translateY(-180%);border-radius:.5rem;background:#f5f5f7;color:#0a0e14;padding:.6rem .85rem;font-weight:600;box-sizing:border-box;max-width:calc(100vw - 1.5rem);overflow-wrap:anywhere}.skip-link:focus{transform:translateY(0);outline:3px solid var(--lumi-color-firefly);outline-offset:2px}:focus-visible{outline:2px solid var(--lumi-color-firefly);outline-offset:3px}::selection{background-color:#a8ff784d;color:#f5f5f7}::-webkit-scrollbar{width:0;display:none}.animate-scroll-bounce{animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(8px);opacity:.8}}.animate-fade-in{animation:fadeInUp .6s ease-out both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-gradient,.text-gradient-gold,.text-gradient-firefly,.text-gradient-lumi{background-image:linear-gradient(to right in srgb,var(--lumi-color-firefly, #a8ff78),var(--lumi-color-aurora, #8e78ff))!important;-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient-green{background-image:linear-gradient(to right in srgb,var(--lumi-color-firefly-soft, #6fe3a8),var(--lumi-color-cyan, #78d6ff))!important;-webkit-background-clip:text;background-clip:text;color:transparent}.bg-gradient-radial{background-image:radial-gradient(circle at center,var(--un-gradient-stops))}@media(prefers-reduced-motion:reduce){.animate-scroll-bounce,.animate-fade-in{animation:none}}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--lumi-easing-soft),transform .7s var(--lumi-easing-soft);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:none}.lift{transition:transform var(--lumi-duration-medium, .32s) var(--lumi-easing-soft),border-color var(--lumi-duration-medium, .32s) var(--lumi-easing-soft),box-shadow var(--lumi-duration-medium, .32s) var(--lumi-easing-soft),background-color var(--lumi-duration-medium, .32s) var(--lumi-easing-soft)}.lift:hover{transform:translateY(-4px);border-color:#a8ff7840;box-shadow:0 12px 40px -12px #a8ff782e}.navlink{position:relative;text-decoration:none}.navlink:after{content:"";position:absolute;left:50%;bottom:-2px;height:1px;width:0;background:var(--lumi-color-firefly, #a8ff78);transform:translate(-50%);transition:width var(--lumi-duration-medium, .32s) var(--lumi-easing-soft)}.navlink:hover:after{width:100%}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.lift:hover{transform:none}}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s}.hdr{padding-top:1.25rem;padding-bottom:1.25rem;background-color:transparent;border-bottom:1px solid transparent;transition:background-color var(--lumi-duration-medium, .32s) var(--lumi-easing-soft),border-color var(--lumi-duration-medium, .32s) var(--lumi-easing-soft),padding var(--lumi-duration-medium, .32s) var(--lumi-easing-soft)}.hdr--scrolled{padding-top:.75rem;padding-bottom:.75rem;background-color:#0a0e14d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:#f5f7fa0f}@media(prefers-reduced-motion:reduce){.hdr{transition:none}}.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}@media(max-width:280px){.site-wordmark[data-astro-cid-ctg3m53h]{display:none}nav[data-astro-cid-ctg3m53h]{padding-inline:.5rem}}@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}}
