/* 渐变文本效果 */
@keyframes gradient {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }
  
  .gradient-text {
    background-image: linear-gradient(to right, #40C4C0, #2a8a87, #40C4C0);
    background-size: 300% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: gradient 8s ease infinite;
    display: inline-block;
    will-change: background-position;
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }
  
  .fadeIn.active .gradient-text {
    opacity: 1;
  }
  
  .gradient-text-border {
    position: relative;
    border-radius: 1.25rem;
    padding: 2px;
    overflow: hidden;
    max-width: fit-content;
    margin: 0 auto;
  }
  
  .gradient-text-border::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(to right, #40C4C0, #2a8a87, #40C4C0);
    background-size: 300% 100%;
    animation: gradient 8s ease infinite;
    z-index: -1;
  }
  
  .gradient-text-border-inner {
    background-color: white;
    border-radius: 1.25rem;
    padding: 0.5rem 1rem;
    position: relative;
    z-index: 1;
  } 