/* ═══════════════════════════════════════════════════════════════════════
   AphixLabs — NAV BAR: single source of truth.
   Loaded LAST on every page (after the home page's inline <style> and after
   site.css), so the bar is byte-identical everywhere and cannot drift.
   Every property the bar depends on is declared explicitly here — nothing is
   left to be inherited from whichever stylesheet happens to load.
   ═══════════════════════════════════════════════════════════════════════ */

nav#NAV{
  position:fixed; inset:0 0 auto; z-index:900;
  box-sizing:border-box;
  padding:20px 64px; margin:0;
  display:flex; align-items:center; justify-content:flex-start; gap:0;
  border-bottom:1px solid transparent;
  transition:padding .3s, background .3s, border-color .3s;
}
nav#NAV.sc,nav#NAV.scr{
  padding:12px 64px;
  background:rgba(8,8,18,.93);
  -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px);
  border-bottom-color:var(--l1);
}
html[data-theme="light"] nav#NAV{border-bottom-color:transparent;}
html[data-theme="light"] nav#NAV.sc,html[data-theme="light"] nav#NAV.scr{
  background:rgba(255,255,255,.92);
  border-bottom-color:rgba(80,70,140,.14);
  box-shadow:0 1px 0 rgba(80,70,140,.06),0 8px 26px -22px rgba(40,35,80,.5);
}

/* logo — pinned left */
nav#NAV .nlogo{
  display:flex; align-items:center; flex:0 0 auto;
  margin:0 auto 0 0; padding:0; text-decoration:none; box-sizing:border-box;
}
nav#NAV .nlogo img{
  height:50px; width:auto; max-width:none; display:block;
  margin:0; padding:0; transition:opacity .2s;
}
nav#NAV .nlogo:hover img{opacity:.85;}

/* links — grouped right */
nav#NAV .nlinks{
  display:flex; align-items:center; gap:32px; list-style:none;
  margin:0 0 0 auto; padding:0; box-sizing:border-box;
}
nav#NAV .nlinks li{margin:0;padding:0;list-style:none;}
nav#NAV .nlinks a{
  font-family:'DM Mono',monospace; font-size:.64rem; font-weight:400;
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  color:var(--mu); transition:color .2s; padding:0; margin:0;
}
nav#NAV .nlinks a:hover,nav#NAV .nlinks a.on{color:var(--br);}
html[data-theme="light"] nav#NAV .nlinks a{color:rgba(40,35,80,.72);}
html[data-theme="light"] nav#NAV .nlinks a:hover,
html[data-theme="light"] nav#NAV .nlinks a.on{color:#1e1a3a;}

nav#NAV .nlinks a.ncta,nav#NAV .ncta{
  background:var(--ac); color:#fff; padding:9px 22px; border-radius:6px;
  font-weight:600; text-decoration:none;
  transition:box-shadow .2s,transform .2s,background .2s;
}
nav#NAV .nlinks a.ncta:hover,nav#NAV .ncta:hover{background:var(--vi);color:#fff;}

/* theme + language controls */
nav#NAV .navtools{
  display:flex; align-items:center; gap:8px; flex:0 0 auto;
  margin:0 0 0 18px; padding:0; box-sizing:border-box;
}
nav#NAV .langsw{
  display:inline-flex; border:1px solid var(--l2); border-radius:7px;
  overflow:hidden; flex:0 0 auto; margin:0; padding:0;
}
nav#NAV .langsw a{
  font-family:'DM Mono',monospace; font-size:.58rem; font-weight:400;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:9px 10px; margin:0; color:var(--mu); transition:all .2s;
}
nav#NAV .langsw a.on{background:var(--ac); color:#fff;}
nav#NAV .langsw a:not(.on):hover{color:var(--br); background:var(--ac2);}
html[data-theme="light"] nav#NAV .langsw{border-color:rgba(80,70,140,.34);background:#fff;}
html[data-theme="light"] nav#NAV .langsw a{color:rgba(40,35,80,.66);}
html[data-theme="light"] nav#NAV .langsw a.on{background:var(--ac);color:#fff;}

nav#NAV .tbtn{
  width:36px; height:36px; border-radius:7px; border:1px solid var(--l2);
  background:transparent; color:var(--so); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; margin:0; padding:0; transition:all .2s;
}
nav#NAV .tbtn:hover{border-color:var(--ac); color:var(--ac); background:var(--ac2);}
nav#NAV .tbtn svg{width:16px;height:16px;display:block;}
nav#NAV .tbtn .ic-sun{display:none;}
html[data-theme="light"] nav#NAV .tbtn .ic-sun{display:block;}
html[data-theme="light"] nav#NAV .tbtn .ic-moon{display:none;}
html[data-theme="light"] nav#NAV .tbtn{border-color:rgba(80,70,140,.34);background:#fff;color:rgba(40,35,80,.72);}
html[data-theme="light"] nav#NAV .tbtn:hover{border-color:var(--ac);color:var(--ac);background:rgba(82,87,224,.07);}

/* hamburger */
nav#NAV .ham{
  display:none; flex-direction:column; align-items:center; justify-content:center;
  gap:5px; width:44px; height:44px; border-radius:8px; flex:0 0 auto;
  margin:0; padding:0; background:none; border:none; cursor:pointer; z-index:901;
}
nav#NAV .ham i,nav#NAV .ham span{
  width:22px; height:2px; background:var(--br); border-radius:2px;
  display:block; transition:all .25s;
}
html[data-theme="light"] nav#NAV .ham i,html[data-theme="light"] nav#NAV .ham span{background:#1e1a3a;}

/* ── tablet / phone ── */
@media(max-width:1400px){
  nav#NAV{padding:18px 40px;}
  nav#NAV.sc,nav#NAV.scr{padding:12px 40px;}
}
@media(max-width:1000px){
  nav#NAV{padding:14px 20px;gap:10px;}
  nav#NAV.sc,nav#NAV.scr{padding:12px 20px;}
  nav#NAV .nlogo img{height:46px;}
  nav#NAV .ham{display:flex;}
  nav#NAV .navtools{margin:0 10px 0 auto;}
  nav#NAV .navtools .langsw a{padding:10px 11px;font-size:.6rem;}
  nav#NAV .navtools .tbtn{width:40px;height:40px;}
  nav#NAV .nlinks{margin-left:0;}
}
@media(max-width:380px){
  nav#NAV{padding:12px 14px;}
  nav#NAV .nlogo img{height:40px;}
  nav#NAV .navtools{gap:6px;margin-right:8px;}
  nav#NAV .navtools .langsw a{padding:9px 8px;}
}
@media print{ nav#NAV{display:none!important;} }
