/* roulang page: index */
:root {
      --color-brand: #00E599;
      --color-brand-hover: #05c786;
      --color-bg-dark: #090D16;
      --color-card-dark: #111827;
      --color-border-dark: rgba(255, 255, 255, 0.08);
      --font-stack: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    body {
      font-family: var(--font-stack);
      background-color: var(--color-bg-dark);
      color: #E2E8F0;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    .custom-scrollbar::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-track {
      background: #090D16;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: #1F2937;
      border-radius: 9999px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb:hover {
      background: #374151;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 20%, rgba(0, 229, 153, 0.15) 0%, rgba(9, 13, 22, 0) 70%);
    }
    .grid-pattern {
      background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
      background-size: 32px 32px;
    }
    .pulse-dot {
      box-shadow: 0 0 0 0 rgba(0, 229, 153, 0.7);
      animation: pulse-ring 2s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes pulse-ring {
      to {
        box-shadow: 0 0 0 8px rgba(0, 229, 153, 0);
      }
    }
