/* Shared typography: upright serif prose with stable digit baselines. */
:root{
 --game-copy-font:'Times New Roman',Times,Georgia,serif;
 --game-ui-font:'Times New Roman',Times,Georgia,serif;
 --game-copy-leading:1.5;
}

/* Includes the prologue, every illustrated chapter, both field cinematics,
   lessons/reference, character biographies, results and construction help. */
dialog p:not([role="status"]):not(:where(#stats,#build,#choice-note)),
#campaign-story #story-text,
#campaign-field-story #campaign-field-line,
#field-story #scene-line,
#workshop-story #workshop-line,
#finish-guide #guide-text,
#character-detail-copy,
#opening-talk p,
#cards button>span,
.weapon-options button>span:last-child{
 font-family:var(--game-copy-font);
 font-weight:400;
 line-height:var(--game-copy-leading);
 text-align:left;
 text-align-last:left;
 -webkit-hyphens:auto;
 hyphens:auto;
 overflow-wrap:break-word;
 word-break:normal;
}

/* Descriptions fill their card; names and action labels retain their own alignment. */
#cards button>span,
.weapon-options button>span:last-child{align-self:stretch}

/* Dense battlefield facts use the same stable serif face. */
#info>p.muted,
#trial-rule,
#trial-reward,
#build-hint,
#preview small,
#chapter1-terrain-tip span{
 font-family:var(--game-ui-font);
 font-weight:400;
 line-height:var(--game-copy-leading);
 text-align:left;
 text-align-last:left;
 -webkit-hyphens:auto;
 hyphens:auto;
 overflow-wrap:break-word;
 word-break:normal;
}

dialog h1,dialog h2,dialog h3,.scene-heading h2{
 font-family:var(--game-copy-font);
 font-weight:400;
 text-align:start;
 -webkit-hyphens:none;
 hyphens:none;
 overflow-wrap:break-word;
}
.character-card h3{text-align:center}

button,select,summary,
#guide-count,#story-count,
#scene-speaker,#workshop-speaker,
.scene-heading small{
 font-family:var(--game-ui-font);
 font-weight:400;
}
#guide-count,#story-count{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Queue summaries are labels with numbers, separate from the prose around them. */
#sight-legend,
#terrain-description p+p,
#preview>p:first-child{
 font-family:var(--game-ui-font);
 font-weight:400;
 text-align:start;
 -webkit-hyphens:none;
 hyphens:none;
}

/* The first upgrades row is a live numeric summary, not a prose paragraph. */
#chapter-four-upgrades>div:not(.dialog-heading)>p:first-child{
 font-family:var(--game-ui-font);
 font-weight:400;
 text-align:start;
 -webkit-hyphens:none;
 hyphens:none;
}

/* V26.66: regular weight throughout, including semantic headings and speaker names. */
h1,h2,h3,h4,strong{font-weight:400}

/* Sizes and safe-area layout stay in their components; alignment is orientation-independent. */
