/* One floating glass treatment for the landing page and interior navigation. */
.nav-menu-toggle { display: none; }
[data-scroll-nav] {
  z-index: 40;
  pointer-events: none;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.site-header[data-scroll-nav] {
  position: fixed;
  transition: height 420ms cubic-bezier(.22, 1, .36, 1);
}
.nav-shell {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: inherit;
  gap: inherit;
  width: 100%;
  max-width: 1600px;
  height: 100%;
  min-width: 0;
  margin-inline: auto;
  padding-inline: 0;
  pointer-events: auto;
  transition: max-width 420ms cubic-bezier(.22, 1, .36, 1),
    height 420ms cubic-bezier(.22, 1, .36, 1),
    padding 420ms cubic-bezier(.22, 1, .36, 1),
    gap 420ms cubic-bezier(.22, 1, .36, 1);
}
.nav-shell::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid #e2e8ff30;
  border-radius: 999px;
  background:
    linear-gradient(115deg, #e5efff13, #d8eaff03 42%, #b7a4df0b),
    #0d151d8c;
  box-shadow: inset 0 1px 0 #f2f5ff29,
    inset 0 -1px 0 #a6c9e00a,
    0 12px 36px #00000030;
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  backdrop-filter: blur(28px) saturate(145%);
  opacity: 0;
  transform: translateY(-5px) scale(.985, .9);
  pointer-events: none;
  transition: opacity 340ms ease, transform 420ms cubic-bezier(.22, 1, .36, 1);
}
.site-header.is-scrolled { height: 96px; }
.is-scrolled .nav-shell {
  max-width: 1160px;
  height: 68px;
  padding-inline: 24px;
  gap: clamp(18px, 2.5vw, 42px);
}
.is-scrolled .nav-shell::before {
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* The docs search shares the primary navigation row while the glass bar is shown. */
[data-nav-search-slot]:empty { display: none; }
[data-nav-search-slot] { flex: 1 1 280px; min-width: 0; max-width: 400px; margin-left: auto; }
.is-search-docked .nav-shell { gap: clamp(12px, 2vw, 28px); }
.is-search-docked .nav-main, .is-search-docked .header-cta { flex-shrink: 0; }
[data-nav-search-slot] .docs-search {
  min-width: 0;
  margin: 0;
  padding: 6px 12px;
  gap: 8px;
  border-radius: 999px;
  background: #090e1538;
  animation: page-nav-arrive 240ms ease both;
}
[data-nav-search-slot] .docs-search svg { width: 16px; height: 16px; }
[data-nav-search-slot] .docs-search input { min-width: 0; font-size: 12px; text-overflow: ellipsis; }
[data-nav-search-slot] .docs-search kbd { font-size: 10px; padding: 2px 5px; }
[data-nav-search-slot] .docs-search:focus-within { outline: 2px solid var(--teal); outline-offset: 2px; }
[data-nav-search-slot] .docs-search input:focus-visible { outline: none; }
@media (max-width: 1100px) {
  [data-nav-search-slot] .docs-search kbd { display: none; }
}
@media (max-width: 520px) {
  .docs-page .is-search-docked .nav-shell { gap: 8px; padding-inline: 12px; }
  .docs-page .is-search-docked .brand { width: 54px; }
  .docs-page .is-search-docked .header-cta { font-size: 10px; padding-inline: 10px; white-space: nowrap; }
  [data-nav-search-slot] .docs-search { padding-inline: 8px; gap: 6px; }
  [data-nav-search-slot] .docs-search svg { width: 14px; height: 14px; }
}
/* Page controls join the same glass surface once their row reaches the header. */
[data-page-navigation] { align-items: flex-start; }
[data-page-navigation] .nav-shell {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.nav-primary {
  display: flex;
  align-items: center;
  gap: 58px;
  flex-shrink: 0;
  height: 88px;
}
[data-page-nav-slot]:empty { display: none; }
[data-page-navigation].is-scrolled .nav-shell {
  height: auto;
  margin-top: 10px;
}
.is-scrolled .nav-primary {
  height: 68px;
  gap: clamp(18px, 2.5vw, 42px);
}
.is-page-nav-docked .nav-shell::before { border-radius: 34px; }
[data-page-nav-slot] .dashboard-controls {
  margin-bottom: 0;
  animation: page-nav-arrive 240ms ease both;
}
[data-page-nav-slot] .dashboard-controls::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  height: 1px;
  background: #e2e8ff24;
}
@keyframes page-nav-arrive {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Anchor destinations stay clear of the persistent landing navigation. */
body:not(.interior-page) main > section[id] { scroll-margin-top: 100px; }
@media (max-width: 720px) {
  .site-header.is-scrolled { height: 84px; }
  .is-scrolled .nav-shell { height: 64px; padding-inline: 16px; gap: 16px; }
  [data-page-navigation] .nav-shell { gap: 0; }
  .nav-primary { height: 74px; gap: 18px; }
  .is-scrolled .nav-primary { height: 64px; gap: 16px; }
  .is-page-nav-docked .nav-shell::before { border-radius: 28px; }
  body:not(.interior-page) main > section[id] { scroll-margin-top: 88px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-scroll-nav], .nav-shell, .nav-shell::before { transition: none; }
  [data-page-nav-slot] .dashboard-controls, [data-nav-search-slot] .docs-search { animation: none; }
}
