:root {
    font-family: -apple-system, BlinkMacSystemFont, avenir next,
                 avenir, segoe ui, helvetica neue, helvetica, Cantarell,
                 Ubuntu, roboto, noto, arial, sans-serif;
    line-height: 1.5rem;
    font-size: 1rem;
    --max-width: 72ch;
}

* {
  max-width: var(--max-width);
}

html, body, div, header, main {
    max-width: none;
}

body {
    overflow-x: hidden;
}

hr {
    margin: 0;
    border: none;
    height: 0.2em;
    background-color: black;
}

form hr {
    height: 0.05em;
    background-color: grey;
}

nav {
    display: flex;
    list-style-type: none;
    gap: 1rem;
}

table {
    overflow-x: auto;
    max-width: 72ch;
    table-layout: fixed;
    border-collapse: collapse;
    text-align: left;
    border: thin dashed;
}

th, td  {
  padding: 0.5rem;
  border: thin dashed;
}

label, input, select, options {
    min-width: 18ch;
}

input {
    padding: 0.25em;
    width: 30ch;
}

select, #submit_button {
    padding: 0.25em;
    width: 31ch;
}

.stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.stack > * {
  margin-top: 0;
  margin-bottom: 0;
}

.stack > * + * {
  margin-top: 1em;
}

.center {
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--max-width);
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  justify-content: flex-start;
  align-items: center;
}
