@quanta-intellect/vessel-browser 0.1.61 → 0.1.63

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.
@@ -65,13 +65,13 @@
65
65
  padding: 0 8px;
66
66
  border-radius: 999px;
67
67
  border: none;
68
- background: rgba(255, 255, 255, 0.04);
68
+ background: var(--surface-hover);
69
69
  cursor: pointer;
70
70
  transition: background var(--duration-fast) var(--ease-in-out);
71
71
  }
72
72
 
73
73
  .mcp-status-indicator:hover {
74
- background: rgba(255, 255, 255, 0.08);
74
+ background: var(--surface-active);
75
75
  }
76
76
 
77
77
  .mcp-dot {
@@ -89,18 +89,18 @@
89
89
  }
90
90
 
91
91
  .mcp-ready .mcp-dot {
92
- background: #4ade80;
93
- box-shadow: 0 0 4px rgba(74, 222, 128, 0.4);
92
+ background: var(--status-info);
93
+ box-shadow: 0 0 4px color-mix(in srgb, var(--status-info) 40%, transparent);
94
94
  }
95
95
 
96
96
  .mcp-error .mcp-dot {
97
- background: #f87171;
98
- box-shadow: 0 0 4px rgba(248, 113, 113, 0.4);
97
+ background: var(--status-error);
98
+ box-shadow: 0 0 4px color-mix(in srgb, var(--status-error) 40%, transparent);
99
99
  }
100
100
 
101
101
  .mcp-starting .mcp-dot {
102
- background: #fbbf24;
103
- box-shadow: 0 0 4px rgba(251, 191, 36, 0.4);
102
+ background: var(--status-warning);
103
+ box-shadow: 0 0 4px color-mix(in srgb, var(--status-warning) 40%, transparent);
104
104
  animation: mcp-pulse 1.5s ease-in-out infinite;
105
105
  }
106
106
 
@@ -111,7 +111,7 @@
111
111
 
112
112
  .window-btn-close:hover {
113
113
  background: var(--error);
114
- color: white;
114
+ color: var(--bg-primary);
115
115
  }
116
116
 
117
117
 
@@ -196,7 +196,7 @@
196
196
  }
197
197
 
198
198
  .tab-item:hover {
199
- background: rgba(255, 255, 255, 0.04);
199
+ background: var(--surface-hover);
200
200
  color: var(--text-secondary);
201
201
  }
202
202
 
@@ -220,7 +220,7 @@
220
220
  }
221
221
 
222
222
  .tab-item.model-active {
223
- background: rgba(196, 160, 90, 0.08);
223
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
224
224
  }
225
225
 
226
226
  .tab-item.model-active:not(.active) {
@@ -234,7 +234,7 @@
234
234
  .tab-item.model-active.active::before {
235
235
  opacity: 1;
236
236
  background: var(--accent-primary);
237
- box-shadow: 0 0 8px rgba(196, 160, 90, 0.4);
237
+ box-shadow: 0 0 8px color-mix(in srgb, var(--accent-primary) 40%, transparent);
238
238
  }
239
239
 
240
240
  .tab-favicon {
@@ -265,8 +265,8 @@
265
265
  height: 7px;
266
266
  flex-shrink: 0;
267
267
  border-radius: 999px;
268
- background: #22c55e;
269
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
268
+ background: var(--status-info);
269
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 45%, transparent);
270
270
  animation: tab-agent-pulse 1.4s ease-out infinite;
271
271
  }
272
272
 
@@ -298,7 +298,7 @@
298
298
  }
299
299
 
300
300
  .tab-close:hover {
301
- background: rgba(255, 255, 255, 0.08);
301
+ background: var(--surface-active);
302
302
  color: var(--text-primary);
303
303
  }
304
304
 
@@ -320,15 +320,15 @@
320
320
 
321
321
  @keyframes tab-agent-pulse {
322
322
  0% {
323
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.42);
323
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 42%, transparent);
324
324
  }
325
325
 
326
326
  70% {
327
- box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
327
+ box-shadow: 0 0 0 6px transparent;
328
328
  }
329
329
 
330
330
  100% {
331
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
331
+ box-shadow: 0 0 0 0 transparent;
332
332
  }
333
333
  }
334
334
 
@@ -415,7 +415,7 @@
415
415
 
416
416
  .nav-btn.active {
417
417
  color: var(--accent-primary);
418
- background: rgba(196, 160, 90, 0.12);
418
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
419
419
  }
420
420
 
421
421
  .nav-btn.ai-btn {
@@ -423,7 +423,7 @@
423
423
  }
424
424
 
425
425
  .nav-btn.ai-btn:hover {
426
- background: rgba(196, 160, 90, 0.12);
426
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
427
427
  }
428
428
 
429
429
  .url-shell {
@@ -443,9 +443,9 @@
443
443
  }
444
444
 
445
445
  .url-shell:focus-within {
446
- border-color: rgba(196, 160, 90, 0.5);
447
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.1);
448
- background: rgba(42, 42, 46, 0.6);
446
+ border-color: color-mix(in srgb, var(--accent-primary) 50%, transparent);
447
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
448
+ background: color-mix(in srgb, var(--bg-tertiary) 60%, transparent);
449
449
  }
450
450
 
451
451
  .url-form {
@@ -485,7 +485,7 @@
485
485
  padding: 0 10px;
486
486
  min-width: 0;
487
487
  max-width: min(280px, 26vw);
488
- border-left: 1px solid rgba(255, 255, 255, 0.05);
488
+ border-left: 1px solid var(--border-glass);
489
489
  border-radius: 0;
490
490
  background: transparent;
491
491
  color: var(--text-muted);
@@ -508,8 +508,8 @@
508
508
 
509
509
  /* Active — green: agent is actively using tools */
510
510
  .agent-status-badge.active {
511
- border-left-color: rgba(34, 197, 94, 0.18);
512
- background: rgba(34, 197, 94, 0.05);
511
+ border-left-color: color-mix(in srgb, var(--status-info) 18%, transparent);
512
+ background: color-mix(in srgb, var(--status-info) 5%, transparent);
513
513
  color: var(--text-primary);
514
514
  }
515
515
 
@@ -518,7 +518,7 @@
518
518
  90deg,
519
519
  var(--text-primary) 0%,
520
520
  var(--text-primary) 40%,
521
- #22c55e 50%,
521
+ var(--status-info) 50%,
522
522
  var(--text-primary) 60%,
523
523
  var(--text-primary) 100%
524
524
  );
@@ -536,21 +536,21 @@
536
536
 
537
537
  /* Recent — amber/yellow: MCP connected or recently active */
538
538
  .agent-status-badge.recent {
539
- border-left-color: rgba(234, 179, 8, 0.14);
540
- background: rgba(234, 179, 8, 0.03);
539
+ border-left-color: color-mix(in srgb, var(--status-warning) 14%, transparent);
540
+ background: color-mix(in srgb, var(--status-warning) 3%, transparent);
541
541
  color: var(--text-secondary);
542
542
  }
543
543
 
544
544
  /* Idle — gray: no connection */
545
545
  .agent-status-badge.idle {
546
- border-left-color: rgba(113, 113, 122, 0.1);
546
+ border-left-color: color-mix(in srgb, var(--text-muted) 10%, transparent);
547
547
  }
548
548
 
549
549
  .agent-status-dot {
550
550
  width: 6px;
551
551
  height: 6px;
552
552
  border-radius: 999px;
553
- background: rgba(113, 113, 122, 0.5);
553
+ background: color-mix(in srgb, var(--text-muted) 50%, transparent);
554
554
  flex-shrink: 0;
555
555
  transition:
556
556
  background var(--duration-slow) var(--ease-in-out),
@@ -559,14 +559,14 @@
559
559
 
560
560
  /* Green pulsing dot for active */
561
561
  .agent-status-badge.active .agent-status-dot {
562
- background: #22c55e;
563
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.32);
562
+ background: var(--status-info);
563
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 32%, transparent);
564
564
  animation: agent-status-pulse-green 1.8s ease-out infinite;
565
565
  }
566
566
 
567
567
  /* Steady amber dot for recent/connected */
568
568
  .agent-status-badge.recent .agent-status-dot {
569
- background: #eab308;
569
+ background: var(--status-warning);
570
570
  }
571
571
 
572
572
  .toolbar-actions {
@@ -599,7 +599,7 @@
599
599
  padding: 0 3px;
600
600
  border-radius: 999px;
601
601
  background: var(--accent-warm);
602
- color: #1a1a1e;
602
+ color: var(--bg-primary);
603
603
  font-size: 9px;
604
604
  font-weight: 700;
605
605
  line-height: 14px;
@@ -627,16 +627,16 @@
627
627
 
628
628
  .bookmark-toast {
629
629
  padding: 12px 14px;
630
- border: 1px solid rgba(196, 160, 90, 0.22);
630
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 22%, transparent);
631
631
  border-radius: var(--radius-lg);
632
632
  background: linear-gradient(
633
633
  180deg,
634
- rgba(50, 50, 54, 0.97),
635
- rgba(34, 34, 38, 0.97)
634
+ var(--glass-gradient-start),
635
+ var(--glass-gradient-end)
636
636
  );
637
637
  box-shadow:
638
- 0 4px 12px rgba(0, 0, 0, 0.2),
639
- 0 16px 40px rgba(0, 0, 0, 0.16);
638
+ 0 4px 12px var(--shadow-color),
639
+ 0 16px 40px var(--shadow-color);
640
640
  backdrop-filter: blur(16px);
641
641
  animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
642
642
  }
@@ -684,7 +684,7 @@
684
684
 
685
685
 
686
686
  .highlight-toast {
687
- border-color: rgba(240, 198, 54, 0.25);
687
+ border-color: color-mix(in srgb, var(--accent-primary) 25%, transparent);
688
688
  }
689
689
 
690
690
  /* ═══════════════════════════════════════
@@ -705,16 +705,16 @@
705
705
 
706
706
  .download-toast {
707
707
  padding: 10px 14px;
708
- border: 1px solid rgba(138, 173, 107, 0.22);
708
+ border: 1px solid color-mix(in srgb, var(--accent-secondary) 22%, transparent);
709
709
  border-radius: var(--radius-lg);
710
710
  background: linear-gradient(
711
711
  180deg,
712
- rgba(50, 50, 54, 0.97),
713
- rgba(34, 34, 38, 0.97)
712
+ var(--glass-gradient-start),
713
+ var(--glass-gradient-end)
714
714
  );
715
715
  box-shadow:
716
- 0 4px 12px rgba(0, 0, 0, 0.2),
717
- 0 16px 40px rgba(0, 0, 0, 0.16);
716
+ 0 4px 12px var(--shadow-color),
717
+ 0 16px 40px var(--shadow-color);
718
718
  backdrop-filter: blur(16px);
719
719
  animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
720
720
  }
@@ -748,7 +748,7 @@
748
748
  }
749
749
 
750
750
  .download-toast-failed {
751
- color: #ff8e8e;
751
+ color: var(--status-error);
752
752
  font-size: 13px;
753
753
  font-weight: 700;
754
754
  flex-shrink: 0;
@@ -758,7 +758,7 @@
758
758
  margin-top: 8px;
759
759
  height: 3px;
760
760
  border-radius: 2px;
761
- background: rgba(255, 255, 255, 0.08);
761
+ background: var(--surface-hover);
762
762
  overflow: hidden;
763
763
  }
764
764
 
@@ -791,16 +791,16 @@
791
791
  width: min(320px, calc(100vw - 28px));
792
792
  z-index: 40;
793
793
  padding: 14px;
794
- border: 1px solid rgba(196, 160, 90, 0.18);
794
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 18%, transparent);
795
795
  border-radius: var(--radius-lg);
796
796
  background: linear-gradient(
797
797
  180deg,
798
- rgba(50, 50, 54, 0.97),
799
- rgba(34, 34, 38, 0.97)
798
+ var(--glass-gradient-start),
799
+ var(--glass-gradient-end)
800
800
  );
801
801
  box-shadow:
802
- 0 4px 12px rgba(0, 0, 0, 0.2),
803
- 0 16px 40px rgba(0, 0, 0, 0.16);
802
+ 0 4px 12px var(--shadow-color),
803
+ 0 16px 40px var(--shadow-color);
804
804
  backdrop-filter: blur(16px);
805
805
  animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
806
806
  }
@@ -834,7 +834,7 @@
834
834
  .flow-progress-bar-track {
835
835
  height: 3px;
836
836
  border-radius: 2px;
837
- background: rgba(255, 255, 255, 0.08);
837
+ background: var(--surface-hover);
838
838
  overflow: hidden;
839
839
  margin-bottom: 10px;
840
840
  }
@@ -884,7 +884,7 @@
884
884
  .flow-step-active .flow-step-dot {
885
885
  background: var(--accent-primary);
886
886
  opacity: 1;
887
- box-shadow: 0 0 6px rgba(196, 160, 90, 0.4);
887
+ box-shadow: 0 0 6px color-mix(in srgb, var(--accent-primary) 40%, transparent);
888
888
  }
889
889
 
890
890
  .flow-step-active .flow-step-label {
@@ -900,16 +900,16 @@
900
900
  .flow-step-done .flow-step-label {
901
901
  color: var(--text-muted);
902
902
  text-decoration: line-through;
903
- text-decoration-color: rgba(255, 255, 255, 0.15);
903
+ text-decoration-color: color-mix(in srgb, var(--text-muted) 15%, transparent);
904
904
  }
905
905
 
906
906
  .flow-step-failed .flow-step-dot {
907
- background: #ff6b5b;
907
+ background: var(--status-error);
908
908
  opacity: 1;
909
909
  }
910
910
 
911
911
  .flow-step-failed .flow-step-label {
912
- color: #ff8e8e;
912
+ color: var(--status-error);
913
913
  }
914
914
 
915
915
  .flow-step-skipped .flow-step-dot {
@@ -945,16 +945,16 @@
945
945
  align-items: center;
946
946
  gap: 8px;
947
947
  padding: 8px 14px;
948
- border: 1px solid rgba(196, 160, 90, 0.14);
948
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
949
949
  border-radius: var(--radius-lg);
950
950
  background: linear-gradient(
951
951
  180deg,
952
- rgba(50, 50, 54, 0.94),
953
- rgba(34, 34, 38, 0.94)
952
+ var(--glass-gradient-start),
953
+ var(--glass-gradient-end)
954
954
  );
955
955
  box-shadow:
956
- 0 2px 8px rgba(0, 0, 0, 0.15),
957
- 0 8px 24px rgba(0, 0, 0, 0.12);
956
+ 0 2px 8px var(--shadow-color),
957
+ 0 8px 24px var(--shadow-color);
958
958
  backdrop-filter: blur(16px);
959
959
  animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
960
960
  max-width: min(420px, calc(100vw - 28px));
@@ -965,7 +965,7 @@
965
965
  height: 6px;
966
966
  border-radius: 50%;
967
967
  background: var(--accent-primary);
968
- box-shadow: 0 0 6px rgba(196, 160, 90, 0.5);
968
+ box-shadow: 0 0 6px color-mix(in srgb, var(--accent-primary) 50%, transparent);
969
969
  animation: agent-transcript-live-pulse 2s ease-in-out infinite;
970
970
  flex-shrink: 0;
971
971
  }
@@ -987,16 +987,16 @@
987
987
  max-height: min(280px, calc(100vh - 120px));
988
988
  display: flex;
989
989
  flex-direction: column;
990
- border: 1px solid rgba(196, 160, 90, 0.14);
990
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
991
991
  border-radius: var(--radius-lg);
992
992
  background: linear-gradient(
993
993
  180deg,
994
- rgba(34, 34, 38, 0.92),
995
- rgba(26, 26, 30, 0.96)
994
+ var(--glass-gradient-start),
995
+ var(--glass-gradient-end)
996
996
  );
997
997
  box-shadow:
998
- 0 4px 16px rgba(0, 0, 0, 0.15),
999
- 0 20px 50px rgba(0, 0, 0, 0.2);
998
+ 0 4px 16px var(--shadow-color),
999
+ 0 20px 50px var(--shadow-color-strong);
1000
1000
  backdrop-filter: blur(20px);
1001
1001
  overflow: hidden;
1002
1002
  z-index: 40;
@@ -1024,7 +1024,7 @@
1024
1024
  justify-content: space-between;
1025
1025
  gap: 10px;
1026
1026
  padding: 10px 14px;
1027
- border-bottom: 1px solid rgba(196, 160, 90, 0.08);
1027
+ border-bottom: 1px solid color-mix(in srgb, var(--accent-primary) 8%, transparent);
1028
1028
  }
1029
1029
 
1030
1030
  .agent-transcript-title-row {
@@ -1054,8 +1054,8 @@
1054
1054
  width: 7px;
1055
1055
  height: 7px;
1056
1056
  border-radius: 999px;
1057
- background: #22c55e;
1058
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.28);
1057
+ background: var(--status-info);
1058
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 28%, transparent);
1059
1059
  animation: agent-status-pulse-green 1.8s ease-out infinite;
1060
1060
  }
1061
1061
 
@@ -1079,7 +1079,7 @@
1079
1079
  }
1080
1080
 
1081
1081
  .agent-transcript-icon:hover {
1082
- background: rgba(255, 255, 255, 0.06);
1082
+ background: var(--surface-hover);
1083
1083
  color: var(--text-primary);
1084
1084
  }
1085
1085
 
@@ -1093,47 +1093,47 @@
1093
1093
  }
1094
1094
 
1095
1095
  .agent-transcript-list.scroll-fade::before {
1096
- background: linear-gradient(to bottom, rgba(30, 30, 34, 0.95), transparent);
1096
+ background: linear-gradient(to bottom, color-mix(in srgb, var(--bg-secondary) 95%, transparent), transparent);
1097
1097
  }
1098
1098
 
1099
1099
  .agent-transcript-list.scroll-fade::after {
1100
- background: linear-gradient(to top, rgba(24, 24, 28, 0.95), transparent);
1100
+ background: linear-gradient(to top, color-mix(in srgb, var(--bg-primary) 95%, transparent), transparent);
1101
1101
  }
1102
1102
 
1103
1103
  .agent-transcript-entry {
1104
1104
  padding: 10px 12px;
1105
1105
  border-radius: var(--radius-md);
1106
- border: 1px solid rgba(255, 255, 255, 0.04);
1107
- background: rgba(255, 255, 255, 0.02);
1106
+ border: 1px solid var(--border-glass);
1107
+ background: var(--surface-glass);
1108
1108
  transition: border-color var(--duration-normal) var(--ease-in-out);
1109
1109
  }
1110
1110
 
1111
1111
  .agent-transcript-entry.thinking {
1112
- border-color: rgba(196, 160, 90, 0.14);
1113
- background: rgba(196, 160, 90, 0.03);
1112
+ border-color: color-mix(in srgb, var(--accent-primary) 14%, transparent);
1113
+ background: color-mix(in srgb, var(--accent-primary) 3%, transparent);
1114
1114
  }
1115
1115
 
1116
1116
  .agent-transcript-entry.message {
1117
- border-color: rgba(107, 138, 173, 0.14);
1118
- background: rgba(107, 138, 173, 0.03);
1117
+ border-color: color-mix(in srgb, var(--accent-secondary) 14%, transparent);
1118
+ background: color-mix(in srgb, var(--accent-secondary) 3%, transparent);
1119
1119
  }
1120
1120
 
1121
1121
  .agent-transcript-entry.status {
1122
- border-color: rgba(196, 149, 106, 0.16);
1123
- background: rgba(196, 149, 106, 0.03);
1122
+ border-color: color-mix(in srgb, var(--accent-warm) 16%, transparent);
1123
+ background: color-mix(in srgb, var(--accent-warm) 3%, transparent);
1124
1124
  }
1125
1125
 
1126
1126
  .agent-transcript-entry.streaming {
1127
- box-shadow: inset 0 0 0 1px rgba(196, 160, 90, 0.06);
1127
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-primary) 6%, transparent);
1128
1128
  animation: entry-stream-glow 2s ease-in-out infinite;
1129
1129
  }
1130
1130
 
1131
1131
  @keyframes entry-stream-glow {
1132
1132
  0%, 100% {
1133
- border-color: rgba(196, 160, 90, 0.14);
1133
+ border-color: color-mix(in srgb, var(--accent-primary) 14%, transparent);
1134
1134
  }
1135
1135
  50% {
1136
- border-color: rgba(196, 160, 90, 0.28);
1136
+ border-color: color-mix(in srgb, var(--accent-primary) 28%, transparent);
1137
1137
  }
1138
1138
  }
1139
1139
 
@@ -1169,29 +1169,29 @@
1169
1169
 
1170
1170
  @keyframes agent-status-pulse {
1171
1171
  0% {
1172
- box-shadow: 0 0 0 0 rgba(196, 160, 90, 0.32);
1172
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-primary) 32%, transparent);
1173
1173
  }
1174
1174
 
1175
1175
  70% {
1176
- box-shadow: 0 0 0 5px rgba(196, 160, 90, 0);
1176
+ box-shadow: 0 0 0 5px transparent;
1177
1177
  }
1178
1178
 
1179
1179
  100% {
1180
- box-shadow: 0 0 0 0 rgba(196, 160, 90, 0);
1180
+ box-shadow: 0 0 0 0 transparent;
1181
1181
  }
1182
1182
  }
1183
1183
 
1184
1184
  @keyframes agent-status-pulse-green {
1185
1185
  0% {
1186
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.36);
1186
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--status-info) 36%, transparent);
1187
1187
  }
1188
1188
 
1189
1189
  70% {
1190
- box-shadow: 0 0 0 5px rgba(34, 197, 94, 0);
1190
+ box-shadow: 0 0 0 5px transparent;
1191
1191
  }
1192
1192
 
1193
1193
  100% {
1194
- box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
1194
+ box-shadow: 0 0 0 0 transparent;
1195
1195
  }
1196
1196
  }
1197
1197
 
@@ -1209,16 +1209,16 @@
1209
1209
  max-height: min(320px, calc(100vh - 120px));
1210
1210
  display: flex;
1211
1211
  flex-direction: column;
1212
- border: 1px solid rgba(245, 158, 11, 0.2);
1212
+ border: 1px solid color-mix(in srgb, var(--accent-warm) 20%, transparent);
1213
1213
  border-radius: var(--radius-lg);
1214
1214
  background: linear-gradient(
1215
1215
  180deg,
1216
- rgba(50, 50, 54, 0.97),
1217
- rgba(34, 34, 38, 0.97)
1216
+ var(--glass-gradient-start),
1217
+ var(--glass-gradient-end)
1218
1218
  );
1219
1219
  box-shadow:
1220
- 0 4px 12px rgba(0, 0, 0, 0.2),
1221
- 0 16px 40px rgba(0, 0, 0, 0.16);
1220
+ 0 4px 12px var(--shadow-color),
1221
+ 0 16px 40px var(--shadow-color);
1222
1222
  backdrop-filter: blur(16px);
1223
1223
  overflow-y: auto;
1224
1224
  z-index: 50;
@@ -1241,7 +1241,7 @@
1241
1241
  align-items: center;
1242
1242
  justify-content: space-between;
1243
1243
  padding: 10px 14px;
1244
- border-bottom: 1px solid rgba(245, 158, 11, 0.1);
1244
+ border-bottom: 1px solid color-mix(in srgb, var(--accent-warm) 10%, transparent);
1245
1245
  color: var(--text-secondary);
1246
1246
  font-size: 11.5px;
1247
1247
  font-weight: 600;
@@ -1278,7 +1278,7 @@
1278
1278
  }
1279
1279
 
1280
1280
  .page-diff-popup-close:hover {
1281
- background: rgba(255, 255, 255, 0.06);
1281
+ background: var(--surface-hover);
1282
1282
  color: var(--text-primary);
1283
1283
  }
1284
1284
 
@@ -1287,8 +1287,8 @@
1287
1287
  flex-direction: column;
1288
1288
  gap: 6px;
1289
1289
  padding: 10px 14px;
1290
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
1291
- background: rgba(255, 255, 255, 0.02);
1290
+ border-bottom: 1px solid var(--border-glass);
1291
+ background: var(--surface-glass);
1292
1292
  }
1293
1293
 
1294
1294
  .page-diff-burst-history-label {
@@ -1324,7 +1324,7 @@
1324
1324
  align-items: stretch;
1325
1325
  gap: 8px;
1326
1326
  padding: 12px 14px;
1327
- border-bottom: 1px solid rgba(255, 255, 255, 0.03);
1327
+ border-bottom: 1px solid var(--border-glass);
1328
1328
  }
1329
1329
 
1330
1330
  .page-diff-item:last-child {
@@ -1341,7 +1341,7 @@
1341
1341
  align-self: flex-start;
1342
1342
  padding: 2px 6px;
1343
1343
  border-radius: var(--radius-sm);
1344
- background: rgba(255, 255, 255, 0.05);
1344
+ background: var(--surface-hover);
1345
1345
  color: var(--text-muted);
1346
1346
  font-size: 10px;
1347
1347
  font-weight: 600;
@@ -1367,7 +1367,7 @@
1367
1367
  gap: 3px;
1368
1368
  padding: 8px 10px;
1369
1369
  border-radius: var(--radius-md);
1370
- background: rgba(255, 255, 255, 0.04);
1370
+ background: var(--surface-glass);
1371
1371
  }
1372
1372
 
1373
1373
  .page-diff-snippet-label,
@@ -1404,19 +1404,19 @@
1404
1404
  }
1405
1405
 
1406
1406
  .page-diff-added .page-diff-section {
1407
- background: rgba(34, 197, 94, 0.1);
1408
- color: #4ade80;
1407
+ background: var(--status-success-bg);
1408
+ color: var(--status-success);
1409
1409
  }
1410
1410
 
1411
1411
  .page-diff-removed .page-diff-section {
1412
- background: rgba(239, 68, 68, 0.1);
1413
- color: #f87171;
1412
+ background: var(--status-error-bg);
1413
+ color: var(--status-error);
1414
1414
  }
1415
1415
 
1416
1416
  .page-diff-changed .page-diff-section,
1417
1417
  .page-diff-modified .page-diff-section {
1418
- background: rgba(245, 158, 11, 0.1);
1419
- color: #fbbf24;
1418
+ background: var(--status-warning-bg);
1419
+ color: var(--status-warning);
1420
1420
  }
1421
1421
  /* ═══════════════════════════════════════
1422
1422
  Command bar overlay — cinematic entrance
@@ -1425,7 +1425,7 @@
1425
1425
  .command-bar-overlay {
1426
1426
  position: fixed;
1427
1427
  inset: 0;
1428
- background: rgba(0, 0, 0, 0.55);
1428
+ background: var(--overlay-bg);
1429
1429
  display: flex;
1430
1430
  align-items: flex-start;
1431
1431
  justify-content: center;
@@ -1448,9 +1448,9 @@
1448
1448
  border-radius: 14px;
1449
1449
  overflow: hidden;
1450
1450
  box-shadow:
1451
- 0 4px 24px rgba(0, 0, 0, 0.25),
1452
- 0 24px 64px rgba(0, 0, 0, 0.35),
1453
- inset 0 1px 0 rgba(255, 255, 255, 0.04);
1451
+ 0 4px 24px var(--shadow-color),
1452
+ 0 24px 64px var(--shadow-color-strong),
1453
+ inset 0 1px 0 var(--inset-highlight);
1454
1454
  animation: command-bar-enter 350ms var(--ease-out-expo) both;
1455
1455
  }
1456
1456
 
@@ -1548,8 +1548,8 @@
1548
1548
  .command-bar-recent-item {
1549
1549
  padding: 3px 10px;
1550
1550
  border-radius: 999px;
1551
- background: rgba(255, 255, 255, 0.04);
1552
- border: 1px solid rgba(255, 255, 255, 0.06);
1551
+ background: var(--surface-hover);
1552
+ border: 1px solid var(--border-glass);
1553
1553
  color: var(--text-secondary);
1554
1554
  font-size: 11.5px;
1555
1555
  max-width: 200px;
@@ -1563,8 +1563,8 @@
1563
1563
  }
1564
1564
 
1565
1565
  .command-bar-recent-item:hover {
1566
- background: rgba(196, 160, 90, 0.1);
1567
- border-color: rgba(196, 160, 90, 0.2);
1566
+ background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
1567
+ border-color: color-mix(in srgb, var(--accent-primary) 20%, transparent);
1568
1568
  color: var(--text-primary);
1569
1569
  }
1570
1570
 
@@ -1579,8 +1579,8 @@
1579
1579
  }
1580
1580
 
1581
1581
  .command-bar-hints kbd {
1582
- background: rgba(255, 255, 255, 0.06);
1583
- border: 1px solid rgba(255, 255, 255, 0.06);
1582
+ background: var(--kbd-bg);
1583
+ border: 1px solid var(--kbd-border);
1584
1584
  padding: 1px 6px;
1585
1585
  border-radius: var(--radius-sm);
1586
1586
  font-family: var(--font-ui);
@@ -1608,7 +1608,7 @@
1608
1608
  font-size: 12px;
1609
1609
  font-weight: 500;
1610
1610
  background: var(--accent-primary);
1611
- color: white;
1611
+ color: var(--button-primary-fg);
1612
1612
  border: none;
1613
1613
  cursor: pointer;
1614
1614
  transition: background var(--duration-fast) var(--ease-in-out),
@@ -1616,7 +1616,7 @@
1616
1616
  }
1617
1617
 
1618
1618
  .command-bar-no-provider-btn:hover {
1619
- background: #d4b06a;
1619
+ background: var(--button-primary-hover-bg);
1620
1620
  }
1621
1621
 
1622
1622
  .command-bar-no-provider-btn:active {
@@ -1625,8 +1625,8 @@
1625
1625
 
1626
1626
  .command-bar-no-provider-btn kbd {
1627
1627
  margin-left: 6px;
1628
- background: rgba(255, 255, 255, 0.15);
1629
- border: 1px solid rgba(255, 255, 255, 0.1);
1628
+ background: color-mix(in srgb, var(--bg-primary) 15%, transparent);
1629
+ border: 1px solid color-mix(in srgb, var(--bg-primary) 10%, transparent);
1630
1630
  padding: 1px 5px;
1631
1631
  border-radius: 3px;
1632
1632
  font-family: var(--font-ui);
@@ -1698,7 +1698,7 @@
1698
1698
 
1699
1699
  .sidebar-resize-handle:hover,
1700
1700
  .sidebar-resize-handle.dragging {
1701
- background: rgba(196, 160, 90, 0.08);
1701
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
1702
1702
  }
1703
1703
 
1704
1704
  .sidebar-header {
@@ -1822,7 +1822,7 @@
1822
1822
 
1823
1823
  .sidebar-tab:hover {
1824
1824
  color: var(--text-secondary);
1825
- background: rgba(255, 255, 255, 0.02);
1825
+ background: var(--surface-glass);
1826
1826
  }
1827
1827
 
1828
1828
  .sidebar-tab.active {
@@ -1847,7 +1847,7 @@
1847
1847
  padding: 0 4px;
1848
1848
  border-radius: 999px;
1849
1849
  background: var(--accent-warm);
1850
- color: #1a1a1e;
1850
+ color: var(--bg-primary);
1851
1851
  font-size: 9px;
1852
1852
  font-weight: 700;
1853
1853
  line-height: 16px;
@@ -1942,8 +1942,8 @@
1942
1942
  font-weight: 600;
1943
1943
  text-transform: uppercase;
1944
1944
  letter-spacing: 0.05em;
1945
- background: rgba(132, 209, 154, 0.12);
1946
- color: #84d19a;
1945
+ background: var(--status-success-bg);
1946
+ color: var(--status-success);
1947
1947
  }
1948
1948
 
1949
1949
  .bookmark-save-card,
@@ -1953,8 +1953,8 @@
1953
1953
  gap: 8px;
1954
1954
  padding: 10px;
1955
1955
  border-radius: var(--radius-md);
1956
- background: rgba(0, 0, 0, 0.14);
1957
- border: 1px solid rgba(255, 255, 255, 0.04);
1956
+ background: var(--surface-elevated);
1957
+ border: 1px solid var(--border-glass);
1958
1958
  }
1959
1959
 
1960
1960
  .bookmark-save-shell {
@@ -1968,8 +1968,8 @@
1968
1968
  min-height: 42px;
1969
1969
  padding: 10px 14px;
1970
1970
  border-radius: var(--radius-md);
1971
- background: rgba(255, 255, 255, 0.03);
1972
- border: 1px solid rgba(255, 255, 255, 0.05);
1971
+ background: var(--surface-glass);
1972
+ border: 1px solid var(--border-glass);
1973
1973
  display: flex;
1974
1974
  align-items: center;
1975
1975
  justify-content: space-between;
@@ -1979,7 +1979,7 @@
1979
1979
  }
1980
1980
 
1981
1981
  .bookmark-save-toggle:hover {
1982
- background: rgba(255, 255, 255, 0.06);
1982
+ background: var(--surface-hover);
1983
1983
  }
1984
1984
 
1985
1985
  .bookmark-save-toggle-copy {
@@ -2025,7 +2025,7 @@
2025
2025
  width: 100%;
2026
2026
  min-width: 0;
2027
2027
  background: var(--bg-secondary);
2028
- border: 1px solid rgba(255, 255, 255, 0.06);
2028
+ border: 1px solid var(--border-glass);
2029
2029
  border-radius: var(--radius-md);
2030
2030
  color: var(--text-primary);
2031
2031
  font-size: 12px;
@@ -2051,8 +2051,8 @@
2051
2051
  .bookmark-input:focus,
2052
2052
  .bookmark-note-input:focus {
2053
2053
  outline: none;
2054
- border-color: rgba(224, 200, 120, 0.45);
2055
- box-shadow: 0 0 0 2px rgba(224, 200, 120, 0.08);
2054
+ border-color: var(--border-focus);
2055
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 8%, transparent);
2056
2056
  }
2057
2057
 
2058
2058
  .bookmark-primary-button,
@@ -2073,12 +2073,12 @@
2073
2073
  }
2074
2074
 
2075
2075
  .bookmark-primary-button {
2076
- background: #e0c878;
2077
- color: #2a2008;
2076
+ background: var(--accent-primary);
2077
+ color: var(--button-primary-fg);
2078
2078
  }
2079
2079
 
2080
2080
  .bookmark-primary-button:hover:not(:disabled) {
2081
- background: #ebd898;
2081
+ background: var(--button-primary-hover-bg);
2082
2082
  }
2083
2083
 
2084
2084
  .bookmark-primary-button:active:not(:disabled) {
@@ -2087,21 +2087,21 @@
2087
2087
 
2088
2088
  .bookmark-secondary-button,
2089
2089
  .bookmark-ghost-button {
2090
- border: 1px solid rgba(255, 255, 255, 0.06);
2090
+ border: 1px solid var(--border-glass);
2091
2091
  }
2092
2092
 
2093
2093
  .bookmark-secondary-button {
2094
- background: rgba(255, 255, 255, 0.06);
2094
+ background: var(--surface-hover);
2095
2095
  color: var(--text-primary);
2096
2096
  }
2097
2097
 
2098
2098
  .bookmark-secondary-button:hover:not(:disabled),
2099
2099
  .bookmark-ghost-button:hover:not(:disabled) {
2100
- background: rgba(255, 255, 255, 0.1);
2100
+ background: var(--surface-active);
2101
2101
  }
2102
2102
 
2103
2103
  .bookmark-ghost-button {
2104
- background: rgba(255, 255, 255, 0.02);
2104
+ background: var(--surface-glass);
2105
2105
  color: var(--text-secondary);
2106
2106
  }
2107
2107
 
@@ -2112,11 +2112,11 @@
2112
2112
  }
2113
2113
 
2114
2114
  .bookmark-ghost-button.danger {
2115
- color: #ff8e8e;
2115
+ color: var(--status-error);
2116
2116
  }
2117
2117
 
2118
2118
  .bookmark-ghost-button.danger:hover {
2119
- background: rgba(255, 142, 142, 0.08);
2119
+ background: color-mix(in srgb, var(--status-error) 8%, transparent);
2120
2120
  }
2121
2121
 
2122
2122
  .bookmark-folder-create,
@@ -2126,8 +2126,8 @@
2126
2126
 
2127
2127
  .bookmark-folder-delete-confirm {
2128
2128
  padding: 8px 12px;
2129
- background: rgba(255, 142, 142, 0.04);
2130
- border: 1px solid rgba(255, 142, 142, 0.12);
2129
+ background: color-mix(in srgb, var(--status-error) 4%, transparent);
2130
+ border: 1px solid color-mix(in srgb, var(--status-error) 12%, transparent);
2131
2131
  border-radius: var(--radius-md);
2132
2132
  margin-top: 4px;
2133
2133
  }
@@ -2169,7 +2169,7 @@
2169
2169
 
2170
2170
  .bookmark-folder-header.clickable:hover {
2171
2171
  color: var(--text-primary);
2172
- background: rgba(255, 255, 255, 0.02);
2172
+ background: var(--surface-glass);
2173
2173
  }
2174
2174
 
2175
2175
  .bookmark-folder-overview {
@@ -2187,7 +2187,7 @@
2187
2187
  align-items: center;
2188
2188
  justify-content: center;
2189
2189
  flex-shrink: 0;
2190
- color: #e0c878;
2190
+ color: var(--accent-primary);
2191
2191
  font-size: 12px;
2192
2192
  line-height: 1;
2193
2193
  transform-origin: center;
@@ -2228,8 +2228,8 @@
2228
2228
  gap: 6px;
2229
2229
  padding: 10px;
2230
2230
  border-radius: var(--radius-md);
2231
- background: rgba(255, 255, 255, 0.02);
2232
- border: 1px solid rgba(255, 255, 255, 0.04);
2231
+ background: var(--surface-glass);
2232
+ border: 1px solid var(--border-glass);
2233
2233
  transition:
2234
2234
  background var(--duration-normal) var(--ease-out-expo),
2235
2235
  border-color var(--duration-normal) var(--ease-out-expo),
@@ -2238,9 +2238,9 @@
2238
2238
  }
2239
2239
 
2240
2240
  .bookmark-item:hover {
2241
- background: rgba(255, 255, 255, 0.05);
2242
- border-color: rgba(224, 200, 120, 0.15);
2243
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(224, 200, 120, 0.06);
2241
+ background: var(--surface-hover);
2242
+ border-color: color-mix(in srgb, var(--accent-primary) 15%, transparent);
2243
+ box-shadow: 0 2px 12px var(--shadow-color), 0 0 0 1px color-mix(in srgb, var(--accent-primary) 6%, transparent);
2244
2244
  transform: translateY(-1px);
2245
2245
  }
2246
2246
 
@@ -2262,19 +2262,19 @@
2262
2262
  width: 8px;
2263
2263
  height: 8px;
2264
2264
  border-radius: 999px;
2265
- background: rgba(224, 200, 120, 0.25);
2265
+ background: color-mix(in srgb, var(--accent-primary) 25%, transparent);
2266
2266
  transition:
2267
2267
  background var(--duration-normal) var(--ease-out-expo),
2268
2268
  box-shadow var(--duration-normal) var(--ease-out-expo);
2269
2269
  }
2270
2270
 
2271
2271
  .bookmark-item:hover .bookmark-item-link::before {
2272
- background: rgba(224, 200, 120, 0.5);
2273
- box-shadow: 0 0 6px rgba(224, 200, 120, 0.2);
2272
+ background: color-mix(in srgb, var(--accent-primary) 50%, transparent);
2273
+ box-shadow: 0 0 6px color-mix(in srgb, var(--accent-primary) 20%, transparent);
2274
2274
  }
2275
2275
 
2276
2276
  .bookmark-item-link:hover .bookmark-item-title {
2277
- color: #ebd898;
2277
+ color: var(--accent-warm);
2278
2278
  }
2279
2279
 
2280
2280
  .bookmark-item-url {
@@ -2306,8 +2306,8 @@
2306
2306
  min-height: 42px;
2307
2307
  padding: 10px 14px;
2308
2308
  border-radius: var(--radius-md);
2309
- background: rgba(255, 255, 255, 0.03);
2310
- border: 1px solid rgba(255, 255, 255, 0.05);
2309
+ background: var(--surface-glass);
2310
+ border: 1px solid var(--border-glass);
2311
2311
  display: flex;
2312
2312
  align-items: center;
2313
2313
  justify-content: space-between;
@@ -2317,7 +2317,7 @@
2317
2317
  }
2318
2318
 
2319
2319
  .agent-panel-toggle:hover {
2320
- background: rgba(255, 255, 255, 0.06);
2320
+ background: var(--surface-hover);
2321
2321
  }
2322
2322
 
2323
2323
  .agent-panel-toggle-copy {
@@ -2404,34 +2404,34 @@
2404
2404
  }
2405
2405
 
2406
2406
  .agent-status-pill {
2407
- background: rgba(132, 209, 154, 0.12);
2408
- color: #84d19a;
2407
+ background: var(--status-success-bg);
2408
+ color: var(--status-success);
2409
2409
  }
2410
2410
 
2411
2411
  .agent-status-pill.paused {
2412
- background: rgba(255, 161, 103, 0.12);
2413
- color: #ffb074;
2412
+ background: var(--status-warning-bg);
2413
+ color: var(--status-warning);
2414
2414
  }
2415
2415
 
2416
2416
  .agent-action-status.running {
2417
- background: rgba(224, 200, 120, 0.12);
2418
- color: #e0c878;
2417
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
2418
+ color: var(--accent-primary);
2419
2419
  }
2420
2420
 
2421
2421
  .agent-action-status.completed {
2422
- background: rgba(132, 209, 154, 0.12);
2423
- color: #84d19a;
2422
+ background: var(--status-success-bg);
2423
+ color: var(--status-success);
2424
2424
  }
2425
2425
 
2426
2426
  .agent-action-status.failed,
2427
2427
  .agent-action-status.rejected {
2428
- background: rgba(255, 142, 142, 0.12);
2429
- color: #ff8e8e;
2428
+ background: var(--status-error-bg);
2429
+ color: var(--status-error);
2430
2430
  }
2431
2431
 
2432
2432
  .agent-action-status.waiting-approval {
2433
- background: rgba(255, 193, 102, 0.12);
2434
- color: #ffc166;
2433
+ background: color-mix(in srgb, var(--accent-warm) 12%, transparent);
2434
+ color: var(--accent-warm);
2435
2435
  animation: approval-pulse 2s ease-in-out infinite;
2436
2436
  }
2437
2437
 
@@ -2446,7 +2446,7 @@
2446
2446
  min-width: 0;
2447
2447
  height: 32px;
2448
2448
  background: var(--bg-secondary);
2449
- border: 1px solid rgba(255, 255, 255, 0.06);
2449
+ border: 1px solid var(--border-glass);
2450
2450
  border-radius: var(--radius-md);
2451
2451
  color: var(--text-primary);
2452
2452
  font-size: 12px;
@@ -2470,7 +2470,7 @@
2470
2470
  width: 100%;
2471
2471
  height: 32px;
2472
2472
  padding: 0 10px;
2473
- border: 1px solid rgba(255, 255, 255, 0.06);
2473
+ border: 1px solid var(--border-glass);
2474
2474
  border-radius: var(--radius-md);
2475
2475
  background: var(--bg-secondary);
2476
2476
  color: var(--text-primary);
@@ -2492,7 +2492,7 @@
2492
2492
  .dropdown-select-trigger:focus-visible {
2493
2493
  outline: none;
2494
2494
  border-color: var(--accent-primary);
2495
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.1);
2495
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
2496
2496
  }
2497
2497
 
2498
2498
  .dropdown-select-value {
@@ -2524,10 +2524,10 @@
2524
2524
  padding: 4px;
2525
2525
  border-radius: var(--radius-md);
2526
2526
  background: var(--bg-elevated);
2527
- border: 1px solid rgba(255, 255, 255, 0.08);
2527
+ border: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);
2528
2528
  box-shadow:
2529
- 0 4px 16px rgba(0, 0, 0, 0.2),
2530
- 0 12px 40px rgba(0, 0, 0, 0.16);
2529
+ 0 4px 16px var(--shadow-color),
2530
+ 0 12px 40px var(--shadow-color);
2531
2531
  animation: dropdown-enter 200ms var(--ease-out-expo) both;
2532
2532
  }
2533
2533
 
@@ -2573,18 +2573,18 @@
2573
2573
 
2574
2574
  .dropdown-select-option:hover,
2575
2575
  .dropdown-select-option.selected {
2576
- background: rgba(224, 200, 120, 0.1);
2576
+ background: color-mix(in srgb, var(--accent-primary) 10%, transparent);
2577
2577
  }
2578
2578
 
2579
2579
  .dropdown-select-option.selected {
2580
- background: rgba(224, 200, 120, 0.14);
2580
+ background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
2581
2581
  }
2582
2582
 
2583
2583
  .agent-select:focus,
2584
2584
  .agent-input:focus {
2585
2585
  outline: none;
2586
2586
  border-color: var(--accent-primary);
2587
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.1);
2587
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
2588
2588
  }
2589
2589
 
2590
2590
  .agent-control-button,
@@ -2602,14 +2602,14 @@
2602
2602
  }
2603
2603
 
2604
2604
  .agent-control-button {
2605
- background: rgba(255, 255, 255, 0.04);
2605
+ background: var(--surface-hover);
2606
2606
  color: var(--text-secondary);
2607
- border: 1px solid rgba(255, 255, 255, 0.05);
2607
+ border: 1px solid var(--border-glass);
2608
2608
  }
2609
2609
 
2610
2610
  .agent-control-button:hover,
2611
2611
  .agent-section-toggle:hover {
2612
- background: rgba(255, 255, 255, 0.07);
2612
+ background: var(--surface-active);
2613
2613
  }
2614
2614
 
2615
2615
  .agent-control-button:active,
@@ -2619,18 +2619,18 @@
2619
2619
  }
2620
2620
 
2621
2621
  .agent-section-toggle {
2622
- background: rgba(255, 255, 255, 0.02);
2622
+ background: var(--surface-glass);
2623
2623
  color: var(--text-secondary);
2624
- border: 1px solid rgba(255, 255, 255, 0.05);
2624
+ border: 1px solid var(--border-glass);
2625
2625
  }
2626
2626
 
2627
2627
  .agent-primary-button {
2628
2628
  background: var(--accent-primary);
2629
- color: white;
2629
+ color: var(--button-primary-fg);
2630
2630
  }
2631
2631
 
2632
2632
  .agent-primary-button:hover {
2633
- background: #d4b06a;
2633
+ background: var(--button-primary-hover-bg);
2634
2634
  }
2635
2635
 
2636
2636
  .agent-card {
@@ -2639,39 +2639,39 @@
2639
2639
  gap: 6px;
2640
2640
  padding: 10px 12px;
2641
2641
  border-radius: var(--radius-md);
2642
- background: rgba(0, 0, 0, 0.14);
2643
- border: 1px solid rgba(255, 255, 255, 0.04);
2642
+ background: var(--surface-elevated);
2643
+ border: 1px solid var(--border-glass);
2644
2644
  transition: border-color var(--duration-fast) var(--ease-in-out);
2645
2645
  }
2646
2646
 
2647
2647
  .agent-card:hover {
2648
- border-color: rgba(255, 255, 255, 0.07);
2648
+ border-color: var(--surface-active);
2649
2649
  }
2650
2650
 
2651
2651
  /* Approval card — escalating urgency */
2652
2652
  .agent-card-approval {
2653
2653
  position: relative;
2654
2654
  overflow: hidden;
2655
- border-color: rgba(255, 193, 102, 0.2);
2656
- background: rgba(255, 193, 102, 0.04);
2655
+ border-color: color-mix(in srgb, var(--accent-warm) 20%, transparent);
2656
+ background: color-mix(in srgb, var(--accent-warm) 4%, transparent);
2657
2657
  animation: approval-escalate 12s ease-in-out forwards;
2658
2658
  }
2659
2659
 
2660
2660
  @keyframes approval-escalate {
2661
2661
  0% {
2662
- border-color: rgba(255, 193, 102, 0.2);
2663
- background: rgba(255, 193, 102, 0.04);
2662
+ border-color: color-mix(in srgb, var(--accent-warm) 20%, transparent);
2663
+ background: color-mix(in srgb, var(--accent-warm) 4%, transparent);
2664
2664
  box-shadow: none;
2665
2665
  }
2666
2666
  40% {
2667
- border-color: rgba(255, 193, 102, 0.35);
2668
- background: rgba(255, 193, 102, 0.06);
2667
+ border-color: color-mix(in srgb, var(--accent-warm) 35%, transparent);
2668
+ background: color-mix(in srgb, var(--accent-warm) 6%, transparent);
2669
2669
  box-shadow: none;
2670
2670
  }
2671
2671
  100% {
2672
- border-color: rgba(255, 161, 103, 0.45);
2673
- background: rgba(255, 161, 103, 0.08);
2674
- box-shadow: 0 0 16px rgba(255, 161, 103, 0.08);
2672
+ border-color: color-mix(in srgb, var(--accent-warm) 45%, transparent);
2673
+ background: color-mix(in srgb, var(--accent-warm) 8%, transparent);
2674
+ box-shadow: 0 0 16px color-mix(in srgb, var(--accent-warm) 8%, transparent);
2675
2675
  }
2676
2676
  }
2677
2677
 
@@ -2697,11 +2697,11 @@
2697
2697
  }
2698
2698
 
2699
2699
  .agent-card-copy.success {
2700
- color: #84d19a;
2700
+ color: var(--status-success);
2701
2701
  }
2702
2702
 
2703
2703
  .agent-card-copy.error {
2704
- color: #ff8e8e;
2704
+ color: var(--status-error);
2705
2705
  }
2706
2706
 
2707
2707
 
@@ -2740,10 +2740,10 @@
2740
2740
  }
2741
2741
 
2742
2742
  .message-assistant {
2743
- background: rgba(196, 160, 90, 0.08);
2743
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
2744
2744
  color: var(--text-primary);
2745
2745
  align-self: flex-start;
2746
- border: 1px solid rgba(196, 160, 90, 0.1);
2746
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 10%, transparent);
2747
2747
  border-bottom-left-radius: var(--radius-sm);
2748
2748
  }
2749
2749
 
@@ -2806,29 +2806,29 @@
2806
2806
  }
2807
2807
 
2808
2808
  .markdown-content a {
2809
- color: #e0c878;
2809
+ color: var(--accent-primary);
2810
2810
  text-decoration: none;
2811
2811
  transition: color var(--duration-fast) var(--ease-in-out);
2812
2812
  }
2813
2813
 
2814
2814
  .markdown-content a:hover {
2815
- color: #ebd898;
2815
+ color: var(--accent-warm);
2816
2816
  text-decoration: underline;
2817
2817
  }
2818
2818
 
2819
2819
  .markdown-content code {
2820
2820
  font-family: var(--font-mono);
2821
2821
  font-size: 12px;
2822
- background: rgba(255, 255, 255, 0.06);
2823
- border: 1px solid rgba(255, 255, 255, 0.04);
2822
+ background: var(--code-bg);
2823
+ border: 1px solid var(--border-glass);
2824
2824
  border-radius: 5px;
2825
2825
  padding: 1px 5px;
2826
2826
  }
2827
2827
 
2828
2828
  .markdown-content pre {
2829
2829
  overflow-x: auto;
2830
- background: rgba(0, 0, 0, 0.22);
2831
- border: 1px solid rgba(255, 255, 255, 0.04);
2830
+ background: var(--code-block-bg);
2831
+ border: 1px solid var(--border-glass);
2832
2832
  border-radius: var(--radius-md);
2833
2833
  padding: 12px 14px;
2834
2834
  }
@@ -2844,14 +2844,14 @@
2844
2844
  }
2845
2845
 
2846
2846
  .markdown-content blockquote {
2847
- border-left: 2px solid rgba(196, 160, 90, 0.4);
2847
+ border-left: 2px solid color-mix(in srgb, var(--accent-primary) 40%, transparent);
2848
2848
  padding-left: 12px;
2849
2849
  color: var(--text-secondary);
2850
2850
  }
2851
2851
 
2852
2852
  .markdown-content hr {
2853
2853
  border: none;
2854
- border-top: 1px solid rgba(255, 255, 255, 0.06);
2854
+ border-top: 1px solid var(--border-glass);
2855
2855
  margin: 14px 0;
2856
2856
  }
2857
2857
 
@@ -2864,7 +2864,7 @@
2864
2864
  }
2865
2865
 
2866
2866
  .markdown-content thead {
2867
- border-bottom: 2px solid rgba(255, 255, 255, 0.12);
2867
+ border-bottom: 2px solid var(--border-visible);
2868
2868
  }
2869
2869
 
2870
2870
  .markdown-content th {
@@ -2876,12 +2876,12 @@
2876
2876
 
2877
2877
  .markdown-content td {
2878
2878
  padding: 5px 10px;
2879
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2879
+ border-bottom: 1px solid var(--border-glass);
2880
2880
  color: var(--text-secondary);
2881
2881
  }
2882
2882
 
2883
2883
  .markdown-content tbody tr:hover {
2884
- background: rgba(255, 255, 255, 0.03);
2884
+ background: var(--surface-glass);
2885
2885
  }
2886
2886
 
2887
2887
 
@@ -2895,8 +2895,8 @@
2895
2895
  gap: 6px;
2896
2896
  padding: 3px 10px 3px 7px;
2897
2897
  margin: 3px 0;
2898
- background: rgba(255, 255, 255, 0.04);
2899
- border-left: 2px solid rgba(196, 160, 90, 0.4);
2898
+ background: var(--surface-hover);
2899
+ border-left: 2px solid color-mix(in srgb, var(--accent-primary) 40%, transparent);
2900
2900
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
2901
2901
  font-size: 11.5px;
2902
2902
  line-height: 1.5;
@@ -2906,7 +2906,7 @@
2906
2906
  }
2907
2907
 
2908
2908
  .tool-chip:hover {
2909
- background: rgba(255, 255, 255, 0.07);
2909
+ background: var(--surface-active);
2910
2910
  }
2911
2911
 
2912
2912
  .tool-chip-icon {
@@ -2914,7 +2914,7 @@
2914
2914
  width: 16px;
2915
2915
  text-align: center;
2916
2916
  font-size: 12px;
2917
- color: rgba(196, 160, 90, 0.7);
2917
+ color: color-mix(in srgb, var(--accent-primary) 70%, transparent);
2918
2918
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
2919
2919
  }
2920
2920
 
@@ -2950,8 +2950,8 @@
2950
2950
  gap: 10px;
2951
2951
  margin: 8px 14px;
2952
2952
  padding: 10px 12px;
2953
- background: rgba(224, 180, 80, 0.08);
2954
- border: 1px solid rgba(224, 180, 80, 0.2);
2953
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
2954
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
2955
2955
  border-radius: var(--radius-md);
2956
2956
  animation: approval-appear 0.25s var(--ease-out-back);
2957
2957
  }
@@ -2963,7 +2963,7 @@
2963
2963
 
2964
2964
  .chat-approval-icon {
2965
2965
  flex-shrink: 0;
2966
- color: #e0b450;
2966
+ color: var(--accent-primary);
2967
2967
  margin-top: 1px;
2968
2968
  }
2969
2969
 
@@ -3009,21 +3009,21 @@
3009
3009
  }
3010
3010
 
3011
3011
  .chat-approval-approve {
3012
- background: rgba(224, 180, 80, 0.18);
3013
- color: #e0c070;
3012
+ background: color-mix(in srgb, var(--accent-primary) 18%, transparent);
3013
+ color: var(--accent-primary);
3014
3014
  }
3015
3015
 
3016
3016
  .chat-approval-approve:hover {
3017
- background: rgba(224, 180, 80, 0.28);
3017
+ background: color-mix(in srgb, var(--accent-primary) 28%, transparent);
3018
3018
  }
3019
3019
 
3020
3020
  .chat-approval-reject {
3021
- background: rgba(255, 255, 255, 0.06);
3021
+ background: var(--surface-hover);
3022
3022
  color: var(--text-muted);
3023
3023
  }
3024
3024
 
3025
3025
  .chat-approval-reject:hover {
3026
- background: rgba(255, 255, 255, 0.1);
3026
+ background: var(--surface-active);
3027
3027
  color: var(--text-secondary);
3028
3028
  }
3029
3029
 
@@ -3043,8 +3043,8 @@
3043
3043
  width: 30px;
3044
3044
  height: 30px;
3045
3045
  border-radius: 999px;
3046
- background: rgba(196, 160, 90, 0.12);
3047
- border: 1px solid rgba(196, 160, 90, 0.2);
3046
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
3047
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
3048
3048
  display: inline-flex;
3049
3049
  align-items: center;
3050
3050
  justify-content: center;
@@ -3099,7 +3099,7 @@
3099
3099
  height: 7px;
3100
3100
  border-radius: 999px;
3101
3101
  background: var(--accent-primary);
3102
- box-shadow: 0 0 0 rgba(196, 160, 90, 0.45);
3102
+ box-shadow: 0 0 0 color-mix(in srgb, var(--accent-primary) 45%, transparent);
3103
3103
  animation: streaming-pulse 1.4s ease-out infinite;
3104
3104
  }
3105
3105
 
@@ -3119,15 +3119,15 @@
3119
3119
  @keyframes streaming-pulse {
3120
3120
  0% {
3121
3121
  transform: scale(0.85);
3122
- box-shadow: 0 0 0 0 rgba(196, 160, 90, 0.42);
3122
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-primary) 42%, transparent);
3123
3123
  }
3124
3124
  70% {
3125
3125
  transform: scale(1.05);
3126
- box-shadow: 0 0 0 8px rgba(196, 160, 90, 0);
3126
+ box-shadow: 0 0 0 8px color-mix(in srgb, var(--accent-primary) 0%, transparent);
3127
3127
  }
3128
3128
  100% {
3129
3129
  transform: scale(0.85);
3130
- box-shadow: 0 0 0 0 rgba(196, 160, 90, 0);
3130
+ box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-primary) 0%, transparent);
3131
3131
  }
3132
3132
  }
3133
3133
 
@@ -3247,9 +3247,9 @@
3247
3247
  padding: 3px 10px;
3248
3248
  font-size: 11px;
3249
3249
  font-weight: 500;
3250
- color: rgba(196, 160, 90, 0.85);
3251
- background: rgba(196, 160, 90, 0.08);
3252
- border: 1px solid rgba(196, 160, 90, 0.2);
3250
+ color: color-mix(in srgb, var(--accent-primary) 85%, transparent);
3251
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
3252
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
3253
3253
  border-radius: var(--radius-md);
3254
3254
  cursor: pointer;
3255
3255
  transition: background var(--duration-fast) var(--ease-in-out),
@@ -3258,8 +3258,8 @@
3258
3258
  }
3259
3259
 
3260
3260
  .highlight-nav-label:hover {
3261
- background: rgba(196, 160, 90, 0.14);
3262
- border-color: rgba(196, 160, 90, 0.35);
3261
+ background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
3262
+ border-color: color-mix(in srgb, var(--accent-primary) 35%, transparent);
3263
3263
  }
3264
3264
 
3265
3265
  .hl-context-menu {
@@ -3270,7 +3270,7 @@
3270
3270
  background: var(--bg-secondary);
3271
3271
  border: 1px solid var(--border-visible);
3272
3272
  border-radius: var(--radius-md);
3273
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
3273
+ box-shadow: 0 4px 16px var(--shadow-color-strong);
3274
3274
  }
3275
3275
 
3276
3276
  .hl-context-item {
@@ -3287,13 +3287,13 @@
3287
3287
  }
3288
3288
 
3289
3289
  .hl-context-item:hover {
3290
- background: rgba(255, 255, 255, 0.06);
3290
+ background: var(--surface-hover);
3291
3291
  color: var(--text-primary);
3292
3292
  }
3293
3293
 
3294
3294
  .hl-context-danger:hover {
3295
- color: #e06060;
3296
- background: rgba(224, 96, 96, 0.08);
3295
+ color: var(--status-error);
3296
+ background: color-mix(in srgb, var(--status-error) 8%, transparent);
3297
3297
  }
3298
3298
 
3299
3299
  .sidebar-input-area {
@@ -3347,7 +3347,7 @@
3347
3347
  padding: 6px 8px;
3348
3348
  border: 1px solid var(--border-subtle);
3349
3349
  border-radius: var(--radius-sm);
3350
- background: rgba(255, 255, 255, 0.02);
3350
+ background: var(--surface-glass);
3351
3351
  }
3352
3352
 
3353
3353
  .chat-queue-text {
@@ -3374,7 +3374,7 @@
3374
3374
  .sidebar-input:focus {
3375
3375
  border-color: var(--accent-primary);
3376
3376
  outline: none;
3377
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.1);
3377
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 10%, transparent);
3378
3378
  }
3379
3379
 
3380
3380
  .sidebar-input::placeholder {
@@ -3396,11 +3396,11 @@
3396
3396
 
3397
3397
  .sidebar-send {
3398
3398
  background: var(--accent-primary);
3399
- color: white;
3399
+ color: var(--button-primary-fg);
3400
3400
  }
3401
3401
 
3402
3402
  .sidebar-send:hover:not(:disabled) {
3403
- background: #d4b06a;
3403
+ background: var(--button-primary-hover-bg);
3404
3404
  }
3405
3405
 
3406
3406
  .sidebar-send:active:not(:disabled) {
@@ -3459,8 +3459,8 @@
3459
3459
  width: 8px;
3460
3460
  height: 8px;
3461
3461
  border-radius: 999px;
3462
- background: rgba(255, 255, 255, 0.15);
3463
- border: 1.5px solid rgba(255, 255, 255, 0.2);
3462
+ background: color-mix(in srgb, var(--text-primary) 15%, transparent);
3463
+ border: 1.5px solid color-mix(in srgb, var(--text-primary) 20%, transparent);
3464
3464
  flex-shrink: 0;
3465
3465
  transition: all var(--duration-normal) var(--ease-out-expo);
3466
3466
  }
@@ -3469,8 +3469,8 @@
3469
3469
  width: 10px;
3470
3470
  height: 10px;
3471
3471
  background: var(--accent-primary);
3472
- border-color: rgba(196, 160, 90, 0.5);
3473
- box-shadow: 0 0 8px rgba(196, 160, 90, 0.3);
3472
+ border-color: color-mix(in srgb, var(--accent-primary) 50%, transparent);
3473
+ box-shadow: 0 0 8px color-mix(in srgb, var(--accent-primary) 30%, transparent);
3474
3474
  }
3475
3475
 
3476
3476
  .checkpoint-timeline-line {
@@ -3479,8 +3479,8 @@
3479
3479
  min-height: 16px;
3480
3480
  background: linear-gradient(
3481
3481
  180deg,
3482
- rgba(255, 255, 255, 0.12),
3483
- rgba(255, 255, 255, 0.04)
3482
+ color-mix(in srgb, var(--text-primary) 12%, transparent),
3483
+ color-mix(in srgb, var(--text-primary) 4%, transparent)
3484
3484
  );
3485
3485
  margin: 4px 0;
3486
3486
  }
@@ -3601,9 +3601,9 @@
3601
3601
  font-weight: 600;
3602
3602
  letter-spacing: 0.08em;
3603
3603
  text-transform: uppercase;
3604
- color: var(--color-accent, #c4a05a);
3605
- background: rgba(196, 160, 90, 0.12);
3606
- border: 1px solid rgba(196, 160, 90, 0.25);
3604
+ color: var(--accent-primary);
3605
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
3606
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 25%, transparent);
3607
3607
  border-radius: 4px;
3608
3608
  padding: 1px 5px;
3609
3609
  vertical-align: middle;
@@ -3626,16 +3626,16 @@
3626
3626
  font-size: 10.5px;
3627
3627
  font-weight: 600;
3628
3628
  color: var(--accent-primary);
3629
- background: rgba(196, 160, 90, 0.08);
3630
- border: 1px solid rgba(196, 160, 90, 0.2);
3629
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
3630
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
3631
3631
  transition:
3632
3632
  background var(--duration-fast) var(--ease-in-out),
3633
3633
  border-color var(--duration-fast) var(--ease-in-out);
3634
3634
  }
3635
3635
 
3636
3636
  .kit-install-btn:hover {
3637
- background: rgba(196, 160, 90, 0.14);
3638
- border-color: rgba(196, 160, 90, 0.3);
3637
+ background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
3638
+ border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
3639
3639
  }
3640
3640
 
3641
3641
  .kit-install-error {
@@ -3645,17 +3645,17 @@
3645
3645
  gap: 8px;
3646
3646
  padding: 7px 10px;
3647
3647
  border-radius: var(--radius-sm);
3648
- background: rgba(220, 80, 80, 0.08);
3649
- border: 1px solid rgba(220, 80, 80, 0.2);
3648
+ background: color-mix(in srgb, var(--status-error) 8%, transparent);
3649
+ border: 1px solid color-mix(in srgb, var(--status-error) 20%, transparent);
3650
3650
  font-size: 11px;
3651
- color: #e07070;
3651
+ color: var(--status-error);
3652
3652
  line-height: 1.4;
3653
3653
  }
3654
3654
 
3655
3655
  .kit-install-error-dismiss {
3656
3656
  flex-shrink: 0;
3657
3657
  font-size: 14px;
3658
- color: #e07070;
3658
+ color: var(--status-error);
3659
3659
  opacity: 0.7;
3660
3660
  line-height: 1;
3661
3661
  padding: 0 2px;
@@ -3680,8 +3680,8 @@
3680
3680
  gap: 11px;
3681
3681
  padding: 11px 12px;
3682
3682
  border-radius: var(--radius-md);
3683
- background: rgba(0, 0, 0, 0.14);
3684
- border: 1px solid rgba(255, 255, 255, 0.05);
3683
+ background: var(--surface-elevated);
3684
+ border: 1px solid var(--border-glass);
3685
3685
  text-align: left;
3686
3686
  width: 100%;
3687
3687
  cursor: pointer;
@@ -3691,12 +3691,12 @@
3691
3691
  }
3692
3692
 
3693
3693
  .kit-card:hover {
3694
- background: rgba(255, 255, 255, 0.04);
3695
- border-color: rgba(196, 160, 90, 0.18);
3694
+ background: var(--surface-hover);
3695
+ border-color: color-mix(in srgb, var(--accent-primary) 18%, transparent);
3696
3696
  }
3697
3697
 
3698
3698
  .kit-card:active {
3699
- background: rgba(196, 160, 90, 0.06);
3699
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
3700
3700
  }
3701
3701
 
3702
3702
  .kit-card-icon {
@@ -3707,8 +3707,8 @@
3707
3707
  width: 32px;
3708
3708
  height: 32px;
3709
3709
  border-radius: var(--radius-sm);
3710
- background: rgba(196, 160, 90, 0.08);
3711
- border: 1px solid rgba(196, 160, 90, 0.14);
3710
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
3711
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
3712
3712
  color: var(--accent-primary);
3713
3713
  }
3714
3714
 
@@ -3773,9 +3773,9 @@
3773
3773
  }
3774
3774
 
3775
3775
  .kit-remove-btn:hover {
3776
- background: rgba(220, 80, 80, 0.1);
3777
- border-color: rgba(220, 80, 80, 0.2);
3778
- color: #e07070;
3776
+ background: color-mix(in srgb, var(--status-error) 10%, transparent);
3777
+ border-color: color-mix(in srgb, var(--status-error) 20%, transparent);
3778
+ color: var(--status-error);
3779
3779
  }
3780
3780
 
3781
3781
  /* ── Form view ── */
@@ -3796,8 +3796,8 @@
3796
3796
  font-size: 11px;
3797
3797
  font-weight: 500;
3798
3798
  color: var(--text-muted);
3799
- background: rgba(255, 255, 255, 0.04);
3800
- border: 1px solid rgba(255, 255, 255, 0.05);
3799
+ background: var(--surface-hover);
3800
+ border: 1px solid var(--border-glass);
3801
3801
  flex-shrink: 0;
3802
3802
  transition:
3803
3803
  background var(--duration-fast) var(--ease-in-out),
@@ -3805,7 +3805,7 @@
3805
3805
  }
3806
3806
 
3807
3807
  .kit-back-btn:hover {
3808
- background: rgba(255, 255, 255, 0.07);
3808
+ background: var(--surface-active);
3809
3809
  color: var(--text-secondary);
3810
3810
  }
3811
3811
 
@@ -3859,8 +3859,8 @@
3859
3859
  .kit-form-input,
3860
3860
  .kit-form-textarea {
3861
3861
  width: 100%;
3862
- background: rgba(0, 0, 0, 0.2);
3863
- border: 1px solid rgba(255, 255, 255, 0.07);
3862
+ background: var(--surface-elevated);
3863
+ border: 1px solid var(--border-glass);
3864
3864
  border-radius: var(--radius-sm);
3865
3865
  color: var(--text-primary);
3866
3866
  font-size: 12px;
@@ -3874,8 +3874,8 @@
3874
3874
 
3875
3875
  .kit-form-input:focus,
3876
3876
  .kit-form-textarea:focus {
3877
- border-color: rgba(196, 160, 90, 0.4);
3878
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.08);
3877
+ border-color: color-mix(in srgb, var(--accent-primary) 40%, transparent);
3878
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 8%, transparent);
3879
3879
  outline: none;
3880
3880
  }
3881
3881
 
@@ -3906,8 +3906,8 @@
3906
3906
  .kit-run-spinner {
3907
3907
  width: 10px;
3908
3908
  height: 10px;
3909
- border: 1.5px solid rgba(0, 0, 0, 0.2);
3910
- border-top-color: rgba(0, 0, 0, 0.7);
3909
+ border: 1.5px solid color-mix(in srgb, var(--bg-primary) 20%, transparent);
3910
+ border-top-color: color-mix(in srgb, var(--bg-primary) 70%, transparent);
3911
3911
  border-radius: 50%;
3912
3912
  animation: kit-spin 0.6s linear infinite;
3913
3913
  display: inline-block;
@@ -3932,8 +3932,8 @@
3932
3932
  width: 48px;
3933
3933
  height: 48px;
3934
3934
  border-radius: 50%;
3935
- background: rgba(196, 160, 90, 0.07);
3936
- border: 1px solid rgba(196, 160, 90, 0.15);
3935
+ background: color-mix(in srgb, var(--accent-primary) 7%, transparent);
3936
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 15%, transparent);
3937
3937
  display: flex;
3938
3938
  align-items: center;
3939
3939
  justify-content: center;
@@ -3967,9 +3967,9 @@
3967
3967
  padding: 16px 14px;
3968
3968
  border-radius: var(--radius-lg);
3969
3969
  background:
3970
- radial-gradient(circle at top right, rgba(196, 160, 90, 0.12), transparent 44%),
3971
- linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
3972
- border: 1px solid rgba(196, 160, 90, 0.18);
3970
+ radial-gradient(circle at top right, color-mix(in srgb, var(--accent-primary) 12%, transparent), transparent 44%),
3971
+ linear-gradient(180deg, var(--surface-hover), var(--surface-glass));
3972
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 18%, transparent);
3973
3973
  }
3974
3974
 
3975
3975
  .premium-chat-banner-body {
@@ -3985,8 +3985,8 @@
3985
3985
  padding: 12px 12px 11px;
3986
3986
  border-radius: var(--radius-md);
3987
3987
  background:
3988
- linear-gradient(180deg, rgba(196, 160, 90, 0.08), rgba(196, 160, 90, 0.03));
3989
- border: 1px solid rgba(196, 160, 90, 0.18);
3988
+ linear-gradient(180deg, color-mix(in srgb, var(--accent-primary) 8%, transparent), color-mix(in srgb, var(--accent-primary) 3%, transparent));
3989
+ border: 1px solid color-mix(in srgb, var(--accent-primary) 18%, transparent);
3990
3990
  }
3991
3991
 
3992
3992
  .premium-inline-offer.compact {
@@ -4061,16 +4061,16 @@
4061
4061
  gap: 8px;
4062
4062
  padding: 9px 10px;
4063
4063
  border-radius: var(--radius-md);
4064
- background: rgba(255, 255, 255, 0.025);
4064
+ background: var(--surface-glass);
4065
4065
  border: 1px solid var(--border-subtle);
4066
4066
  }
4067
4067
 
4068
4068
  .kit-activity-running {
4069
- border-color: rgba(196, 160, 90, 0.26);
4069
+ border-color: color-mix(in srgb, var(--accent-primary) 26%, transparent);
4070
4070
  }
4071
4071
 
4072
4072
  .kit-activity-failed {
4073
- border-color: rgba(202, 92, 92, 0.28);
4073
+ border-color: color-mix(in srgb, var(--status-error) 28%, transparent);
4074
4074
  }
4075
4075
 
4076
4076
  .kit-activity-header {
@@ -4104,20 +4104,20 @@
4104
4104
  font-size: 10px;
4105
4105
  font-weight: 600;
4106
4106
  color: var(--text-secondary);
4107
- background: rgba(255, 255, 255, 0.03);
4107
+ background: var(--surface-glass);
4108
4108
  border: 1px solid var(--border-subtle);
4109
4109
  }
4110
4110
 
4111
4111
  .kit-activity-running .kit-activity-badge {
4112
4112
  color: var(--accent-primary);
4113
- border-color: rgba(196, 160, 90, 0.24);
4114
- background: rgba(196, 160, 90, 0.08);
4113
+ border-color: color-mix(in srgb, var(--accent-primary) 24%, transparent);
4114
+ background: color-mix(in srgb, var(--accent-primary) 8%, transparent);
4115
4115
  }
4116
4116
 
4117
4117
  .kit-activity-failed .kit-activity-badge {
4118
- color: #d98b8b;
4119
- border-color: rgba(202, 92, 92, 0.28);
4120
- background: rgba(202, 92, 92, 0.09);
4118
+ color: var(--status-error);
4119
+ border-color: color-mix(in srgb, var(--status-error) 28%, transparent);
4120
+ background: color-mix(in srgb, var(--status-error) 9%, transparent);
4121
4121
  }
4122
4122
 
4123
4123
  .kit-activity-output {
@@ -4202,7 +4202,7 @@
4202
4202
 
4203
4203
  &:hover {
4204
4204
  color: var(--text-primary);
4205
- background: var(--bg-hover);
4205
+ background: var(--surface-hover);
4206
4206
  }
4207
4207
  }
4208
4208
 
@@ -4213,10 +4213,10 @@
4213
4213
  top: calc(100% + 2px);
4214
4214
  left: 0;
4215
4215
  z-index: 1000;
4216
- background: var(--bg-surface, #1e1e24);
4216
+ background: var(--bg-secondary);
4217
4217
  border: 1px solid var(--border-subtle);
4218
4218
  border-radius: var(--radius-md, 6px);
4219
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
4219
+ box-shadow: 0 4px 16px var(--shadow-color-strong);
4220
4220
  padding: 4px;
4221
4221
  min-width: 152px;
4222
4222
  display: flex;
@@ -4237,12 +4237,12 @@
4237
4237
  transition: background var(--duration-fast) ease;
4238
4238
 
4239
4239
  &:hover {
4240
- background: var(--bg-hover);
4240
+ background: var(--surface-hover);
4241
4241
  }
4242
4242
  }
4243
4243
 
4244
4244
  .sched-ctx-danger {
4245
- color: var(--color-error, #e05252);
4245
+ color: var(--status-error);
4246
4246
  }
4247
4247
 
4248
4248
  .sched-ctx-divider {
@@ -4257,17 +4257,17 @@
4257
4257
  position: fixed;
4258
4258
  inset: 0;
4259
4259
  z-index: 999;
4260
- background: rgba(0, 0, 0, 0.4);
4260
+ background: var(--overlay-bg);
4261
4261
  display: flex;
4262
4262
  align-items: center;
4263
4263
  justify-content: center;
4264
4264
  }
4265
4265
 
4266
4266
  .sched-edit-panel {
4267
- background: var(--bg-surface, #1e1e24);
4267
+ background: var(--bg-secondary);
4268
4268
  border: 1px solid var(--border-subtle);
4269
4269
  border-radius: var(--radius-md, 8px);
4270
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
4270
+ box-shadow: 0 8px 32px var(--shadow-color-strong);
4271
4271
  padding: 16px;
4272
4272
  width: 280px;
4273
4273
  display: flex;
@@ -4391,7 +4391,7 @@
4391
4391
 
4392
4392
  .kit-schedule-error {
4393
4393
  font-size: 11px;
4394
- color: var(--status-error, #e06c75);
4394
+ color: var(--status-error);
4395
4395
  margin: 0;
4396
4396
  }
4397
4397
 
@@ -4443,8 +4443,8 @@
4443
4443
  }
4444
4444
 
4445
4445
  .history-clear-btn:hover {
4446
- color: #ff8e8e;
4447
- border-color: rgba(255, 108, 91, 0.3);
4446
+ color: var(--status-error);
4447
+ border-color: color-mix(in srgb, var(--status-error) 30%, transparent);
4448
4448
  }
4449
4449
 
4450
4450
  .history-list {
@@ -4568,12 +4568,12 @@
4568
4568
  }
4569
4569
 
4570
4570
  .devtools-tab-badge.error {
4571
- background: rgba(192, 112, 112, 0.2);
4571
+ background: color-mix(in srgb, var(--status-error) 20%, transparent);
4572
4572
  color: var(--error);
4573
4573
  }
4574
4574
 
4575
4575
  .devtools-tab-badge.count {
4576
- background: rgba(196, 160, 90, 0.15);
4576
+ background: color-mix(in srgb, var(--accent-primary) 15%, transparent);
4577
4577
  color: var(--accent-primary);
4578
4578
  }
4579
4579
 
@@ -4635,12 +4635,12 @@
4635
4635
  }
4636
4636
 
4637
4637
  .console-entry.level-error {
4638
- background: rgba(192, 112, 112, 0.06);
4638
+ background: color-mix(in srgb, var(--status-error) 6%, transparent);
4639
4639
  border-left: 2px solid var(--error);
4640
4640
  }
4641
4641
 
4642
4642
  .console-entry.level-warning {
4643
- background: rgba(196, 160, 90, 0.06);
4643
+ background: color-mix(in srgb, var(--accent-primary) 6%, transparent);
4644
4644
  border-left: 2px solid var(--accent-primary);
4645
4645
  }
4646
4646
 
@@ -4726,7 +4726,7 @@
4726
4726
  }
4727
4727
 
4728
4728
  .network-entry.error {
4729
- background: rgba(192, 112, 112, 0.06);
4729
+ background: color-mix(in srgb, var(--status-error) 6%, transparent);
4730
4730
  }
4731
4731
 
4732
4732
  .network-method {
@@ -4838,7 +4838,7 @@
4838
4838
 
4839
4839
  .devtools-close-btn.active {
4840
4840
  color: var(--accent-primary);
4841
- background: rgba(196, 160, 90, 0.12);
4841
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
4842
4842
  }
4843
4843
 
4844
4844
  .devtools-export-dropdown {
@@ -4849,7 +4849,7 @@
4849
4849
  background: var(--bg-elevated);
4850
4850
  border: 1px solid var(--border-visible);
4851
4851
  border-radius: var(--radius-md);
4852
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
4852
+ box-shadow: 0 8px 24px var(--shadow-color-strong);
4853
4853
  padding: 10px;
4854
4854
  z-index: 100;
4855
4855
  display: flex;
@@ -4919,8 +4919,8 @@
4919
4919
 
4920
4920
  .export-date-btn.active {
4921
4921
  color: var(--accent-primary);
4922
- background: rgba(196, 160, 90, 0.12);
4923
- border-color: rgba(196, 160, 90, 0.3);
4922
+ background: color-mix(in srgb, var(--accent-primary) 12%, transparent);
4923
+ border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
4924
4924
  }
4925
4925
 
4926
4926
  .export-date-inputs {
@@ -4953,11 +4953,10 @@
4953
4953
  border: 1px solid var(--border-subtle);
4954
4954
  border-radius: var(--radius-sm);
4955
4955
  outline: none;
4956
- color-scheme: dark;
4957
4956
  }
4958
4957
 
4959
4958
  .export-date-input:focus {
4960
- border-color: rgba(196, 160, 90, 0.4);
4959
+ border-color: color-mix(in srgb, var(--accent-primary) 40%, transparent);
4961
4960
  }
4962
4961
 
4963
4962
  .export-submit {
@@ -4966,7 +4965,7 @@
4966
4965
  font-size: 12px;
4967
4966
  font-weight: 600;
4968
4967
  font-family: var(--font-ui);
4969
- color: var(--bg-primary);
4968
+ color: var(--button-primary-fg);
4970
4969
  background: var(--accent-primary);
4971
4970
  border: none;
4972
4971
  border-radius: var(--radius-sm);
@@ -5009,6 +5008,8 @@
5009
5008
  background: var(--border-visible);
5010
5009
  }
5011
5010
  :root {
5011
+ color-scheme: dark;
5012
+
5012
5013
  /* Base palette — warm dark, not pure black */
5013
5014
  --bg-primary: #1a1a1e;
5014
5015
  --bg-secondary: #222226;
@@ -5056,9 +5057,51 @@
5056
5057
  --font-ui: 'Inter', -apple-system, system-ui, sans-serif;
5057
5058
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
5058
5059
  --font-reader: Charter, Georgia, serif;
5060
+
5061
+ /* ═══════════════════════════════════════
5062
+ Semantic surfaces, shadows & overlays
5063
+ ═══════════════════════════════════════ */
5064
+ --overlay-bg: rgba(0, 0, 0, 0.55);
5065
+ --shadow-color: rgba(0, 0, 0, 0.2);
5066
+ --shadow-color-strong: rgba(0, 0, 0, 0.3);
5067
+ --inset-highlight: rgba(255, 255, 255, 0.04);
5068
+
5069
+ --glass-gradient-start: rgba(50, 50, 54, 0.97);
5070
+ --glass-gradient-end: rgba(34, 34, 38, 0.97);
5071
+
5072
+ --surface-hover: rgba(255, 255, 255, 0.04);
5073
+ --surface-active: rgba(255, 255, 255, 0.07);
5074
+ --surface-elevated: rgba(0, 0, 0, 0.14);
5075
+ --surface-glass: rgba(255, 255, 255, 0.02);
5076
+
5077
+ --status-success: #84d19a;
5078
+ --status-success-bg: rgba(132, 209, 154, 0.12);
5079
+ --status-error: #ff8e8e;
5080
+ --status-error-bg: rgba(255, 142, 142, 0.12);
5081
+ --status-warning: #ffb074;
5082
+ --status-warning-bg: rgba(255, 161, 103, 0.12);
5083
+ --status-info: #22c55e;
5084
+ --status-info-bg: rgba(34, 197, 94, 0.12);
5085
+
5086
+ --kbd-bg: rgba(255, 255, 255, 0.06);
5087
+ --kbd-border: rgba(255, 255, 255, 0.08);
5088
+ --kbd-shadow: rgba(0, 0, 0, 0.15);
5089
+ --code-bg: rgba(255, 255, 255, 0.06);
5090
+ --code-block-bg: rgba(0, 0, 0, 0.22);
5091
+
5092
+ --scrollbar-thumb: rgba(255, 255, 255, 0.08);
5093
+ --scrollbar-thumb-hover: rgba(255, 255, 255, 0.14);
5094
+
5095
+ --border-glass: rgba(255, 255, 255, 0.04);
5096
+ --border-focus: rgba(196, 160, 90, 0.45);
5097
+
5098
+ --button-primary-fg: #1a1a1e;
5099
+ --button-primary-hover-bg: #d4b06a;
5059
5100
  }
5060
5101
 
5061
5102
  [data-theme="light"] {
5103
+ color-scheme: light;
5104
+
5062
5105
  --bg-primary: #f8f7f5;
5063
5106
  --bg-secondary: #efeeec;
5064
5107
  --bg-tertiary: #e5e4e2;
@@ -5078,6 +5121,44 @@
5078
5121
  --loading-bar: #8a6d2f;
5079
5122
  --error: #b04040;
5080
5123
  --success: #408040;
5124
+
5125
+ /* Semantic surfaces, shadows & overlays */
5126
+ --overlay-bg: rgba(0, 0, 0, 0.25);
5127
+ --shadow-color: rgba(0, 0, 0, 0.12);
5128
+ --shadow-color-strong: rgba(0, 0, 0, 0.18);
5129
+ --inset-highlight: rgba(255, 255, 255, 0.4);
5130
+
5131
+ --glass-gradient-start: rgba(219, 217, 215, 0.97);
5132
+ --glass-gradient-end: rgba(239, 238, 236, 0.97);
5133
+
5134
+ --surface-hover: rgba(0, 0, 0, 0.04);
5135
+ --surface-active: rgba(0, 0, 0, 0.07);
5136
+ --surface-elevated: rgba(0, 0, 0, 0.06);
5137
+ --surface-glass: rgba(0, 0, 0, 0.02);
5138
+
5139
+ --status-success: #5a9a5a;
5140
+ --status-success-bg: rgba(90, 154, 90, 0.10);
5141
+ --status-error: #d05050;
5142
+ --status-error-bg: rgba(208, 80, 80, 0.10);
5143
+ --status-warning: #c07040;
5144
+ --status-warning-bg: rgba(192, 112, 64, 0.10);
5145
+ --status-info: #3a9a3a;
5146
+ --status-info-bg: rgba(58, 154, 58, 0.10);
5147
+
5148
+ --kbd-bg: rgba(0, 0, 0, 0.05);
5149
+ --kbd-border: rgba(0, 0, 0, 0.08);
5150
+ --kbd-shadow: rgba(0, 0, 0, 0.1);
5151
+ --code-bg: rgba(0, 0, 0, 0.05);
5152
+ --code-block-bg: rgba(0, 0, 0, 0.06);
5153
+
5154
+ --scrollbar-thumb: rgba(0, 0, 0, 0.15);
5155
+ --scrollbar-thumb-hover: rgba(0, 0, 0, 0.25);
5156
+
5157
+ --border-glass: rgba(0, 0, 0, 0.06);
5158
+ --border-focus: rgba(138, 109, 47, 0.45);
5159
+
5160
+ --button-primary-fg: #f8f7f5;
5161
+ --button-primary-hover-bg: #7c622a;
5081
5162
  }
5082
5163
 
5083
5164
  *,
@@ -5116,12 +5197,12 @@ body,
5116
5197
  }
5117
5198
 
5118
5199
  ::-webkit-scrollbar-thumb {
5119
- background: rgba(255, 255, 255, 0.08);
5200
+ background: var(--scrollbar-thumb);
5120
5201
  border-radius: 999px;
5121
5202
  }
5122
5203
 
5123
5204
  ::-webkit-scrollbar-thumb:hover {
5124
- background: rgba(255, 255, 255, 0.14);
5205
+ background: var(--scrollbar-thumb-hover);
5125
5206
  }
5126
5207
 
5127
5208
  input,
@@ -5141,7 +5222,7 @@ textarea {
5141
5222
  input:focus,
5142
5223
  textarea:focus {
5143
5224
  border-color: var(--accent-primary);
5144
- box-shadow: 0 0 0 2px rgba(196, 160, 90, 0.12);
5225
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent-primary) 12%, transparent);
5145
5226
  }
5146
5227
 
5147
5228
  button {
@@ -5243,12 +5324,12 @@ button:active:not(:disabled) {
5243
5324
  border-radius: var(--radius-lg);
5244
5325
  background: linear-gradient(
5245
5326
  180deg,
5246
- rgba(50, 50, 54, 0.97),
5247
- rgba(34, 34, 38, 0.97)
5327
+ var(--glass-gradient-start),
5328
+ var(--glass-gradient-end)
5248
5329
  );
5249
5330
  box-shadow:
5250
- 0 4px 12px rgba(0, 0, 0, 0.2),
5251
- 0 16px 40px rgba(0, 0, 0, 0.16);
5331
+ 0 4px 12px var(--shadow-color),
5332
+ 0 16px 40px var(--shadow-color);
5252
5333
  backdrop-filter: blur(16px);
5253
5334
  animation: toast-enter var(--duration-enter) var(--ease-out-expo) both;
5254
5335
  }
@@ -5382,7 +5463,7 @@ button:active:not(:disabled) {
5382
5463
  pointer-events: none;
5383
5464
  opacity: 0;
5384
5465
  z-index: 9999;
5385
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
5466
+ box-shadow: 0 4px 16px var(--shadow-color-strong);
5386
5467
  transition:
5387
5468
  opacity var(--duration-normal) var(--ease-in-out),
5388
5469
  transform var(--duration-normal) var(--ease-out-expo);