@tangle-network/sandbox-ui 0.76.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -260,9 +260,11 @@ var STATUS_QUEUED = "hsl(var(--muted-foreground))";
260
260
  var STATUS_DONE = "var(--surface-success-text)";
261
261
  var STATUS_FAILED = "var(--surface-danger-text)";
262
262
  var STATUS_RUNNING = "hsl(var(--primary))";
263
+ var STATUS_WAITING = "var(--surface-warning-text)";
263
264
  var STATUS_COLOR = {
264
265
  queued: STATUS_QUEUED,
265
266
  running: STATUS_RUNNING,
267
+ waiting: STATUS_WAITING,
266
268
  succeeded: STATUS_DONE,
267
269
  failed: STATUS_FAILED
268
270
  };
@@ -272,6 +274,7 @@ function edgeColor(status) {
272
274
  var STATUS_LABEL = {
273
275
  queued: "Queued",
274
276
  running: "Running",
277
+ waiting: "Waiting on you",
275
278
  succeeded: "Done",
276
279
  failed: "Failed"
277
280
  };
@@ -286,6 +289,11 @@ var STATUS_PILL = {
286
289
  color: "hsl(var(--primary))",
287
290
  borderColor: "color-mix(in srgb, hsl(var(--primary)) 40%, transparent)"
288
291
  },
292
+ waiting: {
293
+ background: "var(--surface-warning-bg)",
294
+ color: "var(--surface-warning-text)",
295
+ borderColor: "var(--surface-warning-border)"
296
+ },
289
297
  succeeded: {
290
298
  background: "var(--surface-success-bg)",
291
299
  color: "var(--surface-success-text)",
@@ -301,6 +309,7 @@ function statusBorder(status) {
301
309
  const color = STATUS_COLOR[status];
302
310
  switch (status) {
303
311
  case "running":
312
+ case "waiting":
304
313
  return {
305
314
  borderColor: color,
306
315
  boxShadow: `0 0 0 1px color-mix(in srgb, ${color} 45%, transparent), 0 0 24px -6px ${color}`
@@ -315,7 +324,7 @@ function statusBorder(status) {
315
324
  }
316
325
  }
317
326
  function progressFill(status) {
318
- return status === "succeeded" || status === "failed" ? "100%" : status === "running" ? "58%" : "6%";
327
+ return status === "succeeded" || status === "failed" ? "100%" : status === "running" || status === "waiting" ? "58%" : "6%";
319
328
  }
320
329
  var KIND_ICON = {
321
330
  schedule: Clock,
@@ -395,6 +404,7 @@ function StatusFooter({
395
404
  children: /* @__PURE__ */ jsx3(
396
405
  "div",
397
406
  {
407
+ "data-testid": "wf-node-progress",
398
408
  className: `h-full ${status === "running" ? "animate-pulse" : ""}`,
399
409
  style: {
400
410
  width: progressFill(status),
package/dist/globals.css CHANGED
@@ -5333,15 +5333,15 @@
5333
5333
  [data-sandbox-ui],
5334
5334
  [data-theme="dark"],
5335
5335
  .dark {
5336
- --md3-surface: #16161f;
5337
- --md3-surface-dim: #111119;
5338
- --md3-surface-bright: #2a2940;
5339
- --md3-surface-container-lowest: #101017;
5340
- --md3-surface-container-low: #16161f;
5341
- --md3-surface-container: #1c1b27;
5342
- --md3-surface-container-high: #232231;
5343
- --md3-surface-container-highest: #2c2b3d;
5344
- --md3-surface-variant: #2c2b3d;
5336
+ --md3-surface: #0a0a14;
5337
+ --md3-surface-dim: #060610;
5338
+ --md3-surface-bright: #232238;
5339
+ --md3-surface-container-lowest: #050509;
5340
+ --md3-surface-container-low: #12111f;
5341
+ --md3-surface-container: #191826;
5342
+ --md3-surface-container-high: #221f33;
5343
+ --md3-surface-container-highest: #2c2942;
5344
+ --md3-surface-variant: #2c2942;
5345
5345
  --md3-on-surface: #fdfdfd;
5346
5346
  --md3-on-surface-variant: #aaa8b8;
5347
5347
  --md3-primary: #818CF8;
@@ -5358,7 +5358,7 @@
5358
5358
  --md3-on-secondary-container: #E8E5FF;
5359
5359
  --md3-tertiary: #10B981;
5360
5360
  --md3-outline: #4a4965;
5361
- --md3-outline-variant: #34324a;
5361
+ --md3-outline-variant: #2a293d;
5362
5362
  --md3-error: #ff5277;
5363
5363
  --md3-error-dim: #eb2855;
5364
5364
  --md3-error-container: #82042b;
@@ -5368,24 +5368,24 @@
5368
5368
  --md3-inverse-primary: #4F46E5;
5369
5369
  --md3-inverse-on-surface: #000000;
5370
5370
  --md3-surface-tint: #818CF8;
5371
- --hsl-background: 240 7% 9%;
5371
+ --hsl-background: 240 33% 6%;
5372
5372
  --hsl-foreground: 240 6% 93%;
5373
- --hsl-card: 240 5% 13%;
5373
+ --hsl-card: 244 23% 12%;
5374
5374
  --hsl-card-foreground: 240 6% 93%;
5375
- --hsl-popover: 240 5% 17%;
5375
+ --hsl-popover: 247 23% 21%;
5376
5376
  --hsl-popover-foreground: 240 6% 93%;
5377
5377
  --hsl-primary: 239 84% 62%;
5378
5378
  --hsl-primary-foreground: 0 0% 100%;
5379
- --hsl-secondary: 240 5% 15%;
5379
+ --hsl-secondary: 249 24% 16%;
5380
5380
  --hsl-secondary-foreground: 240 6% 93%;
5381
- --hsl-muted: 240 5% 15%;
5382
- --hsl-muted-foreground: 240 4% 64%;
5383
- --hsl-accent: 240 5% 15%;
5381
+ --hsl-muted: 249 24% 16%;
5382
+ --hsl-muted-foreground: 240 5% 68%;
5383
+ --hsl-accent: 249 24% 16%;
5384
5384
  --hsl-accent-foreground: 240 6% 93%;
5385
5385
  --hsl-destructive: 348 74% 48%;
5386
5386
  --hsl-destructive-foreground: 0 0% 100%;
5387
- --hsl-border: 240 5% 16%;
5388
- --hsl-input: 240 5% 15%;
5387
+ --hsl-border: 243 19.6% 20%;
5388
+ --hsl-input: 244 29% 9%;
5389
5389
  --hsl-ring: 239 84% 67%;
5390
5390
  --hsl-success: 160 84% 39%;
5391
5391
  --hsl-warning: 40 94% 56%;
@@ -5413,18 +5413,18 @@
5413
5413
  --warning: var(--hsl-warning);
5414
5414
  --error: var(--hsl-destructive);
5415
5415
  --info: var(--hsl-info);
5416
- --sidebar-background: 240 6% 11%;
5416
+ --sidebar-background: 244 29% 9%;
5417
5417
  --sidebar-foreground: 240 6% 93%;
5418
5418
  --sidebar-primary: 239 84% 67%;
5419
5419
  --sidebar-primary-foreground: 0 0% 100%;
5420
- --sidebar-accent: 240 5% 15%;
5420
+ --sidebar-accent: 249 24% 16%;
5421
5421
  --sidebar-accent-foreground: 240 6% 93%;
5422
- --sidebar-border: 240 5% 16%;
5422
+ --sidebar-border: 243 19.6% 20%;
5423
5423
  --sidebar-ring: 239 84% 67%;
5424
- --depth-1: #15151a;
5425
- --depth-2: #1f1f23;
5426
- --depth-3: #26262b;
5427
- --depth-4: #2e2e34;
5424
+ --depth-1: #0a0a14;
5425
+ --depth-2: #191826;
5426
+ --depth-3: #221f33;
5427
+ --depth-4: #2c2942;
5428
5428
  --status-running: #10B981;
5429
5429
  --status-creating: #9B93F0;
5430
5430
  --status-stopped: #FFB800;
@@ -5470,12 +5470,12 @@
5470
5470
  --accent-surface-soft: rgba(255, 255, 255, 0.04);
5471
5471
  --accent-surface-strong: rgba(129, 140, 248, 0.14);
5472
5472
  --accent-text: #b9bffb;
5473
- --bg-root: #15151a;
5473
+ --bg-root: #0a0a14;
5474
5474
  --bg-dark: var(--depth-1);
5475
5475
  --bg-card: var(--depth-2);
5476
5476
  --bg-elevated: var(--depth-4);
5477
5477
  --bg-section: var(--depth-1);
5478
- --bg-input: var(--depth-3);
5478
+ --bg-input: hsl(var(--hsl-input));
5479
5479
  --bg-hover: rgba(255, 255, 255, 0.04);
5480
5480
  --bg-selection: rgba(129, 140, 248, 0.14);
5481
5481
  --text-primary: #ececee;
@@ -5578,15 +5578,15 @@
5578
5578
  [data-sandbox-theme="vault"],
5579
5579
  [data-theme="light"],
5580
5580
  .light {
5581
- --md3-surface: #f8f9fb;
5582
- --md3-surface-dim: #d9dae0;
5583
- --md3-surface-bright: #f8f9fb;
5581
+ --md3-surface: #eceef3;
5582
+ --md3-surface-dim: #dcdee6;
5583
+ --md3-surface-bright: #ffffff;
5584
5584
  --md3-surface-container-lowest: #ffffff;
5585
- --md3-surface-container-low: #f3f4f7;
5586
- --md3-surface-container: #edeef2;
5587
- --md3-surface-container-high: #e7e8ed;
5588
- --md3-surface-container-highest: #e1e2e8;
5589
- --md3-surface-variant: #e1e2e8;
5585
+ --md3-surface-container-low: #f6f7fa;
5586
+ --md3-surface-container: #ffffff;
5587
+ --md3-surface-container-high: #f1f2f7;
5588
+ --md3-surface-container-highest: #ffffff;
5589
+ --md3-surface-variant: #f1f2f7;
5590
5590
  --md3-on-surface: #191c24;
5591
5591
  --md3-on-surface-variant: #464858;
5592
5592
  --md3-primary: #3E349E;
@@ -5614,32 +5614,32 @@
5614
5614
  --md3-inverse-primary: #A5AAFC;
5615
5615
  --md3-inverse-on-surface: #f0f1f4;
5616
5616
  --md3-surface-tint: #6366F1;
5617
- --hsl-background: 0 0% 100%;
5617
+ --hsl-background: 223 23% 94%;
5618
5618
  --hsl-foreground: 0 0% 5%;
5619
- --hsl-card: 240 7% 97%;
5619
+ --hsl-card: 0 0% 100%;
5620
5620
  --hsl-card-foreground: 0 0% 5%;
5621
5621
  --hsl-popover: 0 0% 100%;
5622
5622
  --hsl-popover-foreground: 0 0% 5%;
5623
5623
  --hsl-primary: 245 62% 57%;
5624
5624
  --hsl-primary-foreground: 0 0% 100%;
5625
- --hsl-secondary: 240 6% 93%;
5625
+ --hsl-secondary: 230 27% 96%;
5626
5626
  --hsl-secondary-foreground: 0 0% 10%;
5627
- --hsl-muted: 240 6% 93%;
5627
+ --hsl-muted: 230 27% 96%;
5628
5628
  --hsl-muted-foreground: 240 5% 38%;
5629
- --hsl-accent: 240 6% 93%;
5629
+ --hsl-accent: 230 27% 96%;
5630
5630
  --hsl-accent-foreground: 0 0% 10%;
5631
5631
  --hsl-destructive: 0 72% 41%;
5632
5632
  --hsl-destructive-foreground: 0 0% 100%;
5633
- --hsl-border: 240 6% 89%;
5634
- --hsl-input: 240 6% 89%;
5633
+ --hsl-border: 244 16.3% 80.8%;
5634
+ --hsl-input: 225 29% 97%;
5635
5635
  --hsl-ring: 245 62% 57%;
5636
5636
  --hsl-success: 160 84% 30%;
5637
5637
  --hsl-warning: 41 96% 50%;
5638
5638
  --hsl-info: 212 80% 50%;
5639
- --depth-1: #ffffff;
5640
- --depth-2: #f7f7f8;
5641
- --depth-3: #ececee;
5642
- --depth-4: #e3e3e6;
5639
+ --depth-1: #eceef3;
5640
+ --depth-2: #ffffff;
5641
+ --depth-3: #f1f2f7;
5642
+ --depth-4: #ffffff;
5643
5643
  --status-running: #059669;
5644
5644
  --status-creating: #3E349E;
5645
5645
  --status-stopped: #B45309;
@@ -5675,23 +5675,23 @@
5675
5675
  --surface-neutral-bg: var(--depth-3);
5676
5676
  --surface-neutral-border: var(--border-subtle);
5677
5677
  --surface-neutral-text: var(--text-muted);
5678
- --sidebar-background: 240 7% 97%;
5678
+ --sidebar-background: 0 0% 100%;
5679
5679
  --sidebar-foreground: 0 0% 5%;
5680
5680
  --sidebar-primary: 245 62% 57%;
5681
5681
  --sidebar-primary-foreground: 0 0% 100%;
5682
- --sidebar-accent: 240 6% 93%;
5682
+ --sidebar-accent: 230 27% 96%;
5683
5683
  --sidebar-accent-foreground: 0 0% 10%;
5684
- --sidebar-border: 240 6% 89%;
5684
+ --sidebar-border: 244 16.3% 80.8%;
5685
5685
  --sidebar-ring: 245 62% 57%;
5686
5686
  --mesh-teal: transparent;
5687
5687
  --mesh-violet: transparent;
5688
5688
  --mesh-blue: transparent;
5689
- --bg-root: #ffffff;
5690
- --bg-dark: #f7f7f8;
5691
- --bg-card: #f7f7f8;
5692
- --bg-elevated: #ffffff;
5693
- --bg-section: #f7f7f8;
5694
- --bg-input: #ececee;
5689
+ --bg-root: #eceef3;
5690
+ --bg-dark: var(--depth-1);
5691
+ --bg-card: var(--depth-2);
5692
+ --bg-elevated: var(--depth-4);
5693
+ --bg-section: var(--depth-1);
5694
+ --bg-input: hsl(var(--hsl-input));
5695
5695
  --bg-hover: rgba(0, 0, 0, 0.04);
5696
5696
  --bg-selection: rgba(91, 78, 212, 0.10);
5697
5697
  --text-primary: #0d0d0d;
@@ -5747,6 +5747,305 @@
5747
5747
  --radius-full: 999px;
5748
5748
  --radius-composer: 26px;
5749
5749
  }
5750
+ [data-theme] {
5751
+ --color-background: hsl(var(--hsl-background));
5752
+ --color-foreground: hsl(var(--hsl-foreground));
5753
+ --color-card: hsl(var(--hsl-card));
5754
+ --color-card-foreground: hsl(var(--hsl-card-foreground));
5755
+ --color-popover: hsl(var(--hsl-popover));
5756
+ --color-popover-foreground: hsl(var(--hsl-popover-foreground));
5757
+ --color-primary: hsl(var(--hsl-primary));
5758
+ --color-primary-foreground: hsl(var(--hsl-primary-foreground));
5759
+ --color-secondary: hsl(var(--hsl-secondary));
5760
+ --color-secondary-foreground: hsl(var(--hsl-secondary-foreground));
5761
+ --color-muted: hsl(var(--hsl-muted));
5762
+ --color-muted-foreground: hsl(var(--hsl-muted-foreground));
5763
+ --color-accent: hsl(var(--hsl-accent));
5764
+ --color-accent-foreground: hsl(var(--hsl-accent-foreground));
5765
+ --color-destructive: hsl(var(--hsl-destructive));
5766
+ --color-destructive-foreground: hsl(var(--hsl-destructive-foreground));
5767
+ --color-border: hsl(var(--hsl-border));
5768
+ --color-input: hsl(var(--hsl-muted-foreground));
5769
+ --color-ring: hsl(var(--hsl-ring));
5770
+ --color-surface-container-lowest: var(--md3-surface-container-lowest);
5771
+ --color-surface-container-low: var(--md3-surface-container-low);
5772
+ --color-surface-container: var(--md3-surface-container);
5773
+ --color-surface-container-high: var(--md3-surface-container-high);
5774
+ --color-surface-container-highest: var(--md3-surface-container-highest);
5775
+ --color-fg: var(--text-primary);
5776
+ --color-fg-muted: var(--text-muted);
5777
+ --color-fg-dim: var(--text-dim);
5778
+ }
5779
+ [data-theme="aubergine-light"],
5780
+ [data-theme="arena-light"],
5781
+ [data-theme="tangle-light"] {
5782
+ --surface-success-bg: #ecfdf5;
5783
+ --surface-success-border: #a7f3d0;
5784
+ --surface-success-text: #047857;
5785
+ --surface-warning-bg: #fffbeb;
5786
+ --surface-warning-border: #fde68a;
5787
+ --surface-warning-text: #b45309;
5788
+ --surface-danger-bg: #fff1f2;
5789
+ --surface-danger-border: #fecdd3;
5790
+ --surface-danger-text: #b91c1c;
5791
+ --surface-info-bg: #f0f9ff;
5792
+ --surface-info-border: #bae6fd;
5793
+ --surface-info-text: #0369a1;
5794
+ --hsl-destructive: 0 72% 41%;
5795
+ --hsl-destructive-foreground: 0 0% 100%;
5796
+ --hsl-secondary-foreground: 0 0% 10%;
5797
+ --surface-neutral-text: #4b5563;
5798
+ }
5799
+ [data-theme="light"],
5800
+ [data-theme="aubergine-light"],
5801
+ [data-theme="arena-light"],
5802
+ [data-theme="tangle-light"] {
5803
+ --syntax-foreground: #24292f;
5804
+ --syntax-comment: #57606a;
5805
+ --syntax-keyword: #6d28d9;
5806
+ --syntax-string: #047857;
5807
+ --syntax-function: #1d4ed8;
5808
+ --syntax-number: #92400e;
5809
+ --syntax-meta: #7c3aed;
5810
+ --syntax-variable: #24292f;
5811
+ --syntax-error: #b91c1c;
5812
+ }
5813
+ [data-theme="aubergine"] {
5814
+ --hsl-background: 258 44% 12%;
5815
+ --hsl-foreground: 258 50% 97%;
5816
+ --hsl-card: 258 40% 20%;
5817
+ --hsl-card-foreground: 258 50% 97%;
5818
+ --hsl-popover: 258 40% 24%;
5819
+ --hsl-popover-foreground: 258 50% 97%;
5820
+ --hsl-primary: 250 100% 76%;
5821
+ --hsl-primary-foreground: 258 45% 10%;
5822
+ --hsl-secondary: 258 38% 17%;
5823
+ --hsl-muted: 258 38% 17%;
5824
+ --hsl-muted-foreground: 258 26% 70%;
5825
+ --hsl-accent: 258 40% 24%;
5826
+ --hsl-border: 258 32% 30%;
5827
+ --hsl-input: 258 38% 17%;
5828
+ --hsl-ring: 250 100% 76%;
5829
+ --depth-1: #1a1230;
5830
+ --depth-2: #241a42;
5831
+ --depth-3: #2f2253;
5832
+ --depth-4: #3d2d68;
5833
+ --bg-root: #1a1230;
5834
+ --bg-card: var(--depth-3);
5835
+ --bg-input: var(--depth-2);
5836
+ --md3-surface-container-lowest: #150e28;
5837
+ --md3-surface-container-low: #241a42;
5838
+ --md3-surface-container: #2a1f4c;
5839
+ --md3-surface-container-high: #2f2253;
5840
+ --md3-surface-container-highest: #3d2d68;
5841
+ --md3-outline-variant: #463571;
5842
+ --border-subtle: rgba(183,157,255,0.12);
5843
+ --border-default: rgba(183,157,255,0.22);
5844
+ --border-hover: rgba(183,157,255,0.40);
5845
+ --accent-text: #c4b0ff;
5846
+ --brand-primary: #8f8bff;
5847
+ --brand-glow: #c4b0ff;
5848
+ --text-primary: #f4f1fd;
5849
+ --text-secondary: #cec4e8;
5850
+ --text-muted: #a99fc8;
5851
+ --text-dim: #786d99;
5852
+ }
5853
+ [data-theme="aubergine-light"] {
5854
+ --hsl-background: 258 60% 96%;
5855
+ --hsl-foreground: 258 45% 11%;
5856
+ --hsl-card: 0 0% 100%;
5857
+ --hsl-card-foreground: 258 45% 11%;
5858
+ --hsl-popover: 0 0% 100%;
5859
+ --hsl-popover-foreground: 258 45% 11%;
5860
+ --hsl-primary: 258 70% 50%;
5861
+ --hsl-primary-foreground: 0 0% 100%;
5862
+ --hsl-secondary: 258 45% 92%;
5863
+ --hsl-muted: 258 45% 92%;
5864
+ --hsl-muted-foreground: 258 18% 42%;
5865
+ --hsl-accent: 258 45% 92%;
5866
+ --hsl-border: 258 30% 88%;
5867
+ --hsl-input: 258 30% 88%;
5868
+ --hsl-ring: 258 70% 50%;
5869
+ --depth-1: #f4f1fc;
5870
+ --depth-2: #ece6f8;
5871
+ --depth-3: #ffffff;
5872
+ --depth-4: #ffffff;
5873
+ --bg-root: #f4f1fc;
5874
+ --bg-card: #ffffff;
5875
+ --bg-input: #ece6f8;
5876
+ --md3-surface-container-lowest: #ffffff;
5877
+ --md3-surface-container-low: #faf8fe;
5878
+ --md3-surface-container: #f4f1fc;
5879
+ --md3-surface-container-high: #ece6f8;
5880
+ --md3-surface-container-highest: #e4dcf4;
5881
+ --md3-outline-variant: #e0d8f0;
5882
+ --border-subtle: rgba(60,32,110,0.10);
5883
+ --border-default: rgba(60,32,110,0.16);
5884
+ --border-hover: rgba(60,32,110,0.30);
5885
+ --accent-text: #6d28d9;
5886
+ --brand-primary: #6d28d9;
5887
+ --brand-glow: #8b5cf6;
5888
+ --text-primary: #160f22;
5889
+ --text-secondary: #3f3460;
5890
+ --text-muted: #6c6289;
5891
+ --text-dim: #8a82a6;
5892
+ }
5893
+ [data-theme="arena"] {
5894
+ --hsl-background: 160 16% 6%;
5895
+ --hsl-foreground: 150 20% 96%;
5896
+ --hsl-card: 158 14% 12%;
5897
+ --hsl-card-foreground: 150 20% 96%;
5898
+ --hsl-popover: 158 13% 16%;
5899
+ --hsl-popover-foreground: 150 20% 96%;
5900
+ --hsl-primary: 160 84% 39%;
5901
+ --hsl-primary-foreground: 160 60% 8%;
5902
+ --hsl-secondary: 158 12% 12%;
5903
+ --hsl-muted: 158 12% 12%;
5904
+ --hsl-muted-foreground: 152 12% 62%;
5905
+ --hsl-accent: 158 14% 14%;
5906
+ --hsl-border: 158 14% 18%;
5907
+ --hsl-input: 158 12% 12%;
5908
+ --hsl-ring: 160 84% 45%;
5909
+ --depth-1: #0a0f0c;
5910
+ --depth-2: #131b16;
5911
+ --depth-3: #1b261f;
5912
+ --depth-4: #233328;
5913
+ --bg-root: #0a0f0c;
5914
+ --bg-card: var(--depth-3);
5915
+ --bg-input: var(--depth-2);
5916
+ --md3-surface-container-lowest: #070b08;
5917
+ --md3-surface-container-low: #131b16;
5918
+ --md3-surface-container: #182019;
5919
+ --md3-surface-container-high: #1b261f;
5920
+ --md3-surface-container-highest: #233328;
5921
+ --md3-outline-variant: #2a3a31;
5922
+ --border-subtle: rgba(52,211,153,0.10);
5923
+ --border-default: rgba(52,211,153,0.18);
5924
+ --border-hover: rgba(52,211,153,0.32);
5925
+ --accent-text: #34d399;
5926
+ --brand-primary: #10b981;
5927
+ --brand-glow: #34d399;
5928
+ --text-primary: #ecfdf5;
5929
+ --text-secondary: #c2e8d6;
5930
+ --text-muted: #8fb6a3;
5931
+ --text-dim: #5f8472;
5932
+ }
5933
+ [data-theme="arena-light"] {
5934
+ --hsl-background: 150 30% 96%;
5935
+ --hsl-foreground: 158 30% 10%;
5936
+ --hsl-card: 0 0% 100%;
5937
+ --hsl-card-foreground: 158 30% 10%;
5938
+ --hsl-popover: 0 0% 100%;
5939
+ --hsl-popover-foreground: 158 30% 10%;
5940
+ --hsl-primary: 160 84% 27%;
5941
+ --hsl-primary-foreground: 0 0% 100%;
5942
+ --hsl-secondary: 150 25% 92%;
5943
+ --hsl-muted: 150 25% 92%;
5944
+ --hsl-muted-foreground: 158 14% 40%;
5945
+ --hsl-accent: 150 25% 92%;
5946
+ --hsl-border: 150 20% 86%;
5947
+ --hsl-input: 150 20% 86%;
5948
+ --hsl-ring: 160 84% 30%;
5949
+ --depth-1: #f0f6f2;
5950
+ --depth-2: #e6f0ea;
5951
+ --depth-3: #ffffff;
5952
+ --depth-4: #ffffff;
5953
+ --bg-root: #f0f6f2;
5954
+ --bg-card: #ffffff;
5955
+ --bg-input: #e6f0ea;
5956
+ --md3-surface-container-lowest: #ffffff;
5957
+ --md3-surface-container-low: #f6fbf8;
5958
+ --md3-surface-container: #f0f6f2;
5959
+ --md3-surface-container-high: #e6f0ea;
5960
+ --md3-surface-container-highest: #dcebe2;
5961
+ --md3-outline-variant: #d7e8de;
5962
+ --border-subtle: rgba(6,95,70,0.10);
5963
+ --border-default: rgba(6,95,70,0.16);
5964
+ --border-hover: rgba(6,95,70,0.30);
5965
+ --accent-text: #047857;
5966
+ --brand-primary: #059669;
5967
+ --brand-glow: #10b981;
5968
+ --text-primary: #06231a;
5969
+ --text-secondary: #285048;
5970
+ --text-muted: #5f8472;
5971
+ --text-dim: #82a699;
5972
+ }
5973
+ [data-theme="tangle-light"] {
5974
+ --hsl-background: 240 33% 98%;
5975
+ --hsl-foreground: 245 32% 14%;
5976
+ --hsl-card: 0 0% 100%;
5977
+ --hsl-card-foreground: 245 32% 14%;
5978
+ --hsl-popover: 0 0% 100%;
5979
+ --hsl-popover-foreground: 245 32% 14%;
5980
+ --hsl-primary: 239 84% 60%;
5981
+ --hsl-primary-foreground: 0 0% 100%;
5982
+ --hsl-secondary: 240 30% 95%;
5983
+ --hsl-muted: 240 28% 95%;
5984
+ --hsl-muted-foreground: 240 8% 42%;
5985
+ --hsl-accent: 240 30% 95%;
5986
+ --hsl-border: 240 20% 90%;
5987
+ --hsl-input: 240 20% 90%;
5988
+ --hsl-ring: 239 84% 60%;
5989
+ --depth-1: #f4f4f9;
5990
+ --depth-2: #edecf4;
5991
+ --depth-3: #ffffff;
5992
+ --depth-4: #ffffff;
5993
+ --bg-root: #f4f4f9;
5994
+ --bg-card: #ffffff;
5995
+ --bg-input: #edecf4;
5996
+ --md3-surface-container-lowest: #ffffff;
5997
+ --md3-surface-container-low: #f8f8fc;
5998
+ --md3-surface-container: #f4f4f9;
5999
+ --md3-surface-container-high: #edecf4;
6000
+ --md3-surface-container-highest: #e5e4ee;
6001
+ --md3-outline-variant: #e2e1ec;
6002
+ --border-subtle: rgba(20,20,40,0.08);
6003
+ --border-default: rgba(20,20,40,0.14);
6004
+ --border-hover: rgba(20,20,40,0.26);
6005
+ --accent-text: #4f46e5;
6006
+ --brand-primary: #6366f1;
6007
+ --brand-glow: #818cf8;
6008
+ --text-primary: #15131f;
6009
+ --text-secondary: #3f3a52;
6010
+ --text-muted: #6a6680;
6011
+ --text-dim: #9490a6;
6012
+ }
6013
+ .dark[data-theme="intelligence"] {
6014
+ --md3-surface: #0d0a10;
6015
+ --md3-surface-dim: #0a080d;
6016
+ --md3-surface-bright: #2e2936;
6017
+ --md3-surface-container-lowest: #070509;
6018
+ --md3-surface-container-low: #100d15;
6019
+ --md3-surface-container: #14111a;
6020
+ --md3-surface-container-high: #1b1821;
6021
+ --md3-surface-container-highest: #24202b;
6022
+ --md3-surface-variant: #24202b;
6023
+ --md3-on-surface-variant: #aaa6bb;
6024
+ --hsl-background: 262 24% 5%;
6025
+ --hsl-card: 262 19% 11%;
6026
+ --hsl-popover: 260 16% 13%;
6027
+ --hsl-secondary: 262 15% 18%;
6028
+ --hsl-muted: 262 17% 15%;
6029
+ --hsl-muted-foreground: 255 12% 62%;
6030
+ --hsl-accent: 262 15% 20%;
6031
+ --hsl-border: 262 12% 28%;
6032
+ --hsl-input: 260 14% 16%;
6033
+ --sidebar-background: 264 26% 4%;
6034
+ --sidebar-accent: 262 16% 16%;
6035
+ --sidebar-border: 262 12% 13%;
6036
+ --depth-1: #0e0b13;
6037
+ --depth-2: #16131c;
6038
+ --depth-3: #201c28;
6039
+ --depth-4: #2a2533;
6040
+ --bg-elevated: hsl(262 17% 15%);
6041
+ --bg-section: hsl(262 22% 7%);
6042
+ --bg-root: radial-gradient(ellipse 70% 50% at 20% 0%, rgba(129, 99, 241, 0.08), transparent),
6043
+ radial-gradient(ellipse 50% 40% at 80% 10%, rgba(129, 140, 248, 0.06), transparent),
6044
+ linear-gradient(180deg, var(--depth-1), #0d0a12 100%);
6045
+ --border-subtle: rgba(120, 108, 158, 0.1);
6046
+ --border-default: rgba(120, 108, 158, 0.18);
6047
+ --border-hover: rgba(120, 108, 158, 0.28);
6048
+ }
5750
6049
  .sandbox-tree-surface {
5751
6050
  --trees-bg-override: var(--md3-surface-container-lowest);
5752
6051
  --trees-bg-muted-override: var(--md3-surface-container-low);