/* ===========================================================================
   知行库 — Design Tokens
   方向：情报档案室 · 冷峻编辑风
   纸（温暖半调中性）+ 墨（略偏棕的深灰）+ 印（朱砂，仅用于强调）
   =========================================================================== */

:root {
  /* ---- 纸与面 ------------------------------------------------------------ */
  --paper:        oklch(96.4% 0.009 84);   /* 页面底色：微微泛黄的书纸 */
  --paper-sunk:   oklch(93.8% 0.011 84);   /* 凹陷区：列槽、表头 */
  --paper-card:   oklch(98.6% 0.005 84);   /* 卡片：比页面更亮 */
  --paper-raise:  oklch(99.2% 0.003 84);   /* 抽屉、弹层 */
  --paper-warm:   oklch(95.0% 0.022 78);   /* 选中态：暖纸 */

  /* ---- 墨 ---------------------------------------------------------------- */
  --ink:      oklch(21%   0.013 72);   /* 主文字 */
  --ink-2:    oklch(38%   0.012 72);   /* 次级文字 */
  --ink-3:    oklch(46%   0.011 72);   /* 三级：标签、元信息、表头（AA 4.7:1） */
  --ink-4:    oklch(56%   0.010 72);   /* 仅装饰：边框、点线、图标、水印。
                                          约 3.2:1，禁止承载需要阅读的文字 */

  /* ---- 线 ---------------------------------------------------------------- */
  --rule:        oklch(87%  0.008 80); /* 常规发丝线 */
  --rule-soft:   oklch(91%  0.007 80); /* 更淡的分离线 */
  --rule-strong: oklch(74%  0.012 80); /* 强调边、hover */

  /* ---- 印（唯一强调色，稀用） -------------------------------------------- */
  --seal:        oklch(50%  0.165 32);
  --seal-deep:   oklch(40%  0.140 32);
  --seal-wash:   oklch(94%  0.032 32);

  /* ---- 四种研判状态 ------------------------------------------------------ */
  --st-todo:     oklch(48%  0.012 265);   /* 待评估：石板灰 */
  --st-todo-bg:  oklch(94%  0.008 265);
  --st-try:      oklch(52%  0.110 68);    /* 值得尝试：赭石 */
  --st-try-bg:   oklch(94%  0.036 74);
  --st-adopted:  oklch(42%  0.072 158);   /* 已采用：松烟绿 */
  --st-adopted-bg: oklch(94%  0.026 158);
  --st-skip:     oklch(50%  0.020 350);   /* 暂不考虑：褪色藕 */
  --st-skip-bg:  oklch(94%  0.010 350);

  /* ---- 语义 -------------------------------------------------------------- */
  --good: oklch(42% 0.072 158);
  --warn: oklch(50% 0.110 68);
  --bad:  oklch(48% 0.150 27);

  /* ---- 字体 -------------------------------------------------------------- */
  --font-display: "Songti SC", "Source Han Serif SC", "Noto Serif SC",
                  "STSong", "SimSun", Georgia, "Times New Roman", serif;
  --font-ui: "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB",
             "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "SFMono-Regular", "JetBrains Mono", "Cascadia Mono",
               Consolas, "Liberation Mono", "Courier New", monospace;

  /* 字号：App UI 用固定刻度，不做流体（保持空间可预测）
     —— 中文可读性阈值高于拉丁字母：12px 以下汉字笔画粘连，全站下限锁定 12px。
     基准 15px（界面正文），卡片摘要 14px，元信息 12.5px。 */
  --t-micro: 0.75rem;     /* 12   — 编号、字段标签（纯装饰，不承载信息） */
  --t-xs:    0.78125rem;  /* 12.5 — 元信息、表格辅助 */
  --t-sm:    0.875rem;    /* 14   — 卡片摘要、标签、表格主字段 */
  --t-base:  0.9375rem;   /* 15   — 界面正文、按钮、输入 */
  --t-md:    1.0625rem;   /* 17   — 卡片标题、阅读正文 */
  --t-lg:    1.25rem;     /* 20   — 区块标题 */
  --t-xl:    1.625rem;    /* 26   — 页面标题 */
  --t-2xl:   2.125rem;    /* 34   — 抽屉标题、只读页标题
                                     更大的展示字（登录页主句、403 数字）用 clamp 流体化，
                                     不在此处固定，否则窄屏会撑破 */

  /* 行高：中文需比拉丁字母更松（UX-035：正文 1.5 起，display 1.1–1.2） */
  --lh-tight: 1.2;
  --lh-snug:  1.5;
  --lh-base:  1.72;
  --lh-loose: 1.9;

  /* 字距：宋体大字需收紧显骨力，mono 编号需放开显工整 */
  --ls-display: -0.022em;
  --ls-title:   -0.008em;
  --ls-wide:     0.14em;

  /* ---- 间距：4pt --------------------------------------------------------- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;
  --s-12: 48px;
  --s-16: 64px;
  --s-20: 80px;

  /* ---- 尺寸 -------------------------------------------------------------- */
  --h-topbar: 64px;
  --h-filter: 56px;
  --w-drawer: 600px;
  --w-sidebar: 216px;

  /* ---- 动效 -------------------------------------------------------------- */
  --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);   /* out-quint */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in:    cubic-bezier(0.7, 0, 0.84, 0);
  --ease-both:  cubic-bezier(0.65, 0, 0.35, 1);
  --d-instant: 110ms;
  --d-quick:   170ms;
  --d-base:    240ms;
  --d-slow:    380ms;

  /* ---- 层级 -------------------------------------------------------------- */
  --z-sticky: 20;
  --z-scrim: 40;
  --z-drawer: 50;
  --z-palette: 60;
  --z-toast: 70;

  /* ---- 阴影：克制，但要有纸叠起来的厚度 -------------------------------- */
  --shadow-card: 0 1px 0 oklch(88% 0.008 80), 0 1px 2px oklch(30% 0.02 80 / 0.028);
  --shadow-lift: 0 1px 0 oklch(87% 0.008 80), 0 3px 8px oklch(30% 0.02 80 / 0.055),
                 0 8px 20px oklch(30% 0.02 80 / 0.035);
  --shadow-float: 0 2px 4px oklch(30% 0.02 80 / 0.06), 0 8px 24px oklch(30% 0.02 80 / 0.08);
  --shadow-drawer: -1px 0 0 var(--rule), -18px 0 48px oklch(30% 0.02 80 / 0.07);
  --shadow-drag: 0 12px 32px oklch(30% 0.02 80 / 0.16), 0 2px 0 oklch(30% 0.02 80 / 0.06);

  /* ---- 纸纹：file:// 下也可用的内联噪点，替代纯色平面的"塑料感" ---------
     alpha 由 feFuncA 恒定压到 0.045，只做极轻的亮度扰动，不改变纸的色相 */
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0' intercept='0.045'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");

  --radius: 2px;      /* 档案卡：几乎直角，像打印件 */
  --radius-md: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --d-instant: 0.01ms;
    --d-quick: 0.01ms;
    --d-base: 0.01ms;
    --d-slow: 0.01ms;
  }
}
