/* WildMove 正文层样式：事实表、来源注、日历页入口。
 *
 * 这些元素是许可证内容的差异化所在——读者来这里就是为了扫读日期和费用。
 * 主题没有对应样式，不写就是无边框、标签悬空的一片散字。
 */

.wm-fact-table,
.wm-source-note,
.wm-cal-link {
  --wm-ink: #1f2937;
  --wm-soft: #4b5563;
  --wm-faint: #6b7280;
  --wm-line: #e2e8e2;
  --wm-line-soft: #eef2ee;
  --wm-surface: #f7faf7;
  --wm-accent: #2d6a4f;
}

/* ---- 事实表 ---- */

.wm-fact-table {
  margin: 1.75rem 0;
  /* 表格比正文宽一点：数值列不换行更好扫读 */
  overflow-x: auto;
  border: 1px solid var(--wm-line);
  border-radius: 6px;
  background: #fff;
}

.wm-fact-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.55;
  /* 数字对齐，读日期和费用时一眼能比 */
  font-variant-numeric: tabular-nums;
}

.wm-fact-table caption {
  caption-side: top;
  text-align: left;
  padding: 0.85rem 1.1rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wm-accent);
  background: var(--wm-surface);
  border-bottom: 1px solid var(--wm-line);
}

.wm-fact-table th,
.wm-fact-table td {
  padding: 0.7rem 1.1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--wm-line-soft);
}

.wm-fact-table tr:last-child th,
.wm-fact-table tr:last-child td {
  border-bottom: none;
}

/* 标签列：靠左、窄、次要色 —— 右对齐会让标签和值之间出现一道空沟 */
.wm-fact-table th[scope="row"] {
  width: 34%;
  min-width: 9rem;
  font-weight: 600;
  color: var(--wm-soft);
  background: var(--wm-surface);
}

.wm-fact-table thead th {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wm-faint);
  background: var(--wm-surface);
  border-bottom: 1px solid var(--wm-line);
  white-space: nowrap;
}

.wm-fact-table td { color: var(--wm-ink); }

.wm-fact-table tbody tr:hover th[scope="row"],
.wm-fact-table tbody tr:hover td { background: #fbfdfb; }

/* ---- 核对来源注 ---- */

.wm-source-note {
  margin: 1.25rem 0 1.5rem;
  padding: 0.7rem 0.95rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--wm-soft);
  background: var(--wm-surface);
  border-left: 3px solid var(--wm-accent);
  border-radius: 0 4px 4px 0;
}
.wm-source-note strong { color: var(--wm-ink); }

/* ---- 日历页入口 ---- */

.wm-cal-link {
  margin: 1.25rem 0 1.75rem;
  padding: 0.85rem 1rem;
  font-size: 0.94rem;
  line-height: 1.6;
  border: 1px solid var(--wm-line);
  border-radius: 6px;
  background: #fff;
}
.wm-cal-link a {
  font-weight: 600;
  color: var(--wm-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 640px) {
  .wm-fact-table table { font-size: 0.9rem; }
  .wm-fact-table th,
  .wm-fact-table td { padding: 0.6rem 0.8rem; }
  /* 窄屏下标签列不再压缩到没法读，改为最小宽度后横向滚动 */
  .wm-fact-table th[scope="row"] { width: auto; min-width: 8rem; }
}

@media (prefers-color-scheme: dark) {
  .wm-fact-table,
  .wm-source-note,
  .wm-cal-link {
    --wm-ink: #e5e7eb;
    --wm-soft: #b6bfb8;
    --wm-faint: #8b958d;
    --wm-line: #33403a;
    --wm-line-soft: #29352f;
    --wm-surface: #1b2320;
    --wm-accent: #7fb08c;
  }
  .wm-fact-table,
  .wm-cal-link { background: #141a17; }
  .wm-fact-table tbody tr:hover th[scope="row"],
  .wm-fact-table tbody tr:hover td { background: #1b2320; }
}

/* ==================================================== 单篇文章的阅读体验 ==
 *
 * 实测原始状态：每行 108 个字符、16px/1.5、首图 731px 高。
 * 108 字符是排版上公认的"读到行尾找不回下一行开头"区间（舒适区 60–75），
 * 而这三条同时作用在全部 84 篇文章上，是站内最大的一处阅读损耗。
 */

/* 只约束文字级元素，不约束表格和图片。
   许可证数据表恰恰需要宽度——把整个 .entry-content 收窄会把表格一起挤瘦，
   那是用一个问题换另一个问题。这就是经典的"窄正文 + 宽breakout"版式。 */
.single .entry-content > p,
.single .entry-content > ul,
.single .entry-content > ol,
.single .entry-content > h2,
.single .entry-content > h3,
.single .entry-content > h4,
.single .entry-content > blockquote {
  max-width: 68ch;
}

.single .entry-content > p,
.single .entry-content > ul,
.single .entry-content > ol,
.single .entry-content > blockquote {
  font-size: 1.06rem;
  line-height: 1.72;
  color: #374151;
}

.single .entry-content > h2 {
  margin-top: 2.6rem;
  margin-bottom: 0.85rem;
  font-size: 1.55rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.single .entry-content > h3 {
  margin-top: 1.9rem;
  margin-bottom: 0.6rem;
  font-size: 1.2rem;
  line-height: 1.35;
}

.single .entry-content > ul,
.single .entry-content > ol {
  padding-left: 1.3rem;
}

.single .entry-content > ul li,
.single .entry-content > ol li {
  margin-bottom: 0.5rem;
}

/* 首图 731px 高，等于整个首屏看不到一个字。文章的第一屏应该是文章，
   不是一张风景照。压到 380px 并用 object-fit 保持不变形。 */
.single .wm-featured-hero img,
.single .wm-hero-image img,
.single .entry-content > figure:first-of-type img {
  max-height: 380px;
  object-fit: cover;
  width: 100%;
}

/* 主题在文章顶部渲染 "Posted on <日期> by WildMove Team"，带一个 4% 黑底的
   灰色药丸；而我们自己的互动条就在首图下面显示 "Updated Aug 9, 2026"，
   文末的作者框也已经写了作者和更新日期。同一屏里两个互相打架的日期
   （一个 7/28 一个 8/9）比没有日期更伤信任。留我们那一个。 */
.single .entry-header .entry-meta {
  display: none !important;
}

@media (max-width: 640px) {
  .single .entry-content > p,
  .single .entry-content > ul,
  .single .entry-content > ol,
  .single .entry-content > blockquote {
    font-size: 1.02rem;
    line-height: 1.68;
  }

  .single .wm-featured-hero img,
  .single .wm-hero-image img,
  .single .entry-content > figure:first-of-type img {
    max-height: 240px;
  }
}
