/* netCoders shared public navigation: loaded last by every public page.
   Change geometry, colours and breakpoints here, not in page-specific files. */
:root {
  --nc-header-width: 1504px;
  --nc-header-height: 68px;
  --nc-header-line: rgba(52,145,235,.62);
  --nc-header-bg: linear-gradient(100deg,rgba(3,12,22,.98),rgba(5,17,29,.96));
}
body > .nav, .topbar {
  position: relative !important; top: auto !important; left: auto !important; right: auto !important;
  z-index: 10020; width: 100%; margin: 0 !important; padding: 8px 26px 10px !important;
  border: 0 !important; background: transparent !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.nav .nav__bar, .topbar .nav-inner {
  box-sizing: border-box !important; display: grid !important;
  grid-template-columns: 154px minmax(0,1fr) 154px !important;
  align-items: center !important; gap: 18px !important;
  width: min(100%,var(--nc-header-width)) !important; max-width: none !important;
  min-height: var(--nc-header-height) !important; height: var(--nc-header-height) !important;
  margin: 0 auto !important; padding: 8px 19px !important;
  border: 1px solid var(--nc-header-line) !important; border-radius: 19px !important;
  background: var(--nc-header-bg) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.23),inset 0 1px 0 rgba(148,208,255,.04) !important;
}
.nav .nav__bar > .brand, .topbar .brand-link {
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  min-width: 0 !important; width: auto !important; margin: 0 !important;
}
.nav .nav__bar .brand__mark, .topbar .brand-logo {
  display: block !important; width: 42px !important; height: 42px !important;
  max-width: 42px !important; object-fit: contain !important;
}
.topbar .brand-word { display: none !important; }
.nav .nav__links, .topbar .nav-links {
  display: flex !important; justify-content: center !important; align-items: center !important;
  min-width: 0 !important; gap: clamp(14px,1.6vw,28px) !important; margin: 0 !important;
}
.nav .nav__links a, .topbar .nav-links a {
  color: #a7bacd !important; font: 700 11px/1.4 "IBM Plex Sans",system-ui,sans-serif !important;
  letter-spacing: .075em !important; text-transform: uppercase !important;
  white-space: nowrap !important; text-decoration: none !important;
}
.nav .nav__links a:hover, .nav .nav__links a.active,
.topbar .nav-links a:hover, .topbar .nav-links a[aria-current] { color: #f2f8ff !important; }
.nav .nav__actions, .topbar .nav-actions {
  display: flex !important; align-items: center !important; justify-self: end !important;
  justify-content: flex-end !important; gap: 0 !important; min-width: 0 !important; max-width: 154px;
}
.nav .nav__actions > .btn, .nav .nav__actions > .nc-desktop-toggle,
.topbar .nav-actions > .button-primary, .topbar .nav-links > .desktop-toggle { display: none !important; }
.nav .nav__actions > .nc-register-menu { display: block !important; }
.nav .nav__actions .nc-customer-nav-link, .nav .nav__actions .nc-register-summary,
.topbar .nav-join {
  box-sizing: border-box !important; display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-height: 38px !important; max-width: 154px;
  padding: 8px 12px !important; border: 1px solid rgba(61,158,255,.52) !important;
  border-radius: 9px !important; color: #eef7ff !important; text-decoration: none !important;
  background: linear-gradient(135deg,rgba(14,104,194,.35),rgba(7,48,89,.52)) !important;
  font: 800 11px/1.25 system-ui,sans-serif !important;
}
/* Keep the full balance in the account, without allowing it to widen the header. */
.nav .nav__actions .nc-customer-nav-link b { display: none; }
.nav .nav__menu, .topbar .mobile-toggle { display: none !important; }
.nav a:focus-visible, .nav button:focus-visible, .nav summary:focus-visible,
.topbar a:focus-visible, .topbar button:focus-visible,
.sheet a:focus-visible, .sheet button:focus-visible, .sheet summary:focus-visible {
  outline: 2px solid #69baff !important; outline-offset: 4px !important;
}
.nc-skip-link {
  position: fixed; z-index: 20000; top: 8px; left: 16px; transform: translateY(-180%);
  padding: 12px 18px; border: 2px solid #69baff; border-radius: 9px;
  color: #fff; background: #061321; font: 700 14px/1.4 system-ui,sans-serif;
}
.nc-skip-link:focus { transform: none; }
.features-page h1.features-wordmark { margin: 0; }
@media(max-width:1120px) {
  body > .nav, .topbar { padding: 8px 14px 10px !important; }
  .nav .nav__bar, .topbar .nav-inner {
    grid-template-columns: minmax(0,1fr) auto !important; gap: 12px !important;
    height: 64px !important; min-height: 64px !important; padding: 10px 14px !important;
    border-radius: 16px !important;
  }
  .nav .nav__links, .topbar .nav-links, .nav .nav__actions,
  .topbar .nav-actions > .nav-join { display: none !important; }
  .nav .nav__menu, .topbar .mobile-toggle {
    display: flex !important; align-items: center !important; justify-content: center !important;
    flex-direction: column; width: 42px !important; height: 42px !important;
    padding: 0 !important; border: 1px solid rgba(52,145,235,.48) !important;
    border-radius: 11px !important; background: rgba(255,255,255,.03) !important;
    color: #fff !important;
  }
  .topbar .mobile-panel {
    display: grid !important; gap: 2px; margin: 10px auto 0; padding: 10px 14px;
    width: 100%; max-height: calc(100dvh - 100px); overflow: auto;
    border: 1px solid rgba(52,145,235,.48); border-radius: 14px; background: #030e19;
  }
  .topbar .mobile-panel > a {
    display: block; min-height: 44px; padding: 13px 10px;
    color: #b9ccdd; text-decoration: none; font: 700 12px/1.4 system-ui,sans-serif;
    text-transform: uppercase;
  }
  .topbar .mobile-panel a[aria-current] { color: #fff; }
  .nav .nav__actions .nc-register-options { right: 0; left: auto; }
}
/* Preserve the existing explicit desktop-view preference. */
html.nc-desktop-mode .nav .nav__bar, html.nc-desktop-mode .topbar .nav-inner {
  grid-template-columns: 154px minmax(0,1fr) 154px !important;
  height: var(--nc-header-height) !important; min-height: var(--nc-header-height) !important;
}
html.nc-desktop-mode .nav .nav__links, html.nc-desktop-mode .topbar .nav-links,
html.nc-desktop-mode .nav .nav__actions, html.nc-desktop-mode .topbar .nav-join { display: flex !important; }
html.nc-desktop-mode .nav .nav__menu, html.nc-desktop-mode .topbar .mobile-toggle,
html.nc-desktop-mode .topbar .mobile-panel { display: none !important; }
@media(prefers-reduced-motion:reduce) {
  .nav *, .topbar * { scroll-behavior: auto !important; transition: none !important; }
}
