/* The site header (assets/nav.js). Colours and fonts are the page's own variables; a page may set
   --enav-max to its content width. */
.enav{display:block;min-height:54px;border-bottom:1px solid var(--line,rgba(22,19,15,.15));background:var(--paper,#f6f3ec);
  font-family:var(--mono,"IBM Plex Mono",ui-monospace,monospace);font-size:12.5px;letter-spacing:.02em;color:var(--ink,#16130f);position:relative;z-index:30}
.enav-bar{max-width:var(--enav-max,1200px);margin:0 auto;padding:0 var(--enav-pad,24px);height:54px;display:flex;align-items:center;gap:18px}
.enav a{color:inherit;text-decoration:none}
.enav-brand{display:flex;align-items:center;gap:10px;font-weight:500;white-space:nowrap}
.enav-brand b{font-family:var(--display,Georgia,serif);font-weight:600;font-size:18px;letter-spacing:-.01em}
.enav-q{display:inline-block;width:11px;height:11px;background:var(--qed,#1a7f4b);transform:translateY(1px)}

.enav-sw{position:relative;min-width:0}
.enav-btn{font:inherit;color:inherit;display:inline-flex;align-items:center;gap:8px;max-width:100%;height:32px;padding:0 8px 0 11px;
  border:1px solid var(--line,rgba(22,19,15,.15));border-radius:4px;background:transparent;cursor:pointer;white-space:nowrap}
.enav-btn:hover,.enav-btn[aria-expanded="true"]{border-color:var(--ink-soft,#5c554a)}
.enav-btn:focus-visible,.enav-q-in:focus-visible,.enav-item:focus-visible,.enav-links a:focus-visible{outline:2px solid var(--qed,#1a7f4b);outline-offset:1px}
.enav-cur{overflow:hidden;text-overflow:ellipsis}
.enav-caret{color:var(--ink-soft,#5c554a);font-size:10px}
.enav kbd{font:inherit;font-size:11px;color:var(--ink-soft,#5c554a);border:1px solid var(--line-soft,rgba(22,19,15,.08));border-radius:3px;padding:0 5px;line-height:17px}

.enav-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#9a9286}
.enav-dot.live{background:var(--qed,#1a7f4b);animation:enav-pulse 2s ease-in-out infinite}
.enav-dot.warn{background:var(--warn,#a85f12)}
@keyframes enav-pulse{50%{opacity:.35}}

.enav-pop{position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:calc(100vw - 32px);background:var(--panel,var(--paper,#fbf9f4));
  border:1px solid var(--line,rgba(22,19,15,.15));border-radius:4px;box-shadow:0 12px 32px rgba(22,19,15,.16);display:flex;flex-direction:column}
.enav-pop[hidden]{display:none}
.enav-q-in{font:inherit;font-size:13.5px;margin:10px;padding:8px 10px;border:1px solid var(--line,rgba(22,19,15,.15));border-radius:3px;background:var(--paper,#f6f3ec);color:inherit}
.enav-list{max-height:min(60vh,420px);overflow-y:auto;padding:0 4px 6px}
.enav-h{padding:10px 8px 4px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint,var(--ink-soft,#8d857a))}
.enav-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:3px;cursor:pointer}
.enav-item[hidden],.enav-h[hidden],.enav-none[hidden]{display:none}
.enav-item[aria-selected="true"],a.enav-item:hover{background:var(--paper-2,#efeadf)}
.enav-item.on .enav-name{font-weight:500;color:var(--qed-ink,#125a36)}
.enav-item.planned{opacity:.5;cursor:default}
.enav-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.enav-meta{font-size:11px;color:var(--ink-soft,#5c554a);white-space:nowrap}
.enav-none{padding:10px 8px;color:var(--ink-soft,#5c554a)}
.enav-all{display:block;padding:10px 14px;border-top:1px solid var(--line-soft,rgba(22,19,15,.08));color:var(--qed-ink,#125a36)!important}
.enav-all:hover{background:var(--paper-2,#efeadf)}

.enav-links{margin-left:auto;display:flex;align-items:center;gap:20px;white-space:nowrap}
.enav-links a{border-bottom:1px solid var(--line,rgba(22,19,15,.15));padding-bottom:1px;transition:border-color .2s}
.enav-links a:hover{border-color:var(--ink,#16130f)}
.enav-links .enav-contact{color:var(--ink-soft,#5c554a);border-color:transparent}

@media(max-width:860px){.enav-links .enav-contact{display:none}}
@media(max-width:600px){
  .enav-bar{padding:0 16px;gap:12px}
  .enav kbd{display:none}
  .enav-links{gap:14px}
  .enav-sw{position:static}
  .enav-pop{left:16px;right:16px;width:auto;max-width:none;top:calc(100% + 6px)}
}
@media(max-width:480px){.enav-links .enav-src{display:none}}
@media(prefers-reduced-motion:reduce){.enav-dot.live{animation:none}}
