@font-face {
  font-family: "Kelmscott Mono";
  src: url(/static/fonts/KelmscottMono.otf);
}

:root {
  --red1: #a20000;
  --red2: #c20000;
  --red3: #dd4444;
  --dark1: #071213;
  --dark2: #000000;
  --bright1: #aed3d4;
  --middle1: #3f7c59;
}

body {
  background-color: var(--dark2);
  color: var(--red3);
  font-family: monospace;
  font-size: 1.012rem;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}

main {
  margin: 2rem;
  width: 780px;
  max-width: calc(100vw - 4rem);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--bright1);
  margin-top: 2em;
  margin-left: 0.4rem;
}

code {
  background-color: var(--dark1);
  padding: 0.1rem;
  border-radius: 2px;
  color: var(--middle1);
}

ul {
  margin: 0;
}

a {
  color: #029cda;
  text-underline-offset: 2px;
}

a:visited {
  color: #9e3faa;
}

.doll-section {
  margin-left: 0.4rem;
}

.doll-inline {
  margin: 0.5rem 0;
}

.doll-code-block {
  background-color: var(--dark1);
  padding: 0.4rem 1rem;
  color: var(--middle1);
  border-left: 1px solid var(--red1);
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  overflow-x: scroll;
  tab-size: 2;
}

.doll-quote {
  margin: 1rem;
  margin-left: 0;
  padding-left: 1rem;
  width: fit-content;
}

.doll-quote blockquote {
  color: var(--bright1);
  background-color: var(--dark1);
  margin: 0;
  border-left: 2px solid var(--middle1);
  border-bottom: 1px dashed var(--middle1);
  padding: 0.5rem 1.15rem;
  width: fit-content;
}

.doll-quote figcaption {
  font-size: 0.8em;
  color: var(--dark2);
  background-color: var(--middle1);
  width: fit-content;
  padding: 2px 0.75ch 0 0.75ch;
}

.doll-quote figcaption + blockquote {
  border-top: 2px solid var(--middle1);
}

.mermaid {
  width: fit-content;
  color: var(--middle1);
  border: 1px solid var(--red1);
  padding: 0.5ch 0.5em;
}
