instbyte 1.7.0 → 1.9.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.
@@ -1,3 +1,6 @@
1
+ /* ============================================================
2
+ CSS CUSTOM PROPERTIES
3
+ ============================================================ */
1
4
  :root {
2
5
  --color-primary: #111827;
3
6
  --color-primary-hover: #1f2937;
@@ -10,6 +13,10 @@
10
13
  --color-on-secondary: #ffffff;
11
14
  }
12
15
 
16
+
17
+ /* ============================================================
18
+ BASE
19
+ ============================================================ */
13
20
  body {
14
21
  font-family: system-ui;
15
22
  background: #f3f4f6;
@@ -23,65 +30,13 @@ header {
23
30
  border-bottom: 1px solid #e5e7eb;
24
31
  }
25
32
 
26
- .container {
27
- max-width: 900px;
28
- margin: 20px auto;
29
- padding: 0 12px;
30
- }
31
-
32
- .channel-bar {
33
- background: #e5e7eb;
34
- border-radius: 12px;
35
- padding: 6px;
36
- margin-bottom: 16px;
37
- display: flex;
38
- align-items: center;
39
- gap: 6px;
40
- position: relative;
41
- }
42
-
43
- .channels {
44
- flex: 1;
45
- display: flex;
46
- gap: 6px;
47
- }
48
-
49
- .channels::-webkit-scrollbar {
50
- display: none;
51
- }
52
-
53
- .channels button {
54
- position: relative;
55
- display: flex;
56
- align-items: center;
57
- gap: 4px;
58
- background: transparent;
33
+ button {
34
+ padding: 10px 14px;
59
35
  border: none;
60
- padding: 7px 12px;
61
- border-radius: 10px;
36
+ background: var(--color-primary);
37
+ color: var(--color-on-primary);
38
+ border-radius: 6px;
62
39
  cursor: pointer;
63
- font-size: 14px;
64
- color: #4b5563;
65
- transition: all 0.15s ease;
66
- }
67
-
68
- .channels button:hover {
69
- background: #d1d5db;
70
- color: #111827;
71
- }
72
-
73
- .channels button.active {
74
- background: #f9fafb;
75
- color: #111827;
76
- }
77
-
78
- .composer {
79
- background: #fff;
80
- padding: 12px;
81
- border-radius: 8px;
82
- margin-top: 12px;
83
- display: flex;
84
- gap: 8px;
85
40
  }
86
41
 
87
42
  input[type=text] {
@@ -91,85 +46,26 @@ input[type=text] {
91
46
  border-radius: 6px;
92
47
  }
93
48
 
94
- button {
95
- padding: 10px 14px;
96
- border: none;
97
- background: var(--color-primary);
98
- color: var(--color-on-primary);
99
- border-radius: 6px;
100
- cursor: pointer;
101
- }
102
-
103
49
  input[type=text]:focus {
104
50
  outline: none;
105
51
  border-color: var(--color-primary);
106
52
  box-shadow: 0 0 0 3px var(--color-primary-light);
107
53
  }
108
54
 
109
- .drop {
110
- border: 2px dashed #ccc;
111
- padding: 18px;
112
- margin-top: 12px;
113
- text-align: center;
114
- background: #fff;
115
- border-radius: 8px;
116
- }
117
-
118
- .item {
119
- background: #fff;
120
- padding: 12px;
121
- margin-top: 10px;
122
- border-radius: 8px;
123
- display: flex;
124
- flex-direction: column;
125
- }
126
-
127
- .item-top {
128
- display: flex;
129
- justify-content: space-between;
130
- align-items: center;
131
- }
132
-
133
- .meta {
134
- font-size: 12px;
135
- color: #6b7280;
136
- }
137
55
 
138
- .left {
139
- max-width: 70%;
140
- word-break: break-word;
141
- }
142
-
143
- .item-actions {
144
- display: flex;
145
- gap: 8px;
146
- }
147
-
148
- .icon-btn {
149
- background: #f9fafb;
150
- border: 1px solid #e5e7eb;
151
- border-radius: 6px;
152
- padding: 6px 8px;
153
- cursor: pointer;
154
- font-size: 14px;
155
- line-height: 1;
156
- color: #6b7280;
157
- }
158
-
159
- .icon-btn:hover {
160
- background: #e5e7eb;
161
- }
162
-
163
- .icon-btn.delete {
164
- color: #b91c1c;
165
- border-color: #fecaca;
166
- background: #fff;
56
+ /* ============================================================
57
+ LAYOUT
58
+ ============================================================ */
59
+ .container {
60
+ max-width: 900px;
61
+ margin: 20px auto;
62
+ padding: 0 12px;
167
63
  }
168
64
 
169
- .icon-btn.delete:hover {
170
- background: #fee2e2;
171
- }
172
65
 
66
+ /* ============================================================
67
+ HEADER
68
+ ============================================================ */
173
69
  .app-header {
174
70
  background: #ffffff;
175
71
  border-bottom: 1px solid #e5e7eb;
@@ -203,6 +99,77 @@ input[type=text]:focus {
203
99
  justify-content: center;
204
100
  }
205
101
 
102
+ .header-right {
103
+ display: flex;
104
+ align-items: center;
105
+ gap: 8px;
106
+ font-size: 13px;
107
+ }
108
+
109
+ .username-display {
110
+ font-size: 13px;
111
+ color: #374151;
112
+ cursor: pointer;
113
+ border-bottom: 1px dashed transparent;
114
+ transition: border-color 0.15s ease, color 0.15s ease;
115
+ padding-bottom: 1px;
116
+ }
117
+
118
+ .username-display:hover {
119
+ color: #111827;
120
+ border-bottom-color: #9ca3af;
121
+ }
122
+
123
+ .online-count {
124
+ font-size: 12px;
125
+ color: #9ca3af;
126
+ }
127
+
128
+ .link-btn {
129
+ background: none;
130
+ border: none;
131
+ color: #6b7280;
132
+ cursor: pointer;
133
+ font-size: 13px;
134
+ padding: 0;
135
+ }
136
+
137
+ .link-btn:hover {
138
+ color: #111827;
139
+ }
140
+
141
+ .theme-toggle {
142
+ font-size: 15px;
143
+ padding: 2px 6px;
144
+ border-radius: 6px;
145
+ transition: background 0.15s ease;
146
+ }
147
+
148
+ .theme-toggle:hover {
149
+ background: #f3f4f6;
150
+ }
151
+
152
+ .logout-btn {
153
+ background: none;
154
+ border: 1px solid #e5e7eb;
155
+ color: #6b7280;
156
+ cursor: pointer;
157
+ font-size: 12px;
158
+ padding: 4px 10px;
159
+ border-radius: 6px;
160
+ transition: all 0.15s ease;
161
+ }
162
+
163
+ .logout-btn:hover {
164
+ background: #fee2e2;
165
+ border-color: #fecaca;
166
+ color: #b91c1c;
167
+ }
168
+
169
+
170
+ /* ============================================================
171
+ SEARCH
172
+ ============================================================ */
206
173
  .search-wrapper {
207
174
  position: relative;
208
175
  width: 100%;
@@ -233,22 +200,53 @@ input[type=text]:focus {
233
200
  color: #9ca3af;
234
201
  }
235
202
 
236
- .header-right {
203
+
204
+ /* ============================================================
205
+ CHANNEL BAR
206
+ ============================================================ */
207
+ .channel-bar {
208
+ background: #e5e7eb;
209
+ border-radius: 12px;
210
+ padding: 6px;
211
+ margin-bottom: 16px;
237
212
  display: flex;
238
213
  align-items: center;
239
- gap: 8px;
240
- font-size: 13px;
214
+ gap: 6px;
215
+ position: relative;
241
216
  }
242
217
 
243
- .link-btn {
244
- background: none;
218
+ .channels {
219
+ flex: 1;
220
+ display: flex;
221
+ gap: 6px;
222
+ }
223
+
224
+ .channels::-webkit-scrollbar {
225
+ display: none;
226
+ }
227
+
228
+ .channels button {
229
+ position: relative;
230
+ display: flex;
231
+ align-items: center;
232
+ gap: 4px;
233
+ background: transparent;
245
234
  border: none;
246
- color: #6b7280;
235
+ padding: 7px 12px;
236
+ border-radius: 10px;
247
237
  cursor: pointer;
248
- font-size: 13px;
238
+ font-size: 14px;
239
+ color: #4b5563;
240
+ transition: all 0.15s ease;
249
241
  }
250
242
 
251
- .link-btn:hover {
243
+ .channels button:hover {
244
+ background: #d1d5db;
245
+ color: #111827;
246
+ }
247
+
248
+ .channels button.active {
249
+ background: #f9fafb;
252
250
  color: #111827;
253
251
  }
254
252
 
@@ -262,42 +260,117 @@ input[type=text]:focus {
262
260
  cursor: pointer;
263
261
  }
264
262
 
263
+ .add-channel:hover {
264
+ background: #d1d5db;
265
+ }
266
+
265
267
  .add-channel-mobile {
266
268
  display: none;
267
269
  }
268
270
 
269
- .add-channel:hover {
270
- background: #d1d5db;
271
+ .ch-pin-dot {
272
+ display: inline-block;
273
+ width: 6px;
274
+ height: 6px;
275
+ background: #f59e0b;
276
+ border-radius: 50%;
277
+ flex-shrink: 0;
271
278
  }
272
279
 
273
- .size-tag {
280
+ .ch-unread-dot {
274
281
  display: inline-block;
275
- font-size: 11px;
276
- font-weight: 500;
277
- padding: 2px 7px;
282
+ width: 7px;
283
+ height: 7px;
284
+ background: #3b82f6;
285
+ border-radius: 50%;
286
+ flex-shrink: 0;
287
+ margin-left: 2px;
288
+ }
289
+
290
+ .ch-more {
291
+ display: inline-flex;
292
+ align-items: center;
293
+ justify-content: center;
294
+ width: 18px;
295
+ height: 18px;
278
296
  border-radius: 4px;
279
- margin-left: 6px;
280
- vertical-align: middle;
297
+ font-size: 13px;
298
+ color: #6b7280;
299
+ opacity: 0;
300
+ transition: opacity 0.12s ease, background 0.12s ease;
301
+ margin-left: 2px;
302
+ line-height: 1;
281
303
  }
282
304
 
283
- .size-tag.warn {
284
- background: #fef9c3;
285
- color: #854d0e;
305
+ .channels button:hover .ch-more,
306
+ .channels button.active .ch-more {
307
+ opacity: 1;
286
308
  }
287
309
 
288
- .size-tag.danger-light {
289
- background: #fee2e2;
290
- color: #b91c1c;
310
+ .ch-more:hover {
311
+ background: rgba(0, 0, 0, 0.1);
312
+ color: #111827;
291
313
  }
292
314
 
293
- .size-tag.danger-dark {
294
- background: #7f1d1d;
295
- color: #fff;
315
+
316
+ /* ============================================================
317
+ COMPOSER
318
+ ============================================================ */
319
+ .composer {
320
+ background: #fff;
321
+ padding: 12px;
322
+ border-radius: 8px;
323
+ margin-top: 12px;
324
+ display: flex;
325
+ gap: 8px;
326
+ }
327
+
328
+ .drop {
329
+ border: 2px dashed #ccc;
330
+ padding: 18px;
331
+ margin-top: 12px;
332
+ text-align: center;
333
+ background: #fff;
334
+ border-radius: 8px;
335
+ }
336
+
337
+
338
+ /* ============================================================
339
+ ITEMS
340
+ ============================================================ */
341
+ .item {
342
+ background: #fff;
343
+ color: #111827;
344
+ padding: 12px;
345
+ margin-top: 10px;
346
+ border-radius: 8px;
347
+ display: flex;
348
+ flex-direction: column;
349
+ align-items: stretch;
350
+ transition: box-shadow 0.15s ease;
351
+ }
352
+
353
+ .item:hover {
354
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
355
+ }
356
+
357
+ .item-top {
358
+ display: flex;
359
+ justify-content: space-between;
360
+ align-items: center;
361
+ }
362
+
363
+ .meta {
364
+ font-size: 12px;
365
+ color: #6b7280;
296
366
  }
297
367
 
298
368
  .left {
369
+ max-width: 70%;
370
+ word-break: break-word;
299
371
  cursor: pointer;
300
372
  position: relative;
373
+ color: #111827;
301
374
  }
302
375
 
303
376
  .left:hover::after {
@@ -321,68 +394,92 @@ input[type=text]:focus {
321
394
  transition: background 0.3s ease;
322
395
  }
323
396
 
324
- .qr-widget {
325
- position: fixed;
326
- bottom: 20px;
327
- right: 20px;
328
- z-index: 999;
397
+ .item-actions {
329
398
  display: flex;
330
- flex-direction: column;
331
- align-items: flex-end;
332
- gap: 8px;
399
+ gap: 6px;
400
+ align-items: flex-start;
333
401
  }
334
402
 
335
- .qr-card {
336
- background: #fff;
337
- border: 1px solid #e5e7eb;
338
- border-radius: 12px;
339
- padding: 16px;
403
+ .empty-state {
340
404
  text-align: center;
341
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
342
- display: none;
343
- width: 200px;
405
+ color: #9ca3af;
406
+ font-size: 14px;
407
+ padding: 60px 20px;
344
408
  }
345
409
 
346
- .qr-card.open {
347
- display: block;
410
+
411
+ /* ============================================================
412
+ SIZE TAGS
413
+ ============================================================ */
414
+ .size-tag {
415
+ display: inline-block;
416
+ font-size: 11px;
417
+ font-weight: 500;
418
+ padding: 2px 7px;
419
+ border-radius: 4px;
420
+ margin-left: 6px;
421
+ vertical-align: middle;
348
422
  }
349
423
 
350
- .qr-card img {
351
- width: 160px;
352
- height: 160px;
353
- border-radius: 6px;
424
+ .size-tag.warn {
425
+ background: #fef9c3;
426
+ color: #854d0e;
354
427
  }
355
428
 
356
- .qr-card .qr-url {
357
- font-size: 11px;
429
+ .size-tag.danger-light {
430
+ background: #fee2e2;
431
+ color: #b91c1c;
432
+ }
433
+
434
+ .size-tag.danger-dark {
435
+ background: #7f1d1d;
436
+ color: #fff;
437
+ }
438
+
439
+
440
+ /* ============================================================
441
+ ICON BUTTONS
442
+ ============================================================ */
443
+ .icon-btn {
444
+ background: #f9fafb;
445
+ border: 1px solid #e5e7eb;
446
+ border-radius: 6px;
447
+ padding: 5px 7px;
448
+ cursor: pointer;
449
+ font-size: 13px;
450
+ line-height: 1;
358
451
  color: #6b7280;
359
- margin-top: 8px;
360
- word-break: break-all;
361
- line-height: 1.4;
452
+ width: 28px;
453
+ height: 28px;
454
+ display: flex;
455
+ align-items: center;
456
+ justify-content: center;
362
457
  }
363
458
 
364
- .qr-card .qr-label {
365
- font-size: 12px;
366
- font-weight: 600;
367
- color: #111827;
368
- margin-bottom: 10px;
459
+ .icon-btn:hover {
460
+ background: #e5e7eb;
461
+ }
462
+
463
+ .icon-btn.delete {
464
+ color: #b91c1c;
465
+ border-color: #fecaca;
466
+ background: #fff;
369
467
  }
370
468
 
371
- .qr-toggle {
372
- background: #111827;
373
- color: #fff;
374
- border: none;
375
- border-radius: 20px;
376
- padding: 8px 14px;
377
- font-size: 13px;
378
- cursor: pointer;
379
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
469
+ .icon-btn.delete:hover {
470
+ background: #fee2e2;
380
471
  }
381
472
 
382
- .qr-toggle:hover {
383
- background: #1f2937;
473
+ .icon-btn.preview-active {
474
+ background: #eff6ff;
475
+ border-color: #bfdbfe;
476
+ color: #1d4ed8;
384
477
  }
385
478
 
479
+
480
+ /* ============================================================
481
+ MOVE DROPDOWN
482
+ ============================================================ */
386
483
  .move-wrapper {
387
484
  position: relative;
388
485
  }
@@ -433,40 +530,10 @@ input[type=text]:focus {
433
530
  cursor: default;
434
531
  }
435
532
 
436
- .ch-pin-dot {
437
- display: inline-block;
438
- width: 6px;
439
- height: 6px;
440
- background: #f59e0b;
441
- border-radius: 50%;
442
- flex-shrink: 0;
443
- }
444
-
445
- .ch-more {
446
- display: inline-flex;
447
- align-items: center;
448
- justify-content: center;
449
- width: 18px;
450
- height: 18px;
451
- border-radius: 4px;
452
- font-size: 13px;
453
- color: #6b7280;
454
- opacity: 0;
455
- transition: opacity 0.12s ease, background 0.12s ease;
456
- margin-left: 2px;
457
- line-height: 1;
458
- }
459
-
460
- .channels button:hover .ch-more,
461
- .channels button.active .ch-more {
462
- opacity: 1;
463
- }
464
-
465
- .ch-more:hover {
466
- background: rgba(0, 0, 0, 0.1);
467
- color: #111827;
468
- }
469
533
 
534
+ /* ============================================================
535
+ CONTEXT MENU
536
+ ============================================================ */
470
537
  .context-menu {
471
538
  position: fixed;
472
539
  background: #fff;
@@ -526,6 +593,10 @@ input[type=text]:focus {
526
593
  margin: 4px 0;
527
594
  }
528
595
 
596
+
597
+ /* ============================================================
598
+ MARKDOWN
599
+ ============================================================ */
529
600
  .markdown-body {
530
601
  line-height: 1.5;
531
602
  font-size: 14px;
@@ -580,6 +651,10 @@ input[type=text]:focus {
580
651
  padding-left: 20px;
581
652
  }
582
653
 
654
+
655
+ /* ============================================================
656
+ PREVIEW PANEL
657
+ ============================================================ */
583
658
  .preview-panel {
584
659
  display: none;
585
660
  margin-top: 10px;
@@ -618,96 +693,363 @@ input[type=text]:focus {
618
693
  background: #f9fafb;
619
694
  }
620
695
 
621
- .preview-panel pre {
622
- background: #f8fafc;
623
- border: 1px solid #e5e7eb;
696
+ .preview-panel pre {
697
+ background: #f8fafc;
698
+ border: 1px solid #e5e7eb;
699
+ border-radius: 6px;
700
+ padding: 12px;
701
+ overflow-x: auto;
702
+ max-height: 400px;
703
+ overflow-y: auto;
704
+ margin: 0;
705
+ font-size: 12px;
706
+ font-family: ui-monospace, monospace;
707
+ line-height: 1.5;
708
+ }
709
+
710
+ .preview-panel pre code {
711
+ background: none;
712
+ padding: 0;
713
+ font-size: 12px;
714
+ }
715
+
716
+ .markdown-preview {
717
+ padding: 4px 0;
718
+ max-height: 500px;
719
+ overflow-y: auto;
720
+ }
721
+
722
+ .preview-truncated {
723
+ font-size: 11px;
724
+ color: #9ca3af;
725
+ margin-top: 6px;
726
+ text-align: right;
727
+ }
728
+
729
+ .preview-error {
730
+ font-size: 13px;
731
+ color: #9ca3af;
732
+ padding: 12px 0;
733
+ }
734
+
735
+ .preview-loading {
736
+ font-size: 13px;
737
+ color: #9ca3af;
738
+ padding: 12px 0;
739
+ }
740
+
741
+
742
+ /* ============================================================
743
+ QR WIDGET
744
+ ============================================================ */
745
+ .qr-widget {
746
+ position: fixed;
747
+ bottom: 20px;
748
+ right: 20px;
749
+ z-index: 999;
750
+ display: flex;
751
+ flex-direction: column;
752
+ align-items: flex-end;
753
+ gap: 8px;
754
+ }
755
+
756
+ .qr-card {
757
+ background: #fff;
758
+ border: 1px solid #e5e7eb;
759
+ border-radius: 12px;
760
+ padding: 16px;
761
+ text-align: center;
762
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
763
+ display: none;
764
+ width: 200px;
765
+ }
766
+
767
+ .qr-card.open {
768
+ display: block;
769
+ }
770
+
771
+ .qr-card img {
772
+ width: 160px;
773
+ height: 160px;
774
+ border-radius: 6px;
775
+ }
776
+
777
+ .qr-card .qr-url {
778
+ font-size: 11px;
779
+ color: #6b7280;
780
+ margin-top: 8px;
781
+ word-break: break-all;
782
+ line-height: 1.4;
783
+ }
784
+
785
+ .qr-card .qr-label {
786
+ font-size: 12px;
787
+ font-weight: 600;
788
+ color: #111827;
789
+ margin-bottom: 10px;
790
+ }
791
+
792
+ .qr-toggle {
793
+ background: #111827;
794
+ color: #fff;
795
+ border: none;
796
+ border-radius: 20px;
797
+ padding: 8px 14px;
798
+ font-size: 13px;
799
+ cursor: pointer;
800
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
801
+ }
802
+
803
+ .qr-toggle:hover {
804
+ background: #1f2937;
805
+ }
806
+
807
+
808
+ /* ============================================================
809
+ UNDO TOAST
810
+ ============================================================ */
811
+ .undo-toast {
812
+ position: fixed;
813
+ bottom: 30px;
814
+ left: 50%;
815
+ transform: translateX(-50%) translateY(80px);
816
+ background: #1f2937;
817
+ color: #f3f4f6;
818
+ padding: 12px 16px;
819
+ border-radius: 10px;
820
+ font-size: 13px;
821
+ display: flex;
822
+ align-items: center;
823
+ gap: 12px;
824
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
825
+ z-index: 9999;
826
+ opacity: 0;
827
+ transition: transform 0.2s ease, opacity 0.2s ease;
828
+ min-width: 220px;
829
+ overflow: hidden;
830
+ }
831
+
832
+ .undo-toast.show {
833
+ transform: translateX(-50%) translateY(0);
834
+ opacity: 1;
835
+ }
836
+
837
+ .undo-toast #undoBtn {
838
+ background: none;
839
+ border: 1px solid #4b5563;
840
+ color: #f3f4f6;
841
+ padding: 4px 10px;
842
+ border-radius: 6px;
843
+ font-size: 12px;
844
+ cursor: pointer;
845
+ flex-shrink: 0;
846
+ }
847
+
848
+ .undo-toast #undoBtn:hover {
849
+ background: #374151;
850
+ }
851
+
852
+ .undo-progress {
853
+ position: absolute;
854
+ bottom: 0;
855
+ left: 0;
856
+ height: 3px;
857
+ width: 100%;
858
+ background: #4b5563;
859
+ transform-origin: left;
860
+ animation: none;
861
+ }
862
+
863
+ .undo-progress.running {
864
+ animation: drain 5s linear forwards;
865
+ }
866
+
867
+ @keyframes drain {
868
+ from {
869
+ transform: scaleX(1);
870
+ }
871
+
872
+ to {
873
+ transform: scaleX(0);
874
+ }
875
+ }
876
+
877
+
878
+ /* ============================================================
879
+ LOAD MORE
880
+ ============================================================ */
881
+ .load-more-btn {
882
+ background: #f3f4f6;
883
+ color: #374151;
884
+ border: 1px solid #e5e7eb;
885
+ border-radius: 8px;
886
+ padding: 10px 24px;
887
+ font-size: 14px;
888
+ cursor: pointer;
889
+ transition: background 0.15s ease;
890
+ }
891
+
892
+ .load-more-btn:hover {
893
+ background: #e5e7eb;
894
+ }
895
+
896
+ .item-title {
897
+ font-size: 11px;
898
+ font-weight: 600;
899
+ color: #6b7280;
900
+ text-transform: uppercase;
901
+ letter-spacing: 0.05em;
902
+ margin-bottom: 4px;
903
+ }
904
+
905
+ .title-input {
906
+ font-size: 12px;
907
+ padding: 3px 7px;
908
+ border: 1px solid #d1d5db;
909
+ border-radius: 5px;
910
+ margin-bottom: 4px;
911
+ width: 200px;
912
+ display: block;
913
+ color: #111827;
914
+ background: #fff;
915
+ }
916
+
917
+ .title-input:focus {
918
+ outline: none;
919
+ border-color: var(--color-primary);
920
+ }
921
+
922
+ .edit-textarea {
923
+ width: min(600px, 60vw);
924
+ min-height: 80px;
925
+ padding: 8px 10px;
926
+ border: 1px solid #d1d5db;
624
927
  border-radius: 6px;
625
- padding: 12px;
626
- overflow-x: auto;
627
- max-height: 400px;
628
- overflow-y: auto;
629
- margin: 0;
630
- font-size: 12px;
631
- font-family: ui-monospace, monospace;
928
+ font-size: 14px;
929
+ font-family: system-ui;
930
+ resize: vertical;
931
+ display: block;
932
+ box-sizing: border-box;
632
933
  line-height: 1.5;
934
+ color: #111827;
935
+ background: #f9fafb;
936
+ margin-bottom: 6px;
633
937
  }
634
938
 
635
- .preview-panel pre code {
636
- background: none;
637
- padding: 0;
638
- font-size: 12px;
939
+ .edit-textarea:focus {
940
+ outline: none;
941
+ border-color: var(--color-primary);
942
+ background: #fff;
639
943
  }
640
944
 
641
- .preview-truncated {
945
+ .edit-hint {
642
946
  font-size: 11px;
643
947
  color: #9ca3af;
644
- margin-top: 6px;
645
- text-align: right;
948
+ margin-bottom: 4px;
646
949
  }
647
950
 
648
- .preview-error {
649
- font-size: 13px;
650
- color: #9ca3af;
651
- padding: 12px 0;
951
+ .expiry-badge {
952
+ display: inline-block;
953
+ font-size: 10px;
954
+ font-weight: 500;
955
+ padding: 1px 6px;
956
+ border-radius: 4px;
957
+ margin-left: 6px;
958
+ vertical-align: middle;
959
+ background: #fef3c7;
960
+ color: #92400e;
652
961
  }
653
962
 
654
- .preview-loading {
655
- font-size: 13px;
656
- color: #9ca3af;
657
- padding: 12px 0;
963
+ .expiry-badge.expiry-gone {
964
+ background: #fee2e2;
965
+ color: #991b1b;
658
966
  }
659
967
 
660
- .icon-btn.preview-active {
661
- background: #eff6ff;
662
- border-color: #bfdbfe;
663
- color: #1d4ed8;
968
+ .seen-count {
969
+ font-size: px;
970
+ color: #9ca3af;
971
+ margin-left: 6px;
664
972
  }
665
973
 
666
- /* Make item flex-direction column to allow panel below content */
667
- .item {
668
- flex-direction: column;
669
- align-items: stretch;
670
- transition: box-shadow 0.15s ease;
974
+ .more-wrapper {
975
+ position: relative;
671
976
  }
672
977
 
673
- .item-top {
674
- display: flex;
675
- justify-content: space-between;
676
- align-items: center;
978
+ .more-btn {
979
+ font-size: 16px;
980
+ padding: 4px 7px;
981
+ letter-spacing: 0;
982
+ line-height: 1;
677
983
  }
678
984
 
679
- .item:hover {
680
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
985
+ .more-dropdown {
986
+ position: absolute;
987
+ bottom: calc(100% + 6px);
988
+ right: 0;
989
+ background: #fff;
990
+ border: 1px solid #e5e7eb;
991
+ border-radius: 8px;
992
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
993
+ z-index: 100;
994
+ min-width: 160px;
995
+ overflow: hidden;
996
+ display: none;
997
+ padding: 4px;
681
998
  }
682
999
 
683
- .empty-state {
684
- text-align: center;
685
- color: #9ca3af;
686
- font-size: 14px;
687
- padding: 60px 20px;
1000
+ .more-dropdown.open {
1001
+ display: block;
688
1002
  }
689
1003
 
690
- .theme-toggle {
691
- font-size: 15px;
692
- padding: 2px 6px;
1004
+ .more-dropdown button {
1005
+ display: block;
1006
+ width: 100%;
1007
+ text-align: left;
1008
+ background: none;
1009
+ border: none;
1010
+ padding: 8px 12px;
1011
+ font-size: 13px;
1012
+ color: #374151;
1013
+ cursor: pointer;
693
1014
  border-radius: 6px;
694
- transition: background 0.15s ease;
695
1015
  }
696
1016
 
697
- .theme-toggle:hover {
1017
+ .more-dropdown button:hover {
698
1018
  background: #f3f4f6;
1019
+ color: #111827;
699
1020
  }
700
1021
 
701
- @media (prefers-color-scheme: dark) {
702
- :root:not([data-theme="light"]) .theme-toggle:hover {
703
- background: #2d3148;
704
- }
1022
+ .more-dropdown .dropdown-label {
1023
+ font-size: 11px;
1024
+ color: #9ca3af;
1025
+ padding: 6px 12px 2px;
1026
+ font-weight: 500;
1027
+ text-transform: uppercase;
1028
+ letter-spacing: 0.05em;
1029
+ cursor: default;
1030
+ }
1031
+
1032
+ .icon-btn i {
1033
+ width: 14px;
1034
+ height: 14px;
1035
+ display: block;
1036
+ stroke-width: 2;
1037
+ }
1038
+
1039
+ .icon-btn.pinned i {
1040
+ color: #f59e0b;
705
1041
  }
706
1042
 
707
- :root[data-theme="dark"] .theme-toggle:hover {
708
- background: #2d3148;
1043
+ .item-new {
1044
+ border-left: 3px solid #22c55e;
1045
+ padding-left: 13px;
1046
+ background: #f0fdf4;
1047
+ transition: background 1.5s ease, border-color 1.5s ease;
709
1048
  }
710
1049
 
1050
+ /* ============================================================
1051
+ MOBILE
1052
+ ============================================================ */
711
1053
  @media (max-width: 640px) {
712
1054
  .app-header {
713
1055
  flex-wrap: wrap;
@@ -834,9 +1176,16 @@ input[type=text]:focus {
834
1176
  }
835
1177
  }
836
1178
 
1179
+
1180
+ /* ============================================================
1181
+ DARK MODE
1182
+ Two selectors, identical rules — no duplication within each.
1183
+ Media query handles OS preference.
1184
+ [data-theme="dark"] handles manual override.
1185
+ ============================================================ */
1186
+
837
1187
  @media (prefers-color-scheme: dark) {
838
1188
  :root:not([data-theme="light"]) {
839
-
840
1189
  body {
841
1190
  background: #0f1117;
842
1191
  }
@@ -850,6 +1199,46 @@ input[type=text]:focus {
850
1199
  color: #f3f4f6;
851
1200
  }
852
1201
 
1202
+ .logo {
1203
+ filter: invert(1) brightness(1.2);
1204
+ }
1205
+
1206
+ .username-display {
1207
+ color: #d1d5db;
1208
+ }
1209
+
1210
+ .username-display:hover {
1211
+ color: #f3f4f6;
1212
+ border-bottom-color: #6b7280;
1213
+ }
1214
+
1215
+ .online-count {
1216
+ color: #6b7280;
1217
+ }
1218
+
1219
+ .link-btn {
1220
+ color: #9ca3af;
1221
+ }
1222
+
1223
+ .link-btn:hover {
1224
+ color: #f3f4f6;
1225
+ }
1226
+
1227
+ .theme-toggle:hover {
1228
+ background: #2d3148;
1229
+ }
1230
+
1231
+ .logout-btn {
1232
+ border-color: #2d3148;
1233
+ color: #9ca3af;
1234
+ }
1235
+
1236
+ .logout-btn:hover {
1237
+ background: #2d1515;
1238
+ border-color: #7f1d1d;
1239
+ color: #f87171;
1240
+ }
1241
+
853
1242
  .search-wrapper input {
854
1243
  background: #252836;
855
1244
  border-color: #2d3148;
@@ -869,18 +1258,6 @@ input[type=text]:focus {
869
1258
  color: #6b7280;
870
1259
  }
871
1260
 
872
- .logo {
873
- filter: invert(1) brightness(1.2);
874
- }
875
-
876
- .link-btn {
877
- color: #9ca3af;
878
- }
879
-
880
- .link-btn:hover {
881
- color: #f3f4f6;
882
- }
883
-
884
1261
  .channel-bar {
885
1262
  background: #1a1d27;
886
1263
  }
@@ -943,6 +1320,7 @@ input[type=text]:focus {
943
1320
 
944
1321
  .item {
945
1322
  background: #1a1d27;
1323
+ color: #e5e7eb;
946
1324
  }
947
1325
 
948
1326
  .item:hover {
@@ -953,29 +1331,35 @@ input[type=text]:focus {
953
1331
  color: #60a5fa;
954
1332
  }
955
1333
 
956
- .meta {
957
- color: #6b7280;
1334
+ .left {
1335
+ color: #e5e7eb;
958
1336
  }
959
1337
 
960
- .preview-panel {
961
- border-top-color: #2d3148;
1338
+ .left.flash {
1339
+ background: #064e3b;
962
1340
  }
963
1341
 
964
- .preview-panel embed,
965
- .preview-panel iframe {
966
- background: #252836;
1342
+ .left:hover::after {
1343
+ background: #374151;
1344
+ color: #f3f4f6;
967
1345
  }
968
1346
 
969
- .preview-panel pre {
970
- background: #0f1117;
971
- border-color: #2d3148;
972
- color: #e5e7eb;
1347
+ .meta {
1348
+ color: #6b7280;
973
1349
  }
974
1350
 
975
- .preview-truncated,
976
- .preview-error,
977
- .preview-loading {
978
- color: #6b7280;
1351
+ .empty-state {
1352
+ color: #4b5563;
1353
+ }
1354
+
1355
+ .size-tag.warn {
1356
+ background: #422006;
1357
+ color: #fbbf24;
1358
+ }
1359
+
1360
+ .size-tag.danger-light {
1361
+ background: #2d1515;
1362
+ color: #f87171;
979
1363
  }
980
1364
 
981
1365
  .icon-btn {
@@ -1053,6 +1437,45 @@ input[type=text]:focus {
1053
1437
  background: #2d3148;
1054
1438
  }
1055
1439
 
1440
+ .preview-panel {
1441
+ border-top-color: #2d3148;
1442
+ }
1443
+
1444
+ .preview-panel embed,
1445
+ .preview-panel iframe {
1446
+ background: #252836;
1447
+ }
1448
+
1449
+ .preview-panel pre {
1450
+ background: #0f1117;
1451
+ border-color: #2d3148;
1452
+ color: #e5e7eb;
1453
+ }
1454
+
1455
+ .preview-truncated,
1456
+ .preview-error,
1457
+ .preview-loading {
1458
+ color: #6b7280;
1459
+ }
1460
+
1461
+ .markdown-body {
1462
+ color: #e5e7eb;
1463
+ }
1464
+
1465
+ .markdown-body code {
1466
+ background: #252836;
1467
+ color: #e5e7eb;
1468
+ }
1469
+
1470
+ .markdown-body pre {
1471
+ background: #0f1117;
1472
+ border-color: #2d3148;
1473
+ }
1474
+
1475
+ .markdown-body a {
1476
+ color: #60a5fa;
1477
+ }
1478
+
1056
1479
  .qr-card {
1057
1480
  background: #1a1d27;
1058
1481
  border-color: #2d3148;
@@ -1067,55 +1490,96 @@ input[type=text]:focus {
1067
1490
  color: #9ca3af;
1068
1491
  }
1069
1492
 
1070
- .markdown-body {
1493
+ .undo-toast {
1494
+ background: #374151;
1495
+ }
1496
+
1497
+ .load-more-btn {
1498
+ background: #1a1d27;
1499
+ color: #d1d5db;
1500
+ border-color: #2d3148;
1501
+ }
1502
+
1503
+ .load-more-btn:hover {
1504
+ background: #2d3148;
1505
+ }
1506
+
1507
+ .markdown-preview {
1071
1508
  color: #e5e7eb;
1072
1509
  }
1073
1510
 
1074
- .markdown-body code {
1511
+ .item-title {
1512
+ color: #6b7280;
1513
+ }
1514
+
1515
+ .title-input {
1075
1516
  background: #252836;
1076
- color: #e5e7eb;
1517
+ border-color: #2d3148;
1518
+ color: #f3f4f6;
1077
1519
  }
1078
1520
 
1079
- .markdown-body pre {
1080
- background: #0f1117;
1521
+ .edit-textarea {
1522
+ background: #252836;
1081
1523
  border-color: #2d3148;
1524
+ color: #f3f4f6;
1082
1525
  }
1083
1526
 
1084
- .markdown-body a {
1085
- color: #60a5fa;
1527
+ .edit-textarea:focus {
1528
+ background: #1a1d27;
1529
+ border-color: #4b5563;
1086
1530
  }
1087
1531
 
1088
- .size-tag.warn {
1532
+ .expiry-badge {
1089
1533
  background: #422006;
1090
1534
  color: #fbbf24;
1091
1535
  }
1092
1536
 
1093
- .size-tag.danger-light {
1537
+ .expiry-badge.expiry-gone {
1094
1538
  background: #2d1515;
1095
1539
  color: #f87171;
1096
1540
  }
1097
1541
 
1098
- .left.flash {
1099
- background: #064e3b;
1542
+ .seen-count {
1543
+ color: #6b7280;
1100
1544
  }
1101
1545
 
1102
- .left:hover::after {
1103
- background: #374151;
1546
+ .more-dropdown {
1547
+ background: #1a1d27;
1548
+ border-color: #2d3148;
1549
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
1550
+ }
1551
+
1552
+ .more-dropdown button {
1553
+ color: #d1d5db;
1554
+ }
1555
+
1556
+ .more-dropdown button:hover {
1557
+ background: #252836;
1104
1558
  color: #f3f4f6;
1105
1559
  }
1106
1560
 
1107
- .empty-state {
1108
- color: #4b5563;
1561
+ .more-dropdown .dropdown-label {
1562
+ color: #6b7280;
1563
+ }
1564
+
1565
+ .icon-btn.pinned i {
1566
+ color: #f59e0b;
1567
+ }
1568
+
1569
+ .item-new {
1570
+ border-left: 3px solid #16a34a;
1571
+ padding-left: 13px;
1572
+ background: #052e16;
1109
1573
  }
1110
1574
 
1111
- .upload-status {
1575
+ #uploadStatus {
1112
1576
  background: #1a1d27 !important;
1577
+ color: #e5e7eb !important;
1113
1578
  }
1114
1579
  }
1115
1580
  }
1116
1581
 
1117
1582
  :root[data-theme="dark"] {
1118
-
1119
1583
  body {
1120
1584
  background: #0f1117;
1121
1585
  }
@@ -1129,6 +1593,46 @@ input[type=text]:focus {
1129
1593
  color: #f3f4f6;
1130
1594
  }
1131
1595
 
1596
+ .logo {
1597
+ filter: invert(1) brightness(1.2);
1598
+ }
1599
+
1600
+ .username-display {
1601
+ color: #d1d5db;
1602
+ }
1603
+
1604
+ .username-display:hover {
1605
+ color: #f3f4f6;
1606
+ border-bottom-color: #6b7280;
1607
+ }
1608
+
1609
+ .online-count {
1610
+ color: #6b7280;
1611
+ }
1612
+
1613
+ .link-btn {
1614
+ color: #9ca3af;
1615
+ }
1616
+
1617
+ .link-btn:hover {
1618
+ color: #f3f4f6;
1619
+ }
1620
+
1621
+ .theme-toggle:hover {
1622
+ background: #2d3148;
1623
+ }
1624
+
1625
+ .logout-btn {
1626
+ border-color: #2d3148;
1627
+ color: #9ca3af;
1628
+ }
1629
+
1630
+ .logout-btn:hover {
1631
+ background: #2d1515;
1632
+ border-color: #7f1d1d;
1633
+ color: #f87171;
1634
+ }
1635
+
1132
1636
  .search-wrapper input {
1133
1637
  background: #252836;
1134
1638
  border-color: #2d3148;
@@ -1148,18 +1652,6 @@ input[type=text]:focus {
1148
1652
  color: #6b7280;
1149
1653
  }
1150
1654
 
1151
- .logo {
1152
- filter: invert(1) brightness(1.2);
1153
- }
1154
-
1155
- .link-btn {
1156
- color: #9ca3af;
1157
- }
1158
-
1159
- .link-btn:hover {
1160
- color: #f3f4f6;
1161
- }
1162
-
1163
1655
  .channel-bar {
1164
1656
  background: #1a1d27;
1165
1657
  }
@@ -1186,10 +1678,6 @@ input[type=text]:focus {
1186
1678
  color: #9ca3af;
1187
1679
  }
1188
1680
 
1189
- .header-right span {
1190
- color: #f3f4f6;
1191
- }
1192
-
1193
1681
  .add-channel:hover {
1194
1682
  background: #2d3148;
1195
1683
  }
@@ -1226,6 +1714,7 @@ input[type=text]:focus {
1226
1714
 
1227
1715
  .item {
1228
1716
  background: #1a1d27;
1717
+ color: #e5e7eb;
1229
1718
  }
1230
1719
 
1231
1720
  .item:hover {
@@ -1236,29 +1725,35 @@ input[type=text]:focus {
1236
1725
  color: #60a5fa;
1237
1726
  }
1238
1727
 
1239
- .meta {
1240
- color: #6b7280;
1728
+ .left {
1729
+ color: #e5e7eb;
1241
1730
  }
1242
1731
 
1243
- .preview-panel {
1244
- border-top-color: #2d3148;
1732
+ .left.flash {
1733
+ background: #064e3b;
1245
1734
  }
1246
1735
 
1247
- .preview-panel embed,
1248
- .preview-panel iframe {
1249
- background: #252836;
1736
+ .left:hover::after {
1737
+ background: #374151;
1738
+ color: #f3f4f6;
1250
1739
  }
1251
1740
 
1252
- .preview-panel pre {
1253
- background: #0f1117;
1254
- border-color: #2d3148;
1255
- color: #e5e7eb;
1741
+ .meta {
1742
+ color: #6b7280;
1256
1743
  }
1257
1744
 
1258
- .preview-truncated,
1259
- .preview-error,
1260
- .preview-loading {
1261
- color: #6b7280;
1745
+ .empty-state {
1746
+ color: #4b5563;
1747
+ }
1748
+
1749
+ .size-tag.warn {
1750
+ background: #422006;
1751
+ color: #fbbf24;
1752
+ }
1753
+
1754
+ .size-tag.danger-light {
1755
+ background: #2d1515;
1756
+ color: #f87171;
1262
1757
  }
1263
1758
 
1264
1759
  .icon-btn {
@@ -1336,18 +1831,25 @@ input[type=text]:focus {
1336
1831
  background: #2d3148;
1337
1832
  }
1338
1833
 
1339
- .qr-card {
1340
- background: #1a1d27;
1341
- border-color: #2d3148;
1342
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
1834
+ .preview-panel {
1835
+ border-top-color: #2d3148;
1343
1836
  }
1344
1837
 
1345
- .qr-card .qr-label {
1346
- color: #f3f4f6;
1838
+ .preview-panel embed,
1839
+ .preview-panel iframe {
1840
+ background: #252836;
1347
1841
  }
1348
1842
 
1349
- .qr-card .qr-url {
1350
- color: #9ca3af;
1843
+ .preview-panel pre {
1844
+ background: #0f1117;
1845
+ border-color: #2d3148;
1846
+ color: #e5e7eb;
1847
+ }
1848
+
1849
+ .preview-truncated,
1850
+ .preview-error,
1851
+ .preview-loading {
1852
+ color: #6b7280;
1351
1853
  }
1352
1854
 
1353
1855
  .markdown-body {
@@ -1368,106 +1870,104 @@ input[type=text]:focus {
1368
1870
  color: #60a5fa;
1369
1871
  }
1370
1872
 
1371
- .size-tag.warn {
1372
- background: #422006;
1373
- color: #fbbf24;
1873
+ .qr-card {
1874
+ background: #1a1d27;
1875
+ border-color: #2d3148;
1876
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
1374
1877
  }
1375
1878
 
1376
- .size-tag.danger-light {
1377
- background: #2d1515;
1378
- color: #f87171;
1879
+ .qr-card .qr-label {
1880
+ color: #f3f4f6;
1379
1881
  }
1380
1882
 
1381
- .left.flash {
1382
- background: #064e3b;
1883
+ .qr-card .qr-url {
1884
+ color: #9ca3af;
1383
1885
  }
1384
1886
 
1385
- .left:hover::after {
1887
+ .undo-toast {
1386
1888
  background: #374151;
1889
+ }
1890
+
1891
+ .load-more-btn {
1892
+ background: #1a1d27;
1893
+ color: #d1d5db;
1894
+ border-color: #2d3148;
1895
+ }
1896
+
1897
+ .load-more-btn:hover {
1898
+ background: #2d3148;
1899
+ }
1900
+
1901
+ .markdown-preview {
1902
+ color: #e5e7eb;
1903
+ }
1904
+
1905
+ .item-title {
1906
+ color: #6b7280;
1907
+ }
1908
+
1909
+ .title-input {
1910
+ background: #252836;
1911
+ border-color: #2d3148;
1387
1912
  color: #f3f4f6;
1388
1913
  }
1389
1914
 
1390
- .empty-state {
1391
- color: #4b5563;
1915
+ .edit-textarea {
1916
+ background: #252836;
1917
+ border-color: #2d3148;
1918
+ color: #f3f4f6;
1392
1919
  }
1393
1920
 
1394
- .upload-status {
1395
- background: #1a1d27 !important;
1921
+ .edit-textarea:focus {
1922
+ background: #1a1d27;
1923
+ border-color: #4b5563;
1396
1924
  }
1397
- }
1398
1925
 
1399
- .undo-toast {
1400
- position: fixed;
1401
- bottom: 30px;
1402
- left: 50%;
1403
- transform: translateX(-50%) translateY(80px);
1404
- background: #1f2937;
1405
- color: #f3f4f6;
1406
- padding: 12px 16px;
1407
- border-radius: 10px;
1408
- font-size: 13px;
1409
- display: flex;
1410
- align-items: center;
1411
- gap: 12px;
1412
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
1413
- z-index: 9999;
1414
- opacity: 0;
1415
- transition: transform 0.2s ease, opacity 0.2s ease;
1416
- min-width: 220px;
1417
- overflow: hidden;
1418
- }
1926
+ .expiry-badge {
1927
+ background: #422006;
1928
+ color: #fbbf24;
1929
+ }
1419
1930
 
1420
- .undo-toast.show {
1421
- transform: translateX(-50%) translateY(0);
1422
- opacity: 1;
1423
- }
1931
+ .expiry-badge.expiry-gone {
1932
+ background: #2d1515;
1933
+ color: #f87171;
1934
+ }
1424
1935
 
1425
- .undo-toast #undoBtn {
1426
- background: none;
1427
- border: 1px solid #4b5563;
1428
- color: #f3f4f6;
1429
- padding: 4px 10px;
1430
- border-radius: 6px;
1431
- font-size: 12px;
1432
- cursor: pointer;
1433
- flex-shrink: 0;
1434
- }
1936
+ .seen-count {
1937
+ color: #6b7280;
1938
+ }
1435
1939
 
1436
- .undo-toast #undoBtn:hover {
1437
- background: #374151;
1438
- }
1940
+ .more-dropdown {
1941
+ background: #1a1d27;
1942
+ border-color: #2d3148;
1943
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
1944
+ }
1439
1945
 
1440
- .undo-progress {
1441
- position: absolute;
1442
- bottom: 0;
1443
- left: 0;
1444
- height: 3px;
1445
- width: 100%;
1446
- background: #4b5563;
1447
- transform-origin: left;
1448
- animation: none;
1449
- }
1946
+ .more-dropdown button {
1947
+ color: #d1d5db;
1948
+ }
1450
1949
 
1451
- .undo-progress.running {
1452
- animation: drain 5s linear forwards;
1453
- }
1950
+ .more-dropdown button:hover {
1951
+ background: #252836;
1952
+ color: #f3f4f6;
1953
+ }
1454
1954
 
1455
- @keyframes drain {
1456
- from {
1457
- transform: scaleX(1);
1955
+ .more-dropdown .dropdown-label {
1956
+ color: #6b7280;
1458
1957
  }
1459
1958
 
1460
- to {
1461
- transform: scaleX(0);
1959
+ .icon-btn.pinned i {
1960
+ color: #f59e0b;
1462
1961
  }
1463
- }
1464
1962
 
1465
- @media (prefers-color-scheme: dark) {
1466
- :root:not([data-theme="light"]) .undo-toast {
1467
- background: #374151;
1963
+ .item-new {
1964
+ border-left: 3px solid #16a34a;
1965
+ padding-left: 13px;
1966
+ background: #052e16;
1468
1967
  }
1469
- }
1470
1968
 
1471
- :root[data-theme="dark"] .undo-toast {
1472
- background: #374151;
1969
+ #uploadStatus {
1970
+ background: #1a1d27 !important;
1971
+ color: #e5e7eb !important;
1972
+ }
1473
1973
  }