/* Human typography rule: justify main prose, retain natural final lines.
   Load after each page's existing styles. Body bytes and boundaries stay exact. */
:is(.hero-copy,.intro-grid>div,.route-card,.creature-head>div)>p:not(.eyebrow):not(.fine),
.reading>p:not(.source-credit):not(.fine):not(.label):not(.context),
.reading .excerpt,.reading .lens-panel>p:not(.fine),.reading .quiet-box>p,
.library-copy p:not(.fine):not(.context),
#library-list>p:not(.eyebrow):not(.fine):not([role="status"]),
#reading>p:not(.eyebrow):not(.fine):not([role="status"]),
.reader-text,.record-text,
#publication-body>p[data-prose-role="body"],
.side>p:not(.eyebrow):not(.source-note),
.encounter>div>p:not(.eyebrow):not(.source-note),
.credits>p,.exit-screen>p:not(.eyebrow),#help>p,
.habitat>p:nth-of-type(2),
.thanks-intro>p:not(.eyebrow),.thanks-policy p,
.world-source-edition article>p:not(.meta),
[data-prose-role="body"]{
  text-align:justify;text-align-last:auto;text-justify:inter-word;hyphens:auto;
}
/* Only explicit edition/title roles opt into centering. */
h1,h2,h3,h4,h5,h6,.source-title,.source-heading,
[data-prose-role="title"],[data-prose-role="heading"]{
  text-align:left;text-align-last:auto;
}
blockquote,blockquote p,.quotation,.source-quote,[data-prose-role="quote"]{
  text-align:left;text-align-last:auto;
}
.production-title--center,[data-title-alignment="center"]{
  text-align:center;text-align-last:auto;
}
/* Make room for complete creature names without splitting letters. */
.creature-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.creature-head>div{min-width:0}
.creature-head h1{overflow-wrap:normal;word-break:normal;text-wrap:balance}
@media(max-width:780px){.creature-head{grid-template-columns:1fr}}
