/* Chapters Two and Three inherit Chapter One's reading hierarchy.
   This layer changes presentation only; evidence colors and geometry stay local. */
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page {
 --story-format-heading:"Songti SC","Noto Serif SC",Georgia,serif;
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-opening-heading,.paris-heading,.morning-finished) {
 box-sizing:border-box;max-width:42rem;min-width:0;margin:10px auto 30px;padding:0;border:0;background:transparent;box-shadow:none;
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-opening-heading,.paris-heading,.morning-finished) h1 {
 font-family:var(--story-format-heading);font-size:clamp(1.75rem,3vw,2.35rem);font-weight:400;line-height:1.5;letter-spacing:.03em;color:#eadbb9;margin:22px 0 30px;text-wrap:balance;overflow-wrap:break-word;word-break:normal;
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-opening-heading,.paris-heading) > p,
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page .story-format-meta {
 display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font-family:var(--story-format-body,system-ui,sans-serif);font-size:14px;line-height:1.7;letter-spacing:0;color:#aa9f83;margin:14px 0 0;padding:0 0 12px;border:0;border-bottom:1px solid var(--reading-line,#bba77d2e);
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .story-format-meta time {font-variant-numeric:tabular-nums;letter-spacing:.035em}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .story-format-meta > span {min-width:0;overflow-wrap:break-word}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page .london-opening-heading > .chronicle-eyebrow {
 color:#aa9f83;font-size:14px;font-weight:400;line-height:1.7;margin:0 0 12px;
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-parley-scene,.london-chase-scene,.london-awakening-sequence,.london-memory-sequence,.morning-case-summary,.paris-prose,.paris-summary,.paris-feedback) > p:not(.paris-machine-output):not(.paris-pending) {
 max-width:42rem;margin:1.4em auto;font-family:var(--story-format-body,system-ui,sans-serif);font-size:18px;font-weight:400;line-height:1.95;letter-spacing:.012em;color:var(--story-prose-ink,#e3e1d5);text-align:start;overflow-wrap:break-word;word-break:normal;
}
body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-parley-scene,.paris-prose,.morning-case-summary) {min-width:0}
body.story-reading[data-story-chapter="3"] #app .paris-content {max-width:42rem;margin-inline:auto}
body.story-reading[data-story-chapter="3"] #app .paris-content:has(.paris-workbench) {max-width:none}
body.story-reading[data-story-chapter="3"] #app .paris-prose > :is(.paris-choice,.paris-summary,.paris-feedback,.paris-proof) {max-width:42rem;margin-inline:auto}
body.story-reading[data-story-chapter="3"] #app .paris-scene-art {width:100%;max-width:44rem;margin:30px auto 38px}
body.story-reading[data-story-chapter="3"] #app .paris-scene-art img {border-radius:2px}
body.story-reading[data-story-chapter="3"] #app .paris-scene-art figcaption {font-size:14px;line-height:1.7;color:#a8ac99;margin-top:12px}
body.story-reading[data-story-chapter="3"] #app .paris-page .murdle-top,
body.story-reading[data-story-chapter="3"] #app .story-review-reader-nav {display:flex;justify-content:space-between;align-items:center;gap:12px 24px}
body.story-reading[data-story-chapter="3"] #app :is(.murdle-top,.story-review-reader-nav) > .story-reading-context {
 order:1;display:flex;flex:1;flex-wrap:wrap;align-items:baseline;gap:2px 18px;min-width:0;width:auto;grid-column:auto;grid-row:auto;
}
body.story-reading[data-story-chapter="3"] #app .murdle-page .story-review-section-label {
 flex:1 1 10ch;min-width:0;max-width:100%;width:auto;font-size:13px;line-height:1.7;color:#a8ac99;margin:0;padding:0;overflow-wrap:anywhere;
}
body.story-reading[data-story-chapter="3"] #app :is(.murdle-top,.story-review-reader-nav) > .story-review-mode-toggle {order:2;grid-column:auto;grid-row:auto;margin-left:auto;flex-shrink:0}
body.story-reading[data-story-chapter="3"] #app .murdle-page .story-review-mode-toggle button {min-height:44px;padding:10px 12px;font-size:13px}
body.story-reading[data-story-chapter="3"] #app .paris-replay {display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 32px;padding:16px 0;border:0;border-bottom:1px solid var(--reading-line,#bba77d2e);background:transparent}
body.story-reading[data-story-chapter="3"] #app .paris-replay span {color:#a8ac99;font-size:14px;line-height:1.7}
body.story-reading[data-story-chapter="3"] #app .paris-content > .paris-controls {display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:32px 0 0;padding:22px 0 4px;border:0;border-top:1px solid var(--reading-line,#bba77d2e)}
body.story-reading[data-story-chapter="3"] #app .paris-content > .paris-controls > :is(button,a) {min-height:48px;border-radius:2px;max-width:100%;white-space:normal;line-height:1.7}
body.story-reading[data-story-chapter="3"] #app .paris-content > .paris-controls > span {margin-inline:auto;color:#a9ad98;font-size:14px;font-weight:400;line-height:1.7;font-variant-numeric:tabular-nums}
body.story-reading[data-story-chapter="2"] #app .london-opening-identity {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;max-width:42rem;margin:0 auto 24px;padding:0 0 12px;border:0;border-bottom:1px solid var(--reading-line,#bba77d2e);background:transparent}
body.story-reading[data-story-chapter="2"] #app .london-opening-identity span {color:#aebba9;font-size:14px;line-height:1.7}
body.story-reading[data-story-chapter="2"] #app .london-opening-identity strong {color:#dfcd9c;font-size:16px;font-weight:500;line-height:1.7}
@media(max-width:680px) {
 body.story-reading[data-story-chapter="3"] #app :is(.murdle-top,.story-review-reader-nav) {gap:8px 12px}
 body.story-reading[data-story-chapter="3"] #app :is(.murdle-top,.story-review-reader-nav) > .story-reading-context {flex-direction:column;align-items:flex-start;gap:2px}
 body.story-reading[data-story-chapter="3"] #app .murdle-page .story-review-section-label {display:block;flex:0 1 auto}
 body.story-reading[data-story-chapter="3"] #app .murdle-page .story-review-mode-toggle button {padding:10px 9px;font-size:13px}
 body.story-reading:is([data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page :is(.london-parley-scene,.london-chase-scene,.london-awakening-sequence,.london-memory-sequence,.morning-case-summary,.paris-prose,.paris-summary,.paris-feedback) > p:not(.paris-machine-output):not(.paris-pending) {line-height:1.9;letter-spacing:0}
}

/* Evidence has the same paper type in full play, story reading and replay. */
body.story-reading[data-story-chapter="3"] #app .murdle-page .paris-scene :is(.paris-paper,.paris-material,.paris-machine,.paris-apparatus,.paris-observation,.paris-setting-strip) p:not(.paris-machine-output) {font-size:19px;line-height:1.85}
body.story-reading[data-story-chapter="3"] #app .murdle-page .paris-scene .paris-machine-output {font-size:clamp(23px,4vw,30px);line-height:1.6}
/* Chapter One's reader used a separate margin/font override. Keep its full-play
   title as the single baseline, including when it is read back. */
body.story-reading[data-story-chapter="1"] #app .murdle-page .story-review-reading h1 {font-family:var(--story-format-heading);font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.5;letter-spacing:.03em;color:#eadbb9;margin:22px 0 30px;text-wrap:balance;overflow-wrap:break-word;word-break:normal}
/* The rebuilt first unit emits its ordinary paragraphs without a prose wrapper. */
body.story-reading[data-story-chapter="2"] #app .murdle-page :is(.morning-story,.story-review-reading)>p:not([class]):not([role]) {max-width:42rem;margin:1.4em auto;font-family:var(--story-format-body,system-ui,sans-serif);font-size:18px;line-height:1.95;letter-spacing:.012em;color:var(--story-prose-ink,#e3e1d5);overflow-wrap:break-word}
@media(max-width:680px){body.story-reading[data-story-chapter="2"] #app .murdle-page :is(.morning-story,.story-review-reading)>p:not([class]):not([role]) {line-height:1.9;letter-spacing:0}}
/* Locale fonts match Chapter One's actual interface, instead of falling back
   to a Chinese font stack for English and Japanese. */
body.story-reading:is([data-story-chapter="1"],[data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page {
 --story-format-heading:"Songti SC","Noto Serif SC",Georgia,serif;
 --story-format-body:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
}
html:lang(en) body.story-reading:is([data-story-chapter="1"],[data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page {
 --story-format-heading:Georgia,"Times New Roman",serif;
 --story-format-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html:lang(ja) body.story-reading:is([data-story-chapter="1"],[data-story-chapter="2"],[data-story-chapter="3"]) #app .murdle-page {
 --story-format-heading:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;
 --story-format-body:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",sans-serif;
}
/* Full evidence statements, including opened observation states. Keep local
   ink and paper; auxiliary labels and diagram lettering are not prose. */
body.story-reading[data-story-chapter="2"] #app .murdle-page :is(
 .glass-source-copy,.glass-view-copy,.care-evidence-copy,.entry-evidence-copy,
 .supper-evidence-copy,.second-entry-record-text,.father-source-copy,.father-view-copy,
 .window-record-copy,.gap-bed-record,.gap-measure-copy,.gap-trial-copy,
 .return-source,.return-record-copy,.seam-source,.children-source,.children-text,
 .children-telegram,.still-open-source,.still-open-text,.shore-field-open,
 .shore-letter-copy,.london-finale-paper,.london-evidence-insert,.london-paper-trace article,
 .london-scheme-record,.late-source-sheet
) p:not(.shore-letters),
body.story-reading[data-story-chapter="2"] #app .murdle-page :is(
 .seam-evidence-card>p:not(.seam-card-meta),.shore-object>p:not(.shore-material),
 .second-entry-event-order li>p,.second-entry-event-pool article>p,
 .london-finale-order li>p,.story-deduction li
) {font-size:19px!important;line-height:1.85!important}

/* Common reading scale for the story reader; scene evidence and puzzle widgets keep their own type. */
body.story-reading #app :is(.story-review-reading h1,.morning-scene-heading h1,.chronicle-preface-copy h1,.chronicle-arrival-copy h1,.london-opening-heading h1,.paris-heading h1,.origin-heading h1) {
 font-family:var(--story-format-heading,"Songti SC","Noto Serif SC",Georgia,serif);font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.5;letter-spacing:.03em;color:#eadbb9;margin:22px 0 30px;text-wrap:balance;overflow-wrap:break-word;word-break:normal;
}
/* The prologue reader has a more specific older title rule; keep it on this scale too. */
body.story-reading #app .murdle-page :is(.chronicle-preface-copy,.chronicle-arrival-copy) h1 {font-size:clamp(28px,3vw,38px)}
body.story-reading #app :is(.story-format-meta,.morning-time,.origin-heading p,.london-opening-heading>p) {
 display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;max-width:42rem;margin:12px auto 18px;padding:0;color:#a8ac99;font:400 14px/1.7 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;border:0;background:transparent;
}
body.story-reading #app :is(.chronicle-preface-copy,.chronicle-arrival-copy,.morning-prose,.chronicle-prose,.paris-prose,.origin-prose,.origin-exit)>p:not(.chronicle-eyebrow):not(.origin-reading-label) {
 max-width:42rem;margin:0 auto 1.4em;color:var(--story-prose-ink,#e3e1d5);font:400 18px/1.95 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.012em;text-align:start;overflow-wrap:break-word;word-break:normal;
}
/* Prologue and chapter-one prose is wrapped in semantic story beats rather than
   being a direct child of the scene container. Bring every narrative paragraph
   onto the same reading size, including the formerly oversized first beat. */
body.story-reading #app :is(.chronicle-preface-text,.morning-prose,.chronicle-prose) .story-beat>p {
 max-width:42rem;margin:0 auto 1.4em;color:var(--story-prose-ink,#e3e1d5);font:400 18px/1.95 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif!important;letter-spacing:.012em;text-align:start;overflow-wrap:break-word;word-break:normal;
}
body.story-reading #app :is(.morning-scene-heading>.chronicle-eyebrow,.london-opening-heading>.chronicle-eyebrow) {display:none!important}
body.story-reading #app :is(.chronicle-preface-copy,.chronicle-arrival-copy)>.chronicle-eyebrow,
body.story-reading #app .morning-scene-heading>.chronicle-eyebrow {font:400 14px/1.7 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#a8ac99;letter-spacing:0}
@media(max-width:600px){
 body.story-reading #app :is(.story-review-reading h1,.morning-scene-heading h1,.chronicle-preface-copy h1,.chronicle-arrival-copy h1,.london-opening-heading h1,.paris-heading h1,.origin-heading h1) {font-size:28px;line-height:1.5;margin:18px 0 24px}
 body.story-reading #app :is(.chronicle-preface-copy,.chronicle-arrival-copy,.morning-prose,.chronicle-prose,.paris-prose,.origin-prose,.origin-exit)>p:not(.chronicle-eyebrow):not(.origin-reading-label) {font-size:18px;line-height:1.9;letter-spacing:0}
 body.story-reading #app :is(.chronicle-preface-text,.morning-prose,.chronicle-prose) .story-beat>p {line-height:1.9!important;letter-spacing:0}
}

/* Keep chapter-specific scene names and lead lines when they carry new story information. */
body.story-reading #app .chronicle-discovery-title {max-width:42rem;margin:10px auto 16px;color:#eadbb9;font:400 clamp(1.35rem,2.3vw,1.6rem)/1.5 var(--story-format-heading,"Songti SC","Noto Serif SC",Georgia,serif);letter-spacing:.02em;text-wrap:balance}
body.story-reading #app .chronicle-discovery-lead {max-width:42rem;margin:0 auto 1.4em;color:var(--story-prose-ink,#e3e1d5);font:400 18px/1.95 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.012em}
body.story-reading #app .chronicle-scene-label {font:400 14px/1.7 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
@media(max-width:600px){body.story-reading #app .chronicle-discovery-title{font-size:1.35rem}.chronicle-discovery-lead{font-size:18px;line-height:1.9;letter-spacing:0}}
