@ibgib/space-gib 0.0.32 → 0.0.34

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 (112) hide show
  1. package/dist/client/bootstrap.mjs +24 -51
  2. package/dist/client/chunk-25PXC4HP.mjs +9914 -0
  3. package/dist/client/chunk-RXWLL2AI.mjs +30 -0
  4. package/dist/client/css/activity-bar.css +417 -0
  5. package/dist/client/css/base.css +167 -0
  6. package/dist/client/css/components.css +218 -0
  7. package/dist/client/css/cosmic.css +557 -0
  8. package/dist/client/css/dev-tools.css +163 -0
  9. package/dist/client/css/landing.css +184 -0
  10. package/dist/client/css/layout.css +896 -0
  11. package/dist/client/css/onboarding.css +181 -0
  12. package/dist/client/css/repos.css +740 -0
  13. package/dist/client/css/variables.css +64 -0
  14. package/dist/client/index.html +202 -31
  15. package/dist/client/index.mjs +31 -31
  16. package/dist/client/script.mjs +1 -1
  17. package/dist/client/style.css +11 -1056
  18. package/dist/respec-gib.node.mjs +5 -0
  19. package/dist/server/server.mjs +6879 -3109
  20. package/package.json +6 -6
  21. package/src/client/AUTO-GENERATED-version.mts +1 -1
  22. package/src/client/cosmos/seed-cosmos-workspace.mts +69 -0
  23. package/src/client/css/activity-bar.css +417 -0
  24. package/src/client/css/base.css +167 -0
  25. package/src/client/css/components.css +218 -0
  26. package/src/client/css/cosmic.css +557 -0
  27. package/src/client/css/dev-tools.css +163 -0
  28. package/src/client/css/landing.css +184 -0
  29. package/src/client/css/layout.css +896 -0
  30. package/src/client/css/onboarding.css +181 -0
  31. package/src/client/css/repos.css +740 -0
  32. package/src/client/css/variables.css +64 -0
  33. package/src/client/dev-tools/vcs-workspace.mts +3 -3
  34. package/src/client/index.html +202 -31
  35. package/src/client/style.css +11 -1056
  36. package/src/client/ui/component/chat-view/IMPLEMENTATION.md +48 -0
  37. package/src/client/ui/component/chat-view/chat-view.css +381 -0
  38. package/src/client/ui/component/chat-view/chat-view.html +104 -0
  39. package/src/client/ui/component/chat-view/chat-view.mts +277 -0
  40. package/src/client/ui/component/chat-view/index.mts +9 -0
  41. package/src/client/ui/component/clone/IMPLEMENTATION.md +68 -0
  42. package/src/client/ui/component/clone/clone-constants.mts +16 -0
  43. package/src/client/ui/component/clone/clone-types.mts +60 -0
  44. package/src/client/ui/component/clone/clone.css +383 -0
  45. package/src/client/ui/component/clone/clone.html +89 -0
  46. package/src/client/ui/component/clone/clone.mts +620 -0
  47. package/src/client/ui/component/clone/index.mts +11 -0
  48. package/src/client/ui/component/code-editor/IMPLEMENTATION.md +89 -0
  49. package/src/client/ui/component/code-editor/code-editor.css +275 -0
  50. package/src/client/ui/component/code-editor/code-editor.html +54 -0
  51. package/src/client/ui/component/code-editor/code-editor.mts +427 -0
  52. package/src/client/ui/component/code-editor/index.mts +9 -0
  53. package/src/client/ui/component/cosmos-navigator/IMPLEMENTATION.md +31 -0
  54. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.css +864 -0
  55. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.html +97 -0
  56. package/src/client/ui/component/cosmos-navigator/cosmos-navigator.mts +1084 -0
  57. package/src/client/ui/component/cosmos-navigator/index.mts +18 -0
  58. package/src/client/ui/component/file-explorer/IMPLEMENTATION.md +42 -0
  59. package/src/client/ui/component/file-explorer/file-explorer.css +256 -0
  60. package/src/client/ui/component/file-explorer/file-explorer.html +75 -0
  61. package/src/client/ui/component/file-explorer/file-explorer.mts +346 -0
  62. package/src/client/ui/component/file-explorer/index.mts +9 -0
  63. package/src/client/ui/component/nested-chat/IMPLEMENTATION.md +18 -0
  64. package/src/client/ui/component/nested-chat/chat/IMPLEMENTATION.md +14 -0
  65. package/src/client/ui/component/nested-chat/chat/chat-constants.mts +14 -0
  66. package/src/client/ui/component/nested-chat/chat/chat-helpers.mts +66 -0
  67. package/src/client/ui/component/nested-chat/chat/chat.css +654 -0
  68. package/src/client/ui/component/nested-chat/chat/chat.html +90 -0
  69. package/src/client/ui/component/nested-chat/chat/chat.mts +646 -0
  70. package/src/client/ui/component/nested-chat/chat/index.mts +7 -0
  71. package/src/client/ui/component/nested-chat/index.mts +14 -0
  72. package/src/client/ui/component/nested-chat/nested-chat-constants.mts +12 -0
  73. package/src/client/ui/component/nested-chat/nested-chat-types.mts +53 -0
  74. package/src/client/ui/component/nested-chat/nested-chat.css +142 -0
  75. package/src/client/ui/component/nested-chat/nested-chat.html +11 -0
  76. package/src/client/ui/component/nested-chat/nested-chat.mts +393 -0
  77. package/src/client/ui/component/notes-explorer/index.mts +9 -0
  78. package/src/client/ui/component/notes-explorer/notes-explorer.css +313 -0
  79. package/src/client/ui/component/notes-explorer/notes-explorer.html +136 -0
  80. package/src/client/ui/component/notes-explorer/notes-explorer.mts +240 -0
  81. package/src/client/ui/component/notes-inspector/index.mts +9 -0
  82. package/src/client/ui/component/notes-inspector/notes-inspector.css +244 -0
  83. package/src/client/ui/component/notes-inspector/notes-inspector.html +97 -0
  84. package/src/client/ui/component/notes-inspector/notes-inspector.mts +152 -0
  85. package/src/client/ui/component/pitch/IMPLEMENTATION.md +48 -0
  86. package/src/client/ui/component/pitch/index.mts +9 -0
  87. package/src/client/ui/component/pitch/pitch.css +295 -0
  88. package/src/client/ui/component/pitch/pitch.html +97 -0
  89. package/src/client/ui/component/pitch/pitch.mts +135 -0
  90. package/src/client/ui/component/timeline/IMPLEMENTATION.md +33 -0
  91. package/src/client/ui/component/timeline/index.mts +9 -0
  92. package/src/client/ui/component/timeline/timeline.css +264 -0
  93. package/src/client/ui/component/timeline/timeline.html +23 -0
  94. package/src/client/ui/component/timeline/timeline.mts +317 -0
  95. package/src/client/ui/component/timeline-item-details/IMPLEMENTATION.md +28 -0
  96. package/src/client/ui/component/timeline-item-details/index.mts +9 -0
  97. package/src/client/ui/component/timeline-item-details/timeline-item-details.css +286 -0
  98. package/src/client/ui/component/timeline-item-details/timeline-item-details.html +64 -0
  99. package/src/client/ui/component/timeline-item-details/timeline-item-details.mts +194 -0
  100. package/src/client/ui/router/index.mts +3 -0
  101. package/src/client/ui/router/space-gib-router-helpers.mts +272 -0
  102. package/src/client/ui/router/space-gib-router-helpers.respec.mts +353 -0
  103. package/src/client/ui/router/space-gib-router-service.mts +186 -0
  104. package/src/client/ui/router/space-gib-router-types.mts +93 -0
  105. package/src/client/ui/shell/cosmic-big-bang.mts +844 -0
  106. package/src/client/ui/shell/space-gib-shell-constants.mts +7 -0
  107. package/src/client/ui/shell/space-gib-shell-service.mts +1728 -31
  108. package/src/server/server.mts +20 -1
  109. package/tsconfig.test.json +5 -1
  110. package/dist/client/chunk-AX6BROMT.mjs +0 -1
  111. package/dist/client/chunk-CIQUGV7U.mjs +0 -25
  112. package/dist/client/chunk-YPCHYDKL.mjs +0 -3102
@@ -0,0 +1,654 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ height: 100%;
6
+ background: var(--clr-bg-surface, #0d1322);
7
+ color: var(--clr-text-primary, #f0f4fc);
8
+ font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
9
+ font-size: 0.85rem;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .chat-child-root {
14
+ display: flex;
15
+ flex-direction: column;
16
+ width: 100%;
17
+ height: 100%;
18
+ overflow: hidden;
19
+ }
20
+
21
+ /* ── Context Header ── */
22
+ .chat-context-header {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ padding: 0.6rem 0.9rem;
27
+ background: rgba(5, 8, 15, 0.45);
28
+ border-bottom: 1px solid var(--clr-border, rgba(255, 255, 255, 0.08));
29
+ flex-shrink: 0;
30
+ }
31
+
32
+ .chat-context-info {
33
+ display: flex;
34
+ align-items: center;
35
+ gap: 0.5rem;
36
+ min-width: 0;
37
+ }
38
+
39
+ .chat-context-icon {
40
+ font-size: 1rem;
41
+ line-height: 1;
42
+ }
43
+
44
+ .chat-context-title {
45
+ font-size: 0.825rem;
46
+ font-weight: 600;
47
+ color: var(--clr-text-primary, #f0f4fc);
48
+ white-space: nowrap;
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ }
52
+
53
+ .chat-context-meta {
54
+ font-size: 0.725rem;
55
+ color: var(--clr-text-muted, #7e8c9f);
56
+ font-family: var(--font-mono, monospace);
57
+ }
58
+
59
+ /* ── Messages Stream Container ── */
60
+ .chat-messages-container {
61
+ flex: 1;
62
+ overflow-y: auto;
63
+ padding: 0.85rem 1rem;
64
+ display: flex;
65
+ flex-direction: column;
66
+ gap: 0.75rem;
67
+ min-height: 0;
68
+ }
69
+
70
+ .chat-empty-state {
71
+ display: flex;
72
+ flex-direction: column;
73
+ align-items: center;
74
+ justify-content: center;
75
+ padding: 2.5rem 1rem;
76
+ text-align: center;
77
+ color: var(--clr-text-muted, #7e8c9f);
78
+ gap: 0.5rem;
79
+ }
80
+
81
+ .empty-icon {
82
+ font-size: 2.2rem;
83
+ opacity: 0.6;
84
+ }
85
+
86
+ .empty-hint {
87
+ font-size: 0.75rem;
88
+ color: var(--clr-text-secondary, #b4c0d3);
89
+ max-width: 260px;
90
+ line-height: 1.35;
91
+ }
92
+
93
+ .chat-messages-list {
94
+ display: flex;
95
+ flex-direction: column;
96
+ gap: 0.75rem;
97
+ }
98
+
99
+ /* ── Comment Card ── */
100
+ .chat-comment-card {
101
+ background: rgba(18, 25, 42, 0.65);
102
+ border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.08));
103
+ border-radius: 6px;
104
+ padding: 0.7rem 0.85rem;
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: 0.45rem;
108
+ transition: all 140ms ease;
109
+ cursor: default;
110
+ }
111
+
112
+ .chat-comment-card:hover {
113
+ border-color: rgba(255, 255, 255, 0.16);
114
+ background: rgba(22, 31, 52, 0.75);
115
+ }
116
+
117
+ .comment-header {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: space-between;
121
+ gap: 0.5rem;
122
+ }
123
+
124
+ .author-info {
125
+ display: flex;
126
+ align-items: center;
127
+ gap: 0.4rem;
128
+ }
129
+
130
+ .avatar {
131
+ font-size: 0.95rem;
132
+ line-height: 1;
133
+ }
134
+
135
+ .author-name {
136
+ font-weight: 600;
137
+ font-size: 0.825rem;
138
+ color: var(--clr-text-primary, #f0f4fc);
139
+ }
140
+
141
+ .role-badge {
142
+ font-size: 0.625rem;
143
+ padding: 0.1rem 0.35rem;
144
+ border-radius: 999px;
145
+ font-weight: 600;
146
+ text-transform: uppercase;
147
+ }
148
+
149
+ .role-keystone {
150
+ background: rgba(120, 248, 126, 0.12);
151
+ color: var(--clr-accent, #78f87e);
152
+ border: 1px solid rgba(120, 248, 126, 0.25);
153
+ }
154
+
155
+ .role-peer {
156
+ background: rgba(99, 102, 241, 0.15);
157
+ color: #a5b4fc;
158
+ border: 1px solid rgba(99, 102, 241, 0.25);
159
+ }
160
+
161
+ .role-agent {
162
+ background: rgba(236, 72, 153, 0.15);
163
+ color: #f472b6;
164
+ border: 1px solid rgba(236, 72, 153, 0.25);
165
+ }
166
+
167
+ .header-meta {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 0.4rem;
171
+ }
172
+
173
+ .anchor-badge {
174
+ display: inline-flex;
175
+ align-items: center;
176
+ font-size: 0.7rem;
177
+ font-family: var(--font-mono, monospace);
178
+ color: var(--clr-warn, #ffd166);
179
+ background: rgba(255, 209, 102, 0.08);
180
+ padding: 0.15rem 0.4rem;
181
+ border-radius: 4px;
182
+ border: 1px solid rgba(255, 209, 102, 0.2);
183
+ }
184
+
185
+ .timestamp {
186
+ font-size: 0.7rem;
187
+ color: var(--clr-text-muted, #7e8c9f);
188
+ }
189
+
190
+ .comment-body {
191
+ font-size: 0.825rem;
192
+ line-height: 1.45;
193
+ color: var(--clr-text-secondary, #b4c0d3);
194
+ }
195
+
196
+ .comment-text {
197
+ margin: 0;
198
+ word-break: break-word;
199
+ }
200
+
201
+ /* ── Comment Actions & Drill Down Button ── */
202
+ .comment-actions {
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: flex-end;
206
+ margin-top: 0.2rem;
207
+ padding-top: 0.35rem;
208
+ border-top: 1px solid rgba(255, 255, 255, 0.04);
209
+ }
210
+
211
+ .btn-drill-down {
212
+ display: inline-flex;
213
+ align-items: center;
214
+ gap: 0.35rem;
215
+ background: rgba(255, 255, 255, 0.04);
216
+ border: 1px solid rgba(255, 255, 255, 0.1);
217
+ color: var(--clr-text-secondary, #b4c0d3);
218
+ padding: 0.25rem 0.55rem;
219
+ border-radius: 4px;
220
+ font-size: 0.725rem;
221
+ cursor: pointer;
222
+ transition: all 140ms ease;
223
+ }
224
+
225
+ .btn-drill-down:hover {
226
+ background: rgba(120, 248, 126, 0.1);
227
+ border-color: var(--clr-accent, #78f87e);
228
+ color: var(--clr-text-primary, #f0f4fc);
229
+ transform: translateX(1px);
230
+ }
231
+
232
+ .drill-icon {
233
+ color: var(--clr-accent, #78f87e);
234
+ font-size: 0.85rem;
235
+ font-weight: bold;
236
+ }
237
+
238
+ .drill-label {
239
+ font-weight: 500;
240
+ }
241
+
242
+ .drill-arrow {
243
+ font-size: 0.75rem;
244
+ opacity: 0.8;
245
+ }
246
+
247
+ /* ── Compose Bar ── */
248
+ .chat-compose-container {
249
+ padding: 0.7rem 0.9rem;
250
+ background: rgba(5, 8, 15, 0.75);
251
+ border-top: 1px solid var(--clr-border, rgba(255, 255, 255, 0.08));
252
+ flex-shrink: 0;
253
+ }
254
+
255
+ .chat-compose-bar {
256
+ display: flex;
257
+ align-items: flex-end;
258
+ gap: 0.5rem;
259
+ background: rgba(18, 25, 42, 0.8);
260
+ border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.12));
261
+ border-radius: 6px;
262
+ padding: 0.4rem 0.6rem;
263
+ transition: border-color 150ms ease;
264
+ }
265
+
266
+ .chat-compose-bar:focus-within {
267
+ border-color: var(--clr-accent, #78f87e);
268
+ box-shadow: 0 0 0 1px rgba(120, 248, 126, 0.2);
269
+ }
270
+
271
+ .chat-input {
272
+ flex: 1;
273
+ background: transparent;
274
+ border: none;
275
+ outline: none;
276
+ color: var(--clr-text-primary, #f0f4fc);
277
+ font-family: inherit;
278
+ font-size: 0.825rem;
279
+ line-height: 1.4;
280
+ resize: none;
281
+ min-height: 36px;
282
+ max-height: 120px;
283
+ box-sizing: border-box;
284
+ }
285
+
286
+ .chat-input::placeholder {
287
+ color: var(--clr-text-muted, #7e8c9f);
288
+ }
289
+
290
+ .compose-send-group {
291
+ display: flex;
292
+ flex-direction: column;
293
+ align-items: stretch;
294
+ gap: 0.35rem;
295
+ flex-shrink: 0;
296
+ }
297
+
298
+ .select-enter-behavior {
299
+ background: rgba(8, 12, 22, 0.9);
300
+ border: 1px solid rgba(255, 255, 255, 0.15);
301
+ border-radius: 4px;
302
+ padding: 0.28rem 0.45rem;
303
+ color: #94a3b8;
304
+ font-size: 0.72rem;
305
+ font-family: inherit;
306
+ outline: none;
307
+ cursor: pointer;
308
+ transition: all 120ms ease;
309
+ height: 28px;
310
+ box-sizing: border-box;
311
+ }
312
+
313
+ .select-enter-behavior:hover,
314
+ .select-enter-behavior:focus {
315
+ border-color: #818cf8;
316
+ color: #f1f5f9;
317
+ background: rgba(15, 23, 42, 0.95);
318
+ }
319
+
320
+ .btn-chat-send {
321
+ display: inline-flex;
322
+ align-items: center;
323
+ justify-content: center;
324
+ gap: 0.3rem;
325
+ background: var(--clr-accent, #78f87e);
326
+ border: none;
327
+ color: #05080f;
328
+ font-weight: 600;
329
+ font-size: 0.75rem;
330
+ padding: 0.35rem 0.75rem;
331
+ border-radius: 4px;
332
+ cursor: pointer;
333
+ transition: all 120ms ease;
334
+ flex-shrink: 0;
335
+ height: 28px;
336
+ box-sizing: border-box;
337
+ }
338
+
339
+ .btn-chat-send:hover {
340
+ background: #9fffa5;
341
+ box-shadow: 0 0 12px rgba(120, 248, 126, 0.4);
342
+ }
343
+
344
+ /* ── Compose Toolbar & Inputs ── */
345
+ .chat-compose-toolbar {
346
+ display: flex;
347
+ align-items: center;
348
+ gap: 8px;
349
+ margin-bottom: 6px;
350
+ }
351
+
352
+ .chat-title-input {
353
+ flex: 1;
354
+ background: rgba(0, 0, 0, 0.35);
355
+ border: 1px solid rgba(255, 255, 255, 0.12);
356
+ border-radius: 4px;
357
+ padding: 5px 8px;
358
+ color: #f8fafc;
359
+ font-size: 11.5px;
360
+ outline: none;
361
+ transition: border-color 0.15s ease;
362
+ }
363
+
364
+ .chat-title-input:focus {
365
+ border-color: #818cf8;
366
+ }
367
+
368
+ .chat-title-input.required-alert {
369
+ border-color: #ef4444;
370
+ animation: shakeInput 0.3s ease;
371
+ }
372
+
373
+ @keyframes shakeInput {
374
+
375
+ 0%,
376
+ 100% {
377
+ transform: translateX(0);
378
+ }
379
+
380
+ 20%,
381
+ 60% {
382
+ transform: translateX(-4px);
383
+ }
384
+
385
+ 40%,
386
+ 80% {
387
+ transform: translateX(4px);
388
+ }
389
+ }
390
+
391
+ .compose-toolbar-actions {
392
+ display: flex;
393
+ align-items: center;
394
+ gap: 4px;
395
+ }
396
+
397
+ .btn-compose-tool {
398
+ display: inline-flex;
399
+ align-items: center;
400
+ gap: 4px;
401
+ background: rgba(255, 255, 255, 0.05);
402
+ border: 1px solid rgba(255, 255, 255, 0.12);
403
+ color: #94a3b8;
404
+ font-size: 11px;
405
+ font-weight: 500;
406
+ padding: 4px 8px;
407
+ border-radius: 4px;
408
+ cursor: pointer;
409
+ transition: all 0.15s ease;
410
+ user-select: none;
411
+ }
412
+
413
+ .btn-compose-tool:hover {
414
+ background: rgba(255, 255, 255, 0.1);
415
+ color: #f8fafc;
416
+ }
417
+
418
+ .btn-compose-tool.active {
419
+ background: rgba(99, 102, 241, 0.2);
420
+ border-color: #818cf8;
421
+ color: #c7d2fe;
422
+ }
423
+
424
+ .btn-compose-collapse {
425
+ background: transparent;
426
+ border: none;
427
+ color: #94a3b8;
428
+ font-size: 10px;
429
+ cursor: pointer;
430
+ padding: 4px 6px;
431
+ border-radius: 4px;
432
+ line-height: 1;
433
+ transition: background 0.15s, color 0.15s;
434
+ }
435
+
436
+ .btn-compose-collapse:hover {
437
+ background: rgba(255, 255, 255, 0.1);
438
+ color: #f8fafc;
439
+ }
440
+
441
+ .chat-compose-body {
442
+ display: flex;
443
+ flex-direction: column;
444
+ gap: 8px;
445
+ transition: all 0.2s ease;
446
+ }
447
+
448
+ .chat-compose-body.collapsed {
449
+ display: none;
450
+ }
451
+
452
+ /* ── Markdown Preview Drawer ── */
453
+ .chat-preview-drawer {
454
+ background: rgba(15, 23, 42, 0.9);
455
+ border: 1px solid rgba(148, 163, 184, 0.2);
456
+ border-radius: 6px;
457
+ padding: 8px 10px;
458
+ display: flex;
459
+ flex-direction: column;
460
+ gap: 6px;
461
+ animation: fadeInDrawer 160ms ease;
462
+ }
463
+
464
+ .chat-preview-drawer.hidden {
465
+ display: none !important;
466
+ }
467
+
468
+ .preview-drawer-header {
469
+ display: flex;
470
+ align-items: center;
471
+ justify-content: space-between;
472
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
473
+ padding-bottom: 4px;
474
+ }
475
+
476
+ .preview-title {
477
+ font-size: 10px;
478
+ font-weight: 700;
479
+ text-transform: uppercase;
480
+ letter-spacing: 0.5px;
481
+ color: #94a3b8;
482
+ }
483
+
484
+ .preview-encryption-notice {
485
+ font-size: 10px;
486
+ font-weight: 600;
487
+ color: #34d399;
488
+ }
489
+
490
+ .preview-content-box {
491
+ display: flex;
492
+ flex-direction: column;
493
+ gap: 4px;
494
+ max-height: 120px;
495
+ overflow-y: auto;
496
+ }
497
+
498
+ .preview-title-render {
499
+ margin: 0;
500
+ font-size: 12.5px;
501
+ font-weight: 700;
502
+ color: #f1f5f9;
503
+ }
504
+
505
+ .preview-body-render {
506
+ font-size: 11.5px;
507
+ line-height: 1.4;
508
+ color: #cbd5e1;
509
+ white-space: pre-wrap;
510
+ word-break: break-word;
511
+ }
512
+
513
+ /* ── Encryption Drawer (Below Compose Bar) ── */
514
+ .chat-encrypt-drawer {
515
+ background: rgba(10, 15, 28, 0.9);
516
+ border: 1px solid rgba(129, 140, 248, 0.3);
517
+ border-radius: 6px;
518
+ padding: 8px 10px;
519
+ display: flex;
520
+ flex-direction: column;
521
+ gap: 6px;
522
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
523
+ animation: fadeInDrawer 160ms ease;
524
+ }
525
+
526
+ .chat-encrypt-drawer.hidden {
527
+ display: none !important;
528
+ }
529
+
530
+ .encrypt-drawer-header {
531
+ display: flex;
532
+ align-items: center;
533
+ justify-content: space-between;
534
+ border-bottom: 1px solid rgba(255, 255, 255, 0.06);
535
+ padding-bottom: 4px;
536
+ }
537
+
538
+ .encrypt-drawer-title {
539
+ font-size: 10.5px;
540
+ font-weight: 700;
541
+ color: #c7d2fe;
542
+ }
543
+
544
+ .session-key-badge {
545
+ font-size: 10px;
546
+ font-weight: 600;
547
+ color: #78f87e;
548
+ background: rgba(120, 248, 126, 0.12);
549
+ border: 1px solid rgba(120, 248, 126, 0.25);
550
+ padding: 1px 6px;
551
+ border-radius: 10px;
552
+ }
553
+
554
+ .session-key-badge.hidden {
555
+ display: none !important;
556
+ }
557
+
558
+ .encrypt-drawer-row {
559
+ display: flex;
560
+ gap: 6px;
561
+ align-items: center;
562
+ }
563
+
564
+ .encrypt-passphrase-input {
565
+ flex: 1;
566
+ background: rgba(0, 0, 0, 0.35);
567
+ border: 1px solid rgba(255, 255, 255, 0.15);
568
+ border-radius: 4px;
569
+ padding: 4px 8px;
570
+ color: #f8fafc;
571
+ font-size: 11px;
572
+ outline: none;
573
+ transition: border-color 0.15s ease;
574
+ }
575
+
576
+ .encrypt-passphrase-input:focus {
577
+ border-color: #818cf8;
578
+ }
579
+
580
+ .select-encrypt-algo {
581
+ background: rgba(18, 25, 42, 0.95);
582
+ border: 1px solid rgba(255, 255, 255, 0.15);
583
+ border-radius: 4px;
584
+ padding: 4px 6px;
585
+ color: #c7d2fe;
586
+ font-size: 11px;
587
+ outline: none;
588
+ cursor: pointer;
589
+ }
590
+
591
+ .encrypt-preview-row {
592
+ display: flex;
593
+ flex-direction: column;
594
+ gap: 2px;
595
+ }
596
+
597
+ .encrypt-preview-label {
598
+ font-size: 9.5px;
599
+ font-weight: 600;
600
+ letter-spacing: 0.3px;
601
+ color: #94a3b8;
602
+ text-transform: uppercase;
603
+ }
604
+
605
+ .textarea-encrypt-preview {
606
+ width: 100%;
607
+ box-sizing: border-box;
608
+ height: 40px;
609
+ font-family: var(--font-mono, monospace);
610
+ font-size: 10px;
611
+ line-height: 1.35;
612
+ background: rgba(0, 0, 0, 0.45);
613
+ color: #34d399;
614
+ border: 1px solid rgba(52, 211, 153, 0.25);
615
+ border-radius: 4px;
616
+ padding: 4px 6px;
617
+ resize: none;
618
+ outline: none;
619
+ user-select: all;
620
+ }
621
+
622
+ /* ── Comment Card Enhancements ── */
623
+ .comment-title-header {
624
+ font-size: 0.9rem;
625
+ font-weight: 700;
626
+ color: #f8fafc;
627
+ margin: 0 0 4px 0;
628
+ line-height: 1.3;
629
+ }
630
+
631
+ .encrypted-card-badge {
632
+ display: inline-flex;
633
+ align-items: center;
634
+ gap: 4px;
635
+ font-size: 0.7rem;
636
+ font-weight: 600;
637
+ color: #34d399;
638
+ background: rgba(52, 211, 153, 0.1);
639
+ border: 1px solid rgba(52, 211, 153, 0.25);
640
+ padding: 0.1rem 0.45rem;
641
+ border-radius: 4px;
642
+ }
643
+
644
+ @keyframes fadeInDrawer {
645
+ from {
646
+ opacity: 0;
647
+ transform: translateY(-4px);
648
+ }
649
+
650
+ to {
651
+ opacity: 1;
652
+ transform: translateY(0);
653
+ }
654
+ }