pmx-canvas 0.7.3 → 0.8.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.
- package/.github/extensions/pmx-canvas/THIRD_PARTY_LICENSES.txt +331 -0
- package/.github/extensions/pmx-canvas/extension.mjs +25 -172
- package/.github/extensions/pmx-canvas/mcp-bootstrap.ts +198 -0
- package/.github/extensions/pmx-canvas/runtime.d.mts +41 -0
- package/.github/extensions/pmx-canvas/runtime.json +3 -0
- package/.github/extensions/pmx-canvas/runtime.mjs +194 -0
- package/.github/extensions/pmx-canvas/start-mcp.mjs +51 -0
- package/.github/extensions/pmx-canvas/tools.json +2560 -0
- package/CHANGELOG.md +64 -0
- package/Readme.md +21 -7
- package/dist/canvas/fonts/OFL.txt +93 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-ext-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-600-normal.woff2 +0 -0
- package/dist/canvas/global.css +726 -674
- package/dist/canvas/index.js +90 -88
- package/dist/canvas/mcp-app.html +7879 -0
- package/dist/canvas/mermaid-entry.js +1 -1
- package/dist/canvas/surface-theme.css +151 -46
- package/dist/json-render/index.css +81 -1
- package/dist/json-render/index.js +1 -1
- package/dist/types/cli/commands/record.d.ts +1 -1
- package/dist/types/client/canvas/NodeContextMark.d.ts +24 -0
- package/dist/types/client/canvas/SessionReceipt.d.ts +3 -1
- package/dist/types/client/icons.d.ts +1 -2
- package/dist/types/client/mcp-app/index.d.ts +1 -0
- package/dist/types/client/nodes/HtmlNode.d.ts +1 -0
- package/dist/types/client/nodes/ax-node-actions.d.ts +2 -2
- package/dist/types/client/nodes/markdown-sanitize.d.ts +2 -0
- package/dist/types/client/nodes/use-workbench-asset.d.ts +2 -0
- package/dist/types/client/state/attention-store.d.ts +0 -5
- package/dist/types/client/state/context-status-store.d.ts +53 -0
- package/dist/types/client/state/intent-bridge.d.ts +3 -0
- package/dist/types/client/state/near-pin-store.d.ts +16 -0
- package/dist/types/client/state/presence-store.d.ts +5 -0
- package/dist/types/client/state/session-store.d.ts +33 -3
- package/dist/types/client/state/workbench-transport.d.ts +16 -0
- package/dist/types/client/theme/tokens.d.ts +1 -3
- package/dist/types/client/types.d.ts +9 -0
- package/dist/types/json-render/server.d.ts +1 -1
- package/dist/types/mcp/app-server.d.ts +3 -0
- package/dist/types/mcp/canvas-access.d.ts +1 -1
- package/dist/types/mcp/canvas-app.d.ts +4 -0
- package/dist/types/mcp/workbench-app.d.ts +4 -0
- package/dist/types/server/agent-presence.d.ts +1 -1
- package/dist/types/server/ax-state.d.ts +1 -1
- package/dist/types/server/canvas-db.d.ts +8 -0
- package/dist/types/server/canvas-geometry.d.ts +25 -0
- package/dist/types/server/canvas-operations.d.ts +1 -11
- package/dist/types/server/canvas-state.d.ts +25 -3
- package/dist/types/server/context-brief.d.ts +8 -1
- package/dist/types/server/context-reads.d.ts +30 -7
- package/dist/types/server/index.d.ts +6 -1
- package/dist/types/server/mcp-app-runtime.d.ts +1 -0
- package/dist/types/server/operations/http.d.ts +2 -0
- package/dist/types/server/operations/invoker.d.ts +4 -2
- package/dist/types/server/operations/ops/nodes.d.ts +0 -6
- package/dist/types/server/server.d.ts +1 -0
- package/dist/types/server/spatial-analysis.d.ts +2 -0
- package/dist/types/shared/agent-context.d.ts +22 -0
- package/dist/types/shared/agent-presence.d.ts +3 -10
- package/dist/types/shared/canvas-app.d.ts +54 -0
- package/dist/types/shared/themes.d.ts +1 -1
- package/docs/RELEASE.md +7 -3
- package/docs/agent-plugin.md +123 -0
- package/docs/ax-state-contract.md +40 -0
- package/docs/cli.md +7 -2
- package/docs/design/AgentContext.dc.html +186 -0
- package/docs/design/Before.dc.html +208 -0
- package/docs/design/BoardPins.dc.html +151 -0
- package/docs/design/Chrome.dc.html +211 -0
- package/docs/design/Context.dc.html +239 -0
- package/docs/design/Flows.dc.html +181 -0
- package/docs/design/Home.dc.html +209 -0
- package/docs/design/HomeGraph.dc.html +211 -0
- package/docs/design/HomeMap.dc.html +117 -0
- package/docs/design/HomeTeam.dc.html +176 -0
- package/docs/design/Light.dc.html +28 -0
- package/docs/design/Main.dc.html +280 -0
- package/docs/design/NearPin.dc.html +260 -0
- package/docs/design/Pane600.dc.html +120 -0
- package/docs/design/Relations.dc.html +297 -0
- package/docs/design/Themes.dc.html +121 -0
- package/docs/design/TokenSystem.dc.html +136 -0
- package/docs/design/Tokens.dc.html +163 -0
- package/docs/design/Types1.dc.html +177 -0
- package/docs/design/Types2.dc.html +226 -0
- package/docs/design/Types3.dc.html +195 -0
- package/docs/design/Uses.dc.html +152 -0
- package/docs/design/Vision.dc.html +116 -0
- package/docs/design/Zoom.dc.html +82 -0
- package/docs/design/canvas.json +274 -0
- package/docs/design.md +217 -0
- package/docs/environment.md +1 -1
- package/docs/http-api.md +86 -16
- package/docs/mcp.md +202 -4
- package/docs/node-types.md +34 -10
- package/docs/plans/plan-009-tech-debt-backlog.md +1 -1
- package/docs/plans/plan-015-design-foundation-wave-0.md +177 -0
- package/docs/plans/plan-016-context-made-visible-wave-1.md +148 -0
- package/docs/product-vision-2026-09.md +47 -7
- package/docs/screenshot.png +0 -0
- package/docs/sdk.md +1 -0
- package/package.json +10 -4
- package/plugins/pmx-canvas/LICENSE +21 -0
- package/plugins/pmx-canvas/THIRD_PARTY_LICENSES.txt +331 -0
- package/plugins/pmx-canvas/assets/preview.png +0 -0
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/extension.mjs +930 -0
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.json +3 -0
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.mjs +194 -0
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/steering-delivery.mjs +79 -0
- package/plugins/pmx-canvas/mcp.json +12 -0
- package/plugins/pmx-canvas/plugin.json +24 -0
- package/plugins/pmx-canvas/runtime.json +3 -0
- package/plugins/pmx-canvas/runtime.mjs +194 -0
- package/plugins/pmx-canvas/start-mcp.mjs +51 -0
- package/plugins/pmx-canvas/tools.json +2560 -0
- package/skills/pmx-canvas/SKILL.md +29 -9
- package/skills/pmx-canvas/evals/evals.json +62 -0
- package/skills/pmx-canvas/references/ax-html-control-surface.md +6 -0
- package/skills/pmx-canvas/references/full-reference.md +11 -7
- package/skills/pmx-canvas/references/github-copilot-app-adapter.md +20 -8
- package/skills/pmx-canvas/references/installing-pmx-canvas.md +6 -6
- package/skills/pmx-canvas-testing/SKILL.md +5 -4
- package/src/cli/commands/copilot.ts +5 -0
- package/src/cli/commands/nodes.ts +3 -2
- package/src/cli/commands/view.ts +1 -1
- package/src/cli/index.ts +10 -4
- package/src/client/App.tsx +6 -1
- package/src/client/canvas/AgentPresenceLayer.tsx +3 -3
- package/src/client/canvas/AnnotationLayer.tsx +1 -1
- package/src/client/canvas/CanvasNode.tsx +32 -49
- package/src/client/canvas/CanvasViewport.tsx +0 -2
- package/src/client/canvas/CommandPalette.tsx +3 -2
- package/src/client/canvas/ContextMenu.tsx +11 -0
- package/src/client/canvas/EdgeLayer.tsx +1 -1
- package/src/client/canvas/ExportDialog.tsx +33 -6
- package/src/client/canvas/IntentLayer.tsx +2 -2
- package/src/client/canvas/Minimap.tsx +12 -7
- package/src/client/canvas/NodeContextMark.tsx +156 -0
- package/src/client/canvas/SessionPanel.tsx +4 -7
- package/src/client/canvas/SessionReceipt.tsx +114 -17
- package/src/client/canvas/ShortcutOverlay.tsx +6 -1
- package/src/client/canvas/SnapshotPanel.tsx +11 -2
- package/src/client/canvas/ToolRail.tsx +12 -9
- package/src/client/canvas/TopBar.tsx +16 -11
- package/src/client/icons.tsx +2 -12
- package/src/client/mcp-app/index.tsx +137 -0
- package/src/client/mcp-app/style.css +10 -0
- package/src/client/nodes/AttachmentNode.tsx +8 -1
- package/src/client/nodes/AxStepControls.tsx +1 -1
- package/src/client/nodes/ContextNode.tsx +9 -9
- package/src/client/nodes/ExtAppFrame.tsx +13 -8
- package/src/client/nodes/FileNode.tsx +8 -5
- package/src/client/nodes/HtmlNode.tsx +12 -2
- package/src/client/nodes/ImageNode.tsx +4 -2
- package/src/client/nodes/InlineMarkdownEditor.tsx +2 -1
- package/src/client/nodes/LedgerNode.tsx +2 -2
- package/src/client/nodes/MarkdownNode.tsx +44 -9
- package/src/client/nodes/McpAppNode.tsx +6 -4
- package/src/client/nodes/PromptNode.tsx +5 -17
- package/src/client/nodes/ResponseNode.tsx +3 -15
- package/src/client/nodes/StatusNode.tsx +2 -2
- package/src/client/nodes/StatusSummary.tsx +3 -1
- package/src/client/nodes/TraceNode.tsx +6 -4
- package/src/client/nodes/WebpageNode.tsx +1 -1
- package/src/client/nodes/ax-node-actions.ts +2 -2
- package/src/client/nodes/iframe-document-url.ts +3 -2
- package/src/client/nodes/markdown-sanitize.ts +10 -0
- package/src/client/nodes/surface-url.ts +10 -0
- package/src/client/nodes/use-surface-frame.ts +3 -1
- package/src/client/nodes/use-workbench-asset.ts +26 -0
- package/src/client/state/attention-bridge.ts +0 -8
- package/src/client/state/attention-store.ts +0 -17
- package/src/client/state/canvas-store.ts +4 -2
- package/src/client/state/context-status-store.ts +66 -0
- package/src/client/state/human-store.ts +2 -0
- package/src/client/state/iframe-mode.ts +5 -0
- package/src/client/state/intent-bridge.ts +10 -4
- package/src/client/state/near-pin-store.ts +53 -0
- package/src/client/state/presence-store.ts +5 -10
- package/src/client/state/session-store.ts +106 -9
- package/src/client/state/sse-bridge.ts +26 -7
- package/src/client/state/theme-override.ts +1 -1
- package/src/client/state/workbench-transport.ts +36 -0
- package/src/client/theme/global.css +726 -674
- package/src/client/theme/surface-theme.css +151 -46
- package/src/client/theme/tokens.ts +7 -11
- package/src/client/types.ts +10 -0
- package/src/json-render/renderer/index.css +6 -1
- package/src/json-render/renderer/index.tsx +0 -1
- package/src/json-render/server.ts +71 -14
- package/src/mcp/app-server.ts +64 -0
- package/src/mcp/canvas-access.ts +14 -11
- package/src/mcp/canvas-app.ts +318 -0
- package/src/mcp/server.ts +1 -1
- package/src/mcp/workbench-app.ts +211 -0
- package/src/server/agent-presence.ts +45 -6
- package/src/server/ax-context.ts +1 -1
- package/src/server/ax-state.ts +1 -1
- package/src/server/board-export.ts +5 -2
- package/src/server/canvas-db.ts +46 -12
- package/src/server/canvas-geometry.ts +64 -0
- package/src/server/canvas-operations.ts +7 -25
- package/src/server/canvas-state.ts +105 -15
- package/src/server/canvas-validation.ts +19 -4
- package/src/server/context-brief.ts +39 -2
- package/src/server/context-reads.ts +87 -15
- package/src/server/demo-state.json +31 -31
- package/src/server/html-surface.ts +4 -5
- package/src/server/index.ts +41 -5
- package/src/server/mcp-app-runtime.ts +11 -0
- package/src/server/operations/composites.ts +4 -3
- package/src/server/operations/http.ts +4 -4
- package/src/server/operations/invoker.ts +13 -4
- package/src/server/operations/mcp.ts +6 -0
- package/src/server/operations/ops/ax-read.ts +1 -1
- package/src/server/operations/ops/ax-timeline.ts +37 -0
- package/src/server/operations/ops/boards.ts +1 -1
- package/src/server/operations/ops/canvas-wire.ts +3 -6
- package/src/server/operations/ops/intent.ts +31 -2
- package/src/server/operations/ops/json-render.ts +6 -2
- package/src/server/operations/ops/nodes.ts +8 -76
- package/src/server/operations/ops/query.ts +8 -2
- package/src/server/operations/ops/snapshots.ts +4 -1
- package/src/server/operations/ops/viewport.ts +29 -5
- package/src/server/operations/registry.ts +41 -5
- package/src/server/scope-fence.ts +55 -10
- package/src/server/server.ts +83 -5
- package/src/server/spatial-analysis.ts +2 -2
- package/src/server/workboard.ts +6 -1
- package/src/{server → shared}/agent-context.ts +2 -2
- package/src/shared/agent-presence.ts +3 -15
- package/src/shared/canvas-app.ts +62 -0
- package/src/shared/themes.ts +5 -5
- package/src/client/canvas/FocusFieldLayer.tsx +0 -116
- package/src/client/canvas/kind-colors.ts +0 -23
|
@@ -1,3 +1,85 @@
|
|
|
1
|
+
/* ── Bundled fonts (IBM Plex, OFL-1.1; copied to dist/canvas/fonts by scripts/copy-fonts.ts) ── */
|
|
2
|
+
@font-face {
|
|
3
|
+
font-family: "IBM Plex Sans";
|
|
4
|
+
font-style: normal;
|
|
5
|
+
font-weight: 400;
|
|
6
|
+
font-display: swap;
|
|
7
|
+
src: url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
|
|
8
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
9
|
+
}
|
|
10
|
+
@font-face {
|
|
11
|
+
font-family: "IBM Plex Sans";
|
|
12
|
+
font-style: normal;
|
|
13
|
+
font-weight: 400;
|
|
14
|
+
font-display: swap;
|
|
15
|
+
src: url("fonts/ibm-plex-sans-latin-ext-400-normal.woff2") format("woff2");
|
|
16
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
17
|
+
}
|
|
18
|
+
@font-face {
|
|
19
|
+
font-family: "IBM Plex Sans";
|
|
20
|
+
font-style: normal;
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
font-display: swap;
|
|
23
|
+
src: url("fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
|
|
24
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
25
|
+
}
|
|
26
|
+
@font-face {
|
|
27
|
+
font-family: "IBM Plex Sans";
|
|
28
|
+
font-style: normal;
|
|
29
|
+
font-weight: 500;
|
|
30
|
+
font-display: swap;
|
|
31
|
+
src: url("fonts/ibm-plex-sans-latin-ext-500-normal.woff2") format("woff2");
|
|
32
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
33
|
+
}
|
|
34
|
+
@font-face {
|
|
35
|
+
font-family: "IBM Plex Sans";
|
|
36
|
+
font-style: normal;
|
|
37
|
+
font-weight: 600;
|
|
38
|
+
font-display: swap;
|
|
39
|
+
src: url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
|
|
40
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
41
|
+
}
|
|
42
|
+
@font-face {
|
|
43
|
+
font-family: "IBM Plex Sans";
|
|
44
|
+
font-style: normal;
|
|
45
|
+
font-weight: 600;
|
|
46
|
+
font-display: swap;
|
|
47
|
+
src: url("fonts/ibm-plex-sans-latin-ext-600-normal.woff2") format("woff2");
|
|
48
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
49
|
+
}
|
|
50
|
+
@font-face {
|
|
51
|
+
font-family: "IBM Plex Mono";
|
|
52
|
+
font-style: normal;
|
|
53
|
+
font-weight: 400;
|
|
54
|
+
font-display: swap;
|
|
55
|
+
src: url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
|
|
56
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
57
|
+
}
|
|
58
|
+
@font-face {
|
|
59
|
+
font-family: "IBM Plex Mono";
|
|
60
|
+
font-style: normal;
|
|
61
|
+
font-weight: 400;
|
|
62
|
+
font-display: swap;
|
|
63
|
+
src: url("fonts/ibm-plex-mono-latin-ext-400-normal.woff2") format("woff2");
|
|
64
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
65
|
+
}
|
|
66
|
+
@font-face {
|
|
67
|
+
font-family: "IBM Plex Mono";
|
|
68
|
+
font-style: normal;
|
|
69
|
+
font-weight: 500;
|
|
70
|
+
font-display: swap;
|
|
71
|
+
src: url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
|
|
72
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
73
|
+
}
|
|
74
|
+
@font-face {
|
|
75
|
+
font-family: "IBM Plex Mono";
|
|
76
|
+
font-style: normal;
|
|
77
|
+
font-weight: 500;
|
|
78
|
+
font-display: swap;
|
|
79
|
+
src: url("fonts/ibm-plex-mono-latin-ext-500-normal.woff2") format("woff2");
|
|
80
|
+
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
81
|
+
}
|
|
82
|
+
|
|
1
83
|
:root {
|
|
2
84
|
/* ── Core palette (dark · ink + cyan) ────────────────────── */
|
|
3
85
|
--c-bg: #081524;
|
|
@@ -11,40 +93,27 @@
|
|
|
11
93
|
--c-accent: #4BBCFF;
|
|
12
94
|
--c-ok: #2fd07f;
|
|
13
95
|
--c-warn: #f4c542;
|
|
14
|
-
--c-warn-alt: #FFB300;
|
|
15
96
|
--c-danger: #ff6a7f;
|
|
16
|
-
|
|
17
|
-
--c-
|
|
18
|
-
--c-
|
|
97
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
98
|
+
--c-pin: #4BBCFF;
|
|
99
|
+
--c-on-pin: #081524;
|
|
100
|
+
--c-agent: #B388FF;
|
|
101
|
+
--c-subagent: #E879F9;
|
|
102
|
+
--c-rel-supports: #5FCFC0;
|
|
103
|
+
--c-rel-contradicts: #E59B6B;
|
|
104
|
+
--c-rel-cites: #7C9CFF;
|
|
105
|
+
--c-rel-derived: #D5DEEA;
|
|
106
|
+
--c-rel-informs: #E58FB0;
|
|
107
|
+
--c-rel-related: #8ea3bd;
|
|
19
108
|
--c-input-bg: #0a1729;
|
|
20
109
|
--c-dot-grid: rgba(75, 188, 255, 0.08);
|
|
21
110
|
--c-panel-overlay: rgba(8, 21, 36, 0.6);
|
|
22
111
|
--c-panel-glass: rgba(15, 29, 49, 0.92);
|
|
23
112
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
24
113
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
25
|
-
--c-glow-accent: rgba(75, 188, 255, 0.15);
|
|
26
114
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
27
115
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
28
116
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
29
|
-
--c-accent-8: rgba(75, 188, 255, 0.08);
|
|
30
|
-
--c-accent-10: rgba(75, 188, 255, 0.1);
|
|
31
|
-
--c-accent-12: rgba(75, 188, 255, 0.12);
|
|
32
|
-
--c-accent-15: rgba(75, 188, 255, 0.15);
|
|
33
|
-
--c-accent-25: rgba(75, 188, 255, 0.25);
|
|
34
|
-
--c-accent-30: rgba(75, 188, 255, 0.3);
|
|
35
|
-
--c-accent-40: rgba(75, 188, 255, 0.4);
|
|
36
|
-
--c-ok-10: rgba(47, 208, 127, 0.1);
|
|
37
|
-
--c-ok-12: rgba(47, 208, 127, 0.12);
|
|
38
|
-
--c-ok-20: rgba(47, 208, 127, 0.2);
|
|
39
|
-
--c-ok-25: rgba(47, 208, 127, 0.25);
|
|
40
|
-
--c-warn-10: rgba(244, 197, 66, 0.1);
|
|
41
|
-
--c-warn-12: rgba(244, 197, 66, 0.12);
|
|
42
|
-
--c-warn-15: rgba(244, 197, 66, 0.15);
|
|
43
|
-
--c-warn-20: rgba(244, 197, 66, 0.2);
|
|
44
|
-
--c-warn-22: rgba(244, 197, 66, 0.22);
|
|
45
|
-
--c-warn-30: rgba(244, 197, 66, 0.3);
|
|
46
|
-
--c-warn-60: rgba(244, 197, 66, 0.6);
|
|
47
|
-
--c-danger-12: rgba(255, 106, 127, 0.12);
|
|
48
117
|
--c-line-30: rgba(27, 44, 68, 0.3);
|
|
49
118
|
--c-contrast-fg: #081524;
|
|
50
119
|
--c-accent-hover: #6ECAFF;
|
|
@@ -52,12 +121,30 @@
|
|
|
52
121
|
--c-canvas-wash: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0));
|
|
53
122
|
--c-annotation: #F4EFE6;
|
|
54
123
|
/* ── Non-color tokens ────────────────────────────────────── */
|
|
55
|
-
--font: "IBM Plex Sans", "SF Pro Text", "Avenir Next", system-ui, sans-serif;
|
|
56
|
-
--
|
|
124
|
+
--font-ui: "IBM Plex Sans", "SF Pro Text", "Avenir Next", system-ui, sans-serif;
|
|
125
|
+
--font-code: "IBM Plex Mono", "SF Mono", "Fira Code", monospace;
|
|
57
126
|
--radius: 10px;
|
|
58
127
|
--radius-sm: 6px;
|
|
59
128
|
/* Shared height of the top bar and the session panel header. */
|
|
60
129
|
--hud-bar-height: 44px;
|
|
130
|
+
/* ── Scale (same in every theme; see docs/design.md) ───────── */
|
|
131
|
+
--fs-meta: 11px;
|
|
132
|
+
--fs-ui: 12px;
|
|
133
|
+
--fs-body: 13px;
|
|
134
|
+
--fs-title: 15px;
|
|
135
|
+
--fs-heading: 20px;
|
|
136
|
+
--space-1: 4px;
|
|
137
|
+
--space-2: 8px;
|
|
138
|
+
--space-3: 12px;
|
|
139
|
+
--space-4: 16px;
|
|
140
|
+
--space-6: 24px;
|
|
141
|
+
--space-8: 32px;
|
|
142
|
+
--r-control: 6px;
|
|
143
|
+
--r-node: 10px;
|
|
144
|
+
--r-overlay: 14px;
|
|
145
|
+
--r-pill: 999px;
|
|
146
|
+
--e-1: 0 1px 2px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.24);
|
|
147
|
+
--e-2: 0 10px 30px rgba(0, 0, 0, 0.6);
|
|
61
148
|
}
|
|
62
149
|
|
|
63
150
|
.board-node, .md-card-preview { display: flex; flex-direction: column; height: 100%; min-height: 0; }
|
|
@@ -66,73 +153,63 @@
|
|
|
66
153
|
.board-node-title { display: block; font-size: 17px; line-height: 1.35; margin-bottom: 6px; }
|
|
67
154
|
.board-node-meta { color: var(--c-dim); font-size: 11px; line-height: 1.5; }
|
|
68
155
|
.board-node-summary { color: var(--c-text-soft); font-size: 13px; line-height: 1.6; margin: 14px 0; }
|
|
69
|
-
.board-node-open { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; width: 100%; padding: 10px 16px; border: 0; border-top: 1px solid var(--c-line); background: var(--c-panel); color: var(--c-accent); font: 500 12px var(--font); text-align: left; cursor: pointer; }
|
|
70
|
-
.board-node-open:hover:not(:disabled) { background: var(--c-accent
|
|
156
|
+
.board-node-open { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; width: 100%; padding: 10px 16px; border: 0; border-top: 1px solid var(--c-line); background: var(--c-panel); color: var(--c-accent); font: 500 12px var(--font-ui); text-align: left; cursor: pointer; }
|
|
157
|
+
.board-node-open:hover:not(:disabled) { background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
|
|
71
158
|
.board-node-open:disabled { color: var(--c-dim); cursor: default; }
|
|
72
159
|
.md-card-content { flex: 1; min-height: 0; overflow: auto; }
|
|
73
160
|
.md-card-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; border-top: 1px solid var(--c-line); padding: 6px 36px 6px 8px; background: var(--c-panel); }
|
|
74
|
-
.md-card-actions button { border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--c-dim); padding: 4px 8px; font: 500 11px var(--font); cursor: pointer; }
|
|
75
|
-
.md-card-actions button:hover { color: var(--c-text); background: var(--c-accent
|
|
76
|
-
.md-card-actions .md-readme-btn[aria-pressed="true"] { color: var(--c-accent); background: var(--c-accent
|
|
161
|
+
.md-card-actions button { border: 1px solid transparent; border-radius: var(--radius-sm); background: transparent; color: var(--c-dim); padding: 4px 8px; font: 500 11px var(--font-ui); cursor: pointer; }
|
|
162
|
+
.md-card-actions button:hover { color: var(--c-text); background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
|
|
163
|
+
.md-card-actions .md-readme-btn[aria-pressed="true"] { color: var(--c-accent); background: color-mix(in srgb, var(--c-accent) 8%, transparent); border-color: color-mix(in srgb, var(--c-accent) 25%, transparent); }
|
|
77
164
|
.md-card-edit { margin-left: auto; }
|
|
78
165
|
.board-node-open:focus-visible, .md-card-actions button:focus-visible { outline: 2px solid var(--c-accent); outline-offset: -2px; }
|
|
79
166
|
.canvas-node[data-node-type="markdown"] .node-body,
|
|
80
167
|
.canvas-node[data-node-type="board"] .node-body { padding: 0; }
|
|
81
168
|
.md-card-content { padding: 10px 14px; }
|
|
82
169
|
|
|
83
|
-
:root[data-theme="
|
|
84
|
-
/* ── Core palette (
|
|
85
|
-
--c-bg: #
|
|
86
|
-
--c-panel: #
|
|
87
|
-
--c-panel-soft: #
|
|
88
|
-
--c-line: #
|
|
89
|
-
--c-text: #
|
|
170
|
+
:root[data-theme="daylight"] {
|
|
171
|
+
/* ── Core palette (Daylight · neutral paper + ink) ───────── */
|
|
172
|
+
--c-bg: #F6F7F9;
|
|
173
|
+
--c-panel: #FFFFFF;
|
|
174
|
+
--c-panel-soft: #F2F4F7;
|
|
175
|
+
--c-line: #DDE2E9;
|
|
176
|
+
--c-text: #0B1726;
|
|
90
177
|
--c-text-soft: #3d4d63;
|
|
91
|
-
--c-muted: #
|
|
92
|
-
--c-dim: #
|
|
178
|
+
--c-muted: #55657a;
|
|
179
|
+
--c-dim: #6f7d90;
|
|
93
180
|
--c-accent: #1A7ABF;
|
|
94
|
-
--c-ok: #
|
|
95
|
-
--c-warn: #
|
|
96
|
-
--c-
|
|
97
|
-
|
|
98
|
-
--c-
|
|
99
|
-
--c-
|
|
100
|
-
--c-
|
|
101
|
-
--c-
|
|
102
|
-
--c-
|
|
103
|
-
--c-
|
|
104
|
-
--c-
|
|
181
|
+
--c-ok: #1E7F51;
|
|
182
|
+
--c-warn: #94600A;
|
|
183
|
+
--c-danger: #B8344A;
|
|
184
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
185
|
+
--c-pin: #1A7ABF;
|
|
186
|
+
--c-on-pin: #FFFFFF;
|
|
187
|
+
--c-agent: #7C4DDB;
|
|
188
|
+
--c-subagent: #A83BB0;
|
|
189
|
+
--c-rel-supports: #1E8C80;
|
|
190
|
+
--c-rel-contradicts: #B8572A;
|
|
191
|
+
--c-rel-cites: #4257C9;
|
|
192
|
+
--c-rel-derived: #4A5566;
|
|
193
|
+
--c-rel-informs: #B03F72;
|
|
194
|
+
--c-rel-related: #5c6b80;
|
|
195
|
+
/* Light themes: ink-tinted shadows (the drawn black ones are for dark surfaces). */
|
|
196
|
+
--e-1: 0 1px 2px rgba(8, 21, 36, 0.1), 0 6px 20px rgba(8, 21, 36, 0.08);
|
|
197
|
+
--e-2: 0 10px 30px rgba(8, 21, 36, 0.18);
|
|
198
|
+
--c-input-bg: #FFFFFF;
|
|
199
|
+
--c-dot-grid: rgba(11, 23, 38, 0.12);
|
|
200
|
+
--c-panel-overlay: rgba(246, 247, 249, 0.88);
|
|
201
|
+
--c-panel-glass: rgba(255, 255, 255, 0.88);
|
|
105
202
|
--c-shadow: rgba(8, 21, 36, 0.08);
|
|
106
203
|
--c-shadow-heavy: rgba(8, 21, 36, 0.16);
|
|
107
|
-
--c-glow-accent: rgba(26, 122, 191, 0.12);
|
|
108
204
|
--c-surface-hover: rgba(8, 21, 36, 0.06);
|
|
109
205
|
--c-surface-subtle: rgba(8, 21, 36, 0.03);
|
|
110
206
|
--c-surface-th: rgba(8, 21, 36, 0.04);
|
|
111
|
-
--c-
|
|
112
|
-
--c-
|
|
113
|
-
--c-accent-12: rgba(26, 122, 191, 0.12);
|
|
114
|
-
--c-accent-15: rgba(26, 122, 191, 0.15);
|
|
115
|
-
--c-accent-25: rgba(26, 122, 191, 0.25);
|
|
116
|
-
--c-accent-30: rgba(26, 122, 191, 0.3);
|
|
117
|
-
--c-accent-40: rgba(26, 122, 191, 0.4);
|
|
118
|
-
--c-ok-10: rgba(26, 159, 85, 0.1);
|
|
119
|
-
--c-ok-12: rgba(26, 159, 85, 0.12);
|
|
120
|
-
--c-ok-20: rgba(26, 159, 85, 0.2);
|
|
121
|
-
--c-ok-25: rgba(26, 159, 85, 0.25);
|
|
122
|
-
--c-warn-10: rgba(200, 155, 42, 0.1);
|
|
123
|
-
--c-warn-12: rgba(200, 155, 42, 0.12);
|
|
124
|
-
--c-warn-15: rgba(200, 155, 42, 0.15);
|
|
125
|
-
--c-warn-20: rgba(200, 155, 42, 0.2);
|
|
126
|
-
--c-warn-22: rgba(200, 155, 42, 0.22);
|
|
127
|
-
--c-warn-30: rgba(200, 155, 42, 0.3);
|
|
128
|
-
--c-warn-60: rgba(200, 155, 42, 0.6);
|
|
129
|
-
--c-danger-12: rgba(211, 47, 47, 0.12);
|
|
130
|
-
--c-line-30: rgba(214, 203, 180, 0.5);
|
|
131
|
-
--c-contrast-fg: #F4EFE6;
|
|
207
|
+
--c-line-30: rgba(221, 226, 233, 0.5);
|
|
208
|
+
--c-contrast-fg: #FFFFFF;
|
|
132
209
|
--c-accent-hover: #1588CE;
|
|
133
210
|
--c-warn-hover: #dab040;
|
|
134
211
|
--c-canvas-wash: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(8, 21, 36, 0.02));
|
|
135
|
-
--c-annotation: #
|
|
212
|
+
--c-annotation: #0B1726;
|
|
136
213
|
}
|
|
137
214
|
|
|
138
215
|
:root[data-theme="high-contrast"] {
|
|
@@ -147,40 +224,27 @@
|
|
|
147
224
|
--c-accent: #00ffff;
|
|
148
225
|
--c-ok: #00ff00;
|
|
149
226
|
--c-warn: #ffff00;
|
|
150
|
-
--c-warn-alt: #ffcc00;
|
|
151
227
|
--c-danger: #ff0000;
|
|
152
|
-
|
|
153
|
-
--c-
|
|
154
|
-
--c-
|
|
228
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
229
|
+
--c-pin: #00ffff;
|
|
230
|
+
--c-on-pin: #000000;
|
|
231
|
+
--c-agent: #e040fb;
|
|
232
|
+
--c-subagent: #ff99ff;
|
|
233
|
+
--c-rel-supports: #00e5c0;
|
|
234
|
+
--c-rel-contradicts: #ff8a00;
|
|
235
|
+
--c-rel-cites: #8c9eff;
|
|
236
|
+
--c-rel-derived: #ffffff;
|
|
237
|
+
--c-rel-informs: #ff80ab;
|
|
238
|
+
--c-rel-related: #aaaaaa;
|
|
155
239
|
--c-input-bg: #111111;
|
|
156
240
|
--c-dot-grid: rgba(255, 255, 255, 0.12);
|
|
157
241
|
--c-panel-overlay: rgba(0, 0, 0, 0.85);
|
|
158
242
|
--c-panel-glass: rgba(0, 0, 0, 0.95);
|
|
159
243
|
--c-shadow: rgba(0, 0, 0, 0.5);
|
|
160
244
|
--c-shadow-heavy: rgba(0, 0, 0, 0.7);
|
|
161
|
-
--c-glow-accent: rgba(0, 255, 255, 0.2);
|
|
162
245
|
--c-surface-hover: rgba(255, 255, 255, 0.1);
|
|
163
246
|
--c-surface-subtle: rgba(255, 255, 255, 0.05);
|
|
164
247
|
--c-surface-th: rgba(255, 255, 255, 0.08);
|
|
165
|
-
--c-accent-8: rgba(0, 255, 255, 0.08);
|
|
166
|
-
--c-accent-10: rgba(0, 255, 255, 0.1);
|
|
167
|
-
--c-accent-12: rgba(0, 255, 255, 0.12);
|
|
168
|
-
--c-accent-15: rgba(0, 255, 255, 0.15);
|
|
169
|
-
--c-accent-25: rgba(0, 255, 255, 0.25);
|
|
170
|
-
--c-accent-30: rgba(0, 255, 255, 0.3);
|
|
171
|
-
--c-accent-40: rgba(0, 255, 255, 0.4);
|
|
172
|
-
--c-ok-10: rgba(0, 255, 0, 0.1);
|
|
173
|
-
--c-ok-12: rgba(0, 255, 0, 0.12);
|
|
174
|
-
--c-ok-20: rgba(0, 255, 0, 0.2);
|
|
175
|
-
--c-ok-25: rgba(0, 255, 0, 0.25);
|
|
176
|
-
--c-warn-10: rgba(255, 255, 0, 0.1);
|
|
177
|
-
--c-warn-12: rgba(255, 255, 0, 0.12);
|
|
178
|
-
--c-warn-15: rgba(255, 255, 0, 0.15);
|
|
179
|
-
--c-warn-20: rgba(255, 255, 0, 0.2);
|
|
180
|
-
--c-warn-22: rgba(255, 255, 0, 0.22);
|
|
181
|
-
--c-warn-30: rgba(255, 255, 0, 0.3);
|
|
182
|
-
--c-warn-60: rgba(255, 255, 0, 0.6);
|
|
183
|
-
--c-danger-12: rgba(255, 0, 0, 0.12);
|
|
184
248
|
--c-line-30: rgba(255, 255, 255, 0.3);
|
|
185
249
|
--c-contrast-fg: #000000;
|
|
186
250
|
--c-accent-hover: #33ffff;
|
|
@@ -202,40 +266,27 @@
|
|
|
202
266
|
--c-accent: #8B96FF;
|
|
203
267
|
--c-ok: #34D399;
|
|
204
268
|
--c-warn: #F5C452;
|
|
205
|
-
--c-warn-alt: #FFB300;
|
|
206
269
|
--c-danger: #FF6B8A;
|
|
207
|
-
|
|
208
|
-
--c-
|
|
209
|
-
--c-
|
|
270
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
271
|
+
--c-pin: #4BBCFF;
|
|
272
|
+
--c-on-pin: #081524;
|
|
273
|
+
--c-agent: #B388FF;
|
|
274
|
+
--c-subagent: #E879F9;
|
|
275
|
+
--c-rel-supports: #5FCFC0;
|
|
276
|
+
--c-rel-contradicts: #E59B6B;
|
|
277
|
+
--c-rel-cites: #7C9CFF;
|
|
278
|
+
--c-rel-derived: #D5DEEA;
|
|
279
|
+
--c-rel-informs: #E58FB0;
|
|
280
|
+
--c-rel-related: #8D96BC;
|
|
210
281
|
--c-input-bg: #0D1224;
|
|
211
282
|
--c-dot-grid: rgba(139, 150, 255, 0.08);
|
|
212
283
|
--c-panel-overlay: rgba(10, 13, 28, 0.6);
|
|
213
284
|
--c-panel-glass: rgba(18, 23, 46, 0.92);
|
|
214
285
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
215
286
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
216
|
-
--c-glow-accent: rgba(139, 150, 255, 0.15);
|
|
217
287
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
218
288
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
219
289
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
220
|
-
--c-accent-8: rgba(139, 150, 255, 0.08);
|
|
221
|
-
--c-accent-10: rgba(139, 150, 255, 0.1);
|
|
222
|
-
--c-accent-12: rgba(139, 150, 255, 0.12);
|
|
223
|
-
--c-accent-15: rgba(139, 150, 255, 0.15);
|
|
224
|
-
--c-accent-25: rgba(139, 150, 255, 0.25);
|
|
225
|
-
--c-accent-30: rgba(139, 150, 255, 0.3);
|
|
226
|
-
--c-accent-40: rgba(139, 150, 255, 0.4);
|
|
227
|
-
--c-ok-10: rgba(52, 211, 153, 0.1);
|
|
228
|
-
--c-ok-12: rgba(52, 211, 153, 0.12);
|
|
229
|
-
--c-ok-20: rgba(52, 211, 153, 0.2);
|
|
230
|
-
--c-ok-25: rgba(52, 211, 153, 0.25);
|
|
231
|
-
--c-warn-10: rgba(245, 196, 82, 0.1);
|
|
232
|
-
--c-warn-12: rgba(245, 196, 82, 0.12);
|
|
233
|
-
--c-warn-15: rgba(245, 196, 82, 0.15);
|
|
234
|
-
--c-warn-20: rgba(245, 196, 82, 0.2);
|
|
235
|
-
--c-warn-22: rgba(245, 196, 82, 0.22);
|
|
236
|
-
--c-warn-30: rgba(245, 196, 82, 0.3);
|
|
237
|
-
--c-warn-60: rgba(245, 196, 82, 0.6);
|
|
238
|
-
--c-danger-12: rgba(255, 107, 138, 0.12);
|
|
239
290
|
--c-line-30: rgba(35, 43, 74, 0.3);
|
|
240
291
|
--c-contrast-fg: #0A0D1C;
|
|
241
292
|
--c-accent-hover: #A3ACFF;
|
|
@@ -256,41 +307,31 @@
|
|
|
256
307
|
--c-dim: #978870;
|
|
257
308
|
--c-accent: #B4632C;
|
|
258
309
|
--c-ok: #3E7D4F;
|
|
259
|
-
--c-warn: #
|
|
260
|
-
--c-warn-alt: #8F6A0D;
|
|
310
|
+
--c-warn: #8A5A00;
|
|
261
311
|
--c-danger: #B3402E;
|
|
262
|
-
|
|
263
|
-
--c-
|
|
264
|
-
--c-
|
|
312
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
313
|
+
--c-pin: #1F6FA8;
|
|
314
|
+
--c-on-pin: #FFFFFF;
|
|
315
|
+
--c-agent: #7046A6;
|
|
316
|
+
--c-subagent: #A83BB0;
|
|
317
|
+
--c-rel-supports: #1E8C80;
|
|
318
|
+
--c-rel-contradicts: #A3461C;
|
|
319
|
+
--c-rel-cites: #3D50B0;
|
|
320
|
+
--c-rel-derived: #4E4433;
|
|
321
|
+
--c-rel-informs: #9C3A66;
|
|
322
|
+
--c-rel-related: #6B6A66;
|
|
323
|
+
/* Light themes: ink-tinted shadows (the drawn black ones are for dark surfaces). */
|
|
324
|
+
--e-1: 0 1px 2px rgba(8, 21, 36, 0.1), 0 6px 20px rgba(8, 21, 36, 0.08);
|
|
325
|
+
--e-2: 0 10px 30px rgba(8, 21, 36, 0.18);
|
|
265
326
|
--c-input-bg: #F7EEDD;
|
|
266
327
|
--c-dot-grid: rgba(46, 36, 22, 0.08);
|
|
267
328
|
--c-panel-overlay: rgba(242, 231, 213, 0.88);
|
|
268
329
|
--c-panel-glass: rgba(235, 220, 194, 0.88);
|
|
269
330
|
--c-shadow: rgba(46, 36, 22, 0.08);
|
|
270
331
|
--c-shadow-heavy: rgba(46, 36, 22, 0.16);
|
|
271
|
-
--c-glow-accent: rgba(180, 99, 44, 0.12);
|
|
272
332
|
--c-surface-hover: rgba(46, 36, 22, 0.06);
|
|
273
333
|
--c-surface-subtle: rgba(46, 36, 22, 0.03);
|
|
274
334
|
--c-surface-th: rgba(46, 36, 22, 0.04);
|
|
275
|
-
--c-accent-8: rgba(180, 99, 44, 0.08);
|
|
276
|
-
--c-accent-10: rgba(180, 99, 44, 0.1);
|
|
277
|
-
--c-accent-12: rgba(180, 99, 44, 0.12);
|
|
278
|
-
--c-accent-15: rgba(180, 99, 44, 0.15);
|
|
279
|
-
--c-accent-25: rgba(180, 99, 44, 0.25);
|
|
280
|
-
--c-accent-30: rgba(180, 99, 44, 0.3);
|
|
281
|
-
--c-accent-40: rgba(180, 99, 44, 0.4);
|
|
282
|
-
--c-ok-10: rgba(62, 125, 79, 0.1);
|
|
283
|
-
--c-ok-12: rgba(62, 125, 79, 0.12);
|
|
284
|
-
--c-ok-20: rgba(62, 125, 79, 0.2);
|
|
285
|
-
--c-ok-25: rgba(62, 125, 79, 0.25);
|
|
286
|
-
--c-warn-10: rgba(169, 123, 30, 0.1);
|
|
287
|
-
--c-warn-12: rgba(169, 123, 30, 0.12);
|
|
288
|
-
--c-warn-15: rgba(169, 123, 30, 0.15);
|
|
289
|
-
--c-warn-20: rgba(169, 123, 30, 0.2);
|
|
290
|
-
--c-warn-22: rgba(169, 123, 30, 0.22);
|
|
291
|
-
--c-warn-30: rgba(169, 123, 30, 0.3);
|
|
292
|
-
--c-warn-60: rgba(169, 123, 30, 0.6);
|
|
293
|
-
--c-danger-12: rgba(179, 64, 46, 0.12);
|
|
294
335
|
--c-line-30: rgba(211, 193, 160, 0.5);
|
|
295
336
|
--c-contrast-fg: #F2E7D5;
|
|
296
337
|
--c-accent-hover: #C4763F;
|
|
@@ -312,40 +353,27 @@
|
|
|
312
353
|
--c-accent: #7FC8DE;
|
|
313
354
|
--c-ok: #74C596;
|
|
314
355
|
--c-warn: #E8C476;
|
|
315
|
-
--c-warn-alt: #E0A93F;
|
|
316
356
|
--c-danger: #D9707C;
|
|
317
|
-
|
|
318
|
-
--c-
|
|
319
|
-
--c-
|
|
357
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
358
|
+
--c-pin: #6EC1F5;
|
|
359
|
+
--c-on-pin: #081524;
|
|
360
|
+
--c-agent: #B388FF;
|
|
361
|
+
--c-subagent: #E879F9;
|
|
362
|
+
--c-rel-supports: #5FCFC0;
|
|
363
|
+
--c-rel-contradicts: #E59B6B;
|
|
364
|
+
--c-rel-cites: #7C9CFF;
|
|
365
|
+
--c-rel-derived: #D5DEEA;
|
|
366
|
+
--c-rel-informs: #E58FB0;
|
|
367
|
+
--c-rel-related: #939DB1;
|
|
320
368
|
--c-input-bg: #242936;
|
|
321
369
|
--c-dot-grid: rgba(127, 200, 222, 0.08);
|
|
322
370
|
--c-panel-overlay: rgba(32, 36, 46, 0.6);
|
|
323
371
|
--c-panel-glass: rgba(42, 47, 60, 0.92);
|
|
324
372
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
325
373
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
326
|
-
--c-glow-accent: rgba(127, 200, 222, 0.15);
|
|
327
374
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
328
375
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
329
376
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
330
|
-
--c-accent-8: rgba(127, 200, 222, 0.08);
|
|
331
|
-
--c-accent-10: rgba(127, 200, 222, 0.1);
|
|
332
|
-
--c-accent-12: rgba(127, 200, 222, 0.12);
|
|
333
|
-
--c-accent-15: rgba(127, 200, 222, 0.15);
|
|
334
|
-
--c-accent-25: rgba(127, 200, 222, 0.25);
|
|
335
|
-
--c-accent-30: rgba(127, 200, 222, 0.3);
|
|
336
|
-
--c-accent-40: rgba(127, 200, 222, 0.4);
|
|
337
|
-
--c-ok-10: rgba(116, 197, 150, 0.1);
|
|
338
|
-
--c-ok-12: rgba(116, 197, 150, 0.12);
|
|
339
|
-
--c-ok-20: rgba(116, 197, 150, 0.2);
|
|
340
|
-
--c-ok-25: rgba(116, 197, 150, 0.25);
|
|
341
|
-
--c-warn-10: rgba(232, 196, 118, 0.1);
|
|
342
|
-
--c-warn-12: rgba(232, 196, 118, 0.12);
|
|
343
|
-
--c-warn-15: rgba(232, 196, 118, 0.15);
|
|
344
|
-
--c-warn-20: rgba(232, 196, 118, 0.2);
|
|
345
|
-
--c-warn-22: rgba(232, 196, 118, 0.22);
|
|
346
|
-
--c-warn-30: rgba(232, 196, 118, 0.3);
|
|
347
|
-
--c-warn-60: rgba(232, 196, 118, 0.6);
|
|
348
|
-
--c-danger-12: rgba(217, 112, 124, 0.12);
|
|
349
377
|
--c-line-30: rgba(58, 65, 82, 0.3);
|
|
350
378
|
--c-contrast-fg: #20242E;
|
|
351
379
|
--c-accent-hover: #9AD5E7;
|
|
@@ -367,40 +395,27 @@
|
|
|
367
395
|
--c-accent: #F34E1C;
|
|
368
396
|
--c-ok: #4CC38A;
|
|
369
397
|
--c-warn: #F5B944;
|
|
370
|
-
--c-warn-alt: #FFB300;
|
|
371
398
|
--c-danger: #F0566A;
|
|
372
|
-
|
|
373
|
-
--c-
|
|
374
|
-
--c-
|
|
399
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
400
|
+
--c-pin: #4BBCFF;
|
|
401
|
+
--c-on-pin: #081524;
|
|
402
|
+
--c-agent: #B388FF;
|
|
403
|
+
--c-subagent: #E879F9;
|
|
404
|
+
--c-rel-supports: #5FCFC0;
|
|
405
|
+
--c-rel-contradicts: #E59B6B;
|
|
406
|
+
--c-rel-cites: #7C9CFF;
|
|
407
|
+
--c-rel-derived: #D5DEEA;
|
|
408
|
+
--c-rel-informs: #E58FB0;
|
|
409
|
+
--c-rel-related: #96948D;
|
|
375
410
|
--c-input-bg: #101012;
|
|
376
411
|
--c-dot-grid: rgba(243, 78, 28, 0.08);
|
|
377
412
|
--c-panel-overlay: rgba(11, 11, 12, 0.6);
|
|
378
413
|
--c-panel-glass: rgba(22, 22, 24, 0.92);
|
|
379
414
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
380
415
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
381
|
-
--c-glow-accent: rgba(243, 78, 28, 0.15);
|
|
382
416
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
383
417
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
384
418
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
385
|
-
--c-accent-8: rgba(243, 78, 28, 0.08);
|
|
386
|
-
--c-accent-10: rgba(243, 78, 28, 0.1);
|
|
387
|
-
--c-accent-12: rgba(243, 78, 28, 0.12);
|
|
388
|
-
--c-accent-15: rgba(243, 78, 28, 0.15);
|
|
389
|
-
--c-accent-25: rgba(243, 78, 28, 0.25);
|
|
390
|
-
--c-accent-30: rgba(243, 78, 28, 0.3);
|
|
391
|
-
--c-accent-40: rgba(243, 78, 28, 0.4);
|
|
392
|
-
--c-ok-10: rgba(76, 195, 138, 0.1);
|
|
393
|
-
--c-ok-12: rgba(76, 195, 138, 0.12);
|
|
394
|
-
--c-ok-20: rgba(76, 195, 138, 0.2);
|
|
395
|
-
--c-ok-25: rgba(76, 195, 138, 0.25);
|
|
396
|
-
--c-warn-10: rgba(245, 185, 68, 0.1);
|
|
397
|
-
--c-warn-12: rgba(245, 185, 68, 0.12);
|
|
398
|
-
--c-warn-15: rgba(245, 185, 68, 0.15);
|
|
399
|
-
--c-warn-20: rgba(245, 185, 68, 0.2);
|
|
400
|
-
--c-warn-22: rgba(245, 185, 68, 0.22);
|
|
401
|
-
--c-warn-30: rgba(245, 185, 68, 0.3);
|
|
402
|
-
--c-warn-60: rgba(245, 185, 68, 0.6);
|
|
403
|
-
--c-danger-12: rgba(240, 86, 106, 0.12);
|
|
404
419
|
--c-line-30: rgba(41, 41, 44, 0.3);
|
|
405
420
|
--c-contrast-fg: #0B0B0C;
|
|
406
421
|
--c-accent-hover: #FF6B3A;
|
|
@@ -422,40 +437,27 @@
|
|
|
422
437
|
--c-accent: #5CCF8F;
|
|
423
438
|
--c-ok: #74D99F;
|
|
424
439
|
--c-warn: #E0B84F;
|
|
425
|
-
--c-warn-alt: #D9A421;
|
|
426
440
|
--c-danger: #E57373;
|
|
427
|
-
|
|
428
|
-
--c-
|
|
429
|
-
--c-
|
|
441
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
442
|
+
--c-pin: #4BBCFF;
|
|
443
|
+
--c-on-pin: #081524;
|
|
444
|
+
--c-agent: #B388FF;
|
|
445
|
+
--c-subagent: #E879F9;
|
|
446
|
+
--c-rel-supports: #4FC9D9;
|
|
447
|
+
--c-rel-contradicts: #E59B6B;
|
|
448
|
+
--c-rel-cites: #7C9CFF;
|
|
449
|
+
--c-rel-derived: #D5DEEA;
|
|
450
|
+
--c-rel-informs: #E58FB0;
|
|
451
|
+
--c-rel-related: #8BA695;
|
|
430
452
|
--c-input-bg: #101D16;
|
|
431
453
|
--c-dot-grid: rgba(92, 207, 143, 0.08);
|
|
432
454
|
--c-panel-overlay: rgba(12, 23, 18, 0.6);
|
|
433
455
|
--c-panel-glass: rgba(20, 35, 27, 0.92);
|
|
434
456
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
435
457
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
436
|
-
--c-glow-accent: rgba(92, 207, 143, 0.15);
|
|
437
458
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
438
459
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
439
460
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
440
|
-
--c-accent-8: rgba(92, 207, 143, 0.08);
|
|
441
|
-
--c-accent-10: rgba(92, 207, 143, 0.1);
|
|
442
|
-
--c-accent-12: rgba(92, 207, 143, 0.12);
|
|
443
|
-
--c-accent-15: rgba(92, 207, 143, 0.15);
|
|
444
|
-
--c-accent-25: rgba(92, 207, 143, 0.25);
|
|
445
|
-
--c-accent-30: rgba(92, 207, 143, 0.3);
|
|
446
|
-
--c-accent-40: rgba(92, 207, 143, 0.4);
|
|
447
|
-
--c-ok-10: rgba(116, 217, 159, 0.1);
|
|
448
|
-
--c-ok-12: rgba(116, 217, 159, 0.12);
|
|
449
|
-
--c-ok-20: rgba(116, 217, 159, 0.2);
|
|
450
|
-
--c-ok-25: rgba(116, 217, 159, 0.25);
|
|
451
|
-
--c-warn-10: rgba(224, 184, 79, 0.1);
|
|
452
|
-
--c-warn-12: rgba(224, 184, 79, 0.12);
|
|
453
|
-
--c-warn-15: rgba(224, 184, 79, 0.15);
|
|
454
|
-
--c-warn-20: rgba(224, 184, 79, 0.2);
|
|
455
|
-
--c-warn-22: rgba(224, 184, 79, 0.22);
|
|
456
|
-
--c-warn-30: rgba(224, 184, 79, 0.3);
|
|
457
|
-
--c-warn-60: rgba(224, 184, 79, 0.6);
|
|
458
|
-
--c-danger-12: rgba(229, 115, 115, 0.12);
|
|
459
461
|
--c-line-30: rgba(38, 64, 47, 0.3);
|
|
460
462
|
--c-contrast-fg: #0C1712;
|
|
461
463
|
--c-accent-hover: #7BDAA4;
|
|
@@ -477,40 +479,27 @@
|
|
|
477
479
|
--c-accent: #DFDFC1;
|
|
478
480
|
--c-ok: #52C880;
|
|
479
481
|
--c-warn: #E4C465;
|
|
480
|
-
--c-warn-alt: #FFB300;
|
|
481
482
|
--c-danger: #D67670;
|
|
482
|
-
|
|
483
|
-
--c-
|
|
484
|
-
--c-
|
|
483
|
+
/* ── Meaning (one hue per meaning in every theme; see docs/design.md) ── */
|
|
484
|
+
--c-pin: #4BBCFF;
|
|
485
|
+
--c-on-pin: #081524;
|
|
486
|
+
--c-agent: #B388FF;
|
|
487
|
+
--c-subagent: #E879F9;
|
|
488
|
+
--c-rel-supports: #5FCFC0;
|
|
489
|
+
--c-rel-contradicts: #E59B6B;
|
|
490
|
+
--c-rel-cites: #7C9CFF;
|
|
491
|
+
--c-rel-derived: #D5DEEA;
|
|
492
|
+
--c-rel-informs: #E58FB0;
|
|
493
|
+
--c-rel-related: #9CA49C;
|
|
485
494
|
--c-input-bg: #111311;
|
|
486
495
|
--c-dot-grid: rgba(223, 223, 193, 0.08);
|
|
487
496
|
--c-panel-overlay: rgba(11, 13, 11, 0.6);
|
|
488
497
|
--c-panel-glass: rgba(23, 26, 23, 0.92);
|
|
489
498
|
--c-shadow: rgba(0, 0, 0, 0.3);
|
|
490
499
|
--c-shadow-heavy: rgba(0, 0, 0, 0.5);
|
|
491
|
-
--c-glow-accent: rgba(223, 223, 193, 0.15);
|
|
492
500
|
--c-surface-hover: rgba(255, 255, 255, 0.06);
|
|
493
501
|
--c-surface-subtle: rgba(255, 255, 255, 0.03);
|
|
494
502
|
--c-surface-th: rgba(255, 255, 255, 0.04);
|
|
495
|
-
--c-accent-8: rgba(223, 223, 193, 0.08);
|
|
496
|
-
--c-accent-10: rgba(223, 223, 193, 0.1);
|
|
497
|
-
--c-accent-12: rgba(223, 223, 193, 0.12);
|
|
498
|
-
--c-accent-15: rgba(223, 223, 193, 0.15);
|
|
499
|
-
--c-accent-25: rgba(223, 223, 193, 0.25);
|
|
500
|
-
--c-accent-30: rgba(223, 223, 193, 0.3);
|
|
501
|
-
--c-accent-40: rgba(223, 223, 193, 0.4);
|
|
502
|
-
--c-ok-10: rgba(82, 200, 128, 0.1);
|
|
503
|
-
--c-ok-12: rgba(82, 200, 128, 0.12);
|
|
504
|
-
--c-ok-20: rgba(82, 200, 128, 0.2);
|
|
505
|
-
--c-ok-25: rgba(82, 200, 128, 0.25);
|
|
506
|
-
--c-warn-10: rgba(228, 196, 101, 0.1);
|
|
507
|
-
--c-warn-12: rgba(228, 196, 101, 0.12);
|
|
508
|
-
--c-warn-15: rgba(228, 196, 101, 0.15);
|
|
509
|
-
--c-warn-20: rgba(228, 196, 101, 0.2);
|
|
510
|
-
--c-warn-22: rgba(228, 196, 101, 0.22);
|
|
511
|
-
--c-warn-30: rgba(228, 196, 101, 0.3);
|
|
512
|
-
--c-warn-60: rgba(228, 196, 101, 0.6);
|
|
513
|
-
--c-danger-12: rgba(214, 118, 112, 0.12);
|
|
514
503
|
--c-line-30: rgba(39, 42, 39, 0.3);
|
|
515
504
|
--c-contrast-fg: #0B0D0B;
|
|
516
505
|
--c-accent-hover: #EDEDDB;
|
|
@@ -525,6 +514,14 @@
|
|
|
525
514
|
padding: 0;
|
|
526
515
|
}
|
|
527
516
|
|
|
517
|
+
/* Controls take the page font instead of the browser's (Arial). */
|
|
518
|
+
button,
|
|
519
|
+
input,
|
|
520
|
+
select,
|
|
521
|
+
textarea {
|
|
522
|
+
font: inherit;
|
|
523
|
+
}
|
|
524
|
+
|
|
528
525
|
html,
|
|
529
526
|
body,
|
|
530
527
|
#app {
|
|
@@ -533,7 +530,7 @@ body,
|
|
|
533
530
|
overflow: hidden;
|
|
534
531
|
background: var(--c-bg);
|
|
535
532
|
color: var(--c-text);
|
|
536
|
-
font: 14px / 1.55 var(--font);
|
|
533
|
+
font: 14px / 1.55 var(--font-ui);
|
|
537
534
|
-webkit-font-smoothing: antialiased;
|
|
538
535
|
}
|
|
539
536
|
|
|
@@ -564,12 +561,13 @@ body,
|
|
|
564
561
|
/* Node card shared styles */
|
|
565
562
|
.canvas-node {
|
|
566
563
|
position: absolute;
|
|
567
|
-
/* Standard card shell (
|
|
568
|
-
|
|
564
|
+
/* Standard card shell (docs/design/Context.dc.html): node surface, node
|
|
565
|
+
radius, first elevation. Every node kind shares it; the kind shows in
|
|
566
|
+
the icon color. */
|
|
569
567
|
background: var(--c-panel);
|
|
570
568
|
border: 1px solid var(--c-line);
|
|
571
|
-
border-radius:
|
|
572
|
-
box-shadow:
|
|
569
|
+
border-radius: var(--r-node);
|
|
570
|
+
box-shadow: var(--e-1);
|
|
573
571
|
display: flex;
|
|
574
572
|
flex-direction: column;
|
|
575
573
|
overflow: visible;
|
|
@@ -597,24 +595,24 @@ body,
|
|
|
597
595
|
|
|
598
596
|
.canvas-node.active {
|
|
599
597
|
border-color: var(--c-accent);
|
|
600
|
-
box-shadow: 0 0 0 1px var(--c-accent), 0 6px 32px var(--c-
|
|
598
|
+
box-shadow: 0 0 0 1px var(--c-accent), 0 6px 32px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
601
599
|
}
|
|
602
600
|
|
|
603
601
|
.canvas-node.neighbor {
|
|
604
|
-
border-color: var(--c-accent
|
|
605
|
-
box-shadow: 0 0 0 1px var(--c-accent
|
|
602
|
+
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
603
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 4px 20px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
606
604
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
607
605
|
}
|
|
608
606
|
|
|
609
607
|
/* Spatial search highlighting — canvas lights up as you type in Cmd+K */
|
|
610
608
|
.canvas-node.search-match {
|
|
611
609
|
border-color: var(--c-accent);
|
|
612
|
-
box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px var(--c-accent
|
|
610
|
+
box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 0 40px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
613
611
|
animation: search-pulse 1.5s ease-in-out infinite;
|
|
614
612
|
}
|
|
615
613
|
@keyframes search-pulse {
|
|
616
|
-
0%, 100% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px var(--c-accent
|
|
617
|
-
50% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 30px var(--c-accent
|
|
614
|
+
0%, 100% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 0 40px color-mix(in srgb, var(--c-accent) 15%, transparent); }
|
|
615
|
+
50% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 30px color-mix(in srgb, var(--c-accent) 40%, transparent), 0 0 60px color-mix(in srgb, var(--c-accent) 25%, transparent); }
|
|
618
616
|
}
|
|
619
617
|
.canvas-node.search-dimmed {
|
|
620
618
|
opacity: 0.25;
|
|
@@ -638,8 +636,8 @@ body,
|
|
|
638
636
|
}
|
|
639
637
|
.node-port::after {
|
|
640
638
|
content: '';
|
|
641
|
-
width: calc(
|
|
642
|
-
height: calc(
|
|
639
|
+
width: calc(4px * var(--node-port-scale, 1));
|
|
640
|
+
height: calc(4px * var(--node-port-scale, 1));
|
|
643
641
|
border-radius: 50%;
|
|
644
642
|
background: var(--c-accent);
|
|
645
643
|
border: calc(2px * var(--node-port-scale, 1)) solid var(--c-panel);
|
|
@@ -698,31 +696,15 @@ body,
|
|
|
698
696
|
justify-content: center;
|
|
699
697
|
width: calc(14px * var(--node-chrome-scale, 1));
|
|
700
698
|
height: calc(14px * var(--node-chrome-scale, 1));
|
|
701
|
-
color: var(--
|
|
699
|
+
color: var(--c-muted);
|
|
702
700
|
flex-shrink: 0;
|
|
703
701
|
}
|
|
704
702
|
|
|
705
|
-
/* Node kind accents (rail-chrome-v2): the icon carries the kind. */
|
|
706
|
-
.canvas-node[data-node-type='image'],
|
|
707
|
-
.canvas-node[data-node-type='mermaid'] {
|
|
708
|
-
--kind-accent: var(--c-warn);
|
|
709
|
-
}
|
|
710
|
-
.canvas-node[data-node-type='webpage'],
|
|
711
|
-
.canvas-node[data-node-type='status'],
|
|
712
|
-
.canvas-node[data-node-type='trace'] {
|
|
713
|
-
--kind-accent: var(--c-ok);
|
|
714
|
-
}
|
|
715
|
-
.canvas-node[data-node-type='context'],
|
|
716
|
-
.canvas-node[data-node-type='prompt'],
|
|
717
|
-
.canvas-node[data-node-type='response'] {
|
|
718
|
-
--kind-accent: var(--c-purple);
|
|
719
|
-
}
|
|
720
|
-
|
|
721
703
|
.canvas-node .node-type-badge {
|
|
722
704
|
font-size: calc(10px * var(--node-chrome-scale, 1));
|
|
723
705
|
padding: calc(1px * var(--node-chrome-scale, 1)) calc(6px * var(--node-chrome-scale, 1));
|
|
724
706
|
border-radius: calc(4px * var(--node-chrome-scale, 1));
|
|
725
|
-
background: var(--c-accent
|
|
707
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
726
708
|
color: var(--c-accent);
|
|
727
709
|
text-transform: uppercase;
|
|
728
710
|
letter-spacing: 0.04em;
|
|
@@ -792,6 +774,18 @@ body,
|
|
|
792
774
|
color: var(--c-text);
|
|
793
775
|
}
|
|
794
776
|
|
|
777
|
+
/* ⋯ and × appear on hover or keyboard focus; expand and the context pin
|
|
778
|
+
always show (docs/design/Chrome.dc.html). Reserve their slots so revealing
|
|
779
|
+
them cannot move the pin out from under the pointer onto Close. */
|
|
780
|
+
.canvas-node .node-controls .node-hover-control {
|
|
781
|
+
visibility: hidden;
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
.canvas-node:hover .node-controls .node-hover-control,
|
|
785
|
+
.canvas-node:focus-within .node-controls .node-hover-control {
|
|
786
|
+
visibility: visible;
|
|
787
|
+
}
|
|
788
|
+
|
|
795
789
|
.canvas-node .node-body {
|
|
796
790
|
flex: 1;
|
|
797
791
|
overflow: auto;
|
|
@@ -892,7 +886,7 @@ body,
|
|
|
892
886
|
}
|
|
893
887
|
|
|
894
888
|
.canvas-node .node-body code {
|
|
895
|
-
font-family: var(--
|
|
889
|
+
font-family: var(--font-code);
|
|
896
890
|
font-size: 0.9em;
|
|
897
891
|
background: var(--c-surface-hover);
|
|
898
892
|
padding: 2px 5px;
|
|
@@ -992,12 +986,12 @@ body,
|
|
|
992
986
|
color: var(--c-text);
|
|
993
987
|
}
|
|
994
988
|
.rail-btn.active {
|
|
995
|
-
background: var(--c-accent
|
|
996
|
-
border-color: var(--c-accent
|
|
989
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
990
|
+
border-color: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
997
991
|
color: var(--c-accent);
|
|
998
992
|
}
|
|
999
993
|
.rail-btn.active:hover {
|
|
1000
|
-
background:
|
|
994
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
1001
995
|
}
|
|
1002
996
|
|
|
1003
997
|
.rail-divider {
|
|
@@ -1061,7 +1055,7 @@ body,
|
|
|
1061
1055
|
}
|
|
1062
1056
|
|
|
1063
1057
|
.top-bar-meta {
|
|
1064
|
-
font: 11px var(--
|
|
1058
|
+
font: 11px var(--font-code);
|
|
1065
1059
|
color: var(--c-dim);
|
|
1066
1060
|
white-space: nowrap;
|
|
1067
1061
|
flex-shrink: 0;
|
|
@@ -1103,7 +1097,7 @@ body,
|
|
|
1103
1097
|
.top-bar-zoom-label {
|
|
1104
1098
|
min-width: 38px;
|
|
1105
1099
|
text-align: center;
|
|
1106
|
-
font: 11px var(--
|
|
1100
|
+
font: 11px var(--font-code);
|
|
1107
1101
|
color: var(--c-muted);
|
|
1108
1102
|
background: none;
|
|
1109
1103
|
border: 1px solid transparent;
|
|
@@ -1136,7 +1130,7 @@ body,
|
|
|
1136
1130
|
.agent-chip.phase-thinking,
|
|
1137
1131
|
.agent-cursor.phase-thinking,
|
|
1138
1132
|
.minimap-presence.phase-thinking {
|
|
1139
|
-
--presence-color: var(--c-
|
|
1133
|
+
--presence-color: var(--c-agent);
|
|
1140
1134
|
}
|
|
1141
1135
|
.agent-chip.phase-tooling,
|
|
1142
1136
|
.agent-cursor.phase-tooling,
|
|
@@ -1220,7 +1214,7 @@ body,
|
|
|
1220
1214
|
min-width: 0;
|
|
1221
1215
|
}
|
|
1222
1216
|
.agent-chip-who {
|
|
1223
|
-
font: 10px var(--
|
|
1217
|
+
font: 10px var(--font-code);
|
|
1224
1218
|
font-weight: 400;
|
|
1225
1219
|
color: var(--c-muted);
|
|
1226
1220
|
white-space: nowrap;
|
|
@@ -1358,22 +1352,15 @@ body,
|
|
|
1358
1352
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
1359
1353
|
}
|
|
1360
1354
|
.agent-cursor-who {
|
|
1361
|
-
font: 9.5px var(--
|
|
1355
|
+
font: 9.5px var(--font-code);
|
|
1362
1356
|
font-weight: 400;
|
|
1363
1357
|
color: var(--c-muted);
|
|
1364
1358
|
}
|
|
1365
1359
|
|
|
1366
|
-
/*
|
|
1367
|
-
.
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
100deg,
|
|
1371
|
-
transparent 20%,
|
|
1372
|
-
color-mix(in srgb, var(--c-accent) 13%, transparent) 50%,
|
|
1373
|
-
transparent 80%
|
|
1374
|
-
);
|
|
1375
|
-
background-size: 200% 100%;
|
|
1376
|
-
animation: presence-shimmer 1.6s linear infinite;
|
|
1360
|
+
/* The node an attached agent is editing right now: the violet agent bar
|
|
1361
|
+
across the top of the header (docs/design/Context.dc.html). */
|
|
1362
|
+
.canvas-node.agent-mutating .node-titlebar {
|
|
1363
|
+
box-shadow: inset 0 2.5px 0 var(--c-agent);
|
|
1377
1364
|
}
|
|
1378
1365
|
|
|
1379
1366
|
@keyframes presence-pulse {
|
|
@@ -1385,14 +1372,6 @@ body,
|
|
|
1385
1372
|
opacity: 0.45;
|
|
1386
1373
|
}
|
|
1387
1374
|
}
|
|
1388
|
-
@keyframes presence-shimmer {
|
|
1389
|
-
from {
|
|
1390
|
-
background-position: 200% 0;
|
|
1391
|
-
}
|
|
1392
|
-
to {
|
|
1393
|
-
background-position: -200% 0;
|
|
1394
|
-
}
|
|
1395
|
-
}
|
|
1396
1375
|
|
|
1397
1376
|
/* Reduced motion: keep every static color state, drop the motion. */
|
|
1398
1377
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1400,13 +1379,9 @@ body,
|
|
|
1400
1379
|
transition: none;
|
|
1401
1380
|
}
|
|
1402
1381
|
.agent-chip-dot,
|
|
1403
|
-
.agent-cursor-dot
|
|
1404
|
-
.canvas-node.agent-mutating {
|
|
1382
|
+
.agent-cursor-dot {
|
|
1405
1383
|
animation: none;
|
|
1406
1384
|
}
|
|
1407
|
-
.canvas-node.agent-mutating {
|
|
1408
|
-
background-image: none;
|
|
1409
|
-
}
|
|
1410
1385
|
}
|
|
1411
1386
|
|
|
1412
1387
|
/* ── Session panel (rail-chrome-v2 phase 4) ─────────────────────
|
|
@@ -1442,7 +1417,7 @@ body,
|
|
|
1442
1417
|
flex-direction: column;
|
|
1443
1418
|
align-items: center;
|
|
1444
1419
|
gap: 4px;
|
|
1445
|
-
font: 9px var(--
|
|
1420
|
+
font: 9px var(--font-code);
|
|
1446
1421
|
color: var(--c-dim);
|
|
1447
1422
|
}
|
|
1448
1423
|
.session-collapsed-live .session-live-dot {
|
|
@@ -1470,11 +1445,11 @@ body,
|
|
|
1470
1445
|
display: inline-flex;
|
|
1471
1446
|
align-items: center;
|
|
1472
1447
|
gap: 5px;
|
|
1473
|
-
font: 10px var(--
|
|
1448
|
+
font: 10px var(--font-code);
|
|
1474
1449
|
color: var(--c-muted);
|
|
1475
1450
|
}
|
|
1476
1451
|
.session-live.phase-thinking {
|
|
1477
|
-
--presence-color: var(--c-
|
|
1452
|
+
--presence-color: var(--c-agent);
|
|
1478
1453
|
}
|
|
1479
1454
|
.session-live.phase-tooling {
|
|
1480
1455
|
--presence-color: var(--c-accent);
|
|
@@ -1618,7 +1593,7 @@ body,
|
|
|
1618
1593
|
margin-top: 3px;
|
|
1619
1594
|
}
|
|
1620
1595
|
.session-item-time {
|
|
1621
|
-
font: 9px var(--
|
|
1596
|
+
font: 9px var(--font-code);
|
|
1622
1597
|
color: var(--c-dim);
|
|
1623
1598
|
flex-shrink: 0;
|
|
1624
1599
|
margin-top: 4px;
|
|
@@ -1629,7 +1604,7 @@ body,
|
|
|
1629
1604
|
}
|
|
1630
1605
|
.session-gate-ttl {
|
|
1631
1606
|
margin-top: 4px;
|
|
1632
|
-
font: 10px var(--
|
|
1607
|
+
font: 10px var(--font-code);
|
|
1633
1608
|
color: var(--c-warn);
|
|
1634
1609
|
}
|
|
1635
1610
|
.session-gate-held {
|
|
@@ -1691,7 +1666,7 @@ body,
|
|
|
1691
1666
|
display: inline-flex;
|
|
1692
1667
|
align-items: center;
|
|
1693
1668
|
gap: 6px;
|
|
1694
|
-
font: 10px/1 var(--
|
|
1669
|
+
font: 10px/1 var(--font-code);
|
|
1695
1670
|
color: var(--c-muted);
|
|
1696
1671
|
}
|
|
1697
1672
|
.session-work-dot {
|
|
@@ -1728,7 +1703,7 @@ body,
|
|
|
1728
1703
|
gap: 8px;
|
|
1729
1704
|
padding: 7px 12px;
|
|
1730
1705
|
border-bottom: 1px solid var(--c-line);
|
|
1731
|
-
background: var(--c-accent
|
|
1706
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
1732
1707
|
}
|
|
1733
1708
|
.session-undo-text {
|
|
1734
1709
|
flex: 1;
|
|
@@ -1742,7 +1717,7 @@ body,
|
|
|
1742
1717
|
.session-undo-btn {
|
|
1743
1718
|
flex-shrink: 0;
|
|
1744
1719
|
padding: 3px 10px;
|
|
1745
|
-
border: 1px solid var(--c-accent
|
|
1720
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
1746
1721
|
border-radius: 999px;
|
|
1747
1722
|
background: none;
|
|
1748
1723
|
color: var(--c-accent);
|
|
@@ -1751,7 +1726,7 @@ body,
|
|
|
1751
1726
|
cursor: pointer;
|
|
1752
1727
|
}
|
|
1753
1728
|
.session-undo-btn:hover {
|
|
1754
|
-
background: var(--c-accent
|
|
1729
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1755
1730
|
}
|
|
1756
1731
|
|
|
1757
1732
|
.session-timeline-filters {
|
|
@@ -1802,7 +1777,7 @@ body,
|
|
|
1802
1777
|
--tone: var(--c-danger);
|
|
1803
1778
|
}
|
|
1804
1779
|
.session-timeline-row.tone-purple {
|
|
1805
|
-
--tone: var(--c-
|
|
1780
|
+
--tone: var(--c-agent);
|
|
1806
1781
|
}
|
|
1807
1782
|
.session-timeline-dot {
|
|
1808
1783
|
width: 6px;
|
|
@@ -1845,7 +1820,7 @@ body,
|
|
|
1845
1820
|
padding: 4px 12px;
|
|
1846
1821
|
border: 1px solid var(--c-accent);
|
|
1847
1822
|
border-radius: 999px;
|
|
1848
|
-
background: var(--c-accent
|
|
1823
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1849
1824
|
color: var(--c-accent);
|
|
1850
1825
|
font-size: 11.5px;
|
|
1851
1826
|
font-weight: 700;
|
|
@@ -1858,7 +1833,7 @@ body,
|
|
|
1858
1833
|
}
|
|
1859
1834
|
.session-timeline-undone {
|
|
1860
1835
|
margin-top: 2px;
|
|
1861
|
-
font: 9px var(--
|
|
1836
|
+
font: 9px var(--font-code);
|
|
1862
1837
|
color: var(--c-dim);
|
|
1863
1838
|
}
|
|
1864
1839
|
.session-timeline-body {
|
|
@@ -1879,7 +1854,7 @@ body,
|
|
|
1879
1854
|
color: var(--c-muted);
|
|
1880
1855
|
}
|
|
1881
1856
|
.session-scope.is-fenced {
|
|
1882
|
-
background: color-mix(in srgb, var(--c-
|
|
1857
|
+
background: color-mix(in srgb, var(--c-agent) 8%, transparent);
|
|
1883
1858
|
color: var(--c-text-soft);
|
|
1884
1859
|
}
|
|
1885
1860
|
.session-scope-dot {
|
|
@@ -1890,14 +1865,14 @@ body,
|
|
|
1890
1865
|
flex-shrink: 0;
|
|
1891
1866
|
}
|
|
1892
1867
|
.session-scope.is-fenced .session-scope-dot {
|
|
1893
|
-
background: var(--c-
|
|
1868
|
+
background: var(--c-agent);
|
|
1894
1869
|
}
|
|
1895
1870
|
.session-scope-text {
|
|
1896
1871
|
flex: 1;
|
|
1897
1872
|
min-width: 0;
|
|
1898
1873
|
}
|
|
1899
1874
|
.session-scope-text strong {
|
|
1900
|
-
color: var(--c-
|
|
1875
|
+
color: var(--c-agent);
|
|
1901
1876
|
}
|
|
1902
1877
|
.session-scope-action {
|
|
1903
1878
|
padding: 3px 9px;
|
|
@@ -1911,8 +1886,8 @@ body,
|
|
|
1911
1886
|
white-space: nowrap;
|
|
1912
1887
|
}
|
|
1913
1888
|
.session-scope-action:hover:not(:disabled) {
|
|
1914
|
-
border-color: color-mix(in srgb, var(--c-
|
|
1915
|
-
color: var(--c-
|
|
1889
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
1890
|
+
color: var(--c-agent);
|
|
1916
1891
|
}
|
|
1917
1892
|
.session-scope-action:disabled {
|
|
1918
1893
|
opacity: 0.5;
|
|
@@ -1926,9 +1901,9 @@ body,
|
|
|
1926
1901
|
top: 0;
|
|
1927
1902
|
z-index: 1;
|
|
1928
1903
|
pointer-events: none;
|
|
1929
|
-
border: 1.5px dashed color-mix(in srgb, var(--c-
|
|
1904
|
+
border: 1.5px dashed color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
1930
1905
|
border-radius: 16px;
|
|
1931
|
-
background: color-mix(in srgb, var(--c-
|
|
1906
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
1932
1907
|
}
|
|
1933
1908
|
.scope-fence-pill {
|
|
1934
1909
|
position: absolute;
|
|
@@ -1936,9 +1911,9 @@ body,
|
|
|
1936
1911
|
transform-origin: 0 50%;
|
|
1937
1912
|
padding: 3px 10px;
|
|
1938
1913
|
border-radius: 999px;
|
|
1939
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1940
|
-
background: color-mix(in srgb, var(--c-panel) 92%, var(--c-
|
|
1941
|
-
color: var(--c-
|
|
1914
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 35%, transparent);
|
|
1915
|
+
background: color-mix(in srgb, var(--c-panel) 92%, var(--c-agent) 8%);
|
|
1916
|
+
color: var(--c-agent);
|
|
1942
1917
|
font-size: 10px;
|
|
1943
1918
|
font-weight: 600;
|
|
1944
1919
|
letter-spacing: 0.04em;
|
|
@@ -1982,9 +1957,9 @@ body,
|
|
|
1982
1957
|
max-width: 240px;
|
|
1983
1958
|
padding: 2px 5px 2px 9px;
|
|
1984
1959
|
border-radius: 999px;
|
|
1985
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1986
|
-
background: color-mix(in srgb, var(--c-
|
|
1987
|
-
color: var(--c-
|
|
1960
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 35%, transparent);
|
|
1961
|
+
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
1962
|
+
color: var(--c-pin);
|
|
1988
1963
|
font-size: 10px;
|
|
1989
1964
|
font-weight: 600;
|
|
1990
1965
|
}
|
|
@@ -2008,7 +1983,7 @@ body,
|
|
|
2008
1983
|
border: none;
|
|
2009
1984
|
border-radius: 50%;
|
|
2010
1985
|
background: none;
|
|
2011
|
-
color: var(--c-
|
|
1986
|
+
color: var(--c-pin);
|
|
2012
1987
|
font-size: 12px;
|
|
2013
1988
|
line-height: 1;
|
|
2014
1989
|
cursor: pointer;
|
|
@@ -2016,7 +1991,7 @@ body,
|
|
|
2016
1991
|
}
|
|
2017
1992
|
.command-bar-chip-unpin:hover {
|
|
2018
1993
|
opacity: 1;
|
|
2019
|
-
background: color-mix(in srgb, var(--c-
|
|
1994
|
+
background: color-mix(in srgb, var(--c-pin) 25%, transparent);
|
|
2020
1995
|
}
|
|
2021
1996
|
.command-bar-chips-note {
|
|
2022
1997
|
font-size: 10px;
|
|
@@ -2054,7 +2029,7 @@ body,
|
|
|
2054
2029
|
border-radius: 8px;
|
|
2055
2030
|
background: var(--c-panel-overlay);
|
|
2056
2031
|
color: var(--c-text);
|
|
2057
|
-
font: 12px/1.35 var(--font);
|
|
2032
|
+
font: 12px/1.35 var(--font-ui);
|
|
2058
2033
|
cursor: pointer;
|
|
2059
2034
|
}
|
|
2060
2035
|
.choice-menu-trigger > span {
|
|
@@ -2105,7 +2080,7 @@ body,
|
|
|
2105
2080
|
|
|
2106
2081
|
.command-bar-icon {
|
|
2107
2082
|
flex-shrink: 0;
|
|
2108
|
-
color: var(--c-
|
|
2083
|
+
color: var(--c-agent);
|
|
2109
2084
|
}
|
|
2110
2085
|
.command-bar-input {
|
|
2111
2086
|
flex: 1;
|
|
@@ -2115,7 +2090,7 @@ body,
|
|
|
2115
2090
|
outline: none;
|
|
2116
2091
|
background: none;
|
|
2117
2092
|
color: var(--c-text);
|
|
2118
|
-
font: 13px var(--font);
|
|
2093
|
+
font: 13px var(--font-ui);
|
|
2119
2094
|
}
|
|
2120
2095
|
.command-bar-input::placeholder {
|
|
2121
2096
|
color: var(--c-dim);
|
|
@@ -2175,7 +2150,7 @@ body,
|
|
|
2175
2150
|
display: block;
|
|
2176
2151
|
height: 100%;
|
|
2177
2152
|
border-radius: 3px;
|
|
2178
|
-
background:
|
|
2153
|
+
background: var(--c-accent);
|
|
2179
2154
|
transition: width 180ms ease;
|
|
2180
2155
|
}
|
|
2181
2156
|
.context-budget.tone-warn .context-budget-fill,
|
|
@@ -2183,7 +2158,7 @@ body,
|
|
|
2183
2158
|
background: var(--tone);
|
|
2184
2159
|
}
|
|
2185
2160
|
.context-budget-label {
|
|
2186
|
-
font: 11px var(--
|
|
2161
|
+
font: 11px var(--font-code);
|
|
2187
2162
|
color: var(--c-text-soft);
|
|
2188
2163
|
min-width: 30px;
|
|
2189
2164
|
text-align: right;
|
|
@@ -2209,9 +2184,9 @@ body,
|
|
|
2209
2184
|
gap: 8px;
|
|
2210
2185
|
padding: 4px 12px 4px 6px;
|
|
2211
2186
|
border-radius: 999px;
|
|
2212
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2213
|
-
background: color-mix(in srgb, var(--c-
|
|
2214
|
-
color: var(--c-
|
|
2187
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 35%, transparent);
|
|
2188
|
+
background: color-mix(in srgb, var(--c-agent) 8%, transparent);
|
|
2189
|
+
color: var(--c-agent);
|
|
2215
2190
|
cursor: pointer;
|
|
2216
2191
|
white-space: nowrap;
|
|
2217
2192
|
flex-shrink: 0;
|
|
@@ -2219,7 +2194,7 @@ body,
|
|
|
2219
2194
|
}
|
|
2220
2195
|
.external-indicator:hover,
|
|
2221
2196
|
.external-indicator[aria-expanded='true'] {
|
|
2222
|
-
background: color-mix(in srgb, var(--c-
|
|
2197
|
+
background: color-mix(in srgb, var(--c-agent) 15%, transparent);
|
|
2223
2198
|
}
|
|
2224
2199
|
.external-indicator-avatars {
|
|
2225
2200
|
display: inline-flex;
|
|
@@ -2233,14 +2208,14 @@ body,
|
|
|
2233
2208
|
font-weight: 600;
|
|
2234
2209
|
}
|
|
2235
2210
|
.external-indicator-ops {
|
|
2236
|
-
font: 10px var(--
|
|
2211
|
+
font: 10px var(--font-code);
|
|
2237
2212
|
color: var(--c-muted);
|
|
2238
2213
|
}
|
|
2239
2214
|
.external-indicator-dot {
|
|
2240
2215
|
width: 7px;
|
|
2241
2216
|
height: 7px;
|
|
2242
2217
|
border-radius: 50%;
|
|
2243
|
-
background: var(--c-
|
|
2218
|
+
background: var(--c-agent);
|
|
2244
2219
|
flex-shrink: 0;
|
|
2245
2220
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
2246
2221
|
}
|
|
@@ -2254,7 +2229,7 @@ body,
|
|
|
2254
2229
|
display: flex;
|
|
2255
2230
|
flex-direction: column;
|
|
2256
2231
|
background: var(--c-panel);
|
|
2257
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2232
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 30%, transparent);
|
|
2258
2233
|
border-radius: 10px;
|
|
2259
2234
|
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
|
|
2260
2235
|
/* Popover-level like the rail menus: above the minimap, below the rail. */
|
|
@@ -2279,7 +2254,7 @@ body,
|
|
|
2279
2254
|
color: var(--c-text);
|
|
2280
2255
|
}
|
|
2281
2256
|
.activity-feed-sub {
|
|
2282
|
-
font: 9px var(--
|
|
2257
|
+
font: 9px var(--font-code);
|
|
2283
2258
|
color: var(--c-dim);
|
|
2284
2259
|
}
|
|
2285
2260
|
.activity-feed-close {
|
|
@@ -2301,7 +2276,7 @@ body,
|
|
|
2301
2276
|
border-bottom: 1px solid var(--c-line);
|
|
2302
2277
|
}
|
|
2303
2278
|
.activity-filter {
|
|
2304
|
-
--writer: var(--c-
|
|
2279
|
+
--writer: var(--c-agent);
|
|
2305
2280
|
padding: 2px 9px;
|
|
2306
2281
|
border-radius: 999px;
|
|
2307
2282
|
border: 1px solid var(--c-line);
|
|
@@ -2332,7 +2307,7 @@ body,
|
|
|
2332
2307
|
border-bottom: none;
|
|
2333
2308
|
}
|
|
2334
2309
|
.activity-row.is-pending {
|
|
2335
|
-
background: color-mix(in srgb, var(--c-
|
|
2310
|
+
background: color-mix(in srgb, var(--c-agent) 5%, transparent);
|
|
2336
2311
|
}
|
|
2337
2312
|
.activity-glyph {
|
|
2338
2313
|
flex-shrink: 0;
|
|
@@ -2353,7 +2328,7 @@ body,
|
|
|
2353
2328
|
color: var(--c-accent);
|
|
2354
2329
|
}
|
|
2355
2330
|
.activity-glyph.tone-purple {
|
|
2356
|
-
color: var(--c-
|
|
2331
|
+
color: var(--c-agent);
|
|
2357
2332
|
}
|
|
2358
2333
|
.activity-main {
|
|
2359
2334
|
flex: 1;
|
|
@@ -2370,7 +2345,7 @@ body,
|
|
|
2370
2345
|
color: var(--c-muted);
|
|
2371
2346
|
}
|
|
2372
2347
|
.activity-writer {
|
|
2373
|
-
font: 8.5px var(--
|
|
2348
|
+
font: 8.5px var(--font-code);
|
|
2374
2349
|
}
|
|
2375
2350
|
.activity-actions {
|
|
2376
2351
|
display: flex;
|
|
@@ -2393,7 +2368,7 @@ body,
|
|
|
2393
2368
|
}
|
|
2394
2369
|
.activity-hint,
|
|
2395
2370
|
.activity-age {
|
|
2396
|
-
font: 9px var(--
|
|
2371
|
+
font: 9px var(--font-code);
|
|
2397
2372
|
color: var(--c-dim);
|
|
2398
2373
|
flex-shrink: 0;
|
|
2399
2374
|
}
|
|
@@ -2428,7 +2403,7 @@ body,
|
|
|
2428
2403
|
color: var(--c-text);
|
|
2429
2404
|
}
|
|
2430
2405
|
.activity-feed-link.is-accent {
|
|
2431
|
-
color: var(--c-
|
|
2406
|
+
color: var(--c-agent);
|
|
2432
2407
|
}
|
|
2433
2408
|
.activity-feed-link.is-accent:hover {
|
|
2434
2409
|
text-decoration: underline;
|
|
@@ -2469,7 +2444,7 @@ body,
|
|
|
2469
2444
|
color: var(--c-text);
|
|
2470
2445
|
}
|
|
2471
2446
|
.writers-board {
|
|
2472
|
-
font: 9px var(--
|
|
2447
|
+
font: 9px var(--font-code);
|
|
2473
2448
|
color: var(--c-dim);
|
|
2474
2449
|
}
|
|
2475
2450
|
.writers-body {
|
|
@@ -2502,18 +2477,18 @@ body,
|
|
|
2502
2477
|
white-space: nowrap;
|
|
2503
2478
|
}
|
|
2504
2479
|
.writers-name.is-mono {
|
|
2505
|
-
font: 11px var(--
|
|
2480
|
+
font: 11px var(--font-code);
|
|
2506
2481
|
}
|
|
2507
2482
|
.writers-config {
|
|
2508
2483
|
font-size: 9.5px;
|
|
2509
2484
|
font-weight: 600;
|
|
2510
2485
|
padding: 2px 8px;
|
|
2511
2486
|
border-radius: 999px;
|
|
2512
|
-
background: color-mix(in srgb, var(--c-
|
|
2513
|
-
color: var(--c-
|
|
2487
|
+
background: color-mix(in srgb, var(--c-agent) 12%, transparent);
|
|
2488
|
+
color: var(--c-agent);
|
|
2514
2489
|
}
|
|
2515
2490
|
.writers-meta {
|
|
2516
|
-
font: 9.5px var(--
|
|
2491
|
+
font: 9.5px var(--font-code);
|
|
2517
2492
|
color: var(--c-dim);
|
|
2518
2493
|
}
|
|
2519
2494
|
.writers-empty {
|
|
@@ -2576,24 +2551,32 @@ body,
|
|
|
2576
2551
|
.minimap-node {
|
|
2577
2552
|
position: absolute;
|
|
2578
2553
|
border-radius: 1.5px;
|
|
2579
|
-
background: var(--
|
|
2554
|
+
background: var(--c-muted);
|
|
2580
2555
|
opacity: 0.55;
|
|
2581
2556
|
}
|
|
2582
2557
|
.minimap-node.is-group {
|
|
2583
|
-
background: color-mix(in srgb, var(--
|
|
2584
|
-
border: 1px dashed color-mix(in srgb, var(--
|
|
2558
|
+
background: color-mix(in srgb, var(--c-muted) 4%, transparent);
|
|
2559
|
+
border: 1px dashed color-mix(in srgb, var(--c-muted) 55%, transparent);
|
|
2585
2560
|
opacity: 1;
|
|
2586
2561
|
border-radius: 2px;
|
|
2587
2562
|
}
|
|
2563
|
+
.minimap-node.is-pinned {
|
|
2564
|
+
background: var(--c-pin);
|
|
2565
|
+
opacity: 0.9;
|
|
2566
|
+
}
|
|
2567
|
+
.minimap-node.is-agent {
|
|
2568
|
+
background: var(--c-agent);
|
|
2569
|
+
opacity: 0.9;
|
|
2570
|
+
}
|
|
2588
2571
|
.minimap-node.is-selected {
|
|
2589
2572
|
outline: 1px solid var(--c-accent);
|
|
2590
2573
|
opacity: 0.8;
|
|
2591
2574
|
}
|
|
2592
2575
|
.minimap-fence {
|
|
2593
2576
|
position: absolute;
|
|
2594
|
-
border: 1px dashed color-mix(in srgb, var(--c-
|
|
2577
|
+
border: 1px dashed color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
2595
2578
|
border-radius: 2px;
|
|
2596
|
-
background: color-mix(in srgb, var(--c-
|
|
2579
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
2597
2580
|
}
|
|
2598
2581
|
.minimap-presence {
|
|
2599
2582
|
position: absolute;
|
|
@@ -2628,7 +2611,7 @@ body,
|
|
|
2628
2611
|
position: absolute;
|
|
2629
2612
|
right: 5px;
|
|
2630
2613
|
bottom: 3px;
|
|
2631
|
-
font: 8px var(--
|
|
2614
|
+
font: 8px var(--font-code);
|
|
2632
2615
|
color: var(--c-dim);
|
|
2633
2616
|
}
|
|
2634
2617
|
|
|
@@ -2730,7 +2713,7 @@ body,
|
|
|
2730
2713
|
color: var(--c-accent);
|
|
2731
2714
|
}
|
|
2732
2715
|
.edge-hint-keys {
|
|
2733
|
-
font: 9px var(--
|
|
2716
|
+
font: 9px var(--font-code);
|
|
2734
2717
|
color: var(--c-dim);
|
|
2735
2718
|
}
|
|
2736
2719
|
|
|
@@ -2783,8 +2766,8 @@ body,
|
|
|
2783
2766
|
padding: 2px 9px;
|
|
2784
2767
|
border-radius: 999px;
|
|
2785
2768
|
background: var(--c-panel-soft);
|
|
2786
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2787
|
-
color: var(--c-
|
|
2769
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2770
|
+
color: var(--c-agent);
|
|
2788
2771
|
font-size: 9.5px;
|
|
2789
2772
|
font-weight: 600;
|
|
2790
2773
|
white-space: nowrap;
|
|
@@ -2793,7 +2776,7 @@ body,
|
|
|
2793
2776
|
width: 6px;
|
|
2794
2777
|
height: 6px;
|
|
2795
2778
|
border-radius: 50%;
|
|
2796
|
-
background: var(--c-
|
|
2779
|
+
background: var(--c-agent);
|
|
2797
2780
|
}
|
|
2798
2781
|
|
|
2799
2782
|
/* Quiet-board affordance in the top bar */
|
|
@@ -2813,8 +2796,8 @@ body,
|
|
|
2813
2796
|
flex-shrink: 0;
|
|
2814
2797
|
}
|
|
2815
2798
|
.start-session-btn:hover {
|
|
2816
|
-
border-color: color-mix(in srgb, var(--c-
|
|
2817
|
-
color: var(--c-
|
|
2799
|
+
border-color: color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2800
|
+
color: var(--c-agent);
|
|
2818
2801
|
}
|
|
2819
2802
|
.start-session-dot {
|
|
2820
2803
|
width: 7px;
|
|
@@ -2823,7 +2806,7 @@ body,
|
|
|
2823
2806
|
background: var(--c-dim);
|
|
2824
2807
|
}
|
|
2825
2808
|
.start-session-btn:hover .start-session-dot {
|
|
2826
|
-
background: var(--c-
|
|
2809
|
+
background: var(--c-agent);
|
|
2827
2810
|
}
|
|
2828
2811
|
.session-end {
|
|
2829
2812
|
padding: 3px 10px;
|
|
@@ -2885,6 +2868,11 @@ body,
|
|
|
2885
2868
|
background: var(--c-surface-hover);
|
|
2886
2869
|
color: var(--c-text);
|
|
2887
2870
|
}
|
|
2871
|
+
.session-receipt-who {
|
|
2872
|
+
margin: 2px 0 0 15px;
|
|
2873
|
+
font-size: 11px;
|
|
2874
|
+
color: var(--c-muted);
|
|
2875
|
+
}
|
|
2888
2876
|
.session-receipt-tiles {
|
|
2889
2877
|
display: grid;
|
|
2890
2878
|
grid-template-columns: repeat(3, 1fr);
|
|
@@ -2915,6 +2903,111 @@ body,
|
|
|
2915
2903
|
.session-receipt-tile-value.tone-danger {
|
|
2916
2904
|
color: var(--c-danger);
|
|
2917
2905
|
}
|
|
2906
|
+
/* What the session did with context (docs/design/AgentContext.dc.html receipt). */
|
|
2907
|
+
.session-receipt-context {
|
|
2908
|
+
display: flex;
|
|
2909
|
+
flex-direction: column;
|
|
2910
|
+
gap: var(--space-2);
|
|
2911
|
+
margin-top: var(--space-3);
|
|
2912
|
+
}
|
|
2913
|
+
.session-receipt-warn {
|
|
2914
|
+
display: flex;
|
|
2915
|
+
align-items: center;
|
|
2916
|
+
gap: var(--space-2);
|
|
2917
|
+
padding: var(--space-2) 10px;
|
|
2918
|
+
border-radius: 8px;
|
|
2919
|
+
background: color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
2920
|
+
color: var(--c-warn);
|
|
2921
|
+
font-size: var(--fs-meta);
|
|
2922
|
+
}
|
|
2923
|
+
.session-receipt-warn svg,
|
|
2924
|
+
.session-receipt-context-head svg {
|
|
2925
|
+
width: 13px;
|
|
2926
|
+
height: 13px;
|
|
2927
|
+
flex-shrink: 0;
|
|
2928
|
+
fill: none;
|
|
2929
|
+
stroke: currentColor;
|
|
2930
|
+
stroke-width: 2;
|
|
2931
|
+
stroke-linecap: round;
|
|
2932
|
+
stroke-linejoin: round;
|
|
2933
|
+
}
|
|
2934
|
+
.session-receipt-context-row {
|
|
2935
|
+
display: flex;
|
|
2936
|
+
flex-direction: column;
|
|
2937
|
+
gap: 3px;
|
|
2938
|
+
padding-bottom: var(--space-2);
|
|
2939
|
+
border-bottom: 1px solid var(--c-line);
|
|
2940
|
+
}
|
|
2941
|
+
.session-receipt-context-head {
|
|
2942
|
+
display: flex;
|
|
2943
|
+
align-items: center;
|
|
2944
|
+
gap: 6px;
|
|
2945
|
+
color: var(--c-agent);
|
|
2946
|
+
}
|
|
2947
|
+
.session-receipt-context-name {
|
|
2948
|
+
flex: 1;
|
|
2949
|
+
font-size: var(--fs-ui);
|
|
2950
|
+
font-weight: 600;
|
|
2951
|
+
color: var(--c-text);
|
|
2952
|
+
}
|
|
2953
|
+
.session-receipt-context-count {
|
|
2954
|
+
font-size: var(--fs-meta);
|
|
2955
|
+
color: var(--c-dim);
|
|
2956
|
+
}
|
|
2957
|
+
.session-receipt-context-items {
|
|
2958
|
+
padding-left: 19px;
|
|
2959
|
+
font-size: var(--fs-meta);
|
|
2960
|
+
color: var(--c-muted);
|
|
2961
|
+
}
|
|
2962
|
+
.session-receipt-mini {
|
|
2963
|
+
padding: 2px var(--space-2);
|
|
2964
|
+
border: 1px solid var(--c-line);
|
|
2965
|
+
border-radius: var(--r-control);
|
|
2966
|
+
background: none;
|
|
2967
|
+
color: var(--c-text);
|
|
2968
|
+
font-size: var(--fs-meta);
|
|
2969
|
+
cursor: pointer;
|
|
2970
|
+
}
|
|
2971
|
+
.session-receipt-lens {
|
|
2972
|
+
display: flex;
|
|
2973
|
+
align-items: center;
|
|
2974
|
+
gap: var(--space-2);
|
|
2975
|
+
padding: 0;
|
|
2976
|
+
border: none;
|
|
2977
|
+
background: none;
|
|
2978
|
+
color: var(--c-muted);
|
|
2979
|
+
font-size: var(--fs-meta);
|
|
2980
|
+
cursor: pointer;
|
|
2981
|
+
}
|
|
2982
|
+
.session-receipt-lens-track {
|
|
2983
|
+
position: relative;
|
|
2984
|
+
width: 32px;
|
|
2985
|
+
height: 18px;
|
|
2986
|
+
border-radius: var(--r-pill);
|
|
2987
|
+
background: var(--c-line);
|
|
2988
|
+
}
|
|
2989
|
+
.session-receipt-lens-knob {
|
|
2990
|
+
position: absolute;
|
|
2991
|
+
left: 2px;
|
|
2992
|
+
top: 2px;
|
|
2993
|
+
width: 14px;
|
|
2994
|
+
height: 14px;
|
|
2995
|
+
border-radius: var(--r-pill);
|
|
2996
|
+
background: var(--c-muted);
|
|
2997
|
+
}
|
|
2998
|
+
.session-receipt-lens.is-on .session-receipt-lens-track {
|
|
2999
|
+
background: var(--c-agent);
|
|
3000
|
+
}
|
|
3001
|
+
.session-receipt-lens.is-on .session-receipt-lens-knob {
|
|
3002
|
+
left: auto;
|
|
3003
|
+
right: 2px;
|
|
3004
|
+
background: var(--c-bg);
|
|
3005
|
+
}
|
|
3006
|
+
/* The lens: nodes the session did not touch step back. */
|
|
3007
|
+
.canvas-node.lens-dimmed {
|
|
3008
|
+
opacity: 0.35;
|
|
3009
|
+
}
|
|
3010
|
+
|
|
2918
3011
|
.session-receipt-note,
|
|
2919
3012
|
.session-receipt-diff {
|
|
2920
3013
|
margin-top: 10px;
|
|
@@ -2940,8 +3033,8 @@ body,
|
|
|
2940
3033
|
cursor: pointer;
|
|
2941
3034
|
}
|
|
2942
3035
|
.session-receipt-primary {
|
|
2943
|
-
border: 1px solid var(--c-accent
|
|
2944
|
-
background: var(--c-accent
|
|
3036
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3037
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
2945
3038
|
color: var(--c-accent);
|
|
2946
3039
|
}
|
|
2947
3040
|
.session-receipt-primary:disabled {
|
|
@@ -2966,7 +3059,7 @@ body,
|
|
|
2966
3059
|
border: 1px solid color-mix(in srgb, var(--c-warn) 35%, transparent);
|
|
2967
3060
|
background: color-mix(in srgb, var(--c-warn) 12%, transparent);
|
|
2968
3061
|
color: var(--c-warn);
|
|
2969
|
-
font: 11px var(--
|
|
3062
|
+
font: 11px var(--font-code);
|
|
2970
3063
|
font-weight: 600;
|
|
2971
3064
|
white-space: nowrap;
|
|
2972
3065
|
flex-shrink: 0;
|
|
@@ -3061,7 +3154,7 @@ body,
|
|
|
3061
3154
|
background: color-mix(in srgb, var(--c-panel) 92%, black 8%);
|
|
3062
3155
|
border: 1px solid color-mix(in srgb, var(--c-line) 78%, var(--c-accent) 22%);
|
|
3063
3156
|
border-radius: 10px;
|
|
3064
|
-
box-shadow: 0 14px 36px var(--c-shadow-heavy), 0 0 0 1px var(--c-accent
|
|
3157
|
+
box-shadow: 0 14px 36px var(--c-shadow-heavy), 0 0 0 1px color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3065
3158
|
backdrop-filter: blur(14px);
|
|
3066
3159
|
color: var(--c-text);
|
|
3067
3160
|
font-size: 12px;
|
|
@@ -3197,10 +3290,10 @@ body,
|
|
|
3197
3290
|
min-height: 20px;
|
|
3198
3291
|
padding: 2px 7px;
|
|
3199
3292
|
border-radius: 999px;
|
|
3200
|
-
border: 1px solid var(--c-accent
|
|
3201
|
-
background: var(--c-accent
|
|
3293
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3294
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
3202
3295
|
color: var(--c-accent);
|
|
3203
|
-
font: 11px/1 var(--
|
|
3296
|
+
font: 11px/1 var(--font-code);
|
|
3204
3297
|
white-space: nowrap;
|
|
3205
3298
|
}
|
|
3206
3299
|
|
|
@@ -3259,7 +3352,7 @@ body,
|
|
|
3259
3352
|
min-width: 0;
|
|
3260
3353
|
}
|
|
3261
3354
|
.connection-banner-meta {
|
|
3262
|
-
font: 9.5px var(--
|
|
3355
|
+
font: 9.5px var(--font-code);
|
|
3263
3356
|
color: var(--c-muted);
|
|
3264
3357
|
}
|
|
3265
3358
|
.connection-banner-progress {
|
|
@@ -3436,7 +3529,7 @@ body,
|
|
|
3436
3529
|
border: none;
|
|
3437
3530
|
background: var(--c-panel-soft);
|
|
3438
3531
|
color: var(--c-text);
|
|
3439
|
-
font: 13px / 1.6 var(--
|
|
3532
|
+
font: 13px / 1.6 var(--font-code);
|
|
3440
3533
|
padding: 12px;
|
|
3441
3534
|
outline: none;
|
|
3442
3535
|
}
|
|
@@ -3474,7 +3567,7 @@ body,
|
|
|
3474
3567
|
border-radius: var(--radius-sm);
|
|
3475
3568
|
color: var(--c-muted);
|
|
3476
3569
|
cursor: pointer;
|
|
3477
|
-
font-family: var(--font);
|
|
3570
|
+
font-family: var(--font-ui);
|
|
3478
3571
|
transition: all 0.12s ease;
|
|
3479
3572
|
}
|
|
3480
3573
|
|
|
@@ -3485,13 +3578,13 @@ body,
|
|
|
3485
3578
|
}
|
|
3486
3579
|
|
|
3487
3580
|
.md-toolbar-btn-primary {
|
|
3488
|
-
background: var(--c-accent
|
|
3489
|
-
border-color: var(--c-accent
|
|
3581
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
3582
|
+
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
3490
3583
|
color: var(--c-accent);
|
|
3491
3584
|
}
|
|
3492
3585
|
|
|
3493
3586
|
.md-toolbar-btn-primary:hover {
|
|
3494
|
-
background: var(--c-accent
|
|
3587
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3495
3588
|
border-color: var(--c-accent);
|
|
3496
3589
|
}
|
|
3497
3590
|
|
|
@@ -3574,7 +3667,7 @@ body,
|
|
|
3574
3667
|
border-left: 3px solid var(--c-accent);
|
|
3575
3668
|
padding: 0.5em 1em;
|
|
3576
3669
|
margin: 0.8em 0;
|
|
3577
|
-
background: var(--c-accent
|
|
3670
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3578
3671
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
3579
3672
|
}
|
|
3580
3673
|
|
|
@@ -3597,7 +3690,7 @@ body,
|
|
|
3597
3690
|
}
|
|
3598
3691
|
|
|
3599
3692
|
.md-reader-content code {
|
|
3600
|
-
font-family: var(--
|
|
3693
|
+
font-family: var(--font-code);
|
|
3601
3694
|
font-size: 0.88em;
|
|
3602
3695
|
background: var(--c-surface-hover);
|
|
3603
3696
|
padding: 2px 6px;
|
|
@@ -3636,7 +3729,7 @@ body,
|
|
|
3636
3729
|
}
|
|
3637
3730
|
|
|
3638
3731
|
.md-reader-content th {
|
|
3639
|
-
background: var(--c-accent
|
|
3732
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3640
3733
|
font-weight: 600;
|
|
3641
3734
|
color: var(--c-text);
|
|
3642
3735
|
padding: 10px 14px;
|
|
@@ -3680,17 +3773,17 @@ body,
|
|
|
3680
3773
|
border-radius: var(--radius);
|
|
3681
3774
|
color: var(--c-muted);
|
|
3682
3775
|
cursor: pointer;
|
|
3683
|
-
font-family: var(--font);
|
|
3776
|
+
font-family: var(--font-ui);
|
|
3684
3777
|
transition: all 0.15s ease;
|
|
3685
3778
|
z-index: 1;
|
|
3686
3779
|
box-shadow: 0 4px 16px var(--c-shadow);
|
|
3687
3780
|
}
|
|
3688
3781
|
|
|
3689
3782
|
.md-edit-fab:hover {
|
|
3690
|
-
background: var(--c-accent
|
|
3783
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3691
3784
|
border-color: var(--c-accent);
|
|
3692
3785
|
color: var(--c-accent);
|
|
3693
|
-
box-shadow: 0 4px 20px var(--c-
|
|
3786
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
3694
3787
|
}
|
|
3695
3788
|
|
|
3696
3789
|
/* ── Inline WYSIWYG editor (contentEditable on the rendered HTML) ─
|
|
@@ -3709,7 +3802,7 @@ body,
|
|
|
3709
3802
|
|
|
3710
3803
|
.md-reader-editable::selection,
|
|
3711
3804
|
.md-reader-editable *::selection {
|
|
3712
|
-
background: var(--c-accent
|
|
3805
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3713
3806
|
}
|
|
3714
3807
|
|
|
3715
3808
|
/* ── Inline selection toolbar (contentEditable WYSIWYG) ────────── */
|
|
@@ -3725,7 +3818,7 @@ body,
|
|
|
3725
3818
|
border: 1px solid var(--c-line);
|
|
3726
3819
|
border-radius: 8px;
|
|
3727
3820
|
box-shadow: 0 4px 16px var(--c-shadow), 0 0 0 1px var(--c-line-30);
|
|
3728
|
-
font-family: var(--font);
|
|
3821
|
+
font-family: var(--font-ui);
|
|
3729
3822
|
animation: md-inline-format-bar-in 0.1s ease-out;
|
|
3730
3823
|
}
|
|
3731
3824
|
|
|
@@ -3744,7 +3837,7 @@ body,
|
|
|
3744
3837
|
background: none;
|
|
3745
3838
|
border: 1px solid transparent;
|
|
3746
3839
|
border-radius: var(--radius-sm);
|
|
3747
|
-
font: 600 12px var(--font);
|
|
3840
|
+
font: 600 12px var(--font-ui);
|
|
3748
3841
|
color: var(--c-text-soft);
|
|
3749
3842
|
cursor: pointer;
|
|
3750
3843
|
white-space: nowrap;
|
|
@@ -3758,7 +3851,7 @@ body,
|
|
|
3758
3851
|
}
|
|
3759
3852
|
|
|
3760
3853
|
.md-inline-format-btn:active {
|
|
3761
|
-
background: var(--c-accent
|
|
3854
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3762
3855
|
color: var(--c-accent);
|
|
3763
3856
|
}
|
|
3764
3857
|
|
|
@@ -3801,7 +3894,7 @@ body,
|
|
|
3801
3894
|
background: none;
|
|
3802
3895
|
border: 1px solid transparent;
|
|
3803
3896
|
border-radius: var(--radius-sm);
|
|
3804
|
-
font-family: var(--
|
|
3897
|
+
font-family: var(--font-code);
|
|
3805
3898
|
font-size: 12px;
|
|
3806
3899
|
font-weight: 600;
|
|
3807
3900
|
color: var(--c-muted);
|
|
@@ -3817,7 +3910,7 @@ body,
|
|
|
3817
3910
|
}
|
|
3818
3911
|
|
|
3819
3912
|
.md-format-btn:active {
|
|
3820
|
-
background: var(--c-accent
|
|
3913
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3821
3914
|
color: var(--c-accent);
|
|
3822
3915
|
}
|
|
3823
3916
|
|
|
@@ -3884,10 +3977,6 @@ html.is-node-resizing .canvas-node {
|
|
|
3884
3977
|
transition: box-shadow 0.15s ease !important;
|
|
3885
3978
|
}
|
|
3886
3979
|
|
|
3887
|
-
html.is-node-dragging .attention-field-layer {
|
|
3888
|
-
visibility: hidden;
|
|
3889
|
-
}
|
|
3890
|
-
|
|
3891
3980
|
html.is-node-dragging,
|
|
3892
3981
|
html.is-node-dragging *,
|
|
3893
3982
|
html.is-canvas-panning,
|
|
@@ -3960,12 +4049,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
3960
4049
|
}
|
|
3961
4050
|
|
|
3962
4051
|
.context-menu-item:hover {
|
|
3963
|
-
background: var(--c-accent
|
|
4052
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
3964
4053
|
color: var(--c-accent);
|
|
3965
4054
|
}
|
|
3966
4055
|
|
|
3967
4056
|
.context-menu-item.is-danger .context-menu-label {
|
|
3968
|
-
color: var(--c-danger
|
|
4057
|
+
color: var(--c-danger);
|
|
3969
4058
|
}
|
|
3970
4059
|
|
|
3971
4060
|
.context-menu-shortcut {
|
|
@@ -4043,8 +4132,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4043
4132
|
}
|
|
4044
4133
|
|
|
4045
4134
|
.context-menu-color-swatch:hover {
|
|
4046
|
-
background: var(--c-accent
|
|
4047
|
-
border-color: var(--c-accent
|
|
4135
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4136
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4048
4137
|
}
|
|
4049
4138
|
|
|
4050
4139
|
.context-menu-color-swatch.active {
|
|
@@ -4055,7 +4144,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4055
4144
|
.context-menu-color-dot {
|
|
4056
4145
|
background: var(--swatch-color);
|
|
4057
4146
|
border-radius: 999px;
|
|
4058
|
-
box-shadow: 0 0 0 1px color-mix(in srgb, var(--swatch-color) 60%,
|
|
4147
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--swatch-color) 60%, var(--c-bg) 40%);
|
|
4059
4148
|
flex: 0 0 auto;
|
|
4060
4149
|
height: 10px;
|
|
4061
4150
|
width: 10px;
|
|
@@ -4092,7 +4181,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4092
4181
|
/* Edge labels — --edge-chrome-scale is set on the edge <svg> so labels keep a
|
|
4093
4182
|
constant screen size while zoomed out (see edgeChromeScale in EdgeLayer). */
|
|
4094
4183
|
.edge-label {
|
|
4095
|
-
font-family: var(--font);
|
|
4184
|
+
font-family: var(--font-ui);
|
|
4096
4185
|
font-size: calc(11px * var(--edge-label-scale, 1));
|
|
4097
4186
|
pointer-events: none;
|
|
4098
4187
|
user-select: none;
|
|
@@ -4132,10 +4221,10 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4132
4221
|
@keyframes trace-pulse {
|
|
4133
4222
|
0%,
|
|
4134
4223
|
100% {
|
|
4135
|
-
box-shadow: 0 0 0 0 var(--c-accent
|
|
4224
|
+
box-shadow: 0 0 0 0 color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4136
4225
|
}
|
|
4137
4226
|
50% {
|
|
4138
|
-
box-shadow: 0 0 0 4px var(--c-accent
|
|
4227
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4139
4228
|
}
|
|
4140
4229
|
}
|
|
4141
4230
|
|
|
@@ -4146,7 +4235,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4146
4235
|
gap: 10px;
|
|
4147
4236
|
height: 100%;
|
|
4148
4237
|
overflow: auto;
|
|
4149
|
-
font-family: var(--
|
|
4238
|
+
font-family: var(--font-code);
|
|
4150
4239
|
font-size: 12px;
|
|
4151
4240
|
color: var(--c-text);
|
|
4152
4241
|
}
|
|
@@ -4195,12 +4284,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4195
4284
|
|
|
4196
4285
|
.diff-node .diff-line-add {
|
|
4197
4286
|
color: var(--c-ok);
|
|
4198
|
-
background: var(--c-ok
|
|
4287
|
+
background: color-mix(in srgb, var(--c-ok) 10%, transparent);
|
|
4199
4288
|
}
|
|
4200
4289
|
|
|
4201
4290
|
.diff-node .diff-line-remove {
|
|
4202
4291
|
color: var(--c-danger);
|
|
4203
|
-
background: var(--c-danger
|
|
4292
|
+
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4204
4293
|
}
|
|
4205
4294
|
|
|
4206
4295
|
.diff-node .diff-line-context {
|
|
@@ -4241,7 +4330,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4241
4330
|
border-spacing: 0;
|
|
4242
4331
|
width: max-content;
|
|
4243
4332
|
min-width: 100%;
|
|
4244
|
-
font-family: var(--
|
|
4333
|
+
font-family: var(--font-code);
|
|
4245
4334
|
color: var(--c-text);
|
|
4246
4335
|
}
|
|
4247
4336
|
|
|
@@ -4344,21 +4433,21 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4344
4433
|
|
|
4345
4434
|
/* ── Prompt nodes ──────────────────────────────────────────── */
|
|
4346
4435
|
.canvas-node:has(.prompt-node-inner) {
|
|
4347
|
-
border-color: var(--c-accent
|
|
4436
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4348
4437
|
}
|
|
4349
4438
|
|
|
4350
4439
|
.canvas-node:has(.prompt-node-inner) .node-type-badge {
|
|
4351
|
-
background: var(--c-accent
|
|
4440
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4352
4441
|
color: var(--c-accent);
|
|
4353
4442
|
}
|
|
4354
4443
|
|
|
4355
4444
|
/* ── Response nodes ────────────────────────────────────────── */
|
|
4356
4445
|
.canvas-node:has(.response-node-inner) {
|
|
4357
|
-
border-color: var(--c-ok
|
|
4446
|
+
border-color: color-mix(in srgb, var(--c-ok) 25%, transparent);
|
|
4358
4447
|
}
|
|
4359
4448
|
|
|
4360
4449
|
.canvas-node:has(.response-node-inner) .node-type-badge {
|
|
4361
|
-
background: var(--c-ok
|
|
4450
|
+
background: color-mix(in srgb, var(--c-ok) 12%, transparent);
|
|
4362
4451
|
color: var(--c-ok);
|
|
4363
4452
|
}
|
|
4364
4453
|
|
|
@@ -4377,39 +4466,38 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4377
4466
|
|
|
4378
4467
|
/* ── Multi-node selection (item 13: outline, corner handles, soft glow) ── */
|
|
4379
4468
|
.canvas-node.selected {
|
|
4380
|
-
|
|
4381
|
-
box-shadow: 0 0 0 1px var(--c-accent), 0 0 0 4px color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4469
|
+
box-shadow: 0 0 0 3px var(--c-bg), 0 0 0 5px var(--c-accent), var(--e-1);
|
|
4382
4470
|
}
|
|
4383
4471
|
.node-selection-handle {
|
|
4384
4472
|
position: absolute;
|
|
4385
|
-
width:
|
|
4386
|
-
height:
|
|
4387
|
-
background: var(--c-
|
|
4473
|
+
width: 8px;
|
|
4474
|
+
height: 8px;
|
|
4475
|
+
background: var(--c-panel);
|
|
4388
4476
|
border: 1.5px solid var(--c-accent);
|
|
4389
4477
|
border-radius: 2px;
|
|
4390
4478
|
pointer-events: none;
|
|
4391
4479
|
z-index: 3;
|
|
4392
4480
|
}
|
|
4393
4481
|
.node-selection-handle.is-tl {
|
|
4394
|
-
left: -
|
|
4395
|
-
top: -
|
|
4482
|
+
left: -9px;
|
|
4483
|
+
top: -9px;
|
|
4396
4484
|
}
|
|
4397
4485
|
.node-selection-handle.is-tr {
|
|
4398
|
-
right: -
|
|
4399
|
-
top: -
|
|
4486
|
+
right: -9px;
|
|
4487
|
+
top: -9px;
|
|
4400
4488
|
}
|
|
4401
4489
|
.node-selection-handle.is-bl {
|
|
4402
|
-
left: -
|
|
4403
|
-
bottom: -
|
|
4490
|
+
left: -9px;
|
|
4491
|
+
bottom: -9px;
|
|
4404
4492
|
}
|
|
4405
4493
|
.node-selection-handle.is-br {
|
|
4406
|
-
right: -
|
|
4407
|
-
bottom: -
|
|
4494
|
+
right: -9px;
|
|
4495
|
+
bottom: -9px;
|
|
4408
4496
|
}
|
|
4409
4497
|
|
|
4410
4498
|
/* Lasso rectangle overlay */
|
|
4411
4499
|
.lasso-rect {
|
|
4412
|
-
background: var(--c-accent
|
|
4500
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4413
4501
|
border: 1px solid var(--c-accent);
|
|
4414
4502
|
border-radius: 2px;
|
|
4415
4503
|
z-index: 9998;
|
|
@@ -4451,7 +4539,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4451
4539
|
border-radius: 4px;
|
|
4452
4540
|
background: color-mix(in srgb, var(--c-bg) 72%, transparent);
|
|
4453
4541
|
color: var(--c-annotation);
|
|
4454
|
-
font-family: var(--font);
|
|
4542
|
+
font-family: var(--font-ui);
|
|
4455
4543
|
font-weight: 700;
|
|
4456
4544
|
line-height: 1.15;
|
|
4457
4545
|
outline: none;
|
|
@@ -4465,13 +4553,13 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4465
4553
|
pointer-events: none;
|
|
4466
4554
|
border: 2px dashed var(--c-accent);
|
|
4467
4555
|
border-radius: 8px;
|
|
4468
|
-
background: var(--c-accent
|
|
4556
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4469
4557
|
animation: drop-zone-pulse 1.5s ease-in-out infinite;
|
|
4470
4558
|
}
|
|
4471
4559
|
|
|
4472
4560
|
@keyframes drop-zone-pulse {
|
|
4473
|
-
0%, 100% { background: var(--c-accent
|
|
4474
|
-
50% { background: var(--c-accent
|
|
4561
|
+
0%, 100% { background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
|
|
4562
|
+
50% { background: color-mix(in srgb, var(--c-accent) 12%, transparent); }
|
|
4475
4563
|
}
|
|
4476
4564
|
|
|
4477
4565
|
.drop-zone-indicator {
|
|
@@ -4486,9 +4574,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4486
4574
|
padding: 20px 32px;
|
|
4487
4575
|
background: var(--c-panel-glass);
|
|
4488
4576
|
backdrop-filter: blur(16px);
|
|
4489
|
-
border: 1px solid var(--c-accent
|
|
4577
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4490
4578
|
border-radius: 12px;
|
|
4491
|
-
box-shadow: 0 4px 24px var(--c-shadow), 0 0 24px var(--c-
|
|
4579
|
+
box-shadow: 0 4px 24px var(--c-shadow), 0 0 24px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4492
4580
|
}
|
|
4493
4581
|
|
|
4494
4582
|
.drop-zone-icon {
|
|
@@ -4500,7 +4588,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4500
4588
|
display: flex;
|
|
4501
4589
|
align-items: center;
|
|
4502
4590
|
justify-content: center;
|
|
4503
|
-
border: 2px dashed var(--c-accent
|
|
4591
|
+
border: 2px dashed color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
4504
4592
|
border-radius: 50%;
|
|
4505
4593
|
}
|
|
4506
4594
|
|
|
@@ -4556,7 +4644,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4556
4644
|
border-radius: 8px;
|
|
4557
4645
|
background: var(--c-bg);
|
|
4558
4646
|
color: var(--c-text);
|
|
4559
|
-
font: 13px/1.4 var(--
|
|
4647
|
+
font: 13px/1.4 var(--font-code);
|
|
4560
4648
|
}
|
|
4561
4649
|
.text-prompt-input:focus {
|
|
4562
4650
|
outline: none;
|
|
@@ -4580,7 +4668,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4580
4668
|
font-weight: 600;
|
|
4581
4669
|
}
|
|
4582
4670
|
.text-prompt-cancel:hover {
|
|
4583
|
-
background: var(--c-accent
|
|
4671
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4584
4672
|
border-color: var(--c-muted);
|
|
4585
4673
|
}
|
|
4586
4674
|
.text-prompt-cancel:focus-visible,
|
|
@@ -4701,181 +4789,51 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4701
4789
|
cursor: default;
|
|
4702
4790
|
}
|
|
4703
4791
|
.selection-bar-action.is-pin:hover {
|
|
4704
|
-
background: color-mix(in srgb, var(--c-
|
|
4705
|
-
color: var(--c-
|
|
4792
|
+
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
4793
|
+
color: var(--c-pin);
|
|
4706
4794
|
}
|
|
4707
4795
|
.selection-bar-icon.is-danger:hover {
|
|
4708
4796
|
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4709
4797
|
color: var(--c-danger);
|
|
4710
4798
|
}
|
|
4711
4799
|
|
|
4712
|
-
/* ──
|
|
4800
|
+
/* ── Node states (docs/design/Context.dc.html) ─────────────────
|
|
4801
|
+
In context: pin-blue border, tinted header, blue kind icon and the filled
|
|
4802
|
+
pin badge. Selection is a ring with a gap outside the border, so the pin
|
|
4803
|
+
styling survives it. */
|
|
4713
4804
|
.canvas-node.context-pinned {
|
|
4714
|
-
border
|
|
4715
|
-
box-shadow: 0 0 0 2px var(--c-warn), 0 0 8px var(--c-warn-30);
|
|
4805
|
+
border: 1.5px solid var(--c-pin);
|
|
4716
4806
|
}
|
|
4717
4807
|
|
|
4718
|
-
.canvas-node.context-pinned .node-
|
|
4719
|
-
background: var(--c-
|
|
4720
|
-
color: var(--c-warn);
|
|
4808
|
+
.canvas-node.context-pinned .node-titlebar {
|
|
4809
|
+
background: color-mix(in srgb, var(--c-pin) 12%, var(--c-panel));
|
|
4721
4810
|
}
|
|
4722
4811
|
|
|
4723
|
-
|
|
4724
|
-
|
|
4725
|
-
box-shadow: 0 0 0 2px #4BBCFF, 0 0 12px rgba(75, 188, 255, 0.28);
|
|
4726
|
-
}
|
|
4727
|
-
|
|
4728
|
-
:root[data-theme="light"] .canvas-node.context-pinned .node-type-badge {
|
|
4729
|
-
background: rgba(75, 188, 255, 0.14);
|
|
4730
|
-
color: #1588CE;
|
|
4731
|
-
}
|
|
4732
|
-
|
|
4733
|
-
/* ── Attention layer — human-facing semantic feedback ───────── */
|
|
4734
|
-
.canvas-node.attention-focus-primary {
|
|
4735
|
-
box-shadow:
|
|
4736
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 72%, transparent),
|
|
4737
|
-
0 12px 34px color-mix(in srgb, var(--c-warn) 18%, transparent),
|
|
4738
|
-
inset 0 0 0 1px color-mix(in srgb, var(--c-warn) 28%, transparent);
|
|
4739
|
-
}
|
|
4740
|
-
|
|
4741
|
-
.canvas-node.attention-focus-primary .node-titlebar {
|
|
4742
|
-
background:
|
|
4743
|
-
linear-gradient(90deg, color-mix(in srgb, var(--c-warn) 12%, transparent), transparent 68%),
|
|
4744
|
-
var(--c-panel-soft);
|
|
4745
|
-
}
|
|
4746
|
-
|
|
4747
|
-
:root[data-theme="light"] .canvas-node.attention-focus-primary {
|
|
4748
|
-
box-shadow:
|
|
4749
|
-
0 0 0 1px rgba(75, 188, 255, 0.72),
|
|
4750
|
-
0 12px 34px rgba(75, 188, 255, 0.2),
|
|
4751
|
-
inset 0 0 0 1px rgba(75, 188, 255, 0.18);
|
|
4752
|
-
}
|
|
4753
|
-
|
|
4754
|
-
:root[data-theme="light"] .canvas-node.attention-focus-primary .node-titlebar {
|
|
4755
|
-
background:
|
|
4756
|
-
linear-gradient(90deg, rgba(75, 188, 255, 0.14), transparent 68%),
|
|
4757
|
-
var(--c-panel-soft);
|
|
4758
|
-
}
|
|
4759
|
-
|
|
4760
|
-
.canvas-node.attention-focus-secondary {
|
|
4761
|
-
box-shadow:
|
|
4762
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 30%, transparent),
|
|
4763
|
-
0 8px 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4764
|
-
}
|
|
4765
|
-
|
|
4766
|
-
.canvas-node.attention-focus-secondary .node-type-badge {
|
|
4767
|
-
background: color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4768
|
-
color: color-mix(in srgb, var(--c-warn) 88%, var(--c-text) 12%);
|
|
4769
|
-
}
|
|
4770
|
-
|
|
4771
|
-
:root[data-theme="light"] .canvas-node.attention-focus-secondary {
|
|
4772
|
-
box-shadow:
|
|
4773
|
-
0 0 0 1px rgba(75, 188, 255, 0.32),
|
|
4774
|
-
0 8px 24px rgba(75, 188, 255, 0.12);
|
|
4775
|
-
}
|
|
4776
|
-
|
|
4777
|
-
:root[data-theme="light"] .canvas-node.attention-focus-secondary .node-type-badge {
|
|
4778
|
-
background: rgba(75, 188, 255, 0.12);
|
|
4779
|
-
color: #1588CE;
|
|
4812
|
+
.canvas-node.context-pinned .node-type-icon {
|
|
4813
|
+
color: var(--c-pin);
|
|
4780
4814
|
}
|
|
4781
4815
|
|
|
4816
|
+
/* A short pulse on the nodes a canvas change touched (pin, connect, group).
|
|
4817
|
+
Accent, not a meaning colour: it says "this changed", nothing more. */
|
|
4782
4818
|
.canvas-node.attention-pulse {
|
|
4783
4819
|
animation: attention-node-pulse 0.9s ease;
|
|
4784
4820
|
}
|
|
4785
4821
|
|
|
4786
|
-
:root[data-theme="light"] .canvas-node.attention-pulse {
|
|
4787
|
-
animation-name: attention-node-pulse-light;
|
|
4788
|
-
}
|
|
4789
|
-
|
|
4790
4822
|
@keyframes attention-node-pulse {
|
|
4791
4823
|
0% {
|
|
4792
4824
|
transform: translateZ(0) scale(1);
|
|
4793
|
-
box-shadow:
|
|
4794
|
-
0 0 0 0 color-mix(in srgb, var(--c-warn) 0%, transparent),
|
|
4795
|
-
0 4px 24px var(--c-shadow);
|
|
4796
4825
|
}
|
|
4797
4826
|
38% {
|
|
4798
4827
|
transform: translateZ(0) scale(1.012);
|
|
4799
4828
|
box-shadow:
|
|
4800
|
-
0 0 0 3px color-mix(in srgb, var(--c-
|
|
4801
|
-
|
|
4829
|
+
0 0 0 3px color-mix(in srgb, var(--c-accent) 35%, transparent),
|
|
4830
|
+
var(--e-1);
|
|
4802
4831
|
}
|
|
4803
4832
|
100% {
|
|
4804
4833
|
transform: translateZ(0) scale(1);
|
|
4805
4834
|
}
|
|
4806
4835
|
}
|
|
4807
4836
|
|
|
4808
|
-
@keyframes attention-node-pulse-light {
|
|
4809
|
-
0% {
|
|
4810
|
-
transform: translateZ(0) scale(1);
|
|
4811
|
-
box-shadow:
|
|
4812
|
-
0 0 0 0 rgba(75, 188, 255, 0),
|
|
4813
|
-
0 4px 24px var(--c-shadow);
|
|
4814
|
-
}
|
|
4815
|
-
38% {
|
|
4816
|
-
transform: translateZ(0) scale(1.012);
|
|
4817
|
-
box-shadow:
|
|
4818
|
-
0 0 0 3px rgba(75, 188, 255, 0.32),
|
|
4819
|
-
0 16px 34px rgba(75, 188, 255, 0.18);
|
|
4820
|
-
}
|
|
4821
|
-
100% {
|
|
4822
|
-
transform: translateZ(0) scale(1);
|
|
4823
|
-
}
|
|
4824
|
-
}
|
|
4825
|
-
|
|
4826
|
-
.attention-field-layer {
|
|
4827
|
-
position: absolute;
|
|
4828
|
-
inset: 0;
|
|
4829
|
-
pointer-events: none;
|
|
4830
|
-
z-index: 0;
|
|
4831
|
-
}
|
|
4832
|
-
|
|
4833
|
-
.attention-field-region,
|
|
4834
|
-
.attention-field-node {
|
|
4835
|
-
position: absolute;
|
|
4836
|
-
pointer-events: none;
|
|
4837
|
-
}
|
|
4838
|
-
|
|
4839
|
-
.attention-field-region {
|
|
4840
|
-
background:
|
|
4841
|
-
radial-gradient(circle at 25% 30%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 62%),
|
|
4842
|
-
linear-gradient(135deg, color-mix(in srgb, var(--c-warn) 10%, transparent), color-mix(in srgb, var(--c-accent) 5%, transparent));
|
|
4843
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 22%, transparent);
|
|
4844
|
-
opacity: 0.8;
|
|
4845
|
-
filter: blur(18px);
|
|
4846
|
-
}
|
|
4847
|
-
|
|
4848
|
-
.attention-field-node.attention-field-primary {
|
|
4849
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 38%, transparent);
|
|
4850
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 72%);
|
|
4851
|
-
box-shadow: 0 0 38px color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4852
|
-
}
|
|
4853
|
-
|
|
4854
|
-
.attention-field-node.attention-field-secondary {
|
|
4855
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4856
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 9%, transparent), transparent 74%);
|
|
4857
|
-
box-shadow: 0 0 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4858
|
-
}
|
|
4859
|
-
|
|
4860
|
-
:root[data-theme="light"] .attention-field-region {
|
|
4861
|
-
background:
|
|
4862
|
-
radial-gradient(circle at 25% 30%, rgba(75, 188, 255, 0.16), transparent 62%),
|
|
4863
|
-
linear-gradient(135deg, rgba(75, 188, 255, 0.1), rgba(75, 188, 255, 0.05));
|
|
4864
|
-
border: 1px solid rgba(75, 188, 255, 0.22);
|
|
4865
|
-
}
|
|
4866
|
-
|
|
4867
|
-
:root[data-theme="light"] .attention-field-node.attention-field-primary {
|
|
4868
|
-
border: 1px solid rgba(75, 188, 255, 0.4);
|
|
4869
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.18), transparent 72%);
|
|
4870
|
-
box-shadow: 0 0 38px rgba(75, 188, 255, 0.2);
|
|
4871
|
-
}
|
|
4872
|
-
|
|
4873
|
-
:root[data-theme="light"] .attention-field-node.attention-field-secondary {
|
|
4874
|
-
border: 1px solid rgba(75, 188, 255, 0.18);
|
|
4875
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.1), transparent 74%);
|
|
4876
|
-
box-shadow: 0 0 24px rgba(75, 188, 255, 0.12);
|
|
4877
|
-
}
|
|
4878
|
-
|
|
4879
4837
|
/* Anchored to the canvas region (not the window): since the rail-chrome
|
|
4880
4838
|
restructure the session panel owns the window's right edge. */
|
|
4881
4839
|
.attention-toast {
|
|
@@ -4889,7 +4847,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4889
4847
|
padding: 6px 12px 6px 10px;
|
|
4890
4848
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4891
4849
|
backdrop-filter: blur(14px);
|
|
4892
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 76%, var(--c-
|
|
4850
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 76%, var(--c-accent) 24%);
|
|
4893
4851
|
border-radius: 12px;
|
|
4894
4852
|
box-shadow: 0 8px 22px var(--c-shadow);
|
|
4895
4853
|
color: var(--c-text);
|
|
@@ -4963,9 +4921,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4963
4921
|
padding: 14px;
|
|
4964
4922
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4965
4923
|
backdrop-filter: blur(16px);
|
|
4966
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-
|
|
4924
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-accent) 18%);
|
|
4967
4925
|
border-radius: 18px;
|
|
4968
|
-
box-shadow: 0 14px 36px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-
|
|
4926
|
+
box-shadow: 0 14px 36px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4969
4927
|
z-index: 9990;
|
|
4970
4928
|
}
|
|
4971
4929
|
|
|
@@ -4979,7 +4937,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4979
4937
|
padding: 8px 12px 8px 14px;
|
|
4980
4938
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4981
4939
|
backdrop-filter: blur(16px);
|
|
4982
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-
|
|
4940
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-accent) 18%);
|
|
4983
4941
|
border-right: 0;
|
|
4984
4942
|
border-radius: 14px 0 0 14px;
|
|
4985
4943
|
box-shadow: 0 12px 36px var(--c-shadow);
|
|
@@ -5016,7 +4974,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5016
4974
|
align-items: center;
|
|
5017
4975
|
justify-content: center;
|
|
5018
4976
|
border-radius: 9px;
|
|
5019
|
-
background: var(--c-
|
|
4977
|
+
background: var(--c-accent);
|
|
5020
4978
|
color: var(--c-contrast-fg);
|
|
5021
4979
|
font-size: 10px;
|
|
5022
4980
|
font-weight: 700;
|
|
@@ -5115,16 +5073,16 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5115
5073
|
}
|
|
5116
5074
|
|
|
5117
5075
|
.attention-tone-context {
|
|
5118
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5076
|
+
border-color: color-mix(in srgb, var(--c-pin) 26%, transparent);
|
|
5119
5077
|
}
|
|
5120
5078
|
|
|
5121
5079
|
.attention-toast.attention-tone-context {
|
|
5122
|
-
color: color-mix(in srgb, var(--c-
|
|
5080
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5123
5081
|
}
|
|
5124
5082
|
|
|
5125
5083
|
.attention-tone-context .attention-history-kind,
|
|
5126
5084
|
.attention-tone-context .attention-toast-title {
|
|
5127
|
-
color: color-mix(in srgb, var(--c-
|
|
5085
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5128
5086
|
}
|
|
5129
5087
|
|
|
5130
5088
|
.attention-tone-relationship {
|
|
@@ -5141,33 +5099,33 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5141
5099
|
}
|
|
5142
5100
|
|
|
5143
5101
|
.attention-tone-group {
|
|
5144
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5102
|
+
border-color: color-mix(in srgb, var(--c-accent) 24%, transparent);
|
|
5145
5103
|
}
|
|
5146
5104
|
|
|
5147
5105
|
.attention-toast.attention-tone-group {
|
|
5148
|
-
color: color-mix(in srgb, var(--c-
|
|
5106
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5149
5107
|
}
|
|
5150
5108
|
|
|
5151
5109
|
.attention-tone-group .attention-history-kind,
|
|
5152
5110
|
.attention-tone-group .attention-toast-title {
|
|
5153
|
-
color: color-mix(in srgb, var(--c-
|
|
5111
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5154
5112
|
}
|
|
5155
5113
|
|
|
5156
5114
|
.attention-tone-cluster,
|
|
5157
5115
|
.attention-tone-neighborhood {
|
|
5158
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5116
|
+
border-color: color-mix(in srgb, var(--c-accent) 22%, transparent);
|
|
5159
5117
|
}
|
|
5160
5118
|
|
|
5161
5119
|
.attention-toast.attention-tone-cluster,
|
|
5162
5120
|
.attention-toast.attention-tone-neighborhood {
|
|
5163
|
-
color: color-mix(in srgb, var(--c-
|
|
5121
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5164
5122
|
}
|
|
5165
5123
|
|
|
5166
5124
|
.attention-tone-cluster .attention-history-kind,
|
|
5167
5125
|
.attention-tone-cluster .attention-toast-title,
|
|
5168
5126
|
.attention-tone-neighborhood .attention-history-kind,
|
|
5169
5127
|
.attention-tone-neighborhood .attention-toast-title {
|
|
5170
|
-
color: color-mix(in srgb, var(--c-
|
|
5128
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5171
5129
|
}
|
|
5172
5130
|
|
|
5173
5131
|
.attention-tone-remove {
|
|
@@ -5214,7 +5172,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5214
5172
|
background: color-mix(in srgb, var(--group-color, var(--c-accent)) 9%, transparent);
|
|
5215
5173
|
}
|
|
5216
5174
|
.canvas-node.group-node.is-drop-source {
|
|
5217
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5175
|
+
border-color: color-mix(in srgb, var(--c-accent) 60%, transparent);
|
|
5218
5176
|
}
|
|
5219
5177
|
.canvas-node.group-node .node-body {
|
|
5220
5178
|
background: none;
|
|
@@ -5271,7 +5229,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5271
5229
|
text-overflow: ellipsis;
|
|
5272
5230
|
}
|
|
5273
5231
|
.group-count {
|
|
5274
|
-
font: 9px var(--
|
|
5232
|
+
font: 9px var(--font-code);
|
|
5275
5233
|
color: var(--c-dim);
|
|
5276
5234
|
}
|
|
5277
5235
|
.group-title-input {
|
|
@@ -5407,10 +5365,11 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5407
5365
|
width: 6px;
|
|
5408
5366
|
height: 6px;
|
|
5409
5367
|
border-radius: 2px;
|
|
5368
|
+
background: var(--c-muted);
|
|
5410
5369
|
opacity: 0.8;
|
|
5411
5370
|
}
|
|
5412
5371
|
.group-chip-count {
|
|
5413
|
-
font: 9px var(--
|
|
5372
|
+
font: 9px var(--font-code);
|
|
5414
5373
|
color: var(--c-dim);
|
|
5415
5374
|
}
|
|
5416
5375
|
|
|
@@ -5434,7 +5393,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5434
5393
|
color: var(--c-accent);
|
|
5435
5394
|
}
|
|
5436
5395
|
.drop-pill-hint {
|
|
5437
|
-
font: 9px var(--
|
|
5396
|
+
font: 9px var(--font-code);
|
|
5438
5397
|
color: var(--c-dim);
|
|
5439
5398
|
}
|
|
5440
5399
|
|
|
@@ -5450,9 +5409,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5450
5409
|
padding: 8px 14px;
|
|
5451
5410
|
background: var(--c-panel-glass);
|
|
5452
5411
|
backdrop-filter: blur(12px);
|
|
5453
|
-
border: 1px solid var(--c-
|
|
5412
|
+
border: 1px solid var(--c-pin);
|
|
5454
5413
|
border-radius: var(--radius);
|
|
5455
|
-
box-shadow: 0 8px 32px var(--c-shadow), 0 0 0 1px var(--c-
|
|
5414
|
+
box-shadow: 0 8px 32px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-pin) 15%, transparent);
|
|
5456
5415
|
z-index: 64;
|
|
5457
5416
|
white-space: nowrap;
|
|
5458
5417
|
}
|
|
@@ -5460,35 +5419,35 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5460
5419
|
.context-pin-bar-count {
|
|
5461
5420
|
font-size: 12px;
|
|
5462
5421
|
font-weight: 600;
|
|
5463
|
-
color: var(--c-
|
|
5422
|
+
color: var(--c-pin);
|
|
5464
5423
|
}
|
|
5465
5424
|
|
|
5466
5425
|
.context-pin-bar-btn {
|
|
5467
5426
|
padding: 5px 12px;
|
|
5468
5427
|
font-size: 12px;
|
|
5469
5428
|
font-weight: 600;
|
|
5470
|
-
background: var(--c-
|
|
5471
|
-
border: 1px solid var(--c-
|
|
5429
|
+
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
5430
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5472
5431
|
border-radius: var(--radius-sm);
|
|
5473
|
-
color: var(--c-
|
|
5432
|
+
color: var(--c-pin);
|
|
5474
5433
|
cursor: pointer;
|
|
5475
|
-
font-family: var(--font);
|
|
5434
|
+
font-family: var(--font-ui);
|
|
5476
5435
|
}
|
|
5477
5436
|
|
|
5478
5437
|
.context-pin-bar-btn:hover {
|
|
5479
|
-
background: var(--c-
|
|
5480
|
-
border-color: var(--c-
|
|
5438
|
+
background: color-mix(in srgb, var(--c-pin) 20%, transparent);
|
|
5439
|
+
border-color: var(--c-pin);
|
|
5481
5440
|
}
|
|
5482
5441
|
|
|
5483
5442
|
.context-pin-bar-ask {
|
|
5484
|
-
background: var(--c-
|
|
5485
|
-
color: var(--c-
|
|
5486
|
-
border-color: var(--c-
|
|
5443
|
+
background: var(--c-pin);
|
|
5444
|
+
color: var(--c-on-pin);
|
|
5445
|
+
border-color: var(--c-pin);
|
|
5487
5446
|
}
|
|
5488
5447
|
|
|
5489
5448
|
.context-pin-bar-ask:hover {
|
|
5490
|
-
background: var(--c-
|
|
5491
|
-
border-color: var(--c-
|
|
5449
|
+
background: color-mix(in srgb, var(--c-pin) 85%, var(--c-text));
|
|
5450
|
+
border-color: color-mix(in srgb, var(--c-pin) 85%, var(--c-text));
|
|
5492
5451
|
}
|
|
5493
5452
|
|
|
5494
5453
|
.context-pin-bar-clear {
|
|
@@ -5530,7 +5489,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5530
5489
|
overflow: hidden;
|
|
5531
5490
|
}
|
|
5532
5491
|
.expanded-overlay-panel.is-pinned {
|
|
5533
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5492
|
+
border-color: color-mix(in srgb, var(--c-pin) 45%, var(--c-line));
|
|
5534
5493
|
}
|
|
5535
5494
|
.expanded-header {
|
|
5536
5495
|
display: flex;
|
|
@@ -5573,7 +5532,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5573
5532
|
cursor: pointer;
|
|
5574
5533
|
}
|
|
5575
5534
|
.expanded-pin.is-on {
|
|
5576
|
-
color: var(--c-
|
|
5535
|
+
color: var(--c-pin);
|
|
5577
5536
|
}
|
|
5578
5537
|
.expanded-spacer {
|
|
5579
5538
|
flex: 1;
|
|
@@ -5607,12 +5566,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5607
5566
|
padding: 8px 16px;
|
|
5608
5567
|
border-top: 1px solid var(--c-line);
|
|
5609
5568
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
5610
|
-
font: 9.5px var(--
|
|
5569
|
+
font: 9.5px var(--font-code);
|
|
5611
5570
|
color: var(--c-dim);
|
|
5612
5571
|
flex-shrink: 0;
|
|
5613
5572
|
}
|
|
5614
5573
|
.expanded-footer-hint.is-saving {
|
|
5615
|
-
color: var(--c-
|
|
5574
|
+
color: var(--c-muted);
|
|
5616
5575
|
}
|
|
5617
5576
|
.expanded-actions {
|
|
5618
5577
|
display: flex;
|
|
@@ -5629,7 +5588,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5629
5588
|
border-radius: var(--radius-sm);
|
|
5630
5589
|
color: var(--c-text-soft);
|
|
5631
5590
|
cursor: pointer;
|
|
5632
|
-
font-family: var(--font);
|
|
5591
|
+
font-family: var(--font-ui);
|
|
5633
5592
|
}
|
|
5634
5593
|
|
|
5635
5594
|
.expanded-action-btn:hover {
|
|
@@ -5639,25 +5598,25 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5639
5598
|
}
|
|
5640
5599
|
|
|
5641
5600
|
.expanded-action-btn.expanded-action-primary {
|
|
5642
|
-
background: var(--c-accent
|
|
5643
|
-
border-color: var(--c-accent
|
|
5601
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
5602
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
5644
5603
|
color: var(--c-accent);
|
|
5645
5604
|
}
|
|
5646
5605
|
|
|
5647
5606
|
.expanded-action-btn.expanded-action-primary:hover {
|
|
5648
|
-
background: var(--c-accent
|
|
5607
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
5649
5608
|
border-color: var(--c-accent);
|
|
5650
5609
|
color: var(--c-text);
|
|
5651
5610
|
}
|
|
5652
5611
|
|
|
5653
5612
|
.expanded-action-btn.expanded-action-active {
|
|
5654
|
-
background: var(--c-warn
|
|
5655
|
-
border-color: var(--c-warn
|
|
5613
|
+
background: color-mix(in srgb, var(--c-warn) 12%, transparent);
|
|
5614
|
+
border-color: color-mix(in srgb, var(--c-warn) 30%, transparent);
|
|
5656
5615
|
color: var(--c-warn);
|
|
5657
5616
|
}
|
|
5658
5617
|
|
|
5659
5618
|
.expanded-action-btn.expanded-action-active:hover {
|
|
5660
|
-
background: var(--c-warn
|
|
5619
|
+
background: color-mix(in srgb, var(--c-warn) 20%, transparent);
|
|
5661
5620
|
border-color: var(--c-warn);
|
|
5662
5621
|
}
|
|
5663
5622
|
|
|
@@ -5674,7 +5633,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5674
5633
|
display: flex;
|
|
5675
5634
|
padding: 0;
|
|
5676
5635
|
background:
|
|
5677
|
-
radial-gradient(circle at top left, var(--c-accent
|
|
5636
|
+
radial-gradient(circle at top left, color-mix(in srgb, var(--c-accent) 25%, transparent), transparent 36rem),
|
|
5678
5637
|
rgba(3, 7, 18, 0.96);
|
|
5679
5638
|
color: var(--c-text);
|
|
5680
5639
|
}
|
|
@@ -5691,7 +5650,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5691
5650
|
box-shadow: 0 18px 50px var(--c-shadow-heavy);
|
|
5692
5651
|
color: var(--c-text-soft);
|
|
5693
5652
|
cursor: pointer;
|
|
5694
|
-
font: 600 12px/1 var(--font);
|
|
5653
|
+
font: 600 12px/1 var(--font-ui);
|
|
5695
5654
|
opacity: 0;
|
|
5696
5655
|
pointer-events: none;
|
|
5697
5656
|
transform: translateY(-6px);
|
|
@@ -5726,24 +5685,119 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5726
5685
|
border-radius: 0 !important;
|
|
5727
5686
|
}
|
|
5728
5687
|
|
|
5729
|
-
/* ── Context pin
|
|
5730
|
-
|
|
5688
|
+
/* ── Context pin on the node header (docs/design/Chrome.dc.html) ──
|
|
5689
|
+
Always visible: an outline pin in a circle when the node is not in
|
|
5690
|
+
context, the filled pin-blue badge when it is. */
|
|
5691
|
+
.canvas-node .node-controls .ctx-pin-btn:hover {
|
|
5692
|
+
background: none;
|
|
5693
|
+
}
|
|
5694
|
+
|
|
5695
|
+
/* ── What agents did with this node (docs/design/AgentContext.dc.html) ──
|
|
5696
|
+
One chip after the title: glyph + word, hover explains. Violet = the agent
|
|
5697
|
+
did it, muted = not yet, amber = needs a look. */
|
|
5698
|
+
.node-context-mark {
|
|
5699
|
+
display: inline-flex;
|
|
5700
|
+
align-items: center;
|
|
5701
|
+
gap: calc(4px * var(--node-chrome-scale, 1));
|
|
5702
|
+
height: calc(20px * var(--node-chrome-scale, 1));
|
|
5703
|
+
padding: 0 calc(7px * var(--node-chrome-scale, 1));
|
|
5704
|
+
border-radius: var(--r-pill);
|
|
5705
|
+
font-size: calc(var(--fs-meta) * var(--node-chrome-scale, 1));
|
|
5706
|
+
font-weight: 500;
|
|
5707
|
+
white-space: nowrap;
|
|
5708
|
+
flex-shrink: 0;
|
|
5709
|
+
}
|
|
5710
|
+
.node-context-mark svg {
|
|
5711
|
+
width: calc(12px * var(--node-chrome-scale, 1));
|
|
5712
|
+
height: calc(12px * var(--node-chrome-scale, 1));
|
|
5713
|
+
fill: none;
|
|
5714
|
+
stroke: currentColor;
|
|
5715
|
+
stroke-width: 2;
|
|
5716
|
+
stroke-linecap: round;
|
|
5717
|
+
stroke-linejoin: round;
|
|
5718
|
+
}
|
|
5719
|
+
.node-context-mark.is-agent {
|
|
5720
|
+
color: var(--c-agent);
|
|
5721
|
+
background: color-mix(in srgb, var(--c-agent) 16%, transparent);
|
|
5722
|
+
}
|
|
5723
|
+
.node-context-mark.is-muted {
|
|
5731
5724
|
color: var(--c-muted);
|
|
5732
|
-
|
|
5733
|
-
|
|
5725
|
+
background: var(--c-panel-soft);
|
|
5726
|
+
}
|
|
5727
|
+
.node-context-mark.is-warn {
|
|
5728
|
+
color: var(--c-warn);
|
|
5729
|
+
background: color-mix(in srgb, var(--c-warn) 14%, transparent);
|
|
5734
5730
|
}
|
|
5735
5731
|
|
|
5736
|
-
.
|
|
5737
|
-
|
|
5732
|
+
/* Near a pin (docs/design/NearPin.dc.html): dotted, weaker than in context. */
|
|
5733
|
+
.node-near-mark {
|
|
5734
|
+
display: inline-flex;
|
|
5735
|
+
align-items: center;
|
|
5736
|
+
gap: calc(4px * var(--node-chrome-scale, 1));
|
|
5737
|
+
height: calc(18px * var(--node-chrome-scale, 1));
|
|
5738
|
+
padding: 0 calc(7px * var(--node-chrome-scale, 1));
|
|
5739
|
+
border: 1px dotted var(--c-pin);
|
|
5740
|
+
border-radius: var(--r-pill);
|
|
5741
|
+
color: color-mix(in srgb, var(--c-pin) 75%, var(--c-text));
|
|
5742
|
+
font-size: calc(var(--fs-meta) * var(--node-chrome-scale, 1));
|
|
5743
|
+
font-weight: 500;
|
|
5744
|
+
white-space: nowrap;
|
|
5745
|
+
flex-shrink: 0;
|
|
5746
|
+
}
|
|
5747
|
+
.node-near-mark svg {
|
|
5748
|
+
width: calc(12px * var(--node-chrome-scale, 1));
|
|
5749
|
+
height: calc(12px * var(--node-chrome-scale, 1));
|
|
5750
|
+
}
|
|
5751
|
+
.node-near-ring {
|
|
5752
|
+
fill: none;
|
|
5753
|
+
stroke: currentColor;
|
|
5754
|
+
stroke-width: 2;
|
|
5755
|
+
stroke-dasharray: 2.2 2.6;
|
|
5756
|
+
}
|
|
5757
|
+
.node-near-dot {
|
|
5758
|
+
fill: currentColor;
|
|
5738
5759
|
}
|
|
5739
5760
|
|
|
5740
|
-
|
|
5741
|
-
|
|
5742
|
-
|
|
5761
|
+
/* Pinned by an agent: a violet dot on the pin badge. */
|
|
5762
|
+
.ctx-pin-mark {
|
|
5763
|
+
position: relative;
|
|
5764
|
+
}
|
|
5765
|
+
.ctx-pin-agent-dot {
|
|
5766
|
+
position: absolute;
|
|
5767
|
+
right: -3px;
|
|
5768
|
+
bottom: -3px;
|
|
5769
|
+
width: 9px;
|
|
5770
|
+
height: 9px;
|
|
5771
|
+
box-sizing: border-box;
|
|
5772
|
+
border-radius: var(--r-pill);
|
|
5773
|
+
background: var(--c-agent);
|
|
5774
|
+
border: 2px solid var(--c-panel);
|
|
5775
|
+
}
|
|
5776
|
+
|
|
5777
|
+
/* The drawn 18 px circle sits inside the standard control hit target. */
|
|
5778
|
+
.ctx-pin-mark {
|
|
5779
|
+
width: calc(18px * var(--node-chrome-scale, 1));
|
|
5780
|
+
height: calc(18px * var(--node-chrome-scale, 1));
|
|
5781
|
+
box-sizing: border-box;
|
|
5782
|
+
border: 1.5px solid var(--c-muted);
|
|
5783
|
+
border-radius: var(--r-pill);
|
|
5784
|
+
display: flex;
|
|
5785
|
+
align-items: center;
|
|
5786
|
+
justify-content: center;
|
|
5787
|
+
font-size: calc(13px * var(--node-chrome-scale, 1));
|
|
5788
|
+
color: var(--c-text-soft);
|
|
5789
|
+
}
|
|
5790
|
+
|
|
5791
|
+
.ctx-pin-btn:hover .ctx-pin-mark {
|
|
5792
|
+
border-color: var(--c-pin);
|
|
5793
|
+
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
5794
|
+
color: var(--c-pin);
|
|
5743
5795
|
}
|
|
5744
5796
|
|
|
5745
|
-
|
|
5746
|
-
color:
|
|
5797
|
+
.ctx-pin-btn.ctx-pin-active .ctx-pin-mark {
|
|
5798
|
+
border-color: var(--c-pin);
|
|
5799
|
+
background: var(--c-pin);
|
|
5800
|
+
color: var(--c-on-pin);
|
|
5747
5801
|
}
|
|
5748
5802
|
|
|
5749
5803
|
/* ── Context pin HUD — top-right pill ────────────────────────── */
|
|
@@ -5754,7 +5808,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5754
5808
|
padding: 5px 10px;
|
|
5755
5809
|
background: var(--c-panel-glass);
|
|
5756
5810
|
backdrop-filter: blur(12px);
|
|
5757
|
-
border: 1px solid var(--c-
|
|
5811
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5758
5812
|
border-radius: var(--radius);
|
|
5759
5813
|
white-space: nowrap;
|
|
5760
5814
|
}
|
|
@@ -5762,7 +5816,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5762
5816
|
.context-pin-hud-label {
|
|
5763
5817
|
font-size: 11px;
|
|
5764
5818
|
font-weight: 600;
|
|
5765
|
-
color: var(--c-
|
|
5819
|
+
color: var(--c-pin);
|
|
5766
5820
|
}
|
|
5767
5821
|
|
|
5768
5822
|
.context-pin-hud-clear {
|
|
@@ -5786,7 +5840,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5786
5840
|
|
|
5787
5841
|
.thread-turn-assistant {
|
|
5788
5842
|
padding: 6px 0;
|
|
5789
|
-
border-left: 2px solid var(--c-ok
|
|
5843
|
+
border-left: 2px solid color-mix(in srgb, var(--c-ok) 20%, transparent);
|
|
5790
5844
|
padding-left: 10px;
|
|
5791
5845
|
margin-left: 2px;
|
|
5792
5846
|
overflow: hidden;
|
|
@@ -5948,7 +6002,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5948
6002
|
border-radius: 7px;
|
|
5949
6003
|
background: var(--c-panel);
|
|
5950
6004
|
color: var(--c-text);
|
|
5951
|
-
font: 11.5px var(--font);
|
|
6005
|
+
font: 11.5px var(--font-ui);
|
|
5952
6006
|
}
|
|
5953
6007
|
.snapshot-name-input:focus {
|
|
5954
6008
|
outline: 2px solid var(--c-accent);
|
|
@@ -6006,8 +6060,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6006
6060
|
border-radius: 10px;
|
|
6007
6061
|
}
|
|
6008
6062
|
.snapshot-item.is-session {
|
|
6009
|
-
border-color: color-mix(in srgb, var(--c-
|
|
6010
|
-
background: color-mix(in srgb, var(--c-
|
|
6063
|
+
border-color: color-mix(in srgb, var(--c-agent) 30%, transparent);
|
|
6064
|
+
background: color-mix(in srgb, var(--c-agent) 5%, transparent);
|
|
6011
6065
|
}
|
|
6012
6066
|
.snapshot-item-head {
|
|
6013
6067
|
display: flex;
|
|
@@ -6018,7 +6072,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6018
6072
|
width: 7px;
|
|
6019
6073
|
height: 7px;
|
|
6020
6074
|
border-radius: 50%;
|
|
6021
|
-
background: var(--c-
|
|
6075
|
+
background: var(--c-agent);
|
|
6022
6076
|
flex-shrink: 0;
|
|
6023
6077
|
}
|
|
6024
6078
|
.snapshot-item-glyph {
|
|
@@ -6040,7 +6094,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6040
6094
|
color: var(--c-text);
|
|
6041
6095
|
}
|
|
6042
6096
|
.snapshot-item-time {
|
|
6043
|
-
font: 9px var(--
|
|
6097
|
+
font: 9px var(--font-code);
|
|
6044
6098
|
color: var(--c-dim);
|
|
6045
6099
|
}
|
|
6046
6100
|
.snapshot-item-meta {
|
|
@@ -6155,7 +6209,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6155
6209
|
outline: none;
|
|
6156
6210
|
background: none;
|
|
6157
6211
|
color: var(--c-text);
|
|
6158
|
-
font: 13px var(--font);
|
|
6212
|
+
font: 13px var(--font-ui);
|
|
6159
6213
|
}
|
|
6160
6214
|
.command-palette-input::placeholder {
|
|
6161
6215
|
color: var(--c-dim);
|
|
@@ -6165,7 +6219,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6165
6219
|
padding: 1px 6px;
|
|
6166
6220
|
border: 1px solid var(--c-line);
|
|
6167
6221
|
border-radius: 4px;
|
|
6168
|
-
font: 9.5px var(--
|
|
6222
|
+
font: 9.5px var(--font-code);
|
|
6169
6223
|
color: var(--c-muted);
|
|
6170
6224
|
}
|
|
6171
6225
|
.command-palette-esc {
|
|
@@ -6223,7 +6277,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6223
6277
|
color: var(--c-accent);
|
|
6224
6278
|
}
|
|
6225
6279
|
.command-palette-icon.tone-purple {
|
|
6226
|
-
color: var(--c-
|
|
6280
|
+
color: var(--c-agent);
|
|
6227
6281
|
}
|
|
6228
6282
|
.command-palette-icon.tone-muted {
|
|
6229
6283
|
color: var(--c-muted);
|
|
@@ -6251,7 +6305,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6251
6305
|
padding: 8px 14px;
|
|
6252
6306
|
border-top: 1px solid var(--c-line);
|
|
6253
6307
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
6254
|
-
font: 9.5px var(--
|
|
6308
|
+
font: 9.5px var(--font-code);
|
|
6255
6309
|
color: var(--c-dim);
|
|
6256
6310
|
}
|
|
6257
6311
|
.command-palette-hint-spacer {
|
|
@@ -6308,7 +6362,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6308
6362
|
border: 1px solid var(--c-line);
|
|
6309
6363
|
border-radius: 3px;
|
|
6310
6364
|
padding: 0 4px;
|
|
6311
|
-
font-family: var(--font);
|
|
6365
|
+
font-family: var(--font-ui);
|
|
6312
6366
|
font-size: 9px;
|
|
6313
6367
|
line-height: 1.6;
|
|
6314
6368
|
margin: 0 2px;
|
|
@@ -6349,7 +6403,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6349
6403
|
border: 1px solid var(--c-line);
|
|
6350
6404
|
border-radius: 4px;
|
|
6351
6405
|
padding: 2px 7px;
|
|
6352
|
-
font-family: var(--
|
|
6406
|
+
font-family: var(--font-code);
|
|
6353
6407
|
font-size: 11px;
|
|
6354
6408
|
color: var(--c-text);
|
|
6355
6409
|
white-space: nowrap;
|
|
@@ -6431,7 +6485,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6431
6485
|
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
6432
6486
|
}
|
|
6433
6487
|
.empty-state-action.is-agent:hover {
|
|
6434
|
-
border-color: color-mix(in srgb, var(--c-
|
|
6488
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
6435
6489
|
}
|
|
6436
6490
|
.empty-state-action .tone-accent {
|
|
6437
6491
|
color: var(--c-accent);
|
|
@@ -6443,7 +6497,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6443
6497
|
color: var(--c-ok);
|
|
6444
6498
|
}
|
|
6445
6499
|
.empty-state-action .tone-purple {
|
|
6446
|
-
color: var(--c-
|
|
6500
|
+
color: var(--c-agent);
|
|
6447
6501
|
}
|
|
6448
6502
|
.empty-state-action-label {
|
|
6449
6503
|
flex: 1;
|
|
@@ -6454,7 +6508,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6454
6508
|
padding: 1px 6px;
|
|
6455
6509
|
border: 1px solid var(--c-line);
|
|
6456
6510
|
border-radius: 4px;
|
|
6457
|
-
font: 9.5px var(--
|
|
6511
|
+
font: 9.5px var(--font-code);
|
|
6458
6512
|
color: var(--c-dim);
|
|
6459
6513
|
}
|
|
6460
6514
|
.empty-state-action-hint {
|
|
@@ -6465,7 +6519,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6465
6519
|
background: none;
|
|
6466
6520
|
border: none;
|
|
6467
6521
|
padding: 0;
|
|
6468
|
-
font: 10.5px var(--
|
|
6522
|
+
font: 10.5px var(--font-code);
|
|
6469
6523
|
color: var(--c-dim);
|
|
6470
6524
|
cursor: pointer;
|
|
6471
6525
|
}
|
|
@@ -6497,8 +6551,6 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6497
6551
|
animation: none !important;
|
|
6498
6552
|
}
|
|
6499
6553
|
|
|
6500
|
-
.attention-field-region,
|
|
6501
|
-
.attention-field-node,
|
|
6502
6554
|
.canvas-node {
|
|
6503
6555
|
transition: none !important;
|
|
6504
6556
|
}
|
|
@@ -6599,7 +6651,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6599
6651
|
}
|
|
6600
6652
|
|
|
6601
6653
|
.image-node-error-path {
|
|
6602
|
-
font-family: var(--
|
|
6654
|
+
font-family: var(--font-code);
|
|
6603
6655
|
font-size: 10px;
|
|
6604
6656
|
color: var(--c-muted);
|
|
6605
6657
|
word-break: break-all;
|
|
@@ -6708,8 +6760,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6708
6760
|
.intent-ghost-box {
|
|
6709
6761
|
border: 1.5px dashed var(--c-accent);
|
|
6710
6762
|
border-radius: 10px;
|
|
6711
|
-
background: var(--c-accent
|
|
6712
|
-
box-shadow: 0 0 0 1px var(--c-accent
|
|
6763
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6764
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 10%, transparent), 0 6px 22px color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6713
6765
|
animation: intent-breathe 2.1s ease-in-out infinite;
|
|
6714
6766
|
overflow: visible;
|
|
6715
6767
|
}
|
|
@@ -6738,8 +6790,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6738
6790
|
}
|
|
6739
6791
|
|
|
6740
6792
|
@keyframes intent-breathe {
|
|
6741
|
-
0%, 100% { box-shadow: 0 0 0 1px var(--c-accent
|
|
6742
|
-
50% { box-shadow: 0 0 0 1px var(--c-accent
|
|
6793
|
+
0%, 100% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 10%, transparent), 0 6px 22px color-mix(in srgb, var(--c-accent) 10%, transparent); }
|
|
6794
|
+
50% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 25%, transparent), 0 8px 30px color-mix(in srgb, var(--c-accent) 25%, transparent); }
|
|
6743
6795
|
}
|
|
6744
6796
|
|
|
6745
6797
|
/* remove — a red crosshatch tombstone over the target */
|
|
@@ -6760,7 +6812,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6760
6812
|
.intent-ghost-edit {
|
|
6761
6813
|
border: 1.5px dashed var(--c-accent);
|
|
6762
6814
|
border-radius: 10px;
|
|
6763
|
-
background: var(--c-accent
|
|
6815
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6764
6816
|
overflow: visible;
|
|
6765
6817
|
}
|
|
6766
6818
|
|
|
@@ -6808,7 +6860,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6808
6860
|
border-radius: 999px;
|
|
6809
6861
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
6810
6862
|
backdrop-filter: blur(10px);
|
|
6811
|
-
border: 1px solid var(--c-accent
|
|
6863
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
6812
6864
|
box-shadow: 0 4px 14px var(--c-shadow);
|
|
6813
6865
|
color: var(--c-text);
|
|
6814
6866
|
font-size: 12px;
|
|
@@ -6898,7 +6950,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6898
6950
|
}
|
|
6899
6951
|
|
|
6900
6952
|
.intent-edge.type-flow { stroke: var(--c-accent); }
|
|
6901
|
-
.intent-edge.type-depends-on { stroke: var(--c-
|
|
6953
|
+
.intent-edge.type-depends-on { stroke: var(--c-rel-informs); }
|
|
6902
6954
|
.intent-edge.type-relation { stroke: var(--c-muted); }
|
|
6903
6955
|
.intent-edge.type-references { stroke: var(--c-dim); }
|
|
6904
6956
|
|
|
@@ -7037,8 +7089,8 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7037
7089
|
.board-switcher-menu .toolbar-menu-item { padding: 10px; gap: 12px; }
|
|
7038
7090
|
.board-switcher-menu .toolbar-menu-item:hover,
|
|
7039
7091
|
.board-switcher-menu .toolbar-menu-item:focus-visible {
|
|
7040
|
-
background: var(--c-accent
|
|
7041
|
-
border-color: var(--c-accent
|
|
7092
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
7093
|
+
border-color: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
7042
7094
|
outline: none;
|
|
7043
7095
|
}
|
|
7044
7096
|
.board-switcher-icon { display: flex; align-items: center; justify-content: center; width: 20px; flex-shrink: 0; color: var(--c-accent); font-size: 22px; }
|
|
@@ -7150,7 +7202,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7150
7202
|
white-space: nowrap;
|
|
7151
7203
|
}
|
|
7152
7204
|
.home-board-meta {
|
|
7153
|
-
font: 11px var(--
|
|
7205
|
+
font: 11px var(--font-code);
|
|
7154
7206
|
color: var(--c-text-soft);
|
|
7155
7207
|
}
|
|
7156
7208
|
.home-board-confirm-text {
|
|
@@ -7283,7 +7335,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7283
7335
|
}
|
|
7284
7336
|
.home-section-folder { color: var(--c-dim); }
|
|
7285
7337
|
.home-section-count {
|
|
7286
|
-
font: 11px var(--
|
|
7338
|
+
font: 11px var(--font-code);
|
|
7287
7339
|
text-transform: none;
|
|
7288
7340
|
color: var(--c-dim);
|
|
7289
7341
|
margin-left: auto;
|
|
@@ -7348,7 +7400,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7348
7400
|
.board-copy-card span { display: flex; flex-direction: column; min-width: 0; }
|
|
7349
7401
|
.board-copy-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
|
|
7350
7402
|
.board-copy-card small,
|
|
7351
|
-
.board-link-results small { color: var(--c-text-soft); font: 11px var(--
|
|
7403
|
+
.board-link-results small { color: var(--c-text-soft); font: 11px var(--font-code); }
|
|
7352
7404
|
.board-copy-options { font-size: 13px; }
|
|
7353
7405
|
.board-copy-options label { display: flex; gap: 8px; align-items: center; }
|
|
7354
7406
|
.board-copy-note,
|
|
@@ -7432,7 +7484,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7432
7484
|
background: var(--c-panel);
|
|
7433
7485
|
z-index: 1;
|
|
7434
7486
|
}
|
|
7435
|
-
.attachment-review pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.6 var(--
|
|
7487
|
+
.attachment-review pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.6 var(--font-code); padding: 12px; background: var(--c-bg); border-radius: 8px; }
|
|
7436
7488
|
.attachment-review h4 { margin-bottom: 6px; }
|
|
7437
7489
|
.md-import-source { padding: 6px 12px; font-size: 11px; overflow-wrap: anywhere; color: var(--c-text-soft); border-top: 1px solid var(--c-line); }
|
|
7438
7490
|
@media (max-width: 640px) {
|