dsh-cuigengji-plugin 0.4.2 → 0.4.4
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.
- package/LICENSE +21 -21
- package/README.md +1 -1
- package/cordis.patch.yml +3 -3
- package/docs/CHANGELOG.md +15 -0
- package/docs/agent-installation.md +19 -12
- package/docs/architecture.md +74 -74
- package/docs/desktop-migration-20260930.md +26 -26
- package/docs/development.md +7 -3
- package/docs/getting-started.md +17 -7
- package/docs/layout-progress.md +31 -31
- package/docs/market-listing.md +5 -3
- package/docs/npm-publishing.md +35 -11
- package/docs/package-name-migration.md +3 -3
- package/docs/planning-board.md +44 -44
- package/docs/presets.md +24 -24
- package/docs/release-process.md +45 -10
- package/docs/tavern-compatibility-audit-20261001.md +109 -109
- package/docs/test-report.md +139 -129
- package/docs/upgrade.md +3 -1
- package/docs/usage-review.md +13 -13
- package/lib/client.js +19 -14
- package/package.json +19 -14
- package/skills/cuigengji-maintenance/SKILL.md +2 -2
- package/src/adapters/dsh/prompt.js +36 -36
- package/src/adapters/dsh/rpc.js +96 -96
- package/src/adapters/dsh/skills.js +17 -17
- package/src/adapters/mcp/actions.js +6 -6
- package/src/adapters/mcp/client.js +172 -172
- package/src/adapters/mcp/server.js +40 -40
- package/src/application/bindings/session.js +72 -72
- package/src/application/queries/context.js +15 -15
- package/src/application/store.js +412 -412
- package/src/client/features/chapters/clipboard.ts +27 -27
- package/src/client/features/chapters/history.ts +11 -11
- package/src/client/features/chapters/index.jsx +118 -118
- package/src/client/features/chapters/sync.ts +155 -155
- package/src/client/features/chapters/useChapterSync.ts +39 -39
- package/src/client/features/context/index.jsx +22 -22
- package/src/client/features/memory/index.jsx +73 -73
- package/src/client/features/planning/Decorations.tsx +1 -1
- package/src/client/features/planning/Pages.tsx +11 -11
- package/src/client/features/planning/data.js +16 -16
- package/src/client/index.tsx +130 -130
- package/src/client/launcher.tsx +78 -78
- package/src/client/shared/creation.tsx +34 -34
- package/src/client/shared/detail-page.tsx +61 -61
- package/src/client/shared/drafts.js +17 -17
- package/src/client/shared/evidence.jsx +11 -11
- package/src/client/shared/groups.tsx +34 -34
- package/src/client/shared/preferences.tsx +104 -104
- package/src/client/shared/select-style.ts +25 -25
- package/src/client/shared/state.js +95 -95
- package/src/client/shared/ui.jsx +19 -19
- package/src/client/shared/workspace.tsx +11 -11
- package/src/client/style.ts +274 -274
- package/src/client/visual.ts +190 -190
- package/src/contracts/actions.js +19 -19
- package/src/contracts/planning.ts +52 -52
- package/src/domain/manuscript.ts +4 -4
- package/src/domain/planning/index.ts +113 -113
- package/src/domain/planning/model.ts +59 -59
- package/src/domain/preset/index.js +89 -89
- package/src/index.js +91 -91
- package/src/infrastructure/migrations/legacy.js +96 -96
- package/src/infrastructure/migrations/tavern.js +78 -78
- package/src/infrastructure/persistence/atomic-store.ts +80 -80
- package/src/infrastructure/persistence/project-layout.ts +1 -1
package/src/client/style.ts
CHANGED
|
@@ -1,276 +1,276 @@
|
|
|
1
|
-
import {visualStyles} from './visual.ts';
|
|
2
|
-
import {selectStyles} from './shared/select-style.ts';
|
|
1
|
+
import {visualStyles} from './visual.ts';
|
|
2
|
+
import {selectStyles} from './shared/select-style.ts';
|
|
3
3
|
import {graphStyles} from './shared/graph-style.ts';
|
|
4
4
|
import {managementStyles} from './shared/management-style.ts';
|
|
5
|
-
import {transferStyles} from './features/transfer/style.ts';
|
|
6
|
-
import {welcomeStyles} from './features/welcome/style.ts';
|
|
7
|
-
import {batchStyles} from './shared/batch-style.ts';
|
|
8
|
-
import {navigationStyles} from './shared/navigation-style.ts';
|
|
9
|
-
export const styles = `
|
|
10
|
-
.cuigengji { color:var(--dsw-alias-label-primary,#252936); font-family:var(--dsw-font-family,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif); font-size:13px; padding:14px; height:100%; overflow:auto; box-sizing:border-box; }
|
|
11
|
-
.cuigengji * { box-sizing:border-box; }
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
.cuigengji p { line-height:1.7; }
|
|
15
|
-
.cuigengji button,.cuigengji input,.cuigengji select,.cuigengji textarea { font:inherit; color:inherit; border:1px solid var(--dsw-alias-border-l1,#dde0e6); background:var(--dsw-alias-button-floating-fill,transparent); border-radius:8px; padding:7px 11px; }
|
|
16
|
-
|
|
17
|
-
.cuigengji button:disabled { opacity:.5; cursor:default; }
|
|
18
|
-
.cuigengji button:focus-visible,.cuigengji input:focus-visible,.cuigengji textarea:focus-visible,.cuigengji select:focus-visible { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); outline-offset:2px; }
|
|
19
|
-
.cuigengji [aria-selected=true],.cuigengji .selected { border-color:var(--dsw-alias-state-business-primary,#4d6bfe); background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 10%,transparent); }
|
|
20
|
-
.cuigengji label { display:grid; gap:5px; margin:10px 0; }
|
|
21
|
-
.cuigengji textarea { width:100%; min-height:130px; resize:vertical; line-height:1.85; }
|
|
22
|
-
.cuigengji .prose { min-height:360px; }
|
|
23
|
-
.cuigengji .row { display:flex; gap:7px; align-items:center; flex-wrap:wrap; margin:8px 0; }
|
|
24
|
-
.cuigengji .row>* { min-width:0; }
|
|
25
|
-
|
|
26
|
-
.cuigengji .muted { opacity:.7; font-size:12px; }
|
|
27
|
-
|
|
28
|
-
.cuigengji .notice.error { border-left-color:#c64e42; }
|
|
29
|
-
.cuigengji .list { display:grid; gap:0; }
|
|
30
|
-
|
|
31
|
-
.cuigengji .split { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; }
|
|
32
|
-
.cuigengji pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.75; max-height:420px; overflow:auto; border:1px solid var(--dsw-alias-border-l1,#8886); padding:10px; }
|
|
33
|
-
.cuigengji svg { width:100%; max-height:300px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:5px; }
|
|
34
|
-
.cuigengji svg text { fill:currentColor; font-size:11px; }
|
|
35
|
-
.cuigengji svg line { stroke:var(--dsw-alias-border-l1,#999); stroke-width:2; }
|
|
36
|
-
.cuigengji svg circle { fill:var(--dsw-alias-button-floating-fill,#777); stroke:var(--dsw-alias-state-business-primary,#4d6bfe); stroke-width:2; }
|
|
37
|
-
.cuigengji svg g { cursor:pointer; }
|
|
38
|
-
.cuigengji summary { cursor:pointer; padding:8px 0; }
|
|
39
|
-
.cuigengji .grow { flex:1; }
|
|
40
|
-
.cuigengji .editor-fields { border:0; padding:0; margin:0; min-width:0; }
|
|
41
|
-
.cuigengji-dialog::backdrop { background:#0008; }
|
|
42
|
-
.cuigengji.cuigengji-dialog { margin:auto; height:fit-content; max-height:90vh; width:min(420px,calc(100% - 36px)); padding:16px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:8px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 12px 40px #0005; }
|
|
43
|
-
.cuigengji-dialog p { margin:0 0 12px; white-space:pre-wrap; }
|
|
44
|
-
.cuigengji-dialog input { width:100%; }
|
|
45
|
-
|
|
46
|
-
/* Workbench layout follows the panel width, including DSH full-screen mode. */
|
|
47
|
-
.cuigengji:not(dialog) { container-type:inline-size; display:flex; flex-direction:column; padding:0; font-size:14px; min-height:0; height:100%; overflow:hidden; background:var(--dsw-alias-bg-base,#fff); }
|
|
48
|
-
.cuigengji .workbench-header { flex:none; padding:8px 16px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
49
|
-
.cuigengji .eyebrow { font-size:12px; color:var(--dsw-alias-label-secondary,#737780); letter-spacing:.04em; }
|
|
50
|
-
.cuigengji .identity { padding-bottom:4px; }
|
|
51
|
-
.cuigengji .compact { margin:4px 0; }
|
|
52
|
-
.cuigengji .book-picker { font-size:16px; font-weight:600; border:0; padding-left:0; background:transparent; width:1px; }
|
|
53
|
-
.cuigengji nav { display:flex; gap:4px; flex-wrap:nowrap; margin:0; padding:0; border:0; }
|
|
54
|
-
.cuigengji nav button { flex:1; border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 6px; background:transparent; color:var(--dsw-alias-label-secondary,#737780); }
|
|
55
|
-
.cuigengji nav button.selected { border-bottom-color:var(--dsw-alias-state-business-primary,#4d6bfe); color:var(--dsw-alias-state-business-primary,#4d6bfe); }
|
|
56
|
-
.cuigengji h2 { font-size:18px; margin:8px 0 12px; line-height:1.4; overflow-wrap:anywhere; }
|
|
57
|
-
.cuigengji h3 { font-size:16px; margin:16px 0 8px; }
|
|
58
|
-
.cuigengji button { cursor:pointer; min-height:36px; }
|
|
59
|
-
.cuigengji .primary { background:var(--dsw-alias-state-business-primary,#4d6bfe); border-color:transparent; color:var(--dsw-alias-label-on-color,#fff); font-weight:600; }
|
|
60
|
-
.cuigengji .danger,.cuigengji .error-text { color:var(--dsw-alias-state-error-primary,#bf443a); }
|
|
61
|
-
.cuigengji .workbench-body { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
|
|
62
|
-
.cuigengji .page { padding:20px 16px; overflow:auto; flex:1; min-height:0; }
|
|
63
|
-
.cuigengji .empty { padding:24px 16px; color:var(--dsw-alias-label-secondary,#737780); line-height:1.8; }
|
|
64
|
-
.cuigengji .menu { position:relative; }
|
|
65
|
-
.cuigengji .menu>summary { cursor:pointer; list-style:none; padding:8px; min-height:36px; font-size:13px; border-radius:6px; }
|
|
66
|
-
.cuigengji .menu[open]>summary { background:var(--dsw-alias-bg-layer-1,#f1f2f5); }
|
|
67
|
-
.cuigengji .menu-panel { position:absolute; right:0; top:100%; z-index:20; width:180px; padding:8px; border:1px solid var(--dsw-alias-border-l1,#ddd); border-radius:8px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 8px 24px #0002; max-height:65vh; overflow:auto; }
|
|
68
|
-
.cuigengji .menu-panel button { display:block; width:100%; text-align:left; margin:2px 0; }
|
|
69
|
-
.cuigengji .settings-panel { width:min(300px,76vw); }
|
|
70
|
-
.cuigengji .chapter-workspace { flex:1; display:flex; min-width:0; min-height:0; overflow:hidden; }
|
|
71
|
-
.cuigengji .chapter-directory { position:relative; width:100%; min-height:0; padding:16px; overflow:auto; overscroll-behavior:none; background:color-mix(in srgb,var(--dsw-alias-label-primary,#252936) 2%,var(--dsw-alias-bg-base,#fff)); }
|
|
72
|
-
.cuigengji .chapter-directory h2 { font-size:16px; }
|
|
73
|
-
.cuigengji .search { width:100%; }
|
|
74
|
-
.cuigengji .directory-options { margin:8px 0; font-size:12px; color:var(--dsw-alias-label-secondary,#737780); }
|
|
75
|
-
.cuigengji .volume-group { margin-top:16px; }
|
|
76
|
-
.cuigengji .chapter-item { display:flex; align-items:center; gap:12px; width:100%; border:0; margin:4px 0; text-align:left; background:transparent; padding:12px 10px; line-height:1.5; }
|
|
77
|
-
.cuigengji .chapter-item>span { flex:1; overflow-wrap:anywhere; }
|
|
78
|
-
.cuigengji .chapter-item small { color:var(--dsw-alias-label-secondary,#737780); white-space:nowrap; font-size:11px; font-variant-numeric:tabular-nums; }
|
|
79
|
-
.cuigengji .chapter-item.selected { background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 12%,transparent); }
|
|
80
|
-
.cuigengji .chapter-main { flex:1; min-width:0; min-height:0; display:flex; flex-direction:column; }
|
|
81
|
-
.cuigengji .show-editor .chapter-directory,.cuigengji .show-directory .chapter-main { display:none; }
|
|
82
|
-
|
|
83
|
-
.cuigengji .editor-heading { flex:none; padding:12px 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
84
|
-
.cuigengji .editor-heading h2 { margin:2px 0 0; font-size:22px; font-weight:600; letter-spacing:.02em; }
|
|
85
|
-
.cuigengji .editor-scroll { flex:1; min-height:0; overflow:auto; padding:28px 24px; scrollbar-gutter:stable; }
|
|
86
|
-
.cuigengji .segmented { display:flex; border:0; background:color-mix(in srgb,var(--dsw-alias-label-primary,#252936) 5%,var(--dsw-alias-bg-base,#fff)); border-radius:8px; padding:3px; gap:2px; }
|
|
87
|
-
.cuigengji .segmented button { border:0; background:transparent; min-height:30px; padding:4px 10px; }
|
|
88
|
-
.cuigengji .segmented button[aria-pressed=true] { background:var(--dsw-alias-bg-base,#fff); box-shadow:0 1px 3px #0001; font-weight:600; }
|
|
89
|
-
.cuigengji .inline-field { display:flex; align-items:center; gap:6px; margin:0 0 0 auto; font-size:12px; }
|
|
90
|
-
.cuigengji .inline-field select { padding:4px; }
|
|
91
|
-
.cuigengji .binding-line { font-size:12px; color:var(--dsw-alias-label-secondary,#737780); margin-top:8px; }
|
|
92
|
-
.cuigengji .binding-line button { min-height:28px; padding:3px 6px; font-size:12px; }
|
|
93
|
-
.cuigengji .manuscript { display:block; max-width:36em; width:100%; margin:0 auto; line-height:2; white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; }
|
|
94
|
-
.cuigengji textarea.manuscript { min-height:55vh; resize:vertical; padding:16px; font-size:16px; border-color:transparent; background:transparent; }
|
|
95
|
-
|
|
96
|
-
.cuigengji article.manuscript { padding:16px 16px 32px; min-height:180px; }
|
|
97
|
-
.cuigengji .reading-text { max-width:720px; margin:auto; font-size:16px; line-height:1.85; overflow-wrap:anywhere; }
|
|
98
|
-
.cuigengji .reading-text p { white-space:pre-wrap; }
|
|
99
|
-
.cuigengji .savebar { flex:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-top:1px solid var(--dsw-alias-border-l1,#8884); background:var(--dsw-alias-bg-base,#fff); }
|
|
100
|
-
.cuigengji .savebar button { white-space:nowrap; }
|
|
101
|
-
.cuigengji .savebar span { font-size:12px; }
|
|
102
|
-
.cuigengji .history { max-width:720px; margin:24px auto 0; border-top:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
103
|
-
.cuigengji .history-item { padding:12px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
104
|
-
|
|
105
|
-
.cuigengji .card { border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; padding:16px 0; margin:0 0 16px; }
|
|
106
|
-
.cuigengji .list button { text-align:left; padding:12px 8px; border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; background:transparent; overflow-wrap:anywhere; }
|
|
107
|
-
.cuigengji .sticky-actions { position:sticky; bottom:-20px; margin:16px -16px 0; z-index:2; }
|
|
108
|
-
.cuigengji .source-row { padding:10px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
109
|
-
.cuigengji input:not([type=checkbox]),.cuigengji select { max-width:100%; }
|
|
110
|
-
.cuigengji .notice { padding:10px; border:1px solid var(--dsw-alias-border-l1,#8886); border-left:3px solid var(--dsw-alias-state-business-primary,#4d6bfe); margin:8px 16px; white-space:pre-wrap; flex:none; }
|
|
111
|
-
.cuigengji .notice button { margin:6px; }
|
|
112
|
-
.cuigengji .page .notice,.cuigengji .editor-scroll .notice { margin:8px 0; }
|
|
113
|
-
@container (min-width:760px) {
|
|
114
|
-
.cuigengji .chapter-directory { display:block!important; width:252px; flex:none; border-right:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
115
|
-
.cuigengji .chapter-main { display:flex!important; }
|
|
116
|
-
.cuigengji .directory-back { display:none; }
|
|
117
|
-
.cuigengji .editor-heading,.cuigengji .savebar { padding-left:24px; padding-right:24px; }
|
|
118
|
-
.cuigengji .page { padding:24px; }
|
|
119
|
-
.cuigengji .sticky-actions {bottom:-24px; margin-left:-24px; margin-right:-24px;}
|
|
120
|
-
}
|
|
121
|
-
@media (pointer:coarse) { .cuigengji button,.cuigengji summary { min-height:44px; } }
|
|
122
|
-
|
|
123
|
-
.cuigengji .module-heading { padding:12px 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8884); flex:none; }
|
|
124
|
-
.cuigengji .planning-workspace { position:relative; flex:1; min-height:0; display:flex; flex-direction:column; }
|
|
125
|
-
.cuigengji .planning-columns { display:flex; flex:1; min-height:0; }
|
|
126
|
-
.cuigengji .planning-overview { flex:1; min-width:0; display:flex; flex-direction:column; }
|
|
127
|
-
.cuigengji .planning-list { overflow:auto; padding:16px; }
|
|
128
|
-
.cuigengji .planning-canvas-scroll { flex:1; min-height:0; overflow:auto; background:radial-gradient(circle,#8884 1px,transparent 1px); background-size:20px 20px; }
|
|
129
|
-
.cuigengji .planning-canvas { position:relative; }
|
|
130
|
-
.cuigengji svg.planning-lines { position:absolute; inset:0; max-height:none; border:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
|
|
131
|
-
.cuigengji .planning-lines path { stroke:var(--dsw-alias-label-secondary,#889); stroke-width:1.5; }
|
|
132
|
-
|
|
133
|
-
.cuigengji .planning-card.selected { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); }
|
|
134
|
-
.cuigengji .planning-card.connect-source { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); box-shadow:0 0 0 4px #4d6bfe33; }
|
|
135
|
-
.cuigengji .planning-lines .edge-hit { stroke:transparent; stroke-width:18; pointer-events:stroke; cursor:pointer; }
|
|
136
|
-
.cuigengji .planning-lines .edge-selected path:not(.edge-hit) { stroke:var(--dsw-focus-ring-color,#4d6bfe); stroke-width:3; }
|
|
137
|
-
.cuigengji .planning-lines .edge-hit:focus { outline:none; stroke:#4d6bfe44; }
|
|
138
|
-
.cuigengji .prose-tools { display:flex; align-items:center; gap:8px; margin:8px 0; flex-wrap:wrap; }
|
|
139
|
-
.cuigengji .planning-title { display:block; font-weight:600; border:0; background:none; text-align:left; width:100%; overflow-wrap:anywhere; }
|
|
140
|
-
.cuigengji .planning-card p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:3px 0; font-size:12px; }
|
|
141
|
-
.cuigengji .group-filter { display:flex; gap:6px; overflow:auto; padding:4px 0; scrollbar-width:thin; }
|
|
142
|
-
.cuigengji .group-filter button { white-space:nowrap; border:1px solid var(--dsw-alias-border-l1,#8884); border-radius:999px; padding:5px 10px; background:transparent; }
|
|
143
|
-
.cuigengji .group-filter button[aria-pressed=true] { background:var(--dsw-alias-bg-layer-1,#eef0f5); border-color:var(--dsw-focus-ring-color,#4d6bfe); font-weight:600; }
|
|
144
|
-
.cuigengji .drag-handle { cursor:grab; touch-action:none; font-size:11px; opacity:.7; }
|
|
145
|
-
.cuigengji .canvas-tools { padding:0 12px; flex:none; }
|
|
146
|
-
.cuigengji .planning-history { position:absolute; inset:0; z-index:30; background:var(--dsw-alias-bg-base,#fff); }
|
|
147
|
-
.cuigengji .preset-layout { display:flex; gap:16px; min-height:0; }
|
|
148
|
-
.cuigengji .preset-list { width:220px; flex:none; }
|
|
149
|
-
.cuigengji .preset-editor { flex:1; min-width:0; }
|
|
150
|
-
.cuigengji .preset-list button { display:block; width:100%; text-align:left; margin-bottom:0; border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; padding:12px 8px; overflow-wrap:anywhere; }
|
|
151
|
-
.cuigengji .source-row button { margin-left:8px; }
|
|
152
|
-
@container(max-width:599px) { .cuigengji .preset-layout {display:block;} .cuigengji .preset-list {width:100%;} .cuigengji .preset-list.is-selected {display:none;} }
|
|
153
|
-
|
|
154
|
-
.cuigengji .planning-directory { display:none; width:160px; flex:none; overflow:auto; padding:12px; border-right:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
155
|
-
.cuigengji .planning-directory button { border:0; text-align:left; background:none; width:100%; overflow-wrap:anywhere; }
|
|
156
|
-
@container(min-width:1000px) { .cuigengji .planning-directory {display:block;} }
|
|
157
|
-
|
|
158
|
-
.cuigengji .memory-layout { display:flex; gap:20px; }
|
|
159
|
-
.cuigengji .memory-overview { flex:1; min-width:0; }
|
|
160
|
-
|
|
161
|
-
.cuigengji .editor-shell { flex:1; min-height:0; display:flex; flex-direction:column; position:relative; }
|
|
162
|
-
.cuigengji .history-panel { position:absolute; inset:0; background:var(--dsw-alias-bg-base,#fff); z-index:10; overflow:auto; padding:16px; }
|
|
163
|
-
|
|
164
|
-
.cuigengji .planning-card .planning-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-height:56px; }
|
|
165
|
-
.cuigengji .planning-card { position:absolute; width:220px; min-height:120px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:10px; padding:10px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 2px 8px #0001; height:145px; }
|
|
166
|
-
|
|
167
|
-
.cuigengji .planning-branch { padding-left:12px; border-left:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
168
|
-
.cuigengji .planning-directory summary { overflow-wrap:anywhere; }
|
|
169
|
-
.cuigengji .planning-directory [aria-current=true] { font-weight:700; background:var(--dsw-alias-bg-layer-1,#eef0f5); }
|
|
170
|
-
.cuigengji .planning-reading pre,.cuigengji .planning-history pre { white-space:pre-wrap; overflow-wrap:anywhere; }
|
|
171
|
-
|
|
172
|
-
.cuigengji .header-row { flex-wrap:nowrap; gap:4px; }
|
|
173
|
-
.cuigengji .header-row .book-picker { min-width:0; text-overflow:ellipsis; }
|
|
174
|
-
.cuigengji .section-fold { padding:12px 0; margin:0 0 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
175
|
-
.cuigengji .section-fold>summary { font-weight:600; }
|
|
176
|
-
.cuigengji .action-list span { display:block; font-size:12px; color:var(--dsw-alias-label-secondary,#737780); margin-top:4px; }
|
|
177
|
-
.cuigengji .volume-toggle { border:0; background:none; text-align:left; padding:6px 0; overflow-wrap:anywhere; }
|
|
178
|
-
.cuigengji .volume-toggle small { font-weight:400; opacity:.7; margin-left:4px; }
|
|
179
|
-
.cuigengji .return-strip { padding:4px 16px; flex:none; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
180
|
-
.cuigengji .return-strip button { border:0; background:none; font-size:12px; }
|
|
181
|
-
.cuigengji input[type=file] { width:100%; min-width:0; }
|
|
182
|
-
.cuigengji .status-badge { display:inline-block; padding:2px 0; border-radius:6px; background:none; font-size:12px; margin-left:6px; color:var(--dsw-alias-label-secondary,#737780); }
|
|
183
|
-
.cuigengji .planning-reading pre { border:0; padding:0; max-height:none; font-size:16px; }
|
|
184
|
-
.cuigengji .planning-list .card { padding:12px 0; }
|
|
185
|
-
.cuigengji .breadcrumbs { font-size:12px; }
|
|
186
|
-
.cuigengji .breadcrumbs button { border:0; background:none; padding:4px; min-height:28px; overflow-wrap:anywhere; }
|
|
187
|
-
.cuigengji .canvas-tools .menu { margin-left:auto; }
|
|
188
|
-
.cuigengji .menu>summary.primary { background:var(--dsw-alias-state-business-primary,#4d6bfe); color:var(--dsw-alias-label-on-color,#fff); padding:8px 12px; }
|
|
189
|
-
@container(max-width:399px){.cuigengji .page,.cuigengji .editor-scroll {padding:16px 12px;}.cuigengji .workbench-header,.cuigengji .module-heading{padding-left:12px;padding-right:12px;}.cuigengji .preset-list{width:100%;}}
|
|
190
|
-
@media(pointer:coarse){.cuigengji button,.cuigengji summary{min-height:44px;}}
|
|
191
|
-
|
|
192
|
-
.cuigengji .list button.selected,.cuigengji .preset-list button.selected {background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 10%,transparent);font-weight:600;}
|
|
193
|
-
.cuigengji .memory-detail .section-fold,.cuigengji .memory-detail .card {margin-top:12px;}
|
|
194
|
-
.cuigengji .icon-button { border:0; background:transparent; min-width:32px; padding:4px 8px; font-size:18px; }
|
|
195
|
-
.cuigengji .directory-heading { flex-wrap:nowrap; }
|
|
196
|
-
.cuigengji .directory-collapsed .chapter-directory { width:48px; padding-left:6px; padding-right:6px; }
|
|
197
|
-
.cuigengji .directory-collapsed .chapter-directory > :not(.directory-heading) { display:none; }
|
|
198
|
-
.cuigengji .directory-collapsed .directory-heading h2 { display:none; }
|
|
199
|
-
.cuigengji .directory-collapsed .directory-heading { display:flex; flex-direction:column; gap:4px; }
|
|
200
|
-
.cuigengji .directory-collapsed .directory-heading .grow { display:none; }
|
|
201
|
-
@container(max-width:759px) {
|
|
202
|
-
.cuigengji .directory-collapsed .chapter-directory { display:none; }
|
|
203
|
-
.cuigengji .directory-collapsed.show-directory .chapter-directory { display:block; width:100%; }
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
.cuigengji .group-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;}
|
|
207
|
-
.cuigengji .group-description {flex-basis:100%;margin:0;}
|
|
208
|
-
.cuigengji .group-toolbar label {max-width:240px;margin:0;}
|
|
209
|
-
.cuigengji .selectable-entry {display:flex;align-items:center;gap:8px;}
|
|
210
|
-
.cuigengji .selectable-entry > button {flex:1;min-width:0;text-align:left;}
|
|
211
|
-
.cuigengji .planning-group-frame {position:absolute;border:1px solid color-mix(in srgb,#4d6bfe 28%,transparent);border-radius:12px;background:color-mix(in srgb,#4d6bfe 3%,transparent);pointer-events:none;}
|
|
212
|
-
.cuigengji .planning-group-frame > button {pointer-events:auto;position:relative;z-index:1;margin:2px 6px;padding:4px 8px;background:transparent;border:0;font-weight:600;}
|
|
213
|
-
.cuigengji .planning-lines {pointer-events:none;}
|
|
214
|
-
.cuigengji .planning-directory details > button {display:block;width:100%;text-align:left;margin:4px 0;}
|
|
215
|
-
|
|
216
|
-
/* Keep navigation quiet and give the document the largest share of the panel. */
|
|
217
|
-
.cuigengji .workbench-header {padding-top:6px;}
|
|
218
|
-
.cuigengji .page {padding-top:16px;}
|
|
219
|
-
.cuigengji .module-heading {padding-top:8px;padding-bottom:10px;}
|
|
220
|
-
.cuigengji .module-heading > .muted {margin:4px 0 10px;}
|
|
221
|
-
.cuigengji .row > h2 {margin:0;}
|
|
222
|
-
.cuigengji .menu-panel button {border:0;background:transparent;}
|
|
223
|
-
.cuigengji button:not(:disabled):hover,.cuigengji .menu>summary:hover {background:var(--dsw-alias-bg-layer-1,#f0f2f7);}
|
|
224
|
-
.cuigengji button.primary:hover {background:var(--dsw-alias-state-business-primary,#4d6bfe);filter:brightness(.95);}
|
|
225
|
-
.cuigengji .memory-detail article.manuscript {min-height:0;padding-bottom:16px;}
|
|
226
|
-
.cuigengji .memory-overview .segmented {width:fit-content;max-width:100%;}
|
|
227
|
-
.cuigengji .planning-list .card {margin-bottom:0;padding:10px 0;}
|
|
228
|
-
.cuigengji .planning-list .card > p:empty {display:none;}
|
|
229
|
-
.cuigengji .prose-tools {margin:0 0 8px;}
|
|
230
|
-
.cuigengji .prose-tools button {min-height:30px;padding:4px 8px;font-size:12px;}
|
|
231
|
-
.cuigengji .editor-heading {padding-top:16px;padding-bottom:12px;}
|
|
232
|
-
.cuigengji .preset-layout {margin-top:12px;}
|
|
233
|
-
.cuigengji .directory-collapsed .directory-heading > .primary {display:none;}
|
|
234
|
-
|
|
235
|
-
/* One stable toolbar; document actions never float among the paragraphs. */
|
|
236
|
-
.cuigengji nav button.selected {background:transparent;font-weight:600;}
|
|
237
|
-
.cuigengji .chapter-title-row {gap:12px;margin:0 0 16px;flex-wrap:nowrap;}
|
|
238
|
-
.cuigengji .chapter-title {min-width:0;}
|
|
239
|
-
.cuigengji .chapter-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
|
|
240
|
-
.cuigengji .chapter-toolbar .prose-tools {margin:0;gap:4px;}
|
|
241
|
-
.cuigengji .chapter-toolbar .prose-tools button {min-height:36px;font-size:13px;padding:7px 10px;}
|
|
242
|
-
.cuigengji .quiet-button,.cuigengji .directory-back {border-color:transparent;background:transparent;}
|
|
243
|
-
.cuigengji .chapter-main .editor-scroll.is-editing {display:block;}
|
|
244
|
-
.cuigengji .chapter-main textarea.manuscript {display:block;min-height:240px;resize:none;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;}
|
|
245
|
-
.cuigengji .chapter-main textarea.manuscript:focus-visible {outline:none;box-shadow:none;}
|
|
246
|
-
.cuigengji .chapter-main .savebar {flex-wrap:nowrap;gap:8px;}
|
|
247
|
-
.cuigengji .chapter-main .savebar > div {flex:1;min-width:0;font-size:12px;line-height:1.6;}
|
|
248
|
-
.cuigengji .chapter-main .savebar > div > span {display:block;}
|
|
249
|
-
.cuigengji .auto-savebar {padding-top:8px;padding-bottom:8px;}
|
|
250
|
-
.cuigengji .auto-savebar > div {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
|
|
251
|
-
.cuigengji .history-session {border-bottom:1px solid var(--dsw-alias-border-l1,#dde0e6);}
|
|
252
|
-
.cuigengji .flow-context {display:flex;align-items:flex-start;gap:8px;margin:16px 0 24px;padding:12px;background:var(--dsw-alias-bg-layer-1,#f6f7fa);border-radius:8px;}
|
|
253
|
-
.cuigengji .flow-context > div {flex:1;min-width:0;}
|
|
254
|
-
.cuigengji .flow-context small {display:block;color:var(--dsw-alias-label-secondary,#737780);margin-bottom:6px;}
|
|
255
|
-
.cuigengji .flow-context strong {display:block;overflow-wrap:anywhere;}
|
|
256
|
-
.cuigengji .flow-context button {display:block;width:100%;text-align:left;border:0;background:transparent;font-size:12px;padding:4px;overflow-wrap:anywhere;}
|
|
257
|
-
.cuigengji .flow-context p {font-size:12px;color:var(--dsw-alias-label-secondary,#737780);margin:4px 0;}
|
|
258
|
-
.cuigengji .planning-state {display:block;font-size:11px;color:var(--dsw-alias-label-secondary,#737780);margin:8px 0 0;}
|
|
259
|
-
.cuigengji .planning-state.state-selected {color:var(--dsw-alias-state-business-primary,#4d6bfe);}
|
|
260
|
-
.cuigengji .planning-state.state-dropped {text-decoration:line-through;}
|
|
261
|
-
.cuigengji .chapter-toolbar .inline-field {gap:4px;white-space:nowrap;}
|
|
262
|
-
.cuigengji .chapter-toolbar .inline-field select {border-color:transparent;}
|
|
263
|
-
.cuigengji .chapter-title-row .menu>summary {font-size:20px;line-height:20px;}
|
|
264
|
-
.cuigengji .directory-heading {margin:0 0 16px;gap:4px;}
|
|
265
|
-
.cuigengji .directory-heading h2 {margin:0;}
|
|
266
|
-
@container(max-width:759px) {
|
|
267
|
-
.cuigengji .chapter-directory .directory-heading > .icon-button {display:none;}
|
|
268
|
-
.cuigengji .directory-collapsed.show-directory .chapter-directory {padding:16px;}
|
|
269
|
-
.cuigengji .directory-collapsed.show-directory .chapter-directory > :not(.directory-heading) {display:block;}
|
|
270
|
-
.cuigengji .directory-collapsed.show-directory .directory-heading {flex-direction:row;}
|
|
271
|
-
.cuigengji .directory-collapsed.show-directory .directory-heading h2,.cuigengji .directory-collapsed.show-directory .directory-heading > .primary {display:block;}
|
|
272
|
-
.cuigengji .chapter-main .editor-scroll {padding:20px 12px;}
|
|
273
|
-
.cuigengji .chapter-main .manuscript {padding-left:8px;padding-right:8px;}
|
|
274
|
-
.cuigengji .chapter-toolbar {gap:8px;}
|
|
275
|
-
}
|
|
276
|
-
` + visualStyles + selectStyles + graphStyles + managementStyles + transferStyles + welcomeStyles + batchStyles + navigationStyles;
|
|
5
|
+
import {transferStyles} from './features/transfer/style.ts';
|
|
6
|
+
import {welcomeStyles} from './features/welcome/style.ts';
|
|
7
|
+
import {batchStyles} from './shared/batch-style.ts';
|
|
8
|
+
import {navigationStyles} from './shared/navigation-style.ts';
|
|
9
|
+
export const styles = `
|
|
10
|
+
.cuigengji { color:var(--dsw-alias-label-primary,#252936); font-family:var(--dsw-font-family,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif); font-size:13px; padding:14px; height:100%; overflow:auto; box-sizing:border-box; }
|
|
11
|
+
.cuigengji * { box-sizing:border-box; }
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
.cuigengji p { line-height:1.7; }
|
|
15
|
+
.cuigengji button,.cuigengji input,.cuigengji select,.cuigengji textarea { font:inherit; color:inherit; border:1px solid var(--dsw-alias-border-l1,#dde0e6); background:var(--dsw-alias-button-floating-fill,transparent); border-radius:8px; padding:7px 11px; }
|
|
16
|
+
|
|
17
|
+
.cuigengji button:disabled { opacity:.5; cursor:default; }
|
|
18
|
+
.cuigengji button:focus-visible,.cuigengji input:focus-visible,.cuigengji textarea:focus-visible,.cuigengji select:focus-visible { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); outline-offset:2px; }
|
|
19
|
+
.cuigengji [aria-selected=true],.cuigengji .selected { border-color:var(--dsw-alias-state-business-primary,#4d6bfe); background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 10%,transparent); }
|
|
20
|
+
.cuigengji label { display:grid; gap:5px; margin:10px 0; }
|
|
21
|
+
.cuigengji textarea { width:100%; min-height:130px; resize:vertical; line-height:1.85; }
|
|
22
|
+
.cuigengji .prose { min-height:360px; }
|
|
23
|
+
.cuigengji .row { display:flex; gap:7px; align-items:center; flex-wrap:wrap; margin:8px 0; }
|
|
24
|
+
.cuigengji .row>* { min-width:0; }
|
|
25
|
+
|
|
26
|
+
.cuigengji .muted { opacity:.7; font-size:12px; }
|
|
27
|
+
|
|
28
|
+
.cuigengji .notice.error { border-left-color:#c64e42; }
|
|
29
|
+
.cuigengji .list { display:grid; gap:0; }
|
|
30
|
+
|
|
31
|
+
.cuigengji .split { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; }
|
|
32
|
+
.cuigengji pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.75; max-height:420px; overflow:auto; border:1px solid var(--dsw-alias-border-l1,#8886); padding:10px; }
|
|
33
|
+
.cuigengji svg { width:100%; max-height:300px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:5px; }
|
|
34
|
+
.cuigengji svg text { fill:currentColor; font-size:11px; }
|
|
35
|
+
.cuigengji svg line { stroke:var(--dsw-alias-border-l1,#999); stroke-width:2; }
|
|
36
|
+
.cuigengji svg circle { fill:var(--dsw-alias-button-floating-fill,#777); stroke:var(--dsw-alias-state-business-primary,#4d6bfe); stroke-width:2; }
|
|
37
|
+
.cuigengji svg g { cursor:pointer; }
|
|
38
|
+
.cuigengji summary { cursor:pointer; padding:8px 0; }
|
|
39
|
+
.cuigengji .grow { flex:1; }
|
|
40
|
+
.cuigengji .editor-fields { border:0; padding:0; margin:0; min-width:0; }
|
|
41
|
+
.cuigengji-dialog::backdrop { background:#0008; }
|
|
42
|
+
.cuigengji.cuigengji-dialog { margin:auto; height:fit-content; max-height:90vh; width:min(420px,calc(100% - 36px)); padding:16px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:8px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 12px 40px #0005; }
|
|
43
|
+
.cuigengji-dialog p { margin:0 0 12px; white-space:pre-wrap; }
|
|
44
|
+
.cuigengji-dialog input { width:100%; }
|
|
45
|
+
|
|
46
|
+
/* Workbench layout follows the panel width, including DSH full-screen mode. */
|
|
47
|
+
.cuigengji:not(dialog) { container-type:inline-size; display:flex; flex-direction:column; padding:0; font-size:14px; min-height:0; height:100%; overflow:hidden; background:var(--dsw-alias-bg-base,#fff); }
|
|
48
|
+
.cuigengji .workbench-header { flex:none; padding:8px 16px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
49
|
+
.cuigengji .eyebrow { font-size:12px; color:var(--dsw-alias-label-secondary,#737780); letter-spacing:.04em; }
|
|
50
|
+
.cuigengji .identity { padding-bottom:4px; }
|
|
51
|
+
.cuigengji .compact { margin:4px 0; }
|
|
52
|
+
.cuigengji .book-picker { font-size:16px; font-weight:600; border:0; padding-left:0; background:transparent; width:1px; }
|
|
53
|
+
.cuigengji nav { display:flex; gap:4px; flex-wrap:nowrap; margin:0; padding:0; border:0; }
|
|
54
|
+
.cuigengji nav button { flex:1; border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 6px; background:transparent; color:var(--dsw-alias-label-secondary,#737780); }
|
|
55
|
+
.cuigengji nav button.selected { border-bottom-color:var(--dsw-alias-state-business-primary,#4d6bfe); color:var(--dsw-alias-state-business-primary,#4d6bfe); }
|
|
56
|
+
.cuigengji h2 { font-size:18px; margin:8px 0 12px; line-height:1.4; overflow-wrap:anywhere; }
|
|
57
|
+
.cuigengji h3 { font-size:16px; margin:16px 0 8px; }
|
|
58
|
+
.cuigengji button { cursor:pointer; min-height:36px; }
|
|
59
|
+
.cuigengji .primary { background:var(--dsw-alias-state-business-primary,#4d6bfe); border-color:transparent; color:var(--dsw-alias-label-on-color,#fff); font-weight:600; }
|
|
60
|
+
.cuigengji .danger,.cuigengji .error-text { color:var(--dsw-alias-state-error-primary,#bf443a); }
|
|
61
|
+
.cuigengji .workbench-body { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
|
|
62
|
+
.cuigengji .page { padding:20px 16px; overflow:auto; flex:1; min-height:0; }
|
|
63
|
+
.cuigengji .empty { padding:24px 16px; color:var(--dsw-alias-label-secondary,#737780); line-height:1.8; }
|
|
64
|
+
.cuigengji .menu { position:relative; }
|
|
65
|
+
.cuigengji .menu>summary { cursor:pointer; list-style:none; padding:8px; min-height:36px; font-size:13px; border-radius:6px; }
|
|
66
|
+
.cuigengji .menu[open]>summary { background:var(--dsw-alias-bg-layer-1,#f1f2f5); }
|
|
67
|
+
.cuigengji .menu-panel { position:absolute; right:0; top:100%; z-index:20; width:180px; padding:8px; border:1px solid var(--dsw-alias-border-l1,#ddd); border-radius:8px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 8px 24px #0002; max-height:65vh; overflow:auto; }
|
|
68
|
+
.cuigengji .menu-panel button { display:block; width:100%; text-align:left; margin:2px 0; }
|
|
69
|
+
.cuigengji .settings-panel { width:min(300px,76vw); }
|
|
70
|
+
.cuigengji .chapter-workspace { flex:1; display:flex; min-width:0; min-height:0; overflow:hidden; }
|
|
71
|
+
.cuigengji .chapter-directory { position:relative; width:100%; min-height:0; padding:16px; overflow:auto; overscroll-behavior:none; background:color-mix(in srgb,var(--dsw-alias-label-primary,#252936) 2%,var(--dsw-alias-bg-base,#fff)); }
|
|
72
|
+
.cuigengji .chapter-directory h2 { font-size:16px; }
|
|
73
|
+
.cuigengji .search { width:100%; }
|
|
74
|
+
.cuigengji .directory-options { margin:8px 0; font-size:12px; color:var(--dsw-alias-label-secondary,#737780); }
|
|
75
|
+
.cuigengji .volume-group { margin-top:16px; }
|
|
76
|
+
.cuigengji .chapter-item { display:flex; align-items:center; gap:12px; width:100%; border:0; margin:4px 0; text-align:left; background:transparent; padding:12px 10px; line-height:1.5; }
|
|
77
|
+
.cuigengji .chapter-item>span { flex:1; overflow-wrap:anywhere; }
|
|
78
|
+
.cuigengji .chapter-item small { color:var(--dsw-alias-label-secondary,#737780); white-space:nowrap; font-size:11px; font-variant-numeric:tabular-nums; }
|
|
79
|
+
.cuigengji .chapter-item.selected { background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 12%,transparent); }
|
|
80
|
+
.cuigengji .chapter-main { flex:1; min-width:0; min-height:0; display:flex; flex-direction:column; }
|
|
81
|
+
.cuigengji .show-editor .chapter-directory,.cuigengji .show-directory .chapter-main { display:none; }
|
|
82
|
+
|
|
83
|
+
.cuigengji .editor-heading { flex:none; padding:12px 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
84
|
+
.cuigengji .editor-heading h2 { margin:2px 0 0; font-size:22px; font-weight:600; letter-spacing:.02em; }
|
|
85
|
+
.cuigengji .editor-scroll { flex:1; min-height:0; overflow:auto; padding:28px 24px; scrollbar-gutter:stable; }
|
|
86
|
+
.cuigengji .segmented { display:flex; border:0; background:color-mix(in srgb,var(--dsw-alias-label-primary,#252936) 5%,var(--dsw-alias-bg-base,#fff)); border-radius:8px; padding:3px; gap:2px; }
|
|
87
|
+
.cuigengji .segmented button { border:0; background:transparent; min-height:30px; padding:4px 10px; }
|
|
88
|
+
.cuigengji .segmented button[aria-pressed=true] { background:var(--dsw-alias-bg-base,#fff); box-shadow:0 1px 3px #0001; font-weight:600; }
|
|
89
|
+
.cuigengji .inline-field { display:flex; align-items:center; gap:6px; margin:0 0 0 auto; font-size:12px; }
|
|
90
|
+
.cuigengji .inline-field select { padding:4px; }
|
|
91
|
+
.cuigengji .binding-line { font-size:12px; color:var(--dsw-alias-label-secondary,#737780); margin-top:8px; }
|
|
92
|
+
.cuigengji .binding-line button { min-height:28px; padding:3px 6px; font-size:12px; }
|
|
93
|
+
.cuigengji .manuscript { display:block; max-width:36em; width:100%; margin:0 auto; line-height:2; white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; }
|
|
94
|
+
.cuigengji textarea.manuscript { min-height:55vh; resize:vertical; padding:16px; font-size:16px; border-color:transparent; background:transparent; }
|
|
95
|
+
|
|
96
|
+
.cuigengji article.manuscript { padding:16px 16px 32px; min-height:180px; }
|
|
97
|
+
.cuigengji .reading-text { max-width:720px; margin:auto; font-size:16px; line-height:1.85; overflow-wrap:anywhere; }
|
|
98
|
+
.cuigengji .reading-text p { white-space:pre-wrap; }
|
|
99
|
+
.cuigengji .savebar { flex:none; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-top:1px solid var(--dsw-alias-border-l1,#8884); background:var(--dsw-alias-bg-base,#fff); }
|
|
100
|
+
.cuigengji .savebar button { white-space:nowrap; }
|
|
101
|
+
.cuigengji .savebar span { font-size:12px; }
|
|
102
|
+
.cuigengji .history { max-width:720px; margin:24px auto 0; border-top:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
103
|
+
.cuigengji .history-item { padding:12px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
104
|
+
|
|
105
|
+
.cuigengji .card { border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; padding:16px 0; margin:0 0 16px; }
|
|
106
|
+
.cuigengji .list button { text-align:left; padding:12px 8px; border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; background:transparent; overflow-wrap:anywhere; }
|
|
107
|
+
.cuigengji .sticky-actions { position:sticky; bottom:-20px; margin:16px -16px 0; z-index:2; }
|
|
108
|
+
.cuigengji .source-row { padding:10px 0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
109
|
+
.cuigengji input:not([type=checkbox]),.cuigengji select { max-width:100%; }
|
|
110
|
+
.cuigengji .notice { padding:10px; border:1px solid var(--dsw-alias-border-l1,#8886); border-left:3px solid var(--dsw-alias-state-business-primary,#4d6bfe); margin:8px 16px; white-space:pre-wrap; flex:none; }
|
|
111
|
+
.cuigengji .notice button { margin:6px; }
|
|
112
|
+
.cuigengji .page .notice,.cuigengji .editor-scroll .notice { margin:8px 0; }
|
|
113
|
+
@container (min-width:760px) {
|
|
114
|
+
.cuigengji .chapter-directory { display:block!important; width:252px; flex:none; border-right:1px solid var(--dsw-alias-border-l1,#8884); }
|
|
115
|
+
.cuigengji .chapter-main { display:flex!important; }
|
|
116
|
+
.cuigengji .directory-back { display:none; }
|
|
117
|
+
.cuigengji .editor-heading,.cuigengji .savebar { padding-left:24px; padding-right:24px; }
|
|
118
|
+
.cuigengji .page { padding:24px; }
|
|
119
|
+
.cuigengji .sticky-actions {bottom:-24px; margin-left:-24px; margin-right:-24px;}
|
|
120
|
+
}
|
|
121
|
+
@media (pointer:coarse) { .cuigengji button,.cuigengji summary { min-height:44px; } }
|
|
122
|
+
|
|
123
|
+
.cuigengji .module-heading { padding:12px 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8884); flex:none; }
|
|
124
|
+
.cuigengji .planning-workspace { position:relative; flex:1; min-height:0; display:flex; flex-direction:column; }
|
|
125
|
+
.cuigengji .planning-columns { display:flex; flex:1; min-height:0; }
|
|
126
|
+
.cuigengji .planning-overview { flex:1; min-width:0; display:flex; flex-direction:column; }
|
|
127
|
+
.cuigengji .planning-list { overflow:auto; padding:16px; }
|
|
128
|
+
.cuigengji .planning-canvas-scroll { flex:1; min-height:0; overflow:auto; background:radial-gradient(circle,#8884 1px,transparent 1px); background-size:20px 20px; }
|
|
129
|
+
.cuigengji .planning-canvas { position:relative; }
|
|
130
|
+
.cuigengji svg.planning-lines { position:absolute; inset:0; max-height:none; border:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
|
|
131
|
+
.cuigengji .planning-lines path { stroke:var(--dsw-alias-label-secondary,#889); stroke-width:1.5; }
|
|
132
|
+
|
|
133
|
+
.cuigengji .planning-card.selected { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); }
|
|
134
|
+
.cuigengji .planning-card.connect-source { outline:2px solid var(--dsw-focus-ring-color,#4d6bfe); box-shadow:0 0 0 4px #4d6bfe33; }
|
|
135
|
+
.cuigengji .planning-lines .edge-hit { stroke:transparent; stroke-width:18; pointer-events:stroke; cursor:pointer; }
|
|
136
|
+
.cuigengji .planning-lines .edge-selected path:not(.edge-hit) { stroke:var(--dsw-focus-ring-color,#4d6bfe); stroke-width:3; }
|
|
137
|
+
.cuigengji .planning-lines .edge-hit:focus { outline:none; stroke:#4d6bfe44; }
|
|
138
|
+
.cuigengji .prose-tools { display:flex; align-items:center; gap:8px; margin:8px 0; flex-wrap:wrap; }
|
|
139
|
+
.cuigengji .planning-title { display:block; font-weight:600; border:0; background:none; text-align:left; width:100%; overflow-wrap:anywhere; }
|
|
140
|
+
.cuigengji .planning-card p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:3px 0; font-size:12px; }
|
|
141
|
+
.cuigengji .group-filter { display:flex; gap:6px; overflow:auto; padding:4px 0; scrollbar-width:thin; }
|
|
142
|
+
.cuigengji .group-filter button { white-space:nowrap; border:1px solid var(--dsw-alias-border-l1,#8884); border-radius:999px; padding:5px 10px; background:transparent; }
|
|
143
|
+
.cuigengji .group-filter button[aria-pressed=true] { background:var(--dsw-alias-bg-layer-1,#eef0f5); border-color:var(--dsw-focus-ring-color,#4d6bfe); font-weight:600; }
|
|
144
|
+
.cuigengji .drag-handle { cursor:grab; touch-action:none; font-size:11px; opacity:.7; }
|
|
145
|
+
.cuigengji .canvas-tools { padding:0 12px; flex:none; }
|
|
146
|
+
.cuigengji .planning-history { position:absolute; inset:0; z-index:30; background:var(--dsw-alias-bg-base,#fff); }
|
|
147
|
+
.cuigengji .preset-layout { display:flex; gap:16px; min-height:0; }
|
|
148
|
+
.cuigengji .preset-list { width:220px; flex:none; }
|
|
149
|
+
.cuigengji .preset-editor { flex:1; min-width:0; }
|
|
150
|
+
.cuigengji .preset-list button { display:block; width:100%; text-align:left; margin-bottom:0; border:0; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); border-radius:0; padding:12px 8px; overflow-wrap:anywhere; }
|
|
151
|
+
.cuigengji .source-row button { margin-left:8px; }
|
|
152
|
+
@container(max-width:599px) { .cuigengji .preset-layout {display:block;} .cuigengji .preset-list {width:100%;} .cuigengji .preset-list.is-selected {display:none;} }
|
|
153
|
+
|
|
154
|
+
.cuigengji .planning-directory { display:none; width:160px; flex:none; overflow:auto; padding:12px; border-right:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
155
|
+
.cuigengji .planning-directory button { border:0; text-align:left; background:none; width:100%; overflow-wrap:anywhere; }
|
|
156
|
+
@container(min-width:1000px) { .cuigengji .planning-directory {display:block;} }
|
|
157
|
+
|
|
158
|
+
.cuigengji .memory-layout { display:flex; gap:20px; }
|
|
159
|
+
.cuigengji .memory-overview { flex:1; min-width:0; }
|
|
160
|
+
|
|
161
|
+
.cuigengji .editor-shell { flex:1; min-height:0; display:flex; flex-direction:column; position:relative; }
|
|
162
|
+
.cuigengji .history-panel { position:absolute; inset:0; background:var(--dsw-alias-bg-base,#fff); z-index:10; overflow:auto; padding:16px; }
|
|
163
|
+
|
|
164
|
+
.cuigengji .planning-card .planning-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-height:56px; }
|
|
165
|
+
.cuigengji .planning-card { position:absolute; width:220px; min-height:120px; border:1px solid var(--dsw-alias-border-l1,#8886); border-radius:10px; padding:10px; background:var(--dsw-alias-bg-base,#fff); box-shadow:0 2px 8px #0001; height:145px; }
|
|
166
|
+
|
|
167
|
+
.cuigengji .planning-branch { padding-left:12px; border-left:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
168
|
+
.cuigengji .planning-directory summary { overflow-wrap:anywhere; }
|
|
169
|
+
.cuigengji .planning-directory [aria-current=true] { font-weight:700; background:var(--dsw-alias-bg-layer-1,#eef0f5); }
|
|
170
|
+
.cuigengji .planning-reading pre,.cuigengji .planning-history pre { white-space:pre-wrap; overflow-wrap:anywhere; }
|
|
171
|
+
|
|
172
|
+
.cuigengji .header-row { flex-wrap:nowrap; gap:4px; }
|
|
173
|
+
.cuigengji .header-row .book-picker { min-width:0; text-overflow:ellipsis; }
|
|
174
|
+
.cuigengji .section-fold { padding:12px 0; margin:0 0 16px; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
175
|
+
.cuigengji .section-fold>summary { font-weight:600; }
|
|
176
|
+
.cuigengji .action-list span { display:block; font-size:12px; color:var(--dsw-alias-label-secondary,#737780); margin-top:4px; }
|
|
177
|
+
.cuigengji .volume-toggle { border:0; background:none; text-align:left; padding:6px 0; overflow-wrap:anywhere; }
|
|
178
|
+
.cuigengji .volume-toggle small { font-weight:400; opacity:.7; margin-left:4px; }
|
|
179
|
+
.cuigengji .return-strip { padding:4px 16px; flex:none; border-bottom:1px solid var(--dsw-alias-border-l1,#8883); }
|
|
180
|
+
.cuigengji .return-strip button { border:0; background:none; font-size:12px; }
|
|
181
|
+
.cuigengji input[type=file] { width:100%; min-width:0; }
|
|
182
|
+
.cuigengji .status-badge { display:inline-block; padding:2px 0; border-radius:6px; background:none; font-size:12px; margin-left:6px; color:var(--dsw-alias-label-secondary,#737780); }
|
|
183
|
+
.cuigengji .planning-reading pre { border:0; padding:0; max-height:none; font-size:16px; }
|
|
184
|
+
.cuigengji .planning-list .card { padding:12px 0; }
|
|
185
|
+
.cuigengji .breadcrumbs { font-size:12px; }
|
|
186
|
+
.cuigengji .breadcrumbs button { border:0; background:none; padding:4px; min-height:28px; overflow-wrap:anywhere; }
|
|
187
|
+
.cuigengji .canvas-tools .menu { margin-left:auto; }
|
|
188
|
+
.cuigengji .menu>summary.primary { background:var(--dsw-alias-state-business-primary,#4d6bfe); color:var(--dsw-alias-label-on-color,#fff); padding:8px 12px; }
|
|
189
|
+
@container(max-width:399px){.cuigengji .page,.cuigengji .editor-scroll {padding:16px 12px;}.cuigengji .workbench-header,.cuigengji .module-heading{padding-left:12px;padding-right:12px;}.cuigengji .preset-list{width:100%;}}
|
|
190
|
+
@media(pointer:coarse){.cuigengji button,.cuigengji summary{min-height:44px;}}
|
|
191
|
+
|
|
192
|
+
.cuigengji .list button.selected,.cuigengji .preset-list button.selected {background:color-mix(in srgb,var(--dsw-alias-state-business-primary,#4d6bfe) 10%,transparent);font-weight:600;}
|
|
193
|
+
.cuigengji .memory-detail .section-fold,.cuigengji .memory-detail .card {margin-top:12px;}
|
|
194
|
+
.cuigengji .icon-button { border:0; background:transparent; min-width:32px; padding:4px 8px; font-size:18px; }
|
|
195
|
+
.cuigengji .directory-heading { flex-wrap:nowrap; }
|
|
196
|
+
.cuigengji .directory-collapsed .chapter-directory { width:48px; padding-left:6px; padding-right:6px; }
|
|
197
|
+
.cuigengji .directory-collapsed .chapter-directory > :not(.directory-heading) { display:none; }
|
|
198
|
+
.cuigengji .directory-collapsed .directory-heading h2 { display:none; }
|
|
199
|
+
.cuigengji .directory-collapsed .directory-heading { display:flex; flex-direction:column; gap:4px; }
|
|
200
|
+
.cuigengji .directory-collapsed .directory-heading .grow { display:none; }
|
|
201
|
+
@container(max-width:759px) {
|
|
202
|
+
.cuigengji .directory-collapsed .chapter-directory { display:none; }
|
|
203
|
+
.cuigengji .directory-collapsed.show-directory .chapter-directory { display:block; width:100%; }
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.cuigengji .group-toolbar {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;}
|
|
207
|
+
.cuigengji .group-description {flex-basis:100%;margin:0;}
|
|
208
|
+
.cuigengji .group-toolbar label {max-width:240px;margin:0;}
|
|
209
|
+
.cuigengji .selectable-entry {display:flex;align-items:center;gap:8px;}
|
|
210
|
+
.cuigengji .selectable-entry > button {flex:1;min-width:0;text-align:left;}
|
|
211
|
+
.cuigengji .planning-group-frame {position:absolute;border:1px solid color-mix(in srgb,#4d6bfe 28%,transparent);border-radius:12px;background:color-mix(in srgb,#4d6bfe 3%,transparent);pointer-events:none;}
|
|
212
|
+
.cuigengji .planning-group-frame > button {pointer-events:auto;position:relative;z-index:1;margin:2px 6px;padding:4px 8px;background:transparent;border:0;font-weight:600;}
|
|
213
|
+
.cuigengji .planning-lines {pointer-events:none;}
|
|
214
|
+
.cuigengji .planning-directory details > button {display:block;width:100%;text-align:left;margin:4px 0;}
|
|
215
|
+
|
|
216
|
+
/* Keep navigation quiet and give the document the largest share of the panel. */
|
|
217
|
+
.cuigengji .workbench-header {padding-top:6px;}
|
|
218
|
+
.cuigengji .page {padding-top:16px;}
|
|
219
|
+
.cuigengji .module-heading {padding-top:8px;padding-bottom:10px;}
|
|
220
|
+
.cuigengji .module-heading > .muted {margin:4px 0 10px;}
|
|
221
|
+
.cuigengji .row > h2 {margin:0;}
|
|
222
|
+
.cuigengji .menu-panel button {border:0;background:transparent;}
|
|
223
|
+
.cuigengji button:not(:disabled):hover,.cuigengji .menu>summary:hover {background:var(--dsw-alias-bg-layer-1,#f0f2f7);}
|
|
224
|
+
.cuigengji button.primary:hover {background:var(--dsw-alias-state-business-primary,#4d6bfe);filter:brightness(.95);}
|
|
225
|
+
.cuigengji .memory-detail article.manuscript {min-height:0;padding-bottom:16px;}
|
|
226
|
+
.cuigengji .memory-overview .segmented {width:fit-content;max-width:100%;}
|
|
227
|
+
.cuigengji .planning-list .card {margin-bottom:0;padding:10px 0;}
|
|
228
|
+
.cuigengji .planning-list .card > p:empty {display:none;}
|
|
229
|
+
.cuigengji .prose-tools {margin:0 0 8px;}
|
|
230
|
+
.cuigengji .prose-tools button {min-height:30px;padding:4px 8px;font-size:12px;}
|
|
231
|
+
.cuigengji .editor-heading {padding-top:16px;padding-bottom:12px;}
|
|
232
|
+
.cuigengji .preset-layout {margin-top:12px;}
|
|
233
|
+
.cuigengji .directory-collapsed .directory-heading > .primary {display:none;}
|
|
234
|
+
|
|
235
|
+
/* One stable toolbar; document actions never float among the paragraphs. */
|
|
236
|
+
.cuigengji nav button.selected {background:transparent;font-weight:600;}
|
|
237
|
+
.cuigengji .chapter-title-row {gap:12px;margin:0 0 16px;flex-wrap:nowrap;}
|
|
238
|
+
.cuigengji .chapter-title {min-width:0;}
|
|
239
|
+
.cuigengji .chapter-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
|
|
240
|
+
.cuigengji .chapter-toolbar .prose-tools {margin:0;gap:4px;}
|
|
241
|
+
.cuigengji .chapter-toolbar .prose-tools button {min-height:36px;font-size:13px;padding:7px 10px;}
|
|
242
|
+
.cuigengji .quiet-button,.cuigengji .directory-back {border-color:transparent;background:transparent;}
|
|
243
|
+
.cuigengji .chapter-main .editor-scroll.is-editing {display:block;}
|
|
244
|
+
.cuigengji .chapter-main textarea.manuscript {display:block;min-height:240px;resize:none;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;}
|
|
245
|
+
.cuigengji .chapter-main textarea.manuscript:focus-visible {outline:none;box-shadow:none;}
|
|
246
|
+
.cuigengji .chapter-main .savebar {flex-wrap:nowrap;gap:8px;}
|
|
247
|
+
.cuigengji .chapter-main .savebar > div {flex:1;min-width:0;font-size:12px;line-height:1.6;}
|
|
248
|
+
.cuigengji .chapter-main .savebar > div > span {display:block;}
|
|
249
|
+
.cuigengji .auto-savebar {padding-top:8px;padding-bottom:8px;}
|
|
250
|
+
.cuigengji .auto-savebar > div {display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
|
|
251
|
+
.cuigengji .history-session {border-bottom:1px solid var(--dsw-alias-border-l1,#dde0e6);}
|
|
252
|
+
.cuigengji .flow-context {display:flex;align-items:flex-start;gap:8px;margin:16px 0 24px;padding:12px;background:var(--dsw-alias-bg-layer-1,#f6f7fa);border-radius:8px;}
|
|
253
|
+
.cuigengji .flow-context > div {flex:1;min-width:0;}
|
|
254
|
+
.cuigengji .flow-context small {display:block;color:var(--dsw-alias-label-secondary,#737780);margin-bottom:6px;}
|
|
255
|
+
.cuigengji .flow-context strong {display:block;overflow-wrap:anywhere;}
|
|
256
|
+
.cuigengji .flow-context button {display:block;width:100%;text-align:left;border:0;background:transparent;font-size:12px;padding:4px;overflow-wrap:anywhere;}
|
|
257
|
+
.cuigengji .flow-context p {font-size:12px;color:var(--dsw-alias-label-secondary,#737780);margin:4px 0;}
|
|
258
|
+
.cuigengji .planning-state {display:block;font-size:11px;color:var(--dsw-alias-label-secondary,#737780);margin:8px 0 0;}
|
|
259
|
+
.cuigengji .planning-state.state-selected {color:var(--dsw-alias-state-business-primary,#4d6bfe);}
|
|
260
|
+
.cuigengji .planning-state.state-dropped {text-decoration:line-through;}
|
|
261
|
+
.cuigengji .chapter-toolbar .inline-field {gap:4px;white-space:nowrap;}
|
|
262
|
+
.cuigengji .chapter-toolbar .inline-field select {border-color:transparent;}
|
|
263
|
+
.cuigengji .chapter-title-row .menu>summary {font-size:20px;line-height:20px;}
|
|
264
|
+
.cuigengji .directory-heading {margin:0 0 16px;gap:4px;}
|
|
265
|
+
.cuigengji .directory-heading h2 {margin:0;}
|
|
266
|
+
@container(max-width:759px) {
|
|
267
|
+
.cuigengji .chapter-directory .directory-heading > .icon-button {display:none;}
|
|
268
|
+
.cuigengji .directory-collapsed.show-directory .chapter-directory {padding:16px;}
|
|
269
|
+
.cuigengji .directory-collapsed.show-directory .chapter-directory > :not(.directory-heading) {display:block;}
|
|
270
|
+
.cuigengji .directory-collapsed.show-directory .directory-heading {flex-direction:row;}
|
|
271
|
+
.cuigengji .directory-collapsed.show-directory .directory-heading h2,.cuigengji .directory-collapsed.show-directory .directory-heading > .primary {display:block;}
|
|
272
|
+
.cuigengji .chapter-main .editor-scroll {padding:20px 12px;}
|
|
273
|
+
.cuigengji .chapter-main .manuscript {padding-left:8px;padding-right:8px;}
|
|
274
|
+
.cuigengji .chapter-toolbar {gap:8px;}
|
|
275
|
+
}
|
|
276
|
+
` + visualStyles + selectStyles + graphStyles + managementStyles + transferStyles + welcomeStyles + batchStyles + navigationStyles;
|