claude-code-workflow 6.0.5 → 6.1.1

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 (118) 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/README.md +285 -285
  68. package/ccw/src/cli.js +7 -0
  69. package/ccw/src/commands/tool.js +217 -0
  70. package/ccw/src/core/dashboard-generator.js +18 -3
  71. package/ccw/src/core/lite-scanner.js +35 -11
  72. package/ccw/src/core/server.js +531 -46
  73. package/ccw/src/templates/dashboard-css/01-base.css +161 -0
  74. package/ccw/src/templates/dashboard-css/02-session.css +726 -0
  75. package/ccw/src/templates/dashboard-css/03-tasks.css +512 -0
  76. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +843 -0
  77. package/ccw/src/templates/dashboard-css/05-context.css +2206 -0
  78. package/ccw/src/templates/dashboard-css/06-cards.css +1570 -0
  79. package/ccw/src/templates/dashboard-css/07-managers.css +936 -0
  80. package/ccw/src/templates/dashboard-css/08-review.css +1266 -0
  81. package/ccw/src/templates/dashboard-css/09-explorer.css +1397 -0
  82. package/ccw/src/templates/dashboard-js/components/global-notifications.js +219 -0
  83. package/ccw/src/templates/dashboard-js/components/hook-manager.js +10 -0
  84. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +11 -1
  85. package/ccw/src/templates/dashboard-js/components/navigation.js +11 -5
  86. package/ccw/src/templates/dashboard-js/components/tabs-context.js +20 -20
  87. package/ccw/src/templates/dashboard-js/components/tabs-other.js +11 -11
  88. package/ccw/src/templates/dashboard-js/components/theme.js +29 -1
  89. package/ccw/src/templates/dashboard-js/main.js +4 -0
  90. package/ccw/src/templates/dashboard-js/state.js +5 -0
  91. package/ccw/src/templates/dashboard-js/views/explorer.js +852 -0
  92. package/ccw/src/templates/dashboard-js/views/home.js +13 -9
  93. package/ccw/src/templates/dashboard-js/views/hook-manager.js +8 -5
  94. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +21 -16
  95. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +90 -19
  96. package/ccw/src/templates/dashboard-js/views/project-overview.js +15 -11
  97. package/ccw/src/templates/dashboard-js/views/review-session.js +3 -3
  98. package/ccw/src/templates/dashboard-js/views/session-detail.js +38 -28
  99. package/ccw/src/templates/dashboard.html +129 -28
  100. package/ccw/src/tools/classify-folders.js +204 -0
  101. package/ccw/src/tools/convert-tokens-to-css.js +250 -0
  102. package/ccw/src/tools/detect-changed-modules.js +288 -0
  103. package/ccw/src/tools/discover-design-files.js +134 -0
  104. package/ccw/src/tools/edit-file.js +266 -0
  105. package/ccw/src/tools/generate-module-docs.js +416 -0
  106. package/ccw/src/tools/get-modules-by-depth.js +308 -0
  107. package/ccw/src/tools/index.js +176 -0
  108. package/ccw/src/tools/ui-generate-preview.js +327 -0
  109. package/ccw/src/tools/ui-instantiate-prototypes.js +301 -0
  110. package/ccw/src/tools/update-module-claude.js +380 -0
  111. package/package.json +1 -1
  112. package/.claude/skills/command-guide/reference/commands/workflow/status.md +0 -352
  113. package/ccw/src/core/server.js.bak +0 -385
  114. package/ccw/src/core/server_original.bak +0 -385
  115. package/ccw/src/templates/dashboard.css +0 -8187
  116. package/ccw/src/templates/dashboard_tailwind.html +0 -42
  117. package/ccw/src/templates/dashboard_test.html +0 -37
  118. package/ccw/src/templates/tailwind-base.css +0 -212
@@ -0,0 +1,512 @@
1
+ /* ===================================
2
+ Tasks Tab Content
3
+ =================================== */
4
+
5
+ .tasks-tab-content {
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 1rem;
9
+ }
10
+
11
+ /* Task Toolbar - Combined Stats & Actions */
12
+ .task-toolbar {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 1rem;
16
+ padding: 0.75rem 1rem;
17
+ background: hsl(var(--muted) / 0.2);
18
+ border: 1px solid hsl(var(--border) / 0.5);
19
+ border-radius: 0.5rem;
20
+ margin-bottom: 1rem;
21
+ flex-wrap: wrap;
22
+ }
23
+
24
+ .toolbar-divider {
25
+ width: 1px;
26
+ height: 1.5rem;
27
+ background: hsl(var(--border));
28
+ flex-shrink: 0;
29
+ }
30
+
31
+ .task-stats-bar {
32
+ display: flex;
33
+ gap: 0.5rem;
34
+ flex-wrap: wrap;
35
+ }
36
+
37
+ .task-stat {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 0.375rem;
41
+ padding: 0.375rem 0.75rem;
42
+ background: hsl(var(--card));
43
+ border: 1px solid hsl(var(--border));
44
+ border-radius: 9999px;
45
+ font-size: 0.8rem;
46
+ font-weight: 500;
47
+ }
48
+
49
+ .task-stat.completed {
50
+ border-color: hsl(142 76% 36% / 0.4);
51
+ background: hsl(142 76% 36% / 0.1);
52
+ color: hsl(142 76% 30%);
53
+ }
54
+
55
+ .task-stat.in-progress {
56
+ border-color: hsl(38 92% 50% / 0.4);
57
+ background: hsl(38 92% 50% / 0.1);
58
+ color: hsl(38 92% 40%);
59
+ }
60
+
61
+ .task-stat.pending {
62
+ border-color: hsl(var(--border));
63
+ background: hsl(var(--muted) / 0.3);
64
+ color: hsl(var(--muted-foreground));
65
+ }
66
+
67
+ /* Responsive: Stack toolbar on smaller screens */
68
+ @media (max-width: 768px) {
69
+ .task-toolbar {
70
+ flex-direction: column;
71
+ align-items: stretch;
72
+ gap: 0.75rem;
73
+ }
74
+
75
+ .toolbar-divider {
76
+ width: 100%;
77
+ height: 1px;
78
+ }
79
+
80
+ .task-stats-bar {
81
+ justify-content: center;
82
+ }
83
+
84
+ .task-bulk-actions {
85
+ justify-content: center;
86
+ }
87
+ }
88
+
89
+ .tasks-list {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: 0.5rem;
93
+ }
94
+
95
+ /* Task Item */
96
+ .detail-task-item {
97
+ display: flex;
98
+ flex-direction: column;
99
+ padding: 0.875rem 1rem;
100
+ background: hsl(var(--card));
101
+ border: 1px solid hsl(var(--border));
102
+ border-radius: 0.5rem;
103
+ border-left: 3px solid hsl(var(--muted-foreground));
104
+ transition: all 0.15s ease;
105
+ }
106
+
107
+ .detail-task-item:hover {
108
+ background: hsl(var(--hover));
109
+ box-shadow: 0 2px 8px rgb(0 0 0 / 0.08);
110
+ }
111
+
112
+ .detail-task-item.completed {
113
+ border-left-color: hsl(var(--success));
114
+ }
115
+
116
+ .detail-task-item.in_progress {
117
+ border-left-color: hsl(var(--warning));
118
+ }
119
+
120
+ .detail-task-item.pending {
121
+ border-left-color: hsl(var(--muted-foreground));
122
+ }
123
+
124
+ /* Status-based background colors for task cards */
125
+ .detail-task-item.status-completed {
126
+ background: hsl(var(--success) / 0.08);
127
+ }
128
+
129
+ .detail-task-item.status-completed:hover {
130
+ background: hsl(var(--success) / 0.12);
131
+ }
132
+
133
+ .detail-task-item.status-in_progress {
134
+ background: hsl(var(--warning) / 0.08);
135
+ }
136
+
137
+ .detail-task-item.status-in_progress:hover {
138
+ background: hsl(var(--warning) / 0.12);
139
+ }
140
+
141
+ .detail-task-item.status-pending {
142
+ background: hsl(var(--muted-foreground) / 0.05);
143
+ }
144
+
145
+ .detail-task-item.status-pending:hover {
146
+ background: hsl(var(--muted-foreground) / 0.08);
147
+ }
148
+
149
+ .task-item-header {
150
+ display: flex;
151
+ align-items: center;
152
+ gap: 0.75rem;
153
+ }
154
+
155
+ .task-status-icon {
156
+ font-size: 1rem;
157
+ width: 1.5rem;
158
+ text-align: center;
159
+ flex-shrink: 0;
160
+ }
161
+
162
+ .detail-task-item.completed .task-status-icon {
163
+ color: hsl(var(--success));
164
+ }
165
+
166
+ .detail-task-item.in_progress .task-status-icon {
167
+ color: hsl(var(--warning));
168
+ }
169
+
170
+ .task-id-badge {
171
+ padding: 0.125rem 0.5rem;
172
+ background: hsl(var(--muted));
173
+ border-radius: 0.25rem;
174
+ font-size: 0.75rem;
175
+ font-family: var(--font-mono);
176
+ font-weight: 500;
177
+ color: hsl(var(--foreground));
178
+ flex-shrink: 0;
179
+ }
180
+
181
+ .task-item-header .task-title {
182
+ flex: 1;
183
+ font-size: 0.875rem;
184
+ color: hsl(var(--foreground));
185
+ }
186
+
187
+ .task-status-badge {
188
+ padding: 0.125rem 0.5rem;
189
+ border-radius: 9999px;
190
+ font-size: 0.7rem;
191
+ font-weight: 600;
192
+ text-transform: uppercase;
193
+ flex-shrink: 0;
194
+ }
195
+
196
+ .task-status-badge.completed {
197
+ background: hsl(var(--success-light));
198
+ color: hsl(var(--success));
199
+ }
200
+
201
+ .task-status-badge.in_progress {
202
+ background: hsl(var(--warning-light));
203
+ color: hsl(var(--warning));
204
+ }
205
+
206
+ .task-status-badge.pending {
207
+ background: hsl(var(--muted));
208
+ color: hsl(var(--muted-foreground));
209
+ }
210
+
211
+ /* Full Task Item (expanded view) */
212
+ .detail-task-item-full {
213
+ display: flex;
214
+ flex-direction: column;
215
+ background: hsl(var(--card));
216
+ border: 1px solid hsl(var(--border));
217
+ border-radius: 0.5rem;
218
+ border-left: 3px solid hsl(var(--muted-foreground));
219
+ overflow: hidden;
220
+ }
221
+
222
+ .detail-task-item-full.completed {
223
+ border-left-color: hsl(var(--success));
224
+ }
225
+
226
+ .detail-task-item-full.in_progress {
227
+ border-left-color: hsl(var(--warning));
228
+ }
229
+
230
+ .task-item-header-full {
231
+ display: flex;
232
+ align-items: center;
233
+ gap: 0.75rem;
234
+ padding: 1rem;
235
+ background: hsl(var(--card));
236
+ transition: background 0.15s;
237
+ }
238
+
239
+ .task-item-header-full:hover {
240
+ background: hsl(var(--hover));
241
+ }
242
+
243
+ /* Empty State */
244
+ .tab-empty-state {
245
+ display: flex;
246
+ flex-direction: column;
247
+ align-items: center;
248
+ justify-content: center;
249
+ padding: 4rem 2rem;
250
+ text-align: center;
251
+ }
252
+
253
+ .empty-icon {
254
+ font-size: 3rem;
255
+ margin-bottom: 1rem;
256
+ opacity: 0.5;
257
+ }
258
+
259
+ .empty-title {
260
+ font-size: 1.25rem;
261
+ font-weight: 600;
262
+ color: hsl(var(--foreground));
263
+ margin-bottom: 0.5rem;
264
+ }
265
+
266
+ .empty-text {
267
+ font-size: 0.875rem;
268
+ color: hsl(var(--muted-foreground));
269
+ }
270
+
271
+ /* Tab Error */
272
+ .tab-error {
273
+ padding: 2rem;
274
+ text-align: center;
275
+ color: hsl(var(--destructive));
276
+ background: hsl(var(--destructive) / 0.1);
277
+ border-radius: 0.5rem;
278
+ }
279
+
280
+ /* Collapsible Sections */
281
+ .collapsible-header {
282
+ display: flex;
283
+ align-items: center;
284
+ gap: 0.5rem;
285
+ padding: 0.75rem 1rem;
286
+ background: hsl(var(--muted));
287
+ cursor: pointer;
288
+ transition: background 0.15s;
289
+ }
290
+
291
+ .collapsible-header:hover {
292
+ background: hsl(var(--hover));
293
+ }
294
+
295
+ .collapsible-icon {
296
+ transition: transform 0.2s;
297
+ }
298
+
299
+ .collapsible-header.open .collapsible-icon {
300
+ transform: rotate(90deg);
301
+ }
302
+
303
+ .collapsible-content {
304
+ padding: 1rem;
305
+ display: none;
306
+ }
307
+
308
+ .collapsible-content.open {
309
+ display: block;
310
+ }
311
+
312
+ /* ===================================
313
+ Task Drawer (Sidebar Panel)
314
+ =================================== */
315
+
316
+ .drawer-overlay {
317
+ display: none;
318
+ }
319
+
320
+ .drawer-overlay.active {
321
+ display: block;
322
+ }
323
+
324
+ .drawer-task-header {
325
+ display: flex;
326
+ align-items: center;
327
+ gap: 0.75rem;
328
+ margin-bottom: 1rem;
329
+ padding-bottom: 1rem;
330
+ border-bottom: 1px solid hsl(var(--border));
331
+ }
332
+
333
+ .drawer-tabs {
334
+ display: flex;
335
+ gap: 0.25rem;
336
+ margin-bottom: 1rem;
337
+ border-bottom: 1px solid hsl(var(--border));
338
+ overflow-x: auto;
339
+ }
340
+
341
+ .drawer-tab {
342
+ padding: 0.625rem 1rem;
343
+ background: none;
344
+ border: none;
345
+ border-bottom: 2px solid transparent;
346
+ font-size: 0.875rem;
347
+ color: hsl(var(--muted-foreground));
348
+ cursor: pointer;
349
+ transition: all 0.15s;
350
+ white-space: nowrap;
351
+ }
352
+
353
+ .drawer-tab:hover {
354
+ color: hsl(var(--foreground));
355
+ background: hsl(var(--hover));
356
+ }
357
+
358
+ .drawer-tab.active {
359
+ color: hsl(var(--primary));
360
+ border-bottom-color: hsl(var(--primary));
361
+ }
362
+
363
+ .drawer-tab-content {
364
+ flex: 1;
365
+ overflow-y: auto;
366
+ }
367
+
368
+ .drawer-panel {
369
+ display: none;
370
+ }
371
+
372
+ .drawer-panel.active {
373
+ display: block;
374
+ }
375
+
376
+ .drawer-section {
377
+ margin-bottom: 1.5rem;
378
+ }
379
+
380
+ .drawer-section-title {
381
+ font-size: 0.875rem;
382
+ font-weight: 600;
383
+ color: hsl(var(--foreground));
384
+ margin: 0 0 0.75rem 0;
385
+ display: flex;
386
+ align-items: center;
387
+ gap: 0.5rem;
388
+ }
389
+
390
+ .empty-section {
391
+ padding: 1rem;
392
+ text-align: center;
393
+ color: hsl(var(--muted-foreground));
394
+ font-size: 0.875rem;
395
+ background: hsl(var(--muted));
396
+ border-radius: 0.375rem;
397
+ margin-bottom: 1rem;
398
+ }
399
+
400
+ /* Steps List */
401
+ .steps-list {
402
+ display: flex;
403
+ flex-direction: column;
404
+ gap: 0.5rem;
405
+ }
406
+
407
+ .step-item {
408
+ display: flex;
409
+ align-items: flex-start;
410
+ gap: 0.75rem;
411
+ padding: 0.75rem;
412
+ background: hsl(var(--card));
413
+ border: 1px solid hsl(var(--border));
414
+ border-radius: 0.375rem;
415
+ }
416
+
417
+ .step-number {
418
+ width: 1.5rem;
419
+ height: 1.5rem;
420
+ display: flex;
421
+ align-items: center;
422
+ justify-content: center;
423
+ background: hsl(var(--primary));
424
+ color: hsl(var(--primary-foreground));
425
+ border-radius: 50%;
426
+ font-size: 0.75rem;
427
+ font-weight: 600;
428
+ flex-shrink: 0;
429
+ }
430
+
431
+ .step-content {
432
+ flex: 1;
433
+ font-size: 0.875rem;
434
+ color: hsl(var(--foreground));
435
+ line-height: 1.5;
436
+ }
437
+
438
+ .step-description {
439
+ font-size: 0.8rem;
440
+ color: hsl(var(--muted-foreground));
441
+ margin-top: 0.25rem;
442
+ }
443
+
444
+ /* Files List */
445
+ .files-list {
446
+ display: flex;
447
+ flex-direction: column;
448
+ gap: 0.375rem;
449
+ }
450
+
451
+ .file-item {
452
+ display: flex;
453
+ align-items: center;
454
+ gap: 0.5rem;
455
+ padding: 0.5rem 0.75rem;
456
+ background: hsl(var(--muted));
457
+ border-radius: 0.25rem;
458
+ font-family: var(--font-mono);
459
+ font-size: 0.8rem;
460
+ color: hsl(var(--foreground));
461
+ }
462
+
463
+ .file-icon {
464
+ font-size: 0.875rem;
465
+ flex-shrink: 0;
466
+ }
467
+
468
+ /* Test Commands */
469
+ .test-commands {
470
+ margin-top: 1rem;
471
+ }
472
+
473
+ .command-item {
474
+ display: flex;
475
+ align-items: center;
476
+ gap: 0.5rem;
477
+ padding: 0.5rem 0.75rem;
478
+ background: hsl(220 13% 18%);
479
+ color: hsl(142 71% 60%);
480
+ border-radius: 0.25rem;
481
+ font-family: var(--font-mono);
482
+ font-size: 0.8rem;
483
+ margin-bottom: 0.375rem;
484
+ }
485
+
486
+ /* Flowchart Container */
487
+ .flowchart-container {
488
+ min-height: 300px;
489
+ background: hsl(var(--muted));
490
+ border-radius: 0.5rem;
491
+ padding: 1rem;
492
+ overflow: auto;
493
+ }
494
+
495
+ .flowchart-container svg {
496
+ max-width: 100%;
497
+ }
498
+
499
+ /* JSON View */
500
+ .json-view {
501
+ background: hsl(var(--muted));
502
+ padding: 1rem;
503
+ border-radius: 0.5rem;
504
+ overflow-x: auto;
505
+ font-size: 0.75rem;
506
+ line-height: 1.6;
507
+ color: hsl(var(--foreground));
508
+ max-height: 500px;
509
+ overflow-y: auto;
510
+ }
511
+
512
+