/* ============================================================
   ninesifu.cn · assets/css/tokens.css
   唯一设计令牌来源（design-spec.md v1.3 §2.3 / §2.5 / §3 / §4）
   色域①：全局玄米。锚点 #D4C5A9（用户原值）
   对比度标注 = 实测值。on底 = on --ns-bg；on卡 = on --ns-surface
   浅色 ONLY：无深色模式分支（design-spec §2.6 删除）
   ============================================================ */
:root {
  /* 主动告知浏览器本站只有浅色，避免 UA 对滚动条 / select / date 自动套深色 */
  color-scheme: light only;

  /* ---------- 背景层 ---------- */
  --ns-bg:            #D4C5A9;  /* 页面底 · 玄米【用户原值】L*80.06 theme-color 取此值 */
  --ns-bg-alt:        #C9B994;  /* hover 填充 · 其上禁止放 13–17px 的次级文字 */
  --ns-surface:       #F8F4EA;  /* 卡片 · 微暖白，比玄米底亮 1.55:1 */
  --ns-surface-2:     #FFFFFF;  /* 抬升层 · 下拉 / 弹层 / Toast */
  --ns-sunken:        #EDE6D6;  /* 凹陷层 · 代码块 / 只读输入框内底 */
  --ns-row-alt:       #F2EBDD;  /* 表格斑马行 */
  --ns-prose:         #F8F4EA;  /* 长文正文纸面 = 卡片色（design-spec §3.3） */
  --ns-skeleton:      #EDE6D6;  /* 骨架屏（位于纸面之上） */

  /* ---------- 文字层 ---------- */
  --ns-text:          #2E2A24;  /* 正文一级 on底 8.39:1 / on卡 12.98:1 ✅ */
  --ns-text-2:        #565042;  /* 次要 on底 4.71:1 / on卡 7.29:1 ✅ */
  --ns-text-3-lg:     #6B6357;  /* ⚠️仅限 ≥19px&500 或 ≥24px：on底 3.48 / on卡 5.39 ✅
                                   13–17px 一律禁用，只能用 --ns-text-2 */
  --ns-text-disabled: #968B72;  /* 禁用 1.98:1 ⚠️WCAG 豁免，必须同时给非色彩提示 */
  --ns-text-inverse:  #F8F4EA;  /* 深底上的文字 · 主按钮 / Toast 12.98:1 */

  /* ---------- 边框层 ---------- */
  --ns-border:        #E8E0CE;  /* 卡片内的分隔线（装饰，1.20:1 on 卡片） */
  --ns-border-on-bg:  #B9A67E;  /* 玄米底上的分隔线（装饰，1.40:1 on 底） */
  --ns-border-strong: #635C4C;  /* 交互 · 表单控件默认 / 卡片 hover 描边 3.90:1 on底 */
  --ns-border-focus:  #4A4436;  /* 表单 focus 边框 5.69:1 on底 */

  /* ---------- 强调与焦点（抹茶绿，design-spec v1.2 拍板） ---------- */
  --ns-accent:        #32543F;  /* 深抹茶 · 全底通用：玄米 4.99 / 卡片 7.72 / 纯白 8.47 ✅ */
  --ns-accent-soft:   #3F6B52;  /* 浅抹茶 · ⚠️仅卡片/白底装饰与圆点：on卡 5.56 ✅ */
  --ns-accent-hover:  #1F4430;  /* 链接 hover · 玄米 6.41 / 卡片 9.92 ✅ */
  --ns-accent-solid:  #32543F;  /* 绿色实心填充 · 白字 8.11:1 ✅ */
  --ns-focus-ring:    #32543F;  /* 键盘焦点环 · 玄米 4.99 / 卡片 7.72 / 凹陷 6.85 ✅ */
  --ns-focus-inverse: #FDB927;  /* 键盘焦点环（紫底）· 6.14:1 on #552583 ✅ */

  /* ---------- 语义色 ----------
     硬规则：语义色作【文字】只在卡片/白底；作【圆点·填充】两种底都可以 */
  --ns-success:       #32543F;  /* = --ns-accent，成功与强调合并 */
  --ns-warning:       #8A5A00;  /* on卡 5.40 ✅文字 / on底 3.49 ✅圆点 */
  --ns-danger:        #A8321F;  /* on卡 6.09 ✅文字 / on底 3.93 ⚠️仅圆点 */
  --ns-info:          #3A5F86;  /* on卡 6.05 ✅文字 / on底 3.91 ✅圆点 */

  /* ---------- Blog 分类 chip（固定 4 档，design-spec §2.5.2） ---------- */
  --ns-chip-all-fg:      #565042;  --ns-chip-all-bg:      #EDE6D6;  /* 全部 6.44:1 */
  --ns-chip-industry-fg: #3A5F86;  --ns-chip-industry-bg: #E7EFF6;  /* 行业观察 5.72:1 */
  --ns-chip-learning-fg: #3F6B4E;  --ns-chip-learning-bg: #E9F2EA;  /* 学习心得 5.36:1 */
  --ns-chip-misc-fg:     #8A5A2E;  --ns-chip-misc-bg:     #F7EEE2;  /* 杂谈随笔 5.10:1 */

  /* ---------- 阴影（禁止发光 / 彩色投影） ---------- */
  --ns-shadow-1: 0 1px 2px rgba(58,45,26,.06);
  --ns-shadow-2: 0 1px 2px rgba(58,45,26,.06), 0 8px 24px rgba(58,45,26,.05);
  --ns-shadow-3: 0 2px 4px rgba(58,45,26,.07), 0 16px 40px rgba(58,45,26,.08);

  /* ---------- 圆角 ---------- */
  --ns-radius-sm:   6px;   /* chip / 小按钮 */
  --ns-radius:      10px;  /* 卡片 / 输入框 / 弹层 */
  --ns-radius-lg:   16px;  /* Hero 大块 / 文章正文纸面 */
  --ns-radius-pill: 999px; /* 胶囊筛选器 */

  /* ---------- 字体：系统字体栈，零 web font 文件（无 ICP / 无第三方请求） ---------- */
  --ns-font-sans:
    Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC",
    sans-serif;
  --ns-font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
    "Liberation Mono", "Courier New", monospace;

  /* ---------- Type Scale（design-spec §3.2） ---------- */
  --fs-display: clamp(2.25rem, 1.6rem + 2.4vw, 3rem);      /* 36→48 长文 H1 */
  --fs-h1:      clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);   /* 28→36 */
  --fs-h2:      clamp(1.375rem, 1.2rem + 0.7vw, 1.625rem); /* 22→26 */
  --fs-h3:      1.1875rem;                                  /* 19 / 移动 18 */
  --fs-h4:      1rem;                                        /* 16 */
  --fs-lead:    1.125rem;                                   /* 18 / 移动 17 */
  --fs-body:    1.0625rem;                                  /* 17 / 移动 16 */
  --fs-sm:      0.9375rem;                                  /* 15 */
  --fs-caption: 0.875rem;                                   /* 14 */
  --fs-micro:   0.8125rem;                                  /* 13 */
  --fs-mono:    0.875rem;                                   /* 14 */
  --fs-count:   clamp(2.5rem, 2rem + 3.2vw, 3.25rem);       /* 40→52 倒计时 */
  --fs-score:   1.5rem;                                     /* 24 / 移动 22 */
  --fs-num:     1.375rem;                                   /* 22 / 移动 20 看板数字 */

  /* ---------- 间距刻度（只用这 12 个值，基数 4px） ---------- */
  --ns-s-1: 4px;    --ns-s-2: 8px;    --ns-s-3: 12px;
  --ns-s-4: 16px;   --ns-s-5: 20px;   --ns-s-6: 24px;
  --ns-s-8: 32px;   --ns-s-10: 40px;  --ns-s-12: 48px;
  --ns-s-16: 64px;  --ns-s-20: 80px;  --ns-s-24: 96px;

  /* ---------- 容器 ---------- */
  --ns-container:          1200px;  /* 公开站通用（padding-inline 24px / 移动 20px） */
  --ns-container-article:  1040px;  /* 长文页 lead/图表区 */
  --ns-container-prose:     752px;  /* 纸面卡总宽 = 内容 672 + 左右 40×2 */

  /* ---------- 断点（JS matchMedia 读同一套值） ---------- */
  --bp-sm: 768px; --bp-md: 1024px; --bp-lg: 1280px;
}
