/*
 * 模块价值：把三页的项目、我的项目入口与页面操作合并为同一密度的工作顶栏，让内容获得剩余空间。
 * 输入：canvas-header 移入的真实项目节点；输出：桌面紧凑顶栏、窄屏按语义换行。
 * 依赖：已有主题令牌；不改变按钮命令、保存状态或底部工具条，原型与生产共用。
 * 限制：长项目名和错误提示允许增加高度，不截断重要信息；交互目标维持至少 44px。
 */
.canvas-toolbar:has([data-canvas-project-slot] > *) {
  padding: 6px 16px;
  gap: 6px 12px;
}
.canvas-toolbar:has([data-canvas-project-slot] > *) .canvas-title-group {
  flex: 1 1 24rem;
  min-width: 0;
}
.canvas-heading-line,.canvas-meta-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  min-width: 0;
}
.canvas-toolbar:has([data-canvas-project-slot] > *) h1 { font-size: 1.1rem; line-height: 1.5; }
[data-canvas-project-slot] { min-width: 0; overflow-wrap: anywhere; font-size: .88rem; }
[data-canvas-project-slot]:not(:empty) { border-left: 1px solid var(--line); padding-left: 12px; }
[data-canvas-project-slot] .project-description { margin-left: 8px; }
/* 画布顶栏只保留项目名；保存状态与流程说明统一由底部状态栏呈现。 */
[data-canvas-project-slot] .project-description { display:none; }
.canvas-meta-line { margin-top: var(--space-1); }
.canvas-meta-line > .quiet-note { margin: 0; font-size: .8rem; }
[data-canvas-notice-slot] { min-width: 0; }
.canvas-toolbar #guest-notice {
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  font-size: .8rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
/* 临时状态已在同一行明确呈现，移除原项目副标题中的重复“未保存”。 */
.canvas-toolbar:has(#guest-notice:not([hidden])) .project-description { display: none; }
[data-canvas-project-actions] { display: contents; }
.canvas-toolbar #open-project-directory { font-size: .84rem; min-height: 44px; }
.canvas-toolbar #session-capture-indicator { align-self: center; }
/* 全屏模式仍能读到未保存提醒；离开此页面后原外壳隐藏规则继续生效。 */
.canvas-fullscreen .canvas-toolbar #guest-notice:not([hidden]) { display: block; }
/* 预览状态搬入页脚后持续可见；原本内存状态文案不再重复，占位不盖住工具条。 */
.app-footer:has(.prototype-label) > #local-status { display:none; }
.app-footer:has(.prototype-label) > .prototype-label { display:flex; align-items:center; align-self:center; min-height:24px; color:var(--muted); }
.canvas-fullscreen:has(.app-footer .prototype-label) .app-footer { display:flex; }
@media(max-width:720px) {
  .canvas-toolbar:has([data-canvas-project-slot] > *) { padding: 6px 16px; }
  .canvas-toolbar:has([data-canvas-project-slot] > *) .canvas-title-group { flex-basis: 100%; }
  .canvas-toolbar:has([data-canvas-project-slot] > *) .canvas-toolbar-actions { width: 100%; gap: 4px; }
  [data-canvas-project-slot] .project-description { display: none; }
}

/* 原生全屏的可用高度由浏览器提供，短窗/窄屏也按剩余空间分配，不重新缩放或移动节点。 */
.canvas-fullscreen.workbench:has(.canvas-page) { height:100dvh; min-height:0; }
.canvas-fullscreen .canvas-page { height:auto; min-height:0; }

/* 访谈与 Copilot 沿用画布的项目插槽和按钮身份，去掉独立项目条与重复介绍占用的两层空间。
   内容仍有自己的阅读边距；长项目名、录音和游客状态自然换行，不通过裁切伪造紧凑。 */
.interview-page,.copilot-page { padding-top:0; }
.workbench-heading.page-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--space-2) var(--space-3);
  min-height:56px;
  margin:0 calc(-1 * var(--page-gutter)) 16px;
  padding:6px var(--page-gutter);
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.page-title-group { flex:1 1 24rem; min-width:0; }
.page-heading-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; min-width:0; }
.page-toolbar h1 { font-size:1.1rem; line-height:1.5; }
.page-toolbar-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; min-width:0; }
.page-toolbar #open-project-directory { min-height:44px; font-size:.84rem; }
.page-toolbar #guest-notice { margin:2px 0 0; padding:0; border:0; background:transparent; font-size:.8rem; line-height:1.5; }
.page-toolbar #session-capture-indicator { align-self:center; }
@media(max-width:720px) {
  .workbench-heading.page-toolbar { margin-inline:-16px; padding-inline:16px; margin-bottom:12px; }
  /* 短名称与项目入口同排；只有真实长文字或录音状态才换行，避免固定多占一行。 */
  .page-title-group { flex:1 1 12rem; }
  .page-toolbar-actions { width:auto; flex:0 1 auto; gap:var(--space-2); }
  /* Copilot阶段是独立语义组；项目入口留在第一排，与另外两页对齐。 */
  .copilot-heading.page-toolbar .page-toolbar-actions { display:contents; }
  .copilot-heading.page-toolbar .copilot-stage-context { flex-basis:100%; order:1; }
}

/* 1.5.5：画布顶栏只保留标题/项目与操作；数量、权限和编辑提示统一归下方真实状态栏。 */
.canvas-toolbar .canvas-title-group{flex:1 1 auto;min-width:0}
.canvas-toolbar .canvas-heading-line{flex-wrap:nowrap}
.canvas-heading-line h1{white-space:nowrap}
.canvas-toolbar [data-canvas-project-slot]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-footer .canvas-status{display:flex;align-items:center;flex:1 1 auto;flex-wrap:wrap;gap:4px 14px;min-width:0;font-size:.75rem}
.app-footer .canvas-status-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.app-footer .canvas-status #guest-notice{margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-size:inherit;line-height:1.5}
.app-footer .canvas-status [data-canvas-notice-slot]{flex:1 1 auto;min-width:0}
.canvas-status .canvas-selection-count,.canvas-status .canvas-tool-hint,.canvas-status .canvas-boundary-note{position:static;inset:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:inherit}
.canvas-status .canvas-boundary-note{margin-left:auto}
.app-footer:has(.canvas-status)>span[data-ui-copy]{display:none}
.canvas-fullscreen:has(.canvas-page) .app-footer{display:flex}
/* 连线说明已由业务侧明确隐藏时同时释放占位，不能只隐藏文字而留下一整行空白。 */
.app-footer .canvas-legend-status:has(.canvas-legend-status-items[aria-hidden="true"]){display:none}
@media(max-width:720px){
 /* 窄屏的更多复用标题行右侧，四项项目操作各保留触达范围，避免多出第三行。 */
 .canvas-toolbar{position:relative;flex-wrap:wrap}
 .canvas-toolbar:has([data-canvas-project-slot] > *) .canvas-title-group{flex-basis:100%;min-height:44px;padding-right:52px}
 .canvas-toolbar:has([data-canvas-project-slot] > *) .canvas-toolbar-actions{position:static;width:100%;max-width:none;justify-content:space-between}
 .canvas-toolbar .canvas-toolbar-more{position:absolute;top:6px;right:16px}
 .canvas-toolbar .canvas-toolbar-more>summary{min-width:44px;min-height:44px}
 .canvas-toolbar-actions [data-action="canvas-fullscreen"] span{display:none}
 .canvas-toolbar [data-canvas-project-slot]{max-width:34vw}
 .app-footer:has(.canvas-status)>#local-status{min-height:24px}
 .app-footer .canvas-status{gap:3px 10px;font-size:.7rem}
 .canvas-status .canvas-boundary-note{display:none}
 .canvas-arrange-tool span{display:inline;font-size:.72rem}
}
