/* ==========================================================================
 * 主题全局 · 暖纸设计系统（与「食物集 · FODMAP」同款配色）
 * --------------------------------------------------------------------------
 * 设计语言：暖纸感配色、克制留白、生活感
 * 接入方式：可选组件类（.fc-*），不影响现有页面，博客/页面按需调用
 * 依赖：fodmap-style（主样式）+ 主题暗色模式 html.dark-theme
 * ========================================================================== */

/* ---------- 全局暖纸设计令牌 ---------- */
:root {
  --fc-paper: #f5f0e8;
  --fc-card: #fffdfa;
  --fc-ink: #29251f;
  --fc-muted: #746d63;
  --fc-line: #ded5c8;

  --fc-plum: #4d3045;
  --fc-plum-soft: #e8dfe5;
  --fc-terra: #b65f42;
  --fc-terra-soft: #f3dfd6;
  --fc-sage: #627a67;
  --fc-sage-soft: #dfe8df;
  --fc-sand: #a57c45;
  --fc-sand-soft: #f6ead6;
  --fc-red: #b44d43;
  --fc-red-soft: #f6dcd8;
  --fc-green: #477358;
  --fc-green-soft: #dde9e1;

  --fc-shadow: 0 16px 40px rgba(63, 48, 36, .07);
  --fc-radius: 22px;
  --fc-radius-sm: 14px;
  --fc-gap: 18px;
}

/* 暗色模式下，暖纸令牌自动翻转，组件仍可用、不刺眼 */
html.dark-theme {
  --fc-paper: #1f1b16;
  --fc-card: #2a241d;
  --fc-ink: #f1e9dd;
  --fc-muted: #a99f8f;
  --fc-line: #463d32;

  --fc-plum: #c8a7bf;
  --fc-plum-soft: #34282f;
  --fc-terra: #e08e6f;
  --fc-terra-soft: #3a261f;
  --fc-sage: #9cbaa6;
  --fc-sage-soft: #28332c;
  --fc-sand: #d6ac73;
  --fc-sand-soft: #342a1d;
  --fc-red: #e08b82;
  --fc-red-soft: #382521;
  --fc-green: #8fc1a3;
  --fc-green-soft: #283a30;

  --fc-shadow: 0 16px 40px rgba(0, 0, 0, .35);
}

/* ==========================================================================
 * 可选组件
 * ========================================================================== */

/* ---------- 卡片 / 面板 ---------- */
.fc-card {
  background: var(--fc-card);
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 22px;
  color: var(--fc-ink);
}
.fc-card--pad-lg { padding: 28px; }
.fc-card--flush { padding: 0; overflow: hidden; }

.fc-panel {
  background: var(--fc-card);
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  overflow: hidden;
}
.fc-panel__head {
  padding: 18px 22px;
  border-bottom: 1px solid var(--fc-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.fc-panel__title { margin: 0; font-size: 16px; font-weight: 700; color: var(--fc-ink); }
.fc-panel__body { padding: 22px; }

/* ---------- 小标题 / 眉标 / 分隔 ---------- */
.fc-eyebrow {
  display: inline-block;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--fc-muted);
}
.fc-section-title {
  margin: 0 0 14px;
  font-family: "Songti SC", "SimSun", Georgia, serif;
  font-size: 27px;
  line-height: 1.28;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--fc-ink);
}

.fc-divider {
  border: 0;
  height: 1px;
  background: var(--fc-line);
  margin: 28px 0;
}
.fc-divider--label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 28px 0;
  color: var(--fc-muted);
  font-size: 13px;
}
.fc-divider--label::before,
.fc-divider--label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--fc-line);
}

/* ---------- 标签 / 徽标 ---------- */
.fc-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.6;
  background: var(--fc-plum-soft);
  color: var(--fc-plum);
}
.fc-tag--low   { background: var(--fc-green-soft); color: var(--fc-green); }
.fc-tag--medium{ background: var(--fc-sand-soft);  color: var(--fc-sand); }
.fc-tag--high  { background: var(--fc-red-soft);   color: var(--fc-red); }
.fc-tag--terra { background: var(--fc-terra-soft); color: var(--fc-terra); }
.fc-tag--sage  { background: var(--fc-sage-soft);  color: var(--fc-sage); }
.fc-tag--plum  { background: var(--fc-plum-soft);  color: var(--fc-plum); }

/* ---------- 按钮 ---------- */
.fc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: var(--fc-radius-sm);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.fc-btn:hover { transform: translateY(-1px); }
.fc-btn--primary {
  background: var(--fc-plum);
  color: #fff;
  box-shadow: 0 10px 22px rgba(77, 48, 69, .22);
}
.fc-btn--terra {
  background: var(--fc-terra);
  color: #fff;
  box-shadow: 0 10px 22px rgba(182, 95, 66, .2);
}
.fc-btn--ghost {
  background: transparent;
  color: var(--fc-ink);
  border-color: var(--fc-line);
}
.fc-btn--ghost:hover { background: rgba(104, 86, 68, .06); }

/* ---------- 提示框 / 笔记 ---------- */
.fc-callout {
  display: flex;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--fc-radius-sm);
  background: var(--fc-plum-soft);
  border: 1px solid rgba(77, 48, 69, .12);
  color: var(--fc-ink);
}
.fc-callout__icon {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--fc-plum);
  font-weight: 700;
  font-size: 15px;
}
.fc-callout__title { margin: 0 0 4px; font-size: 15px; font-weight: 700; color: var(--fc-ink); }
.fc-callout__body { margin: 0; font-size: 14px; line-height: 1.6; color: var(--fc-muted); }

.fc-callout--info { background: var(--fc-sage-soft); border-color: rgba(98, 122, 103, .16); }
.fc-callout--info .fc-callout__icon { color: var(--fc-sage); }
.fc-callout--warn { background: var(--fc-terra-soft); border-color: rgba(182, 95, 66, .16); }
.fc-callout--warn .fc-callout__icon { color: var(--fc-terra); }
.fc-callout--danger { background: var(--fc-red-soft); border-color: rgba(180, 77, 67, .16); }
.fc-callout--danger .fc-callout__icon { color: var(--fc-red); }

/* ---------- 引言 ---------- */
.fc-quote {
  margin: 0;
  padding: 18px 22px 18px 26px;
  border-left: 4px solid var(--fc-plum);
  background: var(--fc-plum-soft);
  border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
  font-family: "Songti SC", "SimSun", Georgia, serif;
  font-size: 18px;
  line-height: 1.7;
  color: var(--fc-ink);
}
.fc-quote cite {
  display: block;
  margin-top: 10px;
  font-family: var(--font-family-body);
  font-size: 13px;
  font-style: normal;
  color: var(--fc-muted);
}

/* ---------- 迷你统计 ---------- */
.fc-stat { display: flex; flex-direction: column; gap: 2px; }
.fc-stat__num {
  font-family: "Songti SC", Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: var(--fc-plum);
}
.fc-stat__label { font-size: 13px; color: var(--fc-muted); }
.fc-stat--terra .fc-stat__num { color: var(--fc-terra); }
.fc-stat--green .fc-stat__num { color: var(--fc-green); }
.fc-stat--sand  .fc-stat__num { color: var(--fc-sand); }

/* ---------- 自适应网格 ---------- */
.fc-grid {
  display: grid;
  gap: var(--fc-gap);
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
