@keyframes animationIn{0%{opacity:0;transform:translateY(30px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.animate-in{animation:animationIn .8s ease-out both}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.beam-border{position:absolute;inset:0;border-radius:9999px;pointer-events:none;overflow:hidden}.beam-border:before{content:"";position:absolute;inset:-2px;background:conic-gradient(from 0deg,transparent 0 340deg,white 1turn);animation:spin 4s linear infinite;opacity:0;transition:opacity .3s ease}.group:hover .beam-border:before{opacity:1}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-container{mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}.marquee-content{animation:marquee 40s linear infinite}.marquee-content:hover{animation-play-state:paused}.border-subtle{border-color:rgba(255,255,255,.03)}.text-gradient{background-clip:text;-webkit-background-clip:text;color:transparent;background-image:linear-gradient(180deg,#fff,#777)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}