/* roulang page: index */
:root {
      --primary: #059669;
      --secondary: #06b6d4;
      --accent: #f97316;
      --dark-bg: #0f172a;
      --card-bg: #ffffff;
      --text-main: #0f172a;
      --text-muted: #64748b;
      --border-color: rgba(226, 232, 240, 0.8);
      --radius-xl: 1.25rem;
      --radius-2xl: 1.75rem;
      --shadow-soft: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
      --shadow-hover: 0 20px 35px -10px rgba(5, 150, 105, 0.18);
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: var(--text-main);
      background-color: #f8fafc;
      overflow-x: hidden;
    }
    .brand-gradient-bg {
      background: linear-gradient(135deg, #059669 0%, #0d9488 50%, #06b6d4 100%);
    }
    .brand-gradient-text {
      background: linear-gradient(135deg, #059669 0%, #06b6d4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .card-elevated {
      border-radius: var(--radius-xl);
      border: 1px solid var(--border-color);
      transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-elevated:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-hover);
      border-color: rgba(5, 150, 105, 0.35);
    }
    .hero-mask {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.82) 0%, rgba(15, 23, 42, 0.94) 100%);
    }
    .pill-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.35rem 0.9rem;
      border-radius: 9999px;
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.025em;
    }
    .code-chip {
      font-family: "Fira Code", monospace;
      font-size: 0.8rem;
    }
