claude-code-workflow 6.0.5 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/.claude/agents/action-planning-agent.md +1 -1
  2. package/.claude/agents/cli-execution-agent.md +269 -269
  3. package/.claude/agents/cli-explore-agent.md +182 -182
  4. package/.claude/agents/context-search-agent.md +582 -582
  5. package/.claude/agents/memory-bridge.md +93 -93
  6. package/.claude/commands/cli/cli-init.md +1 -1
  7. package/.claude/commands/memory/docs-full-cli.md +471 -471
  8. package/.claude/commands/memory/docs-related-cli.md +386 -386
  9. package/.claude/commands/memory/docs.md +615 -615
  10. package/.claude/commands/memory/load.md +1 -1
  11. package/.claude/commands/memory/update-full.md +332 -332
  12. package/.claude/commands/memory/update-related.md +5 -5
  13. package/.claude/commands/workflow/init.md +1 -1
  14. package/.claude/commands/workflow/lite-fix.md +621 -621
  15. package/.claude/commands/workflow/lite-plan.md +592 -592
  16. package/.claude/commands/workflow/tools/context-gather.md +434 -434
  17. package/.claude/commands/workflow/ui-design/generate.md +504 -504
  18. package/.claude/commands/workflow/ui-design/import-from-code.md +537 -537
  19. package/.claude/scripts/classify-folders.sh +4 -0
  20. package/.claude/scripts/convert_tokens_to_css.sh +4 -0
  21. package/.claude/scripts/detect_changed_modules.sh +5 -1
  22. package/.claude/scripts/discover-design-files.sh +87 -83
  23. package/.claude/scripts/generate_module_docs.sh +717 -713
  24. package/.claude/scripts/get_modules_by_depth.sh +5 -1
  25. package/.claude/scripts/ui-generate-preview.sh +4 -0
  26. package/.claude/scripts/ui-instantiate-prototypes.sh +4 -0
  27. package/.claude/scripts/update_module_claude.sh +4 -0
  28. package/.claude/skills/command-guide/index/all-commands.json +1 -12
  29. package/.claude/skills/command-guide/index/by-category.json +1 -12
  30. package/.claude/skills/command-guide/index/by-use-case.json +1 -12
  31. package/.claude/skills/command-guide/index/essential-commands.json +1 -12
  32. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +127 -71
  33. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +269 -269
  34. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -182
  35. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +18 -38
  36. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +582 -577
  37. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +93 -93
  38. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +1 -1
  39. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -471
  40. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -386
  41. package/.claude/skills/command-guide/reference/commands/memory/docs.md +615 -610
  42. package/.claude/skills/command-guide/reference/commands/memory/load.md +1 -1
  43. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -332
  44. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +5 -5
  45. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +299 -451
  46. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +14 -37
  47. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +252 -350
  48. package/.claude/skills/command-guide/reference/commands/workflow/init.md +2 -2
  49. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +52 -0
  50. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +621 -602
  51. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +46 -36
  52. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +18 -58
  53. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +22 -52
  54. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +19 -48
  55. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +25 -5
  56. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +1 -1
  57. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +7 -7
  58. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -434
  59. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +151 -11
  60. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +4 -4
  61. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +1 -1
  62. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -504
  63. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -537
  64. package/.claude/workflows/context-search-strategy.md +77 -77
  65. package/.claude/workflows/tool-strategy.md +90 -71
  66. package/.claude/workflows/workflow-architecture.md +1 -1
  67. package/ccw/src/cli.js +7 -0
  68. package/ccw/src/commands/tool.js +181 -0
  69. package/ccw/src/core/dashboard-generator.js +18 -3
  70. package/ccw/src/core/lite-scanner.js +35 -11
  71. package/ccw/src/core/server.js +531 -46
  72. package/ccw/src/templates/dashboard-css/01-base.css +161 -0
  73. package/ccw/src/templates/dashboard-css/02-session.css +726 -0
  74. package/ccw/src/templates/dashboard-css/03-tasks.css +512 -0
  75. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +843 -0
  76. package/ccw/src/templates/dashboard-css/05-context.css +2206 -0
  77. package/ccw/src/templates/dashboard-css/06-cards.css +1570 -0
  78. package/ccw/src/templates/dashboard-css/07-managers.css +936 -0
  79. package/ccw/src/templates/dashboard-css/08-review.css +1266 -0
  80. package/ccw/src/templates/dashboard-css/09-explorer.css +1397 -0
  81. package/ccw/src/templates/dashboard-js/components/global-notifications.js +219 -0
  82. package/ccw/src/templates/dashboard-js/components/hook-manager.js +10 -0
  83. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +11 -1
  84. package/ccw/src/templates/dashboard-js/components/navigation.js +11 -5
  85. package/ccw/src/templates/dashboard-js/components/tabs-context.js +20 -20
  86. package/ccw/src/templates/dashboard-js/components/tabs-other.js +11 -11
  87. package/ccw/src/templates/dashboard-js/components/theme.js +29 -1
  88. package/ccw/src/templates/dashboard-js/main.js +4 -0
  89. package/ccw/src/templates/dashboard-js/state.js +5 -0
  90. package/ccw/src/templates/dashboard-js/views/explorer.js +852 -0
  91. package/ccw/src/templates/dashboard-js/views/home.js +13 -9
  92. package/ccw/src/templates/dashboard-js/views/hook-manager.js +8 -5
  93. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +21 -16
  94. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +90 -19
  95. package/ccw/src/templates/dashboard-js/views/project-overview.js +15 -11
  96. package/ccw/src/templates/dashboard-js/views/review-session.js +3 -3
  97. package/ccw/src/templates/dashboard-js/views/session-detail.js +38 -28
  98. package/ccw/src/templates/dashboard.html +129 -28
  99. package/ccw/src/tools/classify-folders.js +204 -0
  100. package/ccw/src/tools/convert-tokens-to-css.js +250 -0
  101. package/ccw/src/tools/detect-changed-modules.js +288 -0
  102. package/ccw/src/tools/discover-design-files.js +134 -0
  103. package/ccw/src/tools/edit-file.js +266 -0
  104. package/ccw/src/tools/generate-module-docs.js +416 -0
  105. package/ccw/src/tools/get-modules-by-depth.js +308 -0
  106. package/ccw/src/tools/index.js +176 -0
  107. package/ccw/src/tools/ui-generate-preview.js +327 -0
  108. package/ccw/src/tools/ui-instantiate-prototypes.js +301 -0
  109. package/ccw/src/tools/update-module-claude.js +380 -0
  110. package/package.json +1 -1
  111. package/.claude/skills/command-guide/reference/commands/workflow/status.md +0 -352
  112. package/ccw/src/core/server.js.bak +0 -385
  113. package/ccw/src/core/server_original.bak +0 -385
  114. package/ccw/src/templates/dashboard.css +0 -8187
  115. package/ccw/src/templates/dashboard_tailwind.html +0 -42
  116. package/ccw/src/templates/dashboard_test.html +0 -37
  117. package/ccw/src/templates/tailwind-base.css +0 -212
@@ -0,0 +1,2206 @@
1
+ /* ===================================
2
+ Context Package UI
3
+ =================================== */
4
+ .context-package-container {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 1rem;
8
+ }
9
+
10
+ .ctx-header {
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ padding-bottom: 0.75rem;
15
+ border-bottom: 1px solid hsl(var(--border));
16
+ }
17
+
18
+ .ctx-main-title {
19
+ font-size: 1.125rem;
20
+ font-weight: 600;
21
+ color: hsl(var(--foreground));
22
+ margin: 0;
23
+ }
24
+
25
+ .ctx-section {
26
+ background: hsl(var(--card));
27
+ border: 1px solid hsl(var(--border));
28
+ border-radius: 0.5rem;
29
+ overflow: hidden;
30
+ }
31
+
32
+ .ctx-section-header {
33
+ display: flex;
34
+ align-items: center;
35
+ gap: 0.75rem;
36
+ padding: 0.875rem 1rem;
37
+ background: hsl(var(--muted) / 0.3);
38
+ cursor: pointer;
39
+ user-select: none;
40
+ transition: background 0.15s;
41
+ }
42
+
43
+ .ctx-section-header:hover {
44
+ background: hsl(var(--muted) / 0.5);
45
+ }
46
+
47
+ .ctx-collapse-icon {
48
+ font-size: 0.75rem;
49
+ color: hsl(var(--muted-foreground));
50
+ width: 1rem;
51
+ }
52
+
53
+ .ctx-section-title {
54
+ font-weight: 600;
55
+ font-size: 0.9rem;
56
+ color: hsl(var(--foreground));
57
+ flex: 1;
58
+ }
59
+
60
+ .ctx-section-content {
61
+ padding: 1rem;
62
+ }
63
+
64
+ .ctx-section-content.collapsed {
65
+ display: none;
66
+ }
67
+ .ctx-badge {
68
+ padding: 0.25rem 0.625rem;
69
+ border-radius: 9999px;
70
+ font-size: 0.7rem;
71
+ font-weight: 600;
72
+ text-transform: uppercase;
73
+ }
74
+
75
+ .ctx-badge-count {
76
+ padding: 0.125rem 0.5rem;
77
+ background: hsl(var(--muted));
78
+ border-radius: 9999px;
79
+ font-size: 0.7rem;
80
+ color: hsl(var(--muted-foreground));
81
+ }
82
+
83
+ .ctx-description {
84
+ font-size: 0.875rem;
85
+ color: hsl(var(--foreground));
86
+ line-height: 1.6;
87
+ margin-bottom: 0.75rem;
88
+ }
89
+
90
+ .ctx-keywords {
91
+ display: flex;
92
+ flex-wrap: wrap;
93
+ gap: 0.375rem;
94
+ margin-bottom: 0.75rem;
95
+ }
96
+
97
+ .ctx-keyword-tag {
98
+ padding: 0.25rem 0.5rem;
99
+ background: hsl(var(--primary) / 0.1);
100
+ color: hsl(var(--primary));
101
+ border-radius: 0.25rem;
102
+ font-size: 0.75rem;
103
+ }
104
+
105
+ .ctx-meta-row {
106
+ display: flex;
107
+ gap: 0.5rem;
108
+ font-size: 0.8rem;
109
+ margin-bottom: 0.375rem;
110
+ }
111
+
112
+ .ctx-meta-label {
113
+ color: hsl(var(--muted-foreground));
114
+ min-width: 70px;
115
+ }
116
+
117
+ .ctx-meta-value {
118
+ color: hsl(var(--foreground));
119
+ }
120
+ .ctx-stack-grid {
121
+ display: flex;
122
+ flex-direction: column;
123
+ gap: 0.75rem;
124
+ }
125
+
126
+ .ctx-stack-group {
127
+ display: flex;
128
+ flex-wrap: wrap;
129
+ align-items: center;
130
+ gap: 0.5rem;
131
+ }
132
+
133
+ .ctx-stack-label {
134
+ font-size: 0.75rem;
135
+ font-weight: 600;
136
+ color: hsl(var(--muted-foreground));
137
+ min-width: 90px;
138
+ text-transform: uppercase;
139
+ }
140
+
141
+ .ctx-stack-items {
142
+ display: flex;
143
+ flex-wrap: wrap;
144
+ gap: 0.375rem;
145
+ }
146
+
147
+ .ctx-stack-badge {
148
+ padding: 0.25rem 0.5rem;
149
+ background: hsl(var(--muted));
150
+ border-radius: 0.25rem;
151
+ font-size: 0.75rem;
152
+ color: hsl(var(--foreground));
153
+ }
154
+
155
+ .ctx-subsection {
156
+ margin-bottom: 1rem;
157
+ }
158
+
159
+ .ctx-subsection:last-child {
160
+ margin-bottom: 0;
161
+ }
162
+
163
+ .ctx-subsection-title {
164
+ font-size: 0.8rem;
165
+ font-weight: 600;
166
+ color: hsl(var(--muted-foreground));
167
+ margin: 0 0 0.5rem 0;
168
+ text-transform: uppercase;
169
+ letter-spacing: 0.05em;
170
+ }
171
+
172
+ .ctx-pattern-list {
173
+ margin: 0;
174
+ padding-left: 1.25rem;
175
+ font-size: 0.85rem;
176
+ color: hsl(var(--foreground));
177
+ }
178
+
179
+ .ctx-pattern-list li {
180
+ margin-bottom: 0.375rem;
181
+ line-height: 1.4;
182
+ }
183
+ .ctx-conventions-grid {
184
+ display: grid;
185
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
186
+ gap: 0.75rem;
187
+ }
188
+
189
+ .ctx-convention-item {
190
+ background: hsl(var(--muted) / 0.3);
191
+ border-radius: 0.375rem;
192
+ padding: 0.75rem;
193
+ }
194
+
195
+ .ctx-convention-key {
196
+ font-size: 0.75rem;
197
+ font-weight: 600;
198
+ color: hsl(var(--primary));
199
+ text-transform: capitalize;
200
+ display: block;
201
+ margin-bottom: 0.375rem;
202
+ }
203
+
204
+ .ctx-convention-value {
205
+ font-size: 0.7rem;
206
+ margin: 0;
207
+ overflow-x: auto;
208
+ color: hsl(var(--foreground));
209
+ }
210
+
211
+ .ctx-integration-list {
212
+ display: flex;
213
+ flex-direction: column;
214
+ gap: 0.5rem;
215
+ }
216
+
217
+ .ctx-integration-item {
218
+ display: flex;
219
+ gap: 0.75rem;
220
+ font-size: 0.8rem;
221
+ }
222
+
223
+ .ctx-integration-key {
224
+ font-weight: 500;
225
+ color: hsl(var(--muted-foreground));
226
+ min-width: 140px;
227
+ text-transform: capitalize;
228
+ }
229
+
230
+ .ctx-integration-value {
231
+ color: hsl(var(--foreground));
232
+ flex: 1;
233
+ }
234
+ .ctx-assets-tabs {
235
+ display: flex;
236
+ gap: 0.25rem;
237
+ border-bottom: 1px solid hsl(var(--border));
238
+ margin-bottom: 0.75rem;
239
+ padding-bottom: 0.5rem;
240
+ }
241
+
242
+ .ctx-asset-tab {
243
+ padding: 0.375rem 0.75rem;
244
+ background: none;
245
+ border: none;
246
+ border-radius: 0.25rem;
247
+ font-size: 0.8rem;
248
+ color: hsl(var(--muted-foreground));
249
+ cursor: pointer;
250
+ transition: all 0.15s;
251
+ }
252
+
253
+ .ctx-asset-tab:hover {
254
+ background: hsl(var(--muted) / 0.5);
255
+ }
256
+
257
+ .ctx-asset-tab.active {
258
+ background: hsl(var(--primary));
259
+ color: hsl(var(--primary-foreground));
260
+ }
261
+
262
+ .ctx-asset-panel {
263
+ display: none;
264
+ }
265
+
266
+ .ctx-asset-panel.active {
267
+ display: block;
268
+ }
269
+
270
+ .ctx-asset-item {
271
+ padding: 0.75rem;
272
+ background: hsl(var(--muted) / 0.2);
273
+ border-radius: 0.375rem;
274
+ margin-bottom: 0.5rem;
275
+ }
276
+
277
+ .ctx-asset-main {
278
+ display: flex;
279
+ align-items: center;
280
+ gap: 0.5rem;
281
+ flex-wrap: wrap;
282
+ }
283
+
284
+ .ctx-asset-icon {
285
+ font-size: 1rem;
286
+ }
287
+
288
+ .ctx-asset-path {
289
+ font-size: 0.8rem;
290
+ color: hsl(var(--primary));
291
+ word-break: break-all;
292
+ }
293
+
294
+ .ctx-relevance-badge {
295
+ padding: 0.125rem 0.375rem;
296
+ background: hsl(var(--primary) / 0.15);
297
+ color: hsl(var(--primary));
298
+ border-radius: 0.25rem;
299
+ font-size: 0.65rem;
300
+ font-weight: 600;
301
+ }
302
+
303
+ .ctx-asset-role {
304
+ display: inline-block;
305
+ padding: 0.125rem 0.375rem;
306
+ background: hsl(var(--muted));
307
+ border-radius: 0.25rem;
308
+ font-size: 0.7rem;
309
+ color: hsl(var(--muted-foreground));
310
+ margin-left: auto;
311
+ }
312
+
313
+ .ctx-asset-note {
314
+ font-size: 0.75rem;
315
+ color: hsl(var(--muted-foreground));
316
+ margin-top: 0.375rem;
317
+ font-style: italic;
318
+ }
319
+
320
+ .ctx-asset-tags {
321
+ display: flex;
322
+ flex-wrap: wrap;
323
+ gap: 0.25rem;
324
+ margin-top: 0.375rem;
325
+ }
326
+
327
+ .ctx-mini-tag {
328
+ padding: 0.125rem 0.375rem;
329
+ background: hsl(var(--muted));
330
+ border-radius: 0.25rem;
331
+ font-size: 0.65rem;
332
+ color: hsl(var(--foreground));
333
+ }
334
+
335
+ .ctx-asset-exports {
336
+ font-size: 0.7rem;
337
+ color: hsl(var(--muted-foreground));
338
+ margin-top: 0.25rem;
339
+ }
340
+
341
+ .ctx-asset-exports code {
342
+ color: hsl(var(--foreground));
343
+ }
344
+
345
+ /* Dependencies Styles */
346
+ .ctx-deps-section {
347
+ margin-bottom: 1rem;
348
+ }
349
+
350
+ .ctx-deps-title {
351
+ font-size: 0.75rem;
352
+ font-weight: 600;
353
+ color: hsl(var(--muted-foreground));
354
+ margin-bottom: 0.5rem;
355
+ text-transform: uppercase;
356
+ letter-spacing: 0.05em;
357
+ }
358
+
359
+ .ctx-deps-list {
360
+ display: flex;
361
+ flex-direction: column;
362
+ gap: 0.375rem;
363
+ }
364
+
365
+ .ctx-dep-item {
366
+ display: flex;
367
+ align-items: center;
368
+ justify-content: space-between;
369
+ padding: 0.5rem 0.75rem;
370
+ background: hsl(var(--muted) / 0.2);
371
+ border-radius: 0.375rem;
372
+ }
373
+
374
+ .ctx-dep-name {
375
+ font-size: 0.8rem;
376
+ color: hsl(var(--foreground));
377
+ font-weight: 500;
378
+ }
379
+
380
+ .ctx-dep-type {
381
+ padding: 0.125rem 0.5rem;
382
+ border-radius: 0.25rem;
383
+ font-size: 0.65rem;
384
+ font-weight: 600;
385
+ }
386
+
387
+ .ctx-dep-type.critical {
388
+ background: hsl(var(--destructive) / 0.15);
389
+ color: hsl(var(--destructive));
390
+ }
391
+
392
+ .ctx-dep-type.important {
393
+ background: hsl(38 92% 50% / 0.15);
394
+ color: hsl(38 92% 45%);
395
+ }
396
+
397
+ .ctx-dep-type.optional {
398
+ background: hsl(var(--muted));
399
+ color: hsl(var(--muted-foreground));
400
+ }
401
+
402
+ .ctx-dep-reason {
403
+ font-size: 0.7rem;
404
+ color: hsl(var(--muted-foreground));
405
+ margin-top: 0.25rem;
406
+ }
407
+
408
+ /* Conflicts & Risk Styles */
409
+ .ctx-risk-section {
410
+ margin-bottom: 1rem;
411
+ }
412
+
413
+ .ctx-risk-header {
414
+ display: flex;
415
+ align-items: center;
416
+ gap: 0.5rem;
417
+ margin-bottom: 0.75rem;
418
+ }
419
+
420
+ .ctx-risk-label {
421
+ font-size: 0.75rem;
422
+ font-weight: 600;
423
+ color: hsl(var(--muted-foreground));
424
+ text-transform: uppercase;
425
+ letter-spacing: 0.05em;
426
+ }
427
+
428
+ .ctx-risk-badge {
429
+ padding: 0.25rem 0.75rem;
430
+ border-radius: 0.375rem;
431
+ font-size: 0.7rem;
432
+ font-weight: 700;
433
+ text-transform: uppercase;
434
+ }
435
+
436
+ .ctx-risk-badge.high {
437
+ background: hsl(var(--destructive) / 0.15);
438
+ color: hsl(var(--destructive));
439
+ }
440
+
441
+ .ctx-risk-badge.medium {
442
+ background: hsl(38 92% 50% / 0.15);
443
+ color: hsl(38 92% 45%);
444
+ }
445
+
446
+ .ctx-risk-badge.low {
447
+ background: hsl(142 76% 36% / 0.15);
448
+ color: hsl(142 76% 36%);
449
+ }
450
+
451
+ .ctx-potential-conflicts {
452
+ margin-bottom: 1rem;
453
+ }
454
+
455
+ .ctx-conflict-item {
456
+ padding: 0.75rem;
457
+ background: hsl(var(--destructive) / 0.05);
458
+ border-left: 3px solid hsl(var(--destructive));
459
+ border-radius: 0.375rem;
460
+ margin-bottom: 0.5rem;
461
+ }
462
+
463
+ .ctx-conflict-type {
464
+ font-size: 0.7rem;
465
+ font-weight: 600;
466
+ color: hsl(var(--destructive));
467
+ text-transform: uppercase;
468
+ margin-bottom: 0.25rem;
469
+ }
470
+
471
+ .ctx-conflict-desc {
472
+ font-size: 0.8rem;
473
+ color: hsl(var(--foreground));
474
+ }
475
+
476
+ /* Resolved & Historical Conflicts */
477
+ .ctx-resolved-section {
478
+ margin-bottom: 1rem;
479
+ }
480
+
481
+ .ctx-resolved-title {
482
+ font-size: 0.75rem;
483
+ font-weight: 600;
484
+ color: hsl(142 76% 36%);
485
+ margin-bottom: 0.5rem;
486
+ }
487
+
488
+ .ctx-resolved-item {
489
+ padding: 0.75rem;
490
+ background: hsl(142 76% 36% / 0.05);
491
+ border-left: 3px solid hsl(142 76% 36%);
492
+ border-radius: 0.375rem;
493
+ margin-bottom: 0.5rem;
494
+ }
495
+
496
+ .ctx-resolved-type {
497
+ font-size: 0.7rem;
498
+ font-weight: 600;
499
+ color: hsl(142 76% 36%);
500
+ text-transform: uppercase;
501
+ margin-bottom: 0.25rem;
502
+ }
503
+
504
+ .ctx-resolved-desc {
505
+ font-size: 0.8rem;
506
+ color: hsl(var(--foreground));
507
+ margin-bottom: 0.375rem;
508
+ }
509
+
510
+ .ctx-resolution {
511
+ font-size: 0.75rem;
512
+ color: hsl(var(--muted-foreground));
513
+ padding: 0.5rem;
514
+ background: hsl(var(--muted) / 0.3);
515
+ border-radius: 0.25rem;
516
+ }
517
+
518
+ .ctx-resolution-label {
519
+ font-weight: 600;
520
+ color: hsl(var(--foreground));
521
+ }
522
+
523
+ .ctx-historical-section {
524
+ margin-top: 1rem;
525
+ padding-top: 1rem;
526
+ border-top: 1px solid hsl(var(--border));
527
+ }
528
+
529
+ .ctx-historical-title {
530
+ font-size: 0.75rem;
531
+ font-weight: 600;
532
+ color: hsl(var(--muted-foreground));
533
+ margin-bottom: 0.5rem;
534
+ }
535
+
536
+ .ctx-historical-item {
537
+ padding: 0.5rem 0.75rem;
538
+ background: hsl(var(--muted) / 0.2);
539
+ border-radius: 0.375rem;
540
+ margin-bottom: 0.375rem;
541
+ display: flex;
542
+ align-items: center;
543
+ justify-content: space-between;
544
+ }
545
+
546
+ .ctx-historical-pattern {
547
+ font-size: 0.8rem;
548
+ color: hsl(var(--foreground));
549
+ }
550
+
551
+ .ctx-historical-count {
552
+ font-size: 0.7rem;
553
+ padding: 0.125rem 0.5rem;
554
+ background: hsl(var(--muted));
555
+ border-radius: 0.25rem;
556
+ color: hsl(var(--muted-foreground));
557
+ }
558
+
559
+ /* Empty State */
560
+ .ctx-empty {
561
+ padding: 1.5rem;
562
+ text-align: center;
563
+ color: hsl(var(--muted-foreground));
564
+ font-size: 0.85rem;
565
+ font-style: italic;
566
+ }
567
+
568
+ /* Grid Lines for Context Package */
569
+ .ctx-section {
570
+ border: 1px solid hsl(var(--border) / 0.5);
571
+ }
572
+
573
+ .ctx-section-header {
574
+ border-bottom: 1px solid hsl(var(--border) / 0.3);
575
+ }
576
+
577
+ .ctx-meta-grid {
578
+ border: 1px solid hsl(var(--border) / 0.3);
579
+ border-radius: 0.375rem;
580
+ overflow: hidden;
581
+ }
582
+
583
+ .ctx-meta-item {
584
+ border-bottom: 1px solid hsl(var(--border) / 0.2);
585
+ }
586
+
587
+ .ctx-meta-item:last-child {
588
+ border-bottom: none;
589
+ }
590
+
591
+ .ctx-tech-grid {
592
+ border: 1px solid hsl(var(--border) / 0.3);
593
+ border-radius: 0.375rem;
594
+ padding: 0.75rem;
595
+ }
596
+
597
+ .ctx-arch-subsection {
598
+ border: 1px solid hsl(var(--border) / 0.3);
599
+ border-radius: 0.375rem;
600
+ overflow: hidden;
601
+ }
602
+
603
+ .ctx-arch-title {
604
+ border-bottom: 1px solid hsl(var(--border) / 0.2);
605
+ padding-bottom: 0.375rem;
606
+ margin-bottom: 0.5rem;
607
+ }
608
+
609
+ .ctx-pattern-item {
610
+ border-bottom: 1px dashed hsl(var(--border) / 0.3);
611
+ padding-bottom: 0.5rem;
612
+ }
613
+
614
+ .ctx-pattern-item:last-child {
615
+ border-bottom: none;
616
+ padding-bottom: 0;
617
+ }
618
+
619
+ .ctx-asset-tabs {
620
+ border-bottom: 1px solid hsl(var(--border) / 0.5);
621
+ padding-bottom: 0.5rem;
622
+ margin-bottom: 0.75rem;
623
+ }
624
+
625
+ .ctx-asset-item {
626
+ border: 1px solid hsl(var(--border) / 0.3);
627
+ }
628
+
629
+ .ctx-deps-section {
630
+ border: 1px solid hsl(var(--border) / 0.3);
631
+ border-radius: 0.375rem;
632
+ padding: 0.75rem;
633
+ }
634
+
635
+ .ctx-dep-item {
636
+ border: 1px solid hsl(var(--border) / 0.2);
637
+ }
638
+
639
+ .ctx-conflict-item,
640
+ .ctx-resolved-item {
641
+ border: 1px solid hsl(var(--border) / 0.3);
642
+ }
643
+
644
+ .ctx-historical-section {
645
+ border-top: 1px dashed hsl(var(--border) / 0.5);
646
+ }
647
+
648
+ .ctx-historical-item {
649
+ border: 1px solid hsl(var(--border) / 0.2);
650
+ }
651
+
652
+ /* List Markers for Implementation Steps */
653
+ .impl-step-mods ul,
654
+ .impl-step-flow ol {
655
+ list-style-position: inside;
656
+ padding-left: 0.5rem;
657
+ }
658
+
659
+ .impl-step-mods ul {
660
+ list-style-type: disc;
661
+ }
662
+
663
+ .impl-step-mods ul li {
664
+ padding: 0.25rem 0;
665
+ padding-left: 0.25rem;
666
+ }
667
+
668
+ .impl-step-flow ol {
669
+ list-style-type: decimal;
670
+ counter-reset: none;
671
+ }
672
+
673
+ .impl-step-flow ol li {
674
+ padding: 0.25rem 0;
675
+ padding-left: 0.25rem;
676
+ }
677
+
678
+ .impl-step-flow ol li::marker {
679
+ color: hsl(var(--primary));
680
+ font-weight: 600;
681
+ }
682
+
683
+ .impl-step-mods ul li::marker {
684
+ color: hsl(var(--muted-foreground));
685
+ }
686
+
687
+ /* Context Package List Markers */
688
+ .ctx-pattern-list {
689
+ list-style-type: decimal;
690
+ list-style-position: inside;
691
+ padding-left: 0.5rem;
692
+ }
693
+
694
+ .ctx-pattern-item {
695
+ display: list-item;
696
+ }
697
+
698
+ .ctx-convention-list,
699
+ .ctx-integration-list {
700
+ list-style-type: disc;
701
+ list-style-position: inside;
702
+ padding-left: 0.5rem;
703
+ }
704
+
705
+ .ctx-deps-list {
706
+ counter-reset: dep-counter;
707
+ }
708
+
709
+ .ctx-dep-item {
710
+ counter-increment: dep-counter;
711
+ position: relative;
712
+ padding-left: 1.75rem;
713
+ }
714
+
715
+ .ctx-dep-item::before {
716
+ content: counter(dep-counter) ".";
717
+ position: absolute;
718
+ left: 0.5rem;
719
+ color: hsl(var(--muted-foreground));
720
+ font-weight: 600;
721
+ font-size: 0.75rem;
722
+ }
723
+
724
+ /* Enhanced List Markers */
725
+ .ctx-pattern-list li {
726
+ padding: 0.375rem 0;
727
+ line-height: 1.5;
728
+ }
729
+
730
+ .ctx-pattern-list li::marker {
731
+ color: hsl(var(--primary));
732
+ font-weight: 600;
733
+ }
734
+
735
+ /* Task Detail Lists */
736
+ .impl-steps {
737
+ list-style-type: decimal;
738
+ list-style-position: inside;
739
+ padding-left: 0.5rem;
740
+ }
741
+
742
+ .impl-steps li {
743
+ padding: 0.375rem 0;
744
+ line-height: 1.5;
745
+ }
746
+
747
+ .impl-steps li::marker {
748
+ color: hsl(var(--primary));
749
+ font-weight: 600;
750
+ }
751
+
752
+ .mod-points {
753
+ counter-reset: mod-counter;
754
+ }
755
+
756
+ .mod-point {
757
+ counter-increment: mod-counter;
758
+ position: relative;
759
+ padding-left: 1.5rem;
760
+ margin-bottom: 0.375rem;
761
+ }
762
+
763
+ .mod-point::before {
764
+ content: counter(mod-counter) ".";
765
+ position: absolute;
766
+ left: 0;
767
+ color: hsl(var(--muted-foreground));
768
+ font-weight: 600;
769
+ font-size: 0.8rem;
770
+ }
771
+
772
+ /* Dependencies Section - Improved Layout */
773
+ .ctx-deps-grid {
774
+ display: flex;
775
+ flex-direction: column;
776
+ gap: 0.5rem;
777
+ }
778
+
779
+ .ctx-dep-card {
780
+ display: flex;
781
+ align-items: baseline;
782
+ gap: 0.75rem;
783
+ padding: 0.625rem 0.75rem;
784
+ background: hsl(var(--muted) / 0.15);
785
+ border: 1px solid hsl(var(--border) / 0.3);
786
+ border-radius: 0.375rem;
787
+ font-size: 0.8rem;
788
+ }
789
+
790
+ .ctx-dep-name {
791
+ font-weight: 600;
792
+ color: hsl(var(--foreground));
793
+ min-width: 100px;
794
+ }
795
+
796
+ .ctx-dep-version {
797
+ padding: 0.125rem 0.5rem;
798
+ background: hsl(var(--primary) / 0.15);
799
+ color: hsl(var(--primary));
800
+ border-radius: 0.25rem;
801
+ font-size: 0.75rem;
802
+ font-weight: 500;
803
+ font-family: var(--font-mono);
804
+ }
805
+
806
+ .ctx-dep-usage {
807
+ color: hsl(var(--muted-foreground));
808
+ font-size: 0.8rem;
809
+ flex: 1;
810
+ }
811
+
812
+ /* Internal Dependencies */
813
+ .ctx-internal-deps {
814
+ display: flex;
815
+ flex-direction: column;
816
+ gap: 0.375rem;
817
+ }
818
+
819
+ .ctx-internal-dep {
820
+ display: flex;
821
+ align-items: center;
822
+ gap: 0.5rem;
823
+ padding: 0.5rem 0.75rem;
824
+ background: hsl(var(--muted) / 0.1);
825
+ border: 1px solid hsl(var(--border) / 0.2);
826
+ border-radius: 0.375rem;
827
+ font-size: 0.8rem;
828
+ }
829
+
830
+ .ctx-dep-from,
831
+ .ctx-dep-to {
832
+ padding: 0.25rem 0.5rem;
833
+ background: hsl(var(--muted));
834
+ border-radius: 0.25rem;
835
+ font-size: 0.8rem;
836
+ font-family: var(--font-mono);
837
+ color: hsl(var(--foreground));
838
+ }
839
+
840
+ .ctx-dep-arrow {
841
+ color: hsl(var(--muted-foreground));
842
+ font-size: 0.8rem;
843
+ }
844
+
845
+ .ctx-dep-type {
846
+ margin-left: auto;
847
+ padding: 0.2rem 0.5rem;
848
+ background: hsl(var(--primary) / 0.1);
849
+ color: hsl(var(--primary));
850
+ border-radius: 0.25rem;
851
+ font-size: 0.7rem;
852
+ font-weight: 500;
853
+ }
854
+
855
+ /* Coding Conventions - Parsed Values */
856
+ .ctx-conventions-grid {
857
+ display: grid;
858
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
859
+ gap: 0.75rem;
860
+ }
861
+
862
+ .ctx-convention-item {
863
+ background: hsl(var(--card));
864
+ border: 1px solid hsl(var(--border) / 0.5);
865
+ border-radius: 0.5rem;
866
+ overflow: hidden;
867
+ }
868
+
869
+ .ctx-convention-key {
870
+ padding: 0.5rem 0.75rem;
871
+ background: hsl(var(--muted) / 0.3);
872
+ font-weight: 600;
873
+ font-size: 0.8rem;
874
+ color: hsl(var(--foreground));
875
+ text-transform: capitalize;
876
+ border-bottom: 1px solid hsl(var(--border) / 0.3);
877
+ }
878
+
879
+ .ctx-convention-body {
880
+ padding: 0.625rem 0.75rem;
881
+ }
882
+
883
+ .ctx-conv-entries {
884
+ display: flex;
885
+ flex-direction: column;
886
+ gap: 0.375rem;
887
+ }
888
+
889
+ .ctx-conv-entry {
890
+ display: flex;
891
+ gap: 0.5rem;
892
+ font-size: 0.8rem;
893
+ line-height: 1.4;
894
+ }
895
+
896
+ .ctx-conv-label {
897
+ color: hsl(var(--muted-foreground));
898
+ min-width: 80px;
899
+ flex-shrink: 0;
900
+ text-transform: capitalize;
901
+ }
902
+
903
+ .ctx-conv-value {
904
+ color: hsl(var(--foreground));
905
+ word-break: break-word;
906
+ }
907
+
908
+ .ctx-conv-text {
909
+ font-size: 0.8rem;
910
+ color: hsl(var(--foreground));
911
+ }
912
+
913
+ .ctx-conv-list {
914
+ list-style-type: disc;
915
+ list-style-position: inside;
916
+ padding-left: 0.25rem;
917
+ font-size: 0.8rem;
918
+ }
919
+
920
+ .ctx-conv-list li {
921
+ padding: 0.125rem 0;
922
+ }
923
+
924
+ .ctx-conv-empty {
925
+ color: hsl(var(--muted-foreground));
926
+ font-style: italic;
927
+ }
928
+
929
+ /* Pre-Analysis Sub-Step Numbering */
930
+ ol.step-commands {
931
+ list-style-type: decimal;
932
+ list-style-position: inside;
933
+ padding-left: 0.25rem;
934
+ margin: 0.375rem 0;
935
+ }
936
+
937
+ ol.step-commands li {
938
+ padding: 0.25rem 0;
939
+ font-size: 0.8rem;
940
+ }
941
+
942
+ ol.step-commands li::marker {
943
+ color: hsl(var(--muted-foreground));
944
+ font-weight: 500;
945
+ }
946
+
947
+ ol.step-commands code {
948
+ background: hsl(var(--muted) / 0.5);
949
+ padding: 0.125rem 0.375rem;
950
+ border-radius: 0.25rem;
951
+ font-size: 0.75rem;
952
+ }
953
+
954
+ .step-output-label {
955
+ color: hsl(var(--muted-foreground));
956
+ font-weight: 500;
957
+ }
958
+
959
+ /* ========================================
960
+ Review Session Page Styles
961
+ ======================================== */
962
+
963
+ /* Review Progress Section */
964
+ .review-progress-section {
965
+ background: hsl(var(--card));
966
+ border: 1px solid hsl(var(--border));
967
+ border-radius: 0.5rem;
968
+ padding: 1.25rem;
969
+ margin-bottom: 1.5rem;
970
+ }
971
+
972
+ .review-progress-header {
973
+ display: flex;
974
+ align-items: center;
975
+ justify-content: space-between;
976
+ margin-bottom: 1rem;
977
+ }
978
+
979
+ .review-progress-header h3 {
980
+ font-size: 1rem;
981
+ font-weight: 600;
982
+ color: hsl(var(--foreground));
983
+ margin: 0;
984
+ }
985
+
986
+ .phase-badge {
987
+ padding: 0.25rem 0.75rem;
988
+ border-radius: 1rem;
989
+ font-size: 0.75rem;
990
+ font-weight: 600;
991
+ text-transform: uppercase;
992
+ }
993
+
994
+ .phase-badge.in-progress {
995
+ background: hsl(var(--primary) / 0.15);
996
+ color: hsl(var(--primary));
997
+ }
998
+
999
+ .phase-badge.completed {
1000
+ background: hsl(142 76% 36% / 0.15);
1001
+ color: hsl(142 76% 36%);
1002
+ }
1003
+
1004
+ /* Summary Cards Grid */
1005
+ .review-summary-grid {
1006
+ display: grid;
1007
+ grid-template-columns: repeat(4, 1fr);
1008
+ gap: 1rem;
1009
+ margin-bottom: 1.25rem;
1010
+ }
1011
+
1012
+ @media (max-width: 768px) {
1013
+ .review-summary-grid {
1014
+ grid-template-columns: repeat(2, 1fr);
1015
+ }
1016
+ }
1017
+
1018
+ .summary-card {
1019
+ background: hsl(var(--muted) / 0.3);
1020
+ border: 1px solid hsl(var(--border) / 0.5);
1021
+ border-radius: 0.5rem;
1022
+ padding: 1rem;
1023
+ text-align: center;
1024
+ transition: transform 0.15s, box-shadow 0.15s;
1025
+ }
1026
+
1027
+ .summary-card:hover {
1028
+ transform: translateY(-2px);
1029
+ box-shadow: 0 4px 12px hsl(var(--foreground) / 0.1);
1030
+ }
1031
+
1032
+ .summary-card.critical {
1033
+ border-color: hsl(0 70% 50% / 0.3);
1034
+ background: hsl(0 70% 50% / 0.05);
1035
+ }
1036
+
1037
+ .summary-card.high {
1038
+ border-color: hsl(25 90% 50% / 0.3);
1039
+ background: hsl(25 90% 50% / 0.05);
1040
+ }
1041
+
1042
+ .summary-icon {
1043
+ font-size: 1.5rem;
1044
+ margin-bottom: 0.375rem;
1045
+ }
1046
+
1047
+ .summary-value {
1048
+ font-size: 1.75rem;
1049
+ font-weight: 700;
1050
+ color: hsl(var(--foreground));
1051
+ line-height: 1.2;
1052
+ }
1053
+
1054
+ .summary-card.critical .summary-value {
1055
+ color: hsl(0 70% 45%);
1056
+ }
1057
+
1058
+ .summary-card.high .summary-value {
1059
+ color: hsl(25 90% 45%);
1060
+ }
1061
+
1062
+ .summary-label {
1063
+ font-size: 0.75rem;
1064
+ color: hsl(var(--muted-foreground));
1065
+ text-transform: uppercase;
1066
+ font-weight: 500;
1067
+ letter-spacing: 0.025em;
1068
+ }
1069
+
1070
+ /* Dimension Timeline */
1071
+ .dimension-timeline {
1072
+ display: flex;
1073
+ gap: 0.5rem;
1074
+ overflow-x: auto;
1075
+ padding: 0.5rem 0;
1076
+ }
1077
+
1078
+ .dimension-item {
1079
+ flex: 0 0 auto;
1080
+ min-width: 120px;
1081
+ padding: 0.75rem;
1082
+ background: hsl(var(--muted) / 0.2);
1083
+ border: 1px solid hsl(var(--border) / 0.5);
1084
+ border-radius: 0.375rem;
1085
+ text-align: center;
1086
+ transition: all 0.15s;
1087
+ cursor: pointer;
1088
+ }
1089
+
1090
+ .dimension-item:hover {
1091
+ background: hsl(var(--muted) / 0.4);
1092
+ }
1093
+
1094
+ .dimension-item.completed {
1095
+ border-color: hsl(142 76% 36% / 0.5);
1096
+ background: hsl(142 76% 36% / 0.05);
1097
+ }
1098
+
1099
+ .dimension-item.in-progress {
1100
+ border-color: hsl(var(--primary) / 0.5);
1101
+ background: hsl(var(--primary) / 0.05);
1102
+ }
1103
+
1104
+ .dimension-number {
1105
+ font-size: 0.7rem;
1106
+ font-weight: 600;
1107
+ color: hsl(var(--muted-foreground));
1108
+ margin-bottom: 0.25rem;
1109
+ }
1110
+
1111
+ .dimension-name {
1112
+ font-size: 0.8rem;
1113
+ font-weight: 500;
1114
+ color: hsl(var(--foreground));
1115
+ margin-bottom: 0.25rem;
1116
+ }
1117
+
1118
+ .dimension-stats {
1119
+ font-size: 0.7rem;
1120
+ color: hsl(var(--muted-foreground));
1121
+ }
1122
+
1123
+ /* Review Findings Section */
1124
+ .review-findings-section {
1125
+ background: hsl(var(--card));
1126
+ border: 1px solid hsl(var(--border));
1127
+ border-radius: 0.5rem;
1128
+ padding: 1.25rem;
1129
+ margin-bottom: 1.5rem;
1130
+ }
1131
+
1132
+ .findings-header {
1133
+ display: flex;
1134
+ align-items: center;
1135
+ justify-content: space-between;
1136
+ margin-bottom: 1rem;
1137
+ flex-wrap: wrap;
1138
+ gap: 0.75rem;
1139
+ }
1140
+
1141
+ .findings-header h3 {
1142
+ font-size: 1rem;
1143
+ font-weight: 600;
1144
+ color: hsl(var(--foreground));
1145
+ margin: 0;
1146
+ }
1147
+
1148
+ .findings-filters {
1149
+ display: flex;
1150
+ gap: 0.375rem;
1151
+ }
1152
+
1153
+ .filter-btn {
1154
+ padding: 0.375rem 0.75rem;
1155
+ border: 1px solid hsl(var(--border));
1156
+ border-radius: 0.25rem;
1157
+ background: transparent;
1158
+ color: hsl(var(--muted-foreground));
1159
+ font-size: 0.75rem;
1160
+ font-weight: 500;
1161
+ cursor: pointer;
1162
+ transition: all 0.15s;
1163
+ }
1164
+
1165
+ .filter-btn:hover {
1166
+ background: hsl(var(--muted) / 0.5);
1167
+ }
1168
+
1169
+ .filter-btn.active {
1170
+ background: hsl(var(--primary));
1171
+ color: hsl(var(--primary-foreground));
1172
+ border-color: hsl(var(--primary));
1173
+ }
1174
+
1175
+ /* Findings Grid */
1176
+ .findings-grid {
1177
+ display: flex;
1178
+ flex-direction: column;
1179
+ gap: 1.25rem;
1180
+ }
1181
+
1182
+ .dimension-findings-group {
1183
+ border: 1px solid hsl(var(--border) / 0.5);
1184
+ border-radius: 0.5rem;
1185
+ overflow: hidden;
1186
+ }
1187
+
1188
+ .dimension-group-header {
1189
+ display: flex;
1190
+ align-items: center;
1191
+ justify-content: space-between;
1192
+ padding: 0.75rem 1rem;
1193
+ background: hsl(var(--muted) / 0.3);
1194
+ border-bottom: 1px solid hsl(var(--border) / 0.3);
1195
+ }
1196
+
1197
+ .dimension-badge {
1198
+ padding: 0.25rem 0.625rem;
1199
+ background: hsl(var(--primary) / 0.15);
1200
+ color: hsl(var(--primary));
1201
+ border-radius: 0.25rem;
1202
+ font-size: 0.8rem;
1203
+ font-weight: 600;
1204
+ }
1205
+
1206
+ .dimension-count {
1207
+ font-size: 0.75rem;
1208
+ color: hsl(var(--muted-foreground));
1209
+ }
1210
+
1211
+ .findings-cards {
1212
+ display: grid;
1213
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1214
+ gap: 0.75rem;
1215
+ padding: 1rem;
1216
+ }
1217
+
1218
+ .finding-card {
1219
+ background: hsl(var(--card));
1220
+ border: 1px solid hsl(var(--border) / 0.5);
1221
+ border-radius: 0.375rem;
1222
+ padding: 0.875rem;
1223
+ transition: all 0.15s;
1224
+ }
1225
+
1226
+ .finding-card:hover {
1227
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.08);
1228
+ }
1229
+
1230
+ .finding-card.severity-critical {
1231
+ border-left: 3px solid hsl(0 70% 50%);
1232
+ }
1233
+
1234
+ .finding-card.severity-high {
1235
+ border-left: 3px solid hsl(25 90% 50%);
1236
+ }
1237
+
1238
+ .finding-card.severity-medium {
1239
+ border-left: 3px solid hsl(45 90% 45%);
1240
+ }
1241
+
1242
+ .finding-card.severity-low {
1243
+ border-left: 3px solid hsl(142 76% 36%);
1244
+ }
1245
+
1246
+ .finding-card-header {
1247
+ display: flex;
1248
+ align-items: center;
1249
+ gap: 0.5rem;
1250
+ margin-bottom: 0.5rem;
1251
+ }
1252
+
1253
+ .finding-card-title {
1254
+ font-size: 0.85rem;
1255
+ font-weight: 600;
1256
+ color: hsl(var(--foreground));
1257
+ margin-bottom: 0.375rem;
1258
+ line-height: 1.4;
1259
+ }
1260
+
1261
+ .finding-card-desc {
1262
+ font-size: 0.8rem;
1263
+ color: hsl(var(--muted-foreground));
1264
+ line-height: 1.5;
1265
+ margin-bottom: 0.5rem;
1266
+ }
1267
+
1268
+ .finding-card-file {
1269
+ font-size: 0.75rem;
1270
+ color: hsl(var(--primary));
1271
+ font-family: var(--font-mono);
1272
+ }
1273
+
1274
+ .fix-status-badge {
1275
+ padding: 0.125rem 0.5rem;
1276
+ border-radius: 0.75rem;
1277
+ font-size: 0.65rem;
1278
+ font-weight: 600;
1279
+ text-transform: uppercase;
1280
+ }
1281
+
1282
+ .fix-status-badge.status-pending {
1283
+ background: hsl(var(--muted));
1284
+ color: hsl(var(--muted-foreground));
1285
+ }
1286
+
1287
+ .fix-status-badge.status-in-progress {
1288
+ background: hsl(var(--primary) / 0.15);
1289
+ color: hsl(var(--primary));
1290
+ }
1291
+
1292
+ .fix-status-badge.status-fixed {
1293
+ background: hsl(142 76% 36% / 0.15);
1294
+ color: hsl(142 76% 36%);
1295
+ }
1296
+
1297
+ .fix-status-badge.status-failed {
1298
+ background: hsl(0 70% 50% / 0.15);
1299
+ color: hsl(0 70% 50%);
1300
+ }
1301
+
1302
+ /* Review Header Controls */
1303
+ .review-header-controls {
1304
+ display: flex;
1305
+ align-items: center;
1306
+ gap: 1rem;
1307
+ flex-wrap: wrap;
1308
+ margin-bottom: 1rem;
1309
+ padding: 0.75rem 1rem;
1310
+ background: hsl(var(--muted) / 0.2);
1311
+ border: 1px solid hsl(var(--border) / 0.5);
1312
+ border-radius: 0.375rem;
1313
+ }
1314
+
1315
+ .selection-controls {
1316
+ display: flex;
1317
+ align-items: center;
1318
+ gap: 0.5rem;
1319
+ }
1320
+
1321
+ .selection-counter {
1322
+ font-size: 0.8rem;
1323
+ color: hsl(var(--muted-foreground));
1324
+ font-weight: 500;
1325
+ }
1326
+
1327
+ .selection-btn {
1328
+ padding: 0.25rem 0.5rem;
1329
+ font-size: 0.75rem;
1330
+ }
1331
+
1332
+ .finding-checkbox {
1333
+ width: 16px;
1334
+ height: 16px;
1335
+ cursor: pointer;
1336
+ accent-color: hsl(var(--primary));
1337
+ }
1338
+
1339
+ .export-btn-fix {
1340
+ padding: 0.5rem 1rem;
1341
+ background: hsl(142 76% 36%);
1342
+ color: white;
1343
+ border: none;
1344
+ border-radius: 0.25rem;
1345
+ font-size: 0.8rem;
1346
+ font-weight: 500;
1347
+ cursor: pointer;
1348
+ transition: all 0.15s;
1349
+ margin-left: auto;
1350
+ }
1351
+
1352
+ .export-btn-fix:hover {
1353
+ background: hsl(142 76% 30%);
1354
+ }
1355
+
1356
+ .export-btn-fix:disabled {
1357
+ opacity: 0.5;
1358
+ cursor: not-allowed;
1359
+ }
1360
+
1361
+ /* Empty State */
1362
+ .empty-state {
1363
+ display: flex;
1364
+ flex-direction: column;
1365
+ align-items: center;
1366
+ justify-content: center;
1367
+ padding: 3rem;
1368
+ color: hsl(var(--muted-foreground));
1369
+ }
1370
+
1371
+ .empty-icon {
1372
+ font-size: 3rem;
1373
+ margin-bottom: 1rem;
1374
+ opacity: 0.5;
1375
+ }
1376
+
1377
+ .empty-text {
1378
+ font-size: 0.9rem;
1379
+ }
1380
+
1381
+ /* Exploration Context Styles */
1382
+ .exploration-context {
1383
+ padding: 16px;
1384
+ }
1385
+
1386
+ .exploration-header {
1387
+ margin-bottom: 20px;
1388
+ padding: 16px;
1389
+ background: linear-gradient(135deg, hsl(var(--primary-light)) 0%, hsl(var(--muted)) 100%);
1390
+ border-radius: 12px;
1391
+ border: 1px solid hsl(var(--border));
1392
+ }
1393
+
1394
+ .exploration-header h4 {
1395
+ font-size: 15px;
1396
+ font-weight: 600;
1397
+ color: hsl(var(--foreground));
1398
+ margin: 0 0 12px 0;
1399
+ line-height: 1.4;
1400
+ display: flex;
1401
+ align-items: center;
1402
+ gap: 8px;
1403
+ }
1404
+
1405
+ .exploration-header h4::before {
1406
+ content: '🔍';
1407
+ font-size: 16px;
1408
+ }
1409
+
1410
+ .exploration-meta {
1411
+ display: flex;
1412
+ flex-wrap: wrap;
1413
+ gap: 12px;
1414
+ font-size: 12px;
1415
+ color: hsl(var(--muted-foreground));
1416
+ }
1417
+
1418
+ .exploration-meta .meta-item {
1419
+ display: inline-flex;
1420
+ align-items: center;
1421
+ gap: 4px;
1422
+ padding: 4px 10px;
1423
+ background: hsl(var(--card));
1424
+ border-radius: 16px;
1425
+ border: 1px solid hsl(var(--border));
1426
+ }
1427
+
1428
+ .exploration-meta .meta-item strong {
1429
+ color: hsl(var(--primary));
1430
+ font-weight: 600;
1431
+ }
1432
+
1433
+ .exploration-section {
1434
+ margin-bottom: 8px;
1435
+ border: 1px solid hsl(var(--border));
1436
+ border-radius: 6px;
1437
+ overflow: hidden;
1438
+ }
1439
+
1440
+ .exploration-section .collapsible-header {
1441
+ padding: 10px 12px;
1442
+ background: hsl(var(--muted));
1443
+ cursor: pointer;
1444
+ display: flex;
1445
+ align-items: center;
1446
+ gap: 8px;
1447
+ }
1448
+
1449
+ .exploration-section .collapsible-header:hover {
1450
+ background: hsl(var(--accent));
1451
+ }
1452
+
1453
+ .exploration-section .collapsible-content {
1454
+ display: block;
1455
+ padding: 12px;
1456
+ background: hsl(var(--card));
1457
+ }
1458
+
1459
+ .exploration-section .collapsible-content.collapsed {
1460
+ display: none;
1461
+ }
1462
+
1463
+ /* Exploration Field Cards */
1464
+ .exp-field {
1465
+ margin-bottom: 16px;
1466
+ padding: 14px;
1467
+ background: hsl(var(--card));
1468
+ border: 1px solid hsl(var(--border));
1469
+ border-radius: 8px;
1470
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
1471
+ }
1472
+
1473
+ .exp-field:last-child {
1474
+ margin-bottom: 0;
1475
+ }
1476
+
1477
+ .exp-field label {
1478
+ display: inline-flex;
1479
+ align-items: center;
1480
+ gap: 6px;
1481
+ font-size: 12px;
1482
+ font-weight: 600;
1483
+ color: hsl(var(--primary));
1484
+ margin-bottom: 10px;
1485
+ padding: 4px 10px;
1486
+ background: hsl(var(--primary-light));
1487
+ border-radius: 4px;
1488
+ }
1489
+
1490
+ .exp-field p {
1491
+ font-size: 13px;
1492
+ line-height: 1.7;
1493
+ color: hsl(var(--foreground));
1494
+ margin: 0;
1495
+ white-space: pre-wrap;
1496
+ }
1497
+
1498
+
1499
+ /* Relevant Files Grid */
1500
+ /* File Item Card */
1501
+ .file-item-exp {
1502
+ padding: 12px 14px;
1503
+ background: hsl(var(--muted));
1504
+ border-radius: 8px;
1505
+ border: 1px solid hsl(var(--border));
1506
+ transition: box-shadow 0.15s ease, border-color 0.15s ease;
1507
+ }
1508
+
1509
+ .file-item-exp:hover {
1510
+ border-color: hsl(var(--primary));
1511
+ box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
1512
+ }
1513
+
1514
+ .file-item-exp .file-path {
1515
+ display: flex;
1516
+ align-items: center;
1517
+ gap: 6px;
1518
+ margin-bottom: 6px;
1519
+ }
1520
+
1521
+ .file-item-exp .file-path::before {
1522
+ content: '📄';
1523
+ font-size: 12px;
1524
+ }
1525
+
1526
+ .file-item-exp .file-path code {
1527
+ font-size: 12px;
1528
+ font-weight: 500;
1529
+ color: hsl(var(--foreground));
1530
+ word-break: break-all;
1531
+ }
1532
+
1533
+ .file-item-exp .file-relevance {
1534
+ display: inline-block;
1535
+ font-size: 11px;
1536
+ font-weight: 600;
1537
+ color: hsl(var(--success));
1538
+ background: hsl(var(--success-light));
1539
+ padding: 2px 8px;
1540
+ border-radius: 10px;
1541
+ margin-bottom: 6px;
1542
+ }
1543
+
1544
+ .file-item-exp .file-rationale {
1545
+ font-size: 12px;
1546
+ color: hsl(var(--muted-foreground));
1547
+ line-height: 1.5;
1548
+ margin: 0;
1549
+ }
1550
+
1551
+ .more-files {
1552
+ font-size: 12px;
1553
+ color: hsl(var(--muted-foreground));
1554
+ font-style: italic;
1555
+ padding: 8px 0;
1556
+ }
1557
+
1558
+ .clarification-list {
1559
+ display: flex;
1560
+ flex-direction: column;
1561
+ gap: 12px;
1562
+ }
1563
+
1564
+ .clarification-item {
1565
+ padding: 10px;
1566
+ background: hsl(var(--warning-light));
1567
+ border: 1px solid hsl(var(--warning));
1568
+ border-radius: 6px;
1569
+ }
1570
+
1571
+ .clarification-question {
1572
+ font-size: 13px;
1573
+ font-weight: 500;
1574
+ color: hsl(var(--foreground));
1575
+ margin-bottom: 8px;
1576
+ }
1577
+
1578
+ .clarification-options {
1579
+ display: flex;
1580
+ flex-wrap: wrap;
1581
+ gap: 6px;
1582
+ }
1583
+
1584
+ .option-badge {
1585
+ padding: 4px 8px;
1586
+ background: hsl(var(--card));
1587
+ border: 1px solid hsl(var(--border));
1588
+ border-radius: 4px;
1589
+ font-size: 11px;
1590
+ color: hsl(var(--muted-foreground));
1591
+ }
1592
+
1593
+ .option-badge.recommended {
1594
+ background: hsl(var(--success-light));
1595
+ border-color: hsl(var(--success));
1596
+ color: hsl(var(--success));
1597
+ }
1598
+
1599
+
1600
+ /* Context Package Section in Lite Tasks */
1601
+ .context-package-section {
1602
+ margin-top: 16px;
1603
+ }
1604
+
1605
+ .context-package-section .collapsible-section {
1606
+ border: 1px solid hsl(var(--border));
1607
+ border-radius: 6px;
1608
+ overflow: hidden;
1609
+ }
1610
+
1611
+ .context-package-section .collapsible-header {
1612
+ padding: 10px 12px;
1613
+ background: hsl(var(--muted));
1614
+ cursor: pointer;
1615
+ display: flex;
1616
+ align-items: center;
1617
+ gap: 8px;
1618
+ }
1619
+
1620
+ .context-package-section .collapsible-header:hover {
1621
+ background: hsl(var(--accent));
1622
+ }
1623
+
1624
+ .context-package-section .collapsible-content {
1625
+ display: block;
1626
+ padding: 12px;
1627
+ background: hsl(var(--card));
1628
+ }
1629
+
1630
+ .context-package-section .collapsible-content.collapsed {
1631
+ display: none;
1632
+ }
1633
+
1634
+ /* ==========================================
1635
+ Conflict Resolution Context Styles
1636
+ ========================================== */
1637
+ .conflict-resolution-context {
1638
+ padding: 16px;
1639
+ }
1640
+
1641
+ .conflict-resolution-header {
1642
+ margin-bottom: 20px;
1643
+ padding: 16px;
1644
+ background: linear-gradient(135deg, hsl(var(--warning-light)) 0%, hsl(var(--muted)) 100%);
1645
+ border-radius: 12px;
1646
+ border: 1px solid hsl(var(--warning));
1647
+ }
1648
+
1649
+ .conflict-resolution-header h4 {
1650
+ font-size: 15px;
1651
+ font-weight: 600;
1652
+ color: hsl(var(--foreground));
1653
+ margin: 0 0 12px 0;
1654
+ }
1655
+
1656
+ .conflict-meta {
1657
+ display: flex;
1658
+ flex-wrap: wrap;
1659
+ gap: 16px;
1660
+ font-size: 12px;
1661
+ color: hsl(var(--muted-foreground));
1662
+ }
1663
+
1664
+ .conflict-meta .meta-item {
1665
+ display: flex;
1666
+ align-items: center;
1667
+ gap: 4px;
1668
+ }
1669
+
1670
+ .conflict-meta strong {
1671
+ color: hsl(var(--foreground));
1672
+ font-weight: 500;
1673
+ }
1674
+
1675
+ /* Decisions Section */
1676
+ .conflict-decisions-section,
1677
+ .resolved-conflicts-section {
1678
+ margin-bottom: 16px;
1679
+ border: 1px solid hsl(var(--border));
1680
+ border-radius: 8px;
1681
+ overflow: hidden;
1682
+ }
1683
+
1684
+ .decisions-list,
1685
+ .conflicts-list {
1686
+ display: flex;
1687
+ flex-direction: column;
1688
+ gap: 12px;
1689
+ padding: 12px;
1690
+ }
1691
+
1692
+ .decision-item {
1693
+ padding: 14px;
1694
+ background: hsl(var(--card));
1695
+ border: 1px solid hsl(var(--border));
1696
+ border-radius: 8px;
1697
+ transition: border-color 0.15s ease;
1698
+ }
1699
+
1700
+ .decision-item:hover {
1701
+ border-color: hsl(var(--primary));
1702
+ }
1703
+
1704
+ .decision-header {
1705
+ display: flex;
1706
+ align-items: center;
1707
+ justify-content: space-between;
1708
+ gap: 12px;
1709
+ margin-bottom: 8px;
1710
+ }
1711
+
1712
+ .decision-key {
1713
+ font-size: 14px;
1714
+ font-weight: 600;
1715
+ color: hsl(var(--foreground));
1716
+ text-transform: capitalize;
1717
+ }
1718
+
1719
+ .decision-choice {
1720
+ padding: 4px 10px;
1721
+ background: hsl(var(--primary-light));
1722
+ color: hsl(var(--primary));
1723
+ border-radius: 4px;
1724
+ font-size: 12px;
1725
+ font-weight: 500;
1726
+ }
1727
+
1728
+ .decision-description {
1729
+ font-size: 13px;
1730
+ color: hsl(var(--muted-foreground));
1731
+ margin: 0 0 8px 0;
1732
+ line-height: 1.5;
1733
+ }
1734
+
1735
+ .decision-implications {
1736
+ margin-top: 8px;
1737
+ padding-top: 8px;
1738
+ border-top: 1px solid hsl(var(--border));
1739
+ }
1740
+
1741
+ .implications-label {
1742
+ font-size: 11px;
1743
+ font-weight: 600;
1744
+ color: hsl(var(--muted-foreground));
1745
+ text-transform: uppercase;
1746
+ letter-spacing: 0.5px;
1747
+ }
1748
+
1749
+ .implications-list {
1750
+ margin: 6px 0 0 0;
1751
+ padding-left: 16px;
1752
+ font-size: 12px;
1753
+ color: hsl(var(--muted-foreground));
1754
+ line-height: 1.6;
1755
+ }
1756
+
1757
+ .implications-list li {
1758
+ margin-bottom: 4px;
1759
+ }
1760
+
1761
+ /* Resolved Conflicts */
1762
+ .resolved-conflict-item {
1763
+ padding: 12px;
1764
+ background: hsl(var(--muted));
1765
+ border-radius: 6px;
1766
+ border: 1px solid hsl(var(--border));
1767
+ }
1768
+
1769
+ .conflict-row {
1770
+ display: flex;
1771
+ align-items: center;
1772
+ gap: 8px;
1773
+ margin-bottom: 8px;
1774
+ }
1775
+
1776
+ .conflict-id {
1777
+ font-family: var(--font-mono, monospace);
1778
+ font-size: 12px;
1779
+ font-weight: 600;
1780
+ color: hsl(var(--foreground));
1781
+ padding: 2px 6px;
1782
+ background: hsl(var(--card));
1783
+ border-radius: 4px;
1784
+ }
1785
+
1786
+ .conflict-category-badge {
1787
+ padding: 2px 8px;
1788
+ background: hsl(var(--primary-light));
1789
+ color: hsl(var(--primary));
1790
+ border-radius: 4px;
1791
+ font-size: 10px;
1792
+ font-weight: 500;
1793
+ text-transform: uppercase;
1794
+ letter-spacing: 0.5px;
1795
+ }
1796
+
1797
+ .conflict-brief {
1798
+ font-size: 13px;
1799
+ color: hsl(var(--foreground));
1800
+ margin-bottom: 8px;
1801
+ line-height: 1.5;
1802
+ }
1803
+
1804
+ .conflict-strategy {
1805
+ display: flex;
1806
+ align-items: center;
1807
+ gap: 6px;
1808
+ font-size: 12px;
1809
+ }
1810
+
1811
+ .strategy-label {
1812
+ color: hsl(var(--muted-foreground));
1813
+ }
1814
+
1815
+ .strategy-value {
1816
+ color: hsl(var(--success));
1817
+ font-weight: 500;
1818
+ padding: 2px 8px;
1819
+ background: hsl(var(--success-light));
1820
+ border-radius: 4px;
1821
+ }
1822
+
1823
+ /* Session Context Combined */
1824
+ .session-context-combined {
1825
+ display: flex;
1826
+ flex-direction: column;
1827
+ gap: 20px;
1828
+ }
1829
+
1830
+ .session-context-section {
1831
+ margin-top: 0;
1832
+ }
1833
+
1834
+
1835
+ /* Plan Context Section in Lite Tasks */
1836
+ .plan-context-section {
1837
+ margin-top: 16px;
1838
+ padding: 16px;
1839
+ background: hsl(var(--muted));
1840
+ border-radius: 6px;
1841
+ }
1842
+
1843
+ /* Plan drawer styles for lite tasks */
1844
+ .mod-point-item {
1845
+ padding: 8px 10px;
1846
+ background: hsl(var(--muted));
1847
+ border-radius: 4px;
1848
+ margin-bottom: 8px;
1849
+ border-left: 3px solid hsl(var(--primary));
1850
+ }
1851
+
1852
+ .mod-point-file code {
1853
+ font-size: 12px;
1854
+ }
1855
+
1856
+ .mod-point-target {
1857
+ font-size: 11px;
1858
+ color: hsl(var(--muted-foreground));
1859
+ margin-top: 4px;
1860
+ }
1861
+
1862
+ .mod-point-change {
1863
+ font-size: 12px;
1864
+ color: hsl(var(--foreground));
1865
+ margin-top: 4px;
1866
+ }
1867
+
1868
+ .implementation-steps-list {
1869
+ padding-left: 20px;
1870
+ margin: 0;
1871
+ }
1872
+
1873
+ .implementation-steps-list li {
1874
+ font-size: 13px;
1875
+ line-height: 1.6;
1876
+ margin-bottom: 6px;
1877
+ color: hsl(var(--foreground));
1878
+ }
1879
+
1880
+ .ref-pattern,
1881
+ .ref-files,
1882
+ .ref-examples {
1883
+ margin-bottom: 8px;
1884
+ }
1885
+
1886
+ .acceptance-list {
1887
+ padding-left: 20px;
1888
+ margin: 0;
1889
+ }
1890
+
1891
+ .acceptance-list li {
1892
+ font-size: 13px;
1893
+ line-height: 1.5;
1894
+ margin-bottom: 4px;
1895
+ }
1896
+
1897
+ .dependencies-list {
1898
+ display: flex;
1899
+ flex-wrap: wrap;
1900
+ gap: 6px;
1901
+ }
1902
+
1903
+ .task-description {
1904
+ font-size: 13px;
1905
+ line-height: 1.6;
1906
+ color: hsl(var(--foreground));
1907
+ }
1908
+
1909
+
1910
+ /* Lite Task List Item Styles */
1911
+ .lite-task-item {
1912
+ border: 1px solid hsl(var(--border));
1913
+ border-radius: 8px;
1914
+ padding: 12px 16px;
1915
+ margin-bottom: 8px;
1916
+ transition: all 0.2s ease;
1917
+ background: hsl(var(--card));
1918
+ }
1919
+
1920
+ .lite-task-item:hover {
1921
+ border-color: hsl(var(--primary));
1922
+ box-shadow: 0 2px 8px rgba(59, 130, 246, 0.1);
1923
+ }
1924
+
1925
+ .task-item-header-lite {
1926
+ display: flex;
1927
+ align-items: center;
1928
+ gap: 10px;
1929
+ margin-bottom: 8px;
1930
+ }
1931
+
1932
+ .task-item-header-lite .task-title {
1933
+ flex: 1;
1934
+ font-weight: 500;
1935
+ color: hsl(var(--foreground));
1936
+ }
1937
+
1938
+ .task-item-meta-lite {
1939
+ display: flex;
1940
+ flex-wrap: wrap;
1941
+ gap: 6px;
1942
+ }
1943
+
1944
+ .meta-badge {
1945
+ padding: 2px 8px;
1946
+ border-radius: 4px;
1947
+ font-size: 11px;
1948
+ font-weight: 500;
1949
+ }
1950
+
1951
+ .meta-badge.action {
1952
+ background: hsl(var(--primary-light));
1953
+ color: hsl(var(--primary));
1954
+ border: 1px solid hsl(var(--primary));
1955
+ }
1956
+
1957
+ .meta-badge.scope {
1958
+ background: hsl(var(--muted));
1959
+ color: hsl(var(--muted-foreground));
1960
+ }
1961
+
1962
+ .meta-badge.mods {
1963
+ background: hsl(var(--warning-light));
1964
+ color: var(--warning, #d97706);
1965
+ }
1966
+
1967
+ .meta-badge.impl {
1968
+ background: var(--bg-success, #ecfdf5);
1969
+ color: var(--success, #059669);
1970
+ }
1971
+
1972
+ .meta-badge.accept {
1973
+ background: var(--bg-info, #eff6ff);
1974
+ color: var(--info, #2563eb);
1975
+ }
1976
+
1977
+ /* Lite Task Drawer Styles */
1978
+ .action-badge {
1979
+ padding: 4px 10px;
1980
+ border-radius: 4px;
1981
+ font-size: 12px;
1982
+ font-weight: 600;
1983
+ background: hsl(var(--primary));
1984
+ color: white;
1985
+ text-transform: uppercase;
1986
+ }
1987
+
1988
+ .scope-path {
1989
+ display: block;
1990
+ padding: 8px 12px;
1991
+ background: hsl(var(--muted));
1992
+ border-radius: 4px;
1993
+ font-size: 13px;
1994
+ }
1995
+
1996
+ .impl-steps-list {
1997
+ list-style: none;
1998
+ padding: 0;
1999
+ margin: 0;
2000
+ counter-reset: step-counter;
2001
+ }
2002
+
2003
+ .impl-step-item {
2004
+ display: flex;
2005
+ align-items: flex-start;
2006
+ gap: 12px;
2007
+ padding: 10px 0;
2008
+ border-bottom: 1px solid hsl(var(--border));
2009
+ }
2010
+
2011
+ .impl-step-item:last-child {
2012
+ border-bottom: none;
2013
+ }
2014
+
2015
+ .step-number {
2016
+ flex-shrink: 0;
2017
+ min-width: 28px;
2018
+ height: 28px;
2019
+ display: flex;
2020
+ align-items: center;
2021
+ justify-content: center;
2022
+ background: hsl(var(--primary));
2023
+ color: white;
2024
+ border-radius: 6px;
2025
+ font-size: 13px;
2026
+ font-weight: 700;
2027
+ box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
2028
+ }
2029
+
2030
+ .step-text {
2031
+ flex: 1;
2032
+ font-size: 13px;
2033
+ line-height: 1.5;
2034
+ color: hsl(var(--foreground));
2035
+ }
2036
+
2037
+ .mod-points-list {
2038
+ display: flex;
2039
+ flex-direction: column;
2040
+ gap: 10px;
2041
+ }
2042
+
2043
+ .mod-point-card {
2044
+ padding: 14px 16px;
2045
+ background: hsl(var(--card));
2046
+ border-radius: 8px;
2047
+ border: 1px solid hsl(var(--border));
2048
+ border-left: 4px solid hsl(var(--primary));
2049
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
2050
+ transition: all 0.2s ease;
2051
+ }
2052
+
2053
+ .mod-point-card:hover {
2054
+ border-color: hsl(var(--primary));
2055
+ box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
2056
+ }
2057
+
2058
+ .mod-point-card .mod-file code {
2059
+ font-size: 12px;
2060
+ color: hsl(var(--primary));
2061
+ font-weight: 500;
2062
+ }
2063
+
2064
+ .mod-point-card .mod-target {
2065
+ font-size: 12px;
2066
+ color: hsl(var(--muted-foreground));
2067
+ margin-top: 4px;
2068
+ }
2069
+
2070
+ .mod-point-card .mod-change {
2071
+ font-size: 13px;
2072
+ color: hsl(var(--foreground));
2073
+ margin-top: 6px;
2074
+ line-height: 1.4;
2075
+ }
2076
+
2077
+ .ref-item {
2078
+ margin-bottom: 10px;
2079
+ }
2080
+
2081
+ .ref-item:last-child {
2082
+ margin-bottom: 0;
2083
+ }
2084
+
2085
+ .ref-files-list {
2086
+ margin: 4px 0 0 16px;
2087
+ padding: 0;
2088
+ }
2089
+
2090
+ .ref-files-list li {
2091
+ margin-bottom: 4px;
2092
+ }
2093
+
2094
+ /* ===================================
2095
+ Markdown Modal & View Button Styles
2096
+ ================================== */
2097
+
2098
+ .btn-view-modal {
2099
+ padding: 4px 12px;
2100
+ background: hsl(var(--primary));
2101
+ color: hsl(var(--primary-foreground));
2102
+ border: none;
2103
+ border-radius: 4px;
2104
+ font-size: 12px;
2105
+ font-weight: 500;
2106
+ cursor: pointer;
2107
+ transition: all 0.2s;
2108
+ margin-left: auto;
2109
+ }
2110
+
2111
+ .btn-view-modal:hover {
2112
+ background: hsl(var(--primary) / 0.9);
2113
+ transform: translateY(-1px);
2114
+ }
2115
+
2116
+ .markdown-modal .markdown-preview {
2117
+ color: hsl(var(--foreground));
2118
+ line-height: 1.6;
2119
+ }
2120
+
2121
+ .markdown-modal .markdown-preview h1,
2122
+ .markdown-modal .markdown-preview h2,
2123
+ .markdown-modal .markdown-preview h3,
2124
+ .markdown-modal .markdown-preview h4 {
2125
+ color: hsl(var(--foreground));
2126
+ font-weight: 600;
2127
+ margin-top: 1.5em;
2128
+ margin-bottom: 0.5em;
2129
+ }
2130
+
2131
+ .markdown-modal .markdown-preview h1 { font-size: 1.8em; }
2132
+ .markdown-modal .markdown-preview h2 { font-size: 1.5em; }
2133
+ .markdown-modal .markdown-preview h3 { font-size: 1.3em; }
2134
+ .markdown-modal .markdown-preview h4 { font-size: 1.1em; }
2135
+
2136
+ .markdown-modal .markdown-preview code {
2137
+ background: hsl(var(--muted));
2138
+ padding: 2px 6px;
2139
+ border-radius: 3px;
2140
+ font-size: 0.9em;
2141
+ font-family: var(--font-mono);
2142
+ }
2143
+
2144
+ .markdown-modal .markdown-preview pre {
2145
+ background: hsl(var(--muted));
2146
+ padding: 12px;
2147
+ border-radius: 6px;
2148
+ overflow-x: auto;
2149
+ margin: 1em 0;
2150
+ }
2151
+
2152
+ .markdown-modal .markdown-preview pre code {
2153
+ background: transparent;
2154
+ padding: 0;
2155
+ }
2156
+
2157
+ .markdown-modal .markdown-preview ul,
2158
+ .markdown-modal .markdown-preview ol {
2159
+ margin: 1em 0;
2160
+ padding-left: 2em;
2161
+ }
2162
+
2163
+ .markdown-modal .markdown-preview li {
2164
+ margin: 0.5em 0;
2165
+ }
2166
+
2167
+ .markdown-modal .markdown-preview blockquote {
2168
+ border-left: 4px solid hsl(var(--primary));
2169
+ padding-left: 1em;
2170
+ margin: 1em 0;
2171
+ color: hsl(var(--muted-foreground));
2172
+ }
2173
+
2174
+ .markdown-modal .markdown-preview table {
2175
+ border-collapse: collapse;
2176
+ width: 100%;
2177
+ margin: 1em 0;
2178
+ }
2179
+
2180
+ .markdown-modal .markdown-preview th,
2181
+ .markdown-modal .markdown-preview td {
2182
+ border: 1px solid hsl(var(--border));
2183
+ padding: 8px 12px;
2184
+ text-align: left;
2185
+ }
2186
+
2187
+ .markdown-modal .markdown-preview th {
2188
+ background: hsl(var(--muted));
2189
+ font-weight: 600;
2190
+ }
2191
+
2192
+ .md-tab-btn {
2193
+ cursor: pointer;
2194
+ transition: all 0.2s;
2195
+ }
2196
+
2197
+ .md-tab-btn:not(.active) {
2198
+ color: hsl(var(--muted-foreground));
2199
+ }
2200
+
2201
+ .md-tab-btn.active {
2202
+ background: hsl(var(--background));
2203
+ color: hsl(var(--foreground));
2204
+ font-weight: 500;
2205
+ }
2206
+