@unson/brainbase-mcp 0.7.0 → 0.9.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.
- package/README.md +1 -1
- package/contracts/foundation/graph-history.sql +634 -0
- package/contracts/judgment-dag/digest.json +2 -2
- package/contracts/judgment-value-proof/schema.json +43 -1
- package/dist/canonical-task-service.js +16 -5
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +107 -0
- package/dist/company-os-objectives.d.ts +11 -0
- package/dist/company-os-objectives.js +84 -47
- package/dist/foundation-authenticated-tools.d.ts +56 -0
- package/dist/foundation-authenticated-tools.js +347 -0
- package/dist/foundation-graph-http.d.ts +43 -0
- package/dist/foundation-graph-http.js +243 -0
- package/dist/foundation-graph-write.d.ts +90 -0
- package/dist/foundation-graph-write.js +447 -0
- package/dist/foundation-public-provider.d.ts +140 -0
- package/dist/foundation-public-provider.js +192 -0
- package/dist/graph-corrections.d.ts +157 -0
- package/dist/graph-corrections.js +620 -0
- package/dist/graph-foundation-reader.d.ts +60 -0
- package/dist/graph-foundation-reader.js +494 -0
- package/dist/graph-retrieval.d.ts +6 -1
- package/dist/graph-revision-reader.d.ts +80 -0
- package/dist/graph-revision-reader.js +246 -0
- package/dist/graph-web-http.d.ts +26 -0
- package/dist/graph-web-http.js +215 -0
- package/dist/graph-web.d.ts +364 -0
- package/dist/graph-web.js +639 -0
- package/dist/judgment-problem-snapshot.d.ts +30 -2
- package/dist/judgment-problem-snapshot.js +302 -6
- package/dist/judgment-value-proof-review.d.ts +166 -0
- package/dist/judgment-value-proof-review.js +437 -0
- package/dist/judgment-value-proof.d.ts +28 -1
- package/dist/judgment-value-proof.js +53 -8
- package/dist/knowledge-continuation.d.ts +127 -0
- package/dist/knowledge-continuation.js +446 -0
- package/dist/knowledge-lookup.d.ts +178 -0
- package/dist/knowledge-lookup.js +758 -0
- package/dist/local-web-fetch-bridge.d.ts +5 -0
- package/dist/local-web-fetch-bridge.js +37 -0
- package/dist/local-web-host.d.ts +109 -0
- package/dist/local-web-host.js +688 -0
- package/dist/local-web-security.d.ts +25 -0
- package/dist/local-web-security.js +95 -0
- package/dist/organization-graph.d.ts +15 -0
- package/dist/organization-graph.js +24 -4
- package/dist/personal-knowledge.d.ts +12 -0
- package/dist/personal-knowledge.js +29 -0
- package/dist/personal-memory-handover.d.ts +108 -0
- package/dist/personal-memory-handover.js +369 -0
- package/dist/philosophy-revision-reader.d.ts +85 -0
- package/dist/philosophy-revision-reader.js +241 -0
- package/dist/portable-graph.d.ts +24 -0
- package/dist/portable-graph.js +77 -0
- package/dist/server.d.ts +7 -2
- package/dist/server.js +9 -6
- package/dist/value-proof-review-http.d.ts +25 -0
- package/dist/value-proof-review-http.js +185 -0
- package/dist/world-model.d.ts +21 -3
- package/dist/world-model.js +94 -12
- package/package.json +94 -6
- package/ui/brainbase-tokens.css +56 -0
- package/ui/graph-own-share.js +367 -0
- package/ui/graph-projects-view.css +23 -0
- package/ui/graph-projects-view.js +730 -0
- package/ui/graph-registry-view.css +101 -0
- package/ui/graph-registry-view.js +804 -0
- package/ui/graph-view-shared.css +522 -0
- package/ui/graph-view-shared.js +1227 -0
- package/ui/judgment-view.css +119 -45
- package/ui/local-web-shell.css +396 -0
- package/ui/local-web-shell.js +378 -0
- package/ui/objective-editor-http-port.js +154 -0
- package/ui/objective-editor.css +180 -74
- package/ui/objective-editor.js +490 -43
- package/ui/outcome-knowledge.css +50 -14
- package/ui/outcome-knowledge.js +15 -1
- package/ui/value-proof-review.css +504 -0
- package/ui/value-proof-review.js +1104 -0
- package/ui/workspace-kit.css +485 -0
- package/ui/workspace-kit.js +229 -0
- package/ui/world-model-view.css +188 -0
- package/ui/world-model-view.js +486 -0
- package/ui/icons/mana/LICENSE.tabler.txt +0 -21
- package/ui/icons/mana/affiliate.svg +0 -20
- package/ui/icons/mana/brand-github.svg +0 -15
- package/ui/icons/mana/brand-google-drive.svg +0 -17
- package/ui/icons/mana/brand-slack.svg +0 -18
- package/ui/icons/mana/cpu.svg +0 -24
- package/ui/outcome-mana.css +0 -255
- package/ui/outcome-mana.js +0 -2325
package/ui/outcome-knowledge.css
CHANGED
|
@@ -1,25 +1,61 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Organization edition look (moved from brainbase-organization apps/web/public/styles.css,
|
|
3
|
+
* where it was loaded before this file). Kept first so the cascade is the same as in the
|
|
4
|
+
* organization edition. Colors read the shared tokens, with the organization values as fallbacks.
|
|
5
|
+
*/
|
|
6
|
+
.knowledge-outcome { display: grid; gap: 20px; color: var(--bb-color-ink, #17221c); }
|
|
7
|
+
.knowledge-outcome-head { padding: 24px; border: 1px solid var(--bb-color-border, #dce5df); border-radius: 16px; background: linear-gradient(135deg, var(--bb-color-header-start, #f7faf8), var(--bb-color-header-end, #eef5f0)); }
|
|
8
|
+
.knowledge-outcome-head h2 { margin: 4px 0 8px; font-size: clamp(1.45rem, 3vw, 2rem); }
|
|
9
|
+
.knowledge-eyebrow { color: var(--bb-color-eyebrow, #47715a); font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
|
|
10
|
+
.knowledge-outcome-nav,
|
|
11
|
+
.knowledge-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
|
|
12
|
+
.knowledge-tab,
|
|
13
|
+
.knowledge-button { min-height: 40px; border: 1px solid var(--bb-color-control-border, #cbd8d0); border-radius: 9px; background: var(--bb-color-panel, #fff); color: inherit; padding: 8px 12px; font: inherit; cursor: pointer; }
|
|
14
|
+
.knowledge-tab.active,
|
|
15
|
+
.knowledge-button-primary { border-color: var(--bb-color-action, #35684c); background: var(--bb-color-action, #35684c); color: var(--bb-color-action-text, #fff); }
|
|
16
|
+
.knowledge-outcome-body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .8fr); gap: 18px; }
|
|
17
|
+
.knowledge-outcome-primary,
|
|
18
|
+
.knowledge-outcome-detail { min-width: 0; padding: 18px; border: 1px solid var(--bb-color-border, #dce5df); border-radius: 14px; background: var(--bb-color-panel, #fff); }
|
|
19
|
+
.knowledge-unknown-copy { color: var(--bb-color-muted, #66736b); }
|
|
20
|
+
.knowledge-filter-region form,
|
|
21
|
+
.knowledge-form { display: grid; gap: 12px; }
|
|
22
|
+
.knowledge-outcome input,
|
|
23
|
+
.knowledge-outcome select,
|
|
24
|
+
.knowledge-outcome textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--bb-color-border-strong, #bdcbc2); border-radius: 8px; background: var(--bb-color-panel, #fff); padding: 9px 10px; font: inherit; }
|
|
25
|
+
.knowledge-outcome button:focus-visible,
|
|
26
|
+
.knowledge-outcome input:focus-visible { outline: 3px solid #9fc9ad; outline-offset: 2px; }
|
|
27
|
+
.knowledge-state,
|
|
28
|
+
.knowledge-warning-copy { padding: 11px 12px; border-radius: 9px; background: #fff7e8; color: #694d18; }
|
|
29
|
+
.knowledge-list { display: grid; gap: 8px; }
|
|
30
|
+
@media (max-width: 1340px) {
|
|
31
|
+
.knowledge-outcome-body { grid-template-columns: 1fr; }
|
|
32
|
+
.knowledge-outcome-head,
|
|
33
|
+
.knowledge-outcome-primary,
|
|
34
|
+
.knowledge-outcome-detail { padding: 14px; }
|
|
35
|
+
}
|
|
36
|
+
|
|
1
37
|
/* Knowledge outcome workspace. The component owns its layout so the shared
|
|
2
38
|
shell cannot turn an operational master/detail surface into stacked cards. */
|
|
3
39
|
.knowledge-outcome {
|
|
4
|
-
--knowledge-paper: var(--paper, #fbfbf8);
|
|
5
|
-
--knowledge-canvas: var(--canvas, #f2f3ef);
|
|
6
|
-
--knowledge-ink: var(--ink, #111412);
|
|
7
|
-
--knowledge-muted: var(--muted, #656b67);
|
|
8
|
-
--knowledge-quiet: var(--quiet, #929894);
|
|
9
|
-
--knowledge-line: var(--line, #d9ddd8);
|
|
10
|
-
--knowledge-line-strong: var(--line-dark, #bfc5c0);
|
|
11
|
-
--knowledge-green: var(--green, #087d62);
|
|
12
|
-
--knowledge-green-soft: var(--green-soft, #e5f1ec);
|
|
13
|
-
--knowledge-amber: var(--amber, #c9870c);
|
|
14
|
-
--knowledge-amber-soft: var(--amber-soft, #fff0c7);
|
|
15
|
-
--knowledge-red: var(--red, #d92335);
|
|
16
|
-
--knowledge-red-soft: var(--red-soft, #fde9eb);
|
|
40
|
+
--knowledge-paper: var(--bb-color-panel, var(--paper, #fbfbf8));
|
|
41
|
+
--knowledge-canvas: var(--bb-color-surface, var(--canvas, #f2f3ef));
|
|
42
|
+
--knowledge-ink: var(--bb-color-ink, var(--ink, #111412));
|
|
43
|
+
--knowledge-muted: var(--bb-color-muted, var(--muted, #656b67));
|
|
44
|
+
--knowledge-quiet: var(--bb-color-muted, var(--quiet, #929894));
|
|
45
|
+
--knowledge-line: var(--bb-color-border, var(--line, #d9ddd8));
|
|
46
|
+
--knowledge-line-strong: var(--bb-color-border-strong, var(--line-dark, #bfc5c0));
|
|
47
|
+
--knowledge-green: var(--bb-color-accent, var(--green, #087d62));
|
|
48
|
+
--knowledge-green-soft: var(--bb-color-accent-soft, var(--green-soft, #e5f1ec));
|
|
49
|
+
--knowledge-amber: var(--bb-color-warning, var(--amber, #c9870c));
|
|
50
|
+
--knowledge-amber-soft: var(--bb-color-warning-soft, var(--amber-soft, #fff0c7));
|
|
51
|
+
--knowledge-red: var(--bb-color-danger, var(--red, #d92335));
|
|
52
|
+
--knowledge-red-soft: var(--bb-color-danger-soft, var(--red-soft, #fde9eb));
|
|
17
53
|
display: grid;
|
|
18
54
|
gap: 0;
|
|
19
55
|
min-width: 0;
|
|
20
56
|
color: var(--knowledge-ink);
|
|
21
57
|
background: transparent;
|
|
22
|
-
font-family: Geist, "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
58
|
+
font-family: var(--bb-font-sans, Geist, "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
|
|
23
59
|
line-height: 1.5;
|
|
24
60
|
}
|
|
25
61
|
|
package/ui/outcome-knowledge.js
CHANGED
|
@@ -1043,10 +1043,24 @@ function defaultCandidateBody(values, context = {}) {
|
|
|
1043
1043
|
};
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
|
+
/**
|
|
1047
|
+
* Creates the knowledge outcome workspace.
|
|
1048
|
+
*
|
|
1049
|
+
* @param {object} options
|
|
1050
|
+
* @param {(session: object|null, projectCode: string|null) => boolean} [options.canEditDestination]
|
|
1051
|
+
* Decides whether the current user may register this project's knowledge
|
|
1052
|
+
* document destination. It receives the resolved session value and the
|
|
1053
|
+
* project code; only a `true` result shows the registration form. Without
|
|
1054
|
+
* it, the form follows `canManageKnowledge(session)`. Revision,
|
|
1055
|
+
* supersession, and retirement always follow `canManageKnowledge`.
|
|
1056
|
+
*/
|
|
1046
1057
|
export function createKnowledgeOutcomeController(options = {}) {
|
|
1047
1058
|
const { root, api, apiMutation, project, session, onStateChange, onCommitted, onRetired, resolveDecisionDomain, serializeDraftInput, serializeCandidate, serializeRevision, serializeRetire, serializePreview } = options;
|
|
1048
1059
|
if (!root || typeof root.replaceChildren !== 'function') throw new Error('knowledge_root_unavailable');
|
|
1049
1060
|
const code = projectCodeOf(project);
|
|
1061
|
+
const canEditDestination = () => (typeof options.canEditDestination === 'function'
|
|
1062
|
+
? options.canEditDestination((typeof session === 'function' ? session() : session) ?? null, code ?? null) === true
|
|
1063
|
+
: canManageKnowledge(session));
|
|
1050
1064
|
const projectValue = typeof project === 'function' ? project() : project;
|
|
1051
1065
|
const ownerCandidates = [];
|
|
1052
1066
|
for (const candidate of [projectValue?.owner, ...(projectValue?.members?.items ?? [])]) {
|
|
@@ -1154,7 +1168,7 @@ export function createKnowledgeOutcomeController(options = {}) {
|
|
|
1154
1168
|
destination.append(destinationHeading);
|
|
1155
1169
|
const destinationContent = makeElement('div', { className: 'knowledge-destination-content' });
|
|
1156
1170
|
renderKnowledgeDestination(destinationContent, state.destination, {
|
|
1157
|
-
canEdit:
|
|
1171
|
+
canEdit: canEditDestination(),
|
|
1158
1172
|
onReload: loadDestination,
|
|
1159
1173
|
onSave: saveDestination,
|
|
1160
1174
|
});
|
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* 判断の見返し, on the organization edition's screen pattern (workspace-kit.css):
|
|
3
|
+
* page head, notices, filters, metrics and the 委任の地図 ledger in the
|
|
4
|
+
* workspace, the selected row or judgment in the right rail (or after the
|
|
5
|
+
* workspace when the host has no rail). Layout rules read the shared tokens
|
|
6
|
+
* (brainbase-tokens.css) directly. The part variables below keep the feedback
|
|
7
|
+
* form's previous palette for hosts that do not load the tokens.
|
|
8
|
+
*/
|
|
9
|
+
.vpr,
|
|
10
|
+
.bb-vpr-detail {
|
|
11
|
+
--vpr-ink: var(--bb-color-ink, #172033);
|
|
12
|
+
--vpr-muted: var(--bb-color-muted, #667085);
|
|
13
|
+
--vpr-border: var(--bb-color-border, #d8dee9);
|
|
14
|
+
--vpr-border-strong: var(--bb-color-border-strong, #d8dee9);
|
|
15
|
+
--vpr-control-border: var(--bb-color-control-border, #d8dee9);
|
|
16
|
+
--vpr-panel: var(--bb-color-panel, #ffffff);
|
|
17
|
+
--vpr-surface: var(--bb-color-surface, #f5f7fb);
|
|
18
|
+
--vpr-accent: var(--bb-color-accent, #3157d5);
|
|
19
|
+
--vpr-accent-soft: var(--bb-color-accent-soft, #eef2fd);
|
|
20
|
+
--vpr-accent-strong: var(--bb-color-accent-strong, #3157d5);
|
|
21
|
+
--vpr-action: var(--bb-color-action, #3157d5);
|
|
22
|
+
--vpr-focus: var(--bb-color-focus, #3157d5);
|
|
23
|
+
--vpr-success-soft: var(--bb-color-success-soft, #ecfdf3);
|
|
24
|
+
--vpr-warning: var(--bb-color-warning, #9a6700);
|
|
25
|
+
--vpr-warning-soft: var(--bb-color-warning-soft, #fff8e6);
|
|
26
|
+
--vpr-danger: var(--bb-color-danger, #b42318);
|
|
27
|
+
--vpr-danger-soft: var(--bb-color-danger-soft, #fef3f2);
|
|
28
|
+
box-sizing: border-box;
|
|
29
|
+
display: block;
|
|
30
|
+
min-width: 0;
|
|
31
|
+
color: var(--vpr-ink);
|
|
32
|
+
font-family: var(--bb-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
|
|
33
|
+
font-size: 14px;
|
|
34
|
+
line-height: 1.5;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.vpr *,
|
|
38
|
+
.vpr *::before,
|
|
39
|
+
.vpr *::after {
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* The standalone review host (value-proof:serve) has no shell around the part. */
|
|
44
|
+
body:has(#brainbase-value-proof-review) {
|
|
45
|
+
margin: 0;
|
|
46
|
+
background: var(--bb-color-paper, #ffffff);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#brainbase-value-proof-review {
|
|
50
|
+
display: block;
|
|
51
|
+
max-width: 1440px;
|
|
52
|
+
margin: 0 auto;
|
|
53
|
+
padding: 40px 48px 72px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* The local shell resets `.bb-shell button { font: inherit }`, which outranks the
|
|
58
|
+
* kit's button and row type; keep the kit's sizes and weight on this screen.
|
|
59
|
+
*/
|
|
60
|
+
.vpr .bb-ws-button,
|
|
61
|
+
.bb-vpr-detail .bb-ws-button {
|
|
62
|
+
font-size: 13px;
|
|
63
|
+
font-weight: 680;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.vpr .bb-ws-button.is-quiet,
|
|
67
|
+
.bb-vpr-detail .bb-ws-button.is-quiet {
|
|
68
|
+
font-size: 12px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.vpr button.bb-ws-ledger-row {
|
|
72
|
+
font-size: 12px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Notices: one body element beside the kit's label. */
|
|
76
|
+
.bb-vpr-notice-body {
|
|
77
|
+
display: grid;
|
|
78
|
+
gap: var(--bb-space-2);
|
|
79
|
+
min-width: 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.bb-vpr-notice-body p {
|
|
83
|
+
margin: 0;
|
|
84
|
+
overflow-wrap: anywhere;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.bb-vpr-notice-body .bb-ws-button {
|
|
88
|
+
justify-self: start;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.bb-vpr-notice-title {
|
|
92
|
+
color: var(--bb-color-ink);
|
|
93
|
+
font-weight: 700;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.bb-vpr-rejected summary {
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.bb-vpr-rejected ul {
|
|
101
|
+
margin: var(--bb-space-1) 0 0;
|
|
102
|
+
padding-left: var(--bb-space-5);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Filters: toggles in the head actions row, the pressed one marked like a selected row. */
|
|
106
|
+
.bb-vpr-filters {
|
|
107
|
+
margin-bottom: var(--bb-space-5);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bb-ws-button.bb-vpr-toggle.is-pressed {
|
|
111
|
+
border-color: var(--bb-color-accent);
|
|
112
|
+
background: var(--bb-color-accent-soft);
|
|
113
|
+
color: var(--bb-color-accent-strong);
|
|
114
|
+
box-shadow: inset 3px 0 var(--bb-color-accent);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* Text inside the ledgers. */
|
|
118
|
+
.bb-vpr-primary {
|
|
119
|
+
color: var(--bb-color-ink);
|
|
120
|
+
font-size: 13px;
|
|
121
|
+
font-weight: 690;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.bb-vpr-state {
|
|
125
|
+
font-weight: 690;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.bb-vpr-state.is-delegated {
|
|
129
|
+
color: var(--bb-color-accent-strong);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.bb-vpr-state.is-verifying {
|
|
133
|
+
color: var(--bb-color-muted);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.bb-vpr-state.is-returned {
|
|
137
|
+
color: var(--bb-color-warning);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.bb-vpr-alert {
|
|
141
|
+
color: var(--bb-color-danger);
|
|
142
|
+
font-weight: 690;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* 委任の地図: six columns; the kind name keeps the most room. */
|
|
146
|
+
.bb-vpr-map-ledger .bb-ws-ledger-row {
|
|
147
|
+
grid-template-columns: minmax(130px, 1.3fr) 92px minmax(120px, 1.1fr) minmax(84px, .9fr) 96px 60px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.bb-vpr-map-ledger.is-unrecorded .bb-ws-ledger-row:not(.bb-ws-ledger-head) {
|
|
151
|
+
background: var(--bb-color-surface);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.bb-vpr-map-ledger.is-unrecorded .bb-ws-ledger-row.is-selected {
|
|
155
|
+
background: var(--bb-color-accent-soft);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* Highlights: compact ledgers of judgments, above the map. */
|
|
159
|
+
.bb-vpr-judgment-ledger .bb-ws-ledger-row {
|
|
160
|
+
grid-template-columns: minmax(150px, 1.7fr) minmax(100px, 1fr) minmax(110px, 1.2fr) 52px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.bb-vpr-highlight {
|
|
164
|
+
display: grid;
|
|
165
|
+
gap: var(--bb-space-2);
|
|
166
|
+
min-width: 0;
|
|
167
|
+
margin-bottom: var(--bb-space-6);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.bb-vpr-highlight h2 {
|
|
171
|
+
display: flex;
|
|
172
|
+
flex-wrap: wrap;
|
|
173
|
+
gap: var(--bb-space-2);
|
|
174
|
+
align-items: baseline;
|
|
175
|
+
margin: 0;
|
|
176
|
+
font-size: 16px;
|
|
177
|
+
letter-spacing: -.02em;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.bb-vpr-highlight.is-corrected h2 {
|
|
181
|
+
color: var(--bb-color-danger);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.bb-vpr-highlight.is-after-ask h2 {
|
|
185
|
+
color: var(--bb-color-warning);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.bb-vpr-highlight.is-corrected .bb-ws-ledger {
|
|
189
|
+
border-top-color: var(--bb-color-danger);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.bb-vpr-highlight.is-after-ask .bb-ws-ledger {
|
|
193
|
+
border-top-color: var(--bb-color-warning);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.bb-vpr-count {
|
|
197
|
+
color: var(--bb-color-muted);
|
|
198
|
+
font-size: 13px;
|
|
199
|
+
font-weight: 500;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.bb-vpr-hint {
|
|
203
|
+
margin: 0 0 var(--bb-space-2);
|
|
204
|
+
color: var(--bb-color-muted);
|
|
205
|
+
font-size: 13px;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.bb-vpr-map > .bb-ws-section-title {
|
|
209
|
+
margin-top: 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.bb-vpr-map > .bb-ws-notice {
|
|
213
|
+
margin-block: 0 var(--bb-space-5);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.bb-vpr-subheading {
|
|
217
|
+
margin: var(--bb-space-6) 0 var(--bb-space-1);
|
|
218
|
+
color: var(--bb-color-ink);
|
|
219
|
+
font-size: 15px;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.bb-vpr-empty {
|
|
223
|
+
margin: 0;
|
|
224
|
+
color: var(--bb-color-muted);
|
|
225
|
+
font-size: 13px;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/* Detail: in the rail, or after the workspace when the host has none. */
|
|
229
|
+
.bb-vpr-inline-detail {
|
|
230
|
+
max-width: 760px;
|
|
231
|
+
margin-top: 48px;
|
|
232
|
+
border-top: 1px solid var(--bb-color-border-strong);
|
|
233
|
+
padding-top: var(--bb-space-5);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.bb-vpr-detail > .bb-vpr-back {
|
|
237
|
+
margin-bottom: var(--bb-space-4);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.bb-vpr-detail .bb-ws-rail-head h2:focus {
|
|
241
|
+
outline: none;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.bb-vpr-detail h4 {
|
|
245
|
+
margin: var(--bb-space-3) 0 var(--bb-space-1);
|
|
246
|
+
color: var(--bb-color-ink);
|
|
247
|
+
font-size: 13px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.bb-vpr-list,
|
|
251
|
+
.bb-vpr-options-list {
|
|
252
|
+
display: grid;
|
|
253
|
+
gap: 0;
|
|
254
|
+
margin: 0;
|
|
255
|
+
padding: 0;
|
|
256
|
+
list-style: none;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.bb-vpr-options-list {
|
|
260
|
+
gap: var(--bb-space-1);
|
|
261
|
+
padding-left: var(--bb-space-5);
|
|
262
|
+
list-style: disc;
|
|
263
|
+
color: var(--bb-color-muted);
|
|
264
|
+
font-size: 13px;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.bb-vpr-item {
|
|
268
|
+
width: 100%;
|
|
269
|
+
display: grid;
|
|
270
|
+
gap: 2px;
|
|
271
|
+
border: 0;
|
|
272
|
+
border-bottom: 1px solid var(--bb-color-border);
|
|
273
|
+
padding: var(--bb-space-3) var(--bb-space-2);
|
|
274
|
+
background: transparent;
|
|
275
|
+
color: var(--bb-color-muted);
|
|
276
|
+
font: inherit;
|
|
277
|
+
text-align: left;
|
|
278
|
+
cursor: pointer;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.bb-vpr-list > li:first-child .bb-vpr-item {
|
|
282
|
+
border-top: 1px solid var(--bb-color-border-strong);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.bb-vpr-item:hover {
|
|
286
|
+
background: var(--bb-color-panel);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.bb-vpr-item.is-selected {
|
|
290
|
+
background: var(--bb-color-accent-soft);
|
|
291
|
+
box-shadow: inset 3px 0 var(--bb-color-accent);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.bb-vpr-item-title {
|
|
295
|
+
color: var(--bb-color-ink);
|
|
296
|
+
font-size: 13px;
|
|
297
|
+
font-weight: 690;
|
|
298
|
+
overflow-wrap: anywhere;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.bb-vpr-item-summary {
|
|
302
|
+
font-size: 12px;
|
|
303
|
+
overflow-wrap: anywhere;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.bb-vpr-item-meta {
|
|
307
|
+
color: var(--bb-color-quiet);
|
|
308
|
+
font-size: 11px;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.bb-vpr-outcome.is-outcome_verified {
|
|
312
|
+
color: var(--bb-color-success);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.bb-vpr-human-decision h3 {
|
|
316
|
+
color: var(--bb-color-warning);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.bb-vpr-history,
|
|
320
|
+
.bb-vpr-audit {
|
|
321
|
+
font-size: 13px;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.bb-vpr-history {
|
|
325
|
+
margin-top: var(--bb-space-3);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.bb-vpr-history summary,
|
|
329
|
+
.bb-vpr-audit summary {
|
|
330
|
+
color: var(--bb-color-muted);
|
|
331
|
+
cursor: pointer;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.bb-vpr-history ol {
|
|
335
|
+
margin: var(--bb-space-2) 0 0;
|
|
336
|
+
padding-left: var(--bb-space-5);
|
|
337
|
+
color: var(--bb-color-muted);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.bb-vpr-audit .bb-ws-definition {
|
|
341
|
+
margin-top: var(--bb-space-3);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.bb-vpr-audit dt,
|
|
345
|
+
.bb-vpr-audit dd {
|
|
346
|
+
font-family: var(--bb-font-mono);
|
|
347
|
+
font-size: 11px;
|
|
348
|
+
overflow-wrap: anywhere;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.bb-vpr-detail .bb-ws-rail-block > .bb-ws-button {
|
|
352
|
+
justify-self: start;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.bb-vpr-detail .bb-ws-rail-block > .vpr-notice {
|
|
356
|
+
margin-top: var(--bb-space-3);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/* Feedback form (kept from the previous part; the part variables fall back to the old palette). */
|
|
360
|
+
.vpr-feedback {
|
|
361
|
+
display: grid;
|
|
362
|
+
gap: var(--bb-space-3);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.vpr-feedback fieldset {
|
|
366
|
+
display: grid;
|
|
367
|
+
gap: 10px;
|
|
368
|
+
min-width: 0;
|
|
369
|
+
margin: 0;
|
|
370
|
+
padding: 0;
|
|
371
|
+
border: 0;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.vpr-feedback legend {
|
|
375
|
+
position: absolute;
|
|
376
|
+
width: 1px;
|
|
377
|
+
height: 1px;
|
|
378
|
+
overflow: hidden;
|
|
379
|
+
clip-path: inset(50%);
|
|
380
|
+
white-space: nowrap;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.vpr-feedback .vpr-submit {
|
|
384
|
+
justify-self: start;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.vpr-options {
|
|
388
|
+
display: flex;
|
|
389
|
+
flex-wrap: wrap;
|
|
390
|
+
gap: 8px;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.vpr-option {
|
|
394
|
+
display: inline-flex;
|
|
395
|
+
gap: 7px;
|
|
396
|
+
align-items: center;
|
|
397
|
+
min-height: 38px;
|
|
398
|
+
padding: 7px 11px;
|
|
399
|
+
border: 1px solid var(--vpr-control-border);
|
|
400
|
+
border-radius: var(--bb-radius-sm, 7px);
|
|
401
|
+
background: var(--vpr-panel);
|
|
402
|
+
font-size: 13px;
|
|
403
|
+
cursor: pointer;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.vpr-option input {
|
|
407
|
+
margin: 0;
|
|
408
|
+
accent-color: var(--vpr-action);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.vpr-option:has(input:checked) {
|
|
412
|
+
border-color: var(--vpr-accent);
|
|
413
|
+
color: var(--vpr-accent-strong);
|
|
414
|
+
background: var(--vpr-accent-soft);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.vpr-layers {
|
|
418
|
+
display: flex;
|
|
419
|
+
flex-wrap: wrap;
|
|
420
|
+
gap: 8px;
|
|
421
|
+
align-items: center;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
.vpr-layers[hidden] {
|
|
425
|
+
display: none;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.vpr-layers .bb-vpr-hint {
|
|
429
|
+
flex-basis: 100%;
|
|
430
|
+
margin-bottom: 0;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.vpr-feedback textarea {
|
|
434
|
+
width: 100%;
|
|
435
|
+
padding: 9px 10px;
|
|
436
|
+
border: 1px solid var(--vpr-border-strong);
|
|
437
|
+
border-radius: var(--bb-radius-sm, 7px);
|
|
438
|
+
color: var(--vpr-ink);
|
|
439
|
+
background: var(--vpr-panel);
|
|
440
|
+
font: inherit;
|
|
441
|
+
resize: vertical;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.vpr button:focus-visible,
|
|
445
|
+
.vpr input:focus-visible,
|
|
446
|
+
.vpr textarea:focus-visible,
|
|
447
|
+
.vpr summary:focus-visible {
|
|
448
|
+
outline: 3px solid color-mix(in srgb, var(--vpr-focus) 45%, var(--vpr-panel));
|
|
449
|
+
outline-offset: 2px;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/* Messages under the form and the consult button. */
|
|
453
|
+
.vpr-notice {
|
|
454
|
+
margin: 0;
|
|
455
|
+
padding: 11px 12px;
|
|
456
|
+
border-radius: var(--bb-radius-sm, 7px);
|
|
457
|
+
white-space: pre-line;
|
|
458
|
+
font-size: 13px;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.vpr-notice.is-danger {
|
|
462
|
+
color: var(--vpr-danger);
|
|
463
|
+
background: var(--vpr-danger-soft);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.vpr-notice.is-success {
|
|
467
|
+
color: var(--vpr-accent-strong);
|
|
468
|
+
background: var(--vpr-success-soft);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
.vpr-notice.is-muted {
|
|
472
|
+
color: var(--vpr-muted);
|
|
473
|
+
background: var(--vpr-surface);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
@media (max-width: 760px) {
|
|
477
|
+
#brainbase-value-proof-review {
|
|
478
|
+
padding: 24px 18px 52px;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.bb-vpr-map-ledger .bb-ws-ledger-row {
|
|
482
|
+
grid-template-columns: minmax(0, 1fr) 88px 60px;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.bb-vpr-map-ledger .bb-ws-ledger-row > span:nth-child(3),
|
|
486
|
+
.bb-vpr-map-ledger .bb-ws-ledger-row > span:nth-child(4),
|
|
487
|
+
.bb-vpr-map-ledger .bb-ws-ledger-row > span:nth-child(6) {
|
|
488
|
+
display: none;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.bb-vpr-judgment-ledger .bb-ws-ledger-row {
|
|
492
|
+
grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.bb-vpr-judgment-ledger .bb-ws-ledger-row > span:nth-child(2),
|
|
496
|
+
.bb-vpr-judgment-ledger .bb-ws-ledger-row > span:nth-child(4) {
|
|
497
|
+
display: none;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.bb-vpr-filters {
|
|
501
|
+
align-items: stretch;
|
|
502
|
+
flex-direction: column;
|
|
503
|
+
}
|
|
504
|
+
}
|