/* ============================================================
   设计主语言 · Design Language Base
   idanlin — 编辑杂志风 / 克制 · 克己 · 有态度
   定选 = 方案 2（Product / Editorial）。锁定于 2026-07-08。
   任何网页 / 长图 / HTML 产物默认 import 这一套。
   完整设计规范见 ../impeccable.md
   ------------------------------------------------------------
   字体全部 SIL OFL / Apache，可商用、可 web 嵌入、可公开发布。
   Anthropic Sans / Anthropic Serif(Copernicus) 为专有字体，不在此列、不可用于公开发布。
   ============================================================ */

/* ---- 字体加载 --------------------------------------------------
   拉丁 + 思源(=Noto SC) 走 Google Fonts；霞鹜文楷走 jsdelivr。
   追求性能时可把下面两条 @import 换成 <head> 里的 <link rel="preconnect"> + <link>。
--------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&family=Hanken+Grotesk:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;600;700;900&family=Noto+Sans+SC:wght@400;500;700&display=swap');
@import url('https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1.7.0/style.css');

:root{
  /* —— 字体栈（方案 2 · Product / Editorial · 定选）——
     display  展示大标题，英文用 Newsreader 撑气质（复刻 Copernicus）
     kai      中文点题主力，霞鹜文楷 + 砖红（.kai.accent）
     serif    长正文衬线，Source Serif 4 / 思源宋，保证长文可读
     sans     UI / 小字 / 标签，Hanken Grotesk（复刻 Anthropic Sans），冷静收尾
     song/hei 中文正文/界面骨架                                    */
  --font-display: 'Newsreader', 'Noto Serif SC', Georgia, 'Songti SC', serif;
  --font-serif:   'Source Serif 4', 'Noto Serif SC', Georgia, serif;
  --font-sans:    'Hanken Grotesk', 'Noto Sans SC', system-ui, -apple-system, sans-serif;
  --font-kai:     'LXGW WenKai', 'Noto Serif SC', serif;
  --font-song:    'Noto Serif SC', Georgia, serif;
  --font-hei:     'Noto Sans SC', system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;

  /* —— 配色 60 / 30 / 10（与 064 卡片色板对齐）——
     60% 米白纸底 · 30% 墨色文字 · 10% 砖红强调。拒绝多彩。       */
  --paper:  #F6F2E9;   /* 纸底 */
  --panel:  #FBF8F0;   /* 抬起面 */
  --ink:    #201B16;   /* 主文字 / 墨 */
  --sub:    #6A655A;   /* 次级文字 */
  --faint:  #9C968A;   /* 弱化 / 元信息 */
  --line:   #DED8C8;   /* 分割线 */
  --accent: #A3402C;   /* 砖红，唯一强调色 */

  /* —— 排印节奏 —— */
  --measure: 68ch;     /* 正文行长上限 65–75ch */
  --leading: 1.75;     /* 中文正文行高 */
}

/* —— 深色：暖底深色，非纯黑 —— */
:root[data-theme="dark"]{
  --paper:  #1A1614;
  --panel:  #221D1A;
  --ink:    #ECE5D6;
  --sub:    #A9A192;
  --faint:  #736B5E;
  --line:   #322B25;
  --accent: #C56B54;
}

/* ============================================================
   基础元素（有主张但可覆盖）
   ============================================================ */
html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  line-height: var(--leading);
  font-size: 17px;
}

h1,h2,h3{ font-family: var(--font-display); font-weight:500; letter-spacing:-.01em; line-height:1.08; }
h1{ font-size: clamp(38px, 6vw, 72px); }
h2{ font-size: clamp(26px, 3.4vw, 40px); }
h3{ font-size: clamp(20px, 2.4vw, 28px); }
/* 中文标题回落到思源宋更稳；如需手写暖调，给元素加 .kai */
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3{ font-family: var(--font-song); font-weight:700; }

em, i{ font-style: italic; }             /* Newsreader 斜体很美，标题里点强调用 */
h1 em, h2 em{ color: var(--accent); }    /* 标题内斜体自动上砖红 */

.prose{ max-width: var(--measure); font-family: var(--font-serif); }  /* 正文栏：窄栏 + 衬线（方案 2）*/
.prose p{ margin: 0 0 1.1em; }
/* 中文点题：霞鹜文楷 + 砖红，方案 2 的记忆点 */
.dispcn{ font-family: var(--font-kai); color: var(--accent); font-size: clamp(20px, 2.6vw, 28px); }

a{ color: var(--accent); text-decoration-thickness:1px; text-underline-offset:2px; }
hr{ border:none; border-top:1px solid var(--line); margin:2.4em 0; }
blockquote{ font-family: var(--font-serif); font-size:1.15em; color:var(--sub); border-left:2px solid var(--accent); padding-left:1em; margin:1.6em 0; }
code, pre{ font-family: var(--font-mono); }

/* ============================================================
   工具类
   ============================================================ */
.font-display{ font-family: var(--font-display); }
.font-serif{   font-family: var(--font-serif); }
.font-sans{    font-family: var(--font-sans); }
.kai{          font-family: var(--font-kai); }          /* 中文点睛标题 */
.song{         font-family: var(--font-song); }
.hei{          font-family: var(--font-hei); }

.accent{ color: var(--accent); }
.sub{ color: var(--sub); }
.faint{ color: var(--faint); }

/* eyebrow / kicker：编辑感小标 */
.kicker{ font-family:var(--font-sans); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:600; }
/* drop cap：正文首字下沉 */
.dropcap::first-letter{ font-family:var(--font-display); float:left; font-size:3.4em; line-height:.8; padding:.06em .08em 0 0; color:var(--accent); }
