@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-30px);
    }
    60% {
      transform: translateY(-15px);
    }
  }
  
  .bounce {
    animation: bounce 2s infinite;
  }
  @keyframes shake {
    0%, 100% {
      transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
      transform: translateX(-10px);
    }
    20%, 40%, 60%, 80% {
      transform: translateX(10px);
    }
  }
  
  .shake {
    animation: shake 1s infinite;
  }
  .preloader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  
  .preloader-animation {
    display: flex;
  }
  
  .letter {
    font-size: 48px;
    font-weight: bold;
    color: #1890ff;
    animation: bounce 1.5s infinite;
  }
  
  .letter:nth-child(1) { animation-delay: 0s; }
  .letter:nth-child(2) { animation-delay: 0.1s; }
  .letter:nth-child(3) { animation-delay: 0.2s; }
  .letter:nth-child(4) { animation-delay: 0.3s; }
  .letter:nth-child(5) { animation-delay: 0.4s; }
  .letter:nth-child(6) { animation-delay: 0.5s; }
  .letter:nth-child(7) { animation-delay: 0.6s; }
  .letter:nth-child(8) { animation-delay: 0.7s; }
  .letter:nth-child(9) { animation-delay: 0.8s; }
  
  @keyframes bounce {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px);
    }
  }