/* roulang page: index */
:root {
      --bg-main: #0B1315;
      --bg-card: #141E21;
      --bg-deep: #080D0E;
      --primary: #0A4D3C;
      --accent: #22E575;
      --accent-glow: rgba(34, 229, 117, 0.28);
      --border-subtle: #1F2E33;
      --border-accent: rgba(34, 229, 117, 0.2);
      --text-main: #FFFFFF;
      --text-muted: #8F9CA2;
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 20px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    .num-font {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      font-variant-numeric: tabular-nums;
    }

    .container-wide {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 20px;
      padding-right: 20px;
    }

    .glass-panel {
      background: rgba(20, 30, 33, 0.78);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
    }

    .glass-card-hover {
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .glass-card-hover:hover {
      border-color: var(--accent);
      transform: translateY(-3px);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), 0 0 16px var(--accent-glow);
    }

    .badge-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 4px 12px;
      border-radius: 9999px;
      font-size: 13px;
      font-weight: 500;
    }

    .pulse-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: var(--accent);
      box-shadow: 0 0 10px var(--accent);
      animation: pulseAnim 2s infinite ease-in-out;
    }

    @keyframes pulseAnim {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(0.8); }
    }

    .glow-btn {
      background-color: var(--accent);
      color: #061A14;
      font-weight: 600;
      transition: all 0.2s ease;
      box-shadow: 0 0 16px var(--accent-glow);
    }
    .glow-btn:hover {
      background-color: #38ee85;
      box-shadow: 0 0 24px rgba(34, 229, 117, 0.45);
      color: #020C09;
    }

    .dark-btn {
      background-color: rgba(255, 255, 255, 0.05);
      color: #FFFFFF;
      border: 1px solid var(--border-subtle);
      transition: all 0.2s ease;
    }
    .dark-btn:hover {
      background-color: rgba(255, 255, 255, 0.1);
      border-color: #3B535B;
    }

    .section-spacing {
      padding-top: 84px;
      padding-bottom: 84px;
    }

    /* FAQ accordion styling */
    details summary::-webkit-details-marker {
      display: none;
    }
    details[open] summary svg {
      transform: rotate(180deg);
    }
