html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh;padding-top:var(--header-height)}body.logout-transition{opacity:0!important;transform:translateY(30px)!important;animation:smoothAppear 1.2s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.5s}@keyframes smoothAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.page-wrapper[data-astro-cid-2m2di2aw]{min-height:100vh;display:flex;flex-direction:column}.scroll-reveal.svelte-51lvpc{--reveal-delay:0ms}.scroll-reveal.svelte-51lvpc:not(.scroll-driven){opacity:0;transform:translateY(30px);transition:opacity .5s ease-out,transform .5s ease-out;transition-delay:var(--reveal-delay)}.scroll-reveal:not(.scroll-driven).visible.svelte-51lvpc{opacity:1;transform:translateY(0)}.scroll-reveal.scroll-driven.svelte-51lvpc{animation:svelte-51lvpc-scrollRevealIn .5s ease-out both;animation-delay:var(--reveal-delay);animation-timeline:view();animation-range:entry 0%entry 30%}@keyframes svelte-51lvpc-scrollRevealIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.scroll-reveal.svelte-51lvpc,.scroll-reveal.scroll-driven.svelte-51lvpc{opacity:1;transform:none;animation:none;transition:none}}.focus-text-container.svelte-1mho8ee{display:inline-block;position:relative}.focus-text.svelte-1mho8ee{display:inline-block;position:relative;opacity:0;filter:blur(25px);transform:scale(1.25);transform-origin:center center;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),filter 1.2s cubic-bezier(.4,0,.2,1),transform 1.2s cubic-bezier(.4,0,.2,1)}.focus-text.focused.svelte-1mho8ee{opacity:1;filter:blur(0);transform:scale(1)}@media (prefers-reduced-motion:reduce){.focus-text.svelte-1mho8ee{opacity:1;filter:none;transform:none;transition:none}}.visualize-button.svelte-8qibra{position:relative;display:inline-block;padding:.625rem 2rem;font-size:1.125rem;font-weight:700;text-decoration:none;color:#fff;border:2px solid transparent;border-radius:9999px;overflow:visible;box-shadow:0 0#0000;cursor:pointer;background:0 0;transition:transform 1s cubic-bezier(.4,0,.2,1),box-shadow 1s cubic-bezier(.4,0,.2,1)}.button-gradient.svelte-8qibra{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#ff1b8d 0 30%,#00d9ff 50%,gold 70% 100%);background-size:400% 400%;border-radius:9999px;animation:svelte-8qibra-gradient-wave 8s ease-in-out infinite;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.4,0,.2,1) .5s,visibility 0s 0s}.visualize-button.svelte-8qibra:not(:hover) .button-gradient:where(.svelte-8qibra){opacity:1;visibility:visible}.visualize-button.svelte-8qibra:hover .button-gradient:where(.svelte-8qibra){opacity:0;visibility:hidden;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 0s 1s}.button-text.svelte-8qibra{position:relative;z-index:3;display:inline-block;color:#fff;transition:color 1s cubic-bezier(.4,0,.2,1),-webkit-text-fill-color 1s cubic-bezier(.4,0,.2,1)}.visualize-button.svelte-8qibra:hover{border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 16px #ff1b8d26,0 2px 8px #00d9ff1f,0 1px 4px #ffd7001a}.visualize-button.svelte-8qibra:hover .button-text:where(.svelte-8qibra){background:linear-gradient(135deg,#ff1b8d 0 30%,#00d9ff 50%,gold 70% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:400% 400%;animation:svelte-8qibra-gradient-wave 8s ease-in-out infinite}.button-border.svelte-8qibra{position:absolute;inset:-2px;z-index:1;background:linear-gradient(135deg,#ff1b8d 0 30%,#00d9ff 50%,gold 70% 100%);background-size:400% 400%;border-radius:9999px;pointer-events:none;opacity:0;visibility:hidden;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s .3s}.visualize-button.svelte-8qibra:hover .button-border:where(.svelte-8qibra){opacity:1;visibility:visible;animation:svelte-8qibra-gradient-wave 8s ease-in-out infinite;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 0s 0s}.button-bg.svelte-8qibra{position:absolute;inset:2px;z-index:2;border-radius:9999px;pointer-events:none;opacity:0;visibility:hidden;background-color:hsl(var(--background));transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility 0s .3s}.visualize-button.svelte-8qibra:hover .button-bg:where(.svelte-8qibra){opacity:1;visibility:visible;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 0s 0s}@keyframes svelte-8qibra-gradient-wave{0%{background-position:50% 50%}25%{background-position:65% 60%}50%{background-position:50% 70%}75%{background-position:35% 60%}to{background-position:50% 50%}}@media (prefers-reduced-motion:reduce){.button-gradient.svelte-8qibra,.button-border.svelte-8qibra,.button-text.svelte-8qibra{animation:none!important;transition:none}.visualize-button.svelte-8qibra:hover{transform:none}}@media (min-width:768px){.visualize-button.svelte-8qibra{font-size:1.25rem}}.visualize-button.svelte-8qibra:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:4px}.visualize-button.svelte-8qibra:active{transform:translateY(0)}img.svelte-4w204i{filter:grayscale(100%) contrast(1.1) brightness(.9)}header.bg-hover-fade-out{opacity:0!important;transition:opacity .8s cubic-bezier(.4,0,.2,1)!important}.star.svelte-4w204i{position:absolute;border-radius:50%;transform:scale(0);opacity:0;--max-opacity:.8;--fade-in-delay:0s;transition:transform 2s ease-out,opacity 0s;will-change:transform,opacity;contain:layout style}.star.star-visible.svelte-4w204i{transform:scale(1);transition-delay:var(--fade-in-delay),0s;animation:svelte-4w204i-twinkle infinite ease-in-out}@keyframes svelte-4w204i-twinkle{0%{opacity:0;transform:scale(.9)}25%{opacity:calc(var(--max-opacity)*.88);transform:scale(1)}30%{opacity:calc(var(--max-opacity)*.85);transform:scale(.995)}35%{opacity:calc(var(--max-opacity)*.92);transform:scale(1.005)}40%{opacity:calc(var(--max-opacity)*.87);transform:scale(.995)}45%{opacity:calc(var(--max-opacity)*.94);transform:scale(1.005)}50%{opacity:calc(var(--max-opacity)*.89);transform:scale(.995)}55%{opacity:calc(var(--max-opacity)*.95);transform:scale(1)}70%{opacity:calc(var(--max-opacity)*.93);transform:scale(1)}to{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.star.svelte-4w204i,.star.star-visible.svelte-4w204i{animation:none;transition:opacity .3s ease-out}.star.star-visible.svelte-4w204i{opacity:var(--max-opacity);transform:scale(1)}}.section-title[data-astro-cid-j7pv25f6]{cursor:pointer;position:relative}.section-title[data-astro-cid-j7pv25f6],.section-title[data-astro-cid-j7pv25f6] *{transition:color 1s cubic-bezier(.4,0,.2,1),text-shadow 1s cubic-bezier(.4,0,.2,1)}.section-title[data-astro-cid-j7pv25f6]:hover,.section-title[data-astro-cid-j7pv25f6]:hover *{color:var(--glow-color);text-shadow:0 0 6px color-mix(in srgb,var(--glow-color) 40%,transparent),0 0 12px color-mix(in srgb,var(--glow-color) 20%,transparent)}.image-fade-container[data-astro-cid-j7pv25f6]{border-radius:.5rem;overflow:hidden}.image-fade-container[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{display:block}