@open-press/cli 0.8.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +33 -23
  2. package/dist/cli.js +320 -252
  3. package/package.json +9 -8
  4. package/template/core/AGENTS.md +0 -126
  5. package/template/core/CHANGELOG.md +0 -215
  6. package/template/core/README.md +0 -40
  7. package/template/core/engine/cli.mjs +0 -96
  8. package/template/core/engine/commands/_shared.mjs +0 -177
  9. package/template/core/engine/commands/deploy.mjs +0 -31
  10. package/template/core/engine/commands/dev.mjs +0 -49
  11. package/template/core/engine/commands/doctor.mjs +0 -229
  12. package/template/core/engine/commands/export.mjs +0 -8
  13. package/template/core/engine/commands/init.mjs +0 -24
  14. package/template/core/engine/commands/inspect.mjs +0 -35
  15. package/template/core/engine/commands/pdf.mjs +0 -26
  16. package/template/core/engine/commands/preview.mjs +0 -26
  17. package/template/core/engine/commands/render.mjs +0 -17
  18. package/template/core/engine/commands/replace.mjs +0 -41
  19. package/template/core/engine/commands/search.mjs +0 -33
  20. package/template/core/engine/commands/typecheck.mjs +0 -5
  21. package/template/core/engine/commands/upgrade.mjs +0 -159
  22. package/template/core/engine/commands/validate.mjs +0 -17
  23. package/template/core/engine/document-export.mjs +0 -15
  24. package/template/core/engine/init.mjs +0 -90
  25. package/template/core/engine/output/chrome-pdf.d.mts +0 -34
  26. package/template/core/engine/output/chrome-pdf.mjs +0 -358
  27. package/template/core/engine/output/deploy-sync.mjs +0 -15
  28. package/template/core/engine/output/fonts.mjs +0 -62
  29. package/template/core/engine/output/katex-assets.mjs +0 -45
  30. package/template/core/engine/output/page-block.mjs +0 -30
  31. package/template/core/engine/output/pdf-media.mjs +0 -45
  32. package/template/core/engine/output/public-assets.mjs +0 -19
  33. package/template/core/engine/output/static-server.mjs +0 -532
  34. package/template/core/engine/react/caption-numbering.mjs +0 -73
  35. package/template/core/engine/react/comment-endpoint.d.mts +0 -11
  36. package/template/core/engine/react/comment-endpoint.mjs +0 -102
  37. package/template/core/engine/react/comment-marker.mjs +0 -374
  38. package/template/core/engine/react/document-entry.mjs +0 -324
  39. package/template/core/engine/react/document-export.mjs +0 -373
  40. package/template/core/engine/react/http-json.mjs +0 -24
  41. package/template/core/engine/react/mdx-compile.mjs +0 -599
  42. package/template/core/engine/react/measurement-css.mjs +0 -136
  43. package/template/core/engine/react/object-entities.mjs +0 -119
  44. package/template/core/engine/react/pagination/allocator.mjs +0 -122
  45. package/template/core/engine/react/pagination/regions.mjs +0 -81
  46. package/template/core/engine/react/pagination-constants.mjs +0 -3
  47. package/template/core/engine/react/pagination.mjs +0 -9
  48. package/template/core/engine/react/pipeline/allocate.mjs +0 -251
  49. package/template/core/engine/react/pipeline/final-render.mjs +0 -94
  50. package/template/core/engine/react/pipeline/frame-measurement.mjs +0 -302
  51. package/template/core/engine/react/pipeline/press-tree.mjs +0 -135
  52. package/template/core/engine/react/project-asset-endpoint.d.mts +0 -10
  53. package/template/core/engine/react/project-asset-endpoint.mjs +0 -361
  54. package/template/core/engine/react/section-css.mjs +0 -56
  55. package/template/core/engine/react/source-edit-endpoint.d.mts +0 -10
  56. package/template/core/engine/react/source-edit-endpoint.mjs +0 -75
  57. package/template/core/engine/react/sources/heading-numbering.mjs +0 -132
  58. package/template/core/engine/react/sources/mdx-resolver.mjs +0 -439
  59. package/template/core/engine/react/style-discovery.mjs +0 -142
  60. package/template/core/engine/runtime/config.d.mts +0 -40
  61. package/template/core/engine/runtime/config.mjs +0 -175
  62. package/template/core/engine/runtime/file-utils.mjs +0 -106
  63. package/template/core/engine/runtime/file-walk.mjs +0 -22
  64. package/template/core/engine/runtime/inspection.mjs +0 -328
  65. package/template/core/engine/runtime/issue-report.mjs +0 -44
  66. package/template/core/engine/runtime/path-utils.mjs +0 -20
  67. package/template/core/engine/runtime/source-text-tools.d.mts +0 -102
  68. package/template/core/engine/runtime/source-text-tools.mjs +0 -832
  69. package/template/core/engine/runtime/source-workspace.mjs +0 -159
  70. package/template/core/engine/runtime/validation.mjs +0 -174
  71. package/template/core/index.html +0 -13
  72. package/template/core/openpress.config.mjs +0 -12
  73. package/template/core/package.json +0 -91
  74. package/template/core/src/main.tsx +0 -16
  75. package/template/core/src/openpress/app/OpenPressApp.tsx +0 -140
  76. package/template/core/src/openpress/app/OpenPressRuntime.tsx +0 -94
  77. package/template/core/src/openpress/app/index.ts +0 -2
  78. package/template/core/src/openpress/core/Frame.tsx +0 -78
  79. package/template/core/src/openpress/core/FrameContext.tsx +0 -24
  80. package/template/core/src/openpress/core/MdxArea.tsx +0 -34
  81. package/template/core/src/openpress/core/Press.tsx +0 -34
  82. package/template/core/src/openpress/core/cn.ts +0 -4
  83. package/template/core/src/openpress/core/index.tsx +0 -40
  84. package/template/core/src/openpress/core/primitives.tsx +0 -44
  85. package/template/core/src/openpress/core/types.ts +0 -191
  86. package/template/core/src/openpress/core/useSource.ts +0 -28
  87. package/template/core/src/openpress/document-model/anchorMapModel.ts +0 -27
  88. package/template/core/src/openpress/document-model/documentIndexes.ts +0 -329
  89. package/template/core/src/openpress/document-model/documentTypes.ts +0 -138
  90. package/template/core/src/openpress/document-model/index.ts +0 -6
  91. package/template/core/src/openpress/document-model/objectEntityModel.ts +0 -51
  92. package/template/core/src/openpress/document-model/projectIdentityModel.ts +0 -15
  93. package/template/core/src/openpress/document-model/reactDocumentMetadataModel.ts +0 -27
  94. package/template/core/src/openpress/manuscript/index.tsx +0 -238
  95. package/template/core/src/openpress/mdx/index.ts +0 -88
  96. package/template/core/src/openpress/numbering/index.ts +0 -294
  97. package/template/core/src/openpress/reader/PublicReaderPage.tsx +0 -267
  98. package/template/core/src/openpress/reader/ReaderNavigationPanel.tsx +0 -123
  99. package/template/core/src/openpress/reader/index.ts +0 -10
  100. package/template/core/src/openpress/reader/pageViewportScaleModel.ts +0 -73
  101. package/template/core/src/openpress/reader/readerPageRegistry.ts +0 -41
  102. package/template/core/src/openpress/reader/readerPageRoute.ts +0 -21
  103. package/template/core/src/openpress/reader/readerScroll.ts +0 -92
  104. package/template/core/src/openpress/reader/readerStateModel.ts +0 -15
  105. package/template/core/src/openpress/reader/readerTypes.ts +0 -4
  106. package/template/core/src/openpress/reader/usePageViewportScale.ts +0 -119
  107. package/template/core/src/openpress/reader/usePanelState.ts +0 -56
  108. package/template/core/src/openpress/reader/useReaderHashSync.ts +0 -61
  109. package/template/core/src/openpress/reader/useReaderKeyboardNav.ts +0 -48
  110. package/template/core/src/openpress/reader/useReaderRuntime.ts +0 -146
  111. package/template/core/src/openpress/reader/useReaderScrollAnchor.ts +0 -64
  112. package/template/core/src/openpress/shared/Panel.tsx +0 -77
  113. package/template/core/src/openpress/shared/frameScheduler.ts +0 -32
  114. package/template/core/src/openpress/shared/index.ts +0 -4
  115. package/template/core/src/openpress/shared/numberUtils.ts +0 -3
  116. package/template/core/src/openpress/shared/runtimeMode.ts +0 -11
  117. package/template/core/src/openpress/workbench/Workbench.tsx +0 -407
  118. package/template/core/src/openpress/workbench/actions/DeploymentControl.tsx +0 -157
  119. package/template/core/src/openpress/workbench/actions/PageZoomControl.tsx +0 -182
  120. package/template/core/src/openpress/workbench/actions/SearchControl.tsx +0 -345
  121. package/template/core/src/openpress/workbench/actions/deploymentStatusModel.ts +0 -112
  122. package/template/core/src/openpress/workbench/actions/index.ts +0 -5
  123. package/template/core/src/openpress/workbench/actions/useDeploymentWorkbench.ts +0 -136
  124. package/template/core/src/openpress/workbench/dialog/WorkbenchDialog.tsx +0 -72
  125. package/template/core/src/openpress/workbench/dialog/index.ts +0 -1
  126. package/template/core/src/openpress/workbench/document/components/DocumentPanel.tsx +0 -127
  127. package/template/core/src/openpress/workbench/document/components/InlineSourceEditorLayer.tsx +0 -207
  128. package/template/core/src/openpress/workbench/document/components/ReaderStage.tsx +0 -9
  129. package/template/core/src/openpress/workbench/document/hooks/useDocumentWorkbenchModel.ts +0 -34
  130. package/template/core/src/openpress/workbench/document/hooks/useInlineDocumentEditor.ts +0 -525
  131. package/template/core/src/openpress/workbench/document/index.ts +0 -10
  132. package/template/core/src/openpress/workbench/index.ts +0 -2
  133. package/template/core/src/openpress/workbench/inspector/InlineInspectorLayer.tsx +0 -459
  134. package/template/core/src/openpress/workbench/inspector/index.ts +0 -5
  135. package/template/core/src/openpress/workbench/inspector/inlineCommentModel.ts +0 -125
  136. package/template/core/src/openpress/workbench/inspector/inspectorGeometryModel.ts +0 -160
  137. package/template/core/src/openpress/workbench/inspector/inspectorModel.ts +0 -408
  138. package/template/core/src/openpress/workbench/inspector/useInspectorComments.ts +0 -248
  139. package/template/core/src/openpress/workbench/mentions/MentionSuggestionList.tsx +0 -41
  140. package/template/core/src/openpress/workbench/mentions/index.ts +0 -2
  141. package/template/core/src/openpress/workbench/mentions/useComposerMentions.ts +0 -185
  142. package/template/core/src/openpress/workbench/panels/Panel.tsx +0 -1
  143. package/template/core/src/openpress/workbench/panels/PendingCommentsPanel.tsx +0 -76
  144. package/template/core/src/openpress/workbench/panels/WorkbenchControlPanel.tsx +0 -29
  145. package/template/core/src/openpress/workbench/panels/index.ts +0 -3
  146. package/template/core/src/openpress/workbench/project/ProjectEntryPanel.tsx +0 -523
  147. package/template/core/src/openpress/workbench/project/ProjectPreviewDialog.tsx +0 -35
  148. package/template/core/src/openpress/workbench/project/index.ts +0 -2
  149. package/template/core/src/openpress/workbench/project/projectPreviewTypes.ts +0 -11
  150. package/template/core/src/openpress/workbench/project/projectSourceModel.ts +0 -24
  151. package/template/core/src/openpress/workbench/shell/WorkbenchShell.tsx +0 -167
  152. package/template/core/src/openpress/workbench/shell/index.ts +0 -1
  153. package/template/core/src/openpress/workbench/workbenchFormatters.ts +0 -120
  154. package/template/core/src/openpress/workbench/workbenchTypes.ts +0 -35
  155. package/template/core/src/styles/openpress/app-shell.css +0 -251
  156. package/template/core/src/styles/openpress/media-workspace.css +0 -230
  157. package/template/core/src/styles/openpress/print-route.css +0 -184
  158. package/template/core/src/styles/openpress/project-preview-panel.css +0 -924
  159. package/template/core/src/styles/openpress/public-viewer.css +0 -688
  160. package/template/core/src/styles/openpress/reader-runtime.css +0 -980
  161. package/template/core/src/styles/openpress/responsive.css +0 -245
  162. package/template/core/src/styles/openpress/workbench-panels.css +0 -594
  163. package/template/core/src/styles/openpress/workbench.css +0 -1255
  164. package/template/core/src/styles/openpress.css +0 -14
  165. package/template/core/src/vite-env.d.ts +0 -9
  166. package/template/core/tsconfig.json +0 -40
  167. package/template/core/vite.config.ts +0 -584
  168. package/template/packs/academic-paper/document/chapters/01-introduction/content/01-introduction.mdx +0 -35
  169. package/template/packs/academic-paper/document/chapters/02-methods/content/01-methods.mdx +0 -50
  170. package/template/packs/academic-paper/document/chapters/03-results-and-discussion/content/01-results.mdx +0 -47
  171. package/template/packs/academic-paper/document/chapters/04-acknowledgment/content/01-acknowledgment.mdx +0 -26
  172. package/template/packs/academic-paper/document/chapters/05-references/content/01-references.mdx +0 -32
  173. package/template/packs/academic-paper/document/components/ChapterOpenerVisual/index.tsx +0 -76
  174. package/template/packs/academic-paper/document/components/Page.tsx +0 -60
  175. package/template/packs/academic-paper/document/components/TokenSwatchGrid/index.tsx +0 -46
  176. package/template/packs/academic-paper/document/components/TokenSwatchGrid/style.css +0 -63
  177. package/template/packs/academic-paper/document/components/TypeSpecimen/index.tsx +0 -38
  178. package/template/packs/academic-paper/document/components/TypeSpecimen/style.css +0 -111
  179. package/template/packs/academic-paper/document/design.md +0 -279
  180. package/template/packs/academic-paper/document/index.tsx +0 -123
  181. package/template/packs/academic-paper/document/media/README.md +0 -13
  182. package/template/packs/academic-paper/document/media/figure-placeholder.svg +0 -9
  183. package/template/packs/academic-paper/document/openpress.config.mjs +0 -26
  184. package/template/packs/academic-paper/document/theme/README.md +0 -11
  185. package/template/packs/academic-paper/document/theme/base/page-contract.css +0 -522
  186. package/template/packs/academic-paper/document/theme/base/print.css +0 -93
  187. package/template/packs/academic-paper/document/theme/base/typography.css +0 -333
  188. package/template/packs/academic-paper/document/theme/fonts.css +0 -3
  189. package/template/packs/academic-paper/document/theme/page-surfaces/back-cover.css +0 -43
  190. package/template/packs/academic-paper/document/theme/page-surfaces/chapter-opener.css +0 -205
  191. package/template/packs/academic-paper/document/theme/page-surfaces/cover.css +0 -294
  192. package/template/packs/academic-paper/document/theme/page-surfaces/toc.css +0 -149
  193. package/template/packs/academic-paper/document/theme/patterns/_chart-frame.css +0 -49
  194. package/template/packs/academic-paper/document/theme/patterns/figure-grid.css +0 -68
  195. package/template/packs/academic-paper/document/theme/patterns/table-utilities.css +0 -66
  196. package/template/packs/academic-paper/document/theme/shell/reader-controls.css +0 -761
  197. package/template/packs/academic-paper/document/theme/tokens.css +0 -80
  198. package/template/packs/academic-paper/openpress.config.mjs +0 -5
  199. package/template/packs/claude-document/document/chapters/01-document-shape/content/01-document-shape.mdx +0 -51
  200. package/template/packs/claude-document/document/chapters/02-review-loop/content/01-review-loop.mdx +0 -31
  201. package/template/packs/claude-document/document/components/ChapterOpenerVisual.tsx +0 -96
  202. package/template/packs/claude-document/document/components/Page.tsx +0 -37
  203. package/template/packs/claude-document/document/design.md +0 -142
  204. package/template/packs/claude-document/document/index.tsx +0 -94
  205. package/template/packs/claude-document/document/media/README.md +0 -13
  206. package/template/packs/claude-document/document/openpress.config.mjs +0 -26
  207. package/template/packs/claude-document/document/theme/README.md +0 -15
  208. package/template/packs/claude-document/document/theme/base/page-contract.css +0 -525
  209. package/template/packs/claude-document/document/theme/base/print.css +0 -93
  210. package/template/packs/claude-document/document/theme/base/typography.css +0 -612
  211. package/template/packs/claude-document/document/theme/fonts.css +0 -4
  212. package/template/packs/claude-document/document/theme/page-surfaces/back-cover.css +0 -72
  213. package/template/packs/claude-document/document/theme/page-surfaces/chapter-opener.css +0 -236
  214. package/template/packs/claude-document/document/theme/page-surfaces/cover.css +0 -309
  215. package/template/packs/claude-document/document/theme/page-surfaces/toc.css +0 -225
  216. package/template/packs/claude-document/document/theme/patterns/_chart-frame.css +0 -53
  217. package/template/packs/claude-document/document/theme/patterns/figure-grid.css +0 -68
  218. package/template/packs/claude-document/document/theme/patterns/table-utilities.css +0 -66
  219. package/template/packs/claude-document/document/theme/shell/reader-controls.css +0 -789
  220. package/template/packs/claude-document/document/theme/tokens.css +0 -89
  221. package/template/packs/claude-document/openpress.config.mjs +0 -5
  222. package/template/packs/editorial-monograph/document/chapters/01-product-and-use-cases/content/01-product-and-use-cases.mdx +0 -31
  223. package/template/packs/editorial-monograph/document/chapters/02-workflow/content/01-workflow.mdx +0 -89
  224. package/template/packs/editorial-monograph/document/chapters/03-agent-skills-contributors/content/01-agent-skills-contributors.mdx +0 -51
  225. package/template/packs/editorial-monograph/document/chapters/04-validation-deploy/content/01-validation-deploy.mdx +0 -39
  226. package/template/packs/editorial-monograph/document/components/ChapterOpenerVisual/index.tsx +0 -76
  227. package/template/packs/editorial-monograph/document/components/Page.tsx +0 -37
  228. package/template/packs/editorial-monograph/document/components/TokenSwatchGrid/index.tsx +0 -46
  229. package/template/packs/editorial-monograph/document/components/TokenSwatchGrid/style.css +0 -63
  230. package/template/packs/editorial-monograph/document/components/TypeSpecimen/index.tsx +0 -38
  231. package/template/packs/editorial-monograph/document/components/TypeSpecimen/style.css +0 -111
  232. package/template/packs/editorial-monograph/document/design.md +0 -279
  233. package/template/packs/editorial-monograph/document/index.tsx +0 -97
  234. package/template/packs/editorial-monograph/document/media/README.md +0 -13
  235. package/template/packs/editorial-monograph/document/openpress.config.mjs +0 -26
  236. package/template/packs/editorial-monograph/document/theme/README.md +0 -11
  237. package/template/packs/editorial-monograph/document/theme/base/page-contract.css +0 -505
  238. package/template/packs/editorial-monograph/document/theme/base/print.css +0 -93
  239. package/template/packs/editorial-monograph/document/theme/base/typography.css +0 -336
  240. package/template/packs/editorial-monograph/document/theme/fonts.css +0 -3
  241. package/template/packs/editorial-monograph/document/theme/page-surfaces/back-cover.css +0 -43
  242. package/template/packs/editorial-monograph/document/theme/page-surfaces/chapter-opener.css +0 -205
  243. package/template/packs/editorial-monograph/document/theme/page-surfaces/cover.css +0 -147
  244. package/template/packs/editorial-monograph/document/theme/page-surfaces/toc.css +0 -149
  245. package/template/packs/editorial-monograph/document/theme/patterns/_chart-frame.css +0 -49
  246. package/template/packs/editorial-monograph/document/theme/patterns/figure-grid.css +0 -68
  247. package/template/packs/editorial-monograph/document/theme/patterns/table-utilities.css +0 -66
  248. package/template/packs/editorial-monograph/document/theme/shell/reader-controls.css +0 -761
  249. package/template/packs/editorial-monograph/document/theme/tokens.css +0 -80
  250. package/template/packs/editorial-monograph/openpress.config.mjs +0 -5
@@ -1,236 +0,0 @@
1
- /* page-surfaces / chapter-opener
2
- * H2-only chapter divider for book-like working documents.
3
- */
4
-
5
- .reader-page--chapter-opener {
6
- position: relative;
7
- overflow: hidden;
8
- background-color: var(--openpress-color-document);
9
- background-image:
10
- var(--openpress-paper-texture),
11
- linear-gradient(90deg, rgba(168, 148, 112, 0.07), transparent 44%);
12
- background-size: var(--openpress-paper-texture-size), auto;
13
- background-position: var(--openpress-paper-texture-position), 0 0;
14
- }
15
-
16
- .reader-page--chapter-opener:has(.chapter-opener-illustration) {
17
- --chapter-opener-bg: #6f9f8a;
18
- --chapter-opener-ink: #101211;
19
- --chapter-opener-title: #1f2d3d;
20
- --chapter-opener-paper: var(--openpress-color-paper);
21
- background-color: var(--chapter-opener-bg);
22
- background-image: none;
23
- }
24
-
25
- .reader-page--chapter-opener:has(.chapter-opener-tone--sage) {
26
- --chapter-opener-bg: #6f9f8a;
27
- --chapter-opener-title: #1f2d3d;
28
- --chapter-opener-paper: #fbfaf6;
29
- }
30
-
31
- .reader-page--chapter-opener:has(.chapter-opener-tone--lavender) {
32
- --chapter-opener-bg: #8680bf;
33
- --chapter-opener-title: #101211;
34
- --chapter-opener-paper: #fbfaf6;
35
- }
36
-
37
- .reader-page--chapter-opener:has(.chapter-opener-tone--mint) {
38
- --chapter-opener-bg: #bfd4cd;
39
- --chapter-opener-title: #101211;
40
- --chapter-opener-paper: #fbfaf6;
41
- }
42
-
43
- .reader-page--chapter-opener:has(.chapter-opener-tone--amber) {
44
- --chapter-opener-bg: #d7b56d;
45
- --chapter-opener-title: #101211;
46
- --chapter-opener-paper: #fffaf0;
47
- }
48
-
49
- .reader-page--chapter-opener::before {
50
- content: "";
51
- position: absolute;
52
- inset: 0 auto 0 0;
53
- width: 6mm;
54
- border-right: 1px solid var(--openpress-color-line);
55
- background: rgba(243, 234, 219, 0.52);
56
- }
57
-
58
- .reader-page--chapter-opener:has(.chapter-opener-illustration)::before {
59
- content: none;
60
- }
61
-
62
- .reader-page--chapter-opener .page-frame {
63
- background: transparent;
64
- }
65
-
66
- .reader-page--chapter-opener .page-body {
67
- position: relative;
68
- display: flex;
69
- flex-direction: column;
70
- justify-content: center;
71
- gap: clamp(20px, 3.4cqw, 40px);
72
- width: min(138mm, 84%);
73
- max-width: none;
74
- min-height: 0;
75
- margin-inline: auto;
76
- padding-bottom: 4mm;
77
- z-index: 1;
78
- }
79
-
80
- .reader-page--chapter-opener:has(.chapter-opener-illustration) .page-body {
81
- justify-content: flex-end;
82
- align-items: flex-start;
83
- width: min(168mm, 86%);
84
- padding-bottom: 28mm;
85
- gap: clamp(10px, 1.8cqw, 20px);
86
- z-index: 2;
87
- }
88
-
89
- .reader-page--chapter-opener .page-body::before {
90
- content: none;
91
- }
92
-
93
- .reader-page--chapter-opener:has(.chapter-opener-illustration) .chapter-opener-body {
94
- display: contents;
95
- }
96
-
97
- .chapter-opener-illustration {
98
- position: absolute;
99
- top: 26mm;
100
- right: 18mm;
101
- width: min(98mm, 48%);
102
- margin: 0;
103
- color: var(--chapter-opener-ink, #101211);
104
- z-index: 1;
105
- }
106
-
107
- .chapter-opener-illustration svg {
108
- display: block;
109
- width: 100%;
110
- height: auto;
111
- overflow: visible;
112
- }
113
-
114
- .chapter-opener-illustration__paper {
115
- fill: var(--chapter-opener-paper, var(--openpress-color-paper));
116
- }
117
-
118
- .chapter-opener-illustration__stroke,
119
- .chapter-opener-illustration__arrow,
120
- .chapter-opener-illustration__thin {
121
- fill: none;
122
- stroke: currentColor;
123
- stroke-linecap: round;
124
- stroke-linejoin: round;
125
- }
126
-
127
- .chapter-opener-illustration__stroke,
128
- .chapter-opener-illustration__arrow {
129
- stroke-width: 14;
130
- }
131
-
132
- .chapter-opener-illustration__thin {
133
- stroke-width: 8;
134
- }
135
-
136
- .chapter-opener-illustration__node,
137
- .chapter-opener-illustration__dot {
138
- fill: currentColor;
139
- }
140
-
141
- .chapter-opener-kicker {
142
- display: none;
143
- }
144
-
145
- .reader-page--chapter-opener:has(.chapter-opener-illustration) .chapter-opener-kicker {
146
- display: inline-flex;
147
- align-items: center;
148
- width: fit-content;
149
- min-height: 8mm;
150
- margin: 0 0 clamp(4px, 1cqw, 10px);
151
- padding: 0 7mm;
152
- border: 1px solid currentColor;
153
- border-radius: 999px;
154
- color: var(--chapter-opener-ink, #101211);
155
- font-family: var(--openpress-font-body);
156
- font-size: clamp(
157
- calc(10pt - var(--openpress-type-step-down)),
158
- calc(1.8cqw - var(--openpress-type-step-down)),
159
- calc(14pt - var(--openpress-type-step-down))
160
- );
161
- font-weight: 700;
162
- line-height: 1;
163
- letter-spacing: 0;
164
- }
165
-
166
- .chapter-opener-title {
167
- max-width: 100%;
168
- margin: 0;
169
- color: var(--openpress-color-ink);
170
- font-family: var(--openpress-font-body);
171
- font-size: clamp(
172
- calc(38px - var(--openpress-type-step-down)),
173
- calc(8.7cqw - var(--openpress-type-step-down)),
174
- calc(68px - var(--openpress-type-step-down))
175
- );
176
- font-weight: 300;
177
- line-height: 1;
178
- letter-spacing: 0;
179
- }
180
-
181
- .reader-page--chapter-opener:has(.chapter-opener-illustration) .chapter-opener-title {
182
- max-width: 118mm;
183
- color: var(--chapter-opener-title, var(--openpress-color-ink));
184
- font-family: var(--openpress-font-serif);
185
- font-size: clamp(
186
- calc(52px - var(--openpress-type-step-down)),
187
- calc(12.4cqw - var(--openpress-type-step-down)),
188
- calc(112px - var(--openpress-type-step-down))
189
- );
190
- line-height: 0.92;
191
- letter-spacing: 0;
192
- }
193
-
194
- .chapter-opener-title::before {
195
- content: none;
196
- }
197
-
198
- .chapter-opener-subtitle {
199
- max-width: 112mm;
200
- margin: 0;
201
- color: var(--openpress-color-ink);
202
- font-family: var(--openpress-font-body);
203
- font-size: clamp(
204
- calc(18pt - var(--openpress-type-step-down)),
205
- calc(3.8cqw - var(--openpress-type-step-down)),
206
- calc(28pt - var(--openpress-type-step-down))
207
- );
208
- line-height: 1.32;
209
- font-weight: 400;
210
- letter-spacing: 0;
211
- }
212
-
213
- .reader-page--chapter-opener:has(.chapter-opener-illustration) .chapter-opener-subtitle {
214
- max-width: 100mm;
215
- color: var(--chapter-opener-title, var(--openpress-color-ink));
216
- }
217
-
218
- .chapter-opener-summary {
219
- max-width: 108mm;
220
- margin: 0;
221
- color: var(--openpress-color-body);
222
- font-size: clamp(
223
- calc(9.8pt - var(--openpress-type-step-down)),
224
- calc(1.7cqw - var(--openpress-type-step-down)),
225
- calc(11.2pt - var(--openpress-type-step-down))
226
- );
227
- line-height: 1.7;
228
- }
229
-
230
- .chapter-opener-body > :first-child {
231
- margin-top: 0;
232
- }
233
-
234
- .chapter-opener-body > :last-child {
235
- margin-bottom: 0;
236
- }
@@ -1,309 +0,0 @@
1
- /* page-surfaces / cover
2
- * Cover and back-cover share most of their layout chrome (meta header, byline
3
- * footer, central main column). Shared selectors live here so cover is the
4
- * primary reference; back-cover.css only refines the parts that differ.
5
- */
6
-
7
- .reader-page--cover,
8
- .reader-page--back-cover {
9
- position: relative;
10
- overflow: hidden;
11
- --chapter-opener-bg: #a95f32;
12
- --chapter-opener-ink: #101820;
13
- --chapter-opener-title: #f7f9fb;
14
- --chapter-opener-paper: #f7f9fb;
15
- --cover-muted: rgba(247, 249, 251, 0.68);
16
- --cover-rule: rgba(247, 249, 251, 0.34);
17
- background-color: var(--chapter-opener-bg);
18
- background-image: none;
19
- padding: 22mm 22mm 18mm 27mm;
20
- flex-direction: column;
21
- justify-content: space-between;
22
- gap: 10mm;
23
- }
24
-
25
- .reader-page--cover::before,
26
- .reader-page--back-cover::before {
27
- content: none;
28
- }
29
-
30
- .reader-page--cover::after,
31
- .reader-page--back-cover::after {
32
- content: none;
33
- }
34
-
35
- .reader-app.is-ready .reader-page.reader-page--cover,
36
- .reader-app.is-ready .reader-page.reader-page--back-cover,
37
- .reader-page.reader-page--cover.is-active,
38
- .reader-page.reader-page--back-cover.is-active {
39
- display: flex;
40
- }
41
-
42
- .cover-meta,
43
- .back-cover-meta {
44
- position: absolute;
45
- top: 22mm;
46
- right: 22mm;
47
- z-index: 2;
48
- display: flex;
49
- justify-content: space-between;
50
- align-items: flex-start;
51
- gap: var(--openpress-space-3);
52
- padding-bottom: 0;
53
- border-bottom: 0;
54
- font-family: var(--openpress-font-body);
55
- font-size: clamp(
56
- calc(8pt - var(--openpress-type-step-down)),
57
- calc(1.25cqw - var(--openpress-type-step-down)),
58
- calc(9.5pt - var(--openpress-type-step-down))
59
- );
60
- color: var(--chapter-opener-title);
61
- letter-spacing: 0.08em;
62
- flex-shrink: 0;
63
- }
64
-
65
- .mihua-logo,
66
- .openpress-logo {
67
- display: block;
68
- width: clamp(112px, 18cqw, 154px);
69
- height: auto;
70
- flex-shrink: 0;
71
- object-fit: contain;
72
- }
73
-
74
- .cover-meta-title {
75
- margin-left: auto;
76
- max-width: none;
77
- padding: 0;
78
- border: 0;
79
- background: transparent;
80
- text-align: right;
81
- white-space: nowrap;
82
- }
83
-
84
- .cover-main,
85
- .back-cover-main {
86
- position: absolute;
87
- left: 27mm;
88
- right: 22mm;
89
- bottom: 36mm;
90
- z-index: 2;
91
- display: flex;
92
- flex-direction: column;
93
- flex: none;
94
- min-height: 0;
95
- justify-content: flex-end;
96
- align-items: flex-start;
97
- max-width: 124mm;
98
- padding-bottom: 0;
99
- }
100
-
101
- .cover-title,
102
- .back-cover-title {
103
- margin: 0;
104
- max-width: 118mm;
105
- font-family: var(--openpress-font-serif);
106
- font-size: clamp(
107
- calc(56px - var(--openpress-type-step-down)),
108
- calc(12.2cqw - var(--openpress-type-step-down)),
109
- calc(112px - var(--openpress-type-step-down))
110
- );
111
- font-weight: 700;
112
- line-height: 0.92;
113
- letter-spacing: 0;
114
- color: var(--chapter-opener-title);
115
- }
116
-
117
- .cover-tagline {
118
- margin: 6mm 0 0;
119
- font-family: var(--openpress-font-body);
120
- font-size: clamp(
121
- calc(13pt - var(--openpress-type-step-down)),
122
- calc(2.25cqw - var(--openpress-type-step-down)),
123
- calc(17pt - var(--openpress-type-step-down))
124
- );
125
- font-weight: 400;
126
- letter-spacing: 0;
127
- text-transform: none;
128
- color: var(--chapter-opener-title);
129
- }
130
-
131
- .cover-rule,
132
- .back-cover-rule {
133
- height: 1px;
134
- width: 38mm;
135
- background: var(--openpress-color-line-strong);
136
- margin: 7mm 0 8mm;
137
- }
138
-
139
- .cover-subtitle {
140
- margin: 5mm 0 0;
141
- font-family: var(--openpress-font-body);
142
- font-size: clamp(
143
- calc(10.5pt - var(--openpress-type-step-down)),
144
- calc(1.95cqw - var(--openpress-type-step-down)),
145
- calc(13pt - var(--openpress-type-step-down))
146
- );
147
- font-weight: 400;
148
- letter-spacing: 0;
149
- line-height: 1.6;
150
- color: var(--chapter-opener-title);
151
- max-width: 112mm;
152
- }
153
-
154
- .cover-summary {
155
- margin: var(--openpress-space-2) 0 0;
156
- font-family: var(--openpress-font-body);
157
- font-size: clamp(
158
- calc(9pt - var(--openpress-type-step-down)),
159
- calc(1.65cqw - var(--openpress-type-step-down)),
160
- calc(10.5pt - var(--openpress-type-step-down))
161
- );
162
- line-height: 1.8;
163
- color: var(--openpress-color-body);
164
- max-width: 122mm;
165
- }
166
-
167
- .cover-scope {
168
- display: flex;
169
- flex-wrap: wrap;
170
- gap: 0 4.5mm;
171
- width: 100%;
172
- max-width: 124mm;
173
- margin-top: 8mm;
174
- padding-top: 4mm;
175
- border-top: 1px solid var(--cover-rule);
176
- }
177
-
178
- .cover-scope span {
179
- min-width: 0;
180
- padding: 0;
181
- border-left: 0;
182
- font-family: var(--openpress-font-mono);
183
- font-size: calc(8pt - var(--openpress-type-step-down));
184
- line-height: 1.3;
185
- letter-spacing: 0.05em;
186
- color: var(--chapter-opener-title);
187
- white-space: nowrap;
188
- }
189
-
190
- .cover-scope span + span::before {
191
- content: "/";
192
- margin-right: 4.5mm;
193
- color: rgba(247, 249, 251, 0.36);
194
- }
195
-
196
- .cover-author {
197
- display: inline-grid;
198
- grid-template-columns: auto auto;
199
- column-gap: 4mm;
200
- align-items: baseline;
201
- margin: 8mm 0 0;
202
- padding-top: 4mm;
203
- border-top: 1px solid var(--cover-rule);
204
- color: var(--chapter-opener-title);
205
- font-family: var(--openpress-font-body);
206
- font-size: clamp(
207
- calc(10.8pt - var(--openpress-type-step-down)),
208
- calc(1.78cqw - var(--openpress-type-step-down)),
209
- calc(13pt - var(--openpress-type-step-down))
210
- );
211
- line-height: 1.3;
212
- }
213
-
214
- .cover-author span {
215
- color: var(--cover-muted);
216
- font-family: var(--openpress-font-mono);
217
- font-size: 0.78em;
218
- font-weight: 400;
219
- letter-spacing: 0.12em;
220
- text-transform: uppercase;
221
- }
222
-
223
- .cover-author strong {
224
- color: var(--chapter-opener-title);
225
- font-weight: 500;
226
- letter-spacing: 0.05em;
227
- }
228
-
229
- .reader-page--cover .chapter-opener-illustration,
230
- .reader-page--back-cover .chapter-opener-illustration {
231
- position: absolute;
232
- top: 26mm;
233
- right: 18mm;
234
- width: min(96mm, 46%);
235
- margin: 0;
236
- color: var(--chapter-opener-ink);
237
- filter: none;
238
- z-index: 1;
239
- }
240
-
241
- .cover-visual,
242
- .back-cover-visual {
243
- margin: var(--openpress-space-3) 0 0;
244
- flex-shrink: 0;
245
- }
246
-
247
- .cover-visual img,
248
- .back-cover-visual img {
249
- display: block;
250
- width: 100%;
251
- height: auto;
252
- max-height: 22cqh;
253
- object-fit: cover;
254
- border: 0;
255
- padding: 0;
256
- background: transparent;
257
- }
258
-
259
- .cover-byline,
260
- .back-cover-byline {
261
- position: absolute;
262
- left: 27mm;
263
- right: 22mm;
264
- bottom: 22mm;
265
- z-index: 2;
266
- display: flex;
267
- justify-content: space-between;
268
- align-items: baseline;
269
- padding-top: 0;
270
- border-top: 0;
271
- font-family: var(--openpress-font-body);
272
- font-size: clamp(
273
- calc(8pt - var(--openpress-type-step-down)),
274
- calc(1.25cqw - var(--openpress-type-step-down)),
275
- calc(9.5pt - var(--openpress-type-step-down))
276
- );
277
- color: var(--cover-muted);
278
- letter-spacing: 0.08em;
279
- flex-shrink: 0;
280
- }
281
-
282
- .cover-byline span:first-child,
283
- .back-cover-byline span:first-child {
284
- font-family: var(--openpress-font-body);
285
- font-weight: 400;
286
- letter-spacing: 0;
287
- color: var(--chapter-opener-title);
288
- }
289
-
290
- .lecture-mark {
291
- display: inline-grid;
292
- place-items: center;
293
- width: auto;
294
- min-width: 21mm;
295
- height: 8mm;
296
- margin: 0 0 7mm;
297
- padding: 0 3.5mm;
298
- border: 1px solid currentColor;
299
- background: transparent;
300
- font-family: var(--openpress-font-body);
301
- font-size: clamp(
302
- calc(9pt - var(--openpress-type-step-down)),
303
- calc(1.8cqw - var(--openpress-type-step-down)),
304
- calc(12pt - var(--openpress-type-step-down))
305
- );
306
- font-weight: 700;
307
- letter-spacing: 0;
308
- color: var(--chapter-opener-title);
309
- }