/* Shared public-site chrome. Reader and authentication shells stay independent. */
nav.public-header.top.shell {
  display:flex; align-items:center; flex-wrap:wrap; gap:24px;
  width:100%; max-width:none; min-height:88px; margin:0; padding:16px 0;
  border-bottom:1px solid var(--hairline); font:13px/1.5 var(--sans);
}
nav.public-header .brand { display:inline-flex; align-items:center; gap:8px; color:var(--ink); font:700 28px/1 var(--sans); text-decoration:none; }
nav.public-header .brand svg { display:block; width:29px; height:29px; }
nav.public-header .links { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-left:auto; }
nav.public-header .links a { display:flex; align-items:center; min-height:44px; padding:8px 0; margin:0; color:var(--meta); font-size:13px; white-space:normal; text-decoration:none; overflow-wrap:anywhere; }
nav.public-header .links a:hover, nav.public-header .links a[aria-current] { color:var(--ink); }
nav.public-header .links a[aria-current] { text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--accent); }
nav.public-header .links .cta { padding-inline:14px; border:1px solid var(--line); border-radius:8px; color:var(--ink); }
nav.public-header .header-tools { display:flex; align-items:center; gap:2px; padding-left:16px; border-left:1px solid var(--hairline); }
nav.public-header #lang-slot { display:flex; margin:0; }
nav.public-header .preference-control, nav.public-header .mode-btn, nav.public-header .nav-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--meta); }
nav.public-header .choice-trigger, nav.public-header .nav-toggle { cursor:pointer; }
nav.public-header .nav-toggle { display:none; border-radius:8px; }
nav.public-header .nav-toggle:hover { background:color-mix(in srgb,var(--ink) 6%,transparent); }
nav.public-header :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media (max-width:760px) {
  nav.public-header.top.shell { min-height:76px; padding-block:12px; gap:12px; }
  nav.public-header .brand { font-size:25px; gap:7px; }
  nav.public-header .brand svg { width:26px; height:26px; }
  nav.public-header .header-tools { margin-left:auto; border:0; padding:0; gap:0; }
  nav.public-header[data-enhanced] .nav-toggle { display:inline-flex; }
  nav.public-header .links { width:100%; margin:0; gap:12px; }
  nav.public-header[data-enhanced] .links {
    position:fixed; inset:auto; margin:0; padding:12px; max-height:calc(100dvh - 100px); overflow:auto;
    border:1px solid var(--line); border-radius:12px; background:var(--bg2); color:var(--ink); box-shadow:var(--shadow-card);
    white-space:normal;
  }
  nav.public-header[data-enhanced] .links:not(:popover-open) { display:none; }
  nav.public-header[data-enhanced] .links:popover-open { display:grid; gap:4px; justify-content:stretch; align-items:stretch; }
  nav.public-header .links a { padding:10px 12px; font-size:15px; }
  nav.public-header .links a:hover { background:color-mix(in srgb,var(--ink) 6%,transparent); border-radius:7px; }
  nav.public-header .links .cta { margin-top:6px; justify-content:center; background:var(--btn-top); color:var(--btn-ink); border-color:transparent; }
}
