/*!
 * ui-tokens.css —— 全站 UI token（唯一改点）
 * 依据：《107-门户UI规范-20260927》§1 间距 s1~s6 / §2 字号 T1~T6 / §5 控件尺寸 / §6 圆角；《108》W9
 * 落地：第①批（全站最小字号下限 ≥12px 收口）
 * 引用方式：各页 <link rel="stylesheet" href="/app/ui-tokens.css?v=20260927a">，位置在 pico 之后、页面样式之前。
 *
 * 说明：本文件只「新增变量 + 兜底规则」，不改任何既有 class 的取值。
 *      变量一律用 `--oa-` 前缀，与各页现存变量（--ink / --card / --c-blue-* …）互不冲突；
 *      既有变量名的收敛（合并成一套）留待后续批次。
 */

:root {
  /* ── 间距刻度 s1~s6（107 §1，只许 6 档；4 的倍数） ── */
  --oa-s1: 4px;   /* 图标/徽标与文字、行内紧邻元素 */
  --oa-s2: 8px;   /* 标签与控件之间、同组按钮行内间距 */
  --oa-s3: 12px;  /* 表单行间距、按钮换行后的行距 */
  --oa-s4: 16px;  /* 卡片内边距、卡片间距、栅格列间距 */
  --oa-s5: 24px;  /* 区块之间 */
  --oa-s6: 32px;  /* 页面大分区之间、页面上下留白 */

  /* ── 字号与行高层级 T1~T6（107 §2） ── */
  --oa-t1: 24px;      /* 页面主标题 h1 */
  --oa-t1-lh: 1.25;
  --oa-t1-fw: 800;
  --oa-t2: 20px;      /* 卡片/面板主标题 h2 */
  --oa-t2-lh: 1.35;
  --oa-t2-fw: 700;
  --oa-t3: 16px;      /* 卡片内分组标题 h3 */
  --oa-t3-lh: 1.4;
  --oa-t3-fw: 700;
  --oa-t4: 14px;      /* 正文：标签、控件文字、表体、按钮 */
  --oa-t4-lh: 1.6;
  --oa-t4-fw: 400;
  --oa-t5: 13px;      /* 辅助说明、脚注、金额说明 */
  --oa-t5-lh: 1.7;
  --oa-t5-fw: 400;
  --oa-t6: 12px;      /* 极小字 = 全站字号下限 */
  --oa-t6-lh: 1.6;
  --oa-t6-fw: 400;

  /* 全站字号下限（硬性条款：任何位置不得 < 12px） */
  --oa-fs-floor: 12px;

  /* ── 控件尺寸（107 §4/§5） ── */
  --oa-ctrl-h: 44px;      /* 输入框/下拉框/主次按钮 高度 */
  --oa-chip-h: 36px;      /* 芯片按钮 高度 */
  --oa-chip-min-w: 64px;  /* 芯片按钮 最小宽 */
  --oa-btn-sm-h: 36px;    /* 表格行内小按钮 高度 */
  --oa-touch-min: 32px;   /* 触控/点击目标下限 */

  /* ── 圆角（107 §4.6/§5.4/§6.2） ── */
  --oa-r-btn: 8px;
  --oa-r-chip: 999px;
  --oa-r-field: 10px;
  --oa-r-card: 12px;

  /* ── 颜色（取值＝门户现存调色板 portal.css :root，值为原样搬运，未做任何改动） ── */
  --oa-brand: #0c7a68;
  --oa-brand-deep: #075e50;
  --oa-brand-soft: #e4f3ef;
  --oa-cta: #c4510a;
  --oa-cta-deep: #a84206;
  --oa-ink: #22211e;
  --oa-ink-soft: #56544e;
  --oa-muted: #6e6a60;
  --oa-paper: #faf8f4;   /* 页面底色 */
  --oa-card: #ffffff;    /* 卡片底色 */
  --oa-line: #eae6dd;    /* 分隔线/边框 */
  --oa-field-line: #d9d4c8;
  --oa-gold: #b98a2f;
  --oa-ok: #136b43;
  --oa-ok-bg: #e6f6ee;
  --oa-warn: #8a5a12;
  --oa-warn-bg: #fdf3e0;
  --oa-danger: #b3261e;
  --oa-danger-bg: #fdecea;
  --oa-focus-ring: rgba(12, 122, 104, .35);

  /* 四类业务标记色（路线/族标记，取自 portal.css --r1~--r3） */
  --oa-r1: #6d4fd0;  --oa-r1-bg: #efeafb;
  --oa-r2: #0b6f66;  --oa-r2-bg: #e2f4f1;
  --oa-r3: #1d4ed8;  --oa-r3-bg: #e8effd;

  /* ── 字形（与 portal.css 一致） ── */
  --oa-font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --oa-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* ══════════════════════════════════════════════════════════════════════════
   字号下限兜底（第①批 B 项）
   为什么需要：全站实测 <12px 的文本有 428 条，其中大部分**不是**任何一处写在
   源码里的 px 值，而是「相对字号」渲染出来的，字面 grep 看不到：
     1) <small>  —— Pico v2 只写了 `small{--pico-font-size:.875em}` 却从未消费该变量，
        实际生效的是浏览器 UA 样式 `small{font-size:smaller}`（≈0.8333em）；
        正文 13.5px 时渲染成 11.25px。（全站 63 处 <small>）
     2) <code>/<kbd>/<samp>/<pre> —— Pico 的 `code,kbd,pre,samp{font-size:.875em}`；
        父级 13px→11.375px、12.5px→10.9375px、12px→10.5px。（全站 242 处 <code>）
   处置：保留相对比例，只把「低于下限」的结果抬到 12px —— `max(12px, 0.875em)`；
   父级字号足够大时（≥13.71px）结果与原先完全相同。
   注：`pre code{font-size:inherit}`（Pico，选择器权重更高）继续生效，故不重复声明。
   ══════════════════════════════════════════════════════════════════════════ */
small,
code,
kbd,
samp,
pre {
  font-size: max(var(--oa-fs-floor), .875em);
}
