/* Reading text uses the same Manrope assets as Proof. Display and UI roles
   remain separate; do not replace the site's shared --font-sans variable. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/proof/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/proof/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/proof/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/proof/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/proof/font-4.ttf) format('truetype');
}

body.fe-edition {
  --fe-body-copy-font: 'Manrope', Geist, Arial, sans-serif;
  --fe-reading-font: var(--fe-body-copy-font);
}

/* This diagram previously inherited the article's UI face. Protect its role
   explicitly now that the article container inherits the reading face. */
body.fe-edition .fe-native-diagram {
  font-family: var(--font-sans);
}

/* Text roles, rather than every descendant: links and emphasis inherit the
   paragraph's face; headings, wordmarks and interface labels keep theirs. */
body.fe-edition :is(p, li, dd, td, blockquote, .fe-standfirst, .fe-story-excerpt, .gh-card-excerpt, .fe-one-minute-brief, .fe-brief-point):not(:where(
  nav *, button *, summary *, [role="button"] *,
  .fe-reader-tools *, .fe-reading-rail *, .fe-share-dialog *,
  .fe-archive-controls *, .fe-archive-status, .fe-archive-popularity-note, .fe-archive-pages *,
  .fe-byline *, .fe-article-record *, .fe-cover-byline *,
  .fe-kicker, .fe-meta, .fe-entry-meta, .gh-card-tag,
  .fe-editorial-byline, .fe-opinion-author, .fe-watchlist-byline,
  .fe-price, .fe-mono, .fe-mono *, .fe-status-line,
  .fe-cover *, .fe-guide-face *, .fe-book-cover *, .pbh-landing *,
  .fe-live-diagram *, .fe-native-diagram *, .fe-reading-break *, .fe-diagram *,
  .fe-diagram-note, .fe-chart *, .fe-chart-row *, .fe-inline-illustration *,
  svg *, pre *, code *, kbd *, samp *
)) {
  font-family: var(--fe-body-copy-font);
  font-weight: 400;
}

/* These quotes have explicit display-face rules earlier in the cascade. */
body.fe-edition .fe-article-body.gh-content blockquote:not(:where(
  .fe-live-diagram *, .fe-native-diagram *, .fe-diagram *, .fe-cover *, .fe-guide-face *
)) {
  font-family: var(--fe-body-copy-font);
  font-weight: 400;
}

/* Retain semantic emphasis and table hierarchy, not a blanket weight reset. */
body.fe-edition :is(th, dt):not(:where(
  nav *, .fe-live-diagram *, .fe-native-diagram *, .fe-diagram *, .fe-chart *,
  .fe-cover *, .fe-guide-face *, .pbh-landing *
)) {
  font-family: var(--fe-body-copy-font);
  font-weight: 600;
}

/* Controls can sit inside a paragraph or list item and use font:inherit in
   existing components. Give that role an explicit face, keeping its weight. */
body.fe-edition :is(button, input, select, textarea, summary, [role="button"], .fe-button, .gh-button, .fe-text-link, .fe-topic, .fe-access):not(:where(
  .fe-cover *, .fe-guide-face *, .fe-book-cover *, .pbh-landing *,
  .fe-live-diagram *, .fe-native-diagram *, .fe-diagram *, .fe-chart *, .fe-snippet *, .fe-embed-builder textarea
)) {
  font-family: var(--font-sans);
}
