:root { --ink: #18211f; --muted: #66736f; --forest: #1f4b40; --line: #dbe1de; --surface: #f4f6f5; --accent: #a94d37; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { color: var(--ink); background: var(--surface); font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; line-height: 1.7; letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
.content-header { position: sticky; z-index: 10; top: 0; display: flex; min-height: 68px; align-items: center; gap: 28px; padding: 0 max(20px, calc((100vw - 1160px) / 2)); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); }
.content-brand { display: flex; flex: none; align-items: center; gap: 10px; }.content-brand span { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--forest); font-family: Georgia, serif; font-size: 20px; }.content-brand strong { font-size: 16px; }
.content-header nav { display: flex; flex: 1; gap: 24px; white-space: nowrap; }.content-header nav a { color: #4f5d58; font-size: 13px; font-weight: 700; }.content-header nav a:hover { color: var(--forest); }.content-nav-item { position: relative; }.content-nav-children { position: absolute; z-index: 20; top: 25px; left: 50%; display: none; width: 170px; padding: 7px 0; border: 1px solid var(--line); background: #fff; box-shadow: 0 12px 30px rgba(20,35,31,.14); transform: translateX(-50%); }.content-nav-item:hover > .content-nav-children, .content-nav-item:focus-within > .content-nav-children { display: grid; }.content-nav-children a { padding: 7px 13px; }
.content-nav-children .content-nav-item{display:block}.content-nav-children .content-nav-item>a{display:block}.content-nav-children .content-nav-children{top:0;left:100%;transform:none}.content-nav-children .content-nav-item:hover>.content-nav-children,.content-nav-children .content-nav-item:focus-within>.content-nav-children{display:grid}
.content-home { flex: none; padding: 7px 12px; border: 1px solid #b9c6c1; color: var(--forest); font-size: 12px; font-weight: 700; }
main { width: min(100% - 32px, 1040px); min-height: calc(100vh - 150px); margin: 0 auto; padding: 50px 0 70px; }
.content-article { max-width: 820px; margin: 0 auto; padding: 42px 54px 60px; border: 1px solid var(--line); background: #fff; }.content-kicker, .content-heading p { margin: 0; color: var(--accent); font-size: 12px; font-weight: 800; }.content-article h1, .content-heading h1 { margin: 7px 0 0; line-height: 1.3; letter-spacing: 0; }.content-article h1 { font-size: 32px; }.content-summary { margin: 18px 0 0; color: var(--muted); font-size: 16px; }.content-meta { display: flex; gap: 22px; margin: 22px 0; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }.content-meta + .content-summary { margin: 0 0 24px; color: #47534f; line-height: 1.8; }
.content-cover { display: block; width: 100%; max-height: 500px; margin: 24px 0; object-fit: cover; }.content-body { color: #303b38; font-size: 16px; }.content-body p { margin: 1.25em 0; white-space: normal; overflow-wrap: anywhere; }
.rich-content h2,.rich-content h3{margin:1.5em 0 .65em;line-height:1.4}.rich-content h2{font-size:24px}.rich-content h3{font-size:19px}.rich-content ul,.rich-content ol{padding-left:1.8em}.rich-content blockquote{margin:1.3em 0;padding:12px 18px;border-left:4px solid var(--forest);color:#53615c;background:#f1f5f3}.rich-content img,.rich-content video{display:block;max-width:100%;height:auto;margin:22px auto}.rich-content video{width:min(100%,760px);background:#111}.rich-content figure{margin:24px 0;text-align:center}.rich-content figcaption{margin-top:7px;color:var(--muted);font-size:13px}.rich-content a{color:#17659b;text-decoration:underline}.rich-content hr{border:0;border-top:1px solid var(--line)}
.content-listing { width: 100%; max-width: 820px; margin: 0 auto; border: 1px solid var(--line); background: #fff; }.content-heading { padding: 34px 28px 25px; text-align: left; }.content-heading h1 { font-size: 28px; }.category-tabs { display: flex; gap: 30px; overflow-x: auto; padding: 0 28px; border-bottom: 1px solid var(--line); }.category-tabs a { flex: none; padding: 12px 0 10px; border-bottom: 3px solid transparent; color: var(--muted); font-size: 15px; font-weight: 700; }.category-tabs a.active { border-bottom-color: var(--forest); color: var(--forest); }
.document-list { padding: 10px 28px 28px; }.document-list article { display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: start; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); background: transparent; }.document-list article.no-cover { grid-template-columns: minmax(0,1fr); }.document-list article:hover, .document-list article:focus-within { background: transparent; }.document-list article:last-child { border-bottom: 0; }.document-list img { width: 180px; aspect-ratio: 16 / 10; object-fit: cover; }.document-list-copy { min-width: 0; align-self: start; }.document-list span, .document-list small { color: var(--muted); font-size: 11px; }.document-list h2 { margin: 0 0 7px; font-size: 19px; line-height: 1.45; }.document-list h2 a:hover, .document-list h2 a:focus-visible { color: var(--forest); }.document-list p { display: -webkit-box; margin: 0 0 8px; overflow: hidden; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.document-list-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.content-empty { padding: 80px 25px; text-align: center; }.content-empty h1, .content-empty h2, .content-empty p { margin: 0; }.content-empty p { margin-top: 8px; color: var(--muted); }.content-empty a { display: inline-block; margin-top: 22px; padding: 8px 15px; color: #fff; background: var(--forest); font-weight: 700; }
footer:not(.platform-footer) { padding: 24px 20px; color: #aebbb7; background: #1d2926; text-align: center; font-size: 12px; }
@media (max-width: 760px) { .content-header { min-height: 60px; gap: 12px; padding: 0 12px; }.content-brand strong, .content-home { display: none; }.content-header nav { gap: 18px; overflow-x: auto; }.content-header nav a { font-size: 12px; }.content-nav-children { display: none !important; } main { width: 100%; padding: 0 0 40px; }.content-article, .content-listing { border-right: 0; border-left: 0; }.content-article { padding: 30px 20px 45px; }.content-article h1 { font-size: 26px; }.content-summary, .content-body { font-size: 15px; }.content-heading { padding: 26px 16px 18px; }.category-tabs { gap: 22px; padding: 0 16px; }.category-tabs a { font-size: 14px; }.document-list { padding: 5px 16px 20px; }.document-list article { grid-template-columns: 96px minmax(0,1fr); gap: 13px; }.document-list img { width: 96px; }.document-list h2 { font-size: 16px; }.document-list p { font-size: 13px; } }
.rich-content .rich-align-left{text-align:left}.rich-content .rich-align-center{text-align:center}.rich-content .rich-align-right{text-align:right}.rich-content .rich-align-justify{text-align:justify}

main{width:100%;padding-right:var(--public-page-gutter);padding-left:var(--public-page-gutter)}
@media(max-width:760px){main{padding-right:var(--public-page-gutter);padding-left:var(--public-page-gutter)}}

/* News directory and article layout */
.content-page-main {
    width: min(100%, 1360px);
    min-height: calc(100vh - 180px);
    margin: 0 auto;
    padding: 28px var(--public-page-gutter) 72px
}

.platform-ad-stack[hidden], .platform-ad[hidden] { display: none; }
.platform-ad-stack-list, .platform-ad-stack-detail { min-width: 0; }
.content-sidebar-ads .platform-ad.platform-ad-type-video { max-height: none; }
.platform-ad-slot-sitewide-news-sidebar .platform-ad-video { display: block; width: 100%; max-height: 280px; object-fit: contain; background: #111; }
.platform-ad-slot-sitewide-news-sidebar .platform-ad-video-link { display: block; padding: 10px 14px; color: var(--forest); font-size: 14px; text-decoration: none; }
@media (max-width: 600px) {
    .platform-ad-stack-list .platform-ad-video { max-height: 220px; }
    .platform-ad-stack-detail .platform-ad-video { max-height: 260px; }
}

.content-breadcrumb {
    display: flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 13px
}

.content-breadcrumb a:hover,
.content-breadcrumb a:focus-visible {
    color: var(--forest)
}

.content-breadcrumb>span:last-child {
    min-width: 0;
    overflow: hidden;
    color: #3d4945;
    text-overflow: ellipsis;
    white-space: nowrap
}

.content-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: 28px
}

.content-primary {
    min-width: 0
}

.content-layout .content-listing,
.content-layout .content-article {
    width: 100%;
    max-width: none;
    border-radius: 4px
}

.content-sidebar {
    display: grid;
    position: sticky;
    top: calc(var(--public-header-height, 90px) + 20px);
    gap: 18px
}

.ranking-panel {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff
}

.ranking-panel h2 {
    margin: 0;
    padding: 18px 18px 14px;
    border-bottom: 1px solid var(--line);
    font-size: 18px;
    line-height: 1.35
}

.ranking-panel h2::after {
    display: block;
    width: 24px;
    height: 2px;
    margin-top: 9px;
    background: var(--forest);
    content: ""
}

.ranking-panel ol {
    margin: 0;
    padding: 9px 16px 13px;
    list-style: none
}

.ranking-panel li {
    display: grid;
    min-height: 42px;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid #eef1ef
}

.ranking-panel li:last-child {
    border-bottom: 0
}

.ranking-panel li>span {
    color: #aab2af;
    font-family: Georgia, serif;
    font-size: 16px
}

.ranking-panel li:nth-child(-n+3)>span {
    color: var(--accent)
}

.ranking-panel li a {
    overflow: hidden;
    color: #4e5a56;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ranking-panel li a:hover,
.ranking-panel li a:focus-visible {
    color: var(--forest)
}

.ranking-empty {
    margin: 0;
    padding: 22px 18px;
    color: var(--muted);
    font-size: 13px
}

.content-sidebar-ads .platform-ad-stack {
    display: grid;
    gap: 16px
}

.content-sidebar-ads .platform-ad {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #fff
}

.content-sidebar-ads .platform-ad>a,
.content-sidebar-ads .platform-ad>a>img,
.content-sidebar-ads .platform-ad>img {
    display: block;
    width: 100%
}

.content-sidebar-ads .platform-ad img {
    height: auto;
    object-fit: cover
}

.content-sidebar-ads .platform-ad-html {
    max-width: 100%;
    overflow: hidden;
    padding: 16px;
    overflow-wrap: anywhere
}

.content-sidebar-ads .platform-ad-html *,
.content-sidebar-ads .platform-ad-html *::before,
.content-sidebar-ads .platform-ad-html *::after {
    max-width: 100%;
    box-sizing: border-box
}

.content-sidebar-ads .platform-ad-html img,
.content-sidebar-ads .platform-ad-html video {
    height: auto
}

.content-sidebar-ads .platform-ad-close {
    display: grid;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .76);
    border-radius: 50%;
    color: #fff;
    background: rgba(20, 29, 26, .72);
    cursor: pointer;
    font-size: 20px;
    line-height: 1
}

.content-pagination {
    display: flex;
    padding: 20px 28px 28px;
    justify-content: center;
    gap: 8px;
    border-top: 1px solid var(--line)
}

.content-pagination a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--line);
    color: var(--muted);
    background: #fff;
    font-size: 13px
}

.content-pagination a:hover,
.content-pagination a:focus-visible,
.content-pagination a.active {
    border-color: var(--forest);
    color: #fff;
    background: var(--forest)
}

@media(max-width:980px) {
    .content-layout {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 20px
    }
}

@media(max-width:820px) {
    .content-page-main {
        padding-top: 18px;
        padding-bottom: 48px
    }

    .content-layout {
        grid-template-columns: minmax(0, 1fr)
    }

    .content-sidebar {
        position: static
    }

    .content-sidebar-ads .platform-ad {
        min-height: 180px
    }
}

@media(max-width:560px) {
    .content-breadcrumb {
        margin-bottom: 14px;
        font-size: 12px
    }

    .content-layout .content-article,
    .content-layout .content-listing,
    .ranking-panel,
    .content-sidebar-ads .platform-ad {
        border-right: 0;
        border-left: 0;
        border-radius: 0
    }

    .content-page-main {
        padding-right: 0;
        padding-left: 0
    }

    .content-page-main>.content-breadcrumb {
        margin-right: var(--public-page-gutter);
        margin-left: var(--public-page-gutter)
    }

    .content-article h1 {
        overflow-wrap: anywhere
    }
}

