@quanta-intellect/vessel-browser 0.1.127 → 0.1.130

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.
@@ -637,7 +637,7 @@
637
637
  border-radius: 0 0 var(--radius-md) var(--radius-md);
638
638
  max-height: 280px;
639
639
  overflow-y: auto;
640
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
640
+ box-shadow: 0 4px 12px var(--shadow-color-strong);
641
641
  }
642
642
 
643
643
  .autocomplete-item {
@@ -711,119 +711,44 @@
711
711
  opacity: 0.8;
712
712
  }
713
713
 
714
- .agent-status-badge {
714
+ .page-diff-trigger {
715
715
  display: flex;
716
716
  align-items: center;
717
717
  gap: 6px;
718
718
  height: 30px;
719
- padding: 0 6px 0 10px;
719
+ padding: 0 10px;
720
720
  min-width: 0;
721
- max-width: min(280px, 26vw);
721
+ max-width: min(160px, 18vw);
722
722
  border-left: 1px solid var(--border-glass);
723
723
  border-radius: 0;
724
- background: transparent;
725
- color: var(--text-muted);
726
- font-size: 10.5px;
724
+ background: color-mix(in srgb, var(--status-warning) 3%, transparent);
725
+ color: var(--text-secondary);
726
+ font-size: 11px;
727
727
  font-weight: 500;
728
728
  letter-spacing: 0.02em;
729
729
  white-space: nowrap;
730
730
  flex-shrink: 0;
731
+ cursor: pointer;
731
732
  transition:
732
733
  border-color var(--duration-normal) var(--ease-in-out),
733
734
  background var(--duration-normal) var(--ease-in-out),
734
735
  color var(--duration-slow) var(--ease-in-out);
736
+ border-left-color: color-mix(in srgb, var(--status-warning) 14%, transparent);
735
737
  }
736
738
 
737
- .agent-status-text {
739
+ .page-diff-trigger-text {
738
740
  overflow: hidden;
739
741
  text-overflow: ellipsis;
740
742
  white-space: nowrap;
741
743
  min-width: 0;
742
744
  }
743
745
 
744
- .agent-status-dismiss {
745
- width: 18px;
746
- height: 18px;
747
- display: flex;
748
- align-items: center;
749
- justify-content: center;
750
- flex-shrink: 0;
751
- border-radius: var(--radius-sm);
752
- color: var(--text-muted);
753
- opacity: 0.72;
754
- transition:
755
- background var(--duration-fast) var(--ease-in-out),
756
- color var(--duration-fast) var(--ease-in-out),
757
- opacity var(--duration-fast) var(--ease-in-out);
758
- }
759
-
760
- .agent-status-dismiss:hover {
761
- background: color-mix(in srgb, var(--text-primary) 10%, transparent);
762
- color: var(--text-primary);
763
- opacity: 1;
764
- }
765
-
766
- /* Active — green: agent is actively using tools */
767
- .agent-status-badge.active {
768
- border-left-color: color-mix(in srgb, var(--status-info) 18%, transparent);
769
- background: color-mix(in srgb, var(--status-info) 5%, transparent);
770
- color: var(--text-primary);
771
- }
772
-
773
- .agent-status-badge.active .agent-status-text {
774
- background: linear-gradient(
775
- 90deg,
776
- var(--text-primary) 0%,
777
- var(--text-primary) 40%,
778
- var(--status-info) 50%,
779
- var(--text-primary) 60%,
780
- var(--text-primary) 100%
781
- );
782
- background-size: 200% 100%;
783
- -webkit-background-clip: text;
784
- background-clip: text;
785
- -webkit-text-fill-color: transparent;
786
- animation: status-shimmer 3s ease-in-out infinite;
787
- }
788
-
789
- @keyframes status-shimmer {
790
- 0% { background-position: 100% 0; }
791
- 100% { background-position: -100% 0; }
792
- }
793
-
794
- /* Recent — amber/yellow: MCP connected or recently active */
795
- .agent-status-badge.recent {
796
- border-left-color: color-mix(in srgb, var(--status-warning) 14%, transparent);
797
- background: color-mix(in srgb, var(--status-warning) 3%, transparent);
798
- color: var(--text-secondary);
799
- }
800
-
801
- /* Idle — gray: no connection */
802
- .agent-status-badge.idle {
803
- border-left-color: color-mix(in srgb, var(--text-muted) 10%, transparent);
804
- }
805
-
806
- .agent-status-dot {
746
+ .page-diff-trigger-dot {
807
747
  width: 6px;
808
748
  height: 6px;
809
749
  border-radius: 999px;
810
- background: color-mix(in srgb, var(--text-muted) 50%, transparent);
750
+ background: var(--status-warning-amber);
811
751
  flex-shrink: 0;
812
- transition:
813
- background var(--duration-slow) var(--ease-in-out),
814
- box-shadow var(--duration-slow) var(--ease-in-out);
815
- }
816
-
817
- /* Green pulsing dot for active */
818
- .agent-status-badge.active .agent-status-dot {
819
- background: var(--status-info);
820
- box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 32%, transparent);
821
- animation: agent-status-pulse-green 1.8s ease-out infinite;
822
- }
823
-
824
- /* Steady amber dot for recent/connected */
825
- .agent-status-badge.recent .agent-status-dot {
826
- background: var(--status-warning);
827
752
  }
828
753
 
829
754
  .toolbar-actions {
@@ -1226,49 +1151,6 @@
1226
1151
  Agent transcript dock — floating panel
1227
1152
  ═══════════════════════════════════════ */
1228
1153
 
1229
- .agent-summary-hud {
1230
- position: absolute;
1231
- right: 14px;
1232
- bottom: 14px;
1233
- z-index: 40;
1234
- display: flex;
1235
- align-items: center;
1236
- gap: 8px;
1237
- padding: 8px 14px;
1238
- border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
1239
- border-radius: var(--radius-lg);
1240
- background: linear-gradient(
1241
- 180deg,
1242
- var(--glass-gradient-start),
1243
- var(--glass-gradient-end)
1244
- );
1245
- box-shadow:
1246
- 0 2px 8px var(--shadow-color),
1247
- 0 8px 24px var(--shadow-color);
1248
- backdrop-filter: blur(16px);
1249
- animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
1250
- max-width: min(420px, calc(100vw - 28px));
1251
- }
1252
-
1253
- .agent-summary-live-dot {
1254
- width: 6px;
1255
- height: 6px;
1256
- border-radius: 50%;
1257
- background: var(--accent-primary);
1258
- box-shadow: 0 0 6px color-mix(in srgb, var(--accent-primary) 50%, transparent);
1259
- animation: agent-transcript-live-pulse 2s ease-in-out infinite;
1260
- flex-shrink: 0;
1261
- }
1262
-
1263
- .agent-summary-text {
1264
- color: var(--text-secondary);
1265
- font-size: 11.5px;
1266
- line-height: 1.45;
1267
- overflow: hidden;
1268
- text-overflow: ellipsis;
1269
- white-space: nowrap;
1270
- }
1271
-
1272
1154
  .agent-transcript-dock {
1273
1155
  position: absolute;
1274
1156
  right: 14px;
@@ -1769,39 +1651,39 @@
1769
1651
  height: 24px;
1770
1652
  border: none;
1771
1653
  background: transparent;
1772
- color: #9ca3af;
1654
+ color: var(--status-muted-gray);
1773
1655
  cursor: pointer;
1774
1656
  border-radius: 4px;
1775
1657
  transition: background 0.15s;
1776
1658
  }
1777
1659
 
1778
1660
  .security-indicator:hover {
1779
- background: rgba(255, 255, 255, 0.08);
1661
+ background: var(--surface-hover);
1780
1662
  }
1781
1663
 
1782
1664
  .security-indicator.secure {
1783
- color: #4ade80;
1665
+ color: var(--status-success);
1784
1666
  }
1785
1667
 
1786
1668
  .security-indicator.insecure {
1787
- color: #9ca3af;
1669
+ color: var(--status-muted-gray);
1788
1670
  }
1789
1671
 
1790
1672
  .security-indicator.error {
1791
- color: #f87171;
1673
+ color: var(--status-error);
1792
1674
  }
1793
1675
 
1794
1676
  .security-popup {
1795
1677
  position: absolute;
1796
1678
  top: calc(100% + 6px);
1797
1679
  left: 0;
1798
- background: #1e1e24;
1799
- border: 1px solid rgba(255, 255, 255, 0.08);
1680
+ background: var(--surface-popup-bg);
1681
+ border: 1px solid var(--border-glass);
1800
1682
  border-radius: 8px;
1801
1683
  padding: 12px 16px;
1802
1684
  min-width: 280px;
1803
1685
  z-index: 100;
1804
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
1686
+ box-shadow: 0 4px 12px var(--shadow-color-strong);
1805
1687
  }
1806
1688
 
1807
1689
  .security-popup-content {
@@ -1812,14 +1694,14 @@
1812
1694
 
1813
1695
  .security-popup-text {
1814
1696
  font-size: 12px;
1815
- color: #e0e0e0;
1697
+ color: var(--text-popup);
1816
1698
  line-height: 1.5;
1817
1699
  margin: 0;
1818
1700
  }
1819
1701
 
1820
1702
  .security-popup-link {
1821
1703
  font-size: 12px;
1822
- color: #60a5fa;
1704
+ color: var(--status-info-blue);
1823
1705
  background: none;
1824
1706
  border: none;
1825
1707
  cursor: pointer;
@@ -1829,25 +1711,25 @@
1829
1711
  }
1830
1712
 
1831
1713
  .security-popup-link:hover {
1832
- color: #93c5fd;
1714
+ color: var(--status-info-blue-hover);
1833
1715
  }
1834
1716
 
1835
1717
  .security-popup-section {
1836
- border-top: 1px solid rgba(255, 255, 255, 0.08);
1718
+ border-top: 1px solid var(--border-glass);
1837
1719
  padding-top: 8px;
1838
1720
  margin-top: 2px;
1839
1721
  }
1840
1722
 
1841
1723
  .security-popup-section-title {
1842
1724
  font-size: 11px;
1843
- color: #9ca3af;
1725
+ color: var(--status-muted-gray);
1844
1726
  text-transform: uppercase;
1845
1727
  letter-spacing: 0.04em;
1846
1728
  margin-bottom: 6px;
1847
1729
  }
1848
1730
 
1849
1731
  .security-popup-muted {
1850
- color: #9ca3af;
1732
+ color: var(--status-muted-gray);
1851
1733
  font-size: 12px;
1852
1734
  margin: 0;
1853
1735
  }
@@ -1857,12 +1739,12 @@
1857
1739
  justify-content: space-between;
1858
1740
  gap: 14px;
1859
1741
  font-size: 12px;
1860
- color: #e5e7eb;
1742
+ color: var(--text-primary);
1861
1743
  margin: 4px 0;
1862
1744
  }
1863
1745
 
1864
- .security-popup-permission-row strong.allow { color: #86efac; }
1865
- .security-popup-permission-row strong.deny { color: #fca5a5; }
1746
+ .security-popup-permission-row strong.allow { color: var(--status-allow-green); }
1747
+ .security-popup-permission-row strong.deny { color: var(--status-deny-red); }
1866
1748
 
1867
1749
  .security-popup-actions {
1868
1750
  display: flex;
@@ -1872,36 +1754,36 @@
1872
1754
 
1873
1755
  .security-popup-action-proceed {
1874
1756
  font-size: 11px;
1875
- color: #fbbf24;
1876
- background: rgba(251, 191, 36, 0.1);
1877
- border: 1px solid rgba(251, 191, 36, 0.3);
1757
+ color: var(--status-warning-amber);
1758
+ background: var(--status-warning-amber-bg);
1759
+ border: 1px solid var(--status-warning-amber-border);
1878
1760
  border-radius: 4px;
1879
1761
  cursor: pointer;
1880
1762
  padding: 4px 8px;
1881
1763
  }
1882
1764
 
1883
1765
  .security-popup-action-proceed:hover {
1884
- background: rgba(251, 191, 36, 0.2);
1766
+ background: var(--status-warning-amber-hover-bg);
1885
1767
  }
1886
1768
 
1887
1769
  .security-popup-action-back {
1888
1770
  font-size: 11px;
1889
- color: #9ca3af;
1890
- background: rgba(156, 163, 175, 0.1);
1891
- border: 1px solid rgba(156, 163, 175, 0.2);
1771
+ color: var(--status-muted-gray);
1772
+ background: var(--status-muted-gray-bg);
1773
+ border: 1px solid var(--status-muted-gray-border);
1892
1774
  border-radius: 4px;
1893
1775
  cursor: pointer;
1894
1776
  padding: 4px 8px;
1895
1777
  }
1896
1778
 
1897
1779
  .security-popup-action-back:hover {
1898
- background: rgba(156, 163, 175, 0.2);
1780
+ background: var(--status-muted-gray-hover-bg);
1899
1781
  }
1900
1782
 
1901
1783
  .clear-data-overlay {
1902
1784
  position: fixed;
1903
1785
  inset: 0;
1904
- background: rgba(0, 0, 0, 0.5);
1786
+ background: var(--overlay-bg);
1905
1787
  display: flex;
1906
1788
  align-items: center;
1907
1789
  justify-content: center;
@@ -1915,7 +1797,7 @@
1915
1797
  padding: 24px;
1916
1798
  min-width: 380px;
1917
1799
  max-width: 440px;
1918
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
1800
+ box-shadow: 0 8px 32px var(--shadow-color-strong);
1919
1801
  }
1920
1802
 
1921
1803
  .clear-data-header {
@@ -2034,7 +1916,7 @@
2034
1916
  padding: 7px 16px;
2035
1917
  font-size: 13px;
2036
1918
  background: var(--error);
2037
- color: #fff;
1919
+ color: var(--bg-primary);
2038
1920
  border: none;
2039
1921
  border-radius: var(--radius-sm);
2040
1922
  cursor: pointer;
@@ -6546,6 +6428,712 @@
6546
6428
  .devtools-activity::-webkit-scrollbar-thumb:hover {
6547
6429
  background: var(--border-visible);
6548
6430
  }
6431
+ .settings-panel {
6432
+ width: min(820px, calc(100vw - 32px));
6433
+ max-height: calc(100vh - 48px);
6434
+ display: flex;
6435
+ flex-direction: column;
6436
+ overflow: hidden;
6437
+ background: var(--bg-elevated);
6438
+ border: 1px solid var(--border-visible);
6439
+ border-radius: 14px;
6440
+ padding: 28px 24px 24px;
6441
+ overscroll-behavior: contain;
6442
+ box-shadow:
6443
+ 0 4px 24px var(--shadow-color),
6444
+ 0 24px 64px var(--shadow-color-strong),
6445
+ inset 0 1px 0 var(--inset-highlight);
6446
+ animation: command-bar-enter 350ms var(--ease-out-expo) both;
6447
+ }
6448
+ .command-bar-overlay.closing .settings-panel {
6449
+ animation: command-bar-exit 200ms var(--ease-in-out) both;
6450
+ }
6451
+ .settings-title {
6452
+ font-size: 16px;
6453
+ font-weight: 600;
6454
+ color: var(--text-primary);
6455
+ margin-bottom: 22px;
6456
+ letter-spacing: 0.01em;
6457
+ flex-shrink: 0;
6458
+ }
6459
+
6460
+ /* Compact global upsell */
6461
+ .settings-compact-upsell {
6462
+ flex-shrink: 0;
6463
+ display: flex;
6464
+ align-items: center;
6465
+ justify-content: space-between;
6466
+ gap: 12px;
6467
+ padding: 8px 14px;
6468
+ margin-bottom: 16px;
6469
+ border-radius: var(--radius-md);
6470
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
6471
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 18%, transparent);
6472
+ }
6473
+ .settings-compact-upsell-text {
6474
+ font-size: 12px;
6475
+ color: var(--text-secondary);
6476
+ line-height: 1.4;
6477
+ }
6478
+ .settings-compact-upsell-actions {
6479
+ display: flex;
6480
+ gap: 8px;
6481
+ flex-shrink: 0;
6482
+ }
6483
+ .settings-compact-upsell-actions .premium-btn {
6484
+ font-size: 11px;
6485
+ padding: 4px 12px;
6486
+ height: auto;
6487
+ }
6488
+
6489
+ /* Sidebar + Content layout */
6490
+ .settings-layout {
6491
+ flex: 1;
6492
+ min-height: 0;
6493
+ display: flex;
6494
+ gap: 0;
6495
+ }
6496
+ .settings-sidebar {
6497
+ width: 170px;
6498
+ flex-shrink: 0;
6499
+ border-right: 1px solid var(--border-subtle);
6500
+ padding: 8px 8px 8px 0;
6501
+ display: flex;
6502
+ flex-direction: column;
6503
+ gap: 2px;
6504
+ }
6505
+ .settings-nav-item {
6506
+ display: flex;
6507
+ align-items: center;
6508
+ gap: 10px;
6509
+ width: 100%;
6510
+ padding: 8px 12px;
6511
+ border-radius: var(--radius-md);
6512
+ font-size: 12px;
6513
+ color: var(--text-secondary);
6514
+ background: transparent;
6515
+ border: none;
6516
+ cursor: pointer;
6517
+ transition: background var(--duration-fast), color var(--duration-fast);
6518
+ text-align: left;
6519
+ }
6520
+ .settings-nav-item:hover {
6521
+ background: var(--surface-hover);
6522
+ color: var(--text-primary);
6523
+ }
6524
+ .settings-nav-item:focus-visible {
6525
+ outline: 1px solid var(--accent-primary);
6526
+ outline-offset: -1px;
6527
+ }
6528
+ .settings-nav-item.active {
6529
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
6530
+ color: var(--accent-primary);
6531
+ font-weight: 500;
6532
+ }
6533
+ .settings-nav-item svg {
6534
+ flex-shrink: 0;
6535
+ }
6536
+ .settings-content {
6537
+ flex: 1;
6538
+ min-width: 0;
6539
+ overflow-y: auto;
6540
+ padding: 0 0 0 20px;
6541
+ overscroll-behavior: contain;
6542
+ scrollbar-gutter: stable;
6543
+ }
6544
+ .settings-category-panel {
6545
+ /* wrapper for each category's content */
6546
+ }
6547
+
6548
+ /* Mobile: stack sidebar above content */
6549
+ @media (max-width: 700px) {
6550
+ .settings-panel {
6551
+ width: min(440px, calc(100vw - 32px));
6552
+ }
6553
+ .settings-layout {
6554
+ flex-direction: column;
6555
+ }
6556
+ .settings-sidebar {
6557
+ flex-direction: row;
6558
+ width: 100%;
6559
+ border-right: none;
6560
+ border-bottom: 1px solid var(--border-subtle);
6561
+ padding: 0 0 8px 0;
6562
+ margin-bottom: 12px;
6563
+ overflow-x: auto;
6564
+ gap: 2px;
6565
+ }
6566
+ .settings-nav-item {
6567
+ flex-shrink: 0;
6568
+ width: auto;
6569
+ padding: 6px 10px;
6570
+ font-size: 11px;
6571
+ }
6572
+ .settings-nav-item span {
6573
+ display: none;
6574
+ }
6575
+ .settings-content {
6576
+ padding-left: 0;
6577
+ }
6578
+ }
6579
+
6580
+ .settings-callout {
6581
+ margin-bottom: 20px;
6582
+ padding: 14px;
6583
+ border-radius: var(--radius-md);
6584
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
6585
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
6586
+ }
6587
+ .settings-callout-title {
6588
+ font-size: 12px;
6589
+ font-weight: 600;
6590
+ color: var(--text-primary);
6591
+ margin-bottom: 6px;
6592
+ letter-spacing: 0.01em;
6593
+ }
6594
+ .settings-callout-copy {
6595
+ font-size: 12px;
6596
+ line-height: 1.55;
6597
+ color: var(--text-secondary);
6598
+ margin: 0;
6599
+ }
6600
+ .settings-premium-callout {
6601
+ background:
6602
+ radial-gradient(circle at top right, color-mix(in srgb, var(--accent-primary) 16%, transparent), transparent 40%),
6603
+ color-mix(in srgb, var(--accent-primary) 6%, transparent);
6604
+ border-color: color-mix(in srgb, var(--accent-primary) 22%, transparent);
6605
+ }
6606
+ .settings-premium-callout-actions {
6607
+ display: flex;
6608
+ flex-wrap: wrap;
6609
+ gap: 10px;
6610
+ margin-top: 12px;
6611
+ }
6612
+ .settings-field {
6613
+ margin-bottom: 18px;
6614
+ }
6615
+ .settings-health {
6616
+ margin-bottom: 20px;
6617
+ padding: 14px;
6618
+ border-radius: var(--radius-md);
6619
+ border: 1px solid var(--border-visible);
6620
+ background: var(--surface-glass);
6621
+ }
6622
+ .settings-health-issues {
6623
+ display: flex;
6624
+ flex-direction: column;
6625
+ gap: 8px;
6626
+ margin-top: 10px;
6627
+ }
6628
+ .settings-health-issue {
6629
+ font-size: 12px;
6630
+ line-height: 1.5;
6631
+ padding: 10px 12px;
6632
+ border-radius: var(--radius-md);
6633
+ border: 1px solid var(--border-glass);
6634
+ color: var(--text-secondary);
6635
+ }
6636
+ .settings-health-issue.warning {
6637
+ border-color: color-mix(in srgb, var(--accent-primary) 28%, transparent);
6638
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
6639
+ }
6640
+ .settings-health-issue.error {
6641
+ border-color: color-mix(in srgb, var(--status-error) 32%, transparent);
6642
+ background: color-mix(in srgb, var(--status-error) 6%, transparent);
6643
+ }
6644
+ .settings-inline-actions {
6645
+ display: flex;
6646
+ flex-wrap: wrap;
6647
+ gap: 8px;
6648
+ margin-bottom: 8px;
6649
+ }
6650
+ .settings-secondary-btn {
6651
+ height: 32px;
6652
+ padding: 0 12px;
6653
+ border-radius: var(--radius-md);
6654
+ border: 1px solid var(--border-visible);
6655
+ background: var(--surface-glass);
6656
+ color: var(--text-primary);
6657
+ font-size: 12px;
6658
+ cursor: pointer;
6659
+ }
6660
+ .settings-secondary-btn:hover:not(:disabled) {
6661
+ background: var(--bg-tertiary);
6662
+ }
6663
+ .settings-secondary-btn:disabled {
6664
+ opacity: 0.55;
6665
+ cursor: not-allowed;
6666
+ }
6667
+ .settings-label {
6668
+ display: block;
6669
+ font-size: 12px;
6670
+ color: var(--text-secondary);
6671
+ margin-bottom: 6px;
6672
+ font-weight: 500;
6673
+ letter-spacing: 0.01em;
6674
+ }
6675
+ .settings-label-optional {
6676
+ font-size: 11px;
6677
+ color: var(--text-muted);
6678
+ font-style: italic;
6679
+ }
6680
+ .settings-input {
6681
+ width: 100%;
6682
+ height: 34px;
6683
+ padding: 0 10px;
6684
+ margin: 0;
6685
+ border-radius: var(--radius-md);
6686
+ border: 1px solid var(--border-visible);
6687
+ background: var(--surface-glass);
6688
+ color: var(--text-primary);
6689
+ font-family: "JetBrains Mono", "SF Mono", "Fira Code", monospace;
6690
+ font-size: 12px;
6691
+ line-height: 1;
6692
+ box-sizing: border-box;
6693
+ text-rendering: auto;
6694
+ }
6695
+ .settings-select {
6696
+ appearance: none;
6697
+ padding-right: 30px;
6698
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");
6699
+ background-repeat: no-repeat;
6700
+ background-position: right 10px center;
6701
+ }
6702
+ .settings-textarea {
6703
+ width: 100%;
6704
+ padding: 8px 10px;
6705
+ margin: 0;
6706
+ border-radius: var(--radius-md);
6707
+ border: 1px solid var(--border-visible);
6708
+ background: var(--surface-glass);
6709
+ color: var(--text-primary);
6710
+ font-family: "JetBrains Mono", "SF Mono", "Fira Code", monospace;
6711
+ font-size: 12px;
6712
+ min-height: 120px;
6713
+ resize: vertical;
6714
+ box-sizing: border-box;
6715
+ line-height: 1.5;
6716
+ }
6717
+ .settings-feedback-textarea {
6718
+ margin-top: 8px;
6719
+ min-height: 96px;
6720
+ }
6721
+ .settings-input:focus,
6722
+ .settings-textarea:focus {
6723
+ outline: none;
6724
+ border-color: var(--accent-primary);
6725
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 18%, transparent);
6726
+ }
6727
+ .settings-hint {
6728
+ font-size: 11px;
6729
+ color: var(--text-muted);
6730
+ margin-top: 4px;
6731
+ line-height: 1.5;
6732
+ }
6733
+ .settings-hint code {
6734
+ font-size: 11px;
6735
+ background: var(--bg-tertiary);
6736
+ padding: 1px 5px;
6737
+ border-radius: 3px;
6738
+ }
6739
+ .settings-toggle {
6740
+ display: flex;
6741
+ align-items: center;
6742
+ justify-content: space-between;
6743
+ gap: 12px;
6744
+ font-size: 12px;
6745
+ color: var(--text-secondary);
6746
+ cursor: pointer;
6747
+ user-select: none;
6748
+ }
6749
+ .toggle-switch {
6750
+ position: relative;
6751
+ display: inline-block;
6752
+ width: 36px;
6753
+ height: 20px;
6754
+ border-radius: 10px;
6755
+ background: color-mix(in srgb, var(--text-muted) 40%, transparent);
6756
+ border: none;
6757
+ cursor: pointer;
6758
+ flex-shrink: 0;
6759
+ transition: background var(--duration-fast);
6760
+ }
6761
+ .toggle-switch:hover {
6762
+ background: color-mix(in srgb, var(--text-muted) 60%, transparent);
6763
+ }
6764
+ .toggle-switch.on {
6765
+ background: var(--accent-primary);
6766
+ }
6767
+ .toggle-switch.on:hover {
6768
+ background: var(--button-primary-hover-bg);
6769
+ }
6770
+ .toggle-switch-thumb {
6771
+ position: absolute;
6772
+ top: 3px;
6773
+ left: 3px;
6774
+ width: 14px;
6775
+ height: 14px;
6776
+ border-radius: 7px;
6777
+ background: var(--bg-primary);
6778
+ transition: transform var(--duration-fast);
6779
+ box-shadow: 0 1px 3px var(--shadow-color);
6780
+ }
6781
+ .toggle-switch.on .toggle-switch-thumb {
6782
+ transform: translateX(16px);
6783
+ }
6784
+ .settings-status {
6785
+ margin-top: 12px;
6786
+ font-size: 12px;
6787
+ color: var(--text-secondary);
6788
+ line-height: 1.5;
6789
+ }
6790
+ .settings-status.success {
6791
+ color: var(--status-success);
6792
+ }
6793
+ .settings-status.error {
6794
+ color: var(--status-error);
6795
+ }
6796
+ .settings-actions {
6797
+ display: flex;
6798
+ gap: 10px;
6799
+ justify-content: flex-end;
6800
+ margin-top: 20px;
6801
+ flex-shrink: 0;
6802
+ }
6803
+ .settings-save {
6804
+ height: 34px;
6805
+ padding: 0 18px;
6806
+ border-radius: var(--radius-md);
6807
+ border: none;
6808
+ font-size: 12px;
6809
+ font-weight: 600;
6810
+ background: var(--accent-primary);
6811
+ color: var(--button-primary-fg);
6812
+ cursor: pointer;
6813
+ transition: background var(--duration-fast);
6814
+ }
6815
+ .settings-save:hover {
6816
+ background: var(--button-primary-hover-bg);
6817
+ }
6818
+ .settings-close {
6819
+ height: 34px;
6820
+ padding: 0 18px;
6821
+ border-radius: var(--radius-md);
6822
+ border: 1px solid var(--border-visible);
6823
+ font-size: 12px;
6824
+ background: var(--surface-glass);
6825
+ color: var(--text-secondary);
6826
+ cursor: pointer;
6827
+ transition: background var(--duration-fast);
6828
+ }
6829
+ .settings-close:hover {
6830
+ background: var(--surface-hover);
6831
+ }
6832
+ .settings-refresh-btn {
6833
+ width: 32px;
6834
+ height: 32px;
6835
+ border: 1px solid var(--border-visible);
6836
+ border-radius: var(--radius-md);
6837
+ background: var(--surface-glass);
6838
+ color: var(--text-secondary);
6839
+ cursor: pointer;
6840
+ display: flex;
6841
+ align-items: center;
6842
+ justify-content: center;
6843
+ transition: background var(--duration-fast);
6844
+ flex-shrink: 0;
6845
+ }
6846
+ .settings-refresh-btn:hover {
6847
+ background: var(--surface-hover);
6848
+ }
6849
+ .settings-refresh-btn:disabled {
6850
+ opacity: 0.5;
6851
+ cursor: not-allowed;
6852
+ }
6853
+ .settings-input-disabled {
6854
+ display: flex;
6855
+ align-items: center;
6856
+ width: 100%;
6857
+ height: 34px;
6858
+ padding: 0 10px;
6859
+ border-radius: var(--radius-md);
6860
+ border: 1px solid var(--border-subtle);
6861
+ background: var(--bg-tertiary);
6862
+ color: var(--text-muted);
6863
+ font-size: 12px;
6864
+ opacity: 0.7;
6865
+ cursor: not-allowed;
6866
+ }
6867
+
6868
+ /* --- Premium section --- */
6869
+ .premium-section {
6870
+ display: flex;
6871
+ flex-direction: column;
6872
+ }
6873
+ .premium-description {
6874
+ font-size: 12px;
6875
+ line-height: 1.6;
6876
+ color: var(--text-secondary);
6877
+ margin: 0 0 12px;
6878
+ }
6879
+ .premium-activate-row {
6880
+ display: flex;
6881
+ gap: 10px;
6882
+ align-items: center;
6883
+ }
6884
+ .premium-email-input {
6885
+ flex: 1;
6886
+ }
6887
+ .premium-btn {
6888
+ height: 34px;
6889
+ padding: 0 16px;
6890
+ border-radius: var(--radius-md);
6891
+ font-size: 12px;
6892
+ font-weight: 500;
6893
+ cursor: pointer;
6894
+ transition: background var(--duration-fast), transform var(--duration-fast);
6895
+ white-space: nowrap;
6896
+ }
6897
+ .premium-btn:active {
6898
+ transform: scale(0.97);
6899
+ }
6900
+ .premium-btn:disabled {
6901
+ opacity: 0.5;
6902
+ cursor: not-allowed;
6903
+ }
6904
+ .premium-btn-activate {
6905
+ background: var(--surface-glass);
6906
+ border: 1px solid var(--border-visible);
6907
+ color: var(--text-primary);
6908
+ }
6909
+ .premium-btn-activate:hover {
6910
+ background: var(--surface-hover);
6911
+ }
6912
+ .premium-btn-upgrade {
6913
+ background: var(--accent-primary);
6914
+ border: none;
6915
+ color: var(--button-primary-fg);
6916
+ }
6917
+ .premium-btn-upgrade:hover {
6918
+ background: var(--button-primary-hover-bg);
6919
+ }
6920
+ .premium-btn-manage {
6921
+ background: var(--surface-glass);
6922
+ border: 1px solid var(--border-visible);
6923
+ color: var(--text-primary);
6924
+ align-self: flex-start;
6925
+ }
6926
+ .premium-btn-manage:hover {
6927
+ background: var(--surface-hover);
6928
+ }
6929
+ .premium-active-badge {
6930
+ display: inline-block;
6931
+ font-size: 11px;
6932
+ font-weight: 600;
6933
+ color: var(--button-primary-fg);
6934
+ background: var(--status-success);
6935
+ padding: 2px 10px;
6936
+ border-radius: 4px;
6937
+ margin-bottom: 10px;
6938
+ }
6939
+ .premium-detail {
6940
+ font-size: 11px;
6941
+ color: var(--text-muted);
6942
+ margin: 6px 0;
6943
+ }
6944
+ .premium-actions-row {
6945
+ display: flex;
6946
+ gap: 10px;
6947
+ margin-top: 10px;
6948
+ }
6949
+ .premium-btn-reset {
6950
+ height: 30px;
6951
+ padding: 0 12px;
6952
+ border-radius: var(--radius-md);
6953
+ border: 1px solid var(--border-subtle);
6954
+ background: transparent;
6955
+ color: var(--text-muted);
6956
+ font-size: 11px;
6957
+ cursor: pointer;
6958
+ }
6959
+ .premium-btn-reset:hover {
6960
+ background: var(--surface-hover);
6961
+ }
6962
+
6963
+ /* Welcome banner */
6964
+ .welcome-banner {
6965
+ margin-bottom: 20px;
6966
+ padding: 16px;
6967
+ border-radius: var(--radius-md);
6968
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 22%, transparent);
6969
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
6970
+ }
6971
+ .welcome-banner-header {
6972
+ display: flex;
6973
+ align-items: center;
6974
+ justify-content: space-between;
6975
+ margin-bottom: 8px;
6976
+ }
6977
+ .welcome-banner-title {
6978
+ font-size: 13px;
6979
+ font-weight: 600;
6980
+ color: var(--accent-primary);
6981
+ }
6982
+ .welcome-banner-dismiss {
6983
+ width: 24px;
6984
+ height: 24px;
6985
+ border-radius: 4px;
6986
+ background: transparent;
6987
+ border: none;
6988
+ color: var(--text-muted);
6989
+ font-size: 18px;
6990
+ cursor: pointer;
6991
+ display: flex;
6992
+ align-items: center;
6993
+ justify-content: center;
6994
+ }
6995
+ .welcome-banner-dismiss:hover {
6996
+ background: var(--surface-hover);
6997
+ color: var(--text-primary);
6998
+ }
6999
+ .welcome-banner-text {
7000
+ font-size: 12px;
7001
+ color: var(--text-secondary);
7002
+ margin: 0 0 8px;
7003
+ }
7004
+ .welcome-banner-steps {
7005
+ margin: 8px 0 0 16px;
7006
+ padding: 0;
7007
+ font-size: 12px;
7008
+ color: var(--text-secondary);
7009
+ line-height: 1.7;
7010
+ }
7011
+ .welcome-banner-steps li.done {
7012
+ color: var(--text-muted);
7013
+ text-decoration: line-through;
7014
+ }
7015
+ .welcome-banner-steps kbd {
7016
+ display: inline-block;
7017
+ padding: 1px 5px;
7018
+ font-size: 11px;
7019
+ font-family: "JetBrains Mono", "SF Mono", monospace;
7020
+ background: var(--bg-tertiary);
7021
+ border: 1px solid var(--border-subtle);
7022
+ border-radius: 3px;
7023
+ }
7024
+ .welcome-banner-actions {
7025
+ margin-top: 14px;
7026
+ display: flex;
7027
+ flex-wrap: wrap;
7028
+ gap: 10px;
7029
+ align-items: center;
7030
+ }
7031
+ .welcome-banner-note {
7032
+ font-size: 11px;
7033
+ line-height: 1.5;
7034
+ color: var(--text-muted);
7035
+ max-width: 360px;
7036
+ }
7037
+
7038
+ /* Agent Credential Vault */
7039
+ .vault-premium-badge {
7040
+ display: inline-block;
7041
+ font-size: 10px;
7042
+ font-weight: 600;
7043
+ color: var(--accent-primary);
7044
+ background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
7045
+ padding: 1px 6px;
7046
+ border-radius: 4px;
7047
+ margin-left: 8px;
7048
+ vertical-align: middle;
7049
+ }
7050
+ .vault-entries {
7051
+ display: flex;
7052
+ flex-direction: column;
7053
+ gap: 6px;
7054
+ margin-bottom: 10px;
7055
+ }
7056
+ .vault-entry {
7057
+ display: flex;
7058
+ align-items: center;
7059
+ justify-content: space-between;
7060
+ padding: 8px 12px;
7061
+ background: var(--bg-tertiary);
7062
+ border: 1px solid var(--border-subtle);
7063
+ border-radius: var(--radius-md);
7064
+ }
7065
+ .vault-entry-info {
7066
+ display: flex;
7067
+ flex-direction: column;
7068
+ gap: 2px;
7069
+ min-width: 0;
7070
+ }
7071
+ .vault-entry-label {
7072
+ font-size: 12px;
7073
+ font-weight: 500;
7074
+ color: var(--text-primary);
7075
+ white-space: nowrap;
7076
+ overflow: hidden;
7077
+ text-overflow: ellipsis;
7078
+ }
7079
+ .vault-entry-detail {
7080
+ font-size: 11px;
7081
+ color: var(--text-muted);
7082
+ white-space: nowrap;
7083
+ overflow: hidden;
7084
+ text-overflow: ellipsis;
7085
+ }
7086
+ .vault-entry-remove {
7087
+ flex-shrink: 0;
7088
+ width: 24px;
7089
+ height: 24px;
7090
+ border-radius: 4px;
7091
+ background: transparent;
7092
+ border: none;
7093
+ color: var(--text-muted);
7094
+ font-size: 16px;
7095
+ cursor: pointer;
7096
+ display: flex;
7097
+ align-items: center;
7098
+ justify-content: center;
7099
+ transition: background var(--duration-fast), color var(--duration-fast);
7100
+ }
7101
+ .vault-entry-remove:hover {
7102
+ background: color-mix(in srgb, var(--status-error) 12%, transparent);
7103
+ color: var(--status-error);
7104
+ }
7105
+ .vault-add-btn {
7106
+ height: 32px;
7107
+ padding: 0 14px;
7108
+ border-radius: var(--radius-md);
7109
+ font-size: 12px;
7110
+ font-weight: 500;
7111
+ background: var(--bg-tertiary);
7112
+ border: 1px dashed var(--border-subtle);
7113
+ color: var(--text-secondary);
7114
+ cursor: pointer;
7115
+ width: 100%;
7116
+ transition: background var(--duration-fast), border-color var(--duration-fast);
7117
+ }
7118
+ .vault-add-btn:hover {
7119
+ background: var(--border-visible);
7120
+ border-color: var(--border-visible);
7121
+ }
7122
+ .vault-add-form {
7123
+ display: flex;
7124
+ flex-direction: column;
7125
+ gap: 8px;
7126
+ padding: 12px;
7127
+ background: var(--surface-glass);
7128
+ border: 1px solid var(--border-subtle);
7129
+ border-radius: var(--radius-md);
7130
+ }
7131
+ .vault-add-actions {
7132
+ display: flex;
7133
+ gap: 8px;
7134
+ justify-content: flex-end;
7135
+ margin-top: 4px;
7136
+ }
6549
7137
  :root {
6550
7138
  color-scheme: dark;
6551
7139
 
@@ -6636,6 +7224,22 @@
6636
7224
 
6637
7225
  --button-primary-fg: #1a1a1e;
6638
7226
  --button-primary-hover-bg: #d4b06a;
7227
+
7228
+ /* Status colors - info/blue and link */
7229
+ --status-info-blue: #60a5fa;
7230
+ --status-info-blue-hover: #93c5fd;
7231
+ --status-warning-amber: #fbbf24;
7232
+ --status-warning-amber-bg: rgba(251, 191, 36, 0.1);
7233
+ --status-warning-amber-border: rgba(251, 191, 36, 0.3);
7234
+ --status-warning-amber-hover-bg: rgba(251, 191, 36, 0.2);
7235
+ --status-muted-gray: #9ca3af;
7236
+ --status-muted-gray-bg: rgba(156, 163, 175, 0.1);
7237
+ --status-muted-gray-border: rgba(156, 163, 175, 0.2);
7238
+ --status-muted-gray-hover-bg: rgba(156, 163, 175, 0.2);
7239
+ --status-allow-green: #86efac;
7240
+ --status-deny-red: #fca5a5;
7241
+ --surface-popup-bg: #1e1e24;
7242
+ --text-popup: #e0e0e0;
6639
7243
  }
6640
7244
 
6641
7245
  [data-theme="light"] {
@@ -6698,6 +7302,22 @@
6698
7302
 
6699
7303
  --button-primary-fg: #f8f7f5;
6700
7304
  --button-primary-hover-bg: #7c622a;
7305
+
7306
+ /* Status colors - info/blue and link (light) */
7307
+ --status-info-blue: #3b82f6;
7308
+ --status-info-blue-hover: #2563eb;
7309
+ --status-warning-amber: #d97706;
7310
+ --status-warning-amber-bg: rgba(217, 119, 6, 0.1);
7311
+ --status-warning-amber-border: rgba(217, 119, 6, 0.3);
7312
+ --status-warning-amber-hover-bg: rgba(217, 119, 6, 0.2);
7313
+ --status-muted-gray: #6b7280;
7314
+ --status-muted-gray-bg: rgba(107, 114, 128, 0.08);
7315
+ --status-muted-gray-border: rgba(107, 114, 128, 0.2);
7316
+ --status-muted-gray-hover-bg: rgba(107, 114, 128, 0.16);
7317
+ --status-allow-green: #22c55e;
7318
+ --status-deny-red: #ef4444;
7319
+ --surface-popup-bg: #ffffff;
7320
+ --text-popup: #1c1c1e;
6701
7321
  }
6702
7322
 
6703
7323
  *,