/* roulang page: index */
:root {
      --bg-deep: #0B0F19;
      --bg-surface: #111827;
      --primary: #2563EB;
      --primary-hover: #3B82F6;
      --accent: #06B6D4;
      --neon-purple: #8B5CF6;
      --text-main: #F9FAFB;
      --text-sub: #9CA3AF;
      --text-muted: #6B7280;
      --border-color: rgba(255, 255, 255, 0.08);
      --card-bg: rgba(17, 24, 39, 0.75);
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      background-color: var(--bg-deep);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
      line-height: 1.6;
    }

    .glass-panel {
      background: var(--card-bg);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-color);
    }

    .glass-card-interactive {
      background: var(--card-bg);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-color);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glass-card-interactive:hover {
      transform: translateY(-4px);
      border-color: rgba(59, 130, 246, 0.4);
      box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.25);
    }

    .btn-glow-primary {
      background-color: var(--primary);
      color: #ffffff;
      box-shadow: 0 0 20px rgba(37, 99, 235, 0.4);
      transition: all 0.3s ease;
    }
    .btn-glow-primary:hover {
      background-color: var(--primary-hover);
      box-shadow: 0 0 30px rgba(59, 130, 246, 0.6);
      transform: translateY(-2px);
    }

    .btn-outline-glow {
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.2);
      color: #ffffff;
      transition: all 0.3s ease;
    }
    .btn-outline-glow:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: var(--accent);
      color: var(--accent);
      transform: translateY(-2px);
    }

    .text-gradient-cyan {
      background: linear-gradient(135deg, #F9FAFB 0%, #06B6D4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .text-gradient-blue {
      background: linear-gradient(135deg, #60A5FA 0%, #2563EB 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out, opacity 0.3s ease;
      opacity: 0;
    }
    .faq-item.active .faq-answer {
      max-height: 250px;
      opacity: 1;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: var(--accent);
    }
    .faq-item.active {
      border-color: rgba(6, 182, 212, 0.4);
    }

    .section-divider {
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
      height: 1px;
      width: 100%;
    }
