/* Keep the full menu available without opening every section at once. */
.nav-disclosure > summary {
  cursor: pointer;
  list-style: none;
  justify-content: space-between;
  gap: 1rem;
}
.nav-disclosure > summary::-webkit-details-marker { display: none; }
.nav-disclosure > summary::after { content: "+"; font-size: 1.1rem; }
.nav-disclosure[open] > summary::after { content: "−"; }
.nav-disclosure > summary:focus-visible,
.tool-finder > summary:focus-visible,
.tool-finder-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.nav-disclosure .nav-substack { margin-bottom: .65rem; }
.tool-finder { position: relative; }
.tool-finder > summary { cursor: pointer; list-style: none; white-space: nowrap; }
.tool-finder > summary::-webkit-details-marker { display: none; }
.tool-finder-panel {
  position: absolute;
  right: 0;
  top: calc(100% + .75rem);
  width: min(24rem, calc(100vw - 2.5rem));
  padding: 1rem;
  background: var(--surface);
  border: 1px solid var(--edge-strong);
  border-radius: var(--radius);
  box-shadow: 0 12px 32px rgb(0 0 0 / .35);
}
.tool-finder-panel > label { display: block; margin-bottom: .5rem; font-weight: 600; }
.tool-finder-results { max-height: min(60vh, 30rem); overflow-y: auto; margin-top: .75rem; }
.tool-finder-heading { font-size: .75rem; color: var(--ink-muted); margin: .9rem .5rem .25rem; }
.tool-finder-link { display: block; padding: .6rem .5rem; border-radius: .25rem; }
.tool-finder-link:hover { background: var(--surface-2); color: var(--accent); }
.tool-finder [hidden] { display: none; }
@media (max-width: 767px) {
  .tool-finder-panel { position: fixed; left: 1.25rem; right: 1.25rem; top: 4.5rem; width: auto; }
}
