/*
 * Reading-first knowledge workspace.
 * Categories stay compact, the note index behaves like an index, and the article owns the page.
 */
html[data-app-rail="knowledge"] .kb-layout {
  grid-template-columns: 196px minmax(300px, 336px) minmax(0, 1fr);
  gap: 0;
  padding: 10px 12px;
  filter: none;
}

html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-layout { grid-template-columns: 218px minmax(0,1fr) 286px; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"] .kb-layout { grid-template-columns:238px minmax(330px,1fr) minmax(330px,1fr) 226px; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"][data-knowledge-context="collapsed"] .kb-layout { grid-template-columns:238px minmax(330px,1fr) minmax(330px,1fr); }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-layout { grid-template-columns:212px minmax(260px,290px) minmax(360px,1fr) minmax(360px,1fr); }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-layout.is-list-collapsed { grid-template-columns:212px minmax(360px,1fr) minmax(360px,1fr); }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-context-pane { display:none !important; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-context="collapsed"] .kb-layout { grid-template-columns:238px minmax(0,1fr); }
html[data-app-rail="knowledge"][data-knowledge-context="collapsed"] .kb-context-pane { display:none !important; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-list-pane,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-list-reopen,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-collect-controls,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-sidebar-tools,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-category-pane,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-sidebar-footer,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-doc-category-field { display:none !important; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-vault-tree,
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-vault-tools { display:none !important; }
html[data-app-rail="knowledge"] .kb-editor-pane:not(.is-empty) { grid-template-rows:36px auto minmax(0,1fr) auto; }
html[data-app-rail="knowledge"] .kb-editor-pane.is-empty .kb-editor-tabs { display:none; }
.kb-workspace-switch { display:grid; grid-template-columns:1fr 1fr; margin:10px 0 8px; padding:2px; border-radius:6px; background:var(--sv-color-selection-bg); }
.kb-workspace-switch button { min-height:28px; border:0; border-radius:4px; color:var(--sv-color-text-faint); background:transparent; font:600 11px/1 inherit; cursor:pointer; }
.kb-workspace-switch button b { margin-left:4px;color:var(--sv-color-text-muted);font:650 9px/1 inherit;font-variant-numeric:tabular-nums; }
.kb-workspace-switch button[aria-selected="true"] b { color:var(--sv-color-text-faint); }
.kb-workspace-switch button[aria-selected="true"] { color:var(--sv-color-text); background:var(--sv-color-surface); box-shadow:0 1px 3px rgba(54,45,34,.1); }
.kb-vault-tools { display:flex; align-items:center; gap:4px; margin-bottom:6px; }
.kb-vault-tools button { min-height:26px; padding:0 7px; border:0; border-radius:4px; color:var(--sv-color-text-faint); background:transparent; font-size:10.5px; cursor:pointer; }
.kb-vault-tools button:hover { color:var(--sv-color-text); background:var(--sv-color-selection-bg); }
.kb-vault-tree { min-height:0; flex:1; overflow:auto; padding:2px 0 16px; scrollbar-width:none; -ms-overflow-style:none; }
.kb-vault-tree::-webkit-scrollbar { display:none; width:0; height:0; }
.kb-vault-folder { margin:0; }
.kb-vault-folder > summary {
  display:flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 4px 0 calc(5px + var(--depth) * 13px);
  color:var(--sv-color-text);
  font-size:12.5px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.kb-vault-folder > summary::-webkit-details-marker { display:none; }
.kb-vault-folder:not([open]) > summary .kb-vault-folder-caret { transform:rotate(-90deg); }
.kb-vault-folder > summary .kb-vault-folder-caret { color:var(--sv-color-text-muted); font-size:8px; transition:transform .16s ease; }
.kb-vault-folder > summary .kb-vault-folder-name { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kb-vault-file { display:flex; width:100%; align-items:center; gap:6px; min-height:26px; padding:0 7px 0 calc(8px + var(--depth) * 13px); overflow:hidden; border:0; border-radius:4px; color:var(--sv-color-text-faint); background:transparent; font:500 11px/1.25 inherit; text-align:left; white-space:nowrap; text-overflow:ellipsis; cursor:pointer; }
.kb-vault-file span { color:var(--sv-color-text-muted); font-size:8px; }
.kb-vault-file:hover { color:var(--sv-color-text); background:var(--sv-color-selection-bg); }
.kb-vault-file.active { color:var(--sv-color-text); background:var(--sv-color-selection-bg); font-weight:600; }
.kb-vault-file.is-multi {
  color:var(--sv-color-text);
  background:rgba(88,118,78,.14);
  box-shadow:inset 3px 0 0 #6f8b68;
}
.kb-vault-file.is-multi.active {
  background:rgba(88,118,78,.2);
}
.kb-vault-note-group { margin:0; }
.kb-vault-note-group > summary { list-style:none; }
.kb-vault-note-group > summary::-webkit-details-marker { display:none; }
.kb-vault-note-group > summary.kb-vault-parent-note { font-size:11.25px; font-weight:600; color:var(--sv-color-text-faint); }
.kb-vault-note-group > summary b { min-width:0;flex:1;overflow:hidden;font:inherit;text-overflow:ellipsis;white-space:nowrap; }
.kb-vault-note-group > summary small { flex:0 0 auto;color:var(--sv-color-text-muted);font:650 8.5px/1 inherit;font-variant-numeric:tabular-nums; }
.kb-vault-note-group > summary .kb-vault-disclosure { transition:transform .16s ease; }
.kb-vault-note-group:not([open]) > summary .kb-vault-disclosure { transform:rotate(-90deg); }
.kb-vault-note-group .kb-vault-file:not(.kb-vault-parent-note) {
  font-size: 10.25px;
  font-weight: 500;
  color: var(--sv-color-text-muted);
}
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-folder > summary {
  color: var(--sv-color-text) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-file,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-note-group > summary.kb-vault-parent-note {
  color: var(--sv-color-text-faint) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-file.active,
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-note-group > summary.kb-vault-parent-note.active {
  color: var(--sv-color-text) !important;
  font-weight: 600 !important;
}
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-note-group .kb-vault-file:not(.kb-vault-parent-note) {
  color: var(--sv-color-text-muted) !important;
  font-size: 10.25px !important;
  font-weight: 500 !important;
}
.kb-vault-empty { margin:20px 8px; color:var(--sv-color-text-muted); font-size:11px; }
.kb-empty-kicker { margin:0 0 12px;color:var(--sv-color-text-muted);font:700 9px/1.2 inherit;letter-spacing:.15em;text-transform:uppercase; }
.kb-editor-empty h2 { max-width:520px;margin:0 auto 16px;color:var(--sv-color-text);font:650 clamp(21px,2.2vw,29px)/1.45 inherit; }
.kb-editor-empty > span { display:block;max-width:520px;margin:0 auto;color:var(--sv-color-text-faint);font-size:12px;line-height:1.9; }
.kb-empty-actions { display:flex;justify-content:center;gap:7px;margin:21px 0 14px; }
.kb-empty-actions button,.kb-empty-actions a { display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--sv-color-border);border-radius:5px;color:var(--sv-color-text-faint);background:var(--sv-color-surface);font:600 10.5px/1 inherit;text-decoration:none;cursor:pointer; }
.kb-empty-actions button { color:var(--sv-color-text);background:var(--sv-color-surface-hover);border-color:var(--sv-color-border); }
.kb-empty-shortcuts { color:var(--sv-color-text-muted);font-size:9.5px; }

.kb-editor-tabs { display:flex; min-height:36px; overflow-x:auto; border-bottom:1px solid var(--sv-color-border-strong); background:var(--sv-color-surface); }
.kb-editor-tab { display:flex; flex:0 0 auto; align-items:center; min-width:112px; max-width:210px; border-right:1px solid var(--sv-color-border-strong); color:var(--sv-color-text-faint); background:var(--sv-color-surface); }
.kb-editor-tab.active { color:var(--sv-color-text); background:var(--sv-color-surface); box-shadow:inset 0 -1px var(--sv-color-border); }
.kb-editor-tab > button:first-child { min-width:0; flex:1; overflow:hidden; padding:0 8px 0 11px; border:0; color:inherit; background:transparent; font:550 9.5px/35px inherit; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.kb-editor-tab > button:last-child { width:25px; height:25px; margin-right:3px; border:0; border-radius:4px; color:var(--sv-color-text-muted); background:transparent; cursor:pointer; }
.kb-editor-tab > button:last-child:hover { color:var(--sv-color-text); background:var(--sv-color-selection-bg); }

.kb-context-pane { min-width:0; overflow:auto; border-left:1px solid var(--sv-color-border-strong); background:var(--sv-color-surface); }
.kb-context-pane > header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; min-height:42px; padding:0 10px 0 14px; border-bottom:1px solid var(--sv-color-border-strong); background:var(--sv-color-surface); backdrop-filter:blur(8px); }
.kb-context-pane > header strong { font-size:11px; letter-spacing:.04em; }
.kb-context-tabs { display:flex; gap:3px; padding:3px; border-radius:6px; background:var(--sv-color-selection-bg); }
.kb-context-tabs button { width:auto !important; height:25px !important; padding:0 8px; border-radius:4px !important; font:650 10px/1 inherit; }
.kb-context-tabs button.active { color:var(--sv-color-text); background:var(--sv-color-surface); box-shadow:0 1px 3px rgba(50,43,35,.1); }
.kb-context-pane > header button { width:25px; height:25px; border:0; border-radius:4px; color:var(--sv-color-text-muted); background:transparent; font-size:18px; cursor:pointer; }
.kb-context-pane details { border-bottom:1px solid var(--sv-color-border-strong); }
.kb-context-pane summary { padding:10px 14px; color:var(--sv-color-text-faint); font-size:10.5px; font-weight:700; cursor:pointer; }
.kb-context-pane details > :not(summary) { margin:0 8px 8px; }
#kbOutline { display:grid; }
#kbOutline button { min-height:26px; padding:0 7px 0 calc(6px + (var(--level) - 1) * 10px); overflow:hidden; border:0; border-radius:4px; color:var(--sv-color-text-faint); background:transparent; font:500 11px/1 inherit; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
#kbOutline button:hover { color:var(--sv-color-text); background:var(--sv-color-selection-bg); }
#kbBacklinks,#kbOutgoingLinks { display:grid; gap:3px; }
#kbBacklinks button,#kbOutgoingLinks button { display:grid; gap:3px; min-height:39px; padding:6px 7px; border:0; border-radius:4px; color:var(--sv-color-text-muted); background:transparent; text-align:left; cursor:pointer; }
#kbBacklinks button:hover,#kbOutgoingLinks button:not(:disabled):hover { background:var(--sv-color-selection-bg); }
#kbBacklinks strong,#kbOutgoingLinks strong { overflow:hidden; font-size:10.8px; text-overflow:ellipsis; white-space:nowrap; }
#kbBacklinks span,#kbOutgoingLinks span { overflow:hidden; color:var(--sv-color-text-muted); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
#kbOutgoingLinks .unresolved { color:#a85a45; } #kbOutgoingLinks .ambiguous { color:#98743f; }
.kb-context-row { display:flex; justify-content:space-between; gap:8px; min-height:26px; padding:4px 6px; color:var(--sv-color-text-faint); font-size:10.5px; }
.kb-context-row strong { color:var(--sv-color-text); font-weight:600; text-align:right; }
.kb-context-empty { padding:4px 6px 9px; color:var(--sv-color-text-muted); font-size:10px; }
.kb-context-reopen { position:fixed; top:50%; right:0; z-index:6; width:24px; height:48px; border:1px solid var(--sv-color-border-strong); border-right:0; border-radius:7px 0 0 7px; color:var(--sv-color-text-faint); background:var(--sv-color-surface); cursor:pointer; }

.kb-command-dialog { width:min(620px,calc(100vw - 40px)); margin:13vh auto 0; padding:0; border:1px solid var(--sv-color-border); border-radius:9px; color:var(--sv-color-text); background:var(--sv-color-surface); box-shadow:0 24px 70px rgba(36,31,25,.24); }
.kb-command-dialog::backdrop { background:var(--sv-color-selection-bg); backdrop-filter:blur(2px); }
.kb-command-shell > label { display:flex; align-items:center; gap:10px; min-height:48px; padding:0 14px; border-bottom:1px solid var(--sv-color-border-strong); }
.kb-command-shell > label span { color:var(--sv-color-text-muted); font-size:17px; }
.kb-command-shell input { width:100%; border:0; outline:0; color:var(--sv-color-text); background:transparent; font:500 13px/1 inherit; }
.kb-command-results { max-height:420px; overflow:auto; padding:6px; }
.kb-command-results button { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; width:100%; min-height:37px; padding:0 9px; border:0; border-radius:5px; color:var(--sv-color-text-faint); background:transparent; text-align:left; cursor:pointer; }
.kb-command-results button.active { color:var(--sv-color-text); background:var(--sv-color-selection-bg); }
.kb-command-results button strong { overflow:hidden; font-size:11.5px; text-overflow:ellipsis; white-space:nowrap; }
.kb-command-results button small { color:var(--sv-color-text-muted); font-size:9.5px; }
.kb-command-shell footer { display:flex; gap:16px; padding:7px 14px; border-top:1px solid var(--sv-color-border-strong); color:var(--sv-color-text-muted); font-size:9px; }

.kb-file-menu { position:fixed; z-index:40; display:grid; width:168px; padding:4px; border:1px solid var(--sv-color-border); border-radius:7px; background:var(--sv-color-surface); box-shadow:0 12px 32px rgba(44,38,31,.18); }
.kb-file-menu.hidden { display:none; }
.kb-file-menu.has-merge-picker { width:min(300px, calc(100vw - 24px)); }
.kb-file-menu > button { min-height:26px; padding:0 8px; border:0; border-radius:4px; color:var(--sv-color-text-muted); background:transparent; font:500 9.5px/1.2 inherit; text-align:left; cursor:pointer; }
.kb-file-menu > button:hover { background:var(--sv-color-selection-bg); }
.kb-file-menu > button.is-primary { color:var(--sv-color-text);font-weight:700; }
.kb-file-menu > button.is-primary::after { content:"";display:block;margin-top:4px;border-bottom:1px solid var(--sv-color-border); }
.kb-file-menu > button.hidden { display:none; }
.kb-file-merge-picker {
  display:grid;
  gap:8px;
  margin-top:4px;
  padding-top:8px;
  border-top:1px solid var(--sv-color-border);
}
.kb-file-merge-picker.hidden { display:none; }
.kb-file-merge-search {
  display:flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:0 8px;
  border:1px solid var(--sv-color-border);
  border-radius:6px;
  background:var(--sv-color-surface);
}
.kb-file-merge-search span { color:var(--sv-color-text-muted); font-size:11px; }
.kb-file-merge-search input {
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--sv-color-text);
  font:500 11px/1.2 inherit;
}
.kb-file-merge-create {
  width:100%;
  min-height:30px;
  padding:0 10px;
  border:1px dashed var(--sv-color-border);
  border-radius:6px;
  color:var(--sv-color-text);
  background:var(--sv-color-selection-bg);
  font:650 9.5px/1.2 inherit;
  text-align:left;
  cursor:pointer;
}
.kb-file-merge-create:hover { background:var(--sv-color-selection-bg); }
.kb-file-merge-list {
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:240px;
  overflow-x:hidden;
  overflow-y:auto;
}
.kb-file-menu .kb-file-merge-list > button[data-merge-target] {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:2px;
  width:100%;
  height:auto;
  min-height:40px;
  margin:0;
  padding:7px 9px;
  border:0;
  border-radius:6px;
  color:var(--sv-color-text);
  background:transparent;
  font:600 9.5px/1.3 inherit;
  text-align:left;
  white-space:normal;
  cursor:pointer;
}
.kb-file-menu .kb-file-merge-list > button[data-merge-target]:hover { background:var(--sv-color-selection-bg); }
.kb-file-menu .kb-file-merge-list > button[data-merge-target] strong,
.kb-file-menu .kb-file-merge-list > button[data-merge-target] span {
  display:block;
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kb-file-menu .kb-file-merge-list > button[data-merge-target] strong {
  color:var(--sv-color-text);
  font:650 10px/1.3 inherit;
}
.kb-file-menu .kb-file-merge-list > button[data-merge-target] span {
  color:var(--sv-color-text-muted);
  font:500 9px/1.3 inherit;
}
.kb-file-merge-empty {
  margin:0;
  padding:10px 8px;
  color:var(--sv-color-text-muted);
  font:500 11px/1.3 inherit;
}

.kb-link-suggest { position:absolute; left:28px; bottom:55px; z-index:5; width:min(430px,calc(100% - 56px)); max-height:260px; overflow:auto; padding:5px; border:1px solid var(--sv-color-border); border-radius:7px; background:var(--sv-color-surface); box-shadow:0 12px 34px rgba(44,38,31,.16); }
.kb-link-suggest.hidden { display:none; }
.kb-link-suggest button { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; min-height:34px; align-items:center; padding:0 8px; border:0; border-radius:4px; color:var(--sv-color-text-muted); background:transparent; text-align:left; cursor:pointer; }
.kb-link-suggest button:hover { background:var(--sv-color-selection-bg); }
.kb-link-suggest strong { font-size:11px; }.kb-link-suggest span { color:var(--sv-color-text-muted); font-size:9.5px; }

.kb-split-btn { display:none !important; }
.kb-split-pane { display:none !important; }
/* 分屏固定落在主编辑右侧，避免抢占最左列 */
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"] .kb-sidebar { grid-column:1; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"] .kb-editor-pane { grid-column:2; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"] .kb-split-pane { grid-column:3; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-split="open"] .kb-context-pane { grid-column:4; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-sidebar { grid-column:1; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-list-pane { grid-column:2; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-editor-pane { grid-column:3; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-split-pane { grid-column:4; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-layout.is-list-collapsed .kb-editor-pane { grid-column:2; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"][data-knowledge-split="open"] .kb-layout.is-list-collapsed .kb-split-pane { grid-column:3; }
.kb-split-pane > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding:9px 12px 9px 18px; border-bottom:1px solid var(--sv-color-border-strong); }
.kb-split-pane > header > div:first-child { display:grid; min-width:0; gap:3px; }
.kb-split-pane > header span { overflow:hidden;color:var(--sv-color-text-muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap; }
.kb-split-pane > header strong { overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap; }
.kb-split-pane > header > div:last-child { display:flex;flex:0 0 auto;gap:2px; }
.kb-split-pane > header button { min-height:26px;padding:0 7px;border:0;border-radius:4px;color:var(--sv-color-text-faint);background:transparent;font:600 10px/1 inherit;cursor:pointer; }
.kb-split-pane > header button.active { color:var(--sv-color-text);background:var(--sv-color-selection-bg); }
.kb-split-pane > header #kbSplitClose { width:26px;padding:0;font-size:16px; }
.kb-split-pane > article { overflow:auto;padding:30px clamp(24px,5vw,60px) 90px; }
.kb-split-pane > textarea { width:100%;height:100%;resize:none;padding:30px clamp(24px,5vw,60px) 90px;border:0;outline:0;color:var(--sv-color-text);background:var(--sv-color-surface);font: 400 14px/1.85 var(--sv-font-editorial); }
.kb-split-pane > footer { display:flex;justify-content:space-between;align-items:center;min-height:34px;padding:0 12px;border-top:1px solid var(--sv-color-border-strong);color:var(--sv-color-text-muted);font-size:9.5px; }
.kb-split-pane > footer button { min-height:25px;padding:0 10px;border:0;border-radius:4px;color:var(--sv-color-text);background:var(--sv-color-surface-hover);font-size:10px;cursor:pointer; }
.kb-embed { margin:18px 0; }
.kb-embed img { display:block;max-width:100%;max-height:620px;border-radius:6px;box-shadow:0 1px 0 rgba(57,49,40,.12); }
.kb-embed video { display:block;width:100%;max-height:620px;border-radius:6px;background:var(--sv-color-surface-strong); }
.kb-embed audio { display:block;width:100%; }
.kb-embed figcaption,.kb-missing-embed { color:var(--sv-color-text-muted);font-size:10px; }
.kb-attachment-link { display:inline-flex;margin:10px 0;padding:8px 10px;border-radius:5px;color:#4d6274;background:var(--sv-color-surface);font-size:11px;text-decoration:none; }
.kb-editor-body textarea.is-file-over { box-shadow:inset 0 0 0 2px rgba(75,93,125,.38);background:var(--sv-color-surface); }
.kb-canvas-dialog { width:min(1180px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));padding:0;border:1px solid var(--sv-color-border);border-radius:9px;color:var(--sv-color-text);background:var(--sv-color-surface);box-shadow:0 24px 80px rgba(38,33,27,.28); }
.kb-canvas-dialog::backdrop { background:var(--sv-color-selection-bg);backdrop-filter:blur(2px); }
.kb-canvas-dialog > header { display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 14px 0 18px;border-bottom:1px solid var(--sv-color-border);background:var(--sv-color-surface); }
.kb-canvas-dialog > header div { display:grid;gap:2px; }
.kb-canvas-dialog > header small { color:var(--sv-color-text-muted);font:700 8px/1.2 inherit;letter-spacing:.15em;text-transform:uppercase; }
.kb-canvas-dialog > header strong { font-size:12px; }
.kb-canvas-dialog > header button { width:28px;height:28px;border:0;border-radius:4px;color:var(--sv-color-text-faint);background:transparent;font-size:18px;cursor:pointer; }
.kb-canvas-stage { position:relative;height:calc(100% - 86px);overflow:auto;background-color:var(--sv-color-text);background-image:radial-gradient(rgba(90,80,68,.15) .7px,transparent .7px);background-size:18px 18px; }
.kb-canvas-node { position:absolute;overflow:auto;padding:14px;border:1px solid var(--sv-color-border);border-radius:6px;background:var(--sv-color-surface);box-shadow:0 4px 16px rgba(48,41,34,.1);font-size:11px; }
.kb-canvas-node.type-file { display:grid;align-content:center;gap:6px; }
.kb-canvas-node small { color:var(--sv-color-text-muted);font-size:8px;text-transform:uppercase; }
.kb-canvas-dialog > footer { min-height:32px;padding:9px 16px;border-top:1px solid var(--sv-color-border);color:var(--sv-color-text-muted);background:var(--sv-color-surface);font-size:9.5px; }
.kb-canvas-empty { padding:40px;color:var(--sv-color-text-muted);font-size:11px; }
.kb-import-dialog { width:min(860px,calc(100vw - 48px));max-height:calc(100vh - 70px);padding:0;border:1px solid var(--sv-color-border);border-radius:9px;color:var(--sv-color-text);background:var(--sv-color-surface);box-shadow:0 24px 80px rgba(38,33,27,.28); }
.kb-import-dialog::backdrop { background:var(--sv-color-selection-bg);backdrop-filter:blur(2px); }
.kb-import-dialog > header { position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 14px 0 18px;border-bottom:1px solid var(--sv-color-border);background:var(--sv-color-surface); }
.kb-import-dialog > header div { display:grid;gap:2px; }.kb-import-dialog > header small{color:var(--sv-color-text-muted);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.kb-import-dialog > header strong{font-size:14px}.kb-import-dialog > header button{width:28px;height:28px;border:0;border-radius:4px;background:transparent;font-size:18px;cursor:pointer}
.kb-import-history { display:grid;gap:9px;max-height:calc(100vh - 130px);overflow:auto;padding:12px; }
.kb-import-history > article { padding:13px;border:1px solid var(--sv-color-border);border-radius:6px;background:var(--sv-color-surface); }
.kb-import-history article > header { display:flex;align-items:start;justify-content:space-between;gap:12px; }.kb-import-history article > header div{display:grid;gap:3px}.kb-import-history article > header strong{font-size:12px}.kb-import-history article > header span{color:var(--sv-color-text-muted);font-size:9px}.kb-import-history article > header em{padding:4px 6px;border-radius:999px;color:var(--sv-color-text-faint);background:var(--sv-color-selection-bg);font:600 8px/1 inherit;font-style:normal}.kb-import-history article > header em.status-completed{color:#52634c;background:#e9efe5}.kb-import-history article > header em.status-failed{color:#955344;background:#f6ebe8}
.kb-import-history dl{display:flex;flex-wrap:wrap;gap:18px;margin:13px 0}.kb-import-history dl div{display:grid;gap:3px}.kb-import-history dt{color:var(--sv-color-text-muted);font-size:8.5px}.kb-import-history dd{margin:0;font:650 13px/1 inherit}
.kb-import-items{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(91,82,72,.1)}
.kb-import-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid var(--sv-color-border);border-radius:5px;background:var(--sv-color-surface)}
.kb-import-item > div{display:grid;gap:2px;min-width:0}
.kb-import-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.kb-import-item span{color:var(--sv-color-text-muted);font-size:9px}
.kb-import-item-actions{display:flex;flex-wrap:wrap;gap:6px}
.kb-import-item-actions button,.kb-import-history article>button{min-height:26px;padding:0 8px;border:1px solid var(--sv-color-border);border-radius:4px;color:var(--sv-color-text);background:transparent;font-size:9px;cursor:pointer}
.kb-import-item-actions button.is-danger,.kb-import-history article>button{border-color:rgba(140,72,56,.22);color:#955344}
.kb-import-status{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font:600 8px/1 inherit}
.kb-import-status.status-imported,.kb-import-status.status-preserved,.kb-import-status.status-resolved_keep_both,.kb-import-status.status-resolved_keep_incoming{color:#52634c;background:#e9efe5}
.kb-import-status.status-conflict_copy{color:#8a6a2f;background:#f4edd9}
.kb-import-status.status-failed{color:#955344;background:#f6ebe8}
.kb-import-status.status-skipped,.kb-import-status.status-resolved_keep_existing{color:var(--sv-color-text-muted);background:var(--sv-color-selection-bg)}
.kb-import-empty{padding:30px;color:var(--sv-color-text-muted);text-align:center;font-size:11px}
.kb-import-conflict-dialog{width:min(980px,calc(100vw - 36px))}
.kb-import-conflict-meta{padding:12px 16px;border-bottom:1px solid var(--sv-color-border);color:var(--sv-color-text-muted);font-size:11px}
.kb-import-conflict-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;max-height:calc(100vh - 220px);overflow:auto}
.kb-import-conflict-pane{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--sv-color-border);border-radius:6px}
.kb-import-conflict-pane header{display:grid;gap:3px}
.kb-import-conflict-pane header small{color:var(--sv-color-text-muted);font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.kb-import-conflict-pane header strong{font-size:13px}
.kb-import-conflict-pane header span{color:var(--sv-color-text-muted);font-size:10px;word-break:break-all}
.kb-import-conflict-pane pre{margin:0;max-height:340px;overflow:auto;padding:10px;border-radius:4px;background:var(--sv-color-selection-bg);color:var(--sv-color-text);font:11px/1.45 var(--sv-font-mono,ui-monospace,monospace);white-space:pre-wrap;word-break:break-word}
.kb-import-conflict-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--sv-color-border)}
.kb-import-conflict-actions button{min-height:32px;padding:0 12px;border:1px solid var(--sv-color-border);border-radius:5px;background:transparent;color:var(--sv-color-text);font-size:12px;cursor:pointer}
.kb-import-conflict-actions button.is-primary{border-color:var(--sv-color-text);background:var(--sv-color-text);color:var(--sv-color-surface)}
@media (max-width:820px){.kb-import-conflict-grid{grid-template-columns:1fr}}

html[data-app-rail="knowledge"] .kb-layout.is-list-collapsed {
  grid-template-columns: 196px minmax(0, 1fr);
}

html[data-app-rail="knowledge"] .kb-sidebar,
html[data-app-rail="knowledge"] .kb-list-pane,
html[data-app-rail="knowledge"] .kb-editor-pane {
  border-radius: 0;
  box-shadow: none;
  outline: 0;
  border-right: 1px solid var(--sv-color-border-strong);
  background: var(--sv-color-surface);
}

html[data-app-rail="knowledge"] .kb-sidebar { border-radius: 12px 0 0 12px; }
html[data-app-rail="knowledge"] .kb-editor-pane { border: 0; border-radius: 0 12px 12px 0; background: var(--sv-color-surface); }

html[data-app-rail="knowledge"] .kb-sidebar {
  padding: 16px 12px 14px;
}

html[data-app-rail="knowledge"] .kb-eyebrow { margin-bottom: 10px; opacity: .7; }
html[data-app-rail="knowledge"] .kb-library-title { margin-bottom: 14px; }
html[data-app-rail="knowledge"] .kb-library-title h1 { font-size: 18px; letter-spacing: -.025em; }
.kb-workspace-switch { padding:3px; border-radius:7px; background:var(--sv-color-selection-bg); }
.kb-workspace-switch button { min-height:32px; border-radius:5px; color:var(--sv-color-text-faint); font-size:12px; font-weight:650; }
.kb-workspace-switch button[aria-selected="true"] { color:var(--sv-color-text); background:var(--sv-color-surface); box-shadow:0 1px 4px rgba(48,41,34,.1); }
.kb-workspace-switch b { margin-left:3px; color:var(--sv-color-text-muted); font-size:10px; font-weight:600; }
.kb-vault-tools { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 30px; gap:5px; margin:10px 0 8px; }
.kb-vault-tools .kb-vault-primary { min-height:32px; border:0; border-radius:5px; color:var(--sv-color-text); background:var(--sv-color-surface-hover); font:650 11.5px/1 inherit; cursor:pointer; }
.kb-vault-tools .kb-icon-button { border:0;border-radius:5px;color:var(--sv-color-text-faint);background:var(--sv-color-selection-bg);cursor:pointer; }
.kb-vault-menu { position:absolute;top:36px;right:0;z-index:30;display:grid;width:174px;padding:5px;border:1px solid var(--sv-color-border);border-radius:7px;background:var(--sv-color-surface);box-shadow:0 14px 34px rgba(44,38,31,.17); }
.kb-vault-menu button { min-height:31px;padding:0 9px;border:0;border-radius:4px;color:var(--sv-color-text-faint);background:transparent;font:500 11px/1 inherit;text-align:left;cursor:pointer; }
.kb-vault-menu button:hover { background:var(--sv-color-selection-bg); }
html[data-app-rail="knowledge"] .sv-dialog-input:focus,
html[data-app-rail="knowledge"] .sv-dialog-input:focus-visible {
  border-color: var(--sv-color-border);
  box-shadow: 0 0 0 3px rgba(75, 67, 59, .1);
}
html[data-app-rail="knowledge"] .sv-dialog-btn--primary {
  border-color: var(--sv-color-border);
  background: var(--sv-color-surface-hover);
  color: var(--sv-color-text);
}
html[data-app-rail="knowledge"] .sv-dialog-btn--primary:hover { background:var(--sv-color-surface-strong); color:var(--sv-color-text); }
html[data-app-rail="knowledge"] .sv-dialog-btn:focus-visible { box-shadow:0 0 0 3px rgba(75,67,59,.12); }
html[data-app-rail="knowledge"] .kb-search-shell input { height: 40px; border-radius: 7px; background: var(--sv-color-selection-bg); outline: 1px solid var(--sv-color-border-strong); }
html[data-app-rail="knowledge"] .kb-search-shell svg { top: 11px; }
html[data-app-rail="knowledge"] .kb-search-shell input:focus,
html[data-app-rail="knowledge"] .kb-search-shell input:focus-visible {
  border-color: transparent !important;
  outline: 1px solid var(--sv-color-border) !important;
  box-shadow: 0 0 0 2px rgba(91,82,72,.08) !important;
}
html[data-app-rail="knowledge"] .kb-cat { height: 32px; min-height: 32px; max-height: 32px; padding:0 9px; border-radius: 5px; }
html[data-app-rail="knowledge"] .kb-cat strong { font-size: 12.5px; font-weight: 650; }
html[data-app-rail="knowledge"] .kb-cat-count { font-size: 11px; }
html[data-app-rail="knowledge"] .kb-cat-add { height: 36px; border-radius: 7px; }

html[data-app-rail="knowledge"] .kb-read-tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: -6px 0 12px;
}

html[data-app-rail="knowledge"] .kb-read-filter-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

html[data-app-rail="knowledge"] .kb-read-tab {
  padding: 6px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--kb-muted);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  transition:
    color 150ms ease,
    background-color 150ms ease,
    border-color 150ms ease;
}

html[data-app-rail="knowledge"] .kb-read-tab:hover {
  color: var(--kb-ink);
  background: var(--sv-color-selection-bg);
}

html[data-app-rail="knowledge"] .kb-read-tab.is-active {
  color: var(--sv-color-text);
  background: var(--sv-color-surface-elevated);
}

html[data-app-rail="knowledge"] .kb-read-tab:focus-visible {
  outline: 2px solid rgba(49, 95, 136, 0.45);
  outline-offset: 2px;
}

html[data-app-rail="knowledge"] .kb-list-pane {
  gap: 10px;
  padding: 18px 12px 14px;
}

html[data-app-rail="knowledge"] .kb-list-title h2 { font-size: 18px; }
html[data-app-rail="knowledge"] .kb-filter-chips { gap: 5px; }
html[data-app-rail="knowledge"] .kb-chip { padding: 5px 8px; font-size: 11px; }

html[data-app-rail="knowledge"] .kb-list-reopen {
  top: 22px;
  left: calc(232px + 12px + 18px);
}

html[data-app-rail="knowledge"] .kb-doc-list {
  gap: 2px;
  padding-right: 2px;
}
html[data-app-rail="knowledge"] .kb-doc-item { min-width:0; }
html[data-app-rail="knowledge"] .kb-doc-item-inner { min-width:0;overflow:visible; }
html[data-app-rail="knowledge"] .kb-doc-item :is(.kb-doc-title,.kb-doc-preview,.kb-doc-meta) { min-width:0;max-width:100%; }
html[data-app-rail="knowledge"] .kb-doc-title-label,
html[data-app-rail="knowledge"] .kb-doc-preview { overflow:hidden;color:var(--sv-color-text);text-overflow:ellipsis; }
html[data-app-rail="knowledge"] .kb-doc-preview { color:var(--sv-color-text-faint);white-space:nowrap; }
html[data-app-rail="knowledge"] .kb-doc-meta { overflow:hidden;color:var(--sv-color-text-muted); }

html[data-app-rail="knowledge"] .kb-doc-item {
  border-radius: 12px;
  padding: 0;
  background: transparent;
  outline: 0;
}

html[data-app-rail="knowledge"] .kb-doc-item-inner {
  min-height: 76px;
  border-radius: 8px;
  padding: 11px 10px 10px;
  background: transparent;
  border-bottom: 1px solid var(--sv-color-border-strong);
  transition:
    background-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

html[data-app-rail="knowledge"] .kb-doc-item:hover,
html[data-app-rail="knowledge"] .kb-doc-item.active {
  background: transparent;
  outline: 0;
}

html[data-app-rail="knowledge"] .kb-doc-item:hover .kb-doc-item-inner {
  background: var(--sv-color-surface);
}

html[data-app-rail="knowledge"] .kb-doc-item.active .kb-doc-item-inner {
  background: var(--sv-color-selection-bg);
  box-shadow: inset 2px 0 0 var(--sv-color-border-strong);
  transform: none;
}

html[data-app-rail="knowledge"] .kb-doc-title {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 13.5px;
  line-height: 1.36;
}

html[data-app-rail="knowledge"] .kb-doc-title-label {
  min-width: 0;
  flex: 1;
}

html[data-app-rail="knowledge"] .kb-doc-read-state {
  flex: 0 0 auto;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  margin-top: 1px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--sv-color-selection-bg);
  color: var(--kb-faint);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

html[data-app-rail="knowledge"] .kb-doc-read-state.is-unread {
  background: rgba(var(--sv-reading-accent-rgb), 0.12);
  color: var(--sv-color-reading-accent);
}

html[data-app-rail="knowledge"] .kb-doc-meta {
  gap: 5px;
  margin-top: 7px;
  font-size: 10.5px;
}

html[data-app-rail="knowledge"] .kb-doc-preview { font-size: 12px; line-height: 1.5; }
html[data-app-rail="knowledge"] .kb-doc-read-state { min-height:18px; padding:1px 5px; font-size:9px; }
html[data-app-rail="knowledge"] .kb-badge { min-height:19px; padding:2px 6px; font-size:10.5px; }

html[data-app-rail="knowledge"] mark.kb-search-hit {
  padding: 0 .14em;
  border-radius: 2px;
  color: #29230f;
  background: #ffe45f;
  box-shadow: 0 0 0 1px rgba(206,159,0,.22);
  font-weight: 800;
}

html[data-app-rail="knowledge"] .kb-doc-search-excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 5px 28px 0 0;
  color: var(--sv-color-text-faint);
  font-size: 10.5px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
html[data-app-rail="knowledge"] .kb-search-source {
  display: inline-block;
  margin-right: 6px;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--sv-color-selection-bg);
  color: var(--sv-color-text-faint);
  font-size: 9.5px;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.5;
  vertical-align: 1px;
  -webkit-line-clamp: initial;
}

html[data-app-rail="knowledge"] .kb-reader-top {
  padding: 14px 22px 16px;
  border-bottom: 1px solid var(--sv-color-border-strong);
  background: var(--sv-color-surface);
}

html[data-app-rail="knowledge"] .kb-reader-actions {
  margin: 0;
  align-items: center;
  gap: 12px;
  min-height: 32px;
}
html[data-app-rail="knowledge"] .kb-crumbs { font-size: 12px; font-weight: 650; }
html[data-app-rail="knowledge"] .kb-reader-tools {
  order: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
}
html[data-app-rail="knowledge"] .kb-mode-switch {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 2px;
  border-radius: 6px;
  background: var(--sv-color-selection-bg);
  box-sizing: border-box;
}
html[data-app-rail="knowledge"] .kb-mode-switch button,
html[data-app-rail="knowledge"] .kb-mode-switch button:hover {
  height: 24px;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 4px;
  color: var(--sv-color-text-faint);
  background: transparent;
  font-size: 12px;
  font-weight: 650;
  line-height: 24px;
  box-shadow: none;
}
html[data-app-rail="knowledge"] .kb-mode-switch button.active,
html[data-app-rail="knowledge"] .kb-mode-switch button.active:hover {
  color: var(--sv-color-text);
  background: var(--sv-color-surface-hover);
  box-shadow: none;
}

html[data-app-rail="knowledge"] .kb-view-prefs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 0;
  height: 28px;
}
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-view-prefs {
  display: none !important;
}
html[data-app-rail="knowledge"] .kb-editor-pane.is-empty .kb-writing-toolbar,
html[data-app-rail="knowledge"] .kb-editor-pane:not(.is-editing) .kb-writing-toolbar {
  display: none !important;
}
html[data-app-rail="knowledge"] .kb-line-height-field {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  height: 28px;
  color: var(--sv-color-text-faint);
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
}
html[data-app-rail="knowledge"] .kb-line-height-field span {
  font-size: 12px;
  font-weight: 650;
  color: var(--sv-color-text-faint);
  line-height: 28px;
}
html[data-app-rail="knowledge"] .kb-line-height-field select {
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  padding: 0 20px 0 8px;
  border: 0;
  border-radius: 6px;
  outline: 1px solid var(--sv-color-border-strong);
  color: var(--sv-color-text-muted);
  background: var(--sv-color-surface);
  font: 650 12px/28px inherit;
}
html[data-app-rail="knowledge"] .kb-canvas-zoombar {
  display: inline-flex;
  align-items: center;
  gap: 0;
  height: 28px;
  box-sizing: border-box;
  border-radius: 6px;
  background: var(--sv-color-selection-bg);
  overflow: hidden;
}
html[data-app-rail="knowledge"] .kb-canvas-zoombar button {
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  padding: 0 8px;
  border: 0;
  border-radius: 0;
  color: var(--sv-color-text-faint);
  background: transparent;
  font: 650 12px/28px inherit;
  cursor: pointer;
}
html[data-app-rail="knowledge"] .kb-canvas-zoombar button:hover {
  color: var(--sv-color-text);
  background: var(--sv-color-selection-bg);
}
html[data-app-rail="knowledge"] #kbCanvasZoomReset {
  min-width: 48px;
  font-variant-numeric: tabular-nums;
}
html[data-app-rail="knowledge"] .kb-split-btn,
html[data-app-rail="knowledge"] .kb-star-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-selection-bg);
  font-size: 13px;
  line-height: 1;
}
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-read,
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  padding: 0 10px;
  border: 0 !important;
  border-radius: 6px;
  color: var(--sv-color-text-faint) !important;
  background: var(--sv-color-selection-bg) !important;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
}
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc,
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc:hover,
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc:focus-visible {
  color: var(--sv-color-text) !important;
  background: var(--sv-color-surface-hover) !important;
  font-size: 12px;
  font-weight: 650;
}
html[data-app-rail="knowledge"] .kb-save-hint,
html[data-app-rail="knowledge"] .kb-nav-hint {
  color: var(--sv-color-text-muted);
  font-size: 12px;
  font-weight: 550;
  line-height: 28px;
  white-space: nowrap;
}
html[data-app-rail="knowledge"] .kb-editor-pane {
  --kb-canvas-zoom: 1;
  --kb-line-height: 1.9;
  --kb-first-indent: 0;
}
html[data-app-rail="knowledge"] .kb-editor-pane .kb-read-body,
html[data-app-rail="knowledge"] .kb-editor-pane .kb-editor-body {
  zoom: var(--kb-canvas-zoom, 1);
}
html[data-app-rail="knowledge"] .kb-editor-pane[data-first-indent="2em"] .kb-article p {
  text-indent: var(--kb-first-indent, 2em);
}
html[data-app-rail="knowledge"] .kb-editor-pane[data-first-indent="2em"] .kb-rich-editor > .kb-para:not(.kb-para-flush) {
  text-indent: var(--kb-first-indent, 2em);
}

html[data-app-rail="knowledge"] .kb-editor-actions {
  position: static;
  order: 2;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  padding: 0;
  gap: 4px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-read,
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-height: 28px;
  box-sizing: border-box;
  padding: 0 10px;
  border: 0 !important;
  border-radius: 6px;
  color: var(--sv-color-text-faint) !important;
  background: var(--sv-color-selection-bg) !important;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
}

html[data-app-rail="knowledge"] .kb-editor-actions .btn:hover { color: var(--sv-color-text) !important; background: var(--sv-color-selection-bg) !important; }
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc { color: var(--sv-color-text) !important; background: var(--sv-color-surface-hover) !important; }
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-read:not(:disabled),
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-edit:not(:disabled) { color:var(--sv-color-text-faint) !important;background:var(--sv-color-selection-bg) !important; }
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-read:hover:not(:disabled),
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-edit:hover:not(:disabled),
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-read:focus-visible:not(:disabled),
html[data-app-rail="knowledge"] .kb-editor-actions .btn.kb-act-edit:focus-visible:not(:disabled) { color:var(--sv-color-text) !important;background:var(--sv-color-selection-bg) !important;outline:0 !important;box-shadow:none !important; }
html[data-app-rail="knowledge"] .kb-editor-actions .btn:active:not(:disabled) { color:var(--sv-color-text) !important;background:var(--sv-color-selection-bg) !important;transform:none; }
html[data-app-rail="knowledge"] .kb-editor-actions .btn:disabled { color:var(--sv-color-text-muted) !important;background:transparent !important;opacity:.48; }
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc,
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc:hover,
html[data-app-rail="knowledge"] .kb-editor-actions #kbSaveDoc:focus-visible { color:var(--sv-color-text) !important;background:var(--sv-color-surface-hover) !important; }
html[data-app-rail="knowledge"] .kb-save-hint,
html[data-app-rail="knowledge"] .kb-nav-hint { color: var(--sv-color-text-muted); font-size: 12px; font-weight: 550; line-height: 28px; }

html[data-app-rail="knowledge"] .kb-read-title,
html[data-app-rail="knowledge"] .kb-reader-meta,
html[data-app-rail="knowledge"] .kb-reader-tags {
  width: min(100%, 900px);
  margin-right: auto;
  margin-left: 0;
}

html[data-app-rail="knowledge"] .kb-read-title {
  margin-top: 10px;
  line-height: 1.28;
}

html[data-app-rail="knowledge"] .kb-reader-meta {
  margin-top: 12px;
}

html[data-app-rail="knowledge"] .kb-reader-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
}

html[data-app-rail="knowledge"] .kb-reader-tags.hidden { display: none; }
html[data-app-rail="knowledge"] .kb-reader-tags button {
  min-height: 23px;
  padding: 0 8px;
  border: 1px solid rgba(79, 108, 120, .14);
  border-radius: 999px;
  color: var(--sv-color-info);
  background: rgba(79, 108, 120, .07);
  font: 600 9.5px/1 var(--sv-font-sans);
  cursor: pointer;
}
html[data-app-rail="knowledge"] .kb-reader-tags button:hover { border-color: rgba(79, 108, 120, .3); background: rgba(79, 108, 120, .12); }

html[data-app-rail="knowledge"] .kb-read-body {
  padding: 18px 44px 96px 22px;
}

html[data-app-rail="knowledge"] .kb-article {
  max-width: 740px;
  padding-top: 24px;
}

html[data-app-rail="knowledge"] .kb-editor-form {
  grid-template-columns: minmax(0,1fr) 180px;
  gap: 14px;
  padding: 18px max(28px, calc((100% - 760px)/2)) 10px;
  border-bottom: 0;
  background: var(--sv-color-surface);
}
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-form { display:none; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-body textarea { padding-top:38px; }
.kb-revision-note { color:var(--sv-color-text-muted);font-size:10px; }

html[data-app-rail="knowledge"] .kb-editor-body label { gap: 4px; color: var(--sv-color-text-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; }
html[data-app-rail="knowledge"] .kb-editor-body input,
html[data-app-rail="knowledge"] .kb-editor-body select { min-height: 38px; border: 0; border-radius: 5px; outline: 1px solid var(--sv-color-border-strong); background: var(--sv-color-surface); }
html[data-app-rail="knowledge"] #kbDocTitle { padding-left: 10px; font-size: 15px; font-weight: 700; }
html[data-app-rail="knowledge"] .kb-editor-body textarea {
  width: min(100%,760px);
  margin: 0 auto;
  padding: 28px 16px 100px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: var(--sv-color-surface);
  font-family: var(--sv-font-sans);
  font-size: 15.5px;
  line-height: 1.9;
  flex:0 0 auto;
  min-height:260px;
  overflow:hidden;
}
.kb-editor-body { position:relative;overflow-y:auto; }
.kb-writing-toolbar {
  position:fixed;
  left:var(--kb-toolbar-left,50%);
  bottom:var(--kb-toolbar-bottom,20px);
  z-index:24;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:max-content;
  max-width:calc(100vw - 36px);
  min-height:40px;
  margin:0;
  padding:5px 8px;
  border:1px solid var(--sv-color-border);
  border-radius:12px;
  color:var(--sv-color-text-faint);
  background:var(--sv-color-surface);
  box-shadow:0 10px 28px var(--sv-color-border), inset 0 1px 0 rgba(255,255,255,.85);
  backdrop-filter:blur(16px);
  transform:translateX(-50%);
  font-size:11px;
}
.kb-toolbar-group {
  display:inline-flex;
  align-items:center;
  gap:2px;
}
.kb-toolbar-sep {
  width:1px;
  height:20px;
  margin:0 6px;
  background:var(--sv-color-selection-bg);
}
.kb-toolbar-select { display:flex; align-items:center; margin:0; }
.kb-toolbar-select select,
.kb-writing-toolbar select {
  width:auto;
  min-width:54px;
  height:28px;
  min-height:28px;
  padding:0 20px 0 8px;
  border:0;
  border-radius:6px;
  outline:1px solid var(--sv-color-border-strong);
  color:var(--sv-color-text-muted);
  background:var(--sv-color-surface);
  font:600 12px/1 inherit;
}
.kb-toolbar-select:first-of-type select { min-width:88px; }
.kb-format-toggle { min-width:28px;padding:0 7px;font-family:inherit;font-size:12px;line-height:1; }
.kb-format-toggle b { font-weight:800; }
.kb-format-toggle i { font-style:italic; font-weight:700; font-family:Georgia,"Times New Roman",serif; }
.kb-format-toggle.is-active { color:var(--sv-color-text);background:var(--sv-color-surface);box-shadow:inset 0 0 0 1px var(--sv-color-border); }
.kb-writing-toolbar button { min-height:28px;padding:0 9px;border:0;border-radius:6px;color:var(--sv-color-text-faint);background:transparent;font:600 12px/1 inherit;white-space:nowrap;cursor:pointer;transition:color 150ms ease,background-color 150ms ease,transform 150ms ease; }
.kb-writing-toolbar button:hover,.kb-writing-toolbar button:focus-visible { color:var(--sv-color-text);background:var(--sv-color-surface);outline:0; }
.kb-writing-toolbar button:active { transform:scale(.97); }
.kb-writing-toolbar #kbAiAssist { color:var(--sv-color-text);background:var(--sv-color-surface); margin-left:2px; }
.kb-writing-toolbar #kbAiAssist.is-active,
.kb-writing-toolbar #kbAiAssist[aria-pressed="true"] { color:var(--sv-color-text);background:var(--sv-color-surface-hover); }
.kb-writing-toolbar #kbSendToContentOps,
.kb-writing-toolbar .kb-send-ops { color:#24301f;background:#dce8c8; }
.kb-writing-toolbar #kbSendToContentOps:hover,
.kb-writing-toolbar .kb-send-ops:hover { color:#182214;background:#d0ddb8; }
.kb-note-cover-add {
  min-height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-selection-bg);
  font: 600 10.5px/1 inherit;
  cursor: pointer;
}
.kb-note-cover-add:hover { color: var(--sv-color-text); background: var(--sv-color-selection-bg); }
.kb-context-gallery { display:grid;gap:4px;padding:2px 0 6px; }
.kb-context-gallery-card { display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px; }
.kb-context-gallery-card:hover { background:var(--sv-color-selection-bg); }
.kb-context-gallery-card img { width:36px;height:36px;object-fit:cover;border-radius:6px;background:var(--sv-color-surface); }
.kb-context-gallery-card strong { overflow:hidden;font:600 11px/1.2 inherit;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums; }
.kb-context-gallery-card button { width:22px;height:22px;padding:0;border:0;border-radius:5px;color:var(--sv-color-text-muted);background:transparent;cursor:pointer;opacity:.35; }
.kb-context-gallery-card:hover button { opacity:1;color:var(--sv-color-danger);background:var(--sv-color-surface); }
.kb-asset-picker-dialog { width:min(520px,calc(100vw - 32px));max-height:min(720px,86vh);margin:auto;padding:0;border:1px solid var(--sv-color-border);border-radius:14px;background:var(--sv-color-surface);color:var(--sv-color-text);box-shadow:0 24px 70px rgba(36,31,25,.24); }
.kb-asset-picker-dialog::backdrop { background:var(--sv-color-selection-bg);backdrop-filter:blur(2px); }
.kb-asset-picker-dialog > header { display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 14px 0 16px;border-bottom:1px solid var(--sv-color-border); }
.kb-asset-picker-dialog > header small { display:block;color:var(--sv-color-text-muted);font-size:8px;letter-spacing:.14em;text-transform:uppercase; }
.kb-asset-picker-dialog > header strong { font-size:15px; }
.kb-asset-picker-dialog > header button { width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--sv-color-text-faint);font-size:18px;cursor:pointer; }
.kb-asset-picker-search { display:flex;align-items:center;gap:8px;margin:12px 14px 8px;padding:0 10px;min-height:38px;border:1px solid var(--sv-color-border);border-radius:10px;background:var(--sv-color-surface); }
.kb-asset-picker-search span { color:var(--sv-color-text-muted); }
.kb-asset-picker-search input { flex:1;border:0;outline:0;background:transparent;font:500 13px/1 inherit; }
.kb-asset-picker-results { display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;padding:8px 14px 14px;overflow:auto;max-height:min(480px,58vh); }
.kb-asset-picker-card { display:grid;gap:6px;padding:0;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer; }
.kb-asset-picker-card figure { margin:0;aspect-ratio:1;overflow:hidden;border-radius:10px;background:var(--sv-color-surface); }
.kb-asset-picker-card img { width:100%;height:100%;object-fit:cover;display:block; }
.kb-asset-picker-card strong { overflow:hidden;font:650 11px/1.25 inherit;text-overflow:ellipsis;white-space:nowrap; }
.kb-asset-picker-card span { color:var(--sv-color-text-muted);font:500 10px/1 inherit; }
.kb-asset-picker-dialog > footer { padding:0 16px 14px;color:var(--sv-color-text-muted);font-size:11px; }
.kb-context-attachment { display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:4px;min-height:36px;padding:4px 6px;border-radius:6px; }
.kb-context-attachment:hover { background:var(--sv-color-selection-bg); }
.kb-context-attachment a { display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;color:var(--sv-color-text-muted);text-decoration:none; }
.kb-context-attachment img { width:28px;height:28px;object-fit:cover;border-radius:5px;background:var(--sv-color-surface); }
.kb-context-attachment a > span { display:grid;place-items:center;width:28px;height:28px;border-radius:5px;background:var(--sv-color-surface);color:var(--sv-color-text-muted);font-size:12px; }
.kb-context-attachment strong { overflow:hidden;font:600 10.5px/1.2 inherit;text-overflow:ellipsis;white-space:nowrap; }
.kb-context-attachment button { width:22px;height:22px;padding:0;border:0;border-radius:5px;color:var(--sv-color-text-muted);background:transparent;cursor:pointer;opacity:.3; }
.kb-context-attachment:hover button,.kb-context-attachment button:focus-visible { opacity:1;color:var(--sv-color-danger);background:var(--sv-color-surface);outline:0; }
.kb-ai-compose .kb-ai-skill { display:flex;align-items:center;gap:8px;margin:0 0 8px; }
.kb-ai-compose .kb-ai-skill span { color:var(--sv-color-text-faint);font:600 11px/1 inherit;white-space:nowrap; }
.kb-ai-compose .kb-ai-skill select { flex:1;min-height:30px;border:1px solid var(--sv-color-border);border-radius:8px;padding:0 8px;background:var(--sv-color-surface);color:var(--sv-color-text); }
.kb-writing-toolbar.has-selection { border-color:rgba(111,139,104,.28); }
.kb-writing-toolbar .hidden { display:none; }
.kb-editor-format-menu {
  position:fixed;
  z-index:1220;
  width:200px;
  padding:6px;
  border:1px solid var(--sv-color-border);
  border-radius:10px;
  background:var(--sv-color-surface);
  box-shadow:0 18px 52px rgba(58,49,39,.2);
  backdrop-filter:blur(14px);
}
.kb-editor-format-menu.hidden { display:none; }
.kb-format-menu-clipboard {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3px;
  margin-bottom:4px;
  padding-bottom:6px;
  border-bottom:1px solid var(--sv-color-border);
}
.kb-format-menu-clipboard > button {
  min-height:28px;
  padding:0 4px;
  border:0;
  border-radius:6px;
  color:var(--sv-color-text-muted);
  background:var(--sv-color-selection-bg);
  font:600 9.5px/1 inherit;
  cursor:pointer;
}
.kb-format-menu-clipboard > button:hover { background:var(--sv-color-selection-bg); color:var(--sv-color-text); }
.kb-editor-format-menu > button {
  display:grid;
  width:100%;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  padding:8px;
  border:0;
  border-radius:6px;
  color:var(--sv-color-text);
  background:transparent;
  font:600 11px/1.2 inherit;
  text-align:left;
  cursor:pointer;
}
.kb-editor-format-menu > button:hover,
.kb-editor-format-menu > button.is-open { background:var(--sv-color-selection-bg); }
.kb-editor-format-menu > button i { color:var(--sv-color-text-muted); font-style:normal; font-size:10px; }
.kb-format-menu-flyout-trigger em {
  justify-self:end;
  color:var(--sv-color-text-muted);
  font:500 10px/1 inherit;
  font-style:normal;
}
.kb-editor-format-menu .kb-format-menu-quote {
  margin-top:4px;
  border-top:1px solid var(--sv-color-border);
  border-radius:0 0 6px 6px;
  padding-top:10px;
  grid-template-columns:minmax(0,1fr) auto;
  background:var(--sv-color-selection-bg);
}
.kb-format-submenu {
  position:absolute;
  z-index:2;
  width:168px;
  padding:6px;
  border:1px solid var(--sv-color-border);
  border-radius:10px;
  background:var(--sv-color-surface);
  box-shadow:0 14px 40px rgba(58,49,39,.18);
}
.kb-format-submenu.hidden { display:none; }
.kb-format-submenu > button {
  display:grid;
  width:100%;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px;
  border:0;
  border-radius:6px;
  color:var(--sv-color-text);
  background:transparent;
  font:600 11px/1.2 inherit;
  text-align:left;
  cursor:pointer;
}
.kb-format-submenu > button:hover { background:var(--sv-color-selection-bg); }
.kb-format-submenu > button.is-active { background:var(--sv-color-selection-bg); font-weight:700; }
.kb-format-submenu > button i { color:var(--sv-color-text-muted); font-style:normal; font-size:10px; }
html[data-app-rail="knowledge"] .kb-editor-body textarea { padding-bottom:150px; }

html[data-app-rail="knowledge"] .kb-editor-body :is(input,select):focus-visible { outline: 1px solid var(--sv-color-border); border-color: transparent; box-shadow: 0 0 0 2px rgba(91,82,72,.1); }
html[data-app-rail="knowledge"] .kb-editor-body textarea:focus-visible { outline: 0; border: 0; box-shadow: none; }
html[data-app-rail="knowledge"] :where(.kb-shell,.kb-ai-drawer) :is(input,select,textarea):focus-visible { border-color:var(--sv-color-border) !important;outline:0 !important;box-shadow:0 0 0 2px rgba(91,82,72,.08) !important; }
.kb-article .kb-text-format { font-size:var(--kb-inline-size,inherit); }
.kb-article .kb-font-system,
.kb-rich-editor .kb-font-system { font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei UI","PingFang SC",sans-serif; }
.kb-article .kb-font-yahei,
.kb-rich-editor .kb-font-yahei { font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif; }
.kb-article .kb-font-simsun,
.kb-rich-editor .kb-font-simsun { font-family:"SimSun","NSimSun","Songti SC","STSong",serif; }
.kb-article .kb-font-simhei,
.kb-rich-editor .kb-font-simhei { font-family:"SimHei","Heiti SC","Microsoft YaHei UI",sans-serif; }
.kb-article .kb-font-sans,
.kb-rich-editor .kb-font-sans { font-family:"Microsoft YaHei UI","PingFang SC","Segoe UI",sans-serif; }
.kb-article .kb-font-serif,
.kb-rich-editor .kb-font-serif { font-family:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif; }
.kb-article .kb-font-kai,
.kb-rich-editor .kb-font-kai { font-family:"Kaiti SC","STKaiti","KaiTi",serif; }
.kb-article .kb-font-fangsong,
.kb-rich-editor .kb-font-fangsong { font-family:"FangSong","STFangsong","FangSong SC",serif; }
.kb-article .kb-font-mono,
.kb-rich-editor .kb-font-mono { font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace; }
.kb-article .kb-size-12,.kb-rich-editor .kb-size-12 { --kb-inline-size:12px; }
.kb-article .kb-size-14,.kb-rich-editor .kb-size-14 { --kb-inline-size:14px; }
.kb-article .kb-size-15,.kb-rich-editor .kb-size-15 { --kb-inline-size:15px; }
.kb-article .kb-size-16,.kb-rich-editor .kb-size-16 { --kb-inline-size:16px; }
.kb-article .kb-size-18,.kb-rich-editor .kb-size-18 { --kb-inline-size:18px; }
.kb-article .kb-size-20,.kb-rich-editor .kb-size-20 { --kb-inline-size:20px; }
.kb-article .kb-size-22,.kb-rich-editor .kb-size-22 { --kb-inline-size:22px; }
.kb-article .kb-size-24,.kb-rich-editor .kb-size-24 { --kb-inline-size:24px; }
.kb-article .kb-size-28,.kb-rich-editor .kb-size-28 { --kb-inline-size:28px; }
.kb-article .kb-size-36,.kb-rich-editor .kb-size-36 { --kb-inline-size:36px; }
.kb-embed-custom { display:inline-block;width:min(var(--kb-embed-width,640px),100%);margin:8px 8px 8px 0;vertical-align:top; }
.kb-embed-custom img { width:100%;height:var(--kb-embed-height,auto);object-fit:contain; }
.kb-markdown-source { display:none !important; }
.kb-rich-editor {
  width:min(100%,760px);min-height:420px;margin:0 auto;padding:38px 16px 150px;box-sizing:border-box;
  color:var(--sv-color-text);background:var(--sv-color-surface);outline:0;white-space:pre-wrap;overflow-wrap:anywhere;
  font-family: var(--sv-font-sans);font-size:16px;line-height:var(--kb-line-height, 1.9);
}
.kb-rich-editor > .kb-para {
  margin: 0;
  min-height: 1.35em;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
/* 编辑态结构排版：接近阅读模式，不再裸显 ## / - */
.kb-rich-editor > .kb-para-h1,
.kb-rich-editor > .kb-para-h2,
.kb-rich-editor > .kb-para-h3 {
  color: var(--sv-color-text);
  font-weight: 700;
  text-indent: 0 !important;
}
.kb-rich-editor > .kb-para-h1 {
  margin: 0.95em 0 0.4em;
  font-size: 1.7em;
  line-height: 1.3;
}
.kb-rich-editor > .kb-para-h2 {
  margin: 0.85em 0 0.35em;
  font-size: 1.32em;
  line-height: 1.35;
}
.kb-rich-editor > .kb-para-h3 {
  margin: 0.7em 0 0.3em;
  font-size: 1.12em;
  line-height: 1.4;
}
.kb-rich-editor > .kb-para-ul,
.kb-rich-editor > .kb-para-ol {
  position: relative;
  padding-left: 1.4em;
  text-indent: 0 !important;
}
.kb-rich-editor > .kb-para-ul::before {
  content: "•";
  position: absolute;
  left: 0.2em;
  color: var(--sv-color-text);
  font-weight: 700;
}
.kb-rich-editor > .kb-para-ol::before {
  content: attr(data-md-index) ".";
  position: absolute;
  left: 0;
  min-width: 1.2em;
  color: var(--sv-color-text);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.kb-rich-editor > .kb-para-quote {
  margin: 0.35em 0;
  padding: 0.15em 0 0.15em 0.9em;
  border-left: 3px solid var(--sv-color-border-strong);
  color: var(--sv-color-text-faint);
  text-indent: 0 !important;
}
.kb-rich-editor em,
.kb-rich-editor i { font-style: italic; }
.kb-rich-editor > .kb-para-empty {
  min-height: 1.35em;
}
.kb-rich-editor:empty::before { content:attr(data-placeholder);color:var(--sv-color-text-muted);pointer-events:none; }
.kb-rich-editor.is-file-over { box-shadow:inset 0 0 0 2px rgba(75,93,125,.32);background:var(--sv-color-surface); }
.kb-rich-editor .kb-text-format { font-size:var(--kb-inline-size,inherit); }
.kb-inline-image {
  position:relative;display:inline-block;width:min(var(--kb-image-width,560px),100%);height:var(--kb-image-height,auto);
  min-width:80px;min-height:60px;max-width:100%;margin:8px 8px 8px 0;padding:0;border:1px solid transparent;border-radius:4px;vertical-align:top;
  background:var(--sv-color-surface);line-height:0;user-select:none;
}
.kb-inline-image.is-selected { border-color:var(--sv-color-border-soft);box-shadow:0 0 0 2px rgba(129,119,108,.13); }
.kb-inline-image img { display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:3px;cursor:default; }
.kb-inline-image.has-explicit-height img { height:100%; }
.kb-image-resize-handle { position:absolute;z-index:2;display:none;width:12px;height:12px;border:2px solid var(--sv-color-border);border-radius:50%;background:var(--sv-color-surface);box-shadow:0 1px 5px rgba(0,0,0,.24);touch-action:none; }
.kb-inline-image:is(:hover,.is-selected) .kb-image-resize-handle { display:block; }
.kb-image-resize-handle[data-resize="e"] { right:-6px;top:50%;cursor:ew-resize;transform:translateY(-50%); }
.kb-image-resize-handle[data-resize="s"] { left:50%;bottom:-6px;cursor:ns-resize;transform:translateX(-50%); }
.kb-image-resize-handle[data-resize="se"] { right:-6px;bottom:-6px;cursor:nwse-resize; }
html[data-app-rail="knowledge"] .kb-source-row { padding: 0 max(28px,calc((100% - 760px)/2)) 8px; background: var(--sv-color-surface); }
html[data-app-rail="knowledge"] .kb-agent-hint { max-width: 760px; margin: 0 auto 14px; border: 0; border-top: 1px solid var(--sv-color-border-strong); border-radius: 0; background: transparent; font-size: 12px; }
html[data-app-rail="knowledge"] .kb-inspector { margin: 0; padding: 9px 22px; border-radius: 0; outline: 0; border-top: 1px solid var(--sv-color-border-strong); background: var(--sv-color-surface); }
html[data-app-rail="knowledge"] .kb-inspector summary { font-size:11px; font-weight:700; }
html[data-app-rail="knowledge"] .kb-inspector-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:12px; }
html[data-app-rail="knowledge"] .kb-inspector-section h3 { margin-bottom:4px; font-size:10.5px; letter-spacing:.04em; text-transform:none; }
html[data-app-rail="knowledge"] .kb-inspector-help { margin:0 0 8px; color:var(--sv-color-text-muted); font-size:10.5px; line-height:1.5; }
html[data-app-rail="knowledge"] .kb-inspector-row { min-height:24px; font-size:11px; }
html[data-app-rail="knowledge"] .kb-inspector-add { gap:5px; margin-top:6px; }
html[data-app-rail="knowledge"] .kb-inspector-add input,
html[data-app-rail="knowledge"] .kb-inspector-add select { height:30px; min-height:30px; border:0 !important; border-radius:5px; outline:1px solid var(--sv-color-border-strong) !important; background:var(--sv-color-surface); font-size:11px; }
html[data-app-rail="knowledge"] .kb-inspector-add button { min-height:30px; padding:0 9px; border:0; border-radius:5px; background:var(--sv-color-selection-bg); color:var(--sv-color-text-faint); font-size:11px; }
html[data-app-rail="knowledge"] .kb-inspector :is(input,select,button):focus-visible { border-color:transparent !important; outline:1px solid var(--sv-color-border) !important; outline-offset:0 !important; box-shadow:0 0 0 2px rgba(91,82,72,.58) !important; }

html[data-app-rail="knowledge"] body.has-app-rail { background: var(--sv-color-canvas); }
html[data-app-rail="knowledge"] body.has-app-rail::after { display: none; }

/* Collected knowledge is an inbox index: compact navigation, title-only rows, finite pages. */
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-layout {
  grid-template-columns: 212px minmax(286px, 316px) minmax(0, 1fr);
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-layout.is-list-collapsed {
  grid-template-columns: 212px minmax(0, 1fr);
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-sidebar {
  padding: 13px 10px 12px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-collect-controls {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-eyebrow {
  margin-bottom: 7px;
  font-size: 8px;
  letter-spacing: .16em;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-library-title {
  margin-bottom: 10px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-library-title h1 {
  font-size: 18px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-total-pill {
  padding: 5px 8px;
  font-size: 9.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-workspace-switch {
  margin: 7px 0 7px;
  padding: 2px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-workspace-switch button {
  min-height: 27px;
  font-size: 10.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-workspace-switch b {
  font-size: 8.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-read-tab {
  padding: 5px 9px;
  font-size: 10.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-read-tabs {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:3px;
  margin:0 0 9px;
  padding:2px;
  border-radius:7px;
  background:var(--sv-color-selection-bg);
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-read-tab {
  justify-content:center;
  min-height:27px;
  padding:0 6px;
  border-radius:5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-read-tab.is-active {
  color:var(--sv-color-text);
  background:var(--sv-color-surface);
  box-shadow:0 1px 4px rgba(48,41,34,.1);
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-search-shell {
  margin-bottom: 10px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-search-shell input {
  height: 34px;
  padding: 0 31px;
  font-size: 10.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-search-shell svg {
  top: 9px;
  left: 10px;
  width: 15px;
  height: 15px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-cat-nav {
  gap: 3px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-cat {
  height: 28px;
  min-height: 28px;
  max-height: 28px;
  padding: 0 8px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-cat strong {
  font-size: 11px;
}

html[data-app-rail="knowledge"] .kb-cat-official,
.kb-category-row .kb-cat-official {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 5px;
  border-radius: 999px;
  border: 1px solid var(--sv-color-border);
  color: var(--sv-color-text-faint);
  background: var(--sv-color-surface);
  font: 650 9px/1.2 inherit;
  letter-spacing: 0.04em;
  vertical-align: 1px;
  font-style: normal;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-cat-count {
  font-size: 9.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-cat-add {
  height: 31px;
  margin-top: 8px;
  font-size: 10.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-list-pane {
  gap: 7px;
  padding: 14px 10px 9px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-list-title h2 {
  font-size: 16px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-pane-toggle {
  width: 30px;
  min-width: 30px;
  min-height: 30px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-new-btn {
  min-width: 84px;
  height: 34px;
  font-size: 11px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-new-btn i {
  width: 21px;
  height: 21px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-chip {
  padding: 4px 7px;
  font-size: 9.5px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-list {
  gap: 1px;
  padding: 0 1px 2px 0;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-item-inner {
  min-height: 48px;
  padding: 8px 8px 7px;
  border-radius: 6px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-item.has-search-result .kb-doc-item-inner {
  min-height: 66px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-item.is-split .kb-doc-item-inner {
  box-shadow: inset 2px 0 var(--sv-color-border-strong);
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-item-top {
  grid-template-columns: minmax(0, 1fr) 22px;
  gap: 5px;
  align-items: center;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-title {
  align-items: center;
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-title-label {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-doc-read-state {
  min-height: 17px;
  padding: 1px 5px;
  font-size: 8px;
}

html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-star-btn {
  width: 22px;
  height: 22px;
  font-size: 13px;
}

.kb-pagination {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  padding-top: 5px;
  border-top: 1px solid var(--sv-color-border-strong);
  color: var(--sv-color-text-muted);
  font-size: 9.5px;
  font-variant-numeric: tabular-nums;
}

.kb-pagination.hidden { display: none; }

.kb-pagination button {
  display: grid;
  width: 24px;
  height: 24px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 5px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-selection-bg);
  font: 650 14px/1 inherit;
  cursor: pointer;
}

.kb-pagination button:hover:not(:disabled) {
  color: var(--sv-color-text);
  background: var(--sv-color-selection-bg);
}

.kb-pagination button:disabled {
  opacity: .3;
  cursor: default;
}

html[data-app-rail="knowledge"] .kb-article p,
html[data-app-rail="knowledge"] .kb-article li {
  font-size: 16px;
  line-height: var(--kb-line-height, 1.9);
}

/* Link knowledge is a two-layer record: editable AI summary, then immutable local source. */
html[data-app-rail="knowledge"] .kb-summary-panel,
html[data-app-rail="knowledge"] .kb-source-gallery,
html[data-app-rail="knowledge"] .kb-web-archive {
  width: min(100%, 780px);
  margin-right: auto;
  margin-left: auto;
}

html[data-app-rail="knowledge"] .kb-content-section-label {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-top: 26px;
  border-top: 1px solid var(--sv-color-border-strong);
}

html[data-app-rail="knowledge"] .kb-content-section-label span,
html[data-app-rail="knowledge"] .kb-web-archive-head small {
  color: var(--sv-color-text-muted);
  font: 700 8px/1 var(--sv-font-sans);
  letter-spacing: .18em;
}

html[data-app-rail="knowledge"] .kb-content-section-label strong {
  color: var(--sv-color-text-faint);
  font: 700 11px/1.2 var(--sv-font-sans);
}

html[data-app-rail="knowledge"] .kb-summary-panel .kb-article { padding-top: 20px; }

html[data-app-rail="knowledge"] .kb-source-gallery {
  margin-top: 10px;
  padding-top: 22px;
}

html[data-app-rail="knowledge"] .kb-source-gallery.hidden { display: none; }

html[data-app-rail="knowledge"] .kb-source-gallery-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 14px;
}

html[data-app-rail="knowledge"] .kb-source-gallery-head small {
  color: var(--sv-color-text-muted);
  font: 700 8px/1 var(--sv-font-sans);
  letter-spacing: .18em;
}

html[data-app-rail="knowledge"] .kb-source-gallery-head h3 {
  margin: 7px 0 0;
  color: var(--sv-color-text);
  font: 750 21px/1.25 var(--sv-font-editorial);
  letter-spacing: -.02em;
}

html[data-app-rail="knowledge"] .kb-source-gallery-head p {
  margin: 6px 0 0;
  color: var(--sv-color-text-muted);
  font-size: 10.5px;
  line-height: 1.55;
}

html[data-app-rail="knowledge"] .kb-source-gallery-nav {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

html[data-app-rail="knowledge"] .kb-source-gallery-nav span {
  min-width: 48px;
  color: var(--sv-color-text-faint);
  font: 650 9.5px/1 var(--sv-font-sans);
  text-align: center;
  font-variant-numeric: tabular-nums;
}

html[data-app-rail="knowledge"] .kb-source-gallery-nav button {
  width: 29px;
  height: 29px;
  border: 1px solid var(--sv-color-border);
  border-radius: 50%;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-surface);
  cursor: pointer;
}

html[data-app-rail="knowledge"] .kb-source-gallery-nav button:hover:not(:disabled) { color: var(--sv-color-text); background: var(--sv-color-surface-hover); }
html[data-app-rail="knowledge"] .kb-source-gallery-nav button:disabled { opacity: .35; cursor: default; }

html[data-app-rail="knowledge"] .kb-source-gallery-viewport {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(91, 82, 72, .22) transparent;
  outline: 0;
}

html[data-app-rail="knowledge"] .kb-source-gallery-track {
  display: flex;
  gap: 10px;
  padding: 1px 1px 10px;
}

html[data-app-rail="knowledge"] .kb-source-gallery-slide {
  position: relative;
  flex: 0 0 clamp(248px, 53%, 390px);
  height: clamp(330px, 48vw, 470px);
  overflow: hidden;
  scroll-snap-align: start;
  border: 1px solid var(--sv-color-border);
  border-radius: 9px;
  padding: 0;
  background: var(--sv-color-surface);
  box-shadow: 0 12px 30px rgba(58, 47, 34, .08);
  cursor: zoom-in;
}

html[data-app-rail="knowledge"] .kb-source-gallery-slide:hover {
  border-color: var(--sv-color-border);
  box-shadow: 0 16px 38px rgba(58, 47, 34, .13);
}

html[data-app-rail="knowledge"] .kb-source-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--sv-color-surface);
}

html[data-app-rail="knowledge"] .kb-source-gallery-slide span {
  position: absolute;
  right: 9px;
  bottom: 9px;
  max-width: calc(100% - 18px);
  overflow: hidden;
  padding: 5px 7px;
  border-radius: 4px;
  color: var(--sv-color-text);
  background: var(--sv-color-surface);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}

html[data-app-rail="knowledge"] .kb-source-gallery:not(.hidden) + .kb-summary-panel { margin-top: 34px; }

.kb-image-lightbox {
  width: min(920px, 82vw);
  height: min(760px, 84dvh);
  max-width: none;
  max-height: none;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 10px;
  color: var(--sv-color-text);
  background: var(--sv-color-surface);
  box-shadow: 0 24px 72px rgba(51, 44, 36, .22);
}

.kb-image-lightbox.is-portrait {
  width: min(650px, 82vw);
}

.kb-image-lightbox::backdrop {
  background: var(--sv-color-selection-bg);
  backdrop-filter: blur(7px) saturate(.82);
}

.kb-image-lightbox[open] {
  display: grid;
  grid-template: 58px minmax(0,1fr) / 70px minmax(0,1fr) 70px;
  animation: kb-lightbox-in 160ms ease-out both;
}

.kb-image-lightbox > header {
  z-index: 2;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  min-height: 58px;
  padding: 0 18px 0 22px;
  border-bottom: 1px solid var(--sv-color-border);
  background: var(--sv-color-surface);
}

.kb-image-lightbox > header div { display:flex;align-items:baseline;gap:10px; }
.kb-image-lightbox > header small { color:var(--sv-color-text-muted);font: 700 8px/1 var(--sv-font-sans);letter-spacing:.2em; }
.kb-image-lightbox > header strong { color:var(--sv-color-text);font: 650 11px/1 var(--sv-font-sans);font-variant-numeric:tabular-nums; }
.kb-image-lightbox > header span { color:var(--sv-color-text-muted);font-size:9.5px;letter-spacing:.04em; }
.kb-image-lightbox-tools {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  justify-self:center;
}
.kb-image-lightbox-zoombar {
  display:inline-flex;
  align-items:stretch;
  overflow:hidden;
  border:1px solid var(--sv-color-border);
  border-radius:8px;
  background:var(--sv-color-surface);
}
.kb-image-lightbox-zoombar button {
  min-width:32px;
  height:30px;
  padding:0 10px;
  border:0;
  border-radius:0;
  color:var(--sv-color-text-muted);
  background:transparent;
  font:650 13px/1 inherit;
  cursor:pointer;
}
.kb-image-lightbox-zoombar button:hover { background:var(--sv-color-selection-bg); }
.kb-image-lightbox-fit {
  padding:0 12px;
  font:600 10.5px/1 inherit;
  white-space:nowrap;
}
.kb-image-lightbox-zoom-divider {
  flex:0 0 1px;
  align-self:stretch;
  width:1px;
  margin:0;
  background:var(--sv-color-selection-bg);
}
.kb-image-lightbox-zoombar span:not(.kb-image-lightbox-zoom-divider) {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  padding:0 4px;
  color:var(--sv-color-text-muted);
  font: 650 10px/1 var(--sv-font-sans);
  font-variant-numeric:tabular-nums;
  user-select:none;
}
.kb-image-lightbox-hint { font-size:9px !important; }
.kb-image-lightbox > header > button {
  justify-self:end;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid var(--sv-color-border);
  border-radius:50%;
  color:var(--sv-color-text-muted);
  background:var(--sv-color-selection-bg);
  font:300 20px/1 inherit;
  cursor:pointer;
}
.kb-image-lightbox > header > button:hover { background:var(--sv-color-selection-bg); }

.kb-image-lightbox figure {
  position:relative;
  grid-column:2;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  overflow:hidden;
  margin:0;
  padding:18px 16px 58px;
}
.kb-image-lightbox-viewport {
  flex:1;
  display:grid;
  place-items:center;
  width:100%;
  min-height:0;
  overflow:hidden;
  touch-action:none;
  cursor:default;
}
.kb-image-lightbox-viewport.is-zoomed { cursor:grab; }
.kb-image-lightbox-viewport.is-zoomed.is-panning { cursor:grabbing; }

.kb-image-lightbox figure img {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(620px, calc(84dvh - 134px));
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
  transform-origin:center center;
  will-change:transform;
}

.kb-image-lightbox figure figcaption {
  position:absolute;
  right:14px;
  bottom:15px;
  left:14px;
  overflow:hidden;
  color:var(--sv-color-text-muted);
  font-size:10px;
  line-height:1.5;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kb-image-lightbox-arrow {
  align-self:center;
  justify-self:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--sv-color-border);
  border-radius:50%;
  color:var(--sv-color-text-muted);
  background:var(--sv-color-surface);
  font:400 18px/1 inherit;
  cursor:pointer;
  transition:background-color 140ms ease, transform 140ms ease, opacity 140ms ease;
}
.kb-image-lightbox-arrow.is-prev { grid-column:1; }
.kb-image-lightbox-arrow.is-next { grid-column:3; }
.kb-image-lightbox-arrow:hover:not(:disabled) { background:var(--sv-color-selection-bg);transform:scale(1.05); }
.kb-image-lightbox-arrow:disabled { opacity:.18;cursor:default; }

@keyframes kb-lightbox-in {
  from { opacity:0;transform:translateY(8px) scale(.992); }
  to { opacity:1;transform:translateY(0) scale(1); }
}

@media (max-width: 680px) {
  .kb-image-lightbox {
    width:94vw;
    height:88dvh;
    border-radius:9px;
  }
  .kb-image-lightbox.is-portrait { width:94vw; }
  .kb-image-lightbox[open] { grid-template:52px minmax(0,1fr) / 48px minmax(0,1fr) 48px; }
  .kb-image-lightbox > header { min-height:52px;padding:0 12px 0 15px; }
  .kb-image-lightbox > header span { display:none; }
  .kb-image-lightbox-hint { display:none; }
  .kb-image-lightbox figure { padding:10px 4px 48px; }
  .kb-image-lightbox figure img { max-height:calc(88dvh - 112px); }
  .kb-image-lightbox-arrow { width:34px;height:34px; }
}

.kb-doc-menu {
  position:fixed;
  z-index:1200;
  width:210px;
  max-height:min(420px,70vh);
  overflow:hidden;
  padding:6px;
  border:1px solid var(--sv-color-border);
  border-radius:9px;
  background:var(--sv-color-surface);
  box-shadow:0 18px 52px rgba(58,49,39,.2);
  backdrop-filter:blur(14px);
}
.kb-doc-menu.hidden { display:none; }
.kb-doc-menu-action { display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 9px;border:0;border-radius:6px;color:var(--sv-color-text);background:transparent;font:700 10.5px/1.2 inherit;text-align:left;cursor:pointer; }
.kb-doc-menu-action + .kb-doc-menu-action { margin-top:2px; }
.kb-doc-menu-action:hover,
.kb-doc-menu-action[aria-expanded="true"] { background:var(--sv-color-selection-bg); }
.kb-doc-menu-action.is-primary { color:#2e4a15;background:rgba(159,201,52,.1); }
.kb-doc-menu-action.is-linked { color:var(--sv-color-text-muted);background:var(--sv-color-selection-bg); }
.kb-creative-link-badge { flex:0 0 auto;padding:3px 5px;border-radius:999px;color:#53651a;background:rgba(159,201,52,.16);font:800 8px/1 inherit;font-style:normal;letter-spacing:.03em; }
.kb-doc-menu-action i { color:var(--sv-color-text-faint);font-style:normal; }
.kb-doc-menu-categories { max-height:330px;overflow:auto;margin-top:5px;padding-top:5px;border-top:1px solid var(--sv-color-border); }
.kb-doc-menu-categories.hidden { display:none; }
.kb-doc-menu-categories button { display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:0;border-radius:6px;color:var(--sv-color-text-muted);background:transparent;font:600 10.5px/1.2 inherit;text-align:left;cursor:pointer; }
.kb-doc-menu-categories button:hover { background:var(--sv-color-selection-bg); }
.kb-doc-menu-categories button.is-current { color:var(--sv-color-text-faint);cursor:default; }
.kb-doc-menu-categories button span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.kb-doc-menu-categories button i { color:var(--sv-color-text-faint);font-style:normal;font-size:10px; }

.kb-agent-quote-menu { position:fixed;z-index:1210;width:220px;padding:6px;border:1px solid var(--sv-color-border);border-radius:9px;background:var(--sv-color-surface);box-shadow:0 18px 52px rgba(58,49,39,.2);backdrop-filter:blur(14px); }
.kb-agent-quote-menu.hidden { display:none; }
.kb-agent-quote-menu > small { display:block;overflow:hidden;padding:6px 8px 4px;color:var(--sv-color-text-muted);font:600 9px/1.25 inherit;text-overflow:ellipsis;white-space:nowrap; }
.kb-agent-quote-menu > button { display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 8px;border:0;border-radius:6px;color:var(--sv-color-text);background:var(--sv-color-selection-bg);font:700 10.5px/1.2 inherit;text-align:left;cursor:pointer; }
.kb-agent-quote-menu > button:hover { background:var(--sv-color-selection-bg); }
.kb-agent-quote-menu > button i { color:var(--sv-color-text-faint);font-style:normal; }

html[data-app-rail="knowledge"] .kb-web-archive {
  margin-top: 62px;
  margin-bottom: 80px;
  padding-top: 28px;
  border-top: 1px solid var(--sv-color-border-strong);
}

html[data-app-rail="knowledge"] .kb-web-archive.hidden { display: none; }

html[data-app-rail="knowledge"] .kb-web-archive-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

html[data-app-rail="knowledge"] .kb-web-archive-head h3 {
  margin: 7px 0 0;
  color: var(--sv-color-text);
  font: 750 22px/1.25 var(--sv-font-editorial);
  letter-spacing: -.02em;
}

html[data-app-rail="knowledge"] .kb-web-archive-head p {
  margin: 7px 0 0;
  color: var(--sv-color-text-muted);
  font-size: 11px;
  line-height: 1.6;
}

html[data-app-rail="knowledge"] .kb-web-archive-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}

html[data-app-rail="knowledge"] .kb-web-archive-state,
html[data-app-rail="knowledge"] .kb-web-archive-actions a {
  min-height: 27px;
  box-sizing: border-box;
  padding: 7px 9px 0;
  border: 1px solid var(--sv-color-border);
  border-radius: 5px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-surface);
  font: 700 9px/1 var(--sv-font-sans);
  text-decoration: none;
}

html[data-app-rail="knowledge"] .kb-web-archive-state.is-complete { color: var(--sv-color-success); background: var(--sv-color-surface); border-color: rgba(70, 101, 66, .17); }
html[data-app-rail="knowledge"] .kb-web-archive-state.is-partial { color: var(--sv-color-warning); background: var(--sv-color-surface); border-color: rgba(138, 92, 46, .18); }
html[data-app-rail="knowledge"] .kb-web-archive-actions a:hover { color: var(--sv-color-text); background: var(--sv-color-surface); }
html[data-app-rail="knowledge"] .kb-web-archive-actions a.hidden { display: none; }

html[data-app-rail="knowledge"] .kb-web-archive-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin-top: 19px;
  padding: 11px 13px;
  border: 1px solid var(--sv-color-border-strong);
  border-radius: 7px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-surface);
  font-size: 9.5px;
  font-variant-numeric: tabular-nums;
}

html[data-app-rail="knowledge"] .kb-web-archive-meta span { display: inline-flex; align-items: center; gap: 5px; }
html[data-app-rail="knowledge"] .kb-web-archive-meta b { color: var(--sv-color-text); font-weight: 700; }

html[data-app-rail="knowledge"] .kb-web-archive-reader {
  margin-top: 22px;
  border: 0;
}

html[data-app-rail="knowledge"] .kb-web-archive-reader > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  padding: 0 4px 9px;
  border-bottom: 1px solid var(--sv-color-border-strong);
  color: var(--sv-color-text);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

html[data-app-rail="knowledge"] .kb-web-archive-reader > summary::-webkit-details-marker { display: none; }
html[data-app-rail="knowledge"] .kb-web-archive-reader > summary small { color: var(--sv-color-text-muted); font-size: 8.5px; font-weight: 550; }

html[data-app-rail="knowledge"] .kb-archived-article {
  padding: 34px 4px 20px;
  color: var(--sv-color-text);
  font-family: var(--sv-font-sans);
  font-size: 15px;
  line-height: 1.92;
  overflow-wrap: anywhere;
}

html[data-app-rail="knowledge"] .kb-archived-article :is(h1, h2, h3, h4) {
  color: var(--sv-color-text);
  font-family: var(--sv-font-editorial);
  line-height: 1.4;
}

html[data-app-rail="knowledge"] .kb-archived-article h1 { margin: 0 0 28px; font-size: 27px; }
html[data-app-rail="knowledge"] .kb-archived-article h2 { margin: 42px 0 16px; font-size: 21px; }
html[data-app-rail="knowledge"] .kb-archived-article h3 { margin: 32px 0 13px; font-size: 17px; }
html[data-app-rail="knowledge"] .kb-archived-article p { margin: 0 0 20px; }
html[data-app-rail="knowledge"] .kb-archived-article a { color: var(--sv-color-info); text-decoration-color: rgba(79, 108, 120, .3); text-underline-offset: 3px; }
html[data-app-rail="knowledge"] .kb-archived-article :is(ul, ol) { margin: 0 0 22px; padding-left: 24px; }
html[data-app-rail="knowledge"] .kb-archived-article li { margin-bottom: 8px; }

html[data-app-rail="knowledge"] .kb-archived-article :is(figure, img) { max-width: 100%; }
html[data-app-rail="knowledge"] .kb-archived-article figure { margin: 30px 0 34px; }
html[data-app-rail="knowledge"] .kb-archived-article img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 820px;
  margin: 28px auto;
  object-fit: contain;
  border-radius: 8px;
  background: var(--sv-color-surface);
  box-shadow: 0 13px 34px rgba(53, 44, 34, .1), 0 0 0 1px rgba(82, 69, 55, .07);
  cursor: zoom-in;
}
html[data-app-rail="knowledge"] .kb-article .kb-embed img {
  cursor: zoom-in;
}
html[data-app-rail="knowledge"] .kb-archived-article figcaption { margin-top: -18px; color: var(--sv-color-text-muted); font-size: 10.5px; line-height: 1.6; text-align: center; }
html[data-app-rail="knowledge"] .kb-archived-article .sv-archive-image-missing { min-height: 92px; background: repeating-linear-gradient(135deg,var(--sv-color-surface),var(--sv-color-surface) 8px,var(--sv-color-surface) 8px,var(--sv-color-surface) 16px); box-shadow: none; }
html[data-app-rail="knowledge"] .kb-archived-article table { display: block; max-width: 100%; overflow: auto; border-collapse: collapse; }
html[data-app-rail="knowledge"] .kb-archived-article :is(th, td) { padding: 9px 11px; border: 1px solid var(--sv-color-border-strong); text-align: left; }

@media (max-width: 680px) {
  html[data-app-rail="knowledge"] .kb-source-gallery-head { display: grid; }
  html[data-app-rail="knowledge"] .kb-source-gallery-nav { justify-content: flex-end; }
  html[data-app-rail="knowledge"] .kb-source-gallery-slide { flex-basis: 84%; height: 410px; }
  html[data-app-rail="knowledge"] .kb-web-archive-head { display: grid; }
  html[data-app-rail="knowledge"] .kb-web-archive-actions { justify-content: flex-start; }
  html[data-app-rail="knowledge"] .kb-web-archive { margin-top: 46px; }
  html[data-app-rail="knowledge"] .kb-archived-article { font-size: 14px; }
}

.kb-vault-menu.hidden { display:none; }

.kb-ai-drawer { position:fixed;top:0;right:0;z-index:30;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(390px,100vw);height:100dvh;border-left:1px solid var(--sv-color-border);color:var(--sv-color-text);background:var(--sv-color-surface);box-shadow:-18px 0 48px rgba(43,36,29,.18);transform:translateX(104%);transition:transform 260ms cubic-bezier(.16,1,.3,1); }
html[data-knowledge-ai="open"] .kb-ai-drawer { transform:translateX(0); }
html[data-knowledge-ai="open"] :is(.domain-agent-launcher,.domain-agent-drawer) { visibility:hidden;pointer-events:none; }
html[data-knowledge-mode="vault"] :is(.domain-agent-launcher,.domain-agent-drawer,.domain-agent-sessions) { display:none !important; }
html[data-knowledge-mode="vault"] body.domain-agent-panel-open { padding-right:0 !important; }
.kb-ai-shortcuts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 12px;border-bottom:1px solid var(--sv-color-border);background:var(--sv-color-surface); }
.kb-ai-shortcuts button { min-height:30px;padding:0 5px;border:1px solid var(--sv-color-border);border-radius:6px;color:var(--sv-color-text-faint);background:var(--sv-color-surface);font:650 10px/1 inherit;cursor:pointer; }
.kb-ai-shortcuts button:hover,.kb-ai-shortcuts button:focus-visible { color:var(--sv-color-text);border-color:var(--sv-color-border);background:var(--sv-color-surface);outline:0; }
.kb-ai-model { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--sv-color-text-faint);font:650 9.5px/1 inherit; }
.kb-ai-model select { width:100%; }
.kb-vault-attachment { display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:3px;padding-left:calc(10px + var(--depth,1)*12px); }
.kb-vault-attachment .kb-vault-file { min-width:0;padding-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.kb-vault-attachment-delete { width:22px;height:22px;padding:0;border:0;border-radius:5px;color:var(--sv-color-text-muted);background:transparent;cursor:pointer;opacity:.25; }
.kb-vault-attachment:hover .kb-vault-attachment-delete,.kb-vault-attachment-delete:focus-visible { opacity:1;color:var(--sv-color-danger);background:var(--sv-color-surface);outline:0; }
.kb-ai-drawer>header { display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:0 14px 0 17px;border-bottom:1px solid var(--sv-color-border); }.kb-ai-drawer>header div{display:grid;gap:3px}.kb-ai-drawer>header small{color:var(--sv-color-text-muted);font-size:8px;letter-spacing:.14em;text-transform:uppercase}.kb-ai-drawer>header strong{font-size:15px}.kb-ai-drawer>header button{width:30px;height:30px;border:0;border-radius:6px;color:var(--sv-color-text-faint);background:transparent;font-size:19px;cursor:pointer}.kb-ai-drawer>header button:hover{background:rgba(25,23,20,.06)}
.kb-ai-context { padding:11px 14px;border-bottom:1px solid var(--sv-color-border);background:var(--sv-color-surface); }.kb-ai-context>span{color:var(--sv-color-text-faint);font:650 10px/1 inherit}.kb-ai-context>p{display:-webkit-box;overflow:hidden;margin:7px 0 0;color:var(--sv-color-text-muted);font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.kb-ai-messages { overflow:auto;padding:14px;display:flex;flex-direction:column;gap:11px; }.kb-ai-welcome{margin:auto 16px;padding:18px;border:1px dashed var(--sv-color-border);border-radius:10px;color:var(--sv-color-text-faint);text-align:center}.kb-ai-welcome strong{color:var(--sv-color-text);font-size:13px}.kb-ai-welcome p{margin:7px 0 0;font-size:10.5px;line-height:1.6}
.kb-ai-message { max-width:91%;padding:10px 11px;border-radius:10px;font-size:11.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.kb-ai-message>small{display:block;margin-bottom:4px;color:var(--sv-color-text-muted);font-size:8.5px}.kb-ai-message.user{align-self:flex-end;background:var(--sv-color-surface-hover);color:var(--sv-color-text)}.kb-ai-message.user>small{color:var(--sv-color-text-muted)}.kb-ai-message.assistant{align-self:flex-start;border:1px solid var(--sv-color-border);background:var(--sv-color-surface);color:var(--sv-color-text)}.kb-ai-message footer{display:flex;gap:4px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(91,82,72,.1)}.kb-ai-message footer button{min-height:26px;padding:0 7px;border:0;border-radius:5px;color:var(--sv-color-text-faint);background:var(--sv-color-surface);font:650 9.5px/1 inherit;cursor:pointer}.kb-ai-message footer button:hover{color:var(--sv-color-text);background:var(--sv-color-surface-hover)}
.kb-ai-compose { display:grid;gap:7px;padding:11px 12px 13px;border-top:1px solid var(--sv-color-border);background:var(--sv-color-canvas-raised)}.kb-ai-compose select{height:30px;border:1px solid var(--sv-color-border);border-radius:6px;color:var(--sv-color-text-faint);background:var(--sv-color-surface);font-size:10px}.kb-ai-compose textarea{width:100%;min-height:76px;box-sizing:border-box;resize:none;padding:9px 10px;border:1px solid var(--sv-color-border);border-radius:8px;outline:0;color:var(--sv-color-text);background:var(--sv-color-surface);font:400 12px/1.55 inherit}.kb-ai-compose textarea:focus{border-color:var(--sv-color-border);box-shadow:0 0 0 2px rgba(91,82,72,.08)}.kb-ai-compose>div{display:flex;align-items:center;justify-content:flex-end;gap:8px}.kb-ai-compose>div span{margin-right:auto;color:var(--sv-color-text-muted);font-size:9.5px}.kb-ai-compose>div button{min-height:31px;padding:0 13px;border:0;border-radius:6px;color:var(--sv-color-text);background:var(--sv-color-surface-hover);font:650 10.5px/1 inherit;cursor:pointer}.kb-ai-compose>div button:disabled{opacity:.5}

@media (min-width: 1101px) and (max-width: 1280px) {
  html[data-app-rail="knowledge"] .kb-layout {
    grid-template-columns: 184px minmax(290px, 318px) minmax(0, 1fr);
    gap: 0;
    padding: 14px;
  }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-layout { grid-template-columns:210px minmax(0,1fr) 220px; }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-context="collapsed"] .kb-layout { grid-template-columns:210px minmax(0,1fr); }

  html[data-app-rail="knowledge"] .kb-layout.is-list-collapsed {
    grid-template-columns: 184px minmax(0, 1fr);
  }

  html[data-app-rail="knowledge"] .kb-list-reopen {
    left: calc(204px + 10px + 14px);
  }

  html[data-app-rail="knowledge"] .kb-reader-top,
  html[data-app-rail="knowledge"] .kb-read-body {
    padding-right: 26px;
    padding-left: 26px;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  html[data-app-rail="knowledge"] .kb-layout,
  html[data-app-rail="knowledge"] .kb-layout.is-list-collapsed {
    height: auto;
    min-height: 100dvh;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  html[data-app-rail="knowledge"] .kb-editor-pane {
    grid-column: 1 / -1;
    min-height: 680px;
  }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-layout,
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-context="collapsed"] .kb-layout { grid-template-columns:200px minmax(0,1fr); }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-pane { grid-column:auto; }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-context-pane { display:none; }

  html[data-app-rail="knowledge"] .kb-list-reopen {
    left: calc(210px + 10px + 12px);
  }
}

@media (max-width: 820px) {
  html[data-app-rail="knowledge"] .kb-layout,
  html[data-app-rail="knowledge"] .kb-layout.is-list-collapsed {
    height: auto;
    min-height: 100dvh;
    grid-template-columns: minmax(0, 1fr);
    padding: 10px;
  }

  html[data-app-rail="knowledge"] .kb-editor-pane {
    grid-column: auto;
    min-height: 680px;
  }
  html[data-app-rail="knowledge"] .kb-context-pane { display:none; }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-layout,
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"][data-knowledge-context="collapsed"] .kb-layout { grid-template-columns:minmax(0,1fr); }
  html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-sidebar { min-height:280px;max-height:42vh; }

  html[data-app-rail="knowledge"] .kb-reader-top,
  html[data-app-rail="knowledge"] .kb-read-body {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-app-rail="knowledge"] .kb-doc-item-inner {
    transition: none;
  }
}

/* 2026-08-26: writing and collection are distinct entrances, not mixed filters. */
html[data-app-rail="knowledge"] .kb-workspace-switch {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 12px 0 10px;
  padding: 0;
  background: transparent;
}

html[data-app-rail="knowledge"] .kb-workspace-switch button,
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-workspace-switch button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 5px 9px 5px 7px;
  border: 1px solid var(--sv-color-border);
  border-radius: 8px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-surface);
  box-shadow: none;
  text-align: left;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

html[data-app-rail="knowledge"] .kb-workspace-switch button:hover {
  border-color: var(--sv-color-border);
  background: var(--sv-color-surface);
  transform: translateY(-1px);
}

html[data-app-rail="knowledge"] .kb-workspace-switch button:active { transform: translateY(0); }

html[data-app-rail="knowledge"] .kb-workspace-switch button[aria-selected="true"] {
  border-color: var(--sv-color-border);
  color: var(--sv-color-text);
  background: var(--sv-color-surface);
  box-shadow: 0 5px 14px rgba(57, 47, 36, .08);
}

.kb-entry-mark {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 6px;
  color: var(--sv-color-text-faint);
  background: var(--sv-color-selection-bg);
  font: 700 14px/1 var(--sv-font-editorial);
}

button[aria-selected="true"] .kb-entry-mark { color: var(--sv-color-text); background: var(--sv-color-surface-hover); }
.kb-entry-copy { display: grid; min-width: 0; gap: 2px; }
.kb-entry-copy strong { font-size: 11.5px; font-weight: 700; line-height: 1.15; }
.kb-entry-copy small { color: var(--sv-color-text-muted); font-size: 8.5px; font-weight: 550; line-height: 1.1; }

html[data-app-rail="knowledge"] .kb-workspace-switch button b,
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-workspace-switch button b {
  margin: 0;
  color: var(--sv-color-text-muted);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

/* Collection is a reading inbox. Creating a personal note always belongs to the writing entrance. */
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] #kbNewDoc { display: none; }

/* Collected articles no longer inherit the browser-like open-tab strip. */
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-editor-tabs { display: none !important; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-editor-pane:not(.is-empty) {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

/* Personal-note tabs are a quiet text rail with no horizontal scrollbar or card chrome. */
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tabs {
  display: flex;
  gap: 4px;
  min-height: 34px;
  padding: 4px 8px 0;
  overflow: hidden;
  border-bottom: 1px solid var(--sv-color-border-strong);
  background: var(--sv-color-surface);
}

html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  max-width: 200px;
  overflow: hidden;
  border: 0;
  border-radius: 6px 6px 0 0;
  color: var(--sv-color-text-muted);
  background: transparent;
}

html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab > button:first-child {
  font-size: 9.5px;
  line-height: 30px;
  font-weight: 550;
}

html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab:hover { color: var(--sv-color-text-muted); background: var(--sv-color-selection-bg); }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab.active { color: var(--sv-color-text); background: transparent; box-shadow: none; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab.active::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 0;
  left: 8px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--sv-color-surface-hover);
}

html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab > button:last-child { opacity: 0; transition: opacity 140ms ease, background-color 140ms ease; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-editor-tab:is(:hover, :focus-within, .active) > button:last-child { opacity: .72; }

/* Evidence images read as part of the article, with captions instead of file paths. */
html[data-app-rail="knowledge"] .kb-embed {
  margin: 30px 0 34px;
}

html[data-app-rail="knowledge"] .kb-embed img {
  width: 100%;
  max-height: 720px;
  object-fit: contain;
  border-radius: 10px;
  background: var(--sv-color-surface);
  box-shadow: 0 12px 32px rgba(58, 47, 34, .1), 0 0 0 1px rgba(88, 76, 61, .08);
  cursor: zoom-in;
}

html[data-app-rail="knowledge"] .kb-embed figcaption {
  margin-top: 10px;
  color: var(--sv-color-text-muted);
  font-size: 11px;
  line-height: 1.55;
  text-align: center;
}

/* Category governance stays visible at the bottom even when the taxonomy itself becomes long. */
.kb-library-actions { display:flex;flex:0 0 auto;align-items:center;gap:5px; }
.kb-sidebar-footer { margin-top:auto;padding-top:10px;border-top:1px solid var(--sv-color-border-strong); }
.kb-sidebar-footer .kb-cat-manage { width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--sv-color-border-strong);border-radius:7px;color:var(--sv-color-text-faint);background:var(--sv-color-surface);font:650 11px/1 inherit;text-align:left;cursor:pointer; }
.kb-sidebar-footer .kb-cat-manage b { flex:0 0 auto;color:var(--sv-color-text-muted);font:600 14px/1 inherit; }
.kb-sidebar-footer .kb-cat-manage:hover { color:var(--sv-color-text);border-color:var(--sv-color-border-strong);background:var(--sv-color-surface); }
.kb-category-pane { min-height:0; }
html[data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-tree { flex:1; }
html[data-app-rail="knowledge"][data-knowledge-mode="collect"] .kb-category-pane { min-height:0;flex:1;overflow:auto; }

.kb-category-dialog { width:min(780px,calc(100vw - 42px));height:min(720px,calc(100vh - 48px));padding:0;border:1px solid var(--sv-color-border);border-radius:11px;color:var(--sv-color-text);background:var(--sv-color-surface);box-shadow:0 28px 90px rgba(38,33,27,.3); }
.kb-category-dialog::backdrop { background:var(--sv-color-selection-bg);backdrop-filter:blur(3px); }
.kb-category-dialog > header { display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:0 16px 0 20px;border-bottom:1px solid var(--sv-color-border);background:var(--sv-color-surface); }
.kb-category-dialog > header div { display:grid;gap:3px; }
.kb-category-dialog > header small { color:var(--sv-color-text-muted);font:700 8px/1.2 inherit;letter-spacing:.17em;text-transform:uppercase; }
.kb-category-dialog > header strong { font: 700 16px/1.2 var(--sv-font-editorial); }
.kb-category-head-actions { display:flex;align-items:center;gap:5px; }
.kb-category-dialog > header button { width:30px;height:30px;border:0;border-radius:5px;color:var(--sv-color-text-faint);background:transparent;font-size:20px;cursor:pointer; }
.kb-category-dialog > header .kb-category-new { width:auto;padding:0 10px;color:var(--sv-color-text);background:var(--sv-color-surface-hover);font:650 9.5px/1 inherit; }
.kb-category-dialog > header button:hover { color:var(--sv-color-text);background:var(--sv-color-selection-bg); }
.kb-category-dialog > header .kb-category-new:hover { color:var(--sv-color-text);background:var(--sv-color-surface-strong); }
.kb-category-overview { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:14px 16px 10px;overflow:hidden;border:1px solid var(--sv-color-border);border-radius:7px;background:var(--sv-color-selection-bg); }
.kb-category-overview > div { display:flex;align-items:baseline;gap:7px;padding:12px 14px;background:var(--sv-color-surface); }
.kb-category-overview strong { font: 700 20px/1 var(--sv-font-editorial); }
.kb-category-overview span { color:var(--sv-color-text-muted);font-size:9.5px; }
.kb-category-search { position:relative;display:block;margin:0 16px 10px; }
.kb-category-search span { position:absolute;top:8px;left:10px;color:var(--sv-color-text-muted);font-size:14px; }
.kb-category-search input { width:100%;height:34px;padding:0 12px 0 31px;border:1px solid var(--sv-color-border-strong);border-radius:6px;outline:0;color:var(--sv-color-text);background:var(--sv-color-surface);font:500 11px/1 inherit; }
.kb-category-search input:focus,
.kb-category-search input:focus-visible { border-color:var(--sv-color-border);box-shadow:0 0 0 2px rgba(91,82,72,.08);outline:0; }
.kb-category-list { display:grid;align-content:start;gap:5px;height:calc(100% - 262px);overflow:auto;padding:0 16px 12px; }
.kb-category-row { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:47px;padding:7px 8px 7px 12px;border:1px solid var(--sv-color-border);border-radius:7px;background:var(--sv-color-surface); }
.kb-category-row.is-source { border-color:rgba(123,88,64,.42);box-shadow:inset 3px 0 #80634f; }
.kb-category-row-main { display:grid;min-width:0;gap:3px; }
.kb-category-row-main strong { overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap; }
.kb-category-row-main span { color:var(--sv-color-text-muted);font-size:8.5px; }
.kb-category-count { min-width:42px;color:var(--sv-color-text-faint);font:700 10px/1 inherit;text-align:right; }
.kb-category-actions { display:flex;gap:5px; }
.kb-category-actions button { min-height:28px;padding:0 9px;border:0;border-radius:5px;color:var(--sv-color-text-faint);background:var(--sv-color-selection-bg);font:600 9px/1 inherit;cursor:pointer; }
.kb-category-actions button:hover:not(:disabled) { color:var(--sv-color-text);background:var(--sv-color-selection-bg); }
.kb-category-actions button[data-collapse-duplicates] { color:var(--sv-color-reading-accent);background:var(--sv-color-surface); }
.kb-category-actions button.is-danger { color:var(--sv-color-danger);background:var(--sv-color-surface); }
.kb-category-actions button.is-danger:hover:not(:disabled) { color:var(--sv-color-danger);background:var(--sv-color-surface); }
.kb-category-actions button:disabled { opacity:.34;cursor:default; }
.kb-category-empty { padding:42px 10px;color:var(--sv-color-text-muted);font-size:11px;text-align:center; }
.kb-category-mergebar { display:grid;grid-template-columns:minmax(130px,1fr) 20px minmax(150px,1fr) auto;align-items:end;gap:10px;min-height:76px;padding:12px 16px 14px;border-top:1px solid var(--sv-color-border);background:var(--sv-color-surface); }
.kb-category-mergebar > div,.kb-category-mergebar label { display:grid;min-width:0;gap:5px; }
.kb-category-mergebar small { color:var(--sv-color-text-muted);font-size:8px;letter-spacing:.08em;text-transform:uppercase; }
.kb-category-mergebar strong { overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap; }
.kb-category-mergebar > span { align-self:center;color:var(--sv-color-text-muted);text-align:center; }
.kb-category-mergebar select { width:100%;height:31px;padding:0 8px;border:1px solid var(--sv-color-border-strong);border-radius:5px;outline:0;color:var(--sv-color-text);background:var(--sv-color-surface);font-size:10px; }
.kb-category-mergebar > button { height:32px;padding:0 12px;border:0;border-radius:5px;color:var(--sv-color-text);background:var(--sv-color-surface-hover);font:650 10px/1 inherit;cursor:pointer; }
.kb-category-mergebar > button:disabled { opacity:.32;cursor:default; }

@media (max-width: 720px) {
  .kb-category-dialog { width:calc(100vw - 20px);height:calc(100vh - 20px); }
  .kb-category-mergebar { grid-template-columns:1fr 18px 1fr; }
  .kb-category-mergebar > button { grid-column:1 / -1; }
}

/* Reading surfaces: roles live in starvault-theme.css, layouts stay here. */
html[data-app-rail="knowledge"] .kb-sidebar {
  background: var(--sv-color-reading-sidebar);
  color: var(--sv-color-text);
}
html[data-app-rail="knowledge"] .kb-list-pane {
  background: var(--sv-color-reading-index);
  color: var(--sv-color-text);
}
html[data-app-rail="knowledge"] .kb-editor-pane,
html[data-app-rail="knowledge"] .kb-read-body,
html[data-app-rail="knowledge"] .kb-reader-top {
  background: var(--sv-color-reading-paper);
}
html[data-app-rail="knowledge"] .kb-read-tab { min-width: 0; white-space: nowrap; }
html[data-app-rail="knowledge"] :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--sv-color-focus) !important;
  outline-offset: 2px !important;
}

/* Neutral light theme: semantic surfaces, paired foregrounds. */

html[data-theme="light"][data-app-rail="knowledge"] .kb-vault-tree { margin-top:12px; border-top:1px solid var(--sv-color-border); padding-top:10px; }
html[data-theme="light"][data-app-rail="knowledge"] .kb-vault-folder > summary { min-height:34px; }
html[data-theme="light"][data-app-rail="knowledge"] .kb-vault-file { min-height:32px; font-size:12px; color:var(--sv-color-text-muted); }
html[data-theme="light"][data-app-rail="knowledge"] .kb-vault-file.active { background:var(--sv-color-surface); color:var(--sv-color-text); box-shadow:var(--sv-shadow-card); }
.kb-vault-folder-count { margin-left:auto; color:var(--sv-color-text-muted); font-size:10px; font-weight:500; }


/* Light-mode semantic adapter. */
html[data-theme="light"] #kbVaultMore { color:var(--sv-color-text-muted); background:var(--sv-color-surface); }
html[data-theme="light"][data-app-rail="knowledge"][data-knowledge-mode="vault"] .kb-vault-file { font-size:12px!important; }
html[data-theme="light"] .kb-vault-file.is-multi { background:var(--sv-color-selection-bg); box-shadow:inset 3px 0 0 var(--sv-color-brand); }
