/* ==================================================================
   mindmap5.3 · reader-topbar.css —— 阅读 B/C 分区与主题协调的覆盖面板
   只消费独立 UI 令牌；原书排版、标记色与导图内容样式不在本文件内。
   ================================================================== */
.reader-topbar-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; flex:none; min-height:var(--ui-control-h); padding:5px 7px; border:1px solid transparent; border-radius:var(--ui-button-radius); color:var(--ui-text); background:transparent; font:400 11px/var(--ui-button-line-height) var(--ui-font); white-space:nowrap; cursor:pointer; }
.reader-topbar-button:hover:not(:disabled),.reader-topbar-button[aria-pressed="true"],.reader-topbar-button[aria-expanded="true"] { color:var(--ui-accent); background:var(--ui-accent-soft); }
.reader-topbar-button:disabled { opacity:var(--ui-disabled-opacity); cursor:default; }
.reader-topbar-button:focus-visible,.reader-topbar-overflow summary:focus-visible { outline:var(--ui-focus-width) solid var(--ui-accent); outline-offset:var(--ui-focus-offset); box-shadow:var(--ui-focus); }
.reader-topbar-button svg { width:18px; height:18px; flex:none; }
.reader-topbar-icon { min-width:var(--ui-icon-button-size); width:var(--ui-icon-button-size); height:var(--ui-icon-button-size); padding:5px; }
.reader-topbar-direct { display:flex; align-items:center; gap:1px; width:max-content; }
.reader-topbar-direct[hidden],.reader-topbar-overflow[hidden],.reader-topbar-button[hidden],.reader-legacy-tools { display:none!important; }
.reader-topbar-overflow { position:relative; }
.reader-topbar-overflow summary { padding:7px 10px; list-style:none; border-radius:var(--ui-button-radius); color:var(--ui-text); font:400 12px/var(--ui-line-height) var(--ui-font); white-space:nowrap; cursor:pointer; }
.reader-topbar-overflow summary::-webkit-details-marker { display:none; }
.reader-topbar-overflow summary::after { content:'⌄'; margin-left:6px; }
.reader-topbar-overflow[open] summary,.reader-topbar-overflow summary:hover { background:var(--ui-hover-bg); color:var(--ui-accent); }
.reader-topbar-menu { position:absolute; top:calc(100% + 8px); right:0; z-index:var(--z-menubar); display:flex; flex-direction:column; gap:2px; min-width:174px; max-height:min(65vh,420px); overflow:auto; padding:6px; border:1px solid var(--ui-border); border-radius:var(--ui-panel-radius); background:var(--ui-panel); box-shadow:var(--ui-shadow); }
.reader-topbar-menu .reader-topbar-button { justify-content:flex-start; min-height:var(--ui-control-h); padding:9px 12px; font-size:12px; }
body.reader-topbar-active #reader-panel>.reader-chrome { display:none!important; }
body.reader-topbar-active #reader-panel .reader-tool-view { width:min(var(--ui-panel-width),100%); bottom:0; color:var(--ui-text); background:var(--ui-panel); box-shadow:var(--ui-shadow-aux); font:var(--ui-font-size)/var(--ui-line-height) var(--ui-font); }
body.reader-topbar-active #reader-panel .reader-tool-view-head { height:var(--ui-panel-header-h); min-height:var(--ui-panel-header-h); padding:var(--ui-panel-header-padding); background:var(--ui-panel); }
body.reader-topbar-active #reader-panel .reader-tool-view-head button { min-width:32px; min-height:32px; }
body.reader-topbar-active #reader-tool-view[data-active="documents"] #reader-catalog-add { display:inline-block; }
body.reader-topbar-active #reader-tool-view>[data-view-panel] { flex:1; min-height:0; padding:var(--ui-panel-body-padding); overscroll-behavior:contain; scrollbar-width:thin; }
body.reader-topbar-active #reader-tool-view>[data-view-panel="quick"] { display:flex; flex-direction:column; overflow:hidden; padding:0; }
.reader-quick-tabs { display:flex; flex:none; align-items:center; gap:4px; padding:15px 16px 9px; border-bottom:1px solid var(--ui-border); }
#reader-tool-view .reader-quick-tab { flex:1; min-height:var(--ui-control-h); border-color:transparent; background:transparent; color:var(--ui-muted); font-size:12px; }
#reader-tool-view .reader-quick-tab[aria-selected="true"] { color:var(--ui-accent); border-color:transparent; background:var(--ui-pressed-bg); }
#reader-tool-view .reader-quick-tab:disabled { opacity:var(--ui-disabled-opacity); cursor:default; }
.reader-quick-view>[data-quick-panel] { flex:1; min-height:0; overflow:auto; padding:var(--ui-panel-body-padding); overscroll-behavior:contain; }
.reader-quick-placeholder { padding:56px 12px!important; text-align:center; color:var(--ui-muted); font-size:12px; line-height:1.9; }
.reader-quick-placeholder strong { display:block; font-size:14px; color:var(--ui-text); font-weight:500; }
#reader-view-settings .reader-settings-grid { display:flex; flex-direction:column; gap:14px; }
#reader-view-settings .reader-setting-card { padding:15px 14px; border:1px solid var(--ui-border); border-radius:var(--ui-group-radius); background:color-mix(in srgb,var(--ui-bg) 60%,var(--ui-panel)); }
#reader-view-settings .reader-setting-card h3 { margin:0 0 13px; color:var(--ui-text); font:650 12px/var(--ui-line-height) var(--ui-font); }
#reader-view-settings .reader-setting-card>label { font-size:12px; gap:10px; margin-bottom:21px; }
#reader-view-settings .reader-setting-card>label:last-child { margin-bottom:0; }
#reader-view-settings .reader-setting-native, #reader-view-settings .reader-setting-label-copy { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); }
#reader-view-settings .reader-setting-native:focus { position:static; width:100%; height:var(--ui-input-h); margin:0; clip-path:none; }
.reader-setting-segments { display:flex; gap:5px; padding:3px; border:1px solid var(--ui-border); border-radius:var(--ui-section-radius); background:var(--ui-panel); }
#reader-view-settings .reader-setting-segments button { flex:1; min-height:var(--ui-control-h); font-size:11px; padding:5px; background:transparent; border-color:transparent; }
#reader-view-settings .reader-setting-segments button[aria-pressed="true"] { background:var(--ui-pressed-bg); color:var(--ui-accent); border-color:transparent; }
.reader-setting-swatches { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 8px; padding-top:3px; }
#reader-view-settings .reader-setting-swatches button { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:7px; min-width:0; min-height:64px; padding:3px; color:var(--ui-muted); background:transparent; border:1px solid transparent; border-radius:var(--ui-button-radius); font-size:10px; }
#reader-view-settings .reader-setting-swatches button::before { content:''; display:block; width:38px; height:38px; border:1px solid var(--ui-border); border-radius:50%; background:var(--reader-swatch,var(--ui-panel)); }
#reader-view-settings .reader-setting-swatches button[aria-pressed="true"] { color:var(--ui-accent); border-color:transparent; background:transparent; }
#reader-view-settings .reader-setting-swatches button[aria-pressed="true"]::before { outline:2px solid var(--ui-accent); outline-offset:3px; }
#reader-view-settings .reader-setting-swatches button:disabled { opacity:var(--ui-disabled-opacity); }
.reader-setting-swatches [data-value="sepia"] { --reader-swatch:#f2ead8; }.reader-setting-swatches [data-value="light"] { --reader-swatch:#fff; }.reader-setting-swatches [data-value="gray"] { --reader-swatch:#e7e7e4; }.reader-setting-swatches [data-value="sage"] { --reader-swatch:#e4ecdf; }.reader-setting-swatches [data-value="blue"] { --reader-swatch:#e5edf4; }.reader-setting-swatches [data-value="rose"] { --reader-swatch:#f3e7e8; }.reader-setting-swatches [data-value="dark"] { --reader-swatch:#17202a; }
#reader-view-settings .reader-setting-typography input[type="range"] { width:100%; height:20px; min-height:20px; margin:0; padding:0; border:0; accent-color:var(--ui-accent); cursor:pointer; }
#reader-view-settings .reader-setting-typography>label { color:var(--ui-text); gap:var(--ui-toolbar-gap); margin-bottom:var(--ui-row-gap); }
#reader-view-settings .reader-setting-typography>label:last-child { margin-bottom:0; }
#reader-view-settings .reader-setting-typography .reader-setting-page-controls { margin-bottom:var(--ui-row-gap); }
#reader-view-settings .reader-setting-typography>label:has(input[type="range"]) { grid-template-columns:1fr auto; }
#reader-view-settings .reader-setting-typography input[type="range"] { grid-column:1 / -1; }
#reader-view-settings .reader-setting-typography output { margin:0; text-align:right; color:var(--ui-muted); font:400 11px/var(--ui-line-height) var(--ui-font); }
#reader-view-settings .reader-word-bg-setting { padding:12px 0 0; margin-top:14px; border-top:1px solid var(--ui-border); }
.reader-setting-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#reader-view-settings .reader-setting-entry { min-height:var(--ui-control-h); padding:var(--ui-button-padding); font-size:11px; white-space:normal; }
/* 设置面板与共用顶栏使用同一字形；色块、数值和分组标题不叠加装饰。 */
#reader-view-settings .reader-setting-icon-text { display:inline-flex; align-items:center; justify-content:flex-start; gap:var(--ui-control-gap); min-width:0; text-align:left; }
#reader-view-settings .reader-setting-icon-text svg,#reader-tool-view [data-view-close] svg { width:18px; height:18px; flex:none; }
#reader-view-settings .reader-setting-text { min-width:0; overflow-wrap:anywhere; }
#reader-view-settings button.reader-setting-icon-text { min-height:var(--ui-control-h); }
#reader-view-settings button.reader-setting-icon-text[hidden] { display:none!important; }
#reader-view-settings button.reader-setting-icon-text:disabled { opacity:var(--ui-disabled-opacity); cursor:default; }
#reader-view-settings button.reader-setting-icon-text:focus-visible { outline:var(--ui-focus-width) solid var(--ui-accent); outline-offset:var(--ui-focus-offset); box-shadow:var(--ui-focus); }
.reader-setting-page-controls { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.reader-setting-page-controls .reader-page-field input { width:44px; height:32px; border:1px solid var(--ui-input-border); border-radius:6px; color:var(--ui-text); background:var(--ui-input-bg); text-align:center; }
.reader-setting-page-controls .reader-tool-group { flex-wrap:wrap; border:0; padding:3px 0; gap:5px; }
#reader-view-settings .reader-setting-document .reader-file { display:flex; flex-direction:column; align-items:stretch; gap:9px; max-width:none; }
#reader-view-settings .reader-setting-document .reader-file strong,#reader-view-settings .reader-setting-document .reader-file span { display:block; white-space:normal; overflow-wrap:anywhere; font-size:11px; line-height:1.8; }
#reader-view-settings .reader-setting-document #reader-cancel-open { width:auto; padding:7px 12px; margin-top:12px; }
.reader-setting-save { display:flex; flex-direction:column; gap:7px; }
#reader-view-settings .reader-setting-reset,#reader-view-settings .reader-setting-retry { min-height:var(--ui-control-h); font-size:12px; padding:var(--ui-button-padding); border:1px solid var(--ui-border); }
.reader-setting-save-status { margin:0; color:var(--ui-muted); font-size:11px; line-height:1.8; }
.reader-setting-save-status[data-status="error"] { color:var(--ui-danger); }
.reader-width-field { display:grid; grid-template-columns:1fr auto; gap:14px; font-size:12px; color:var(--ui-text); }
.reader-width-field output { color:var(--ui-muted); font:11px var(--ui-font-mono); }.reader-width-field input { grid-column:1/-1; width:100%; height:20px; margin:0; padding:0; border:0; accent-color:var(--ui-accent); }
@media(max-width:900px) {
  body.reader-topbar-active #reader-view-settings button.reader-setting-icon-text { min-height:var(--ui-touch-target); }
  #topbar-zone-b,#topbar-zone-c { display:none!important; }
  body.reader-topbar-active #reader-panel .reader-tool-view { width:min(var(--ui-panel-width),100vw); max-width:100%; }
  body.reader-topbar-active #reader-tool-view .reader-topbar-button,body.reader-topbar-active #reader-tool-view .reader-setting-entry,body.reader-topbar-active #reader-tool-view .reader-quick-tab,body.reader-topbar-active #reader-tool-view .reader-setting-reset,body.reader-topbar-active #reader-tool-view .reader-setting-retry { min-height:44px; }
  body.reader-topbar-active #reader-tool-view .reader-tool-view-head button { min-width:44px; min-height:44px; }
  body.reader-topbar-active #reader-panel .reader-tool-view-head { min-height:var(--ui-panel-header-touch-h); height:var(--ui-panel-header-touch-h); }
  body.reader-topbar-active #reader-tool-view>[data-view-panel], .reader-quick-view>[data-quick-panel] { padding:16px; }
  body.reader-topbar-active #reader-tool-view>[data-view-panel="quick"] { padding:0; }
  #reader-view-settings .reader-setting-segments button { min-height:var(--ui-touch-target); }
  #reader-view-settings .reader-setting-typography input[type="range"] { min-height:32px; height:32px; }
}

/* 淡紫阅读背景与正文 runtime 共用同一色值。 */
.reader-setting-swatches [data-value="lavender"] { --reader-swatch:#ece7f4; }

/* 脑图来源开关使用整行标签，触摸时也可点按文字切换。 */
#reader-view-settings .reader-setting-source-toggle { display:flex; align-items:center; min-height:44px; cursor:pointer; }
#reader-view-settings .reader-setting-source-toggle input { width:18px; height:18px; margin:0; flex:none; }

/* 完全脑图的“更多”动作直接展开；窄屏只滚动顶栏，不挤压画布或隐藏动作。 */
.mindmap-topbar-tools { display: flex; flex: none; align-items: center; gap: var(--ui-toolbar-gap); }
.mindmap-topbar-tools[hidden] { display: none; }
html[data-app-mode="mindmap"] body.toolbar-ready #menubar { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
html[data-app-mode="mindmap"] body.toolbar-ready #menubar .topbar-zone-a { flex: none; min-width: max-content; }
html[data-app-mode="mindmap"] body.toolbar-ready #menubar .shell-views { flex: none; }
html[data-app-mode="mindmap"] body.toolbar-ready #menubar .shell-view { flex: none; }

html[data-app-mode="mindmap"] body.toolbar-ready #menubar .topbar-zone-a .shell-label { display: inline; }
