/* 版式主题(与首页 index.html 同一套调色板, data-theme 挂在 <html> 上, localStorage 共享) */
:root, [data-theme="red"] {
    --news-accent: #b3362b;
    --news-deep: #8e2a22;
    --news-paper: #faf7f0;
    --news-paper2: #f3eee3;
    --news-ink: #243444;
    --news-ink-muted: #74818d;
    --news-ink-faint: #8c969e;
    --news-border: #dce6ed;
    --news-border-light: #e8eff5;
}
[data-theme="graphite"] {
    --news-accent: #333333;
    --news-deep: #1a1a1a;
    --news-paper: #f5f5f3;
    --news-paper2: #eaeae6;
    --news-ink: #222222;
    --news-ink-muted: #666666;
    --news-ink-faint: #888888;
    --news-border: #d8d8d4;
    --news-border-light: #e6e6e2;
}
[data-theme="teal"] {
    --news-accent: #137373;
    --news-deep: #0d5252;
    --news-paper: #f2f7f7;
    --news-paper2: #e3efef;
    --news-ink: #1b3838;
    --news-ink-muted: #577878;
    --news-ink-faint: #7d9e9e;
    --news-border: #d0e4e4;
    --news-border-light: #e4f0f0;
}
[data-theme="orange"] {
    --news-accent: #c45b20;
    --news-deep: #9c4314;
    --news-paper: #fdf7f2;
    --news-paper2: #f7ebe0;
    --news-ink: #3b2b20;
    --news-ink-muted: #856f61;
    --news-ink-faint: #a69285;
    --news-border: #eddcd0;
    --news-border-light: #f7ece3;
}
[data-theme="rose"] {
    --news-accent: #ad2d5f;
    --news-deep: #8a1e48;
    --news-paper: #fbf3f6;
    --news-paper2: #f4e4eb;
    --news-ink: #3b202c;
    --news-ink-muted: #876274;
    --news-ink-faint: #a68595;
    --news-border: #ebd3de;
    --news-border-light: #f7e6ee;
}
[data-theme="green"] {
    --news-accent: #286b3d;
    --news-deep: #1b4d2b;
    --news-paper: #f3f8f4;
    --news-paper2: #e5f0e7;
    --news-ink: #1c3624;
    --news-ink-muted: #5e7a66;
    --news-ink-faint: #849e8b;
    --news-border: #cee3d2;
    --news-border-light: #e4f0e6;
}
[data-theme="blue"] {
    --news-accent: #20579e;
    --news-deep: #163f73;
    --news-paper: #f2f6fc;
    --news-paper2: #e2ecf7;
    --news-ink: #1d2e44;
    --news-ink-muted: #5b6f87;
    --news-ink-faint: #8397ad;
    --news-border: #cfdef0;
    --news-border-light: #e3edf7;
}

/* 本页样式令牌全部指向主题令牌, 切主题即全站生效 */
:root {
    --paper: var(--news-paper);
    --paper2: var(--news-paper2);
    --surface: #ffffff;
    --ink: var(--news-ink);
    --ink-2: #4c5d6e;
    --muted: var(--news-ink-muted);
    --faint: var(--news-ink-faint);
    --line: var(--news-border);
    --line-light: var(--news-border-light);
    --line-strong: rgba(36, 52, 68, .25);
    --accent: var(--news-accent);
    --accent-deep: var(--news-deep);
    --navy: #213e53;
    --wash: color-mix(in srgb, var(--accent) 6%, transparent);
    --serif: 'Songti SC', 'STSong', 'Noto Serif CJK SC', 'Source Han Serif SC', 'Source Han Serif CN', 'SimSun', serif;
    --sans: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Segoe UI', sans-serif;
    --mono: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Mono', Consolas, monospace;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--sans);
    background: var(--paper);
    color: var(--ink);
    font-size: 15px;
    line-height: 1.7;
}

a { color: inherit; text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--accent); }

a:focus-visible, button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 2px;
}

.wrap { max-width: 1400px; margin: 0 auto; padding: 0 32px; }

/* 报头 */

.masthead { border-bottom: 1px solid var(--line); background: var(--paper); }

.masthead-rule { height: 3px; background: var(--accent); }

.masthead-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 0;
    flex-wrap: wrap;
}

.masthead-title {
    font-family: var(--sans);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.3px;
}

.masthead-title em {
    font-style: normal;
    color: var(--accent);
}

.masthead-slogan {
    font-size: 11.5px;
    color: var(--muted);
    letter-spacing: .08em;
    margin-left: 12px;
    font-family: var(--sans);
}

.site-nav { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.site-nav a {
    font-size: 13px;
    color: var(--ink-2);
    padding: 7px 15px;
    border-radius: 20px;
    border: 1px solid transparent;
    letter-spacing: .02em;
    transition: all .15s ease;
}

.site-nav a:hover { color: var(--ink); background: rgba(0, 0, 0, .04); }

.site-nav a.is-active {
    background: var(--navy);
    color: #fff;
    font-weight: 600;
}

/* 版式主题圆点(与首页 themes bar 同源, localStorage 共享) */

.masthead-side { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }

.theme-mini {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 11px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .03);
}

.theme-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--line);
    cursor: pointer;
    padding: 0;
    transition: transform .15s ease, box-shadow .15s ease;
}

.theme-dot:hover { transform: scale(1.15); }

.theme-dot[aria-pressed="true"] {
    box-shadow: 0 0 0 2px var(--accent);
    transform: scale(1.1);
}

/* 面包屑 */

.breadcrumb { padding: 26px 0 2px; font-size: 12px; color: var(--faint); letter-spacing: .02em; }

.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }

.breadcrumb li + li::before { content: '/'; margin-right: 8px; color: var(--line-strong); }

/* 首页头条 */

.lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 48px;
    padding: 40px 0 36px;
    border-bottom: 1px solid var(--line);
}

.kicker {
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: .18em;
    color: var(--accent);
    margin-bottom: 14px;
}

.kicker a { color: inherit; }
.kicker a:hover { color: var(--accent-deep); }

.lead-title {
    font-family: var(--sans);
    font-size: clamp(28px, 4.2vw, 44px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.8px;
    margin-bottom: 16px;
}

.lead-summary {
    font-size: 15.5px;
    color: var(--ink-2);
    line-height: 1.9;
    margin-bottom: 18px;
}

.meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    font-size: 12.5px;
    color: var(--muted);
    font-family: var(--mono);
}

.lead-brief { border-left: 1px solid var(--line); padding-left: 32px; }

.lead-brief h2 {
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .04em;
    color: var(--ink);
    margin-bottom: 14px;
}

.lead-brief ul { list-style: none; }

.lead-brief li { border-bottom: 1px solid var(--line); }

.lead-brief li:last-child { border-bottom: 0; }

.lead-brief a {
    display: block;
    padding: 11px 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--ink-2);
}

.lead-brief a:hover { color: var(--accent); }

/* 首页栏目板块 */

.section { padding: 34px 0 8px; }

.section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 10px;
    margin-bottom: 6px;
}

.section-head h2 {
    font-family: var(--sans);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.3px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-head h2::before {
    content: '';
    width: 4px;
    height: 17px;
    background: var(--accent);
    border-radius: 2px;
    flex: none;
}

.section-more { font-size: 12.5px; color: var(--muted); letter-spacing: .06em; }
.section-more:hover { color: var(--accent); }

.story-list { list-style: none; }

.story-list li { border-bottom: 1px solid var(--line); }

.story-list li:last-child { border-bottom: 0; }

.story {
    display: flex;
    align-items: baseline;
    gap: 20px;
    padding: 14px 0;
}

.story-date {
    font-family: var(--mono);
    font-size: 12px;
    color: var(--muted);
    letter-spacing: .06em;
    flex: none;
    width: 48px;
}

.story-title {
    font-family: var(--sans);
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.6;
    flex: 1;
    min-width: 0;
}

.story-title:hover { color: var(--accent); }

/* 栏目页 */

.category-head { padding: 36px 0 22px; border-bottom: 2px solid var(--ink); margin-bottom: 24px; }

.category-head h1 {
    font-family: var(--sans);
    font-size: clamp(28px, 3.4vw, 36px);
    font-weight: 800;
    letter-spacing: -0.8px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.category-head h1::before {
    content: '';
    width: 5px;
    height: 26px;
    background: var(--accent);
    border-radius: 2px;
    flex: none;
}

.category-desc { color: var(--muted); font-size: 14px; max-width: 70ch; }

/* 搜索页 */

.search-form {
    display: flex;
    gap: 10px;
    max-width: 640px;
}

.search-form input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface);
    padding: 11px 20px;
    font-size: 14px;
    font-family: var(--sans);
    color: var(--ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.search-form input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);
}

.search-form button {
    flex: none;
    border: none;
    border-radius: 22px;
    background: var(--navy);
    color: #fff;
    padding: 11px 30px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease;
}

.search-form button:hover { background: var(--ink); }

.search-count {
    margin: 18px 0 20px;
    font-size: 13px;
    color: var(--muted);
}

.search-count b { color: var(--accent); }

/* 列表: 杂志双列卡片(与首页 story-card 同款) */

.entry-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.entry {
    background: var(--surface);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent);
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .02);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.entry:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .04);
}

.entry a {
    display: flex;
    flex-direction: column;
    padding: 22px 26px 18px;
    height: 100%;
}

.entry a:hover { color: inherit; }

.entry:hover .entry-title { color: var(--accent); }

/* 列表卡缩略图(封面故事有图时): 满宽出血贴卡片顶边, 悬停轻微放大 */
.entry-thumb {
    display: block;
    margin: -22px -26px 16px;
    overflow: hidden;
    border-radius: 7px 7px 0 0;
    border-bottom: 1px solid var(--line);
    background: var(--paper2);
}

.entry-thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .3s ease;
}

.entry:hover .entry-thumb img { transform: scale(1.03); }

.entry-date {
    font-family: var(--mono);
    color: var(--faint);
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .06em;
    margin-bottom: 10px;
}

.entry-date b {
    font-weight: 700;
    color: var(--ink);
    margin-right: 6px;
    font-size: 12px;
}

.entry-title {
    font-family: var(--sans);
    font-size: 17px;
    font-weight: 750;
    line-height: 1.6;
    letter-spacing: -0.2px;
    margin-bottom: 8px;
    color: var(--ink);
}

.entry-summary {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 8px;
}

.entry .meta {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--line-light);
    font-size: 11.5px;
    color: var(--faint);
}

/* 分页 */

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 0 56px;
    flex-wrap: wrap;
}

.pagination a, .pagination span {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 13px;
    font-family: var(--mono);
    color: var(--ink-2);
    background: var(--surface);
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.pagination a:hover { border-color: var(--accent); color: var(--accent); }

.pagination span.is-current {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
    font-weight: 600;
}

.pagination .is-disabled { opacity: .35; pointer-events: none; }

/* 文章页 */

.article { padding: 40px 0 24px; }

.article-head { border-bottom: 2px solid var(--ink); padding-bottom: 26px; margin-bottom: 34px; }

.article-title {
    font-family: var(--sans);
    font-size: clamp(26px, 3.8vw, 38px);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.8px;
    margin-bottom: 18px;
    max-width: 30em;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    font-size: 12.5px;
    color: var(--faint);
    font-family: var(--sans);
    align-items: center;
}

.article-meta .cat-badge {
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--accent);
    border: 1px solid rgba(179, 54, 43, .35);
    padding: 3px 13px;
    border-radius: 999px;
}

.article-meta .cat-badge:hover { background: var(--wash); color: var(--accent-deep); }

.article-cover { margin: 0 0 36px; }

.article-cover img {
    width: 100%;
    height: auto;
    display: block;
    background: var(--surface);
}

.article-cover figcaption {
    font-size: 12.5px;
    color: var(--muted);
    padding-top: 10px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 10px;
}

/* 正文: 刊物排版 */

.article-body {
    font-family: var(--sans);
    font-size: 16.5px;
    line-height: 2.0;
    color: var(--ink);
}

.article-body p { margin: 0 0 1.6em; }

.article-body h2 {
    font-family: var(--sans);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -0.3px;
    margin: 2.2em 0 1em;
    padding-left: 14px;
    border-left: 4px solid var(--accent);
    line-height: 1.5;
}

.article-body h3 {
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 700;
    margin: 1.8em 0 .9em;
    line-height: 1.5;
}

.article-body a { color: var(--accent); border-bottom: 1px solid rgba(162, 56, 42, .35); }

.article-body a:hover { color: var(--accent-deep); border-bottom-color: var(--accent-deep); }

.article-body blockquote {
    margin: 2em 0;
    padding: 18px 24px;
    background: var(--wash);
    border-left: 3px solid var(--accent);
    color: var(--ink-2);
}

.article-body blockquote p:last-child { margin-bottom: 0; }

.article-body img { max-width: 100%; height: auto; display: block; margin: 1.8em auto; }

.article-body ul, .article-body ol { margin: 0 0 1.6em 1.6em; }

.article-body li { margin-bottom: .5em; }

.article-body figure { margin: 1.8em 0; }

.article-body figcaption {
    font-family: var(--sans);
    font-size: 12.5px;
    color: var(--muted);
    text-align: center;
    margin-top: 8px;
}

.article-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.8em 0;
    font-family: var(--sans);
    font-size: 13.5px;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.article-body th, .article-body td {
    border: 1px solid var(--line-strong);
    padding: 8px 12px;
    text-align: left;
}

.article-body th { background: var(--wash); font-weight: 600; }

.article-body pre {
    font-family: var(--mono);
    font-size: 13px;
    line-height: 1.7;
    background: #2b2620;
    color: #e8e0d0;
    padding: 18px 20px;
    overflow-x: auto;
    margin: 1.8em 0;
}

.article-body code { font-family: var(--mono); font-size: .88em; background: var(--wash); padding: 1px 5px; border-radius: 2px; }

.article-body pre code { background: none; padding: 0; }

.article-source {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    font-size: 12.5px;
    color: var(--muted);
    font-family: var(--mono);
}

.article-source a { color: var(--muted); border-bottom: 1px solid var(--line-strong); }
.article-source a:hover { color: var(--accent); }

/* 相关阅读 */

.related { padding: 8px 0 32px; }

.related-head {
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.3px;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 10px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.related-head::before {
    content: '';
    width: 4px;
    height: 16px;
    background: var(--accent);
    border-radius: 2px;
    flex: none;
}

.related-grid {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
}

.related-grid li { border-bottom: 1px solid var(--line); }

.related-grid a {
    display: block;
    padding: 13px 0;
    font-family: var(--sans);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.6;
}

.related-grid a:hover { color: var(--accent); }

/* 空态 */

.empty {
    padding: 60px 24px;
    text-align: center;
    color: var(--muted);
    font-size: 14px;
    letter-spacing: .06em;
    background: var(--surface);
    border: 1px dashed var(--line);
    border-radius: 8px;
    margin: 20px 0;
}

.empty-tick {
    width: 32px;
    height: 3px;
    background: var(--accent);
    margin: 0 auto 18px;
}

.btn-ghost {
    display: inline-block;
    border: 1px solid var(--line-strong);
    border-radius: 20px;
    padding: 9px 28px;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.btn-ghost:hover { border-color: var(--accent); color: var(--accent); background: var(--wash); }

/* 页脚: 与首页同款浅色极简 */

.site-footer {
    background: var(--paper);
    color: var(--faint);
    margin-top: 48px;
    border-top: 1px solid var(--line);
    font-size: 12px;
}

.site-footer .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 34px 32px 20px;
    flex-wrap: wrap;
}

.footer-title {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--ink);
    margin-bottom: 6px;
}

.footer-nav { display: flex; flex-wrap: wrap; gap: 18px; }

.footer-nav a { color: var(--faint); }
.footer-nav a:hover { color: var(--accent); }

.footer-copy { color: var(--faint); font-size: 11.5px; font-family: var(--mono); }

/* 响应式 */

@media (max-width: 860px) {
    .lead { grid-template-columns: 1fr; gap: 28px; padding: 28px 0; }
    .lead-brief { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 22px; }
    .related-grid { grid-template-columns: 1fr; }
    .entry-list { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .masthead-inner { padding: 12px 0; }
    .masthead-title { font-size: 19px; }
    .masthead-side { justify-content: flex-start; }
    .breadcrumb { padding: 18px 0 2px; }
    .category-head { padding: 26px 0 16px; }
    .article { padding: 24px 0 16px; }
    .article-body { font-size: 15.5px; }
    .pagination { padding: 30px 0 40px; }
    .entry a { padding: 18px; }
    .cover { padding: 26px 0 16px; }
    .cover-verdict { padding: 18px; }
    .cover-band .cell { padding: 14px 16px; }
}

@media (max-width: 720px) {
    .wrap { padding: 0 18px; }
    .masthead-inner { padding: 14px 0; gap: 10px; }
    .masthead-slogan { display: none; }
    .site-nav { gap: 4px; overflow-x: auto; }
    .entry-list { grid-template-columns: 1fr; }
    .entry a { padding: 20px; }
    .story { gap: 12px; }
    .story-date { width: auto; flex: none; }
    .site-footer .wrap { flex-direction: column; gap: 18px; align-items: flex-start; }
}

/* 标签 */

.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.tag-chip {
    display: inline-block;
    font-size: 12px;
    letter-spacing: .06em;
    color: var(--ink-2);
    border: 1px solid var(--line-strong);
    background: var(--surface);
    padding: 3px 12px;
    border-radius: 999px;
    transition: border-color .15s ease, color .15s ease;
}

.tag-chip:hover { border-color: var(--accent); color: var(--accent); }

.tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; padding: 8px 0 28px; }

.tag-cloud .tag-chip b { font-weight: 600; color: var(--ink); margin-right: 4px; }

/* 日报: 卡片矩阵(与首页日报展墙同款) */

.daily-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin: 8px 0 40px; }

.daily-grid li {
    background: var(--surface);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .02);
    transition: transform .15s ease, box-shadow .15s ease;
}

.daily-grid li:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, .05); }

.daily-grid a { display: flex; flex-direction: column; gap: 6px; padding: 22px 20px; height: 100%; }

.daily-grid .d-name { font-family: var(--sans); font-size: 16px; font-weight: 750; letter-spacing: -0.2px; display: flex; align-items: center; gap: 8px; }

.daily-grid .d-name::before { content: ''; width: 4px; height: 15px; background: var(--accent); border-radius: 2px; flex: none; }

.daily-grid .d-title { font-size: 13px; color: var(--muted); line-height: 1.75; flex: 1; }

.daily-grid .d-date { font-family: var(--mono); font-size: 11px; color: var(--accent); font-weight: 600; letter-spacing: .05em; }

.daily-grid a:hover .d-name { color: var(--accent); }

.daily-body { font-family: var(--sans); font-size: 16px; line-height: 2.0; }
.daily-body h2 { font-family: var(--sans); font-size: 20px; font-weight: 800; letter-spacing: -0.3px; margin: 2em 0 1em; padding-left: 14px; border-left: 4px solid var(--accent); }
.daily-body h3 { font-family: var(--sans); font-size: 17px; font-weight: 700; margin: 1.6em 0 .8em; }
.daily-body p { margin-bottom: 1.5em; }
.daily-body ul, .daily-body ol { margin: 0 0 1.5em 1.6em; }
.daily-body li { margin-bottom: .5em; }
.daily-body a { color: var(--accent); }
.daily-body blockquote { margin: 1.6em 0; padding: 16px 22px; background: var(--wash); border-left: 3px solid var(--accent); color: var(--ink-2); }
.daily-body table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 13.5px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.daily-body th, .daily-body td { border: 1px solid var(--line-strong); padding: 8px 12px; text-align: left; }

/* 封面故事(L3 长文) */

.cover { padding: 40px 0 24px; }

.cover-kicker { font-family: var(--mono); font-size: 12px; letter-spacing: .5em; color: var(--accent); margin-bottom: 20px; }

.cover-title-a { font-family: var(--sans); font-size: clamp(26px, 4vw, 40px); font-weight: 800; line-height: 1.4; letter-spacing: -0.8px; margin-bottom: 14px; }

.cover-title-em {
    font-family: var(--sans);
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.3px;
    color: var(--accent);
    padding-left: 16px;
    border-left: 4px solid var(--accent);
    margin-bottom: 18px;
}

.cover-dateline { font-family: var(--mono); font-size: 12px; color: var(--muted); letter-spacing: .1em; margin-bottom: 30px; }

/* 封面故事配图: 头图(lead, 无边框带投影) + 行内插图(细边框+等宽图注) */
.cover-fig { margin: 0 0 30px; }

.cover-fig img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); }

.cover-fig figcaption { font-family: var(--mono); font-size: 11.5px; color: var(--muted); letter-spacing: .05em; margin-top: 8px; }

/* 导语区: 文左, 封面头图右(4:3 缩略 [840,630]); 无图时导语独占全宽 */
.cover-lede-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 38%); gap: 0 40px; align-items: start; margin-bottom: 34px; }

.cover-lede-row .cover-lede-text { min-width: 0; }
.cover-lede-row .cover-lede-short { margin-bottom: 12px; }
.cover-lede-row .cover-lede { margin-bottom: 0; }

.cover-fig-lead { margin: 0; }

.cover-fig-lead img { border: none; border-radius: 6px; box-shadow: 0 8px 28px rgba(36, 52, 68, .10); }

.cover-lede-short { font-family: var(--sans); font-size: 19px; font-weight: 700; margin-bottom: 14px; }

.cover-lede { font-size: 16px; line-height: 2.0; color: var(--ink-2); max-width: 70ch; margin-bottom: 34px; }

.cover-band {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border-top: 2px solid var(--ink);
    border-bottom: 1px solid var(--line-strong);
    margin-bottom: 34px;
}

.cover-band .cell { background: var(--paper); padding: 18px 20px; }

.cover-band .n { font-family: var(--sans); font-size: 34px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }

.cover-band .n small { font-size: 20px; }

.cover-band .d { font-size: 12.5px; color: var(--ink-2); line-height: 1.7; margin-top: 6px; }

.cover-toc { margin: 0 0 40px; border: 1px solid var(--line); background: var(--surface); padding: 18px 24px; }

.cover-toc h2 { font-family: var(--mono); font-size: 11.5px; letter-spacing: .3em; color: var(--muted); margin-bottom: 10px; }

.cover-toc ol { list-style: none; counter-reset: toc; columns: 2; column-gap: 36px; }

.cover-toc li { counter-increment: toc; font-size: 14.5px; padding: 5px 0; break-inside: avoid; }

.cover-toc li::before { content: counter(toc, cjk-ideographic) ' '; font-family: var(--sans); font-weight: 700; color: var(--accent); margin-right: 8px; }

.cover-section { margin-bottom: 46px; }

.cover-section .sec-head { display: flex; align-items: baseline; gap: 14px; border-bottom: 2px solid var(--ink); padding-bottom: 10px; margin-bottom: 18px; }

.cover-section .num { font-family: var(--sans); font-size: 24px; font-weight: 800; color: var(--accent); letter-spacing: -.01em; }

.cover-section h2 { font-family: var(--sans); font-size: 22px; font-weight: 800; letter-spacing: -0.3px; }

.cover-section .p { font-size: 16px; line-height: 2.05; margin-bottom: 1.2em; }

.cover-section .p strong { color: var(--ink); }

.cover-pull {
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    padding: 6px 0 6px 22px;
    border-left: 4px solid var(--accent);
    margin: 1.6em 0;
}

.cover-reads { display: grid;  gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 1.4em 0; }

.cover-reads .rd { background: var(--surface); padding: 14px 16px; }

.cover-reads .lb { font-family: var(--mono); font-size: 11px; letter-spacing: .2em; color: var(--accent); margin-bottom: 6px; }

.cover-reads .v { font-size: 13.5px; line-height: 1.8; color: var(--ink-2); }

.cover-verdict { border: 2px solid var(--ink); background: var(--surface); padding: 26px 30px; margin: 44px 0; }

.cover-verdict h2 { font-family: var(--sans); font-size: 22px; font-weight: 800; letter-spacing: -0.3px; margin-bottom: 6px; }

.cover-verdict .intro { font-size: 13.5px; color: var(--muted); margin-bottom: 16px; }

.cover-verdict li { font-size: 15px; line-height: 1.9; margin-bottom: 12px; list-style: none; padding-left: 20px; position: relative; }

.cover-verdict li::before { content: '\25B8'; position: absolute; left: 0; color: var(--accent); }

.cover-verdict .final {
    font-family: var(--sans);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    padding-top: 14px;
    border-top: 1px solid var(--line-strong);
    margin-top: 16px;
}

.cover-sources { margin: 36px 0 10px; }

.cover-sources h2 { font-family: var(--mono); font-size: 11.5px; letter-spacing: .3em; color: var(--muted); margin-bottom: 12px; }

.cover-sources ol { list-style: none; columns: 2; column-gap: 36px; }

.cover-sources li { font-size: 12.5px; padding: 4px 0; break-inside: avoid; }

.cover-sources a { color: var(--ink-2); border-bottom: 1px solid var(--line-strong); }

.cover-sources a:hover { color: var(--accent); }

.cover-colophon { font-family: var(--mono); font-size: 11.5px; color: var(--muted); letter-spacing: .06em; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 20px; }

@media (max-width: 860px) {
    .cover-band { grid-template-columns: 1fr; }
    .cover-reads { grid-template-columns: 1fr; }
    .cover-toc ol, .cover-sources ol { columns: 1; }
    .daily-grid { grid-template-columns: 1fr; }
}

/* 参考来源: 折叠 + 按来源分组(单栏纵列, 左对齐) */
.cover-sources { margin: 40px 0 12px; }
.cover-sources details { border-top: 2px solid var(--ink); }
.cover-sources summary { cursor: pointer; padding: 14px 0 12px; list-style: none; display: flex; align-items: baseline; gap: 14px; }
.cover-sources summary::-webkit-details-marker { display: none; }
.cover-sources .src-label { font-family: var(--sans); font-size: 18px; font-weight: 800; letter-spacing: -0.3px; color: var(--ink); display: flex; align-items: center; gap: 10px; }
.cover-sources .src-label::before { content: ''; width: 4px; height: 17px; background: var(--accent); border-radius: 2px; }
.cover-sources .src-hint { font-family: var(--mono); font-size: 11px; color: var(--faint); letter-spacing: .04em; }
.cover-sources summary::after { content: '\25BE'; margin-left: auto; color: var(--faint); font-size: 12px; transition: transform .18s ease; }
.cover-sources details[open] summary::after { transform: rotate(180deg); }
.cover-sources summary:hover .src-label { color: var(--accent); }
.cover-sources .src-tree { padding: 2px 0 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 44px; align-items: start; }
.src-group { padding: 12px 0 6px; border-top: 1px solid var(--line-light); }
.src-name { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--muted); font-weight: 700; text-transform: uppercase; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.src-count { color: var(--accent); background: var(--paper2, #f3eee3); border-radius: 3px; padding: 0 6px; font-weight: 700; }
.src-group ul { list-style: none; counter-reset: src; }
.src-group li { font-size: 13px; line-height: 1.6; padding: 4px 0; counter-increment: src; }
.src-group li::before { content: counter(src, decimal-leading-zero); font-family: var(--mono); font-size: 10.5px; color: var(--faint); margin-right: 8px; }
.src-group a { color: var(--ink-2); text-decoration: none; }
.src-group a:hover { color: var(--accent); }
.src-host { display: inline-block; margin-left: 8px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .02em; color: var(--faint); word-break: break-all; vertical-align: baseline; }

@media (max-width: 720px) {
    .cover-sources .src-label { font-size: 16px; }
    .cover-sources .src-tree { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cover-lede-row { grid-template-columns: minmax(0, 1fr); gap: 16px 0; }
    .cover-lede-row .cover-fig-lead { order: -1; }
}

/* 无障碍减弱动态(与 home.css 同款兜底) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
