header {
  display: flex;
  align-items: center;
  min-height: 1.5rem;
  font-size: 0.8rem;
  color: rgb(from var(--color) r g b / 0.4);
  padding: 0.2rem var(--padding-x) 0.1rem;
  box-sizing: border-box;
}
header p {
  white-space: nowrap;
  margin: 0;
}
header .ref {
  flex: auto;
  overflow: hidden;
  text-overflow: ellipsis;
}
header .ref::before {
  content: "·";
  margin: 0 0.5rem;
}
header .logo {
  font-size: 0.75rem;
}
header .logo a {
  --spacing: 0.2em;
  display: inline-block;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: var(--spacing);
}
header .logo a span {
  display: inline-block;
  position: relative;
}
header .logo a::before {
  content: "⯊ ";
}
header .logo a:hover {
  text-decoration: none;
}
header .logo a:hover span::after {
  content: "";
  height: 0.05em;
  background: currentColor;
  position: absolute;
  inset: auto var(--spacing) 0 0;
}
header a.list {
  white-space: nowrap;
}
header nav {
  justify-content: flex-end;
  white-space: nowrap;
  padding: 0;
  margin-left: 2rem;
  margin-right: -1em;
}
header .logo + nav {
  flex: auto;
}
header nav .sep {
  margin: 0 0.2em;
}
header nav a {
  min-width: 3em;
  padding: 0.15em 0.5em;
}
header nav a:not([href]) {
  opacity: 0.75;
}
header nav a svg {
  stroke-width: 1;
}
header nav a[data-key="quit"] svg {
  stroke-width: 0.75;
}
header .source-details {
  flex: auto;
  display: flex;
  justify-content: flex-end;
}
header .source-details a:link,
header .source-details a:visited,
header .source-details a:focus,
header .source-details a:hover,
header .source-details a:active {
  color: var(--secondary-focus-color);
}
