/* roulang page: index */
:root {
      --primary: #1e40af;
      --primary-hover: #1d4ed8;
      --accent: #0ea5e9;
      --bg-light: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background-color: var(--bg-light);
      color: #334155;
      -webkit-font-smoothing: antialiased;
    }
    .custom-scroll::-webkit-scrollbar {
      height: 6px;
    }
    .custom-scroll::-webkit-scrollbar-track {
      background: #f1f5f9;
      border-radius: 4px;
    }
    .custom-scroll::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 4px;
    }
    .timeline-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.25rem 0.625rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 500;
      border: 1px solid;
    }

/* roulang page: article */
:root {
      --primary: #1e40af;
      --primary-hover: #1d4ed8;
      --accent: #0ea5e9;
      --bg-light: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background-color: var(--bg-light);
      color: #334155;
      -webkit-font-smoothing: antialiased;
    }
    .timeline-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.25rem 0.625rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 500;
      border: 1px solid;
    }
    .prose-article h2 {
      font-size: 1.5rem;
      font-weight: 700;
      color: #0f172a;
      margin-top: 2rem;
      margin-bottom: 1rem;
      padding-left: 0.75rem;
      border-left: 4px solid var(--primary);
      line-height: 1.35;
    }
    .prose-article h3 {
      font-size: 1.25rem;
      font-weight: 600;
      color: #1e293b;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
      line-height: 1.4;
    }
    .prose-article p {
      margin-bottom: 1.25rem;
      line-height: 1.8;
      color: #334155;
      font-size: 1.0625rem;
    }
    .prose-article ul, .prose-article ol {
      margin-bottom: 1.25rem;
      padding-left: 1.5rem;
    }
    .prose-article li {
      margin-bottom: 0.5rem;
      line-height: 1.7;
    }
    .prose-article table {
      width: 100%;
      border-collapse: collapse;
      margin: 1.5rem 0;
      font-size: 0.9375rem;
    }
    .prose-article th, .prose-article td {
      border: 1px solid #e2e8f0;
      padding: 0.75rem 1rem;
      text-align: left;
    }
    .prose-article th {
      background-color: #f1f5f9;
      color: #0f172a;
      font-weight: 600;
    }
    .prose-article blockquote {
      border-left: 4px solid #0ea5e9;
      background-color: #f0f9ff;
      padding: 1rem 1.25rem;
      margin: 1.5rem 0;
      border-radius: 0 0.5rem 0.5rem 0;
      color: #0369a1;
      font-style: normal;
    }

/* roulang page: category1 */
:root {
      --primary: #1e40af;
      --primary-hover: #1d4ed8;
      --accent: #0ea5e9;
      --bg-light: #f8fafc;
      --border-color: #e2e8f0;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background-color: var(--bg-light);
      color: #334155;
      -webkit-font-smoothing: antialiased;
    }
    .timeline-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      padding: 0.25rem 0.625rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 500;
      border: 1px solid;
    }
    .code-chip {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    }
