/* =============================================
   桐峻记忆 - 夜间模式（深色主题）v2.20.20
   作者: Jachin <jqing111@163.com> | 官网: l7bz.cn
   说明: 纯属性驱动的深色主题覆盖层。
   策略:
   - 所有覆盖挂在 :root[data-theme="dark"] / :root[data-theme="light"]
     上，特异性高于后台 outputThemeCSS() 注入的 :root 与逐元素字面量规则
     （body / .navbar / .photo-card / a / .post-content * 等），
     因此恒定胜过用户主题设置，无需 !important。
   - 未手动指定时，由各模板 <head> 内联脚本按系统 prefers-color-scheme
     设 data-theme（避免首屏闪烁）；手动切换由 main-enhanced.js 持久化到
     localStorage。
   - 品牌主色 --primary-color / --primary-dark 保持不变（换肤身份不丢），
     仅重算"环境"令牌（表面 / 文字 / 边框 / 阴影 / 代码块）为深色。
   尊重已有的 @media (prefers-reduced-motion)（本文件不引入新动画）。
   ============================================= */

/* ---------- 深色令牌 + 元素覆盖 ---------- */
:root[data-theme="dark"] {
  color-scheme: dark;

  /* 环境令牌重算（深色，暖棕品牌基调） */
  --bg-color: #15120d;
  --card-bg: #1f1b15;
  --text-color: #e9e1d4;
  --text-light: #a99b87;
  --border-color: #352e25;
  --nav-bg: #1f1b15;
  --nav-text: #d8b48a;
  --link-color: #d2a878;
  --link-hover: #e8c79c;
  --heading-color: #f1e9db;
  --primary-soft: rgba(196, 149, 106, 0.12);
  --primary-soft-2: rgba(196, 149, 106, 0.18);
  --primary-border: rgba(196, 149, 106, 0.40);
  --focus-ring: rgba(196, 149, 106, 0.22);
  --code-bg: rgba(255, 255, 255, 0.06);
  --quote-bg: rgba(255, 255, 255, 0.04);
  --quote-border: rgba(196, 149, 106, 0.45);
  --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.40);
  --card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.55);

  /* [v2.20.21 新增] UI 承载令牌（深色取值）
     说明同 style.css：这些是界面构件令牌，outputThemeCSS() 不会输出，
     因此换主题时保持这里的深色取值 —— 它们是可读性的下限。 */
  --primary-on-dark: #836c4d;
  --primary-on-dark-text: #ffffff;
  --secondary-on-dark: #7d6b58;
  --focus-gap: #15120d;
  --focus-ink: #f0d3a8;
  --placeholder-base: #28231b;      /* 略亮于 --card-bg，形成「块」但不刺眼 */
  --placeholder-sheen: #3a3227;
}

/* 后台主题用字面量写死了下列元素，这里用更高特异性整体重算，保证深色生效 */
:root[data-theme="dark"] body {
  background-color: var(--bg-color);
  color: var(--text-color);
}
:root[data-theme="dark"] .navbar {
  background-color: var(--nav-bg);
  color: var(--nav-text);
}
:root[data-theme="dark"] .navbar a,
:root[data-theme="dark"] .navbar .logo-text {
  color: var(--nav-text);
}
:root[data-theme="dark"] .photo-card {
  background-color: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: var(--card-shadow);
}
:root[data-theme="dark"] .photo-card:hover {
  box-shadow: var(--card-shadow-hover);
}
:root[data-theme="dark"] a {
  color: var(--link-color);
}
:root[data-theme="dark"] a:hover {
  color: var(--link-hover);
}
:root[data-theme="dark"] .post-content h1,
:root[data-theme="dark"] .post-content h2,
:root[data-theme="dark"] .post-content h3,
:root[data-theme="dark"] .post-content h4,
:root[data-theme="dark"] .post-content h5,
:root[data-theme="dark"] .post-content h6 {
  color: var(--heading-color);
}
:root[data-theme="dark"] .post-content code,
:root[data-theme="dark"] .post-content pre {
  background-color: var(--code-bg);
}
:root[data-theme="dark"] .post-content blockquote {
  background-color: var(--quote-bg);
  border-left-color: var(--quote-border);
}
/* ---------- v2.20.21：白字承载面的深色修正 ----------
   原规则把 background 指回 --primary-color（#8b7355），白字对比仅 4.49:1，判定 FAIL；
   .btn-secondary 用 --text-light（#a99b87）作底，白字仅 2.72:1，严重不达标。
   改为专用的「白字承载令牌」，品牌主色 --primary-color 本身保持不动。 */
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .tag-chip.active {
  background-color: var(--primary-on-dark);
  border-color: var(--primary-on-dark);
  color: var(--primary-on-dark-text);
}
:root[data-theme="dark"] .btn-secondary {
  background-color: var(--secondary-on-dark);
}
/* 悬停态保持 --primary-dark #6b5b4f：白字 6.49:1，已达标，无需改动 */

/* ---------- 强制浅色（用户在深色系统下手动切回浅色） ---------- */
:root[data-theme="light"] {
  color-scheme: light;
  --bg-color: #f5f0e8;
  --card-bg: #ffffff;
  --text-color: #4a3f35;
  --text-light: #786c60;
  --border-color: #e8ddd0;
  --nav-bg: #ffffff;
  --nav-text: #8b7355;
  /* [v2.20.21] 与 style.css 的 :root 同步下调：#8b7355 在白卡上仅 4.49:1（FAIL），
     #806647 为 5.37:1（PASS）。两处必须一致，否则「强制浅色」分支会漏掉这次修正。 */
  --link-color: #806647;
  --link-hover: #6b5b4f;
  --heading-color: #4a3f35;
  --primary-soft: rgba(139, 115, 85, 0.08);
  --primary-soft-2: rgba(139, 115, 85, 0.14);
  --primary-border: rgba(139, 115, 85, 0.35);
  --focus-ring: rgba(139, 115, 85, 0.12);
  --code-bg: #f5f0e8;
  --quote-bg: #f5f0e8;
  --quote-border: #e8ddd0;
  --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  --card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.13);
}
