/* Shared bar: pitch mark and wordmark on the left, language switch on the right. */

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/oswald-600-latin.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/ibm-plex-sans-500-latin.woff2") format("woff2");
}

.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  height: calc(48px + env(safe-area-inset-top, 0px));
  padding: env(safe-area-inset-top, 0px) 22px 0;
  background: #fff;
  border-bottom: 1px solid #D9DEE7;
  color: #14213D;
  font: 500 14px/1 "IBM Plex Sans", "Public Sans", system-ui, sans-serif;
}
.site-nav a { color: #14213D; text-decoration: none; }
.site-nav a:hover { color: #B3202E; }
.site-nav :focus-visible { outline: 2px solid #14213D; outline-offset: 3px; }
.site-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.02em;
}
.site-brand svg { display: block; flex: none; width: 34px; height: 18px; }
.site-links {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  overflow: visible;
  flex: none;
  scrollbar-width: none;
}
.site-links::-webkit-scrollbar { display: none; }
.site-links > a { display: none; }
.langs-tools > :nth-child(n+4) { display: none; }
.site-links a, .site-links .langs-tools { flex: none; white-space: nowrap; padding: 14px 0; }
.site-x { padding: 14px 0; }
.langs-tools { color: #4A5568; }
.langs-tools a { color: #4A5568; }
.langs-tools [aria-current="true"] { color: #14213D; font-weight: 600; }

body { padding-top: calc(48px + env(safe-area-inset-top, 0px)); }
.progress, .reading-line { top: calc(48px + env(safe-area-inset-top, 0px)); }
.contents { top: 68px; }

footer {
  position: static;
  height: auto;
  max-width: 1180px;
  margin: 48px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px 18px;
  box-sizing: border-box;
  padding: 22px 22px 32px;
  background: #fff;
  border-top: 1px solid #D9DEE7;
}
footer .footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  white-space: normal;
}
body { padding-bottom: 0; }

@media (max-width: 720px) {
  .site-nav {
    padding-left: 16px;
    padding-right: 16px;
    gap: 12px;
  }
  .site-brand { flex: 0 1 auto; min-width: 0; }
  .site-brand span {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media print {
  .site-nav { display: none !important; }
  body { padding-top: 0 !important; }
  footer { position: static; height: auto; }
}
