:root {
  --color-bg: hsl(0, 0%, 10%);
  /* WARNING: MUST COPY THIS VALUE TO #color-scheme-dark IN head.html */
  --color-fg: hsl(0, 0%, 75%);
  --color-fg-deemphasize-text: rgb(128, 128, 128);
  --color-fg-deemphasize-nontext: rgb(54, 54, 54);
  --link-color: rgb(136, 74, 201);
  --anchor-target-bg-color: rgb(31, 18, 45);
  --color-warning-fg: rgba(251, 191, 36);
  --font-family-body: 'Roboto Mono', sans-serif;
  --font-family-headings: 'Major Mono Display', monospace;
  --font-family-glyphs: 'Astloch', monospace; }

/* Base styles
 */
html {
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  background: var(--color-bg);
  color: var(--color-fg); }

body {
  font-family: var(--font-family-body);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }

a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-color: var(--link-color);
  color: var(--color-fg);
  transition: color 0.2s; }

a:visited {
  color: var(--color-fg); }

a:hover {
  color: var(--link-color); }

a.bibliography-link sup {
  font-family: var(--font-family-glyphs); }

a.research-link sup {
  font-family: var(--font-family-glyphs); }

blockquote {
  margin: 1em 0 1em 1em;
  padding-left: 1em;
  border-left: 2px solid var(--color-fg-deemphasize-nontext); }

p + p {
  margin-top: 1em; }

hr {
  width: 50%;
  margin: 2em auto;
  color: var(--color-fg-deemphasize-nontext); }

/* Default: lists have vertical margin */
ul, ol, dl {
  margin-block: 2em; }

/* Exception: nested list directly inside a list item has no vertical margin */
li > ul,
li > ol,
li > dl,
dd > ul,
dd > ol,
dd > dl {
  margin-block: 0; }

ol {
  list-style-type: decimal; }

dl {
  margin: 2em 1em;
  padding: 1em;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
  border: 1px solid var(--color-fg-deemphasize-nontext); }

details {
  border: 1px solid var(--color-fg-deemphasize-nontext); }
  details summary {
    cursor: pointer;
    padding: 1em; }

.disquisition-title {
  margin: 1em auto 0.5em auto;
  font-family: var(--font-family-headings);
  text-align: center;
  font-size: 2.5em;
  margin-bottom: 1em; }
  .disquisition-title::first-letter {
    color: var(--link-color); }

.disquisition-post-title {
  margin: 1em auto 0.5em auto;
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 1.5em; }

.warning {
  color: var(--color-warning-fg); }

.cistercian {
  font-family: "Clairvo";
  font-weight: normal;
  font-size: .9em; }

main {
  margin: 0 auto;
  padding: 0 1em;
  overflow-y: auto;
  max-width: 42rem; }

sup {
  font-size: 0.8em;
  line-height: 0; }

.center {
  margin: 0 auto; }
  .center * {
    text-align: center; }

.placeholder {
  visibility: hidden; }

.hugo-content-end-glyph {
  padding-bottom: 1em; }

figure.hugo-image {
  padding: 1.5em 0; }
  figure.hugo-image img {
    width: 100%; }
  figure.hugo-image figcaption {
    font-size: 0.9em;
    color: var(--color-fg-deemphasize-text);
    text-align: center;
    margin-top: 0.5em; }

.svg-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor; }

body:not(.devmode-enabled) .devmode {
  display: none !important; }

@media (max-width: 650px) {
  .disquisition-title {
    font-size: 2em; } }

body.disquisition-ogimage {
  height: 100vh;
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 0;
  padding: 0; }
  body.disquisition-ogimage h1 {
    font-size: 4em;
    margin: 1em auto; }
  body.disquisition-ogimage time {
    font-size: 4em; }
  body.disquisition-ogimage .ogimage-description {
    font-size: 1.5em;
    margin: 0 auto; }
