/* Residual: book pages. Adapted from the EPUB stylesheet (writing/anvil-v3/book/epub.css). Book pages use _layouts/residual.html. */

.residual {
  max-width: 36em; margin: 0 auto;
  font-family: "Iowan Old Style", "Charter", Georgia, serif;
  font-size: 1.12rem; line-height: 1.6;
  -webkit-hyphens: auto; hyphens: auto;
}
.residual p { margin: 0; text-indent: 1.25em; }
.residual a { color: inherit; }

/* Chapter openers */
.residual h1.chapter {
  font-weight: normal; font-size: 1.8em; line-height: 1.25; letter-spacing: 0;
  margin: 1em 0 0.35em; -webkit-hyphens: none; hyphens: none;
}
.residual span.chnum {
  display: block; font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  font-size: 0.45em; letter-spacing: 0.18em; margin-bottom: 0.35em; opacity: 0.55;
}
.residual p.dateline { font-style: italic; font-size: 0.85em; text-indent: 0; margin: 0 0 2.2em; opacity: 0.8; }
.residual p.dateline + p, .residual h1 + p, .residual .doc + p,
.residual hr + p, .residual blockquote + p { text-indent: 0; }

/* Scene breaks */
.residual hr { border: none; background: none; margin: 1.5em 0; text-align: center; height: 1em; }
.residual hr::after { content: "\2022\2003\2022\2003\2022"; font-size: 0.6em; opacity: 0.5; }

/* Act pages */
.residual h1.act {
  font-weight: normal; font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  font-size: 0.8em; letter-spacing: 0.3em; text-transform: uppercase; text-align: center;
  margin: 3em 0 0.6em; opacity: 0.6;
}
.residual p.acttitle { font-size: 1.8em; text-align: center; text-indent: 0; margin: 0 0 2em; }
.residual blockquote {
  margin: 1.4em 0; padding: 0.9em 1em; border: none; color: inherit; font-style: normal; letter-spacing: 0;
  font-family: "Avenir Next", "Helvetica Neue", sans-serif; font-size: 0.8em; line-height: 1.45;
  background: rgba(128, 128, 128, 0.09); border-radius: 3px;
}
.residual blockquote p { text-indent: 0; margin: 0 0 0.6em; }
.residual blockquote p:first-child { font-weight: 600; font-size: 0.9em; letter-spacing: 0.02em; }
.residual blockquote p:last-child { margin-bottom: 0; }
.residual blockquote em { font-family: "Iowan Old Style", "Charter", Georgia, serif; font-size: 1.1em; }

/* Documents */
.residual .doc {
  font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  font-size: 0.78em; line-height: 1.4; font-variant-numeric: tabular-nums;
  margin: 1.4em 0; padding: 0.85em 1em; overflow-x: auto;
  background: rgba(128, 128, 128, 0.09); border-radius: 3px;
  -webkit-hyphens: none; hyphens: none;
}
.residual .doc p { text-indent: 0; margin: 0; }
.residual .doc .sp { height: 0.6em; }
.residual .doc .title, .residual .doc .cap:first-child { font-weight: 600; letter-spacing: 0.02em; margin-bottom: 0.5em; }
.residual .doc .cap { margin-bottom: 0.15em; }
.residual .doc .cap:last-child { margin-bottom: 0.6em; }
.residual .doc table { border: none; border-collapse: collapse; width: 100%; margin: 0; font-size: 1em; }
.residual .doc tr, .residual .doc tr:nth-child(even) { background: none; }
.residual .doc td, .residual .doc th {
  border: none; background: none; padding: 0.12em 0.7em 0.12em 0; vertical-align: top; text-align: left;
}
.residual .doc td:last-child, .residual .doc th:last-child { padding-right: 0; }
.residual .doc th { font-weight: 600; border-bottom: 1px solid rgba(128, 128, 128, 0.45); padding-bottom: 0.25em; }
.residual .doc tbody tr:first-child td { padding-top: 0.3em; }
.residual .doc td.n, .residual .doc th.n { text-align: right; }
.residual .doc.table td { white-space: nowrap; }
.residual .doc.table.wide { font-size: 0.72em; }
.residual .doc.table.xwide { font-size: 0.66em; }
.residual .doc.table.xwide td, .residual .doc.table.xwide th { padding-right: 0.4em; }
.residual .doc.table.wide td, .residual .doc.table.wide th { padding-right: 0.45em; }
.residual .doc td.k { opacity: 0.65; }
.residual .doc td.k.nw { white-space: nowrap; }
.residual .doc td.k.sub { padding-left: 1em; }
.residual .doc tr.sp td { height: 0.5em; }
.residual .doc .foot { margin-top: 0.6em; opacity: 0.8; }
.residual .doc .l { white-space: pre-wrap; padding-left: 1.5em; text-indent: -1.5em; }
.residual .doc.letter table.hdr { margin-bottom: 0.8em; width: auto; }
.residual .doc.letter p + p { margin-top: 0.15em; }
.residual .doc .quote { margin: 0.5em 0 0.5em 0.2em; padding-left: 0.8em; border-left: 2px solid rgba(128, 128, 128, 0.4); }
.residual .doc.cities table { width: auto; }

/* Previous / contents / next */
.residual-nav {
  display: flex; justify-content: space-between; gap: 1em;
  margin: 3em 0 1em; padding-top: 1em; border-top: 1px solid rgba(128, 128, 128, 0.3);
  font-family: "Avenir Next", "Helvetica Neue", sans-serif; font-size: 0.8em;
}
.residual-nav a { text-decoration: none; opacity: 0.75; }
.residual-nav a:hover { opacity: 1; text-decoration: underline; }
.residual-nav .next { text-align: right; }

/* Contents page */
.residual h1.titlepage {
  font-weight: normal; font-size: 2.2em; letter-spacing: 0.3em; text-align: center;
  text-transform: uppercase; margin: 1.5em 0 0;
}
.residual p.byline, .residual p.downloads { text-align: center; text-indent: 0; }
.residual p.byline { margin-top: 1em; font-size: 0.85em; letter-spacing: 0.12em; opacity: 0.7; }
.residual p.downloads { margin: 2em 0 1em; font-family: "Avenir Next", "Helvetica Neue", sans-serif; font-size: 0.85em; }
.residual h2.tact {
  margin: 2em 0 0.6em; font-weight: normal; font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  font-size: 0.75em; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.65;
}
.residual h2.tact a, .residual-index ol a { text-decoration: none; }
.residual h2.tact a:hover, .residual-index ol a:hover { text-decoration: underline; }
.residual-index ol { margin: 0 0 0 2em; font-variant-numeric: tabular-nums; }
.residual-index ol li { margin: 0.15em 0; }
.residual-index ol li::marker { opacity: 0.6; }
.residual p.rights {
  margin: 3em 0 1em; text-indent: 0; text-align: center; opacity: 0.7;
  font-family: "Avenir Next", "Helvetica Neue", sans-serif; font-size: 0.75em;
}
.residual p.rights { text-indent: 0; margin: 0 0 0.4em; }
