/* ==================================================================
   mindmap5.3 · css/app-mode.css —— 应用模式与完全脑图悬浮面板
   ================================================================== */
.map-library-dialog button:focus-visible {
  outline: var(--ui-focus-width) solid var(--ui-accent); outline-offset: var(--ui-focus-offset);
}
#map-library-trigger { flex: none; }
#map-library-trigger[hidden], [data-shell-view][hidden] { display: none !important; }
html[data-app-mode="mindmap"] #reader-panel,
html[data-app-mode="mindmap"] #reading-manager,
html[data-app-mode="mindmap"] #topbar-zone-b,
html[data-app-mode="mindmap"] #topbar-zone-c,
html[data-app-mode="mindmap"] .shell-modes { display: none !important; }
html[data-app-mode="mindmap"] { --reader-right-inset: 0px !important; }
html[data-app-mode="mindmap"] body.shell-ready #stage { display: block; right: 0; }
html[data-app-mode="mindmap"] .topbar-zone-a { flex: 1; }
html[data-app-mode="mindmap"] #mdpanel { right: var(--md-right-inset); }
@media (min-width: 901px) {
  html[data-app-mode="mindmap"] body.shell-ready #mdpanel { width: var(--map-md-width) !important; max-width: none; min-width: 0; }
  html[data-app-mode="mindmap"] #outline-panel { width: var(--map-outline-width) !important; max-width: none; min-width: 0; }
}
.map-library-dialog {
  color: var(--ui-text); background: var(--ui-panel); border: 1px solid var(--ui-border);
  border-radius: var(--ui-panel-radius); box-shadow: var(--ui-shadow-aux);
  width: min(var(--map-library-max-w), calc(100vw - 32px)); max-height: 80dvh; padding: 16px; box-sizing: border-box;
  font: var(--ui-font-size)/var(--ui-line-height) var(--ui-font);
}
.map-library-dialog::backdrop { background: var(--manager-scrim); }
.map-library-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.map-library-list { overflow: auto; max-height: 58dvh; margin-top: 12px; }
.map-library-row { display: flex; gap: 4px; border-top: 1px solid var(--ui-border); padding: 6px 0; }
.map-library-name { flex: 1; min-width: 0; text-align: left; overflow: hidden; text-overflow: ellipsis; }
.map-library-status { color: var(--ui-muted); margin-bottom: 0; }
@media (max-width: 900px) {
  html[data-app-mode="mindmap"] .shell-view[data-shell-view="md"] { display: block; }
  html[data-app-mode="mindmap"] .shell-views { flex: none; }
  html[data-app-mode="mindmap"] #map-library-trigger { min-width: 44px; height: 44px; }
  html[data-app-mode="mindmap"] body.shell-ready #mdpanel { width: min(420px, 94vw) !important; right: 0; }
  .map-library-row button { min-height: 44px; }
}
.map-library-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.map-action-dialog { max-width: 440px; }
.map-action-dialog h2 { font-size: 18px; }
.map-action-dialog input {
  box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 12px;
  color: var(--ui-text); background: var(--ui-input-bg); border: 1px solid var(--ui-border); border-radius: var(--ui-input-radius);
  font: inherit;
}

/* 导图库把当前名称、保存结果和文件备份放在同一处，手机保留完整文字操作。 */
.map-library-trigger-group { display: flex; flex-direction: column; align-items: center; flex: none; min-width: 0; }
.map-library-trigger-group[hidden] { display: none; }
.map-library-trigger-status { color: var(--ui-muted); font-size: 10px; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-library-current { font-weight: 600; margin: 16px 0 4px; overflow-wrap: anywhere; }
.map-library-save-status, .map-library-detail { color: var(--ui-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.map-library-save-status { margin: 0 0 12px; }
.map-library-toolbar, .map-library-tabs, .map-library-row-actions { display: flex; gap: var(--ui-control-gap); flex-wrap: wrap; }
.map-library-tabs { margin-top: 16px; border-bottom: 1px solid var(--ui-border); padding-bottom: 8px; }
.map-library-info { flex: 1; min-width: 0; }
.map-library-name { display: block; width: 100%; white-space: normal; overflow-wrap: anywhere; }
.map-library-name[aria-pressed="true"] { color: var(--ui-accent); font-weight: 600; }
.map-library-detail { padding: 0 10px; }
.map-library-row { align-items: center; padding: 10px 0; }
.map-library-list { max-height: 38dvh; }
.map-library-status, .map-library-empty { font-size: 12px; line-height: 1.7; }
.map-library-dialog .map-library-danger, .map-library-save-status.is-error, .map-library-trigger-status.is-error { color: var(--ui-danger); }
@media (max-width: 900px) {
  .map-library-dialog button { min-height: 44px; }
  .map-library-row { flex-wrap: wrap; }
  .map-library-info { flex-basis: 100%; }
  .map-library-row-actions { margin-left: auto; }
  .map-library-trigger-status { max-width: 100px; }
  html[data-app-mode="mindmap"] #map-library-trigger { height: 44px; min-height: 44px; padding-bottom: 12px; }
  .map-library-trigger-group { position: relative; min-height: 44px; justify-content: center; }
  .map-library-trigger-status { position: absolute; bottom: 1px; pointer-events: none; }
}
