/* ═══════════════════════════════════════════════════════════
   美线物流情报站 · site-extra.css
   在插件 theme.css 之上的最小增量：
   1) 中文字体栈（中文无 ET Book 字形，显式声明宋体系衬线）
   2) 中文无真斜体 —— .dek / .q-text 的 italic 改回 normal
   3) 新闻条目卡片 / 封面标注 / 条目配图 等本站专属组件
   4) Notion 语言融合层（2026-08-23）：暖灰中性色阶 + 软面标签
      + callout 块 + 整行 hover + 属性行元数据
   ═══════════════════════════════════════════════════════════ */

:root {
  --serif: "et-book", "Songti SC", "Noto Serif SC", "STSong", "SimSun", Georgia, serif;
  --sans: "et-book", "Songti SC", "Noto Serif SC", "STSong", "SimSun", Georgia, serif;
  --cjk-fallback: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  /* Notion 暖灰中性色阶（正文/UI），墨色保留给标题与研究骨架 */
  --nl-text: #37352f;
  --nl-secondary: #787774;
  --nl-tertiary: #9f9e9b;
  --nl-border: #e9e9e7;
  --nl-hover: #f7f6f3;
  --nl-callout: #f7f6f3;
  --nl-callout-blue: #f0f4ff;
  --nl-callout-green: #eef7f3;
  --nl-ui: "Inter", "-apple-system", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

/* 中文强调不用机械斜体：以字重与颜色表意 */
.dek { font-style: normal; font-weight: 400; }
.dek strong, .dek b { font-weight: 700; }
.quote-card .q-text { font-style: normal; }

/* 混排：标题保留衬线研究感，正文与 UI 走 Notion 式无衬线 */
body {
  font-family: var(--nl-ui);
  font-size: 16px;
  color: var(--nl-text);
}
h1, h2, h3, .cover-title, .cover-sub, .chart-title, .news-item .n-title, .term-mag .t-abbr {
  font-family: var(--serif);
}
code, .mono { font-family: var(--mono); }

/* 正文段落与次级文字落到暖灰阶 */
.prose p, .news-item .n-body { color: var(--nl-text); }
.muted, .chart-sub, .chart-src { color: var(--nl-secondary); }

/* ── Notion 软面标签（替代表框式徽章） ── */
.src-cat {
  border: 0; border-radius: 3px; padding: 1px 6px;
  background: var(--nl-callout); color: var(--nl-secondary);
  font-weight: 400;
}
.src-cat.company { background: var(--nl-callout-green); color: var(--green); border: 0; }
.src-cat.industry { background: var(--nl-callout-blue); color: var(--blue); border: 0; }
.src-cat.broker { background: #fbf3e8; color: var(--copper); border: 0; }
.src-cat.kimi { background: #f4f0fb; color: #6b4fbb; border: 0; }

/* ── 新闻条目（Notion 页面行：无边框卡片，整行 hover 泛暖灰） ── */
.news-list { margin-top: 8px; }
.news-item {
  padding: 18px 12px 16px;
  margin: 0 -12px;
  border-bottom: 1px solid var(--nl-border);
  border-radius: 4px;
  transition: background .12s ease;
}
.news-item:hover { background: var(--nl-hover); }
.news-item:first-child { border-top: 1px solid var(--nl-border); }
.news-item .n-kicker {
  font-family: var(--nl-ui); font-size: 12px; letter-spacing: .02em;
  color: var(--nl-tertiary); text-transform: none;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 6px;
}
.news-item .n-kicker .n-date {
  color: var(--nl-secondary); font-weight: 500;
  font-family: var(--mono); font-size: 11px;
  background: var(--nl-callout); border-radius: 3px; padding: 1px 6px;
}
.news-item .n-title {
  font-size: 20px; font-weight: 700; line-height: 1.42;
  letter-spacing: -0.005em; margin-bottom: 8px;
  color: var(--ink);
}
.news-item .n-body { font-size: 14.5px; line-height: 1.78; }
.news-item .n-body p { margin-bottom: 8px; }
.news-item .n-body p:last-child { margin-bottom: 0; }
.news-item .n-lab {
  font-family: var(--nl-ui); font-size: 11px; font-weight: 600;
  letter-spacing: .02em; text-transform: none;
  color: var(--nl-tertiary); margin-right: 8px;
  display: inline-block; min-width: 58px;
}
.news-item .n-lab.impact { color: var(--red); }
.news-item .n-lab.sales { color: var(--green); }
.news-item .n-lab.peer { color: var(--copper); }
.news-item .n-img {
  margin: 12px 0 4px; border: 1px solid var(--nl-border); border-radius: 6px;
  overflow: hidden; background: var(--nl-hover);
}
.news-item .n-img img { display: block; width: 100%; height: auto; }
.news-item .n-img .n-cap {
  font-family: var(--mono); font-size: 9.5px; color: var(--nl-tertiary);
  padding: 6px 10px; border-top: 1px solid var(--nl-border);
}

/* ── 速览散文中的关键数字（可钻取） ── */
.fig {
  font-family: var(--mono); font-weight: 700; color: var(--red);
  cursor: pointer; border-bottom: 1px dashed var(--red);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.fig:hover { color: var(--red-hi); border-bottom-style: solid; }

/* ── 封面右侧标注列（由 cover-ship.js 绘制，此处仅兜底隐藏规则） ── */
@media (max-width: 900px) {
  .cover-inner { padding-top: 9vh; }
}

/* ── Notion callout：综合分析双栏 ── */
.analysis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 6px 0 4px; }
.nl-callout {
  display: flex; gap: 12px; align-items: flex-start;
  border-radius: 6px; padding: 16px 18px 14px;
  background: var(--nl-callout);
}
.nl-callout.blue { background: var(--nl-callout-blue); }
.nl-callout.green { background: var(--nl-callout-green); }
.nl-callout .nl-ico {
  flex: 0 0 22px; margin-top: 2px;
  display: flex; align-items: center; justify-content: center;
}
.nl-callout .nl-ico svg { display: block; }
.nl-callout h4 {
  font-family: var(--nl-ui); font-size: 12px; font-weight: 600;
  letter-spacing: .04em; text-transform: none;
  color: var(--nl-text); margin: 0 0 8px; padding-bottom: 0;
  border-bottom: 0;
}
.nl-callout ul { list-style: none; }
.nl-callout li {
  font-size: 13.5px; color: var(--nl-text); line-height: 1.75;
  padding: 7px 0 7px 14px; position: relative;
  border-bottom: 1px solid rgba(55,53,47,.06);
}
.nl-callout li::before {
  content: ""; position: absolute; left: 0; top: 15px;
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--nl-tertiary);
}
.nl-callout.blue li::before { background: var(--red); }
.nl-callout.green li::before { background: var(--green); }
.nl-callout li:last-child { border-bottom: 0; }
@media (max-width: 760px) { .analysis-grid { grid-template-columns: 1fr; } }

/* note-box 软化：编辑器式说明块 */
.note-box {
  border-top: 1px solid var(--nl-border);
  border-bottom: 1px solid var(--nl-border);
  color: var(--nl-secondary);
}
.note-box b, .note-box strong { color: var(--nl-text); }

/* ── 板块内日期分组小标（Notion 分组标题式） ── */
.day-group {
  font-family: var(--nl-ui); font-size: 12px; font-weight: 600;
  letter-spacing: .04em; color: var(--nl-secondary); text-transform: none;
  margin: 30px 0 4px; display: flex; align-items: center; gap: 10px;
}
.day-group::after { content: ""; flex: 1; height: 1px; background: var(--nl-border); }

/* ── FIST Elite 表（Notion database 式：去重线、行 hover） ── */
#elite-table .dt td .e-name { font-weight: 700; }
#elite-table .dt td .e-note { font-size: 12px; color: var(--nl-secondary); }
table.dt th {
  border-bottom: 1px solid var(--nl-border);
  color: var(--nl-secondary);
  font-family: var(--nl-ui); font-size: 11px; font-weight: 600;
  letter-spacing: .04em; text-transform: none;
}
table.dt td { border-bottom: 1px solid var(--nl-border); }
table.dt tr:hover td { background: var(--nl-hover); }
table.dt tr.hl td { background: var(--nl-callout-blue); }

/* ── 来源登记表软线 ── */
.src-row { border-bottom: 1px solid var(--nl-border); }
.src-row .s-fact { color: var(--nl-text); }
.src-row .s-cite { color: var(--nl-secondary); }

/* ── 来源与方法：通栏展开（页尾不再为右栏让位，右栏淡化防重叠） ── */
footer#sec-sources { margin-right: 0; }
footer#sec-sources .wide.xl { max-width: 1240px; }
#source-list { grid-template-columns: repeat(3, 1fr); column-gap: 36px; }
@media (max-width: 1100px) { #source-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { #source-list { grid-template-columns: 1fr; } }
#dash-rail.dim { opacity: .14 !important; transition: opacity .4s ease; }
#dash-rail.dim canvas { pointer-events: none; }

/* ── 空态 ── */
.empty-note {
  font-family: var(--mono); font-size: 12px; color: var(--nl-secondary);
  border: 1px dashed var(--nl-border); border-radius: 6px;
  padding: 14px 16px; margin-top: 16px; line-height: 1.8;
  background: var(--nl-hover);
}

/* ── 入场揭示（main.js 驱动，reduced-motion 下不生效） ── */
[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ── ?snap 整页截图调试模式 ── */
body.snap { scroll-behavior: auto; }
body.snap #cover { min-height: 940px; height: 940px; }
body.snap .cover-inner { padding-top: 48px; }
body.snap .scroll-hint { display: none; }
body.snap [data-reveal] { opacity: 1 !important; transform: none !important; transition: none; }
body.snap #dash-rail { display: none; }
body.snap main, body.snap footer#sec-sources { margin-right: 0; }

/* ── 移动端适配（≤760px 手机阅读） ── */
@media (max-width: 760px) {
  /* 数据表（Elite 名单 / 航线 / FBA 仓群）列多必超宽：
     表格在容器内横向滑动，不再把整页撑出横向滚动条 */
  #elite-table, #lanes-table, #fba-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  #elite-table .dt, #lanes-table .dt, #fba-table .dt { min-width: 620px; }

  /* 封面：船体插画退为浅色背景，文字优先可读 */
  #cover-canvas, #cover-canvas-w { opacity: .18; }
  .cover-inner { padding: 13vh 20px 48px; }
  .cover-kicker { letter-spacing: .18em; font-size: 10.5px; margin-bottom: 18px; }
  .cover-title { font-size: clamp(40px, 12.5vw, 56px); }
  .cover-sub { font-size: 17px; margin: 16px 0 20px; }
  .cover-lede { font-size: 15px; }
  .cover-chips { gap: 8px; margin: 24px 0 20px; }
  .chip { font-size: 13px; padding: 7px 14px; }
  .cover-anchor { font-size: 11.5px; }
  .cover-mode { flex-wrap: wrap; }
  .scroll-hint { display: none; }

  /* 正文节奏收紧 */
  .band { padding: 52px 0 46px; }
  .prose { padding: 0 20px; }
  .wide { padding: 0 20px; margin: 26px auto; }
  h2 { margin-bottom: 16px; }
  .news-item .n-title { font-size: 18px; }
  .news-item .n-lab { min-width: 0; margin-right: 4px; }

  /* 钻取卡不超出屏幕 */
  #drill-card { max-width: calc(100vw - 24px); min-width: 0; }

  /* 图表高度略降，长图在手机上少占屏 */
  #scfi-chart canvas, #ncfi-chart canvas { height: 240px !important; }
}
