
  
  @font-face { font-family: "Open Sans Avid"; src: url("/assets/fonts/open-sans-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
  @font-face { font-family: "Open Sans Avid"; src: url("/assets/fonts/open-sans-semibold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
  @font-face { font-family: "Open Sans Avid"; src: url("/assets/fonts/open-sans-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
  @font-face { font-family: "Open Sans Avid"; src: url("/assets/fonts/open-sans-extrabold.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
  @font-face { font-family: "Open Sans Avid"; src: url("/assets/fonts/open-sans-italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }
  @font-face { font-family: "Source Han Sans CN Avid"; src: url("/assets/fonts/source-han-sans-cn-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
  @font-face { font-family: "Source Han Sans CN Avid"; src: url("/assets/fonts/source-han-sans-cn-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
  @font-face { font-family: "Source Han Sans CN Avid"; src: url("/assets/fonts/source-han-sans-cn-heavy.woff2") format("woff2"); font-style: normal; font-weight: 900; font-display: swap; }


  :root {
    --avid-navy: #061365;
    --avid-light-blue: #C7EAFB;
    --avid-red: #961818;
    --avid-yellow: #FFCE31;
    --ink: #171A2D;
    --muted: #565B70;
    --paper: #FFFFFF;
    --tint: #F2F8FC;
    --line: #C7EAFB;
    --body-font: "Open Sans Avid", "Source Han Sans CN Avid", sans-serif;
    --display-font: "Open Sans Avid", "Source Han Sans CN Avid", sans-serif;
  }

  * { box-sizing: border-box; }
  html { color: var(--ink); background: #E8EBF1; font-size: 9.7pt; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { margin: 0; font-family: var(--body-font); line-height: 1.72; text-rendering: optimizeLegibility; }
  .book { background: var(--paper); }
  a { color: inherit; text-decoration: none; }
  p { margin: 0 0 .62em; text-align: justify; text-justify: inter-ideograph; orphans: 3; widows: 3; }
  [lang="en"] { text-align: left; }
  strong { font-weight: 700; }
  small { font-size: .82em; }
  .manuscript-content-block.content-page-break-before { display: block; break-before: page; page-break-before: always; }
  ul, ol { margin: .45em 0 .85em; padding-left: 1.5em; }
  li { margin: 0 0 .38em; }
  .content-list-numbered, .content-list-bullet, .content-list-none { position: relative; list-style: none !important; }
  li.content-list-bullet, li.content-list-none { display: block; }
  .content-list-numbered::before, .content-list-bullet::before { position: absolute; right: calc(100% + .42em); top: 0; min-width: 1.8em; color: currentColor; font-weight: 700; text-align: right; }
  .content-list-numbered::before { content: attr(data-list-number) "."; }
  .content-list-bullet::before { content: "•"; }
  .manuscript-content-block.content-list-numbered, .manuscript-content-block.content-list-bullet { display: block; margin-left: 1.55em; }
  hr { border: 0; border-top: .35mm solid var(--line); margin: 1.25em 0; }
  blockquote { margin: 1em 0 1.2em; padding: .8em 1em; border-left: 1.5mm solid var(--avid-red); background: var(--tint); break-inside: avoid; }
  blockquote p:last-child { margin-bottom: 0; }
  cite { display: block; margin-top: .45em; font-family: var(--body-font); font-size: .8em; font-style: normal; color: var(--muted); }
  h1, h2, h3, h4 { font-family: var(--display-font); font-weight: 700; color: var(--avid-navy); line-height: 1.2; text-wrap: balance; break-after: avoid; }
  h3 { margin: 1.2em 0 .55em; font-size: 1.08em; }
  h4 { margin: 1em 0 .45em; font-size: 1em; }
  table { width: 100%; border-collapse: collapse; margin: .8em 0 1.1em; font-size: .88em; }
  th, td { border: .2mm solid var(--line); padding: .42em .5em; vertical-align: top; }
  th { background: var(--tint); font-family: var(--display-font); text-align: left; }
  tr { break-inside: avoid; }

  .reader-header, .reader-toolbar, .reader-turn, .reader-page-number, .reader-loading { display: none; }
  button { font-family: var(--body-font); }

  .cover { page: cover; position: relative; width: 130mm; min-height: 190mm; overflow: hidden; padding: 17mm 14mm 14mm; color: var(--avid-navy); background: var(--paper); break-after: page; }
  .cover::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 42mm; background: var(--avid-navy); clip-path: polygon(0 26%, 100% 0, 100% 100%, 0 100%); }
  .cover::after { content: ""; position: absolute; left: 0; bottom: 35mm; width: 100%; height: 10mm; background: var(--avid-yellow); clip-path: polygon(0 60%, 100% 0, 100% 35%, 0 100%); }
  .cover-top-band { position: absolute; inset: 0 0 auto; height: 7mm; background: var(--avid-navy); }
  .cover-top-band i, .cover-top-band b { position: absolute; top: 0; height: 7mm; content: ""; }
  .cover-top-band i { left: 0; width: 29mm; background: var(--avid-red); clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%); }
  .cover-top-band b { right: 0; width: 24mm; background: var(--avid-light-blue); clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
  .cover-logo { position: relative; z-index: 1; display: block; width: 36mm; height: auto; margin: 3mm auto 0; }
  .cover-title-wrap { position: relative; z-index: 1; margin-top: 11mm; text-align: center; }
  .cover-kicker { margin-bottom: 3mm; font-family: var(--display-font); font-size: 7pt; font-weight: 700; letter-spacing: .16em; color: var(--avid-red); text-align: center; }
  .cover h1 { margin: 0; color: var(--avid-navy); font-size: 31pt; font-weight: 800; line-height: 1; letter-spacing: -.045em; }
  .cover h1 span { color: var(--avid-red); }
  .cover-zh { margin: 4mm 0 0; font-family: var(--display-font); font-size: 15pt; font-weight: 900; letter-spacing: .11em; text-align: center; }
  .cover blockquote { position: relative; z-index: 1; margin: 10mm auto 0; padding: 4mm 5mm; border: 0; border-top: 1.2mm solid var(--avid-yellow); background: var(--avid-navy); color: white; font-size: 9.4pt; }
  .cover blockquote p { text-align: center; margin: 0 0 .15em; }
  .cover footer { position: absolute; z-index: 1; left: 14mm; right: 14mm; bottom: 10mm; display: flex; justify-content: space-between; font-family: var(--body-font); font-size: 6.5pt; letter-spacing: .04em; color: white; }

  .front-section, .appendix-intro, .rubric { page: front; break-before: page; }
  .front-section h1, .appendix-intro h1 { margin: 0 0 .7em; font-size: 21pt; color: var(--avid-red); }
  .eyebrow { margin: 0 0 .5em; font-family: var(--display-font); font-size: 7.5pt; font-weight: 700; letter-spacing: .16em; color: var(--avid-navy); text-align: left; }
  .lead { font-size: 11pt; line-height: 1.65; color: #37342f; }
  .fine-print, .source-note { margin-top: 1.3em; font-size: 8pt; color: var(--muted); }

  .publication dl, .colophon dl { margin: 2em 0; border-top: .35mm solid var(--line); }
  .publication dl div, .colophon dl div { display: grid; grid-template-columns: 30mm 1fr; gap: 3mm; padding: .55em 0; border-bottom: .2mm solid var(--line); break-inside: avoid; }
  dt { font-family: var(--display-font); font-size: 8pt; font-weight: 700; color: var(--avid-navy); }
  dd { margin: 0; }
  .positioning { margin: 2.2em 0; padding: 1.3em; background: var(--avid-navy); color: white; }
  .positioning p { margin: 0; text-align: left; font-weight: 700; }

  .official-pvmc > h1 { font-size: 17pt; }
  .pvmc-block { margin: 0 0 1.4em; padding-top: .9em; border-top: .65mm solid var(--avid-yellow); break-inside: avoid-page; }
  .pvmc-block h2 { display: flex; justify-content: space-between; gap: 1em; margin: 0 0 .55em; color: var(--avid-red); font-size: 13pt; }
  .pvmc-block h2 small { color: var(--muted); font-weight: 500; }
  .pvmc-block p { margin-bottom: .4em; }
  .pvmc-block blockquote { font-size: 8.8pt; }
  .mission-block ol { list-style: none; padding: 0; counter-reset: mission; }
  .mission-block li { position: relative; padding: .55em 0 .55em 7mm; border-bottom: .2mm solid var(--line); counter-increment: mission; break-inside: avoid; }
  .mission-block li::before { content: counter(mission); position: absolute; left: 0; top: .65em; width: 5mm; height: 5mm; border-radius: 50%; background: var(--avid-red); color: white; font: 700 7pt/5mm var(--display-font); text-align: center; }
  .mission-block li strong, .mission-block li span, .identity-line strong, .identity-line span { display: block; }
  .mission-block li strong { font-family: var(--display-font); font-size: 8.8pt; line-height: 1.35; }
  .mission-block li span { margin-top: .25em; }
  .identity-line { margin-top: .75em; padding: .75em; background: var(--tint); text-align: center; }
  .official-values { list-style: none; padding: 0; }
  .official-values li { display: grid; grid-template-columns: 7mm 1fr; gap: 2mm; padding: .48em 0; border-bottom: .2mm solid var(--line); break-inside: avoid; }
  .official-values strong, .official-values small { display: block; }
  .official-values strong { font-family: var(--display-font); font-size: 8.4pt; line-height: 1.32; color: var(--avid-navy); }
  .official-values small { margin-top: .12em; font-size: 8.5pt; }
  .value-number { width: 5mm; height: 5mm; border-radius: 50%; background: var(--avid-yellow); color: var(--avid-red); font: 700 7pt/5mm var(--display-font); text-align: center; }
  .pvmc-identity { margin-top: 1.2em; padding: 1em; background: var(--avid-navy); color: white; break-inside: avoid; }
  .pvmc-identity p { margin: 0 0 .45em; text-align: left; }
  .pvmc-identity p:last-child { margin-bottom: 0; }
  .pvmc-identity strong, .pvmc-identity span { display: block; }
  .pvmc-identity strong { color: var(--avid-yellow); font-family: var(--display-font); }

  .toc-list, .toc-list ol { list-style: none; padding: 0; }
  .toc-screen-note { display: none; margin: -1em 0 1.2em; padding: .65em .8em; border-left: 1.2mm solid var(--avid-yellow); background: var(--tint); font-size: 7.5pt; color: var(--muted); text-align: left; }
  .toc-guide { display: flex; justify-content: space-between; margin: -1em 0 1em; padding-bottom: .45em; border-bottom: .3mm solid var(--avid-light-blue); font: 700 6.5pt/1.3 var(--display-font); letter-spacing: .1em; color: var(--muted); }
  .toc-part { margin: 0 0 1.35em; break-inside: avoid; }
  .toc-part > a { display: grid; grid-template-columns: auto auto minmax(5mm, 1fr) auto; align-items: end; gap: .7em; padding-bottom: .4em; border-bottom: .6mm solid var(--avid-red); font-family: var(--display-font); font-weight: 700; color: var(--avid-red); }
  .toc-part-en { color: var(--avid-red); }
  .toc-part-zh { color: var(--avid-navy); }
  .toc-part ol { margin-top: .45em; }
  .toc-part li a { display: grid; grid-template-columns: 6mm auto minmax(5mm, 1fr) auto; align-items: end; gap: 2mm; padding: .32em 0; }
  .toc-number { font: 700 8pt/1.5 var(--display-font); color: var(--avid-red); }
  .toc-part strong, .toc-part small { display: block; }
  .toc-part strong { font-family: var(--display-font); font-size: 8.2pt; color: var(--avid-navy); }
  .toc-part small { font-size: 8.2pt; }
  .toc-leader { min-width: 5mm; margin-bottom: .38em; border-bottom: .25mm dotted var(--avid-light-blue); }
  .toc-extra { border-top: .6mm solid var(--avid-red); }
  .toc-extra a { display: grid; grid-template-columns: 21mm auto minmax(5mm, 1fr) auto; align-items: end; gap: 3mm; padding: .6em 0; border-bottom: .2mm solid var(--line); }
  .toc-extra strong { font: 700 7.5pt/1.5 var(--display-font); color: var(--avid-red); }
  .toc-extra span, .toc-extra small { display: block; }

  .architecture-flow { display: flex; align-items: center; justify-content: space-between; gap: 1mm; margin: 1.5em 0; font-family: var(--display-font); text-align: center; }
  .architecture-flow span { flex: 1; padding: .65em .3em; border-radius: 1.5mm; background: var(--avid-navy); color: white; font-size: 7.5pt; font-weight: 700; }
  .architecture-flow span small { display: block; margin-top: .2em; color: var(--avid-light-blue); font-weight: 400; }
  .architecture-flow b { color: var(--avid-red); }
  .map-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
  .map-cards article { padding: .8em; border: .25mm solid var(--line); border-top: 1.2mm solid var(--avid-yellow); background: #fff; break-inside: avoid; }
  .map-cards h2 { margin: 0 0 .4em; font-size: 10pt; color: var(--avid-red); }
  .map-cards p { margin: 0 0 .4em; font-size: 8.2pt; }
  .map-cards small { font-family: var(--display-font); color: var(--muted); }

  .part-opening { page: part; position: relative; width: 130mm; min-height: 190mm; padding: 28mm 15mm 18mm; overflow: hidden; color: white; background: var(--avid-navy); break-before: page; break-before: right; break-after: page; }
  .part-opening::before { content: ""; position: absolute; left: 0; top: 0; width: 13mm; height: 100%; background: var(--avid-red); clip-path: polygon(0 0, 100% 0, 55% 100%, 0 100%); }
  .part-opening::after { content: ""; position: absolute; right: 0; bottom: 0; width: 100%; height: 42mm; background: var(--avid-yellow); clip-path: polygon(36% 66%, 100% 0, 100% 100%, 0 100%); }
  .part-opening .part-title { position: relative; z-index: 1; margin: 31mm 0 4mm; color: white; font-size: 25pt; font-weight: 800; line-height: 1.06; }
  .part-opening .part-subtitle { position: relative; z-index: 1; color: var(--avid-yellow); font-family: var(--display-font); font-size: 15pt; font-weight: 700; text-align: left; }
  .part-opening hr { display: none; }
  .part-kicker { position: relative; z-index: 1; font-family: var(--display-font); font-size: 8pt; letter-spacing: .16em; color: var(--avid-light-blue); text-align: left; }

  .chapter { page: chapter; break-before: page; break-before: recto; }
  .chapter-kicker { margin: 0 0 2mm; font: 700 7.5pt/1.2 var(--display-font); letter-spacing: .18em; color: var(--avid-red); text-align: left; }
  .chapter-principle { display: inline-block; margin: 0 0 3mm; border-bottom: .7mm solid var(--avid-yellow); padding-bottom: 1.2mm; font: 700 8pt/1.2 var(--display-font); letter-spacing: .14em; color: var(--avid-red); text-align: left; }
  .chapter-title { margin: 0; font-size: 24pt; font-weight: 800; color: var(--avid-navy); }
  .chapter-subtitle { margin: 2mm 0 12mm; font-family: var(--display-font); font-size: 14pt; line-height: 1.35; color: var(--avid-red); text-align: left; }
  .section-title { margin: 1.8em 0 .15em; padding-top: .75em; border-top: .6mm solid var(--avid-yellow); font-size: 14pt; color: var(--avid-navy); }
  .section-subtitle { margin: 0 0 1em; font-family: var(--display-font); font-size: 10pt; font-weight: 700; color: var(--avid-red); text-align: left; }
  .chapter > blockquote:first-of-type { margin-top: 1.2em; }
  .chapter li, .chapter blockquote, .chapter table { break-inside: avoid-page; }

  .appendix-intro h1 { color: var(--avid-red); }
  .anchor-key { margin: 1.5em 0; }
  .anchor-key div { display: grid; grid-template-columns: 13mm 1fr; gap: 3mm; align-items: center; margin: 0 0 2mm; padding: .65em .8em; border: .25mm solid var(--line); break-inside: avoid; }
  .anchor-key div > strong { font: 700 16pt/1 var(--display-font); color: var(--avid-red); }
  .anchor-key span, .anchor-key small { display: block; font-family: var(--display-font); }
  .anchor-key span { font-weight: 700; color: var(--avid-navy); }
  .anchor-key small { font-weight: 400; color: var(--muted); }

  .rubric { page: appendix; break-before: page; break-before: right; }
  .rubric > h1 { margin: 0; font: 700 18pt/1.12 var(--display-font); color: var(--avid-red); }
  .rubric-title-zh { margin: 2mm 0 8mm; font: 700 13pt/1.35 var(--display-font); color: var(--avid-navy); text-align: left; }
  .rubric-level { display: grid; grid-template-columns: 23mm 1fr; margin: 0 0 3mm; border: .3mm solid var(--line); break-inside: avoid; }
  .rubric-level header { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1em .45em; background: var(--tint); text-align: center; font-family: var(--display-font); }
  .rubric-level header > strong { font-size: 18pt; line-height: 1; color: var(--avid-red); }
  .rubric-level header span { margin-top: .35em; font-size: 8pt; font-weight: 700; color: var(--avid-navy); }
  .rubric-level header small { display: block; margin-top: .2em; font-size: 8pt; font-weight: 400; color: var(--muted); }
  .rubric-level > div { padding: .75em .8em; }
  .rubric-level p { margin: 0 0 .5em; font-size: 8.6pt; }
  .rubric-level p:last-child { margin-bottom: 0; }
  .rubric-level p strong { color: var(--avid-navy); }
  .level-two { border-color: var(--avid-yellow); }
  .level-two header { background: #FFF7D4; }
  .level-minus header { background: #F8EAEA; }

  @page {
    size: 130mm 190mm;
    margin: 14mm 13mm 17mm 16mm;
    @bottom-center { content: none; }
  }
  @page :left {
    margin: 14mm 16mm 17mm 13mm;
    @top-left { content: "THE AVID WAY"; font: 600 6.4pt "Open Sans Avid", sans-serif; letter-spacing: .12em; color: #565B70; }
    @bottom-left { content: counter(page); font: 700 7pt "Open Sans Avid", sans-serif; color: #961818; border-top: .7mm solid #FFCE31; padding-top: 1.4mm; }
    @bottom-right { content: none; }
  }
  @page :right {
    margin: 14mm 13mm 17mm 16mm;
    @top-right { content: "AVID EDUCATION"; font: 600 6.4pt "Open Sans Avid", sans-serif; letter-spacing: .12em; color: #565B70; }
    @bottom-right { content: counter(page); font: 700 7pt "Open Sans Avid", sans-serif; color: #961818; border-top: .7mm solid #FFCE31; padding-top: 1.4mm; }
    @bottom-left { content: none; }
  }
  @page cover { margin: 0; @top-left { content: none; } @top-right { content: none; } @bottom-left { content: none; } @bottom-center { content: none; } @bottom-right { content: none; } }
  @page part { margin: 0; @top-left { content: none; } @top-right { content: none; } @bottom-left { content: none; } @bottom-center { content: none; } @bottom-right { content: none; } }
  @page chapter:first { @top-left { content: none; } @top-right { content: none; } }
  @page front:first { @top-left { content: none; } @top-right { content: none; } }
  @page appendix:first { @top-left { content: none; } @top-right { content: none; } }

  .reader-splash { display: none; }

  @media screen {
    html, body { min-width: 320px; min-height: 100%; background: #EEF2F7; }
    body { overflow-x: hidden; }
    .reader-splash { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; overflow: hidden; padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); background: var(--avid-navy); opacity: 1; visibility: visible; transition: opacity 520ms ease, visibility 520ms step-end; }
    .reader-splash-cover { position: relative; width: min(78vw, calc((100vh - 36px) * 13 / 19), calc((100dvh - 36px) * 13 / 19), 350px); aspect-ratio: 13 / 19; overflow: hidden; background: var(--paper); color: var(--avid-navy); box-shadow: 0 28px 80px rgba(0, 0, 0, .34); }
    .reader-splash-top { position: absolute; inset: 0 0 auto; height: 14px; background: var(--avid-yellow); }
    .reader-splash-top::before { position: absolute; inset: 0 auto 0 0; width: 34%; background: var(--avid-red); content: ""; }
    .reader-splash-top::after { position: absolute; inset: 0 0 0 auto; width: 20%; background: var(--avid-light-blue); content: ""; }
    .reader-splash-content { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 12% 10%; text-align: center; }
    .reader-splash-logo { display: block; width: 46%; height: auto; margin: 0; }
    .reader-splash-message { width: 100%; margin: 13% 0 0; padding: 9% 4% 0; border-top: 4px solid var(--avid-yellow); }
    .reader-splash-slogan { margin: 0; font: 800 clamp(16px, 4.6vw, 23px)/1.25 var(--display-font); letter-spacing: -.015em; }
    .reader-splash-bottom { position: absolute; z-index: 1; inset: auto 0 0; height: 18%; background: var(--avid-navy); clip-path: polygon(0 58%, 100% 0, 100% 100%, 0 100%); }
    .reader-loaded .reader-splash { opacity: 0; visibility: hidden; pointer-events: none; }
    .reader-editor-loading .reader-splash { display: none; }
    .reader-app { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; align-items: center; padding: 12px 16px 16px; padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
    .reader-header { width: min(100%, 960px); min-height: 44px; display: grid; grid-template-columns: auto minmax(120px, 1fr) auto; align-items: center; gap: 16px; margin-bottom: 8px; color: var(--avid-navy); }
    .reader-brand { display: flex; align-items: center; gap: 9px; min-width: 0; }
    .reader-brand-mark { width: 5px; height: 30px; background: var(--avid-red); box-shadow: 5px 0 0 var(--avid-yellow); }
    .reader-brand strong, .reader-brand small { display: block; line-height: 1.15; }
    .reader-brand strong { font-size: 10pt; letter-spacing: .08em; }
    .reader-brand small { margin-top: 2px; font-size: 7.5pt; color: var(--muted); }
    .reader-location { overflow: hidden; font-size: 7.5pt; font-weight: 600; color: var(--muted); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
    .reader-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .reader-header-actions::-webkit-scrollbar { display: none; }
    .reader-header-actions button { min-height: 44px; min-width: 44px; border: 1px solid var(--avid-light-blue); border-radius: 999px; padding: 8px 12px; background: white; color: var(--avid-navy); font: 700 14px/1.2 var(--display-font); cursor: pointer; white-space: nowrap; }
    .reader-header-actions #fontSizeButton { min-width: 46px; }
    .reader-header-actions #bookmarkButton, .reader-header-actions #diamondButton { min-width: 36px; padding-inline: 8px; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: 11pt; }
    .reader-header-actions button:hover, .reader-header-actions button:focus-visible { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-header-actions .is-active { background: var(--avid-yellow); border-color: var(--avid-yellow); }
    .reader-stage { display: flex; align-items: center; justify-content: center; gap: 12px; }
    .reader-scale-box { position: relative; flex: 0 0 auto; }
    .reader-viewport { position: absolute; inset: 0 auto auto 0; width: 130mm; height: 190mm; overflow: hidden; background: white; outline: .3mm solid #D6DAE5; box-shadow: 0 10px 34px rgba(6, 19, 101, .16); transform: scale(var(--reader-scale, 1)); transform-origin: top left; }
    .book { position: relative; top: 14mm; width: 130mm; height: 159mm; margin: 0; overflow: visible; column-width: 130mm; column-gap: 0; column-fill: auto; background: var(--paper); font-size: var(--reader-body-font-size, 9.7pt); transform: translate3d(var(--reader-offset, 0px), 0, 0); transition: transform 220ms ease; will-change: transform; }
    .reader-no-motion .book { transition: none; }
    .book > section { -webkit-box-decoration-break: clone; box-decoration-break: clone; }
    .manuscript-content-block.content-page-break-before { break-before: column; }
    .manuscript-content-block.content-editor-selected { border-radius: 1mm; outline: .8mm solid var(--avid-yellow); outline-offset: .6mm; background-color: rgba(255, 206, 49, .16); }
    .front-section, .chapter, .appendix-intro, .rubric { width: 130mm; padding: 0 13mm 0 16mm; break-before: column; }
    .cover { min-height: 190mm; transform: translateY(-14mm); break-after: column; }
    .part-opening { min-height: 190mm; margin: 0; transform: translateY(-14mm); break-before: column; break-after: column; }
    .chapter { break-before: column; }
    .appendix-intro, .rubric { break-before: column; }
    .toc-screen-note { display: block; }
    .toc a::after { content: attr(data-page); min-width: 5mm; margin-left: .25em; text-align: right; font: 700 7pt var(--display-font); color: var(--avid-red); }
    .reader-page-number { position: absolute; z-index: 5; bottom: 6.2mm; display: block; min-width: 8mm; padding-top: 1.2mm; border-top: .7mm solid var(--avid-yellow); font: 700 7pt/1 var(--display-font); color: var(--avid-red); text-align: center; pointer-events: none; }
    .reader-page-number.is-left { left: 10mm; }
    .reader-page-number.is-right { right: 10mm; }
    .reader-page-number[hidden] { display: none; }
    .reader-loading { position: absolute; z-index: 8; inset: 0; display: grid; place-items: center; background: white; color: var(--avid-navy); font-size: 8pt; letter-spacing: .08em; }
    .reader-ready .reader-loading { display: none; }
    .reader-turn { width: 42px; height: 72px; display: grid; place-items: center; border: 1px solid var(--avid-light-blue); border-radius: 21px; background: white; color: var(--avid-navy); font-size: 22px; cursor: pointer; }
    .reader-turn:hover:not(:disabled), .reader-turn:focus-visible { border-color: var(--avid-red); color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 2px; }
    .reader-turn:disabled { opacity: .28; cursor: default; }
    .reader-toolbar { width: min(100%, 960px); position: relative; display: block; margin-top: 10px; padding: 8px; border: 1px solid var(--avid-light-blue); border-radius: 14px; background: white; }
    .reader-toolbar-controls { display: grid; grid-template-columns: minmax(160px, 1fr) auto auto auto auto; align-items: center; gap: 8px; }
    .reader-mobile-toolbar-toggle { display: none; }
    .reader-toolbar button { min-height: 34px; border: 0; border-radius: 8px; padding: 7px 11px; background: var(--tint); color: var(--avid-navy); font-size: 8pt; font-weight: 700; cursor: pointer; }
    .reader-toolbar button:hover:not(:disabled), .reader-toolbar button:focus-visible { background: var(--avid-light-blue); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-toolbar button:disabled { opacity: .4; cursor: default; }
    .reader-toolbar .reader-primary { background: var(--avid-navy); color: white; }
    .reader-toolbar .reader-print { background: var(--avid-yellow); color: var(--avid-navy); }
    .reader-progress-wrap { min-width: 120px; }
    .reader-status { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 5px; font-size: 7pt; color: var(--muted); }
    .reader-status strong { color: var(--avid-navy); }
    .reader-progress { height: 4px; overflow: hidden; border-radius: 99px; background: var(--avid-light-blue); }
    .reader-progress i { display: block; width: 0; height: 100%; background: var(--avid-red); transition: width 180ms ease; }
    .reader-page-jump { display: flex; align-items: center; gap: 5px; }
    .reader-page-jump label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .reader-page-jump input { width: 48px; min-height: 32px; box-sizing: border-box; border: 1px solid var(--avid-light-blue); border-radius: 7px; padding: 5px; color: var(--avid-navy); font: 700 8pt var(--display-font); text-align: center; }
    .reader-page-jump input:focus { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-page-jump button { min-height: 32px; padding-inline: 9px; background: var(--avid-red); color: white; }
    .reader-shortcuts { margin-top: 7px; font-size: 6.8pt; color: var(--muted); text-align: center; }
    .reader-dialog { width: min(92vw, 680px); max-height: min(82vh, 760px); padding: 0; border: 0; border-radius: 20px; background: white; color: #1C2340; box-shadow: 0 24px 80px rgba(6, 19, 101, .28); }
    .reader-dialog.reader-leaderboard-dialog { width: min(94vw, 960px); }
    .reader-dialog.reader-diamond-dialog { width: min(94vw, 860px); }
    .reader-dialog::backdrop { background: rgba(6, 19, 101, .48); backdrop-filter: blur(3px); }
    .reader-dialog-card { display: flex; max-height: min(82vh, 760px); flex-direction: column; }
    .reader-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 16px; border-bottom: 1px solid var(--avid-light-blue); }
    .reader-dialog-kicker { margin: 0 0 4px; font: 700 7pt/1.2 var(--display-font); letter-spacing: .16em; color: var(--avid-red); text-transform: uppercase; }
    .reader-dialog h2 { margin: 0; font: 800 18pt/1.15 var(--display-font); color: var(--avid-navy); }

    @media (prefers-reduced-motion: reduce) {
      .reader-splash { transition-duration: 1ms; }
      .book, .reader-progress i, .reader-toolbar, .reader-mobile-toolbar-toggle::after { transition: none !important; }
    }
    .reader-dialog-close { width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid var(--avid-light-blue); border-radius: 50%; background: white; color: var(--avid-navy); font-size: 22px; cursor: pointer; }
    .reader-dialog-body { overflow: auto; padding: 18px 24px 24px; }
    .reader-dialog-copy { margin: 0 0 16px; color: var(--muted); font-size: 9pt; text-align: left; }
    .reader-font-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
    .reader-font-option { min-height: 78px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--avid-light-blue); border-radius: 12px; padding: 10px 6px; background: #FAFBFE; color: var(--avid-navy); cursor: pointer; }
    .reader-font-option strong { font-family: var(--display-font); color: var(--avid-red); line-height: 1; }
    .reader-font-option:nth-child(1) strong { font-size: 13pt; }
    .reader-font-option:nth-child(2) strong { font-size: 16pt; }
    .reader-font-option:nth-child(3) strong { font-size: 19pt; }
    .reader-font-option:nth-child(4) strong { font-size: 22pt; }
    .reader-font-option span { font: 700 7.5pt/1.25 var(--display-font); }
    .reader-font-option:hover, .reader-font-option:focus-visible, .reader-font-option.is-active { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; background: #FFF9E7; }
    .reader-font-summary { margin: 16px 0 0; border-left: 5px solid var(--avid-yellow); padding: 10px 12px; background: var(--tint); color: var(--muted); font-size: 8.5pt; text-align: left; }
    .reader-directory-list, .reader-bookmark-list, .reader-diamond-list, .reader-leaderboard-list { display: grid; gap: 8px; }
    .reader-directory-item, .reader-bookmark-item { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px; border: 1px solid #E3E8F2; border-radius: 10px; padding: 10px 12px; background: #FAFBFE; color: var(--avid-navy); text-align: left; cursor: pointer; }
    .reader-directory-item:hover, .reader-directory-item:focus-visible, .reader-bookmark-item:hover, .reader-bookmark-item:focus-visible { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-directory-item span:first-child { min-width: 0; line-height: 1.45; overflow-wrap: anywhere; }
    .reader-bookmark-item span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .reader-directory-item strong, .reader-bookmark-item strong { color: var(--avid-red); }
    .reader-directory-item.is-pvmc { border-color: var(--avid-navy); background: var(--avid-navy); color: white; }
    .reader-directory-item.is-pvmc strong { color: var(--avid-yellow); }
    .reader-directory-item.is-current { box-shadow: inset 4px 0 0 var(--avid-yellow); }
    .reader-diamond-item { padding: 13px; border: 1px solid #E3E8F2; border-top: 4px solid var(--avid-yellow); border-radius: 12px; background: #FFFDF5; }
    .reader-diamond-item-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .reader-diamond-page, .reader-diamond-delete { border: 0; border-radius: 8px; padding: 7px 9px; font: 700 8pt/1 var(--display-font); cursor: pointer; }
    .reader-diamond-page { background: var(--avid-yellow); color: var(--avid-navy); }
    .reader-diamond-delete { background: #F8EAEA; color: var(--avid-red); }
    .reader-diamond-page:hover, .reader-diamond-page:focus-visible, .reader-diamond-delete:hover, .reader-diamond-delete:focus-visible { outline: 2px solid var(--avid-red); outline-offset: 1px; }
    .reader-diamond-content { margin: 14px 0 12px; color: #1C2340; font-size: 16px; line-height: 1.8; text-align: left; white-space: pre-wrap; overflow-wrap: anywhere; }
    .reader-diamond-meta { display: block; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
    .reader-load-more { display: block; min-height: 44px; width: 100%; border: 1px solid var(--avid-light-blue); border-radius: 10px; background: var(--tint); color: var(--avid-navy); padding: 12px 16px; font-size: 14px; font-weight: 700; cursor: pointer; }
    .reader-load-more:focus-visible { outline: 3px solid var(--avid-yellow); outline-offset: 2px; }
    .reader-diamond-form { display: grid; gap: 12px; }
    .reader-diamond-page-label { margin: 0; border-left: 5px solid var(--avid-yellow); padding: 10px 12px; background: var(--tint); color: var(--avid-navy); font-size: 8.5pt; font-weight: 700; text-align: left; }
    .reader-diamond-form label { color: var(--avid-navy); font: 700 8pt/1.4 var(--display-font); }
    .reader-diamond-form textarea { width: 100%; min-height: 150px; resize: vertical; box-sizing: border-box; margin-top: 7px; border: 1px solid var(--avid-light-blue); border-radius: 12px; padding: 12px; color: #1C2340; font: 400 16px/1.8 var(--display-font); }
    .reader-diamond-form textarea:focus { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-diamond-form small { color: var(--muted); font-size: 7.5pt; }
    .reader-diamond-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
    .reader-diamond-form-actions button { min-height: 38px; border: 0; border-radius: 9px; padding: 9px 14px; background: white; color: var(--avid-navy); font: 700 8.5pt/1 var(--display-font); cursor: pointer; }
    .reader-diamond-form-actions .reader-diamond-save { background: var(--avid-navy); color: white; }
    .reader-diamond-library { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--avid-light-blue); }
    .reader-diamond-library + .reader-diamond-library { margin-top: 18px; }
    .reader-diamond-library-header { margin-bottom: 10px; text-align: left; }
    .reader-diamond-library-header h3 { margin: 0; font: 800 11pt/1.3 var(--display-font); color: var(--avid-navy); }
    .reader-diamond-community-author { margin: 0; color: var(--avid-navy); font: 800 9pt/1.3 var(--display-font); text-align: left; }
    .reader-diamond-community-author span { margin-left: 6px; border-radius: 999px; padding: 3px 6px; background: var(--avid-yellow); color: var(--avid-navy); font-size: 6.5pt; }
    .reader-account-card { padding: 16px; border: 1px solid var(--avid-light-blue); border-radius: 14px; background: var(--tint); }
    .reader-account-name { margin: 0; font: 800 14pt/1.25 var(--display-font); color: var(--avid-navy); }
    .reader-account-summary { margin: 8px 0 0; color: var(--muted); font-size: 9pt; text-align: left; }
    .reader-account-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
    .reader-action-link, .reader-account-actions button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border: 0; border-radius: 9px; padding: 9px 14px; background: var(--avid-navy); color: white; font: 700 8.5pt/1 var(--display-font); text-decoration: none; cursor: pointer; }
    .reader-account-actions .reader-secondary-link { background: white; color: var(--avid-navy); border: 1px solid var(--avid-light-blue); }
    .reader-section-heading { margin: 22px 0 10px; font: 800 11pt/1.3 var(--display-font); color: var(--avid-navy); text-align: left; }
    .reader-empty-state { padding: 18px; border: 1px dashed var(--avid-light-blue); border-radius: 12px; color: var(--muted); font-size: 8.5pt; text-align: center; }
    .reader-leaderboards-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
    .reader-leaderboard-panel { min-width: 0; overflow: hidden; border: 1px solid #E3E8F2; border-radius: 16px; background: white; }
    .reader-leaderboard-panel-header { min-height: 68px; box-sizing: border-box; padding: 14px 16px 13px; border-top: 5px solid var(--avid-light-blue); border-bottom: 1px solid #E3E8F2; background: var(--tint); text-align: left; }
    .reader-leaderboard-panel.is-diamonds .reader-leaderboard-panel-header { border-top-color: var(--avid-yellow); background: #FFF9E7; }
    .reader-leaderboard-panel-header h3 { margin: 2px 0 3px; font: 800 12pt/1.2 var(--display-font); color: var(--avid-navy); }
    .reader-leaderboard-panel-header p { margin: 0; color: var(--muted); font-size: 7.5pt; line-height: 1.45; }
    .reader-leaderboard-eyebrow { font: 700 6.5pt/1.2 var(--display-font) !important; letter-spacing: .14em; color: var(--avid-red) !important; text-transform: uppercase; }
    .reader-leaderboard-list { gap: 0; }
    .reader-leaderboard-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 52px; box-sizing: border-box; padding: 10px 12px; border-bottom: 1px solid #E3E8F2; }
    .reader-leaderboard-row:last-child { border-bottom: 0; }
    .reader-leaderboard-rank { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #F7E9E9; font: 800 8.5pt/1 var(--display-font); color: var(--avid-red); }
    .reader-leaderboard-row:nth-child(-n + 3) .reader-leaderboard-rank { background: var(--avid-yellow); color: var(--avid-navy); }
    .reader-leaderboard-rank.is-medal { background: transparent; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: 16pt; }
    .reader-leaderboard-name { min-width: 0; display: flex; align-items: center; font-weight: 700; color: var(--avid-navy); white-space: nowrap; }
    .reader-leaderboard-name-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    .reader-leaderboard-name-button { max-width: 100%; appearance: none; border: 0; border-radius: 7px; padding: 5px 4px; background: transparent; font: inherit; text-align: left; cursor: pointer; }
    .reader-leaderboard-name-button .reader-leaderboard-name-text { text-decoration: underline; text-decoration-color: rgba(6, 19, 101, .32); text-decoration-thickness: 1px; text-underline-offset: 3px; }
    .reader-leaderboard-name-button:hover, .reader-leaderboard-name-button:focus-visible { background: #FFF5CF; outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-leaderboard-trophies { flex: 0 0 auto; margin-left: 6px; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: 8.5pt; letter-spacing: -2px; }
    .reader-leaderboard-value { text-align: right; white-space: nowrap; }
    .reader-leaderboard-value strong, .reader-leaderboard-value small { display: block; }
    .reader-leaderboard-value strong { color: var(--avid-red); }
    .reader-leaderboard-panel.is-diamonds .reader-leaderboard-value strong { color: var(--avid-navy); }
    .reader-leaderboard-value small { color: var(--muted); font-size: 7pt; }
    .reader-community-diamond-actions { display: flex; justify-content: flex-start; margin-bottom: 14px; }
    .reader-community-diamond-back { min-height: 38px; border: 1px solid var(--avid-light-blue); border-radius: 9px; padding: 9px 14px; background: white; color: var(--avid-navy); font: 700 8.5pt/1 var(--display-font); cursor: pointer; }
    .reader-community-diamond-back:hover, .reader-community-diamond-back:focus-visible { border-color: var(--avid-red); outline: 2px solid var(--avid-yellow); outline-offset: 1px; }
    .reader-toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; max-width: calc(100vw - 32px); transform: translateX(-50%); border-radius: 999px; padding: 10px 16px; background: var(--avid-navy); color: white; font: 700 8pt/1.3 var(--display-font); box-shadow: 0 8px 30px rgba(6, 19, 101, .25); }
    .reader-toast[hidden] { display: none; }
  }

  @media screen and (max-width: 720px) {
    .reader-app { min-height: 100svh; min-height: 100dvh; padding: 8px 4px 4px; padding: max(8px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left)); }
    .reader-header { grid-template-columns: 1fr; gap: 7px; }
    .reader-header-actions { justify-content: flex-start; overflow-x: auto; padding: 1px 1px 3px; }
    .reader-header-actions button { min-height: 44px; padding-inline: 9px; font-size: 14px; }
    .reader-turn { display: none; }
    .reader-toolbar { --mobile-toolbar-peek: 46px; position: fixed; z-index: 45; right: max(4px, env(safe-area-inset-right)); bottom: 0; left: max(4px, env(safe-area-inset-left)); width: auto; max-height: min(72dvh, 520px); overflow-y: auto; box-sizing: border-box; margin: 0; padding: 50px 10px max(10px, env(safe-area-inset-bottom)); border-radius: 18px 18px 0 0; box-shadow: 0 -12px 34px rgba(6, 19, 101, .18); transform: translateY(calc(100% - var(--mobile-toolbar-peek))); transition: transform 220ms ease; }
    .reader-app.mobile-toolbar-open .reader-toolbar { transform: translateY(0); }
    .reader-toolbar-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .reader-mobile-toolbar-toggle { position: absolute; top: 6px; left: 50%; min-width: 138px; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; padding: 7px 16px; background: var(--avid-navy); color: white; font: 700 8pt/1 var(--display-font); transform: translateX(-50%); cursor: pointer; }
    .reader-mobile-toolbar-toggle::after { content: "⌃"; font-size: 11pt; line-height: .8; transition: transform 180ms ease; }
    .reader-app.mobile-toolbar-open .reader-mobile-toolbar-toggle::after { transform: rotate(180deg); }
    .reader-progress-wrap { grid-column: 1 / -1; grid-row: 1; }
    .reader-page-jump { grid-column: span 2; }
    .reader-print { display: none; }
    .reader-location { display: none; }
    .reader-shortcuts { display: none; }
    .reader-dialog-header, .reader-dialog-body { padding-inline: 16px; }
    .reader-font-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .reader-leaderboards-grid { grid-template-columns: 1fr; }
    .reader-stage { width: 100%; }
    .reader-viewport { touch-action: pan-y; }
  }

  @media screen {
    html.content-editor-document, html.content-editor-document body { min-width: 0; background: #E6EAF1; overflow: auto; }
    html.content-editor-document .reader-app { min-height: 0; display: block; padding: 0; }
    html.content-editor-document .reader-header,
    html.content-editor-document .reader-toolbar,
    html.content-editor-document .reader-turn,
    html.content-editor-document .reader-page-number,
    html.content-editor-document .reader-loading,
    html.content-editor-document .reader-shortcuts,
    html.content-editor-document .reader-dialog,
    html.content-editor-document .reader-toast { display: none !important; }
    html.content-editor-document .reader-stage,
    html.content-editor-document .reader-scale-box,
    html.content-editor-document .reader-viewport { position: static; width: auto !important; height: auto !important; display: block; margin: 0; overflow: visible; outline: 0; box-shadow: none; transform: none !important; }
    html.content-editor-document .book { position: static; top: auto; width: min(174mm, calc(100vw - 34px)); height: auto; min-height: 250mm; margin: 22px auto 60px; padding: 18mm 20mm 24mm; columns: auto; overflow: visible; background: white; font-size: 9.7pt; transform: none !important; transition: none; box-shadow: 0 16px 48px rgba(6, 19, 101, .16); }
    html.content-editor-document .book > section { width: auto; min-height: 0; margin: 0; padding: 0; break-before: auto; break-after: auto; page: auto; background: transparent; color: var(--ink); }
    html.content-editor-document .book > section:not(.chapter):not(.part-opening) { display: none; }
    html.content-editor-document .book > .cover,
    html.content-editor-document .book > .appendix-opening { display: none; }
    html.content-editor-document .part-opening { margin: 12mm 0 9mm; padding: 9mm 8mm !important; border-left: 2.2mm solid var(--avid-yellow); background: var(--avid-navy) !important; color: white; }
    html.content-editor-document .part-opening .part-title,
    html.content-editor-document .part-opening .part-subtitle { color: white; }
    html.content-editor-document .chapter { margin: 0 0 15mm; }
    html.content-editor-document .chapter > p:has(> .manuscript-content-block[data-content-kind="paragraph"]) { display: inline; margin: 0; text-align: left; }
    html.content-editor-document .chapter > p:has(> .manuscript-content-block[data-content-kind="paragraph"])::after { content: " "; }
    html.content-editor-document .manuscript-content-block { cursor: text; white-space: pre-wrap; }
    html.content-editor-document .manuscript-content-block[contenteditable="true"]:hover { background: rgba(199, 234, 251, .28); }
    html.content-editor-document .manuscript-content-block[contenteditable="true"]:focus { border-radius: 1mm; outline: .7mm solid var(--avid-yellow); outline-offset: .45mm; background: rgba(255, 206, 49, .12); }
    html.content-editor-document .manuscript-content-block.content-editor-selected { border-radius: 1mm; outline: .7mm solid var(--avid-yellow); outline-offset: .45mm; background: rgba(255, 206, 49, .12); }
    html.content-editor-document .manuscript-content-block.content-page-break-before { display: block; margin-top: 18mm; padding-top: 5mm; border-top: .7mm dashed var(--avid-red); break-before: auto; page-break-before: auto; }
    html.content-editor-document .manuscript-content-block.content-page-break-before::before { content: "PAGE BREAK"; display: block; margin: -8.5mm 0 4mm; padding: 1mm 2mm; background: white; color: var(--avid-red); font: 700 7pt/1 var(--display-font); letter-spacing: .12em; text-align: center; }
    .editor-spread-status { display: none; }
    html.content-editor-spread, html.content-editor-spread body { min-width: 0; min-height: 100%; overflow: hidden; background: #DDE2EA; }
    html.content-editor-spread .reader-app { width: 100%; height: 100vh; min-height: 0; padding: 14px 18px; overflow: hidden; }
    html.content-editor-spread .reader-header,
    html.content-editor-spread .reader-toolbar,
    html.content-editor-spread .reader-page-number,
    html.content-editor-spread .reader-shortcuts,
    html.content-editor-spread .reader-dialog,
    html.content-editor-spread .reader-toast { display: none !important; }
    html.content-editor-spread .reader-stage { width: 100%; min-height: 0; flex: 1; align-items: center; }
    html.content-editor-spread .reader-scale-box { flex: 0 0 auto; }
    html.content-editor-spread .reader-viewport { width: 260mm; outline: .3mm solid #C7CDD8; box-shadow: 0 18px 58px rgba(6, 19, 101, .23); }
    html.content-editor-spread .book { font-size: 9.7pt; }
    html.content-editor-spread .reader-viewport::after { content: ""; position: absolute; z-index: 6; left: 50%; top: 0; bottom: 0; width: 3mm; transform: translateX(-50%); background: #DDE2EA; box-shadow: -1.3mm 0 2.4mm rgba(6,19,101,.13), 1.3mm 0 2.4mm rgba(6,19,101,.13); pointer-events: none; }
    html.content-editor-spread .manuscript-content-block { cursor: text; }
    html.content-editor-spread .manuscript-content-block[contenteditable="true"]:hover { background-color: rgba(199, 234, 251, .3); }
    html.content-editor-spread .manuscript-content-block[contenteditable="true"]:focus,
    html.content-editor-spread .manuscript-content-block.content-editor-selected { border-radius: 1mm; outline: .7mm solid var(--avid-yellow); outline-offset: .45mm; background-color: rgba(255, 206, 49, .14); }
    html.content-editor-spread .editor-spread-status { position: fixed; z-index: 12; left: 50%; bottom: 7px; display: block; transform: translateX(-50%); border: 1px solid rgba(6,19,101,.16); border-radius: 999px; padding: 6px 12px; background: rgba(255,255,255,.94); color: var(--avid-navy); font: 700 8pt/1 var(--display-font); box-shadow: 0 4px 14px rgba(6,19,101,.14); }
  }

  @media print {
    html, body { background: white; }
    .reader-app, .reader-stage, .reader-scale-box, .reader-viewport { display: block; width: auto !important; height: auto !important; min-height: 0; margin: 0; padding: 0; overflow: visible; transform: none !important; }
    .book { width: auto; height: auto; margin: 0; overflow: visible; columns: auto; background: white; transform: none !important; }
    .reader-header, .reader-toolbar, .reader-turn, .reader-page-number, .reader-loading, .reader-shortcuts, .reader-dialog, .reader-toast { display: none !important; }
    .front-section, .chapter, .appendix-intro, .rubric { padding: 0; }
    a { color: inherit; }
    .toc a::after { content: target-counter(attr(href), page); min-width: 5mm; text-align: right; font: 700 7pt "Open Sans Avid", sans-serif; color: #961818; }
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  }
