/* Shared contents navigation, using the approved Summarizer rail. */
.prompt-page-nav { position: sticky; top: 100px; z-index: 45; width: fit-content; height: 40px; margin: 32px 0 -72px; color: var(--clay-ink); font: 400 13px/1.5 var(--sans); }
.prompt-page-nav[hidden], .prompt-page-nav__items[hidden] { display: none; }
.prompt-page-nav__title { display: none; }
.prompt-page-nav__toggle { display: flex; height: 40px; align-items: center; gap: 16px; padding: 0 14px; border: 1px solid #ccd4df; border-radius: 10px; background: var(--bg); cursor: pointer; }
.prompt-page-nav__toggle svg { fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform 160ms ease; }
.prompt-page-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.prompt-page-nav__items { position: absolute; top: 48px; left: 0; width: 224px; max-height: calc(100dvh - 172px); overflow-y: auto; margin: 0; padding: 12px; border: 1px solid #ccd4df; border-radius: 12px; background: var(--bg); box-shadow: 0 12px 28px rgba(46, 62, 84, .1); list-style: none; }
.prompt-page-nav__items button { position: relative; display: block; width: 100%; min-height: 40px; padding: 8px 12px 8px 16px; border-radius: 5px; background: transparent; color: var(--text-muted); text-align: left; cursor: pointer; }
.prompt-page-nav__items button:hover { color: var(--clay-ink); background: rgba(255, 255, 255, .45); }
.prompt-page-nav__items button[aria-current="location"] { color: var(--clay-ink); font-weight: 600; }
.prompt-page-nav__items button[aria-current="location"]::before { content: ""; position: absolute; left: 3px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: currentColor; transform: translateY(-50%); }
.prompt-page-nav button:focus-visible { outline: 2px solid var(--clay-ink); outline-offset: 3px; }
.prompt-scroll-target { scroll-margin-top: 160px; }
@media (min-width: 1440px) {
  .prompt-page-nav { position: fixed; top: 152px; left: 12px; width: 100px; height: auto; max-height: calc(100dvh - 176px); overflow-y: auto; margin: 0; font-size: 12px; }
  .prompt-page-nav__title { display: block; margin: 0 0 16px 12px; color: var(--text-muted); font-weight: 500; }
  .prompt-page-nav__toggle { display: none; }
  .prompt-page-nav__items { position: static; width: auto; max-height: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .prompt-page-nav__items button { min-height: 36px; padding: 8px 0 8px 12px; }
  .prompt-scroll-target { scroll-margin-top: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .prompt-page-nav__toggle svg { transition: none; }
}

/* Keep desktop contents quiet until the reader points to or focuses them. */
@media (min-width: 1440px) and (hover: hover) and (pointer: fine) {
 .prompt-page-nav { width: 48px; overflow-x: hidden; scrollbar-width: none; }
 .prompt-page-nav:is(:hover, :focus-within) { width: 172px; background: var(--bg); }
 .prompt-page-nav__title { width: 160px; margin: 0 0 12px 12px; opacity: 0; white-space: nowrap; transition: opacity 140ms ease; }
 .prompt-page-nav__items button { height: 28px; min-height: 28px; padding: 0 12px; white-space: nowrap; }
 .prompt-page-nav__items button:focus-visible { outline-offset: -2px; }
 .prompt-page-nav__label { display: block; opacity: 0; transform: translateX(-4px); transition: opacity 140ms ease, transform 140ms ease; }
 .prompt-page-nav__items button::before,
 .prompt-page-nav__items button[aria-current="location"]::before { content: ''; position: absolute; left: 12px; top: 50%; width: 24px; height: 2px; border-radius: 0; background: var(--text-muted); opacity: .45; transform: translateY(-50%); }
 .prompt-page-nav__items button[aria-current="location"]::before { background: var(--clay-ink); opacity: 1; }
 .prompt-page-nav:is(:hover, :focus-within) :is(.prompt-page-nav__title, .prompt-page-nav__label) { opacity: 1; transform: none; }
 .prompt-page-nav:is(:hover, :focus-within) .prompt-page-nav__items button::before { opacity: 0; }
 .prompt-page-nav:is(:hover, :focus-within) .prompt-page-nav__items button[aria-current="location"]::before { left: 3px; width: 4px; height: 4px; border-radius: 50%; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
 :is(.prompt-page-nav__label, .prompt-page-nav__title) { transition: none; }
}
