/* Source Serif 4 version 4.004, upright Latin variable, Google Fonts distribution v15.
   https://fonts.gstatic.com/s/sourceserif4/v15/vEFI2_tTDB4M7-auWDN0ahZJW1gb8te1Xb7G.woff2
   SHA-256: 2a24bad466f09b88b8e9cbc488bf774117c912e66374c57bf4716855849143f8
   Copyright 2014 The Source Serif 4 Project Authors; SIL OFL 1.1, fonts/source-serif-4/OFL.txt. */
@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/source-serif-4/source-serif-4-latin-roman-variable.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
:root {
  /* Fullheart proper: fullhe.art docs/design/colors.md and shared tokens,
     source revision 3c8bd3f22127929947177de792de069f0fd837a0. */
  color-scheme: light;
  background: #F8F3E7;
  color: #36413E;
  font-family: system-ui, sans-serif;
  font-size: 112.5%;
  line-height: 1.7;
}
* { box-sizing: border-box; }
body { max-width: 46rem; margin: 0 auto; padding: 0 1.25rem; }
a { color: #3D6B64; text-underline-offset: .2em; font-family: system-ui, sans-serif; }
a:hover { text-decoration-thickness: .13em; }
a:focus-visible, [tabindex="-1"]:focus-visible {
  outline: 3px solid #557A71;
  outline-offset: 5px;
}
.skip { position: absolute; top: -10rem; background: #F8F3E7; padding: .5rem; }
.skip:focus { top: .5rem; }
header { padding: 2rem 0 1rem; border-bottom: 1px solid #E6DDC4; }
nav ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; list-style: none; padding: 0; }
nav a { display: inline-block; padding: .3rem 0; }
[aria-current="page"] { font-weight: bold; }
main { padding: 2rem 0; }
h1, h2 { font-weight: normal; line-height: 1.25; text-wrap: balance; }
h1 { font-size: 2.2rem; margin: .5rem 0 1.5rem; }
h2 { font-size: 1.4rem; margin-top: 2rem; }
p { margin: 1rem 0; }
.label, .meta, footer { font-family: system-ui, sans-serif; font-size: .85rem; }
.label { letter-spacing: .06em; }
/* Editorial accent: Fullheart core.terracottaDark, never a state or control. */
main:has(> .selection) > .label,
body:has(> main > #reading) > header > .label,
body:has(> main > .contents) > header > .label,
body:has(> main > #first-edition) > header > .label,
main > #first-edition,
.contents > li:has(> a)::marker { color: #9E3C28; }
body:has(> main > #reading) > header > .label { position: relative; }
body:has(> main > #reading) > header > .label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.35rem;
  width: 1.5rem;
  height: 1px;
  background: #9E3C28;
}
/* End editorial accent. */
.status { border-left: 3px solid #557A71; padding-left: 1rem; }
.meta { color: rgb(54 65 62 / .8); }
.contents { padding-left: 1.6rem; }
.contents li { padding: .5rem 0; }
.contents p { margin: .2rem 0; }
.selection { margin: 2rem 0; }
/* Editorial text only; functional pages and status/metadata remain sans. */
.selection,
main:has(.selection) > h1,
main:has(#reading) > :is(h1, h2, p) {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-optical-sizing: auto;
}
.selection p { white-space: pre-line; }
.attribution { border-top: 1px solid #E6DDC4; padding-top: 1rem; overflow-wrap: anywhere; }
code { overflow-wrap: anywhere; font-size: .85em; }
footer { border-top: 1px solid #E6DDC4; padding: 1rem 0 2rem; }
@media (max-width: 36rem) {
  h1 { font-size: 1.8rem; }
  header, main { padding-top: 1.25rem; }
}
@media print {
  :root { background: white; color: black; font-size: 11pt; }
  body { max-width: none; }
  .skip, nav { display: none; }
  a { color: inherit; }
}
