/* header */
.hdr { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 26px; padding-bottom: 26px; }
.hdr-side { flex: 1 1 0; display: flex; align-items: center; gap: 16px; min-width: 0; }
.hdr-end { justify-content: flex-end; gap: 12px; }
.snav { display: flex; gap: 6px; }
.snav a { display: flex; flex-direction: column; gap: 2px; padding: 8px 16px; min-height: 48px; color: var(--text-2); border-bottom: 2px solid transparent; }
.snav a:hover { color: var(--title); }
.snav .sn-f { font-size: 10px; letter-spacing: .2em; color: var(--text-5); }
.snav .sn-l { font-size: 14px; letter-spacing: .2em; }
.snav a.is-live { color: var(--text); border-bottom-color: var(--alert); }
.snav a.is-live .sn-f { color: var(--alert); }
.hdr-con { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--line); background: transparent; color: var(--hilite); font-size: 20px; cursor: pointer; }
.hdr-con:hover, .hdr-con:focus-visible { border-color: var(--hilite); }
@media (max-width: 900px) { .snav { display: none; } }
@media (max-width: 600px) { .hdr { gap: 12px; } }

/* the bar that slides in once the header scrolls away (header.js) */
.sbar { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 54px; transform: translateY(-110%); visibility: hidden;
  transition: transform .22s ease, visibility 0s linear .22s; background: color-mix(in srgb, var(--bg-2) 96%, transparent);
  border-bottom: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.sbar.is-on { transform: none; visibility: visible; transition: transform .22s ease; }
.sb-in { height: 100%; display: flex; align-items: center; gap: 16px; }
.sbar .lgo { gap: 9px; align-items: center; flex: none; }
.sbar .lgo-mark { width: 21px; height: 26px; } .sbar .lgo-word { width: 74px; height: 20px; } .sbar .lgo-tag { display: none; }
.sbar .lgo-pic { width: 30px; height: 30px; } .sbar .lgo-name { font-size: 18px; letter-spacing: .26em; }
.sb-nav { gap: 2px; margin: 0 auto; }
.sb-nav a { flex-direction: row; align-items: center; gap: 7px; min-height: 54px; padding: 0 10px; }
.sb-nav .sn-f { font-size: 9px; } .sb-nav .sn-l { font-size: 12px; }
.sb-nav a.on { color: var(--title); border-bottom-color: var(--accent); } .sb-nav a.on .sn-f { color: var(--accent); }
.sb-jump { display: none; }
.sb-jump select { appearance: none; -webkit-appearance: none; height: 34px; padding: 0 28px 0 10px; border: 1px solid var(--line); border-radius: 0; color: var(--title);
  background: var(--bg) linear-gradient(45deg, transparent 50%, var(--accent) 50%) calc(100% - 12px) 50% / 6px 6px no-repeat; font: inherit; font-size: 12px; letter-spacing: .16em; }
.sb-np { height: 34px; flex: none; border: 1px solid var(--line-3); background: var(--bg-3); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.sb-np .np-b { height: 32px; } .sb-np .np-t { max-width: 150px; }
.sb-theme .thsel { min-height: 34px; }
.sb-con { width: 34px; height: 34px; font-size: 16px; flex: none; }
/* jumping to a section: land below the bar */
section[id], #top { scroll-margin-top: 62px; }
.sbar:has(.sb-nav a:nth-child(7)) .sb-nav a { padding: 0 8px; }
@media (max-width: 1500px) { .sbar:has(.sb-nav a:nth-child(7)) .np-t { display: none; } }   /* seven stations (Bea's): no room for the title */
@media (max-width: 1280px) { .sb-np .np-t { display: none; } }
@media (max-width: 1100px) { .sb-nav { display: none; } .sb-jump { display: block; margin-right: auto; } .sb-np .np-t { display: none; } }
@media (max-width: 600px) {
  .sb-in { gap: 10px; } .sbar .lgo-word, .sbar .lgo-name { display: none; } .sb-theme { display: none; }
  .sb-np .np-prev, .sb-np .np-next { display: none; } .sb-np .np-scope { width: 44px; margin: 0 8px 0 0; }
  .sb-jump select { max-width: 150px; }
}
@media (prefers-reduced-motion: reduce) { .sbar, .sbar.is-on { transition: none; } }
