/* 承接页（本期整理稿 / 往期列表）。颜色、字体、字号、刊头与页脚都来自 /resources/brand/tokens.css + site.css；
   这里只排版面。来的人是从抖音群点进来的：先按 390 宽排，宽屏把目录放到左栏、正文收在一栏里读。 */

.ep-wrap { padding-block: var(--xy-7) var(--xy-8); }
.ep-loading, .ep-empty { margin: 0; padding: var(--xy-6) 0; color: var(--xy-ink-3); font-size: var(--xy-t-ui); }

/* ---------- 首屏：栏目印 · 标题 · 导语 · 动作 · 身份 ---------- */
.ep-hero { max-width: 860px; padding-bottom: var(--xy-6); }
.ep-title { margin-bottom: var(--xy-4); }
.ep-standfirst { max-width: 34em; margin-bottom: var(--xy-5); }

.ep-actions { margin: 0 0 var(--xy-5); }
.ep-actions-row { display: flex; flex-wrap: wrap; gap: var(--xy-2); }
.ep-actions-row .xy-btn:first-child { flex: 1 1 auto; max-width: 320px; }
.ep-ext { font-weight: 400; }
.ep-actions-note { margin: var(--xy-2) 0 0; color: var(--xy-ink-3); font-size: var(--xy-t-small); line-height: 1.6; }

.ep-facts { display: flex; flex-wrap: wrap; gap: 0 var(--xy-5); margin: 0; padding: var(--xy-3) 0 0; border-top: 1px solid var(--xy-rule); font-size: var(--xy-t-small); line-height: 1.9; }
.ep-facts div { display: flex; gap: var(--xy-2); min-width: 0; }
.ep-facts dt { color: var(--xy-ink-3); white-space: nowrap; }
.ep-facts dd { margin: 0; color: var(--xy-ink); overflow-wrap: anywhere; }

/* ---------- 目录 + 正文 ---------- */
.ep-layout { border-top: 1px solid var(--hair-2); padding-top: var(--xy-6); }
.ep-toc { margin: 0 0 var(--xy-7); }
.ep-toc .xy-label { margin-bottom: var(--xy-2); }
.ep-body { margin: 0; }
.ep-body h2 { position: relative; }

.table-scroll { margin: 0 0 var(--xy-3); overflow-x: auto; border-top: 1px solid var(--hair-2); }
.table-scroll table { min-width: 100%; }
.table-scroll td { white-space: nowrap; }
.table-scroll td:nth-child(2) { white-space: normal; min-width: 9em; }
.ep-table-more { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 var(--xy-6); padding: 0 var(--xy-4); border: 1px solid var(--xy-rule); border-radius: 999px; background: var(--xy-sheet); color: var(--xy-ink); font: 600 14px/1 var(--xy-sans); cursor: pointer; }
.ep-table-more:hover { border-color: var(--xy-ink-3); }

.ep-appendix { margin: 2.4em 0 0; border: 1px solid var(--xy-rule); border-radius: var(--xy-r); background: var(--xy-sheet); }
.ep-appendix summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--xy-3); padding: var(--xy-4) var(--xy-5); cursor: pointer; list-style: none; }
.ep-appendix summary::-webkit-details-marker { display: none; }
.ep-appendix summary::after { content: "展开"; margin-left: auto; color: var(--xy-ink-2); font-size: 14px; }
.ep-appendix[open] summary::after { content: "收起"; }
.ep-appendix summary b { font: 700 18px/1.4 var(--xy-serif); }
.ep-appendix summary span { color: var(--xy-ink-3); font-size: var(--xy-t-small); }
.ep-appendix[open] { padding: 0 var(--xy-5) var(--xy-3); }
.ep-appendix[open] summary { margin: 0 calc(-1 * var(--xy-5)) var(--xy-3); border-bottom: 1px solid var(--xy-rule); }
.ep-appendix h3 { font-family: var(--xy-mono); font-size: 15px; }

/* ---------- 读完之后 ---------- */
.ep-tail { max-width: var(--xy-measure); margin-top: var(--xy-8); }
.ep-next ul { margin: var(--xy-2) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--hair-2); }
.ep-next li { border-bottom: 1px solid var(--xy-rule); }
.ep-next a { display: flex; flex-direction: column; gap: 2px; padding: var(--xy-3) 0; color: var(--xy-ink); text-decoration: none; }
.ep-next a b { font: 700 18px/1.4 var(--xy-serif); }
.ep-next a b::after { content: " →"; color: var(--xy-red); font-family: var(--xy-sans); }
.ep-next a span { color: var(--xy-ink-3); font-size: var(--xy-t-small); }
.ep-next a:hover b { color: var(--xy-red-ink); }
.ep-attribution { margin: var(--xy-7) 0 0; color: var(--xy-ink-3); font-size: var(--xy-t-micro); line-height: 1.7; }
.ep-attribution a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ep-back { margin-top: var(--xy-2); }

/* ---------- 往期列表 ---------- */
.ep-index-head { padding-bottom: var(--xy-7); }
.ep-index-head .xy-h1 { margin-bottom: var(--xy-3); }
.ep-columns { display: grid; gap: var(--xy-8); border-top: 1px solid var(--hair-2); padding-top: var(--xy-6); }
.ep-list-title { display: flex; align-items: center; gap: var(--xy-3); margin: 0 0 var(--xy-3); font: 700 var(--xy-t-h2)/1.3 var(--xy-serif); }
.ep-list-title .xy-seal { font: 700 13px/1 var(--xy-sans); }
.ep-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--hair-2); }
.ep-list li { border-bottom: 1px solid var(--xy-rule); }
.ep-list a { display: grid; grid-template-columns: 3.4em 1fr; gap: 0 var(--xy-3); padding: var(--xy-4) 0; color: var(--xy-ink); text-decoration: none; }
.ep-list-day { grid-row: span 2; display: flex; flex-direction: column; align-items: flex-start; color: var(--xy-ink-3); font-size: var(--xy-t-micro); line-height: 1.2; }
.ep-list-day b { color: var(--xy-ink); font: 700 26px/1 var(--xy-serif); font-variant-numeric: lining-nums tabular-nums; }
.ep-list li:first-child .ep-list-day b { color: var(--xy-red); }
.ep-list-name { font: 700 17px/1.45 var(--xy-serif); }
.ep-list-meta { margin-top: 3px; color: var(--xy-ink-3); font-size: var(--xy-t-small); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.ep-list a:hover .ep-list-name { color: var(--xy-red-ink); }

@media (min-width: 1000px) {
  .ep-wrap { padding-top: var(--xy-9); }
  .ep-layout.has-toc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--xy-9); align-items: start; }
  .ep-layout.has-toc .ep-toc { position: sticky; top: var(--xy-5); margin: 0; }
  .ep-layout.has-toc .xy-toc a { font-size: 14.5px; min-height: 40px; }
  .ep-layout.has-toc ~ .ep-tail { margin-left: calc(260px + var(--xy-9)); }
  .ep-columns { grid-template-columns: 1fr 1fr; gap: var(--xy-9); }
}

/* 宽屏的期号：右上角一个大日子，和刊头的双线呼应。手机上日期已在栏目印旁边，不再重复。 */
.ep-issue { display: none; }
@media (min-width: 1000px) {
  .ep-hero { position: relative; max-width: none; padding-right: 280px; }
  .ep-hero > :not(.ep-issue) { max-width: 820px; }
  .ep-issue { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; align-items: flex-end; width: 220px; padding-top: var(--xy-2); border-top: 1px solid var(--hair-2); text-align: right; }
  .ep-issue b { color: var(--xy-red); font: 700 132px/.9 var(--xy-serif); font-variant-numeric: lining-nums; letter-spacing: -.04em; margin: var(--xy-2) 0 var(--xy-3); }
  .ep-issue span { color: var(--xy-ink); font: 700 16px/1.4 var(--xy-serif); letter-spacing: .08em; }
  .ep-issue em { margin-top: var(--xy-1); color: var(--xy-ink-3); font: normal var(--xy-t-small)/1.4 var(--xy-sans); letter-spacing: .12em; }
}
