/* roulang page: index */
:root {
      --primary: #0F2438;
      --secondary: #00C48C;
      --accent: #FF6B35;
      --bg-light: #F8FAFC;
      --bg-dark: #0A121A;
      --border-light: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    body {
      background-color: var(--bg-light);
      color: #1E293B;
      line-height: 1.75;
      overflow-x: hidden;
    }
    .badge-capsule {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.8125rem;
      font-weight: 600;
      color: var(--secondary);
      background-color: rgba(0, 196, 140, 0.1);
      border: 1px solid rgba(0, 196, 140, 0.25);
    }
    .card-elevated {
      background: #FFFFFF;
      border-radius: 0.75rem;
      border: 1px solid var(--border-light);
      box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
      transition: all 0.25s ease-in-out;
    }
    .card-elevated:hover {
      box-shadow: 0 20px 25px -5px rgba(15, 36, 56, 0.08), 0 10px 10px -5px rgba(15, 36, 56, 0.04);
      transform: translateY(-2px);
    }
    .pulse-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #00C48C;
      box-shadow: 0 0 0 0 rgba(0, 196, 140, 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, 196, 140, 0);
      }
    }
