/* 标博士 · 界面设计变量(design tokens)v0.2 · 2026-11-03 * 规范说明见 docs/design/design-system.md;定稿样张见 docs/design/ui-demo/explore/workbench-d5.html。 * 只放变量,不放组件样式。前端不用带样式的 UI 框架(AR10),组件样式直接引用这些变量。 * 对比度一律按 WCAG 2.x 公式计算。v0.1 的注释数值以校样纸 #F5F6F3 为底,括号内为白底; * v0.2 起页面底色改为 --c-n50 #F8F8F9(比校样纸更亮),对比度介于两者之间。 * v0.2(决策 U5):页面改为白色主调 + 墨色派生的中性浅灰;圆角三档;控件高 36;墨色渐变窄侧栏。 * v0.2 补充(2026-11-03,Q6 / Q7 已确认):悬停 / 按下 / 遮罩等语义色、数字字号三档、卡片与页面内边距。 * 组件里不再写裸色值(#34404D、#222、#888 之类),一律用这里的变量。 */ :root { /* ---------- 基础色板:校样色系 ---------- */ --c-paper: #F5F6F3; /* 校样纸:页面底色 */ --c-white: #FFFFFF; /* 卡片、表格、输入框 */ --c-sunken: #ECEEEA; /* 表头、代码、凹陷区 */ --c-hover: #EEF0EC; /* 行悬停 */ --c-ink: #1D2733; /* 墨:正文、人工确认、主按钮 13.9 (15.1) */ --c-sub: #5C6670; /* 辅助灰:次要文字、「提示」级 5.4 (5.9) */ --c-muted: #7A838C; /* 只用于禁用文字与控件边框 3.6 (3.9),不能用于正文 */ --c-rule: #D9DDD8; /* 装饰分隔线(不承担识别功能) */ --c-pencil: #2F5BD3; /* 蓝铅笔:AI 标注、出处、原文链接 5.4 (5.9) */ --c-pencil-strong: #244AB0;/* 蓝铅笔悬停 / 按下 */ --c-pencil-soft: #E7EDFB; /* 原句高亮底色 */ --c-fatal: #C4122F; /* 致命红:只用于「致命」问题 5.6 (6.0) */ --c-fatal-soft: #FBE9EC; --c-ochre: #A66300; /* 赭:「重要」级的边框、图标、≥18px 文字 4.4 (4.8) */ --c-ochre-ink: #8A5200; /* 赭色小字(<18px) 5.9 (6.4) */ --c-ochre-soft: #FBF0DC; --c-green: #2E6B4F; /* 定稿绿:人工确认署名 5.8 (6.3) */ --c-green-soft: #E5F0EA; /* 中性浅灰(v0.2):都由墨 #1D2733 按比例混白得到,不偏绿,不引入新色相 */ --c-n50: #F8F8F9; /* 墨 3%:页面底色、行 / 格悬停 */ --c-n100: #F1F2F3; /* 墨 6%:中性标签底、文字按钮悬停、进度槽 */ --c-nline: #E6E7E9; /* 墨 11%:卡片边框、发丝分隔线 */ --c-n300: #BBBEC2; /* 墨 30%(v0.2):普通链接的下划线(悬停时变墨色) */ --c-n400: #A5A9AD; /* 墨 40%(v0.2):带悬停说明的文字的虚线下划线(如「就绪」) */ /* 墨色的交互态(v0.2,Q6):主按钮、选中日期等墨底元素 */ --c-ink-hover: #38414B; /* 墨 88% 混白:悬停变浅 */ --c-ink-active: #171F29; /* 墨 80% 混黑:按下变深 */ /* 侧栏(v0.2):墨色竖向渐变,下端混 18% 蓝铅笔得到深墨蓝;只作底色,不承担 AI 语义 */ --side-top: var(--c-ink); --side-bottom: #203050; --side-fg: #C4C7CA; /* 白 74% 混墨:未选中菜单 约 9:1 */ --side-fg-strong: var(--c-white); --side-muted: #A0A4A9; /* 白 58% 混墨:侧栏小字 约 6:1 */ --side-hover: rgba(255, 255, 255, .07); --side-active: rgba(255, 255, 255, .14); --side-line: rgba(255, 255, 255, .12); --side-dots: rgba(255, 255, 255, .14); /* 底部点阵(v0.2) */ --side-avatar-bg: rgba(255, 255, 255, .16); /* 44px 头像底(v0.2) */ --side-avatar-ring: rgba(255, 255, 255, .22); /* 头像 1px 外圈(v0.2) */ /* 套餐标签(v0.2):只用于账户区的套餐标签,从赭色派生的金色阶梯;靠深浅区分档次 */ --plan-free-bg: rgba(255, 255, 255, .12); --plan-pro-bg: rgba(166, 99, 0, .42); --plan-pro-fg: #F4ECE0; --plan-pro-line: rgba(177, 119, 32, .8); --plan-ent-bg: #CEA973; /* 企业版:金色实底,墨色字 */ /* 印章红 #D9291C、藏青 #1C2554 只属于 logo,不进界面变量 */ /* ---------- 语义色 ---------- */ --bg-page: var(--c-n50); /* v0.2:原为校样纸 --c-paper */ --bg-surface: var(--c-white); --bg-sunken: var(--c-n100); /* v0.2:原为 --c-sunken */ --bg-hover: var(--c-n50); /* v0.2:原为 --c-hover */ --text-primary: var(--c-ink); --text-secondary: var(--c-sub); --text-disabled: var(--c-muted); --text-on-dark: var(--c-white); --border-subtle: var(--c-nline); /* v0.2:原为 --c-rule */ --border-control: var(--c-muted); /* 输入框等控件边框,≥3:1(WCAG 1.4.11) */ --border-strong: var(--c-ink); --focus-ring: var(--c-ink); --ai: var(--c-pencil); --ai-strong: var(--c-pencil-strong); --ai-soft: var(--c-pencil-soft); --human: var(--c-ink); --confirmed: var(--c-green); --confirmed-soft: var(--c-green-soft); --sev-fatal: var(--c-fatal); --sev-fatal-soft: var(--c-fatal-soft); --sev-major: var(--c-ochre); --sev-major-text: var(--c-ochre-ink); --sev-major-soft: var(--c-ochre-soft); --sev-hint: var(--c-sub); --sev-hint-soft: var(--c-n100); /* v0.2:原为 --c-sunken */ --warn: var(--c-ochre); /* 系统提醒、表单错误、额度预警:不用红 */ --warn-text: var(--c-ochre-ink); --warn-soft: var(--c-ochre-soft); /* 交互与浮层(v0.2,Q6) */ --link-underline: var(--c-n300); /* 普通链接:墨色字 + 浅下划线,悬停下划线变墨 */ --hint-underline: var(--c-n400); /* 有悬停说明的文字:虚线下划线 */ --primary-hover: var(--c-ink-hover); --primary-active: var(--c-ink-active); --scrim: rgba(29, 39, 51, .32); /* 对话框遮罩:墨 32% */ --topbar-glass: rgba(255, 255, 255, .82); /* 顶栏滚动后:半透明白 + 毛玻璃 */ --on-dark-line: rgba(255, 255, 255, .24); /* 墨底浮层(轻提示)里的分隔线 */ /* ---------- 字体 ---------- */ --font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif; --font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", serif; --font-figures: "Barlow Semi Condensed", var(--font-sans); /* 字阶:字号 / 行高(px)。正文 14/22 与 TDesign、Ant Design 一致 */ --fs-caption: 12px; --lh-caption: 20px; /* 时间戳、脚注;最小字号 */ --fs-body: 14px; --lh-body: 22px; /* 界面正文 */ --lh-read: 24px; /* 原文引用等成段阅读:14/24 */ --fs-title: 16px; --lh-title: 24px; /* 问题标题、卡片标题、区块标题 */ --fs-h2: 20px; --lh-h2: 28px; /* 页面标题(宋体) */ --fs-h1: 24px; --lh-h1: 32px; /* 工作台、报告标题(宋体) */ --fs-figure: 28px; --lh-figure: 36px; /* 统计数字、额度剩余(Barlow 600)。v0.2:原 30 */ --fs-figure-sm: 15px; --lh-figure-sm: 22px; /* 正文行里独立出现的数字:表格数值、日期、页码、筛选计数(v0.2,Q7) */ --fs-figure-xs: 13px; --lh-figure-xs: 20px; /* 12px 小字行里的数字:标签计数、出处页码、扣点说明(v0.2,Q7) */ /* .fig 默认用 --fs-figure-sm;12px 小字里自动换成 --fs-figure-xs;统计大数字(.big)用 --fs-figure(见 components.css) */ /* 原文排版(v0.2):原文查看器里的「纸页」模拟招标文件的打印效果,用宋体,不跟界面字阶 */ --font-doc: "Songti SC", "SimSun", var(--font-serif); --fs-doc: 13px; --lh-doc: 24px; --fw-regular: 400; --fw-medium: 500; --fw-bold: 600; /* ---------- 间距:4px 基准 ---------- */ --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px; /* ---------- 圆角、线、阴影 ---------- */ --radius-xs: 4px; /* 复选框、开关滑钮、套餐标签等 ≤ 16px 的小件(v0.2,Q4) */ --radius-tag: 6px; /* 标签、问题级别标签、开关轨道(v0.2) */ --radius-ctl: 8px; /* 按钮、输入框、菜单项、下拉(v0.2) */ --radius-card: 12px; /* 卡片、对话框、浮层、内容区左上角(v0.2) */ --radius-sm: var(--radius-ctl); /* 兼容 v0.1 的写法,新代码用上面三个 */ --radius-md: var(--radius-card); --line: 1px; --line-sev: 1.5px; /* 「重要」标签描边 */ --shadow-overlay: 0 4px 16px rgba(29, 39, 51, .14), 0 1px 3px rgba(29, 39, 51, .10); /* 只给浮层:下拉、对话框、提示、轻提示 */ --shadow-sheet: 0 1px 2px rgba(29, 39, 51, .12); /* 原文查看器里的「纸页」 */ /* ---------- 尺寸 ---------- */ --control-h: 36px; /* 默认按钮、输入框(v0.2:原 32) */ --control-h-sm: 32px; /* 表格行内、筛选标签(v0.2:原 28) */ --control-h-lg: 40px; /* 登录、空状态主操作 */ --btn-px: 14px; /* 按钮左右内边距:36 / 32 / 40 对应 14 / 12 / 16(v0.2,以 d5 为准) */ --btn-px-sm: 12px; --btn-px-lg: 16px; --tag-h: 22px; /* 中性标签、问题级别标签的高度(v0.2,以 d5 为准) */ --row-h: 64px; /* 列表行最小高度:两行文字(名称 + 辅助灰小字)的项目行(v0.2) */ --rail-w: 96px; /* 侧栏(v0.2):单一状态,上图标下文字,不折叠 */ --topbar-h: 56px; /* 顶栏:透明,滚动后半透明白 + 毛玻璃 */ --sidebar-w: 216px; /* v0.1 宽侧栏。原型 v0.2 已不用(2026-11-03);只剩 ui-demo/explore/ 的历史方案(a–f、d2–d5)引用,那些归档后可删 */ --margin-note-w: 280px; /* 页边批注栏 */ --content-max: 1200px; /* 页面与卡片的节奏(v0.2,以 d5 为准):全页一个间距 */ --pad-page: 32px; /* 内容区左右内边距;1400 以下 24 */ --gap-card: 16px; /* 卡片之间、主列与右栏之间 */ --card-x: 20px; /* 卡片内左右边距:所有卡片统一 */ --card-y: 16px; /* 卡片内上下边距(不分区的整块卡片) */ --card-h-min: 56px; /* 卡片头(标题行)最小高度 */ --aside-w: 296px; /* 工作台右侧信息栏;1400 以下 256 */ /* ---------- 动效 ---------- */ --dur-fast: 120ms; --dur-base: 200ms; --ease: cubic-bezier(.2, 0, 0, 1); } @media (max-width: 1399px) { :root { --pad-page: 24px; --aside-w: 256px; } } @media (prefers-reduced-motion: reduce) { :root { --dur-fast: 0ms; --dur-base: 0ms; } }