/* roulang page: index */
:root {
      --primary: #00D285;
      --primary-hover: #00B371;
      --accent: #5F38FB;
      --bg-dark: #0F1115;
      --text-main: #111827;
      --text-muted: #6B7280;
      --border-light: rgba(226, 232, 240, 0.8);
    }
    body {
      background-color: #F7F8FA;
      color: #111827;
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    .text-balance { text-wrap: balance; }
    .glass-nav {
      background: rgba(255, 255, 255, 0.85);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .card-hover-fx {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover-fx:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.08);
    }
    .pulse-dot {
      box-shadow: 0 0 0 0 rgba(0, 210, 133, 0.7);
      animation: pulse 2s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes pulse {
      to { box-shadow: 0 0 0 8px rgba(0, 210, 133, 0); }
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .accordion-item.active .accordion-content {
      max-height: 280px;
    }
    .accordion-item.active .icon-chevron {
      transform: rotate(180deg);
    }
