@ltm-blueverse/alpha-semantic-hub 0.7.0 → 0.7.2

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.
Files changed (47) hide show
  1. package/README.md +307 -1567
  2. package/explorer/src/App.tsx +83 -83
  3. package/explorer/src/index.css +3 -3
  4. package/explorer/src/ui/primitives.css +25 -25
  5. package/explorer/src/workspaces/DecisionWorkspace/DecisionWorkspace.tsx +7 -7
  6. package/explorer/src/workspaces/DiffMergeWorkspace/DiffMergeWorkspace.tsx +4 -4
  7. package/explorer/src/workspaces/EnrichWorkspace/EntityResolutionTab.tsx +24 -24
  8. package/explorer/src/workspaces/EnrichWorkspace/RegistryTab.tsx +22 -22
  9. package/explorer/src/workspaces/GraphWorkspace/GraphCanvas.tsx +1 -1
  10. package/explorer/src/workspaces/GraphWorkspace/GraphInspectorPanel.tsx +18 -18
  11. package/explorer/src/workspaces/GraphWorkspace/GraphLoadingOverlay.tsx +25 -25
  12. package/explorer/src/workspaces/GraphWorkspace/GraphWorkspace.tsx +28 -28
  13. package/explorer/src/workspaces/GraphWorkspace/MarkdownContentViewer.tsx +15 -15
  14. package/explorer/src/workspaces/GraphWorkspace/graphAnalytics.ts +1 -1
  15. package/explorer/src/workspaces/GraphWorkspace/graphConfig.ts +15 -15
  16. package/explorer/src/workspaces/GraphWorkspace/graphSceneLayers.ts +8 -8
  17. package/explorer/src/workspaces/GraphWorkspace/graphSceneState.ts +11 -11
  18. package/explorer/src/workspaces/GraphWorkspace/graphTheme.ts +66 -66
  19. package/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPlugin.tsx +17 -17
  20. package/explorer/src/workspaces/GraphWorkspace/plugins/explorationEffectsPluginPhaseC.tsx +22 -22
  21. package/explorer/src/workspaces/GraphWorkspace/plugins/legendPlugin.tsx +7 -7
  22. package/explorer/src/workspaces/GraphWorkspace/plugins/neighborhoodPanelPlugin.tsx +10 -10
  23. package/explorer/src/workspaces/GraphWorkspace/plugins/temporalOverlayPlugin.tsx +9 -9
  24. package/explorer/src/workspaces/ImportExportWorkspace/ImportExportWorkspace.tsx +4 -4
  25. package/explorer/src/workspaces/LineageWorkspace/LineageDiagram.tsx +8 -8
  26. package/explorer/src/workspaces/ManageWorkspace/KGOverviewTab.tsx +5 -5
  27. package/explorer/src/workspaces/ManageWorkspace/OntologySummaryTab.tsx +19 -19
  28. package/explorer/src/workspaces/MemoryWorkspace.tsx +2 -2
  29. package/explorer/src/workspaces/OntologyWorkspace/AlignmentsTab.tsx +30 -30
  30. package/explorer/src/workspaces/OntologyWorkspace/HealthTab.tsx +26 -26
  31. package/explorer/src/workspaces/OntologyWorkspace/OntologyEditor.tsx +32 -32
  32. package/explorer/src/workspaces/OntologyWorkspace/OntologyLoader.tsx +22 -22
  33. package/explorer/src/workspaces/OntologyWorkspace/OntologyManager.tsx +40 -40
  34. package/explorer/src/workspaces/OntologyWorkspace/OntologySearch.tsx +22 -22
  35. package/explorer/src/workspaces/OntologyWorkspace/ProposalReview.tsx +31 -31
  36. package/explorer/src/workspaces/OntologyWorkspace/SKOSVocabularyManager.tsx +26 -26
  37. package/explorer/src/workspaces/OntologyWorkspace/ShaclStudio.tsx +21 -21
  38. package/explorer/src/workspaces/OntologyWorkspace/VersionsTab.tsx +38 -38
  39. package/explorer/src/workspaces/OntologyWorkspace/ontologyEditorModel.ts +3 -3
  40. package/explorer/src/workspaces/ReasoningWorkspace.tsx +4 -4
  41. package/explorer/src/workspaces/SparqlWorkspace/SparqlWorkspace.tsx +3 -3
  42. package/explorer/src/workspaces/VocabularyWorkspace/ConceptTree.tsx +3 -3
  43. package/explorer/src/workspaces/VocabularyWorkspace/ImportDropzone.tsx +4 -4
  44. package/explorer/src/workspaces/VocabularyWorkspace/PropertyPanel.tsx +8 -8
  45. package/explorer/src/workspaces/VocabularyWorkspace/Sidebar.tsx +4 -4
  46. package/explorer/src/workspaces/VocabularyWorkspace/VocabularyWorkspace.tsx +3 -3
  47. package/package.json +1 -1
@@ -85,7 +85,7 @@ const PREVIEW_DOTS = Array.from({ length: 42 }, (_, i) => ({
85
85
  cx: 170 + ((i * 73) % 330),
86
86
  cy: 170 + ((i * 47) % 210),
87
87
  r: 2 + (i % 3),
88
- fill: (['#43d17a', '#ff2d4b', '#ff7a45', '#ff9daf'] as const)[i % 4],
88
+ fill: (['#178a4c', '#ff2d4b', '#e86a2e', '#e0556d'] as const)[i % 4],
89
89
  }));
90
90
 
91
91
  const navItems: NavItem[] = [
@@ -103,34 +103,34 @@ function readInitialWorkspace(): WorkspaceId {
103
103
 
104
104
  const shellStyles = `
105
105
  :root {
106
- --app-bg: #0b0508;
107
- --panel-bg: rgba(11, 5, 8, 0.82);
106
+ --app-bg: #ffffff;
107
+ --panel-bg: rgba(255, 255, 255, 0.82);
108
108
  --panel-border: rgba(255, 120, 140, 0.14);
109
- --text-main: #fff0f2;
110
- --text-muted: #c99aa3;
109
+ --text-main: #2d1619;
110
+ --text-muted: #aa485b;
111
111
  --accent: #ff2d4b;
112
- --accent-strong: #ff6b81;
113
- --warm: #ff7a45;
114
- --success: #4cc38a;
112
+ --accent-strong: #d41736;
113
+ --warm: #e86a2e;
114
+ --success: #1f9d5f;
115
115
 
116
116
  /* ── Shared workspace design tokens ── */
117
- --ws-bg: #080407;
118
- --ws-surface: rgba(255,255,255,0.028);
117
+ --ws-bg: #f9f7f7;
118
+ --ws-surface: rgba(28, 20, 24,0.028);
119
119
  --ws-surface-hover: rgba(255,45,75,0.07);
120
120
  --ws-border: rgba(255,45,75,0.13);
121
121
  --ws-border-strong: rgba(255,45,75,0.26);
122
- --ws-text: #ffe9ec;
122
+ --ws-text: #2d1619;
123
123
  --ws-text-muted: #8f6d75;
124
124
  --ws-text-dim: #6b4c54;
125
125
  --ws-accent: #ff2d4b;
126
126
  --ws-accent-soft: rgba(255,45,75,0.12);
127
- --ws-green: #4cc38a;
127
+ --ws-green: #1f9d5f;
128
128
  --ws-green-soft: rgba(76,195,138,0.12);
129
- --ws-amber: #ff7a45;
129
+ --ws-amber: #e86a2e;
130
130
  --ws-amber-soft: rgba(242,182,109,0.12);
131
- --ws-red: #ff7b72;
131
+ --ws-red: #ec2315;
132
132
  --ws-red-soft: rgba(255,123,114,0.12);
133
- --ws-purple: #c084fc;
133
+ --ws-purple: #8b5cf6;
134
134
  --ws-purple-soft: rgba(192,132,252,0.1);
135
135
  --ws-radius: 10px;
136
136
  --ws-radius-sm: 6px;
@@ -255,7 +255,7 @@ const shellStyles = `
255
255
  .ws-btn--primary {
256
256
  background: linear-gradient(135deg, rgba(255,45,75,0.28), rgba(56,210,160,0.16));
257
257
  border-color: rgba(255,45,75,0.4);
258
- color: #ffeef1;
258
+ color: #2d161a;
259
259
  box-shadow: 0 0 0 1px rgba(255,45,75,0.08) inset;
260
260
  }
261
261
 
@@ -267,7 +267,7 @@ const shellStyles = `
267
267
  }
268
268
 
269
269
  .ws-btn--ghost {
270
- background: rgba(255,255,255,0.04);
270
+ background: rgba(28, 20, 24,0.04);
271
271
  border-color: var(--ws-border);
272
272
  color: var(--ws-text-muted);
273
273
  }
@@ -281,13 +281,13 @@ const shellStyles = `
281
281
  .ws-btn--danger {
282
282
  background: var(--ws-red-soft);
283
283
  border-color: rgba(255,123,114,0.3);
284
- color: #ff9e97;
284
+ color: #46211e;
285
285
  }
286
286
 
287
287
  .ws-btn--success {
288
288
  background: var(--ws-green-soft);
289
289
  border-color: rgba(76,195,138,0.3);
290
- color: #6ee7b7;
290
+ color: #0f8f6e;
291
291
  }
292
292
 
293
293
  .ws-btn:disabled {
@@ -347,12 +347,12 @@ const shellStyles = `
347
347
  white-space: nowrap;
348
348
  }
349
349
 
350
- .ws-pill--accent { color: #ff6b81; background: var(--ws-accent-soft); border: 1px solid rgba(255,45,75,0.22); }
351
- .ws-pill--green { color: #6ee7b7; background: var(--ws-green-soft); border: 1px solid rgba(76,195,138,0.28); }
352
- .ws-pill--amber { color: #fbbf24; background: var(--ws-amber-soft); border: 1px solid rgba(242,182,109,0.28); }
353
- .ws-pill--red { color: #fca5a5; background: var(--ws-red-soft); border: 1px solid rgba(255,123,114,0.28); }
354
- .ws-pill--purple { color: #d8b4fe; background: var(--ws-purple-soft); border: 1px solid rgba(192,132,252,0.22); }
355
- .ws-pill--mono { color: var(--ws-text-muted); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); }
350
+ .ws-pill--accent { color: #d41736; background: var(--ws-accent-soft); border: 1px solid rgba(255,45,75,0.22); }
351
+ .ws-pill--green { color: #0f8f6e; background: var(--ws-green-soft); border: 1px solid rgba(76,195,138,0.28); }
352
+ .ws-pill--amber { color: #b45309; background: var(--ws-amber-soft); border: 1px solid rgba(242,182,109,0.28); }
353
+ .ws-pill--red { color: #4e2121; background: var(--ws-red-soft); border: 1px solid rgba(255,123,114,0.28); }
354
+ .ws-pill--purple { color: #9333ea; background: var(--ws-purple-soft); border: 1px solid rgba(192,132,252,0.22); }
355
+ .ws-pill--mono { color: var(--ws-text-muted); background: rgba(28, 20, 24,0.04); border: 1px solid rgba(28, 20, 24,0.08); }
356
356
 
357
357
  .ws-divider {
358
358
  height: 1px;
@@ -419,7 +419,7 @@ const shellStyles = `
419
419
  .ws-list-item--active {
420
420
  background: var(--ws-accent-soft);
421
421
  border-color: var(--ws-border-strong);
422
- color: #ffeef1;
422
+ color: #2d161a;
423
423
  }
424
424
 
425
425
  .ws-stat-grid {
@@ -473,7 +473,7 @@ const shellStyles = `
473
473
  }
474
474
 
475
475
  .ws-skeleton {
476
- background: rgba(255,255,255,0.06);
476
+ background: rgba(28, 20, 24,0.06);
477
477
  border-radius: 8px;
478
478
  animation: ws-skeleton 1.4s ease-in-out infinite;
479
479
  }
@@ -494,7 +494,7 @@ const shellStyles = `
494
494
  background:
495
495
  radial-gradient(circle at top left, rgba(255, 45, 75, 0.12), transparent 32%),
496
496
  radial-gradient(circle at bottom right, rgba(242, 182, 109, 0.08), transparent 26%),
497
- linear-gradient(180deg, #091322 0%, #050b15 100%);
497
+ linear-gradient(180deg, #f7f7f7 0%, #f6f6f6 100%);
498
498
  font-family: "Segoe UI", "SF Pro Display", sans-serif;
499
499
  }
500
500
 
@@ -505,7 +505,7 @@ const shellStyles = `
505
505
  flex-direction: column;
506
506
  gap: 12px;
507
507
  border-right: 1px solid var(--panel-border);
508
- background: rgba(6, 3, 5, 0.92);
508
+ background: rgba(255, 255, 255, 0.92);
509
509
  backdrop-filter: blur(18px);
510
510
  }
511
511
 
@@ -518,7 +518,7 @@ const shellStyles = `
518
518
  color: var(--text-main);
519
519
  background: linear-gradient(135deg, rgba(255, 45, 75, 0.22), rgba(255, 107, 129, 0.08));
520
520
  border: 1px solid rgba(255, 107, 129, 0.18);
521
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
521
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.08);
522
522
  font-size: 11px;
523
523
  font-weight: 700;
524
524
  letter-spacing: 0.12em;
@@ -549,7 +549,7 @@ const shellStyles = `
549
549
  color: var(--text-main);
550
550
  background: linear-gradient(180deg, rgba(255, 45, 75, 0.18), rgba(255, 45, 75, 0.08));
551
551
  border-color: rgba(255, 107, 129, 0.22);
552
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
552
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.08);
553
553
  }
554
554
 
555
555
  .nav-label {
@@ -568,7 +568,7 @@ const shellStyles = `
568
568
  .workspace-header {
569
569
  padding: 14px 22px;
570
570
  border-bottom: 1px solid var(--panel-border);
571
- background: linear-gradient(180deg, rgba(11, 5, 8, 0.94), rgba(11, 5, 8, 0.82));
571
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.82));
572
572
  backdrop-filter: blur(18px);
573
573
  display: flex;
574
574
  align-items: center;
@@ -580,7 +580,7 @@ const shellStyles = `
580
580
  .workspace-header--compact {
581
581
  min-height: 60px;
582
582
  padding: 10px 18px;
583
- background: linear-gradient(180deg, rgba(11, 5, 8, 0.92), rgba(11, 5, 8, 0.72));
583
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72));
584
584
  }
585
585
 
586
586
  .workspace-header--compact .workspace-title {
@@ -654,7 +654,7 @@ const shellStyles = `
654
654
 
655
655
  .workspace-tab {
656
656
  border: 1px solid rgba(255, 107, 129, 0.18);
657
- background: rgba(12, 6, 9, 0.56);
657
+ background: rgba(255, 255, 255, 0.56);
658
658
  color: var(--text-muted);
659
659
  border-radius: 999px;
660
660
  padding: 8px 12px;
@@ -669,7 +669,7 @@ const shellStyles = `
669
669
  color: var(--text-main);
670
670
  background: rgba(255, 45, 75, 0.16);
671
671
  border-color: rgba(255, 107, 129, 0.3);
672
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
672
+ box-shadow: inset 0 1px 0 rgba(28, 20, 24,0.05);
673
673
  }
674
674
 
675
675
  .workspace-body {
@@ -688,7 +688,7 @@ const shellStyles = `
688
688
  background:
689
689
  radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255, 45, 75, 0.18) 0%, transparent 60%),
690
690
  radial-gradient(ellipse 60% 40% at 80% 90%, rgba(242, 182, 109, 0.1) 0%, transparent 50%),
691
- linear-gradient(180deg, #080407 0%, #03070f 100%);
691
+ linear-gradient(180deg, #f9f7f7 0%, #f5f5f6 100%);
692
692
  scrollbar-width: thin;
693
693
  scrollbar-color: rgba(255,45,75,0.18) transparent;
694
694
  }
@@ -735,19 +735,19 @@ const shellStyles = `
735
735
  align-items: center;
736
736
  gap: 10px;
737
737
  margin-bottom: 24px;
738
- --status-color: #4cc38a;
738
+ --status-color: #1f9d5f;
739
739
  --status-shadow-a: 0 0 0 3px rgba(76, 195, 138, 0.22), 0 0 12px rgba(76, 195, 138, 0.5);
740
740
  --status-shadow-b: 0 0 0 5px rgba(76, 195, 138, 0.1), 0 0 20px rgba(76, 195, 138, 0.35);
741
741
  }
742
742
 
743
743
  .landing-status-bar[data-status='checking'] {
744
- --status-color: #ff7a45;
744
+ --status-color: #e86a2e;
745
745
  --status-shadow-a: 0 0 0 3px rgba(242, 182, 109, 0.22), 0 0 12px rgba(242, 182, 109, 0.5);
746
746
  --status-shadow-b: 0 0 0 5px rgba(242, 182, 109, 0.1), 0 0 20px rgba(242, 182, 109, 0.35);
747
747
  }
748
748
 
749
749
  .landing-status-bar[data-status='offline'] {
750
- --status-color: #ff7b72;
750
+ --status-color: #ec2315;
751
751
  --status-shadow-a: 0 0 0 3px rgba(255, 123, 114, 0.22), 0 0 12px rgba(255, 123, 114, 0.5);
752
752
  --status-shadow-b: 0 0 0 5px rgba(255, 123, 114, 0.1), 0 0 20px rgba(255, 123, 114, 0.35);
753
753
  }
@@ -788,7 +788,7 @@ const shellStyles = `
788
788
  border-radius: 999px;
789
789
  border: 1px solid rgba(255, 45, 75, 0.3);
790
790
  background: rgba(255, 45, 75, 0.08);
791
- color: #ff6b81;
791
+ color: #d41736;
792
792
  font: 700 11px/1 "JetBrains Mono", monospace;
793
793
  letter-spacing: 0.08em;
794
794
  text-transform: uppercase;
@@ -800,7 +800,7 @@ const shellStyles = `
800
800
  width: 16px;
801
801
  height: 16px;
802
802
  border-radius: 6px;
803
- background: linear-gradient(135deg, #ff2d4b, #56d3a0);
803
+ background: linear-gradient(135deg, #ff2d4b, #0f8f6e);
804
804
  display: grid;
805
805
  place-items: center;
806
806
  flex: 0 0 auto;
@@ -813,12 +813,12 @@ const shellStyles = `
813
813
  width: 7px;
814
814
  height: 7px;
815
815
  border-radius: 999px;
816
- background: rgba(3, 10, 20, 0.8);
816
+ background: rgba(255, 255, 255, 0.8);
817
817
  }
818
818
 
819
819
  .landing-title {
820
820
  margin: 0 0 20px;
821
- color: #f0f7ff;
821
+ color: #16212d;
822
822
  font-family: "Inter", "Segoe UI", sans-serif;
823
823
  font-size: clamp(38px, 4.8vw, 72px);
824
824
  line-height: 1.08;
@@ -828,7 +828,7 @@ const shellStyles = `
828
828
 
829
829
  .landing-title span {
830
830
  color: transparent;
831
- background: linear-gradient(100deg, #ff6b81 0%, #4cc38a 50%, #ff7a45 100%);
831
+ background: linear-gradient(100deg, #d41736 0%, #1f9d5f 50%, #e86a2e 100%);
832
832
  -webkit-background-clip: text;
833
833
  background-clip: text;
834
834
  }
@@ -855,8 +855,8 @@ const shellStyles = `
855
855
  padding: 12px 22px;
856
856
  border-radius: 12px;
857
857
  border: 1px solid rgba(255, 45, 75, 0.5);
858
- background: linear-gradient(135deg, rgba(255, 45, 75, 0.28), rgba(56, 210, 160, 0.18));
859
- color: #ffeef1;
858
+ background: linear-gradient(135deg, rgba(255, 45, 75, 0.28), rgba(212, 23, 54, 0.14));
859
+ color: #2d161a;
860
860
  font-size: 14px;
861
861
  font-weight: 700;
862
862
  cursor: pointer;
@@ -866,7 +866,7 @@ const shellStyles = `
866
866
 
867
867
  .landing-cta-primary:hover {
868
868
  transform: translateY(-2px);
869
- background: linear-gradient(135deg, rgba(255, 45, 75, 0.38), rgba(56, 210, 160, 0.26));
869
+ background: linear-gradient(135deg, rgba(255, 45, 75, 0.38), rgba(212, 23, 54, 0.22));
870
870
  box-shadow: 0 0 0 1px rgba(255, 45, 75, 0.18) inset, 0 14px 32px rgba(255, 45, 75, 0.22);
871
871
  }
872
872
 
@@ -877,7 +877,7 @@ const shellStyles = `
877
877
  padding: 12px 18px;
878
878
  border-radius: 12px;
879
879
  border: 1px solid rgba(255, 154, 171, 0.14);
880
- background: rgba(255, 255, 255, 0.04);
880
+ background: rgba(28, 20, 24, 0.04);
881
881
  color: #8fafc8;
882
882
  font-size: 14px;
883
883
  font-weight: 600;
@@ -887,8 +887,8 @@ const shellStyles = `
887
887
 
888
888
  .landing-cta-secondary:hover {
889
889
  border-color: rgba(255, 154, 171, 0.26);
890
- color: #c5dcef;
891
- background: rgba(255, 255, 255, 0.07);
890
+ color: #27435b;
891
+ background: rgba(28, 20, 24, 0.07);
892
892
  }
893
893
 
894
894
  /* ── Preview panel ─────────────────────────────────────── */
@@ -900,8 +900,8 @@ const shellStyles = `
900
900
  background:
901
901
  radial-gradient(circle at 40% 30%, rgba(255, 45, 75, 0.14), transparent 46%),
902
902
  radial-gradient(circle at 70% 70%, rgba(242, 182, 109, 0.1), transparent 38%),
903
- linear-gradient(145deg, rgba(8, 17, 28, 0.96), rgba(3, 8, 14, 0.88));
904
- box-shadow: 0 24px 72px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.04) inset;
903
+ linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88));
904
+ box-shadow: 0 24px 72px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(28, 20, 24,0.04) inset;
905
905
  aspect-ratio: 4/3.2;
906
906
  min-height: 340px;
907
907
  }
@@ -912,7 +912,7 @@ const shellStyles = `
912
912
  left: 0;
913
913
  right: 0;
914
914
  height: 38px;
915
- background: rgba(4, 10, 18, 0.82);
915
+ background: rgba(255, 255, 255, 0.82);
916
916
  border-bottom: 1px solid rgba(255, 45, 75, 0.1);
917
917
  backdrop-filter: blur(12px);
918
918
  display: flex;
@@ -937,7 +937,7 @@ const shellStyles = `
937
937
  border-radius: 6px;
938
938
  background: rgba(255, 45, 75, 0.12);
939
939
  border: 1px solid rgba(255, 45, 75, 0.2);
940
- color: #ff6b81;
940
+ color: #d41736;
941
941
  font: 600 10px/1 "JetBrains Mono", monospace;
942
942
  letter-spacing: 0.06em;
943
943
  }
@@ -982,9 +982,9 @@ const shellStyles = `
982
982
  .landing-timeline-card {
983
983
  position: absolute;
984
984
  border: 1px solid rgba(255, 45, 75, 0.16);
985
- background: rgba(6, 3, 5, 0.84);
985
+ background: rgba(255, 255, 255, 0.84);
986
986
  backdrop-filter: blur(20px);
987
- box-shadow: 0 12px 32px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04) inset;
987
+ box-shadow: 0 12px 32px rgba(0,0,0,0.4), 0 0 0 1px rgba(28, 20, 24,0.04) inset;
988
988
  }
989
989
 
990
990
  .landing-command-card {
@@ -1004,14 +1004,14 @@ const shellStyles = `
1004
1004
  border-radius: 10px;
1005
1005
  display: grid;
1006
1006
  place-items: center;
1007
- color: #56d3a0;
1007
+ color: #0f8f6e;
1008
1008
  background: rgba(76, 195, 138, 0.1);
1009
1009
  border: 1px solid rgba(76, 195, 138, 0.2);
1010
1010
  flex: 0 0 auto;
1011
1011
  }
1012
1012
 
1013
1013
  .landing-command-label {
1014
- color: #c8dff0;
1014
+ color: #28475e;
1015
1015
  font-size: 12px;
1016
1016
  font-weight: 700;
1017
1017
  }
@@ -1031,7 +1031,7 @@ const shellStyles = `
1031
1031
  }
1032
1032
 
1033
1033
  .landing-dossier-kicker {
1034
- color: #56d3a0;
1034
+ color: #0f8f6e;
1035
1035
  font: 700 9px/1 "JetBrains Mono", monospace;
1036
1036
  letter-spacing: 0.1em;
1037
1037
  text-transform: uppercase;
@@ -1039,7 +1039,7 @@ const shellStyles = `
1039
1039
 
1040
1040
  .landing-dossier-title {
1041
1041
  margin-top: 6px;
1042
- color: #e8f4ff;
1042
+ color: #16222e;
1043
1043
  font: 800 20px/1 "Inter", sans-serif;
1044
1044
  letter-spacing: -0.04em;
1045
1045
  }
@@ -1055,7 +1055,7 @@ const shellStyles = `
1055
1055
  font-weight: 600;
1056
1056
  }
1057
1057
 
1058
- .landing-dossier-row strong { color: #ff7a45; font-weight: 700; }
1058
+ .landing-dossier-row strong { color: #e86a2e; font-weight: 700; }
1059
1059
 
1060
1060
  .landing-timeline-card {
1061
1061
  left: 14px;
@@ -1080,7 +1080,7 @@ const shellStyles = `
1080
1080
  }
1081
1081
 
1082
1082
  .landing-timeline-badge {
1083
- color: #ff6b81;
1083
+ color: #d41736;
1084
1084
  font: 700 9px/1 "JetBrains Mono", monospace;
1085
1085
  letter-spacing: 0.06em;
1086
1086
  }
@@ -1098,7 +1098,7 @@ const shellStyles = `
1098
1098
  position: absolute;
1099
1099
  inset: 0 28% 0 0;
1100
1100
  border-radius: inherit;
1101
- background: linear-gradient(90deg, #4cc38a, #ff2d4b, #ff7a45);
1101
+ background: linear-gradient(90deg, #1f9d5f, #ff2d4b, #e86a2e);
1102
1102
  }
1103
1103
 
1104
1104
  .landing-timeline-labels {
@@ -1120,7 +1120,7 @@ const shellStyles = `
1120
1120
  padding: 18px 20px;
1121
1121
  border-radius: 16px;
1122
1122
  border: 1px solid rgba(255, 154, 171, 0.09);
1123
- background: rgba(255, 255, 255, 0.025);
1123
+ background: rgba(28, 20, 24, 0.025);
1124
1124
  position: relative;
1125
1125
  overflow: hidden;
1126
1126
  transition: border-color 200ms ease;
@@ -1141,15 +1141,15 @@ const shellStyles = `
1141
1141
  }
1142
1142
 
1143
1143
  .landing-metric-value {
1144
- color: #ffe9ec;
1144
+ color: #2d1619;
1145
1145
  font: 800 28px/1 "Inter", sans-serif;
1146
1146
  letter-spacing: -0.04em;
1147
1147
  }
1148
1148
 
1149
- .landing-metric[data-tone='mint'] .landing-metric-value { color: #56d3a0; }
1150
- .landing-metric[data-tone='amber'] .landing-metric-value { color: #ff7a45; }
1151
- .landing-metric[data-tone='rose'] .landing-metric-value { color: #ff9daf; }
1152
- .landing-metric[data-tone='cyan'] .landing-metric-value { color: #ff6b81; }
1149
+ .landing-metric[data-tone='mint'] .landing-metric-value { color: #0f8f6e; }
1150
+ .landing-metric[data-tone='amber'] .landing-metric-value { color: #e86a2e; }
1151
+ .landing-metric[data-tone='rose'] .landing-metric-value { color: #e0556d; }
1152
+ .landing-metric[data-tone='cyan'] .landing-metric-value { color: #d41736; }
1153
1153
 
1154
1154
  .landing-metric-label {
1155
1155
  margin-top: 6px;
@@ -1168,7 +1168,7 @@ const shellStyles = `
1168
1168
  }
1169
1169
 
1170
1170
  .landing-section-title {
1171
- color: #c8dff0;
1171
+ color: #28475e;
1172
1172
  font: 700 13px/1 "JetBrains Mono", monospace;
1173
1173
  letter-spacing: 0.1em;
1174
1174
  text-transform: uppercase;
@@ -1193,7 +1193,7 @@ const shellStyles = `
1193
1193
  padding: 22px;
1194
1194
  border-radius: 18px;
1195
1195
  border: 1px solid rgba(255, 154, 171, 0.09);
1196
- background: rgba(255, 255, 255, 0.025);
1196
+ background: rgba(28, 20, 24, 0.025);
1197
1197
  cursor: pointer;
1198
1198
  text-align: left;
1199
1199
  color: inherit;
@@ -1243,14 +1243,14 @@ const shellStyles = `
1243
1243
  border-radius: 12px;
1244
1244
  display: grid;
1245
1245
  place-items: center;
1246
- color: #ff6b81;
1246
+ color: #d41736;
1247
1247
  background: rgba(255, 45, 75, 0.1);
1248
1248
  border: 1px solid rgba(255, 45, 75, 0.2);
1249
1249
  margin-bottom: 14px;
1250
1250
  }
1251
1251
 
1252
1252
  .landing-workspace-card--primary .landing-workspace-card-icon {
1253
- color: #56d3a0;
1253
+ color: #0f8f6e;
1254
1254
  background: rgba(76, 195, 138, 0.1);
1255
1255
  border-color: rgba(76, 195, 138, 0.22);
1256
1256
  width: 48px;
@@ -1260,7 +1260,7 @@ const shellStyles = `
1260
1260
  }
1261
1261
 
1262
1262
  .landing-workspace-card-eyebrow {
1263
- color: #56d3a0;
1263
+ color: #0f8f6e;
1264
1264
  font: 700 10px/1 "JetBrains Mono", monospace;
1265
1265
  letter-spacing: 0.1em;
1266
1266
  text-transform: uppercase;
@@ -1268,7 +1268,7 @@ const shellStyles = `
1268
1268
  }
1269
1269
 
1270
1270
  .landing-workspace-card-title {
1271
- color: #e2effb;
1271
+ color: #16222e;
1272
1272
  font: 700 16px/1.2 "Inter", sans-serif;
1273
1273
  letter-spacing: -0.025em;
1274
1274
  margin-bottom: 6px;
@@ -1291,7 +1291,7 @@ const shellStyles = `
1291
1291
  border-radius: 10px;
1292
1292
  display: grid;
1293
1293
  place-items: center;
1294
- color: #56d3a0;
1294
+ color: #0f8f6e;
1295
1295
  background: rgba(76, 195, 138, 0.1);
1296
1296
  border: 1px solid rgba(76, 195, 138, 0.2);
1297
1297
  flex: 0 0 auto;
@@ -1312,7 +1312,7 @@ const shellStyles = `
1312
1312
  padding: 14px 18px;
1313
1313
  border: 1px solid rgba(255, 45, 75, 0.1);
1314
1314
  border-radius: 16px;
1315
- background: rgba(6, 3, 5, 0.6);
1315
+ background: rgba(255, 255, 255, 0.6);
1316
1316
  backdrop-filter: blur(12px);
1317
1317
  }
1318
1318
 
@@ -1342,7 +1342,7 @@ const shellStyles = `
1342
1342
  }
1343
1343
 
1344
1344
  .landing-capability:hover {
1345
- color: #9be8ff;
1345
+ color: #1493bd;
1346
1346
  border-color: rgba(255, 45, 75, 0.28);
1347
1347
  background: rgba(255, 45, 75, 0.1);
1348
1348
  }
@@ -1363,7 +1363,7 @@ const shellStyles = `
1363
1363
  display: grid;
1364
1364
  place-items: center;
1365
1365
  color: var(--text-muted);
1366
- background: linear-gradient(180deg, rgba(11, 5, 8, 0.8), rgba(5, 11, 21, 0.92));
1366
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.92));
1367
1367
  font-size: 14px;
1368
1368
  }
1369
1369
 
@@ -1666,7 +1666,7 @@ function WelcomeScreen({
1666
1666
  <path className="landing-preview-line landing-preview-line--warm" d="M204 118 C318 340 408 368 526 284" />
1667
1667
  <path className="landing-preview-line" d="M110 310 C180 350 260 360 340 320 C420 280 480 260 510 240" />
1668
1668
  <g className="landing-node">
1669
- <circle cx="110" cy="310" r="10" fill="#4cc38a" fillOpacity="0.9" />
1669
+ <circle cx="110" cy="310" r="10" fill="#1f9d5f" fillOpacity="0.9" />
1670
1670
  <circle cx="110" cy="310" r="20" fill="none" stroke="rgba(76,195,138,0.24)" strokeWidth="1.5" />
1671
1671
  <circle cx="110" cy="310" r="34" fill="none" stroke="rgba(76,195,138,0.1)" strokeWidth="1" />
1672
1672
  </g>
@@ -1675,16 +1675,16 @@ function WelcomeScreen({
1675
1675
  <circle cx="204" cy="118" r="16" fill="none" stroke="rgba(255,45,75,0.24)" strokeWidth="1.5" />
1676
1676
  </g>
1677
1677
  <g className="landing-node">
1678
- <circle cx="510" cy="240" r="13" fill="#ff7a45" fillOpacity="0.9" />
1678
+ <circle cx="510" cy="240" r="13" fill="#e86a2e" fillOpacity="0.9" />
1679
1679
  <circle cx="510" cy="240" r="26" fill="none" stroke="rgba(242,182,109,0.26)" strokeWidth="1.5" />
1680
1680
  <circle cx="510" cy="240" r="40" fill="none" stroke="rgba(242,182,109,0.1)" strokeWidth="1" />
1681
1681
  </g>
1682
1682
  <g className="landing-node">
1683
- <circle cx="488" cy="144" r="6" fill="#ff9daf" fillOpacity="0.9" />
1683
+ <circle cx="488" cy="144" r="6" fill="#e0556d" fillOpacity="0.9" />
1684
1684
  <circle cx="488" cy="144" r="14" fill="none" stroke="rgba(255,157,175,0.22)" strokeWidth="1.5" />
1685
1685
  </g>
1686
1686
  <g className="landing-node">
1687
- <circle cx="340" cy="320" r="9" fill="#ff6b81" fillOpacity="0.9" />
1687
+ <circle cx="340" cy="320" r="9" fill="#d41736" fillOpacity="0.9" />
1688
1688
  <circle cx="340" cy="320" r="20" fill="none" stroke="rgba(255,107,129,0.22)" strokeWidth="1.5" />
1689
1689
  </g>
1690
1690
  <g opacity="0.45">
@@ -15,8 +15,8 @@ html, body, #root {
15
15
  font-family: 'IBM Plex Sans', 'Space Grotesk', sans-serif;
16
16
  -webkit-font-smoothing: antialiased;
17
17
  -moz-osx-font-smoothing: grayscale;
18
- background: #0a0508;
19
- color: #e8ccd1;
18
+ background: #fdfcfc;
19
+ color: #523036;
20
20
  }
21
21
 
22
22
  /* Focus ring for accessibility */
@@ -52,7 +52,7 @@ code, pre, .mono {
52
52
  /* Selection highlight */
53
53
  ::selection {
54
54
  background: rgba(255, 45, 75, 0.3);
55
- color: #fff;
55
+ color: #16181d;
56
56
  }
57
57
 
58
58
  /* Spin animation for loaders */