/* roulang page: index */
:root {
            --primary: #0F172A;
            --secondary: #334155;
            --accent: #EA580C;
            --success: #059669;
            --bg-base: #F8FAFC;
            --border-color: #E2E8F0;
        }
        body {
            font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
            background-color: var(--bg-base);
            color: #1E293B;
            line-height: 1.75;
            letter-spacing: normal;
        }
        .text-balance {
            text-wrap: balance;
        }
        .badge-pulse::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            border-radius: 9999px;
            background: inherit;
            animation: pulse-ring 1.8s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            z-index: -1;
            opacity: 0.6;
        }
        @keyframes pulse-ring {
            0% { transform: scale(0.95); opacity: 0.8; }
            100% { transform: scale(1.8); opacity: 0; }
        }
        details summary::-webkit-details-marker {
            display:none;
        }

/* roulang page: category2 */
:root {
      --primary: #0F172A;
      --secondary: #334155;
      --accent: #EA580C;
      --success: #059669;
      --bg-base: #F8FAFC;
      --border-color: #E2E8F0;
    }
    body {
      font-family: 'PingFang SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, sans-serif;
      background-color: var(--bg-base);
      color: #1E293B;
      line-height: 1.75;
      letter-spacing: normal;
    }
    .text-balance {
      text-wrap: balance;
    }
    .badge-pulse {
      position: relative;
    }
    .badge-pulse::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border-radius: 9999px;
      background: inherit;
      animation: pulse-ring 1.8s cubic-bezier(0.24, 0, 0.38, 1) infinite;
      z-index: -1;
      opacity: 0.6;
    }
    @keyframes pulse-ring {
      0% { transform: scale(0.95); opacity: 0.8; }
      100% { transform: scale(1.4); opacity: 0; }
    }

/* roulang page: category1 */
:root {
      --primary: #0F172A;
      --secondary: #334155;
      --accent: #EA580C;
      --success: #059669;
      --bg-base: #F8FAFC;
      --border-color: #E2E8F0;
    }
    body {
      font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
      background-color: var(--bg-base);
      color: #1E293B;
      line-height: 1.75;
      letter-spacing: normal;
    }
    .text-balance {
      text-wrap: balance;
    }
    .badge-pulse::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border-radius: 9999px;
      background: inherit;
      animation: pulse-ring 1.8s cubic-bezier(0.24, 0, 0.38, 1) infinite;
      z-index: -1;
      opacity: 0.6;
    }
    @keyframes pulse-ring {
      0% {
        transform: scale(0.95);
        opacity: 0.8;
      }
      100% {
        transform: scale(2.1);
        opacity: 0;
      }
    }
    .filter-btn.active {
      background-color: #0F172A;
      color: #FFFFFF;
      border-color: #0F172A;
    }
    .topic-card {
      transition: all 0.25s ease-in-out;
    }
    .topic-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
    }
    details summary::-webkit-details-marker {
      display: none;
    }
