/* Shared top navigation: mouse hover, keyboard and touch disclosure. */
.main-nav { overflow: visible; }
.nav-item { position: relative; flex-shrink: 0; }
.main-nav .nav-item > a { display: block; padding-right: 26px; white-space: nowrap; }
.nav-toggle { position: absolute; top: 50%; right: 3px; transform: translateY(-50%); width: 22px; height: 32px; border: 0; padding: 0; background: transparent; color: #526177; cursor: pointer; font-size: 16px; }
.nav-item:has(> a.is-active) > .nav-toggle { color: #fff; }
.nav-toggle:focus-visible { outline: 2px solid #78aef2; border-radius: 4px; }
.nav-dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 228px; max-height: min(440px, 65dvh); overflow-y: auto; padding: 8px; border: 1px solid #dce5f2; border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(26,64,114,.14); z-index: 40; }
.nav-dropdown[hidden] { display: none; }
.main-nav .nav-dropdown a { display: block; padding: 11px 12px; font-size: 13px; text-align: left; white-space: normal; color: #526177; border-radius: 6px; line-height: 1.5; }
.main-nav .nav-dropdown a:hover, .main-nav .nav-dropdown a:focus-visible { background: #eef5ff; color: #0b63d8; }
@media (max-width: 1050px) {
  .main-nav { overflow: visible; flex-wrap: wrap; gap: 4px 10px; }
  .nav-item { position: static; display: flex; align-items: center; }
  .main-nav .nav-item > a { padding-right: 4px; }
  .nav-toggle { position: static; transform: none; width: 22px; height: 36px; }
  .nav-item:has(> a.is-active) > .nav-toggle { color: #526177; }
  .nav-dropdown { top: 100%; left: 0; right: 0; width: auto; transform: none; max-height: 55dvh; }
}
@media (max-width: 640px) {
  .main-nav { justify-content: flex-start; gap: 2px 3px; }
  .main-nav .nav-item > a { padding-left: 6px; padding-right: 2px; }
  .nav-toggle { width: 18px; }
  /* Sidebar categories scroll with the page on phones. */
  .guide-sidebar.persistent-sidebar, .standards-sidebar.persistent-sidebar,
  .category-panel.persistent-sidebar, .tool-sidebar.persistent-sidebar,
  .support-layout > .support-sidebar { position: static; top: auto; max-height: none; overflow: visible; overscroll-behavior: auto; }
  .support-layout { grid-template-columns: minmax(0, 1fr); }
  .support-layout > .support-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dictionary-layout { grid-template-columns: minmax(0, 1fr); }
  .category-panel, .result-panel { min-width: 0; }
  .category-panel .category-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .category-panel .category-list button { min-width: 0; }
  .term-card { overflow-wrap: anywhere; }
}
