@media screen {
/* Shared geometry for the home and category headers. Keep page-specific
   colors in their own stylesheets; reserve control space before JS loads. */
nav.nav, nav.hub-nav {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 192px auto;
  align-items: center;
  gap: 16px;
  min-height: 74px;
  padding: 16px 22px;
  line-height: 1.2;
}
nav.hub-nav { grid-template-columns: minmax(0, 1fr) 192px; }
nav.nav .nav-left, nav.hub-nav .hub-nav-left {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 28px;
  min-width: 0;
  min-height: 40px;
}
nav.nav .logo, nav.hub-nav .hub-logo { flex-shrink: 0; white-space: nowrap; }
nav.nav .logo img, nav.hub-nav .hub-logo img { width: 28px; height: 28px; }
nav.nav .wordmark, nav.hub-nav .wordmark { font-size: 16px; line-height: 20px; }
nav.nav .nav-links, nav.hub-nav .hub-nav-links {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  min-width: 0;
}
nav.nav .nav-links a, nav.hub-nav .hub-nav-links a {
  flex-shrink: 0;
  padding: 7px 12px;
  font-size: 12.5px;
  line-height: 18px;
  white-space: nowrap;
}
nav.nav .gs-trigger, nav.hub-nav .hub-search {
  grid-column: 2;
  box-sizing: border-box;
  width: 192px;
  min-width: 0;
  height: 36px;
  margin: 0;
  line-height: 18px;
}
nav.nav .gs-trigger { white-space: nowrap; }
nav.nav .nav-meta { white-space: nowrap; line-height: 18px; }

/* Status copy varies in length. Remove it before it can squeeze the links. */
@media (max-width: 1300px) {
  nav.nav { grid-template-columns: minmax(0, 1fr) 192px; }
  nav.nav .nav-meta { display: none; }
}
@media (max-width: 1050px) {
  nav.nav, nav.hub-nav {
    grid-template-columns: minmax(0, 1fr) 192px;
    grid-template-rows: 36px 32px;
    gap: 12px;
  }
  nav.nav .nav-left, nav.hub-nav .hub-nav-left { display: contents; }
  nav.nav .logo, nav.hub-nav .hub-logo { grid-column: 1; grid-row: 1; }
  nav.nav .gs-trigger, nav.hub-nav .hub-search { grid-row: 1; }
  nav.nav .nav-links, nav.hub-nav .hub-nav-links {
    grid-column: 1 / -1;
    grid-row: 2;
    overflow-x: auto;
    scrollbar-width: none;
  }
  nav.nav .nav-links::-webkit-scrollbar, nav.hub-nav .hub-nav-links::-webkit-scrollbar { display: none; }
}
@media (max-width: 700px) {
  nav.nav, nav.hub-nav {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 28px 32px 36px;
    gap: 10px;
    padding: 14px 16px;
    margin-top: 18px;
  }
  .hub-shell { padding-top: 0; }
  nav.nav .gs-trigger, nav.hub-nav .hub-search { grid-column: 1; grid-row: 3; width: 100%; }
  nav.nav .gs-trigger .gs-t-label, nav.nav .gs-trigger .gs-t-kbd { display: inline; }
}
}
