/* Ob2Wiki-owned custom output stylesheet
   Fully styled to align with the yizhengjiankang.com design system
*/

/*
  YiZen visual contract. Values match yizhengjiankang.com and the platform
  design system; Quartz only receives the mappings below. Keep page-specific
  rules out of this layer so colour, type, surface and motion stay coherent.
*/
:root {
  color-scheme: light;
  --yz-canvas: #fbfaf7;
  --yz-page: #f3f5f8;
  --yz-ink: rgb(20 22 26 / 0.90);
  --yz-ink-muted: rgb(20 22 26 / 0.62);
  --yz-line: rgb(20 22 26 / 0.08);
  --yz-brand: #c83c2d;
  --yz-brand-strong: #a92f23;
  --yz-surface-floating: rgb(251 250 247 / 0.94);
  --yz-surface-raised: rgb(251 250 247 / 0.82);
  --yz-surface-sunken: #e9edf2;
  --yz-ambient-direct: rgb(215 170 85 / 0.12);
  --yz-ambient-sky: rgb(100 135 175 / 0.09);
  --yz-radius-surface: 6px;
  --yz-radius-control: 10px;
  --yz-radius-dialog: 14px;
  --yz-shadow-sm: 0 4px 16px rgb(36 53 74 / 0.04);
  --yz-shadow-md: 0 10px 30px rgb(36 53 74 / 0.08);
  --yz-shadow-lg: 0 20px 48px rgb(36 53 74 / 0.12);
  --yz-text-on-accent: #fbfaf7;
  --yz-graph-focus: #c83c2d;
  --yz-graph-risk: #a92f23;
  /* Mirrors yizhengjiankang.com: reading and controls use Hei; only display
     text begins with the existing serif stack, so isolated English/numerals
     in a display context use Georgia/Song instead of a sans fallback. */
  --yz-font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  --yz-font-song: "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", ui-serif, serif;
  --yz-font-display: "Georgia", "Songti SC", "STZhongsong", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", var(--yz-font-ui);
  --yz-font-mono: ui-monospace, "SFMono-Regular", Consolas, Menlo, Monaco, monospace;
  --yz-dur-fast: 160ms;
  --yz-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --yz-dur-emphasis: 440ms;
  --yz-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
  --yz-dur-panel: 360ms;
  --yz-dur-panel-content: 240ms;
  --yz-ease-panel: var(--yz-ease-emphasis);

  /* Quartz requires these historical names; they are mappings, not tokens. */
  --light: var(--yz-canvas);
  --lightgray: var(--yz-line);
  --gray: var(--yz-ink-muted);
  --darkgray: var(--yz-ink);
  --dark: var(--yz-ink);
  --secondary: var(--yz-brand);

  /* Single size for BOTH sidebars — kills left/right inconsistency. */
  --ob2wiki-sidebar-size: 0.95rem;

  /* ── Yizen Graph V1 desktop hierarchy ── */
  --ob2wiki-pathway-panel-bg: var(--yz-surface-floating);
  --ob2wiki-pathway-panel-border: var(--yz-line);
  --ob2wiki-pathway-panel-shadow: var(--yz-shadow-md);
  --ob2wiki-pathway-panel-highlight: var(--yz-surface-raised);
  --ob2wiki-pathway-panel-shadow-raised: var(--yz-shadow-lg);
  --ob2wiki-pathway-panel-filter: blur(22px) saturate(135%);
  --ob2wiki-pathway-guide-bg: color-mix(in srgb, var(--lightgray) 16%, transparent);
  --ob2wiki-pathway-rail-bg: color-mix(in srgb, var(--light) 94%, var(--lightgray));
  --ob2wiki-pathway-rail-active: color-mix(in srgb, var(--light) 97%, var(--lightgray));
  --ob2wiki-pathway-focus: var(--yz-graph-focus);
  --ob2wiki-pathway-risk: var(--yz-graph-risk);
  --ob2wiki-pathway-risk-soft: color-mix(in srgb, var(--ob2wiki-pathway-risk) 10%, transparent);
  --ob2wiki-pathway-selected-soft: color-mix(in srgb, var(--ob2wiki-pathway-focus) 10%, transparent);
  --ob2wiki-pathway-graph-field:
    radial-gradient(58rem 36rem at -12% -12%, var(--yz-ambient-direct), transparent 72%),
    radial-gradient(52rem 34rem at 112% -8%, var(--yz-ambient-sky), transparent 74%),
    radial-gradient(circle at 54% 48%, color-mix(in srgb, var(--lightgray) 20%, transparent), transparent 52%);
}

:root[saved-theme="dark"] {
  color-scheme: dark;
  --yz-canvas: #0b0c0f;
  --yz-page: #0b0c0f;
  --yz-ink: rgb(255 255 255 / 0.90);
  --yz-ink-muted: rgb(255 255 255 / 0.60);
  --yz-line: rgb(255 255 255 / 0.12);
  --yz-brand: #e05a47;
  --yz-brand-strong: #c8432f;
  --yz-surface-floating: rgb(24 26 31 / 0.92);
  --yz-surface-raised: rgb(20 22 26 / 0.76);
  --yz-surface-sunken: rgb(0 0 0 / 0.30);
  --yz-ambient-direct: rgb(215 170 85 / 0.07);
  --yz-ambient-sky: rgb(100 135 175 / 0.05);
  --yz-text-on-accent: #fbfaf7;
}

html {
  background: var(--yz-canvas);
  color-scheme: light;
}

:root[saved-theme="dark"] {
  color-scheme: dark;
}

/* ── Typography & Base overrides ──────────────────────── */
body {
  font-family: var(--yz-font-ui);
  font-weight: 400;
  font-size: 17px;
  line-height: 1.75;
  background:
    radial-gradient(45rem 30rem at 10% -5%, var(--yz-ambient-direct), transparent 75%),
    radial-gradient(45rem 30rem at 100% 5%, var(--yz-ambient-sky), transparent 75%),
    var(--yz-page);
  color: var(--yz-ink);
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, .article-title, .page-title {
  color: var(--yz-ink);

  /* 行高与字距分级微调（基准值） */
  line-height: 1.25;
  letter-spacing: 0;

  /* 亲密性间距原则 */
  margin-top: 2rem;
  margin-bottom: .75rem;
}

.article-title,
.page-title {
  font-family: var(--yz-font-display);
  font-weight: 600;
}

/* Only headings use Song; the surrounding interface stays in the system sans. */
.page-title,
.article-title,
.center article > h1 {
  letter-spacing: -0.02em;
}

.center .article-title,
.center article > h1 {
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

/* Sidebar site title stays compact (it is an <h2 class="page-title">). */
.sidebar .page-title {
  font-size: 1.2rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-family: var(--yz-font-display);
  font-size: 2rem;
  line-height: 1.25;
  font-weight: 600;
}
h2 {
  font-family: var(--yz-font-display);
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 600;
  border: 0;
  padding: 0;
}
h3 {
  font-family: var(--yz-font-ui);
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 700;
}
h4 {
  font-family: var(--yz-font-ui);
  font-size: 1.1rem;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0;
  margin-top: 1.5em;
}
h5, h6 {
  font-family: var(--yz-font-ui);
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 1.5em;
}

/* Ordinary text and links retain the shared Hei family. */
a, .internal, .external {
  color: var(--yz-brand);
  font-weight: 400;
  transition: color 150ms ease;
}

a:hover, .internal:hover, .external:hover {
  color: var(--yz-brand-strong);
}

/* Only explicitly marked, standalone English uses the serif display stack.
   Mixed Chinese text is deliberately left in Hei. */
:where([lang|="en"]) { font-family: var(--yz-font-display); }

.center article p {
  margin: 0 0 1.1rem;
}

/* Body emphasis is the reference Hei stack at its standard bold weight. */
strong,
b {
  font-family: var(--yz-font-ui);
  font-weight: 700;
}

.breadcrumb-container,
.metadata-container,
.explorer,
.toc,
.backlinks,
button,
input,
textarea,
select {
  font-family: var(--yz-font-ui);
}

a.internal.broken:not(.tag-link) {
  color: var(--yz-ink);
  cursor: help;
  opacity: .82;
  text-decoration: underline dashed var(--yz-brand);
  text-underline-offset: .22em;
}

/* ── Technical Elements styling (Code & Lists) ────────── */
code {
  font-family: var(--yz-font-mono);
  font-size: 0.88em;
  padding: 0.15em 0.3em;
  background: var(--yz-surface-floating);
  border: 1px solid var(--yz-line);
  border-radius: 4px;
}

ol, ul {
  line-height: 1.55;
  margin-bottom: 1rem;
}

li {
  margin-bottom: 0.3em;
}

/* Section labels (TOC / Backlinks) — bold, unified size. */
.toc-header h3,
.backlinks > h3 {
  font-family: var(--yz-font-ui);
  font-weight: 700;
  font-size: var(--ob2wiki-sidebar-size);
  letter-spacing: 0.04em;
  color: var(--yz-ink);
}

/* Whole sidebar inherits the unified type size. */
.explorer,
.toc,
.backlinks {
  font-family: var(--yz-font-ui);
  font-weight: 400;
  font-size: var(--ob2wiki-sidebar-size);
}

/* Navigation emphasis matches body strong/b: Hei at 700. */
.toc a,
.backlinks a,
.tree-folder {
  font-family: var(--yz-font-ui);
  font-weight: 700;
}

/* ── Explorer: 紧凑文件树（单一代码块，替代所有分散覆盖） ─
   修复：文件夹行 grid 必须是 3 列（disclosure+icon+label），
   文件行才是 4 列（多 status）。之前误写 4 列导致三角热区偏移。 */

.tree-list { margin: 0; padding: 0 0 0 14px; list-style: none; }
.file-tree > .tree-list { padding-left: 0; }

.tree-row {
  position: relative;
  display: grid;
  grid-template-columns: 22px 18px minmax(0, 1fr);
  align-items: center;
  gap: 3px;
  min-height: 25px;
  padding: 0 5px 0 2px;
  border-radius: 0;
  transition: background .1s ease;
}
.tree-row-file {
  grid-template-columns: 22px 18px minmax(0, 1fr) auto;
}
.tree-row:hover {
  background: color-mix(in srgb, var(--lightgray) 30%, transparent);
}

.tree-row[data-focused="true"] {
  background: color-mix(in srgb, var(--secondary) 10%, transparent) !important;
  border-radius: 3px;
}
.tree-row[data-focused="true"] .tree-folder,
.tree-row[data-focused="true"] .tree-file,
.tree-row[data-focused="true"] .tree-disclosure {
  color: var(--secondary);
  font-weight: 700;
}

/* 三角热区：足够大 + z-index 确保不被兄弟遮挡 */
.tree-disclosure {
  flex: none;
  width: 22px;
  min-width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--gray);
  cursor: pointer;
  font-size: .65rem;
  line-height: 1;
  position: relative;
  z-index: 1;
  transition: background .12s ease;
}
.tree-disclosure:hover {
  background: color-mix(in srgb, var(--lightgray) 45%, transparent);
  color: var(--dark);
}

/* 文件夹粗体 / 文件常规 / 超长截断 */
.tree-folder {
  font-weight: 700; color: var(--dark);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tree-file {
  font-weight: 400; color: var(--dark);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.tree-status {
  margin-left: auto;
  padding: 1px 4px;
  border-radius: 3px;
  color: var(--gray);
  font-size: .68rem;
}

.folder-container {
  padding-top: 0.1rem !important;
  padding-bottom: 0.1rem !important;
}

/* Explorer 标题栏：禁用折叠（只保留内容列表可展开） */
.explorer .desktop-explorer.explorer-toggle {
  cursor: default;
  pointer-events: none;
}
.explorer .desktop-explorer.explorer-toggle svg {
  display: none;
}

/* 隐藏顶层 content/index 冗余节点 */
.explorer-ul > li:has(> .folder-container[data-folderpath="content/index"]) > .folder-container,
.explorer-ul > li:has(> .folder-container[data-folderpath="content"]) > .folder-container {
  display: none;
}
.explorer-ul > li:has(> .folder-container[data-folderpath="content/index"]) > .folder-outer,
.explorer-ul > li:has(> .folder-container[data-folderpath="content"]) > .folder-outer {
  grid-template-rows: 1fr;
}
.explorer-ul > li:has(> .folder-container[data-folderpath="content/index"]) > .folder-outer > ul,
.explorer-ul > li:has(> .folder-container[data-folderpath="content"]) > .folder-outer > ul {
  padding-left: 0;
}

/* Tighten Table of Contents lists */
.toc ul li,
.toc li {
  margin-top: 0.15rem !important;
  margin-bottom: 0.15rem !important;
  line-height: 1.3 !important;
}

/* ── Custom Scrollbar ─────────────────────────────────── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--yz-line);
  border-radius: 999px;
  transition: background 150ms;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--yz-ink-muted);
}

/* ── Site Footer & Layout helpers ─────────────────────── */
.ob2wiki-site-footer {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 4rem auto 0;
  max-width: 1200px;
  padding: 1.5rem 1rem;
  border-top: 1px solid var(--yz-line);
  color: var(--yz-ink-muted);
  font-size: 0.9rem;
  background: transparent; /* 移去卡片底色以融于背景 */
}

.ob2wiki-yizen-graph-entry {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1000;
}

.ob2wiki-yizen-graph-entry a {
  display: inline-flex;
  align-items: center;
  min-height: 2.6rem;
  padding: 0 1.15rem;
  border: 0;
  border-radius: 999px;
  background: var(--yz-brand);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--yz-brand) 34%, transparent);
  color: var(--yz-text-on-accent);
  font-family: var(--yz-font-ui);
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  transition: transform var(--yz-dur-emphasis) var(--yz-ease-emphasis), box-shadow var(--yz-dur-emphasis) var(--yz-ease-emphasis), filter var(--yz-dur-emphasis) var(--yz-ease-emphasis);
}

.ob2wiki-yizen-graph-entry a:hover,
.ob2wiki-yizen-graph-entry a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px color-mix(in srgb, var(--yz-brand) 46%, transparent);
  filter: saturate(1.08);
  color: var(--yz-text-on-accent);
}

.ob2wiki-yizen-graph-entry a:active {
  transform: translateY(0);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--yz-brand) 32%, transparent);
}

.ob2wiki-link-notice {
  background: var(--yz-surface-floating);
  border: 1px solid var(--yz-line);
  border-left: 3px solid var(--yz-brand);
  border-radius: var(--yz-radius-surface);
  bottom: 1.25rem;
  box-shadow: var(--yz-shadow-md);
  color: var(--yz-ink);
  max-width: min(22rem, calc(100vw - 2.5rem));
  padding: .75rem .9rem;
  position: fixed;
  right: 1.25rem;
  z-index: 1000;
}

.ob2wiki-pathway-guide {
  display: grid;
  gap: .7rem;
  max-width: 44rem;
  margin: 0 0 1.5rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--lightgray) 70%, transparent);
  border-radius: .6rem;
  background: color-mix(in srgb, var(--light) 58%, transparent);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}

.ob2wiki-pathway-guide h2,
.ob2wiki-pathway-guide p { margin: 0; }
.ob2wiki-pathway-guide h2 { font-size: 1.12rem; letter-spacing: .01em; }
.ob2wiki-pathway-progress {
  width: fit-content;
  padding: .2rem .5rem;
  border-radius: 999px;
  background: var(--ob2wiki-pathway-selected-soft);
  color: var(--secondary);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .03em;
}
.ob2wiki-pathway-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .1rem;
  align-items: stretch;
  padding: .28rem;
  border: 1px solid color-mix(in srgb, var(--lightgray) 88%, transparent);
  border-radius: .55rem;
  background: var(--ob2wiki-pathway-rail-bg);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--light) 76%, transparent);
  touch-action: none;
  user-select: none;
  cursor: grab;
}
.ob2wiki-pathway-steps[data-dragging="true"] { cursor: grabbing; }
.ob2wiki-pathway-steps button {
  min-width: 0;
  min-height: 2.55rem;
  padding: .3rem .15rem;
  border: 0;
  border-radius: .38rem;
  background: transparent;
  color: var(--gray);
  font: inherit;
  font-size: .72rem;
  line-height: 1.15;
  cursor: pointer;
  transition: background var(--yz-dur-fast) var(--yz-ease), color var(--yz-dur-fast) var(--yz-ease), box-shadow var(--yz-dur-fast) var(--yz-ease), transform var(--yz-dur-fast) var(--yz-ease);
}
.ob2wiki-pathway-steps button[aria-current="true"] { background: var(--ob2wiki-pathway-rail-active); color: var(--secondary); font-weight: 800; box-shadow: 0 .35rem .8rem color-mix(in srgb, var(--dark) 10%, transparent); transform: translateY(-1px); }
.ob2wiki-pathway-steps button[data-answered="true"]::after { content: ""; display: inline-block; width: .28rem; height: .28rem; margin: 0 0 .14rem .22rem; border-radius: 50%; background: currentColor; opacity: .75; }
.ob2wiki-pathway-help { color: var(--gray); font-size: .88rem; line-height: 1.55; }
.ob2wiki-pathway-options { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .55rem .45rem; }
.ob2wiki-pathway-options button {
  display: flex; align-items: center; gap: .5rem;
  min-height: 2.45rem; padding: .42rem .7rem; text-align: left;
  border: 1px solid color-mix(in srgb, var(--lightgray) 84%, transparent); border-radius: 999px;
  background: color-mix(in srgb, var(--light) 68%, transparent);
  color: var(--dark); font: inherit; cursor: pointer;
  transition: background var(--yz-dur-fast) var(--yz-ease), border-color var(--yz-dur-fast) var(--yz-ease), box-shadow var(--yz-dur-fast) var(--yz-ease), transform var(--yz-dur-fast) var(--yz-ease);
}
.ob2wiki-pathway-options button:nth-child(3n + 1) { transform: translateY(2px); }
.ob2wiki-pathway-options button:nth-child(4n + 2) { transform: translateY(-1px); }
.ob2wiki-pathway-options button:hover { background: color-mix(in srgb, var(--secondary) 10%, var(--light)); border-color: color-mix(in srgb, var(--secondary) 40%, transparent); box-shadow: 0 .3rem .8rem color-mix(in srgb, var(--secondary) 10%, transparent); transform: translateY(-2px); }
.ob2wiki-pathway-options button:active { transform: translateY(1px); }
.ob2wiki-pathway-options button[aria-pressed="true"] {
  border-color: var(--secondary);
  background: color-mix(in srgb, var(--secondary) 14%, var(--light));
  color: var(--dark); font-weight: 700;
}
.ob2wiki-pathway-options button[aria-pressed="true"]::before { content: "✓"; margin-left: auto; color: var(--secondary); font-weight: 800; }
.ob2wiki-pathway-options .ob2wiki-pathway-secondary { color: var(--gray); }
.ob2wiki-pathway-option-count { display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .22rem; border-radius: 999px; background: color-mix(in srgb, var(--secondary) 10%, transparent); color: var(--secondary); font-size: .72rem; font-weight: 700; }
.ob2wiki-pathway-scale { display: flex; align-items: center; gap: .75rem; grid-column: 1 / -1; padding: .55rem .7rem; border: 1px solid var(--lightgray); border-radius: .45rem; }
.ob2wiki-pathway-scale input { flex: 1; accent-color: var(--secondary); }
.ob2wiki-pathway-scale output { min-width: 2ch; font-weight: 700; color: var(--secondary); }
.ob2wiki-pathway-answer-summary { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid color-mix(in srgb, var(--lightgray) 62%, transparent); color: var(--gray); font-size: .82rem; }
.ob2wiki-pathway-answer-clear { flex: 0 0 auto; padding: .25rem .5rem; border: 1px solid color-mix(in srgb, var(--lightgray) 82%, transparent); border-radius: .4rem; background: color-mix(in srgb, var(--light) 76%, transparent); color: var(--gray); font: inherit; font-size: .78rem; cursor: pointer; }
.ob2wiki-pathway-actions { display: flex; justify-content: space-between; gap: .55rem; }
.ob2wiki-pathway-actions button { min-height: 2.4rem; padding: .45rem .75rem; border: 1px solid var(--lightgray); border-radius: .4rem; background: var(--light); color: var(--dark); font: inherit; cursor: pointer; }
.ob2wiki-pathway-actions .ob2wiki-pathway-next { margin-left: auto; border-color: var(--secondary); background: var(--secondary); color: var(--light); font-weight: 700; opacity: .72; filter: saturate(.7); transition: opacity var(--yz-dur-fast) var(--yz-ease), filter var(--yz-dur-fast) var(--yz-ease), box-shadow var(--yz-dur-fast) var(--yz-ease); }
.ob2wiki-pathway-guide:has(.ob2wiki-pathway-options button[aria-pressed="true"]) .ob2wiki-pathway-next { opacity: 1; filter: none; box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--secondary) 24%, transparent); }
.ob2wiki-pathway-result-hint { margin: 0; align-self: center; color: var(--gray); font-size: .84rem; line-height: 1.45; }
.ob2wiki-pathway-result-reveal { display: none; margin-left: auto; border-color: var(--secondary) !important; background: var(--secondary) !important; color: var(--light) !important; font-weight: 700; box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--secondary) 24%, transparent); }
.ob2wiki-pathway-stage:has(.ob2wiki-pathway-drawer.is-collapsed) .ob2wiki-pathway-result-hint { display: none; }
.ob2wiki-pathway-stage:has(.ob2wiki-pathway-drawer.is-collapsed) .ob2wiki-pathway-result-reveal { display: inline-flex; align-items: center; }

.ob2wiki-pathway-material-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); align-items: stretch; gap: .45rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.ob2wiki-pathway-material-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: auto; min-width: 0; align-items: center; gap: .15rem .5rem; padding: .45rem .55rem; border-left: 3px solid var(--ob2wiki-pathway-focus); background: color-mix(in srgb, var(--lightgray) 38%, transparent); }
.ob2wiki-pathway-material-list a { color: var(--dark); font-family: var(--yz-font-display); font-weight: 600; }
.ob2wiki-pathway-material-list span { color: var(--gray); font-size: .78rem; }
.ob2wiki-pathway-material-list li > a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ob2wiki-pathway-material-list li > .ob2wiki-pathway-role { grid-column: 1; }
.ob2wiki-pathway-material-list li > .ob2wiki-pathway-focus { grid-column: 2; grid-row: 1; margin: 0; }
.ob2wiki-pathway-material-list li:has(.ob2wiki-pathway-role) > .ob2wiki-pathway-focus { grid-row: 1 / span 2; }
.ob2wiki-pathway-kicker {
  margin: 0;
  color: var(--secondary);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
}

@media (max-width: 700px) {
  .ob2wiki-pathway-options { grid-template-columns: 1fr; }
  .ob2wiki-pathway-material-list li { align-items: flex-start; flex-direction: column; gap: .15rem; }
}

/* ── 诊疗路径：全屏 Quartz Graph 底板 + 浮动控制台 ─────── */
body:has(.ob2wiki-pathway-stage) { overflow: hidden; }

.ob2wiki-pathway-stage {
  --ob2wiki-pathway-graph-height: 100%;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  margin: 0;
  z-index: 100;
  overflow: hidden;
  color: var(--dark);
  background: var(--ob2wiki-pathway-graph-field), var(--yz-page);
}

.ob2wiki-pathway-stage > .ob2wiki-community-graph {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
}


.ob2wiki-pathway-stage .ob2wiki-community-graph > h3 { display: none; }
.ob2wiki-pathway-stage .ob2wiki-community-graph > .graph-outer,
.ob2wiki-pathway-stage .ob2wiki-community-graph .graph-container {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  background: var(--ob2wiki-pathway-graph-field), var(--yz-page);
}
.ob2wiki-pathway-stage .ob2wiki-community-graph canvas { background: var(--ob2wiki-pathway-graph-field), var(--yz-page) !important; }

.ob2wiki-pathway-console,
.ob2wiki-pathway-drawer {
  position: absolute;
  z-index: 2;
  border: 1px solid var(--ob2wiki-pathway-panel-border);
  background: var(--ob2wiki-pathway-panel-bg);
  box-shadow: inset 0 1px 0 var(--ob2wiki-pathway-panel-highlight), var(--ob2wiki-pathway-panel-shadow);
  backdrop-filter: var(--ob2wiki-pathway-panel-filter);
  -webkit-backdrop-filter: var(--ob2wiki-pathway-panel-filter);
  transition: box-shadow var(--yz-dur-fast) var(--yz-ease), opacity var(--yz-dur-fast) var(--yz-ease);
}

.ob2wiki-pathway-console {
  top: 1rem;
  left: 1rem;
  width: min(25rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: inset 0 1px 0 var(--ob2wiki-pathway-panel-highlight), var(--ob2wiki-pathway-panel-shadow-raised);
  transition: transform var(--yz-dur-fast) var(--yz-ease), opacity var(--yz-dur-fast) var(--yz-ease);
}

.ob2wiki-console-toggle {
  flex: 0 0 auto;
  z-index: 3;
  width: 100%;
  min-height: 2.9rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 0 1rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--lightgray) 68%, transparent);
  background: color-mix(in srgb, var(--ob2wiki-pathway-panel-bg) 88%, var(--light));
  color: var(--dark);
  font: inherit;
  font-weight: 700;
  letter-spacing: .01em;
  text-align: left;
  cursor: pointer;
  backdrop-filter: var(--ob2wiki-pathway-panel-filter);
  -webkit-backdrop-filter: var(--ob2wiki-pathway-panel-filter);
}
.ob2wiki-console-toggle::after {
  content: "";
  margin-left: auto;
  width: .5rem; height: .5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--yz-dur-fast) var(--yz-ease);
  opacity: .7;
}
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-toggle::after { transform: rotate(-45deg); }

.ob2wiki-console-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem;
  transition: opacity .2s ease;
}
.ob2wiki-console-body header {
  margin-bottom: .9rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid color-mix(in srgb, var(--lightgray) 55%, transparent);
}
.ob2wiki-console-body h1 { margin: .15rem 0 .35rem; font-size: clamp(1.45rem, 3vw, 1.9rem); }
.ob2wiki-console-body header > p:last-child { margin: 0; color: var(--gray); font-size: .92rem; line-height: 1.55; }
.ob2wiki-pathway-console .ob2wiki-pathway-guide {
  margin: .55rem 0 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--secondary) 22%, var(--ob2wiki-pathway-panel-border));
  border-radius: .75rem;
  background: var(--ob2wiki-pathway-guide-bg);
  box-shadow: inset 0 1px 0 var(--ob2wiki-pathway-panel-highlight);
  backdrop-filter: var(--ob2wiki-pathway-panel-filter);
  -webkit-backdrop-filter: var(--ob2wiki-pathway-panel-filter);
}

.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-body { display: none; }

.ob2wiki-pathway-console,
.ob2wiki-pathway-drawer,
.ob2wiki-pathway-guide {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ob2wiki-pathway-console::-webkit-scrollbar,
.ob2wiki-pathway-drawer::-webkit-scrollbar,
.ob2wiki-pathway-guide::-webkit-scrollbar { display: none; width: 0; height: 0; }

.ob2wiki-pathway-drawer {
  right: 1rem;
  top: 1rem;
  width: min(21rem, calc(100vw - 2rem));
  max-height: calc(100vh - 7rem);
  padding: 1rem;
  border-radius: 1rem;
  overflow: auto;
  opacity: .86;
}
.ob2wiki-pathway-stage:has(.ob2wiki-pathway-material-list) .ob2wiki-pathway-drawer {
  opacity: 1;
  box-shadow: inset 0 1px 0 var(--ob2wiki-pathway-panel-highlight), var(--ob2wiki-pathway-panel-shadow-raised);
}

.ob2wiki-pathway-focus {
  margin: .45rem .35rem .15rem 0;
  padding: .32rem .58rem;
  border: 1px solid var(--secondary);
  border-radius: .45rem;
  background: color-mix(in srgb, var(--light) 88%, transparent);
  color: var(--dark);
  cursor: pointer;
}
.ob2wiki-pathway-focus:hover { background: var(--ob2wiki-pathway-selected-soft); }
.ob2wiki-pathway-focus:disabled { cursor: default; opacity: .72; }
.ob2wiki-pathway-focus-primary { border-color: var(--secondary); background: var(--secondary); color: var(--light); font-weight: 700; box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--secondary) 24%, transparent); }
.ob2wiki-pathway-focus-primary:hover { background: var(--secondary); filter: saturate(1.1); }

.ob2wiki-pathway-material-list li[data-node-role="red_flag"] {
  border-left-color: var(--ob2wiki-pathway-risk);
  background: var(--ob2wiki-pathway-risk-soft);
}
.ob2wiki-pathway-material-list li[data-node-role="red_flag"] > a { color: var(--ob2wiki-pathway-risk); }
.ob2wiki-pathway-material-list li[data-node-role="red_flag"] .ob2wiki-pathway-role { color: var(--ob2wiki-pathway-risk); font-weight: 700; }
.ob2wiki-pathway-material-list li[data-focused="true"] {
  outline: 2px solid color-mix(in srgb, var(--ob2wiki-pathway-focus) 45%, transparent);
  outline-offset: 1px;
  background: var(--ob2wiki-pathway-selected-soft);
}
.ob2wiki-pathway-material-list li[data-focused="true"] > a { color: var(--ob2wiki-pathway-focus); }

/* V1: edge-docked panels leave the native Graph as the visual field. */
.ob2wiki-pathway-console { overflow: visible; }
.ob2wiki-console-toggle { position: absolute; top: 1rem; right: -3.1rem; width: 3.1rem; min-height: 3.1rem; justify-content: center; gap: .2rem; padding: .3rem; border: 1px solid var(--ob2wiki-pathway-panel-border); border-left: 0; border-radius: 0 1rem 1rem 0; text-align: center; }
.ob2wiki-console-toggle::after { margin-left: .1rem; transform: rotate(135deg); }
.ob2wiki-pathway-console.is-collapsed { transform: translateX(calc(-100% + 1.1rem)); }
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-toggle::after { transform: rotate(-45deg); }
.ob2wiki-panel-toggle-label { font-size: .74rem; letter-spacing: .04em; }
.ob2wiki-panel-count { display: grid; place-items: center; min-width: 1.1rem; height: 1.1rem; padding: 0 .16rem; border-radius: 999px; background: var(--secondary); color: var(--light); font-size: .68rem; }
.ob2wiki-console-body { padding: .9rem 1rem 1rem; border-radius: 1rem; background: var(--ob2wiki-pathway-panel-bg); }
.ob2wiki-console-body header { margin: 0 0 .45rem; padding: 0; border: 0; }
.ob2wiki-console-body h1 { margin: 0; font-size: 1rem; }
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-body { display: block; opacity: 0; pointer-events: none; }

.ob2wiki-pathway-drawer { padding: 0; overflow: visible; }
.ob2wiki-pathway-drawer-body { max-height: calc(100vh - 7rem); padding: 1rem; overflow: auto; border-radius: 1rem; background: var(--ob2wiki-pathway-panel-bg); }
.ob2wiki-drawer-toggle { position: absolute; z-index: 3; top: 1rem; left: -3.1rem; width: 3.1rem; min-height: 3.1rem; display: flex; align-items: center; justify-content: center; gap: .2rem; padding: .3rem; border: 1px solid var(--ob2wiki-pathway-panel-border); border-right: 0; border-radius: 1rem 0 0 1rem; background: var(--ob2wiki-pathway-panel-bg); color: var(--dark); font: inherit; font-weight: 700; cursor: pointer; }
.ob2wiki-drawer-toggle::after { content: ""; width: .5rem; height: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform var(--yz-dur-fast) var(--yz-ease); opacity: .7; }
.ob2wiki-pathway-drawer.is-collapsed { transform: translateX(calc(100% - 1.1rem)); }
.ob2wiki-pathway-drawer.is-collapsed .ob2wiki-pathway-drawer-body { opacity: 0; pointer-events: none; }
.ob2wiki-pathway-drawer.is-collapsed .ob2wiki-drawer-toggle::after { transform: rotate(135deg); }

/* Keep panel controls inside when open; only the collapsed icon sits at the edge. */
.ob2wiki-console-toggle,
.ob2wiki-drawer-toggle {
  top: .7rem;
  width: 2.55rem;
  min-height: 2.55rem;
  padding: 0;
  border-radius: 50%;
  box-shadow: 0 .35rem .9rem color-mix(in srgb, var(--dark) 10%, transparent);
}
.ob2wiki-console-toggle { right: .7rem; border: 1px solid var(--ob2wiki-pathway-panel-border); }
.ob2wiki-drawer-toggle { left: .7rem; right: auto; border: 1px solid var(--ob2wiki-pathway-panel-border); }
.ob2wiki-panel-toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ob2wiki-panel-count { position: absolute; top: -.3rem; right: -.3rem; min-width: 1.22rem; height: 1.22rem; padding: 0 .18rem; border: 2px solid var(--ob2wiki-pathway-panel-bg); font-size: .68rem; }
.ob2wiki-panel-count[hidden] { display: none; }
.ob2wiki-console-toggle::after,
.ob2wiki-drawer-toggle::after { width: auto; height: auto; border: 0; font-size: 1.7rem; font-weight: 300; line-height: 1; transform: none; }
.ob2wiki-console-toggle::after { content: "‹"; }
.ob2wiki-drawer-toggle::after { content: "›"; }
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-toggle { right: -3.15rem; }
.ob2wiki-pathway-drawer.is-collapsed .ob2wiki-drawer-toggle { right: auto; left: -3.15rem; }
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-toggle::after { content: "›"; transform: none; }
.ob2wiki-pathway-drawer.is-collapsed .ob2wiki-drawer-toggle::after { content: "‹"; transform: none; }

/* The result panel remains top-right; only its collapse control faces the graph. */
.ob2wiki-pathway-drawer { top: 1rem; bottom: auto; max-height: calc(100vh - 7rem); }

/* Shared panel motion: surfaces slide as one unit; their content follows with
   a short, quiet entrance so dynamic answers never snap into place. */
@keyframes ob2wiki-panel-content-in {
  from { opacity: 0; transform: translate3d(0, .55rem, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.ob2wiki-pathway-console,
.ob2wiki-pathway-drawer {
  transition: transform var(--yz-dur-panel) var(--yz-ease-panel), opacity var(--yz-dur-panel-content) var(--yz-ease-panel), box-shadow var(--yz-dur-panel-content) var(--yz-ease-panel);
  will-change: transform, opacity;
}
.ob2wiki-console-toggle {
  transition: right var(--yz-dur-panel) var(--yz-ease-panel), box-shadow var(--yz-dur-panel-content) var(--yz-ease-panel), background var(--yz-dur-panel-content) var(--yz-ease-panel);
}
.ob2wiki-drawer-toggle {
  transition: left var(--yz-dur-panel) var(--yz-ease-panel), box-shadow var(--yz-dur-panel-content) var(--yz-ease-panel), background var(--yz-dur-panel-content) var(--yz-ease-panel);
}
.ob2wiki-console-body,
.ob2wiki-pathway-drawer-body {
  transition: opacity var(--yz-dur-panel-content) var(--yz-ease-panel), transform var(--yz-dur-panel-content) var(--yz-ease-panel);
}
.ob2wiki-pathway-console.is-collapsed .ob2wiki-console-body { transform: translate3d(-.45rem, 0, 0); }
.ob2wiki-pathway-drawer.is-collapsed .ob2wiki-pathway-drawer-body { transform: translate3d(.45rem, 0, 0); }
.ob2wiki-panel-content-enter { animation: ob2wiki-panel-content-in var(--yz-dur-panel-content) var(--yz-ease-panel) both; }

/* Shared site-brand treatment. The launcher supplies the optional assets. */
.ob2wiki-site-brand { display: inline-flex; max-width: 100%; line-height: 0; text-decoration: none; }
.ob2wiki-site-brand img { display: block; width: auto; height: 3rem; max-width: min(12rem, 100%); max-height: 3rem; margin: 0; border-radius: 0; object-fit: contain; }
.ob2wiki-sidebar-brand { display: flex; align-items: center; gap: .7rem; min-width: 0; margin: 0 0 1.1rem; }
.ob2wiki-sidebar-brand .ob2wiki-site-brand { flex: 0 0 auto; }
.ob2wiki-sidebar-brand .ob2wiki-site-brand img { height: 2.7rem; max-height: 2.7rem; }
.ob2wiki-sidebar-brand .page-title { min-width: 0; margin: 0; }
.ob2wiki-site-brand[href] { border-radius: .45rem; transition: transform 180ms var(--yz-ease-panel), opacity 180ms var(--yz-ease-panel); }
.ob2wiki-site-brand[href]:focus-visible { outline: 2px solid var(--secondary); outline-offset: .24rem; }
@media (hover: hover) {
  .ob2wiki-site-brand[href]:hover { animation: ob2wiki-brand-breathe 1.6s ease-in-out infinite; }
}
@keyframes ob2wiki-brand-breathe {
  0%, 100% { transform: translateY(0) scale(1); opacity: 1; }
  50% { transform: translateY(-1px) scale(1.035); opacity: .9; }
}
:root[saved-theme="dark"] .ob2wiki-site-brand img[data-ob2wiki-invert-dark="true"] { filter: invert(1) hue-rotate(180deg); }
.graph-container,
.global-graph-container,
.graph-outer {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.ob2wiki-yizen-graph-entry a { display: inline-flex; align-items: center; gap: .45rem; }
.ob2wiki-yizen-graph-entry svg { width: 1.05em; height: 1.05em; flex: none; }
.ob2wiki-pathway-brand { display: none; }
.ob2wiki-pathway-mobile-dock { display: none; }

@media (max-width: 760px) {
  .ob2wiki-pathway-stage { height: 100dvh; }

  .ob2wiki-pathway-brand {
    position: absolute;
    z-index: 5;
    top: max(.75rem, env(safe-area-inset-top));
    right: auto;
    left: max(.6rem, env(safe-area-inset-left));
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 2.55rem;
    min-width: 2.55rem;
    height: 2.55rem;
    justify-content: center;
    padding: .25rem;
    border: 1px solid var(--ob2wiki-pathway-panel-border);
    border-radius: 50%;
    background: color-mix(in srgb, var(--ob2wiki-pathway-panel-bg) 92%, var(--light));
    box-shadow: 0 .35rem .9rem color-mix(in srgb, var(--dark) 10%, transparent);
    backdrop-filter: var(--ob2wiki-pathway-panel-filter);
    -webkit-backdrop-filter: var(--ob2wiki-pathway-panel-filter);
  }
  .ob2wiki-pathway-brand .ob2wiki-site-brand { flex: 0 0 auto; margin: 0; }
  .ob2wiki-pathway-brand .ob2wiki-site-brand img { width: 2rem; height: 2rem; max-width: 2rem; max-height: 2rem; }
  .ob2wiki-pathway-brand > span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

  .ob2wiki-pathway-mobile-dock {
    position: absolute;
    z-index: 4;
    right: max(.6rem, env(safe-area-inset-right));
    bottom: max(.55rem, env(safe-area-inset-bottom));
    left: max(.6rem, env(safe-area-inset-left));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
  }
  .ob2wiki-pathway-mobile-dock button {
    position: relative;
    min-height: 2.75rem;
    padding: .45rem .7rem;
    border: 1px solid var(--ob2wiki-pathway-panel-border);
    border-radius: .85rem;
    background: color-mix(in srgb, var(--ob2wiki-pathway-panel-bg) 94%, var(--light));
    box-shadow: 0 .4rem 1rem color-mix(in srgb, var(--dark) 12%, transparent);
    color: var(--dark);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }
  .ob2wiki-pathway-mobile-dock button[data-active] {
    border-color: var(--secondary);
    background: var(--secondary);
    color: var(--light);
  }
  .ob2wiki-pathway-mobile-dock .ob2wiki-panel-count { border-color: var(--ob2wiki-pathway-panel-bg); }
  .ob2wiki-pathway-mobile-dock button[data-active] .ob2wiki-panel-count { background: var(--light); color: var(--secondary); }

  .ob2wiki-pathway-console,
  .ob2wiki-pathway-drawer {
    top: auto;
    right: .5rem;
    bottom: calc(env(safe-area-inset-bottom) + 3.85rem);
    left: .5rem;
    width: auto;
    max-height: min(40dvh, 24rem);
    overflow: hidden;
    display: none;
    pointer-events: auto;
    transform: none;
    transition: none;
    will-change: auto;
  }
  .ob2wiki-pathway-stage[data-ob2wiki-mobile-surface="console"] .ob2wiki-pathway-console { display: flex; }
  .ob2wiki-pathway-stage[data-ob2wiki-mobile-surface="drawer"] .ob2wiki-pathway-drawer { display: block; }
  .ob2wiki-pathway-stage[data-ob2wiki-mobile-surface] > .ob2wiki-community-graph {
    right: 0;
    bottom: auto;
    left: 0;
    height: var(--ob2wiki-pathway-graph-height);
  }
  .ob2wiki-console-toggle,
  .ob2wiki-drawer-toggle { display: none; }
  .ob2wiki-console-body,
  .ob2wiki-pathway-drawer-body {
    max-height: min(40dvh, 24rem);
    padding: .7rem .75rem;
  }
  .ob2wiki-console-body header { display: none; }
  .ob2wiki-pathway-console .ob2wiki-pathway-guide {
    margin: 0;
    padding: .7rem;
    border-radius: .75rem;
  }
  .ob2wiki-pathway-steps {
    position: sticky;
    z-index: 2;
    top: -.7rem;
    display: grid;
    gap: .08rem;
    padding: .18rem;
    border-radius: .5rem;
    background: var(--ob2wiki-pathway-rail-bg);
    box-shadow: 0 .35rem .65rem color-mix(in srgb, var(--dark) 8%, transparent);
  }
  .ob2wiki-pathway-steps button {
    min-height: 2rem;
    padding: .2rem .05rem;
    font-size: .64rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ob2wiki-pathway-guide h2 { margin-top: .1rem; font-size: 1.04rem; line-height: 1.32; }
  .ob2wiki-pathway-guide h2::before {
    display: none;
  }
  .ob2wiki-pathway-help { display: -webkit-box; margin: .25rem 0 0; overflow: hidden; font-size: .8rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .ob2wiki-pathway-options { gap: .38rem; }
  .ob2wiki-pathway-options button {
    min-height: 2.75rem;
    padding: .42rem .55rem;
    border-radius: .65rem;
    transform: none !important;
  }
  .ob2wiki-pathway-options button > span:first-child { min-width: 0; flex: 1; line-height: 1.22; }
  .ob2wiki-pathway-option-count { margin-left: auto; }
  .ob2wiki-pathway-scale { flex: 1 0 100%; }
  .ob2wiki-pathway-actions { margin-top: .1rem; }
  .ob2wiki-pathway-actions button { min-height: 2.65rem; padding: .4rem .65rem; }
  .ob2wiki-pathway-material-list { gap: .32rem; margin-top: .45rem; }
  .ob2wiki-pathway-material-list li { gap: .2rem .45rem; padding: .4rem .45rem; }
  .ob2wiki-pathway-material-list li > a { max-inline-size: none; }
  .ob2wiki-pathway-material-list li > .ob2wiki-pathway-focus { grid-row: 1; margin: 0; min-height: 2.25rem; padding: .32rem .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ob2wiki-pathway-console, .ob2wiki-pathway-drawer, .ob2wiki-pathway-options button, .ob2wiki-console-toggle::after, .ob2wiki-drawer-toggle::after { transition: none !important; }
  .ob2wiki-panel-content-enter, .ob2wiki-site-brand[href]:hover { animation: none !important; }
  .ob2wiki-pathway-options button:nth-child(n) { transform: none; }
}

/* Reading pages retain Quartz's own Graph controls and node navigation. */

/* A quiet product release marker; package/cache revisions are never reader-facing. */
.ob2wiki-release-mark {
  position: fixed;
  z-index: 5;
  right: .85rem;
  bottom: .65rem;
  color: color-mix(in srgb, var(--gray) 68%, transparent);
  font-size: .68rem;
  letter-spacing: .04em;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 760px) {
  .ob2wiki-release-mark { right: .65rem; bottom: .45rem; font-size: .62rem; }
}
