/* A bounded disclosure list: a height limit must scroll, never create columns. */
.top .nav-menu > nav {
  flex-flow: column nowrap;
  align-items: stretch;
  align-content: normal;
  gap: 0;
  min-width: 0;
  max-width: calc(100vw - 32px);
  max-height: min(75vh, calc(100vh - 100px));
  max-height: min(75dvh, calc(100dvh - 100px));
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.top .nav-menu > nav > * {
  flex: 0 0 auto;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.top .nav-menu > nav > a,
.top .nav-menu > nav .nav-link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 4px;
  line-height: 1.5;
}
.top .nav-menu > nav a:focus-visible,
.top .nav-menu > nav button:focus-visible {
  outline-offset: -2px;
}
.top .nav-menu > nav > form { padding: 0; }
@media (max-width: 420px) {
  .top .nav { gap: 8px; }
  .top .wordmark { gap: 6px; font-size: 15px; min-width: 0; }
  .top .brand-symbol { width: 28px; height: 28px; flex: 0 0 28px; }
  .top .theme-control select { width: 52px; max-width: 52px; }
  .top .nav-menu { flex: 0 0 auto; }
  .top .nav-menu > summary { gap: 4px; }
  .top .nav-menu > summary span { margin-left: 3px; }
}
