/* beforeword · book edition. Theme and reading surfaces, loaded after page styles.
   Existing source text, diagrams, code, media and interaction geometry are retained. */
html.bw-book {
  --bw-book-paper: #f7f5ee;
  --bw-book-ink: #242421;
  --bw-book-muted: #626259;
  --bw-book-rule: #d8d5ca;
  --bw-book-control: #858477;
  --bw-book-panel: #efede5;
  --bw-book-surface: #fffef9;
  --bw-book-accent: #235f8c;
  --bw-book-inverse: #282925;
  --bw-book-on-inverse: #f5f3eb;
  --bw-book-on-inverse-muted: #d1d0c6;
  --bw-book-scheme: light;
  --bw-book-serif: Georgia, 'Times New Roman', serif;
  --bw-book-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --bw-book-mono: ui-monospace, 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --bw-book-max: 1200px;
  --bw-book-measure: 70ch;
  --bw-book-gutter: clamp(20px, 4.5vw, 60px);
  background: var(--bw-book-paper) !important;
  color: var(--bw-book-ink);
  color-scheme: var(--bw-book-scheme) !important;
  scrollbar-color: var(--bw-book-control) var(--bw-book-paper);
  scroll-padding-block: 24px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html.bw-book[data-theme='dark'] {
  --bw-book-paper: #1b1b19;
  --bw-book-ink: #e8e5dc;
  --bw-book-muted: #b3b1a5;
  --bw-book-rule: #45453e;
  --bw-book-control: #929186;
  --bw-book-panel: #252522;
  --bw-book-surface: #22221f;
  --bw-book-accent: #9ec9e9;
  --bw-book-inverse: #e8e5dc;
  --bw-book-on-inverse: #22221f;
  --bw-book-on-inverse-muted: #535349;
  --bw-book-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html.bw-book:not([data-theme='light']):not([data-theme='dark']) {
    --bw-book-paper: #1b1b19; --bw-book-ink: #e8e5dc;
    --bw-book-muted: #b3b1a5; --bw-book-rule: #45453e;
    --bw-book-control: #929186; --bw-book-panel: #252522;
    --bw-book-surface: #22221f; --bw-book-accent: #9ec9e9;
    --bw-book-inverse: #e8e5dc; --bw-book-on-inverse: #22221f;
    --bw-book-on-inverse-muted: #535349; --bw-book-scheme: dark;
  }
}
/* Token bridge. Local page palettes must not override the reader's theme. */
html.bw-book, html.bw-book body {
  --bw-paper: var(--bw-book-paper) !important; --bw-ink: var(--bw-book-ink) !important;
  --bw-muted: var(--bw-book-muted) !important; --bw-line: var(--bw-book-rule) !important;
  --bw-panel: var(--bw-book-panel) !important;
  --paper: var(--bw-book-paper) !important;
  --paper-ink: var(--bw-book-ink) !important;
  --paper-muted: var(--bw-book-muted) !important;
  --paper-line: var(--bw-book-rule) !important;
  --paper-control: var(--bw-book-control) !important;
  --paper-panel: var(--bw-book-panel) !important;
  --paper-surface: var(--bw-book-surface) !important;
  --paper-grain: none !important;
  --plain-grain: none !important;
  --bg: var(--bw-book-paper) !important;
  --fg: var(--bw-book-ink) !important;
  --ink: var(--bw-book-ink) !important;
  --text: var(--bw-book-ink) !important;
  --muted: var(--bw-book-muted) !important;
  --faint: var(--bw-book-muted) !important;
  --dim: var(--bw-book-muted) !important;
  --line: var(--bw-book-rule) !important;
  --rule: var(--bw-book-rule) !important;
  --field: var(--bw-book-panel) !important;
  --panel: var(--bw-book-panel) !important;
  --surface: var(--bw-book-surface) !important;
  --focus: var(--bw-book-accent) !important;
  --shell-ink: var(--bw-book-ink) !important;
  --shell-muted: var(--bw-book-muted) !important;
  --shell-line: var(--bw-book-rule) !important;
  --shell-max: var(--bw-book-max) !important;
  --shell-gutter: var(--bw-book-gutter) !important;
  --reader-fg: var(--bw-book-ink) !important;
  --reader-muted: var(--bw-book-muted) !important;
  --reader-line: var(--bw-book-rule) !important;
  --reader-panel: var(--bw-book-panel) !important;
  --reader-max: var(--bw-book-max) !important;
  --reader-gutter: var(--bw-book-gutter) !important;
  --notes-dim: var(--bw-book-muted) !important;
  --notes-muted: var(--bw-book-muted) !important;
  --notes-line: var(--bw-book-rule) !important;
  --research-panel: var(--bw-book-panel) !important;
  --research-control: var(--bw-book-control) !important;
  --hq-panel: var(--bw-book-panel) !important;
  --hq-rule: var(--bw-book-rule) !important;
  --hq-muted: var(--bw-book-muted) !important;
  --rc-ink: var(--bw-book-ink) !important;
  --rc-muted: var(--bw-book-muted) !important;
  --rc-line: var(--bw-book-rule) !important;
  --rc-panel: var(--bw-book-panel) !important;
  --bwd-ink: var(--bw-book-ink) !important;
  --bwd-muted: var(--bw-book-muted) !important;
  --bwd-line: var(--bw-book-rule) !important;
  --s-paper: var(--bw-book-paper) !important;
  --s-ink: var(--bw-book-ink) !important;
  --s-muted: var(--bw-book-muted) !important;
  --s-line: var(--bw-book-rule) !important;
  --s-panel: var(--bw-book-panel) !important;
  --s-inverse: var(--bw-book-inverse) !important;
  --s-on-inverse: var(--bw-book-on-inverse) !important;
  --s-focus: var(--bw-book-accent) !important;
  --plain-paper: var(--bw-book-paper) !important;
  --plain-ink: var(--bw-book-ink) !important;
  --plain-muted: var(--bw-book-muted) !important;
  --plain-line: var(--bw-book-rule) !important;
  --plain-control: var(--bw-book-control) !important;
  --plain-panel: var(--bw-book-panel) !important;
  --plain-button-hover: var(--bw-book-ink) !important;
  --plain-scheme: var(--bw-book-scheme) !important;
  --music-paper: var(--bw-book-paper) !important;
  --music-ink: var(--bw-book-ink) !important;
  --music-muted: var(--bw-book-muted) !important;
  --music-line: var(--bw-book-rule) !important;
  --music-control: var(--bw-book-control) !important;
  --music-panel: var(--bw-book-panel) !important;
  --music-surface: var(--bw-book-surface) !important;
  --human-measure: var(--bw-book-measure);
  --human-offset: 24px !important;
  --bwa-header-offset: 24px !important;
  --paper-page-title: clamp(2.25rem, 4.5vw, 4rem);
}
html.bw-book body {
  background: var(--bw-book-paper) !important;
  color: var(--bw-book-ink) !important;
  color-scheme: var(--bw-book-scheme) !important;
  font-family: var(--bw-book-serif);
  font-size: 19px;
  line-height: 1.72;
  margin: 0;
  text-rendering: optimizeLegibility;
  accent-color: var(--bw-book-ink);
  caret-color: var(--bw-book-ink);
}
html.bw-book body::before, html.bw-book body::after { background-image: none !important; }
html.bw-book *, html.bw-book *::before, html.bw-book *::after { box-sizing: border-box; }
html.bw-book [hidden] { display: none !important; }
html.bw-book ::selection { color: var(--bw-book-paper); background: var(--bw-book-ink); }
html.bw-book body :is(a, button, summary, input, textarea, select, audio, video, [tabindex]):focus-visible {
  outline: 2px solid var(--bw-book-accent) !important;
  outline-offset: 4px;
}
html.bw-book body :is(.skip-link, .skip) { background: var(--bw-book-ink); color: var(--bw-book-paper); }
html.bw-book body main :where(section, article, figure, div, nav, aside, header) { min-width: 0; }
html.bw-book body > main,
html.bw-book body.bw-paper.bw-shell > main {
  width: min(100%, var(--bw-book-max));
  max-width: var(--bw-book-max);
  margin-inline: auto;
  padding-inline: var(--bw-book-gutter);
  padding-bottom: clamp(56px, 7vw, 100px);
  font-family: var(--bw-book-serif);
  overflow-wrap: break-word;
}
html.bw-book body main [id] { scroll-margin-top: 24px !important; }
html.bw-book body main :is(p, li, dd) { text-wrap: pretty; }
html.bw-book body main a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
html.bw-book body main a:hover { text-decoration-thickness: 2px; }
html.bw-book body main :is(h1, h2, h3, h4) {
  font-family: var(--bw-book-serif) !important;
  font-weight: 400;
  letter-spacing: -.025em;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: break-word;
}
html.bw-book body main h1:not(#life-title):not(.written-letter) {
  font-size: clamp(2.25rem, 4.5vw, 4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.04em !important;
  line-height: 1.12 !important;
  max-width: 23ch;
}
html.bw-book body main h2 {
  font-size: clamp(1.75rem, 3vw, 2.55rem);
  font-weight: 400 !important;
  line-height: 1.2;
}
html.bw-book body main h3 { font-size: clamp(1.4rem, 2.1vw, 1.8rem); line-height: 1.28; }
html.bw-book body main :is(.bwd-entry-card h2, .bwd-section h2, .bws-section h2) {
  font-family: var(--bw-book-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -.025em !important;
  line-height: 1.2 !important;
}
/* Long-form columns remain narrow, while tables and paired examples keep their space. */
html.bw-book body main :is(.prose, .origin-prose, .essay, .reading-copy, .bwd-article, .bwl-letter,
  .bwr-letter, .wi-prose, .report-prose, .plain-reader, .note-copy, .publication-manuscript) {
  max-width: var(--bw-book-measure);
  font-family: var(--bw-book-serif);
  font-size: clamp(1.125rem, 1.6vw, 1.25rem);
  line-height: 1.75;
}
html.bw-book body main :is(.prose, .origin-prose, .essay, .reading-copy, .bwd-article, .bwl-letter,
  .bwr-letter, .wi-prose, .report-prose, .note-copy) p { line-height: 1.75; }
html.bw-book body main :is(.bwh-body, .hq-question-body > p, .hq-teaching-copy > p, .rc-description,
  .bwd-entry-section > p, .bwd-entry-card p, .bwl-lead, .plain-answer, .plain-section > p,
  .human-step-copy, .human-subtitle, .about-method-list p, .bws-lead) {
  font-family: var(--bw-book-serif) !important;
  line-height: 1.7 !important;
}
html.bw-book body main :is(.hero, .bwa-hero, .hq-hero, .bwd-hero, .bwl-hero, .wi-annex-heading,
  .publication-opening, .rc-opening, .plain-opening) {
  padding-top: clamp(38px, 5.4vw, 72px);
  padding-bottom: clamp(32px, 4.5vw, 54px);
}
html.bw-book body .plain-page, html.bw-book body.plain-page { font-size: 19px; }
html.bw-book body main :is(.bwh-section, .bwa-section, .bws-section) {
  padding-block: clamp(36px, 5vw, 64px);
  border-color: var(--bw-book-rule);
}
/* Metadata and controls have their own quiet, legible sans-serif voice. */
html.bw-book body main :is(button, input, select, summary, label, figcaption, nav, caption,
  .actions, .small, .eyebrow, .kicker, .reader-tools, .reader-meta, .reader-note,
  .bwh-kicker, .bwa-kicker, .plain-kicker, .rc-label, .rc-meta, .rc-eyebrow, .rc-work,
  .bwd-kicker, .bwd-meta, .bwd-note, .bwd-label, .bwl-kicker, .bwl-small, .bwl-status,
  .bwl-status-note, .bwr-row-meta, .bwr-data-links, .wi-caption, .wi-date, .wi-eyebrow,
  .publication-byline, .publication-manuscript-meta, .citation-reference,
  .bws-kicker, .bws-meta, .bws-note, .scope-status, .copy-status) {
  font-family: var(--bw-book-sans);
  letter-spacing: 0;
}
html.bw-book body main :is(.kicker, .eyebrow, .bwh-kicker, .bwa-kicker, .plain-kicker,
  .bwl-kicker, .bwd-kicker, .bws-kicker, .wi-eyebrow, .rc-eyebrow) {
  font-size: .75rem;
  line-height: 1.6;
  letter-spacing: .075em;
}
html.bw-book body :is(pre, code, kbd, samp, .bwh-record, .bwh-code, .bwh-spec,
  [data-bw-diff-before], [data-bw-diff-after]) { font-family: var(--bw-book-mono); }
html.bw-book body main pre {
  max-width: 100%;
  overflow-x: auto;
  font-size: .875rem;
  line-height: 1.7;
  tab-size: 4;
  border-color: var(--bw-book-rule);
}
html.bw-book body main :is(.bwl-case pre, .bwd-example pre, .hq-record, .written-sequence,
  .same-answer) { color: var(--bw-book-ink); }
html.bw-book body main :is(.bwl-case pre, .bwd-example pre) { font-family: var(--bw-book-serif); }
html.bw-book body main :is(.bwh-code, .bwl-case pre, .same-answer, .model-page pre) {
  background: var(--bw-book-panel);
}
html.bw-book body :is(input:not([type='range']):not([type='checkbox']):not([type='radio']), textarea, select) {
  background-color: var(--bw-book-surface) !important;
  color: var(--bw-book-ink) !important;
  border-color: var(--bw-book-control) !important;
  color-scheme: var(--bw-book-scheme) !important;
  caret-color: var(--bw-book-ink);
  accent-color: var(--bw-book-ink);
  border-radius: 2px;
}
html.bw-book body :is(input, textarea)::placeholder { color: var(--bw-book-muted) !important; opacity: 1; }
html.bw-book body :is(input, select, textarea, audio) { color-scheme: var(--bw-book-scheme) !important; }
/* Surface migration: only named paper containers, never artwork or diagram strokes. */
html.bw-book body :is(.hq-boundary, .hq-added, .hq-continuations, .bwh-scope-item,
  .bwh-case, .bwh-pair figure, .bwh-diff-pair > div, .rc-human, .rc-card, .rc-topics > a,
  .rc-walkthrough, .bwl-card, .bwl-embed-item, .bwr-feature-card, .bwd-entry-card,
  .wi-material, .wi-archive-note, .card, .scope-item, .study-card, .about-route,
  .reader-next-grid > a, .bw-update-shell) {
  color: var(--bw-book-ink) !important;
  background: transparent !important;
  border-color: var(--bw-book-rule) !important;
  border-radius: 0;
  box-shadow: none;
}
html.bw-book body :is(.hq-record-panel, .rc-specimen, .rc-material, .rc-example-records > div,
  .rc-practice, .bwl-reason-example, .bwl-statement, .bwl-latest-message, .bwl-message, .bwr-intro-example, .bwr-context,
  .bwd-example, .bwd-comparison, .wi-specimen, .wi-record, .wi-context, .wi-example,
  .wi-analysis-note, .plain-example, .plain-visual, .plain-speech-learning,
  .plain-ai-card, .plain-more-example, .example-body, .reader-workbench,
  .note-action, .rc-work, .wi-message, .record-text, .bw-update-question,
  .bw-update-request, .bw-update-comparison-body, .human-record,
  .bwa-entry-record, .bwa-entry-reading) {
  color: var(--bw-book-ink);
  background-color: var(--bw-book-panel) !important;
  background-image: none !important;
  border-color: var(--bw-book-rule) !important;
  border-radius: 0;
  box-shadow: none;
}
/* These disclosures previously retained a fixed white surface in dark mode. */
html.bw-book body main :is(.human-analysis, .human-contents) {
  color: var(--bw-book-ink);
  background: var(--bw-book-surface) !important;
  border-color: var(--bw-book-rule) !important;
}
html.bw-book body :is(.bwh-case, .bwh-scope-item, .bwl-embed-item, .bwr-feature-card, .rc-card) {
  border-inline: 0;
  border-bottom-width: 0;
  border-top-width: 1px;
  padding-inline: 0;
}
html.bw-book body :is(.bwl-embed, .bwr-entry, .bwr-series-invite, .bwl-section,
  .rc-group-heading, .rc-example-section, .wi-study, .wi-downloads, .wi-edition,
  .wi-table-wrap, .bwd-section, .bwl-card-meta, .bwr-row, .bwr-history,
  .about-record, .scope-group, .scope-example, .publication-manuscript,
  .publication-editorial-note, .publication-record-list > div,
  .bwh-pair figure, .bwh-captions figure, .plain-question-list, .plain-question,
  .home-route, .human-route) { border-color: var(--bw-book-rule) !important; }
/* Existing literal dark text, links and subtitles across the independent publications. */
html.bw-book body main :is(.hq-words, .hq-core, .bwh-scope-item .bwh-small,
  .bwl-page, .bwr-page, .bwl-embed, .bwr-entry, .bwr-series-invite, .bwl-metadata dd,
  .bwl-embed > .bwl-textlink, .bwr-stats strong, .bwr-aside strong,
  .bwd-related p, .bwd-example pre, .rc-number, .rc-material, .wi-reading,
  .wi-proposal, .wi-prose, .wi-edition summary, .wi-toc summary,
  .written-sequence, .written-letter, .publication-editorial-note h2, .citation,
  .study-feature .study-name, .example-text, .example-note,
  .scope-title, .scope-item p, .frame-close, .text-button, .bw-update-body,
  .bw-update-follow, .bw-update-feedback, .bw-update-results, .bw-update-models,
  .bw-update-request, .bw-update-comparison, .bw-update-report, .bw-update-release,
  .bw-update-toggle, .bw-update-github, .bw-update-tasks, .bw-update-protocol,
  .bw-update-links a, .bw-update-copy, .bw-update-version, .bw-update-selected) {
  color: var(--bw-book-ink) !important;
}
html.bw-book body main :is(.small, .muted, .eyebrow, .kicker, .reader-note,
  .bwl-kicker, .bwl-hero-note, .bwl-small, .bwl-status, .bwl-status-note,
  .bwl-hub-status, .bwl-number, .bwl-card-meta, .bwl-metadata, .bwl-metadata dt,
  .bwl-side p, .bwl-subtitle, .bwl-sources p, .bwl-history-note, .bwl-case dt,
  .bwl-reason-example dt, .bwl-reason-example > p, .bwl-statement-source,
  .bwl-quote-label, .bwl-delivery-addresses dt, .bwl-delivery-addresses small,
  .bwl-delivery-note, .bwl-delivery-label, .bwl-embed-item small, .bwl-timeline time,
  .bwr-stats, .bwr-row-meta, .bwr-tag, .bwr-meta dt, .bwr-meta dd small,
  .bwr-aside, .bwr-record-note, .bwr-screen-list figcaption, .bwr-screen-list p,
  .bwr-history time, .bwr-source-list .location, .bwr-source-list .note,
  .bwr-data-links, .bwr-toolbar output, .bwr-intro-example dt, .bwr-intro-example > p,
  .wi-caption, .wi-date, .wi-eyebrow, .wi-label, .wi-reference, .wi-edition details,
  .wi-hero-note, .wi-breadcrumb, .wi-toc, .bwl-breadcrumb span, .bwl-letter p:first-child,
  .bwl-requests li::before, .bwl-message > summary small, .bwl-message-source,
  .bwl-reason-example figcaption, .bwr-intro-example figcaption, .bwr-fragment,
  .wi-source-links, .wi-table-wrap::before, .publication-byline,
  .publication-manuscript-meta, .publication-editorial-note,
  .citation-reference, .publication-opening .eyebrow, .publication-contents a,
  .wi-message-position, .wi-message-source, .wi-reading-note, .frame-source,
  .phase-number, .phase-subtitle, .phase-none, .math-case dt,
  .surface-thesis .thesis-premise, .bw-update-label, .bw-update-note,
  .bw-update-status, .bw-update-intro, .bw-update-result-selected) {
  color: var(--bw-book-muted) !important;
}
html.bw-book body main :is(.bwl-embed-item, .bwd-button, .bwl-button, .wi-button,
  .rc-primary, .human-primary, .reader-primary, .plain-button,
  .bwh-button, .button, .human-button, .math-copy) {
  min-height: 46px;
  font-family: var(--bw-book-sans);
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  border-radius: 2px;
}
html.bw-book body main :is(.button, .bwh-button, .bwd-button, .bwl-button, .wi-button,
  .human-button, .math-copy, .letter-control button, .bw-update-copy) {
  color: var(--bw-book-ink) !important;
  border-color: var(--bw-book-control) !important;
  background: transparent !important;
  box-shadow: none;
}
html.bw-book body main :is(.button.primary, .bwh-primary, .bwd-button--primary,
  .bwl-button--primary, .wi-primary, .human-primary, .reader-primary, .plain-button,
  a.rc-primary, .note-action-primary) {
  color: var(--bw-book-paper) !important;
  background: var(--bw-book-ink) !important;
  border-color: var(--bw-book-ink) !important;
}
@media (hover: hover) {
  html.bw-book body main :is(.button, .bwh-button, .bwd-button, .bwl-button, .wi-button,
    .human-button, .math-copy):hover:not(:disabled) { text-decoration: underline; text-underline-offset: .2em; }
  html.bw-book body main :is(.bwl-embed-item, .rc-topics > a):hover { background: var(--bw-book-panel) !important; }
  html.bw-book body main :is(.bwh-details, .human-analysis, .human-contents) > summary:hover {
    color: var(--bw-book-ink) !important;
    background: var(--bw-book-panel) !important;
  }
}
html.bw-book body main :is(.bwh-details, .human-analysis, .human-contents) > summary:focus-visible {
  color: var(--bw-book-ink) !important;
  background: var(--bw-book-panel) !important;
}
html.bw-book body main :is(button, .button):disabled { opacity: .55; cursor: not-allowed; }
/* The catalogue's study entry previously fixed a light surface in both themes. */
html.bw-book body main .bwpi-entry {
  color: var(--bw-book-ink);
  background: var(--bw-book-panel);
  border-color: var(--bw-book-rule);
}
html.bw-book body main .bwpi-entry .bwpi-boundary { color: var(--bw-book-muted); }
html.bw-book body main .bwpi-entry .bwpi-link {
  color: var(--bw-book-paper); background: var(--bw-book-ink);
  border-color: var(--bw-book-ink);
}
/* Mobile two-column tables turn their first cell into an inline row label. */
html.bw-book body main .wi-prose table[data-columns='2'] td:first-child {
  color: var(--bw-book-muted);
}

/* Release disclosure can sit outside main on the homepage. */
html.bw-book body .bw-update-shell { font-family: var(--bw-book-sans); }
html.bw-book body .bw-update-shell :is(.bw-update-label small, .bw-update-intro,
  .bw-update-status, .bw-update-note, .bw-update-models dd) { color: var(--bw-book-muted) !important; }
html.bw-book body .bw-update-shell :is(.bw-updates, .bw-update-comparison,
  .bw-update-results th, .bw-update-results td) { border-color: var(--bw-book-rule) !important; }
html.bw-book body .bw-update-shell .bw-update-results .bw-update-result-selected { background: var(--bw-book-panel); }
html.bw-book body .bw-update-shell .bw-update-copy {
  color: var(--bw-book-paper) !important; background: var(--bw-book-ink) !important;
  border-color: var(--bw-book-ink) !important; box-shadow: none;
}
html.bw-book body :is(.bwl-timeline, .bwr-history) li::before {
  background: var(--bw-book-paper); border-color: var(--bw-book-ink);
}
html.bw-book body main :is(.bwr-reading-guide, .bwr-screens) > summary:hover,
html.bw-book body main .bwr-toolbar button:hover { background: var(--bw-book-panel); }
html.bw-book body main .wi-toc a[aria-current='location'] { color: var(--bw-book-ink); }

/* Inverse statements keep a complete foreground/background pair in both themes. */
html.bw-book body :is(.bwd-home-feature, .home-study-entry) {
  background: var(--bw-book-inverse) !important;
  color: var(--bw-book-on-inverse) !important;
  border-color: var(--bw-book-inverse) !important;
  box-shadow: none;
}
html.bw-book body :is(.bwd-home-feature, .home-study-entry) :is(h2, h3, p, dd, a, figcaption) {
  color: inherit !important;
}
html.bw-book body :is(.bwd-home-feature, .home-study-entry) :is(.bwd-home-label,
  .bwd-home-related p, .bwd-home-case dt, .home-study-label, .home-study-boundary) {
  color: var(--bw-book-on-inverse-muted) !important;
}
html.bw-book body .bwd-home-feature .bwd-home-case {
  background: transparent !important;
  border-color: var(--bw-book-on-inverse-muted) !important;
}
html.bw-book body .bwd-home-feature .bwd-home-primary {
  color: var(--bw-book-inverse) !important;
  background: var(--bw-book-on-inverse) !important;
  border-color: var(--bw-book-on-inverse) !important;
}
html.bw-book body :is(.bwd-home-feature, .home-study-entry) a:focus-visible { outline-color: currentColor !important; }
/* Dialogs and sticky reading aids use opaque theme surfaces. */
html.bw-book body :is(.home-route, .human-route, .bws-reading-nav, .bar,
  .frame-dialog, .lyrics-dialog, .player, .listen-dialog, .ma-player, #tapHint) {
  background: var(--bw-book-surface) !important;
  background-image: none !important;
  color: var(--bw-book-ink) !important;
  border-color: var(--bw-book-rule) !important;
  color-scheme: var(--bw-book-scheme) !important;
  box-shadow: none;
}
html.bw-book body .human-route { top: 0; }
html.bw-book body :is(.home-route a, .human-route a, .frame-close) { color: var(--bw-book-ink) !important; }
html.bw-book body :is(.frame-dialog, .lyrics-dialog, .listen-dialog)::backdrop { background: rgb(0 0 0 / 60%); }
html.bw-book body main :is(.report-table, .table-scroll, .table-wrap, .wi-table-wrap,
  .comparison-scroll) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
html.bw-book body main :is(table, th, td) { border-color: var(--bw-book-rule) !important; }
html.bw-book body main th { color: var(--bw-book-ink); background-color: var(--bw-book-panel) !important; background-image: none !important; }
html.bw-book body main :is(th, td)::before { color: var(--bw-book-muted) !important; }
html.bw-book body main table { font-family: var(--bw-book-sans); }
html.bw-book body main :is(img, video, audio, svg, iframe) { max-width: 100%; }
/* Diagram interfaces follow the book. Their illustrated strokes and silhouettes do not change. */
html.bw-book body main :is(.plain-visual-label, .plain-visual-note, .plain-letter-status,
  .plain-speech-count, .plain-speech-learning-label, .plain-dog-reading,
  .plain-form-reading, .plain-example-note) { font-family: var(--bw-book-sans); }
html.bw-book body main :is(.plain-visual-button, .plain-speech-play, .plain-letter-toggle,
  .plain-dog-caption-controls button, .plain-theme-options button) {
  color: var(--bw-book-ink); background-color: var(--bw-book-surface);
  border-color: var(--bw-book-control); min-height: 44px;
}
html.bw-book body main :is(.plain-visual-button, .plain-letter-toggle)[aria-pressed='true'] {
  color: var(--bw-book-paper); background: var(--bw-book-ink);
}
html.bw-book body .bw-diff-deleted { color: #613422; background: #efddd3; }
html.bw-book body .bw-diff-added { color: #2c4825; background: #dee9d4; }
html.bw-book[data-theme='dark'] body .bw-diff-deleted { color: #f2c8b7; background: #46332b; }
html.bw-book[data-theme='dark'] body .bw-diff-added { color: #d3e8c7; background: #303e28; }
/* Music keeps its cover artwork and dark stone object; the surrounding reader follows the theme. */
html.bw-book body.reader-music main { font-family: var(--bw-book-serif); }
html.bw-book body.reader-music :is(.life-hook, .life-description, .release-card__description,
  .player__track, .lyrics-dialog__text, .profile-links a, .platform-link,
  .release-index a, .player__open, .release-card__work-link a) { color: var(--bw-book-ink) !important; }
html.bw-book body.reader-music :is(.life-topline, .life-release-date, .life-boundary,
  .release-card__meta, .lyrics-status, .explicit, .player__label, .player__timeline,
  .lyrics-dialog__kicker, .lyrics-dialog__note, .catalog__note) { color: var(--bw-book-muted) !important; }
html.bw-book body.reader-music :is(.lyrics-trigger, .player__toggle, .player__close,
  .lyrics-dialog__close, .lyrics-dialog__tabs button, .lyrics-dialog__copy, .life-lyrics,
  .latest__preview, .release-card__preview) {
  color: var(--bw-book-ink) !important;
  background: var(--bw-book-panel) !important;
  border-color: var(--bw-book-control) !important;
  box-shadow: none;
}
html.bw-book body.reader-music :is(.life-presave, .lyrics-dialog__tabs button[aria-selected='true'],
  button[data-preview][aria-pressed='true']) {
  color: var(--bw-book-paper) !important;
  background: var(--bw-book-ink) !important;
  border-color: var(--bw-book-ink) !important;
}
html.bw-book body.reader-music .life-stone { color: #eeeae3; }
html.bw-book body.reader-music .life-stone :is(.life-film-meta, .life-inscription, .life-overline,
  .life-epitaph, #life-title, .life-title-gloss, .life-plea-label, a) { color: inherit; }
html.bw-book body.reader-music .life-stone a:focus-visible { outline-color: #b8d7ee !important; }
html.bw-book body.reader-music .life-copy { max-width: 42ch; }
html.bw-book body.reader-music :is(.life-description, .release-card__description) { font-size: 1.0625rem; line-height: 1.7; }
html.bw-book body.reader-music :is(.release-card, .catalog, .release-card__cover,
  .lyrics-dialog__header, .lyrics-dialog__controls, .lyrics-dialog__note) { border-color: var(--bw-book-rule) !important; }
html.bw-book body.reader-music .lyrics-dialog__viewport { scrollbar-color: var(--bw-book-control) var(--bw-book-surface); }
/* Preserve source whitespace: no hyphenation or rewriting in source/code containers. */
html.bw-book body :is(pre, code, .record-text, .written-sequence, .bwl-letter,
  .bwr-letter, .lyrics-dialog__text, .plain-form-mark, .bwh-record) { hyphens: none; }
/* New standalone documents share the same reading measure and chapter rhythm. */
html.bw-book body main.bw-book-reading {
  width: min(100%, calc(70ch + var(--bw-book-gutter) * 2));
  padding-top: clamp(38px, 5.4vw, 72px);
  padding-bottom: clamp(56px, 7vw, 100px);
}
html.bw-book body main.bw-book-reading h1 { margin: 0 0 30px; }
html.bw-book body main.bw-book-reading h2 { margin: 0 0 18px; }
html.bw-book body main.bw-book-reading p { margin: 0 0 1.1em; }
html.bw-book body main.bw-book-reading section { margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--bw-book-rule); }
html.bw-book body main.bw-book-reading li + li { margin-top: .65em; }
html.bw-book body main.bw-book-reading a { color: inherit; }
/* The audiovisual work is a framed work inside the shared reading shell. */
html.bw-book:has(body.bw-book-immersive) { height: auto; overflow: visible; }
html.bw-book body.bw-book-immersive { display: block !important; width: 100%; height: auto !important; overflow: visible !important; }
html.bw-book body.bw-book-immersive .ma-actions {
  position: static !important; width: min(100%, var(--bw-book-max));
  display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center;
  margin: 0 auto !important; padding: 4px var(--bw-book-gutter) 8px !important;
  gap: 0 24px; font-family: var(--bw-book-sans);
}
html.bw-book body.bw-book-immersive .ma-action {
  min-height: 44px; color: var(--bw-book-ink) !important;
  letter-spacing: 0; text-transform: none; font-size: .875rem;
}
html.bw-book body.bw-book-immersive .ma-language { display: none; }
html.bw-book body.bw-book-immersive main#stage {
  position: relative; width: min(100%, var(--bw-book-max)) !important;
  height: max(380px, calc(100vh - 152px)) !important;
  height: max(380px, calc(100dvh - 152px)) !important;
  max-width: var(--bw-book-max) !important; min-height: 380px;
  padding: 0 !important; margin: 0 auto 48px !important;
  background: #000 !important; color: #fff; overflow: hidden;
  font-family: var(--bw-book-sans);
}
html.bw-book body.bw-book-immersive #textBlock { color: #fff; }
html.bw-book body.bw-book-immersive #tapHint { background: #161714 !important; color: #f2f0e8 !important; }
html.bw-book body.bw-book-immersive .tap-intro strong { color: #f2f0e8; }
html.bw-book body.bw-book-immersive .tap-intro span { color: #c1c1b6; }
html.bw-book body[data-page-section='ma'] :is(.ma-player-row > span, .ma-status, .listen-kicker) { color: var(--bw-book-muted); }
html.bw-book body[data-page-section='ma'] :is(.listen-body, .listen-body h2, .listen-platforms a, .listen-close) {
  color: var(--bw-book-ink); border-color: var(--bw-book-rule);
}
html.bw-book body[data-page-section='ma'] .listen-close { background: var(--bw-book-surface); }
html.bw-book body[data-page-section='ma'] .ma-player #playBtn {
  color: var(--bw-book-paper); background: var(--bw-book-ink); border-color: var(--bw-book-ink);
}
html.bw-book body.reader-transcript :is(.lead, .kicker, .time, .transcript-status) { color: var(--bw-book-muted) !important; }
html.bw-book body.reader-transcript > main { max-width: min(100%, calc(70ch + var(--bw-book-gutter) * 2)); }
html.bw-book body.reader-transcript .bw-work-nav {
  width: min(100%, var(--bw-book-max)); margin: 0 auto;
  padding: 8px var(--bw-book-gutter); font: .875rem/1.5 var(--bw-book-sans);
}
html.bw-book body.reader-transcript .bw-work-nav a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 680px) {
  html.bw-book { --bw-book-gutter: 22px; }
  html.bw-book body { font-size: 18px; line-height: 1.7; }
  html.bw-book body main h1:not(#life-title):not(.written-letter) { font-size: clamp(2.15rem, 8.6vw, 3rem) !important; line-height: 1.14 !important; }
  html.bw-book body main h2 { font-size: clamp(1.7rem, 6.5vw, 2.1rem); }
  html.bw-book body main :is(.prose, .origin-prose, .essay, .reading-copy, .bwd-article,
    .bwl-letter, .bwr-letter, .wi-prose, .report-prose, .plain-reader, .note-copy) { font-size: 1.125rem; line-height: 1.75; }
  html.bw-book body main :is(.hero, .bwa-hero, .hq-hero, .bwd-hero, .bwl-hero,
    .publication-opening, .rc-opening, .plain-opening) { padding-block: 34px; }
  html.bw-book body main :is(.bwh-section, .bwa-section, .bws-section) { padding-block: 34px; }
  html.bw-book body :is(input:not([type='checkbox']):not([type='radio']):not([type='range']), select, textarea) { font-size: max(16px, 1em); }
  html.bw-book body main :is(.bwd-toc, .bwr-aside) { position: static; }
  html.bw-book body main .bwd-table { font-size: .875rem; }
}
@media (max-width: 374px) {
  html.bw-book { --bw-book-gutter: 18px; }
  html.bw-book body main h1:not(#life-title):not(.written-letter) { font-size: 2.1rem !important; }
  html.bw-book body main :is(.hq-record-panel, .plain-example > figcaption,
    .plain-pair > div, .bwl-reason-example, .bwr-intro-example, .bwr-context) { padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html.bw-book, html.bw-book *, html.bw-book *::before, html.bw-book *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (prefers-contrast: more) {
  html.bw-book { --bw-book-muted: #47473f; --bw-book-rule: #8a897d; --bw-book-control: #646456; }
  html.bw-book[data-theme='dark'] { --bw-book-muted: #dad7ca; --bw-book-rule: #8d8b7f; --bw-book-control: #b0ad9e; }
  @media (prefers-color-scheme: dark) {
    html.bw-book:not([data-theme='light']) { --bw-book-muted: #dad7ca; --bw-book-rule: #8d8b7f; --bw-book-control: #b0ad9e; }
  }
}
@media (forced-colors: active) {
  html.bw-book, html.bw-book[data-theme], html.bw-book:not([data-theme='light']):not([data-theme='dark']) {
    --bw-book-paper: Canvas; --bw-book-ink: CanvasText; --bw-book-muted: CanvasText;
    --bw-book-rule: CanvasText; --bw-book-control: ButtonText;
    --bw-book-panel: Canvas; --bw-book-surface: Canvas;
    --bw-book-inverse: Canvas; --bw-book-on-inverse: CanvasText;
    --bw-book-on-inverse-muted: CanvasText; --bw-book-accent: Highlight;
    color-scheme: light dark !important; scrollbar-color: auto;
  }
  html.bw-book body main a { color: LinkText !important; }
  html.bw-book body main :is(button, .button, .bwh-button, .bwd-button, .bwl-button,
    .wi-button, .human-button, .human-primary, .reader-primary, .plain-button,
    .rc-primary, .life-presave, .life-lyrics) {
    color: ButtonText !important; background: ButtonFace !important; border-color: ButtonText !important;
  }
  html.bw-book body .bw-diff-deleted, html.bw-book body .bw-diff-added {
    color: CanvasText; background: Canvas; outline: 1px solid CanvasText;
  }
  html.bw-book body .life-stone { background: Canvas !important; color: CanvasText !important; box-shadow: none !important; }
}
@media print {
  html.bw-book, html.bw-book[data-theme], html.bw-book:not([data-theme='light']):not([data-theme='dark']) {
    --bw-book-paper: #fff; --bw-book-ink: #000; --bw-book-muted: #333;
    --bw-book-rule: #aaa; --bw-book-control: #777; --bw-book-panel: #fff;
    --bw-book-surface: #fff; --bw-book-inverse: #fff; --bw-book-on-inverse: #000;
    --bw-book-on-inverse-muted: #333; color-scheme: light !important;
  }
  html.bw-book body { font-size: 11pt; line-height: 1.5; }
  html.bw-book body > main, html.bw-book body.bw-paper.bw-shell > main { width: 100%; max-width: none; padding: 0; }
  html.bw-book body main :is(.prose, .origin-prose, .essay, .bwd-article, .bwl-letter,
    .bwr-letter, .wi-prose, .report-prose, .plain-reader, .publication-manuscript) { max-width: none; font-size: 11pt; line-height: 1.5; }
  html.bw-book body main h1:not(#life-title):not(.written-letter) { max-width: none; font-size: 28pt !important; }
  html.bw-book body main :is(h2, h3, h4) { break-after: avoid; }
  html.bw-book body main p { orphans: 3; widows: 3; }
  html.bw-book body main :is(.hero, .bwa-hero, .hq-hero, .bwd-hero, .bwl-hero, .publication-opening, .rc-opening, .plain-opening) { padding-block: 0 18pt; }
  html.bw-book body :is(.home-route, .human-route, .bw-site-header, .bw-site-footer,
    .bw-reader-widget, .bw-reader-panel, .player, .ma-player, .copy-status) { display: none !important; }
  html.bw-book body main :is(.report-table, .table-scroll, .table-wrap, .wi-table-wrap) { overflow: visible; }
  html.bw-book body main pre { max-height: none; }
}
