html {
  font-family: "Source Sans 3", Helvetica, Arial, sans-serif;
}

body {
  max-width: 100ch;
  margin: auto;
  padding: 0.6rem;

  line-height: 1.6;
}

*:target {
  background-color: #e2f8ec /*#cef0dd*/;
  border-radius: 0.25rem;
}

h1, h2, h3, h4, h5, h6, p, table, ul, ol {
  margin-top: 0;
  margin-bottom: 0.6rem;
}

h2, h3, h4, h5, h6 {
  width: fit-content;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}

h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited {
  color: inherit;
}

h2:target, h3:target, h4:target, h5:target, h6:target {
  background-color: inherit;
}

h2:target a, h3:target a, h4:target a, h5:target a, h6:target a {
  border-bottom: 2px solid #509a7f;
}

h2:target a:hover,
h3:target a:hover,
h4:target a:hover,
h5:target a:hover,
h6:target a:hover
{
  border-bottom: 2px solid #509a7f;
}

h2:has(> a):after,
h3:has(> a):after,
h4:has(> a):after,
h5:has(> a):after,
h6:has(> a):after
{
  color: #c1cdca;
  content: ' #';
}

h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  border-bottom: 2px solid #9fcbb3;
}

header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
}

a {
  color: #25815f;
}

ol, ul {
  padding-left: 1rem;
}

table {
  width: 100%;
  border-collapse: collapse;
}

thead {
  border-bottom: 1px solid #c1cdca;
}

th, td {
  text-align: left;
}
