/* Public header appearance; weather-map and page palettes stay independent. */
:root {
  --header-background: #fff;
  --header-text: #263b40;
  --header-outline: #000;
  --header-logo-fill: #0050a2;
  --header-image: none;
  --header-brand-shadow: none;
  --header-nav-shadow: none;
  --header-server-shadow: none;
  --header-server-text: #263b40;
  --header-logo-inner: #fff;
  --header-motion: #263b40;
  --header-border-width: 0px;
  --header-border-color: transparent;
}
body.unified-page .floating-site-header,
body.unified-page.has-scrolled .floating-site-header {
  background-color: var(--header-background) !important;
  background-image: var(--header-image) !important;
  background-position: center !important;
  background-size: cover !important;
  border-color: var(--header-border-color) !important;
  border-width: var(--header-border-width) !important;
  color: var(--header-text);
}
body.unified-page .floating-site-header :is(.home-brand,.home-brand strong,.home-brand small,.floating-site-header__version,.floating-site-nav a,.header-server-status,.header-server-status small,.header-server-status strong,.lang-toggle) {
  color: var(--header-text) !important;
}
body.unified-page .floating-site-header :is(.home-brand__title,.floating-site-header__title){text-shadow:var(--header-brand-shadow)}
body.unified-page .floating-site-header :is(.floating-site-nav a,.lang-toggle){text-shadow:var(--header-nav-shadow)}
body.unified-page .floating-site-header :is(.header-server-status,.header-server-status small,.header-server-status strong){color:var(--header-server-text)!important;text-shadow:var(--header-server-shadow)}
body.unified-page .floating-site-header .server-signal i{background:var(--header-server-text);box-shadow:var(--header-signal-outline)}
body.unified-page:not([data-header-mode="classic"]) .floating-site-header :is(a,button):focus-visible {
  outline-color: var(--header-text) !important;
}
body.unified-page .floating-site-header .home-brand__mark {
  position:relative;background:none!important;-webkit-mask:none;mask:none;
}
body.unified-page .floating-site-header .home-brand__mark::before,
body.unified-page .floating-site-header .home-brand__mark::after {
  content:"";position:absolute;inset:0;
}
body.unified-page .floating-site-header .home-brand__mark::before {
  background:var(--header-logo-inner);
  -webkit-mask:url('/brand/logo-header-silhouette.svg') center / contain no-repeat;
  mask:url('/brand/logo-header-silhouette.svg') center / contain no-repeat;
}
body.unified-page .floating-site-header .home-brand__mark::after {
  background: var(--header-logo-fill);
  -webkit-mask: url('/brand/logo-header-mask.svg') center / contain no-repeat;
  mask: url('/brand/logo-header-mask.svg') center / contain no-repeat;
}
body.unified-page .floating-site-nav { border-top-color: color-mix(in srgb, var(--header-text) 35%, transparent) !important; }
body.unified-page .floating-site-nav i,
body.unified-page .header-server-status > b { background: color-mix(in srgb, var(--header-text) 40%, transparent) !important; }
body.unified-page .floating-site-nav a:hover,
body.unified-page .floating-site-nav a.is-current { color: var(--header-text) !important; opacity: 1; }
body.unified-page:not([data-header-mode="classic"]) .floating-site-nav a:hover { background-color: color-mix(in srgb, var(--header-text) 16%, transparent) !important; }
body.unified-page .floating-site-nav a:not(.is-current) { opacity: .84; }
body.unified-page .floating-site-nav a::after { background: var(--header-motion) !important; }
body.unified-page .floating-site-header .interaction-text {background-image:linear-gradient(var(--header-motion),var(--header-motion));}
body.unified-page .floating-site-header .interaction-border {color:var(--header-motion)!important;}
body.unified-page .floating-site-actions .lang-toggle { border-color: color-mix(in srgb, var(--header-text) 78%, transparent) !important; background: transparent !important; }
body.unified-page .floating-site-actions .lang-toggle { --motion-accent: var(--header-motion); }
body.unified-page .floating-site-actions .lang-toggle:hover { background: color-mix(in srgb, var(--header-text) 15%, transparent) !important; }
body.unified-page .floating-site-actions .header-server-status { display: grid; grid-template-columns: 17px auto 1px auto; align-items: center; gap: 8px; padding: 4px 0; text-decoration: none; }
.server-signal { display: flex; align-items: end; gap: 2px; height: 15px; width: 17px; }
.server-signal i { display: block; width: 4px; background: currentColor; opacity: .3; }
.server-signal i:nth-child(1) { height: 5px; }
.server-signal i:nth-child(2) { height: 10px; }
.server-signal i:nth-child(3) { height: 15px; }
.header-server-status[data-level="1"] .server-signal i:nth-child(1),
.header-server-status[data-level="2"] .server-signal i:nth-child(-n+2),
.header-server-status[data-level="3"] .server-signal i { opacity: 1; }
.header-server-status .header-server-copy,
.header-server-status .header-visit-copy { display: grid; gap: 2px; white-space: nowrap; }
.header-server-status small { font-size: 8px; line-height: 1; opacity: .82; }
.header-server-status strong { font-size: 10px; line-height: 1.1; }
.header-server-status > b { width: 1px; height: 25px; }
body[data-header-mode="classic"] .floating-site-header,
body[data-header-mode="classic"].has-scrolled .floating-site-header { background: var(--header-background) !important; }
body[data-header-mode="classic"] .floating-site-actions .lang-toggle { color: var(--header-text) !important; border-color: var(--header-text) !important; }
body[data-header-mode="classic"] .floating-site-actions .lang-toggle:hover { background: rgba(17,111,105,.08) !important; }
@media (max-width: 1080px) {
  body.unified-page .floating-site-actions .header-server-status { grid-template-columns: 17px auto; padding: 6px; border: 1px solid color-mix(in srgb, var(--header-text) 55%, transparent); }
  .header-server-status > b,.header-server-status .header-visit-copy { display: none !important; }
}
@media (max-width: 620px) {
  body.unified-page .floating-site-actions .header-server-status { grid-template-columns: 17px; width: 31px; height: 40px; padding: 0 6px; box-sizing: border-box; }
  .header-server-status .header-server-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
/* The preview is a real public header in its own desktop/mobile viewport. */
html.header-preview-page body > :not(.floating-site-header){display:none!important}
html.header-preview-page,html.header-preview-page body {min-height:0!important;overflow:hidden!important}
