/* The same navigation lives in the desktop shelf bar and the mobile dialog. */
.mega-header[id],.subcat-header[id],.religion-shelf-label[id]{scroll-margin-top:130px}
.library-nav{--nav-text:#eeece5;--nav-muted:#aab8bf;--nav-accent:#decca8;--nav-border:#374b58;--nav-panel:#192833;--nav-submenu:#1c2e3a;--nav-hover:#2a414f;position:sticky;top:60px;z-index:50;margin:16px 0;padding:5px 12px;border:1px solid var(--nav-border);border-radius:12px;background:linear-gradient(120deg,#1b2c38,#111b23);color:var(--nav-text)}
.library-nav ul{list-style:none;margin:0;padding:0}
.library-nav-list{display:flex;align-items:stretch;gap:4px}
.library-nav-list>li{position:relative;flex-shrink:0}
.library-nav summary,.library-nav-direct{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 16px;border-radius:7px;font-size:14px;font-weight:700;line-height:1.5;color:inherit;text-decoration:none;cursor:pointer;list-style:none}
.library-nav summary::-webkit-details-marker{display:none}
.library-nav summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.library-nav details[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.library-nav summary:hover,.library-nav details[open]>summary,.library-nav-direct:hover{background:var(--nav-hover);color:var(--nav-accent)}
.library-nav-panel{position:absolute;top:100%;left:0;width:290px;max-height:var(--nav-available,calc(100dvh - 170px));overflow-y:auto;padding:12px;background:var(--nav-panel);border:1px solid var(--nav-border);border-radius:10px;box-shadow:0 14px 28px #0006}
.library-nav-panel a{display:block;padding:11px 12px;min-height:44px;border-radius:6px;color:var(--nav-text);font-size:14px;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.library-nav-panel a:hover{background:var(--nav-hover);color:var(--nav-accent)}
.library-nav-panel .library-nav-all{margin-bottom:8px;border-bottom:1px solid var(--nav-border);border-radius:0;color:var(--nav-accent);font-weight:700}
.library-nav-label{display:block;padding:10px 12px 2px;font-size:12px;color:var(--nav-muted)}
.library-nav-future{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;color:#a2afb5;font-size:14px;line-height:1.6}
.library-nav-future small{flex:none;font-size:10px;letter-spacing:.03em;border:1px solid var(--nav-border);border-radius:4px;padding:1px 5px}
.library-nav-note{margin:8px 12px 4px;font-size:12px;line-height:1.7;color:var(--nav-muted)}
/* Submenus touch the first panel so the pointer never crosses an empty gap. */
.library-nav-reference{width:var(--learn-panel-width,240px);padding:8px;max-height:none;overflow:visible}
.library-nav-category>summary{justify-content:space-between;font-size:15px;font-weight:600}
@media(min-width:961px){.library-nav details:is(.library-nav-category,.library-nav-branch)>summary::after{transform:rotate(-45deg);margin:0 2px 0 0}}
.library-nav-submenu{position:absolute;left:calc(100% - 1px);top:0;width:var(--learn-panel-width,260px);padding:8px;max-height:calc(100dvh - 170px);overflow-y:auto;background:var(--nav-submenu);border:1px solid var(--nav-border);border-radius:10px;box-shadow:0 14px 28px #0006}
.library-nav[data-enhanced] .library-nav-reference>ul{max-height:calc(var(--nav-available,100dvh - 170px) - 16px);overflow-y:auto}
.library-nav[data-enhanced] .library-nav-submenu{position:fixed;left:var(--submenu-left);top:var(--submenu-top);max-height:var(--submenu-height);z-index:var(--submenu-depth,1)}
.library-nav-submenu a{font-size:15px}
.library-nav-book-subtitle{display:block;margin-top:3px;font-size:12px;line-height:1.65;color:var(--nav-muted);font-weight:400}
/* Every desktop branch opens sideways; mobile keeps native tap disclosures. */
.library-nav-branch>summary{justify-content:space-between;min-height:46px;padding:10px 12px;font-size:14px;font-weight:600}
.library-nav-subheading{padding:8px 12px 6px;font-size:12px;line-height:1.7;font-weight:700;letter-spacing:.08em;color:var(--nav-accent);border-bottom:1px solid var(--nav-border);margin:0 0 4px}
.library-nav-submenu li:not(:first-child)>.library-nav-subheading{margin-top:10px}
.library-nav :is(a,summary):focus-visible,.header .hamburger:focus-visible,.mm-close:focus-visible,.mob-bottom-nav button:focus-visible{outline:2px solid var(--nav-accent,var(--accent2));outline-offset:2px}
.library-nav-slot{display:none}
.mobile-menu{inset:0 0 0 auto;right:0;width:min(360px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:16px 18px 32px;color:var(--text);border:0;border-left:1px solid var(--border);transition:none;overscroll-behavior:contain}
.mobile-menu::backdrop{background:#0009}
.mobile-menu .mm-close{float:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto}
body.library-menu-open{overflow:hidden}
.mob-bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border:0;background:none;color:#8b949e;font:inherit;font-size:10px;cursor:pointer}
.mob-bottom-nav button:hover{color:#f0883e}
@media(max-width:960px){
  .header .hamburger{min-width:44px;min-height:44px}
  .library-nav{position:static;padding:4px 0;background:transparent}
  .library-nav-list{display:block}
  .library-nav-list>li+li{border-top:1px solid var(--nav-border)}
  .library-nav summary,.library-nav-direct{justify-content:space-between;min-height:52px;padding:12px;font-size:16px}
  .library-nav-panel{position:static;width:auto;max-height:none;padding:0 4px 12px;border:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible}
  .library-nav-slot{display:block}
  .library-nav-slot .library-nav{margin:8px 0 20px;border:0}
  .library-nav-slot .library-nav-panel{border-left:2px solid var(--nav-border);margin-left:12px}
  .library-nav-category>summary{font-size:15px}
  .library-nav-branch>summary{min-height:52px;padding:12px 10px;font-size:14px}
  .library-nav summary::after,.library-nav details[open]>summary::after{content:'＋';width:auto;height:auto;border:0;transform:none;margin:0;font-size:18px;font-weight:400}
  .library-nav details[open]>summary::after{content:'−'}
  .library-nav[data-enhanced] .library-nav-reference>ul{max-height:none;overflow:visible}
  .library-nav .library-nav-submenu,.library-nav[data-enhanced] .library-nav-submenu{position:static;left:auto;top:auto;width:auto;max-height:none;padding:4px 0 8px;margin:0 0 8px 10px;border:0;border-left:1px solid var(--nav-border);border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .mobile-menu .mm-section{margin-top:0}
}
/* Every level links to its shelf; the right 44px still toggles its children. */
.library-nav summary.library-nav-linked{position:relative;padding:0;gap:0}
.library-nav summary.library-nav-linked>.library-nav-shelf{display:block;flex:1;min-width:0;margin-right:44px;padding:10px 16px;min-height:46px;border-radius:7px 0 0 7px;font:inherit;color:inherit;text-decoration:none}
.library-nav .library-nav-branch>summary.library-nav-linked>.library-nav-shelf{padding:10px 12px}
.library-nav summary.library-nav-linked::after{position:absolute;right:18px;pointer-events:none}
@media(max-width:960px){
  .library-nav summary.library-nav-linked>.library-nav-shelf,.library-nav .library-nav-branch>summary.library-nav-linked>.library-nav-shelf{min-height:52px;padding:12px}
  .library-nav summary.library-nav-linked::after{right:15px}
}
@media(prefers-reduced-motion:reduce){.mobile-menu{scroll-behavior:auto}}

/* Seven top-level labels fit the shelf column without changing disclosure targets. */
@media(min-width:961px) and (max-width:1250px){
  .library-nav{padding-inline:8px}
  .library-nav-list{gap:2px}
  .library-nav-list>li>details>summary{font-size:12px}
  .library-nav-list>li>details>summary.library-nav-linked>.library-nav-shelf{padding-inline:6px;white-space:nowrap}
  .library-nav-list>li>.library-nav-direct{font-size:12px;padding-inline:6px}
}

/* Keep linked labels and their disclosure area on the same hover surface. */
.library-nav summary.library-nav-linked>.library-nav-shelf:hover{background:transparent;color:inherit}

/* Top-level links and plain disclosures share a height and text center. */
.library-nav-list{--nav-row-height:46px}
.library-nav-list>li>details>summary,.library-nav-list>li>.library-nav-direct{height:var(--nav-row-height);min-height:var(--nav-row-height);padding-block:0;align-items:center}
.library-nav-list>li>details>summary.library-nav-linked>.library-nav-shelf{display:flex;align-items:center;height:100%;min-height:var(--nav-row-height);padding-block:0}

/* Nineteen text links fit in two compact desktop rows. */
.library-nav-list>.library-nav-toc-item{position:static}
.library-nav #nav-toc>summary::after{display:none}
.library-nav .library-nav-toc{left:0;right:0;width:auto;padding:8px}
.library-nav .library-nav-toc>ul{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0 2px}
.library-nav .library-nav-toc a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 3px;font-size:13px;line-height:1.5;white-space:nowrap}
@media(min-width:961px) and (max-width:1250px){
  .library-nav #nav-toc>summary{padding-inline:12px}
  .library-nav .library-nav-toc a{font-size:11px;padding-inline:2px}
}
@media(max-width:960px){
  .library-nav-list{--nav-row-height:52px}
  .library-nav-slot .library-nav .library-nav-toc{margin:0;padding:0 4px 8px;border:0}
  .library-nav .library-nav-toc>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4px}
  .library-nav .library-nav-toc a{justify-content:flex-start;min-height:44px;padding:10px 8px;font-size:14px}
}

/* Grouped book labels wrap while retaining the full disclosure target. */
.library-nav-list>li:has(>details#nav-books){flex:0 1 15em;min-width:0}
.library-nav-list>li>details#nav-books>summary{height:auto;min-height:var(--nav-row-height);padding:8px 12px;overflow-wrap:anywhere}
.library-nav-list>li>details#nav-books>summary::after{flex-shrink:0}
.library-nav-panel .library-nav-direct{display:block;height:auto;font-weight:600}
@media(max-width:960px){
  .library-nav-list>li>details#nav-books>summary{padding:12px}
}
