/* roulang page: index */
:root {
      --primary: #e11d48;
      --primary-dark: #be123c;
      --accent: #f59e0b;
      --text-main: #0f172a;
      --text-muted: #64748b;
      --bg-light: #fafafa;
    }
    body {
      color: var(--text-main);
      background-color: var(--bg-light);
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .hero-mask {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.88) 100%);
    }
    .custom-scrollbar::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background-color: #cbd5e1;
      border-radius: 9999px;
    }

/* roulang page: article */
:root {
      --primary: #e11d48;
      --primary-dark: #be123c;
      --accent: #f59e0b;
      --text-main: #0f172a;
      --text-muted: #64748b;
      --bg-light: #fafafa;
    }
    body {
      color: var(--text-main);
      background-color: var(--bg-light);
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .hero-mask {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.88) 100%);
    }
    .article-body h2 {
      font-size: 1.5rem;
      font-weight: 800;
      color: #0f172a;
      margin-top: 2rem;
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid #f1f5f9;
      position: relative;
    }
    .article-body h2::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 2.5rem;
      height: 2px;
      background-color: var(--primary);
    }
    .article-body h3 {
      font-size: 1.25rem;
      font-weight: 700;
      color: #1e293b;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
    }
    .article-body p {
      margin-bottom: 1.25rem;
      color: #334155;
      font-size: 1.025rem;
      line-height: 1.85;
    }
    .article-body ul, .article-body ol {
      margin-top: 1rem;
      margin-bottom: 1.25rem;
      padding-left: 1.5rem;
      color: #334155;
    }
    .article-body ul { list-style-type: disc; }
    .article-body ol { list-style-type: decimal; }
    .article-body li { margin-bottom: 0.5rem; }
    .article-body blockquote {
      border-left: 4px solid var(--primary);
      background-color: #fff1f2;
      padding: 1rem 1.25rem;
      margin: 1.5rem 0;
      border-radius: 0 0.5rem 0.5rem 0;
      color: #881337;
      font-style: normal;
    }
    .article-body img {
      max-width: 100%;
      height: auto;
      border-radius: 0.75rem;
      margin: 1.5rem auto;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    }
    .article-body a {
      color: var(--primary);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

/* roulang page: category1 */
:root {
      --primary: #e11d48;
      --primary-dark: #be123c;
      --accent: #f59e0b;
      --text-main: #0f172a;
      --text-muted: #64748b;
      --bg-light: #fafafa;
    }
    body {
      color: var(--text-main);
      background-color: var(--bg-light);
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .hero-mask {
      background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.88) 100%);
    }
    .badge-rose {
      background: rgba(225, 29, 72, 0.08);
      color: #e11d48;
      border: 1px solid rgba(225, 29, 72, 0.2);
    }
