/* roulang page: index */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 20%, rgba(124, 58, 237, 0.15) 0%, rgba(13, 15, 18, 0) 70%);
    }
    .custom-scroll::-webkit-scrollbar {
      width: 6px;
    }
    .custom-scroll::-webkit-scrollbar-track {
      background: #0d0f12;
    }
    .custom-scroll::-webkit-scrollbar-thumb {
      background: #272a34;
      border-radius: 4px;
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 260px;
      padding-top: 1rem;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #8b5cf6;
    }

/* roulang page: category1 */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 10%, rgba(124, 58, 237, 0.18) 0%, rgba(13, 15, 18, 0) 75%);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 320px;
      padding-top: 1rem;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #8b5cf6;
    }

/* roulang page: article */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 15%, rgba(124, 58, 237, 0.18) 0%, rgba(13, 15, 18, 0) 70%);
    }
    .prose-article h2 {
      color: #f8fafc;
      font-size: 1.65rem;
      font-weight: 700;
      margin-top: 2.25rem;
      margin-bottom: 1rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      letter-spacing: -0.01em;
    }
    .prose-article h3 {
      color: #e2e8f0;
      font-size: 1.3rem;
      font-weight: 600;
      margin-top: 1.75rem;
      margin-bottom: 0.75rem;
    }
    .prose-article p {
      margin-bottom: 1.25rem;
      line-height: 1.85;
      color: #cbd5e1;
      font-size: 1.025rem;
    }
    .prose-article blockquote {
      border-left: 4px solid #7c3aed;
      padding: 0.85rem 1.25rem;
      background: rgba(124, 58, 237, 0.06);
      border-radius: 0 0.75rem 0.75rem 0;
      margin: 1.5rem 0;
      color: #e2e8f0;
    }
    .prose-article ul, .prose-article ol {
      margin: 1.25rem 0;
      padding-left: 1.5rem;
      color: #cbd5e1;
    }
    .prose-article ul { list-style-type: disc; }
    .prose-article ol { list-style-type: decimal; }
    .prose-article li { margin-bottom: 0.5rem; }
    .prose-article img {
      max-width: 100%;
      border-radius: 0.75rem;
      margin: 1.5rem auto;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
    }
    .sidebar-sticky {
      position: sticky;
      top: 0;
      height: 100vh;
    }

/* roulang page: category2 */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 20%, rgba(124, 58, 237, 0.15) 0%, rgba(13, 15, 18, 0) 70%);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 260px;
      padding-top: 1rem;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #8b5cf6;
    }
    .tag-pill.active {
      background-color: #7c3aed;
      color: #ffffff;
      border-color: #8b5cf6;
    }

/* roulang page: category3 */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 20%, rgba(124, 58, 237, 0.15) 0%, rgba(13, 15, 18, 0) 70%);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 260px;
      padding-top: 1rem;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #8b5cf6;
    }
    .card-hover {
      transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    }
    .card-hover:hover {
      transform: translateY(-4px);
      border-color: rgba(124, 58, 237, 0.4);
      box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.5);
    }

/* roulang page: category4 */
:root {
      --primary: #7c3aed;
      --primary-hover: #6d28d9;
      --accent: #f59e0b;
      --bg-dark: #0d0f12;
      --card-dark: #161920;
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      --border-dark: rgba(255, 255, 255, 0.08);
      --radius-base: 1rem;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      background-color: var(--bg-dark);
      color: var(--text-main);
      overflow-x: hidden;
      line-height: 1.8;
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 20%, rgba(124, 58, 237, 0.15) 0%, rgba(13, 15, 18, 0) 70%);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    }
    .faq-item.active .faq-content {
      max-height: 260px;
      padding-top: 1rem;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #8b5cf6;
    }
