.scrollbar-thin::-webkit-scrollbar{width:8px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-cursor{display:inline-block;width:2px;height:1em;background-color:currentColor;margin-left:2px;animation:blink .8s step-end infinite}.animate-fade-in-up{opacity:0;transform:translate(var(--translate-x,0),var(--translate-y,30px));transition:opacity var(--animation-duration,.8s) ease,transform var(--animation-duration,.8s) ease}.animate-fade-in-up.visible{opacity:1;transform:translate(0)}@keyframes scroll{0%{opacity:1;transform:translate(-50%)}to{opacity:.2;transform:translate(-50%,30px)}}.animate-scroll{animation:scroll 1.5s infinite}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-fade-out{animation:fadeOut .3s ease forwards}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:0}}.animate-pulse{animation:pulse 1s cubic-bezier(.4,0,.6,1) infinite}