beast-agent 1.1.0 → 1.2.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.
@@ -145,7 +145,7 @@ body {
145
145
  display: flex;
146
146
  align-items: center;
147
147
  justify-content: center;
148
- }
148
+ }
149
149
  .sess-title { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
150
150
  .sess-code {
151
151
  color: var(--muted);
@@ -920,6 +920,79 @@ body.term-open #settingsOverlay { right: var(--tw, 520px); }
920
920
  }
921
921
  .tool-body.open { display: block; }
922
922
  .tool-body.short { white-space: pre-wrap; }
923
+ .tool-body.diff-body { padding: 0; max-height: 480px; overflow: auto; white-space: normal; }
924
+
925
+ /* ---------- opencode diff görünümü (BİREBİR port) ----------
926
+ edit/write sonuçları: SOLDa kırmızı (eski/silinen) — SAĞDA yeşil (yeni/
927
+ eklenen). Dar alanda birleşik görünüm. Renkler opencode TUI temasının
928
+ diffAdded/diffRemoved tint mantığından alınmıştır. */
929
+ .diffbox {
930
+ border-top: 1px solid var(--border);
931
+ font-family: Consolas, monospace;
932
+ font-size: 11.5px;
933
+ }
934
+ .diff-head {
935
+ display: flex;
936
+ align-items: center;
937
+ gap: 8px;
938
+ padding: 6px 12px;
939
+ background: var(--panel2);
940
+ border-bottom: 1px solid var(--border);
941
+ color: var(--muted);
942
+ position: sticky;
943
+ top: 0;
944
+ z-index: 2;
945
+ }
946
+ .diff-file {
947
+ flex: 1;
948
+ white-space: nowrap;
949
+ overflow: hidden;
950
+ text-overflow: ellipsis;
951
+ direction: rtl; /* uzun yolda dosya ADI görünsün */
952
+ text-align: left;
953
+ }
954
+ .diff-badge { display: inline-flex; gap: 6px; font-weight: 700; font-size: 11px; flex-shrink: 0; }
955
+ .diff-badge-add { color: #4ade80; }
956
+ .diff-badge-del { color: #f87171; }
957
+ .tool-head .diff-badge { margin-left: auto; margin-right: 4px; }
958
+ .diff { overflow: auto; }
959
+ .diff-split { display: flex; align-items: flex-start; }
960
+ .diff-side { flex: 1 1 0; min-width: 0; overflow-x: auto; }
961
+ .diff-side.old { border-right: 1px solid var(--border); }
962
+ .diff-line {
963
+ display: flex;
964
+ white-space: pre;
965
+ line-height: 1.45;
966
+ min-height: 1.45em;
967
+ }
968
+ .diff-num {
969
+ flex: 0 0 3.2em;
970
+ text-align: right;
971
+ padding-right: 8px;
972
+ color: var(--muted);
973
+ opacity: 0.55;
974
+ user-select: none;
975
+ }
976
+ .diff-code { flex: 1; padding-right: 10px; }
977
+ /* kırmızı: silinen/eski (sol) — yeşil: eklenen/yeni (sağ) */
978
+ .diff-line.del { background: rgba(239, 68, 68, 0.13); }
979
+ .diff-line.del .diff-code { color: #fca5a5; }
980
+ .diff-line.del .diff-num { color: #f87171; opacity: 0.8; }
981
+ .diff-line.add { background: rgba(34, 197, 94, 0.12); }
982
+ .diff-line.add .diff-code { color: #86efac; }
983
+ .diff-line.add .diff-num { color: #4ade80; opacity: 0.8; }
984
+ .diff-line.ctx .diff-code { color: var(--muted); }
985
+ .diff-line.space { background: rgba(128, 128, 128, 0.06); }
986
+ .diff-more {
987
+ padding: 6px 12px;
988
+ color: var(--muted);
989
+ font-style: italic;
990
+ border-top: 1px dashed var(--border);
991
+ width: 100%;
992
+ }
993
+ /* Beast Code paneli içinde diff gövdesi */
994
+ .bc-toolout.bc-diffview { white-space: normal; padding: 0; max-height: 320px; overflow: auto; }
995
+ .bc-toolout.bc-diffview .diffbox { border-top: none; }
923
996
 
924
997
  /* status pill */
925
998
 
@@ -1669,7 +1742,32 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
1669
1742
  letter-spacing: 1px;
1670
1743
  font-size: 13px;
1671
1744
  color: var(--text);
1672
- text-align: center;
1745
+
1746
+ display: flex;
1747
+ align-items: center;
1748
+ gap: 8px;
1749
+ padding: 12px 12px 10px 16px;
1750
+ font-weight: 800;
1751
+ letter-spacing: 1px;
1752
+ font-size: 13px;
1753
+ color: var(--text);
1754
+ }
1755
+ #railTitle { flex: 1; text-align: left; }
1756
+ #railClear {
1757
+ flex: none;
1758
+ display: inline-flex;
1759
+ align-items: center;
1760
+ justify-content: center;
1761
+ width: 24px;
1762
+ height: 24px;
1763
+ background: none;
1764
+ border: none;
1765
+ border-radius: 6px;
1766
+ cursor: pointer;
1767
+ color: #111;
1768
+ }
1769
+ #railClear:hover { background: rgba(0, 0, 0, 0.08); }
1770
+ #railClear svg { display: block; }
1673
1771
  }
1674
1772
 
1675
1773
  #railList { flex: 1; overflow-y: auto; padding: 4px 8px; }
@@ -2030,8 +2128,8 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
2030
2128
  display: flex; gap: 10px; margin-top: 10px; padding-top: 10px;
2031
2129
  border-top: 1px dashed var(--border); font-size: 12.5px; color: var(--muted); flex-wrap: wrap;
2032
2130
  }
2033
-
2034
-
2131
+
2132
+
2035
2133
  /* ---------- IDE MODU ---------- */
2036
2134
 
2037
2135
  #filePanel {
@@ -2055,7 +2153,7 @@ body.ide-mode #filePanel {
2055
2153
  border-right: none;
2056
2154
  }
2057
2155
  /* IDE modunda sağdaki paralel ajan paneli kapalı */
2058
- body.ide-mode #rail { display: none; }
2156
+ /* IDE modunda paralel ajan paneli de acilabilir (railBtn) - railBtn basincda acik tarayici yerini birakir */
2059
2157
  /* IDE modunda ortadaki sohbet yerine Beast Code paneli */
2060
2158
  body.ide-mode #chatScroll,
2061
2159
  body.ide-mode #composerWrap { display: none; }
@@ -2533,49 +2631,49 @@ body.ide-mode #codePane { display: flex; }
2533
2631
  .ctx-item:hover { background: var(--panel2); }
2534
2632
  .ctx-item.danger { color: var(--err); }
2535
2633
 
2536
- /* ---------- SKILLS STORE ---------- */
2537
-
2538
- #storeOverlay {
2539
- position: fixed;
2540
- inset: 0;
2541
- background: rgba(36, 41, 47, 0.45);
2542
- display: flex;
2543
- align-items: center;
2544
- justify-content: center;
2545
- z-index: 56;
2546
- }
2547
- #storeOverlay[hidden] { display: none; }
2548
- body.browser-open #storeOverlay { right: var(--bw, 480px); }
2549
- #storeDialog {
2550
- width: 70vw;
2551
- height: 70vh;
2552
- background: var(--bg);
2553
- border: 1px solid var(--border);
2554
- border-radius: 14px;
2555
- display: flex;
2556
- flex-direction: column;
2557
- overflow: hidden;
2558
- box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
2559
- }
2560
- #storeHead {
2561
- display: flex;
2562
- align-items: center;
2563
- gap: 10px;
2564
- padding: 14px 18px;
2565
- border-bottom: 1px solid var(--border);
2566
- }
2567
- #storeTitle { font-size: 13px; letter-spacing: 2.5px; font-weight: 800; }
2568
- #storeBeastId {
2569
- font-family: var(--mono, monospace);
2570
- font-size: 11px;
2571
- color: var(--muted);
2572
- border: 1px solid var(--border);
2573
- border-radius: 6px;
2574
- padding: 2px 8px;
2575
- background: var(--panel2);
2576
- user-select: all;
2577
- }
2578
- .store-spacer { flex: 1; }
2634
+ /* ---------- SKILLS STORE ---------- */
2635
+
2636
+ #storeOverlay {
2637
+ position: fixed;
2638
+ inset: 0;
2639
+ background: rgba(36, 41, 47, 0.45);
2640
+ display: flex;
2641
+ align-items: center;
2642
+ justify-content: center;
2643
+ z-index: 56;
2644
+ }
2645
+ #storeOverlay[hidden] { display: none; }
2646
+ body.browser-open #storeOverlay { right: var(--bw, 480px); }
2647
+ #storeDialog {
2648
+ width: 70vw;
2649
+ height: 70vh;
2650
+ background: var(--bg);
2651
+ border: 1px solid var(--border);
2652
+ border-radius: 14px;
2653
+ display: flex;
2654
+ flex-direction: column;
2655
+ overflow: hidden;
2656
+ box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
2657
+ }
2658
+ #storeHead {
2659
+ display: flex;
2660
+ align-items: center;
2661
+ gap: 10px;
2662
+ padding: 14px 18px;
2663
+ border-bottom: 1px solid var(--border);
2664
+ }
2665
+ #storeTitle { font-size: 13px; letter-spacing: 2.5px; font-weight: 800; }
2666
+ #storeBeastId {
2667
+ font-family: var(--mono, monospace);
2668
+ font-size: 11px;
2669
+ color: var(--muted);
2670
+ border: 1px solid var(--border);
2671
+ border-radius: 6px;
2672
+ padding: 2px 8px;
2673
+ background: var(--panel2);
2674
+ user-select: all;
2675
+ }
2676
+ .store-spacer { flex: 1; }
2579
2677
  #storeTabs {
2580
2678
  display: flex;
2581
2679
  padding: 10px 18px 0;
@@ -2612,83 +2710,83 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
2612
2710
  gap: 10px;
2613
2711
  width: 100%;
2614
2712
  max-width: 980px;
2615
- }
2616
- .store-card {
2617
- border: 1px solid var(--border);
2618
- border-radius: 11px;
2619
- background: var(--panel);
2620
- padding: 12px 13px;
2621
- display: flex;
2622
- flex-direction: column;
2623
- gap: 7px;
2624
- }
2625
- .store-card-top { display: flex; align-items: center; gap: 9px; }
2626
- .store-avatar {
2627
- width: 34px; height: 34px; flex: none;
2628
- display: flex; align-items: center; justify-content: center;
2629
- font-size: 19px;
2630
- border-radius: 9px;
2631
- background: var(--panel2);
2632
- border: 1px solid var(--border);
2633
- }
2634
- .store-name { font-weight: 700; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2635
- .store-ver { font-size: 10.5px; color: var(--muted); }
2636
- .store-author { display: flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--muted); min-width: 0; }
2637
- .store-author .sa-avatar { font-size: 13px; }
2638
- .store-author .sa-name { font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2639
- .store-author .sa-beast { font-family: var(--mono, monospace); font-size: 10px; }
2640
- .store-desc {
2641
- font-size: 12px;
2642
- color: var(--muted);
2643
- line-height: 1.45;
2644
- min-height: 34px;
2645
- display: -webkit-box;
2646
- -webkit-line-clamp: 2;
2647
- -webkit-box-orient: vertical;
2648
- overflow: hidden;
2649
- }
2650
- .store-tags { display: flex; gap: 5px; flex-wrap: wrap; }
2651
- .store-tag {
2652
- font-size: 10px;
2653
- color: var(--muted);
2654
- border: 1px solid var(--border);
2655
- border-radius: 20px;
2656
- padding: 1px 8px;
2657
- background: var(--panel2);
2658
- }
2659
- .store-card-foot { display: flex; align-items: center; gap: 8px; margin-top: auto; }
2660
- .store-stats { font-size: 11.5px; color: var(--muted); display: flex; gap: 10px; }
2661
- .store-like {
2662
- border: none; background: none; cursor: pointer;
2663
- color: var(--muted); font-size: 12.5px; padding: 2px 6px; border-radius: 6px;
2664
- }
2665
- .store-like:hover { background: var(--panel2); }
2666
- .store-like.liked { color: var(--err); }
2667
- .store-install {
2668
- margin-left: auto;
2669
- padding: 6px 14px;
2670
- border-radius: 8px;
2671
- border: 1px solid var(--accent);
2672
- background: var(--accent-dim);
2673
- color: var(--accent);
2674
- font-size: 12px;
2675
- font-weight: 700;
2676
- cursor: pointer;
2677
- }
2678
- .store-install:hover { filter: brightness(1.12); }
2679
- .store-install.done {
2680
- border-color: var(--border);
2681
- background: none;
2682
- color: var(--muted);
2683
- cursor: default;
2684
- font-weight: 400;
2685
- }
2686
- .store-empty {
2687
- color: var(--muted);
2688
- font-size: 12.5px;
2689
- text-align: center;
2690
- padding: 40px 0;
2691
- }
2713
+ }
2714
+ .store-card {
2715
+ border: 1px solid var(--border);
2716
+ border-radius: 11px;
2717
+ background: var(--panel);
2718
+ padding: 12px 13px;
2719
+ display: flex;
2720
+ flex-direction: column;
2721
+ gap: 7px;
2722
+ }
2723
+ .store-card-top { display: flex; align-items: center; gap: 9px; }
2724
+ .store-avatar {
2725
+ width: 34px; height: 34px; flex: none;
2726
+ display: flex; align-items: center; justify-content: center;
2727
+ font-size: 19px;
2728
+ border-radius: 9px;
2729
+ background: var(--panel2);
2730
+ border: 1px solid var(--border);
2731
+ }
2732
+ .store-name { font-weight: 700; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2733
+ .store-ver { font-size: 10.5px; color: var(--muted); }
2734
+ .store-author { display: flex; align-items: center; gap: 5px; font-size: 11.5px; color: var(--muted); min-width: 0; }
2735
+ .store-author .sa-avatar { font-size: 13px; }
2736
+ .store-author .sa-name { font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2737
+ .store-author .sa-beast { font-family: var(--mono, monospace); font-size: 10px; }
2738
+ .store-desc {
2739
+ font-size: 12px;
2740
+ color: var(--muted);
2741
+ line-height: 1.45;
2742
+ min-height: 34px;
2743
+ display: -webkit-box;
2744
+ -webkit-line-clamp: 2;
2745
+ -webkit-box-orient: vertical;
2746
+ overflow: hidden;
2747
+ }
2748
+ .store-tags { display: flex; gap: 5px; flex-wrap: wrap; }
2749
+ .store-tag {
2750
+ font-size: 10px;
2751
+ color: var(--muted);
2752
+ border: 1px solid var(--border);
2753
+ border-radius: 20px;
2754
+ padding: 1px 8px;
2755
+ background: var(--panel2);
2756
+ }
2757
+ .store-card-foot { display: flex; align-items: center; gap: 8px; margin-top: auto; }
2758
+ .store-stats { font-size: 11.5px; color: var(--muted); display: flex; gap: 10px; }
2759
+ .store-like {
2760
+ border: none; background: none; cursor: pointer;
2761
+ color: var(--muted); font-size: 12.5px; padding: 2px 6px; border-radius: 6px;
2762
+ }
2763
+ .store-like:hover { background: var(--panel2); }
2764
+ .store-like.liked { color: var(--err); }
2765
+ .store-install {
2766
+ margin-left: auto;
2767
+ padding: 6px 14px;
2768
+ border-radius: 8px;
2769
+ border: 1px solid var(--accent);
2770
+ background: var(--accent-dim);
2771
+ color: var(--accent);
2772
+ font-size: 12px;
2773
+ font-weight: 700;
2774
+ cursor: pointer;
2775
+ }
2776
+ .store-install:hover { filter: brightness(1.12); }
2777
+ .store-install.done {
2778
+ border-color: var(--border);
2779
+ background: none;
2780
+ color: var(--muted);
2781
+ cursor: default;
2782
+ font-weight: 400;
2783
+ }
2784
+ .store-empty {
2785
+ color: var(--muted);
2786
+ font-size: 12.5px;
2787
+ text-align: center;
2788
+ padding: 40px 0;
2789
+ }
2692
2790
  .store-form {
2693
2791
  display: flex;
2694
2792
  flex-direction: column;
@@ -2722,15 +2820,15 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
2722
2820
  text-align: left;
2723
2821
  }
2724
2822
  .store-input:focus { outline: none; border-color: var(--accent); }
2725
- .store-picked {
2726
- font-size: 12px;
2727
- color: var(--muted);
2728
- background: var(--bg);
2729
- border: 1px dashed var(--border);
2730
- border-radius: 8px;
2731
- padding: 8px 11px;
2732
- line-height: 1.5;
2733
- }
2823
+ .store-picked {
2824
+ font-size: 12px;
2825
+ color: var(--muted);
2826
+ background: var(--bg);
2827
+ border: 1px dashed var(--border);
2828
+ border-radius: 8px;
2829
+ padding: 8px 11px;
2830
+ line-height: 1.5;
2831
+ }
2734
2832
  .store-btn {
2735
2833
  align-self: center;
2736
2834
  padding: 8px 16px;
@@ -2740,7 +2838,7 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
2740
2838
  color: var(--text);
2741
2839
  font-size: 12.5px;
2742
2840
  cursor: pointer;
2743
- }
2841
+ }
2744
2842
  .store-btn:hover { border-color: var(--accent); color: var(--accent); }
2745
2843
  .store-saved-user {
2746
2844
  font-weight: 700;
@@ -2750,112 +2848,112 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
2750
2848
  border: 1px solid var(--accent);
2751
2849
  border-radius: 8px;
2752
2850
  padding: 5px 14px;
2753
- }
2754
- .store-btn.primary {
2755
- border-color: var(--accent);
2756
- background: var(--accent-dim);
2757
- color: var(--accent);
2758
- font-weight: 700;
2759
- }
2760
- .store-mine { display: flex; flex-direction: column; gap: 6px; }
2761
- .store-mine-row {
2762
- display: flex; align-items: center; gap: 8px;
2763
- border: 1px solid var(--border);
2764
- border-radius: 9px;
2765
- background: var(--panel);
2766
- padding: 8px 11px;
2767
- font-size: 12.5px;
2768
- }
2769
- .store-mine-row .sm-n { font-weight: 700; }
2770
- .store-mine-row .sm-m { color: var(--muted); font-size: 11.5px; flex: 1; }
2771
- .store-mine-row button {
2772
- border: none; background: none; cursor: pointer;
2773
- color: var(--muted); font-size: 11.5px; padding: 2px 6px; border-radius: 6px;
2774
- }
2775
- .store-mine-row button:hover { background: var(--panel2); color: var(--text); }
2851
+ }
2852
+ .store-btn.primary {
2853
+ border-color: var(--accent);
2854
+ background: var(--accent-dim);
2855
+ color: var(--accent);
2856
+ font-weight: 700;
2857
+ }
2858
+ .store-mine { display: flex; flex-direction: column; gap: 6px; }
2859
+ .store-mine-row {
2860
+ display: flex; align-items: center; gap: 8px;
2861
+ border: 1px solid var(--border);
2862
+ border-radius: 9px;
2863
+ background: var(--panel);
2864
+ padding: 8px 11px;
2865
+ font-size: 12.5px;
2866
+ }
2867
+ .store-mine-row .sm-n { font-weight: 700; }
2868
+ .store-mine-row .sm-m { color: var(--muted); font-size: 11.5px; flex: 1; }
2869
+ .store-mine-row button {
2870
+ border: none; background: none; cursor: pointer;
2871
+ color: var(--muted); font-size: 11.5px; padding: 2px 6px; border-radius: 6px;
2872
+ }
2873
+ .store-mine-row button:hover { background: var(--panel2); color: var(--text); }
2776
2874
  .store-mine-row button.sm-del:hover { color: var(--err); }
2777
-
2778
- /* ================= GITHUB TRENDING MODALI =================
2779
- Skills Store modalıyla aynı tasarım dili: 70vw×70vh, aynı head/kart dili.
2780
- Sol: Trending depolar · Sağ: Favoriler (localStorage'da kalıcı). */
2781
- #ghOverlay {
2782
- position: fixed;
2783
- inset: 0;
2784
- background: rgba(36, 41, 47, 0.45);
2785
- display: flex;
2786
- align-items: center;
2787
- justify-content: center;
2788
- z-index: 56;
2789
- }
2790
- #ghOverlay[hidden] { display: none; }
2791
- body.browser-open #ghOverlay { right: var(--bw, 480px); }
2792
- #ghDialog {
2793
- width: 70vw;
2794
- height: 70vh;
2795
- background: var(--bg);
2796
- border: 1px solid var(--border);
2797
- border-radius: 14px;
2798
- display: flex;
2799
- flex-direction: column;
2800
- overflow: hidden;
2801
- box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
2802
- }
2803
- #ghHead {
2804
- display: flex;
2805
- align-items: center;
2806
- gap: 10px;
2807
- padding: 14px 18px;
2808
- border-bottom: 1px solid var(--border);
2809
- }
2810
- #ghTitle { font-size: 13px; letter-spacing: 2.5px; font-weight: 800; }
2811
- #ghBody { flex: 1; display: flex; min-height: 0; }
2812
- .gh-pane {
2813
- flex: 1; min-width: 0;
2814
- display: flex; flex-direction: column;
2815
- }
2816
- #ghTrendPane { border-right: 1px solid var(--border); }
2817
- .gh-pane-title {
2818
- padding: 10px 14px 8px;
2819
- font-size: 10.5px; font-weight: 800; letter-spacing: 1.2px;
2820
- color: var(--muted);
2821
- border-bottom: 1px solid var(--border);
2822
- flex: none;
2823
- }
2824
- .gh-pane-sub { font-weight: 400; letter-spacing: 0; text-transform: none; }
2825
- .gh-pane-list { flex: 1; overflow-y: auto; padding: 10px; }
2826
- .gh-empty { color: var(--muted); font-size: 12.5px; padding: 18px 10px; text-align: center; }
2827
- .gh-card {
2828
- border: 1px solid var(--border);
2829
- border-radius: 10px;
2830
- padding: 10px 12px;
2831
- margin-bottom: 8px;
2832
- background: var(--panel);
2833
- }
2834
- .gh-card:hover { border-color: var(--accent); }
2835
- .gh-card-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
2836
- .gh-name {
2837
- font-weight: 700; font-size: 13px; color: var(--text);
2838
- white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
2839
- min-width: 0; cursor: pointer;
2840
- }
2841
- .gh-name:hover { color: var(--accent); text-decoration: underline; }
2842
- .gh-stars { color: var(--muted); font-size: 11.5px; flex: none; }
2843
- .gh-lang { color: var(--muted); font-size: 11px; flex: none; }
2844
- .gh-desc {
2845
- color: var(--muted); font-size: 12px; line-height: 1.4;
2846
- margin-top: 4px;
2847
- display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
2848
- }
2849
- .gh-actions { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
2850
- .gh-actions button {
2851
- border: 1px solid var(--border); background: var(--panel2);
2852
- color: var(--text); font-size: 11.5px; font-weight: 700;
2853
- padding: 3px 10px; border-radius: 7px; cursor: pointer;
2854
- }
2855
- .gh-actions button:hover { border-color: var(--accent); color: var(--accent); }
2856
- .gh-actions button.gh-fav.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
2875
+
2876
+ /* ================= GITHUB TRENDING MODALI =================
2877
+ Skills Store modalıyla aynı tasarım dili: 70vw×70vh, aynı head/kart dili.
2878
+ Sol: Trending depolar · Sağ: Favoriler (localStorage'da kalıcı). */
2879
+ #ghOverlay {
2880
+ position: fixed;
2881
+ inset: 0;
2882
+ background: rgba(36, 41, 47, 0.45);
2883
+ display: flex;
2884
+ align-items: center;
2885
+ justify-content: center;
2886
+ z-index: 56;
2887
+ }
2888
+ #ghOverlay[hidden] { display: none; }
2889
+ body.browser-open #ghOverlay { right: var(--bw, 480px); }
2890
+ #ghDialog {
2891
+ width: 70vw;
2892
+ height: 70vh;
2893
+ background: var(--bg);
2894
+ border: 1px solid var(--border);
2895
+ border-radius: 14px;
2896
+ display: flex;
2897
+ flex-direction: column;
2898
+ overflow: hidden;
2899
+ box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
2900
+ }
2901
+ #ghHead {
2902
+ display: flex;
2903
+ align-items: center;
2904
+ gap: 10px;
2905
+ padding: 14px 18px;
2906
+ border-bottom: 1px solid var(--border);
2907
+ }
2908
+ #ghTitle { font-size: 13px; letter-spacing: 2.5px; font-weight: 800; }
2909
+ #ghBody { flex: 1; display: flex; min-height: 0; }
2910
+ .gh-pane {
2911
+ flex: 1; min-width: 0;
2912
+ display: flex; flex-direction: column;
2913
+ }
2914
+ #ghTrendPane { border-right: 1px solid var(--border); }
2915
+ .gh-pane-title {
2916
+ padding: 10px 14px 8px;
2917
+ font-size: 10.5px; font-weight: 800; letter-spacing: 1.2px;
2918
+ color: var(--muted);
2919
+ border-bottom: 1px solid var(--border);
2920
+ flex: none;
2921
+ }
2922
+ .gh-pane-sub { font-weight: 400; letter-spacing: 0; text-transform: none; }
2923
+ .gh-pane-list { flex: 1; overflow-y: auto; padding: 10px; }
2924
+ .gh-empty { color: var(--muted); font-size: 12.5px; padding: 18px 10px; text-align: center; }
2925
+ .gh-card {
2926
+ border: 1px solid var(--border);
2927
+ border-radius: 10px;
2928
+ padding: 10px 12px;
2929
+ margin-bottom: 8px;
2930
+ background: var(--panel);
2931
+ }
2932
+ .gh-card:hover { border-color: var(--accent); }
2933
+ .gh-card-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
2934
+ .gh-name {
2935
+ font-weight: 700; font-size: 13px; color: var(--text);
2936
+ white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
2937
+ min-width: 0; cursor: pointer;
2938
+ }
2939
+ .gh-name:hover { color: var(--accent); text-decoration: underline; }
2940
+ .gh-stars { color: var(--muted); font-size: 11.5px; flex: none; }
2941
+ .gh-lang { color: var(--muted); font-size: 11px; flex: none; }
2942
+ .gh-desc {
2943
+ color: var(--muted); font-size: 12px; line-height: 1.4;
2944
+ margin-top: 4px;
2945
+ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
2946
+ }
2947
+ .gh-actions { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
2948
+ .gh-actions button {
2949
+ border: 1px solid var(--border); background: var(--panel2);
2950
+ color: var(--text); font-size: 11.5px; font-weight: 700;
2951
+ padding: 3px 10px; border-radius: 7px; cursor: pointer;
2952
+ }
2953
+ .gh-actions button:hover { border-color: var(--accent); color: var(--accent); }
2954
+ .gh-actions button.gh-fav.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
2857
2955
  .gh-err { color: var(--err); font-size: 12.5px; padding: 14px; text-align: center; }
2858
-
2956
+
2859
2957
  /* github filtre çubuğu: aralık + sıralama + arama */
2860
2958
  .gh-filters {
2861
2959
  display: flex;
@@ -2868,20 +2966,20 @@ body.browser-open #ghOverlay { right: var(--bw, 480px); }
2868
2966
  }
2869
2967
  /* display:flex, [hidden] ni ezmesin — sekmeye göre gerçekten gizlensin */
2870
2968
  #ghTrendTools[hidden],
2871
- #ghAllTools[hidden] { display: none; }
2872
- .gh-ranges { display: flex; gap: 4px; }
2873
- .gh-ranges button {
2874
- border: 1px solid var(--border);
2875
- background: var(--panel2);
2876
- color: var(--muted);
2877
- font-size: 11.5px;
2878
- font-weight: 700;
2879
- padding: 3px 9px;
2880
- border-radius: 7px;
2881
- cursor: pointer;
2882
- }
2883
- .gh-ranges button:hover { color: var(--text); }
2884
- .gh-ranges button.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
2969
+ #ghAllTools[hidden] { display: none; }
2970
+ .gh-ranges { display: flex; gap: 4px; }
2971
+ .gh-ranges button {
2972
+ border: 1px solid var(--border);
2973
+ background: var(--panel2);
2974
+ color: var(--muted);
2975
+ font-size: 11.5px;
2976
+ font-weight: 700;
2977
+ padding: 3px 9px;
2978
+ border-radius: 7px;
2979
+ cursor: pointer;
2980
+ }
2981
+ .gh-ranges button:hover { color: var(--text); }
2982
+ .gh-ranges button.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
2885
2983
  #ghSortBtn,
2886
2984
  #ghAllSortBtn,
2887
2985
  .gh-refresh {
@@ -2920,7 +3018,7 @@ body.browser-open #ghOverlay { right: var(--bw, 480px); }
2920
3018
  min-width: 0;
2921
3019
  width: auto;
2922
3020
  text-overflow: ellipsis;
2923
- }
3021
+ }
2924
3022
  /* sol bölme sekmeleri: Trend Repolar ⇄ Tüm Repolar — eşit genişlik, ortalanmış metin */
2925
3023
  .gh-pane-tabs { display: flex; flex: none; }
2926
3024
  .gh-tab {
@@ -2945,3 +3043,20 @@ body.browser-open #ghOverlay { right: var(--bw, 480px); }
2945
3043
  flex: none;
2946
3044
  text-align: center;
2947
3045
  }
3046
+
3047
+ /* Beast Code durum balonu: dusunuyor… / arac adlari — inputun ustunde */
3048
+ #bcStatus {
3049
+ flex: none;
3050
+ align-self: flex-start;
3051
+ margin: 0 12px 6px;
3052
+ padding: 4px 10px;
3053
+ font-size: 11px;
3054
+ color: var(--muted);
3055
+ background: var(--panel2);
3056
+ border: 1px solid var(--border);
3057
+ border-radius: 999px;
3058
+ max-width: calc(100% - 24px);
3059
+ overflow: hidden;
3060
+ text-overflow: ellipsis;
3061
+ white-space: nowrap;
3062
+ }