/* =====================================================================
   19LAB · paper.css — 全站统一「纸感」设计令牌
   原则：减 · 养 · 安静 · 大留白 · 克制
   一处定义，全站共享。子页可只引入本文件即获得统一气质。
   ===================================================================== */

:root {
  color-scheme: light;

  /* —— 纸感色板（暖白纸 / 墨字 / 单一克制点缀）—— */
  --paper:    #f4f1ea;   /* 纸底：暖白、微米黄 */
  --paper-2:  #efeae0;   /* 次级面：浅一档的纸，用于卡片/分区 */
  --paper-3:  #e7e1d4;   /* 更深一档：输入框/代码块底 */
  --ink:      #211f1b;   /* 墨字：近黑暖调，不用纯黑 */
  --soft:     #5b554c;   /* 次要文字：暖灰 */
  --faint:    #948c7e;   /* 弱化文字：标签、时间戳、注脚 */
  --line:     rgba(33, 31, 27, 0.12);  /* 发丝线 */
  --line-2:   rgba(33, 31, 27, 0.20);  /* 稍重的线 */

  /* —— 唯一点缀：从品牌蓝沉淀出的安静靛，仅用于链接/极少强调 —— */
  --accent:   #34328f;
  --accent-soft: rgba(52, 50, 143, 0.14);
  /* —— 功能性「在播」标记（极小面积，朱泥红）—— */
  --live:     #b4432f;

  /* —— 字体 —— */
  --serif: "Source Serif 4", Georgia, "Songti SC", "PingFang SC", "Microsoft YaHei", serif;
  --mono:  "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, "Courier New", monospace;

  /* —— 间距尺度（大留白）—— */
  --sp-1: 6px;
  --sp-2: 12px;
  --sp-3: 20px;
  --sp-4: 32px;
  --sp-5: 52px;
  --sp-6: 84px;
  --sp-7: 136px;

  /* —— 阅读宽度 —— */
  --measure: 720px;     /* 正文最佳行宽 */
  --measure-wide: 940px;

  --radius: 4px;        /* 极克制的圆角 */
}

/* —— 基础重置与排版 —— */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
}

body {
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* 安静的链接：默认仅靠点缀色，hover 才出下划线 */
a {
  color: var(--accent);
  text-decoration: none;
  text-underline-offset: 3px;
  transition: opacity 160ms ease;
}
a:hover { text-decoration: underline; }
a:focus-visible {
  outline: 2px solid var(--accent-soft);
  outline-offset: 3px;
}

::selection { background: var(--accent-soft); }

/* 标题：克制字重、足够留白 */
h1, h2, h3, h4 {
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 var(--sp-3);
}

/* 小标签 / 等宽元信息 */
.mono, .kicker, .meta, .ts {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--faint);
}

/* 发丝分隔线 */
hr, .rule {
  border: 0;
  border-top: 1px solid var(--line);
  margin: var(--sp-5) 0;
}

/* 通用容器 */
.container {
  width: min(var(--measure-wide), 100%);
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}

/* 尊重「减少动态」偏好 */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
