/* roulang page: index */
:root {
      --color-primary: #00E599;
      --color-primary-hover: #00c784;
      --color-accent: #FF4D26;
      --color-dark: #090D14;
      --color-surface-dark: #121824;
      --color-slate: #1E293B;
      --color-muted: #64748B;
      --color-light-bg: #F8FAFC;
      --color-border: #E2E8F0;
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background-color: var(--color-light-bg);
      color: var(--color-slate);
      line-height: 1.6;
      overflow-x: hidden;
    }
    .badge-primary {
      background-color: rgba(0, 229, 153, 0.12);
      color: #009e66;
      border: 1px solid rgba(0, 229, 153, 0.3);
    }
    .badge-dark {
      background-color: rgba(255, 255, 255, 0.08);
      color: var(--color-primary);
      border: 1px solid rgba(0, 229, 153, 0.25);
    }
    .btn-main {
      background-color: var(--color-primary);
      color: #052e16;
      font-weight: 700;
      transition: all 0.25s ease;
      box-shadow: 0 4px 14px rgba(0, 229, 153, 0.35);
    }
    .btn-main:hover {
      background-color: var(--color-primary-hover);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(0, 229, 153, 0.45);
    }
    .btn-danger {
      background-color: var(--color-accent);
      color: #ffffff;
      font-weight: 700;
      transition: all 0.25s ease;
    }
    .btn-danger:hover {
      background-color: #e03c16;
      transform: translateY(-2px);
    }
    .card-craft {
      background: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.06);
      border-radius: 12px;
      transition: all 0.28s ease;
    }
    .card-craft:hover {
      border-color: rgba(0, 229, 153, 0.5);
      box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
      transform: translateY(-3px);
    }
    .card-dark-craft {
      background: #121824;
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 12px;
      transition: all 0.28s ease;
    }
    .card-dark-craft:hover {
      border-color: var(--color-primary);
      box-shadow: 0 10px 30px -10px rgba(0, 229, 153, 0.15);
      transform: translateY(-3px);
    }
    .hero-video-mask {
      position: relative;
      background: linear-gradient(180deg, rgba(9, 13, 20, 0.72) 0%, rgba(9, 13, 20, 0.95) 100%);
    }
    .pulse-dot {
      animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }
    .faq-answer {
      transition: max-height 0.3s ease-out, opacity 0.3s ease;
    }
