/* Site navigation v1.2. Scoped to the shared header; no changes to article/app layouts. */
.site-header > .container {
  display:flex;align-items:center;flex-wrap:nowrap;gap:20px;
  width:100%;max-width:1440px;margin-left:auto;margin-right:auto;
  padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px);
  box-sizing:border-box;position:relative;
}
.site-header > .container::before,.site-header > .container::after{display:none!important}
.site-header > .container > h1 {
  float:none;flex:0 0 auto;min-width:0;margin:0;line-height:1.2;
  font-size:clamp(25px,2.45vw,32px);
}
.site-header > .container > h1 a{white-space:nowrap}
.site-header > .container > h1 .octicon{font-size:inherit;line-height:inherit;vertical-align:baseline}
.site-header .site-header-nav {
  display:flex!important;flex:1 1 auto;flex-flow:row nowrap;align-items:center;
  justify-content:flex-end;gap:clamp(0px,.25vw,5px);float:none;margin:0;
  min-width:0;max-width:none;width:auto;white-space:nowrap;overflow-x:auto;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.site-header .site-header-nav .site-header-nav-item {
  display:block;flex:0 0 auto;float:none;white-space:nowrap;min-width:0;
  margin:0;padding:9px clamp(5px,.6vw,10px);font-size:16px;line-height:1.4;
  border-bottom:2px solid transparent;text-align:center;box-sizing:border-box;
}
.site-header .site-header-nav .site-header-nav-item.selected{border-bottom-color:currentColor}
.site-header .site-header-nav .site-header-nav-item:focus-visible,
.site-header .site-nav-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.site-header .site-nav-toggle,
.site-header > .container > button.collapsed {display:none;flex:none;margin:0}
.site-header.site-nav-ready .site-header-nav{overflow:visible}
.site-header.site-nav-compact > .container{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:0}
.site-header.site-nav-compact > .container > h1{grid-column:1;grid-row:1;justify-self:start}
.site-header.site-nav-compact > .container > .site-nav-toggle{
  display:inline-flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;
  gap:8px;width:auto;height:42px;min-width:72px;padding:0 10px;cursor:pointer;
  border:1px solid currentColor;border-radius:6px;background:transparent;
  color:inherit;font:inherit;font-size:14px;line-height:1;float:none;
}
.site-nav-toggle-lines{display:flex;flex-direction:column;gap:4px}
.site-header .site-nav-toggle .icon-bar{display:block;width:18px;height:2px;margin:0;border-radius:1px;background:currentColor}
.site-header.site-nav-compact .site-header-nav{display:none!important;grid-column:1 / -1;grid-row:2}
.site-header.site-nav-compact.site-nav-open .site-header-nav{
  display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;
  padding:10px 0 8px;margin-top:10px;border-top:1px solid currentColor;gap:0;
  max-height:min(70vh,600px);overflow-y:auto;overscroll-behavior-y:auto;white-space:normal;
}
.site-header.site-nav-compact .site-header-nav .site-header-nav-item{
  flex:none;text-align:left;padding:10px 12px;white-space:normal;overflow-wrap:anywhere;
  min-height:42px;border-bottom:none;border-left:2px solid transparent;
}
.site-header.site-nav-compact .site-header-nav .site-header-nav-item.selected{border-left-color:currentColor}
/* Never clone live links just to measure them. This synchronous measurement style
   is removed before paint; ResizeObserver reacts to width changes only. */
.site-header.site-nav-measure .site-header-nav{
  display:flex!important;position:absolute!important;visibility:hidden!important;
  flex-flow:row nowrap!important;align-items:center!important;gap:clamp(0px,.25vw,5px)!important;
  width:max-content!important;max-width:none!important;right:0;top:0;left:auto!important;
  max-height:none!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important;
}
.site-header.site-nav-measure .site-header-nav .site-header-nav-item{
  flex:0 0 auto!important;white-space:nowrap!important;min-height:0!important;
  padding:9px clamp(5px,.6vw,10px)!important;margin:0!important;
  border-left:0!important;border-bottom:2px solid transparent!important;
}
@media(max-width:1023px){
 .site-header > .container{gap:12px}
 .site-header > .container > h1{font-size:clamp(23px,3vw,28px)}
 /* Without JS, preserve the existing menu button's toggleMenu fallback. */
 .site-header:not(.site-nav-ready) > .container{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .site-header:not(.site-nav-ready) > .container > button.collapsed{display:block;grid-column:2;grid-row:1}
 .site-header:not(.site-nav-ready) .site-header-nav{display:none!important;grid-column:1 / -1}
 .site-header:not(.site-nav-ready) .site-header-nav[style*="inline-flex"]{display:flex!important;flex-direction:column;align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.site-header .site-header-nav{scroll-behavior:auto}}
