/* Site header + main nav, shared by every page. Markup lives in nav.html. */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}
.wordmark{font-family:var(--f-display);font-stretch:112%;font-weight:500;font-size:19px;letter-spacing:.02em}
.wordmark span{color:var(--blue)}
nav ul{display:flex;gap:36px;list-style:none;margin:0;padding:0;font-size:15px}
nav a{color:var(--muted);transition:color .2s}
nav a:hover,nav a[aria-current]{color:var(--ink)}
@media (max-width:640px){nav ul{gap:20px;font-size:14px}}
@media (max-width:680px){header .wrap{flex-wrap:wrap;row-gap:8px;padding-block:16px}nav{width:100%}nav ul{gap:18px;font-size:14px;flex-wrap:wrap}}

/* Reserve the header's height until nav.html arrives, so the page doesn't jump */
#site-header:empty{min-height:75px}
@media (max-width:680px){#site-header:empty{min-height:95px}}

/* Tools dropdown in the main nav */
nav .dd{position:relative}
nav .dd-btn{font:inherit;font-size:inherit;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
nav .dd-btn:hover,nav .dd-btn.current,nav .dd.open .dd-btn{color:var(--ink)}
nav .dd-btn .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
nav .dd.open .caret{transform:translateY(1px) rotate(-135deg)}
nav ul.dd-menu{display:none;position:absolute;top:100%;right:-14px;z-index:30;min-width:270px;margin:0;padding:14px 0 0;list-style:none;flex-direction:column;gap:0}
nav ul.dd-menu .dd-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 14px 34px rgba(0,0,0,.45);position:relative;overflow:hidden}
nav ul.dd-menu .dd-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--purple) 0 33%,var(--blue) 33% 66%,var(--teal) 66%)}
nav ul.dd-menu a{display:grid;gap:2px;padding:10px 12px;border-radius:5px;color:var(--ink)}
nav ul.dd-menu a span{font-size:13px;color:var(--muted)}
nav ul.dd-menu a:hover,nav ul.dd-menu a:focus-visible{background:color-mix(in srgb,var(--ink) 7%,transparent)}
nav ul.dd-menu a[aria-current] b{color:var(--teal)}
nav ul.dd-menu b{font-weight:500}
nav .dd.open ul.dd-menu{display:flex}
@media (hover:hover) and (min-width:681px){nav .dd:hover ul.dd-menu{display:flex}}
@media (max-width:680px){nav ul.dd-menu{left:-12px;right:auto;min-width:250px}}
nav .dd-all{display:block;margin-top:4px;padding:9px 12px 6px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
nav .dd-all:hover{color:var(--ink)}
