/* Shared foundation: pages opt in with the verum class on <html>. */
:root:where(.verum) {
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas,
          "Liberation Mono", Monaco, "Courier New", monospace;
  --serif: "Iowan Old Style","Palatino Linotype",Palatino,Garamond,serif;
}

/* Main-site palette; independent of the presentation family. */
:root:where(.verum-main) {
  --bg: #fdfdfd;
  --ink: #111;
  --muted: #777;
}

:where(.verum) body {
  margin: 0 auto;
  padding: 40px 20px;
  background: var(--bg);
  color: var(--ink);
  max-width: 820px;
  text-align: left;
}

:where(.verum) .ui {
  font-family: var(--mono);
}

/* Prose family. :where() scopes rules without raising specificity. */
:where(.verum-prose) body {
  font-family: var(--serif);
  line-height: 1.6;
}

:where(.verum-prose) a.ui {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

:where(.verum-prose) a.ui:hover,
:where(.verum-prose) a.ui:focus {
  text-decoration: underline;
  text-underline-offset: 2px;
}

:where(.verum-prose) .meta {
  color: var(--muted);
  font-size: 0.95rem;
  margin-bottom: 22px;
}

:where(.verum-prose) h1 {
  font-size: 28px;
  line-height: 1.2;
  margin: 12px 0 10px;
}

:where(.verum-prose) p {
  margin: 0 0 1.1rem;
  font-size: 18px;
}

:where(.verum-prose) .contrib {
  margin-top: 2rem;
}
