/* Shared site header (Quinn B8/B9, Nova 21 Oct 2026). Markup: lib/pages.js siteHeader(); used by every page.
   Loaded after app.css or optic.css; uses their colour variables with fallbacks. 44px targets; no motion. */
.gs-hd{position:sticky;top:0;z-index:50;background:var(--bg,#f5f7f7);border-bottom:1px solid var(--hair,#d3dddd);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@supports (backdrop-filter:blur(1px)){.gs-hd{background:color-mix(in srgb,var(--bg,#f5f7f7) 90%,transparent);backdrop-filter:blur(10px)}}
.gs-nav{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:0 24px;min-height:64px;display:flex;flex-wrap:wrap;align-items:center;column-gap:28px}
.gs-wide .gs-nav{max-width:1200px;padding:0 var(--gut,24px)}
.gs-nav a{color:var(--ink-2,#2f4a4f);text-decoration:none;font-weight:500;font-size:.95rem}
.gs-nav a:hover{color:var(--ink,#0e2a2f);text-decoration:underline;text-underline-offset:.2em}
.gs-nav a:focus-visible,.gs-nav button:focus-visible{outline:3px solid var(--accent,#0b6b6b);outline-offset:2px;border-radius:6px}
.gs-brand{display:inline-flex;align-items:center;min-height:44px;flex:none}
.gs-brand img{display:block;height:24px;width:auto}
.gs-links{display:flex;align-items:center;gap:24px}
.gs-links a,.gs-login{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;white-space:nowrap}
.gs-acct{margin-left:auto;display:flex;align-items:center;gap:16px}
.gs-who{margin-left:auto;font-size:.85rem;color:var(--muted,#4d6468);overflow-wrap:anywhere}
.gs-who + .gs-acct{margin-left:0}
.gs-acct form{margin:0}
.gs-btn,.gs-nav .gs-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:10px;border:1px solid var(--ink,#0e2a2f);background:var(--ink,#0e2a2f);color:#fff;font-weight:600;font-size:.95rem;line-height:1.2;font-family:inherit;white-space:nowrap;cursor:pointer;text-decoration:none}
.gs-nav .gs-btn:hover{background:var(--accent,#0b6b6b);border-color:var(--accent,#0b6b6b);color:#fff;text-decoration:none}
.gs-btn.gs-ghost{background:transparent;color:var(--ink,#0e2a2f);border-color:var(--hair-2,#b6c6c6)}
.gs-btn.gs-ghost:hover{background:transparent;color:var(--ink,#0e2a2f);border-color:var(--ink,#0e2a2f)}
/* Compact layout: row 1 = logo + account actions, row 2 = page links (no ragged wrap, nothing on the edge). */
@media (max-width:720px){
  .gs-hd{position:static}
  .gs-nav{padding:4px max(16px,env(safe-area-inset-left)) 0;column-gap:12px;min-height:0}
  .gs-wide .gs-nav{padding:4px max(16px,env(safe-area-inset-left)) 0}
  .gs-brand{order:0;margin-right:auto}
  .gs-brand img{height:20px}
  .gs-acct{order:1;margin-left:0;gap:8px}
  .gs-who{order:2;flex-basis:100%;margin:0;padding:0 0 2px}
  .gs-links{order:3;flex-basis:100%;gap:8px 12px;border-top:1px solid var(--hair,#d3dddd);margin-top:4px;padding-bottom:4px}
  .gs-links a{padding:10px 12px;min-height:44px}
  .gs-nav a,.gs-btn{font-size:.9rem}
  .gs-btn{padding:8px 12px}
}
@media (max-width:359px){.gs-nav{column-gap:8px}.gs-brand img{height:18px}.gs-links{gap:16px}.gs-acct{gap:4px}}
@media print{.gs-hd{display:none}}
