/* Header-only authority, loaded last on every template and early-return page.
   Body/sidebar/preview spacing belongs to its existing stylesheet. */
.site-header[data-shared-header]{display:flex;position:sticky;top:0;z-index:10;align-items:center;flex-wrap:nowrap;min-height:76px;height:auto;gap:20px;padding:10px 4%;border-bottom:1px solid var(--line);background:var(--bg);font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.site-header[data-shared-header] .brand{display:flex;align-items:center;flex-shrink:0;margin:0;font-size:19px;white-space:nowrap;gap:4px}
.site-header[data-shared-header] .brand>.xt-original-logo{margin-right:4px}
.site-header[data-shared-header] #navMenu{display:flex;flex-direction:row;flex:none;gap:24px;margin:0 auto;order:0}
.site-header[data-shared-header] #navMenu a{display:flex;align-items:center;min-height:44px;padding:10px 0;white-space:nowrap;font-size:13px}
.site-header[data-shared-header] #navMenu .mobile-download{display:none}
.site-header[data-shared-header] .download{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:9px 16px;white-space:nowrap}
.site-header[data-shared-header] #menu-toggle{display:none}
.site-header[data-shared-header] .xt-theme-picker{flex:0 1 auto;width:fit-content;min-width:0;margin:0;max-width:300px}
.site-header[data-shared-header] .xt-theme-current{max-width:none;white-space:normal;line-height:1.25}
.site-header[data-shared-header] .is-active{text-decoration:underline;text-underline-offset:5px}
.landing-section-nav{position:sticky;top:var(--landing-header-height,76px);z-index:9;display:flex;flex-wrap:nowrap;gap:24px;width:100%;max-width:none;margin:0;padding:4px 4%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;background:var(--bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.landing-section-nav a{display:inline-flex;flex:none;align-items:center;min-height:44px;padding:0;white-space:nowrap}
.landing-section-nav a:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
/* Landing only: internal article headers retain their existing landscape behavior. */
.has-landing-nav .site-header[data-shared-header]{position:sticky;padding-top:max(8px,env(safe-area-inset-top))}
html:has(.has-landing-nav){scroll-padding-top:var(--landing-bars-height,136px)}
.has-landing-nav main :is(.section-alias,#faq,#mcp){scroll-margin-top:16px}
@media(max-width:620px){.landing-section-nav{gap:20px;padding-inline:16px}}
@media(max-width:1150px){.site-header[data-shared-header]{gap:12px;padding-inline:24px}.site-header[data-shared-header] #navMenu{gap:14px}.site-header[data-shared-header] .xt-theme-picker{flex-basis:auto}}
/* Shared names remain readable; mobile uses a compact decorative palette. */
@media(max-width:900px),(max-height:500px) and (pointer:coarse){
 .site-header[data-shared-header]{display:flex;flex-wrap:wrap;min-height:60px;gap:2px;padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))}
 .site-header[data-shared-header] .brand{order:0;min-height:44px;font-size:16px;gap:4px;margin-right:auto}
 .site-header[data-shared-header] .brand>.xt-original-logo{width:24px;height:24px;margin-right:0}
 .site-header[data-shared-header] .language-picker{order:1;flex:none;margin:0}
 .site-header[data-shared-header] #language-toggle{min-height:44px;padding:8px 3px;font-size:14px;gap:4px;white-space:nowrap}
 .site-header[data-shared-header] .language-flag{width:16px;height:12px;flex:0 0 16px}
 .site-header[data-shared-header] .xt-theme-picker{order:2;flex:0 1 auto;width:auto;max-width:min(110px,calc(100vw - 238px));margin:0}
 .site-header[data-shared-header] .xt-theme-trigger{width:auto;min-height:44px;padding:8px 4px;gap:4px;justify-content:center;font-size:13px}
 .site-header[data-shared-header] .xt-theme-trigger .xt-theme-swatch{width:12px;min-width:12px;height:16px}
 .site-header[data-shared-header] .xt-theme-current{max-width:64px;overflow-wrap:anywhere}
 .site-header[data-shared-header] #menu-toggle{order:3;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:10px}
 .site-header[data-shared-header] #navMenu{order:4;flex:0 0 100%;display:none;margin:0;flex-direction:column;gap:0;max-height:calc(100dvh - 76px);overflow:auto}
 .site-header[data-shared-header] #navMenu:not([hidden]){display:flex}
 /* Native no-JS navigation stays visible. With scripting, reserve the closed
    state before deferred site.js sets data-motion; do not interrupt animations. */
 @media(scripting:enabled){
  .site-header[data-shared-header] #navMenu:not([data-motion]){display:none}
  .site-header[data-shared-header] [data-theme-picker]{order:2;width:108px;min-height:44px;flex:0 0 108px}
 }
 @media(scripting:none){.site-header[data-shared-header] #menu-toggle{display:none}}
 .site-header[data-shared-header] #navMenu .mobile-download{display:flex;justify-content:center}
 .site-header[data-shared-header] .download{display:none}
 .landing-section-nav{display:none}
 .site-header[data-shared-header] #navMenu .landing-section-nav{display:flex;position:static;flex-direction:column;gap:0;padding:0;border:0;overflow:visible}
}
@media(max-height:500px) and (pointer:coarse){.site-header[data-shared-header]{position:relative}}
/* Phone utility row: compact language, readable theme, full touch targets.
   Full language/theme names remain in accessible labels and their menus. */
@media(max-width:620px){
 .site-header[data-shared-header]{gap:4px;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
 .site-header[data-shared-header] #language-toggle{width:44px;min-width:44px;justify-content:center;padding:10px;background:transparent;border-color:transparent}
 .site-header[data-shared-header] .language-current{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .site-header[data-shared-header] .language-flag{width:20px;height:14px;flex-basis:20px}
 .site-header[data-shared-header] .xt-theme-picker{flex:0 1 auto;max-width:108px}
 .site-header[data-shared-header] .xt-theme-trigger{min-width:44px;max-width:108px;gap:6px;padding:8px;background:transparent;border-color:transparent;font-size:14px}
 .site-header[data-shared-header] .xt-theme-current{min-width:0;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;line-height:1.4}
 .site-header[data-shared-header] .xt-theme-trigger:is(:hover,:focus-visible,[aria-expanded=true]),.site-header[data-shared-header] #language-toggle:is(:hover,:focus-visible,[aria-expanded=true]){background:var(--surface);border-color:var(--focus)}
}
