/* Shared navigation: complements standard.css; does not replace the brand or wallet. */
.site-header { position: relative; }
.site-header .site-nav.swagball-nav {
  min-width: 0; display: flex; justify-content: center; align-items: center;
  gap: clamp(12px, 1.7vw, 23px); white-space: nowrap;
  font-size: 12px; line-height: 1.45;
}
.site-header .site-nav.swagball-nav .swagball-nav-link,
.site-header .site-nav.swagball-nav .swagball-nav-more > summary {
  display: inline-flex; align-items: center; min-height: 42px;
  color: var(--muted); font-weight: 600; border-radius: 9px; padding: 0 2px;
  cursor: pointer; transition: color .15s ease;
}
.site-header .site-nav.swagball-nav .swagball-nav-link:hover,
.site-header .site-nav.swagball-nav .swagball-nav-more > summary:hover,
.site-header .site-nav.swagball-nav .swagball-nav-link[aria-current="page"],
.site-header .site-nav.swagball-nav .swagball-nav-more.is-current > summary {
  color: var(--text);
}
.site-header .site-nav.swagball-nav .swagball-nav-link[aria-current="page"],
.site-header .site-nav.swagball-nav .swagball-nav-more.is-current > summary {
  box-shadow: inset 0 -2px var(--accent);
}
.site-header .site-nav.swagball-nav .swagball-nav-more { position: relative; }
.site-header .site-nav.swagball-nav .swagball-nav-more > summary { list-style: none; gap: 7px; }
.site-header .site-nav.swagball-nav .swagball-nav-more > summary::-webkit-details-marker { display: none; }
.site-header .site-nav.swagball-nav .swagball-nav-more > summary::after {
  content: ""; width: 6px; height: 6px; margin-top: -4px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); transition: transform .15s ease;
}
.site-header .site-nav.swagball-nav .swagball-nav-more[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.site-header .site-nav.swagball-nav .swagball-nav-submenu {
  position: absolute; z-index: 500; top: calc(100% + 6px); left: -14px;
  display: grid; min-width: 185px; padding: 7px;
  background: rgba(16, 21, 17, .98); border: 1px solid var(--line-strong);
  border-radius: 14px; box-shadow: var(--shadow); backdrop-filter: blur(18px);
}
.site-header .site-nav.swagball-nav .swagball-nav-submenu a {
  display: block; border-radius: 8px; padding: 11px 12px; color: var(--muted);
  font-size: 12px; text-decoration: none;
}
.site-header .site-nav.swagball-nav .swagball-nav-submenu a:hover,
.site-header .site-nav.swagball-nav .swagball-nav-submenu a[aria-current="page"] {
  color: var(--text); background: rgba(255,255,255,.065);
}
.site-header .site-nav.swagball-nav a:focus-visible,
.site-header .site-nav.swagball-nav summary:focus-visible,
.site-header .swagball-nav-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.site-header .header-actions { justify-self: end; }
.site-header .swagball-nav-toggle { display: none; }
@media (max-width: 1120px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; }
  .site-header .header-actions { grid-column: 2; min-width: 0; }
  .site-header .swagball-nav-toggle {
    width: 42px; height: 42px; flex: 0 0 42px; padding: 0; cursor: pointer;
    display: inline-grid; place-items: center;
    color: var(--text); border: 1px solid var(--line-strong);
    border-radius: 12px; background: rgba(255,255,255,.055);
  }
  .site-header .swagball-nav-toggle-bars,
  .site-header .swagball-nav-toggle-bars::before,
  .site-header .swagball-nav-toggle-bars::after {
    display: block; position: relative; width: 17px; height: 2px;
    border-radius: 2px; background: currentColor; content: "";
  }
  .site-header .swagball-nav-toggle-bars::before { position: absolute; top: -6px; }
  .site-header .swagball-nav-toggle-bars::after { position: absolute; top: 6px; }
  .site-header .site-nav.swagball-nav {
    display: none; position: absolute; z-index: 490; top: calc(100% + 6px);
    right: 0; left: 0; width: 100%; max-height: min(72vh, 580px);
    overflow-y: auto; overscroll-behavior: contain;
    padding: 12px; background: rgba(15, 19, 16, .985);
    border: 1px solid var(--line-strong); border-radius: 16px;
    box-shadow: var(--shadow); backdrop-filter: blur(20px);
    flex-direction: column; align-items: stretch; gap: 2px;
  }
  .site-header.swagball-nav-open .site-nav.swagball-nav { display: flex; }
  .site-header .site-nav.swagball-nav .swagball-nav-link,
  .site-header .site-nav.swagball-nav .swagball-nav-more > summary {
    width: 100%; min-height: 44px; padding: 11px 12px;
  }
  .site-header .site-nav.swagball-nav .swagball-nav-more > summary { justify-content: space-between; }
  .site-header .site-nav.swagball-nav .swagball-nav-submenu {
    position: static; min-width: 0; margin: 0 0 7px 12px;
    padding: 4px 0 4px 12px; border: 0; border-left: 1px solid var(--line-strong);
    border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none;
  }
}
@media (max-width: 540px) {
  .site-header .header-actions { gap: 7px; }
  .site-header .header-actions .button { max-width: min(36vw, 152px); overflow: hidden; text-overflow: ellipsis; padding-inline: 10px; }
  .site-header .swagball-nav-toggle { width: 40px; height: 40px; flex-basis: 40px; }
  .site-header .brand-copy strong { font-size: 12px; letter-spacing: .07em; }
  .site-header .brand-mark { flex: 0 0 auto; }
}

/* Global landing and governance pages use the same menu without impersonating a
   network-local site. Preserve their existing call-to-action as a header action. */
html[data-site-context="global"] .site-header {
  --line-strong: var(--line2, rgba(255,255,255,.18));
}
html[data-site-context="global"] .site-header .header-actions {
  display: flex; align-items: center; gap: 11px; min-width: 0;
}
@media (max-width: 540px) {
  html[data-site-context="global"] .site-header .header-actions > .button { display: none; }
}
