:root {
  --acolyte-nav-ink: #0b0f14;
  --acolyte-nav-paper: #f5f1ea;
  --acolyte-nav-terra: #e46444;
  --acolyte-nav-highlight: rgba(228, 100, 68, .08);
  --acolyte-nav-brass: #b89a5b;
  --acolyte-nav-stone: #6d6d69;
  --acolyte-nav-line: rgba(11, 15, 20, .17);
}

.acolyte-global-header {
  position: sticky;
  z-index: 100;
  top: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 76px;
  padding: 14px clamp(18px, 4vw, 60px);
  border-bottom: 1px solid var(--acolyte-nav-line);
  background: rgba(245, 241, 234, .97);
  color: var(--acolyte-nav-ink);
}
/* The home can open full-screen module drawers above its original topbar. */
.acolyte-global-header.topbar { z-index: 12; }
.acolyte-global-brand { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; color: inherit; text-decoration: none; font: 800 14px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .12em; }
.acolyte-global-brand small { margin-left: 10px; color: var(--acolyte-nav-stone); font: 9px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .08em; font-weight: 400; }
.acolyte-global-brand-mark { display: block; width: 26px; height: 26px; flex: 0 0 26px; object-fit: contain; }
.acolyte-global-header .brand-mark { display: block; width: 26px; height: 26px; flex: 0 0 26px; border-radius: 0; background: transparent; object-fit: contain; }

.acolyte-global-header .site-nav { display: flex; align-items: center; gap: 4px; min-width: 0; margin-left: auto; }
.acolyte-global-header .site-nav-group { position: relative; }
.acolyte-global-header .site-nav-home,
.acolyte-global-header .site-nav-group > summary { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 8px 10px; border: 1px solid transparent; color: var(--acolyte-nav-stone); cursor: pointer; font: 10px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; list-style: none; }
.acolyte-global-header .site-nav-group > summary::-webkit-details-marker { display: none; }
.acolyte-global-header .site-nav-group > summary span { color: var(--acolyte-nav-terra); font-size: 12px; line-height: 1; transition: transform .2s ease; }
.acolyte-global-header .site-nav-group[open] > summary,
.acolyte-global-header .site-nav-home:hover,
.acolyte-global-header .site-nav-group > summary:hover { border-color: var(--acolyte-nav-terra); background: var(--acolyte-nav-ink); color: var(--acolyte-nav-paper); }
.acolyte-global-header .site-nav-group[open] > summary span { transform: rotate(180deg); }
.acolyte-global-header .site-nav-panel { position: absolute; z-index: 3; top: calc(100% + 10px); right: 0; left: auto; display: grid; grid-template-columns: 210px minmax(250px, 1fr); gap: 18px; width: min(560px, calc(100vw - 28px)); padding: 20px; border: 1px solid var(--acolyte-nav-line); background: var(--acolyte-nav-paper); box-shadow: 9px 9px 0 rgba(184, 154, 91, .55); }
.acolyte-global-header .site-nav-panel-wide { width: min(850px, calc(100vw - 28px)); grid-template-columns: 228px minmax(0, 1fr); }
.acolyte-global-header .site-nav-panel-heading { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 3px 19px 3px 0; border-right: 1px solid var(--acolyte-nav-line); }
.acolyte-global-header .site-nav-panel-heading p { margin: 0; color: var(--acolyte-nav-terra); font: 8px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .1em; }
.acolyte-global-header .site-nav-panel-heading strong { color: var(--acolyte-nav-ink); font: 400 31px/.92 Georgia, 'Times New Roman', serif; letter-spacing: -.055em; }
.acolyte-global-header .site-nav-panel-heading span { color: var(--acolyte-nav-stone); font: 12px/1.35 Arial, Helvetica, sans-serif; }
.acolyte-global-header .site-nav-links { display: grid; gap: 0; min-width: 0; }
.acolyte-global-header .site-nav-link { display: grid; gap: 5px; min-width: 0; padding: 10px; border: 0; border-left: 2px solid transparent; color: var(--acolyte-nav-ink); letter-spacing: normal; text-decoration: none; text-transform: none; }
.acolyte-global-header .site-nav-link:hover,
.acolyte-global-header .site-nav-link[aria-current='page'] { border-left-color: var(--acolyte-nav-terra); background: var(--acolyte-nav-highlight); }
.acolyte-global-header .site-nav-link small { overflow: hidden; color: var(--acolyte-nav-brass); font: 8px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.acolyte-global-header .site-nav-link b { font: 600 15px/1.05 Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
.acolyte-global-header .site-nav-link span { color: var(--acolyte-nav-stone); font: 10px/1.3 Arial, Helvetica, sans-serif; }
.acolyte-global-header .site-nav-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; min-width: 0; }
.acolyte-global-header .site-nav-subgroup { display: grid; align-content: start; gap: 3px; min-width: 0; }
.acolyte-global-header .site-nav-subgroup h3 { margin: 2px 0 9px; padding-bottom: 9px; border-bottom: 1px solid var(--acolyte-nav-line); color: var(--acolyte-nav-terra); font: 8px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); letter-spacing: .07em; text-transform: uppercase; }
.acolyte-global-header .site-nav-compact-link { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 3px 7px; padding: 8px 5px; border: 0; border-left: 2px solid transparent; color: var(--acolyte-nav-ink); letter-spacing: normal; text-decoration: none; text-transform: none; }
.acolyte-global-header .site-nav-compact-link:hover,
.acolyte-global-header .site-nav-compact-link[aria-current='page'] { border-left-color: var(--acolyte-nav-terra); background: var(--acolyte-nav-highlight); }
.acolyte-global-header .site-nav-compact-link b { grid-row: span 2; color: var(--acolyte-nav-brass); font: 9px var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); }
.acolyte-global-header .site-nav-compact-link span { overflow: hidden; font: 600 14px/1.1 Arial, Helvetica, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.acolyte-global-header .site-nav-compact-link small { grid-column: 2; color: var(--acolyte-nav-stone); font: 10px/1.25 var(--acolyte-nav-mono, 'SFMono-Regular', Consolas, monospace); }
.acolyte-global-header .site-nav-columns-single { grid-template-columns: minmax(0, 1fr); }

/* Keep the page-specific chrome as a secondary control layer. */
.acolyte-global-nav-page .explore-topbar,
.acolyte-global-nav-page .ux-topbar,
.acolyte-global-nav-page .r2-topbar { display: none !important; }

/* Tutorial keeps its compact reading controls (previous / next / contents)
   as a secondary bar; the identity and duplicate section links move to the
   shared header above it. */
.acolyte-global-nav-page .tuto-topbar { grid-template-columns: minmax(0, 1fr) auto; min-height: 48px; padding-top: 8px; padding-bottom: 8px; }
.acolyte-global-nav-page .tuto-brand,
.acolyte-global-nav-page .tuto-breadcrumb { display: none !important; }
.acolyte-global-nav-page .tuto-nav { grid-column: 1; grid-row: 1; display: flex; justify-content: flex-start; }
.acolyte-global-nav-page .tuto-nav a { display: none; }
.acolyte-global-nav-page .tuto-nav-arrows { grid-column: 2; grid-row: 1; padding-left: 0; border-left: 0; }

@media (max-width: 760px) {
  .acolyte-global-header { min-height: 156px; align-content: center; flex-wrap: wrap; row-gap: 8px; padding: 11px 16px; }
  .acolyte-global-brand { font-size: 11px; }
  .acolyte-global-brand small { display: none; }
  .acolyte-global-brand-mark { width: 22px; height: 22px; font-size: 12px; }
  .acolyte-global-header .site-nav { order: 3; width: 100%; align-items: stretch; flex-wrap: wrap; gap: 4px; }
  .acolyte-global-header .site-nav-home,
  .acolyte-global-header .site-nav-group { flex: 1 1 calc(25% - 4px); min-width: 0; }
  .acolyte-global-header .site-nav-home,
  .acolyte-global-header .site-nav-group > summary { justify-content: center; width: 100%; min-height: 30px; padding: 6px 4px; font-size: 9px; }
  .acolyte-global-header .site-nav-group[open] { flex-basis: 100%; }
  .acolyte-global-header .site-nav-panel,
  .acolyte-global-header .site-nav-panel-wide { position: static; right: auto; left: auto; grid-template-columns: 1fr; width: 100%; margin-top: 5px; box-shadow: none; }
  .acolyte-global-header .site-nav-panel-heading { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--acolyte-nav-line); }
  .acolyte-global-header .site-nav-panel-heading strong { font-size: 22px; }
  .acolyte-global-header .site-nav-columns { grid-template-columns: 1fr; gap: 12px; }
}
