/* roulang page: index */
:root {
      --primary-accent: #00E599;
      --primary-accent-dark: #00C882;
      --color-dark: #0D1117;
      --color-dark-card: #161B22;
      --color-light-bg: #F8F9FA;
      --color-text-main: #1F2429;
      --color-text-sub: #586069;
      --border-subtle: rgba(0, 0, 0, 0.08);
      --border-dark-subtle: rgba(255, 255, 255, 0.12);
      --shadow-soft: 0 10px 30px -4px rgba(0, 0, 0, 0.05);
      --transition-smooth: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    *, *::before, *::after {
      box-sizing: border-box;
    }

    body {
      color: var(--color-text-main);
      background-color: var(--color-light-bg);
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }

    /* 顶部滚动条美化 */
    ::-webkit-scrollbar {
      width: 8px;
    }
    ::-webkit-scrollbar-track {
      background: #F1F3F5;
    }
    ::-webkit-scrollbar-thumb {
      background: #CBD5E1;
      border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #94A3B8;
    }

    .glass-card {
      background: rgba(255, 255, 255, 0.85);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.6);
    }

    .dark-glass {
      background: rgba(22, 27, 34, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .interactive-card {
      transition: var(--transition-smooth);
    }
    .interactive-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -8px rgba(0, 0, 0, 0.08);
    }

    .glow-tag {
      box-shadow: 0 0 16px rgba(0, 229, 153, 0.25);
    }

    .radar-scan {
      position: relative;
      overflow: hidden;
    }
    .radar-scan::after {
      content: '';
      position: absolute;
      top: -100%;
      left: 0;
      right: 0;
      bottom: 0;
      height: 100%;
      background: linear-gradient(180deg, transparent, rgba(0, 229, 153, 0.15), transparent);
      animation: scanSweep 3.5s infinite linear;
    }
    @keyframes scanSweep {
      0% { top: -100%; }
      100% { top: 100%; }
    }

    /* 手风琴折叠平滑过渡 */
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
      opacity: 0;
    }
    .faq-item.active .faq-content {
      max-height: 320px;
      opacity: 1;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }
