/* PROJECT-H-REPORT — Obsidian-like vault (left tree, reading prose)
   Arthur 2026-08-11: "make this card similar a bit transparent like other cards
   are overall." The vault was opaque black while every other workspace card is
   translucent glass over the map (rgba(13,17,27,0.42)), so it read as a
   different product pasted into the shell. Surfaces are now the same glass
   family; text colours are unchanged so prose contrast does not drop. */
.rux-project-vault {
  /* Transparent over the workspace card glass. A second 0.42 fill here
     stacked with the card and read as a solid slab vs intel/data. */
  --pv-bg: transparent;
  --pv-sidebar: rgba(8, 11, 18, 0.28);
  --pv-panel: rgba(17, 22, 34, 0.22);
  --pv-hover: rgba(148, 163, 184, 0.10);
  --pv-active: rgba(148, 163, 184, 0.16);
  --pv-border: rgba(148, 163, 184, 0.12);
  --pv-text: #dadada;
  --pv-muted: #7a7a7a;
  --pv-faint: #555555;
  --pv-accent: #a0a0a0;
  --pv-link: #7f9cff;
  --pv-broken: #c97878;
  --pv-split: 168px;
  display: flex;
  flex-direction: column;
  height: calc(100% - 4px);
  min-height: 220px;
  background: transparent;
  color: var(--pv-text);
  border-radius: 8px;
  overflow: hidden;
  border: none;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.rux-project-vault.theme-light {
  --pv-bg: #ffffff;
  --pv-sidebar: #f6f6f6;
  --pv-panel: #f0f0f0;
  --pv-hover: #ebebeb;
  --pv-active: #e2e2e2;
  --pv-border: #e3e3e3;
  --pv-text: #222222;
  --pv-muted: #6b6b6b;
  --pv-faint: #999999;
  --pv-accent: #444444;
  --pv-link: #3b5bdb;
  --pv-broken: #b42318;
}
.rux-project-vault.is-maximized,
body.rux-custom-project #rux-report-panel.rux-rpt-maximized .rux-project-vault {
  /* Arthur 2026-08-11: maximized, the 720px prose column sat centred in a very
     wide pane, so both margins went dead and the card read as empty. Widen the
     file tree and let the reading column grow, so the text fills the frame
     instead of floating in it. */
  --pv-split: 420px;
  min-height: calc(100vh - 100px);
  height: 100%;
  border-radius: 0;
  border: 0;
}

/* Thin icon chrome — same docked + maximized */
.rux-pv-chrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  background: var(--pv-panel);
  border-bottom: 1px solid var(--pv-border);
  flex: 0 0 auto;
}
.rux-pv-chrome-left,
.rux-pv-chrome-right {
  display: flex;
  align-items: center;
  gap: 2px;
}
.rux-pv-icon-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--pv-muted);
  width: 28px;
  height: 28px;
  min-width: 28px;
  padding: 0;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.rux-pv-icon-btn svg {
  display: block;
  width: 15px;
  height: 15px;
}
.rux-pv-icon-btn:hover {
  background: var(--pv-hover);
  color: var(--pv-text);
}
.rux-pv-icon-btn.is-on {
  color: var(--pv-text);
  background: var(--pv-active);
}
.rux-pv-status {
  font-size: 11px;
  color: var(--pv-faint);
  margin-left: 6px;
  white-space: nowrap;
}

/* Body: card = prose only; maximized = Obsidian tree + prose */
.rux-pv-body {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 0;
  flex: 1 1 auto;
  height: 100%;
}
/* Card / non-maximized: hide PROJECT VAULT tree — reading page only */
.rux-project-vault:not(.is-maximized) .rux-pv-sidebar {
  display: none !important;
}
.rux-project-vault:not(.is-maximized) .rux-pv-body {
  grid-template-columns: 1fr;
}
.rux-project-vault:not(.is-maximized) .rux-pv-reader {
  padding: 22px 24px 36px;
}
.rux-project-vault:not(.is-maximized) .rux-pv-prose {
  max-width: none;
  margin: 0;
}
.rux-project-vault:not(.is-maximized) [data-act="toggle-sidebar"] {
  display: none;
}
/* Maximized: Obsidian-like left file tree — minmax so note pane never letter-columns */
.rux-project-vault.is-maximized .rux-pv-body,
body.rux-custom-project #rux-report-panel.rux-rpt-maximized .rux-project-vault .rux-pv-body {
  grid-template-columns: minmax(180px, var(--pv-split)) 6px minmax(240px, 1fr);
}
.rux-project-vault.is-maximized .rux-pv-sidebar,
body.rux-custom-project #rux-report-panel.rux-rpt-maximized .rux-project-vault .rux-pv-sidebar {
  display: flex !important;
  flex: 0 0 auto;
  max-width: var(--pv-split);
}
.rux-project-vault.is-maximized.is-sidebar-collapsed .rux-pv-body {
  grid-template-columns: 0 1fr;
}
.rux-project-vault.is-maximized.is-sidebar-collapsed .rux-pv-sidebar {
  overflow: hidden;
  border-right: 0;
  opacity: 0;
  pointer-events: none;
  display: flex !important;
}

.rux-pv-sidebar {
  background: var(--pv-sidebar);
  border-right: 1px solid var(--pv-border);
  overflow: auto;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.rux-pv-vault-name {
  padding: 14px 14px 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pv-muted);
  flex: 0 0 auto;
}
.rux-pv-tree-list {
  padding: 2px 6px 16px;
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1 1 auto;
}
.rux-pv-folder {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  font-size: 12px;
  color: var(--pv-muted);
  cursor: pointer;
  border-radius: 4px;
  user-select: none;
}
.rux-pv-folder:hover { background: var(--pv-hover); color: var(--pv-text); }
.rux-pv-folder.is-drop {
  background: rgba(52, 211, 153, 0.16);
  outline: 1px dashed rgba(52, 211, 153, 0.55);
}
.rux-pv-file.is-dragging { opacity: 0.45; }
.rux-pv-folder-chevron {
  font-size: 10px;
  color: var(--pv-faint);
  width: 12px;
  flex: 0 0 auto;
}
.rux-pv-file {
  text-align: left;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--pv-text);
  font-size: 13px;
  font-family: inherit;
  padding: 5px 8px 5px 26px;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rux-pv-file:hover { background: var(--pv-hover); }
.rux-pv-file.is-active {
  background: var(--pv-active);
  color: #fff;
}
.rux-project-vault.theme-light .rux-pv-file.is-active { color: #111; }
.rux-pv-empty {
  padding: 12px 10px;
  font-size: 12px;
  color: var(--pv-muted);
  line-height: 1.45;
}

.rux-pv-main {
  display: flex;
  flex-direction: column;
  min-width: 240px;
  min-height: 0;
  flex: 1 1 auto;
  width: auto;
  background: var(--pv-bg);
  overflow: hidden;
}
.rux-pv-rename-input {
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  border: 1px solid var(--pv-border);
  background: var(--pv-hover);
  color: var(--pv-text);
  font: inherit;
  font-size: 13px;
  padding: 4px 8px;
  border-radius: 4px;
  outline: none;
}
.rux-pv-tabbar {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--pv-border);
  background: var(--pv-panel);
  flex: 0 0 auto;
  min-height: 34px;
  overflow-x: auto;
}
.rux-pv-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px 0 14px;
  font-size: 13px;
  color: var(--pv-muted);
  border-right: 1px solid var(--pv-border);
  max-width: 240px;
  background: transparent;
  cursor: pointer;
  flex: 0 0 auto;
}
.rux-pv-tab.is-active {
  color: var(--pv-text);
  background: var(--pv-bg);
}
.rux-pv-tab-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rux-pv-tab-close {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--pv-faint);
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 3px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  flex: 0 0 auto;
}
.rux-pv-tab-close:hover { color: var(--pv-text); background: var(--pv-hover); }
.rux-pv-tab-add {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--pv-muted);
  width: 34px;
  min-width: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
}
.rux-pv-tab-add:hover { color: var(--pv-text); background: var(--pv-hover); }
.rux-pv-tab-add svg { width: 14px; height: 14px; display: block; }

/* Reading / live-preview prose — NOT an IDE */
.rux-pv-reader {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 24px 24px 40px;
}
/* Arthur 2026-08-11: "no such visible scroll bar, other cards also do not have
   scroll bar visible". Every other card uses the thin overlay treatment; the
   vault shipped the OS default, which drew a bright chunky track down the card
   edge. Match .rux-ai-messages: thin, transparent track, faint thumb. */
.rux-pv-reader,
.rux-pv-sidebar,
.rux-pv-source-host,
.rux-pv-textarea {
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.28) transparent;
}
.rux-pv-reader::-webkit-scrollbar,
.rux-pv-sidebar::-webkit-scrollbar,
.rux-pv-source-host::-webkit-scrollbar,
.rux-pv-textarea::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.rux-pv-reader::-webkit-scrollbar-track,
.rux-pv-sidebar::-webkit-scrollbar-track,
.rux-pv-source-host::-webkit-scrollbar-track,
.rux-pv-textarea::-webkit-scrollbar-track {
  background: transparent;
}
.rux-pv-reader::-webkit-scrollbar-thumb,
.rux-pv-sidebar::-webkit-scrollbar-thumb,
.rux-pv-source-host::-webkit-scrollbar-thumb,
.rux-pv-textarea::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.28);
  border-radius: 999px;
}
.rux-pv-reader::-webkit-scrollbar-corner,
.rux-pv-sidebar::-webkit-scrollbar-corner {
  background: transparent;
}
.rux-pv-prose {
  max-width: none;
  margin: 0;
  color: var(--pv-text);
  font-size: 15px;
  line-height: 1.65;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  outline: none;
  min-height: 160px;
  cursor: text;
}
.rux-pv-prose:focus {
  outline: none;
}
.rux-pv-prose h1,
.rux-pv-prose h2,
.rux-pv-prose h3 {
  color: #f2f2f2;
  font-weight: 650;
  line-height: 1.25;
  margin: 1.1em 0 0.45em;
  letter-spacing: -0.01em;
}
.rux-project-vault.theme-light .rux-pv-prose h1,
.rux-project-vault.theme-light .rux-pv-prose h2,
.rux-project-vault.theme-light .rux-pv-prose h3 { color: #111; }
.rux-pv-prose h1 { font-size: 1.85em; margin-top: 0; }
.rux-pv-prose h2 { font-size: 1.35em; }
.rux-pv-prose h3 { font-size: 1.12em; }
.rux-pv-prose p { margin: 0 0 0.9em; }
.rux-pv-prose ul,
.rux-pv-prose ol { margin: 0 0 0.9em; padding-left: 1.35em; }
.rux-pv-prose li { margin: 0.2em 0; }
.rux-pv-prose strong { font-weight: 650; color: #f5f5f5; }
.rux-project-vault.theme-light .rux-pv-prose strong { color: #111; }
.rux-pv-prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9em;
  background: rgba(255, 255, 255, 0.06);
  padding: 0.1em 0.35em;
  border-radius: 3px;
}
.rux-pv-prose a,
.rux-pv-prose .rux-pv-wikilink {
  color: var(--pv-link);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  cursor: pointer;
}
.rux-pv-prose a:hover,
.rux-pv-prose .rux-pv-wikilink:hover { border-bottom-color: var(--pv-link); }
.rux-pv-prose .rux-pv-wikilink.is-broken {
  color: var(--pv-broken);
  border-bottom-style: dashed;
}
.rux-pv-prose-empty {
  color: var(--pv-muted);
  font-size: 14px;
}

/* Source edit — calm prose textarea, no gutters / line numbers / CM chrome */
.rux-pv-source-host {
  flex: 1 1 auto;
  min-height: 0;
  display: none;
}
.rux-project-vault.is-editing .rux-pv-reader { display: none; }
.rux-project-vault.is-editing .rux-pv-source-host { display: block; }
.rux-pv-textarea {
  width: 100%;
  height: 100%;
  min-height: 180px;
  border: 0;
  resize: none;
  padding: 28px 36px 48px;
  background: transparent;
  color: var(--pv-text);
  font: 15px/1.65 "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  outline: none;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

/* Kill leftover market-report chrome when vault is mounted — card AND maximized */
#rux-project-report-placeholder { display: none !important; }
body.rux-custom-project #rux-report-panel .rux-rpt-views,
body.rux-custom-project #rux-report-panel .rux-rpt-view,
body.rux-custom-project #rux-report-panel .rux-rpt-empty,
body.rux-custom-project #rux-report-panel .rux-rpt-icon-rail,
body.rux-custom-project #rux-report-panel #rux-rpt-setup,
body.rux-custom-project #rux-report-panel #rux-rpt-sections-toolbar,
body.rux-custom-project #rux-report-panel #rux-rpt-sections-list,
body.rux-custom-project #rux-report-panel #rux-rpt-footer-bar,
body.rux-custom-project #rux-report-panel #rux-rpt-canvas-toolbar,
body.rux-custom-project #rux-report-panel #rux-rpt-canvas-shell,
body.rux-custom-project #rux-report-panel #rux-rpt-canvas-panel,
body.rux-custom-project #rux-report-panel #rux-rpt-canvas-stage,
body.rux-custom-project #rux-report-panel .rux-rpt-draft-toolbar,
body.rux-custom-project #rux-report-panel .rux-rpt-canvas-layout,
body.rux-custom-project #rux-report-panel .rux-rpt-canvas-quickbar,
body.rux-custom-project #rux-report-panel .rux-rpt-canvas-mainbar,
body.rux-custom-project #rux-report-panel .rux-rpt-gen-row {
  display: none !important;
}

/* Vault fills the report card / maximized panel */
body.rux-custom-project #rux-report-panel .rux-rpt-body,
body.rux-custom-project #rux-report-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
body.rux-custom-project #rux-report-panel #rux-project-vault {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

/* Maximized vault focus: hide sibling cards / rail (Obsidian workspace, not CANVAS).
   Hide rail whenever the panel is maximized OR body has vault-max — body class
   alone was missing in races, so lit FABs (z 2210) painted over Welcome. */
body.rux-custom-project.rux-project-vault-max #rux-main-shell > .rux-workspace-card:not(#rux-report-panel),
body.rux-custom-project:has(#rux-report-panel.rux-rpt-maximized) #rux-main-shell > .rux-workspace-card:not(#rux-report-panel) {
  visibility: hidden !important;
  pointer-events: none !important;
}
body.rux-custom-project.rux-project-vault-max #rux-card-rail,
body.rux-custom-project.rux-project-vault-max #rux-bottom-console,
body.rux-custom-project:has(#rux-report-panel.rux-rpt-maximized) #rux-card-rail,
body.rux-custom-project:has(#rux-report-panel.rux-rpt-maximized) #rux-bottom-console {
  display: none !important;
}
body.rux-custom-project.rux-project-vault-max #rux-report-panel.rux-rpt-maximized #rux-project-vault {
  height: 100%;
}
/* CSS backup: keep maximized vault panel full-bleed even if a layout pass races.
   z-index 9400 > #rux-card-rail 2210 (Arthur: zReport > zRail). */
body.rux-custom-project.rux-project-vault-max #rux-report-panel.rux-rpt-maximized,
body.rux-custom-project #rux-report-panel.rux-rpt-maximized {
  position: fixed !important;
  left: 20px !important;
  right: 20px !important;
  top: 16px !important;
  bottom: 16px !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  z-index: 9400 !important;
  transform: none !important;
}

/* Never show CodeMirror IDE chrome inside the vault */
.rux-project-vault .cm-editor,
.rux-project-vault .cm-gutters,
.rux-project-vault .cm-lineNumbers {
  display: none !important;
}

/* U-11: the tab title edits IN PLACE, Obsidian-style. The field takes the
   tab's own font, colour and line box, with no border, background, margin or
   padding of its own, so the tab keeps its exact width and colour while the
   name is being typed. Width is set inline from the measured title. */
.rux-pv-tab .rux-pv-tab-rename,
.rux-pv-tab-rename {
  width: auto;
  max-width: 100%;
  min-width: 24px;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  box-shadow: none;
  outline: none;
  caret-color: currentColor;
}
.rux-pv-tab .rux-pv-tab-rename::selection {
  background: var(--pv-hover);
}

.rux-pv-ctx {
  position: fixed;
  z-index: 12000;
  min-width: 180px;
  padding: 4px;
  background: rgba(13, 17, 27, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}
.rux-pv-ctx-item {
  display: block;
  width: 100%;
  text-align: left;
  appearance: none;
  border: 0;
  background: transparent;
  color: #dadada;
  font: 12.5px/1.4 "Segoe UI", Arial, sans-serif;
  padding: 6px 10px;
  border-radius: 5px;
  cursor: pointer;
}
.rux-pv-ctx-item:hover { background: rgba(148, 163, 184, 0.14); }
.rux-pv-ctx-item.is-danger { color: #e8a0a0; }


/* Punch list 4 R2-8 (2026-08-24): the vault's light theme lives on
   #rux-project-vault, INSIDE the card body - the card header strip sits
   outside it and stayed dark navy over the white document. Convert the
   header (and the maximized shell) whenever the vault is light. :has() is
   supported by every browser this app targets. */
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-card-head,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-rpt-header,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-chat-head-main {
  background: #f4f5f7 !important;
  border-bottom: 1px solid rgba(17, 24, 39, 0.10) !important;
}
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-card-title,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-rpt-header * {
  color: #111827 !important;
}
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-card-head button,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-rpt-header button,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-card-fold,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-card-close,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) .rux-rpt-close {
  color: #374151 !important;
  border-color: rgba(17, 24, 39, 0.16) !important;
  background: rgba(17, 24, 39, 0.05) !important;
}
body.rux-integrated-main #rux-main-shell > #rux-report-panel:has(.rux-project-vault.theme-light) {
  background: #f4f5f7 !important;
  border-color: rgba(17, 24, 39, 0.12) !important;
}

/* Docked Report body = same card glass as intel/data. The vault used to
   stack another fill on top, which killed the map showing through. */
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized):not(:has(.rux-project-vault.theme-light)) {
  background: var(--glass-bg) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  backdrop-filter: var(--glass-blur) !important;
}
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-rpt-views,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-rpt-content,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-rpt-view,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-rpt-setup,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-rpt-body,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) #rux-project-vault,
body.rux-integrated-main #rux-main-shell > #rux-report-panel:not(.rux-rpt-maximized) .rux-pv-main {
  background: transparent !important;
  background-image: none !important;
}


/* R2-7: draggable tree/editor splitter (2026-08-24) */
.rux-pv-splitter {
  display: none;
  cursor: col-resize;
  position: relative;
}
.rux-pv-splitter::after {
  content: '';
  position: absolute; top: 0; bottom: 0; left: 2px; width: 2px;
  background: var(--pv-border);
  transition: background .15s ease, width .15s ease;
}
.rux-pv-splitter:hover::after { background: #39e0a8; width: 3px; }
.rux-project-vault.is-maximized .rux-pv-splitter,
body.rux-custom-project #rux-report-panel.rux-rpt-maximized .rux-project-vault .rux-pv-splitter {
  display: block;
}


/* R2-6: floating selection toolbar (glass pill; follows the vault theme) */
.rux-pv-seltoolbar {
  position: fixed; z-index: 100050;
  display: none; gap: 2px; padding: 4px;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.rux-pv-seltoolbar.is-open { display: inline-flex; }
.rux-pv-seltoolbar button {
  all: unset; cursor: pointer;
  min-width: 24px; height: 24px; padding: 0 5px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 6px; color: #e2e8f0;
  font: 600 11px/1 Inter, "Segoe UI", sans-serif;
}
.rux-pv-seltoolbar button:hover { background: rgba(148, 163, 184, 0.18); color: #ffffff; }
.rux-project-vault.theme-light ~ .rux-pv-seltoolbar,
.rux-pv-seltoolbar.theme-light {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(17, 24, 39, 0.18);
}
.rux-pv-prose mark.rux-pv-hl { background: rgba(57, 224, 168, 0.30); color: inherit; border-radius: 3px; padding: 0 2px; }
.rux-pv-prose .rux-pv-comment {
  background: rgba(57, 224, 168, 0.10);
  border-bottom: 1px dashed rgba(57, 224, 168, 0.6);
  border-radius: 2px;
}
.rux-project-vault.theme-light .rux-pv-prose mark.rux-pv-hl { background: rgba(255, 214, 0, 0.45); }
