/* Iris 包 → 组件层契约的映射层。
 *
 * iris 就是 design/iris/preview.html 那份稿件所用的包，组件层（app.css）的名字
 * 直接取自它 —— 所以这一层只有两组东西：一组角色别名，一组写明了理由的 APCA 修正。
 * 包本体（themes/iris.css）一行不动。 */

:root,
[data-theme="dark"] {
  /* 动作填充：iris 的答案是 --accent（紫色代表动作，见 tokens 的
     「NAVY LOCATES / VIOLET ACTS」）。组件层只认这一组角色名，不关心哪个包
     把哪档颜色用作主按钮。 */
  /* 主按钮底色：纯 --accent 上的白字 APCA 只有 Lc 56（14px w600，差 4 分）。
     往墨色混 12% 就够 —— 仍是同一支紫，肉眼分不出。 */
  --act-fill: color-mix(in oklab, var(--accent) 88%, var(--ink));
  --act-fill-hover: var(--accent-hover);
  --act-ink: var(--accent-ink);
}

/* ── APCA 修正（一）：--muted ──────────────────────────────────────────────
   闸门量的是 APCA：12px 文字要 Lc 60。稿件的小字色是按 WCAG 4.5:1 选的
   （#656e80 在 --bg 上 4.6:1）—— 两套口径在小字上会差档，实测 Lc 53–58。
   换成包自己的下一档墨色（--ink-2），语义仍是「次级文字」，不改包本体。 */
:root,
[data-theme="dark"] {
  --muted: var(--ink-2);
}

/* ── APCA 修正（二）：状态文字 ─────────────────────────────────────────
   warn / ok / danger 三个 *-text 在各自的淡底上只有 Lc 44–56（11px 药丸）。
   改成「颜色由淡底承担、文字用墨色」—— 这正是 ledger 包写明的规矩
   （「状态色只做记号，旁边的字用 --ink」），在 iris 的淡底上同样成立。
   只动浅色分支：深色分支实测都过（--muted 那一条除外，已在上面统一处理）。 */
:root:not([data-theme='dark']) {
  --warn-text: var(--ink);
  --ok-text: var(--ink);
  --danger-text: var(--ink);
}
