/* ---------- nav ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:26px;height:60px}
.logo{font-family:var(--mono);font-weight:700;font-size:.95rem;text-decoration:none;margin-right:auto}
.logo span{color:var(--accent)}

.nav-links{display:flex;gap:26px;align-items:center;list-style:none}
.nav-links a{
  position:relative;
  text-decoration:none;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);transition:color .2s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;
}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-links a.active::after{transform:scaleX(1)}

.nav-actions{display:flex;align-items:center;gap:12px}
#themeBtn{
  background:none;border:1px solid var(--line);color:var(--ink);
  width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:.9rem;
  display:grid;place-items:center;transition:border-color .2s,transform .2s;
}
#themeBtn:hover{border-color:var(--accent);transform:rotate(20deg)}

/* hamburger (mobile only) */
.nav-toggle{
  display:none;width:38px;height:38px;
  background:none;border:1px solid var(--line);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:4px;
}
.nav-toggle span{
  display:block;width:18px;height:2px;background:var(--ink);
  transition:transform .3s ease,opacity .2s ease;
}
.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:720px){
  .nav-toggle{display:flex}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--surface);border-bottom:1px solid var(--line);
    padding:6px 24px 14px;
    box-shadow:0 18px 30px -20px rgba(0,0,0,.4);
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:none}
  .nav-links a{display:block;font-size:.9rem;padding:13px 2px;border-bottom:1px solid var(--line)}
  .nav-links li:last-child a{border-bottom:none}
  .nav-links a::after{display:none}
}
