@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 10px 0 rgba(174, 117, 251, 0.3); }
    50% { box-shadow: 0 0 25px 5px rgba(190, 14, 255, 0.6); }
  }
  
  @keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
  }
  
  @keyframes bg-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  
  @keyframes reveal {
    from { width: 0; }
    to { width: 100%; }
  }
  
  body {
    background-color: #141616;
    color: white;
    overflow-x: hidden;
  }
  
  .glass-morphism {
    backdrop-filter: blur(10px);
    background: rgba(40, 40, 40, 0.2);
    border: 1px solid rgba(174, 117, 251, 0.3);
    box-shadow: 0 0 15px 0 rgba(174, 117, 251, 0.2);
  }
  
  .animate-typing {
    overflow: hidden;
    white-space: nowrap;
    animation: reveal 3.5s steps(40, end) 1s 1 normal both;
  }
  
  .animate-float {
    animation: float 6s ease-in-out infinite;
  }
  
  .animate-pulse-glow {
    animation: pulse-glow 3s infinite;
  }
  
  .bg-gradient-animate {
    background: linear-gradient(-45deg, #bb00ff, #90B5FF, #3d107a, #ae75fb);
    background-size: 400% 400%;
    animation: bg-shift 15s ease infinite;
  }