/* roulang page: index */
:root {
            --bg-canvas: #fbf9f5;
            --text-main: #1f1d1d;
            --text-muted: #736d67;
            --text-light: #9d968f;
            --accent-red: #8b2b2b;
            --accent-red-hover: #a53636;
            --border-line: #e8e3dc;
            --border-strong: #1f1d1d;
            --card-bg: #fbf9f5;
        }

        body {
            background-color: var(--bg-canvas);
            color: var(--text-main);
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Serif SC", serif, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
            -webkit-font-smoothing: antialiased;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color 0.2s ease;
        }
        a:hover {
            color: var(--accent-red);
        }

        /* Top thin bar */
        .top-sub-bar {
            border-bottom: 1px solid var(--border-line);
            font-size: 11px;
            color: var(--text-muted);
            padding: 6px 0;
            letter-spacing: 0.5px;
        }

        /* Main Header */
        .site-header {
            border-bottom: 1px solid var(--border-line);
            background-color: var(--bg-canvas);
        }
        .header-main-row {
            padding: 24px 0 18px 0;
        }
        .header-slogan-left {
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.4;
            max-width: 140px;
        }
        .brand-logo-area {
            text-align: center;
        }
        .brand-logo-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            text-decoration: none;
            color: var(--text-main);
        }
        .logo-mark {
            width: 38px;
            height: 38px;
            background-color: var(--accent-red);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            font-weight: 700;
            border-radius: 4px;
            box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25);
        }
        .logo-text-col h2 {
            font-size: 26px;
            letter-spacing: 2px;
            margin: 0;
            font-weight: 900;
            font-family: "Noto Serif SC", Georgia, serif;
        }
        .logo-en-sub {
            font-size: 9px;
            letter-spacing: 3px;
            color: var(--text-muted);
            margin-top: 1px;
            text-transform: uppercase;
        }
        .header-search-wrap {
            text-align: right;
        }
        .search-pill-box {
            display: inline-flex;
            align-items: center;
            border: 1px solid var(--border-line);
            border-radius: 20px;
            padding: 5px 14px;
            font-size: 12px;
            color: var(--text-muted);
            background: #fff;
            gap: 8px;
            cursor: pointer;
            transition: border-color 0.2s ease;
        }
        .search-pill-box:hover {
            border-color: var(--text-muted);
        }

        /* Nav Bar */
        .site-nav {
            border-top: 1px solid var(--border-line);
            border-bottom: 1px solid var(--border-line);
            padding: 8px 0;
        }
        .nav-list-center {
            display: flex;
            align-items: center;
            justify-content: center;
            list-style: none;
            margin: 0;
            padding: 0;
            gap: 34px;
        }
        .nav-list-center li a {
            font-size: 14px;
            font-weight: 600;
            color: var(--text-main);
            position: relative;
            padding-bottom: 2px;
        }
        .nav-list-center li a.active,
        .nav-list-center li a:hover {
            color: var(--accent-red);
        }
        .nav-list-center li a.active::after {
            content: "";
            position: absolute;
            left: 50%;
            bottom: -8px;
            transform: translateX(-50%);
            width: 16px;
            height: 2px;
            background-color: var(--accent-red);
        }

        /* Hero Typography Banner */
        .hero-banner-sec {
            text-align: center;
            padding: 52px 20px 42px 20px;
        }
        .hero-pre-tag {
            font-size: 10px;
            letter-spacing: 3px;
            color: var(--accent-red);
            font-weight: 700;
            margin-bottom: 16px;
            text-transform: uppercase;
        }
        .hero-title-main {
            font-size: 44px;
            font-weight: 900;
            letter-spacing: 1.5px;
            line-height: 1.35;
            margin: 0 auto 18px auto;
            color: var(--text-main);
            font-family: "Noto Serif SC", Georgia, serif;
            max-width: 900px;
        }
        .hero-sub-desc {
            font-size: 14px;
            color: var(--text-muted);
            letter-spacing: 0.5px;
            margin: 0 auto;
        }

        /* Thin Info Rule */
        .info-rule-bar {
            border-top: 1px solid var(--border-strong);
            border-bottom: 1px solid var(--border-line);
            padding: 6px 0;
            font-size: 12px;
            color: var(--text-muted);
            display: flex;
            justify-content: space-between;
            margin-bottom: 28px;
        }

        /* 3-Column Newspaper Body */
        .news-column {
            padding: 0 18px;
        }
        .border-col-left {
            border-right: 1px solid var(--border-line);
        }
        .border-col-right {
            border-left: 1px solid var(--border-line);
        }
        .col-headline {
            font-size: 20px;
            font-weight: 900;
            margin-bottom: 22px;
            font-family: "Noto Serif SC", serif;
            position: relative;
        }
        .col-headline-sub {
            font-size: 12px;
            color: var(--text-muted);
            display: block;
            margin-top: 2px;
            font-weight: normal;
            font-family: sans-serif;
        }

        /* News list row */
        .news-item-row {
            padding-bottom: 16px;
            margin-bottom: 16px;
            border-bottom: 1px dashed var(--border-line);
        }
        .news-item-row:last-child {
            border-bottom: none;
        }
        .news-item-row .item-title {
            font-size: 14px;
            font-weight: 700;
            line-height: 1.45;
            margin-bottom: 6px;
            display: block;
            color: var(--text-main);
        }
        .news-item-row .item-title:hover {
            color: var(--accent-red);
        }
        .news-meta-row {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            color: var(--text-light);
        }
        .more-link-btn {
            display: inline-flex;
            align-items: center;
            font-size: 12px;
            color: var(--accent-red);
            font-weight: 600;
            gap: 4px;
            margin-top: 10px;
        }
        .more-link-btn:hover {
            color: var(--accent-red-hover);
        }

        /* Center Feature Box */
        .center-feature-card {
            text-align: left;
        }
        .feature-tag-sup {
            font-size: 11px;
            color: var(--accent-red);
            font-weight: 700;
            margin-bottom: 8px;
            display: inline-block;
        }
        .feature-big-title {
            font-size: 22px;
            font-weight: 900;
            line-height: 1.35;
            margin-bottom: 16px;
            font-family: "Noto Serif SC", serif;
        }
        .feature-img-box {
            width: 100%;
            height: 220px;
            background: #e9ecef;
            border-radius: 2px;
            overflow: hidden;
            margin-bottom: 16px;
            position: relative;
        }
        .feature-img-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: contrast(1.05);
        }
        .feature-desc-text {
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.6;
            margin-bottom: 14px;
        }

        /* Section 2: Topic Reading (4 Grid Columns) */
        .topic-section-wrap {
            border-top: 2px solid var(--border-strong);
            margin-top: 45px;
            padding-top: 24px;
            margin-bottom: 50px;
        }
        .section-header-row {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 24px;
        }
        .section-main-title {
            font-size: 22px;
            font-weight: 900;
            font-family: "Noto Serif SC", serif;
            letter-spacing: 1px;
        }
        .section-en-label {
            font-size: 10px;
            color: var(--accent-red);
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .topic-col {
            padding: 0 14px;
            border-right: 1px solid var(--border-line);
        }
        .topic-col:last-child {
            border-right: none;
        }
        .topic-title-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 8px;
            font-size: 16px;
            font-weight: 800;
            font-family: "Noto Serif SC", serif;
            color: var(--text-main);
        }
        .topic-sub-summary {
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.45;
            margin-bottom: 18px;
            min-height: 36px;
        }
        .topic-news-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .topic-news-list li {
            padding: 10px 0;
            border-bottom: 1px dashed var(--border-line);
        }
        .topic-news-list li:last-child {
            border-bottom: none;
        }
        .topic-news-list a {
            font-size: 13px;
            font-weight: 700;
            line-height: 1.4;
            display: block;
            margin-bottom: 4px;
        }
        .topic-meta-row {
            font-size: 10px;
            color: var(--text-light);
            display: flex;
            justify-content: space-between;
        }

        /* Banner callout bar before footer */
        .callout-strip-bar {
            border-top: 1px solid var(--border-line);
            border-bottom: 1px solid var(--border-line);
            padding: 16px 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 40px;
        }
        .callout-strip-text {
            font-size: 16px;
            font-weight: 800;
            letter-spacing: 1px;
            font-family: "Noto Serif SC", serif;
        }
        .callout-strip-link {
            font-size: 13px;
            color: var(--text-muted);
            font-weight: 600;
        }

        /* Footer */
        .site-footer {
            border-top: 1px solid var(--border-line);
            padding: 46px 0 24px 0;
            background-color: var(--bg-canvas);
        }
        .footer-logo-box {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
        }
        .footer-desc-text {
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.6;
            max-width: 320px;
        }
        .footer-nav-title {
            font-size: 13px;
            font-weight: 800;
            margin-bottom: 14px;
            color: var(--text-main);
        }
        .footer-link-group {
            list-style: none;
            padding: 0;
            margin: 0;
            font-size: 12px;
        }
        .footer-link-group li {
            margin-bottom: 8px;
        }
        .footer-link-group a {
            color: var(--text-muted);
        }
        .footer-link-group a:hover {
            color: var(--accent-red);
        }
        .footer-bottom-copy {
            border-top: 1px solid var(--border-line);
            padding-top: 20px;
            margin-top: 36px;
            font-size: 11px;
            color: var(--text-light);
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
        }

        /* Mobile Adjustments */
        @media (max-width: 1024px) {
            .hero-title-main {
                font-size: 34px;
            }
            .topic-col {
                margin-bottom: 30px;
                border-right: none;
            }
        }
        @media (max-width: 768px) {
            .border-col-left,
            .border-col-right {
                border-left: none;
                border-right: none;
            }
            .news-column {
                padding: 20px 0;
                border-bottom: 1px solid var(--border-line);
            }
            .hero-title-main {
                font-size: 26px;
            }
            .nav-list-center {
                flex-wrap: wrap;
                gap: 16px;
                justify-content: center;
            }
            .header-slogan-left,
            .header-search-wrap {
                display: none;
            }
            .callout-strip-bar {
                flex-direction: column;
                gap: 8px;
                align-items: flex-start;
            }
            .footer-bottom-copy {
                flex-direction: column;
                text-align: center;
            }
        }
        @media (max-width: 520px) {
            .hero-title-main {
                font-size: 22px;
            }
            .brand-logo-wrap {
                flex-direction: column;
                gap: 6px;
            }
        }

/* roulang page: category1 */
:root {
      --bg-canvas: #fbf9f5;
      --text-main: #1f1d1d;
      --text-muted: #736d67;
      --text-light: #9d968f;
      --accent-red: #8b2b2b;
      --accent-red-hover: #a53636;
      --border-line: #e8e3dc;
      --border-strong: #1f1d1d;
      --card-bg: #fbf9f5;
    }
    
    body {
      background-color: var(--bg-canvas);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Serif SC", serif, sans-serif;
      line-height: 1.6;
      margin: 0;
      padding: 0;
      -webkit-font-smoothing: antialiased;
    }
    
    a {
      color: inherit;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    a:hover {
      color: var(--accent-red);
    }
    
    /* Header */
    .site-header {
      border-bottom: 1px solid var(--border-line);
      background-color: var(--bg-canvas);
    }
    .header-main-row {
      padding: 24px 0 18px 0;
    }
    .header-slogan-left {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.4;
      max-width: 140px;
    }
    .brand-logo-area {
      text-align: center;
    }
    .brand-logo-wrap {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      text-decoration: none;
      color: var(--text-main);
    }
    .logo-mark {
      width: 38px;
      height: 38px;
      background-color: var(--accent-red);
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: 700;
      border-radius: 4px;
      box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25);
    }
    .logo-text-col h2 {
      font-size: 26px;
      letter-spacing: 2px;
      margin: 0;
      font-weight: 900;
      font-family: "Noto Serif SC", Georgia, serif;
    }
    .logo-en-sub {
      font-size: 9px;
      letter-spacing: 3px;
      color: var(--text-muted);
      margin-top: 1px;
      text-transform: uppercase;
    }
    .header-search-wrap {
      text-align: right;
    }
    .search-pill-box {
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--border-line);
      border-radius: 20px;
      padding: 5px 14px;
      font-size: 12px;
      color: var(--text-muted);
      background: #fff;
      gap: 8px;
      cursor: pointer;
      transition: border-color 0.2s ease;
    }
    .search-pill-box:hover {
      border-color: var(--text-muted);
    }
    
    /* Nav Bar */
    .site-nav {
      border-top: 1px solid var(--border-line);
      border-bottom: 1px solid var(--border-line);
      padding: 8px 0;
      background-color: var(--bg-canvas);
    }
    .nav-list-center {
      display: flex;
      align-items: center;
      justify-content: center;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 34px;
      flex-wrap: wrap;
    }
    .nav-list-center li a {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-main);
      position: relative;
      padding-bottom: 2px;
    }
    .nav-list-center li a.active,
    .nav-list-center li a:hover {
      color: var(--accent-red);
    }
    .nav-list-center li a.active::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -8px;
      transform: translateX(-50%);
      width: 16px;
      height: 2px;
      background-color: var(--accent-red);
    }

    /* Category Specific Header */
    .category-intro-section {
      border-bottom: 1px solid var(--border-line);
      padding: 40px 0 28px 0;
    }
    .cat-top-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 12px;
      color: var(--text-muted);
      margin-bottom: 16px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }
    .category-title {
      font-size: 36px;
      font-weight: 900;
      font-family: "Noto Serif SC", Georgia, serif;
      letter-spacing: 1px;
      margin-bottom: 14px;
    }
    .category-sub-lead {
      font-size: 14px;
      color: var(--text-muted);
      max-width: 800px;
      line-height: 1.8;
      margin-bottom: 20px;
    }
    .sub-filter-tags {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .sub-filter-tag {
      font-size: 12px;
      padding: 4px 12px;
      border: 1px solid var(--border-line);
      border-radius: 2px;
      color: var(--text-muted);
      background-color: #fff;
    }
    .sub-filter-tag.active, .sub-filter-tag:hover {
      background-color: var(--accent-red);
      color: #fff;
      border-color: var(--accent-red);
    }

    /* Editorial Newspaper Layout */
    .content-body-area {
      padding: 40px 0 60px 0;
    }
    .column-border-right {
      border-right: 1px solid var(--border-line);
      padding-right: 28px;
    }
    .column-sidebar {
      padding-left: 28px;
    }

    /* Main Column Article Item */
    .article-lead-card {
      padding-bottom: 30px;
      margin-bottom: 30px;
      border-bottom: 1px solid var(--border-line);
    }
    .article-lead-card:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }
    .tag-category-pill {
      font-size: 11px;
      color: var(--accent-red);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 8px;
      display: inline-block;
    }
    .article-lead-title {
      font-size: 20px;
      font-weight: 800;
      font-family: "Noto Serif SC", Georgia, serif;
      line-height: 1.45;
      margin-bottom: 12px;
      color: var(--text-main);
    }
    .article-lead-title:hover {
      color: var(--accent-red);
    }
    .article-summary {
      font-size: 13.5px;
      color: var(--text-muted);
      line-height: 1.75;
      margin-bottom: 14px;
    }
    .article-meta-line {
      display: flex;
      align-items: center;
      gap: 16px;
      font-size: 12px;
      color: var(--text-light);
    }
    .article-meta-line .author-source {
      color: var(--text-muted);
      font-weight: 500;
    }

    /* Sidebar Blocks */
    .sidebar-widget {
      margin-bottom: 36px;
    }
    .widget-headline {
      font-size: 16px;
      font-weight: 800;
      font-family: "Noto Serif SC", Georgia, serif;
      border-bottom: 2px solid var(--border-strong);
      padding-bottom: 8px;
      margin-bottom: 18px;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
    }
    .widget-headline-en {
      font-size: 10px;
      font-family: sans-serif;
      color: var(--text-light);
      font-weight: 400;
    }
    .side-compact-item {
      padding: 12px 0;
      border-bottom: 1px dashed var(--border-line);
    }
    .side-compact-item:first-child {
      padding-top: 0;
    }
    .side-compact-item:last-child {
      border-bottom: none;
    }
    .side-compact-title {
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
      margin-bottom: 6px;
      display: block;
    }
    .side-compact-title:hover {
      color: var(--accent-red);
    }
    .side-compact-meta {
      font-size: 11px;
      color: var(--text-light);
      display: flex;
      justify-content: space-between;
    }

    /* Stat Box (Solid Paper Style) */
    .paper-box {
      background-color: #f3efe9;
      border: 1px solid var(--border-line);
      padding: 20px;
      margin-bottom: 24px;
    }
    .paper-box-title {
      font-size: 14px;
      font-weight: 700;
      color: var(--accent-red);
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .paper-box-desc {
      font-size: 12.5px;
      color: var(--text-muted);
      line-height: 1.65;
      margin-bottom: 14px;
    }
    .real-pledge-badge {
      display: inline-flex;
      align-items: center;
      font-size: 11px;
      font-weight: 700;
      color: var(--text-main);
      background: #fff;
      padding: 4px 8px;
      border: 1px solid var(--border-line);
    }

    /* Pagination */
    .cat-pagination-wrap {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 40px;
      padding-top: 24px;
      border-top: 1px solid var(--border-line);
    }
    .cat-page-btn {
      min-width: 36px;
      height: 36px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--border-line);
      background: #fff;
      font-size: 13px;
      color: var(--text-main);
      font-weight: 600;
    }
    .cat-page-btn.active, .cat-page-btn:hover {
      background-color: var(--accent-red);
      color: #fff;
      border-color: var(--accent-red);
    }

    /* Footer */
    .site-footer {
      background-color: var(--bg-canvas);
      border-top: 1px solid var(--border-line);
      padding: 48px 0 24px 0;
      margin-top: 40px;
    }
    .footer-logo-box {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
    }
    .footer-desc-text {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.7;
      max-width: 380px;
    }
    .footer-nav-title {
      font-size: 13px;
      font-weight: 700;
      color: var(--text-main);
      margin-bottom: 14px;
      letter-spacing: 0.5px;
    }
    .footer-link-group {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .footer-link-group li {
      margin-bottom: 8px;
    }
    .footer-link-group li a {
      font-size: 12px;
      color: var(--text-muted);
    }
    .footer-link-group li a:hover {
      color: var(--accent-red);
    }
    .footer-bottom-copy {
      border-top: 1px solid var(--border-line);
      margin-top: 36px;
      padding-top: 18px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 11px;
      color: var(--text-light);
    }

    /* Responsive Queries */
    @media (max-width: 1024px) {
      .nav-list-center {
        gap: 20px;
      }
      .column-border-right {
        padding-right: 15px;
      }
      .column-sidebar {
        padding-left: 15px;
      }
    }
    @media (max-width: 768px) {
      .column-border-right {
        border-right: none;
        padding-right: 0;
        margin-bottom: 40px;
      }
      .column-sidebar {
        padding-left: 0;
      }
      .header-search-wrap {
        text-align: center;
        margin-top: 10px;
      }
      .brand-logo-area {
        margin-bottom: 8px;
      }
      .category-title {
        font-size: 28px;
      }
    }
    @media (max-width: 520px) {
      .nav-list-center {
        gap: 12px;
      }
      .nav-list-center li a {
        font-size: 13px;
      }
      .article-meta-line {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
      }
      .footer-bottom-copy {
        flex-direction: column;
      }
    }
