/* roulang page: index */
:root {
      --primary: #0F172A;
      --secondary: #059669;
      --accent: #10B981;
      --bg-light: #F8FAFC;
      --bg-card: #FFFFFF;
      --border-color: #E2E8F0;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --shadow-sm: 0 2px 8px -1px rgba(15, 23, 42, 0.05);
      --shadow-md: 0 10px 25px -4px rgba(15, 23, 42, 0.08);
      --shadow-lg: 0 20px 40px -8px rgba(15, 23, 42, 0.12);
    }
    body {
      font-family: var(--font-sans);
      color: var(--text-main);
      background-color: #FFFFFF;
      overflow-x: hidden;
      line-height: 1.65;
    }
    .num-tabular {
      font-variant-numeric: tabular-nums;
    }
    .glass-nav {
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      background-color: rgba(255, 255, 255, 0.92);
    }
    .card-hover {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
      border-color: #CBD5E1;
    }
    .border-glow:hover {
      border-color: var(--accent);
      box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.2), 0 12px 30px -4px rgba(5, 150, 105, 0.12);
    }
    /* 平滑折叠动画 */
    .accordion-content {
      transition: max-height 0.35s ease-out, opacity 0.25s ease;
    }
    /* 隐藏滚动条 */
    .no-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .no-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
