@volter/twin-github 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,958 @@
1
+ :root {
2
+ color-scheme: light;
3
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4
+ background: #fff;
5
+ color: #1f2328;
6
+ }
7
+
8
+ * {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ body {
13
+ margin: 0;
14
+ background: #c9d1d9;
15
+ }
16
+
17
+ button {
18
+ font: inherit;
19
+ cursor: pointer;
20
+ }
21
+
22
+ .global-header {
23
+ height: 64px;
24
+ background: #24292f;
25
+ color: #f0f3f6;
26
+ display: flex;
27
+ align-items: center;
28
+ gap: 16px;
29
+ padding: 0 24px;
30
+ }
31
+
32
+ .octo {
33
+ width: 32px;
34
+ height: 32px;
35
+ border-radius: 999px;
36
+ background: #f0f3f6;
37
+ color: #24292f;
38
+ display: grid;
39
+ place-items: center;
40
+ font-size: 11px;
41
+ font-weight: 900;
42
+ }
43
+
44
+ .search {
45
+ width: 300px;
46
+ max-width: 32vw;
47
+ height: 32px;
48
+ border: 1px solid #57606a;
49
+ border-radius: 6px;
50
+ background: #24292f;
51
+ color: #c9d1d9;
52
+ padding: 0 12px;
53
+ }
54
+
55
+ .global-nav {
56
+ display: flex;
57
+ gap: 14px;
58
+ font-size: 14px;
59
+ font-weight: 600;
60
+ }
61
+
62
+ .global-spacer {
63
+ flex: 1;
64
+ }
65
+
66
+ .pill-dark {
67
+ border: 1px solid #57606a;
68
+ border-radius: 6px;
69
+ padding: 4px 8px;
70
+ color: #c9d1d9;
71
+ font-size: 12px;
72
+ }
73
+
74
+ .repo-head {
75
+ background: #f6f8fa;
76
+ border-bottom: 1px solid #d0d7de;
77
+ padding: 16px 32px 0;
78
+ }
79
+
80
+ .repo-line {
81
+ display: flex;
82
+ align-items: center;
83
+ gap: 8px;
84
+ color: #57606a;
85
+ font-size: 20px;
86
+ min-width: 0;
87
+ }
88
+
89
+ .repo-line button {
90
+ border: 0;
91
+ background: transparent;
92
+ color: #0969da;
93
+ font-size: 20px;
94
+ padding: 0;
95
+ }
96
+
97
+ .repo-line strong {
98
+ color: #0969da;
99
+ font-weight: 600;
100
+ min-width: 0;
101
+ overflow: hidden;
102
+ text-overflow: ellipsis;
103
+ white-space: nowrap;
104
+ }
105
+
106
+ .visibility {
107
+ border: 1px solid #d0d7de;
108
+ border-radius: 999px;
109
+ padding: 0 7px;
110
+ color: #57606a;
111
+ font-size: 12px;
112
+ font-weight: 600;
113
+ }
114
+
115
+ .repo-tabs {
116
+ display: flex;
117
+ align-items: end;
118
+ gap: 4px;
119
+ margin-top: 14px;
120
+ }
121
+
122
+ .repo-tabs button {
123
+ border: 0;
124
+ background: transparent;
125
+ padding: 13px 12px 12px;
126
+ border-bottom: 2px solid transparent;
127
+ color: #24292f;
128
+ display: inline-flex;
129
+ align-items: center;
130
+ gap: 6px;
131
+ }
132
+
133
+ .repo-tabs button.active {
134
+ border-bottom-color: #fd8c73;
135
+ font-weight: 600;
136
+ }
137
+
138
+ .count {
139
+ background: #eaeef2;
140
+ border-radius: 999px;
141
+ padding: 1px 6px;
142
+ font-size: 12px;
143
+ color: #24292f;
144
+ }
145
+
146
+ .browser-shell {
147
+ min-height: 100vh;
148
+ background: #c9d1d9;
149
+ }
150
+
151
+ .browser-tabs {
152
+ display: flex;
153
+ align-items: end;
154
+ gap: 2px;
155
+ overflow-x: auto;
156
+ background: #d8dee4;
157
+ padding: 8px 10px 0;
158
+ scrollbar-gutter: stable;
159
+ }
160
+
161
+ .browser-tab {
162
+ flex: 0 0 auto;
163
+ min-width: 0;
164
+ max-width: 260px;
165
+ height: 36px;
166
+ display: inline-flex;
167
+ align-items: center;
168
+ gap: 8px;
169
+ border: 1px solid #afb8c1;
170
+ border-bottom: 0;
171
+ border-radius: 10px 10px 0 0;
172
+ background: #eaeef2;
173
+ color: #24292f;
174
+ padding: 0 12px;
175
+ text-align: left;
176
+ }
177
+
178
+ .browser-tab.active {
179
+ background: #fff;
180
+ color: #24292f;
181
+ }
182
+
183
+ .browser-tab span {
184
+ overflow: hidden;
185
+ text-overflow: ellipsis;
186
+ white-space: nowrap;
187
+ font-size: 13px;
188
+ font-weight: 600;
189
+ }
190
+
191
+ .browser-tab strong {
192
+ min-width: 20px;
193
+ text-align: center;
194
+ background: #d8dee4;
195
+ border-radius: 999px;
196
+ color: #57606a;
197
+ padding: 1px 6px;
198
+ font-size: 12px;
199
+ }
200
+
201
+ .browser-tab.active strong {
202
+ background: #d8dee4;
203
+ color: #24292f;
204
+ }
205
+
206
+ .browser-address {
207
+ height: 42px;
208
+ display: flex;
209
+ align-items: center;
210
+ gap: 8px;
211
+ background: #fff;
212
+ border-bottom: 1px solid #d0d7de;
213
+ padding: 0 14px;
214
+ }
215
+
216
+ .browser-dot {
217
+ width: 11px;
218
+ height: 11px;
219
+ border-radius: 999px;
220
+ flex: none;
221
+ }
222
+
223
+ .browser-dot.red { background: #ff5f57; }
224
+ .browser-dot.yellow { background: #febc2e; }
225
+ .browser-dot.green { background: #28c840; }
226
+
227
+ .address-bar {
228
+ height: 28px;
229
+ flex: 1;
230
+ display: flex;
231
+ align-items: center;
232
+ border: 1px solid #d0d7de;
233
+ border-radius: 999px;
234
+ background: #f6f8fa;
235
+ color: #57606a;
236
+ padding: 0 14px;
237
+ font-size: 13px;
238
+ }
239
+
240
+ .github-shell {
241
+ background: #fff;
242
+ }
243
+
244
+ .content {
245
+ max-width: 1280px;
246
+ margin: 0 auto;
247
+ padding: 24px 32px 40px;
248
+ }
249
+
250
+ .toolbar {
251
+ display: flex;
252
+ justify-content: space-between;
253
+ align-items: center;
254
+ gap: 16px;
255
+ margin-bottom: 12px;
256
+ }
257
+
258
+ .pr-filter {
259
+ flex: 1;
260
+ border: 1px solid #d0d7de;
261
+ border-radius: 6px;
262
+ height: 34px;
263
+ padding: 0 12px;
264
+ color: #24292f;
265
+ background: #fff;
266
+ }
267
+
268
+ .new-pr {
269
+ border: 1px solid rgba(31, 35, 40, .15);
270
+ border-radius: 6px;
271
+ background: #1f883d;
272
+ color: #fff;
273
+ height: 34px;
274
+ padding: 0 12px;
275
+ font-weight: 600;
276
+ }
277
+
278
+ .list-box {
279
+ border: 1px solid #d0d7de;
280
+ border-radius: 6px;
281
+ overflow: auto;
282
+ background: #fff;
283
+ max-height: calc(100vh - 248px);
284
+ position: sticky;
285
+ top: 16px;
286
+ }
287
+
288
+ .list-head {
289
+ min-height: 48px;
290
+ background: #f6f8fa;
291
+ border-bottom: 1px solid #d0d7de;
292
+ display: flex;
293
+ align-items: center;
294
+ justify-content: space-between;
295
+ padding: 0 16px;
296
+ color: #57606a;
297
+ font-size: 14px;
298
+ }
299
+
300
+ .list-head strong {
301
+ color: #24292f;
302
+ }
303
+
304
+ .pr-row {
305
+ width: 100%;
306
+ border: 0;
307
+ border-bottom: 1px solid #d8dee4;
308
+ background: #fff;
309
+ display: grid;
310
+ grid-template-columns: 24px minmax(0, 1fr) auto;
311
+ gap: 10px;
312
+ text-align: left;
313
+ padding: 12px 16px;
314
+ }
315
+
316
+ .pr-row:last-child {
317
+ border-bottom: 0;
318
+ }
319
+
320
+ .pr-row:hover,
321
+ .pr-row.active {
322
+ background: #f6f8fa;
323
+ }
324
+
325
+ .status-icon {
326
+ color: #1a7f37;
327
+ font-weight: 900;
328
+ font-size: 18px;
329
+ line-height: 22px;
330
+ }
331
+
332
+ .status-icon.closed {
333
+ color: #8250df;
334
+ }
335
+
336
+ .pr-title {
337
+ color: #24292f;
338
+ font-weight: 600;
339
+ line-height: 1.35;
340
+ }
341
+
342
+ .pr-title:hover {
343
+ color: #0969da;
344
+ }
345
+
346
+ .pr-meta {
347
+ margin-top: 3px;
348
+ color: #57606a;
349
+ font-size: 12px;
350
+ }
351
+
352
+ .labels {
353
+ display: flex;
354
+ gap: 6px;
355
+ align-items: center;
356
+ flex-wrap: wrap;
357
+ justify-content: flex-end;
358
+ }
359
+
360
+ .label {
361
+ border-radius: 999px;
362
+ padding: 1px 7px;
363
+ font-size: 12px;
364
+ font-weight: 600;
365
+ background: #ddf4ff;
366
+ color: #0969da;
367
+ }
368
+
369
+ .approved {
370
+ background: #dafbe1;
371
+ color: #1a7f37;
372
+ }
373
+
374
+ .split {
375
+ display: grid;
376
+ grid-template-columns: minmax(0, 1fr) 320px;
377
+ gap: 24px;
378
+ align-items: start;
379
+ }
380
+
381
+ .split > main {
382
+ min-width: 0;
383
+ }
384
+
385
+ .conversation {
386
+ margin-top: 0;
387
+ display: grid;
388
+ gap: 16px;
389
+ min-width: 0;
390
+ }
391
+
392
+ .conversation h2 {
393
+ margin: 0 0 8px;
394
+ font-size: 26px;
395
+ font-weight: 400;
396
+ line-height: 1.25;
397
+ }
398
+
399
+ .conversation h2 span {
400
+ color: #57606a;
401
+ }
402
+
403
+ .state-line {
404
+ display: flex;
405
+ align-items: center;
406
+ gap: 8px;
407
+ color: #57606a;
408
+ font-size: 14px;
409
+ padding-bottom: 12px;
410
+ border-bottom: 1px solid #d0d7de;
411
+ flex-wrap: wrap;
412
+ }
413
+
414
+ .state-badge {
415
+ border-radius: 999px;
416
+ background: #1a7f37;
417
+ color: white;
418
+ font-weight: 700;
419
+ padding: 4px 10px;
420
+ font-size: 12px;
421
+ text-transform: capitalize;
422
+ }
423
+
424
+ .state-badge.open { background: #1a7f37; }
425
+ .state-badge.closed { background: #cf222e; }
426
+ .state-badge.merged { background: #8250df; }
427
+
428
+ .meta-row {
429
+ display: flex;
430
+ gap: 6px;
431
+ flex-wrap: wrap;
432
+ align-items: center;
433
+ }
434
+
435
+ .label.assignee {
436
+ background: #fff8c5;
437
+ color: #7d4e00;
438
+ }
439
+
440
+ .label.milestone {
441
+ background: #eef2ff;
442
+ color: #4338ca;
443
+ }
444
+
445
+ .label.requested {
446
+ background: #fff1e5;
447
+ color: #9a3412;
448
+ }
449
+
450
+ .requested-reviewers {
451
+ display: flex;
452
+ flex-wrap: wrap;
453
+ gap: 6px;
454
+ margin-top: 8px;
455
+ }
456
+
457
+ .ci-status {
458
+ font-weight: 900;
459
+ font-size: 14px;
460
+ line-height: 1;
461
+ }
462
+
463
+ .ci-status.success { color: #1a7f37; }
464
+ .ci-status.failure { color: #cf222e; }
465
+ .ci-status.pending { color: #9a6700; }
466
+
467
+ .ci-line {
468
+ display: inline-flex;
469
+ align-items: center;
470
+ gap: 6px;
471
+ font-size: 13px;
472
+ font-weight: 600;
473
+ text-transform: capitalize;
474
+ }
475
+
476
+ .ci-line.success { color: #1a7f37; }
477
+ .ci-line.failure { color: #cf222e; }
478
+ .ci-line.pending { color: #9a6700; }
479
+
480
+ .linked-issues {
481
+ margin-top: 4px;
482
+ font-size: 12px;
483
+ color: #57606a;
484
+ display: flex;
485
+ flex-wrap: wrap;
486
+ gap: 6px;
487
+ align-items: center;
488
+ }
489
+
490
+ .linked-ref {
491
+ color: #0969da;
492
+ text-decoration: none;
493
+ font-weight: 600;
494
+ }
495
+
496
+ .linked-ref:hover {
497
+ text-decoration: underline;
498
+ }
499
+
500
+ .issue-row {
501
+ cursor: default;
502
+ }
503
+
504
+ .status-icon.open {
505
+ color: #1a7f37;
506
+ }
507
+
508
+ .timeline-item {
509
+ display: grid;
510
+ grid-template-columns: 40px minmax(0, 1fr);
511
+ gap: 10px;
512
+ }
513
+
514
+ .avatar {
515
+ width: 40px;
516
+ height: 40px;
517
+ border-radius: 999px;
518
+ background: #6e7781;
519
+ color: white;
520
+ display: grid;
521
+ place-items: center;
522
+ font-size: 11px;
523
+ font-weight: 900;
524
+ overflow: hidden;
525
+ flex: none;
526
+ }
527
+
528
+ .avatar img {
529
+ width: 100%;
530
+ height: 100%;
531
+ object-fit: cover;
532
+ display: block;
533
+ }
534
+
535
+ .comment,
536
+ .review-card {
537
+ border: 1px solid #d0d7de;
538
+ border-radius: 6px;
539
+ background: #fff;
540
+ overflow: hidden;
541
+ }
542
+
543
+ .comment-head,
544
+ .review-head {
545
+ background: #f6f8fa;
546
+ border-bottom: 1px solid #d0d7de;
547
+ min-height: 40px;
548
+ display: flex;
549
+ align-items: center;
550
+ gap: 6px;
551
+ padding: 0 12px;
552
+ font-size: 14px;
553
+ }
554
+
555
+ .comment-body {
556
+ padding: 14px;
557
+ white-space: pre-wrap;
558
+ line-height: 1.45;
559
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
560
+ font-size: 12px;
561
+ color: #24292f;
562
+ }
563
+
564
+ .review-card {
565
+ border-color: #2da44e;
566
+ }
567
+
568
+ .review-head {
569
+ background: #dafbe1;
570
+ border-bottom-color: #aceebb;
571
+ color: #1a7f37;
572
+ font-weight: 600;
573
+ }
574
+
575
+ .review-body {
576
+ padding: 12px;
577
+ color: #24292f;
578
+ line-height: 1.45;
579
+ }
580
+
581
+ .snapshot-section {
582
+ display: grid;
583
+ gap: 10px;
584
+ }
585
+
586
+ .snapshot-section h3 {
587
+ margin: 4px 0;
588
+ font-size: 16px;
589
+ }
590
+
591
+ .file-list {
592
+ border: 1px solid #d0d7de;
593
+ border-radius: 6px;
594
+ overflow: hidden;
595
+ }
596
+
597
+ .file-row {
598
+ display: grid;
599
+ grid-template-columns: 90px minmax(0, 1fr) 110px;
600
+ gap: 10px;
601
+ padding: 8px 12px;
602
+ border-bottom: 1px solid #d8dee4;
603
+ align-items: center;
604
+ font-size: 12px;
605
+ }
606
+
607
+ .file-row:last-child {
608
+ border-bottom: 0;
609
+ }
610
+
611
+ .file-row strong {
612
+ min-width: 0;
613
+ overflow-wrap: anywhere;
614
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
615
+ }
616
+
617
+ .sidebar {
618
+ display: grid;
619
+ gap: 18px;
620
+ }
621
+
622
+ .side-section {
623
+ border-bottom: 1px solid #d0d7de;
624
+ padding-bottom: 18px;
625
+ }
626
+
627
+ .side-section h3 {
628
+ margin: 0 0 10px;
629
+ font-size: 13px;
630
+ color: #57606a;
631
+ }
632
+
633
+ .branch {
634
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
635
+ background: #ddf4ff;
636
+ color: #0969da;
637
+ border-radius: 6px;
638
+ padding: 3px 6px;
639
+ font-size: 12px;
640
+ word-break: break-all;
641
+ }
642
+
643
+ a.branch {
644
+ text-decoration: none;
645
+ }
646
+
647
+ a.branch:hover {
648
+ text-decoration: underline;
649
+ }
650
+
651
+ .sha {
652
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
653
+ font-size: 12px;
654
+ color: #57606a;
655
+ word-break: break-all;
656
+ }
657
+
658
+ .empty,
659
+ .error {
660
+ color: #57606a;
661
+ padding: 22px;
662
+ }
663
+
664
+ .error {
665
+ background: #ffebe9;
666
+ color: #cf222e;
667
+ border-radius: 6px;
668
+ margin-bottom: 16px;
669
+ }
670
+
671
+ @media (max-width: 980px) {
672
+ .split {
673
+ grid-template-columns: 1fr;
674
+ }
675
+
676
+ .split > main {
677
+ grid-template-columns: 1fr;
678
+ }
679
+
680
+ .list-box {
681
+ max-height: 42vh;
682
+ position: static;
683
+ }
684
+
685
+ .sidebar {
686
+ display: none;
687
+ }
688
+
689
+ .global-nav,
690
+ .search {
691
+ display: none;
692
+ }
693
+
694
+ .repo-head,
695
+ .content {
696
+ padding-left: 16px;
697
+ padding-right: 16px;
698
+ }
699
+ }
700
+
701
+ /* --- Actions (workflows + runs + jobs) view ------------------------------------- */
702
+ .actions-view {
703
+ display: grid;
704
+ grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
705
+ gap: 18px;
706
+ }
707
+
708
+ .actions-box .run-row {
709
+ display: grid;
710
+ grid-template-columns: auto minmax(0, 1fr);
711
+ gap: 10px;
712
+ width: 100%;
713
+ text-align: left;
714
+ padding: 12px 14px;
715
+ border: 0;
716
+ border-bottom: 1px solid #d8dee4;
717
+ background: transparent;
718
+ cursor: pointer;
719
+ align-items: center;
720
+ }
721
+
722
+ .actions-box .run-row:last-child { border-bottom: 0; }
723
+ .actions-box .run-row:hover,
724
+ .actions-box .run-row.active { background: #f6f8fa; }
725
+
726
+ .run-title {
727
+ display: block;
728
+ font-weight: 600;
729
+ color: #0969da;
730
+ }
731
+
732
+ .run-meta {
733
+ font-size: 12px;
734
+ color: #57606a;
735
+ }
736
+
737
+ .run-badge {
738
+ display: inline-flex;
739
+ gap: 4px;
740
+ align-items: center;
741
+ font-size: 12px;
742
+ font-weight: 600;
743
+ padding: 1px 6px;
744
+ border-radius: 999px;
745
+ white-space: nowrap;
746
+ }
747
+
748
+ .run-badge.success { color: #1a7f37; }
749
+ .run-badge.failure { color: #cf222e; }
750
+ .run-badge.cancelled { color: #57606a; }
751
+ .run-badge.queued,
752
+ .run-badge.in_progress { color: #9a6700; }
753
+
754
+ .run-detail h2 span { color: #57606a; font-weight: 400; }
755
+
756
+ .job-list {
757
+ display: grid;
758
+ gap: 12px;
759
+ }
760
+
761
+ .job-row {
762
+ border: 1px solid #d0d7de;
763
+ border-radius: 6px;
764
+ padding: 10px 12px;
765
+ }
766
+
767
+ .job-head {
768
+ display: flex;
769
+ gap: 8px;
770
+ align-items: center;
771
+ font-size: 14px;
772
+ }
773
+
774
+ .step-list {
775
+ margin: 8px 0 0;
776
+ padding-left: 18px;
777
+ display: grid;
778
+ gap: 4px;
779
+ font-size: 12px;
780
+ color: #57606a;
781
+ }
782
+
783
+ @media (max-width: 900px) {
784
+ .actions-view { grid-template-columns: 1fr; }
785
+ }
786
+
787
+ /* --- Releases (releases + assets + tags) view ----------------------------------- */
788
+ .releases-view {
789
+ display: grid;
790
+ grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
791
+ gap: 18px;
792
+ }
793
+
794
+ .releases-box .release-row {
795
+ display: grid;
796
+ grid-template-columns: auto minmax(0, 1fr) auto;
797
+ gap: 10px;
798
+ width: 100%;
799
+ text-align: left;
800
+ padding: 12px 14px;
801
+ border: 0;
802
+ border-bottom: 1px solid #d8dee4;
803
+ background: transparent;
804
+ cursor: pointer;
805
+ align-items: center;
806
+ }
807
+
808
+ .releases-box .release-row:last-child { border-bottom: 0; }
809
+ .releases-box .release-row:hover,
810
+ .releases-box .release-row.active { background: #f6f8fa; }
811
+
812
+ .release-tag { font-size: 12px; color: #57606a; white-space: nowrap; }
813
+
814
+ .release-title {
815
+ display: block;
816
+ font-weight: 600;
817
+ color: #0969da;
818
+ }
819
+
820
+ .release-meta {
821
+ font-size: 12px;
822
+ color: #57606a;
823
+ }
824
+
825
+ .release-badge {
826
+ display: inline-flex;
827
+ align-items: center;
828
+ font-size: 12px;
829
+ font-weight: 600;
830
+ padding: 1px 8px;
831
+ border-radius: 999px;
832
+ white-space: nowrap;
833
+ border: 1px solid transparent;
834
+ }
835
+
836
+ .release-badge.release { color: #1a7f37; border-color: #1a7f3744; }
837
+ .release-badge.prerelease { color: #9a6700; border-color: #9a670044; }
838
+ .release-badge.draft { color: #57606a; border-color: #57606a44; }
839
+
840
+ .release-detail h2 span { color: #57606a; font-weight: 400; }
841
+
842
+ .asset-list {
843
+ display: grid;
844
+ gap: 6px;
845
+ }
846
+
847
+ .asset-row {
848
+ display: grid;
849
+ grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto auto;
850
+ gap: 10px;
851
+ align-items: center;
852
+ border: 1px solid #d0d7de;
853
+ border-radius: 6px;
854
+ padding: 8px 12px;
855
+ font-size: 12px;
856
+ }
857
+
858
+ .asset-name { color: #0969da; }
859
+ .asset-type { color: #57606a; }
860
+ .asset-size, .asset-downloads { color: #57606a; white-space: nowrap; }
861
+
862
+ @media (max-width: 900px) {
863
+ .releases-view { grid-template-columns: 1fr; }
864
+ }
865
+
866
+ /* --- Discussions view ------------------------------------------------------------ */
867
+ .discussions-view {
868
+ display: grid;
869
+ grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
870
+ gap: 18px;
871
+ }
872
+
873
+ .discussions-box .discussion-row {
874
+ display: grid;
875
+ grid-template-columns: auto minmax(0, 1fr) auto;
876
+ gap: 10px;
877
+ width: 100%;
878
+ text-align: left;
879
+ padding: 12px 14px;
880
+ border: 0;
881
+ border-bottom: 1px solid #d8dee4;
882
+ background: transparent;
883
+ cursor: pointer;
884
+ align-items: center;
885
+ }
886
+
887
+ .discussions-box .discussion-row:last-child { border-bottom: 0; }
888
+ .discussions-box .discussion-row:hover,
889
+ .discussions-box .discussion-row.active { background: #f6f8fa; }
890
+
891
+ .discussion-title { display: block; font-weight: 600; color: #0969da; }
892
+ .discussion-meta { font-size: 12px; color: #57606a; }
893
+
894
+ .discussion-category {
895
+ display: inline-flex;
896
+ align-items: center;
897
+ font-size: 12px;
898
+ font-weight: 600;
899
+ padding: 1px 8px;
900
+ border-radius: 999px;
901
+ white-space: nowrap;
902
+ border: 1px solid #d0d7de;
903
+ color: #57606a;
904
+ }
905
+ .discussion-category.answerable { color: #0969da; border-color: #0969da44; }
906
+
907
+ .answer-badge {
908
+ display: inline-flex;
909
+ align-items: center;
910
+ font-size: 12px;
911
+ font-weight: 600;
912
+ padding: 1px 8px;
913
+ border-radius: 999px;
914
+ white-space: nowrap;
915
+ border: 1px solid transparent;
916
+ }
917
+ .answer-badge.answered { color: #1a7f37; border-color: #1a7f3744; }
918
+ .answer-badge.unanswered { color: #9a6700; border-color: #9a670044; }
919
+
920
+ .discussion-detail h2 span { color: #57606a; font-weight: 400; }
921
+
922
+ .comment-thread { display: grid; gap: 8px; }
923
+ .thread-comment {
924
+ border: 1px solid #d0d7de;
925
+ border-radius: 6px;
926
+ padding: 8px 12px;
927
+ font-size: 13px;
928
+ }
929
+ .thread-comment.reply { margin-left: 22px; border-left: 3px solid #d0d7de; }
930
+ .thread-comment.is-answer { border-color: #1a7f3766; background: #dafbe11a; }
931
+ .accepted-answer { border: 1px solid #1a7f3766; background: #dafbe11a; border-radius: 6px; padding: 8px 12px; }
932
+ .answer-highlight { margin-top: 4px; }
933
+
934
+ @media (max-width: 900px) {
935
+ .discussions-view { grid-template-columns: 1fr; }
936
+ }
937
+
938
+ /* Deployments / Environments view */
939
+ .deployments-view { display: flex; flex-direction: column; gap: 16px; }
940
+ .deployments-view h3 { margin: 0 0 8px; font-size: 14px; }
941
+ .environments-list { border: 1px solid #d0d7de; border-radius: 6px; padding: 12px; }
942
+ .environment-row { display: flex; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid #eaeef2; }
943
+ .environment-row:last-child { border-bottom: none; }
944
+ .environment-name { min-width: 140px; }
945
+ .environment-protected { background: #ddf4ff; color: #0969da; }
946
+ .deployments-list { border: 1px solid #d0d7de; border-radius: 6px; padding: 12px; }
947
+ .deployment-row { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #eaeef2; }
948
+ .deployment-row:last-child { border-bottom: none; }
949
+ .deployment-ref { flex: 1; }
950
+ .deployment-meta { color: #57606a; font-size: 12px; margin-top: 2px; }
951
+ .deployment-state {
952
+ display: inline-flex; font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 999px; white-space: nowrap; color: #fff;
953
+ }
954
+ .deployment-state.success { background: #1a7f37; }
955
+ .deployment-state.failure { background: #cf222e; }
956
+ .deployment-state.pending { background: #9a6700; }
957
+ .deployment-state.inactive { background: #57606a; }
958
+ .deployment-env { background: #f6f8fa; color: #24292f; }