/* roulang page: index */
:root {
      --primary: #0F4C81;
      --primary-dark: #0A3358;
      --primary-light: #1D4ED8;
      --accent: #F97316;
      --accent-hover: #EA580C;
      --status-green: #10B981;
      --bg-light: #F8FAFC;
      --bg-surface: #FFFFFF;
      --text-main: #0F172A;
      --text-muted: #334155;
      --text-sub: #64748B;
      --border-color: #E2E8F0;
      --card-shadow: 0 10px 25px -5px rgba(15, 76, 129, 0.06), 0 8px 10px -6px rgba(15, 76, 129, 0.04);
      --card-shadow-hover: 0 20px 30px -10px rgba(15, 76, 129, 0.15), 0 10px 15px -5px rgba(15, 76, 129, 0.08);
    }
    body {
      background-color: var(--bg-light);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    .custom-card {
      background: var(--bg-surface);
      border: 1px solid var(--border-color);
      box-shadow: var(--card-shadow);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .custom-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--card-shadow-hover);
      border-color: #CBD5E1;
    }
    .pulse-dot {
      animation: pulseGreen 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
    }
    @keyframes pulseGreen {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }
    .hero-mask {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.88) 0%, rgba(15, 76, 129, 0.75) 100%);
    }
    .cta-glow-btn {
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease;
    }
    .cta-glow-btn::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -60%;
      width: 20%;
      height: 200%;
      background: rgba(255, 255, 255, 0.3);
      transform: rotate(25deg);
      transition: all 0.75s ease;
    }
    .cta-glow-btn:hover::after {
      left: 140%;
    }
    .radar-circle {
      border: 1px dashed rgba(59, 130, 246, 0.4);
      border-radius: 50%;
      animation: spinRadar 25s linear infinite;
    }
    @keyframes spinRadar {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
