/* roulang page: index */
:root {
      --bg-canvas: #F8FAFC;
      --color-primary: #1E40AF;
      --color-accent: #2563EB;
      --color-teal: #0D9488;
      --color-amber: #D97706;
      --text-main: #0F172A;
      --text-muted: #475569;
      --border-soft: #E2E8F0;
      --card-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      --card-shadow-hover: 0 12px 30px -4px rgba(37, 99, 235, 0.12);
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .custom-card {
      background: #FFFFFF;
      border: 1px solid var(--border-soft);
      box-shadow: var(--card-shadow);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .custom-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--card-shadow-hover);
    }
    .accent-border-left {
      border-left: 3px solid var(--color-accent);
    }
    .highlighter-yellow {
      background: linear-gradient(180deg, rgba(255,255,255,0) 65%, rgba(254, 240, 138, 0.6) 65%);
    }
    .highlighter-blue {
      background: linear-gradient(180deg, rgba(255,255,255,0) 65%, rgba(219, 234, 254, 0.8) 65%);
    }
    details > summary {
      list-style: none;
    }
    details > summary::-webkit-details-marker {
      display: none;
    }

/* roulang page: category2 */
:root {
      --bg-canvas: #F8FAFC;
      --color-primary: #1E40AF;
      --color-accent: #2563EB;
      --color-teal: #0D9488;
      --color-amber: #D97706;
      --text-main: #0F172A;
      --text-muted: #475569;
      --border-soft: #E2E8F0;
      --card-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      --card-shadow-hover: 0 12px 30px -4px rgba(37, 99, 235, 0.12);
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .custom-card {
      background: #FFFFFF;
      border: 1px solid var(--border-soft);
      box-shadow: var(--card-shadow);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .custom-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--card-shadow-hover);
    }
    .accent-border-left {
      border-left: 3px solid var(--color-accent);
    }
    .badge-amber {
      background-color: #FEF3C7;
      color: #92400E;
    }
    .badge-teal {
      background-color: #CCFBF1;
      color: #115E59;
    }
    .badge-blue {
      background-color: #DBEAFE;
      color: #1E40AF;
    }

/* roulang page: category1 */
:root {
      --bg-canvas: #F8FAFC;
      --color-primary: #1E40AF;
      --color-accent: #2563EB;
      --color-teal: #0D9488;
      --color-amber: #D97706;
      --text-main: #0F172A;
      --text-muted: #475569;
      --border-soft: #E2E8F0;
      --card-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      --card-shadow-hover: 0 12px 30px -4px rgba(37, 99, 235, 0.12);
    }
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }
    .custom-card {
      background: #FFFFFF;
      border: 1px solid var(--border-soft);
      box-shadow: var(--card-shadow);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .custom-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--card-shadow-hover);
    }
    .accent-border-left {
      border-left: 3px solid var(--color-accent);
    }
    .highlight-marker {
      background: linear-gradient(180deg, rgba(255,255,255,0) 60%, rgba(219, 234, 254, 0.9) 60%);
    }
    .amber-marker {
      background: linear-gradient(180deg, rgba(255,255,255,0) 60%, rgba(254, 243, 199, 0.9) 60%);
    }
