/* Shared chrome only: each chapter retains its own content styling. */
:root { --site-nav-height:76px; }
body .g-nav { position:sticky;top:0;z-index:170;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:10px clamp(16px,2.4vw,36px);color:#f3efe4;background:#07131f;border-bottom:1px solid #dcb45866;box-shadow:0 5px 20px #07131f1a;font-family:system-ui,"Noto Sans SC",sans-serif; }
body .g-nav .nav-brand { display:flex;align-items:center;flex:0 0 auto;gap:8px;max-width:220px;margin:0;padding:0;color:#e0b458;font-size:20px;line-height:1.2;font-weight:800;text-decoration:none;white-space:nowrap; }
body .g-nav .nav-brand img { display:block;width:210px;height:56px;object-fit:contain; }
body .g-nav .nav-links { display:flex;align-items:center;gap:4px;max-width:none;overflow:visible;flex-wrap:nowrap;margin:0; }
body .g-nav .nav-links a { display:inline-flex;align-items:center;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:999px;color:#d3d8dc;font-size:13px;font-weight:650;line-height:1.4;letter-spacing:0;text-decoration:none;white-space:nowrap; }
body .g-nav .nav-links a:hover { color:#fff;background:#ffffff12; }
body .g-nav .nav-links a[aria-current="page"] { color:#07131f;background:#e0b458; }
body .g-nav a:focus-visible,body .g-nav button:focus-visible,body .site-static-menu summary:focus-visible,body .mobile-nav-menu a:focus-visible { outline:3px solid #f8bf25;outline-offset:3px; }
body .g-nav .mobile-nav-button,body .g-nav .mobile-nav-spacer,body .mobile-nav-overlay,body .mobile-nav-menu,body .site-static-menu { display:none; }
body .mobile-nav-menu { position:fixed;z-index:172;top:86px;left:16px;right:16px;max-height:calc(100dvh - 104px);overflow-y:auto;padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #dcb45866;border-radius:18px;background:#07131ff5;color:#f3efe4;box-shadow:0 16px 50px #0006;font-family:system-ui,"Noto Sans SC",sans-serif; }
body .mobile-nav-menu a,body .site-static-menu a { display:flex;align-items:center;gap:6px;min-height:44px;padding:10px;border-radius:10px;color:inherit;text-decoration:none;font-size:14px;line-height:1.4; }
body .mobile-nav-menu a[aria-current="page"],body .site-static-menu a[aria-current="page"] { color:#07131f;background:#e0b458; }
body .mobile-nav-menu .current-page-tag,body .site-static-menu .current-page-tag { font-size:10px;opacity:.7; }
body .mobile-nav-overlay { position:fixed;inset:0;z-index:171;background:#0007;backdrop-filter:blur(4px); }
/* Never obscure usable content, including when JavaScript fails. */
body #global-loading-overlay { display:none !important; }
body .site-load-status { position:relative;max-width:960px;margin:12px auto;padding:10px 16px;border:1px solid #e0b45888;border-radius:10px;background:#fffbef;color:#17293a;font:14px/1.6 system-ui,sans-serif; }
body .site-load-status[hidden] { display:none; }
body .site-load-status button { margin-left:12px;min-height:32px;padding:4px 10px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:6px;cursor:pointer; }
body .site-static-menu { position:relative;color:#f3efe4; }
body .site-static-menu summary { min-height:44px;padding:10px;cursor:pointer; }
body .site-static-menu div { position:absolute;right:0;top:56px;width:min(340px,calc(100vw - 32px));max-height:70dvh;overflow:auto;padding:12px;background:#07131f;border:1px solid #dcb45866;border-radius:12px; }
@media(max-width:1280px) {
 body .g-nav { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;min-height:76px;padding:10px 16px; }
 body .g-nav .nav-brand { justify-self:center;justify-content:center;width:100%;max-width:210px;font-size:20px; }
 body .g-nav .nav-brand img { width:100%;height:56px; }
 body .g-nav .nav-links { display:none; }
 body .g-nav .mobile-nav-button { display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #dcb45866;border-radius:12px;background:#ffffff08;color:#e0b458;cursor:pointer;text-decoration:none; }
 body .g-nav .mobile-nav-spacer { display:block;width:44px; }
 body .g-nav .mobile-menu-icon { display:grid;gap:5px; }
 body .g-nav .mobile-menu-icon span { display:block;width:20px;height:2px;background:currentColor; }
 body .mobile-nav-menu.is-open { display:grid; }
 body .mobile-nav-overlay.is-open { display:block; }
 body .g-nav:has(.site-static-menu) { grid-template-columns:minmax(0,1fr) auto; }
 body .g-nav:has(.site-static-menu) .nav-brand { justify-self:start; }
 body .site-static-menu { display:block; }
}
@media(prefers-reduced-motion:reduce) { body .g-nav *,body .mobile-nav-menu *,body .site-load-status * { transition:none !important;animation:none !important; } }
body .site-image-failure { display:block;padding:8px 12px;color:#17293a;background:#fffbef;font:13px/1.6 system-ui,sans-serif; }

@media(max-width:768px) { body:has(> .g-nav) { padding-top:0 !important; } }

body[data-shared-medical-nav] .mobile-appbar { display:none; }

/* Fixed geometry is explicit so chapter fonts, margins and image rules cannot resize chrome. */
body .g-nav,body .g-nav * { box-sizing:border-box; }
body .g-nav { height:var(--site-nav-height);min-height:var(--site-nav-height);max-height:var(--site-nav-height);margin:0;padding:6px clamp(16px,2.4vw,36px);gap:16px;font:650 13px/20px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif;letter-spacing:0; }
body .g-nav .nav-brand { width:210px;max-width:210px;height:62px;flex:0 0 210px;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;line-height:20px; }
body .g-nav .site-logo { position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:62px;margin:0;padding:0;border:0;border-radius:0;background:none; }
/* A light silhouette preserves the PNG alpha without waiting for a second asset. */
body .g-nav .site-logo img { display:block;width:100%;height:62px;max-width:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:none;object-fit:contain;filter:brightness(0) invert(1); }
body .g-nav .site-logo-fallback { display:none;font:800 20px/24px system-ui,sans-serif;color:#f3efe4;white-space:nowrap; }
body .g-nav .site-logo:has(img[data-load-state="failed"]) img { display:none; }
body .g-nav .site-logo:has(img[data-load-state="failed"]) .site-logo-fallback { display:block; }
body .g-nav .nav-links { margin:0;padding:0;gap:4px;align-items:center; }
body .g-nav .nav-links a { height:40px;min-height:40px;max-height:40px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:999px;font:650 13px/20px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;box-shadow:none;transform:none;transition:color .15s,background-color .15s; }
body .g-nav .nav-links a:hover,body .g-nav .nav-links a:focus-visible,body .g-nav .nav-links a[aria-current="page"] { font-weight:650;border-width:1px;padding:9px 10px;transform:none; }
body .g-nav .mobile-nav-button,body .g-nav .site-static-menu summary { height:44px;min-height:44px;max-height:44px;margin:0;font:650 13px/20px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif; }
body .g-nav .mobile-nav-button { width:44px;padding:10px; }
body .g-nav .site-static-menu summary { padding:12px 10px; }
body .g-nav.site-nav-light { color:#17293a;background:#fffdf8;border-bottom-color:#d6cbb8; }
body .g-nav.site-nav-light .site-logo img { filter:none; }
body .g-nav.site-nav-light .site-logo-fallback { color:#17293a; }
body .g-nav.site-nav-light .nav-links a { color:#17293a; }
body .g-nav.site-nav-light .nav-links a:hover { background:#07131f0d; }
body .g-nav.site-nav-light .nav-links a[aria-current="page"] { color:#07131f;background:#e0b458; }
body .g-nav.site-nav-light .mobile-nav-button { color:#17293a;background:transparent;border-color:#887747; }
@media(max-width:1280px) {
 body .g-nav { padding:6px 16px;gap:10px; }
 body .g-nav .nav-brand { width:100%;max-width:210px;min-width:0; }
 body .g-nav .site-logo { height:62px; }
}
@media(max-width:359px) { body .g-nav { padding-inline:10px;gap:6px; } }
@media(prefers-reduced-motion:reduce) { body .g-nav .nav-links a { transition:none; } }

body .g-nav .site-logo img { font:800 20px/24px system-ui,sans-serif;color:#f3efe4; }
body .g-nav.site-nav-light .nav-brand,body .g-nav.site-nav-light .site-logo img,body .g-nav.site-nav-light .site-static-menu summary { color:#17293a; }
