git-reviewer 2.0.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.
@@ -0,0 +1,990 @@
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body {
8
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
9
+ background: #f5f7fa;
10
+ height: 100vh;
11
+ display: flex;
12
+ flex-direction: column;
13
+ overflow: hidden;
14
+ }
15
+
16
+ .hidden {
17
+ display: none !important;
18
+ }
19
+
20
+ /* Header */
21
+ .app-header {
22
+ background: white;
23
+ border-bottom: 1px solid #e1e4e8;
24
+ padding: 16px 24px;
25
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
26
+ }
27
+
28
+ .header-content {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: space-between;
32
+ max-width: 100%;
33
+ }
34
+
35
+ .app-header h1 {
36
+ font-size: 20px;
37
+ font-weight: 600;
38
+ color: #24292e;
39
+ margin: 0;
40
+ white-space: nowrap;
41
+ margin-right: 24px;
42
+ }
43
+
44
+ .header-actions {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: 12px;
48
+ flex: 1;
49
+ max-width: 800px;
50
+ }
51
+
52
+ #repoPath {
53
+ flex: 1;
54
+ padding: 8px 12px;
55
+ font-size: 14px;
56
+ border: 1px solid #d1d5da;
57
+ border-radius: 6px;
58
+ background: #fafbfc;
59
+ transition: all 0.2s;
60
+ }
61
+
62
+ #repoPath:focus {
63
+ outline: none;
64
+ border-color: #0366d6;
65
+ background: white;
66
+ box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
67
+ }
68
+
69
+ button {
70
+ padding: 8px 16px;
71
+ font-size: 14px;
72
+ font-weight: 500;
73
+ background: #0366d6;
74
+ color: white;
75
+ border: none;
76
+ border-radius: 6px;
77
+ cursor: pointer;
78
+ transition: all 0.2s;
79
+ white-space: nowrap;
80
+ }
81
+
82
+ button:hover {
83
+ background: #0256c5;
84
+ }
85
+
86
+ button:active {
87
+ transform: scale(0.98);
88
+ }
89
+
90
+ button:disabled {
91
+ opacity: 0.6;
92
+ cursor: not-allowed;
93
+ }
94
+
95
+ .submit-btn {
96
+ background: #28a745;
97
+ }
98
+
99
+ .submit-btn:hover {
100
+ background: #239239;
101
+ }
102
+
103
+ .status {
104
+ margin-top: 8px;
105
+ padding: 8px 12px;
106
+ border-radius: 6px;
107
+ font-size: 13px;
108
+ font-weight: 500;
109
+ }
110
+
111
+ .status.success {
112
+ background: #d4edda;
113
+ color: #155724;
114
+ border-left: 3px solid #28a745;
115
+ }
116
+
117
+ .status.error {
118
+ background: #f8d7da;
119
+ color: #721c24;
120
+ border-left: 3px solid #dc3545;
121
+ }
122
+
123
+ .status.loading {
124
+ background: #d1ecf1;
125
+ color: #0c5460;
126
+ border-left: 3px solid #17a2b8;
127
+ }
128
+
129
+ /* Main Container */
130
+ .main-container {
131
+ display: flex;
132
+ flex: 1;
133
+ overflow: hidden;
134
+ }
135
+
136
+ /* Sidebar */
137
+ .sidebar {
138
+ width: 320px;
139
+ min-width: 200px;
140
+ max-width: 600px;
141
+ background: white;
142
+ display: flex;
143
+ flex-direction: column;
144
+ overflow: hidden;
145
+ }
146
+
147
+ .sidebar-header {
148
+ padding: 16px 20px;
149
+ border-bottom: 1px solid #e1e4e8;
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: space-between;
153
+ }
154
+
155
+ .sidebar-header h2 {
156
+ font-size: 16px;
157
+ font-weight: 600;
158
+ color: #24292e;
159
+ }
160
+
161
+ .file-count {
162
+ font-size: 12px;
163
+ color: #586069;
164
+ background: #f1f8ff;
165
+ padding: 4px 8px;
166
+ border-radius: 12px;
167
+ }
168
+
169
+ .files-list {
170
+ flex: 1;
171
+ overflow-y: auto;
172
+ padding: 8px;
173
+ }
174
+
175
+ .file-item {
176
+ padding: 10px 12px;
177
+ margin-bottom: 4px;
178
+ background: #fafbfc;
179
+ border-radius: 6px;
180
+ cursor: pointer;
181
+ transition: all 0.2s;
182
+ font-size: 13px;
183
+ color: #24292e;
184
+ border-left: 3px solid transparent;
185
+ display: flex;
186
+ align-items: center;
187
+ gap: 8px;
188
+ }
189
+
190
+ .file-item .filename {
191
+ color: #24292e;
192
+ }
193
+
194
+ .file-path-text {
195
+ flex: 1;
196
+ overflow: hidden;
197
+ text-overflow: ellipsis;
198
+ white-space: nowrap;
199
+ direction: rtl;
200
+ text-align: left;
201
+ color: #6a737d;
202
+ }
203
+
204
+ .file-status {
205
+ font-size: 10px;
206
+ font-weight: 600;
207
+ padding: 2px 6px;
208
+ border-radius: 3px;
209
+ text-align: center;
210
+ min-width: 16px;
211
+ flex-shrink: 0;
212
+ }
213
+
214
+ .file-status-added {
215
+ background: #28a745;
216
+ color: white;
217
+ }
218
+
219
+ .file-status-modified {
220
+ background: #0366d6;
221
+ color: white;
222
+ }
223
+
224
+ .file-item:hover {
225
+ background: #f3f4f6;
226
+ border-left-color: #0366d6;
227
+ }
228
+
229
+ .file-item.active {
230
+ background: #f1f8ff;
231
+ border-left-color: #0366d6;
232
+ color: #0366d6;
233
+ font-weight: 500;
234
+ }
235
+
236
+ /* Resize Handle */
237
+ .resize-handle {
238
+ width: 4px;
239
+ background: #e1e4e8;
240
+ cursor: col-resize;
241
+ transition: background 0.2s;
242
+ flex-shrink: 0;
243
+ }
244
+
245
+ .resize-handle:hover {
246
+ background: #0366d6;
247
+ }
248
+
249
+ .resize-handle.resizing {
250
+ background: #0366d6;
251
+ }
252
+
253
+ /* Comments Sidebar */
254
+ .comments-sidebar {
255
+ width: 350px;
256
+ min-width: 250px;
257
+ max-width: 600px;
258
+ background: white;
259
+ display: flex;
260
+ flex-direction: column;
261
+ overflow: hidden;
262
+ }
263
+
264
+ .comments-sidebar-header {
265
+ padding: 16px 20px;
266
+ border-bottom: 1px solid #e1e4e8;
267
+ display: flex;
268
+ align-items: center;
269
+ justify-content: space-between;
270
+ }
271
+
272
+ .comments-sidebar-header h2 {
273
+ font-size: 16px;
274
+ font-weight: 600;
275
+ color: #24292e;
276
+ }
277
+
278
+ .comments-count {
279
+ font-size: 12px;
280
+ color: #586069;
281
+ background: #fff5b1;
282
+ padding: 4px 8px;
283
+ border-radius: 12px;
284
+ font-weight: 600;
285
+ }
286
+
287
+ .comments-list {
288
+ flex: 1;
289
+ overflow-y: auto;
290
+ padding: 12px;
291
+ }
292
+
293
+ .comment-item {
294
+ background: #f6f8fa;
295
+ border-radius: 6px;
296
+ padding: 12px;
297
+ margin-bottom: 12px;
298
+ border-left: 3px solid #f9c513;
299
+ transition: all 0.2s;
300
+ position: relative;
301
+ }
302
+
303
+ .comment-item:hover {
304
+ background: #e1e4e8;
305
+ border-left-color: #0366d6;
306
+ }
307
+
308
+ .comment-item-content {
309
+ cursor: pointer;
310
+ }
311
+
312
+ .comment-item-delete {
313
+ position: absolute;
314
+ top: 8px;
315
+ right: 8px;
316
+ background: #dc3545;
317
+ color: white;
318
+ border: none;
319
+ border-radius: 4px;
320
+ width: 24px;
321
+ height: 24px;
322
+ display: flex;
323
+ align-items: center;
324
+ justify-content: center;
325
+ cursor: pointer;
326
+ font-size: 16px;
327
+ line-height: 1;
328
+ padding: 0;
329
+ opacity: 0;
330
+ transition: opacity 0.2s;
331
+ }
332
+
333
+ .comment-item:hover .comment-item-delete {
334
+ opacity: 1;
335
+ }
336
+
337
+ .comment-item-delete:hover {
338
+ background: #c82333;
339
+ }
340
+
341
+ .comment-item-file {
342
+ font-size: 11px;
343
+ color: #0366d6;
344
+ font-weight: 600;
345
+ margin-bottom: 6px;
346
+ font-family: 'Monaco', 'Courier New', monospace;
347
+ overflow: hidden;
348
+ text-overflow: ellipsis;
349
+ white-space: nowrap;
350
+ direction: rtl;
351
+ text-align: left;
352
+ }
353
+
354
+ .comment-item-line {
355
+ font-size: 11px;
356
+ color: #586069;
357
+ margin-bottom: 8px;
358
+ }
359
+
360
+ .comment-item-text {
361
+ font-size: 13px;
362
+ color: #24292e;
363
+ white-space: pre-wrap;
364
+ word-wrap: break-word;
365
+ line-height: 1.4;
366
+ }
367
+
368
+ .comment-item-selected {
369
+ margin-top: 8px;
370
+ padding: 6px 8px;
371
+ background: white;
372
+ border-radius: 3px;
373
+ font-size: 11px;
374
+ font-family: 'Monaco', 'Courier New', monospace;
375
+ color: #586069;
376
+ white-space: pre-wrap;
377
+ word-wrap: break-word;
378
+ border: 1px solid #e1e4e8;
379
+ }
380
+
381
+ /* Code Section */
382
+ .code-section {
383
+ flex: 1;
384
+ display: flex;
385
+ flex-direction: column;
386
+ overflow: hidden;
387
+ background: #fafbfc;
388
+ }
389
+
390
+ .code-header {
391
+ padding: 16px 24px;
392
+ background: white;
393
+ border-bottom: 1px solid #e1e4e8;
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: space-between;
397
+ }
398
+
399
+ .code-header h2 {
400
+ font-size: 14px;
401
+ font-weight: 600;
402
+ color: #24292e;
403
+ font-family: 'Monaco', 'Courier New', monospace;
404
+ flex: 1;
405
+ }
406
+
407
+ .full-context-btn {
408
+ background: transparent;
409
+ border: 1px solid #d1d5da;
410
+ padding: 6px 12px;
411
+ font-size: 13px;
412
+ color: #24292e;
413
+ display: flex;
414
+ align-items: center;
415
+ gap: 6px;
416
+ border-radius: 6px;
417
+ }
418
+
419
+ .full-context-btn:hover {
420
+ background: #f6f8fa;
421
+ border-color: #0366d6;
422
+ color: #0366d6;
423
+ }
424
+
425
+ .code-viewer {
426
+ flex: 1;
427
+ overflow-y: auto;
428
+ background: #ffffff;
429
+ padding-bottom: 50vh;
430
+ }
431
+
432
+ .line {
433
+ display: flex;
434
+ align-items: flex-start;
435
+ transition: background 0.1s;
436
+ position: relative;
437
+ border-left: 3px solid transparent;
438
+ }
439
+
440
+ .line:hover {
441
+ background: rgba(0, 0, 0, 0.03);
442
+ }
443
+
444
+ /* Diff-specific styling */
445
+ .diff-add {
446
+ background: #e6ffed;
447
+ }
448
+
449
+ .diff-add:hover {
450
+ background: #d1f5e0;
451
+ }
452
+
453
+ .diff-delete {
454
+ background: #ffebe9;
455
+ }
456
+
457
+ .diff-delete:hover {
458
+ background: #ffd7d5;
459
+ }
460
+
461
+ .diff-unchanged {
462
+ background: #ffffff;
463
+ }
464
+
465
+ /* Line numbers container */
466
+ .line-numbers {
467
+ display: flex;
468
+ flex-shrink: 0;
469
+ background: #fafbfc;
470
+ border-right: 1px solid #e1e4e8;
471
+ font-family: 'Monaco', 'Courier New', monospace;
472
+ font-size: 12px;
473
+ user-select: none;
474
+ }
475
+
476
+ .old-line-number,
477
+ .new-line-number {
478
+ width: 45px;
479
+ text-align: right;
480
+ padding: 4px 8px;
481
+ color: rgba(27, 31, 35, 0.3);
482
+ min-width: 45px;
483
+ }
484
+
485
+ .new-line-number {
486
+ border-left: 1px solid #e1e4e8;
487
+ }
488
+
489
+ .new-line-number:hover,
490
+ .old-line-number:hover {
491
+ color: #0366d6;
492
+ }
493
+
494
+ .diff-delete .old-line-number {
495
+ cursor: pointer;
496
+ }
497
+
498
+ .diff-add .new-line-number,
499
+ .diff-unchanged .new-line-number {
500
+ cursor: pointer;
501
+ }
502
+
503
+ .diff-add .old-line-number {
504
+ background: #cdffd8;
505
+ }
506
+
507
+ .diff-add .new-line-number {
508
+ background: #cdffd8;
509
+ color: #24292e;
510
+ }
511
+
512
+ .diff-delete .old-line-number {
513
+ background: #ffc1bc;
514
+ color: #24292e;
515
+ }
516
+
517
+ .diff-delete .new-line-number {
518
+ background: #ffc1bc;
519
+ }
520
+
521
+ .line-content {
522
+ flex: 1;
523
+ padding: 4px 16px;
524
+ color: #24292e;
525
+ font-family: 'Monaco', 'Courier New', monospace;
526
+ font-size: 12px;
527
+ white-space: pre-wrap;
528
+ word-wrap: break-word;
529
+ overflow-wrap: break-word;
530
+ }
531
+
532
+ .line.commented {
533
+ border-left-color: #f9c513;
534
+ }
535
+
536
+ .diff-add.commented {
537
+ background: #daf5e2;
538
+ }
539
+
540
+ .diff-delete.commented {
541
+ background: #ffddd9;
542
+ }
543
+
544
+ .diff-unchanged.commented {
545
+ background: #fffbdd;
546
+ }
547
+
548
+ .comment-indicator {
549
+ position: absolute;
550
+ left: 0;
551
+ top: 50%;
552
+ transform: translateY(-50%);
553
+ width: 6px;
554
+ height: 6px;
555
+ background: #f9c513;
556
+ border-radius: 50%;
557
+ }
558
+
559
+ /*
560
+ * The body of a comment is a vertical stack: the fuzzy-match warning, the
561
+ * comment text, its follow-ups, and any open reply box. Laying this out as a
562
+ * flex *row* made every block after the first compete with the text for
563
+ * width, which collapsed a commented line into a narrow column as soon as it
564
+ * had a single reply. The action buttons sit outside that flow, pinned to the
565
+ * top-right, with padding reserving their space.
566
+ */
567
+ .comment-box {
568
+ background: #fffbdd;
569
+ padding: 12px 210px 12px 16px;
570
+ margin: 0 90px 0 93px;
571
+ border-left: 3px solid #f9c513;
572
+ display: flex;
573
+ flex-direction: column;
574
+ align-items: stretch;
575
+ border-radius: 0 0 4px 4px;
576
+ position: relative;
577
+ }
578
+
579
+ .comment-text {
580
+ color: #735c0f;
581
+ font-size: 13px;
582
+ white-space: pre-wrap;
583
+ word-wrap: break-word;
584
+ }
585
+
586
+ .comment-actions {
587
+ display: flex;
588
+ gap: 8px;
589
+ flex-shrink: 0;
590
+ position: absolute;
591
+ top: 12px;
592
+ right: 16px;
593
+ }
594
+
595
+ .comment-edit {
596
+ background: #0366d6;
597
+ padding: 4px 12px;
598
+ font-size: 12px;
599
+ }
600
+
601
+ .comment-edit:hover {
602
+ background: #0256c5;
603
+ }
604
+
605
+ .comment-delete {
606
+ background: #dc3545;
607
+ padding: 4px 12px;
608
+ font-size: 12px;
609
+ }
610
+
611
+ .comment-reply {
612
+ background: #6f42c1;
613
+ padding: 4px 12px;
614
+ font-size: 12px;
615
+ }
616
+
617
+ .comment-reply:hover {
618
+ background: #5a32a3;
619
+ }
620
+
621
+ /* Follow-ups */
622
+ .comment-followups {
623
+ margin-top: 12px;
624
+ padding-top: 12px;
625
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
626
+ }
627
+
628
+ .comment-followup-item {
629
+ margin-bottom: 8px;
630
+ padding: 8px 12px;
631
+ background: rgba(255, 255, 255, 0.5);
632
+ border-radius: 4px;
633
+ border-left: 2px solid #6f42c1;
634
+ }
635
+
636
+ .followup-text {
637
+ display: block;
638
+ font-size: 12px;
639
+ color: #24292e;
640
+ margin-bottom: 4px;
641
+ white-space: pre-wrap;
642
+ word-wrap: break-word;
643
+ }
644
+
645
+ .followup-timestamp {
646
+ display: block;
647
+ font-size: 10px;
648
+ color: #6a737d;
649
+ font-style: italic;
650
+ }
651
+
652
+ /* Follow-up input box */
653
+ .followup-input-box {
654
+ margin-top: 12px;
655
+ padding: 12px;
656
+ background: #f0f4ff;
657
+ border-left: 3px solid #6f42c1;
658
+ border-radius: 4px;
659
+ }
660
+
661
+ .followup-input-box textarea {
662
+ width: 100%;
663
+ padding: 8px 12px;
664
+ border: 1px solid #d1d5da;
665
+ border-radius: 4px;
666
+ font-family: inherit;
667
+ font-size: 13px;
668
+ resize: none;
669
+ overflow: hidden;
670
+ min-height: 50px;
671
+ background: white;
672
+ }
673
+
674
+ .followup-input-box textarea:focus {
675
+ outline: none;
676
+ border-color: #6f42c1;
677
+ box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.1);
678
+ }
679
+
680
+ .followup-input-box .actions {
681
+ margin-top: 8px;
682
+ display: flex;
683
+ gap: 8px;
684
+ }
685
+
686
+ .followup-input-box button {
687
+ padding: 6px 14px;
688
+ font-size: 13px;
689
+ }
690
+
691
+ .comment-input-box {
692
+ margin: 0 90px 0 93px;
693
+ padding: 12px;
694
+ background: #f6f8fa;
695
+ border-left: 3px solid #0366d6;
696
+ border-radius: 0 0 4px 4px;
697
+ }
698
+
699
+ .selected-text-preview {
700
+ margin-bottom: 12px;
701
+ padding: 12px;
702
+ background: white;
703
+ border-radius: 4px;
704
+ border: 1px solid #e1e4e8;
705
+ }
706
+
707
+ .selected-text-preview strong {
708
+ display: block;
709
+ margin-bottom: 6px;
710
+ color: #0366d6;
711
+ font-size: 12px;
712
+ font-weight: 600;
713
+ }
714
+
715
+ .selected-text-preview pre {
716
+ margin: 0;
717
+ padding: 8px;
718
+ background: #f6f8fa;
719
+ border-radius: 3px;
720
+ font-family: 'Monaco', 'Courier New', monospace;
721
+ font-size: 12px;
722
+ color: #24292e;
723
+ white-space: pre-wrap;
724
+ word-wrap: break-word;
725
+ border: 1px solid #e1e4e8;
726
+ }
727
+
728
+ .comment-input-box textarea {
729
+ width: 100%;
730
+ padding: 8px 12px;
731
+ border: 1px solid #d1d5da;
732
+ border-radius: 4px;
733
+ font-family: inherit;
734
+ font-size: 13px;
735
+ resize: none;
736
+ overflow: hidden;
737
+ min-height: 60px;
738
+ background: white;
739
+ }
740
+
741
+ .comment-input-box textarea:focus {
742
+ outline: none;
743
+ border-color: #0366d6;
744
+ box-shadow: 0 0 0 3px rgba(3, 102, 214, 0.1);
745
+ }
746
+
747
+ .comment-input-box .actions {
748
+ margin-top: 8px;
749
+ display: flex;
750
+ gap: 8px;
751
+ }
752
+
753
+ .comment-input-box button {
754
+ padding: 6px 14px;
755
+ font-size: 13px;
756
+ }
757
+
758
+ .cancel-btn {
759
+ background: #6c757d;
760
+ }
761
+
762
+ .cancel-btn:hover {
763
+ background: #5a6268;
764
+ }
765
+
766
+ /* Scrollbar styling */
767
+ ::-webkit-scrollbar {
768
+ width: 10px;
769
+ height: 10px;
770
+ }
771
+
772
+ ::-webkit-scrollbar-track {
773
+ background: #f1f1f1;
774
+ }
775
+
776
+ ::-webkit-scrollbar-thumb {
777
+ background: #c1c1c1;
778
+ border-radius: 5px;
779
+ }
780
+
781
+ ::-webkit-scrollbar-thumb:hover {
782
+ background: #a8a8a8;
783
+ }
784
+
785
+ /* Review Modal */
786
+ .review-modal {
787
+ position: fixed;
788
+ top: 0;
789
+ left: 0;
790
+ width: 100%;
791
+ height: 100%;
792
+ background: rgba(0, 0, 0, 0.6);
793
+ display: flex;
794
+ align-items: center;
795
+ justify-content: center;
796
+ z-index: 1000;
797
+ padding: 20px;
798
+ }
799
+
800
+ .review-modal-content {
801
+ background: white;
802
+ border-radius: 8px;
803
+ max-width: 900px;
804
+ width: 100%;
805
+ max-height: 90vh;
806
+ display: flex;
807
+ flex-direction: column;
808
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
809
+ }
810
+
811
+ .review-modal-header {
812
+ padding: 20px 24px;
813
+ border-bottom: 1px solid #e1e4e8;
814
+ display: flex;
815
+ align-items: center;
816
+ justify-content: space-between;
817
+ }
818
+
819
+ .review-modal-header h2 {
820
+ margin: 0;
821
+ font-size: 20px;
822
+ font-weight: 600;
823
+ color: #24292e;
824
+ }
825
+
826
+ .close-modal {
827
+ background: transparent;
828
+ border: none;
829
+ font-size: 32px;
830
+ color: #586069;
831
+ cursor: pointer;
832
+ padding: 0;
833
+ width: 32px;
834
+ height: 32px;
835
+ display: flex;
836
+ align-items: center;
837
+ justify-content: center;
838
+ border-radius: 4px;
839
+ }
840
+
841
+ .close-modal:hover {
842
+ background: #f6f8fa;
843
+ color: #24292e;
844
+ }
845
+
846
+ .review-modal-body {
847
+ flex: 1;
848
+ overflow-y: auto;
849
+ padding: 20px 24px;
850
+ background: #f6f8fa;
851
+ }
852
+
853
+ .review-text {
854
+ background: white;
855
+ padding: 16px;
856
+ border-radius: 6px;
857
+ border: 1px solid #e1e4e8;
858
+ font-family: 'Monaco', 'Courier New', monospace;
859
+ font-size: 13px;
860
+ color: #24292e;
861
+ white-space: pre-wrap;
862
+ word-wrap: break-word;
863
+ margin: 0;
864
+ line-height: 1.6;
865
+ }
866
+
867
+ .review-modal-footer {
868
+ padding: 16px 24px;
869
+ border-top: 1px solid #e1e4e8;
870
+ display: flex;
871
+ gap: 12px;
872
+ justify-content: flex-end;
873
+ }
874
+
875
+ .review-modal-footer button {
876
+ padding: 10px 20px;
877
+ }
878
+
879
+ /* Fuzzy matched comments */
880
+ .comment-box-fuzzy {
881
+ background: #fff9e6 !important;
882
+ border-left-color: #ffa500 !important;
883
+ }
884
+
885
+ .comment-fuzzy-warning {
886
+ font-size: 12px;
887
+ color: #856404;
888
+ background: #fff3cd;
889
+ padding: 6px 10px;
890
+ border-radius: 3px;
891
+ margin-bottom: 8px;
892
+ border: 1px solid #ffeaa7;
893
+ }
894
+
895
+ .comment-original-code {
896
+ margin-top: 6px;
897
+ font-size: 11px;
898
+ color: #6c757d;
899
+ }
900
+
901
+ .comment-original-code code {
902
+ background: white;
903
+ padding: 2px 6px;
904
+ border-radius: 3px;
905
+ font-family: 'Monaco', 'Courier New', monospace;
906
+ border: 1px solid #e1e4e8;
907
+ }
908
+
909
+ /* Unmatched comments section */
910
+ .unmatched-comments-section {
911
+ margin: 20px 90px 20px 93px;
912
+ padding: 16px;
913
+ background: #fff5f5;
914
+ border-left: 3px solid #dc3545;
915
+ border-radius: 4px;
916
+ }
917
+
918
+ .unmatched-comment-item {
919
+ background: white;
920
+ border-radius: 6px;
921
+ margin-bottom: 12px;
922
+ border: 1px solid #f5c6cb;
923
+ overflow: hidden;
924
+ }
925
+
926
+ .unmatched-comment-header {
927
+ padding: 12px 16px;
928
+ background: #f8d7da;
929
+ cursor: pointer;
930
+ display: flex;
931
+ align-items: center;
932
+ gap: 10px;
933
+ transition: background 0.2s;
934
+ }
935
+
936
+ .unmatched-comment-header:hover {
937
+ background: #f1b0b7;
938
+ }
939
+
940
+ .unmatched-comment-icon {
941
+ font-size: 16px;
942
+ }
943
+
944
+ .unmatched-comment-title {
945
+ flex: 1;
946
+ font-size: 13px;
947
+ font-weight: 600;
948
+ color: #721c24;
949
+ }
950
+
951
+ .unmatched-comment-toggle {
952
+ font-size: 12px;
953
+ color: #721c24;
954
+ transition: transform 0.2s;
955
+ }
956
+
957
+ .unmatched-comment-body {
958
+ padding: 16px;
959
+ display: block;
960
+ }
961
+
962
+ .unmatched-comment-item.collapsed .unmatched-comment-body {
963
+ display: none;
964
+ }
965
+
966
+ .unmatched-comment-original {
967
+ margin-bottom: 12px;
968
+ padding: 10px;
969
+ background: #f8f9fa;
970
+ border-radius: 4px;
971
+ border: 1px solid #e1e4e8;
972
+ }
973
+
974
+ .unmatched-comment-original strong {
975
+ display: block;
976
+ margin-bottom: 6px;
977
+ font-size: 12px;
978
+ color: #6c757d;
979
+ }
980
+
981
+ .unmatched-comment-original code {
982
+ display: block;
983
+ padding: 6px 8px;
984
+ background: white;
985
+ border-radius: 3px;
986
+ font-family: 'Monaco', 'Courier New', monospace;
987
+ font-size: 12px;
988
+ color: #24292e;
989
+ border: 1px solid #e1e4e8;
990
+ }