/* BookStack adapter. Brand values are provided by @dkvirtual/ui, never redefined here. */
:root { --color-primary:var(--text-primary); --color-link:var(--text-primary); --color-book:var(--text-primary); --color-chapter:var(--text-primary); --color-page:var(--text-primary); --color-bookshelf:var(--text-primary); }
html { background:var(--bg-page); }
body.dkv-bookstack { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--bg-page); color:var(--text-primary); font-family:var(--font-body); font-size:16px; line-height:1.55; }
.dkv-bookstack #content { flex:1 0 auto; }
.dkv-bookstack h1,.dkv-bookstack h2,.dkv-bookstack h3,.dkv-bookstack h4,.dkv-bookstack h5 { color:var(--text-primary); font-family:var(--font-display); font-weight:700; line-height:1.2; }
.dkv-bookstack h1 { font-size:var(--fs-page-title); letter-spacing:-.02em; margin:0 0 12px; }
.dkv-bookstack h2 { font-size:24px; }
.dkv-bookstack h5 { font-size:14px; }
.dkv-bookstack a { color:var(--text-primary); }
.dkv-bookstack .text-muted,.dkv-bookstack .text-muted a { color:var(--text-secondary)!important; }
.dkv-bookstack .primary-background { background-color:var(--shell-bg)!important; }
.dkv-bookstack :is(.text-book,.text-page,.text-chapter,.text-bookshelf,.text-link) { color:var(--text-primary); }
.dkv-bookstack :is(.card,.dropdown-menu,.popup-body) { background:var(--surface-card); color:var(--text-primary); border:1px solid var(--border); border-radius:6px; box-shadow:0 3px 12px rgb(7 26 54 / 3%); }
.dkv-bookstack hr { border-color:var(--border); background:var(--border); }
.dkv-bookstack :is(input,textarea,select) { font-family:var(--font-body); font-size:15px; color:var(--text-primary); background:var(--surface-card); border-color:var(--border-strong); border-radius:6px; }
.dkv-bookstack :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--brand-accent); outline-offset:3px; }
.dkv-bookstack .svg-icon { width:20px; height:20px; flex-shrink:0; }
.dkv-bookstack .button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; box-sizing:border-box; padding:10px 18px; border:1px solid transparent; border-radius:6px; background:var(--brand-accent); color:var(--dkv-navy,#071a36); font-family:var(--font-body); font-size:15px; font-weight:700; line-height:1.4; box-shadow:none; text-decoration:none; }
.dkv-bookstack .button:hover { filter:brightness(.96); }
.dkv-bookstack .button:is(.outline,.secondary) { color:var(--text-primary); background:var(--surface-card); border-color:var(--border-strong); }
.dkv-bookstack .button.neg { background:var(--danger,#a02130); color:white; }
.dkv-bookstack .icon-list-item { min-height:38px; border-radius:6px; font-size:14px; }
.dkv-bookstack :is(.icon-list-item,.entity-list-item):hover { background:var(--surface-muted); }
.dkv-bookstack .dropdown-menu a,.dkv-bookstack .dropdown-menu button { color:var(--text-primary)!important; }
.dkv-bookstack .dropdown-menu .icon-item { min-height:42px; }

/* One server-rendered masthead; BookStack owns navigation, search and preference persistence. */
.dkv-bookstack #header.dkv-header { min-height:76px; height:auto; padding:0 38px; display:grid; grid-template-columns:minmax(450px,1.4fr) minmax(220px,310px) minmax(360px,1fr); align-items:center; gap:28px; background:var(--shell-bg); border-bottom:1px solid var(--border); box-shadow:none; }
.dkv-brand-group { display:flex; align-items:center; gap:28px; min-width:0; }
.dkv-brand { display:flex; flex-shrink:0; }
.dkv-brand img { width:245px; height:auto; display:block; }
.dkv-product-name { color:white; font-size:17px; white-space:nowrap; padding-left:23px; border-left:1px solid rgb(255 255 255 / 32%); }
.dkv-bookstack #header .header-links { display:flex; align-items:center; justify-content:flex-end; gap:20px; min-height:76px; }
.dkv-bookstack #header .links { display:flex; align-items:center; gap:20px; }
.dkv-bookstack #header .links a { color:white; margin:0; font-size:14px; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.dkv-bookstack #header .links a .svg-icon { margin:0; }
.dkv-bookstack #header .search-box { width:100%; max-width:none; margin:0; }
.dkv-bookstack #header .search-box input { height:42px; width:100%; border:1px solid rgb(255 255 255 / 25%); border-radius:24px; color:white; background:rgb(255 255 255 / 12%); padding-left:45px; }
.dkv-bookstack #header .search-box input::placeholder { color:#c4cfdb; opacity:1; }
.dkv-bookstack #header .search-box button { color:white; }
.dkv-bookstack #header .global-search-suggestions { color:var(--text-primary); top:52px; }
.dkv-bookstack #header .global-search-suggestions button { color:var(--text-primary); }
.dkv-theme-form { margin:0; display:flex; flex-shrink:0; }
.dkv-bookstack #header .dkv-theme-toggle { margin:0; }
.dkv-bookstack .dkv-theme-toggle .svg-icon { width:19px; height:19px; margin:0; }
.dkv-bookstack #header .user-name { display:flex; align-items:center; gap:8px; padding:0; color:white; }
.dkv-bookstack #header .user-name .avatar { border:2px solid var(--brand-accent); width:40px; height:40px; background:var(--shell-bg); margin:0; }
.dkv-bookstack #header .user-name .name { max-width:60px; font-size:13px; }
.dkv-bookstack #header .user-name>.svg-icon { width:14px; margin:0; }

/* Default native pages retain BookStack's layout; these three surfaces match the approved mockups. */
@media(min-width:1001px) {
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-container { display:grid; grid-template-columns:320px minmax(0,1fr); max-width:1700px; margin:0 auto; min-height:calc(100vh - 147px); }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-sides,.dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-sides-content { display:contents; }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-left { grid-column:1; grid-row:1; width:auto; max-width:none; position:static; overflow:visible; border-right:1px solid var(--border); }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-left-contents { position:static; height:auto; padding:30px 26px 32px 38px; width:auto; max-width:none; }
  .dkv-bookstack:is(.dkv-library,.dkv-book) .tri-layout-right { display:none; }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-middle { grid-column:2; grid-row:1; width:auto; margin:0; max-width:none; min-width:0; padding:0; }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-middle-contents { padding:44px 38px 28px; max-width:none; margin:0; }
  .dkv-bookstack.dkv-reading .tri-layout-container { grid-template-columns:280px minmax(0,1fr) 240px; }
  .dkv-bookstack.dkv-reading .tri-layout-right { grid-column:3; grid-row:1; position:static; width:auto; max-width:none; }
  .dkv-bookstack.dkv-reading .tri-layout-right-contents { padding:38px 26px 24px 6px; position:static; height:auto; width:auto; max-width:none; }
  .dkv-bookstack.dkv-reading .tri-layout-middle-contents { padding:26px 32px; }
}
.dkv-library-nav { margin-bottom:30px; }
.dkv-nav-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.dkv-library-nav>a { display:flex; align-items:center; gap:14px; min-height:46px; padding:10px 14px; border-radius:6px; color:var(--text-secondary); margin-bottom:5px; font-size:16px; border-left:3px solid transparent; box-sizing:border-box; }
.dkv-library-nav>a.selected { color:var(--text-primary); border-left-color:var(--brand-accent); background:var(--surface-muted); font-weight:700; }
.dkv-library-nav>a:hover { background:var(--surface-muted); text-decoration:none; }
.dkv-library-nav>a .svg-icon:last-child:not(:first-child) { width:15px; margin-left:auto; }
.dkv-nav-divider { height:1px; background:var(--border); margin:24px 0; }
.dkv-library .actions { margin:0 0 24px; padding:0 12px; }
.dkv-library-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; margin-bottom:36px; }
.dkv-library-heading p { font-size:17px; margin:0; max-width:650px; }
.dkv-library-heading>.button { flex-shrink:0; margin-top:10px; }
.dkv-library-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:48px; margin-bottom:16px; gap:16px; }
.dkv-library-toolbar h2 { margin:0; }
.dkv-count { font-family:var(--font-body); font-size:13px; color:var(--text-secondary); border:1px solid var(--border); border-radius:4px; padding:2px 6px; vertical-align:middle; }
.dkv-book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dkv-bookstack .grid-card.dkv-book-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--border); border-radius:6px; background:var(--surface-card); color:var(--text-primary); box-shadow:0 3px 12px rgb(7 26 54 / 3%); margin:0; transition:border-color .15s; }
.dkv-bookstack .grid-card.dkv-book-card:hover { border-color:var(--border-strong); text-decoration:none; }
.dkv-cover { overflow:hidden; aspect-ratio:1.96; background:var(--surface-muted); }
.dkv-cover>img { width:100%; height:100%; object-fit:cover; display:block; }
.dkv-cover-empty { height:100%; display:grid; place-items:center; }
.dkv-cover-empty .svg-icon { width:44px; height:44px; }
.dkv-bookstack .dkv-book-card .grid-card-content { padding:18px 22px 12px; flex:1; }
.dkv-bookstack .dkv-book-card h2 { font-size:20px; margin:0 0 10px; }
.dkv-bookstack .dkv-book-card p { font-size:15px; margin:0; line-height:1.5; }
.dkv-bookstack .dkv-book-card .grid-card-footer { display:flex; justify-content:space-between; border:0; padding:6px 22px 18px; font-size:13px; color:var(--text-secondary); background:none; }
.dkv-book-card .grid-card-footer span { display:inline-flex; align-items:center; gap:7px; }
.dkv-book-card .grid-card-footer .svg-icon { width:15px; height:15px; margin:0; }
.dkv-back { display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:24px; }
.dkv-book-summary { margin-bottom:24px; }
.dkv-book-summary>img { width:100%; height:auto; border-radius:6px; margin-bottom:18px; }
.dkv-book-summary h2 { font-size:21px; margin-bottom:8px; }
.dkv-book-summary p { font-size:14px; line-height:1.5; }
.dkv-book-buttons { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 34px; }
.dkv-chapter { background:var(--surface-card); border:1px solid var(--border); border-radius:6px; margin-bottom:22px; overflow:hidden; }
.dkv-chapter-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; background:var(--surface-muted); border-bottom:1px solid var(--border); }
.dkv-chapter-heading h2 { font-size:19px; margin:0; }
.dkv-chapter-heading h2 a { display:flex; align-items:center; gap:10px; }
.dkv-chapter-heading>span { font-size:13px; white-space:nowrap; }
.dkv-chapter-pages>a { display:flex; align-items:center; padding:13px 22px; gap:12px; border-bottom:1px solid var(--border); font-size:15px; min-height:48px; }
.dkv-chapter-pages>a:last-child { border-bottom:0; }
.dkv-chapter-pages>a:hover { background:var(--surface-muted); text-decoration:none; }
.dkv-chapter-pages>a>.svg-icon:last-child { margin-left:auto; width:16px; color:var(--text-secondary); }
.dkv-bookstack .breadcrumbs { color:var(--text-secondary); font-size:13px; margin-bottom:22px; }
.dkv-bookstack .breadcrumbs .text-ellipsis { max-width:100%; }
.dkv-reading main.content-wrap { padding:30px 34px; }
.dkv-reading .page-content { font-family:var(--font-body); color:var(--text-primary); font-size:16px; line-height:1.7; }
.dkv-reading .page-content h1 { font-size:var(--fs-article-title); }
.dkv-reading .page-content h2 { margin-top:32px; font-size:25px; }
.dkv-reading .page-content p { margin:0 0 20px; }
.dkv-reading .page-content .dkv-article-meta { color:var(--text-secondary); font-size:13px; padding-bottom:22px; margin-bottom:28px; border-bottom:1px solid var(--border); }
.dkv-reading .page-content a { text-decoration:underline; text-underline-offset:3px; }
.dkv-reading .page-content a.button { text-decoration:none; }
.dkv-reading .page-content blockquote { background:var(--surface-muted); border:1px solid var(--border); border-left:3px solid var(--brand-accent); border-radius:6px; padding:16px 20px; color:var(--text-primary); }
.dkv-reading .page-content blockquote p:last-child { margin:0; }
.dkv-reading .page-content table { background:var(--surface-card); }
.dkv-reading .page-content td,.dkv-reading .page-content th { border-color:var(--border); }
.dkv-reading .page-content pre { background:var(--surface-muted); color:var(--text-primary); }
.dkv-bookstack .book-tree .selected { background:var(--surface-muted); border-left:3px solid var(--brand-accent); border-radius:4px; }
.dkv-bookstack .sidebar-page-list .entity-list-item { font-size:14px; padding-top:10px; padding-bottom:10px; }
.dkv-bookstack .sidebar-page-nav .page-nav-item a { font-size:14px; }
.dkv-bookstack .sidebar-page-nav-bullet { background:var(--border-strong); }
.dkv-bookstack .dkv-site-footer { margin:0; padding:0; border-top:1px solid var(--border); background:var(--surface-card); }
.dkv-bookstack .dkv-site-footer__inner { max-width:1700px; min-height:70px; padding:18px 38px; box-sizing:border-box; }
.dkv-bookstack .dkv-site-footer__links a { color:var(--text-primary); }
.dkv-bookstack .dkv-site-footer__copyright { margin:0; }
@media(max-width:1350px) and (min-width:1001px) {
  .dkv-bookstack #header.dkv-header { grid-template-columns:auto minmax(180px,1fr) auto; gap:20px; padding-inline:24px; }
  .dkv-brand img { width:200px; }
  .dkv-product-name { font-size:15px; padding-left:16px; }
  .dkv-brand-group { gap:16px; }
  .dkv-bookstack #header .header-links,.dkv-bookstack #header .links { gap:14px; }
  .dkv-library-heading { flex-wrap:wrap; gap:10px; margin-bottom:22px; }
  .dkv-library-heading>.button { margin-top:0; }
  .dkv-bookstack.dkv-reading .tri-layout-container { grid-template-columns:250px minmax(0,1fr) 210px; }
}
@media(max-width:1000px) {
  .dkv-bookstack #header.dkv-header { display:block; padding:14px 20px; }
  .dkv-brand-group { justify-content:space-between; gap:16px; }
  .dkv-brand img { width:218px; }
  .dkv-product-name { margin-right:auto; }
  .dkv-bookstack #header .header-links { display:none; min-height:0; padding-top:16px; flex-wrap:wrap; justify-content:flex-start; }
  .dkv-bookstack #header .header-links.show { display:flex; }
  .dkv-bookstack #header .user-name { display:flex!important; }
  .dkv-bookstack #header .dropdown-container { margin-left:auto; }
  .dkv-bookstack .tri-layout-mobile-tabs { background:var(--surface-card); border-bottom:1px solid var(--border); }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-middle-contents { padding:24px; }
  .dkv-library-heading { display:block; margin-bottom:24px; }
  .dkv-library-heading p { font-size:16px; }
  .dkv-library-heading>.button { margin-top:20px; }
  .dkv-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .dkv-bookstack .tri-layout-sides { background:var(--bg-page); }
  .dkv-reading main.content-wrap { padding:26px; }
}
@media(max-width:600px) {
  .dkv-product-name { display:none; }
  .dkv-book-grid { grid-template-columns:minmax(0,1fr); }
  .dkv-bookstack:is(.dkv-library,.dkv-book,.dkv-reading) .tri-layout-middle-contents { padding:22px 16px; }
  .dkv-library-toolbar { align-items:flex-start; flex-wrap:wrap; }
  .dkv-library-toolbar h2 { flex:1 0 100%; display:flex; align-items:center; gap:8px; }
  .dkv-library-toolbar .dkv-view-controls { width:100%; justify-content:space-between; }
  .dkv-library-toolbar .list-sort-container { font-size:12px; }
  .dkv-chapter-heading,.dkv-chapter-pages>a { padding:14px 16px; }
  .dkv-reading main.content-wrap { padding:22px 20px; }
  .dkv-bookstack .dkv-site-footer__inner { padding:22px 20px; align-items:flex-start; }
  .dkv-bookstack .dkv-site-footer__links { flex-wrap:wrap; gap:14px; }
}
@media(prefers-reduced-motion:reduce) { .dkv-bookstack * { scroll-behavior:auto!important; transition:none!important; } }
@media print { .dkv-bookstack .dkv-header,.dkv-bookstack .dkv-site-footer { display:none!important; } .dkv-bookstack,.dkv-bookstack .page-content { color:#000; background:#fff; } }

.dkv-bookstack .svg-icon.dkv-shared-icon { fill:none; }
.dkv-bookstack .tri-layout-left-contents>*,.dkv-bookstack .tri-layout-right-contents>* { opacity:1; }
.dkv-bookstack .tri-layout-middle-contents { box-sizing:border-box; }
.dkv-bookstack .dkv-library-main { margin:0; }
.dkv-bookstack .dkv-library-toolbar .dkv-view-controls { display:flex; align-items:center; gap:20px; }
.dkv-bookstack .dkv-library-toolbar .dkv-view-controls .icon-list-item { width:44px; justify-content:center; border:1px solid var(--border); background:var(--surface-card); }
.dkv-bookstack .dkv-library-toolbar .dkv-view-controls .icon-list-item span:last-child { display:none; }
.dkv-bookstack .dkv-library-toolbar .dkv-view-controls .icon-list-item .svg-icon { margin:0; }

.dkv-cover { position:relative; }
.dkv-book-badge { position:absolute; bottom:10px; left:14px; width:34px; height:34px; border-radius:5px; display:grid; place-items:center; background:var(--surface-card); color:var(--text-primary); box-shadow:0 2px 5px rgb(0 0 0 / 10%); }

/* BookStack normalizes icon class attributes; stroke marks the shared Lucide assets. */
.dkv-bookstack .svg-icon[stroke] { fill:none; }
.dkv-bookstack .dkv-view-controls button span:last-child { display:inline!important; position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.dkv-native-details { border-top:1px solid var(--border); padding-top:16px; font-size:14px; }
.dkv-native-details>summary { cursor:pointer; font-weight:700; padding:8px 0 18px; }
.dkv-native-details[open]>summary { margin-bottom:16px; }

.dkv-book-breadcrumbs { padding:18px 40px 16px; max-width:1700px; margin:auto; box-sizing:border-box; }
.dkv-book-breadcrumbs .breadcrumbs { margin:0; }
.dkv-book .dkv-book-main { padding:28px 32px; }
.dkv-book .book-contents { margin:0; }
.dkv-book-meta { font-size:14px; margin-top:16px; }
.dkv-contents-heading { padding-top:16px; border-top:1px solid var(--border); margin:0 0 18px; }
.dkv-chapter summary { list-style:none; cursor:pointer; }
.dkv-chapter summary::-webkit-details-marker { display:none; }
.dkv-chapter summary h2 { flex:1; font-size:17px; }
.dkv-chapter summary>.svg-icon { width:16px; }
.dkv-chapter[open] summary>.svg-icon { transform:rotate(90deg); }
.dkv-chapter:not([open]) summary { border-bottom:0; }
.dkv-book .dkv-chapter-heading { padding:14px 18px; }
.dkv-book .dkv-chapter-pages>a { padding:11px 22px 11px 52px; }
.dkv-book .dkv-book-buttons { margin:22px 0 26px; }
.dkv-book .dkv-book-summary h2 { margin-top:8px; }
.dkv-bookstack .icon-list-item>span:first-child { background:none; border-radius:0; }
.dkv-reading main.content-wrap { border:0; background:transparent; box-shadow:none; padding:16px 0; }
.dkv-reading .page-content .dkv-article-meta { border:0; padding-bottom:12px; }
@media(min-width:1001px) {
 .dkv-bookstack.dkv-book .tri-layout-container { padding:0 40px 24px; box-sizing:border-box; gap:20px; grid-template-columns:280px minmax(0,1fr); }
 .dkv-bookstack.dkv-book .tri-layout-left { border:1px solid var(--border); border-radius:6px; background:var(--surface-card); }
 .dkv-bookstack.dkv-book .tri-layout-left-contents { padding:20px 22px; }
 .dkv-bookstack.dkv-book .tri-layout-middle-contents { padding:0; }
 .dkv-bookstack.dkv-reading .tri-layout-container { grid-template-columns:320px minmax(0,1fr) 258px; }
 .dkv-bookstack.dkv-reading .tri-layout-right { border-left:1px solid var(--border); }
 .dkv-bookstack.dkv-reading .tri-layout-right-contents { padding:34px 28px; }
 .dkv-bookstack.dkv-reading .tri-layout-middle-contents { padding:26px 40px; }
}
@media(max-width:600px) { .dkv-book-breadcrumbs { padding:16px; } .dkv-book .dkv-book-main { padding:22px 18px; } .dkv-book .dkv-chapter-pages>a { padding:12px 14px; } }

.dkv-inline-search { min-width:205px; }
.dkv-inline-search>summary { list-style:none; cursor:pointer; }
.dkv-inline-search>summary::-webkit-details-marker { display:none; }
.dkv-inline-search #book-search { margin:14px 0 0; }
.dkv-reading .page-content small { font-size:12px; color:var(--text-muted); }

:root .dkv-bookstack :is(h1,h2,h3,h4,h5,h6) { color:var(--text-primary); }
:root .dkv-bookstack :is(.text-link,.text-book,.text-page,.text-chapter,.text-bookshelf) { color:var(--text-primary); }
.dkv-reading .page-content { font-size:18px; line-height:1.6; }
.dkv-reading .page-content h2 { font-size:28px; }
.dkv-reading .page-content blockquote { overflow:visible; }
.dkv-reading .page-content blockquote:before { display:none; }
.dkv-reading .page-content blockquote p { padding:0; }
.dkv-reading .page-content ul { margin-bottom:28px; }
.dkv-reading .page-content li { margin-bottom:9px; }
.dkv-reading-tree { margin-bottom:28px; }
.dkv-reading-tree ul { list-style:none; padding:0; margin:0; }
.dkv-tree-title { display:flex; align-items:center; gap:14px; font-size:21px; font-weight:700; margin:4px 0 26px; }
.dkv-tree-title>.svg-icon { width:28px; height:28px; }
.dkv-reading-tree summary { display:flex; align-items:center; gap:10px; cursor:pointer; padding:12px 0; list-style:none; font-size:16px; font-weight:700; }
.dkv-reading-tree summary::-webkit-details-marker { display:none; }
.dkv-reading-tree summary>.svg-icon { width:16px; }
.dkv-reading-tree details[open]>summary>.svg-icon { transform:rotate(90deg); }
.dkv-reading-tree .dkv-tree-page { display:block; padding:10px 12px 10px 28px; margin:4px -10px; border-left:3px solid transparent; border-radius:5px; font-size:15px; color:var(--text-secondary); }
.dkv-reading-tree .dkv-tree-page.selected { background:var(--surface-muted); color:var(--text-primary); border-left-color:var(--brand-accent); }
.dkv-reading-tree a:hover { text-decoration:none; color:var(--text-primary); }
.dkv-bookstack .icon-list-item>span,.dkv-bookstack .icon-list-item .svg-icon,.dkv-bookstack .breadcrumbs .svg-icon { background:transparent!important; box-shadow:none; }
.dkv-bookstack .breadcrumbs .icon { background:transparent!important; }

.dkv-avatar-initials { display:grid; place-items:center; width:40px; height:40px; border:2px solid var(--brand-accent); border-radius:50%; color:white; font-weight:700; font-size:15px; box-sizing:border-box; }
:root .dkv-bookstack .tri-layout-mobile-tabs .tri-layout-mobile-tab { color:var(--text-secondary); background:var(--surface-card); border:0; }
:root .dkv-bookstack .tri-layout-mobile-tabs .tri-layout-mobile-tab.active { color:var(--text-primary); box-shadow:inset 0 -3px var(--brand-accent); }
@media(max-width:1000px) {
 .dkv-bookstack #header .header-links .dropdown-menu { display:none!important; }
 .dkv-bookstack #header .header-links .user-name[aria-expanded=true]+.dropdown-menu { display:block!important; position:absolute; min-width:190px; }
}
@media(max-width:600px) {
 .dkv-bookstack .breadcrumbs { display:flex; flex-wrap:wrap; gap:4px; text-align:left; }
 .dkv-bookstack .breadcrumbs .icon-list-item { width:auto; min-height:32px; padding:3px; gap:4px; font-size:12px; }
 .dkv-bookstack .breadcrumbs .icon-list-item>span:last-child { display:inline; max-width:140px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .dkv-bookstack .breadcrumbs .icon-list-item>span:first-child { display:none; }
 .dkv-bookstack .breadcrumbs .separator { display:inline-flex; align-items:center; }
}

:root.dark-mode { --color-primary:var(--text-primary); --color-primary-light:var(--surface-muted); --color-link:var(--text-primary); --color-book:var(--text-primary); --color-chapter:var(--text-primary); --color-page:var(--text-primary); --color-bookshelf:var(--text-primary); }
.dkv-bookstack .icon-list-item>span:first-child::after,.dkv-bookstack .entity-list-item>.icon::after { display:none; }
.dkv-bookstack .breadcrumbs { opacity:1; }
.dkv-bookstack #header .user-name .dkv-avatar-initials { display:grid; align-items:center; justify-items:center; line-height:1; }
/* BookStack's current native visual editor uses the same theme, without replacing its behavior. */
:root { --editor-color-primary:var(--brand-accent); }
:root .dkv-bookstack :is(.editor-container,.editor-toolbar-main,.editor-content-wrap,.page-editor-page-area,.title-input.page-title,.editor-toolbox) { background:var(--surface-card); border-color:var(--border); color:var(--text-primary); }
:root .dkv-bookstack :is(.editor-button,.editor-button-text,.editor-toolbox button,.page-edit-toolbar .text-link) { color:var(--text-primary); }
:root .dkv-bookstack :is(.editor-button-active,.editor-button:hover) { background:var(--surface-muted); color:var(--text-primary); }
:root .dkv-bookstack .editor-content-area.page-content { font-family:var(--font-body); color:var(--text-primary); font-size:18px; line-height:1.6; }
:root .dkv-bookstack .editor-content-area.page-content h2 { font-family:var(--font-display); font-size:28px; }
:root .dkv-bookstack .title-input.page-title input { background:var(--surface-card); color:var(--text-primary); font-family:var(--font-display); font-weight:700; }
:root .dkv-bookstack .floating-toolbox .tabs-inner { background:var(--surface-card); border:1px solid var(--border); }
:root .dkv-bookstack .floating-toolbox .tabs-inner>button { color:var(--text-secondary); }
:root .dkv-bookstack .floating-toolbox .tabs-inner>button:hover { background:var(--surface-muted); color:var(--text-primary); }
.dkv-bookstack #save-button { --color-positive:var(--dkv-navy); width:auto; min-height:44px; background:var(--brand-accent); color:var(--dkv-navy); border:1px solid transparent; border-radius:6px; padding:8px 18px; }
:root .dkv-bookstack .editor-content-area.page-content blockquote { background:var(--surface-muted); border-left:3px solid var(--brand-accent); color:var(--text-primary); }

.dkv-book-breadcrumbs .icon-list-item { min-height:24px; padding-block:0; }
.dkv-book .dkv-book-main>.text-muted p { margin:0; }
.dkv-book .dkv-book-meta { margin:12px 0; }
@media(min-width:1001px) {
 .dkv-bookstack.dkv-library .tri-layout-container { padding:0; }
 .dkv-bookstack.dkv-library .tri-layout-middle-contents { padding-inline:34px; }
 .dkv-bookstack.dkv-book .tri-layout-container { min-height:calc(100vh - 206px); }
}

/* Option 1: a single, persistent contents rail and a comfortable reading measure. */
.dkv-bookstack #header.dkv-header { grid-template-columns:auto minmax(180px,385px) auto; justify-content:space-between; padding-inline:28px; gap:24px; }
.dkv-brand-group { gap:24px; }
.dkv-brand img { width:210px; }
.dkv-product-name { font-size:15px; padding-left:23px; }
.dkv-bookstack #header .header-links { gap:24px; }
.dkv-bookstack #header .links { gap:24px; }
.dkv-bookstack #header .links .dkv-header-crewnet { border-left:1px solid rgb(255 255 255 / 28%); padding-left:24px; }
.dkv-reader-layout { display:grid; grid-template-columns:300px minmax(0,1fr); min-height:calc(100vh - 147px); }
.dkv-contents { grid-column:1; grid-row:1 / 3; border-right:1px solid var(--border); min-width:0; }
.dkv-contents-inner { position:sticky; top:0; display:flex; flex-direction:column; min-height:calc(100vh - 147px); max-height:100vh; overflow:auto; padding:26px 25px 24px 32px; box-sizing:border-box; }
.dkv-contents .dkv-back { margin-bottom:30px; font-size:14px; }
.dkv-contents .dkv-tree-title { font-size:21px; line-height:1.35; margin-bottom:26px; }
.dkv-contents .dkv-reading-tree summary { min-height:46px; box-sizing:border-box; padding-block:12px; font-size:15px; }
.dkv-contents .dkv-reading-tree .dkv-tree-page { font-size:15px; padding:11px 12px 11px 29px; margin:2px -9px; line-height:1.55; }
.dkv-contents .dkv-reading-tree summary>a { flex:1; }
.dkv-contents-bar { display:none; }
.dkv-contents-open,.dkv-contents-close { display:inline-flex; align-items:center; gap:12px; min-height:44px; border:0; border-radius:4px; background:transparent; color:var(--text-secondary); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.dkv-contents-close { margin-top:auto; flex-shrink:0; padding:8px 0; }
.dkv-contents-open:hover,.dkv-contents-close:hover { color:var(--text-primary); background:var(--surface-muted); }
.dkv-reader-main { grid-column:2; grid-row:1 / 3; min-width:0; padding:28px 44px 30px; }
.dkv-reader-inner { max-width:900px; margin:0 auto; }
.dkv-reader-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:14px; color:var(--text-secondary); font-size:13px; margin:0 0 30px; }
.dkv-reader-breadcrumbs a { display:inline-flex; align-items:center; gap:12px; color:var(--text-secondary); min-height:24px; }
.dkv-reader-breadcrumbs>.svg-icon { width:14px; height:14px; margin:0; }
.dkv-reader-breadcrumbs a>.svg-icon { width:18px; height:18px; }
.dkv-article-heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-bottom:22px; }
.dkv-bookstack .dkv-article-heading h1 { flex:1; margin:0; font-size:var(--fs-article-title,40px); line-height:1.18; letter-spacing:-.025em; }
.dkv-save-form { flex:0 0 auto; margin:0; }
.dkv-save-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; font:inherit; font-size:14px; color:var(--text-primary); padding:7px 0 7px 10px; background:transparent; border:0; border-radius:4px; white-space:nowrap; cursor:pointer; }
.dkv-save-button:hover { background:var(--surface-muted); }
.dkv-save-button[aria-pressed=true] .svg-icon { fill:var(--brand-accent); }
.dkv-save-button .svg-icon { margin:0; }
.dkv-article-heading .dkv-article-meta { flex-basis:100%; font-size:14px; color:var(--text-secondary); margin:0; }
.dkv-jump-nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px 30px; border-block:1px solid var(--border); padding:12px 0; margin:0 0 28px; font-size:14px; }
.dkv-jump-nav>span { font-weight:700; color:var(--text-secondary); }
.dkv-jump-nav a { text-decoration:underline; text-underline-offset:3px; min-height:24px; display:inline-flex; align-items:center; }
.dkv-reader .page-content { width:auto; max-width:780px; padding:0; margin:0; color:var(--text-primary); font-family:var(--font-body); font-size:18px; line-height:1.6; overflow-wrap:anywhere; }
.dkv-reader .page-content h2 { font-size:28px; line-height:1.2; margin:28px 0 12px; }
.dkv-reader .page-content h3 { font-size:22px; margin:24px 0 12px; }
.dkv-reader .page-content p { margin:0 0 20px; }
.dkv-reader .page-content li { margin:0 0 9px; }
.dkv-reader .page-content ol,.dkv-reader .page-content ul { padding-left:30px; margin-bottom:28px; }
.dkv-reader .page-content a { text-decoration:underline; text-underline-offset:3px; }
.dkv-reader .page-content blockquote { background:var(--surface-muted); border:1px solid var(--border); border-left:3px solid var(--brand-accent); border-radius:6px; padding:16px 20px; color:var(--text-primary); overflow:visible; }
.dkv-reader .page-content blockquote:before { display:none; }
.dkv-reader .page-content blockquote p { padding:0; }
.dkv-reader .page-content blockquote p:last-child { margin:0; }
.dkv-reader .page-content small { font-size:13px; color:var(--text-secondary); }
.dkv-reader .page-content :is(table,pre) { max-width:100%; overflow:auto; background:var(--surface-card); color:var(--text-primary); }
.dkv-reader .page-content :is(td,th) { border-color:var(--border); }
.dkv-reader .page-content :is(h1,h2,h3,h4,h5,h6) { scroll-margin-top:24px; }
.dkv-reader-siblings { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid var(--border); padding-top:20px; margin-top:24px; }
.dkv-reader-siblings>div+div { border-left:1px solid var(--border); padding-left:24px; }
.dkv-reader-siblings a { display:flex; align-items:center; gap:14px; height:100%; min-height:44px; font-size:14px; line-height:1.4; }
.dkv-reader-siblings>div+div a { justify-content:flex-end; text-align:right; }
.dkv-reader-siblings a>span { display:flex; flex-direction:column; gap:6px; }
.dkv-reader-siblings small { color:var(--text-secondary); font-size:13px; }
.dkv-editor-tools { margin:24px 0; padding-top:16px; border-top:1px solid var(--border); }
.dkv-editor-tools>summary { display:flex; align-items:center; gap:10px; cursor:pointer; min-height:44px; font-size:14px; font-weight:700; list-style:none; }
.dkv-editor-tools>summary::after { content:'+'; margin-left:auto; font-size:22px; }
.dkv-editor-tools[open]>summary::after { content:'−'; }
.dkv-editor-tools>summary::-webkit-details-marker { display:none; }
.dkv-editor-tools[open]>summary { margin-bottom:20px; }
.dkv-chapter-intro { font-size:18px; color:var(--text-secondary); max-width:760px; margin-bottom:28px; }
.dkv-chapter-reader-pages { margin:28px 0 40px; border:1px solid var(--border); border-radius:6px; overflow:hidden; background:var(--surface-card); }
.dkv-chapter-reader-pages>a { display:flex; align-items:center; gap:16px; min-height:64px; padding:16px 22px; border-bottom:1px solid var(--border); box-sizing:border-box; }
.dkv-chapter-reader-pages>a:last-child { border:0; }
.dkv-chapter-reader-pages>a:hover { background:var(--surface-muted); text-decoration:none; }
.dkv-chapter-reader-pages>a>span { flex:1; }
@media(min-width:901px) {
 .dkv-contents-collapsed .dkv-reader-layout { grid-template-columns:minmax(0,1fr); }
 .dkv-contents-collapsed .dkv-contents { display:none; }
 .dkv-contents-collapsed .dkv-reader-main { grid-column:1; grid-row:2; padding-top:12px; }
 .dkv-contents-collapsed .dkv-contents-bar { display:block; padding:12px 32px 0; }
}
@media(min-width:1001px) and (max-width:1240px) {
 .dkv-bookstack #header.dkv-header { gap:18px; padding-inline:24px; }
 .dkv-brand img { width:185px; }
 .dkv-brand-group { gap:16px; }
 .dkv-product-name { padding-left:16px; font-size:14px; }
 .dkv-bookstack #header .header-links,.dkv-bookstack #header .links { gap:16px; }
 .dkv-bookstack #header .links .dkv-header-crewnet { padding-left:16px; }
 .dkv-reader-layout { grid-template-columns:268px minmax(0,1fr); }
 .dkv-contents-inner { padding-left:24px; padding-right:22px; }
 .dkv-reader-main { padding-inline:36px; }
}
@media(max-width:1000px) {
 .dkv-bookstack #header.dkv-header { display:block; padding:14px 20px; }
 .dkv-brand img { width:210px; }
 .dkv-bookstack #header .header-links,.dkv-bookstack #header .links { gap:18px; }
 .dkv-bookstack #header .links .dkv-header-crewnet { padding-left:18px; }
 .dkv-reader-main { padding-inline:28px; }
}
@media(max-width:900px) {
 .dkv-reader-layout { display:flex; flex-direction:column; min-height:calc(100vh - 138px); }
 .dkv-contents-bar { display:block; padding:8px 20px; border-bottom:1px solid var(--border); }
 .dkv-contents { display:none; border-right:0; border-bottom:1px solid var(--border); }
 .dkv-mobile-contents-open .dkv-contents { display:block; }
 .dkv-contents-inner { position:static; min-height:0; max-height:none; padding:20px 28px; }
 .dkv-contents .dkv-back { margin-bottom:20px; }
 .dkv-contents .dkv-reading-tree { margin:0; }
 .dkv-contents-close { margin-top:16px; }
 .dkv-reader-main { padding:24px 24px 32px; }
 .dkv-reader-breadcrumbs { margin-bottom:24px; }
 .dkv-article-heading h1 { min-width:75%; }
 .dkv-article-heading .dkv-save-form { margin-left:auto; }
 .dkv-jump-nav { gap:8px 20px; }
}
@media(max-width:600px) {
 .dkv-reader-breadcrumbs { gap:5px 10px; font-size:12px; }
 .dkv-bookstack .dkv-article-heading h1 { font-size:32px; flex-basis:100%; }
 .dkv-article-heading .dkv-save-form { margin:0; order:3; }
 .dkv-article-heading .dkv-article-meta { font-size:13px; }
 .dkv-reader .page-content { font-size:17px; }
 .dkv-reader .page-content h2 { font-size:25px; }
 .dkv-jump-nav { gap:10px 20px; font-size:13px; }
 .dkv-jump-nav>span { flex-basis:100%; }
 .dkv-reader-siblings { gap:12px; }
 .dkv-reader-siblings>div+div { padding-left:12px; }
 .dkv-reader-siblings a { font-size:13px; gap:8px; }
 .dkv-bookstack #header .header-links .links { flex:1 0 100%; justify-content:flex-start; }
 .dkv-bookstack #header .header-links .dropdown-container { margin-left:0; }
}
@media print {
 .dkv-reader-layout { display:block; }
 .dkv-reader-main { padding:0; }
 .dkv-reader .page-content { max-width:none; }
}
.dkv-bookstack #header.dkv-header { grid-template-columns:max-content minmax(160px,385px) max-content; }
.dkv-bookstack .dkv-article-heading { background:transparent; box-shadow:none; border:0; height:auto; min-height:0; padding:0; }
/* Neutralize native absolute header menus at the mobile breakpoint. */
@media(max-width:1000px) {
 .dkv-bookstack #header .header-links { position:static; width:auto; max-width:none; left:auto; right:auto; top:auto; overflow:visible; background:transparent; box-shadow:none; border:0; padding:16px 0 0; margin:0; }
 .dkv-bookstack #header .links { flex-wrap:wrap; width:auto; max-width:100%; padding:0; margin:0; }
 .dkv-bookstack #header .links a { padding-block:6px; padding-inline:0; width:auto; }
 .dkv-bookstack #header .header-links .dropdown-container { margin-left:auto; }
 .dkv-bookstack #header .header-links .user-name[aria-expanded=true]+.dropdown-menu { top:calc(100% + 8px); right:0; left:auto; min-width:190px; }
}
.dkv-bookstack .dkv-saved-list { min-height:0; }
.dkv-bookstack #header.dkv-header,.dkv-bookstack .dkv-site-footer { flex-shrink:0; }
.dkv-pilot-search { max-width:1000px; margin:0 auto; padding:36px 32px; }
.dkv-pilot-search-form { display:flex; align-items:center; gap:12px; margin:24px 0; }
.dkv-pilot-search-form input { width:100%; min-width:0; min-height:44px; flex:1; }
.dkv-pilot-search-form button { margin:0; }
@media(min-width:1001px) {
 .dkv-bookstack.dkv-library .tri-layout-container { grid-template-columns:300px minmax(0,1fr); }
}
@media(min-width:1001px) and (max-width:1240px) { .dkv-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .dkv-pilot-search { padding:24px; } }
.dkv-bookstack .dkv-article-heading { position:static; z-index:auto; color:var(--text-primary); }
