/* Book catalog: fixed on wide screens, an accessible drawer on smaller ones. */
.cc-book-navigation { display: flex; flex-direction: column; background: #303438; color: #f5f6f7; font: 400 .875rem/1.4 Inter, Arial, sans-serif; }
.cc-book-navigation-heading { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; min-height: 38px; padding: 0 16px; border-bottom: 1px solid #555b61; box-sizing: border-box; }
.cc-book-navigation-heading > a { color: inherit; font-size: 1rem; font-weight: 700; text-decoration: none; min-height: 38px; display: flex; align-items: center; }
.cc-book-navigation-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #858b91 #303438; padding: 0 8px 18px; }
.cc-book-group { margin: 0; border: 0; }
.cc-book-group summary { display: flex; align-items: baseline; gap: 7px; list-style: none; min-height: 36px; padding: 7px 8px; box-sizing: border-box; font-weight: 650; cursor: pointer; }
.cc-book-group summary::-webkit-details-marker { display: none; }
.cc-book-group summary::after { content: ''; flex-shrink: 0; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); margin: 4px 2px 0 auto; align-self: flex-start; }
.cc-book-group[open] > summary::after { transform: rotate(45deg); }
.cc-book-group-number { color: #bcc2c8; font-weight: 400; font-size: .75rem; min-width: 18px; }
.cc-book-topics { list-style: none; margin: 0 0 8px; padding: 0 0 0 27px; }
.cc-book-topics > li { margin: 0; padding: 0; }
.cc-book-topics > li > :is(a,span) { display: block; padding: 6px 9px; box-sizing: border-box; min-height: 32px; overflow-wrap: anywhere; }
.cc-book-link { color: #f5f6f7; text-decoration: none; border-left: 2px solid transparent; }
.cc-book-link:hover, .cc-book-group summary:hover { background: #41474d; }
.cc-book-link[aria-current='page'] { background: #4b5157; border-left-color: #f5f6f7; font-weight: 700; }
.cc-book-topics .chapter-upcoming { color: #bcc2c8; }
.cc-book-navigation :is(a,button,summary):focus-visible, .cc-book-menu-toggle:focus-visible { outline: 2px solid #f3c1c6; outline-offset: -2px; }
.cc-book-navigation .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cc-book-navigation-footer:empty { display: none; }
.cc-book-navigation-footer { flex-shrink: 0; padding: 8px 16px max(8px, env(safe-area-inset-bottom)); border-top: 1px solid #555b61; }
body[data-cc-section='book'] .chapter-quick-nav { position: static; width: fit-content; margin: 16px auto; box-shadow: none; backdrop-filter: none; }
.cc-book-navigation .chapter-quick-nav { background: transparent; color: inherit; border-color: #657077; }
.cc-book-navigation .chapter-quick-nav a { color: inherit; flex: 1; justify-content: center; }
.cc-book-brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.cc-book-menu-toggle, .cc-book-menu-close { font: 600 .875rem/1.3 Inter, Arial, sans-serif; color: inherit; background: transparent; border: 1px solid #657077; border-radius: 3px; min-height: 44px; padding: 8px 12px; cursor: pointer; }
.cc-book-menu-toggle[hidden], .cc-book-menu-close { display: none; }
.cc-book-backdrop { display: none; }
@media (min-width:1280px) { .cc-book-menu-toggle { display:none; } }
@media (max-width: 1279px) {
  .cc-book-navigation { display:none; }
  .cc-book-menu-toggle:not([hidden]), .cc-book-menu-close { display: inline-flex; align-items: center; justify-content: center; }
  .cc-book-menu-open .cc-book-navigation { display: flex; }
  .cc-book-menu-open { overflow: hidden; }
  .cc-book-backdrop:not([hidden]) { display: block; background: #11171980; }
  .cc-book-group summary, .cc-book-topics > li > :is(a,span) { min-height: 44px; padding-block: 11px; }
}
@media (max-width: 760px) {
  .cc-book-brand { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media print { .cc-book-navigation, .cc-book-menu-toggle, .cc-book-backdrop { display:none !important; } }

body[data-cc-section='book'] .cc-book-navigation .chapter-quick-nav { width:100%; margin:0; }
@media(max-width:1279px) { .cc-book-navigation-heading { min-height:54px; padding-block:4px; } }

/* Keep long group names readable when text is enlarged. */
.cc-book-group summary > span:last-child { min-width:0; overflow-wrap:anywhere; }
.cc-book-group-number { flex-shrink:0; }
