/* Apple WWDC25 glass: one continuous navigation material above the content.
   Emil Design Engineering: stationary labels, restrained motion, native lifecycle. */
/* Public documents opt in using navigation-public.css; private pages never opt in. */

:root {
  --navigation-duration: 400ms;
  --navigation-ease: cubic-bezier(.22,.8,.22,1);
}
.main-nav {
  isolation: isolate;
  border-radius: 999px;
  background: linear-gradient(135deg,#e4e4e585,#efefef70);
  box-shadow: inset 0 1px 1px #3c3e4005;
}
.main-nav a { border-radius: 999px; transition: color 140ms ease; }
.nav-links { display:flex; gap:inherit; }
.main-nav.has-glass a[aria-current="page"] { background: transparent; box-shadow: none; }
.main-nav a:active { opacity: .7; }
.nav-glass {
  display: none;
  position: absolute;
  transform-origin: left top;
  z-index: 0;
  pointer-events: none;
  border-radius: 999px;
  background: linear-gradient(155deg,#ffffffdd 0%,#ffffff9c 45%,#f9f9f99e 100%);
  border: 1px solid #ffffffd9;
  box-shadow: inset 0 1px 1px #fff,inset 0 -1px 1px #95979b1c,0 2px 4px #292a2b0c,0 6px 16px #3a3c3e0a;
  backdrop-filter: blur(8px) saturate(1.65);
  -webkit-backdrop-filter: blur(8px) saturate(1.65);
}
.has-glass .nav-glass:not([hidden]) { display: block; }
/* Keep the header live: named snapshots do not receive pointer hit testing.
   Only content is captured. The lens animates underneath real, static labels. */
:root { view-transition-name:none; }
.page-shell { view-transition-name:none; }
::view-transition { pointer-events:none; }
::view-transition-group(*) { pointer-events:none; }
::view-transition-group(page-content) { animation-duration:0s; }
::view-transition-old(page-content) { animation: content-out 90ms ease-out both; }
html[data-page-direction=back]::view-transition-old(page-content) { animation-name: content-back-out; }
@keyframes content-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes content-back-out { to { opacity: 0; transform: translateY(6px); } }

@media (hover:hover) and (pointer:fine) {
  .main-nav.has-glass a:hover { background: transparent; color: #1f2021; }
}
.reduceTransparency .nav-glass,.highContrast .nav-glass { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
.highContrast .nav-glass { border-color:#727579; }
.reduceMotion::view-transition-group(*),.reduceMotion::view-transition-old(*),.reduceMotion::view-transition-new(*) { animation:none!important; }
@media (prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more) {
  .nav-glass { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media print { .nav-glass { display:none!important; } }
