/* Self-hosted fonts (SIL OFL — see fonts/OFL-*.txt). Full builds, not
   subsets: Google Fonts' unicode-range slices drop the combining IPA
   diacritics (e̞, n̪), which renders as boxes in Chromium. */
@font-face {
  font-family: "Fraunces";
  src: url("fonts/Fraunces.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("fonts/Fraunces-Italic.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("fonts/SourceSans3-Italic.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Gentium Plus";
  src: url("fonts/GentiumPlus-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gentium Plus";
  src: url("fonts/GentiumPlus-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --paper: #f5f1e8;
  --paper-raised: #faf7f0;
  --ink: #26332c;
  --muted: #6b7268;
  --sage: #7a8b6f;
  --gold: #b0975b;
  --hairline: #ddd6c6;
  --phi-inline-bg: #e1e6db;
  --serif: "Fraunces", georgia, serif;
  --sans: "Source Sans 3", system-ui, sans-serif;
  --ipa: "Gentium Plus", "Charis SIL", serif;
}

* { box-sizing: border-box; }

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Root size in percent so browser font settings scale the whole site;
   130% of the 16px default gives a ~21px base for comfortable reading. */
html { font-size: 130%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
}

header { text-align: center; padding: 3.5rem 1rem 0; }
.mark {
  font-family: var(--serif);
  font-weight: 350;
  font-size: 3rem;
  letter-spacing: .35em;
  margin: 0 0 .3rem .35em; /* re-center against tracking */
}
.sub { color: var(--muted); margin: 0; font-size: .95rem; }

main { max-width: 44rem; margin: 0 auto; padding: 1.75rem 1.25rem 4rem; }

.searchbar input {
  width: 100%;
  font: inherit;
  font-size: 1.05rem;
  color: var(--ink);
  background: var(--paper-raised);
  border: 1px solid var(--hairline);
  border-radius: 2px;
  padding: .75rem 1rem;
  outline: none;
}
.searchbar input:focus { border-color: var(--sage); }
.searchbar input::placeholder { color: var(--muted); opacity: .7; }

.search-controls {
  margin-top: .6rem;
}
.search-field {
  display: grid;
  grid-template-columns: auto 16rem;
  gap: .4rem;
  align-items: center;
  justify-content: start;
}
.search-field > span,
.filter-heading > span,
.filter-field > span {
  color: var(--muted);
  font-size: .78rem;
}
.search-controls select,
.search-controls button {
  font: inherit;
  font-size: .85rem;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--hairline);
  border-radius: 2px;
  padding: .3rem .55rem;
}
.search-controls select:focus,
.search-controls button:hover { border-color: var(--sage); outline: none; }
.search-controls select:focus-visible,
.search-controls button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.search-controls select:disabled { color: var(--muted); cursor: not-allowed; }
.filters { margin-top: 1rem; }
.filter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .35rem;
}
.filter-heading button { color: var(--muted); cursor: pointer; }
.filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem .75rem;
}
.filter-field {
  display: grid;
  gap: .15rem;
  min-width: 0;
}
.filter-field select { width: 100%; min-width: 0; }
.filter-field:has(select:disabled) { opacity: .5; }

.status { color: var(--muted); font-size: .85rem; text-align: center; min-height: 1.2em; margin: 1.4rem 0 .8rem; }

.results { list-style: none; margin: 0; padding: 0; }
.results > li { border-bottom: 1px solid var(--hairline); }

.entry-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .35rem 1rem;
  align-items: baseline;
  width: 100%;
  padding: 1rem .25rem;
  background: none;
  border: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.entry-head:hover .w { color: var(--sage); }
.entry-head .w {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.45rem;
  line-height: 1.1;
}
.entry-head .g { color: var(--ink); }
.entry-head .pos { color: var(--muted); font-size: .8rem; letter-spacing: .05em; }
.entry-head .ipa-line {
  grid-column: 1 / -1;
  font-family: var(--ipa);
  color: var(--muted);
  font-size: .95rem;
}
.entry-head .syll { margin-left: 1rem; letter-spacing: .06em; }

.entry-body { padding: 0 .25rem 1.4rem; max-width: 40rem; }
.entry-body h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.02rem;
  margin: 1.1rem 0 .25rem;
}
.entry-body p { margin: .25rem 0; }
.entry-body .concept { font-style: italic; color: var(--muted); margin-top: 0; }
.entry-body .phi { font-family: var(--serif); font-style: italic; color: var(--sage); }
.entry-body .rule-note {
  font-style: italic;
  color: var(--muted);
  border-left: 2px solid var(--gold);
  padding-left: .7rem;
  margin: .8rem 0;
}
.entry-body .example {
  border-left: 2px solid var(--hairline);
  margin: .65rem 0;
  padding-left: .7rem;
}
.entry-body .example .phi-line { color: var(--sage); font-family: var(--serif); font-size: 1.02rem; }
.entry-body .example .gloss-line { color: var(--muted); font-size: .82rem; }
.entry-body .example .translation { font-style: italic; }
.pillar { margin: .35rem 0; }
.pillar b { font-weight: 600; font-size: .82rem; letter-spacing: .04em; color: var(--sage); display: block; }
.tagrow { margin-top: 1rem; }
.tag {
  display: inline-block;
  font-size: .78rem;
  color: var(--muted);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  padding: .05rem .6rem;
  margin: 0 .3rem .3rem 0;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .2rem;
  min-height: 2.2rem;
}
.pagination[hidden] { display: none; }
.pagination-top { margin: 0 0 .8rem; }
.pagination-bottom { margin: 1.5rem 0 0; }
.page-button, .page-current {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  font: inherit;
  font-size: .9rem;
  line-height: 1;
  border-radius: 2px;
}
.page-button {
  color: var(--sage);
  background: none;
  border: 1px solid var(--hairline);
  padding: 0;
  cursor: pointer;
}
.page-button:hover { border-color: var(--sage); }
.page-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.page-button:disabled { color: var(--muted); cursor: default; opacity: .35; }
.page-button:disabled:hover { border-color: var(--hairline); }
.page-current {
  color: var(--ink);
  background: var(--paper-raised);
  border: 1px solid var(--sage);
  font-weight: 600;
}
.page-ellipsis {
  width: 1.2rem;
  color: var(--muted);
  text-align: center;
}
.results:focus { outline: none; }

footer {
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .85rem;
  text-align: center;
  padding: 1.4rem 1rem 2.5rem;
}
footer a { color: var(--sage); }

@media (max-width: 560px) {
  .search-field { grid-template-columns: 1fr; gap: .15rem; }
  .search-field select { width: 100%; min-width: 0; }
  .filter-grid { grid-template-columns: 1fr; }
  .pagination { gap: .15rem; }
  .page-button, .page-current { width: 1.75rem; height: 1.9rem; }
  .page-ellipsis { width: .85rem; }
  .entry-head { grid-template-columns: 1fr auto; }
  .entry-head .g { grid-column: 1 / -1; }
}

/* --- the landing page (kia.md, rendered) --- */
.landing main { max-width: 40rem; padding-top: 3.5rem; }
.landing h1 {
  font-family: var(--serif);
  font-weight: 350;
  font-size: 3rem;
  letter-spacing: .35em;
  text-align: center;
  margin: 0 0 2rem .35em;
}
.landing h2 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 1.35rem;
  margin: 2.2rem 0 .6rem;
}
.landing p { margin: .8rem 0; }
.landing strong { font-family: var(--serif); color: var(--sage); font-weight: 600; }
.landing em { font-style: italic; }
.landing blockquote {
  margin: 1.2rem 0 1.2rem 1rem;
  padding-left: 1rem;
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  line-height: 1.9;
}
.landing hr { border: none; border-top: 1px solid var(--hairline); margin: 2rem auto; max-width: 26rem; }
.landing a { color: var(--sage); }
.landing .doorlink { text-align: center; margin-top: 2.5rem; font-size: 1.1rem; }

/* --- Kia: the light threshold into Phi --- */
.kia-threshold-page main {
  max-width: 60rem;
  min-width: 0;
  padding-top: 2.25rem;
  width: 100%;
}
.kia-threshold-work {
  line-height: 1.68;
  margin: 0 auto;
  max-width: 50rem;
  min-width: 0;
}
.kia-hero {
  margin: 0 auto;
  max-width: 42rem;
  padding: .45rem 0 1.3rem;
  text-align: center;
}
.kia-hero-frame {
  border-top: 1px solid var(--gold);
  margin: 0 auto;
  max-width: 32rem;
  padding: 1.55rem 2.6rem 1.95rem;
  position: relative;
}
.kia-hero-frame::before,
.kia-hero-frame::after {
  background: var(--gold);
  content: "";
  height: calc(100% + .8rem);
  position: absolute;
  top: 0;
  width: 1px;
}
.kia-hero-frame::before { left: 0; }
.kia-hero-frame::after { right: 0; }
.kia-hero-label {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
  margin: 0;
}
.kia-hero-hand {
  color: var(--sage);
  font-size: 2.15rem;
  line-height: 1;
  margin: .7rem auto .35rem;
}
.kia-hero-hand .teng-svg { display: block; margin: 0 auto; }
.kia-threshold-page .kia-hero h1 {
  color: var(--ink);
  font-size: 4.2rem;
  font-weight: 350;
  letter-spacing: 0;
  line-height: .95;
  margin: .25rem 0 1rem;
}
.kia-hero-greeting p {
  font-family: var(--serif);
  font-size: 1.06rem;
  line-height: 1.56;
  margin: 0;
}
.kia-opening {
  margin: 1.9rem auto 3.5rem;
  max-width: 38rem;
}
.kia-opening p:first-child {
  font-family: var(--serif);
  font-size: 1.22rem;
  line-height: 1.68;
}
.kia-threshold-page p { overflow-wrap: anywhere; }
.kia-threshold-page p .kia-phi {
  -webkit-box-decoration-break: clone;
  background: var(--phi-inline-bg);
  border-radius: 5px;
  box-decoration-break: clone;
  color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", consolas, monospace;
  font-size: .9em;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: .18em .4em .22em;
}
.kia-encounter,
.kia-doors-section {
  border-top: 1px solid var(--hairline);
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  margin-top: 3.4rem;
  padding-top: .9rem;
}
.kia-section-header {
  align-items: baseline;
  display: grid;
  gap: 0;
  grid-column: 1 / -1;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  padding: 0;
  text-align: left;
}
.kia-section-number {
  color: var(--gold);
  font-size: .67rem;
  font-weight: 650;
}
.kia-threshold-page .kia-section-header h2 {
  color: var(--ink);
  font-size: 1.65rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0 0 .65rem;
}
.kia-section-copy {
  grid-column: 2;
  max-width: 38rem;
}
.kia-threshold-page .kia-section-copy > p:first-child { margin-top: 0; }
.kia-threshold-page .kia-section-copy blockquote {
  background: var(--paper-raised);
  border-left-color: var(--gold);
  margin: 1.2rem 0 1.35rem;
  padding: .9rem 1rem;
}
.kia-threshold-page .kia-section-copy blockquote .kia-phi {
  background: none;
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.04rem;
  font-weight: 600;
  padding: 0;
}
.kia-doors-section { margin-top: 4.4rem; }
.kia-doors {
  grid-column: 1 / -1;
  margin-top: .65rem;
}
.kia-door-list {
  border-top: 1px solid var(--hairline);
  counter-reset: kia-door;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.kia-door-item {
  border-bottom: 1px solid var(--hairline);
  counter-increment: kia-door;
  min-width: 0;
}
.kia-door-item:nth-child(odd) { border-right: 1px solid var(--hairline); }
.kia-door-item:last-child {
  border-right: 0;
  grid-column: 1 / -1;
}
.kia-threshold-page .kia-door {
  align-items: start;
  color: var(--ink);
  display: grid;
  gap: .8rem;
  grid-template-columns: 1.7rem minmax(0, 1fr) 1rem;
  height: 100%;
  padding: 1rem;
  text-decoration: none;
}
.kia-door::before {
  color: var(--gold);
  content: counter(kia-door, decimal-leading-zero);
  font-size: .64rem;
  font-weight: 650;
  padding-top: .28rem;
}
.kia-threshold-page .kia-door:hover {
  background: var(--paper-raised);
  color: var(--ink);
}
.kia-door:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}
.kia-door-copy {
  line-height: 1.5;
  min-width: 0;
}
.kia-door-name {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 650;
}
.kia-door-arrow {
  color: var(--sage);
  font-family: var(--sans);
  text-align: right;
}
.kia-farewell {
  margin: 4.2rem auto 0;
  max-width: 34rem;
  padding: 2.2rem 1rem 1rem;
  position: relative;
  text-align: center;
}
.kia-farewell::before {
  background: var(--gold);
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  width: 5rem;
  transform: translateX(-50%);
}
.kia-farewell-hand {
  color: var(--sage);
  font-size: 2.3rem;
  line-height: 1;
  margin: 0 auto 1rem;
}
.kia-farewell-hand .teng-svg { display: block; margin: 0 auto; }
.kia-farewell p {
  font-family: var(--serif);
  font-size: 1.12rem;
}
.kia-farewell p .kia-phi {
  background: none;
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1em;
  font-weight: 650;
  padding: 0;
}

@media (max-width: 760px) {
  .kia-door-list { grid-template-columns: minmax(0, 1fr); }
  .kia-door-item:nth-child(odd) { border-right: 0; }
  .kia-door-item:last-child { grid-column: 1; }
}

@media (max-width: 560px) {
  .kia-threshold-page main { padding-top: 2rem; }
  .kia-hero { padding-top: .35rem; }
  .kia-hero-frame { padding: 1.4rem 1.25rem 1.8rem; }
  .kia-hero-hand { font-size: 2rem; }
  .kia-threshold-page .kia-hero h1 { font-size: 3.8rem; }
  .kia-hero-greeting p { font-size: 1.02rem; }
  .kia-opening { margin-bottom: 3.2rem; }
  .kia-opening p:first-child { font-size: 1.1rem; }
  .kia-encounter,
  .kia-doors-section {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 3rem;
  }
  .kia-section-header {
    gap: .65rem;
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .kia-threshold-page .kia-section-header h2 { font-size: 1.42rem; }
  .kia-section-copy {
    grid-column: 1 / -1;
    margin-top: .2rem;
  }
  .kia-threshold-page .kia-section-copy blockquote {
    margin-left: -.35rem;
    margin-right: -.35rem;
  }
  .kia-threshold-page .kia-door {
    gap: .6rem;
    grid-template-columns: 1.5rem minmax(0, 1fr) .9rem;
    padding: .9rem .55rem;
  }
  .kia-farewell { margin-top: 3.4rem; }
  .kia-farewell-hand { font-size: 1.8rem; }
}

@media print {
  body.kia-threshold-page {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    --phi-inline-bg: transparent;
    font-size: 11pt;
  }
  .kia-threshold-page .topnav,
  .kia-threshold-page footer { display: none; }
  .kia-threshold-page main {
    max-width: none;
    padding: 0;
  }
  .kia-threshold-work { max-width: none; }
  .kia-hero { padding-top: 0; }
  .kia-door-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kia-door { background: none; }
  .kia-encounter,
  .kia-door-item,
  .kia-farewell { break-inside: avoid; }
}

/* --- Walk: the Short Road as one continuous route --- */
.short-road-page main {
  max-width: 60rem;
  min-width: 0;
  padding-top: 2.75rem;
  width: 100%;
}
.walk-work {
  line-height: 1.68;
  margin: 0 auto;
  max-width: 50rem;
  min-width: 0;
}
.walk-header {
  border-bottom: 1px solid var(--hairline);
  padding: 0 0 1.45rem;
  text-align: left;
}
.walk-kicker {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: .7rem;
  font-weight: 650;
  gap: .65rem;
  margin: 0 0 .65rem;
}
.walk-kicker-sep {
  color: var(--gold);
}
.walk-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 6rem;
}
.short-road-page .walk-title-row h1 {
  color: var(--ink);
  font-size: 3.35rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-align: left;
}
.walk-route-motif {
  align-self: center;
  background: var(--sage);
  height: 4.2rem;
  justify-self: end;
  width: 4.2rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2719%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M9%2019h8.5a3.5%203.5%200%200%200%200-7h-11a3.5%203.5%200%200%201%200-7H15%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%275%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2719%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M9%2019h8.5a3.5%203.5%200%200%200%200-7h-11a3.5%203.5%200%200%201%200-7H15%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%275%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.walk-lede {
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.68;
  margin-top: 1.1rem;
  max-width: 41rem;
}
.walk-lede p { margin: 0; }
.walk-route-map {
  margin: 1.4rem 0 1.9rem;
  overflow: hidden;
}
.walk-route-map ol {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.walk-route-map ol::before {
  background: var(--hairline);
  content: "";
  height: 1px;
  left: 4%;
  position: absolute;
  right: 4%;
  top: 50%;
}
.walk-route-map li {
  display: grid;
  place-items: center;
  position: relative;
}
.walk-route-map a {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--hairline);
  border-radius: 50%;
  color: var(--muted);
  display: inline-flex;
  font-size: .58rem;
  font-weight: 650;
  height: 1.8rem;
  justify-content: center;
  text-decoration: none;
  width: 1.8rem;
}
.walk-route-map a:hover {
  border-color: var(--sage);
  color: var(--ink);
}
.walk-route-map a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.walk-stage {
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  padding: 1.4rem 0 3.2rem;
  position: relative;
}
.walk-stage::before {
  background: var(--hairline);
  bottom: 0;
  content: "";
  left: 1.05rem;
  position: absolute;
  top: 0;
  width: 1px;
}
.walk-stage-first::before { top: 1.05rem; }
.walk-stage-last::before { bottom: calc(100% - 1.05rem); }
.walk-stage-marker {
  grid-column: 1;
  position: relative;
  z-index: 1;
}
.walk-stage-marker span {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  display: inline-flex;
  font-size: .58rem;
  font-weight: 650;
  height: 2.1rem;
  justify-content: center;
  width: 2.1rem;
}
.walk-stage-copy {
  grid-column: 2;
  max-width: 39rem;
  min-width: 0;
}
.short-road-page .walk-stage-copy h2 {
  color: var(--ink);
  font-size: 1.7rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.18;
  margin: .1rem 0 .8rem;
}
.walk-stage-copy p { overflow-wrap: anywhere; }
.walk-stage-copy > p:first-of-type { margin-top: 0; }
.short-road-page p .walk-phi {
  -webkit-box-decoration-break: clone;
  background: var(--phi-inline-bg);
  border-radius: 5px;
  box-decoration-break: clone;
  color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", consolas, monospace;
  font-size: .9em;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: .18em .4em .22em;
  white-space: normal;
}
.walk-example,
.walk-example-set {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  margin: 1.2rem 0 1.35rem;
}
.walk-example { padding: .85rem 1rem .9rem; }
.walk-example-set { padding: .25rem 0; }
.walk-example-set .walk-example {
  background: none;
  border-left: 0;
  margin: 0;
  padding: .75rem 1rem .8rem;
}
.walk-example-set .walk-example + .walk-example {
  border-top: 1px solid var(--hairline);
}
.walk-phi-line {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.07rem;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.walk-gloss-line {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .71rem;
  line-height: 1.45;
  margin-top: .12rem;
  overflow-wrap: anywhere;
}
.walk-example figcaption {
  font-family: var(--serif);
  font-size: .9rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: .3rem;
}
.walk-closing-invitation {
  margin: 2.4rem auto .4rem;
  max-width: 25rem;
  padding: 1.8rem 1rem 0;
  position: relative;
  text-align: center;
}
.walk-closing-invitation::before {
  background: var(--gold);
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 4.5rem;
}
.walk-closing-hand {
  color: var(--sage);
  font-size: 2.3rem;
  line-height: 1;
  margin-bottom: .8rem;
}
.walk-closing-hand .teng-svg { display: block; margin: 0 auto; }
.walk-closing-phi {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 650;
}
.walk-closing-gloss {
  color: var(--muted);
  font-size: .68rem;
  margin-top: .1rem;
}
.walk-closing-invitation figcaption {
  font-family: var(--serif);
  font-size: .95rem;
  font-style: italic;
  margin-top: .25rem;
}

@media (max-width: 760px) {
  .walk-route-map ol {
    gap: .6rem 0;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .walk-route-map ol::before { display: none; }
  .walk-route-map li {
    border-top: 1px solid var(--hairline);
    padding-top: .55rem;
  }
}

@media (max-width: 560px) {
  .short-road-page main { padding-top: 2rem; }
  .walk-title-row {
    gap: .8rem;
    grid-template-columns: minmax(0, 1fr) 4rem;
  }
  .short-road-page .walk-title-row h1 { font-size: 2.65rem; }
  .walk-route-motif {
    height: 3.2rem;
    width: 3.2rem;
  }
  .walk-lede { font-size: 1.03rem; }
  .walk-stage {
    grid-template-columns: 2.7rem minmax(0, 1fr);
    padding-bottom: 2.7rem;
  }
  .walk-stage::before { left: .85rem; }
  .walk-stage-first::before { top: .85rem; }
  .walk-stage-last::before { bottom: calc(100% - .85rem); }
  .walk-stage-marker span {
    height: 1.7rem;
    width: 1.7rem;
  }
  .short-road-page .walk-stage-copy h2 { font-size: 1.42rem; }
  .walk-example,
  .walk-example-set {
    margin-left: -.25rem;
    margin-right: 0;
  }
  .walk-example { padding: .75rem .75rem .8rem; }
  .walk-example-set .walk-example { padding: .7rem .75rem .75rem; }
  .walk-closing-hand { font-size: 1.85rem; }
}

@media print {
  body.short-road-page {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    --phi-inline-bg: transparent;
    font-size: 11pt;
  }
  .short-road-page .topnav,
  .short-road-page footer,
  .walk-route-map { display: none; }
  .short-road-page main {
    max-width: none;
    padding: 0;
  }
  .walk-work { max-width: none; }
  .walk-stage {
    grid-template-columns: 2.5em minmax(0, 1fr);
    padding-bottom: 1.8em;
  }
  .walk-stage::before { display: none; }
  .walk-stage-marker span {
    border: 0;
    height: auto;
    width: auto;
  }
  .short-road-page .walk-stage-copy h2 { break-after: avoid; }
  .walk-example,
  .walk-example-set,
  .walk-closing-invitation { break-inside: avoid; }
  .walk-example,
  .walk-example-set { background: none; }
}

/* --- top navigation, both pages --- */
.topnav {
  text-align: center;
  padding: 1rem 1rem .95rem;
  border-bottom: 1px solid var(--hairline);
  font-family: var(--serif);
  font-size: .95rem;
  letter-spacing: .12em;
}
.topnav a, .topnav .here { margin: 0 .65rem; }
.topnav a { color: var(--sage); text-decoration: none; }
.topnav a:hover { color: var(--ink); }
.topnav .here { color: var(--ink); font-weight: 600; }
.topnav a.here { color: var(--ink); }
.topnav .sep { color: var(--gold); opacity: .75; }

/* --- the primer reader --- */
.primer main { max-width: 38rem; }
.primer h1 { font-size: 2rem; letter-spacing: .04em; text-align: left; margin-bottom: 1.2rem; }
.primer h2 { font-size: 1.15rem; }
.primer .text-method { color: var(--muted); font-size: .78rem; font-weight: 600; letter-spacing: 0; margin: -.7rem 0 1.25rem; text-transform: uppercase; }
.primer h2 + .text-method { margin: -.35rem 0 .45rem; }
.primer blockquote strong { font-size: 1.08rem; letter-spacing: .02em; }
.primer table {
  border-collapse: collapse;
  margin: 1rem 0 1.4rem;
  font-size: .92rem;
  width: 100%;
}
.primer th { text-align: left; font-weight: 600; color: var(--muted); font-size: .8rem; letter-spacing: .05em; }
.primer th, .primer td { padding: .3rem .8rem .3rem 0; border-bottom: 1px solid var(--hairline); }
.primer td:first-child { font-family: var(--serif); color: var(--sage); font-weight: 600; }
.toc { line-height: 2; padding-left: 1.2rem; }
.toc a { text-decoration: none; }
.chapnav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 1rem;
  border-top: 1px solid var(--hairline);
  font-size: .9rem;
}
.chapnav a { color: var(--sage); text-decoration: none; }
.chapnav a:hover { color: var(--ink); }

/* --- primer illustrated-reader treatment (site/primer_editorial.json) --- */
.primer-editorial main {
  max-width: 56rem;
  min-width: 0;
  padding-top: 2.75rem;
  width: 100%;
}
.primer-editorial .primer-chapter {
  margin: 0 auto;
  max-width: 42rem;
  min-width: 0;
  width: 100%;
}
.primer-editorial p { overflow-wrap: anywhere; }
.primer-editorial pre { max-width: 100%; }
.primer-chapter-header {
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 1.6rem;
  padding: 0 0 1rem;
  text-align: left;
}
.primer-chapter-meta {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.primer-chapter-meta p { margin: 0; }
.primer-part {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 650;
}
.primer-progress-label {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
}
.primer-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .55rem;
}
.primer-editorial .primer-chapter-header h1 {
  color: var(--ink);
  font-size: 2.8rem;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  text-align: left;
}
.primer-chapter-number {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .42em;
  font-weight: 500;
  vertical-align: .4em;
}
.primer-title-divider {
  color: var(--gold);
  margin: 0 .25em;
}
.primer-chapter-word { color: var(--sage); }
p.primer-story-title {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1rem;
  margin: .2rem 0 0;
}
.primer-part-motif {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
  padding-bottom: .2rem;
}
.primer-part-motif svg {
  fill: none;
  height: 3.6rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.25;
  width: 3.6rem;
}
.primer-part-motif svg + svg {
  color: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  width: 2.5rem;
}
.primer-progress {
  background: var(--hairline);
  height: 2px;
  margin-top: 1.1rem;
  overflow: hidden;
  width: 100%;
}
.primer-progress span {
  background: var(--gold);
  display: block;
  height: 100%;
}
.primer-editorial p.primer-chapter-lede {
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 2.2rem;
  padding-left: 1rem;
  font-weight: 400;
}
.primer-editorial p.primer-chapter-lede em { font-style: normal; }
h2.primer-scene-title {
  align-items: center;
  color: var(--gold);
  display: flex;
  font-family: var(--sans);
  font-size: .74rem;
  gap: .38rem;
  letter-spacing: 0;
  margin: 2.5rem 0 .65rem;
}
h2.primer-scene-title::after {
  background: var(--hairline);
  content: "";
  height: 1px;
  margin-left: .5rem;
  width: min(8rem, 24vw);
}
.primer-scene-label {
  color: var(--muted);
  font-weight: 500;
}
.primer-scene-number {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 600;
}
blockquote.primer-reading {
  background: var(--paper-raised);
  border: 0;
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: .75rem -1.5rem 1.3rem;
  padding: 1rem 1.5rem;
}
.primer-phi-line {
  color: var(--ink);
  display: block;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.72;
}
.primer-reading-line { display: block; }
.primer-reading-line + .primer-reading-line { margin-top: .08rem; }
.primer-reading-note {
  color: var(--muted);
  display: block;
  font-family: var(--sans);
  font-size: .78rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: -.08rem;
}
table.primer-word-ledger {
  border-collapse: collapse;
  margin: .9rem 0 1.25rem;
  table-layout: fixed;
  width: 100%;
}
.primer-word-ledger th {
  border-bottom: 1px solid var(--gold);
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 0;
  padding: .25rem .7rem .35rem 0;
  text-align: left;
}
.primer-word-ledger td {
  border-bottom: 1px solid var(--hairline);
  padding: .5rem .7rem .5rem 0;
  vertical-align: baseline;
}
.primer-word-ledger th:first-child,
.primer-word-ledger td:first-child { width: 26%; }
.primer-word-ledger th:nth-child(2),
.primer-word-ledger td:nth-child(2) { width: 30%; }
.primer-word-ledger td:first-child {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.02rem;
  font-weight: 600;
}
.primer-word-ledger td:nth-child(2) {
  color: var(--muted);
  font-size: .86rem;
}
.primer-editorial p.primer-scene-note {
  font-family: var(--serif);
  line-height: 1.72;
  margin: .9rem 0 1.5rem;
}
blockquote.primer-dialogue {
  border: 0;
  font-family: var(--serif);
  margin: .8rem 0 1.25rem;
  padding: 0;
}
.primer-dialogue-line {
  border-bottom: 1px solid var(--hairline);
  display: grid;
  gap: 1rem;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  padding: .55rem 0;
}
.primer-narration-line::before {
  align-self: center;
  background: var(--gold);
  content: "";
  height: 1px;
  justify-self: end;
  width: 1.4rem;
}
.primer-speaker {
  color: var(--sage);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 650;
  padding-top: .12rem;
}
.primer-utterance {
  color: var(--ink);
  display: block;
  line-height: 1.62;
}
.primer-dialogue-copy { display: block; min-width: 0; }
.primer-dialogue-note {
  color: var(--muted);
  display: block;
  font-family: var(--sans);
  font-size: .76rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: .12rem;
}
.primer-closing-note {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  margin-top: 2.6rem;
  padding: 1rem 0 .35rem;
}
.primer-closing-note p {
  font-family: var(--serif);
  line-height: 1.7;
  margin: 0 0 .8rem;
}
.primer-closing-note p:last-child {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .88rem;
}
.primer-manual-link { color: inherit; text-decoration-color: var(--gold); }
.primer-editorial .chapnav { margin-top: 2.25rem; }

/* Prelude, contents, and capstone share the reader family without pretending to be scenes. */
.primer-special-header .primer-title-row { align-items: center; }
h2.primer-reference-title {
  align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  display: flex;
  font-size: 1.12rem;
  gap: .75rem;
  letter-spacing: 0;
  margin: 2.4rem 0 .8rem;
  padding-bottom: .38rem;
}
h2.primer-reference-title::before {
  background: var(--gold);
  content: "";
  flex: 0 0 1.75rem;
  height: 2px;
}
table.primer-sound-table {
  font-size: .9rem;
  table-layout: auto;
}
.primer-sound-table th {
  border-bottom-color: var(--gold);
  letter-spacing: 0;
}
.primer-sound-table th:first-child,
.primer-sound-table td:first-child { width: 20%; }
.primer-threshold-note {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  margin-top: 2.7rem;
  padding: 1rem 0 .15rem;
}
.primer-threshold-note p {
  font-family: var(--serif);
  line-height: 1.7;
  margin: 0 0 .8rem;
}

.primer-contents-page main { max-width: 68rem; }
.primer-contents-page .primer-chapter { max-width: 52rem; }
.primer-ladder-grid {
  display: grid;
  gap: 1.9rem 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.2rem 0 2.2rem;
}
.primer-ladder-part {
  border-top: 2px solid var(--gold);
  min-width: 0;
  padding-top: .7rem;
}
.primer-ladder-part h3 {
  color: var(--ink);
  font-size: 1rem;
  letter-spacing: 0;
  margin: 0 0 .55rem;
}
.primer-ladder-number {
  color: var(--sage);
  display: block;
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 650;
  margin-bottom: .08rem;
}
table.primer-ladder {
  font-size: .82rem;
  line-height: 1.35;
  margin: 0;
  table-layout: fixed;
}
.primer-ladder th {
  font-size: .68rem;
  letter-spacing: 0;
  padding-right: .45rem;
}
.primer-ladder td {
  padding: .42rem .45rem .42rem 0;
  vertical-align: top;
}
.primer-ladder th:first-child,
.primer-ladder td:first-child { width: 12%; }
.primer-ladder th:nth-child(2),
.primer-ladder td:nth-child(2) { width: 45%; }
.primer-contents-capstone {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  font-family: var(--serif);
  line-height: 1.7;
  margin: 1rem 0 2.2rem;
  padding: .85rem 0;
}
.primer-status-note {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .88rem;
}
.primer-start-note {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  margin-top: 2rem;
  padding: .85rem 1rem;
}

.primer-road-intro {
  color: var(--muted);
  font-family: var(--serif);
  margin-bottom: .6rem;
}
.primer-capstone-road {
  border-top: 1px solid var(--hairline);
  font-family: var(--serif);
  line-height: 1.7;
  margin: 0;
  padding: .85rem 0;
}
.primer-capstone-farewell {
  border-top: 1px solid var(--gold);
  margin-top: 2.7rem;
  padding-top: .7rem;
}
.primer-capstone-farewell blockquote.primer-reading {
  margin-bottom: .55rem;
  margin-top: 0;
}
.primer-capstone-farewell > p {
  color: var(--muted);
  font-family: var(--serif);
  font-style: italic;
  margin: 0;
}

/* --- The Phi Book contents: the argument from river to door --- */
.book-contents-page main {
  max-width: 72rem;
  min-width: 0;
  padding-top: 3rem;
  width: 100%;
}
.book-index-work {
  margin: 0 auto;
  max-width: 60rem;
  min-width: 0;
  width: 100%;
}
.book-index-header {
  border-bottom: 1px solid var(--hairline);
  padding: 0 0 1.4rem;
  text-align: left;
}
.book-index-meta {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .7rem;
  font-weight: 600;
  justify-content: space-between;
}
.book-index-meta p {
  align-items: baseline;
  display: flex;
  gap: .5rem;
  margin: 0;
}
.book-index-meta p:first-child span:first-child {
  color: var(--gold);
  font-weight: 650;
}
.book-index-meta p:first-child span[aria-hidden] { color: var(--gold); }
.book-index-title-row {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 9rem;
  margin-top: .8rem;
}
.book-index-title-row h1 {
  color: var(--ink);
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-align: left;
}
.book-index-lede {
  font-family: var(--serif);
  font-size: 1.13rem;
  line-height: 1.7;
  margin-top: 1rem;
  max-width: 43rem;
}
.book-index-lede p { margin: 0; }
.book-index-motif {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
}
.book-index-motif svg {
  fill: none;
  height: 6.4rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.15;
  width: 6.4rem;
}
.book-index-motif svg + svg {
  color: var(--gold);
  height: 2.8rem;
  margin-left: -1.55rem;
  transform: translateY(.25rem);
  width: 2.8rem;
}
.book-index-premise {
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.45rem;
  padding-top: 1rem;
}
.book-index-premise p {
  font-family: var(--serif);
  font-size: .91rem;
  line-height: 1.62;
  margin: 0;
}
.book-index-premise > p:first-child {
  color: var(--muted);
  grid-column: 1 / -1;
  max-width: 43rem;
}
.book-index-status {
  align-items: baseline;
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  margin-top: 1.45rem;
  padding: .8rem 1rem .85rem;
}
.book-index-status p { margin: 0; }
.book-index-status > p:last-child {
  color: var(--muted);
  font-size: .77rem;
  line-height: 1.5;
}
.book-index-status-count {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
}
.book-index-status-count strong {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 550;
  line-height: 1;
  margin-right: .25rem;
}
.book-index-reader-anchor { height: 0; }
.book-contents-page .readerhome {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  border-left: 2px solid var(--gold);
  border-radius: 0;
  margin: 1.4rem 0 0;
  padding: .3rem 0 .4rem 1rem;
}
.book-contents-page .readerhome .reader-continue { font-family: var(--serif); }
.book-index-map {
  border-bottom: 1px solid var(--hairline);
  margin: 1.7rem 0 3rem;
}
.book-index-map ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.book-index-map li {
  border-right: 1px solid var(--hairline);
  min-width: 0;
}
.book-index-map li:last-child { border-right: 0; }
.book-index-map a {
  color: var(--ink);
  display: block;
  min-height: 4.2rem;
  padding: .65rem .8rem .75rem;
  text-decoration: none;
}
.book-index-map a:hover { background: var(--paper-raised); }
.book-index-map a:focus-visible,
.book-index-opening a:focus-visible,
.book-index-chapter a:focus-visible,
.book-index-closing > a:focus-visible,
.book-index-bibliography:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.book-index-map a span {
  color: var(--gold);
  display: block;
  font-size: .63rem;
  font-weight: 650;
  margin-bottom: .15rem;
}
.book-index-map a strong {
  display: block;
  font-family: var(--serif);
  font-size: .86rem;
  font-weight: 550;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.book-index-opening {
  border-bottom: 1px solid var(--hairline);
  border-top: 2px solid var(--sage);
  margin: 0 0 4rem;
}
.book-index-opening a,
.book-index-closing > a {
  align-items: center;
  color: var(--ink);
  display: grid;
  gap: 1rem;
  grid-template-columns: 3.2rem minmax(0, 1fr) 1.4rem;
  padding: 1rem .2rem 1.1rem;
  text-decoration: none;
}
.book-index-bookend-icon {
  color: var(--sage);
  display: flex;
}
.book-index-bookend-icon svg {
  fill: none;
  height: 2rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.3;
  width: 2rem;
}
.book-index-bookend-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.book-index-bookend-copy > span {
  color: var(--gold);
  font-size: .66rem;
  font-weight: 650;
  margin-bottom: .12rem;
}
.book-index-bookend-copy strong {
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 550;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.book-index-arrow {
  color: var(--muted);
  display: flex;
  justify-content: end;
  transition: color .15s ease, transform .15s ease;
}
.book-index-arrow svg {
  fill: none;
  height: 1rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 1rem;
}
.book-index-opening a:hover .book-index-arrow,
.book-index-chapter a:hover .book-index-arrow,
.book-index-closing > a:hover .book-index-arrow,
.book-index-bibliography:hover .book-index-arrow {
  color: var(--gold);
  transform: translateX(.2rem);
}
.book-index-part {
  margin-top: 4.3rem;
  scroll-margin-top: 1rem;
}
.book-index-part-header {
  border-top: 2px solid var(--gold);
  display: grid;
  gap: .2rem 1.3rem;
  grid-template-columns: 5rem minmax(0, 1fr);
  padding: .9rem 0 1.1rem;
  text-align: left;
}
.book-index-part-ii .book-index-part-header,
.book-index-part-iv .book-index-part-header { border-top-color: var(--sage); }
.book-index-part-number {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: .2rem 0 0;
}
.book-index-part-ii .book-index-part-number,
.book-index-part-iv .book-index-part-number { color: var(--sage); }
.book-index-part-header h2 {
  color: var(--ink);
  font-size: 2rem;
  font-weight: 550;
  grid-column: 2;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}
.book-index-part-header > p:last-child {
  color: var(--muted);
  font-family: var(--serif);
  font-size: .87rem;
  grid-column: 2;
  line-height: 1.55;
  margin: .35rem 0 0;
  max-width: 42rem;
}
.book-index-chapters {
  list-style: none;
  margin: 0 0 0 5rem;
  padding: 0;
}
.book-index-chapter { border-bottom: 1px solid var(--hairline); }
.book-index-chapter:first-child { border-top: 1px solid var(--hairline); }
.book-index-chapter a {
  align-items: center;
  color: var(--ink);
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.8rem minmax(0, 1fr) 1.4rem;
  padding: .9rem .15rem .95rem;
  text-decoration: none;
}
.book-index-chapter-number {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1;
}
.book-index-part-ii .book-index-chapter-number,
.book-index-part-iv .book-index-chapter-number { color: var(--sage); }
.book-index-chapter-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.book-index-chapter-label {
  color: var(--muted);
  font-size: .61rem;
  font-weight: 600;
  margin-bottom: .08rem;
}
.book-index-chapter-copy strong {
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 550;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.book-index-chapter a:hover .book-index-chapter-copy strong { color: var(--sage); }
.book-index-ending {
  border-top: 2px solid var(--sage);
  margin-top: 5rem;
}
.book-index-closing {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  padding: .2rem 1rem .9rem;
}
.book-index-closing > p {
  color: var(--muted);
  font-family: var(--serif);
  font-size: .88rem;
  line-height: 1.6;
  margin: .2rem 0 0 4.2rem;
  max-width: 43rem;
}
.book-index-bibliography {
  align-items: center;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  display: grid;
  gap: .05rem 1rem;
  grid-template-columns: minmax(0, 1fr) 1.4rem;
  padding: .8rem .2rem .9rem;
  text-decoration: none;
}
.book-index-bibliography > span:first-child {
  color: var(--gold);
  font-size: .63rem;
  font-weight: 650;
  grid-column: 1;
}
.book-index-bibliography > strong {
  font-family: var(--serif);
  font-size: .96rem;
  font-weight: 550;
  grid-column: 1;
}
.book-index-bibliography .book-index-arrow {
  grid-column: 2;
  grid-row: 1 / span 2;
}

@media (max-width: 760px) {
  .book-contents-page main { padding-top: 2.25rem; }
  .book-index-title-row {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 6.2rem;
  }
  .book-index-title-row h1 { font-size: 3.35rem; }
  .book-index-motif svg {
    height: 4.8rem;
    width: 4.8rem;
  }
  .book-index-motif svg + svg {
    height: 2.15rem;
    margin-left: -1.2rem;
    width: 2.15rem;
  }
  .book-index-premise {
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .book-index-status {
    grid-template-columns: 7.5rem minmax(0, 1fr);
  }
  .book-index-map ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .book-index-map li:nth-child(2) { border-right: 0; }
  .book-index-map li:nth-child(-n + 2) {
    border-bottom: 1px solid var(--hairline);
  }
  .book-index-part-header {
    grid-template-columns: 4rem minmax(0, 1fr);
  }
  .book-index-chapters { margin-left: 4rem; }
}

@media (max-width: 560px) {
  .book-contents-page main { padding-top: 1.6rem; }
  .book-index-meta {
    align-items: start;
    flex-direction: column;
    gap: .15rem;
  }
  .book-index-title-row {
    align-items: start;
    gap: .4rem;
    grid-template-columns: minmax(0, 1fr) 2.8rem;
  }
  .book-index-title-row h1 { font-size: 2.2rem; }
  .book-index-lede {
    font-size: .98rem;
    line-height: 1.55;
    margin-top: .55rem;
  }
  .book-index-motif svg {
    height: 2.5rem;
    width: 2.5rem;
  }
  .book-index-motif svg + svg {
    height: 1.15rem;
    margin-left: -.65rem;
    width: 1.15rem;
  }
  .book-index-status {
    display: block;
    padding: .75rem .8rem .8rem;
  }
  .book-index-status > p:last-child { margin-top: .35rem; }
  .book-index-map { margin-bottom: 2.5rem; }
  .book-index-map a { min-height: 3.8rem; }
  .book-index-opening { margin-bottom: 3.25rem; }
  .book-index-opening a,
  .book-index-closing > a {
    gap: .7rem;
    grid-template-columns: 2.3rem minmax(0, 1fr) 1rem;
  }
  .book-index-bookend-icon svg {
    height: 1.65rem;
    width: 1.65rem;
  }
  .book-index-bookend-copy strong { font-size: 1.32rem; }
  .book-index-part { margin-top: 3.5rem; }
  .book-index-part-header {
    display: block;
    padding-bottom: .85rem;
  }
  .book-index-part-number { margin: 0 0 .2rem; }
  .book-index-part-header h2 { font-size: 1.65rem; }
  .book-index-part-header > p:last-child {
    font-size: .82rem;
    margin-top: .35rem;
  }
  .book-index-chapters { margin-left: 0; }
  .book-index-chapter a {
    gap: .65rem;
    grid-template-columns: 2.25rem minmax(0, 1fr) 1rem;
  }
  .book-index-chapter-copy strong { font-size: 1.02rem; }
  .book-index-ending { margin-top: 4rem; }
  .book-index-closing { padding-left: .7rem; padding-right: .7rem; }
  .book-index-closing > p {
    font-size: .82rem;
    margin-left: 3rem;
  }
}

@media (max-width: 360px) {
  .book-contents-page main { padding-top: 1.2rem; }
  .book-index-title-row h1 { font-size: 2.05rem; }
  .book-index-lede {
    font-size: .9rem;
    line-height: 1.45;
    margin-top: .4rem;
  }
}

@media print {
  body.book-contents-page {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    font-size: 10pt;
  }
  .book-contents-page .topnav,
  .book-contents-page footer,
  .book-contents-page .readerhome,
  .book-index-map { display: none; }
  .book-contents-page main {
    max-width: none;
    padding: 0;
  }
  .book-index-work { max-width: none; }
  .book-index-title-row h1 { font-size: 3.5em; }
  .book-index-premise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .book-index-status { background: none; }
  .book-index-opening,
  .book-index-ending,
  .book-index-chapter { break-inside: avoid; }
  .book-index-part { margin-top: 2.5em; }
  .book-index-part-header {
    break-after: avoid;
    padding-bottom: .7em;
  }
  .book-index-closing { background: none; }
}

/* --- opt-in editorial chapter treatment (site/editorial.json) --- */
.book-editorial main { max-width: 64rem; min-width: 0; width: 100%; }
.book-editorial .chapter-copy { max-width: 38rem; min-width: 0; margin: 0 auto; width: 100%; }
.book-editorial p { overflow-wrap: anywhere; }
.book-editorial pre { max-width: 100%; }
.book-editorial .chapter-eyebrow {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 650;
  letter-spacing: 0;
  margin: 0 0 .35rem;
}
.book-editorial h1 {
  font-size: 2.65rem;
  letter-spacing: 0;
  line-height: 1.12;
  margin-bottom: 1.5rem;
}
.book-editorial .chapter-lede {
  font-family: var(--serif);
  font-size: 1.16rem;
  line-height: 1.68;
  margin-bottom: 1.25rem;
}
.book-editorial .drop-cap {
  color: var(--sage);
  float: left;
  font-family: var(--serif);
  font-size: 4rem;
  font-weight: 500;
  line-height: .78;
  margin: .14rem .13rem 0 0;
}
.book-editorial .chapter-pullquote {
  border-bottom: 1px solid var(--gold);
  border-top: 1px solid var(--gold);
  color: var(--sage);
  float: right;
  font-family: var(--serif);
  font-size: 1.3rem;
  line-height: 1.42;
  margin: .55rem 0 1.2rem 1.6rem;
  padding: .8rem 0;
  width: 14rem;
}
.book-editorial .chapter-pullquote p { margin: 0; }
.book-editorial .pullquote-context { display: flow-root; }
.book-editorial .chapnav { clear: both; }
.book-editorial code.phi-inline,
.primer-editorial code.phi-inline,
.manual-editorial code.phi-inline {
  -webkit-box-decoration-break: clone;
  background: var(--phi-inline-bg);
  border-radius: 5px;
  box-decoration-break: clone;
  color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", consolas, monospace;
  font-size: .9em;
  letter-spacing: 0;
  line-height: 1;
  padding: .18em .4em .22em;
  white-space: normal;
}
.book-editorial p code:not(.phi-inline) {
  font-size: .78em;
  overflow-wrap: anywhere;
}
.manual-editorial a code:not(.phi-inline),
.manual-editorial code.manual-repo-path {
  font-size: .78em;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}

/* --- opt-in literary anthology treatment (site/texts_editorial.json) --- */
.text-editorial main {
  max-width: 64rem;
  min-width: 0;
  padding-top: 2.75rem;
  width: 100%;
}
.text-editorial .text-work {
  margin: 0 auto;
  max-width: 48rem;
  min-width: 0;
  width: 100%;
}
.text-editorial p { overflow-wrap: anywhere; }
.text-contents-page main { max-width: 72rem; }
.text-contents-page .text-work { max-width: 64rem; }
.text-index-header {
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 3rem;
  padding: 0 0 1.5rem;
  text-align: left;
}
.text-index-count {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 600;
  margin: 0;
}
.text-index-title-row {
  align-items: end;
  display: grid;
  column-gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 8rem;
  margin-top: .7rem;
  row-gap: .7rem;
}
.text-index-title-row h1 {
  color: var(--ink);
  font-size: 3.8rem;
  grid-column: 1;
  grid-row: 1;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-align: left;
}
.text-index-lede {
  font-family: var(--serif);
  font-size: 1.12rem;
  grid-column: 1;
  grid-row: 2;
  line-height: 1.7;
  margin: 1rem 0 0;
  max-width: 45rem;
}
.text-index-title-row .text-work-motif {
  align-self: center;
  grid-column: 2;
  grid-row: 1 / span 2;
  padding: 0;
}
.text-index-title-row .text-work-motif svg {
  height: 4rem;
  width: 4rem;
}
.text-index-title-row .text-work-motif svg + svg {
  height: 2.9rem;
  width: 2.9rem;
}
.text-index-methods { margin: 0 0 4rem; }
.text-index-methods > h2 {
  color: var(--ink);
  font-size: 1.5rem;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1.2rem;
}
.text-index-method-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.text-index-method {
  border-top: 2px solid var(--hairline);
  min-width: 0;
  padding-top: .75rem;
}
.text-index-method-translation,
.text-index-method-paired { border-top-color: var(--gold); }
.text-index-method-transmutation,
.text-index-method-original { border-top-color: var(--sage); }
.text-index-method header {
  align-items: start;
  display: grid;
  gap: .55rem;
  grid-template-columns: 1.55rem minmax(0, 1fr);
  padding: 0;
  text-align: left;
}
.text-index-method .text-section-icon {
  justify-content: start;
  padding-top: .08rem;
}
.text-index-method .text-section-icon svg {
  height: 1.25rem;
  width: 1.25rem;
}
.text-index-method h3 {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  padding: 0;
}
.text-index-method-count {
  color: var(--gold);
  font-size: .64rem;
  font-weight: 650;
  margin: .14rem 0 0;
}
.text-index-method > p {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
  margin: .65rem 0 0;
}
.text-index-section-heading {
  align-items: end;
  border-bottom: 1px solid var(--hairline);
  display: flex;
  justify-content: space-between;
  padding: 0 0 .65rem;
  text-align: left;
}
.text-index-section-label {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
  margin: 0 0 .14rem;
}
.text-index-section-heading h2 {
  color: var(--ink);
  font-size: 1.85rem;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}
.text-index-section-count {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  margin: 0;
}
.text-index-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.text-index-entry { border-bottom: 1px solid var(--hairline); }
.text-index-entry a,
.text-index-book > a {
  align-items: center;
  color: var(--ink);
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.25rem minmax(0, 1fr) 12.5rem 1.5rem;
  padding: 1.35rem 0 1.45rem;
  text-decoration: none;
}
.text-index-entry a:focus-visible,
.text-index-book > a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}
.text-index-number {
  align-self: start;
  color: var(--gold);
  font-size: .7rem;
  font-weight: 650;
  padding-top: .18rem;
}
.text-index-copy { min-width: 0; }
.text-index-phi-title {
  color: var(--sage);
  font-family: var(--serif);
  font-size: .78rem;
  line-height: 1.35;
  margin: 0 0 .12rem;
}
.text-index-copy h3 {
  color: var(--ink);
  font-size: 1.48rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0;
  padding: 0;
  transition: color .15s ease;
}
.text-index-summary {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.55;
  margin: .55rem 0 0;
  max-width: 38rem;
}
.text-index-entry-meta {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.text-index-entry-method {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.35;
  margin: 0;
  text-align: right;
}
.text-index-entry-translation .text-index-entry-method,
.text-index-entry-paired .text-index-entry-method {
  color: var(--gold);
}
.text-index-entry-transmutation .text-index-entry-method,
.text-index-entry-original .text-index-entry-method {
  color: var(--sage);
}
.text-index-entry-tengwar {
  color: var(--muted);
  margin: .65rem 0 0 auto;
  max-width: 12rem;
  opacity: .68;
  width: 100%;
}
.text-index-entry-tengwar .teng-svg {
  display: block;
  height: 1.65rem !important;
  margin-left: auto;
  max-width: 100%;
  width: auto;
}
.text-index-arrow {
  color: var(--muted);
  display: flex;
  justify-content: end;
  transition: color .15s ease, transform .15s ease;
}
.text-index-arrow svg {
  fill: none;
  height: 1.05rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 1.05rem;
}
.text-index-entry a:hover h3,
.text-index-book > a:hover h3 { color: var(--sage); }
.text-index-entry a:hover .text-index-arrow,
.text-index-book > a:hover .text-index-arrow {
  color: var(--gold);
  transform: translateX(.2rem);
}
.text-index-book { margin-top: 4rem; }
.text-index-book > a {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  grid-template-columns: 3rem minmax(0, 1fr) 12.5rem 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.text-index-book-mark {
  align-self: start;
  color: var(--sage);
  padding-top: .15rem;
}
.text-index-book-mark .text-section-icon { justify-content: start; }
.text-index-book-mark .text-section-icon svg {
  height: 2rem;
  width: 2rem;
}
.text-index-book .text-index-copy h3 { font-size: 1.8rem; }
.text-index-book-progress {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
  margin: .45rem 0 0;
  text-align: right;
}
.text-work-header {
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
}
.text-work-meta {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}
.text-work-meta p { margin: 0; }
.text-shelf-label {
  color: var(--gold);
  font-size: .76rem;
  font-weight: 650;
}
.text-work-method {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .72rem;
  font-weight: 600;
  gap: .38rem;
}
.text-work-method span[aria-hidden="true"] { color: var(--gold); }
.text-work-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .7rem;
}
.text-phi-title {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.16rem;
  line-height: 1.35;
  margin: 0 0 .18rem;
}
.text-editorial .text-work-header h1 {
  color: var(--ink);
  font-size: 3rem;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  padding-right: 1.2rem;
  position: relative;
  text-align: left;
}
.text-editorial .text-work-header h1.text-work-title-long {
  font-size: 2.35rem;
  line-height: 1.12;
}
.text-editorial .text-work-header h1 > .markbtn,
.text-editorial h2.text-method-heading > .markbtn,
.text-editorial h3 > .markbtn {
  position: absolute;
  right: 0;
  top: .15rem;
}
.text-work-motif {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
  padding-bottom: .25rem;
}
.text-work-motif svg {
  fill: none;
  height: 3.6rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.2;
  width: 3.6rem;
}
.text-work-motif svg + svg {
  color: var(--gold);
  height: 2.7rem;
  margin-left: -.25rem;
  width: 2.7rem;
}
.text-work-motif-heart_radiance svg:first-child {
  color: var(--gold);
  transform: translateY(.15rem);
}
.text-work-motif-heart_radiance svg + svg {
  color: var(--sage);
  margin-left: -.7rem;
  opacity: .75;
}
.text-work-motif-sun_sprout svg:first-child { color: var(--gold); }
.text-work-motif-sun_sprout svg + svg {
  color: var(--sage);
  margin-left: -.45rem;
}
.text-work-motif-ring_refusal svg:first-child { color: var(--gold); }
.text-work-motif-ring_refusal svg + svg {
  color: var(--sage);
  margin-left: -.55rem;
}
.text-work-motif-star_bond svg:first-child { color: var(--gold); }
.text-work-motif-star_bond svg + svg {
  color: var(--sage);
  margin-left: -.45rem;
}
.text-work-motif-rabbit_heart svg:first-child { color: var(--sage); }
.text-work-motif-rabbit_heart svg + svg {
  color: var(--gold);
  margin-left: -.35rem;
  transform: translateY(.2rem);
}
.text-work-motif-window_water svg:first-child { color: var(--sage); }
.text-work-motif-window_water svg + svg {
  color: var(--gold);
  margin-left: -.45rem;
  transform: translateY(.2rem);
}
.text-title-tengwar {
  color: var(--muted);
  margin-top: .85rem;
  max-width: 29rem;
  opacity: .72;
}
.text-title-tengwar .teng-svg {
  display: block;
  height: 3.2rem !important;
  max-width: 100%;
  width: auto;
}
.text-work-opening { max-width: 43rem; }
.text-editorial p.text-work-lede {
  font-family: var(--serif);
  font-size: 1.13rem;
  line-height: 1.7;
  margin: 0 0 1rem;
}
.text-reader-notes {
  border-left: 2px solid var(--gold);
  color: var(--muted);
  margin: 0 0 1.8rem;
  padding-left: .9rem;
}
.text-editorial p.text-reader-note {
  font-size: .88rem;
  line-height: 1.62;
  margin: 0;
}
.text-editorial p.text-reader-note + p.text-reader-note { margin-top: .7rem; }
.text-reading-map {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: 2rem 0 3.2rem;
  padding: .7rem 0 .8rem;
}
.text-reading-map-label {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
  margin: 0 0 .45rem;
}
.text-reading-map ol {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.text-translation-page .text-reading-map ol {
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
}
.text-transmutation-page .text-reading-map ol {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}
.text-original-page .text-reading-map ol {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.text-rabbit-heart-page .text-reading-map ol {
  gap: .55rem 1.1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.text-rabbit-heart-page .text-reading-map a {
  font-family: var(--sans);
  font-size: .78rem;
}
.text-reading-map li { min-width: 0; }
.text-reading-map a {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  font-family: var(--serif);
  gap: .45rem;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.35;
  text-decoration: none;
}
.text-reading-map a:hover { color: var(--sage); }
.text-map-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .68rem;
  font-weight: 650;
}
.text-map-copy,
.text-map-title,
.text-map-method { display: block; }
.text-map-method {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .66rem;
  font-weight: 550;
  margin-top: .14rem;
}
.text-rendering,
.text-comparison,
.text-complete-section,
.text-apparatus,
.text-context,
.text-dialogue-section,
.text-essay-section,
.text-record-section,
.text-pillars-section { margin-top: 4rem; }
.text-editorial h2.text-method-heading {
  align-items: center;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  display: grid;
  font-size: 2.1rem;
  gap: .85rem;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 1rem;
  padding-bottom: .7rem;
  position: relative;
}
.text-editorial h2.text-method-heading > span:nth-child(2) {
  padding-right: 1.3rem;
}
.text-section-icon {
  align-items: center;
  color: var(--gold);
  display: flex;
  justify-content: center;
}
.text-section-icon svg {
  fill: none;
  height: 2rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
  width: 2rem;
}
.text-transmutation-heading .text-section-icon { color: var(--sage); }
.text-comparison-heading .text-section-icon {
  color: var(--muted);
  transform: rotate(90deg);
}
.text-complete-heading .text-section-icon { color: var(--sage); }
.text-apparatus-heading .text-section-icon { color: var(--muted); }
.text-context-heading .text-section-icon { color: var(--gold); }
.text-dialogue-heading .text-section-icon { color: var(--sage); }
.text-record-heading .text-section-icon { color: var(--gold); }
.text-pillars-heading .text-section-icon { color: var(--sage); }
.text-section-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 650;
  text-align: center;
}
.text-heading-copy,
.text-teaching-name,
.text-rendering-kind { display: block; }
.text-collection-page .text-teaching-name {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .72em;
  font-weight: 650;
  line-height: 1.4;
  margin-bottom: .14rem;
}
.text-collection-page .text-rendering-kind { display: block; }
.text-collection-page .text-transmutation + .text-translation,
.text-collection-page .text-comparison + .text-transmutation {
  border-top: 1px solid var(--gold);
  padding-top: 1.25rem;
}
.text-collection-detail {
  border-top: 1px solid var(--gold);
  margin-top: 4rem;
  padding-top: 1.25rem;
}
.text-editorial h2.text-collection-detail-heading {
  border-bottom: 0;
  color: var(--sage);
  font-size: 1.45rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  margin-bottom: .85rem;
  padding-bottom: 0;
}
.text-collection-detail-heading .text-section-icon svg {
  height: 1.45rem;
  width: 1.45rem;
}
.text-collection-detail > p {
  border-left: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.65;
  margin: 0 0 1rem 1rem;
  padding-left: 1rem;
}
.text-collection-detail > p em { font-style: normal; }
.text-method-heading + p {
  font-family: var(--serif);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: .7rem 0 2.25rem;
}
.text-editorial h3 {
  font-family: var(--serif);
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.25;
  padding-right: 1.2rem;
  position: relative;
}
.text-editorial h3.text-scene-heading {
  color: var(--ink);
  font-size: 1.42rem;
  margin: 3rem 0 .8rem;
}
.text-editorial h3.text-numbered-heading {
  align-items: baseline;
  display: grid;
  gap: .8rem;
  grid-template-columns: 2.25rem minmax(0, 1fr);
}
.text-heading-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .52em;
  font-weight: 650;
}
.text-heading-label { display: block; }
.text-subheading-phi {
  color: var(--sage);
  display: block;
  font-size: .74em;
  margin-bottom: .12rem;
}
.text-subheading-english { display: block; }
.text-editorial h3.text-reading-heading,
.text-editorial h3.text-ledger-heading {
  color: var(--ink);
  font-size: 1.35rem;
  margin: 2.8rem 0 .8rem;
}
.text-editorial h3.text-ledger-heading { color: var(--sage); }
.text-inner-divider {
  border-top: 1px solid var(--gold);
  margin: 3rem 0;
  width: 6rem;
}
.text-translation-page .text-rendering + .text-rendering {
  border-top: 1px solid var(--gold);
  padding-top: 1.25rem;
}
.text-transmutation-page .text-rendering + .text-rendering {
  border-top: 1px solid var(--hairline);
  padding-top: 1.25rem;
}
.text-interlinear {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: .8rem -1.25rem 1.15rem;
  padding: 0 1.25rem;
}
.text-translation .text-interlinear { border-left: 2px solid var(--gold); }
.text-transmutation .text-interlinear { border-left: 2px solid var(--sage); }
.text-stanza {
  margin: 0;
  padding: 1rem 0 1.05rem;
}
.text-stanza + .text-stanza { border-top: 1px solid var(--hairline); }
.text-stanza p { margin: 0; }
.text-editorial .text-phi-line {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.58;
}
.text-gloss-line {
  color: var(--muted);
  font-family: var(--ipa);
  font-size: .73rem;
  line-height: 1.45;
  margin-top: .14rem !important;
}
.text-stanza figcaption {
  display: grid;
  gap: .25rem;
  margin-top: .6rem;
}
.text-dialogue {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: .8rem 0 1.5rem;
}
.text-dialogue-turn {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: 5.4rem minmax(0, 1fr);
  margin: 0;
  padding: 1rem 0 1.08rem;
}
.text-dialogue-turn + .text-dialogue-turn {
  border-top: 1px solid var(--hairline);
}
.text-dialogue-who {
  align-items: baseline;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: .08rem;
}
.text-dialogue-initial {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1;
}
.text-dialogue-name {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .68rem;
  font-weight: 600;
  margin-top: .25rem;
}
.text-dialogue-turn[data-speaker="S"] .text-dialogue-initial {
  color: var(--sage);
}
.text-dialogue-scene {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .64rem;
  font-weight: 650;
}
.text-dialogue-body { min-width: 0; }
.text-dialogue-body p { margin: 0; }
.text-dialogue-close-reading { margin-top: .58rem; }
.text-dialogue-action {
  background: var(--paper-raised);
}
.text-dialogue-action .text-phi-line {
  color: var(--sage);
  font-style: italic;
}
/* An essay argues in one voice, so its passages carry no speaker column.
   The left rule stands in for the turn boundary the dialogue gets. */
.text-essay {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: .8rem 0 1.5rem;
}
.text-essay-passage {
  border-left: 2px solid var(--hairline);
  margin: 0;
  padding: 1rem 0 1.08rem 1.35rem;
}
.text-essay-passage + .text-essay-passage {
  border-top: 1px solid var(--hairline);
}
.text-essay-passage p { margin: 0; }
.text-essay-close-reading { margin-top: .58rem; }

.text-literal-line {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .9rem;
  line-height: 1.52;
}
.text-source-line {
  color: var(--muted);
  display: grid;
  font-family: var(--serif);
  font-size: .9rem;
  font-style: italic;
  gap: .25rem;
  grid-template-columns: max-content minmax(0, 1fr);
  line-height: 1.52;
}
.text-source-name {
  color: var(--gold);
  font-family: var(--sans);
  font-size: inherit;
  font-style: normal;
  font-weight: 650;
}
.text-notes {
  border-left: 1px solid var(--hairline);
  color: var(--muted);
  margin: 1rem 0 2.5rem 1.8rem;
  padding-left: 1rem;
}
.text-notes p {
  font-size: .86rem;
  line-height: 1.62;
  margin: 0;
}
.text-notes-label {
  color: var(--sage);
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 650;
}
.text-complete-reading {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin: .8rem -1.5rem 1.5rem;
  padding: 1.05rem 1.5rem 1.2rem;
}
.text-complete-reading p.text-reading-line {
  font-family: var(--serif);
  font-size: .98rem;
  line-height: 1.75;
  margin: .65rem 0;
}
.text-reading-stanza + .text-reading-stanza { margin-top: 1.35rem; }
.text-complete-reading p.text-reading-title {
  color: var(--sage);
  font-size: 1.18rem;
  font-weight: 600;
  margin-top: 0;
}
.text-complete-section .text-complete-reading {
  border-left: 2px solid var(--sage);
}
.text-apparatus > p {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.65;
}
.text-apparatus > p:last-child {
  border-top: 1px solid var(--hairline);
  padding-top: 1rem;
}
.text-heart-radiance-page .text-work-opening {
  max-width: 40rem;
}
.text-heart-radiance-page h3.text-verse-heading {
  margin-top: 3.5rem;
}
.text-heart-radiance-page .text-interlinear {
  border-left-color: var(--sage);
  margin-left: 0;
  margin-right: 0;
}
.text-heart-radiance-page .text-stanza {
  padding-bottom: 1.2rem;
  padding-top: 1.2rem;
}
.text-heart-radiance-page .text-phi-line {
  font-size: 1.12rem;
}
.text-heart-radiance-page .text-notes {
  margin-left: 2.25rem;
}
.text-sun-sprout-page h3.text-proposition-heading {
  border-top: 1px solid var(--hairline);
  font-size: 1.55rem;
  margin-top: 3.5rem;
  padding-top: .7rem;
}
.text-sun-sprout-page h3.text-proposition-heading .text-heading-number {
  font-size: .62em;
}
.text-sun-sprout-page .text-rendering + .text-rendering {
  border-top-width: 2px;
}
.text-sun-sprout-page .text-rendering + .text-rendering .text-method-heading {
  color: var(--sage);
}
.text-sun-sprout-page .text-complete-reading {
  border-left-color: var(--gold);
}
.text-ring-refusal-page .text-context blockquote {
  border-bottom: 1px solid var(--hairline);
  border-left: 0;
  border-top: 1px solid var(--hairline);
  font-size: 1.12rem;
  margin: 1.5rem 0 2rem;
  padding: 1rem 0;
}
.text-ring-refusal-page .text-transmutation .text-interlinear,
.text-star-bond-page .text-transmutation .text-interlinear {
  margin-left: 0;
  margin-right: 0;
}
.text-ring-refusal-page .text-transmutation .text-interlinear {
  background: var(--paper-raised);
  border-right: 1px solid var(--hairline);
}
.text-star-bond-page .text-rendering blockquote {
  border-left-color: var(--sage);
  font-size: 1.08rem;
  margin-bottom: 1.5rem;
}
.text-rabbit-heart-page .text-work-opening { max-width: 44rem; }
.text-rabbit-heart-page .text-subheading-phi {
  font-size: .58em;
  margin-bottom: .16rem;
}
.text-rabbit-heart-page .text-rendering {
  scroll-margin-top: 1.5rem;
}
.text-rabbit-heart-page .text-stanza:first-child {
  padding-top: 1.25rem;
}
.text-rabbit-heart-page .text-notes {
  margin-bottom: 3.2rem;
}
.text-ledger-wrap { margin: .9rem 0 2rem; }
table.text-ledger {
  font-size: .79rem;
  line-height: 1.45;
  table-layout: auto;
}
.text-ledger th {
  border-bottom: 1px solid var(--gold);
  font-size: .68rem;
  letter-spacing: 0;
  padding: .4rem .65rem .5rem 0;
  vertical-align: bottom;
}
.text-ledger td {
  padding: .58rem .65rem .58rem 0;
  vertical-align: top;
}
.text-ledger td:first-child {
  color: var(--sage);
  font-family: var(--serif);
  font-weight: 600;
}
.text-original-page .text-record-section .text-ledger-wrap,
.text-original-page .text-pillars-section .text-ledger-wrap {
  margin-top: 1.15rem;
}
.text-original-page .text-record-section .text-ledger tr,
.text-original-page .text-pillars-section .text-ledger tr {
  border-bottom: 1px solid var(--hairline);
}
.text-original-page .text-record-section .text-ledger tr:last-child,
.text-original-page .text-pillars-section .text-ledger tr:last-child {
  border-bottom: 0;
}
.text-original-page .text-pillars-section .text-ledger td:first-child {
  width: 11rem;
}
.text-original-page .text-pillars-section > p:last-child {
  border-top: 1px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.68;
  margin: 2rem 0 0;
  padding-top: 1rem;
}
.text-comparison { padding-top: 1rem; }
.text-pillar-reflection {
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 1.4rem;
  grid-template-columns: 10rem minmax(0, 1fr);
  padding: 1.05rem 0;
}
.text-editorial h3.text-pillar-heading {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1rem;
  margin: .1rem 0 0;
}
.text-pillar-reflection p {
  line-height: 1.62;
  margin: 0;
}
.text-comparison > p:last-child {
  border-top: 1px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.68;
  margin: 2rem 0 0;
  padding-top: 1rem;
}
.text-editorial code.phi-inline {
  -webkit-box-decoration-break: clone;
  background: var(--phi-inline-bg);
  border-radius: 5px;
  box-decoration-break: clone;
  color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", consolas, monospace;
  font-size: .9em;
  letter-spacing: 0;
  line-height: 1;
  padding: .18em .4em .22em;
  white-space: normal;
}
.text-editorial p code:not(.phi-inline),
.text-editorial td code:not(.phi-inline) {
  font-size: .78em;
  overflow-wrap: anywhere;
}
.text-editorial .chapnav.text-work-nav {
  align-items: start;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin-top: 4rem;
}
.text-work-nav > a { min-width: 0; }
.text-work-prev,
.text-work-next {
  display: flex;
  flex-direction: column;
}
.text-work-next { text-align: right; }
.text-nav-direction {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
}
.text-nav-title {
  font-family: var(--serif);
  font-size: .82rem;
  line-height: 1.4;
  margin-top: .18rem;
  overflow-wrap: anywhere;
}
.text-work-index {
  font-size: .78rem;
  padding-top: .05rem;
}

/* --- News from Nowhere: one book, rather than thirty-two shelf items --- */
.text-news-book-page main {
  max-width: 74rem;
  padding-top: 3rem;
}
.text-news-book-page .text-work { max-width: 66rem; }
.news-book-header {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 1.4rem;
  text-align: left;
}
.news-book-meta,
.news-chapter-meta {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}
.news-book-meta p,
.news-chapter-meta p { margin: 0; }
.news-book-method,
.news-chapter-position {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
}
.news-book-title-row {
  align-items: end;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 9rem;
  margin-top: .8rem;
}
.news-book-title-copy { min-width: 0; }
.text-news-book-page .text-phi-title,
.text-news-chapter-page .text-phi-title { margin-bottom: .25rem; }
.text-news-book-page .news-book-header h1 {
  color: var(--ink);
  font-size: 4rem;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-align: left;
}
.news-book-author {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1rem;
  margin: .65rem 0 0;
}
.news-book-title-row .text-work-motif {
  align-self: center;
  padding: 0;
}
.text-work-motif-river_home svg:first-child { color: var(--sage); }
.text-work-motif-river_home svg + svg {
  color: var(--gold);
  margin-left: -.7rem;
  transform: translateY(.15rem);
}
.news-book-header .text-title-tengwar,
.news-chapter-header .text-title-tengwar {
  margin-top: .8rem;
  max-width: 31rem;
}
.news-book-opening {
  max-width: 46rem;
  padding: 1.7rem 0 2.25rem;
}
.text-news-book-page p.news-book-lede {
  font-family: var(--serif);
  font-size: 1.12rem;
  line-height: 1.72;
  margin: 0;
}
.news-book-status {
  align-items: end;
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 10rem minmax(0, 1fr);
  margin: 0 0 3.5rem;
  padding: 1rem 1.15rem 1.1rem;
}
.news-book-status-copy { min-width: 0; }
.news-book-status-label {
  color: var(--sage);
  font-size: .72rem;
  font-weight: 650;
  margin: 0;
}
.news-book-status-count {
  align-items: baseline;
  display: flex;
  gap: .45rem;
  margin: .2rem 0 0;
}
.news-book-status-count strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
}
.news-book-status-count span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 600;
}
.news-book-status progress {
  appearance: none;
  background: transparent;
  border: 0;
  height: .42rem;
  width: 100%;
}
.news-book-status progress::-webkit-progress-bar {
  background: var(--hairline);
  border-radius: 0;
}
.news-book-status progress::-webkit-progress-value {
  background: var(--sage);
  border-radius: 0;
}
.news-book-status progress::-moz-progress-bar {
  background: var(--sage);
  border-radius: 0;
}
.news-book-section-heading {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: .65rem;
  text-align: left;
}
.news-book-section-label {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
  margin: 0 0 .15rem;
}
.text-news-book-page .news-book-section-heading h2 {
  color: var(--ink);
  font-size: 1.9rem;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}
.news-book-chapter-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-book-chapter { border-bottom: 1px solid var(--hairline); }
.news-book-chapter a {
  align-items: center;
  color: var(--ink);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 3rem minmax(0, 1fr) 9rem 1.4rem;
  padding: 1.45rem 0 1.55rem;
  text-decoration: none;
}
.news-book-chapter a:focus-visible,
.news-chapter-map a:focus-visible,
.news-book-kicker a:focus-visible,
.news-chapter-nav a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}
.news-book-chapter-number {
  align-self: start;
  color: var(--gold);
  font-family: var(--serif);
  font-size: 1.45rem;
  line-height: 1;
  padding-top: .1rem;
}
.news-book-chapter-copy { min-width: 0; }
.news-book-chapter-label {
  color: var(--sage);
  font-size: .65rem;
  font-weight: 650;
  margin: 0 0 .15rem;
}
.text-news-book-page .news-book-chapter h3 {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 550;
  line-height: 1.18;
  margin: 0;
  padding: 0;
  transition: color .15s ease;
}
.news-book-chapter-summary {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.55;
  margin: .55rem 0 0;
  max-width: 39rem;
}
.news-book-chapter-meta {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.news-book-chapter-meta p {
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
  margin: .12rem 0;
  text-align: right;
}
.news-link-arrow {
  color: var(--muted);
  display: flex;
  justify-content: end;
  transition: color .15s ease, transform .15s ease;
}
.news-link-arrow svg {
  fill: none;
  height: 1.05rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 1.05rem;
}
.news-book-chapter a:hover h3 { color: var(--sage); }
.news-book-chapter a:hover .news-link-arrow {
  color: var(--gold);
  transform: translateX(.2rem);
}
.text-news-book-page .readerhome {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  border-left: 2px solid var(--gold);
  border-radius: 0;
  margin: -1rem 0 2.25rem;
  padding: .25rem 0 .35rem 1rem;
}
.text-news-book-page .readerhome .reader-continue {
  font-family: var(--serif);
}
.text-news-book-page .news-book-footer-nav {
  justify-content: center;
  margin-top: 3.5rem;
}

.text-news-chapter-page main {
  max-width: 72rem;
  padding-top: 2.75rem;
}
.text-news-chapter-page .text-work { max-width: 52rem; }
.news-chapter-header {
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 1.5rem;
  padding-bottom: 1.1rem;
  text-align: left;
}
.news-book-kicker {
  color: var(--sage);
  font-family: var(--serif);
  font-size: .82rem;
  font-weight: 600;
}
.news-book-kicker a {
  color: inherit;
  text-decoration: none;
}
.news-book-kicker a:hover { color: var(--ink); }
.news-chapter-position {
  align-items: baseline;
  display: flex;
  gap: .6rem;
}
.news-chapter-position span + span {
  border-left: 1px solid var(--hairline);
  padding-left: .6rem;
}
.news-chapter-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7.5rem;
  margin-top: .75rem;
}
.news-chapter-title-copy { min-width: 0; }
.text-news-chapter-page .news-chapter-header h1 {
  color: var(--ink);
  font-size: 3.15rem;
  letter-spacing: 0;
  line-height: 1.07;
  margin: 0;
  padding-right: 1.25rem;
  position: relative;
  text-align: left;
}
.text-news-chapter-page .news-chapter-header h1.news-chapter-title-long {
  font-size: 2.55rem;
  line-height: 1.1;
}
.text-news-chapter-page .news-chapter-header h1 > .markbtn {
  position: absolute;
  right: 0;
  top: .15rem;
}
.news-chapter-title-row .text-work-motif { padding-bottom: .15rem; }
.news-chapter-opening { margin-bottom: 3.6rem; }
.news-chapter-intro-copy { max-width: 43rem; }
.text-news-chapter-page p.text-work-lede {
  font-size: 1.12rem;
  line-height: 1.7;
  margin-bottom: 1rem;
}
.news-chapter-map {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  margin-top: 2rem;
  padding: .75rem 0 .85rem;
}
.news-chapter-map-label {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 650;
  margin: 0 0 .45rem;
}
.news-chapter-map ol {
  display: grid;
  gap: .65rem 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-chapter-map li { min-width: 0; }
.news-chapter-map a {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  gap: .5rem;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  line-height: 1.3;
  padding: .2rem 0;
  text-decoration: none;
}
.news-chapter-map a:hover .news-map-title { color: var(--sage); }
.news-map-number {
  color: var(--gold);
  font-size: .62rem;
  font-weight: 650;
}
.news-map-copy,
.news-map-phi,
.news-map-title { display: block; }
.news-map-phi {
  color: var(--sage);
  font-family: var(--serif);
  font-size: .7rem;
  margin-bottom: .05rem;
}
.news-map-title {
  font-family: var(--serif);
  font-size: .8rem;
  transition: color .15s ease;
}
.news-movement {
  margin-top: 4.5rem;
  scroll-margin-top: 1.5rem;
}
.news-movement-level-3 { margin-top: 3.7rem; }
.text-news-chapter-page .news-movement-heading {
  align-items: baseline;
  border-top: 1px solid var(--hairline);
  color: var(--ink);
  display: grid;
  gap: .9rem;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 0 1rem;
  padding: .75rem 1.25rem 0 0;
  position: relative;
}
.text-news-chapter-page h2.news-movement-heading {
  font-size: 1.85rem;
  font-weight: 550;
}
.text-news-chapter-page h3.news-movement-heading {
  font-size: 1.55rem;
  font-weight: 550;
}
.text-news-chapter-page .news-movement-heading > .markbtn {
  position: absolute;
  right: 0;
  top: .75rem;
}
.news-movement-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .43em;
  font-weight: 650;
  padding-top: .12rem;
}
.news-movement-copy,
.news-movement-phi,
.news-movement-english { display: block; }
.news-movement-phi {
  color: var(--sage);
  font-size: .56em;
  line-height: 1.35;
  margin-bottom: .08rem;
}
.news-movement > p {
  line-height: 1.7;
  margin: .9rem 0;
  max-width: 46rem;
}
.news-movement .text-interlinear {
  background: var(--paper-raised);
  border-left: 2px solid var(--sage);
  margin-bottom: 1.25rem;
  margin-top: 1rem;
}
.news-movement .text-stanza {
  padding-bottom: 1.1rem;
  padding-top: 1.05rem;
}
.news-movement .text-notes {
  margin-bottom: 1.8rem;
  margin-top: 1.15rem;
}
.news-apparatus {
  border-top: 1px solid var(--gold);
  margin-top: 5rem;
  padding-top: 1.2rem;
}
.text-news-chapter-page .news-apparatus h2.text-method-heading {
  border-bottom: 0;
  font-size: 1.75rem;
  margin-bottom: 1.2rem;
  padding-bottom: 0;
}
.news-apparatus .text-ledger-wrap {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  padding: .3rem 0;
}
.text-news-chapter-page .news-chapter-nav {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin-top: 4rem;
}
.news-chapter-nav > a { min-width: 0; }
.news-chapter-prev,
.news-chapter-next {
  display: flex;
  flex-direction: column;
}
.news-chapter-next { text-align: right; }
.news-nav-direction {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
}
.news-nav-title {
  font-family: var(--serif);
  font-size: .84rem;
  line-height: 1.4;
  margin-top: .18rem;
  overflow-wrap: anywhere;
}
.news-chapter-contents {
  font-size: .78rem;
  padding-top: .05rem;
}

/* --- opt-in manual reference treatment (site/manual_editorial.json) --- */
.manual-editorial main {
  max-width: 64rem;
  min-width: 0;
  padding-top: 2.75rem;
  width: 100%;
}
.manual-editorial .manual-work {
  margin: 0 auto;
  max-width: 48rem;
  min-width: 0;
  width: 100%;
}
.manual-editorial p { overflow-wrap: anywhere; }
.manual-page-header {
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 1.35rem;
  padding-bottom: 1.2rem;
}
.manual-header-meta {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .72rem;
  justify-content: space-between;
}
.manual-header-meta p {
  display: flex;
  gap: .55rem;
  margin: 0;
}
.manual-header-meta p:first-child span + span::before {
  color: var(--gold);
  content: "·";
  margin-right: .55rem;
}
.manual-header-meta .manual-shelf-label {
  color: var(--gold);
  font-weight: 650;
}
.manual-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .6rem;
}
.manual-chapter-label {
  color: var(--sage);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 650;
  margin: 0 0 .18rem;
}
.manual-chapter-label span {
  color: var(--gold);
  margin: 0 .2rem;
}
.manual-editorial .manual-page-header h1 {
  color: var(--ink);
  font-size: 2.7rem;
  letter-spacing: 0;
  line-height: 1.08;
  margin: 0;
  overflow-wrap: anywhere;
  padding-right: 1rem;
  position: relative;
  text-align: left;
}
.manual-editorial .manual-page-header h1 > .markbtn,
.manual-editorial h2.manual-section-title > .markbtn,
.manual-editorial h3.manual-subsection-title > .markbtn {
  position: absolute;
  right: 0;
  top: .15rem;
}
.manual-page-motif {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
  padding-bottom: .15rem;
}
.manual-page-motif svg {
  fill: none;
  height: 3.5rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.25;
  width: 3.5rem;
}
.manual-page-motif svg + svg {
  color: var(--gold);
  height: 2.35rem;
  margin-left: -.25rem;
  width: 2.35rem;
}
.manual-first-light-page .manual-page-motif { color: var(--gold); }
.manual-first-light-page .manual-page-motif svg + svg { color: var(--sage); }
.manual-spoken-sound-page .manual-page-motif { color: var(--muted); }
.manual-spoken-sound-page .manual-page-motif svg + svg { color: var(--sage); }
.manual-woven-thoughts-page .manual-page-motif svg + svg { color: var(--muted); }
.manual-lived-practice-page .manual-page-motif { color: var(--gold); }
.manual-lived-practice-page .manual-page-motif svg + svg { color: var(--sage); }
.manual-open-reference-page .manual-page-motif { color: var(--sage); }
.manual-open-reference-page .manual-page-motif svg + svg { color: var(--gold); }
.manual-indexed-notes-page .manual-page-motif { color: var(--muted); }
.manual-indexed-notes-page .manual-page-motif svg + svg { color: var(--gold); }
.manual-makers-mark-page .manual-page-motif { color: var(--gold); }
.manual-makers-mark-page .manual-page-motif svg + svg { color: var(--sage); }
.manual-page-opening,
.manual-unsectioned-copy {
  min-width: 0;
}
.manual-page-opening {
  margin-bottom: 1.7rem;
}
.manual-unsectioned-copy .manual-page-opening {
  margin-bottom: 0;
}
.manual-page-opening > p:not(.manual-page-lede),
.manual-unsectioned-copy p {
  line-height: 1.68;
  max-width: 42rem;
}
.manual-editorial p.manual-page-lede {
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.1rem;
  line-height: 1.7;
  margin: 0 0 1.7rem;
  max-width: 42rem;
  padding-left: 1rem;
}
.manual-page-map {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 7rem minmax(0, 1fr);
  margin: 0 0 2.8rem;
  padding: .85rem 0 .95rem;
}
.manual-page-map > p {
  color: var(--gold);
  font-size: .72rem;
  font-weight: 650;
  margin: .12rem 0 0;
}
.manual-page-map ol {
  display: grid;
  gap: .25rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.manual-page-map a {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  font-family: var(--serif);
  font-size: .86rem;
  gap: .55rem;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  line-height: 1.35;
  padding: .18rem 0;
  text-decoration: none;
}
.manual-page-map a:hover { color: var(--sage); }
.manual-map-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 650;
}
.manual-map-title { min-width: 0; }
.manual-reference-section {
  margin-top: 2.8rem;
  scroll-margin-top: 1rem;
}
.manual-editorial h2.manual-section-title {
  align-items: baseline;
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  display: grid;
  font-size: 1.35rem;
  gap: .75rem;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 .85rem;
  overflow-wrap: anywhere;
  padding-right: 1rem;
  padding-bottom: .4rem;
  position: relative;
}
.manual-section-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .55em;
  font-weight: 650;
}
.manual-editorial h2.manual-step-title {
  align-items: start;
  grid-template-columns: 3rem minmax(0, 1fr);
}
.manual-step-number {
  color: var(--gold);
  display: flex;
  flex-direction: column;
  font-family: var(--sans);
  font-size: .72em;
  font-weight: 650;
  line-height: 1;
  padding-top: .08rem;
}
.manual-step-number small {
  color: var(--muted);
  font-size: .52em;
  font-weight: 650;
  margin-bottom: .18rem;
}
.manual-reference-section > p,
.manual-reference-section > .manual-table-wrap,
.manual-reference-section > .manual-example,
.manual-reference-section > .manual-example-set,
.manual-reference-section > .manual-pattern,
.manual-reference-section > .manual-syntax-formula,
.manual-reference-section > .manual-code-sample,
.manual-reference-section > ul,
.manual-reference-section > ol,
.manual-reference-section > blockquote {
  margin-left: 3rem;
}
.manual-reference-section > p {
  line-height: 1.68;
  max-width: 42rem;
}
.manual-editorial h3.manual-subsection-title {
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  font-size: 1.08rem;
  letter-spacing: 0;
  line-height: 1.3;
  margin: 2rem 0 .65rem;
  max-width: 42rem;
  overflow-wrap: anywhere;
  padding-right: 1rem;
  padding-bottom: .25rem;
  position: relative;
  scroll-margin-top: 1rem;
}
.manual-page-opening > h3.manual-subsection-title:first-child {
  margin-top: .25rem;
}
.manual-editorial ul,
.manual-editorial ol {
  line-height: 1.58;
  max-width: 40rem;
  padding-left: 1.3rem;
}
.manual-editorial li + li { margin-top: .22rem; }
.manual-editorial li::marker { color: var(--gold); }
.manual-editorial blockquote {
  background: var(--paper-raised);
  border-left: 2px solid var(--sage);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.04rem;
  line-height: 1.62;
  max-width: 39rem;
  padding: .7rem 1rem;
}
.manual-table-wrap {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 2px solid var(--gold);
  margin-bottom: 1.35rem;
  margin-top: 1rem;
}
.manual-editorial table.manual-reference-table {
  border-collapse: collapse;
  font-size: .88rem;
  margin: 0;
  table-layout: auto;
  width: 100%;
}
.manual-editorial .manual-reference-table th {
  border-bottom: 1px solid var(--hairline);
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: 0;
  padding: .45rem .8rem;
}
.manual-editorial .manual-reference-table td {
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  overflow-wrap: anywhere;
  padding: .5rem .8rem;
  vertical-align: top;
}
.manual-editorial .manual-reference-table tr:last-child td {
  border-bottom: 0;
}
.manual-table-value {
  display: block;
  min-width: 0;
}
.manual-editorial .manual-reference-table th:first-child,
.manual-editorial .manual-reference-table td:first-child {
  padding-left: 1rem;
  width: 27%;
}
.manual-table-dense .manual-reference-table td { padding-bottom: .4rem; padding-top: .4rem; }
.manual-table-wide .manual-reference-table { font-size: .84rem; }
.manual-module-guide-variant .manual-table-wide .manual-reference-table th:first-child,
.manual-module-guide-variant .manual-table-wide .manual-reference-table td:first-child {
  width: 18%;
}
.manual-example {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  margin-bottom: 1.35rem;
  margin-right: 0;
  margin-top: 1rem;
  padding: .75rem 1rem .8rem;
}
.manual-example-set {
  background: var(--paper-raised);
  border-left: 2px solid var(--sage);
  margin-bottom: 1.35rem;
  margin-top: 1rem;
}
.manual-example-set .manual-example {
  background: transparent;
  border-bottom: 1px solid var(--hairline);
  border-left: 0;
  margin: 0;
}
.manual-example-set .manual-example:last-child { border-bottom: 0; }
.manual-example p { margin: 0; }
.manual-example-phi {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 550;
  line-height: 1.5;
}
.manual-example-gloss {
  color: var(--muted);
  font-family: var(--ipa);
  font-size: .82rem;
  line-height: 1.45;
}
.manual-example figcaption {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .86rem;
  font-style: italic;
  line-height: 1.45;
  margin-top: .12rem;
}
.manual-example-source {
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
  line-height: 1.4;
  margin-top: .45rem !important;
  padding-top: .4rem;
}
.manual-code-sample {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  color: var(--ink);
  font-family: var(--ipa);
  font-size: .86rem;
  line-height: 1.5;
  max-width: 39rem;
  overflow-x: auto;
  padding: .75rem 1rem;
  white-space: pre-wrap;
}
.manual-syntax-formula {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 2px solid var(--sage);
  margin-bottom: 1.35rem;
  margin-top: 1rem;
  padding: .8rem 1rem;
}
.manual-syntax-formula code {
  background: transparent;
  color: var(--ink);
  font-family: var(--ipa);
  font-size: .98rem;
  overflow-wrap: anywhere;
  padding: 0;
}
.manual-glossary {
  border-top: 2px solid var(--gold);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 2.2rem;
}
.manual-glossary-entry {
  border-bottom: 1px solid var(--hairline);
  min-width: 0;
  padding: .8rem 1rem .9rem 0;
}
.manual-glossary-entry:nth-child(odd) {
  border-right: 1px solid var(--hairline);
}
.manual-glossary-entry:nth-child(even) { padding-left: 1rem; }
.manual-glossary dt {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.25;
}
.manual-glossary dd {
  color: var(--ink);
  font-family: var(--sans);
  font-size: .83rem;
  line-height: 1.55;
  margin: .25rem 0 0;
}
.manual-gloss-table-wrap .manual-reference-table th:first-child,
.manual-gloss-table-wrap .manual-reference-table td:first-child { width: 18%; }
.manual-maker-note-variant p.manual-page-lede {
  border-left: 0;
  font-size: 1.08rem;
  padding-left: 0;
}
.manual-maker-note-variant p.manual-page-lede::first-letter {
  color: var(--gold);
  float: left;
  font-family: var(--serif);
  font-size: 4.4rem;
  line-height: .78;
  padding: .12rem .45rem 0 0;
}
.manual-maker-note-variant .manual-page-opening > p:not(.manual-page-lede) {
  max-width: 44rem;
}
@media (min-width: 641px) {
  .manual-directory-variant .manual-table-pair .manual-reference-table th:first-child,
  .manual-directory-variant .manual-table-pair .manual-reference-table td:first-child {
    width: 34%;
  }
}
.manual-dialogue {
  border-bottom: 1px solid var(--hairline);
  border-top: 2px solid var(--sage);
  margin: 1.4rem 0 .15rem;
}
.manual-dialogue-turn {
  align-items: start;
  border-bottom: 1px solid var(--hairline);
  display: grid;
  gap: .85rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  padding: .65rem .35rem .7rem;
}
.manual-dialogue-turn:last-child { border-bottom: 0; }
.manual-dialogue-speaker {
  align-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  display: flex;
  font-size: .65rem;
  font-weight: 650;
  height: 1.55rem;
  justify-content: center;
  margin-top: .08rem;
  width: 1.55rem;
}
.manual-dialogue-copy { min-width: 0; }
.manual-dialogue-copy p { margin: 0; }
.manual-dialogue-phi {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.04rem;
  font-weight: 550;
  line-height: 1.42;
}
.manual-dialogue-english {
  color: var(--muted);
  font-family: var(--serif);
  font-size: .82rem;
  font-style: italic;
  line-height: 1.42;
  margin-top: .08rem !important;
}
.manual-exercise-section .manual-section-number { color: var(--sage); }
.manual-exercise-section .manual-table-wrap { border-top-color: var(--sage); }
.manual-pattern {
  border-bottom: 1px solid var(--hairline);
  border-top: 2px solid var(--sage);
  margin-bottom: 1.35rem;
  margin-top: 1rem;
}
.manual-pattern-list {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.manual-pattern-list li {
  border-right: 1px solid var(--hairline);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .65rem .5rem .7rem;
}
.manual-pattern-list li:last-child { border-right: 0; }
.manual-pattern-number {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .64rem;
  font-weight: 650;
  margin-bottom: .18rem;
}
.manual-pattern-list li > span:last-child {
  font-family: var(--serif);
  font-size: .72rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.manual-editorial .manual-page-nav {
  align-items: start;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin: 3.5rem auto 0;
  max-width: 48rem;
}
.manual-nav-page {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.manual-nav-next { text-align: right; }
.manual-nav-page > span {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
}
.manual-editorial .manual-page-nav .manual-nav-page > strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: .18rem;
  overflow-wrap: anywhere;
}
.manual-nav-contents {
  font-size: .78rem;
  padding-top: .05rem;
}
.manual-contents-page main { max-width: 70rem; }
.manual-contents-page .manual-work { max-width: 58rem; }
.manual-index-header {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 1.4rem;
}
.manual-index-meta {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .72rem;
  justify-content: space-between;
}
.manual-index-meta p {
  display: flex;
  gap: .55rem;
  margin: 0;
}
.manual-index-meta p:first-child span:first-child {
  color: var(--gold);
  font-weight: 650;
}
.manual-index-meta p:first-child span + span::before {
  color: var(--gold);
  content: "·";
  margin-right: .55rem;
}
.manual-index-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .7rem;
}
.manual-index-title-row h1 {
  color: var(--ink);
  font-size: 3.1rem;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
}
.manual-index-lede {
  font-family: var(--serif);
  font-size: 1.03rem;
  line-height: 1.65;
  margin: .7rem 0 0;
  max-width: 43rem;
}
.manual-index-counts {
  color: var(--muted);
  display: flex;
  font-size: .74rem;
  gap: 1.1rem;
  margin: 1.1rem 0 0;
}
.manual-index-counts strong {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 600;
  margin-right: .18rem;
}
.manual-index-jump {
  border-bottom: 1px solid var(--hairline);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 3.7rem;
}
.manual-index-jump a {
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  font-family: var(--serif);
  font-size: .84rem;
  line-height: 1.3;
  min-width: 0;
  padding: .75rem .7rem .8rem 0;
  text-decoration: none;
}
.manual-index-jump a:nth-last-child(-n + 4) { border-bottom: 0; }
.manual-index-jump a:hover { color: var(--sage); }
.manual-index-jump a span {
  color: var(--gold);
  display: block;
  font-family: var(--sans);
  font-size: .64rem;
  font-weight: 650;
  margin-bottom: .15rem;
}
.manual-index-part {
  margin-top: 4rem;
  scroll-margin-top: 1rem;
}
.manual-index-part-header {
  align-items: end;
  border-top: 2px solid var(--gold);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  padding: 1rem 0 1.2rem;
}
.manual-index-part-label {
  color: var(--gold);
  font-size: .7rem;
  font-weight: 650;
  margin: 0 0 .18rem;
}
.manual-index-part-header h2 {
  color: var(--ink);
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}
.manual-index-part-header p:last-child {
  color: var(--muted);
  font-family: var(--serif);
  font-size: .9rem;
  line-height: 1.55;
  margin: .4rem 0 0;
  max-width: 42rem;
}
.manual-index-part .manual-page-motif { align-self: center; }
.manual-index-part .manual-motif-first_light,
.manual-index-part .manual-motif-lived_practice { color: var(--gold); }
.manual-index-part .manual-motif-first_light svg + svg,
.manual-index-part .manual-motif-lived_practice svg + svg { color: var(--sage); }
.manual-index-part .manual-motif-spoken_sound,
.manual-index-part .manual-motif-indexed_notes { color: var(--muted); }
.manual-index-part .manual-motif-spoken_sound svg + svg { color: var(--sage); }
.manual-index-part .manual-motif-indexed_notes svg + svg { color: var(--gold); }
.manual-index-part .manual-motif-woven_thoughts svg + svg { color: var(--muted); }
.manual-index-part .manual-motif-open_reference { color: var(--sage); }
.manual-index-part .manual-motif-open_reference svg + svg { color: var(--gold); }
.manual-index-chapters {
  display: grid;
  gap: 2rem 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.manual-index-chapter {
  border-top: 1px solid var(--hairline);
  min-width: 0;
  padding-top: .65rem;
}
.manual-index-chapter h3 {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  margin: 0 0 .45rem;
}
.manual-index-chapter h3 span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .65rem;
  font-weight: 650;
  margin-bottom: .12rem;
}
.manual-index-chapter h3 strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 600;
}
.manual-index-readings {
  list-style: none;
  margin: 0;
  max-width: none !important;
  padding: 0 !important;
}
.manual-index-readings li {
  border-bottom: 1px solid var(--hairline);
  margin: 0 !important;
}
.manual-index-readings a {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  gap: .55rem;
  grid-template-columns: 2.25rem minmax(0, 1fr) .65rem;
  line-height: 1.35;
  padding: .48rem .15rem .52rem 0;
  text-decoration: none;
}
.manual-index-readings a:hover {
  background: var(--paper-raised);
  color: var(--sage);
}
.manual-index-reading-number {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .62rem;
  font-weight: 650;
}
.manual-index-reading-title {
  font-family: var(--serif);
  font-size: .84rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.manual-index-arrow {
  color: var(--gold);
  font-size: 1rem;
}
.manual-index-back-matter .manual-index-part-header {
  border-top-color: var(--sage);
}

@media (max-width: 760px) {
  .primer-ladder-grid { grid-template-columns: minmax(0, 1fr); }
  .text-index-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .text-index-entry a,
  .text-index-book > a {
    align-items: start;
    grid-template-columns: 2.25rem minmax(0, 1fr) 1.25rem;
  }
  .text-index-number,
  .text-index-book-mark {
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .text-index-copy {
    grid-column: 2;
    grid-row: 1;
  }
  .text-index-entry-meta {
    align-items: center;
    flex-flow: row wrap;
    gap: .35rem 1rem;
    grid-column: 2;
    grid-row: 2;
    justify-content: start;
  }
  .text-index-entry-method,
  .text-index-book-progress { text-align: left; }
  .text-index-entry-tengwar {
    flex-basis: 100%;
    margin-left: 0;
    margin-top: .3rem;
    max-width: 12rem;
  }
  .text-index-entry-tengwar .teng-svg { margin-left: 0; }
  .text-index-arrow {
    align-self: center;
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .text-reading-map ol {
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .text-translation-page .text-reading-map ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .text-transmutation-page .text-reading-map ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .text-original-page .text-reading-map ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .text-rabbit-heart-page .text-reading-map ol {
    gap: 0 .8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .text-reading-map li + li { border-top: 1px solid var(--hairline); }
  .text-reading-map a { padding: .5rem 0; }
  .text-ledger tr:first-child {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .text-ledger tr {
    border-top: 1px solid var(--hairline);
    display: block;
    padding: .35rem 0;
  }
  .text-ledger td,
  .text-ledger td:first-child {
    border: 0;
    display: grid;
    gap: .7rem;
    grid-template-columns: 7rem minmax(0, 1fr);
    padding: .43rem 0;
    width: auto;
  }
  .text-ledger td::before {
    color: var(--muted);
    content: attr(data-label);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 650;
  }
  .text-pillar-reflection {
    gap: .35rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .manual-editorial main { padding-top: 2rem; }
  .manual-title-row {
    gap: .9rem;
    grid-template-columns: minmax(0, 1fr) 5.2rem;
  }
  .manual-editorial .manual-page-header h1 { font-size: 2.3rem; }
  .manual-page-motif svg { height: 2.8rem; width: 2.8rem; }
  .manual-page-motif svg + svg {
    height: 1.9rem;
    width: 1.9rem;
  }
  .manual-index-jump {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .manual-index-jump a:nth-last-child(-n + 4) {
    border-bottom: 1px solid var(--hairline);
  }
  .manual-index-jump a:nth-last-child(-n + 2) { border-bottom: 0; }
  .manual-index-chapters { grid-template-columns: minmax(0, 1fr); }
  .manual-page-map {
    gap: .8rem;
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }
  .manual-pattern-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .manual-pattern-list li:nth-child(4) { border-right: 0; }
  .manual-pattern-list li:nth-child(n + 5) { border-top: 1px solid var(--hairline); }
}

@media (max-width: 560px) {
  .primer-editorial main { padding-top: 2rem; }
  .primer-title-row {
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) 4.8rem;
  }
  .primer-editorial .primer-chapter-header h1 { font-size: 2.35rem; }
  .primer-part-motif svg { height: 2.7rem; width: 2.7rem; }
  .primer-part-motif svg + svg {
    height: 1.9rem;
    margin-left: -.3rem;
    width: 1.9rem;
  }
  .primer-editorial blockquote.primer-reading {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  table.primer-word-ledger { font-size: .88rem; }
  .primer-word-ledger th,
  .primer-word-ledger td { padding-right: .4rem; }
  .primer-word-ledger th:first-child,
  .primer-word-ledger td:first-child { width: 25%; }
  .primer-word-ledger th:nth-child(2),
  .primer-word-ledger td:nth-child(2) { width: 31%; }
  .primer-dialogue-line {
    gap: .65rem;
    grid-template-columns: 4.2rem minmax(0, 1fr);
  }
  .primer-contents-page .primer-title-row {
    grid-template-columns: minmax(0, 1fr) 4rem;
  }
  .primer-ladder-grid { gap: 1.6rem; }
  .primer-ladder th:nth-child(2),
  .primer-ladder td:nth-child(2) { width: 43%; }
  .book-editorial h1 { font-size: 2.15rem; }
  .book-editorial .chapter-lede { font-size: 1.08rem; }
  .book-editorial .drop-cap { font-size: 3.55rem; }
  .book-editorial .chapter-pullquote {
    float: none;
    margin: 1.6rem 0 1rem;
    width: auto;
  }
  .text-editorial main { padding-top: 2rem; }
  .text-index-title-row {
    column-gap: .75rem;
    grid-template-columns: minmax(0, 1fr) 4.2rem;
    row-gap: .75rem;
  }
  .text-index-header {
    margin-bottom: .75rem;
    padding-bottom: .75rem;
  }
  .text-index-lede {
    font-size: .98rem;
    grid-column: 1 / -1;
    line-height: 1.6;
  }
  .text-index-title-row .text-work-motif { grid-row: 1; }
  .text-index-title-row h1 { font-size: 2.8rem; }
  .text-index-title-row .text-work-motif svg {
    height: 2.8rem;
    width: 2.8rem;
  }
  .text-index-title-row .text-work-motif svg + svg {
    height: 2rem;
    width: 2rem;
  }
  .text-index-methods > h2 { font-size: 1.35rem; }
  .text-index-method-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .text-index-section-heading h2 { font-size: 1.6rem; }
  .text-index-entry a,
  .text-index-book > a {
    gap: .65rem;
    grid-template-columns: 1.65rem minmax(0, 1fr) 1rem;
  }
  .text-index-copy h3 { font-size: 1.28rem; }
  .text-index-book .text-index-copy h3 { font-size: 1.48rem; }
  .text-index-summary { font-size: .79rem; }
  .text-index-book > a {
    padding-left: .7rem;
    padding-right: .7rem;
  }
  .text-index-book-mark .text-section-icon svg {
    height: 1.45rem;
    width: 1.45rem;
  }
  .text-collection-page .text-work-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
  .text-collection-page .text-work-method span { white-space: nowrap; }
  .text-work-title-row {
    gap: .5rem;
    grid-template-columns: minmax(0, 1fr) 3.8rem;
  }
  .text-editorial .text-work-header h1 { font-size: 2.1rem; }
  .text-editorial .text-work-header h1.text-work-title-long {
    font-size: 1.7rem;
  }
  .text-work-motif svg { height: 2.4rem; width: 2.4rem; }
  .text-work-motif svg + svg {
    height: 1.75rem;
    width: 1.75rem;
  }
  .text-work-motif-rabbit_heart svg:first-child {
    height: 2.65rem;
    width: 2.65rem;
  }
  .text-title-tengwar { max-width: 100%; }
  .text-title-tengwar .teng-svg { height: 2.2rem !important; }
  .text-editorial h2.text-method-heading {
    font-size: 1.75rem;
    gap: .55rem;
    grid-template-columns: 2rem minmax(0, 1fr);
  }
  .text-editorial h2.text-collection-detail-heading {
    font-size: 1.45rem;
  }
  .text-section-icon svg { height: 1.55rem; width: 1.55rem; }
  .text-section-number { font-size: .68rem; }
  .text-interlinear {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .text-heart-radiance-page .text-interlinear {
    margin-left: 0;
  }
  .text-heart-radiance-page .text-notes {
    margin-left: .55rem;
  }
  .text-notes {
    margin-left: .55rem;
    padding-left: .75rem;
  }
  .text-complete-reading {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .text-dialogue-turn {
    gap: .7rem;
    grid-template-columns: 3.8rem minmax(0, 1fr);
  }
  .text-dialogue-name { font-size: .64rem; }
  .text-ledger td,
  .text-ledger td:first-child {
    gap: .5rem;
    grid-template-columns: 5.8rem minmax(0, 1fr);
  }
  .text-editorial .chapnav.text-work-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .text-work-next { text-align: left; }
  .text-work-index { grid-row: 1; }
  .manual-header-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
  .manual-header-meta > p:last-child { align-self: flex-end; }
  .manual-header-meta p:first-child {
    flex-wrap: wrap;
    gap: .2rem .45rem;
  }
  .manual-header-meta p:first-child span + span::before {
    margin-right: .45rem;
  }
  .manual-page-header {
    padding: 1.75rem 0 1.2rem;
  }
  .manual-title-row {
    gap: .35rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .manual-page-motif { justify-self: end; }
  .manual-editorial .manual-page-header h1 { font-size: 1.85rem; }
  .manual-editorial .manual-page-header h1.manual-title-long {
    font-size: 1.7rem;
  }
  .manual-editorial .manual-page-header h1.manual-title-very-long {
    font-size: 1.55rem;
  }
  .manual-page-motif svg { height: 1.85rem; width: 1.85rem; }
  .manual-page-motif svg + svg {
    height: 1.25rem;
    width: 1.25rem;
  }
  .manual-index-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
  .manual-index-meta p:first-child { flex-wrap: wrap; }
  .manual-index-meta > p:last-child { align-self: flex-end; }
  .manual-index-title-row,
  .manual-index-part-header {
    gap: .5rem;
    grid-template-columns: minmax(0, 1fr) 4rem;
  }
  .manual-index-title-row h1 { font-size: 2.25rem; }
  .manual-index-lede {
    font-size: .96rem;
    grid-column: 1 / -1;
  }
  .manual-index-counts {
    flex-wrap: wrap;
    gap: .5rem 1rem;
  }
  .manual-index-jump { margin-bottom: 3rem; }
  .manual-index-part { margin-top: 3.2rem; }
  .manual-index-part-header h2 { font-size: 1.65rem; }
  .manual-index-part-header p:last-child { font-size: .84rem; }
  .manual-index-part .manual-page-motif svg {
    height: 2.2rem;
    width: 2.2rem;
  }
  .manual-index-part .manual-page-motif svg + svg {
    height: 1.5rem;
    width: 1.5rem;
  }
  .manual-editorial p.manual-page-lede {
    font-size: 1rem;
    margin-bottom: 1.4rem;
  }
  .manual-page-opening { margin-bottom: 1.4rem; }
  .manual-page-map {
    gap: .5rem;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 2.3rem;
  }
  .manual-page-map ol {
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .manual-page-map li + li { border-top: 1px solid var(--hairline); }
  .manual-page-map a { padding: .4rem 0; }
  .manual-reference-section { margin-top: 2.35rem; }
  .manual-reference-section > p,
  .manual-reference-section > .manual-table-wrap,
  .manual-reference-section > .manual-example,
  .manual-reference-section > .manual-example-set,
  .manual-reference-section > .manual-pattern,
  .manual-reference-section > .manual-syntax-formula,
  .manual-reference-section > .manual-code-sample,
  .manual-reference-section > ul,
  .manual-reference-section > ol,
  .manual-reference-section > blockquote {
    margin-left: 0;
  }
  .manual-editorial h2.manual-section-title {
    font-size: 1.25rem;
    grid-template-columns: 1.8rem minmax(0, 1fr);
  }
  .manual-editorial h2.manual-step-title {
    grid-template-columns: 2.6rem minmax(0, 1fr);
  }
  .manual-editorial h3.manual-subsection-title {
    font-size: 1rem;
    margin-top: 1.7rem;
  }
  .manual-table-wrap {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding: 0 .75rem;
  }
  .manual-reference-table tr:first-child {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .manual-editorial .manual-reference-table tr {
    border-bottom: 1px solid var(--hairline);
    display: block;
    padding: .25rem 0;
  }
  .manual-editorial .manual-reference-table tr:last-child { border-bottom: 0; }
  .manual-editorial .manual-reference-table td,
  .manual-editorial .manual-reference-table td:first-child {
    border: 0;
    display: grid;
    gap: .55rem;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    padding: .34rem 0;
    width: auto;
  }
  .manual-reference-table td::before {
    color: var(--muted);
    content: attr(data-label);
    font-family: var(--sans);
    font-size: .68rem;
    font-weight: 650;
  }
  .manual-glossary {
    grid-template-columns: minmax(0, 1fr);
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .manual-glossary-entry,
  .manual-glossary-entry:nth-child(even) {
    border-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .manual-maker-note-variant p.manual-page-lede::first-letter {
    font-size: 3.7rem;
  }
  .manual-example {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .manual-example-set,
  .manual-syntax-formula {
    margin-left: -.55rem;
    margin-right: -.55rem;
  }
  .manual-example-set .manual-example {
    margin-left: 0;
    margin-right: 0;
  }
  .manual-code-sample,
  .manual-editorial blockquote {
    margin-right: 0;
  }
  .manual-dialogue {
    margin-left: -.55rem;
    margin-right: -.55rem;
  }
  .manual-dialogue-turn {
    gap: .65rem;
    padding-left: .75rem;
    padding-right: .75rem;
  }
  .manual-pattern-list { grid-template-columns: minmax(0, 1fr); }
  .manual-pattern-list li,
  .manual-pattern-list li:nth-child(4),
  .manual-pattern-list li:nth-child(n + 5) {
    border-bottom: 1px solid var(--hairline);
    border-right: 0;
    border-top: 0;
    display: grid;
    gap: .65rem;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    padding: .5rem .15rem;
  }
  .manual-pattern-list li:last-child { border-bottom: 0; }
  .manual-pattern-number { margin-bottom: 0; }
  .manual-pattern-list li > span:last-child { font-size: .82rem; }
  .manual-editorial .manual-page-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .manual-nav-contents {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }
}

@media (max-width: 360px) {
  .text-index-title-row {
    grid-template-columns: minmax(0, 1fr) 3.5rem;
  }
  .text-index-title-row h1 { font-size: 2.3rem; }
  .text-index-title-row .text-work-motif svg {
    height: 2.35rem;
    width: 2.35rem;
  }
  .text-index-title-row .text-work-motif svg + svg {
    height: 1.65rem;
    width: 1.65rem;
  }
}

@media (max-width: 760px) {
  .news-book-title-row {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) 7rem;
  }
  .news-book-chapter a {
    gap: .9rem;
    grid-template-columns: 2.5rem minmax(0, 1fr) 7rem 1.25rem;
  }
  .news-chapter-title-row {
    gap: .8rem;
    grid-template-columns: minmax(0, 1fr) 6rem;
  }
  .news-chapter-map ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .text-news-book-page main,
  .text-news-chapter-page main { padding-top: 2rem; }
  .news-book-title-row {
    gap: .65rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .text-news-book-page .news-book-header h1 { font-size: 2.7rem; }
  .news-book-title-row .text-work-motif {
    justify-self: end;
    margin-top: .25rem;
  }
  .news-book-title-row .text-work-motif svg {
    height: 2.7rem;
    width: 2.7rem;
  }
  .news-book-title-row .text-work-motif svg + svg {
    height: 2rem;
    width: 2rem;
  }
  .news-book-opening { padding-bottom: 1.8rem; }
  .text-news-book-page p.news-book-lede { font-size: 1rem; }
  .news-book-status {
    align-items: start;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 2.75rem;
    padding-left: .8rem;
    padding-right: .8rem;
  }
  .text-news-book-page .news-book-section-heading h2 {
    font-size: 1.55rem;
  }
  .news-book-chapter a {
    align-items: start;
    gap: .6rem;
    grid-template-columns: 1.8rem minmax(0, 1fr) 1rem;
    padding: 1.2rem 0 1.3rem;
  }
  .news-book-chapter-number {
    font-size: 1.12rem;
    grid-column: 1;
    grid-row: 1 / span 2;
  }
  .news-book-chapter-copy {
    grid-column: 2;
    grid-row: 1;
  }
  .text-news-book-page .news-book-chapter h3 { font-size: 1.32rem; }
  .news-book-chapter-summary { font-size: .79rem; }
  .news-book-chapter-meta {
    align-items: center;
    flex-flow: row wrap;
    gap: .25rem .85rem;
    grid-column: 2;
    grid-row: 2;
    justify-content: start;
    margin-top: .25rem;
  }
  .news-book-chapter-meta p {
    margin: 0;
    text-align: left;
  }
  .news-book-chapter .news-link-arrow {
    align-self: center;
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .news-chapter-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .18rem;
  }
  .news-chapter-title-row {
    gap: .45rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .text-news-chapter-page .news-chapter-header h1 {
    font-size: 2.2rem;
  }
  .text-news-chapter-page .news-chapter-header h1.news-chapter-title-long {
    font-size: 1.8rem;
  }
  .news-chapter-title-row .text-work-motif {
    justify-self: end;
    margin-top: .15rem;
  }
  .news-chapter-title-row .text-work-motif svg {
    height: 2.4rem;
    width: 2.4rem;
  }
  .news-chapter-title-row .text-work-motif svg + svg {
    height: 1.75rem;
    width: 1.75rem;
  }
  .news-chapter-opening { margin-bottom: 3rem; }
  .text-news-chapter-page p.text-work-lede { font-size: 1rem; }
  .news-chapter-map ol {
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .news-chapter-map li + li { border-top: 1px solid var(--hairline); }
  .news-chapter-map a { padding: .48rem 0; }
  .news-movement,
  .news-movement-level-3 { margin-top: 3.5rem; }
  .text-news-chapter-page .news-movement-heading {
    gap: .55rem;
    grid-template-columns: 1.7rem minmax(0, 1fr);
    padding-right: 1.15rem;
  }
  .text-news-chapter-page h2.news-movement-heading { font-size: 1.55rem; }
  .text-news-chapter-page h3.news-movement-heading { font-size: 1.38rem; }
  .news-movement .text-interlinear {
    margin-left: -.55rem;
    margin-right: -.55rem;
  }
  .news-movement > p { line-height: 1.65; }
  .news-apparatus { margin-top: 4rem; }
  .text-news-chapter-page .news-apparatus h2.text-method-heading {
    font-size: 1.5rem;
  }
  .text-news-chapter-page .news-chapter-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .news-chapter-next { text-align: left; }
  .news-chapter-contents { grid-row: 1; }
}

@media (max-width: 360px) {
  .news-book-title-row { grid-template-columns: minmax(0, 1fr); }
  .text-news-book-page .news-book-header h1 { font-size: 2.3rem; }
  .news-book-title-row .text-work-motif svg {
    height: 2.3rem;
    width: 2.3rem;
  }
  .news-book-title-row .text-work-motif svg + svg {
    height: 1.65rem;
    width: 1.65rem;
  }
  .news-chapter-title-row { grid-template-columns: minmax(0, 1fr); }
  .text-news-chapter-page .news-chapter-header h1 {
    font-size: 1.95rem;
  }
  .text-news-chapter-page .news-chapter-header h1.news-chapter-title-long {
    font-size: 1.6rem;
  }
}

@media print {
  .book-editorial .chapter-pullquote { display: none; }
  body.primer-editorial {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    --phi-inline-bg: transparent;
    font-size: 11pt;
  }
  .primer-editorial .topnav,
  .primer-editorial footer,
  .primer-editorial .chapnav,
  .primer-editorial .primer-progress { display: none; }
  .primer-editorial main {
    max-width: none;
    padding: 0;
  }
  .primer-editorial .primer-chapter { max-width: none; }
  .primer-editorial .primer-chapter-header h1 { font-size: 2.5em; }
  .primer-editorial .primer-part { font-size: .72em; }
  .primer-editorial .primer-progress-label { font-size: .68em; }
  .primer-editorial p.primer-story-title { font-size: .9em; }
  .primer-editorial p.primer-chapter-lede {
    font-size: 1em;
    margin-bottom: 1.4em;
  }
  .primer-editorial h2.primer-scene-title {
    font-size: .7em;
    margin-top: 1.8em;
  }
  .primer-editorial .primer-scene-number { font-size: 1.1em; }
  .primer-editorial .primer-phi-line { font-size: 1em; }
  .primer-editorial table.primer-word-ledger { font-size: .86em; }
  .primer-editorial .primer-word-ledger th { font-size: .72em; }
  .primer-editorial .primer-word-ledger td:first-child { font-size: 1em; }
  .primer-editorial .primer-word-ledger td:nth-child(2) { font-size: .86em; }
  .primer-editorial blockquote.primer-reading,
  .primer-editorial code.phi-inline { background: none; }
  .primer-chapter-header,
  .primer-editorial blockquote.primer-reading,
  .primer-editorial table.primer-word-ledger,
  .primer-editorial blockquote.primer-dialogue { break-inside: avoid; }
  .primer-editorial h2.primer-scene-title { break-after: avoid; }
  .primer-editorial .primer-dialogue-line,
  .primer-editorial .primer-closing-note,
  .primer-editorial .primer-ladder-part,
  .primer-editorial .primer-capstone-road,
  .primer-editorial .primer-capstone-farewell,
  .primer-editorial .primer-threshold-note { break-inside: avoid; }
  .primer-editorial h2.primer-reference-title { break-after: avoid; }
  body.primer-capstone-page { font-size: 10pt; }
  .primer-capstone-page .primer-chapter-header {
    margin-bottom: 1.1em;
    padding-bottom: .7em;
  }
  .primer-capstone-page p.primer-chapter-lede { margin-bottom: .9em; }
  .primer-capstone-page h2.primer-reference-title {
    margin: 1.35em 0 .55em;
  }
  .primer-capstone-page .primer-capstone-road { padding: .58em 0; }
  .primer-capstone-page .primer-capstone-farewell {
    margin-top: 1.2em;
    padding-top: .5em;
  }
  body.text-editorial {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    --phi-inline-bg: transparent;
    font-size: 10pt;
  }
  .text-editorial .topnav,
  .text-editorial footer,
  .text-editorial .text-reading-map,
  .text-editorial .chapnav,
  .text-editorial .chapnav.text-work-nav { display: none; }
  .text-editorial main {
    max-width: none;
    padding: 0;
  }
  .text-editorial .text-work { max-width: none; }
  .text-index-header {
    margin-bottom: 2em;
    padding-bottom: 1em;
  }
  .text-index-title-row h1 { font-size: 3em; }
  .text-index-lede {
    font-size: 1em;
    max-width: 38em;
  }
  .text-index-methods { margin-bottom: 2.5em; }
  .text-index-method-grid {
    gap: 1em;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .text-index-entry,
  .text-index-book { break-inside: avoid; }
  .text-index-entry a,
  .text-index-book > a {
    grid-template-columns: 2em minmax(0, 1fr) 11em;
    padding: .8em 0;
  }
  .text-index-book > a {
    background: none;
    grid-template-columns: 2.5em minmax(0, 1fr) 11em;
  }
  .text-index-arrow { display: none; }
  .text-index-entry-tengwar .teng-svg { height: 1.35em !important; }
  .text-editorial .text-work-header h1 { font-size: 2.5em; }
  .text-editorial h2.text-method-heading { font-size: 1.75em; }
  .text-editorial h3 { break-after: avoid; }
  .text-stanza,
  .text-notes,
  .text-pillar-reflection,
  .text-collection-detail,
  .text-dialogue-turn { break-inside: avoid; }
  .text-dialogue-turn {
    gap: .8em;
    grid-template-columns: 4.5em minmax(0, 1fr);
    padding: .7em 0;
  }
  .text-dialogue-action { background: none; }
  .text-interlinear,
  .text-complete-reading {
    background: none;
    margin-left: 0;
    margin-right: 0;
  }
  .text-ledger {
    display: table;
    font-size: .72em;
  }
  .text-ledger tr,
  .text-ledger tr:first-child {
    clip: auto;
    clip-path: none;
    display: table-row;
    height: auto;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto;
  }
  .text-ledger td,
  .text-ledger td:first-child {
    display: table-cell;
    padding: .35em .5em .35em 0;
    width: auto;
  }
  .text-ledger td::before { display: none; }
  .text-editorial code.phi-inline {
    background: none;
    padding: 0;
  }
  .text-news-book-page .readerhome,
  .text-news-book-page .news-book-status progress,
  .text-news-chapter-page .news-chapter-map,
  .text-news-book-page .markbtn,
  .text-news-chapter-page .markbtn { display: none; }
  .text-news-book-page .news-book-header h1 { font-size: 3.25em; }
  .news-book-opening {
    max-width: 40em;
    padding: 1.2em 0 1.5em;
  }
  .news-book-status {
    background: none;
    display: block;
    margin-bottom: 2em;
    padding: .7em 0;
  }
  .news-book-status-count { margin-top: .1em; }
  .news-book-chapter { break-inside: avoid; }
  .news-book-chapter a {
    color: var(--ink);
    grid-template-columns: 2.5em minmax(0, 1fr) 7em;
    padding: .8em 0;
  }
  .news-book-chapter .news-link-arrow { display: none; }
  .news-book-chapter-meta p { font-size: .7em; }
  .text-news-chapter-page .news-chapter-header h1 { font-size: 2.6em; }
  .text-news-chapter-page .news-chapter-header h1.news-chapter-title-long {
    font-size: 2.2em;
  }
  .news-chapter-opening { margin-bottom: 2em; }
  .news-movement,
  .news-movement-level-3 { margin-top: 2.5em; }
  .text-news-chapter-page .news-movement-heading { break-after: avoid; }
  .news-movement .text-interlinear {
    background: none;
    margin-left: 0;
    margin-right: 0;
  }
  .news-movement .text-stanza,
  .news-movement .text-notes,
  .news-apparatus .text-ledger tr { break-inside: avoid; }
  .news-apparatus {
    margin-top: 3em;
    padding-top: .8em;
  }
  body.manual-editorial {
    --paper: #fff;
    --paper-raised: #fff;
    --ink: #1f2d25;
    --muted: #5f675f;
    --sage: #53684e;
    --gold: #8b7136;
    --hairline: #cfc9bb;
    --phi-inline-bg: transparent;
    font-size: 10pt;
  }
  .manual-editorial .topnav,
  .manual-editorial footer,
  .manual-editorial .manual-page-map,
  .manual-editorial .chapnav,
  .manual-editorial .markbtn { display: none; }
  .manual-contents-page .manual-index-jump { display: none; }
  .manual-editorial main {
    max-width: none;
    padding: 0;
  }
  .manual-editorial .manual-work { max-width: none; }
  .manual-page-header { break-after: avoid; }
  .manual-editorial .manual-page-header h1 { font-size: 2.6em; }
  .manual-editorial p.manual-page-lede {
    font-size: 1em;
    margin-bottom: 1.5em;
  }
  .manual-reference-section {
    margin-top: 2em;
    break-inside: auto;
  }
  .manual-editorial h2.manual-section-title,
  .manual-editorial h3.manual-subsection-title { break-after: avoid; }
  .manual-table-wrap,
  .manual-example,
  .manual-example-set,
  .manual-pattern,
  .manual-syntax-formula,
  .manual-code-sample,
  .manual-dialogue,
  .manual-editorial blockquote { break-inside: avoid; }
  .manual-glossary-entry { break-inside: avoid; }
  .manual-index-part { break-before: page; }
  .manual-index-part:first-of-type { break-before: auto; }
  .manual-index-chapter { break-inside: avoid; }
  .manual-editorial .gloss-pop { display: none !important; }
  .manual-table-wrap {
    background: none;
    margin-left: 3em;
    margin-right: 0;
    padding: 0;
  }
  .manual-page-opening > .manual-table-wrap { margin-left: 0; }
  .manual-reference-table {
    display: table;
  }
  .manual-reference-table tr,
  .manual-reference-table tr:first-child {
    border-bottom: 0;
    clip: auto;
    clip-path: none;
    display: table-row;
    height: auto;
    overflow: visible;
    padding: 0;
    position: static;
    white-space: normal;
    width: auto;
  }
  .manual-editorial .manual-reference-table td,
  .manual-editorial .manual-reference-table td:first-child {
    display: table-cell;
    padding: .35em .7em;
    width: auto;
  }
  .manual-reference-table td::before { display: none; }
  .manual-example,
  .manual-example-set,
  .manual-syntax-formula { background: none; }
  .manual-example-set {
    margin-left: 3em;
    margin-right: 0;
  }
  .manual-page-opening > .manual-example-set { margin-left: 0; }
  .manual-code-sample,
  .manual-editorial blockquote { background: none; }
  .manual-dialogue-turn { break-inside: avoid; }
  .manual-pattern-list { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .manual-pattern-list li,
  .manual-pattern-list li:nth-child(4),
  .manual-pattern-list li:nth-child(n + 5) {
    border-bottom: 0;
    border-right: 1px solid var(--hairline);
    border-top: 0;
    display: flex;
    gap: 0;
    grid-template-columns: none;
    padding: .5em;
  }
  .manual-pattern-list li:last-child { border-right: 0; }
  .manual-editorial code.phi-inline {
    background: none;
    padding: 0;
  }
}

/* --- manual reader extras --- */
.crumb { color: var(--muted); font-size: .8rem; letter-spacing: .08em; margin: 0 0 .3rem; }
.toc-ch { font-family: var(--serif); font-weight: 500; font-size: 1rem; margin: 1.1rem 0 .2rem; color: var(--ink); }

/* ---- appendix A: gloss rows carry a hover/click popover ---- */
.gloss-row { cursor: pointer; }
.gloss-row:hover, .gloss-row.open { background: var(--paper-raised); }
.gloss-table td:first-child { position: relative; }
.glossmark { color: var(--gold); font-size: .78em; }
.gloss-pop {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 5;
  width: max-content;
  max-width: min(22rem, 80vw);
  margin-top: .3rem;
  padding: .6rem .8rem;
  background: var(--paper-raised);
  border: 1px solid var(--hairline);
  border-left: 2px solid var(--gold);
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  font-size: .88rem;
  line-height: 1.5;
  color: var(--ink);
  font-family: var(--sans);
}
.gloss-row:hover .gloss-pop,
.gloss-row:focus-visible .gloss-pop,
.gloss-row.open .gloss-pop { display: block; }
.gloss-row.suppress .gloss-pop { display: none; }
.primer pre {
  background: var(--paper-raised);
  border: 1px solid var(--hairline);
  border-left: 2px solid var(--gold);
  padding: .8rem 1rem;
  font-size: .9rem;
  line-height: 1.7;
  overflow-x: auto;
  font-family: var(--ipa);
}

/* --- opt-in pamphlet workbook treatment (site/pamphlet_editorial.json) --- */
.pamphlet-editorial main {
  max-width: 60rem;
  min-width: 0;
  padding-top: 2.75rem;
  width: 100%;
}
.pamphlet-work {
  line-height: 1.68;
  margin: 0 auto;
  max-width: 50rem;
  min-width: 0;
}
.pamphlet-page-header {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 1.1rem;
}
.pamphlet-header-meta {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .72rem;
  justify-content: space-between;
}
.pamphlet-header-meta p {
  display: flex;
  gap: .55rem;
  margin: 0;
}
.pamphlet-meta-separator {
  color: var(--gold);
}
.pamphlet-shelf-label {
  color: var(--gold);
  font-weight: 650;
}
.pamphlet-title-row {
  align-items: end;
  column-gap: 1.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .7rem;
  row-gap: .35rem;
}
.pamphlet-page-label {
  color: var(--sage);
  font-size: .7rem;
  font-weight: 650;
  margin: 0 0 .15rem;
}
.pamphlet-title-row h1 {
  color: var(--ink);
  font-size: 2.9rem;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  overflow-wrap: anywhere;
}
.pamphlet-subtitle {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1rem;
  grid-column: 1;
  margin: .35rem 0 0;
}
.pamphlet-page-motif {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
  padding-bottom: .2rem;
}
.pamphlet-page-motif::before,
.pamphlet-page-motif::after {
  background: currentColor;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 3.6rem;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 3.6rem;
}
.pamphlet-ordered-slots-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27m12.83%202.18a2%202%200%200%200-1.66%200L2.6%206.08a1%201%200%200%200%200%201.83l8.58%203.91a2%202%200%200%200%201.66%200l8.58-3.9a1%201%200%200%200%200-1.83z%27%2F%3E%3Cpath%20d%3D%27m22%2012.5-9.17%204.17a2%202%200%200%201-1.66%200L2%2012.5%27%2F%3E%3Cpath%20d%3D%27m22%2017.5-9.17%204.17a2%202%200%200%201-1.66%200L2%2017.5%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-ordered-slots-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27m3%207%202%202%204-4%27%2F%3E%3Cpath%20d%3D%27m3%2017%202%202%204-4%27%2F%3E%3Cpath%20d%3D%27M13%206h8%27%2F%3E%3Cpath%20d%3D%27M13%2012h8%27%2F%3E%3Cpath%20d%3D%27M13%2018h8%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-clause-links-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M8%203H5v18h3%27%2F%3E%3Cpath%20d%3D%27M16%2021h3V3h-3%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-clause-links-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2718%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%276%27%20cy%3D%276%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M6%2021V9a9%209%200%200%200%209%209%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-clause-links-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-clause-links-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-clause-links-page .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-event-views-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M3%2012a9%209%200%201%200%209-9%209.75%209.75%200%200%200-6.74%202.74L3%208%27%2F%3E%3Cpath%20d%3D%27M3%203v5h5%27%2F%3E%3Cpath%20d%3D%27M12%207v5l4%202%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-event-views-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M3%207V5a2%202%200%200%201%202-2h2%27%2F%3E%3Cpath%20d%3D%27M17%203h2a2%202%200%200%201%202%202v2%27%2F%3E%3Cpath%20d%3D%27M21%2017v2a2%202%200%200%201-2%202h-2%27%2F%3E%3Cpath%20d%3D%27M7%2021H5a2%202%200%200%201-2-2v-2%27%2F%3E%3C%2Fsvg%3E");
  background: var(--sage);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-event-views-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-event-views-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-event-views-page .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-event-views-page .pamphlet-example,
.pamphlet-event-views-page .pamphlet-example-set,
.pamphlet-event-views-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-source-routes-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2719%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M9%2019h8.5a3.5%203.5%200%200%200%200-7h-11a3.5%203.5%200%200%201%200-7H15%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%275%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-source-routes-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M2.06%2012.35a1%201%200%200%201%200-.7%2010.75%2010.75%200%200%201%2019.88%200%201%201%200%200%201%200%20.7%2010.75%2010.75%200%200%201-19.88%200%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-participant-reference-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M22%2021v-2a4%204%200%200%200-3-3.87%27%2F%3E%3Cpath%20d%3D%27M16%203.13a4%204%200%200%201%200%207.75%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-participant-reference-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M10.1%202.18a10%2010%200%200%201%203.8%200%27%2F%3E%3Cpath%20d%3D%27M13.9%2021.82a10%2010%200%200%201-3.8%200%27%2F%3E%3Cpath%20d%3D%27M17.61%203.72a10%2010%200%200%201%202.69%202.7%27%2F%3E%3Cpath%20d%3D%27M2.18%2013.9a10%2010%200%200%201%200-3.8%27%2F%3E%3Cpath%20d%3D%27M20.28%2017.61a10%2010%200%200%201-2.7%202.69%27%2F%3E%3Cpath%20d%3D%27M21.82%2010.1a10%2010%200%200%201%200%203.8%27%2F%3E%3Cpath%20d%3D%27M3.72%206.39a10%2010%200%200%201%202.7-2.69%27%2F%3E%3Cpath%20d%3D%27M6.39%2020.28a10%2010%200%200%201-2.69-2.7%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-participant-reference-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-participant-reference-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-participant-reference-page .pamphlet-example,
.pamphlet-participant-reference-page .pamphlet-example-set,
.pamphlet-participant-reference-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-noun-phrase-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M8.3%2010a.7.7%200%200%201-.63-1.08l3.7-6.12a.7.7%200%200%201%201.2-.04l3.73%206.12a.7.7%200%200%201-.57%201.11Z%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27%2F%3E%3Ccircle%20cx%3D%2717.5%27%20cy%3D%2717.5%27%20r%3D%273.5%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-noun-phrase-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M21%2012h-8%27%2F%3E%3Cpath%20d%3D%27M21%206H8%27%2F%3E%3Cpath%20d%3D%27M21%2018h-8%27%2F%3E%3Cpath%20d%3D%27M3%206v4c0%201.1.9%202%202%202h3%27%2F%3E%3Cpath%20d%3D%27M3%2010v6c0%201.1.9%202%202%202h3%27%2F%3E%3C%2Fsvg%3E");
  background: var(--sage);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-noun-phrase-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-noun-phrase-page .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-noun-phrase-page .pamphlet-table-wrap {
  border-top-color: var(--sage);
}
.pamphlet-name-designation-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M12.586%202.586A2%202%200%200%200%2011.172%202H4a2%202%200%200%200-2%202v7.172a2%202%200%200%200%20.586%201.414l8.704%208.704a2.426%202.426%200%200%200%203.42%200l6.58-6.58a2.426%202.426%200%200%200%200-3.42z%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%277.5%27%20r%3D%27.5%27%20fill%3D%27black%27%20stroke%3D%27none%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-name-designation-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%275%27%2F%3E%3Cpath%20d%3D%27M20%2021a8%208%200%200%200-16%200%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-name-designation-page .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-name-designation-page .pamphlet-example,
.pamphlet-name-designation-page .pamphlet-example-set,
.pamphlet-name-designation-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-source-beside-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M14.5%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V7.5z%27%2F%3E%3Cpolyline%20points%3D%2714%202%2014%208%2020%208%27%2F%3E%3Cpath%20d%3D%27M16%2013H8%27%2F%3E%3Cpath%20d%3D%27M16%2017H8%27%2F%3E%3Cpath%20d%3D%27M10%209H8%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-source-beside-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Crect%20width%3D%2718%27%20height%3D%2718%27%20x%3D%273%27%20y%3D%273%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M12%203v18%27%2F%3E%3C%2Fsvg%3E");
  background: var(--sage);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-source-beside-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-source-beside-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-source-beside-page .pamphlet-example,
.pamphlet-source-beside-page .pamphlet-example-set,
.pamphlet-source-beside-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-source-beside-page .pamphlet-table-wrap {
  border-top-color: var(--sage);
}
.pamphlet-audible-boundaries-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M2%2010v3%27%2F%3E%3Cpath%20d%3D%27M6%206v11%27%2F%3E%3Cpath%20d%3D%27M10%203v18%27%2F%3E%3Cpath%20d%3D%27M14%208v7%27%2F%3E%3Cpath%20d%3D%27M18%205v13%27%2F%3E%3Cpath%20d%3D%27M22%2010v3%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-audible-boundaries-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%271%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-audible-boundaries-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-audible-boundaries-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-audible-boundaries-page .pamphlet-example,
.pamphlet-audible-boundaries-page .pamphlet-example-set,
.pamphlet-audible-boundaries-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-written-hands-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27m12%2019%207-7%203%203-7%207-3-3z%27%2F%3E%3Cpath%20d%3D%27m18%2013-1.5-7.5L2%202l3.5%2014.5L13%2018%27%2F%3E%3Cpath%20d%3D%27m2%202%207.586%207.586%27%2F%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%272%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-written-hands-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M3%207V5a2%202%200%200%201%202-2h2%27%2F%3E%3Cpath%20d%3D%27M17%203h2a2%202%200%200%201%202%202v2%27%2F%3E%3Cpath%20d%3D%27M21%2017v2a2%202%200%200%201-2%202h-2%27%2F%3E%3Cpath%20d%3D%27M7%2021H5a2%202%200%200%201-2-2v-2%27%2F%3E%3Cpath%20d%3D%27M7%208h8%27%2F%3E%3Cpath%20d%3D%27M7%2012h10%27%2F%3E%3Cpath%20d%3D%27M7%2016h6%27%2F%3E%3C%2Fsvg%3E");
  background: var(--sage);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-written-hands-page .pamphlet-progress span {
  background: var(--sage);
}
.pamphlet-written-hands-page .pamphlet-table-wrap {
  border-top-color: var(--sage);
}
.pamphlet-ternary-scale-page .pamphlet-page-motif::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Crect%20width%3D%2716%27%20height%3D%2720%27%20x%3D%274%27%20y%3D%272%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%206h8%27%2F%3E%3Cpath%20d%3D%27M8%2010h.01%27%2F%3E%3Cpath%20d%3D%27M12%2010h.01%27%2F%3E%3Cpath%20d%3D%27M16%2010h.01%27%2F%3E%3Cpath%20d%3D%27M8%2014h.01%27%2F%3E%3Cpath%20d%3D%27M12%2014h.01%27%2F%3E%3Cpath%20d%3D%27M16%2014h.01%27%2F%3E%3Cpath%20d%3D%27M8%2018h.01%27%2F%3E%3Cpath%20d%3D%27M12%2018h.01%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-ternary-scale-page .pamphlet-page-motif::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27M4%2020V10%27%2F%3E%3Cpath%20d%3D%27M8%2020V4%27%2F%3E%3Cpath%20d%3D%27M12%2020v-6%27%2F%3E%3Cpath%20d%3D%27M16%2020V8%27%2F%3E%3Cpath%20d%3D%27M20%2020V2%27%2F%3E%3C%2Fsvg%3E");
  background: var(--sage);
  height: 2.5rem;
  margin-left: -.35rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.5rem;
}
.pamphlet-ternary-scale-page .pamphlet-progress span {
  background: var(--gold);
}
.pamphlet-ternary-scale-page .pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--sage);
}
.pamphlet-ternary-scale-page .pamphlet-section-title > span,
.pamphlet-ternary-scale-page .pamphlet-answer-part > span {
  color: var(--sage);
}
.pamphlet-ternary-scale-page .pamphlet-example,
.pamphlet-ternary-scale-page .pamphlet-example-set,
.pamphlet-ternary-scale-page .pamphlet-code-sample {
  border-left-color: var(--sage);
}
.pamphlet-ternary-scale-page .pamphlet-table-wrap {
  border-top-color: var(--gold);
}
.pamphlet-reasoning-section {
  border-top-color: var(--sage);
}
.pamphlet-reasoning-section .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-progress {
  background: var(--hairline);
  height: 2px;
  margin-top: 1.05rem;
  overflow: hidden;
  width: 100%;
}
.pamphlet-progress span {
  background: var(--sage);
  display: block;
  height: 100%;
}
.pamphlet-reading-rail {
  border-bottom: 1px solid var(--hairline);
  display: flex;
  margin: 0 auto 2.6rem;
  max-width: 50rem;
  min-width: 0;
  overflow-x: auto;
}
.pamphlet-reading-rail a {
  border-right: 1px solid var(--hairline);
  color: var(--muted);
  flex: 1 1 0;
  font-size: .65rem;
  min-width: 2.4rem;
  padding: .55rem .2rem .6rem;
  text-align: center;
  text-decoration: none;
}
.pamphlet-reading-rail a::before { content: attr(data-page); }
.pamphlet-reading-rail a:first-child { border-left: 1px solid var(--hairline); }
.pamphlet-reading-rail a:hover { color: var(--sage); }
.pamphlet-reading-rail a.current {
  box-shadow: inset 0 -2px var(--gold);
  color: var(--ink);
  font-weight: 650;
}
.pamphlet-editorial p.pamphlet-page-lede {
  border-left: 2px solid var(--gold);
  font-family: var(--serif);
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0 0 2.15rem;
  padding-left: 1rem;
}
.pamphlet-section {
  border-top: 1px solid var(--hairline);
  margin-top: 3rem;
  padding-top: .85rem;
}
.pamphlet-section-title {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  font-family: var(--serif);
  font-size: 1.45rem;
  font-weight: 600;
  gap: .8rem;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0 0 .8rem;
}
.pamphlet-section-title > span {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .66rem;
  font-weight: 650;
}
.pamphlet-section > p,
.pamphlet-section > ul,
.pamphlet-section > ol,
.pamphlet-section > blockquote,
.pamphlet-section > .pamphlet-table-wrap,
.pamphlet-section > .pamphlet-example,
.pamphlet-section > .pamphlet-example-set,
.pamphlet-section > .pamphlet-code-sample,
.pamphlet-section > .pamphlet-number-drill,
.pamphlet-section > .pamphlet-number-recital,
.pamphlet-section > .pamphlet-worked-number {
  margin-left: 5.2rem;
}
.pamphlet-editorial li + li { margin-top: .26rem; }
.pamphlet-editorial li::marker {
  color: var(--gold);
  font-family: var(--sans);
  font-size: .82em;
  font-weight: 650;
}
.pamphlet-editorial code.phi-inline {
  -webkit-box-decoration-break: clone;
  background: var(--phi-inline-bg);
  border-radius: 5px;
  box-decoration-break: clone;
  color: var(--ink);
  font-family: ui-monospace, "SFMono-Regular", consolas, monospace;
  font-size: .9em;
  letter-spacing: 0;
  line-height: 1;
  padding: .18em .4em .22em;
  white-space: normal;
}
.pamphlet-editorial code:not(.phi-inline) {
  font-size: .78em;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}
.pamphlet-practice-section,
.pamphlet-answer-section {
  background: var(--paper-raised);
  border-top: 2px solid var(--sage);
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 1rem;
}
.pamphlet-practice-section .pamphlet-section-title > span,
.pamphlet-answer-section .pamphlet-section-title > span {
  color: var(--sage);
}
.pamphlet-exercise-section { border-top-color: var(--sage); }
.pamphlet-error-section .pamphlet-section-title {
  font-size: 1.25rem;
}
.pamphlet-table-section { margin-top: 2.5rem; }
.pamphlet-table-wrap {
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  margin-bottom: 1rem;
  margin-top: 1rem;
  overflow-x: auto;
}
.pamphlet-reference-table {
  border-collapse: collapse;
  font-size: .88rem;
  margin: 0;
  table-layout: auto;
  width: 100%;
}
.pamphlet-reference-table th {
  border-bottom: 1px solid var(--hairline);
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
  padding: .55rem .8rem;
  text-align: left;
  vertical-align: bottom;
}
.pamphlet-reference-table td {
  border-bottom: 1px solid var(--hairline);
  color: var(--ink);
  line-height: 1.45;
  padding: .5rem .8rem;
  vertical-align: top;
}
.pamphlet-reference-table tr:last-child td { border-bottom: 0; }
.pamphlet-table-value {
  display: block;
  min-width: 0;
}
.pamphlet-reference-table th:first-child,
.pamphlet-reference-table td:first-child {
  padding-left: 1rem;
  width: 28%;
}
.pamphlet-table-dense .pamphlet-reference-table td {
  padding-bottom: .4rem;
  padding-top: .4rem;
}
.pamphlet-table-wide .pamphlet-reference-table {
  font-size: .83rem;
}
.pamphlet-example,
.pamphlet-example-set {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  margin-bottom: 1.1rem;
  margin-top: 1rem;
  overflow-x: auto;
  padding: .75rem 1rem;
}
.pamphlet-example-set .pamphlet-example {
  background: none;
  border-left: 0;
  margin: 0;
  padding: 0;
}
.pamphlet-example-set .pamphlet-example + .pamphlet-example {
  border-top: 1px solid var(--hairline);
  margin-top: .65rem;
  padding-top: .65rem;
}
.pamphlet-example p { margin: 0; }
.pamphlet-dual-example {
  border-left-color: var(--sage);
}
.pamphlet-example-tengwar {
  color: var(--sage);
  font-size: 2em;
  line-height: 1;
  margin: 0 0 .35rem;
  overflow-x: auto;
  padding: .2rem 0 .45rem;
}
.pamphlet-example-tengwar .teng-svg {
  display: block;
}
.pamphlet-example-phi {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.05rem;
  line-height: 1.45;
}
.pamphlet-example-gloss {
  color: var(--muted);
  font-family: var(--ipa);
  font-size: .78rem;
  line-height: 1.45;
}
.pamphlet-example figcaption {
  font-family: var(--serif);
  font-size: .88rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: .15rem;
}
.pamphlet-code-sample {
  background: var(--paper-raised);
  border: 0;
  border-left: 2px solid var(--gold);
  font-family: var(--ipa);
  font-size: .88rem;
  line-height: 1.65;
  overflow-x: auto;
  padding: .75rem 1rem;
  white-space: pre-wrap;
}
.pamphlet-number-drill {
  background: var(--hairline);
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
  margin-top: 1rem;
}
.pamphlet-number-drill > div {
  align-items: baseline;
  background: var(--paper-raised);
  display: grid;
  gap: .8rem;
  grid-template-columns: minmax(0, 1fr) 2.2rem;
  padding: .65rem .8rem;
}
.pamphlet-number-drill dt,
.pamphlet-number-drill dd {
  margin: 0;
}
.pamphlet-number-drill code,
.pamphlet-number-recital code {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1rem;
}
.pamphlet-number-drill dd {
  color: var(--sage);
  font-size: .72rem;
  font-weight: 650;
  text-align: right;
}
.pamphlet-number-recital {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  counter-reset: pamphlet-numeral-line;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
  margin-top: 1rem;
}
.pamphlet-number-recital code {
  align-items: baseline;
  background: var(--paper-raised);
  border-bottom: 1px solid var(--hairline);
  counter-increment: pamphlet-numeral-line;
  display: grid;
  gap: .65rem;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  padding: .7rem .8rem;
}
.pamphlet-number-recital code::before {
  color: var(--sage);
  content: counter(pamphlet-numeral-line, decimal-leading-zero);
  font-family: var(--sans);
  font-size: .6rem;
  font-weight: 650;
}
.pamphlet-worked-number {
  background: var(--paper-raised);
  border-left: 2px solid var(--gold);
  margin-bottom: .75rem;
  padding: .72rem .9rem;
}
.pamphlet-worked-number p {
  margin: 0;
}
.pamphlet-worked-number span {
  color: var(--sage);
  display: block;
  font-size: .62rem;
  font-weight: 650;
  margin-bottom: .2rem;
}
.pamphlet-examples-page {
  counter-reset: pamphlet-copy-line;
}
.pamphlet-examples-page .pamphlet-dual-example {
  counter-increment: pamphlet-copy-line;
  padding-left: 4rem;
  position: relative;
}
.pamphlet-examples-page .pamphlet-dual-example::before {
  color: var(--gold);
  content: counter(pamphlet-copy-line, decimal-leading-zero);
  font-size: .68rem;
  font-weight: 650;
  left: 1rem;
  position: absolute;
  top: 1rem;
}
.pamphlet-answer-part {
  align-items: baseline;
  border-top: 1px solid var(--hairline);
  color: var(--ink);
  display: flex;
  font-family: var(--serif);
  font-size: 1rem;
  gap: .6rem;
  margin: 1.5rem 0 .55rem 5.2rem;
  padding-top: .55rem;
}
.pamphlet-answer-part > span {
  color: var(--sage);
  font-family: var(--sans);
  font-size: .62rem;
  font-weight: 650;
}
.pamphlet-answer-interlinear {
  padding-bottom: .2rem;
}
.pamphlet-answer-phi,
.pamphlet-answer-gloss {
  display: block;
}
.pamphlet-answer-gloss {
  color: var(--muted);
  font-family: var(--ipa);
  font-size: .76rem;
  line-height: 1.45;
  margin-top: .18rem;
}
.pamphlet-answer-run li + li {
  margin-top: .58rem;
}
.pamphlet-opening-page .pamphlet-work { max-width: 52rem; }
.pamphlet-opening-page .pamphlet-page-lede { max-width: 44rem; }
.pamphlet-outcomes {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--gold);
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 8rem minmax(0, 1fr);
  margin: 2rem 0;
  padding: 1rem 0;
}
.pamphlet-outcomes > p {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 650;
  margin: 0;
}
.pamphlet-outcomes ul {
  margin: 0;
  max-width: none;
  padding-left: 1.2rem;
}
.pamphlet-contents {
  margin-top: 3rem;
}
.pamphlet-contents > p {
  border-top: 2px solid var(--sage);
  color: var(--sage);
  font-size: .68rem;
  font-weight: 650;
  margin: 0;
  padding-top: .65rem;
}
.pamphlet-contents ol {
  display: grid;
  gap: 0 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: .5rem 0 0;
  max-width: none;
  padding: 0;
}
.pamphlet-contents li {
  border-bottom: 1px solid var(--hairline);
  margin: 0;
}
.pamphlet-contents a {
  align-items: baseline;
  color: var(--ink);
  display: grid;
  font-family: var(--serif);
  font-size: .9rem;
  gap: .6rem;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  line-height: 1.35;
  padding: .58rem .15rem .62rem 0;
  text-decoration: none;
}
.pamphlet-contents a:hover { color: var(--sage); }
.pamphlet-contents a span {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .62rem;
  font-weight: 650;
}
.pamphlet-closing-note {
  border-left: 2px solid var(--sage);
  font-family: var(--serif);
  font-size: 1.05rem;
  line-height: 1.65;
  margin: 2.5rem 0 0;
  padding-left: 1rem;
}
.pamphlet-page-nav {
  align-items: start;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin: 4rem auto 0;
  max-width: 50rem;
}
.pamphlet-page-nav > * { min-width: 0; }
.pamphlet-nav-page {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}
.pamphlet-nav-page span {
  color: var(--muted);
  font-size: .66rem;
}
.pamphlet-nav-page strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.pamphlet-nav-next {
  align-items: end;
  text-align: right;
}
.pamphlet-nav-page:hover strong,
.pamphlet-nav-contents:hover {
  color: var(--sage);
}
.pamphlet-nav-contents {
  color: var(--muted);
  font-size: .7rem;
  padding-top: .2rem;
  text-decoration: none;
}
.pamphlet-contents-page main { max-width: 70rem; }
.pamphlet-contents-page .pamphlet-work { max-width: 58rem; }
.pamphlet-index-header {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 1.4rem;
  text-align: left;
}
.pamphlet-index-meta {
  align-items: baseline;
  color: var(--muted);
  display: flex;
  font-size: .72rem;
  justify-content: space-between;
}
.pamphlet-index-meta p {
  display: flex;
  gap: .55rem;
  margin: 0;
}
.pamphlet-index-meta p:first-child span:first-child {
  color: var(--gold);
  font-weight: 650;
}
.pamphlet-index-meta p:first-child span + span::before {
  color: var(--gold);
  content: "·";
  margin-right: .55rem;
}
.pamphlet-index-title-row {
  align-items: end;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) 7rem;
  margin-top: .7rem;
}
.pamphlet-index-title-row h1 {
  color: var(--ink);
  font-size: 3.1rem;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
}
.pamphlet-index-lede {
  font-family: var(--serif);
  font-size: 1.03rem;
  line-height: 1.65;
  margin: .7rem 0 0;
  max-width: 43rem;
}
.pamphlet-index-mark {
  align-items: end;
  color: var(--sage);
  display: flex;
  justify-content: end;
  padding-bottom: .2rem;
}
.pamphlet-index-mark::before,
.pamphlet-index-mark::after {
  background: currentColor;
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 3.8rem;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 3.8rem;
}
.pamphlet-index-mark::before {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27m12.83%202.18a2%202%200%200%200-1.66%200L2.6%206.08a1%201%200%200%200%200%201.83l8.58%203.91a2%202%200%200%200%201.66%200l8.58-3.9a1%201%200%200%200%200-1.83z%27%2F%3E%3Cpath%20d%3D%27m22%2012.5-9.17%204.17a2%202%200%200%201-1.66%200L2%2012.5%27%2F%3E%3Cpath%20d%3D%27m22%2017.5-9.17%204.17a2%202%200%200%201-1.66%200L2%2017.5%27%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
}
.pamphlet-index-mark::after {
  --pamphlet-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.25%27%3E%3Cpath%20d%3D%27m3%207%202%202%204-4%27%2F%3E%3Cpath%20d%3D%27m3%2017%202%202%204-4%27%2F%3E%3Cpath%20d%3D%27M13%206h8%27%2F%3E%3Cpath%20d%3D%27M13%2012h8%27%2F%3E%3Cpath%20d%3D%27M13%2018h8%27%2F%3E%3C%2Fsvg%3E");
  background: var(--gold);
  height: 2.65rem;
  margin-left: -.4rem;
  -webkit-mask-image: var(--pamphlet-icon);
  mask-image: var(--pamphlet-icon);
  width: 2.65rem;
}
.pamphlet-index-counts {
  color: var(--muted);
  display: flex;
  font-size: .74rem;
  gap: 1.1rem;
  margin: 1.1rem 0 0;
}
.pamphlet-index-counts strong {
  color: var(--sage);
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 600;
  margin-right: .18rem;
}
.pamphlet-index-catalogue { margin-top: 3.7rem; }
.pamphlet-index-section-heading {
  align-items: end;
  border-top: 2px solid var(--sage);
  display: flex;
  justify-content: space-between;
  padding: .85rem 0 1rem;
  text-align: left;
}
.pamphlet-index-section-label {
  color: var(--sage);
  font-size: .68rem;
  font-weight: 650;
  margin: 0 0 .12rem;
}
.pamphlet-index-section-heading h2 {
  color: var(--ink);
  font-size: 1.9rem;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
}
.pamphlet-index-section-count {
  color: var(--muted);
  flex: 0 0 auto;
  font-size: .7rem;
  font-weight: 650;
  margin: 0 .2rem .18rem 1rem;
  white-space: nowrap;
}
.pamphlet-index-list {
  counter-reset: pamphlet-index;
  display: grid;
  gap: 1.25rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  max-width: none !important;
  padding: 0 !important;
}
.pamphlet-index-entry {
  border-bottom: 1px solid var(--hairline);
  border-top: 1px solid var(--hairline);
  counter-increment: pamphlet-index;
  margin: 0 !important;
  min-width: 0;
}
.pamphlet-index-entry a {
  align-items: start;
  color: var(--ink);
  display: grid;
  gap: .55rem .8rem;
  grid-template-columns: 2rem minmax(0, 1fr) 4rem;
  grid-template-rows: minmax(3.4rem, auto) auto;
  height: 100%;
  padding: .9rem .45rem 1rem 0;
  text-decoration: none;
}
.pamphlet-index-entry a::before {
  color: var(--gold);
  content: counter(pamphlet-index, decimal-leading-zero);
  font-size: .66rem;
  font-weight: 650;
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: .16rem;
}
.pamphlet-index-copy {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
}
.pamphlet-index-entry-meta {
  color: var(--sage);
  font-size: .64rem;
  font-weight: 650;
  margin: 0 0 .18rem;
}
.pamphlet-index-entry-meta span {
  color: var(--gold);
  margin: 0 .14rem;
}
.pamphlet-index-copy h3 {
  color: var(--ink);
  font-size: 1.22rem;
  font-weight: 550;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
  transition: color .15s ease;
}
.pamphlet-index-summary {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.55;
  margin: .55rem 0 0;
}
.pamphlet-index-entry .pamphlet-page-motif {
  align-self: start;
  grid-column: 3;
  grid-row: 1;
  opacity: .82;
}
.pamphlet-index-entry .pamphlet-page-motif::before {
  height: 2.7rem;
  width: 2.7rem;
}
.pamphlet-index-entry .pamphlet-page-motif::after {
  height: 1.75rem;
  width: 1.75rem;
}
.pamphlet-index-arrow {
  align-self: end;
  color: var(--muted);
  display: flex;
  grid-column: 3;
  grid-row: 2;
  justify-content: end;
  transition: color .15s ease, transform .15s ease;
}
.pamphlet-index-arrow svg {
  fill: none;
  height: 1rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 1rem;
}
.pamphlet-index-entry a:hover,
.pamphlet-index-entry a:focus-visible {
  background: var(--paper-raised);
}
.pamphlet-index-entry a:hover h3,
.pamphlet-index-entry a:focus-visible h3 { color: var(--sage); }
.pamphlet-index-entry a:hover .pamphlet-index-arrow,
.pamphlet-index-entry a:focus-visible .pamphlet-index-arrow {
  color: var(--gold);
  transform: translateX(.2rem);
}

@media (max-width: 760px) {
  .pamphlet-index-list { grid-template-columns: minmax(0, 1fr); }
  .pamphlet-reference-table tr:first-child {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  .pamphlet-reference-table tr {
    border-bottom: 1px solid var(--hairline);
    display: block;
    padding: .25rem 0;
  }
  .pamphlet-reference-table tr:last-child { border-bottom: 0; }
  .pamphlet-reference-table td,
  .pamphlet-reference-table td:first-child {
    border: 0;
    display: grid;
    gap: .5rem;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    padding: .35rem .75rem;
    width: auto;
  }
  .pamphlet-reference-table td::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: .66rem;
    font-weight: 650;
  }
}

@media (max-width: 560px) {
  .pamphlet-editorial main { padding-top: 2rem; }
  .pamphlet-header-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
  .pamphlet-header-meta p:first-child { flex-wrap: wrap; }
  .pamphlet-header-meta > p:last-child { align-self: flex-end; }
  .pamphlet-index-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }
  .pamphlet-index-meta p:first-child { flex-wrap: wrap; }
  .pamphlet-index-meta > p:last-child { align-self: flex-end; }
  .pamphlet-index-title-row {
    gap: .5rem;
    grid-template-columns: minmax(0, 1fr) 4rem;
  }
  .pamphlet-index-title-row h1 { font-size: 2.2rem; }
  .pamphlet-index-lede {
    font-size: .96rem;
    grid-column: 1 / -1;
  }
  .pamphlet-index-mark::before {
    height: 2.4rem;
    width: 2.4rem;
  }
  .pamphlet-index-mark::after {
    height: 1.65rem;
    width: 1.65rem;
  }
  .pamphlet-index-counts {
    flex-wrap: wrap;
    gap: .5rem 1rem;
  }
  .pamphlet-index-catalogue { margin-top: 3rem; }
  .pamphlet-index-section-heading h2 { font-size: 1.6rem; }
  .pamphlet-index-entry a {
    gap: .5rem .65rem;
    grid-template-columns: 1.55rem minmax(0, 1fr) 3.25rem;
    padding-right: .2rem;
  }
  .pamphlet-index-copy h3 { font-size: 1.12rem; }
  .pamphlet-index-entry .pamphlet-page-motif::before {
    height: 2.3rem;
    width: 2.3rem;
  }
  .pamphlet-index-entry .pamphlet-page-motif::after {
    height: 1.5rem;
    width: 1.5rem;
  }
  .pamphlet-title-row {
    column-gap: .55rem;
    grid-template-columns: minmax(0, 1fr) 3.25rem;
  }
  .pamphlet-title-row h1 {
    font-size: 1.9rem;
    overflow-wrap: normal;
    word-break: normal;
  }
  .pamphlet-subtitle { grid-column: 1 / -1; }
  .pamphlet-page-motif::before {
    height: 2.35rem;
    width: 2.35rem;
  }
  .pamphlet-page-motif::after {
    height: 1.6rem;
    width: 1.6rem;
  }
  .pamphlet-reading-rail {
    margin-left: -.55rem;
    margin-right: -.55rem;
    max-width: calc(100% + 1.1rem);
    width: calc(100% + 1.1rem);
  }
  .pamphlet-reading-rail a {
    flex-basis: 0;
    font-size: .58rem;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .pamphlet-editorial p.pamphlet-page-lede {
    font-size: 1rem;
    margin-bottom: 1.8rem;
  }
  .pamphlet-section { margin-top: 2.4rem; }
  .pamphlet-section-title {
    gap: .12rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .pamphlet-section > p,
  .pamphlet-section > ul,
  .pamphlet-section > ol,
  .pamphlet-section > blockquote,
  .pamphlet-section > .pamphlet-table-wrap,
  .pamphlet-section > .pamphlet-example,
  .pamphlet-section > .pamphlet-example-set,
  .pamphlet-section > .pamphlet-code-sample,
  .pamphlet-section > .pamphlet-number-drill,
  .pamphlet-section > .pamphlet-number-recital,
  .pamphlet-section > .pamphlet-worked-number {
    margin-left: 0;
  }
  .pamphlet-practice-section,
  .pamphlet-answer-section {
    margin-left: -.55rem;
    margin-right: -.55rem;
    padding: .85rem .55rem;
  }
  .pamphlet-table-wrap {
    margin-left: -.55rem !important;
    margin-right: -.55rem;
  }
  .pamphlet-reference-table td,
  .pamphlet-reference-table td:first-child {
    grid-template-columns: 5.4rem minmax(0, 1fr);
  }
  .pamphlet-answer-part { margin-left: 0; }
  .pamphlet-number-drill,
  .pamphlet-number-recital {
    grid-template-columns: minmax(0, 1fr);
  }
  .pamphlet-examples-page .pamphlet-dual-example {
    padding-left: 2.8rem;
  }
  .pamphlet-examples-page .pamphlet-dual-example::before {
    left: .7rem;
  }
  .pamphlet-outcomes {
    gap: .5rem;
    grid-template-columns: minmax(0, 1fr);
  }
  .pamphlet-contents ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .pamphlet-page-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .pamphlet-page-nav .pamphlet-nav-page:empty { display: none; }
  .pamphlet-nav-next {
    align-items: start;
    text-align: left;
  }
  .pamphlet-nav-contents { grid-row: 3; }
}

@media print {
  body.pamphlet-editorial {
    --paper: #fff;
    --paper-raised: #fff;
    --phi-inline-bg: transparent;
    --ink: #26332c;
    --muted: #5f675e;
    --sage: #687b5f;
    --gold: #927a42;
    --hairline: #cfc8b9;
    background: #fff;
    color: #000;
    font-size: 10.5pt;
  }
  .pamphlet-editorial .topnav,
  .pamphlet-editorial footer,
  .pamphlet-editorial .pamphlet-reading-rail,
  .pamphlet-editorial .pamphlet-page-nav {
    display: none;
  }
  .pamphlet-editorial main {
    max-width: none;
    padding: 0;
  }
  .pamphlet-work { max-width: none; }
  .pamphlet-title-row h1 { font-size: 2.5em; }
  .pamphlet-progress { display: none; }
  .pamphlet-editorial code.phi-inline {
    background: none;
    padding: 0;
  }
  .pamphlet-section,
  .pamphlet-example,
  .pamphlet-example-set,
  .pamphlet-table-wrap,
  .pamphlet-outcomes,
  .pamphlet-contents li {
    break-inside: avoid;
  }
  .pamphlet-index-entry { break-inside: avoid; }
  .pamphlet-index-entry a {
    background: none;
    grid-template-columns: 1.8em minmax(0, 1fr) 3.5em;
  }
  .pamphlet-index-arrow { display: none; }
  .pamphlet-section-title,
  .pamphlet-answer-part { break-after: avoid; }
  .pamphlet-practice-section,
  .pamphlet-answer-section,
  .pamphlet-example,
  .pamphlet-example-set,
  .pamphlet-code-sample,
  .pamphlet-table-wrap {
    background: none;
  }
  .pamphlet-reference-table {
    display: table;
  }
  .pamphlet-reference-table tr,
  .pamphlet-reference-table tr:first-child {
    border-bottom: 0;
    clip: auto;
    clip-path: none;
    display: table-row;
    height: auto;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto;
  }
  .pamphlet-reference-table td,
  .pamphlet-reference-table td:first-child {
    display: table-cell;
    padding: .35em .7em;
    width: auto;
  }
  .pamphlet-reference-table td::before { display: none; }
}

/* --- dark theme: the forest at night --- */
html[data-theme="dark"] {
  --paper: #232b24;
  --paper-raised: #2a332b;
  --ink: #e9e4d6;
  --muted: #9aa294;
  --sage: #a3b795;
  --gold: #c9b078;
  --hairline: #3a443a;
  --phi-inline-bg: #3a443a;
}
html[data-theme="dark"] body { background: var(--paper); color: var(--ink); }

.themetoggle {
  background: none;
  border: none;
  color: var(--sage);
  font: inherit;
  font-size: 1rem;
  cursor: pointer;
  padding: 0 0 0 .4rem;
  line-height: 1;
}
.themetoggle:hover { color: var(--ink); }

.teng-svg { vertical-align: middle; max-width: 100%; }

/* ---- tengwar mode pamphlet: both hands shown at once, no toggle ---- */
.teng-dual { font-size: 2em; }

/* ---- lexicon explorer: the headword's Tengwar hand opens the entry, at
   the pamphlet's two-to-one scale over the surrounding text. The selector
   carries .entry-body so the margin outweighs the generic .entry-body p
   rule, and the block display keeps line-box leading out of the gap. ---- */
.entry-body p.entry-teng { font-size: 2em; margin: -0.2rem 0 0.8rem; }
.entry-teng .teng-svg { display: block; }

/* ---- reading memory (reader.js): continue-reading box, bookmarks ---- */
.readerhome {
  margin: 1rem 0 1.5rem;
  padding: .7rem 1rem;
  background: var(--paper-raised);
  border: 1px solid var(--hairline);
  border-radius: 6px;
  font-family: var(--sans);
  font-size: .95rem;
}
.readerhome p { margin: .25rem 0; }
.readerhome a { color: var(--sage); text-decoration: none; }
.readerhome a:hover { color: var(--ink); }
.reader-marks-label {
  color: var(--muted);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: .55rem;
}
ul.reader-marks { list-style: none; margin: .2rem 0 0; padding: 0; }
ul.reader-marks li { margin: .18rem 0; }
.unmark {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: .95rem;
  padding: 0 .35rem;
  line-height: 1;
}
.unmark:hover { color: var(--gold); }
.markbtn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--gold);
  font-size: .65em;
  padding: 0 .15rem;
  margin-left: .45rem;
  vertical-align: middle;
  opacity: 0;
  transition: opacity .15s ease;
}
h1:hover .markbtn, h2:hover .markbtn, h3:hover .markbtn,
.markbtn:focus-visible { opacity: .55; }
.markbtn.marked { opacity: .9; }
h1:hover .markbtn.marked, h2:hover .markbtn.marked,
h3:hover .markbtn.marked { opacity: 1; }
@media (hover: none) {
  .markbtn { opacity: .4; }
  .markbtn.marked { opacity: 1; }
}
