/* roulang page: index */
:root {
      --primary: #1e293b;
      --secondary: #2563eb;
      --accent: #0d9488;
      --bg-light: #f8fafc;
      --bg-white: #ffffff;
      --text-main: #0f172a;
      --text-muted: #64748b;
      --border-color: #e2e8f0;
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 16px;
    }
    body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: var(--bg-light);
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    h1, h2, h3, h4 {
      line-height: 1.28;
      letter-spacing: -0.02em;
    }
    .hero-bg-overlay {
      background: radial-gradient(circle at 75% 30%, rgba(37, 99, 235, 0.12) 0%, rgba(248, 250, 252, 0) 70%),
                  linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    }
    .glass-card {
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(226, 232, 240, 0.8);
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.06), 0 4px 12px -2px rgba(15, 23, 42, 0.03);
    }
    .custom-shadow-hover:hover {
      box-shadow: 0 20px 35px -8px rgba(37, 99, 235, 0.12), 0 8px 16px -4px rgba(15, 23, 42, 0.04);
      transform: translateY(-3px);
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .accordion-content.open {
      max-height: 380px;
    }
    .rotate-icon {
      transition: transform 0.3s ease;
    }
    .rotate-icon.open {
      transform: rotate(180deg);
    }
    .tab-btn.active {
      background-color: #2563eb;
      color: #ffffff;
      border-color: #2563eb;
    }
