@font-face { font-family: "Garamond"; font-weight: normal;
  src: url(fonts/EBGaramond-Medium.ttf); }
@font-face { font-family: "Garamond"; font-weight: bold; src: url(fonts/EBGaramond-Bold.ttf); }
@font-face { font-family: "Fell"; font-weight: normal;
  src: url(fonts/IMFellEnglish-Regular.ttf); }
body { font-family: Garamond, Georgia, serif; line-height: 1.4; margin: 0 4%; color: #1f1a14; }
p { text-align: justify; margin: 0 0 0.6em; }
p.head { font-size: 0.78em; letter-spacing: 0.2em; text-transform: uppercase;
  color: #453d33; text-align: center; margin: 2.8em 0 0.7em; }
section > p.head:first-child { margin-top: 1.4em; }
p.folio { font-size: 0.78em; letter-spacing: 0.18em; text-transform: uppercase;
  color: #453d33; margin: 0.4em 0 1em; border-bottom: 1px solid #c9bfae;
  padding-bottom: 0.4em; }
/* THE STEP (operator's Thorium finds, 2026-09-24): a reader's font-size
   setting is a zoom on the body in Readium, and every length inside —
   vh included — grows with it. A division by the percentage itself is
   not valid CSS (Thorium's Chromium dropped it), and a counter-zoomed
   box shrank its percentages there, so the step becomes a NUMBER by
   style queries on Thorium's own 12.5% slider steps, in BOTH spellings
   it stores (its buttons write "125.0%", its slider "125%"): real page
   lengths are `calc(Nvh / var(--sq-step))`. Unknown values fall back
   to 1 (the plain zoom behaviour). */
body { --sq-step: 1; }
/* THE PAGE (in the body's own units): the viewport over the step. Thorium
   pads the body 20px top and bottom with an injected rule of its own
   (measured: a dark strip on the facing page at 100%), so under its
   paged-mode root class the usable page is that much less. */
body { --sq-page: calc(100vh / var(--sq-step, 1)); }
:root.r2-css-paginated body { --sq-page: calc(100vh / var(--sq-step, 1) - 40px); }
@container style(--USER__fontSize: 75%) { body { --sq-step: 0.75; } }
@container style(--USER__fontSize: 75.0%) { body { --sq-step: 0.75; } }
@container style(--USER__fontSize: 87.5%) { body { --sq-step: 0.875; } }
@container style(--USER__fontSize: 112.5%) { body { --sq-step: 1.125; } }
@container style(--USER__fontSize: 125%) { body { --sq-step: 1.25; } }
@container style(--USER__fontSize: 125.0%) { body { --sq-step: 1.25; } }
@container style(--USER__fontSize: 137.5%) { body { --sq-step: 1.375; } }
@container style(--USER__fontSize: 150%) { body { --sq-step: 1.5; } }
@container style(--USER__fontSize: 150.0%) { body { --sq-step: 1.5; } }
@container style(--USER__fontSize: 162.5%) { body { --sq-step: 1.625; } }
@container style(--USER__fontSize: 175%) { body { --sq-step: 1.75; } }
@container style(--USER__fontSize: 175.0%) { body { --sq-step: 1.75; } }
@container style(--USER__fontSize: 187.5%) { body { --sq-step: 1.875; } }
@container style(--USER__fontSize: 200%) { body { --sq-step: 2; } }
@container style(--USER__fontSize: 200.0%) { body { --sq-step: 2; } }
@container style(--USER__fontSize: 212.5%) { body { --sq-step: 2.125; } }
@container style(--USER__fontSize: 225%) { body { --sq-step: 2.25; } }
@container style(--USER__fontSize: 225.0%) { body { --sq-step: 2.25; } }
@container style(--USER__fontSize: 237.5%) { body { --sq-step: 2.375; } }
@container style(--USER__fontSize: 250%) { body { --sq-step: 2.5; } }
@container style(--USER__fontSize: 250.0%) { body { --sq-step: 2.5; } }
@container style(--USER__fontSize: 262.5%) { body { --sq-step: 2.625; } }
@container style(--USER__fontSize: 275%) { body { --sq-step: 2.75; } }
@container style(--USER__fontSize: 275.0%) { body { --sq-step: 2.75; } }
@container style(--USER__fontSize: 287.5%) { body { --sq-step: 2.875; } }
@container style(--USER__fontSize: 300%) { body { --sq-step: 3; } }
@container style(--USER__fontSize: 300.0%) { body { --sq-step: 3; } }
@container style(--USER__fontSize: 312.5%) { body { --sq-step: 3.125; } }
@container style(--USER__fontSize: 325%) { body { --sq-step: 3.25; } }
@container style(--USER__fontSize: 325.0%) { body { --sq-step: 3.25; } }
@container style(--USER__fontSize: 337.5%) { body { --sq-step: 3.375; } }
@container style(--USER__fontSize: 350%) { body { --sq-step: 3.5; } }
@container style(--USER__fontSize: 350.0%) { body { --sq-step: 3.5; } }
@container style(--USER__fontSize: 362.5%) { body { --sq-step: 3.625; } }
@container style(--USER__fontSize: 375%) { body { --sq-step: 3.75; } }
@container style(--USER__fontSize: 375.0%) { body { --sq-step: 3.75; } }
@container style(--USER__fontSize: 387.5%) { body { --sq-step: 3.875; } }
@container style(--USER__fontSize: 400%) { body { --sq-step: 4; } }
@container style(--USER__fontSize: 400.0%) { body { --sq-step: 4; } }
/* THE PLATE PAGE: the plate stands at 95% of the real page height at
   every size, then a column break puts the words on the facing page —
   `break-after: column` ALONE; a `page-break-after: always` beside it
   maps to `page` and is ignored in paged columns (measured). */
div.plate { -webkit-column-break-after: always; break-after: column; }
img.plate { display: block; width: auto; max-width: 100%; margin: 0 auto;
  height: calc(var(--sq-page) * 0.92); }
p.hedera { text-align: center; color: #6b6257; margin: 1.1em 0 0.4em; font-size: 1.15em; }
p.road { font-weight: bold; margin: 0.35em 0; text-indent: -1em; padding-left: 1em;
  text-align: left; }
p.road a { color: inherit; text-decoration: none; }
p.end { font-family: Fell, serif; text-align: center; margin-top: 1.2em; font-size: 1.1em; }
/* The narrated EPUB's reading light: the prose being read, in a wash of
   the accent (Thorium and Apple Books add the class as they play). */
/* THE LIGHT: the accent's wash on the words being read (the narrator's,
   and any voice without a hue); a cast voice's run wears its own
   read-along hue — the rules per seat are written at bind. On a dark
   page the accent wash read as brown (operator, 2026-09-25), so the
   dark pages light with a pale wash of the page's own cream instead. */
/* The wash is an INSET BOX-SHADOW, not a background: Readium's night and
   sepia themes force every element's background transparent (Thorium's
   ReadiumCSS-after.css, `*:not(a) { background-color: transparent
   !important }`), which would put the light out; a shadow they leave
   alone, and an inset one with a spread beyond the box fills it exactly
   like a background, under the text. Night mode paints the pages black,
   so it takes the dark pages' cream wash and brighter hues. */
.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(232, 112, 58, 0.16); }
body.dark .-epub-media-overlay-active,
:root[style*="readium-night-on"] .-epub-media-overlay-active {
  box-shadow: inset 0 0 0 9999px rgba(247, 242, 232, 0.22); }
/* THE DARK PAGES (operator's Thorium finds, 2026-09-24): exactly one
   page, dark, with a WHITE facing page; the section paints itself, so
   nothing dark can reach the next page.
   The type follows the font setting, the wordmark (a percentage of
   the page) holds, and the opening gap — a percentage too — gives way
   as the type grows, with the gaps around the wordmark and before the
   site line held in real units. */
/* Sized like the plate — the page over the step — because a
   PERCENTAGE height inside the zoomed body resolved in zoomed units in
   the operator's Thorium (a dark strip spilled onto the facing page at
   112.5%) though not in the harness's Chromium; and never
   `overflow: hidden` here: a scroll container is MONOLITHIC in
   fragmentation, and one page tall plus a rounding hair got pushed
   whole onto the facing page. A hair short of the page, fragmentable,
   painting itself. */
body.dark { color: #f7f2e8; }
/* The type on the dark pages follows the font setting up to 137.5% and
   then holds (operator, 2026-09-24): a title page's few lines never
   leave their one dark page, so no spill lands as light words on the
   white facing page — and Thorium's body padding grows with the step,
   so the page itself shrinks as the type is held (measured to 400%).
   The story pages keep growing without limit. */
section.dark { font-size: calc(1em * min(1, calc(1.375 / var(--sq-step, 1))));
  height: calc(var(--sq-page) - 3px); box-sizing: border-box;
  background: #0b0b10; color: #f7f2e8; text-align: center;
  padding: 0 6% calc(2em / var(--sq-step, 1)); }
div.gap { height: calc(32% / var(--sq-step, 1) / var(--sq-step, 1) / var(--sq-step, 1)); }
section.dark p { text-align: center; }
h1.title { font-family: Fell, serif; font-weight: normal; font-size: 1.6em;
  margin: 1.2em 0 0.4em; text-align: center; }
/* The dark pages' air (operator, 2026-09-24): more room around the
   wordmark, and the site line set off from the words above it. */
img.mark { width: 55%; height: auto; display: block;
  margin: calc(3em / var(--sq-step, 1)) auto calc(2.4em / var(--sq-step, 1)); }
div.gap + img.mark { margin-top: 0; }
img.cover { display: block; width: 100%; height: auto; margin: 0; }
p.quiet { color: rgba(247, 242, 232, 0.6); }
p.quiet a { color: inherit; }
p.site { margin-top: calc(2.2em / var(--sq-step, 1)); }
div.member { margin: 1.6em 0; overflow: hidden; }
div.member img { float: left; width: 36%; height: auto; border-radius: 50%;
  border: 2px solid #453d33; margin: 0.2em 1em 0.5em 0; }
div.member h2 { font-family: Fell, serif; font-weight: normal; font-size: 1.35em;
  margin: 0 0 0.3em; text-align: left; }
p.lore-label { font-size: 0.72em; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: bold; margin: 0.8em 0 0.2em; text-align: left; }
p.lore { color: #6b6257; font-size: 0.94em; }
div.map { margin: 1.4em 0; text-align: center; page-break-inside: avoid; }
div.map img { width: 100%; height: auto; }
.v-attendant.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(213, 94, 0, 0.18); }
:root[style*="readium-night-on"] .v-attendant.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(213, 94, 0, 0.32); }
.v-ferryman.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(0, 114, 178, 0.18); }
:root[style*="readium-night-on"] .v-ferryman.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(0, 114, 178, 0.32); }
.v-mrs-gable.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(0, 158, 115, 0.18); }
:root[style*="readium-night-on"] .v-mrs-gable.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(0, 158, 115, 0.32); }
.v-navigator.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(204, 121, 167, 0.18); }
:root[style*="readium-night-on"] .v-navigator.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(204, 121, 167, 0.32); }
.v-reed-being.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(230, 159, 0, 0.18); }
:root[style*="readium-night-on"] .v-reed-being.-epub-media-overlay-active { box-shadow: inset 0 0 0 9999px rgba(230, 159, 0, 0.32); }
