/* Header 主导航：独立文件放在 site.css 之后，确保全站 Header 使用同一份导航。 */
.nav{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--d-bg);
  border-bottom:1px solid var(--d-border);
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:60px;
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 20px;
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#FFFFFF;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
}

.logo:hover{color:#FFFFFF;}

.logo-dot{
  width:10px;
  height:10px;
  flex:none;
  border-radius:50%;
  background:var(--d-accent);
  box-shadow:0 0 0 4px rgba(63,224,208,.16);
}

.nav-links{display:none;}

.nav-links a{
  position:relative;
  padding:8px 0;
  color:var(--d-text);
  font-size:15px;
  font-weight:500;
}

.nav-links a::after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  content:"";
  background:var(--d-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}

.nav-links a:hover,
.nav-links a[aria-current="page"]{color:#FFFFFF;}

.nav-links a:hover::after,
.nav-links a[aria-current="page"]::after{transform:scaleX(1);}

#navtoggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

#navtoggle:focus-visible + .nav-inner .burger{
  outline:2px solid var(--d-accent);
  outline-offset:3px;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.burger{
  display:inline-flex;
  width:44px;
  height:44px;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:0 10px;
  cursor:pointer;
  border:1px solid var(--d-border-strong);
  border-radius:8px;
}

.burger > span:not(.sr-only){
  display:block;
  height:2px;
  border-radius:2px;
  background:var(--d-text);
}

.mobile-menu{
  display:none;
  border-top:1px solid var(--d-border);
  background:var(--d-bg-alt);
}

#navtoggle:checked ~ .mobile-menu{display:block;}

.mobile-menu ul{
  max-width:var(--wrap);
  margin:0 auto;
  padding:8px 20px 16px;
}

.mobile-menu li{border-bottom:1px solid var(--d-border);}

.mobile-menu li:last-child{border-bottom:0;}

.mobile-menu a{
  display:block;
  padding:14px 2px;
  color:var(--d-text);
  font-size:16px;
  font-weight:500;
}

.mobile-menu a:hover,
.mobile-menu a[aria-current="page"]{color:#FFFFFF;}

@media (min-width:860px){
  .nav-inner{min-height:68px;}
  .nav-links{display:flex;align-items:center;gap:26px;}
  #navtoggle{display:none;}
  .burger{display:none;}
  .mobile-menu{display:none !important;}
}
