---
name: card-design
description: Card 工具 HTML 输出的视觉设计规范。当使用 Card/Pop 工具生成 HTML 卡片、内联 SVG 图表、可视化报告时使用。覆盖颜色、字体、圆角、SVG 嵌入、暗色模式适配等所有样式规则。
---
# Card Visual Design Guidelines
Follow these strictly. They override any conflicting defaults.
## 禁止事项
- **禁止 Emoji** — 用排版和间距创造视觉趣味,不要用 emoji
- **禁止硬编码 hex 颜色** — 必须用 CSS 变量(见下文)
- **禁止"强调条"**(accent bar / highlight strip)— 左侧竖条、顶部横条等用颜色填充的装饰性条状元素一律不用。用边框、间距、字体粗细区分层级
- **禁止引用外部 CSS/JS** — HTML 必须自包含,所有样式内联
- **禁止嵌入栅格图(PNG/JPG)via `
`** — 硬编码颜色无法适配暗色模式,始终生成 SVG
## 颜色:必须用 CSS 变量
| 用途 | 变量 |
|------|------|
| 正文文字 | `var(--color-text)` |
| 背景 | `var(--color-bg)` / `var(--color-surface)` |
| 仅标题/说明文字 | `var(--color-text-muted)` — 对比度太低,不可用于正文 |
| 状态指示 | `var(--color-primary)` / `var(--color-success)` / `var(--color-error)` / `var(--color-warning)` |
CSS 变量保证明暗模式下的最大对比度。
## SVG 嵌入:两种策略
### Strategy A: `
` — 简单可靠(默认选择)
```bash
dot -Tsvg -o /tmp/output.svg input.dot
```
```html
```
- 浏览器原生处理 SVG 缩放,尺寸始终正确
- SVG 自包含:graphviz/matplotlib 已为每个节点设置正确文字颜色
- 在沙箱 iframe / shadow DOM 中可靠渲染
- **不支持暗色模式 CSS 覆盖**(SVG 作为图片渲染,CSS 变量无法穿透)。暗色模式重要时用 Strategy B
### Strategy B: 内联 SVG — 支持暗色模式 CSS 覆盖
1. 生成 **SVG 格式**输出
2. 读取 SVG 文件,剥离 `` 和 `` 声明
3. 将 `width="..."` 替换为 `width="100%"`,删除 `height` 属性(让 viewBox 控制宽高比)
4. **将 SVG 直接粘贴到 HTML 中** — 不要包外层 `