/* Surface-specific palettes supplied by the visual design handoff.
 * Geometry and semantic behavior stay owned by the application stylesheet. */
[data-ui-surface="canvas"] {
  /* 光影与语义四色钉住 :root 的现值：智能体 v3 色板已经罩到 body 级，
   * 画布主界面按用户裁定（2026-09-16）保持原样，不随新色板漂移。 */
  --inset-neutral: rgba(255, 255, 255, 0.045);
  --inset-cool: rgba(195, 225, 225, 0.055);
  --inset-warm: rgba(255, 214, 165, 0.06);
  --glow-cool: 0 0 10px -6px rgba(76, 148, 146, 0.22);
  --glow-warm: 0 0 10px -6px rgba(216, 130, 52, 0.22);
  --glow-warm-core: rgba(216, 130, 52, 0.40);
  --glow-warm-soft: rgba(216, 130, 52, 0.20);
  --ok: #5E9186;
  --ok-line: rgba(94, 145, 134, 0.40);
  --ok-wash: rgba(94, 145, 134, 0.10);
  --warn: #9A855A;
  --warn-line: rgba(154, 133, 90, 0.40);
  --warn-wash: rgba(154, 133, 90, 0.10);
  --bad: #9B5D55;
  --bad-line: rgba(155, 93, 85, 0.40);
  --bad-wash: rgba(155, 93, 85, 0.10);
  --info: #5E7E91;
  --info-line: rgba(94, 126, 145, 0.40);
  --info-wash: rgba(94, 126, 145, 0.10);
  --ink-0: #141517;
  --ink-1: #1B1C1F;
  --ink-1-hi: #1D1E22;
  --ink-2: #24262B;
  --ink-2-hi: #27292F;
  --ink-3: #30333B;
  --ink-3-hi: #333640;
  --ink-4: #191A1E;
  --ink-4-lo: #17181B;
  --ink-scrim: rgba(0, 0, 0, 0.32);
  --line-1: #24262C;
  --line-2: #32343C;
  --line-3: #454953;
  --text-1: #E4E5EB;
  --text-2: #B7BAC5;
  --text-3: #959BA8;
  --text-4: #646975;
  --edge-cool-hi: #464B55;
  --edge-cool-mid: #3B3F48;
  --edge-cool-lo: #343840;
  --edge-cool-sel-hi: #697586;
  --edge-cool-sel-mid: #5B6575;
  --edge-cool-sel-lo: #505A68;
  --surface-warm: #282F3D;
  --surface-warm-hi: #2D3545;
  --edge-warm-hi: #566680;
  --edge-warm-mid: #4B5A73;
  --edge-warm-lo: #414F66;
  --surface-warm-sel: #2B2A32;
  --surface-warm-sel-hi: #2E2D36;
  --edge-warm-sel-hi: #8BADFB;
  --edge-warm-sel-mid: #819DDD;
  --edge-warm-sel-lo: #728BC5;
  --warm-1: #CEDCFA;
  --warm-2: #AABDDD;
  --canvas-reference-slot-hover-border: var(--edge-cool-sel-hi);
  --canvas-reference-slot-group-hover-border: var(--line-3);
  --canvas-wire-idle-end: #788391;
  --canvas-wire-idle-mid: #626C7A;
  --canvas-wire-active-end: #A0B8E9;
  --canvas-wire-active-mid: #859BC5;
  --canvas-wire-gloss: rgba(181, 203, 244, 0.12);
  --canvas-glow-warm: rgba(139, 173, 251, 0);
  /* Konva consumes these as literal colors rather than through CSS paint. */
  --canvas-reference-connection-default-stroke: #788391;
  --canvas-reference-connection-muted-stroke: #626C7A;
  --canvas-reference-connection-dimmed-stroke: #343840;
  --canvas-reference-label-default-back: #30333B;
  --canvas-reference-label-default-stroke: #3B3F48;
  --canvas-reference-label-default-text: #B7BAC5;
  --canvas-reference-label-highlight-back: #2B2A32;
  --canvas-reference-label-highlight-stroke: #8BADFB;
  --canvas-reference-label-muted-back: #1B1C1F;
  --canvas-reference-label-muted-stroke: #343840;
  --canvas-reference-label-muted-text: #959BA8;
  --canvas-port-idle-hi: #697586;
  --canvas-port-idle-mid: #5B6575;
  --canvas-port-idle-lo: #505A68;
  --canvas-port-active-hi: #8BADFB;
  --canvas-port-active-mid: #819DDD;
  --canvas-port-active-lo: #728BC5;
  --canvas-port-fill-empty: #141517;
  --canvas-port-ring: #141517;
  --canvas-port-ring-empty: #5B6575;
  --canvas-card-surface: #25262C;
  --canvas-card-surface-hi: #282A30;
  --canvas-card-surface-sel: #2B2932;
  --canvas-card-surface-sel-hi: #2E2C36;
  --canvas-card-media-back: #12161A;
  --canvas-card-seam: #363640;
  --canvas-card-radius: 8px;
  --canvas-card-stroke-width: 1px;
  --canvas-card-stroke-width-selected: 1px;
  --canvas-card-selection-glow-blur: 0px;
  --canvas-card-selection-glow-opacity: 0;
}

/* ================= 智能体 · 云游鲸四页 v3 交付包 =================
 * 来源：云游鲸-智能体四页UI设计配色-技术交付-v3（theme/dist/theme.scoped.css）。
 * 蓝灰底 + 香槟金强调；基础 64 变量与自由画布包的画布变量保持一致。
 * 罩到 body 级（用户裁定 2026-09-16）：顶栏、左侧栏、项目中枢、系统设置、
 * 登录页、浮层与对话框全部跟随新色板，不再按页面切换；唯一例外是画布
 * 主界面——#asset-canvas 自带 data-ui-surface="canvas" 作用域，把画布
 * 自己的色板连同光影、语义四色一起钉住，画布外观保持原样。 */
[data-ui-surface="agent"],
body {
  --ink-0: #12171C; /* 页面和画布最深底 */
  --ink-0: #12171C; /* 页面和画布最深底 */
  --ink-1: #202831; /* 侧栏、面板、浮层 */
  --ink-1-hi: #252F39; /* ink-1 顶部受光 */
  --ink-2: #263039; /* 卡片、按钮、列表行 */
  --ink-2-hi: #2B3741; /* ink-2 顶部受光 */
  --ink-3: #32414B; /* 悬停、抬升面 */
  --ink-3-hi: #394C56; /* ink-3 顶部受光 */
  --ink-4: #151D24; /* 输入框、凹陷面、媒体底 */
  --ink-4-lo: #121A20; /* 凹陷面底边 */
  --ink-scrim: rgba(8, 9, 12, 0.34); /* 遮罩、媒体覆盖层 */
  --line-1: #2C3945; /* 同色面缝线 */
  --line-2: #34434E; /* 分隔线 */
  --line-3: #4C5B67; /* 压在图片上的实边 */
  --text-1: #EFF1F2; /* 正文主文字 */
  --text-2: #BDC7CE; /* 次要文字 */
  --text-3: #87949D; /* 弱化文字、标签 */
  --text-4: #6D7D86; /* 禁用文字 */
  --edge-cool-hi: #536571; /* 普通冷边顶端 */
  --edge-cool-mid: #475762; /* 普通冷边中段 */
  --edge-cool-lo: #3A4853; /* 普通冷边底端 */
  --edge-cool-sel-hi: #81A9BD; /* 冷强调顶端 */
  --edge-cool-sel-mid: #6C93A7; /* 冷强调中段 */
  --edge-cool-sel-lo: #527B8D; /* 冷强调底端 */
  --surface-warm: #342D24; /* 起作用但未选中 */
  --surface-warm-hi: #393126; /* 暖面顶端受光 */
  --edge-warm-hi: #A48457; /* 暖边顶端 */
  --edge-warm-mid: #8C704B; /* 暖边中段 */
  --edge-warm-lo: #735B3E; /* 暖边底端 */
  --surface-warm-sel: #35312C; /* 选中面 */
  --surface-warm-sel-hi: #3C362E; /* 选中面顶端受光 */
  --edge-warm-sel-hi: #D1AD73; /* 选中暖边顶端 */
  --edge-warm-sel-mid: #B9955F; /* 选中暖边中段 */
  --edge-warm-sel-lo: #A48457; /* 选中暖边底端 */
  --warm-1: #EED1A0; /* 选中文字和图标 */
  --warm-2: #D1AD73; /* 起作用但未选中的文字和图标 */
  --ok: #7DB8A8; /* 成功文字和图标 */
  --ok-line: rgba(125, 184, 168, 0.40); /* 成功边 */
  --ok-wash: rgba(125, 184, 168, 0.10); /* 成功淡底 */
  --warn: #9A855A; /* 警告文字和图标 */
  --warn-line: rgba(154, 133, 90, 0.40); /* 警告边 */
  --warn-wash: rgba(154, 133, 90, 0.10); /* 警告淡底 */
  --bad: #9B5D55; /* 失败文字和图标 */
  --bad-line: rgba(155, 93, 85, 0.40); /* 失败边 */
  --bad-wash: rgba(155, 93, 85, 0.10); /* 失败淡底 */
  --info: #81A9BD; /* 信息文字和图标 */
  --info-line: rgba(129, 169, 189, 0.40); /* 信息边 */
  --info-wash: rgba(129, 169, 189, 0.10); /* 信息淡底 */
  --canvas-wire-idle-end: #788391; /* 普通连线两端 */
  --canvas-wire-idle-mid: #626C7A; /* 普通连线中段 */
  --canvas-wire-active-end: #A0B8E9; /* 选中连线两端 */
  --canvas-wire-active-mid: #859BC5; /* 选中连线中段 */
  --canvas-wire-gloss: rgba(181, 203, 244, 0.12); /* 选中连线高光 */
  --canvas-glow-warm: rgba(139, 173, 251, 0); /* Konva 选中泛光 */
  --canvas-card-surface: #25262C; /* 画布卡普通面 */
  --canvas-card-surface-hi: #282A30; /* 画布卡普通面顶端受光 */
  --canvas-card-surface-sel: #2B2932; /* 画布卡选中面 */
  --canvas-card-surface-sel-hi: #2E2C36; /* 画布卡选中面顶端受光 */
  --canvas-card-media-back: #12161A; /* 卡片媒体底 */
  --canvas-card-seam: #363640; /* 卡片内部缝线 */
  --canvas-card-radius: 8px; /* 画布卡圆角 */
  --canvas-card-stroke-width: 1px; /* 画布卡边宽 */
  --canvas-card-stroke-width-selected: 1px; /* 选中画布卡边宽 */
  --canvas-card-selection-glow-blur: 0px; /* 选中画布卡泛光模糊 */
  --canvas-card-selection-glow-opacity: 0; /* 选中画布卡泛光透明度 */
  --agent-page: #12171C;
  --agent-nav: #171D23;
  --agent-topbar: #1B2229;
  --agent-panel: #202831;
  --agent-panel-hi: #252F39;
  --agent-work: #1B242D;
  --agent-control: #263039;
  --agent-field: #151D24;
  --agent-field-hi: #1A232D;
  --agent-seam: #2C3945;
  --agent-edge: #34424F;
  --agent-text: #EFF1F2;
  --agent-text-secondary: #BDC7CE;
  --agent-text-muted: #87949D;
  --agent-gold: #D1AD73;
  --agent-gold-strong: #EED1A0;
  --agent-gold-wash: #342D24;
  --agent-gold-border: #A48457;
  --agent-primary-button: #B9955F;
  --agent-primary-button-text: #171A1C;
  --agent-blue: #81A9BD;
  --agent-blue-wash: #20313A;
  --agent-success: #7DB8A8;
  --agent-media-back: #142229;
  /* 光影令牌随色板换代：老 :root 的冷光偏青绿、暖光是亮橙，v3 的两族是
   * 雾蓝和香槟金。--glow-ring-warm 不用重写：它由 core/soft 两个变量拼成，
   * 在元素上取值时自然落到这里的金色。 */
  --inset-cool: rgba(190, 216, 230, 0.055);
  --inset-warm: rgba(238, 209, 160, 0.06);
  --glow-cool: 0 0 10px -6px rgba(129, 169, 189, 0.22);
  --glow-warm: 0 0 10px -6px rgba(209, 173, 115, 0.22);
  --glow-warm-core: rgba(209, 173, 115, 0.40);
  --glow-warm-soft: rgba(209, 173, 115, 0.20);
}

/* 外壳三面按交付包映射换底（docs/page-mapping.md：页面底 / 导航 / 顶部栏），
 * 全站恒定，不随页面切换：页面底走 .app 与 .page-wrap 已有的 var(--ink-0)
 * （= --agent-page），无需另写；侧栏和顶栏的底不是 ink-1，而是各自的组件
 * 面，这里显式指到交付包的组件变量。 */
body .sidebar { background: var(--agent-nav); }
body .topbar { background: var(--agent-topbar); }
