@unson/brainbase-mcp 0.4.1 → 0.6.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.
Files changed (36) hide show
  1. package/README.md +13 -5
  2. package/contracts/judgment-dag/digest.json +4 -4
  3. package/contracts/judgment-dag/source-lock.json +65 -1
  4. package/contracts/judgment-value-proof/fixture.json +54 -0
  5. package/contracts/judgment-value-proof/schema.json +163 -0
  6. package/dist/cli.js +17 -0
  7. package/dist/embedding-provider.d.ts +72 -0
  8. package/dist/embedding-provider.js +391 -0
  9. package/dist/graph-retrieval.d.ts +94 -0
  10. package/dist/graph-retrieval.js +443 -0
  11. package/dist/judgment-dag-artifact-store.d.ts +29 -0
  12. package/dist/judgment-dag-artifact-store.js +416 -0
  13. package/dist/judgment-dag-replay-evaluation.d.ts +108 -0
  14. package/dist/judgment-dag-replay-evaluation.js +424 -0
  15. package/dist/judgment-dag.d.ts +4 -0
  16. package/dist/judgment-dag.js +2 -0
  17. package/dist/judgment-value-proof.d.ts +92 -0
  18. package/dist/judgment-value-proof.js +229 -0
  19. package/dist/organization-graph.d.ts +76 -0
  20. package/dist/organization-graph.js +331 -0
  21. package/dist/portable-graph.d.ts +39 -0
  22. package/dist/portable-graph.js +240 -0
  23. package/dist/server.d.ts +42 -3
  24. package/dist/server.js +52 -7
  25. package/docs/management/judgment-dag-milestones.md +31 -1
  26. package/package.json +22 -6
  27. package/ui/icons/mana/LICENSE.tabler.txt +21 -0
  28. package/ui/icons/mana/affiliate.svg +20 -0
  29. package/ui/icons/mana/brand-github.svg +15 -0
  30. package/ui/icons/mana/brand-google-drive.svg +17 -0
  31. package/ui/icons/mana/brand-slack.svg +18 -0
  32. package/ui/icons/mana/cpu.svg +24 -0
  33. package/ui/outcome-knowledge.css +365 -0
  34. package/ui/outcome-knowledge.js +1570 -0
  35. package/ui/outcome-mana.css +255 -0
  36. package/ui/outcome-mana.js +2325 -0
@@ -0,0 +1,255 @@
1
+ .outcome-mana-root {
2
+ --mana-bg: #f6f8f6;
3
+ --mana-surface: #ffffff;
4
+ --mana-surface-soft: #f0f5f1;
5
+ --mana-ink: #172019;
6
+ --mana-muted: #657269;
7
+ --mana-border: #d5ded6;
8
+ --mana-border-strong: #b9c8bb;
9
+ --mana-accent: #087d62;
10
+ --mana-accent-dark: #05624e;
11
+ --mana-danger: #a13d3d;
12
+ --mana-warning: #8a631d;
13
+ --mana-shadow: 0 1px 2px rgba(23, 32, 25, 0.04), 0 10px 28px rgba(23, 32, 25, 0.055);
14
+ box-sizing: border-box;
15
+ max-width: 1180px;
16
+ margin: 0 auto;
17
+ padding: 28px 24px 72px;
18
+ color: var(--mana-ink);
19
+ background: var(--mana-bg);
20
+ font-family: Geist, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
21
+ line-height: 1.5;
22
+ }
23
+ .outcome-mana-root *, .outcome-mana-root *::before, .outcome-mana-root *::after { box-sizing: border-box; }
24
+ .outcome-mana-root > *, .outcome-mana-connections, .outcome-mana-runs-view, .outcome-mana-connection-table, .outcome-mana-run-table { min-width: 0; max-width: 100%; }
25
+ .outcome-mana-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 0 0 20px; border-bottom: 1px solid var(--mana-border); }
26
+ .outcome-mana-header-copy { min-width: 0; }
27
+ .outcome-mana-eyebrow { color: var(--mana-accent-dark); font-size: 0.69rem; font-weight: 780; letter-spacing: 0.15em; }
28
+ .outcome-mana-header h1 { margin: 5px 0 3px; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -0.04em; }
29
+ .outcome-mana-header p { margin: 0; color: var(--mana-muted); font-size: 0.84rem; }
30
+ .outcome-mana-header > .outcome-mana-badge { margin-top: 6px; }
31
+ .outcome-mana-view-nav { display: flex; gap: 3px; margin-bottom: 24px; padding: 4px; overflow-x: auto; border: 1px solid var(--mana-border); border-radius: 10px; background: #eef2ee; }
32
+ .outcome-mana-view-tab { flex: 0 0 auto; min-height: 36px; padding: 7px 14px; border: 0; border-radius: 7px; color: var(--mana-muted); background: transparent; font: inherit; font-size: 0.8rem; font-weight: 720; cursor: pointer; }
33
+ .outcome-mana-view-tab:hover { color: var(--mana-ink); background: rgba(255,255,255,.65); }
34
+ .outcome-mana-view-tab.is-active { color: var(--mana-accent-dark); background: #fff; box-shadow: 0 1px 3px rgba(23,32,25,.1); }
35
+ .outcome-mana-view-tab:focus-visible { outline: 3px solid rgba(8,125,98,.22); outline-offset: 1px; }
36
+ .outcome-mana-view-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
37
+ .outcome-mana-view-heading h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.025em; }
38
+ .outcome-mana-view-heading p { margin: 4px 0 0; color: var(--mana-muted); font-size: .84rem; }
39
+ .outcome-mana-overview-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 18px; align-items: start; }
40
+ .outcome-mana-delegation-list { display: grid; gap: 8px; }
41
+ .outcome-mana-delegation-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 70px; padding: 13px 14px; border: 1px solid var(--mana-border); border-radius: 10px; color: var(--mana-ink); background: var(--mana-surface); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 1px 2px rgba(23,32,25,.03); }
42
+ .outcome-mana-delegation-card:hover { border-color: var(--mana-border-strong); transform: translateY(-1px); }
43
+ .outcome-mana-delegation-card.is-selected { border-color: var(--mana-accent); box-shadow: inset 3px 0 var(--mana-accent), var(--mana-shadow); }
44
+ .outcome-mana-delegation-card:focus-visible { outline: 3px solid rgba(8,125,98,.22); outline-offset: 2px; }
45
+ .outcome-mana-delegation-copy { display: grid; min-width: 0; gap: 3px; }
46
+ .outcome-mana-delegation-copy strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
47
+ .outcome-mana-delegation-copy small { color: var(--mana-muted); font-size: .72rem; }
48
+ .outcome-mana-inspector, .outcome-mana-resource-panel { position: sticky; top: 18px; padding: 18px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
49
+ .outcome-mana-inspector h3, .outcome-mana-resource-panel h3 { margin: 4px 0 16px; font-size: 1.05rem; }
50
+ .outcome-mana-connection-grid, .outcome-mana-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
51
+ .outcome-mana-connection-card, .outcome-mana-setting-card { min-width: 0; padding: 16px; border: 1px solid var(--mana-border); border-radius: 11px; background: var(--mana-surface); }
52
+ .outcome-mana-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
53
+ .outcome-mana-connection-card > p { min-height: 38px; margin: 8px 0 12px; color: var(--mana-muted); font-size: .78rem; }
54
+ .outcome-mana-resource-panel { position: static; margin-top: 16px; }
55
+ .outcome-mana-settings-workspace > .outcome-mana-view-heading { padding: 16px 18px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); }
56
+ .outcome-mana-runs-view .outcome-mana-section-heading { border-radius: 12px 12px 0 0; }
57
+ .outcome-mana-setting-card h3 { margin: 0 0 12px; font-size: .9rem; }
58
+ .outcome-mana-setting-card p { margin: 0; color: var(--mana-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem; white-space: pre-wrap; overflow-wrap: anywhere; }
59
+
60
+ /* The five operational surfaces share a dense, rail-based workspace. The
61
+ data remains readable at the 1586px reference viewport while each rail
62
+ collapses into the document flow on small screens. */
63
+ .outcome-mana-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
64
+ .outcome-mana-kpi-card { display: grid; gap: 5px; min-height: 82px; padding: 14px 16px; border: 1px solid var(--mana-border); border-radius: 11px; background: var(--mana-surface); box-shadow: 0 1px 2px rgba(23,32,25,.03); }
65
+ .outcome-mana-kpi-label { color: var(--mana-muted); font-size: .72rem; font-weight: 720; letter-spacing: .03em; }
66
+ .outcome-mana-kpi-value { color: var(--mana-ink); font-size: 1.55rem; letter-spacing: -.04em; line-height: 1; }
67
+ .outcome-mana-connection-table { overflow-x: auto; border: 1px solid var(--mana-border); border-radius: 11px; background: var(--mana-surface); }
68
+ .outcome-mana-connection-row { display: grid; grid-template-columns: minmax(150px,1.05fr) minmax(108px,.7fr) minmax(140px,1fr) minmax(180px,1.35fr) minmax(128px,.85fr); min-width: 790px; align-items: center; gap: 12px; padding: 12px 14px; border-top: 1px solid var(--mana-border); color: var(--mana-ink); font-size: .79rem; text-align: left; }
69
+ .outcome-mana-connection-row:first-child { border-top: 0; }
70
+ button.outcome-mana-connection-row { width: 100%; border-right: 0; border-bottom: 0; border-left: 0; background: var(--mana-surface); font: inherit; cursor: pointer; }
71
+ button.outcome-mana-connection-row:hover { background: #f7fbf8; }
72
+ button.outcome-mana-connection-row:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(8,125,98,.22); outline-offset: -3px; }
73
+ .outcome-mana-connection-row.is-selected { background: #eef8f1; box-shadow: inset 3px 0 var(--mana-accent); }
74
+ .outcome-mana-connection-header { color: var(--mana-muted); background: var(--mana-surface-soft); font-size: .7rem; font-weight: 720; letter-spacing: .02em; }
75
+ .outcome-mana-connector-identity { display: flex; min-width: 0; align-items: center; gap: 10px; }
76
+ .outcome-mana-connector-icon-frame { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid rgba(31,42,35,.08); border-radius: 8px; background: #f1f4f1; }
77
+ .outcome-mana-connector-icon { display: block; width: 20px; height: 20px; opacity: .9; }
78
+ .outcome-mana-connector-copy { display: grid; min-width: 0; gap: 2px; }
79
+ .outcome-mana-connector-copy strong { overflow: hidden; font-size: .79rem; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
80
+ .outcome-mana-connector-copy h3 { margin: 0; font-size: 1.05rem; }
81
+ .outcome-mana-connector-copy small { color: var(--mana-muted); font-size: .75rem; line-height: 1.4; }
82
+ .outcome-mana-connector-identity.is-large { gap: 12px; margin: 10px 0 14px; }
83
+ .outcome-mana-connector-identity.is-large .outcome-mana-connector-icon-frame { width: 42px; height: 42px; flex-basis: 42px; border-radius: 11px; }
84
+ .outcome-mana-connector-identity.is-large .outcome-mana-connector-icon { width: 24px; height: 24px; }
85
+ .outcome-mana-connector-github .outcome-mana-connector-icon-frame { background: #f0f1f2; }
86
+ .outcome-mana-connector-drive .outcome-mana-connector-icon-frame { background: #edf4ff; }
87
+ .outcome-mana-connector-slack .outcome-mana-connector-icon-frame { background: #f7eef9; }
88
+ .outcome-mana-connector-brainbase .outcome-mana-connector-icon-frame { background: #eaf6ef; }
89
+ .outcome-mana-connector-mana .outcome-mana-connector-icon-frame { background: #fff3e6; }
90
+ .outcome-mana-connection-detail-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); gap: 16px; align-items: start; margin-top: 16px; }
91
+ .outcome-mana-connection-inspector, .outcome-mana-resource-panel { position: sticky; top: 18px; margin: 0; }
92
+ .outcome-mana-connection-inspector { min-height: 210px; padding: 18px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
93
+ .outcome-mana-connection-inspector h3 { font-size: 1.05rem; }
94
+ .outcome-mana-resource-panel { min-height: 210px; }
95
+ .outcome-mana-detail-tabs { display: flex; gap: 5px; margin: 16px 0 14px; padding: 4px; overflow-x: auto; border-bottom: 1px solid var(--mana-border); }
96
+ .outcome-mana-detail-tab { min-height: 34px; padding: 7px 12px; border: 0; border-bottom: 2px solid transparent; color: var(--mana-muted); background: transparent; font: inherit; font-size: .78rem; font-weight: 720; white-space: nowrap; cursor: pointer; }
97
+ .outcome-mana-detail-tab:hover { color: var(--mana-ink); }
98
+ .outcome-mana-detail-tab.is-active { border-bottom-color: var(--mana-accent); color: var(--mana-accent-dark); }
99
+ .outcome-mana-detail-tab:focus-visible { outline: 3px solid rgba(8,125,98,.22); outline-offset: 1px; }
100
+ .outcome-mana-delegation-layout { display: grid; grid-template-columns: minmax(270px,.38fr) minmax(0,1fr); gap: 16px; align-items: start; }
101
+ .outcome-mana-delegation-layout .outcome-mana-stage-nav { margin: 0; }
102
+ .outcome-mana-delegation-layout .outcome-mana-stage-list { grid-template-columns: 1fr; }
103
+ .outcome-mana-delegation-layout .outcome-mana-stage-list::before { top: 30px; right: auto; bottom: 30px; left: 26px; width: 1px; height: auto; }
104
+ .outcome-mana-delegation-layout .outcome-mana-stage-button { grid-template-columns: 30px minmax(0,1fr); }
105
+ .outcome-mana-sticky-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 12px; margin-top: 14px; padding: 11px 13px; border: 1px solid var(--mana-border); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 7px 18px rgba(23,32,25,.08); position: sticky; bottom: 12px; z-index: 2; }
106
+ .outcome-mana-sticky-actions .outcome-mana-muted { margin-right: auto; }
107
+ .outcome-mana-settings-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(290px,.38fr); gap: 16px; align-items: start; }
108
+ .outcome-mana-settings-form { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
109
+ .outcome-mana-settings-fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; padding: 14px; border: 1px solid var(--mana-border); border-radius: 10px; }
110
+ .outcome-mana-settings-fieldset legend { grid-column: 1 / -1; padding: 0 5px; color: var(--mana-ink); font-size: .82rem; font-weight: 760; }
111
+ .outcome-mana-toggle-field { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 8px; min-height: 42px; padding: 9px 10px; border: 1px solid var(--mana-border); border-radius: 8px; background: #fbfdfb; font-size: .79rem; }
112
+ .outcome-mana-toggle-field input { accent-color: var(--mana-accent); }
113
+ .outcome-mana-toggle-field small { grid-column: 2; color: var(--mana-muted); font-size: .69rem; }
114
+ .outcome-mana-settings-rail { position: sticky; top: 18px; padding: 18px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
115
+ .outcome-mana-settings-rail h3 { margin: 4px 0 16px; font-size: 1.04rem; }
116
+ .outcome-mana-run-table { gap: 0; overflow-x: auto; border: 1px solid var(--mana-border); border-radius: 10px; background: var(--mana-surface); }
117
+ .outcome-mana-run-table-header, .outcome-mana-run-item { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(90px,.6fr) minmax(118px,.8fr) minmax(124px,.85fr); min-width: 660px; align-items: center; gap: 12px; }
118
+ .outcome-mana-run-table-header { padding: 10px 12px; color: var(--mana-muted); background: var(--mana-surface-soft); font-size: .7rem; font-weight: 720; }
119
+ .outcome-mana-run-item { padding: 8px 12px; border-top: 1px solid var(--mana-border); border-radius: 0; background: var(--mana-surface); }
120
+ .outcome-mana-run-item.is-selected { background: #eef8f1; box-shadow: inset 3px 0 var(--mana-accent); }
121
+ .outcome-mana-run-item .outcome-mana-badge { justify-self: start; }
122
+ .outcome-mana-run-version, .outcome-mana-run-updated { color: var(--mana-muted); font-size: .76rem; }
123
+
124
+ /* One compact navigator keeps all five runtime stages visible while the
125
+ workspace below contains only the selected stage's controls and evidence. */
126
+ .outcome-mana-stage-nav { position: relative; margin-bottom: 18px; padding: 12px; border: 1px solid var(--mana-border); border-radius: 12px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
127
+ .outcome-mana-stage-list { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
128
+ .outcome-mana-stage-list::before { content: ""; position: absolute; top: 21px; right: 9%; left: 9%; z-index: 0; height: 1px; background: var(--mana-border); }
129
+ .outcome-mana-stage-item { position: relative; z-index: 1; min-width: 0; }
130
+ .outcome-mana-stage-button { display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; width: 100%; min-height: 68px; gap: 4px 8px; padding: 7px 8px; border: 1px solid transparent; border-radius: 9px; color: var(--mana-ink); background: var(--mana-surface); font: inherit; text-align: left; cursor: pointer; }
131
+ .outcome-mana-stage-button:hover { border-color: var(--mana-border-strong); background: #fbfdfb; }
132
+ .outcome-mana-stage-button:focus-visible { outline: 3px solid rgba(8, 125, 98, 0.22); outline-offset: 2px; }
133
+ .outcome-mana-stage-item.is-active .outcome-mana-stage-button { border-color: var(--mana-accent); background: #f0faf4; box-shadow: 0 0 0 2px rgba(8, 125, 98, 0.09); }
134
+ .outcome-mana-stage-number { display: grid; grid-row: 1 / span 2; place-items: center; width: 29px; height: 29px; border: 1px solid var(--mana-border-strong); border-radius: 50%; color: var(--mana-muted); background: var(--mana-surface); font-size: 0.67rem; font-weight: 780; }
135
+ .outcome-mana-stage-item.is-active .outcome-mana-stage-number { border-color: var(--mana-accent); color: #fff; background: var(--mana-accent); }
136
+ .outcome-mana-stage-copy { display: grid; min-width: 0; gap: 1px; }
137
+ .outcome-mana-stage-copy strong { overflow: hidden; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
138
+ .outcome-mana-stage-copy small { overflow: hidden; color: var(--mana-muted); font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
139
+ .outcome-mana-stage-button > .outcome-mana-badge { grid-column: 2; justify-self: start; min-height: 20px; padding: 2px 6px; font-size: 0.63rem; }
140
+
141
+ .outcome-mana-stage-workspace { min-width: 0; }
142
+ .outcome-mana-stage-panel { margin: 0; overflow: hidden; border: 1px solid var(--mana-border); border-radius: 14px; background: var(--mana-surface); box-shadow: var(--mana-shadow); }
143
+ .outcome-mana-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px 16px; border-bottom: 1px solid var(--mana-border); background: var(--mana-surface-soft); }
144
+ .outcome-mana-section-heading h2 { margin: 0; font-size: 1.08rem; letter-spacing: -0.015em; }
145
+ .outcome-mana-section-description { max-width: 760px; margin: 4px 0 0; color: var(--mana-muted); font-size: 0.82rem; }
146
+ .outcome-mana-section-content { padding: 20px 22px 24px; }
147
+ .outcome-mana-form, .outcome-mana-trigger-form, .outcome-mana-safe-test-form { display: grid; gap: 14px; }
148
+ .outcome-mana-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
149
+ .outcome-mana-form > .outcome-mana-field:nth-child(-n + 5), .outcome-mana-form > .outcome-mana-inline-fields, .outcome-mana-form > .outcome-mana-actions, .outcome-mana-form > .outcome-mana-inline-error { grid-column: 1 / -1; }
150
+ .outcome-mana-field { display: grid; gap: 6px; min-width: 0; }
151
+ .outcome-mana-label { color: var(--mana-ink); font-size: 0.79rem; font-weight: 700; }
152
+ .outcome-mana-input { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #c4d0c6; border-radius: 8px; color: var(--mana-ink); background: #fff; font: inherit; font-size: 0.88rem; }
153
+ textarea.outcome-mana-input { min-height: 92px; resize: vertical; }
154
+ .outcome-mana-input:focus-visible { outline: 3px solid rgba(8, 125, 98, 0.22); outline-offset: 2px; border-color: var(--mana-accent); }
155
+ .outcome-mana-helper, .outcome-mana-muted { color: var(--mana-muted); font-size: 0.76rem; }
156
+ .outcome-mana-inline-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
157
+
158
+ .outcome-mana-contract-list, .outcome-mana-run-list { display: grid; gap: 7px; margin-bottom: 18px; }
159
+ .outcome-mana-contract-list-item, .outcome-mana-run-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px; border: 1px solid var(--mana-border); border-radius: 8px; background: #fbfdfb; }
160
+ .outcome-mana-contract-list-item.is-selected, .outcome-mana-run-item.is-selected { border-color: var(--mana-accent); box-shadow: inset 3px 0 var(--mana-accent); background: #f0faf4; }
161
+ .outcome-mana-list-select { flex: 1; justify-content: flex-start; min-width: 0; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
162
+ .outcome-mana-actions, .outcome-mana-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
163
+ .outcome-mana-actions { margin-top: 3px; }
164
+ .outcome-mana-button { display: inline-flex; align-items: center; justify-content: center; min-height: 37px; padding: 8px 13px; border: 1px solid #b7c5b9; border-radius: 8px; color: var(--mana-ink); background: #fff; font: inherit; font-size: 0.81rem; font-weight: 700; cursor: pointer; transition: border-color 120ms ease, background 120ms ease, transform 120ms ease; }
165
+ .outcome-mana-button:hover:not(:disabled) { border-color: var(--mana-accent); background: #f4fbf7; }
166
+ .outcome-mana-button:active:not(:disabled) { transform: translateY(1px); }
167
+ .outcome-mana-button-primary { border-color: var(--mana-accent); color: #fff; background: var(--mana-accent); }
168
+ .outcome-mana-button-primary:hover:not(:disabled) { border-color: var(--mana-accent-dark); background: var(--mana-accent-dark); }
169
+ .outcome-mana-button-secondary { color: var(--mana-accent-dark); }
170
+ .outcome-mana-button-danger { border-color: #d7aaaa; color: var(--mana-danger); }
171
+ .outcome-mana-button:disabled { opacity: 0.48; cursor: not-allowed; }
172
+ .outcome-mana-button:focus-visible { outline: 3px solid rgba(8, 125, 98, 0.22); outline-offset: 2px; }
173
+
174
+ .outcome-mana-badge { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 24px; padding: 3px 8px; border: 1px solid var(--mana-border); border-radius: 999px; color: var(--mana-muted); background: #f4f7f4; font-size: 0.7rem; font-weight: 720; white-space: nowrap; }
175
+ .outcome-mana-badge-active, .outcome-mana-badge-verified, .outcome-mana-badge-completed_verified { border-color: #94c9b4; color: var(--mana-accent-dark); background: #e9f7ef; }
176
+ .outcome-mana-badge-failed, .outcome-mana-badge-stopped, .outcome-mana-badge-permission_denied, .outcome-mana-badge-error_retryable { border-color: #e4bcbc; color: var(--mana-danger); background: #fff4f1; }
177
+ .outcome-mana-badge-waiting_approval, .outcome-mana-badge-saved_unverified, .outcome-mana-badge-completion_unverified { border-color: #e7d29c; color: var(--mana-warning); background: #fff9e9; }
178
+ .outcome-mana-state { display: grid; gap: 4px; padding: 16px; border: 1px dashed var(--mana-border); border-radius: 10px; background: #fbfdfb; }
179
+ .outcome-mana-state strong { font-size: 0.88rem; }
180
+ .outcome-mana-state p { margin: 0; color: var(--mana-muted); font-size: 0.82rem; }
181
+ .outcome-mana-empty-workspace { gap: 12px; padding: 24px; border-style: solid; background: linear-gradient(135deg, #fff 0%, #f1f8f3 100%); box-shadow: var(--mana-shadow); }
182
+ .outcome-mana-empty-workspace h3 { margin: 0; font-size: 1.22rem; letter-spacing: -.02em; }
183
+ .outcome-mana-empty-workspace > p { max-width: 720px; }
184
+ .outcome-mana-empty-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 8px 0; padding: 0; list-style: none; }
185
+ .outcome-mana-empty-step { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--mana-border); border-radius: 9px; background: rgba(255,255,255,.86); }
186
+ .outcome-mana-empty-step-number { display: grid; flex: 0 0 24px; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: var(--mana-accent); font-size: .7rem; font-weight: 760; }
187
+ .outcome-mana-empty-step-copy { display: grid; gap: 4px; }
188
+ .outcome-mana-empty-step-copy strong { font-size: .78rem; }
189
+ .outcome-mana-empty-step-copy small { color: var(--mana-muted); font-size: .7rem; }
190
+ .outcome-mana-error { border-style: solid; border-color: #e4bcbc; background: #fff8f6; }
191
+ .outcome-mana-permission { border-style: solid; border-color: #e7d29c; background: #fffaf0; }
192
+ .outcome-mana-skeleton { width: 100%; height: 9px; border-radius: 6px; background: #e2ebe3; }
193
+ .outcome-mana-loading { grid-template-columns: 120px 1fr; align-items: center; }
194
+ .outcome-mana-inline-error, .outcome-mana-inline-success { margin: 0; padding: 9px 11px; border-radius: 8px; font-size: 0.8rem; }
195
+ .outcome-mana-inline-error { color: var(--mana-danger); background: #fff1ef; }
196
+ .outcome-mana-inline-success { color: var(--mana-accent-dark); background: #e9f7ef; }
197
+ .outcome-mana-authority-table { overflow-x: auto; border: 1px solid var(--mana-border); border-radius: 9px; }
198
+ .outcome-mana-authority-row { display: grid; grid-template-columns: 1.1fr 1.2fr 1fr 1fr 1.1fr; min-width: 720px; align-items: center; gap: 12px; padding: 10px 12px; border-top: 1px solid var(--mana-border); font-size: 0.8rem; }
199
+ .outcome-mana-authority-row:first-child { border-top: 0; }
200
+ .outcome-mana-authority-header { color: var(--mana-muted); background: var(--mana-surface-soft); font-size: 0.73rem; font-weight: 700; }
201
+ .outcome-mana-trigger-options { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; border: 0; }
202
+ .outcome-mana-trigger-options legend { width: 100%; margin-bottom: 1px; font-size: 0.8rem; font-weight: 700; }
203
+ .outcome-mana-choice { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--mana-border); border-radius: 8px; font-size: 0.82rem; cursor: pointer; }
204
+ .outcome-mana-choice:has(input:checked) { border-color: var(--mana-accent); color: var(--mana-accent-dark); background: #edf8f1; }
205
+ .outcome-mana-safe-note { margin: 0; padding: 10px 12px; border-left: 3px solid var(--mana-accent); color: var(--mana-accent-dark); background: #edf8f1; font-size: 0.8rem; }
206
+ .outcome-mana-definition { display: grid; grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr); margin: 0 0 18px; font-size: 0.8rem; }
207
+ .outcome-mana-definition dt, .outcome-mana-definition dd { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--mana-border); }
208
+ .outcome-mana-definition dt { color: var(--mana-muted); font-weight: 650; }
209
+ .outcome-mana-definition dd { white-space: pre-wrap; overflow-wrap: anywhere; }
210
+ .outcome-mana-evidence { margin-top: 14px; }
211
+ .outcome-mana-evidence h4 { margin: 0 0 6px; font-size: 0.8rem; }
212
+ .outcome-mana-evidence ul { margin: 0; padding-left: 1.25rem; color: var(--mana-muted); font-size: 0.79rem; }
213
+ .outcome-mana-run-detail { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--mana-border); }
214
+ .outcome-mana-run-detail h3 { display: inline-block; margin: 0 10px 16px 0; font-size: 0.96rem; }
215
+
216
+ @media (max-width: 900px) {
217
+ .outcome-mana-stage-nav { overflow-x: auto; }
218
+ .outcome-mana-stage-list { grid-template-columns: repeat(5, minmax(126px, 1fr)); min-width: 690px; }
219
+ }
220
+ @media (max-width: 920px) {
221
+ .outcome-mana-overview-layout, .outcome-mana-connection-detail-layout, .outcome-mana-delegation-layout, .outcome-mana-settings-layout { grid-template-columns: minmax(0, 1fr); }
222
+ .outcome-mana-inspector, .outcome-mana-connection-inspector, .outcome-mana-resource-panel, .outcome-mana-settings-rail { position: static; }
223
+ .outcome-mana-empty-steps { grid-template-columns: 1fr; }
224
+ }
225
+ @media (max-width: 1100px) {
226
+ .outcome-mana-view-heading { display: grid; }
227
+ }
228
+ @media (max-width: 760px) {
229
+ .outcome-mana-root { padding: 20px 14px 48px; }
230
+ .outcome-mana-header { display: grid; gap: 10px; }
231
+ .outcome-mana-header > .outcome-mana-badge { justify-self: start; margin-top: 0; }
232
+ .outcome-mana-section-heading, .outcome-mana-section-content { padding: 16px; }
233
+ .outcome-mana-section-heading { display: grid; gap: 10px; }
234
+ .outcome-mana-form { display: grid; grid-template-columns: 1fr; }
235
+ .outcome-mana-form > .outcome-mana-field, .outcome-mana-form > .outcome-mana-inline-fields, .outcome-mana-form > .outcome-mana-actions, .outcome-mana-form > .outcome-mana-inline-error { grid-column: auto; }
236
+ .outcome-mana-inline-fields { grid-template-columns: 1fr; }
237
+ .outcome-mana-actions .outcome-mana-button, .outcome-mana-toolbar .outcome-mana-button { flex: 1 1 150px; }
238
+ .outcome-mana-definition { grid-template-columns: 1fr; }
239
+ .outcome-mana-definition dt { padding-bottom: 2px; border-bottom: 0; }
240
+ .outcome-mana-definition dd { padding-top: 0; }
241
+ .outcome-mana-view-heading { display: grid; }
242
+ .outcome-mana-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
243
+ .outcome-mana-overview-layout, .outcome-mana-connection-grid, .outcome-mana-settings-grid { grid-template-columns: 1fr; }
244
+ .outcome-mana-inspector, .outcome-mana-connection-inspector, .outcome-mana-resource-panel, .outcome-mana-settings-rail { position: static; }
245
+ .outcome-mana-connection-detail-layout, .outcome-mana-delegation-layout, .outcome-mana-settings-layout { grid-template-columns: 1fr; }
246
+ .outcome-mana-settings-fieldset { grid-template-columns: 1fr; }
247
+ .outcome-mana-toggle-field { grid-template-columns: auto minmax(0, 1fr); }
248
+ .outcome-mana-sticky-actions { position: static; }
249
+ .outcome-mana-sticky-actions .outcome-mana-muted { flex: 1 1 100%; margin-right: 0; }
250
+ .outcome-mana-view-nav { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; border-right: 0; border-left: 0; border-radius: 0; }
251
+ }
252
+ @media (max-width: 480px) {
253
+ .outcome-mana-kpi-grid { grid-template-columns: 1fr; }
254
+ }
255
+ @media (prefers-reduced-motion: reduce) { .outcome-mana-button { transition: none; } }