/* roulang page: index */
:root {
            --bg-base: #F8F9FA;
            --bg-surface: #FFFFFF;
            --bg-panel: #1A1D20;
            --primary-dark: #1F2421;
            --slate-black: #212529;
            --accent-ochre: #C85A32;
            --mineral-gray: #5C6B73;
            --border-line: #DEE2E6;
            --border-subtle: #E9ECEF;
            --text-heading: #121416;
            --text-body: #343A40;
            --text-muted: #6C757D;
            --radius-box: 2px;
        }

        body {
            background-color: var(--bg-base);
            color: var(--text-body);
            font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color 0.15s ease-in-out;
        }

        /* 顶部公告条样式 */
        .top-bulletin-bar {
            background-color: var(--bg-panel);
            color: #ADB5BD;
            font-size: 0.8125rem;
            border-bottom: 1px solid #2B3035;
            padding: 6px 0;
        }

        .bulletin-badge {
            display: inline-flex;
            align-items: center;
            background: #2B3035;
            color: #F8F9FA;
            padding: 2px 8px;
            font-size: 0.75rem;
            border-left: 2px solid var(--accent-ochre);
            letter-spacing: 0.5px;
        }

        .pulse-indicator {
            width: 6px;
            height: 6px;
            background-color: var(--accent-ochre);
            border-radius: 50%;
            display: inline-block;
            margin-right: 6px;
            animation: pulseAnim 1.8s infinite;
        }

        @keyframes pulseAnim {
            0% { transform: scale(0.95); opacity: 0.7; }
            50% { transform: scale(1.3); opacity: 1; }
            100% { transform: scale(0.95); opacity: 0.7; }
        }

        /* 报刊式双层导航栏 */
        .site-header {
            background-color: var(--bg-surface);
            border-bottom: 2px solid var(--primary-dark);
        }

        .brand-masthead {
            padding: 1.25rem 0;
            border-bottom: 1px solid var(--border-line);
        }

        .brand-logo-text {
            font-size: 1.75rem;
            font-weight: 900;
            color: var(--primary-dark);
            letter-spacing: -0.5px;
            line-height: 1.2;
            margin: 0;
        }

        .brand-subtext {
            font-size: 0.6875rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            color: var(--mineral-gray);
            text-transform: uppercase;
            margin-top: 3px;
        }

        .nav-editorial {
            padding: 0;
        }

        .nav-editorial .nav-link {
            font-size: 0.9375rem;
            font-weight: 700;
            color: var(--slate-black);
            padding: 0.875rem 1.25rem;
            position: relative;
            border-radius: 0;
        }

        .nav-editorial .nav-link:hover,
        .nav-editorial .nav-link.active {
            color: var(--accent-ochre);
        }

        .nav-editorial .nav-link.active::after {
            content: "";
            position: absolute;
            bottom: -2px;
            left: 0;
            right: 0;
            height: 2px;
            background-color: var(--accent-ochre);
        }

        /* 报纸风格双线/粗上边框通用块 */
        .section-wrap {
            padding: 3.5rem 0;
            border-bottom: 1px solid var(--border-line);
        }

        .section-header-bar {
            border-top: 3px solid var(--primary-dark);
            padding-top: 0.875rem;
            margin-bottom: 2rem;
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .section-header-title {
            font-size: 1.45rem;
            font-weight: 800;
            color: var(--text-heading);
            margin: 0;
            position: relative;
        }

        .section-header-code {
            font-size: 0.75rem;
            font-family: monospace;
            font-weight: 700;
            color: var(--mineral-gray);
            letter-spacing: 1px;
        }

        .section-desc-lead {
            font-size: 0.95rem;
            color: var(--text-muted);
            margin-bottom: 2rem;
            max-width: 880px;
        }

        /* 覆写 Bootstrap 卡片与控件 */
        .card-editorial {
            background-color: var(--bg-surface);
            border: 1px solid var(--border-line);
            border-radius: var(--radius-box);
            padding: 1.5rem;
            height: 100%;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .card-editorial:hover {
            border-color: var(--primary-dark);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        }

        .tag-chip {
            display: inline-block;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 2px 6px;
            background-color: #ECEFF1;
            color: var(--mineral-gray);
            border-radius: 0;
            letter-spacing: 0.5px;
            margin-bottom: 0.75rem;
        }

        .tag-chip-ochre {
            background-color: #FBEFEA;
            color: var(--accent-ochre);
        }

        .btn-editorial {
            border-radius: var(--radius-box);
            font-size: 0.875rem;
            font-weight: 700;
            padding: 0.625rem 1.5rem;
            letter-spacing: 0.5px;
            border: 1px solid transparent;
            transition: all 0.2s ease;
        }

        .btn-editorial-primary {
            background-color: var(--primary-dark);
            color: #FFFFFF;
        }

        .btn-editorial-primary:hover {
            background-color: var(--slate-black);
            color: #FFFFFF;
        }

        .btn-editorial-outline {
            background-color: transparent;
            border-color: var(--primary-dark);
            color: var(--primary-dark);
        }

        .btn-editorial-outline:hover {
            background-color: var(--primary-dark);
            color: #FFFFFF;
        }

        .btn-editorial-ochre {
            background-color: var(--accent-ochre);
            color: #FFFFFF;
        }

        .btn-editorial-ochre:hover {
            background-color: #B14B27;
            color: #FFFFFF;
        }

        /* 问卷与测评组件 */
        .quiz-panel {
            background: #FFFFFF;
            border: 1px solid var(--border-line);
            padding: 1.5rem;
            border-top: 4px solid var(--accent-ochre);
        }

        .quiz-option-label {
            display: flex;
            align-items: center;
            border: 1px solid var(--border-line);
            padding: 0.6rem 0.85rem;
            margin-bottom: 0.6rem;
            font-size: 0.875rem;
            cursor: pointer;
            background: #FAFAFA;
        }

        .quiz-option-label:hover {
            border-color: var(--mineral-gray);
            background: #F1F3F5;
        }

        .quiz-option-label input {
            margin-right: 0.65rem;
        }

        /* 步骤时间轴 */
        .step-num-box {
            font-size: 1.5rem;
            font-weight: 900;
            color: var(--accent-ochre);
            border-bottom: 2px solid var(--accent-ochre);
            display: inline-block;
            line-height: 1;
            margin-bottom: 0.75rem;
            font-family: monospace;
        }

        /* 数据看板 */
        .stat-figure {
            font-size: 2.5rem;
            font-weight: 900;
            color: var(--primary-dark);
            line-height: 1;
            font-family: monospace;
            margin-bottom: 0.5rem;
        }

        .stat-subtext {
            font-size: 0.8125rem;
            color: var(--mineral-gray);
            font-weight: 600;
        }

        /* 引用框 */
        .editorial-quote {
            border-left: 3px solid var(--primary-dark);
            padding-left: 1.25rem;
            margin: 0;
            font-size: 0.9375rem;
            color: var(--text-body);
        }

        /* 手风琴覆写 */
        .accordion-item {
            border: 1px solid var(--border-line);
            border-radius: 0 !important;
            margin-bottom: 0.5rem;
            background-color: var(--bg-surface);
        }

        .accordion-button {
            border-radius: 0 !important;
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--text-heading);
            background-color: #FAFAFA;
            padding: 1rem 1.25rem;
            box-shadow: none !important;
        }

        .accordion-button:not(.collapsed) {
            color: var(--accent-ochre);
            background-color: #FFFFFF;
            border-bottom: 1px solid var(--border-line);
        }

        .accordion-body {
            font-size: 0.9rem;
            color: var(--text-body);
            line-height: 1.7;
            padding: 1.25rem;
        }

        /* 排行榜单项 */
        .rank-item {
            display: flex;
            align-items: flex-start;
            padding: 0.75rem 0;
            border-bottom: 1px dashed var(--border-line);
        }

        .rank-item:last-child {
            border-bottom: none;
        }

        .rank-digit {
            width: 24px;
            height: 24px;
            background-color: var(--primary-dark);
            color: #FFFFFF;
            font-size: 0.75rem;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 0.85rem;
            flex-shrink: 0;
        }

        .rank-digit-ochre {
            background-color: var(--accent-ochre);
        }

        /* 页脚 */
        .site-footer {
            background-color: #16181B;
            color: #9AA0A6;
            padding: 3.5rem 0 2rem;
            font-size: 0.875rem;
            border-top: 4px solid var(--accent-ochre);
        }

        .footer-brand {
            font-size: 1.25rem;
            font-weight: 800;
            color: #FFFFFF;
            margin-bottom: 0.5rem;
        }

        .footer-title {
            color: #F8F9FA;
            font-size: 0.9375rem;
            font-weight: 700;
            margin-bottom: 1.2rem;
            letter-spacing: 0.5px;
            border-bottom: 1px solid #2C3036;
            padding-bottom: 0.5rem;
        }

        .footer-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-list li {
            margin-bottom: 0.6rem;
        }

        .footer-list a:hover {
            color: #FFFFFF;
            text-decoration: underline;
        }

        .copyright-bar {
            border-top: 1px solid #262A2E;
            padding-top: 1.5rem;
            margin-top: 2.5rem;
            font-size: 0.8125rem;
            color: #6C757D;
        }

        @media (max-width: 991.98px) {
            .section-wrap {
                padding: 2.5rem 0;
            }
            .brand-logo-text {
                font-size: 1.45rem;
            }
        }

/* roulang page: category1 */
:root {
        --bg-base: #F8F9FA;
        --bg-surface: #FFFFFF;
        --bg-panel: #1A1D20;
        --primary-dark: #1F2421;
        --slate-black: #212529;
        --accent-ochre: #C85A32;
        --mineral-gray: #5C6B73;
        --border-line: #DEE2E6;
        --border-subtle: #E9ECEF;
        --text-heading: #121416;
        --text-body: #343A40;
        --text-muted: #6C757D;
        --radius-box: 2px;
    }
    body {
        background-color: var(--bg-base);
        color: var(--text-body);
        font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
        line-height: 1.75;
        -webkit-font-smoothing: antialiased;
    }
    a {
        color: inherit;
        text-decoration: none;
        transition: color 0.15s ease-in-out;
    }
    .bulletin-badge {
        display: inline-flex;
        align-items: center;
        background: #2B3035;
        color: #F8F9FA;
        padding: 2px 8px;
        font-size: 0.75rem;
        border-left: 2px solid var(--accent-ochre);
        letter-spacing: 0.5px;
    }
    .site-header {
        background-color: var(--bg-surface);
        border-bottom: 2px solid var(--primary-dark);
    }
    .brand-masthead {
        padding: 1.25rem 0;
        border-bottom: 1px solid var(--border-line);
    }
    .brand-logo-text {
        font-size: 1.75rem;
        font-weight: 900;
        color: var(--primary-dark);
        letter-spacing: -0.5px;
        line-height: 1.2;
        margin: 0;
    }
    .brand-subtext {
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 1.5px;
        color: var(--mineral-gray);
        text-transform: uppercase;
        margin-top: 3px;
    }
    .nav-editorial {
        padding: 0;
    }
    .nav-editorial .nav-link {
        font-size: 0.9375rem;
        font-weight: 700;
        color: var(--slate-black);
        padding: 0.875rem 1.25rem;
        position: relative;
        border-radius: 0;
    }
    .nav-editorial .nav-link:hover,
    .nav-editorial .nav-link.active {
        color: var(--accent-ochre);
    }
    .nav-editorial .nav-link.active::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        height: 2px;
        background-color: var(--accent-ochre);
    }
    .breadcrumb-strip {
        background-color: #FFFFFF;
        border-bottom: 1px solid var(--border-line);
        padding: 0.625rem 0;
        font-size: 0.8125rem;
    }
    .breadcrumb-strip .breadcrumb {
        margin-bottom: 0;
    }
    .breadcrumb-item + .breadcrumb-item::before {
        content: "/";
        color: var(--mineral-gray);
        padding: 0 0.5rem;
    }
    .breadcrumb-item.active {
        color: var(--text-heading);
        font-weight: 700;
    }
    .section-wrap {
        padding: 3rem 0;
        border-bottom: 1px solid var(--border-line);
    }
    .section-header-bar {
        border-top: 3px solid var(--primary-dark);
        padding-top: 0.875rem;
        margin-bottom: 1.75rem;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .section-header-title {
        font-size: 1.4rem;
        font-weight: 800;
        color: var(--text-heading);
        margin: 0;
        position: relative;
    }
    .section-header-code {
        font-size: 0.75rem;
        font-family: monospace;
        font-weight: 700;
        color: var(--mineral-gray);
        letter-spacing: 1px;
    }
    .section-desc-lead {
        font-size: 0.9375rem;
        color: var(--text-muted);
        margin-bottom: 1.75rem;
        max-width: 900px;
    }
    .card-editorial {
        background-color: var(--bg-surface);
        border: 1px solid var(--border-line);
        border-radius: var(--radius-box);
        padding: 1.5rem;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .card-editorial:hover {
        border-color: var(--primary-dark);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    }
    .tag-chip {
        display: inline-block;
        font-size: 0.7rem;
        font-weight: 700;
        padding: 2px 7px;
        background-color: #ECEFF1;
        color: var(--mineral-gray);
        border-radius: 0;
        letter-spacing: 0.5px;
        margin-bottom: 0.5rem;
    }
    .tag-chip-ochre {
        background-color: #FBEFEA;
        color: var(--accent-ochre);
    }
    .tag-chip-active {
        background-color: var(--primary-dark);
        color: #FFFFFF;
    }
    .btn-editorial {
        border-radius: var(--radius-box);
        font-size: 0.875rem;
        font-weight: 700;
        padding: 0.5rem 1.25rem;
        letter-spacing: 0.5px;
        border: 1px solid transparent;
        transition: all 0.2s ease;
    }
    .btn-editorial-primary {
        background-color: var(--primary-dark);
        color: #FFFFFF;
    }
    .btn-editorial-primary:hover {
        background-color: var(--slate-black);
        color: #FFFFFF;
    }
    .btn-editorial-outline {
        background-color: transparent;
        border-color: var(--border-line);
        color: var(--text-heading);
    }
    .btn-editorial-outline:hover {
        background-color: var(--primary-dark);
        color: #FFFFFF;
        border-color: var(--primary-dark);
    }
    .category-hero-strip {
        background-color: #FFFFFF;
        border-bottom: 1px solid var(--border-line);
        padding: 2.25rem 0;
    }
    .category-page-title {
        font-size: 1.85rem;
        font-weight: 900;
        color: var(--text-heading);
        letter-spacing: -0.5px;
        margin-bottom: 0.5rem;
    }
    .filter-group-label {
        font-size: 0.8125rem;
        font-weight: 700;
        color: var(--mineral-gray);
        min-width: 80px;
    }
    .filter-bar-wrapper {
        background-color: #FFFFFF;
        border: 1px solid var(--border-line);
        padding: 1.25rem 1.5rem;
    }
    .filter-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.5rem;
        padding: 0.5rem 0;
        border-bottom: 1px dashed var(--border-subtle);
    }
    .filter-row:last-child {
        border-bottom: none;
    }
    .filter-item {
        font-size: 0.8125rem;
        padding: 3px 10px;
        border: 1px solid transparent;
        color: var(--text-body);
        cursor: pointer;
    }
    .filter-item.active {
        background-color: var(--primary-dark);
        color: #FFFFFF;
        font-weight: 700;
    }
    .filter-item:hover:not(.active) {
        border-color: var(--border-line);
        background-color: #F8F9FA;
    }
    .item-media-thumb {
        position: relative;
        background-color: #1A1D20;
        border: 1px solid var(--border-line);
        height: 160px;
        margin-bottom: 1rem;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .thumb-grid-pattern {
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
                          linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
        background-size: 16px 16px;
    }
    .thumb-spec-badge {
        position: absolute;
        top: 8px;
        right: 8px;
        font-size: 0.7rem;
        font-family: monospace;
        font-weight: 700;
        background-color: rgba(0, 0, 0, 0.75);
        color: #A9DFBF;
        padding: 2px 6px;
        border: 1px solid rgba(255, 255, 255, 0.2);
    }
    .thumb-center-label {
        z-index: 2;
        text-align: center;
        color: #E9ECEF;
    }
    .thumb-code {
        font-family: monospace;
        font-size: 0.8rem;
        letter-spacing: 1.5px;
        color: #ADB5BD;
    }
    .card-post-title {
        font-size: 1.05rem;
        font-weight: 800;
        line-height: 1.45;
        color: var(--text-heading);
        margin-bottom: 0.5rem;
    }
    .card-post-title:hover {
        color: var(--accent-ochre);
    }
    .card-post-excerpt {
        font-size: 0.85rem;
        color: var(--text-muted);
        line-height: 1.65;
        margin-bottom: 1rem;
    }
    .card-post-meta {
        font-size: 0.75rem;
        color: var(--mineral-gray);
        border-top: 1px solid var(--border-subtle);
        padding-top: 0.75rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .pagination-editorial {
        display: flex;
        justify-content: center;
        gap: 0.375rem;
        margin-top: 2rem;
    }
    .page-box {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 36px;
        height: 36px;
        border: 1px solid var(--border-line);
        background-color: #FFFFFF;
        font-size: 0.85rem;
        font-weight: 700;
        color: var(--text-body);
    }
    .page-box.active {
        background-color: var(--primary-dark);
        color: #FFFFFF;
        border-color: var(--primary-dark);
    }
    .page-box:hover:not(.active) {
        background-color: #F8F9FA;
        border-color: var(--slate-black);
    }
    .featured-card-editorial {
        background-color: #FFFFFF;
        border: 1px solid var(--border-line);
        border-left: 4px solid var(--accent-ochre);
        padding: 2rem;
    }
    .rank-list-editorial {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .rank-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--border-subtle);
        font-size: 0.875rem;
    }
    .rank-item:last-child {
        border-bottom: none;
    }
    .rank-idx {
        font-family: monospace;
        font-weight: 800;
        width: 24px;
        height: 24px;
        background-color: #E9ECEF;
        color: var(--slate-black);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.75rem;
        margin-right: 0.75rem;
        flex-shrink: 0;
    }
    .rank-item:nth-child(-n+3) .rank-idx {
        background-color: var(--primary-dark);
        color: #FFFFFF;
    }
    .rank-title {
        font-weight: 700;
        flex-grow: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding-right: 1rem;
    }
    .rank-meta {
        font-size: 0.75rem;
        font-family: monospace;
        color: var(--mineral-gray);
        flex-shrink: 0;
    }
    .qa-box {
        background-color: #FFFFFF;
        border: 1px solid var(--border-line);
        padding: 1.5rem;
        height: 100%;
    }
    .qa-title {
        font-size: 1rem;
        font-weight: 800;
        color: var(--text-heading);
        margin-bottom: 0.75rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .qa-badge {
        background-color: var(--accent-ochre);
        color: #FFFFFF;
        font-size: 0.75rem;
        font-weight: 800;
        padding: 1px 5px;
        line-height: 1.2;
    }
    .qa-desc {
        font-size: 0.875rem;
        color: var(--text-body);
        line-height: 1.7;
        margin-bottom: 0;
    }
    .cross-gateway-bar {
        background-color: #1A1D20;
        color: #F8F9FA;
        padding: 2rem 2.5rem;
        border: 1px solid #2B3035;
    }
    .site-footer {
        background-color: var(--bg-surface);
        border-top: 3px solid var(--primary-dark);
        padding: 3.5rem 0 2rem;
    }
    .footer-brand {
        font-size: 1.35rem;
        font-weight: 900;
        color: var(--primary-dark);
        margin-bottom: 0.75rem;
    }
    .footer-title {
        font-size: 0.875rem;
        font-weight: 800;
        color: var(--text-heading);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 1.25rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--border-line);
    }
    .footer-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .footer-list li {
        margin-bottom: 0.625rem;
        font-size: 0.85rem;
    }
    .footer-list a {
        color: var(--text-body);
    }
    .footer-list a:hover {
        color: var(--accent-ochre);
    }
    .copyright-bar {
        border-top: 1px solid var(--border-line);
        margin-top: 3rem;
        padding-top: 1.5rem;
        font-size: 0.75rem;
        color: var(--text-muted);
    }
    @media (max-width: 768px) {
        .brand-logo-text {
            font-size: 1.45rem;
        }
        .category-page-title {
            font-size: 1.5rem;
        }
        .section-wrap {
            padding: 2.25rem 0;
        }
        .filter-row {
            align-items: flex-start;
        }
        .filter-group-label {
            width: 100%;
            margin-bottom: 0.25rem;
        }
    }

/* roulang page: category2 */
:root {
      --bg-base: #F8F9FA;
      --bg-surface: #FFFFFF;
      --bg-panel: #1A1D20;
      --primary-dark: #1F2421;
      --slate-black: #212529;
      --accent-ochre: #C85A32;
      --mineral-gray: #5C6B73;
      --border-line: #DEE2E6;
      --border-subtle: #E9ECEF;
      --text-heading: #121416;
      --text-body: #343A40;
      --text-muted: #6C757D;
      --radius-box: 2px;
    }

    body {
      background-color: var(--bg-base);
      color: var(--text-body);
      font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
    }

    a {
      color: inherit;
      text-decoration: none;
      transition: color 0.15s ease-in-out;
    }

    /* 报刊式双层导航栏 */
    .site-header {
      background-color: var(--bg-surface);
      border-bottom: 2px solid var(--primary-dark);
    }
    .brand-masthead {
      padding: 1.25rem 0;
      border-bottom: 1px solid var(--border-line);
    }
    .brand-logo-text {
      font-size: 1.75rem;
      font-weight: 900;
      color: var(--primary-dark);
      letter-spacing: -0.5px;
      line-height: 1.2;
      margin: 0;
    }
    .brand-subtext {
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 1.5px;
      color: var(--mineral-gray);
      text-transform: uppercase;
      margin-top: 3px;
    }
    .nav-editorial {
      padding: 0;
    }
    .nav-editorial .nav-link {
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--slate-black);
      padding: 0.875rem 1.25rem;
      position: relative;
      border-radius: 0;
    }
    .nav-editorial .nav-link:hover,
    .nav-editorial .nav-link.active {
      color: var(--accent-ochre);
    }
    .nav-editorial .nav-link.active::after {
      content: "";
      position: absolute;
      bottom: -2px;
      left: 0;
      right: 0;
      height: 2px;
      background-color: var(--accent-ochre);
    }

    /* 面包屑导航条 */
    .breadcrumb-strip {
      background-color: #ECEFF1;
      border-bottom: 1px solid var(--border-line);
      padding: 0.5rem 0;
      font-size: 0.8125rem;
      color: var(--mineral-gray);
    }
    .breadcrumb-strip a:hover {
      color: var(--accent-ochre);
    }
    .breadcrumb-separator {
      margin: 0 0.5rem;
      color: #ADB5BD;
    }

    /* 报纸风格双线/粗上边框通用块 */
    .section-wrap {
      padding: 3rem 0;
      border-bottom: 1px solid var(--border-line);
    }
    .section-header-bar {
      border-top: 3px solid var(--primary-dark);
      padding-top: 0.875rem;
      margin-bottom: 1.75rem;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
    .section-header-title {
      font-size: 1.4rem;
      font-weight: 800;
      color: var(--text-heading);
      margin: 0;
      position: relative;
    }
    .section-header-code {
      font-size: 0.75rem;
      font-family: monospace;
      font-weight: 700;
      color: var(--mineral-gray);
      letter-spacing: 1px;
    }

    /* 覆写 Bootstrap 卡片与控件 */
    .card-editorial {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-line);
      border-radius: var(--radius-box);
      padding: 1.5rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .card-editorial:hover {
      border-color: var(--primary-dark);
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    }

    .tag-chip {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 700;
      padding: 2px 8px;
      background-color: #ECEFF1;
      color: var(--mineral-gray);
      border-radius: 0;
      letter-spacing: 0.5px;
      margin-right: 0.35rem;
      margin-bottom: 0.35rem;
      border: 1px solid transparent;
      cursor: pointer;
      transition: all 0.15s ease;
    }
    .tag-chip:hover, .tag-chip.active {
      background-color: var(--primary-dark);
      color: #FFFFFF;
      border-color: var(--primary-dark);
    }
    .tag-chip-ochre {
      background-color: #FBEFEA;
      color: var(--accent-ochre);
      border-color: #F3D2C4;
    }
    .tag-chip-ochre.active {
      background-color: var(--accent-ochre);
      color: #FFFFFF;
      border-color: var(--accent-ochre);
    }

    .btn-editorial {
      border-radius: var(--radius-box);
      font-size: 0.875rem;
      font-weight: 700;
      padding: 0.5rem 1.25rem;
      letter-spacing: 0.5px;
      border: 1px solid transparent;
      transition: all 0.2s ease;
      display: inline-block;
      text-align: center;
    }
    .btn-editorial-primary {
      background-color: var(--primary-dark);
      color: #FFFFFF;
    }
    .btn-editorial-primary:hover {
      background-color: var(--slate-black);
      color: #FFFFFF;
    }
    .btn-editorial-outline {
      background-color: transparent;
      border-color: var(--primary-dark);
      color: var(--primary-dark);
    }
    .btn-editorial-outline:hover {
      background-color: var(--primary-dark);
      color: #FFFFFF;
    }

    /* 分类头栏专属样式 */
    .category-masthead-box {
      background: var(--bg-surface);
      border: 1px solid var(--border-line);
      border-left: 4px solid var(--accent-ochre);
      padding: 2rem 2.25rem;
      box-shadow: 0 1px 3px rgba(0,0,0,0.02);
    }
    .category-masthead-h1 {
      font-size: 1.85rem;
      font-weight: 900;
      color: var(--primary-dark);
      letter-spacing: -0.5px;
      margin-bottom: 0.75rem;
    }

    /* 筛选矩阵 */
    .filter-matrix-wrapper {
      background: #FFFFFF;
      border: 1px solid var(--border-line);
      padding: 1.25rem 1.5rem;
    }
    .filter-row {
      display: flex;
      align-items: center;
      padding: 0.6rem 0;
      border-bottom: 1px dashed var(--border-subtle);
    }
    .filter-row:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }
    .filter-label {
      width: 100px;
      flex-shrink: 0;
      font-size: 0.8125rem;
      font-weight: 800;
      color: var(--mineral-gray);
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .filter-group {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
      align-items: center;
    }

    /* 资讯卡片内部排版 */
    .index-card-title {
      font-size: 1.1rem;
      font-weight: 800;
      line-height: 1.45;
      color: var(--text-heading);
      margin-bottom: 0.6rem;
    }
    .index-card-title:hover {
      color: var(--accent-ochre);
    }
    .index-card-desc {
      font-size: 0.875rem;
      color: var(--text-body);
      line-height: 1.65;
      margin-bottom: 1rem;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .meta-metrics-strip {
      font-size: 0.75rem;
      color: var(--mineral-gray);
      background-color: var(--bg-base);
      padding: 0.4rem 0.6rem;
      border: 1px solid var(--border-subtle);
      font-family: monospace;
      margin-bottom: 0.75rem;
    }

    /* 分页器 */
    .editorial-pagination {
      margin-top: 2rem;
      display: flex;
      justify-content: center;
      gap: 4px;
    }
    .editorial-pagination a, .editorial-pagination span {
      display: inline-block;
      padding: 0.45rem 0.9rem;
      font-size: 0.8125rem;
      font-weight: 700;
      border: 1px solid var(--border-line);
      background-color: #FFFFFF;
      color: var(--slate-black);
    }
    .editorial-pagination .current {
      background-color: var(--primary-dark);
      color: #FFFFFF;
      border-color: var(--primary-dark);
    }
    .editorial-pagination a:hover {
      border-color: var(--accent-ochre);
      color: var(--accent-ochre);
    }

    /* 特选横向文章卡 */
    .focus-editorial-panel {
      background: var(--bg-surface);
      border: 1px solid var(--border-line);
      padding: 2rem;
      border-top: 3px solid var(--accent-ochre);
    }
    .focus-metric-col {
      background-color: var(--bg-panel);
      color: #FFFFFF;
      padding: 1.75rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    /* 排行榜单项 */
    .rank-list-item {
      display: flex;
      align-items: center;
      padding: 0.75rem 0.5rem;
      border-bottom: 1px solid var(--border-subtle);
      font-size: 0.9rem;
    }
    .rank-list-item:hover {
      background-color: #F1F3F5;
    }
    .rank-badge {
      width: 24px;
      height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.75rem;
      font-weight: 800;
      margin-right: 0.75rem;
      background-color: #ECEFF1;
      color: var(--slate-black);
      flex-shrink: 0;
    }
    .rank-badge.top-rank {
      background-color: var(--accent-ochre);
      color: #FFFFFF;
    }

    /* Q&A 卡片 */
    .qa-card {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-line);
      padding: 1.5rem;
      height: 100%;
    }
    .qa-card-question {
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--primary-dark);
      margin-bottom: 0.75rem;
      display: flex;
      gap: 0.5rem;
      align-items: flex-start;
    }
    .qa-q-mark {
      background-color: var(--primary-dark);
      color: #FFFFFF;
      font-size: 0.75rem;
      padding: 0 5px;
      font-weight: 900;
      line-height: 1.5;
    }
    .qa-card-answer {
      font-size: 0.875rem;
      color: var(--text-body);
      line-height: 1.75;
    }

    /* 相关交叉标签 */
    .cross-nav-bar {
      background-color: var(--bg-surface);
      border: 1px solid var(--border-line);
      padding: 1.25rem 1.75rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }

    /* 页脚 */
    .site-footer {
      background-color: #151719;
      color: #ADB5BD;
      padding: 3.5rem 0 1.5rem 0;
      border-top: 3px solid var(--accent-ochre);
      font-size: 0.875rem;
    }
    .footer-brand {
      font-size: 1.35rem;
      font-weight: 800;
      color: #FFFFFF;
      letter-spacing: -0.5px;
      margin-bottom: 0.75rem;
    }
    .footer-title {
      font-size: 0.875rem;
      font-weight: 800;
      color: #F8F9FA;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 1rem;
      border-left: 2px solid var(--accent-ochre);
      padding-left: 0.5rem;
    }
    .footer-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .footer-list li {
      margin-bottom: 0.5rem;
    }
    .footer-list a:hover {
      color: #FFFFFF;
      text-decoration: underline;
    }
    .copyright-bar {
      margin-top: 2.5rem;
      padding-top: 1.25rem;
      border-top: 1px solid #2B3035;
      font-size: 0.75rem;
      color: #6C757D;
    }

    @media (max-width: 768px) {
      .filter-label {
        width: 100%;
        margin-bottom: 0.25rem;
      }
      .filter-row {
        flex-direction: column;
        align-items: flex-start;
      }
      .category-masthead-h1 {
        font-size: 1.45rem;
      }
    }

/* roulang: framework shim */
/* 覆盖 Bootstrap 等对 a/btn 的全局默认，避免导航出现下划线/蓝链 */
.site-header a,.site-header a:hover,.navbar a,.navbar a:hover,.nav-links a,.nav-links a:hover,header nav a,header nav a:hover{text-decoration:none}
.site-header .btn,.navbar .btn,.nav-cta{text-decoration:none}
