heyiam 0.2.28 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +45 -0
  2. package/dist/config.js +10 -1
  3. package/dist/db.js +1 -2
  4. package/dist/export.js +40 -25
  5. package/dist/format-utils.js +5 -0
  6. package/dist/index.js +168 -0
  7. package/dist/mount.js +300 -102
  8. package/dist/parsers/claude.js +2 -28
  9. package/dist/parsers/codex.js +2 -26
  10. package/dist/parsers/cursor.js +2 -26
  11. package/dist/parsers/duration.js +35 -0
  12. package/dist/parsers/gemini.js +2 -20
  13. package/dist/parsers/types.js +0 -1
  14. package/dist/public/assets/index-BZ65TU_Y.js +40 -0
  15. package/dist/public/assets/index-CqCaW2cb.css +1 -0
  16. package/dist/public/index.html +2 -2
  17. package/dist/redact.js +4 -104
  18. package/dist/render/build-render-data.js +9 -2
  19. package/dist/render/index.js +32 -5
  20. package/dist/render/liquid.js +147 -7
  21. package/dist/render/mock-data.js +303 -0
  22. package/dist/render/templates/aurora/portfolio.liquid +204 -0
  23. package/dist/render/templates/aurora/project.liquid +260 -0
  24. package/dist/render/templates/aurora/session.liquid +223 -0
  25. package/dist/render/templates/aurora/styles.css +1178 -0
  26. package/dist/render/templates/bauhaus/portfolio.liquid +179 -0
  27. package/dist/render/templates/bauhaus/project.liquid +300 -0
  28. package/dist/render/templates/bauhaus/session.liquid +333 -0
  29. package/dist/render/templates/bauhaus/styles.css +1641 -0
  30. package/dist/render/templates/blueprint/portfolio.liquid +167 -0
  31. package/dist/render/templates/blueprint/project.liquid +286 -0
  32. package/dist/render/templates/blueprint/session.liquid +248 -0
  33. package/dist/render/templates/blueprint/styles.css +1285 -0
  34. package/dist/render/templates/canvas/portfolio.liquid +215 -0
  35. package/dist/render/templates/canvas/project.liquid +235 -0
  36. package/dist/render/templates/canvas/session.liquid +223 -0
  37. package/dist/render/templates/canvas/styles.css +1436 -0
  38. package/dist/render/templates/carbon/portfolio.liquid +170 -0
  39. package/dist/render/templates/carbon/project.liquid +249 -0
  40. package/dist/render/templates/carbon/session.liquid +190 -0
  41. package/dist/render/templates/carbon/styles.css +1091 -0
  42. package/dist/render/templates/chalk/portfolio.liquid +199 -0
  43. package/dist/render/templates/chalk/project.liquid +245 -0
  44. package/dist/render/templates/chalk/session.liquid +215 -0
  45. package/dist/render/templates/chalk/styles.css +1157 -0
  46. package/dist/render/templates/circuit/portfolio.liquid +162 -0
  47. package/dist/render/templates/circuit/project.liquid +247 -0
  48. package/dist/render/templates/circuit/session.liquid +205 -0
  49. package/dist/render/templates/circuit/styles.css +1403 -0
  50. package/dist/render/templates/cosmos/portfolio.liquid +232 -0
  51. package/dist/render/templates/cosmos/project.liquid +327 -0
  52. package/dist/render/templates/cosmos/session.liquid +239 -0
  53. package/dist/render/templates/cosmos/styles.css +1151 -0
  54. package/dist/render/templates/daylight/portfolio.liquid +217 -0
  55. package/dist/render/templates/daylight/project.liquid +229 -0
  56. package/dist/render/templates/daylight/session.liquid +219 -0
  57. package/dist/render/templates/daylight/styles.css +1311 -0
  58. package/dist/render/templates/editorial/portfolio.liquid +126 -0
  59. package/dist/render/templates/editorial/project.liquid +202 -0
  60. package/dist/render/templates/editorial/session.liquid +171 -0
  61. package/dist/render/templates/editorial/styles.css +822 -0
  62. package/dist/render/templates/ember/portfolio.liquid +318 -0
  63. package/dist/render/templates/ember/project.liquid +232 -0
  64. package/dist/render/templates/ember/session.liquid +202 -0
  65. package/dist/render/templates/ember/styles.css +1283 -0
  66. package/dist/render/templates/glacier/portfolio.liquid +271 -0
  67. package/dist/render/templates/glacier/project.liquid +288 -0
  68. package/dist/render/templates/glacier/session.liquid +217 -0
  69. package/dist/render/templates/glacier/styles.css +1200 -0
  70. package/dist/render/templates/grid/portfolio.liquid +265 -0
  71. package/dist/render/templates/grid/project.liquid +306 -0
  72. package/dist/render/templates/grid/session.liquid +260 -0
  73. package/dist/render/templates/grid/styles.css +1441 -0
  74. package/dist/render/templates/kinetic/portfolio.liquid +170 -0
  75. package/dist/render/templates/kinetic/project.liquid +242 -0
  76. package/dist/render/templates/kinetic/session.liquid +228 -0
  77. package/dist/render/templates/kinetic/styles.css +944 -0
  78. package/dist/render/templates/meridian/portfolio.liquid +255 -0
  79. package/dist/render/templates/meridian/project.liquid +376 -0
  80. package/dist/render/templates/meridian/session.liquid +298 -0
  81. package/dist/render/templates/meridian/styles.css +1369 -0
  82. package/dist/render/templates/minimal/portfolio.liquid +71 -0
  83. package/dist/render/templates/minimal/project.liquid +154 -0
  84. package/dist/render/templates/minimal/session.liquid +140 -0
  85. package/dist/render/templates/minimal/styles.css +525 -0
  86. package/dist/render/templates/mono/portfolio.liquid +291 -0
  87. package/dist/render/templates/mono/project.liquid +275 -0
  88. package/dist/render/templates/mono/session.liquid +276 -0
  89. package/dist/render/templates/mono/styles.css +1016 -0
  90. package/dist/render/templates/neon/portfolio.liquid +217 -0
  91. package/dist/render/templates/neon/project.liquid +225 -0
  92. package/dist/render/templates/neon/session.liquid +195 -0
  93. package/dist/render/templates/neon/styles.css +1265 -0
  94. package/dist/render/templates/noir/portfolio.liquid +137 -0
  95. package/dist/render/templates/noir/project.liquid +220 -0
  96. package/dist/render/templates/noir/session.liquid +241 -0
  97. package/dist/render/templates/noir/styles.css +1223 -0
  98. package/dist/render/templates/obsidian/portfolio.liquid +257 -0
  99. package/dist/render/templates/obsidian/project.liquid +280 -0
  100. package/dist/render/templates/obsidian/session.liquid +241 -0
  101. package/dist/render/templates/obsidian/styles.css +1401 -0
  102. package/dist/render/templates/paper/portfolio.liquid +267 -0
  103. package/dist/render/templates/paper/project.liquid +235 -0
  104. package/dist/render/templates/paper/session.liquid +271 -0
  105. package/dist/render/templates/paper/styles.css +1509 -0
  106. package/dist/render/templates/parallax/portfolio.liquid +305 -0
  107. package/dist/render/templates/parallax/project.liquid +275 -0
  108. package/dist/render/templates/parallax/session.liquid +295 -0
  109. package/dist/render/templates/parallax/styles.css +1874 -0
  110. package/dist/render/templates/parchment/portfolio.liquid +290 -0
  111. package/dist/render/templates/parchment/project.liquid +289 -0
  112. package/dist/render/templates/parchment/session.liquid +346 -0
  113. package/dist/render/templates/parchment/styles.css +1397 -0
  114. package/dist/render/templates/partials/_beats.liquid +16 -0
  115. package/dist/render/templates/partials/_breadcrumb.liquid +9 -0
  116. package/dist/render/templates/partials/_footer.liquid +7 -0
  117. package/dist/render/templates/partials/_growth-chart.liquid +7 -0
  118. package/dist/render/templates/partials/_key-decisions.liquid +20 -0
  119. package/dist/render/templates/partials/_links.liquid +16 -0
  120. package/dist/render/templates/partials/_narrative.liquid +8 -0
  121. package/dist/render/templates/partials/_phases.liquid +20 -0
  122. package/dist/render/templates/partials/_portfolio-header.liquid +20 -0
  123. package/dist/render/templates/partials/_portfolio-projects.liquid +16 -0
  124. package/dist/render/templates/partials/_portfolio-stats.liquid +19 -0
  125. package/dist/render/templates/partials/_qa.liquid +13 -0
  126. package/dist/render/templates/partials/_screenshot.liquid +15 -0
  127. package/dist/render/templates/partials/_session-cards.liquid +30 -0
  128. package/dist/render/templates/partials/_session-header.liquid +39 -0
  129. package/dist/render/templates/partials/_session-sidebar.liquid +30 -0
  130. package/dist/render/templates/partials/_skills.liquid +12 -0
  131. package/dist/render/templates/partials/_source-breakdown.liquid +22 -0
  132. package/dist/render/templates/partials/_stats.liquid +38 -0
  133. package/dist/render/templates/partials/_work-timeline.liquid +7 -0
  134. package/dist/render/templates/project.liquid +7 -4
  135. package/dist/render/templates/radar/portfolio.liquid +233 -0
  136. package/dist/render/templates/radar/project.liquid +278 -0
  137. package/dist/render/templates/radar/session.liquid +300 -0
  138. package/dist/render/templates/radar/styles.css +1049 -0
  139. package/dist/render/templates/showcase/portfolio.liquid +231 -0
  140. package/dist/render/templates/showcase/project.liquid +237 -0
  141. package/dist/render/templates/showcase/session.liquid +210 -0
  142. package/dist/render/templates/showcase/styles.css +1279 -0
  143. package/dist/render/templates/signal/portfolio.liquid +227 -0
  144. package/dist/render/templates/signal/project.liquid +278 -0
  145. package/dist/render/templates/signal/session.liquid +282 -0
  146. package/dist/render/templates/signal/styles.css +1395 -0
  147. package/dist/render/templates/strata/portfolio.liquid +192 -0
  148. package/dist/render/templates/strata/project.liquid +282 -0
  149. package/dist/render/templates/strata/session.liquid +261 -0
  150. package/dist/render/templates/strata/styles.css +1350 -0
  151. package/dist/render/templates/styles.css +1190 -0
  152. package/dist/render/templates/terminal/portfolio.liquid +118 -0
  153. package/dist/render/templates/terminal/project.liquid +161 -0
  154. package/dist/render/templates/terminal/session.liquid +145 -0
  155. package/dist/render/templates/terminal/styles.css +492 -0
  156. package/dist/render/templates/verdant/portfolio.liquid +333 -0
  157. package/dist/render/templates/verdant/project.liquid +309 -0
  158. package/dist/render/templates/verdant/session.liquid +237 -0
  159. package/dist/render/templates/verdant/styles.css +1257 -0
  160. package/dist/render/templates/zen/portfolio.liquid +136 -0
  161. package/dist/render/templates/zen/project.liquid +187 -0
  162. package/dist/render/templates/zen/session.liquid +203 -0
  163. package/dist/render/templates/zen/styles.css +1207 -0
  164. package/dist/render/templates.js +90 -0
  165. package/dist/routes/context.js +15 -10
  166. package/dist/routes/enhance.js +17 -40
  167. package/dist/routes/export.js +14 -4
  168. package/dist/routes/preview.js +480 -108
  169. package/dist/routes/projects.js +11 -19
  170. package/dist/routes/publish.js +15 -17
  171. package/dist/routes/settings.js +94 -1
  172. package/dist/routes/sse.js +9 -0
  173. package/dist/server.js +8 -2
  174. package/dist/settings.js +17 -9
  175. package/package.json +2 -4
  176. package/dist/public/assets/index-B_d6DlEI.js +0 -21
  177. package/dist/public/assets/index-Dalqz2mC.css +0 -1
@@ -0,0 +1,525 @@
1
+ /* ═══════════════════════════════════════════════════════════
2
+ MINIMAL (Typography) — Ultra-clean light mode
3
+ Serif headings (Newsreader), Inter body. Near-black accent.
4
+ Maximum whitespace, no cards, thin rules as dividers.
5
+ ═══════════════════════════════════════════════════════════ */
6
+
7
+ @import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Inter:wght@400;500&display=swap');
8
+
9
+ /* ── Variables ─────────────────────────────────────────── */
10
+
11
+ .minimal {
12
+ --mn-fg: #1c1917;
13
+ --mn-fg-2: #57534e;
14
+ --mn-fg-3: #a8a29e;
15
+ --mn-bg: #ffffff;
16
+ --mn-rule: #e7e5e4;
17
+ --mn-link: #1c1917;
18
+ --mn-link-hover: #57534e;
19
+ --mn-tag-bg: #f5f5f4;
20
+ --mn-tag-fg: #44403c;
21
+ --mn-font-serif: 'Newsreader', 'Georgia', serif;
22
+ --mn-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
23
+ --mn-font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', monospace;
24
+ --mn-max-width: 640px;
25
+ --mn-space-xs: 0.25rem;
26
+ --mn-space-sm: 0.5rem;
27
+ --mn-space-md: 1rem;
28
+ --mn-space-lg: 2rem;
29
+ --mn-space-xl: 3rem;
30
+ --mn-space-2xl: 4.5rem;
31
+
32
+ font-family: var(--mn-font-sans);
33
+ font-size: 15px;
34
+ line-height: 1.7;
35
+ color: var(--mn-fg);
36
+ background: var(--mn-bg);
37
+ -webkit-font-smoothing: antialiased;
38
+ }
39
+
40
+ /* ── Layout wrappers ──────────────────────────────────── */
41
+
42
+ .mn-portfolio,
43
+ .mn-project,
44
+ .mn-session {
45
+ max-width: var(--mn-max-width);
46
+ margin: 0 auto;
47
+ padding: var(--mn-space-2xl) var(--mn-space-lg);
48
+ }
49
+
50
+ /* ── Headings ─────────────────────────────────────────── */
51
+
52
+ .mn-heading {
53
+ font-family: var(--mn-font-serif);
54
+ font-weight: 500;
55
+ font-size: 2.25rem;
56
+ line-height: 1.2;
57
+ letter-spacing: -0.02em;
58
+ color: var(--mn-fg);
59
+ margin: 0 0 var(--mn-space-md) 0;
60
+ }
61
+
62
+ .mn-section-heading {
63
+ font-family: var(--mn-font-sans);
64
+ font-weight: 500;
65
+ font-size: 0.75rem;
66
+ letter-spacing: 0.08em;
67
+ text-transform: uppercase;
68
+ color: var(--mn-fg-3);
69
+ margin: 0 0 var(--mn-space-md) 0;
70
+ }
71
+
72
+ /* ── Rule ─────────────────────────────────────────────── */
73
+
74
+ .mn-rule {
75
+ border: none;
76
+ border-top: 1px solid var(--mn-rule);
77
+ margin: var(--mn-space-xl) 0;
78
+ }
79
+
80
+ /* ── Bio ──────────────────────────────────────────────── */
81
+
82
+ .mn-bio {
83
+ font-family: var(--mn-font-serif);
84
+ font-size: 1.125rem;
85
+ line-height: 1.75;
86
+ color: var(--mn-fg-2);
87
+ margin: 0 0 var(--mn-space-lg) 0;
88
+ max-width: 55ch;
89
+ }
90
+
91
+ /* ── Photo ────────────────────────────────────────────── */
92
+
93
+ .mn-photo-wrap {
94
+ margin-bottom: var(--mn-space-lg);
95
+ }
96
+
97
+ .mn-photo {
98
+ width: 96px;
99
+ height: 96px;
100
+ border-radius: 50%;
101
+ object-fit: cover;
102
+ border: 1px solid var(--mn-rule);
103
+ }
104
+
105
+ /* ── Contact / stats inline ───────────────────────────── */
106
+
107
+ .mn-contact,
108
+ .mn-stats {
109
+ display: flex;
110
+ flex-wrap: wrap;
111
+ gap: var(--mn-space-xs);
112
+ font-size: 0.8125rem;
113
+ color: var(--mn-fg-2);
114
+ margin-bottom: var(--mn-space-md);
115
+ }
116
+
117
+ .mn-contact span + span::before,
118
+ .mn-stats span + span::before {
119
+ content: '\00b7';
120
+ margin-right: var(--mn-space-xs);
121
+ color: var(--mn-fg-3);
122
+ }
123
+
124
+ .mn-contact a,
125
+ .mn-stats a {
126
+ color: var(--mn-link);
127
+ text-decoration: none;
128
+ border-bottom: 1px solid var(--mn-rule);
129
+ }
130
+
131
+ .mn-contact a:hover,
132
+ .mn-stats a:hover {
133
+ color: var(--mn-link-hover);
134
+ border-bottom-color: var(--mn-fg-3);
135
+ }
136
+
137
+ /* ── Links (project page) ─────────────────────────────── */
138
+
139
+ .mn-links {
140
+ display: flex;
141
+ flex-wrap: wrap;
142
+ gap: var(--mn-space-md);
143
+ font-size: 0.8125rem;
144
+ margin-bottom: var(--mn-space-md);
145
+ }
146
+
147
+ .mn-links a {
148
+ color: var(--mn-fg-2);
149
+ text-decoration: none;
150
+ border-bottom: 1px solid var(--mn-rule);
151
+ }
152
+
153
+ .mn-links a:hover {
154
+ color: var(--mn-fg);
155
+ border-bottom-color: var(--mn-fg-3);
156
+ }
157
+
158
+ /* ── Sections ─────────────────────────────────────────── */
159
+
160
+ .mn-section {
161
+ margin-bottom: 0;
162
+ }
163
+
164
+ /* ── Narrative ────────────────────────────────────────── */
165
+
166
+ .mn-narrative p,
167
+ .mn-narrative-text {
168
+ font-family: var(--mn-font-serif);
169
+ font-size: 1.0625rem;
170
+ line-height: 1.8;
171
+ color: var(--mn-fg);
172
+ margin: 0;
173
+ }
174
+
175
+ /* ── Context ──────────────────────────────────────────── */
176
+
177
+ .mn-context {
178
+ font-size: 0.875rem;
179
+ color: var(--mn-fg-2);
180
+ line-height: 1.7;
181
+ margin: var(--mn-space-md) 0;
182
+ }
183
+
184
+ /* ── Blockquote (dev take) ────────────────────────────── */
185
+
186
+ .mn-blockquote {
187
+ margin: var(--mn-space-lg) 0;
188
+ padding-left: var(--mn-space-lg);
189
+ border-left: 2px solid var(--mn-rule);
190
+ }
191
+
192
+ .mn-blockquote p {
193
+ font-family: var(--mn-font-serif);
194
+ font-style: italic;
195
+ font-size: 1.0625rem;
196
+ line-height: 1.75;
197
+ color: var(--mn-fg-2);
198
+ margin: 0;
199
+ }
200
+
201
+ /* ── Breadcrumb ───────────────────────────────────────── */
202
+
203
+ .mn-breadcrumb {
204
+ font-size: 0.8125rem;
205
+ color: var(--mn-fg-3);
206
+ margin-bottom: var(--mn-space-lg);
207
+ }
208
+
209
+ .mn-breadcrumb a {
210
+ color: var(--mn-fg-2);
211
+ text-decoration: none;
212
+ }
213
+
214
+ .mn-breadcrumb a:hover {
215
+ color: var(--mn-fg);
216
+ }
217
+
218
+ .mn-breadcrumb-sep {
219
+ margin: 0 var(--mn-space-xs);
220
+ color: var(--mn-fg-3);
221
+ }
222
+
223
+ /* ── Project list (portfolio) ─────────────────────────── */
224
+
225
+ .mn-project-list {
226
+ list-style: none;
227
+ padding: 0;
228
+ margin: 0;
229
+ }
230
+
231
+ .mn-project-item {
232
+ padding: var(--mn-space-md) 0;
233
+ border-bottom: 1px solid var(--mn-rule);
234
+ display: flex;
235
+ flex-direction: column;
236
+ gap: var(--mn-space-xs);
237
+ }
238
+
239
+ .mn-project-item:last-child {
240
+ border-bottom: none;
241
+ }
242
+
243
+ .mn-project-link {
244
+ font-family: var(--mn-font-serif);
245
+ font-size: 1.125rem;
246
+ font-weight: 500;
247
+ color: var(--mn-fg);
248
+ text-decoration: none;
249
+ }
250
+
251
+ .mn-project-link:hover {
252
+ color: var(--mn-fg-2);
253
+ }
254
+
255
+ /* ── Meta text ────────────────────────────────────────── */
256
+
257
+ .mn-meta {
258
+ font-size: 0.8125rem;
259
+ color: var(--mn-fg-2);
260
+ line-height: 1.5;
261
+ }
262
+
263
+ .mn-skill-line {
264
+ color: var(--mn-fg-3);
265
+ }
266
+
267
+ /* ── Session list ─────────────────────────────────────── */
268
+
269
+ .mn-session-list {
270
+ list-style: none;
271
+ padding: 0;
272
+ margin: 0;
273
+ }
274
+
275
+ .mn-session-item {
276
+ padding: var(--mn-space-sm) 0;
277
+ border-bottom: 1px solid var(--mn-rule);
278
+ display: flex;
279
+ flex-direction: column;
280
+ gap: 2px;
281
+ }
282
+
283
+ .mn-session-item:last-child {
284
+ border-bottom: none;
285
+ }
286
+
287
+ .mn-session-link {
288
+ text-decoration: none;
289
+ display: flex;
290
+ flex-direction: column;
291
+ gap: 2px;
292
+ }
293
+
294
+ .mn-session-title {
295
+ font-family: var(--mn-font-serif);
296
+ font-size: 1rem;
297
+ color: var(--mn-fg);
298
+ }
299
+
300
+ .mn-session-link:hover .mn-session-title {
301
+ color: var(--mn-fg-2);
302
+ }
303
+
304
+ /* ── Screenshot ───────────────────────────────────────── */
305
+
306
+ .mn-screenshot {
307
+ margin: var(--mn-space-lg) 0;
308
+ }
309
+
310
+ .mn-screenshot img {
311
+ width: 100%;
312
+ border: 1px solid var(--mn-rule);
313
+ border-radius: 2px;
314
+ }
315
+
316
+ .mn-screenshot-placeholder {
317
+ display: none;
318
+ }
319
+
320
+ /* ── Tags ─────────────────────────────────────────────── */
321
+
322
+ .mn-tag-list {
323
+ display: flex;
324
+ flex-wrap: wrap;
325
+ gap: var(--mn-space-sm);
326
+ }
327
+
328
+ .mn-tag {
329
+ font-size: 0.75rem;
330
+ font-weight: 500;
331
+ color: var(--mn-tag-fg);
332
+ background: var(--mn-tag-bg);
333
+ padding: 0.2rem 0.6rem;
334
+ border-radius: 2px;
335
+ }
336
+
337
+ /* ── Inline list (tools, sources) ─────────────────────── */
338
+
339
+ .mn-inline-list {
340
+ display: flex;
341
+ flex-wrap: wrap;
342
+ gap: var(--mn-space-xs);
343
+ font-size: 0.8125rem;
344
+ color: var(--mn-fg-2);
345
+ }
346
+
347
+ .mn-inline-item + .mn-inline-item::before {
348
+ content: '\00b7';
349
+ margin-right: var(--mn-space-xs);
350
+ color: var(--mn-fg-3);
351
+ }
352
+
353
+ .mn-source-list {
354
+ display: flex;
355
+ flex-wrap: wrap;
356
+ gap: var(--mn-space-xs);
357
+ font-size: 0.8125rem;
358
+ color: var(--mn-fg-2);
359
+ }
360
+
361
+ .mn-source-item + .mn-source-item::before {
362
+ content: '\00b7';
363
+ margin-right: var(--mn-space-xs);
364
+ color: var(--mn-fg-3);
365
+ }
366
+
367
+ /* ── Decision list ────────────────────────────────────── */
368
+
369
+ .mn-decision-list {
370
+ padding-left: 1.25rem;
371
+ margin: 0;
372
+ }
373
+
374
+ .mn-decision-item {
375
+ font-size: 0.875rem;
376
+ line-height: 1.7;
377
+ color: var(--mn-fg);
378
+ margin-bottom: var(--mn-space-sm);
379
+ }
380
+
381
+ /* ── Phase list ───────────────────────────────────────── */
382
+
383
+ .mn-phase-list {
384
+ padding-left: 1.25rem;
385
+ margin: 0;
386
+ }
387
+
388
+ .mn-phase-item {
389
+ margin-bottom: var(--mn-space-md);
390
+ }
391
+
392
+ .mn-phase-item strong {
393
+ font-family: var(--mn-font-serif);
394
+ font-size: 0.9375rem;
395
+ font-weight: 500;
396
+ display: block;
397
+ margin-bottom: 2px;
398
+ }
399
+
400
+ .mn-phase-item .mn-meta {
401
+ display: block;
402
+ }
403
+
404
+ /* ── Beats ────────────────────────────────────────────── */
405
+
406
+ .mn-beats-list {
407
+ padding-left: 1.25rem;
408
+ margin: 0;
409
+ }
410
+
411
+ .mn-beat-item {
412
+ margin-bottom: var(--mn-space-md);
413
+ }
414
+
415
+ .mn-beat-item strong {
416
+ font-family: var(--mn-font-serif);
417
+ font-size: 0.9375rem;
418
+ font-weight: 500;
419
+ display: block;
420
+ margin-bottom: 2px;
421
+ }
422
+
423
+ .mn-beat-item p {
424
+ font-size: 0.875rem;
425
+ line-height: 1.7;
426
+ color: var(--mn-fg-2);
427
+ margin: 0;
428
+ }
429
+
430
+ /* ── Q&A ──────────────────────────────────────────────── */
431
+
432
+ .mn-qa-list {
433
+ display: flex;
434
+ flex-direction: column;
435
+ gap: var(--mn-space-lg);
436
+ }
437
+
438
+ .mn-qa-question {
439
+ font-family: var(--mn-font-serif);
440
+ font-weight: 500;
441
+ font-size: 0.9375rem;
442
+ color: var(--mn-fg);
443
+ margin: 0 0 var(--mn-space-xs) 0;
444
+ }
445
+
446
+ .mn-qa-answer {
447
+ font-size: 0.875rem;
448
+ line-height: 1.7;
449
+ color: var(--mn-fg-2);
450
+ margin: 0;
451
+ }
452
+
453
+ /* ── File list ────────────────────────────────────────── */
454
+
455
+ .mn-file-list {
456
+ list-style: none;
457
+ padding: 0;
458
+ margin: 0;
459
+ }
460
+
461
+ .mn-file-item {
462
+ display: flex;
463
+ justify-content: space-between;
464
+ align-items: baseline;
465
+ padding: var(--mn-space-xs) 0;
466
+ font-size: 0.8125rem;
467
+ border-bottom: 1px solid var(--mn-rule);
468
+ }
469
+
470
+ .mn-file-item:last-child {
471
+ border-bottom: none;
472
+ }
473
+
474
+ .mn-file-path {
475
+ font-family: var(--mn-font-mono);
476
+ font-size: 0.75rem;
477
+ color: var(--mn-fg);
478
+ overflow: hidden;
479
+ text-overflow: ellipsis;
480
+ white-space: nowrap;
481
+ flex: 1;
482
+ min-width: 0;
483
+ }
484
+
485
+ .mn-file-diff {
486
+ font-family: var(--mn-font-mono);
487
+ font-size: 0.75rem;
488
+ color: var(--mn-fg-3);
489
+ margin-left: var(--mn-space-md);
490
+ white-space: nowrap;
491
+ }
492
+
493
+ /* ── Simple list (highlights) ─────────────────────────── */
494
+
495
+ .mn-list {
496
+ padding-left: 1.25rem;
497
+ margin: 0;
498
+ }
499
+
500
+ .mn-list li {
501
+ font-size: 0.875rem;
502
+ line-height: 1.7;
503
+ color: var(--mn-fg);
504
+ margin-bottom: var(--mn-space-xs);
505
+ }
506
+
507
+ /* ── Footer ───────────────────────────────────────────── */
508
+
509
+ .mn-footer {
510
+ margin-top: var(--mn-space-2xl);
511
+ padding-top: var(--mn-space-lg);
512
+ border-top: 1px solid var(--mn-rule);
513
+ font-size: 0.75rem;
514
+ color: var(--mn-fg-3);
515
+ }
516
+
517
+ .mn-footer a {
518
+ color: var(--mn-fg-3);
519
+ text-decoration: none;
520
+ border-bottom: 1px solid var(--mn-rule);
521
+ }
522
+
523
+ .mn-footer a:hover {
524
+ color: var(--mn-fg-2);
525
+ }