:root {
  --color-primary: #13BA46;  /* 科技绿 */
  --color-secondary: #1E90FF;  /* 科技蓝 */
  --color-accent: #FF6B35;  /* 活力橙 */
  --text-primary: #333333;
  --text-secondary: #666666;
  --bg-white: #FFFFFF;
}

/* 基础样式 */
body {
  font-family: 'Roboto', 'Noto Sans SC', sans-serif;
  color: var(--text-primary);
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans SC', sans-serif;
  font-weight: 700;
}

/* 自定义工具类 */
.text-primary {
  color: var(--color-primary);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-accent {
  color: var(--color-accent);
}

.bg-primary {
  background-color: var(--color-primary);
}

.bg-secondary {
  background-color: var(--color-secondary);
}

.bg-accent {
  background-color: var(--color-accent);
}

/* 动画效果 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* 粒子背景效果类 */
.particles-container {
  position: relative;
  overflow: hidden;
}

/* 卡片悬浮效果 */
.hover-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* 响应式调整 */
@media (max-width: 768px) {
  h1 {
    font-size: 28px;
  }
  h2 {
    font-size: 24px;
  }
}

/* 3D效果样式 */
.effect-3d {
  transform-style: preserve-3d;
  perspective: 1000px;
}

/* 网格布局样式 */
.grid-tech {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
} 