@keyframes animate{0%{transform:translateY(100vh) scale(0)}to{transform:translateY(-10vh) scale(1)}}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-100px) scale(1.2)}66%{transform:translate(-100px,20px) scale(.8)}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-slow{0%,to{opacity:.3}50%{opacity:.5}}.hero-background{min-height:100dvh;background:var(--color-background)}.dark{.hero-background{background:var(--color-foreground)}}.hero-container{position:relative;width:100%;height:100dvh;overflow:hidden}.hero-logo .keys{stroke-dasharray:740;stroke-dashoffset:740;animation:animate-draw 4s forwards}.hero-logo .pencil{stroke-dasharray:230;stroke-dashoffset:230;animation:animate-draw 4s forwards;animation-delay:.75s}@keyframes animate-draw{to{stroke-dashoffset:0}}.animate-blob{animation:blob 5s infinite forwards}.animation-delay-1000{animation-delay:1s}.animation-delay-2000{animation-delay:2s}.animation-delay-3000{animation-delay:3s}.animate-gradient{animation:gradient 8s ease infinite}.animate-fade-in-up{animation:fade-in-up 1s ease-out .5s both}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}