/* A compact site navigation above the original, self-contained chapter layout. */
:root { --zx-nav-height: 54px; }
html { scroll-padding-top: 120px; }
body[data-course] { padding-top: var(--zx-nav-height); }
.zx-reader-nav { position: fixed; inset: 0 0 auto; height: var(--zx-nav-height); z-index: 100;
  display: flex; align-items: center; gap: 18px; padding: 8px 22px; background: #faf9f5;
  color: #183b36; border-bottom: 1px solid #d9e1d6; font: 13px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
.zx-reader-nav a { text-decoration: none; color: #244c42; white-space: nowrap; }
.zx-reader-nav a:hover { text-decoration: underline; }
.zx-reader-home { font-weight: 700; letter-spacing: .05em; }
.zx-reader-course { border-left: 1px solid #cdd6ca; padding-left: 18px; }
.zx-reader-nav select { min-width: 0; max-width: 390px; flex: 1; background: white; color: #183b36;
  height: 36px; border: 1px solid #cdd6ca; border-radius: 6px; padding: 0 10px; font: inherit; }
.zx-reader-pages { display: flex; gap: 8px; margin-left: auto; white-space: nowrap; }
.zx-reader-pages > * { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 8px; }
.zx-disabled { color: #9aa69d; }
.zx-outline-toggle { display: none; }
.zx-reader-nav :focus-visible { outline: 3px solid #a3834c; outline-offset: 2px; }
body[data-course="calculus"] .topbar { top: var(--zx-nav-height); }
body[data-course="calculus"] .toc { top: calc(var(--zx-nav-height) + var(--topbar)); }
body[data-course="precalculus"] .toc { top: calc(var(--zx-nav-height) + 16px); max-height: calc(100vh - var(--zx-nav-height) - 32px); }
body[data-course="precalculus"] .sidebar { top: var(--zx-nav-height); height: calc(100vh - var(--zx-nav-height)); }
body[data-course="precalculus"] .page-wrap { grid-template-columns: var(--sidebar-w) minmax(0,1fr); }
body[data-course="precalculus"] main, body[data-course="precalculus"] .content { min-width: 0; }
body[data-course="precalculus"] mjx-container { display: inline-block; max-width: 100%; overflow-x: auto; overflow-y: hidden; vertical-align: middle; }
body[data-course="precalculus"] mjx-container[display="true"] { display: block !important; }
body[data-course="precalculus"] .zx-table-scroll { max-width: 100%; min-width: 0; overflow-x: auto; margin-block: 14px; }
body[data-course="precalculus"] .zx-table-scroll > table { margin-block: 0; }
body[data-course="precalculus"] .zh { white-space: normal; }
@media (max-width: 940px) {
  .zx-reader-course, .zx-reader-index { display: none; }
  .zx-reader-nav { gap: 9px; padding-inline: 12px; }
  .zx-reader-nav select { max-width: none; }
  body[data-course="precalculus"] .page-wrap, body[data-course="precalculus"] .wrap { display: block; }
  body[data-course="precalculus"] .content { width: 100%; max-width: none; padding: 24px 18px; }
  body[data-course="precalculus"] .toc, body[data-course="precalculus"] .sidebar { display: none; }
  body[data-course="precalculus"].zx-outline-open .toc, body[data-course="precalculus"].zx-outline-open .sidebar {
    display: block; position: fixed !important; z-index: 90; top: var(--zx-nav-height); left: 0; bottom: 0;
    width: min(340px, 90vw); height: calc(100vh - var(--zx-nav-height)); max-height: calc(100vh - var(--zx-nav-height)) !important;
    overflow-y: auto; padding: 20px 16px !important; box-shadow: 8px 0 30px #183b3633;
  }
  body[data-course="precalculus"].zx-outline-open .toc { background: #fff; }
  .zx-outline-toggle { display: inline-flex; justify-content: center; align-items: center; width: 36px; height: 36px;
    flex-shrink: 0; background: transparent; border: 1px solid #cdd6ca; border-radius: 6px; color: #244c42; font-size: 18px; }
}
@media (max-width: 580px) {
  .zx-reader-pages span:not(.zx-disabled), .zx-disabled > span, .zx-reader-home span { display: none; }
  .zx-reader-pages { gap: 2px; }
  .zx-reader-pages > * { min-width: 30px; padding: 0 5px; }
  .zx-reader-nav { gap: 6px; padding-inline: 10px; }
  .zx-reader-nav select { padding-inline: 6px; font-size: 12px; }
}
@media print {
  .zx-reader-nav { display: none !important; }
  body[data-course] { padding: 0; }
  body[data-course="precalculus"] .toc, body[data-course="precalculus"] .sidebar { display: none !important; }
  body[data-course="precalculus"] .page-wrap, body[data-course="precalculus"] .wrap { display: block; padding: 0; }
  body[data-course="precalculus"] .content { max-width: none; width: 100%; padding: 0; }
}

/* Single merged bar on calculus chapters: the navy topbar folds into the reader nav. */
body.zx-single-bar .toc { top: var(--zx-nav-height); }
body.zx-single-bar main { padding-top: 26px; }
.zx-reader-nav .tocbtn { display: none; width: 36px; height: 36px; flex-shrink: 0; padding: 0;
  background: transparent; border: 1px solid #cdd6ca; border-radius: 6px; color: #244c42;
  font-size: 18px; line-height: 1; cursor: pointer; }
.zx-reader-nav label.teacher { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  color: #244c42; cursor: pointer; font-size: 12px; }
.zx-reader-nav label.teacher input { accent-color: #244c42; }
@media (max-width: 960px) {
  .zx-reader-nav .tocbtn { display: inline-flex; align-items: center; justify-content: center; }
  body.zx-single-bar main { padding-top: 14px; }
}
@media (max-width: 580px) {
  .zx-reader-nav label.teacher .zx-teacher-text { display: none; }
}
