/* Header alignment and command controls; shared by both languages. */
.outer-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 20px;
}
.outer-header .concept { justify-self: center; }
.outer-header .direct { justify-self: end; margin: 0; max-width: none; white-space: nowrap; }
.outer-header .language-switch { justify-self: end; }
.command-line form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 44px;
  padding: 0;
  line-height: 1;
}
.command-line form button svg { display: block; flex-shrink: 0; }
.command-line input { flex: 1 1 0; width: 0; min-width: 0; }
@media (max-width: 1100px) {
  .outer-header { grid-template-columns: minmax(0, 1fr) auto auto; }
  .outer-header .concept { display: none; }
}
@media (max-width: 600px) {
  .outer-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 12px;
    height: auto;
    min-height: 94px;
    padding: 10px 0;
  }
  .outer-header .logo { grid-column: 1; grid-row: 1; margin: 0; }
  .outer-header .language-switch { grid-column: 2; grid-row: 1; order: initial; }
  .outer-header .direct {
    grid-column: 1 / -1;
    grid-row: 2;
    order: initial;
    justify-content: flex-end;
    justify-self: end;
    flex-basis: auto;
    margin: 0;
    padding: 4px 0;
  }
  .command-line form { gap: 6px; }
}
