/* roulang page: index */
:root {
      --brand-emerald: #10b981;
      --brand-dark: #020617;
      --hud-panel: #0f172a;
      --neon-purple: #c084fc;
      --neon-amber: #fbbf24;
    }
    body {
      background-color: var(--brand-dark);
      color: #f1f5f9;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    .hud-border {
      border: 1px solid rgba(51, 65, 85, 0.7);
      background: rgba(15, 23, 42, 0.85);
      backdrop-filter: blur(12px);
    }
    .hud-border:hover {
      border-color: rgba(16, 185, 129, 0.5);
      box-shadow: 0 0 20px rgba(16, 185, 129, 0.15);
    }
    .neon-glow {
      box-shadow: 0 0 15px rgba(16, 185, 129, 0.4);
    }
    .live-dot {
      animation: pulse-ring 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
    }
    @keyframes pulse-ring {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }

/* roulang page: article */
:root {
      --brand-emerald: #10b981;
      --brand-dark: #020617;
      --hud-panel: #0f172a;
      --neon-purple: #c084fc;
      --neon-amber: #fbbf24;
    }
    body {
      background-color: var(--brand-dark);
      color: #f1f5f9;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    .hud-border {
      border: 1px solid rgba(51, 65, 85, 0.7);
      background: rgba(15, 23, 42, 0.85);
      backdrop-filter: blur(12px);
      transition: all 0.25s ease;
    }
    .hud-border:hover {
      border-color: rgba(16, 185, 129, 0.5);
      box-shadow: 0 0 20px rgba(16, 185, 129, 0.15);
    }
    .live-dot {
      animation: pulseGlow 1.8s infinite;
    }
    @keyframes pulseGlow {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.35; transform: scale(0.85); }
    }
    /* CMS 正文排版强化 */
    .article-body h2 {
      font-size: 1.5rem;
      font-weight: 700;
      color: #ffffff;
      margin-top: 2rem;
      margin-bottom: 1rem;
      border-left: 4px solid var(--brand-emerald);
      padding-left: 0.75rem;
    }
    .article-body h3 {
      font-size: 1.25rem;
      font-weight: 600;
      color: #e2e8f0;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
    }
    .article-body p {
      font-size: 0.975rem;
      line-height: 1.85;
      color: #94a3b8;
      margin-bottom: 1.25rem;
    }
    .article-body ul, .article-body ol {
      margin-left: 1.5rem;
      margin-bottom: 1.25rem;
      color: #94a3b8;
    }
    .article-body li {
      margin-bottom: 0.5rem;
      line-height: 1.7;
    }
    .article-body blockquote {
      border-left: 3px solid rgba(16, 185, 129, 0.4);
      background: rgba(15, 23, 42, 0.6);
      padding: 1rem 1.25rem;
      border-radius: 0 0.5rem 0.5rem 0;
      color: #cbd5e1;
      font-style: italic;
      margin: 1.5rem 0;
    }
    .article-body code {
      background: #1e293b;
      color: #34d399;
      padding: 0.2rem 0.4rem;
      border-radius: 0.25rem;
      font-family: monospace;
      font-size: 0.875em;
    }

/* roulang page: category1 */
:root {
      --brand-emerald: #10b981;
      --brand-dark: #020617;
      --hud-panel: #0f172a;
      --neon-purple: #c084fc;
      --neon-amber: #fbbf24;
    }
    body {
      background-color: var(--brand-dark);
      color: #f1f5f9;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    .hud-border {
      border: 1px solid rgba(51, 65, 85, 0.7);
      background: rgba(15, 23, 42, 0.85);
      backdrop-filter: blur(12px);
      transition: all 0.25s ease-in-out;
    }
    .hud-border:hover {
      border-color: rgba(16, 185, 129, 0.5);
      box-shadow: 0 0 20px rgba(16, 185, 129, 0.15);
    }
    .live-dot {
      box-shadow: 0 0 8px #10b981;
      animation: pulse-live 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse-live {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(0.9); }
    }
