/* roulang page: index */
:root {
      --primary: #0066FF;
      --navy: #0A2540;
      --accent-orange: #FF5A1F;
      --accent-green: #00D084;
      --bg-light: #F8FAFC;
      --border-color: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
    }
    body {
      background-color: var(--bg-light);
      color: #334155;
      overflow-x: hidden;
    }
    .hero-bg {
      background: linear-gradient(135deg, rgba(10, 37, 64, 0.92) 0%, rgba(11, 19, 43, 0.88) 100%), url('/assets/images/4ed633e0a5918e14.jpg') center/cover no-repeat;
    }
    .dark-matrix-bg {
      background: linear-gradient(180deg, #0B132B 0%, #081026 100%), url('/assets/images/7125b7d5bc986cfe.webp') center/cover no-repeat;
    }
    .tech-card {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .tech-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 16px 36px -6px rgba(10, 37, 64, 0.12);
    }
    .badge-pulse::before {
      content: '';
      position: absolute;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: currentColor;
      animation: pulse 2s infinite;
      left: 8px;
      top: 50%;
      transform: translateY(-50%);
    }
    @keyframes pulse {
      0% { transform: translateY(-50%) scale(0.95); box-shadow: 0 0 0 0 rgba(0, 208, 132, 0.7); }
      70% { transform: translateY(-50%) scale(1.15); box-shadow: 0 0 0 6px rgba(0, 208, 132, 0); }
      100% { transform: translateY(-50%) scale(0.95); box-shadow: 0 0 0 0 rgba(0, 208, 132, 0); }
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .accordion-item.active .accordion-content {
      max-height: 250px;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
