/* 纯动画效果 - 零样式修改 */
.main-div {
  position: relative;
  /* 为伪元素定位 */
  overflow: hidden;
  /* 限制动画范围 */
}

/* 卡片整体悬停动画 */
.main-div:hover {
  animation: float-up 0.4s ease forwards;
}

@keyframes float-up {
  0% {
    transform: translateY(0);
  }

  100% {
    /* transform: translateY(-3px); */
  }
}


/* 底部边框动画（不影响布局） */
.main-div::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  /* 初始高度为0不占空间 */
  background: linear-gradient(90deg, #1775E7, #8859D9);
  /* 完全透明 */
  transition: all 0.3s ease;
}

.main-div:hover::after {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #1775E7, #8859D9);
  /* 继承文字颜色 */
}

/* 下载按钮动画 - 不改变原有样式 */
.download-file {
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

.download-file:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

.download-file.downloading {
  animation: download-click 0.3s ease;
}

@keyframes download-click {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(0.95);
  }

  100% {
    transform: scale(1);
  }
}

.download-icon-img {
  transition: transform 0.3s ease;
}

.download-file:hover .download-icon-img {
  transform: translateY(2px);
}