/* 信号按钮容器 */
.ul-signal {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* 按钮基础样式 */
.ul-signal li a {
  display: inline-block;
  padding: 10px 20px;
  background: linear-gradient(135deg, #e6d5ff, #d4b8ff);
  color: #5a3d8a;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(180, 140, 255, 0.35);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* 文字 */
.ul-signal li a .text {
  position: relative;
  z-index: 1;
}

/* 跳动 + 伸缩动画 */
@keyframes bounce-stretch {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  30% {
    transform: translateY(-10px) scale(1.08, 0.92);
  }
  50% {
    transform: translateY(-4px) scale(0.95, 1.08);
  }
  70% {
    transform: translateY(-8px) scale(1.05, 0.96);
  }
}

/* 应用动画 */
.ul-signal li a {
  animation: bounce-stretch 1.6s ease-in-out infinite;
}

/* 错开跳动时间，更自然 */
.ul-signal li:nth-child(1) a { animation-delay: 0s; }
.ul-signal li:nth-child(2) a { animation-delay: 0.2s; }
.ul-signal li:nth-child(3) a { animation-delay: 0.4s; }
.ul-signal li:nth-child(4) a { animation-delay: 0.6s; }

/* 悬停效果 */
.ul-signal li a:hover {
  animation-play-state: paused;
  transform: scale(1.12);
  background: linear-gradient(135deg, #d4b8ff, #c29bff);
  box-shadow: 0 6px 18px rgba(160, 110, 255, 0.5);
  color: #4a2d7a;
}