/* ===== 2026-11-10：史诗纪事版（仅 news.html 加载，叠加在 news.css 之后；news-reader.html 不受影响） =====
   设计：单栏居中「卷轴」，两侧露出背景插画（头盔/战船 · 神庙/日冕）；
   配色取自背景的黑底鎏金：黑檀底、青铜细线、象牙白正文；三条信息线 = 鎏金 / 铜绿 / 赤陶。
   字体：Cinzel 铭文大写 + Cormorant Garamond 数字 + 宋体中文标题，正文保持无衬线以利阅读。 */
:root {
  --bg: #0B0906; --panel: rgba(19, 14, 8, .80); --raised: #1E170D;
  --border: rgba(201, 164, 92, .17); --border-strong: rgba(201, 164, 92, .36);
  --text: #EFE4CC; --muted: #BDAE90; --faint: #8F8168;
  --accent: #D9B46A; --gold: #E6C47A;
  --c-bbg: #E6C47A; --c-mm: #92BFA7; --c-xing: #D8906C;
  --serif: 'Cormorant Garamond', 'Songti SC', 'STSong', 'Noto Serif SC', 'Source Han Serif SC', 'Source Han Serif', serif;
  --caps: 'Cinzel', var(--serif);
  --display: var(--serif);
  --col: 860px;
  --gold-rule: linear-gradient(90deg, transparent, rgba(217, 180, 106, .55) 18%, rgba(217, 180, 106, .55) 82%, transparent);
}
body { background: var(--bg); font-variant-numeric: lining-nums; }
/* 背景：横版插画铺满；中央压暗承载正文，两侧保留插画亮度 */
body::before { background: var(--bg) url("assets/bg-celestial-wide.webp") center / cover no-repeat; filter: saturate(1.08); }
body::after {
  background:
    linear-gradient(90deg, rgba(11, 9, 6, .10) 0%, rgba(11, 9, 6, .62) 24%, rgba(11, 9, 6, .80) 50%, rgba(11, 9, 6, .62) 76%, rgba(11, 9, 6, .10) 100%),
    linear-gradient(180deg, rgba(11, 9, 6, 0) 0%, rgba(11, 9, 6, .35) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.93 0 0 0 0 0.84 0 0 0 0 0.62 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection { background: rgba(217, 180, 106, .32); color: #FFF6E0; }

/* —— 页头 —— */
.site-header { background: linear-gradient(180deg, rgba(11, 9, 6, .92), rgba(11, 9, 6, .70)); border-bottom: 0; position: relative; }
.site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold-rule); }
.site-brand { font: 600 15px var(--serif); letter-spacing: .04em; }
.brand-mark { font: 600 17px var(--caps); color: var(--gold); border-color: var(--border-strong); border-radius: 50%; background: radial-gradient(circle, rgba(217, 180, 106, .14), transparent 70%); }
.site-nav a { color: var(--muted); font-size: 13.5px; letter-spacing: .06em; }
.site-nav a:hover { background: transparent; color: var(--gold); }
.site-nav a[aria-current="page"] { color: var(--gold); border-color: var(--gold); }

/* —— 快讯跑马灯：铭文带 —— */
.ticker { min-height: 38px; background: rgba(11, 9, 6, .78); border-bottom: 0; position: relative; }
.ticker::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold-rule); opacity: .6; }
.ticker-item { font-size: 13px; padding-right: 44px; }
.ticker-item::before { width: 5px; height: 5px; border-radius: 0; transform: rotate(45deg); background: var(--gold); opacity: .75; }
.ticker-time { color: var(--faint); font: 500 13px var(--serif); letter-spacing: .02em; }
.ticker-title { color: var(--muted); }
.ticker-toggle { border-left: 1px solid var(--border); color: var(--faint); }
.ticker-toggle:hover { background: transparent; color: var(--gold); }

/* —— 版心：单栏居中 —— */
.page-shell { max-width: calc(var(--col) + 2 * var(--page-pad)); }

/* —— 卷首 —— */
.epic-hero { padding: clamp(40px, 7vh, 72px) 0 clamp(26px, 4vh, 40px); text-align: center; }
.epic-eyebrow { display: inline-flex; align-items: center; gap: 14px; color: var(--gold); font: 500 12px var(--caps); letter-spacing: .32em; text-transform: uppercase; }
.epic-eyebrow span { margin-right: -.32em; } /* 抵消末字字距，保证居中 */
.epic-eyebrow i { font-style: normal; font-size: 10px; opacity: .8; }
.epic-eyebrow::before, .epic-eyebrow::after { content: ''; width: 46px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold)); }
.epic-eyebrow::after { transform: scaleX(-1); }
.epic-hero h1 { margin: 14px 0 0; font: 600 clamp(36px, 5.2vw, 56px)/1.15 var(--serif); letter-spacing: .14em; margin-right: -.14em;
  color: transparent; background: linear-gradient(180deg, #FFF1CF 0%, #E9C77E 48%, #B98C45 100%); -webkit-background-clip: text; background-clip: text;
  text-shadow: 0 0 40px rgba(230, 196, 122, .18); }
.epic-deck { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 26px; margin-top: 16px; color: var(--muted); font: 500 14px var(--serif); letter-spacing: .08em; }
.epic-deck span { display: inline-flex; align-items: center; gap: 9px; }
.epic-deck span::before { content: ''; flex: none; width: 6px; height: 6px; transform: rotate(45deg); background: var(--dc); }
.epic-deck .d-bbg { --dc: var(--c-bbg); } .epic-deck .d-mm { --dc: var(--c-mm); } .epic-deck .d-xing { --dc: var(--c-xing); }

/* —— 撤销旧版左侧栏网格 —— */
#video-view { display: block !important; padding-top: 0 !important; }

/* —— 工具栏：吸顶的筛选 + 搜索 —— */
.tl-toolbar, .brief-navigation.tl-toolbar {
  position: sticky; top: 0; z-index: 4; display: flex !important; flex-direction: row !important; align-items: center !important; flex-wrap: nowrap;
  gap: 12px 20px !important; margin: 0 !important; padding: 10px 0 !important; border-bottom: 0 !important;
  background: rgba(11, 9, 6, .86); backdrop-filter: blur(10px) saturate(1.1); -webkit-backdrop-filter: blur(10px) saturate(1.1);
}
.tl-toolbar::before, .tl-toolbar::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: var(--gold-rule); opacity: .55; }
.tl-toolbar::before { top: 0; } .tl-toolbar::after { bottom: 0; }
.tl-filters { flex-direction: row !important; flex-wrap: nowrap !important; gap: 2px !important; flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; }
.tl-filters::-webkit-scrollbar { display: none; }
.tl-chip { flex: none; width: auto !important; min-height: 38px; gap: 7px; padding: 0 12px !important; border: 0; border-radius: 0 !important; background: transparent; color: var(--muted); font: 500 14px var(--serif); letter-spacing: .04em; position: relative; }
.tl-chip::before { width: 6px; height: 6px; border-radius: 0; transform: rotate(45deg); }
.tl-chip small { margin-left: 0 !important; color: var(--faint); font: 500 13px var(--serif); }
.tl-chip::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transition: transform 200ms ease; }
.tl-chip:hover { color: var(--text); background: transparent; }
.tl-chip[aria-pressed="true"] { color: var(--gold); background: transparent; }
.tl-chip[aria-pressed="true"]::after { transform: scaleX(1); }
.tl-chip-mm[aria-pressed="true"] { color: var(--c-mm); } .tl-chip-xing[aria-pressed="true"] { color: var(--c-xing); }
.tl-toolbar .brief-search { order: 0 !important; flex: 0 0 210px !important; width: 210px !important; margin: 0 !important; min-height: 36px; border: 1px solid var(--border); border-radius: 2px; background: rgba(11, 9, 6, .5); }
.tl-toolbar .brief-search:focus-within { border-color: var(--gold); }
.search-control > span:first-child { color: var(--gold); opacity: .8; }
.search-control input { font-size: 13px; }
.tl-toolbar .result-count { order: 1; flex: none; margin: 0 !important; color: var(--faint); font: 500 13px var(--serif); }
.tl-toolbar .result-count:empty { display: none; }

/* —— 时间线：日期铭文 + 单列卡片 —— */
.timeline { padding: 6px 0 64px !important; }
.tl-day { display: block; padding: 0 0 8px; }
.tl-day::before { display: none; }
.tl-date { position: static; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 12px; margin: 30px 0 18px; padding: 0; text-align: center;
  font: 600 20px/1.3 var(--serif); letter-spacing: .1em; color: var(--text); }
.tl-date::before, .tl-date::after { content: ''; position: static; flex: 1 1 0; width: auto; height: 1px; border: 0; border-radius: 0; background: linear-gradient(90deg, transparent, var(--border-strong)); }
.tl-date::after { background: linear-gradient(90deg, var(--border-strong), transparent); }
.tl-date time { display: inline-flex; align-items: center; gap: 12px; }
.tl-date time::before { content: '✦'; font-size: 11px; color: var(--gold); opacity: .85; }
.tl-date small { color: var(--faint); font: 500 14px var(--serif); letter-spacing: .2em; }
.tl-date small::after { content: '✦'; margin-left: 12px; font-size: 11px; color: var(--gold); opacity: .85; letter-spacing: 0; }
.tl-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0; }

.tl-card { position: relative; gap: 10px; padding: 22px 28px 18px; border: 1px solid var(--border); border-left: 1px solid var(--border); border-radius: 2px;
  background: linear-gradient(180deg, rgba(30, 23, 13, .78), rgba(16, 12, 7, .84)); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  outline: 1px solid rgba(217, 180, 106, .07); outline-offset: -6px; box-shadow: 0 18px 40px -24px rgba(0, 0, 0, .9);
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.tl-card::before { content: ''; position: absolute; left: 22px; right: 22px; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--c), transparent); opacity: .85; }
.tl-card:hover { border-color: color-mix(in srgb, var(--c) 40%, transparent); border-left-color: color-mix(in srgb, var(--c) 40%, transparent); background: linear-gradient(180deg, rgba(34, 26, 14, .86), rgba(18, 13, 8, .9));
  box-shadow: 0 22px 46px -22px rgba(0, 0, 0, .95), 0 0 0 1px rgba(217, 180, 106, .04); }
.tl-top { gap: 4px 10px; font-size: 12px; }
.tl-src { display: inline-flex; align-items: center; gap: 7px; color: var(--c); font: 600 13px var(--serif); letter-spacing: .12em; }
.tl-src::before { content: ''; width: 6px; height: 6px; transform: rotate(45deg); background: var(--c); }
.tl-badge { padding: 0 6px; border-radius: 1px; font-size: 11px; line-height: 1.6; letter-spacing: .06em; }
.tl-time, .tl-meta { color: var(--faint); font: 500 14px var(--serif); letter-spacing: .03em; }
.tl-meta::before { content: '·'; margin-right: 8px; opacity: .6; }
.tl-time + .tl-meta::before { content: '·'; }
.tl-top > .tl-meta:not(.tl-time + .tl-meta) { margin-left: auto; }
.tl-top > .tl-meta:not(.tl-time + .tl-meta)::before { content: none; }
.tl-title { font: 600 21px/1.5 var(--serif); letter-spacing: .02em; color: #F6ECD6; }
.tl-title a, .tl-title-btn { background-image: linear-gradient(var(--c), var(--c)); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 260ms ease, color 200ms ease; }
.tl-title a:hover, .tl-title-btn:hover { color: var(--c); background-size: 100% 1px; }
.tl-sum { color: var(--muted); font-size: 14px; line-height: 1.9; -webkit-line-clamp: 3; }
.tl-points { gap: 6px; padding: 12px 0 2px; border-top: 1px solid var(--border); }
.tl-points li { padding-left: 18px; color: var(--muted); font-size: 13.5px; line-height: 1.8; }
.tl-points li::before { left: 2px; top: 10px; width: 5px; height: 5px; transform: rotate(45deg); background: transparent; border: 1px solid var(--c); opacity: .9; }
.tl-foot { gap: 6px 14px; padding-top: 8px; }
.tl-tag { color: var(--faint); font: 500 14px var(--serif); letter-spacing: .04em; }
.tl-tag::before { content: '#'; color: var(--c); opacity: .6; }
.tl-btn { padding: 5px 16px; border: 1px solid color-mix(in srgb, var(--c) 70%, transparent); border-radius: 1px; color: var(--c); font: 600 13.5px var(--serif); letter-spacing: .08em; }
.tl-btn:hover { background: color-mix(in srgb, var(--c) 14%, transparent); color: #FFF3D8; }
.tl-ext { color: var(--faint); font: 500 13.5px var(--serif); letter-spacing: .04em; }
.tl-note { border-color: var(--border-strong); background: rgba(11, 9, 6, .6); }
.state-panel h3 { font: 600 22px var(--serif); letter-spacing: .1em; color: var(--gold); }
.tl-more-wrap { padding-top: 28px; }
.tl-more { min-height: 42px; padding: 0 30px; border: 1px solid var(--border-strong); border-radius: 1px; background: rgba(11, 9, 6, .6); color: var(--gold); font: 600 14px var(--serif); letter-spacing: .14em; }
.tl-more:hover { border-color: var(--gold); background: rgba(217, 180, 106, .1); color: #FFF3D8; }

/* —— 页脚 —— */
.page-footer { position: relative; justify-content: center; flex-wrap: wrap; gap: 6px 28px; padding: 22px var(--page-pad) 28px; border-top: 0; background: rgba(11, 9, 6, .82);
  color: var(--faint); font: 500 13px var(--serif); letter-spacing: .05em; text-align: center; }
.page-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--gold-rule); opacity: .6; }

/* —— 纪要 / 采访稿弹窗 —— */
.mm-dialog { border: 1px solid var(--border-strong); border-radius: 2px; background: linear-gradient(180deg, #1C150C, #120D07); outline: 1px solid rgba(217, 180, 106, .08); outline-offset: -7px; box-shadow: 0 30px 90px rgba(0, 0, 0, .75); }
.mm-dialog::backdrop { background: rgba(6, 4, 2, .78); backdrop-filter: blur(3px); }
.mm-dlg-head, .mm-dlg-foot { border-color: var(--border); }
.mm-dlg-kicker { font: 600 13px var(--serif); letter-spacing: .16em; color: var(--gold); }
.mm-dlg-title { font: 600 23px/1.45 var(--serif); letter-spacing: .03em; color: #F6ECD6; }
.mm-dlg-meta { font-size: 12.5px; }
.mm-dlg-close { border-color: var(--border); border-radius: 50%; color: var(--muted); }
.mm-dlg-close:hover { color: var(--gold); border-color: var(--gold); }
.mm-lede { border-left: 2px solid var(--gold); background: rgba(217, 180, 106, .06); }
.mm-sec-h { display: flex; align-items: center; gap: 10px; font: 600 18px var(--serif); letter-spacing: .06em; color: var(--gold); }
.mm-sec-h::before { content: ''; flex: none; width: 6px; height: 6px; transform: rotate(45deg); border: 1px solid var(--gold); }
.mm-who { border-radius: 1px; }
.mm-dlg-link { color: var(--gold); font: 600 13.5px var(--serif); letter-spacing: .06em; }

/* —— 响应式 —— */
@media (max-width: 1000px) {
  .site-header { background: rgba(11, 9, 6, .9); }
}
@media (max-width: 740px) {
  body::before { background-position: 30% center; }
  body::after { background:
    linear-gradient(180deg, rgba(11, 9, 6, .55) 0%, rgba(11, 9, 6, .80) 40%, rgba(11, 9, 6, .86) 100%); }
  .epic-hero { padding: 30px 0 22px; }
  .epic-eyebrow { gap: 10px; font-size: 11px; letter-spacing: .24em; }
  .epic-eyebrow::before, .epic-eyebrow::after { width: 26px; }
  .epic-hero h1 { letter-spacing: .1em; margin-right: -.1em; }
  .epic-deck { flex-direction: column; align-items: center; gap: 4px; font-size: 13px; }
  .tl-toolbar, .brief-navigation.tl-toolbar { flex-direction: column !important; align-items: stretch !important; gap: 6px !important; padding: 8px 0 !important; }
  .tl-chip { padding: 0 10px !important; font-size: 13.5px; }
  .tl-chip:first-child { padding-left: 2px !important; }
  .tl-toolbar .brief-search { order: 2 !important; flex: none !important; width: 100% !important; }
  .tl-date { margin: 24px 0 14px; font-size: 18px; gap: 10px; }
  .tl-card { padding: 18px 18px 15px; outline-offset: -5px; }
  .tl-card::before { left: 14px; right: 14px; }
  .tl-title { font-size: 19px; }
  .tl-acts { width: 100%; margin-left: 0; justify-content: space-between; }
  .page-footer { flex-direction: column; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .tl-card, .tl-title a, .tl-title-btn, .tl-chip::after { transition: none; }
}

/* ===== 2026-11-10b：「全部」在电脑版按天分隔、每天内排成三列紧凑卡片；单个分类保持整栏单列 ===== */
@media (min-width: 741px) {
  .page-shell:has(.tl-list[data-filter="all"]) { --col: 1240px; }
  .tl-list[data-filter="all"] .tl-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .tl-list[data-filter="all"] .tl-card { gap: 8px; padding: 16px 18px 14px; outline-offset: -5px; }
  .tl-list[data-filter="all"] .tl-card::before { left: 16px; right: 16px; }
  .tl-list[data-filter="all"] .tl-top { font-size: 11px; gap: 3px 8px; }
  .tl-list[data-filter="all"] .tl-src { font-size: 12.5px; letter-spacing: .08em; }
  .tl-list[data-filter="all"] .tl-time, .tl-list[data-filter="all"] .tl-meta { font-size: 13px; }
  .tl-list[data-filter="all"] .tl-title { font-size: 17px; line-height: 1.5; letter-spacing: .01em; }
  .tl-list[data-filter="all"] .tl-sum { font-size: 13px; line-height: 1.8; }
  .tl-list[data-filter="all"] .tl-points { gap: 4px; padding-top: 10px; }
  .tl-list[data-filter="all"] .tl-points li { font-size: 12.5px; line-height: 1.7; padding-left: 15px; }
  .tl-list[data-filter="all"] .tl-points li::before { top: 9px; width: 4px; height: 4px; }
  .tl-list[data-filter="all"] .tl-points li:nth-child(n+3) { display: none; }
  .tl-list[data-filter="all"] .tl-foot { gap: 6px 10px; padding-top: 6px; }
  .tl-list[data-filter="all"] .tl-tag { font-size: 13px; }
  .tl-list[data-filter="all"] .tl-btn { padding: 3px 12px; font-size: 12.5px; }
  .tl-list[data-filter="all"] .tl-ext { font-size: 12.5px; }
}
@media (min-width: 1100px) {
  .tl-list[data-filter="all"] .tl-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ===== 2026-11-10d：去掉筛选/搜索工具栏，卷首小标题直接作为分类链接（「全部」+ 三条信息线） ===== */
.epic-hero .tl-filters { display: flex; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center; gap: 4px 14px !important; margin-top: 14px; overflow: visible; }
.epic-hero .tl-chip { min-height: 40px; gap: 9px; padding: 0 8px !important; color: var(--muted); font: 500 15px var(--serif); letter-spacing: .08em; }
.epic-hero .tl-chip small { display: none; }
.epic-hero .tl-chip::before { width: 6px; height: 6px; }
.epic-hero .tl-chip::after { left: 8px; right: 8px; bottom: 4px; }
.epic-hero .tl-chip:hover { color: var(--text); }
.epic-hero .tl-chip[aria-pressed="true"] { color: var(--gold); }
.epic-hero .tl-chip-mm[aria-pressed="true"] { color: var(--c-mm); }
.epic-hero .tl-chip-xing[aria-pressed="true"] { color: var(--c-xing); }
.timeline { padding-top: 0 !important; }
@media (max-width: 740px) {
  .epic-hero .tl-filters { gap: 0 6px !important; }
  .epic-hero .tl-chip { min-height: 38px; font-size: 14px; letter-spacing: .04em; }
  .epic-hero .tl-chip:first-child { padding-left: 8px !important; }
}

/* ===== 2026-11-10e：去掉「全部」小标题，点击主标题「市场纪事」回到全部 ===== */
.epic-hero .tl-chip:not([class*="tl-chip-"]) { display: none; }
.epic-title-btn { padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.epic-title-btn:focus-visible { outline-offset: 8px; }
.epic-hero h1:has(.epic-title-btn:hover) { filter: brightness(1.18); }
.epic-hero h1 { transition: filter 200ms ease; }

/* ===== 2026-11-10g：弹窗文章模式（Bloomberg 深度解读）——分节时间段与正文段落 ===== */
.mm-sec-t { margin: -6px 0 10px; color: var(--faint); font: 500 13.5px var(--serif); letter-spacing: .04em; }
.mm-para { margin: 0 0 12px; color: var(--text); }

/* ===== 2026-11-10s：改用全站宋韵徽墨主题（song-theme.css 提供底图、朱印、回纹、祥云、角花变量） ===== */
.site-header::after { height: 8px; bottom: -4px; background: var(--song-fret) left center / 16px 8px repeat-x; opacity: .55; }
.tl-date time::before, .tl-date small::after { content: ''; display: inline-block; width: 28px; height: 16px; font-size: 0; opacity: .85;
  background: var(--song-cloud) center / contain no-repeat; vertical-align: -2px; }
.tl-date small::after { transform: scaleX(-1); }
.tl-card { background: var(--song-corners), linear-gradient(180deg, rgba(30, 23, 12, .82), rgba(16, 12, 7, .86)); }
.tl-card:hover { background: var(--song-corners), linear-gradient(180deg, rgba(36, 27, 14, .88), rgba(18, 13, 8, .9)); }
.mm-dialog { background: var(--song-corners), linear-gradient(180deg, #1C150C, #120D07); }
.epic-hero h1 { font-family: 'Songti SC', 'STSong', 'Noto Serif SC', var(--serif); }
