/*
 * 模块价值：紧凑说明访谈阶段用途与画布产出，把问答操作留在当前工作区。
 * 职责：拥有访谈阶段表单、Copilot 摘要、业务验收表单及画布待配置卡的4px基础节奏与呈现。
 * 输入：阶段状态、表单类名与草稿尺寸倍率；输出：可换行说明、44px 控件和两种主题下的可辨认边界。
 * 依赖：tokens.css；无数据、网络或业务副作用，不将信息覆盖视为业务通过。
 * 限制：本文件只能呈现状态；阶段转换、验收依据和保存结果仍由领域模块负责。
 */
.stage-purpose { margin: 0 0 16px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.stage-purpose-line { display: flex; align-items: center; gap: 4px 8px; flex-wrap: wrap; }
.stage-purpose-line > span { color: var(--muted); font-size: .87rem; overflow-wrap: anywhere; }
.stage-purpose-line > button { margin-left: 0; flex: none; }
.stage-purpose-line > .stage-canvas-output { padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: var(--soft); font-weight: 600; }
.stage-purpose-line > .stage-canvas-output.is-workflow { color: var(--accent); border-color: var(--accent); }
.stage-purpose-description { margin: 2px 0 0; color: var(--muted); font-size: .87rem; line-height: 1.6; overflow-wrap: anywhere; }
.stage-purpose-description span { display: inline-block; }
.stage-form { margin-top: 12px; }
.stage-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.stage-form legend { font-size: .93rem; font-weight: 600; margin-bottom: 8px; }
.stage-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.stage-option { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 4px 8px; padding: 12px; border: 1px solid var(--control-line); border-radius: 10px; cursor: pointer; overflow-wrap: anywhere; }
.stage-option input { grid-row: span 3; margin: 3px 0 0; }
.stage-option small { font-size: .8rem; line-height: 1.6; color: var(--muted); }
.stage-option .stage-option-output { font-weight: 600; color: var(--ink); }
.stage-option.is-selected { border-color: var(--accent); background: var(--soft); }
.stage-scope { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 12px; margin: 12px 0; }
.stage-scope label,.flow-criterion-form label { display: grid; gap: 8px; font-size: .87rem; min-width: 0; }
.stage-scope input,.stage-scope select,.flow-criterion-form select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--control-line); border-radius: 8px; background: var(--surface); color: var(--ink); }
.stage-form-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.flow-assessment { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 16px; }
.flow-assessment > details > summary { cursor: pointer; font-size: .93rem; margin: 4px 0; min-height: 44px; padding: 10px 0; }
.assessment-blockers { padding-left: 20px; font-size: .87rem; color: var(--muted); line-height: 1.7; }
.assessment-criterion { padding: 10px 0; border-bottom: 1px solid var(--line); }
.assessment-criterion > summary { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; cursor: pointer; min-height: 44px; align-items: center; }
.assessment-criterion > summary span { font-size: .8rem; color: var(--muted); }
.assessment-criterion p { font-size: .87rem; line-height: 1.6; overflow-wrap: anywhere; }
.flow-criterion-form { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 10px; }
.flow-criterion-form button { justify-self: start; }
/* 窄屏每项按 DOM 顺序单列；放大文字时不以截断维持卡片高度。 */
@media (max-width:720px) { .stage-options,.stage-scope,.flow-criterion-form { grid-template-columns: 1fr; } .stage-option small { max-width: none; } .stage-purpose-line { gap: 4px 8px; } }

/* Copilot 将阶段放进标题行，保留产出边界和返回入口，不重复访谈设置卡片。 */
.copilot-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; }
.copilot-stage-context { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; min-width: 0; font-size: .87rem; }
.copilot-stage-context strong,.copilot-stage-context span { overflow-wrap: anywhere; }
.copilot-stage-context .stage-canvas-output { color: var(--muted); }
.copilot-stage-context .stage-canvas-output.is-workflow { color: var(--accent); }
.copilot-stage-context .button { min-height: 44px; }
@media(max-width:720px) { .copilot-stage-context { gap: 4px 8px; } }
/* 桌面摘要用32px辅助操作控制高度；粗指针和窄屏保留44px点击区。 */
@media(min-width:721px) and (pointer:fine) {
  .stage-purpose-line > .button,.copilot-stage-context .button { min-height:32px; padding-block:4px; }
}

/* 待配置卡在世界坐标内承接落点；虚线和明确文案区分已保存业务节点，缩放不改变草稿事实。 */
.canvas-catalog-draft {
  --catalog-draft-unit:calc(1px * var(--catalog-draft-scale,1));
  position:absolute; z-index:3; display:flex; flex-direction:column; align-items:stretch;
  gap:calc(8 * var(--catalog-draft-unit)); padding:calc(12 * var(--catalog-draft-unit)) calc(16 * var(--catalog-draft-unit));
  border:1px dashed var(--control-line); border-radius:calc(12 * var(--catalog-draft-unit));
  background:var(--surface); color:var(--ink); text-align:left; cursor:move; user-select:none;
}
.canvas-catalog-draft-heading { display:flex; align-items:center; justify-content:space-between; gap:calc(8 * var(--catalog-draft-unit)); }
.canvas-catalog-draft-heading .ui-icon { width:calc(24 * var(--catalog-draft-unit)); height:calc(24 * var(--catalog-draft-unit)); color:var(--accent); flex:none; }
.canvas-catalog-draft-state { color:var(--warning); font-size:calc(11 * var(--catalog-draft-unit)); font-weight:600; line-height:1.5; }
.canvas-catalog-draft-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; font-size:calc(16 * var(--catalog-draft-unit)); font-weight:600; line-height:calc(20 * var(--catalog-draft-unit)); }
.canvas-catalog-draft-hint { margin-top:auto; color:var(--muted); font-size:calc(11 * var(--catalog-draft-unit)); line-height:calc(16 * var(--catalog-draft-unit)); }
.canvas-catalog-draft:hover { border-color:var(--accent); background:var(--soft); }
.canvas-catalog-draft:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-color:var(--focus); }

/* 待配置卡与正式引用共用选择反馈，虚线及状态仍说明尚未采用。 */
.canvas-catalog-draft.is-selected { outline:2px solid var(--accent); outline-offset:3px; border-color:var(--accent); }

/* 1.5.5未采用卡片仍是同一用途：图标、标题、状态分层，不以另一套鲜艳卡片暗示业务已成立。 */
.canvas-catalog-draft{font-family:inherit;border-color:var(--control-line);background:var(--surface);font-variant-numeric:tabular-nums}
.canvas-catalog-draft-heading .ui-icon{box-sizing:content-box;padding:calc(4 * var(--catalog-draft-unit));border-radius:calc(8 * var(--catalog-draft-unit));background:var(--paper)}
.canvas-catalog-draft-state{font-size:calc(10 * var(--catalog-draft-unit));font-weight:500}
.canvas-catalog-draft-title{font-weight:620;letter-spacing:-.018em}
.canvas-catalog-draft-hint{font-size:calc(10 * var(--catalog-draft-unit))}
.canvas-catalog-draft:hover{background:color-mix(in srgb,var(--paper) 65%,var(--surface))}
