/* A reading aid for structured essays. The article's own measure stays intact. */
.essay-navigation {
  margin: 2rem 0 2.5rem;
  color: var(--text-sec);
  font: 400 12px/1.55 var(--sans);
  letter-spacing: 0;
}

.essay-navigation details {
  border-block: 1px solid var(--border);
  padding: 0;
  font: inherit;
}

.essay-navigation summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
  color: var(--text);
}

.essay-navigation summary::-webkit-details-marker { display: none; }
.essay-navigation summary::after {
  content: '+';
  margin-left: auto;
  color: var(--accent);
  font: 400 20px/1 var(--serif);
}
.essay-navigation details[open] > summary::after { content: '−'; }
.essay-navigation__count { color: var(--text-sec); font-size: 11px; }
.essay-navigation__label { display: none; }
.essay-navigation ol { list-style: none; margin: 0; padding: 0 0 14px; }
.essay-navigation li { margin: 0; padding: 0; }
.essay-navigation li[hidden] { display: none; }
.essay-navigation a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
  padding: 10px 0;
  min-height: 44px;
  color: var(--text-sec);
  text-decoration: none;
  text-wrap: pretty;
  transition: color .18s ease;
}
.essay-navigation__number {
  color: var(--text-sec);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  opacity: .7;
}
.essay-navigation a:hover,
.essay-navigation a[aria-current="location"] { color: var(--text); }
.essay-navigation a[aria-current="location"] .essay-navigation__number { color: var(--accent); opacity: 1; }
.essay-navigation :where(a, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

/* The rail is enabled only when JS confirms a real, empty left margin. Its
   position clears the right-side watermark art on the investment essays. */
.essay-navigation--rail {
  position: fixed;
  z-index: 5;
  top: var(--essay-rail-top);
  left: var(--essay-rail-left);
  width: 188px;
  max-height: calc(100svh - var(--essay-rail-top) - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  margin: 0;
  padding: 0 8px 4px 0;
  font-size: 11px;
}
.essay-navigation--rail details { border: 0; }
.essay-navigation--rail summary { display: none; }
.essay-navigation--rail .essay-navigation__label {
  display: block;
  margin: 0 0 16px;
  font: 400 10px/1.6 var(--sans);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--text-sec);
}
.essay-navigation--rail ol { padding: 0; border-left: 1px solid var(--border); }
.essay-navigation--rail a {
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  min-height: 40px;
  padding: 9px 0 9px 14px;
  border-left: 1px solid transparent;
  margin-left: -1px;
}
.essay-navigation--rail a[aria-current="location"] { border-left-color: var(--accent); }
.essay-navigation--rail .essay-navigation__number { font-size: 9px; }

body .article-container [data-essay-navigation-target] { scroll-margin-top: var(--essay-navigation-offset, 112px); }
.models-toc[data-essay-navigation-replaced] { display: none; }

@media (prefers-reduced-motion: reduce) {
  html.essay-navigation-enabled { scroll-behavior: auto; }
  .essay-navigation a { transition: none; }
}

@media print {
  .essay-navigation { display: none !important; }
  .models-toc[data-essay-navigation-replaced] { display: block; }
}
