@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=JetBrains+Mono:wght@500&family=Hanken+Grotesk:wght@400;500&display=swap');

@keyframes pulse-orb {
  0%, 100% { transform: scale(1); opacity: 0.15; }
  50% { transform: scale(1.1); opacity: 0.25; }
}

@keyframes blink-cursor {
  0%, 100% { border-color: #dbfcff; }
  50% { border-color: transparent; }
}

@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fade-in-down {
  from { opacity: 0; transform: translateY(-50px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes scale-in {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

.animate-pulse-orb {
  animation: pulse-orb 10s ease-in-out infinite;
}

.animate-blink-cursor {
  animation: blink-cursor 1s step-end infinite;
}

.animate-fade-in-up {
  animation: fade-in-up 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.animate-fade-in-down {
  animation: fade-in-down 0.8s ease-out forwards;
}

.animate-scale-in {
  animation: scale-in 0.8s ease-out forwards;
}
