# 状态语言

系统使用五种语义状态。业务模块保留自己的领域枚举，并在展示边界映射到共享
`StatusTone`，不要让展示文案、接口字符串或 Tailwind 原色类直接决定状态样式。

| Tone | 用途 | 典型状态 |
| --- | --- | --- |
| `neutral` | 尚未开始或不再活动 | 预约、草案、待办、取消、中止、跳过、未分级 |
| `info` | 正在发生的过程 | 执行中、提交中、加载中、连接中 |
| `success` | 已完成或健康 | 完成、在线、正常、已批准 |
| `warning` | 需要关注但未达到异常 | 关注、降级、待复核、待复令、待确认 |
| `danger` | 已异常或操作失败 | 异常、失败、离线、高风险、事故、权限拒绝 |

## 报告风险

报告风险固定为三档：

- `normal` 映射 `success`，显示“正常”。
- `attention` 映射 `warning`，显示“关注”。
- `critical` 映射 `danger`，显示“异常”。

`info` 只表示过程，不参与风险等级。不得把 `attention` 合并到正常或异常。

## 表达规则

- 状态标签使用 `StatusBadge`，小型指示使用 `StatusDot`，图标节点使用 `StatusIcon`。
- 大面积容器只使用柔和背景，禁止实心红色或橙色状态卡片。
- `warning` 和 `danger` 必须同时提供文字或图标，不能只依赖颜色。
- 只有进行中的状态可以使用 `live` 或 `loading` 动效。
- “复令”是提交处置结果的动作，执行完成但尚未提交时显示“待复令”，使用静态
  `warning`；不得继续显示为“执行中”或提前显示为完成态。
- 动效必须在 `prefers-reduced-motion` 下停止。
- 蓝色选中态属于交互反馈，不作为业务风险状态。
- 紫色只表示 Agent 身份，不表示未知或更高风险。

## 地图状态

地图与面板共享语义，但保留独立色值以适应浅色底图、影像底图和白色 casing。
新增地图状态时，应先补充 `map-colors.ts`，再通过对比度测试验证，不要在图层定义中
写入新的颜色字面量。
