/* roulang page: index */
:root {
      --primary: #10B981;
      --primary-hover: #059669;
      --bg-dark: #0F172A;
      --card-bg: #FFFFFF;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --border-color: #E2E8F0;
    }
    body {
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: #F8FAFC;
      line-height: 1.65;
      overflow-x: hidden;
    }
    .hero-bg {
      background-image: linear-gradient(rgba(15, 23, 42, 0.88), rgba(15, 23, 42, 0.94)), url('/assets/images/d2159cdd49f2f462.jpg');
      background-size: cover;
      background-position: center;
    }
    .cta-banner-bg {
      background-image: linear-gradient(rgba(15, 23, 42, 0.9), rgba(5, 150, 105, 0.9)), url('/assets/images/50b3f0ba202b8361.jpg');
      background-size: cover;
      background-position: center;
    }
    .pulse-dot {
      box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
      animation: pulse 1.8s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes pulse {
      to {
        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
      }
    }
    .badge-live {
      animation: flash 1.2s infinite ease-in-out;
    }
    @keyframes flash {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.5; }
    }
