@cyber-dash-tech/revela 0.19.2 → 0.19.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/README.md +14 -14
- package/README.zh-CN.md +14 -14
- package/designs/lucent/DESIGN.md +2 -1
- package/designs/lucent/design.css +16 -6
- package/designs/lucent-dark/DESIGN.md +2 -1
- package/designs/lucent-dark/design.css +27 -12
- package/designs/monet/DESIGN.md +2 -1
- package/designs/monet/design.css +18 -8
- package/designs/starter/DESIGN.md +2 -1
- package/designs/starter/design.css +16 -6
- package/designs/summit/DESIGN.md +2 -1
- package/designs/summit/design.css +18 -8
- package/lib/browser/chrome.ts +92 -8
- package/lib/page-templates/built-in-preview.html +42 -30
- package/lib/page-templates/render.ts +51 -10
- package/lib/page-templates/templates/index.ts +1 -0
- package/lib/page-templates/templates/table.ts +3 -0
- package/lib/page-templates/vocabulary.ts +8 -2
- package/lib/pdf/export.ts +57 -31
- package/package.json +1 -1
- package/plugins/revela/.codex-plugin/plugin.json +1 -1
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
|
|
|
39
39
|
Install Revela through the Codex Git marketplace:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.19.
|
|
42
|
+
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.19.4
|
|
43
43
|
codex plugin add revela@revela
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -121,7 +121,7 @@ Revela includes built-in deck designs. Design previews are generated from the bu
|
|
|
121
121
|
|
|
122
122
|
To switch designs in Codex, ask:
|
|
123
123
|
|
|
124
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
124
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), use summit as the design.
|
|
125
125
|
|
|
126
126
|
In Codex, ask Revela to list or switch designs; the plugin uses the active design when making decks.
|
|
127
127
|
|
|
@@ -129,7 +129,7 @@ In Codex, ask Revela to list or switch designs; the plugin uses the active desig
|
|
|
129
129
|
|
|
130
130
|
Domains add topic-specific communication guidance, such as consulting, product, or investor communication. Use them when you want Revela to adapt deck framing to a specific context.
|
|
131
131
|
|
|
132
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
132
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), list available domains.
|
|
133
133
|
|
|
134
134
|
In Codex, ask Revela to list or switch domains; the active domain guides deck framing during init, research, and planning.
|
|
135
135
|
|
|
@@ -139,35 +139,35 @@ Use these prompts in Codex from the workspace that contains your source material
|
|
|
139
139
|
|
|
140
140
|
1. Choose the narrative domain before authoring so Revela frames the audience, decision, risks, and objections for your context.
|
|
141
141
|
|
|
142
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
142
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), use consulting as the domain.
|
|
143
143
|
|
|
144
144
|
2. Choose the deck design before rendering so generated artifacts use the intended visual language.
|
|
145
145
|
|
|
146
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
146
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), use summit as the design.
|
|
147
147
|
|
|
148
148
|
3. Create a custom design when you want a different visual direction.
|
|
149
149
|
|
|
150
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
150
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), create a new design named neon-finance with a crisp financial-dashboard style: dark surfaces, precise grids, and bright green accents.
|
|
151
151
|
|
|
152
152
|
Revela may ask for references or constraints, then creates a workspace draft with `DESIGN.md`, `design.css`, and any local `assets/**`. It generates a preview from the built-in page-template fixture plus that CSS so you can review cover, agenda, timelines, charts, tables, cards, and visual slots before installing. When it is ready, switch to it:
|
|
153
153
|
|
|
154
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
154
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), use neon-finance as the design.
|
|
155
155
|
|
|
156
156
|
4. Initialize local material intake. Init scans, extracts, and reviews workspace sources; it does not create a Narrative Vault.
|
|
157
157
|
|
|
158
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
158
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), help me init this workspace from the local materials.
|
|
159
159
|
|
|
160
160
|
5. Research source-linked deck inputs and save findings.
|
|
161
161
|
|
|
162
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
162
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), research the public evidence and examples needed for this deck.
|
|
163
163
|
|
|
164
164
|
6. Create or update the deck plan before generating HTML so slide order, chapter structure, source links, unresolved inputs, source limitations, and visual intent are explicit.
|
|
165
165
|
|
|
166
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
166
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), create or update the deck plan before generating HTML.
|
|
167
167
|
|
|
168
168
|
7. Make an HTML deck from the current deck plan.
|
|
169
169
|
|
|
170
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
170
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), make the deck from the current deck plan.
|
|
171
171
|
|
|
172
172
|
8. Review and annotate the generated deck from the localhost website card after make-deck completes.
|
|
173
173
|
|
|
@@ -175,15 +175,15 @@ Revela serves the deck from `http://127.0.0.1:<port>/decks/<file>.html` so you c
|
|
|
175
175
|
|
|
176
176
|
9. Export a PDF after deck QA passes.
|
|
177
177
|
|
|
178
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
178
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), export the deck to PDF.
|
|
179
179
|
|
|
180
180
|
10. Export an editable PPTX after deck QA passes.
|
|
181
181
|
|
|
182
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
182
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), export the deck to PPTX.
|
|
183
183
|
|
|
184
184
|
11. Export per-slide PNG files after deck QA passes.
|
|
185
185
|
|
|
186
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
186
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md), export the deck to PNG.
|
|
187
187
|
|
|
188
188
|
## Annotate A Deck
|
|
189
189
|
|
package/README.zh-CN.md
CHANGED
|
@@ -39,7 +39,7 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
|
|
|
39
39
|
通过 Codex Git marketplace 安装 Revela:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.19.
|
|
42
|
+
codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.19.4
|
|
43
43
|
codex plugin add revela@revela
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -121,7 +121,7 @@ Revela 内置多个 deck design。Design preview 由内置 page-template preview
|
|
|
121
121
|
|
|
122
122
|
在 Codex 中切换 design,可以这样问:
|
|
123
123
|
|
|
124
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
124
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),use summit as design.
|
|
125
125
|
|
|
126
126
|
在 Codex 中,可以直接让 Revela 列出或切换 design;生成 deck 时会使用 active design。
|
|
127
127
|
|
|
@@ -129,7 +129,7 @@ Revela 内置多个 deck design。Design preview 由内置 page-template preview
|
|
|
129
129
|
|
|
130
130
|
Domain 提供特定场景的沟通 guidance,例如 consulting、product 或 investor communication。需要让 Revela 按具体沟通场景调整 deck framing 时使用。
|
|
131
131
|
|
|
132
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
132
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),列出 available domains。
|
|
133
133
|
|
|
134
134
|
在 Codex 中,可以直接让 Revela 列出或切换 domain;active domain 会用于 init、research 和 deck planning 阶段的 framing。
|
|
135
135
|
|
|
@@ -139,35 +139,35 @@ Domain 提供特定场景的沟通 guidance,例如 consulting、product 或 in
|
|
|
139
139
|
|
|
140
140
|
1. 先选择 domain,让 Revela 按你的沟通场景 framing 受众、决策、风险和潜在质疑。
|
|
141
141
|
|
|
142
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
142
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),use consulting as domain.
|
|
143
143
|
|
|
144
144
|
2. 再选择 design,让后续生成的 deck 使用指定视觉风格。
|
|
145
145
|
|
|
146
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
146
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),use summit as design.
|
|
147
147
|
|
|
148
148
|
3. 如果需要不同的视觉方向,可以创建一个自定义 design。
|
|
149
149
|
|
|
150
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
150
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),创建一个名为 neon-finance 的新 design:金融仪表盘风格,深色界面、精密网格、亮绿色重点色。
|
|
151
151
|
|
|
152
152
|
Revela 可能会继续询问参考图、风格约束或禁忌项,然后在 workspace draft 中创建 `DESIGN.md`、`design.css` 和需要的本地 `assets/**`。它会用内置 page-template fixture 加上这份 CSS 生成 preview,让你在 install 前先检查 cover、agenda、timeline、chart、table、card 和 visual slot。创建完成后再切换使用:
|
|
153
153
|
|
|
154
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
154
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),使用 neon-finance 作为 design。
|
|
155
155
|
|
|
156
156
|
4. 初始化本地 material intake。Init 会扫描、抽取并审阅 workspace source;它不会创建 Narrative Vault。
|
|
157
157
|
|
|
158
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
158
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),帮我 init 这个 workspace,先读本地材料。
|
|
159
159
|
|
|
160
160
|
5. 针对 deck 所需输入做 research,并保存带来源的 findings。
|
|
161
161
|
|
|
162
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
162
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),research 这个 deck 需要的公开证据、案例和 source。
|
|
163
163
|
|
|
164
164
|
6. 先创建或更新 deck plan,明确 slide 顺序、章节结构、source links、unresolved inputs、source limitations 和 visual intent,再生成 HTML。
|
|
165
165
|
|
|
166
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
166
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),生成 HTML 前先 create or update deck plan。
|
|
167
167
|
|
|
168
168
|
7. 基于当前 deck plan 生成 HTML deck。
|
|
169
169
|
|
|
170
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
170
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),基于当前 deck plan make deck。
|
|
171
171
|
|
|
172
172
|
8. make-deck 完成后,从 localhost website card 打开生成的 deck,并在 Codex Browser 中做 annotation 和定向修改。
|
|
173
173
|
|
|
@@ -175,15 +175,15 @@ Revela 会通过 `http://127.0.0.1:<port>/decks/<file>.html` 服务 deck,你
|
|
|
175
175
|
|
|
176
176
|
9. QA 通过后导出 PDF。
|
|
177
177
|
|
|
178
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
178
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),把 deck export 成 PDF。
|
|
179
179
|
|
|
180
180
|
10. QA 通过后导出可编辑 PPTX。
|
|
181
181
|
|
|
182
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
182
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),把 deck export 成 PPTX。
|
|
183
183
|
|
|
184
184
|
11. QA 通过后导出每页 PNG。
|
|
185
185
|
|
|
186
|
-
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.
|
|
186
|
+
> [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.19.4/skills/revela/SKILL.md),把 deck export 成 PNG。
|
|
187
187
|
|
|
188
188
|
## Annotate Deck
|
|
189
189
|
|
package/designs/lucent/DESIGN.md
CHANGED
|
@@ -259,7 +259,8 @@ Lucent skins Revela built-in page templates without owning their semantic struct
|
|
|
259
259
|
|
|
260
260
|
- `cover`, `section-divider`, `closing`: use full-bleed hero treatment with Lucent package assets.
|
|
261
261
|
- `agenda`, `executive-summary`, `problem-context`, `key-message-evidence`, `claim-supporting-visual`: use report-story/card-grid language with quiet surfaces.
|
|
262
|
-
- `metric-highlight`, `chart-takeaways`, `table-comparison`: use data-forward Lucent panels with explicit interpretation regions.
|
|
262
|
+
- `metric-highlight`, `chart-takeaways`, `table`, `table-comparison`: use data-forward Lucent panels with explicit interpretation regions.
|
|
263
|
+
- Text panels use explicit variants: `template-text-panel--clear` is transparent with no border or background, `template-text-panel--plain` is theme-neutral, and `template-text-panel--color` is the multicolor emphasis treatment used by chart and timeline reading panels.
|
|
263
264
|
- `milestone`: map to the horizontal roadmap visual system. Dots remain milestone anchors inside each milestone item; do not absolutely position detached decorative dots.
|
|
264
265
|
- `timeline`: map to the vertical timeline visual system. Dots remain event anchors inside each timeline item; do not absolutely position detached decorative dots.
|
|
265
266
|
- `process-steps`, `recommendation-decision`, `risks-tradeoffs`: use recommendation and steps surfaces with no nested card-in-card framing.
|
|
@@ -140,19 +140,27 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
140
140
|
.template-chart-placeholder { width: 76%; height: 56%; border-left: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); display: flex; align-items: end; gap: 28px; padding: 0 28px 24px; }
|
|
141
141
|
.template-visual-slot-panel { width: 100%; min-height: 520px; border: 1px dashed var(--line-strong); border-radius: var(--surface-radius); background: linear-gradient(135deg, rgba(49,94,234,0.08), rgba(24,168,216,0.08)); display: grid; place-items: center; padding: 0; }
|
|
142
142
|
.template-visual-slot-label { font-size: 13px; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; }
|
|
143
|
-
.template-text-panel.template-chart-takeaway-panel { gap: 28px;
|
|
144
|
-
.template-
|
|
143
|
+
.template-text-panel.template-chart-takeaway-panel { gap: 28px; }
|
|
144
|
+
.template-text-panel--plain { background: rgba(255,255,255,0.74); border: 1px solid transparent; box-shadow: none; }
|
|
145
|
+
.template-text-panel--clear { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
|
|
146
|
+
.template-text-panel--color { background: linear-gradient(135deg, #5f82c8 0%, var(--accent-primary) 58%, #18a8d8 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.24); }
|
|
147
|
+
.template-text-panel--color .template-text-panel-title { color: white; }
|
|
148
|
+
.template-text-panel--color .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
145
149
|
.template-chart-takeaway-list { display: grid; gap: 22px; width: 100%; }
|
|
146
150
|
.template-chart-takeaway-item { display: grid; gap: 7px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.24); }
|
|
147
151
|
.template-chart-takeaway-item:first-child { padding-top: 0; border-top: 0; }
|
|
148
152
|
.template-chart-takeaway-item h3 { margin: 0; font-size: 25px; line-height: 1.24; color: white; }
|
|
149
153
|
.template-chart-takeaway-item p { margin: 0; font-size: 20px; line-height: 1.46; color: rgba(255,255,255,0.78); }
|
|
150
154
|
.template-bar { flex: 1; background: linear-gradient(180deg, var(--accent-primary), var(--accent-cyan)); min-height: 80px; }
|
|
155
|
+
.template-table-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 34px; height: 100%; align-items: stretch; }
|
|
156
|
+
.template-table-layout .template-side-panel { grid-column: 1; grid-row: 1; }
|
|
157
|
+
.template-table-region { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; height: 100%; }
|
|
158
|
+
.template-table-region .template-table-wrap { height: 100%; }
|
|
151
159
|
.template-table-wrap { display: grid; grid-template-rows: minmax(0, auto) auto; gap: 22px; height: 100%; align-content: start; }
|
|
152
160
|
.template-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.86); box-shadow: 0 18px 44px var(--shadow-soft); }
|
|
153
161
|
.template-table th, .template-table td { padding: 22px 24px; border-bottom: 1px solid var(--line); text-align: left; font-size: 21px; }
|
|
154
162
|
.template-table th { color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; font-size: 15px; }
|
|
155
|
-
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px;
|
|
163
|
+
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px; border-radius: var(--surface-radius); padding: 42px; }
|
|
156
164
|
.template-text-panel-title { margin: 0; font-size: 34px; line-height: 1.28; color: var(--text-primary); padding-bottom: 4px; overflow: visible; }
|
|
157
165
|
.template-text-panel-body { margin: 0; font-size: 23px; line-height: 1.52; color: var(--text-secondary); }
|
|
158
166
|
.template-side-panel { align-self: stretch; }
|
|
@@ -174,9 +182,7 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
174
182
|
.template-timeline-layout--right { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
|
|
175
183
|
.template-timeline-layout--right .template-timeline { grid-column: 1; grid-row: 1; }
|
|
176
184
|
.template-timeline-layout--right .template-side-panel { grid-column: 2; grid-row: 1; }
|
|
177
|
-
.template-timeline-layout .template-text-panel { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
178
|
-
.template-timeline-layout .template-text-panel-title { color: white; }
|
|
179
|
-
.template-timeline-layout .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
185
|
+
.template-timeline-layout .template-text-panel--color { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
180
186
|
.template-timeline--horizontal { grid-template-columns: repeat(var(--timeline-count), 1fr); column-gap: 18px; align-items: stretch; --timeline-axis-y: 86%; }
|
|
181
187
|
.template-timeline--horizontal::before { content: ""; position: absolute; left: 4%; right: 4%; top: var(--timeline-axis-y); border-top: 2px solid var(--line-strong); transform: translateY(-1px); }
|
|
182
188
|
.template-timeline-item { position: relative; min-height: 400px; display: grid; justify-items: center; align-items: center; }
|
|
@@ -250,6 +256,10 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
250
256
|
.template-frame--catalog .template-chart-takeaway-item { gap: 4px; padding-top: 11px; }
|
|
251
257
|
.template-frame--catalog .template-chart-takeaway-item h3 { font-size: 19px; line-height: 1.2; }
|
|
252
258
|
.template-frame--catalog .template-chart-takeaway-item p { font-size: 15px; line-height: 1.3; }
|
|
259
|
+
.template-frame--catalog .template-table-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 22px; }
|
|
260
|
+
.template-frame--catalog .template-table-layout .template-text-panel { padding: 22px; gap: 10px; }
|
|
261
|
+
.template-frame--catalog .template-table-layout .template-text-panel-title { font-size: 25px; line-height: 1.3; }
|
|
262
|
+
.template-frame--catalog .template-table-layout .template-text-panel-body { font-size: 18px; line-height: 1.4; }
|
|
253
263
|
.template-frame--catalog .template-table-wrap { gap: 16px; }
|
|
254
264
|
.template-frame--catalog .template-table th,
|
|
255
265
|
.template-frame--catalog .template-table td { padding: 14px 18px; font-size: 17px; line-height: 1.32; }
|
|
@@ -259,7 +259,8 @@ Lucent skins Revela built-in page templates without owning their semantic struct
|
|
|
259
259
|
|
|
260
260
|
- `cover`, `section-divider`, `closing`: use full-bleed hero treatment with Lucent package assets.
|
|
261
261
|
- `agenda`, `executive-summary`, `problem-context`, `key-message-evidence`, `claim-supporting-visual`: use report-story/card-grid language with quiet surfaces.
|
|
262
|
-
- `metric-highlight`, `chart-takeaways`, `table-comparison`: use data-forward Lucent panels with explicit interpretation regions.
|
|
262
|
+
- `metric-highlight`, `chart-takeaways`, `table`, `table-comparison`: use data-forward Lucent panels with explicit interpretation regions.
|
|
263
|
+
- Text panels use explicit variants: `template-text-panel--clear` is transparent with no border or background, `template-text-panel--plain` is theme-neutral, and `template-text-panel--color` is the multicolor emphasis treatment used by chart and timeline reading panels.
|
|
263
264
|
- `milestone`: map to the horizontal roadmap visual system. Dots remain milestone anchors inside each milestone item; do not absolutely position detached decorative dots.
|
|
264
265
|
- `timeline`: map to the vertical timeline visual system. Dots remain event anchors inside each timeline item; do not absolutely position detached decorative dots.
|
|
265
266
|
- `process-steps`, `recommendation-decision`, `risks-tradeoffs`: use recommendation and steps surfaces with no nested card-in-card framing.
|
|
@@ -140,19 +140,27 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
140
140
|
.template-chart-placeholder { width: 76%; height: 56%; border-left: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); display: flex; align-items: end; gap: 28px; padding: 0 28px 24px; }
|
|
141
141
|
.template-visual-slot-panel { width: 100%; min-height: 520px; border: 1px dashed var(--line-strong); border-radius: var(--surface-radius); background: linear-gradient(135deg, rgba(49,94,234,0.08), rgba(24,168,216,0.08)); display: grid; place-items: center; padding: 0; }
|
|
142
142
|
.template-visual-slot-label { font-size: 13px; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; }
|
|
143
|
-
.template-text-panel.template-chart-takeaway-panel { gap: 28px;
|
|
144
|
-
.template-
|
|
143
|
+
.template-text-panel.template-chart-takeaway-panel { gap: 28px; }
|
|
144
|
+
.template-text-panel--plain { background: rgba(255,255,255,0.74); border: 1px solid transparent; box-shadow: none; }
|
|
145
|
+
.template-text-panel--clear { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
|
|
146
|
+
.template-text-panel--color { background: linear-gradient(135deg, #5f82c8 0%, var(--accent-primary) 58%, #18a8d8 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.24); }
|
|
147
|
+
.template-text-panel--color .template-text-panel-title { color: white; }
|
|
148
|
+
.template-text-panel--color .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
145
149
|
.template-chart-takeaway-list { display: grid; gap: 22px; width: 100%; }
|
|
146
150
|
.template-chart-takeaway-item { display: grid; gap: 7px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.24); }
|
|
147
151
|
.template-chart-takeaway-item:first-child { padding-top: 0; border-top: 0; }
|
|
148
152
|
.template-chart-takeaway-item h3 { margin: 0; font-size: 25px; line-height: 1.24; color: white; }
|
|
149
153
|
.template-chart-takeaway-item p { margin: 0; font-size: 20px; line-height: 1.46; color: rgba(255,255,255,0.78); }
|
|
150
154
|
.template-bar { flex: 1; background: linear-gradient(180deg, var(--accent-primary), var(--accent-cyan)); min-height: 80px; }
|
|
155
|
+
.template-table-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 34px; height: 100%; align-items: stretch; }
|
|
156
|
+
.template-table-layout .template-side-panel { grid-column: 1; grid-row: 1; }
|
|
157
|
+
.template-table-region { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; height: 100%; }
|
|
158
|
+
.template-table-region .template-table-wrap { height: 100%; }
|
|
151
159
|
.template-table-wrap { display: grid; grid-template-rows: minmax(0, auto) auto; gap: 22px; height: 100%; align-content: start; }
|
|
152
160
|
.template-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.86); box-shadow: 0 18px 44px var(--shadow-soft); }
|
|
153
161
|
.template-table th, .template-table td { padding: 22px 24px; border-bottom: 1px solid var(--line); text-align: left; font-size: 21px; }
|
|
154
162
|
.template-table th { color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; font-size: 15px; }
|
|
155
|
-
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px;
|
|
163
|
+
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px; border-radius: var(--surface-radius); padding: 42px; }
|
|
156
164
|
.template-text-panel-title { margin: 0; font-size: 34px; line-height: 1.28; color: var(--text-primary); padding-bottom: 4px; overflow: visible; }
|
|
157
165
|
.template-text-panel-body { margin: 0; font-size: 23px; line-height: 1.52; color: var(--text-secondary); }
|
|
158
166
|
.template-side-panel { align-self: stretch; }
|
|
@@ -174,9 +182,7 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
174
182
|
.template-timeline-layout--right { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
|
|
175
183
|
.template-timeline-layout--right .template-timeline { grid-column: 1; grid-row: 1; }
|
|
176
184
|
.template-timeline-layout--right .template-side-panel { grid-column: 2; grid-row: 1; }
|
|
177
|
-
.template-timeline-layout .template-text-panel { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
178
|
-
.template-timeline-layout .template-text-panel-title { color: white; }
|
|
179
|
-
.template-timeline-layout .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
185
|
+
.template-timeline-layout .template-text-panel--color { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
180
186
|
.template-timeline--horizontal { grid-template-columns: repeat(var(--timeline-count), 1fr); column-gap: 18px; align-items: stretch; --timeline-axis-y: 86%; }
|
|
181
187
|
.template-timeline--horizontal::before { content: ""; position: absolute; left: 4%; right: 4%; top: var(--timeline-axis-y); border-top: 2px solid var(--line-strong); transform: translateY(-1px); }
|
|
182
188
|
.template-timeline-item { position: relative; min-height: 400px; display: grid; justify-items: center; align-items: center; }
|
|
@@ -250,6 +256,10 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
250
256
|
.template-frame--catalog .template-chart-takeaway-item { gap: 4px; padding-top: 11px; }
|
|
251
257
|
.template-frame--catalog .template-chart-takeaway-item h3 { font-size: 19px; line-height: 1.2; }
|
|
252
258
|
.template-frame--catalog .template-chart-takeaway-item p { font-size: 15px; line-height: 1.3; }
|
|
259
|
+
.template-frame--catalog .template-table-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 22px; }
|
|
260
|
+
.template-frame--catalog .template-table-layout .template-text-panel { padding: 22px; gap: 10px; }
|
|
261
|
+
.template-frame--catalog .template-table-layout .template-text-panel-title { font-size: 25px; line-height: 1.3; }
|
|
262
|
+
.template-frame--catalog .template-table-layout .template-text-panel-body { font-size: 18px; line-height: 1.4; }
|
|
253
263
|
.template-frame--catalog .template-table-wrap { gap: 16px; }
|
|
254
264
|
.template-frame--catalog .template-table th,
|
|
255
265
|
.template-frame--catalog .template-table td { padding: 14px 18px; font-size: 17px; line-height: 1.32; }
|
|
@@ -349,12 +359,17 @@ body { background: var(--bg-frame); color: var(--text-primary); }
|
|
|
349
359
|
.template-image-caption {
|
|
350
360
|
color: var(--text-muted);
|
|
351
361
|
}
|
|
352
|
-
.template-text-panel,
|
|
362
|
+
.template-text-panel--plain,
|
|
353
363
|
.template-metric-layout .template-insight-panel {
|
|
354
364
|
background: rgba(13, 25, 47, 0.78);
|
|
355
365
|
border: 1px solid var(--line);
|
|
356
366
|
box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28);
|
|
357
367
|
}
|
|
368
|
+
.template-text-panel--clear {
|
|
369
|
+
background: transparent;
|
|
370
|
+
border: 0;
|
|
371
|
+
box-shadow: none;
|
|
372
|
+
}
|
|
358
373
|
.template-key-message-panel,
|
|
359
374
|
.template-claim-text-panel {
|
|
360
375
|
background: transparent;
|
|
@@ -388,19 +403,19 @@ body { background: var(--bg-frame); color: var(--text-primary); }
|
|
|
388
403
|
.template-timeline--vertical::before {
|
|
389
404
|
border-color: var(--line-strong);
|
|
390
405
|
}
|
|
391
|
-
.template-text-panel
|
|
392
|
-
.template-timeline-layout .template-text-panel {
|
|
406
|
+
.template-text-panel--color,
|
|
407
|
+
.template-timeline-layout .template-text-panel--color {
|
|
393
408
|
background: linear-gradient(135deg, #6f73e8 0%, #4d78d7 52%, #0ba4cf 115%);
|
|
394
409
|
color: white;
|
|
395
410
|
box-shadow: 0 24px 66px rgba(35, 83, 190, 0.32);
|
|
396
411
|
}
|
|
397
|
-
.template-
|
|
412
|
+
.template-text-panel--color .template-text-panel-title,
|
|
398
413
|
.template-chart-takeaway-item h3,
|
|
399
|
-
.template-timeline-layout .template-text-panel-title {
|
|
414
|
+
.template-timeline-layout .template-text-panel--color .template-text-panel-title {
|
|
400
415
|
color: white;
|
|
401
416
|
}
|
|
402
417
|
.template-chart-takeaway-item p,
|
|
403
|
-
.template-timeline-layout .template-text-panel-body {
|
|
418
|
+
.template-timeline-layout .template-text-panel--color .template-text-panel-body {
|
|
404
419
|
color: rgba(255, 255, 255, 0.78);
|
|
405
420
|
}
|
|
406
421
|
.template-slide[data-design="lucent-dark"][data-template="cover"] .slide-canvas,
|
package/designs/monet/DESIGN.md
CHANGED
|
@@ -2886,7 +2886,8 @@ Monet skins Revela built-in page templates with soft editorial rhythm, painterly
|
|
|
2886
2886
|
|
|
2887
2887
|
- `cover`, `section-divider`, `closing`: use expressive title-led structural pages.
|
|
2888
2888
|
- `agenda`, `executive-summary`, `problem-context`, `key-message-evidence`, `claim-supporting-visual`: use soft narrative regions with no heavy outer box.
|
|
2889
|
-
- `metric-highlight`, `chart-takeaways`, `table-comparison`: use calm data surfaces and readable interpretation zones.
|
|
2889
|
+
- `metric-highlight`, `chart-takeaways`, `table`, `table-comparison`: use calm data surfaces and readable interpretation zones.
|
|
2890
|
+
- Text panels use explicit variants: `template-text-panel--clear` is transparent with no border or background, `template-text-panel--plain` is theme-neutral, and `template-text-panel--color` is the multicolor emphasis treatment used by chart and timeline reading panels.
|
|
2890
2891
|
- `milestone`: dots remain milestone anchors inside each horizontal milestone item; do not position detached decorative markers.
|
|
2891
2892
|
- `timeline`: dots remain event anchors inside each vertical timeline item; do not position detached decorative markers.
|
|
2892
2893
|
- `process-steps`, `recommendation-decision`, `risks-tradeoffs`: use quiet action and tradeoff panels.
|
package/designs/monet/design.css
CHANGED
|
@@ -140,19 +140,27 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
140
140
|
.template-chart-placeholder { width: 76%; height: 56%; border-left: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); display: flex; align-items: end; gap: 28px; padding: 0 28px 24px; }
|
|
141
141
|
.template-visual-slot-panel { width: 100%; min-height: 520px; border: 1px dashed var(--line-strong); border-radius: var(--surface-radius); background: linear-gradient(135deg, rgba(49,94,234,0.08), rgba(24,168,216,0.08)); display: grid; place-items: center; padding: 0; }
|
|
142
142
|
.template-visual-slot-label { font-size: 13px; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; }
|
|
143
|
-
.template-text-panel.template-chart-takeaway-panel { gap: 28px;
|
|
144
|
-
.template-
|
|
143
|
+
.template-text-panel.template-chart-takeaway-panel { gap: 28px; }
|
|
144
|
+
.template-text-panel--plain { background: rgba(255,255,255,0.74); border: 1px solid transparent; box-shadow: none; }
|
|
145
|
+
.template-text-panel--clear { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
|
|
146
|
+
.template-text-panel--color { background: linear-gradient(135deg, #5f82c8 0%, var(--accent-primary) 58%, #18a8d8 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.24); }
|
|
147
|
+
.template-text-panel--color .template-text-panel-title { color: white; }
|
|
148
|
+
.template-text-panel--color .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
145
149
|
.template-chart-takeaway-list { display: grid; gap: 22px; width: 100%; }
|
|
146
150
|
.template-chart-takeaway-item { display: grid; gap: 7px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.24); }
|
|
147
151
|
.template-chart-takeaway-item:first-child { padding-top: 0; border-top: 0; }
|
|
148
152
|
.template-chart-takeaway-item h3 { margin: 0; font-size: 25px; line-height: 1.24; color: white; }
|
|
149
153
|
.template-chart-takeaway-item p { margin: 0; font-size: 20px; line-height: 1.46; color: rgba(255,255,255,0.78); }
|
|
150
154
|
.template-bar { flex: 1; background: linear-gradient(180deg, var(--accent-primary), var(--accent-cyan)); min-height: 80px; }
|
|
155
|
+
.template-table-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 34px; height: 100%; align-items: stretch; }
|
|
156
|
+
.template-table-layout .template-side-panel { grid-column: 1; grid-row: 1; }
|
|
157
|
+
.template-table-region { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; height: 100%; }
|
|
158
|
+
.template-table-region .template-table-wrap { height: 100%; }
|
|
151
159
|
.template-table-wrap { display: grid; grid-template-rows: minmax(0, auto) auto; gap: 22px; height: 100%; align-content: start; }
|
|
152
160
|
.template-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.86); box-shadow: 0 18px 44px var(--shadow-soft); }
|
|
153
161
|
.template-table th, .template-table td { padding: 22px 24px; border-bottom: 1px solid var(--line); text-align: left; font-size: 21px; }
|
|
154
162
|
.template-table th { color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; font-size: 15px; }
|
|
155
|
-
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px;
|
|
163
|
+
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px; border-radius: var(--surface-radius); padding: 42px; }
|
|
156
164
|
.template-text-panel-title { margin: 0; font-size: 34px; line-height: 1.28; color: var(--text-primary); padding-bottom: 4px; overflow: visible; }
|
|
157
165
|
.template-text-panel-body { margin: 0; font-size: 23px; line-height: 1.52; color: var(--text-secondary); }
|
|
158
166
|
.template-side-panel { align-self: stretch; }
|
|
@@ -174,9 +182,7 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
174
182
|
.template-timeline-layout--right { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
|
|
175
183
|
.template-timeline-layout--right .template-timeline { grid-column: 1; grid-row: 1; }
|
|
176
184
|
.template-timeline-layout--right .template-side-panel { grid-column: 2; grid-row: 1; }
|
|
177
|
-
.template-timeline-layout .template-text-panel { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
178
|
-
.template-timeline-layout .template-text-panel-title { color: white; }
|
|
179
|
-
.template-timeline-layout .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
185
|
+
.template-timeline-layout .template-text-panel--color { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
180
186
|
.template-timeline--horizontal { grid-template-columns: repeat(var(--timeline-count), 1fr); column-gap: 18px; align-items: stretch; --timeline-axis-y: 86%; }
|
|
181
187
|
.template-timeline--horizontal::before { content: ""; position: absolute; left: 4%; right: 4%; top: var(--timeline-axis-y); border-top: 2px solid var(--line-strong); transform: translateY(-1px); }
|
|
182
188
|
.template-timeline-item { position: relative; min-height: 400px; display: grid; justify-items: center; align-items: center; }
|
|
@@ -250,6 +256,10 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
250
256
|
.template-frame--catalog .template-chart-takeaway-item { gap: 4px; padding-top: 11px; }
|
|
251
257
|
.template-frame--catalog .template-chart-takeaway-item h3 { font-size: 19px; line-height: 1.2; }
|
|
252
258
|
.template-frame--catalog .template-chart-takeaway-item p { font-size: 15px; line-height: 1.3; }
|
|
259
|
+
.template-frame--catalog .template-table-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 22px; }
|
|
260
|
+
.template-frame--catalog .template-table-layout .template-text-panel { padding: 22px; gap: 10px; }
|
|
261
|
+
.template-frame--catalog .template-table-layout .template-text-panel-title { font-size: 25px; line-height: 1.3; }
|
|
262
|
+
.template-frame--catalog .template-table-layout .template-text-panel-body { font-size: 18px; line-height: 1.4; }
|
|
253
263
|
.template-frame--catalog .template-table-wrap { gap: 16px; }
|
|
254
264
|
.template-frame--catalog .template-table th,
|
|
255
265
|
.template-frame--catalog .template-table td { padding: 14px 18px; font-size: 17px; line-height: 1.32; }
|
|
@@ -322,8 +332,8 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
322
332
|
.template-text-panel-body,
|
|
323
333
|
.template-claim-text-body,
|
|
324
334
|
.template-insight-body { font-size: 24px; }
|
|
325
|
-
.template-text-panel
|
|
326
|
-
.template-timeline-layout .template-text-panel {
|
|
335
|
+
.template-text-panel--color,
|
|
336
|
+
.template-timeline-layout .template-text-panel--color {
|
|
327
337
|
background: linear-gradient(135deg, #416f88 0%, #5c948b 56%, #9c6f3a 118%);
|
|
328
338
|
}
|
|
329
339
|
.template-slide[data-design="monet"][data-template="cover"] .slide-canvas,
|
|
@@ -910,7 +910,8 @@ Starter skins Revela built-in page templates as a neutral authoring system. The
|
|
|
910
910
|
|
|
911
911
|
- `cover`, `section-divider`, `closing`: use clear title-first structural pages.
|
|
912
912
|
- `agenda`, `executive-summary`, `problem-context`, `key-message-evidence`, `claim-supporting-visual`: use plain narrative and card-grid surfaces.
|
|
913
|
-
- `metric-highlight`, `chart-takeaways`, `table-comparison`: use direct data panels with minimal decoration.
|
|
913
|
+
- `metric-highlight`, `chart-takeaways`, `table`, `table-comparison`: use direct data panels with minimal decoration.
|
|
914
|
+
- Text panels use explicit variants: `template-text-panel--clear` is transparent with no border or background, `template-text-panel--plain` is theme-neutral, and `template-text-panel--color` is the multicolor emphasis treatment used by chart and timeline reading panels.
|
|
914
915
|
- `milestone`: dots remain milestone anchors inside each horizontal milestone item; do not position detached decorative markers.
|
|
915
916
|
- `timeline`: dots remain event anchors inside each vertical timeline item; do not position detached decorative markers.
|
|
916
917
|
- `process-steps`, `recommendation-decision`, `risks-tradeoffs`: use simple step and decision panels.
|
|
@@ -140,19 +140,27 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
140
140
|
.template-chart-placeholder { width: 76%; height: 56%; border-left: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); display: flex; align-items: end; gap: 28px; padding: 0 28px 24px; }
|
|
141
141
|
.template-visual-slot-panel { width: 100%; min-height: 520px; border: 1px dashed var(--line-strong); border-radius: var(--surface-radius); background: linear-gradient(135deg, rgba(49,94,234,0.08), rgba(24,168,216,0.08)); display: grid; place-items: center; padding: 0; }
|
|
142
142
|
.template-visual-slot-label { font-size: 13px; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; }
|
|
143
|
-
.template-text-panel.template-chart-takeaway-panel { gap: 28px;
|
|
144
|
-
.template-
|
|
143
|
+
.template-text-panel.template-chart-takeaway-panel { gap: 28px; }
|
|
144
|
+
.template-text-panel--plain { background: rgba(255,255,255,0.74); border: 1px solid transparent; box-shadow: none; }
|
|
145
|
+
.template-text-panel--clear { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
|
|
146
|
+
.template-text-panel--color { background: linear-gradient(135deg, #5f82c8 0%, var(--accent-primary) 58%, #18a8d8 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.24); }
|
|
147
|
+
.template-text-panel--color .template-text-panel-title { color: white; }
|
|
148
|
+
.template-text-panel--color .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
145
149
|
.template-chart-takeaway-list { display: grid; gap: 22px; width: 100%; }
|
|
146
150
|
.template-chart-takeaway-item { display: grid; gap: 7px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.24); }
|
|
147
151
|
.template-chart-takeaway-item:first-child { padding-top: 0; border-top: 0; }
|
|
148
152
|
.template-chart-takeaway-item h3 { margin: 0; font-size: 25px; line-height: 1.24; color: white; }
|
|
149
153
|
.template-chart-takeaway-item p { margin: 0; font-size: 20px; line-height: 1.46; color: rgba(255,255,255,0.78); }
|
|
150
154
|
.template-bar { flex: 1; background: linear-gradient(180deg, var(--accent-primary), var(--accent-cyan)); min-height: 80px; }
|
|
155
|
+
.template-table-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 34px; height: 100%; align-items: stretch; }
|
|
156
|
+
.template-table-layout .template-side-panel { grid-column: 1; grid-row: 1; }
|
|
157
|
+
.template-table-region { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; height: 100%; }
|
|
158
|
+
.template-table-region .template-table-wrap { height: 100%; }
|
|
151
159
|
.template-table-wrap { display: grid; grid-template-rows: minmax(0, auto) auto; gap: 22px; height: 100%; align-content: start; }
|
|
152
160
|
.template-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.86); box-shadow: 0 18px 44px var(--shadow-soft); }
|
|
153
161
|
.template-table th, .template-table td { padding: 22px 24px; border-bottom: 1px solid var(--line); text-align: left; font-size: 21px; }
|
|
154
162
|
.template-table th { color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; font-size: 15px; }
|
|
155
|
-
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px;
|
|
163
|
+
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px; border-radius: var(--surface-radius); padding: 42px; }
|
|
156
164
|
.template-text-panel-title { margin: 0; font-size: 34px; line-height: 1.28; color: var(--text-primary); padding-bottom: 4px; overflow: visible; }
|
|
157
165
|
.template-text-panel-body { margin: 0; font-size: 23px; line-height: 1.52; color: var(--text-secondary); }
|
|
158
166
|
.template-side-panel { align-self: stretch; }
|
|
@@ -174,9 +182,7 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
174
182
|
.template-timeline-layout--right { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
|
|
175
183
|
.template-timeline-layout--right .template-timeline { grid-column: 1; grid-row: 1; }
|
|
176
184
|
.template-timeline-layout--right .template-side-panel { grid-column: 2; grid-row: 1; }
|
|
177
|
-
.template-timeline-layout .template-text-panel { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
178
|
-
.template-timeline-layout .template-text-panel-title { color: white; }
|
|
179
|
-
.template-timeline-layout .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
185
|
+
.template-timeline-layout .template-text-panel--color { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
180
186
|
.template-timeline--horizontal { grid-template-columns: repeat(var(--timeline-count), 1fr); column-gap: 18px; align-items: stretch; --timeline-axis-y: 86%; }
|
|
181
187
|
.template-timeline--horizontal::before { content: ""; position: absolute; left: 4%; right: 4%; top: var(--timeline-axis-y); border-top: 2px solid var(--line-strong); transform: translateY(-1px); }
|
|
182
188
|
.template-timeline-item { position: relative; min-height: 400px; display: grid; justify-items: center; align-items: center; }
|
|
@@ -250,6 +256,10 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
250
256
|
.template-frame--catalog .template-chart-takeaway-item { gap: 4px; padding-top: 11px; }
|
|
251
257
|
.template-frame--catalog .template-chart-takeaway-item h3 { font-size: 19px; line-height: 1.2; }
|
|
252
258
|
.template-frame--catalog .template-chart-takeaway-item p { font-size: 15px; line-height: 1.3; }
|
|
259
|
+
.template-frame--catalog .template-table-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 22px; }
|
|
260
|
+
.template-frame--catalog .template-table-layout .template-text-panel { padding: 22px; gap: 10px; }
|
|
261
|
+
.template-frame--catalog .template-table-layout .template-text-panel-title { font-size: 25px; line-height: 1.3; }
|
|
262
|
+
.template-frame--catalog .template-table-layout .template-text-panel-body { font-size: 18px; line-height: 1.4; }
|
|
253
263
|
.template-frame--catalog .template-table-wrap { gap: 16px; }
|
|
254
264
|
.template-frame--catalog .template-table th,
|
|
255
265
|
.template-frame--catalog .template-table td { padding: 14px 18px; font-size: 17px; line-height: 1.32; }
|
package/designs/summit/DESIGN.md
CHANGED
|
@@ -2670,7 +2670,8 @@ Summit skins Revela built-in page templates with editorial hierarchy, broad whit
|
|
|
2670
2670
|
|
|
2671
2671
|
- `cover`, `section-divider`, `closing`: use strong editorial title pages.
|
|
2672
2672
|
- `agenda`, `executive-summary`, `problem-context`, `key-message-evidence`, `claim-supporting-visual`: use borderless narrative groupings with clear hierarchy.
|
|
2673
|
-
- `metric-highlight`, `chart-takeaways`, `table-comparison`: use evidence-first data regions without outer container borders.
|
|
2673
|
+
- `metric-highlight`, `chart-takeaways`, `table`, `table-comparison`: use evidence-first data regions without outer container borders.
|
|
2674
|
+
- Text panels use explicit variants: `template-text-panel--clear` is transparent with no border or background, `template-text-panel--plain` is theme-neutral, and `template-text-panel--color` is the multicolor emphasis treatment used by chart and timeline reading panels.
|
|
2674
2675
|
- `milestone`: dots remain milestone anchors inside each horizontal milestone item; do not position detached decorative markers.
|
|
2675
2676
|
- `timeline`: dots remain event anchors inside each vertical timeline item; do not position detached decorative markers.
|
|
2676
2677
|
- `process-steps`, `recommendation-decision`, `risks-tradeoffs`: use decisive action panels with minimal framing.
|
|
@@ -140,19 +140,27 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
140
140
|
.template-chart-placeholder { width: 76%; height: 56%; border-left: 2px solid var(--line-strong); border-bottom: 2px solid var(--line-strong); display: flex; align-items: end; gap: 28px; padding: 0 28px 24px; }
|
|
141
141
|
.template-visual-slot-panel { width: 100%; min-height: 520px; border: 1px dashed var(--line-strong); border-radius: var(--surface-radius); background: linear-gradient(135deg, rgba(49,94,234,0.08), rgba(24,168,216,0.08)); display: grid; place-items: center; padding: 0; }
|
|
142
142
|
.template-visual-slot-label { font-size: 13px; line-height: 1.35; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; }
|
|
143
|
-
.template-text-panel.template-chart-takeaway-panel { gap: 28px;
|
|
144
|
-
.template-
|
|
143
|
+
.template-text-panel.template-chart-takeaway-panel { gap: 28px; }
|
|
144
|
+
.template-text-panel--plain { background: rgba(255,255,255,0.74); border: 1px solid transparent; box-shadow: none; }
|
|
145
|
+
.template-text-panel--clear { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
|
|
146
|
+
.template-text-panel--color { background: linear-gradient(135deg, #5f82c8 0%, var(--accent-primary) 58%, #18a8d8 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.24); }
|
|
147
|
+
.template-text-panel--color .template-text-panel-title { color: white; }
|
|
148
|
+
.template-text-panel--color .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
145
149
|
.template-chart-takeaway-list { display: grid; gap: 22px; width: 100%; }
|
|
146
150
|
.template-chart-takeaway-item { display: grid; gap: 7px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.24); }
|
|
147
151
|
.template-chart-takeaway-item:first-child { padding-top: 0; border-top: 0; }
|
|
148
152
|
.template-chart-takeaway-item h3 { margin: 0; font-size: 25px; line-height: 1.24; color: white; }
|
|
149
153
|
.template-chart-takeaway-item p { margin: 0; font-size: 20px; line-height: 1.46; color: rgba(255,255,255,0.78); }
|
|
150
154
|
.template-bar { flex: 1; background: linear-gradient(180deg, var(--accent-primary), var(--accent-cyan)); min-height: 80px; }
|
|
155
|
+
.template-table-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 34px; height: 100%; align-items: stretch; }
|
|
156
|
+
.template-table-layout .template-side-panel { grid-column: 1; grid-row: 1; }
|
|
157
|
+
.template-table-region { grid-column: 2; grid-row: 1; min-width: 0; min-height: 0; height: 100%; }
|
|
158
|
+
.template-table-region .template-table-wrap { height: 100%; }
|
|
151
159
|
.template-table-wrap { display: grid; grid-template-rows: minmax(0, auto) auto; gap: 22px; height: 100%; align-content: start; }
|
|
152
160
|
.template-table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,0.86); box-shadow: 0 18px 44px var(--shadow-soft); }
|
|
153
161
|
.template-table th, .template-table td { padding: 22px 24px; border-bottom: 1px solid var(--line); text-align: left; font-size: 21px; }
|
|
154
162
|
.template-table th { color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; font-size: 15px; }
|
|
155
|
-
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px;
|
|
163
|
+
.template-text-panel { min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 20px; border-radius: var(--surface-radius); padding: 42px; }
|
|
156
164
|
.template-text-panel-title { margin: 0; font-size: 34px; line-height: 1.28; color: var(--text-primary); padding-bottom: 4px; overflow: visible; }
|
|
157
165
|
.template-text-panel-body { margin: 0; font-size: 23px; line-height: 1.52; color: var(--text-secondary); }
|
|
158
166
|
.template-side-panel { align-self: stretch; }
|
|
@@ -174,9 +182,7 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
174
182
|
.template-timeline-layout--right { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
|
|
175
183
|
.template-timeline-layout--right .template-timeline { grid-column: 1; grid-row: 1; }
|
|
176
184
|
.template-timeline-layout--right .template-side-panel { grid-column: 2; grid-row: 1; }
|
|
177
|
-
.template-timeline-layout .template-text-panel { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
178
|
-
.template-timeline-layout .template-text-panel-title { color: white; }
|
|
179
|
-
.template-timeline-layout .template-text-panel-body { color: rgba(255,255,255,0.78); }
|
|
185
|
+
.template-timeline-layout .template-text-panel--color { background: linear-gradient(135deg, #7a7fe8 0%, #5f82c8 58%, #315eea 115%); color: white; box-shadow: 0 22px 56px rgba(49,94,234,0.22); }
|
|
180
186
|
.template-timeline--horizontal { grid-template-columns: repeat(var(--timeline-count), 1fr); column-gap: 18px; align-items: stretch; --timeline-axis-y: 86%; }
|
|
181
187
|
.template-timeline--horizontal::before { content: ""; position: absolute; left: 4%; right: 4%; top: var(--timeline-axis-y); border-top: 2px solid var(--line-strong); transform: translateY(-1px); }
|
|
182
188
|
.template-timeline-item { position: relative; min-height: 400px; display: grid; justify-items: center; align-items: center; }
|
|
@@ -250,6 +256,10 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
250
256
|
.template-frame--catalog .template-chart-takeaway-item { gap: 4px; padding-top: 11px; }
|
|
251
257
|
.template-frame--catalog .template-chart-takeaway-item h3 { font-size: 19px; line-height: 1.2; }
|
|
252
258
|
.template-frame--catalog .template-chart-takeaway-item p { font-size: 15px; line-height: 1.3; }
|
|
259
|
+
.template-frame--catalog .template-table-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 22px; }
|
|
260
|
+
.template-frame--catalog .template-table-layout .template-text-panel { padding: 22px; gap: 10px; }
|
|
261
|
+
.template-frame--catalog .template-table-layout .template-text-panel-title { font-size: 25px; line-height: 1.3; }
|
|
262
|
+
.template-frame--catalog .template-table-layout .template-text-panel-body { font-size: 18px; line-height: 1.4; }
|
|
253
263
|
.template-frame--catalog .template-table-wrap { gap: 16px; }
|
|
254
264
|
.template-frame--catalog .template-table th,
|
|
255
265
|
.template-frame--catalog .template-table td { padding: 14px 18px; font-size: 17px; line-height: 1.32; }
|
|
@@ -316,8 +326,8 @@ body { margin: 0; background: var(--bg-frame, #07111f); color: var(--text-primar
|
|
|
316
326
|
.template-card h3,
|
|
317
327
|
.template-text-panel-title,
|
|
318
328
|
.template-claim-text-title { letter-spacing: 0; }
|
|
319
|
-
.template-text-panel
|
|
320
|
-
.template-timeline-layout .template-text-panel {
|
|
329
|
+
.template-text-panel--color,
|
|
330
|
+
.template-timeline-layout .template-text-panel--color {
|
|
321
331
|
background: linear-gradient(135deg, #176c63 0%, #2a8f84 54%, #b0822e 125%);
|
|
322
332
|
}
|
|
323
333
|
.template-slide[data-design="summit"][data-template="cover"] .slide-canvas,
|