pmx-canvas 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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 +60 -0
- package/Readme.md +44 -16
- 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 +844 -710
- package/dist/canvas/index.js +92 -90
- package/dist/canvas/mcp-app.html +7878 -0
- package/dist/canvas/mermaid-entry.js +1 -1
- package/dist/canvas/surface-theme.css +151 -46
- package/dist/json-render/index.css +1 -1
- package/dist/json-render/index.js +55 -55
- package/dist/types/cli/commands/record.d.ts +1 -1
- package/dist/types/client/canvas/ChoiceMenu.d.ts +13 -0
- 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/McpAppNode.d.ts +2 -1
- 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/nodes/viewer-runtime-state.d.ts +1 -0
- package/dist/types/client/state/attention-store.d.ts +0 -5
- package/dist/types/client/state/canvas-store.d.ts +2 -0
- package/dist/types/client/state/context-status-store.d.ts +53 -0
- package/dist/types/client/state/intent-bridge.d.ts +4 -1
- 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/renderer/index.d.ts +2 -1
- package/dist/types/json-render/server.d.ts +3 -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/ax-surface-protocol.d.ts +2 -0
- 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-host-adapter-contract.md +13 -2
- 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 +208 -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 +214 -0
- package/docs/environment.md +1 -1
- package/docs/http-api.md +80 -15
- package/docs/mcp.md +198 -3
- 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 +31 -16
- package/skills/pmx-canvas/evals/evals.json +69 -0
- package/skills/pmx-canvas/references/full-reference.md +14 -10
- package/skills/pmx-canvas/references/github-copilot-app-adapter.md +20 -8
- package/skills/pmx-canvas/references/installing-pmx-canvas.md +76 -4
- package/skills/pmx-canvas-testing/SKILL.md +54 -4
- package/src/cli/commands/copilot.ts +5 -0
- package/src/cli/commands/view.ts +1 -1
- package/src/cli/index.ts +8 -3
- 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 +208 -220
- package/src/client/canvas/CanvasViewport.tsx +6 -2
- package/src/client/canvas/ChoiceMenu.tsx +122 -0
- package/src/client/canvas/CommandBar.tsx +25 -23
- 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/FeedbackDialog.tsx +10 -8
- 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 +58 -108
- 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/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 +22 -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-ax-surface-bridge.ts +4 -2
- package/src/client/nodes/use-surface-frame.ts +3 -1
- package/src/client/nodes/use-workbench-asset.ts +26 -0
- package/src/client/nodes/viewer-runtime-state.ts +78 -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 +7 -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 +24 -6
- 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 +844 -710
- 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.tsx +58 -38
- package/src/json-render/server.ts +79 -15
- 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 +6 -24
- 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 +86 -15
- package/src/server/demo-state.json +31 -31
- package/src/server/html-surface.ts +4 -5
- package/src/server/index.ts +19 -3
- 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/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 +1 -1
- 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 +38 -4
- package/src/server/scope-fence.ts +55 -10
- package/src/server/server.ts +86 -6
- 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/ax-surface-protocol.ts +3 -0
- 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
package/dist/canvas/global.css
CHANGED
|
@@ -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,17 +561,32 @@ 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
|
-
overflow:
|
|
573
|
+
overflow: visible;
|
|
576
574
|
transition: box-shadow 0.15s ease;
|
|
577
|
-
contain: layout style
|
|
575
|
+
contain: layout style;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
/* Clip card content, not the connection handles centered on its border. */
|
|
579
|
+
.node-content {
|
|
580
|
+
display: flex;
|
|
581
|
+
flex-direction: column;
|
|
582
|
+
flex: 1;
|
|
583
|
+
min-height: 0;
|
|
584
|
+
border-radius: inherit;
|
|
585
|
+
overflow: hidden;
|
|
586
|
+
contain: paint;
|
|
587
|
+
}
|
|
588
|
+
.group-node > .node-content {
|
|
589
|
+
display: contents;
|
|
578
590
|
}
|
|
579
591
|
|
|
580
592
|
.canvas-node:hover {
|
|
@@ -583,24 +595,24 @@ body,
|
|
|
583
595
|
|
|
584
596
|
.canvas-node.active {
|
|
585
597
|
border-color: var(--c-accent);
|
|
586
|
-
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);
|
|
587
599
|
}
|
|
588
600
|
|
|
589
601
|
.canvas-node.neighbor {
|
|
590
|
-
border-color: var(--c-accent
|
|
591
|
-
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);
|
|
592
604
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
593
605
|
}
|
|
594
606
|
|
|
595
607
|
/* Spatial search highlighting — canvas lights up as you type in Cmd+K */
|
|
596
608
|
.canvas-node.search-match {
|
|
597
609
|
border-color: var(--c-accent);
|
|
598
|
-
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);
|
|
599
611
|
animation: search-pulse 1.5s ease-in-out infinite;
|
|
600
612
|
}
|
|
601
613
|
@keyframes search-pulse {
|
|
602
|
-
0%, 100% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px var(--c-accent
|
|
603
|
-
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); }
|
|
604
616
|
}
|
|
605
617
|
.canvas-node.search-dimmed {
|
|
606
618
|
opacity: 0.25;
|
|
@@ -610,34 +622,42 @@ body,
|
|
|
610
622
|
/* ── Connection port handles (drag-to-connect) ───────────── */
|
|
611
623
|
.node-port {
|
|
612
624
|
position: absolute;
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
625
|
+
/* The visible dot stays compact; its grab area stays usable at every zoom. */
|
|
626
|
+
width: calc(32px * var(--node-port-scale, 1));
|
|
627
|
+
height: calc(32px * var(--node-port-scale, 1));
|
|
628
|
+
display: grid;
|
|
629
|
+
place-items: center;
|
|
618
630
|
opacity: 0;
|
|
619
631
|
cursor: crosshair;
|
|
620
632
|
z-index: 10;
|
|
621
|
-
|
|
622
|
-
|
|
633
|
+
touch-action: none;
|
|
634
|
+
transition: opacity 0.15s;
|
|
623
635
|
pointer-events: auto;
|
|
624
636
|
}
|
|
625
|
-
.
|
|
637
|
+
.node-port::after {
|
|
638
|
+
content: '';
|
|
639
|
+
width: calc(6px * var(--node-port-scale, 1));
|
|
640
|
+
height: calc(6px * var(--node-port-scale, 1));
|
|
641
|
+
border-radius: 50%;
|
|
642
|
+
background: var(--c-accent);
|
|
643
|
+
border: calc(2px * var(--node-port-scale, 1)) solid var(--c-panel);
|
|
644
|
+
box-shadow: 0 0 0 calc(1px * var(--node-port-scale, 1)) var(--c-accent);
|
|
645
|
+
}
|
|
646
|
+
.canvas-node:hover .node-port,
|
|
647
|
+
.canvas-node.selected .node-port,
|
|
648
|
+
.canvas-node:focus-within .node-port {
|
|
626
649
|
opacity: 1;
|
|
627
|
-
transform: translate(-50%, -50%) scale(1);
|
|
628
650
|
}
|
|
629
|
-
.node-port:hover {
|
|
651
|
+
.node-port:hover::after {
|
|
630
652
|
background: var(--c-accent-hover);
|
|
631
|
-
transform: translate(-50%, -50%) scale(1.3);
|
|
632
653
|
}
|
|
633
|
-
|
|
634
|
-
.node-port-
|
|
635
|
-
.node-port-
|
|
636
|
-
.node-port-
|
|
637
|
-
.
|
|
638
|
-
.
|
|
639
|
-
.node-port-
|
|
640
|
-
.node-port-right:hover { transform: translate(50%, -50%) scale(1.3); }
|
|
654
|
+
/* Bias vertical grab areas outward so they do not steal title/footer clicks. */
|
|
655
|
+
.node-port-top { top: 0; left: 50%; transform: translate(-50%, -75%); }
|
|
656
|
+
.node-port-bottom { bottom: 0; left: 50%; transform: translate(-50%, 75%); }
|
|
657
|
+
.node-port-top::after { transform: translateY(calc(8px * var(--node-port-scale, 1))); }
|
|
658
|
+
.node-port-bottom::after { transform: translateY(calc(-8px * var(--node-port-scale, 1))); }
|
|
659
|
+
.node-port-left { left: 0; top: 50%; transform: translate(-50%, -50%); }
|
|
660
|
+
.node-port-right { right: 0; top: 50%; transform: translate(50%, -50%); }
|
|
641
661
|
|
|
642
662
|
.canvas-node .node-titlebar {
|
|
643
663
|
display: flex;
|
|
@@ -676,31 +696,15 @@ body,
|
|
|
676
696
|
justify-content: center;
|
|
677
697
|
width: calc(14px * var(--node-chrome-scale, 1));
|
|
678
698
|
height: calc(14px * var(--node-chrome-scale, 1));
|
|
679
|
-
color: var(--
|
|
699
|
+
color: var(--c-muted);
|
|
680
700
|
flex-shrink: 0;
|
|
681
701
|
}
|
|
682
702
|
|
|
683
|
-
/* Node kind accents (rail-chrome-v2): the icon carries the kind. */
|
|
684
|
-
.canvas-node[data-node-type='image'],
|
|
685
|
-
.canvas-node[data-node-type='mermaid'] {
|
|
686
|
-
--kind-accent: var(--c-warn);
|
|
687
|
-
}
|
|
688
|
-
.canvas-node[data-node-type='webpage'],
|
|
689
|
-
.canvas-node[data-node-type='status'],
|
|
690
|
-
.canvas-node[data-node-type='trace'] {
|
|
691
|
-
--kind-accent: var(--c-ok);
|
|
692
|
-
}
|
|
693
|
-
.canvas-node[data-node-type='context'],
|
|
694
|
-
.canvas-node[data-node-type='prompt'],
|
|
695
|
-
.canvas-node[data-node-type='response'] {
|
|
696
|
-
--kind-accent: var(--c-purple);
|
|
697
|
-
}
|
|
698
|
-
|
|
699
703
|
.canvas-node .node-type-badge {
|
|
700
704
|
font-size: calc(10px * var(--node-chrome-scale, 1));
|
|
701
705
|
padding: calc(1px * var(--node-chrome-scale, 1)) calc(6px * var(--node-chrome-scale, 1));
|
|
702
706
|
border-radius: calc(4px * var(--node-chrome-scale, 1));
|
|
703
|
-
background: var(--c-accent
|
|
707
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
704
708
|
color: var(--c-accent);
|
|
705
709
|
text-transform: uppercase;
|
|
706
710
|
letter-spacing: 0.04em;
|
|
@@ -770,6 +774,17 @@ body,
|
|
|
770
774
|
color: var(--c-text);
|
|
771
775
|
}
|
|
772
776
|
|
|
777
|
+
/* ⋯ and × appear on hover or keyboard focus; expand and the context pin
|
|
778
|
+
always show (docs/design/Chrome.dc.html). */
|
|
779
|
+
.canvas-node .node-controls .node-hover-control {
|
|
780
|
+
display: none;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
.canvas-node:hover .node-controls .node-hover-control,
|
|
784
|
+
.canvas-node:focus-within .node-controls .node-hover-control {
|
|
785
|
+
display: inline-flex;
|
|
786
|
+
}
|
|
787
|
+
|
|
773
788
|
.canvas-node .node-body {
|
|
774
789
|
flex: 1;
|
|
775
790
|
overflow: auto;
|
|
@@ -870,7 +885,7 @@ body,
|
|
|
870
885
|
}
|
|
871
886
|
|
|
872
887
|
.canvas-node .node-body code {
|
|
873
|
-
font-family: var(--
|
|
888
|
+
font-family: var(--font-code);
|
|
874
889
|
font-size: 0.9em;
|
|
875
890
|
background: var(--c-surface-hover);
|
|
876
891
|
padding: 2px 5px;
|
|
@@ -970,12 +985,12 @@ body,
|
|
|
970
985
|
color: var(--c-text);
|
|
971
986
|
}
|
|
972
987
|
.rail-btn.active {
|
|
973
|
-
background: var(--c-accent
|
|
974
|
-
border-color: var(--c-accent
|
|
988
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
989
|
+
border-color: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
975
990
|
color: var(--c-accent);
|
|
976
991
|
}
|
|
977
992
|
.rail-btn.active:hover {
|
|
978
|
-
background:
|
|
993
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
979
994
|
}
|
|
980
995
|
|
|
981
996
|
.rail-divider {
|
|
@@ -1039,7 +1054,7 @@ body,
|
|
|
1039
1054
|
}
|
|
1040
1055
|
|
|
1041
1056
|
.top-bar-meta {
|
|
1042
|
-
font: 11px var(--
|
|
1057
|
+
font: 11px var(--font-code);
|
|
1043
1058
|
color: var(--c-dim);
|
|
1044
1059
|
white-space: nowrap;
|
|
1045
1060
|
flex-shrink: 0;
|
|
@@ -1081,7 +1096,7 @@ body,
|
|
|
1081
1096
|
.top-bar-zoom-label {
|
|
1082
1097
|
min-width: 38px;
|
|
1083
1098
|
text-align: center;
|
|
1084
|
-
font: 11px var(--
|
|
1099
|
+
font: 11px var(--font-code);
|
|
1085
1100
|
color: var(--c-muted);
|
|
1086
1101
|
background: none;
|
|
1087
1102
|
border: 1px solid transparent;
|
|
@@ -1114,7 +1129,7 @@ body,
|
|
|
1114
1129
|
.agent-chip.phase-thinking,
|
|
1115
1130
|
.agent-cursor.phase-thinking,
|
|
1116
1131
|
.minimap-presence.phase-thinking {
|
|
1117
|
-
--presence-color: var(--c-
|
|
1132
|
+
--presence-color: var(--c-agent);
|
|
1118
1133
|
}
|
|
1119
1134
|
.agent-chip.phase-tooling,
|
|
1120
1135
|
.agent-cursor.phase-tooling,
|
|
@@ -1198,7 +1213,7 @@ body,
|
|
|
1198
1213
|
min-width: 0;
|
|
1199
1214
|
}
|
|
1200
1215
|
.agent-chip-who {
|
|
1201
|
-
font: 10px var(--
|
|
1216
|
+
font: 10px var(--font-code);
|
|
1202
1217
|
font-weight: 400;
|
|
1203
1218
|
color: var(--c-muted);
|
|
1204
1219
|
white-space: nowrap;
|
|
@@ -1336,22 +1351,15 @@ body,
|
|
|
1336
1351
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
1337
1352
|
}
|
|
1338
1353
|
.agent-cursor-who {
|
|
1339
|
-
font: 9.5px var(--
|
|
1354
|
+
font: 9.5px var(--font-code);
|
|
1340
1355
|
font-weight: 400;
|
|
1341
1356
|
color: var(--c-muted);
|
|
1342
1357
|
}
|
|
1343
1358
|
|
|
1344
|
-
/*
|
|
1345
|
-
.
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
100deg,
|
|
1349
|
-
transparent 20%,
|
|
1350
|
-
color-mix(in srgb, var(--c-accent) 13%, transparent) 50%,
|
|
1351
|
-
transparent 80%
|
|
1352
|
-
);
|
|
1353
|
-
background-size: 200% 100%;
|
|
1354
|
-
animation: presence-shimmer 1.6s linear infinite;
|
|
1359
|
+
/* The node an attached agent is editing right now: the violet agent bar
|
|
1360
|
+
across the top of the header (docs/design/Context.dc.html). */
|
|
1361
|
+
.canvas-node.agent-mutating .node-titlebar {
|
|
1362
|
+
box-shadow: inset 0 2.5px 0 var(--c-agent);
|
|
1355
1363
|
}
|
|
1356
1364
|
|
|
1357
1365
|
@keyframes presence-pulse {
|
|
@@ -1363,14 +1371,6 @@ body,
|
|
|
1363
1371
|
opacity: 0.45;
|
|
1364
1372
|
}
|
|
1365
1373
|
}
|
|
1366
|
-
@keyframes presence-shimmer {
|
|
1367
|
-
from {
|
|
1368
|
-
background-position: 200% 0;
|
|
1369
|
-
}
|
|
1370
|
-
to {
|
|
1371
|
-
background-position: -200% 0;
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
1374
|
|
|
1375
1375
|
/* Reduced motion: keep every static color state, drop the motion. */
|
|
1376
1376
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1378,13 +1378,9 @@ body,
|
|
|
1378
1378
|
transition: none;
|
|
1379
1379
|
}
|
|
1380
1380
|
.agent-chip-dot,
|
|
1381
|
-
.agent-cursor-dot
|
|
1382
|
-
.canvas-node.agent-mutating {
|
|
1381
|
+
.agent-cursor-dot {
|
|
1383
1382
|
animation: none;
|
|
1384
1383
|
}
|
|
1385
|
-
.canvas-node.agent-mutating {
|
|
1386
|
-
background-image: none;
|
|
1387
|
-
}
|
|
1388
1384
|
}
|
|
1389
1385
|
|
|
1390
1386
|
/* ── Session panel (rail-chrome-v2 phase 4) ─────────────────────
|
|
@@ -1420,7 +1416,7 @@ body,
|
|
|
1420
1416
|
flex-direction: column;
|
|
1421
1417
|
align-items: center;
|
|
1422
1418
|
gap: 4px;
|
|
1423
|
-
font: 9px var(--
|
|
1419
|
+
font: 9px var(--font-code);
|
|
1424
1420
|
color: var(--c-dim);
|
|
1425
1421
|
}
|
|
1426
1422
|
.session-collapsed-live .session-live-dot {
|
|
@@ -1448,11 +1444,11 @@ body,
|
|
|
1448
1444
|
display: inline-flex;
|
|
1449
1445
|
align-items: center;
|
|
1450
1446
|
gap: 5px;
|
|
1451
|
-
font: 10px var(--
|
|
1447
|
+
font: 10px var(--font-code);
|
|
1452
1448
|
color: var(--c-muted);
|
|
1453
1449
|
}
|
|
1454
1450
|
.session-live.phase-thinking {
|
|
1455
|
-
--presence-color: var(--c-
|
|
1451
|
+
--presence-color: var(--c-agent);
|
|
1456
1452
|
}
|
|
1457
1453
|
.session-live.phase-tooling {
|
|
1458
1454
|
--presence-color: var(--c-accent);
|
|
@@ -1596,7 +1592,7 @@ body,
|
|
|
1596
1592
|
margin-top: 3px;
|
|
1597
1593
|
}
|
|
1598
1594
|
.session-item-time {
|
|
1599
|
-
font: 9px var(--
|
|
1595
|
+
font: 9px var(--font-code);
|
|
1600
1596
|
color: var(--c-dim);
|
|
1601
1597
|
flex-shrink: 0;
|
|
1602
1598
|
margin-top: 4px;
|
|
@@ -1607,7 +1603,7 @@ body,
|
|
|
1607
1603
|
}
|
|
1608
1604
|
.session-gate-ttl {
|
|
1609
1605
|
margin-top: 4px;
|
|
1610
|
-
font: 10px var(--
|
|
1606
|
+
font: 10px var(--font-code);
|
|
1611
1607
|
color: var(--c-warn);
|
|
1612
1608
|
}
|
|
1613
1609
|
.session-gate-held {
|
|
@@ -1669,7 +1665,7 @@ body,
|
|
|
1669
1665
|
display: inline-flex;
|
|
1670
1666
|
align-items: center;
|
|
1671
1667
|
gap: 6px;
|
|
1672
|
-
font: 10px/1 var(--
|
|
1668
|
+
font: 10px/1 var(--font-code);
|
|
1673
1669
|
color: var(--c-muted);
|
|
1674
1670
|
}
|
|
1675
1671
|
.session-work-dot {
|
|
@@ -1706,7 +1702,7 @@ body,
|
|
|
1706
1702
|
gap: 8px;
|
|
1707
1703
|
padding: 7px 12px;
|
|
1708
1704
|
border-bottom: 1px solid var(--c-line);
|
|
1709
|
-
background: var(--c-accent
|
|
1705
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
1710
1706
|
}
|
|
1711
1707
|
.session-undo-text {
|
|
1712
1708
|
flex: 1;
|
|
@@ -1720,7 +1716,7 @@ body,
|
|
|
1720
1716
|
.session-undo-btn {
|
|
1721
1717
|
flex-shrink: 0;
|
|
1722
1718
|
padding: 3px 10px;
|
|
1723
|
-
border: 1px solid var(--c-accent
|
|
1719
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
1724
1720
|
border-radius: 999px;
|
|
1725
1721
|
background: none;
|
|
1726
1722
|
color: var(--c-accent);
|
|
@@ -1729,7 +1725,7 @@ body,
|
|
|
1729
1725
|
cursor: pointer;
|
|
1730
1726
|
}
|
|
1731
1727
|
.session-undo-btn:hover {
|
|
1732
|
-
background: var(--c-accent
|
|
1728
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1733
1729
|
}
|
|
1734
1730
|
|
|
1735
1731
|
.session-timeline-filters {
|
|
@@ -1780,7 +1776,7 @@ body,
|
|
|
1780
1776
|
--tone: var(--c-danger);
|
|
1781
1777
|
}
|
|
1782
1778
|
.session-timeline-row.tone-purple {
|
|
1783
|
-
--tone: var(--c-
|
|
1779
|
+
--tone: var(--c-agent);
|
|
1784
1780
|
}
|
|
1785
1781
|
.session-timeline-dot {
|
|
1786
1782
|
width: 6px;
|
|
@@ -1823,7 +1819,7 @@ body,
|
|
|
1823
1819
|
padding: 4px 12px;
|
|
1824
1820
|
border: 1px solid var(--c-accent);
|
|
1825
1821
|
border-radius: 999px;
|
|
1826
|
-
background: var(--c-accent
|
|
1822
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1827
1823
|
color: var(--c-accent);
|
|
1828
1824
|
font-size: 11.5px;
|
|
1829
1825
|
font-weight: 700;
|
|
@@ -1836,7 +1832,7 @@ body,
|
|
|
1836
1832
|
}
|
|
1837
1833
|
.session-timeline-undone {
|
|
1838
1834
|
margin-top: 2px;
|
|
1839
|
-
font: 9px var(--
|
|
1835
|
+
font: 9px var(--font-code);
|
|
1840
1836
|
color: var(--c-dim);
|
|
1841
1837
|
}
|
|
1842
1838
|
.session-timeline-body {
|
|
@@ -1857,7 +1853,7 @@ body,
|
|
|
1857
1853
|
color: var(--c-muted);
|
|
1858
1854
|
}
|
|
1859
1855
|
.session-scope.is-fenced {
|
|
1860
|
-
background: color-mix(in srgb, var(--c-
|
|
1856
|
+
background: color-mix(in srgb, var(--c-agent) 8%, transparent);
|
|
1861
1857
|
color: var(--c-text-soft);
|
|
1862
1858
|
}
|
|
1863
1859
|
.session-scope-dot {
|
|
@@ -1868,14 +1864,14 @@ body,
|
|
|
1868
1864
|
flex-shrink: 0;
|
|
1869
1865
|
}
|
|
1870
1866
|
.session-scope.is-fenced .session-scope-dot {
|
|
1871
|
-
background: var(--c-
|
|
1867
|
+
background: var(--c-agent);
|
|
1872
1868
|
}
|
|
1873
1869
|
.session-scope-text {
|
|
1874
1870
|
flex: 1;
|
|
1875
1871
|
min-width: 0;
|
|
1876
1872
|
}
|
|
1877
1873
|
.session-scope-text strong {
|
|
1878
|
-
color: var(--c-
|
|
1874
|
+
color: var(--c-agent);
|
|
1879
1875
|
}
|
|
1880
1876
|
.session-scope-action {
|
|
1881
1877
|
padding: 3px 9px;
|
|
@@ -1889,8 +1885,8 @@ body,
|
|
|
1889
1885
|
white-space: nowrap;
|
|
1890
1886
|
}
|
|
1891
1887
|
.session-scope-action:hover:not(:disabled) {
|
|
1892
|
-
border-color: color-mix(in srgb, var(--c-
|
|
1893
|
-
color: var(--c-
|
|
1888
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
1889
|
+
color: var(--c-agent);
|
|
1894
1890
|
}
|
|
1895
1891
|
.session-scope-action:disabled {
|
|
1896
1892
|
opacity: 0.5;
|
|
@@ -1904,9 +1900,9 @@ body,
|
|
|
1904
1900
|
top: 0;
|
|
1905
1901
|
z-index: 1;
|
|
1906
1902
|
pointer-events: none;
|
|
1907
|
-
border: 1.5px dashed color-mix(in srgb, var(--c-
|
|
1903
|
+
border: 1.5px dashed color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
1908
1904
|
border-radius: 16px;
|
|
1909
|
-
background: color-mix(in srgb, var(--c-
|
|
1905
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
1910
1906
|
}
|
|
1911
1907
|
.scope-fence-pill {
|
|
1912
1908
|
position: absolute;
|
|
@@ -1914,9 +1910,9 @@ body,
|
|
|
1914
1910
|
transform-origin: 0 50%;
|
|
1915
1911
|
padding: 3px 10px;
|
|
1916
1912
|
border-radius: 999px;
|
|
1917
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1918
|
-
background: color-mix(in srgb, var(--c-panel) 92%, var(--c-
|
|
1919
|
-
color: var(--c-
|
|
1913
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 35%, transparent);
|
|
1914
|
+
background: color-mix(in srgb, var(--c-panel) 92%, var(--c-agent) 8%);
|
|
1915
|
+
color: var(--c-agent);
|
|
1920
1916
|
font-size: 10px;
|
|
1921
1917
|
font-weight: 600;
|
|
1922
1918
|
letter-spacing: 0.04em;
|
|
@@ -1960,9 +1956,9 @@ body,
|
|
|
1960
1956
|
max-width: 240px;
|
|
1961
1957
|
padding: 2px 5px 2px 9px;
|
|
1962
1958
|
border-radius: 999px;
|
|
1963
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1964
|
-
background: color-mix(in srgb, var(--c-
|
|
1965
|
-
color: var(--c-
|
|
1959
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 35%, transparent);
|
|
1960
|
+
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
1961
|
+
color: var(--c-pin);
|
|
1966
1962
|
font-size: 10px;
|
|
1967
1963
|
font-weight: 600;
|
|
1968
1964
|
}
|
|
@@ -1986,7 +1982,7 @@ body,
|
|
|
1986
1982
|
border: none;
|
|
1987
1983
|
border-radius: 50%;
|
|
1988
1984
|
background: none;
|
|
1989
|
-
color: var(--c-
|
|
1985
|
+
color: var(--c-pin);
|
|
1990
1986
|
font-size: 12px;
|
|
1991
1987
|
line-height: 1;
|
|
1992
1988
|
cursor: pointer;
|
|
@@ -1994,13 +1990,14 @@ body,
|
|
|
1994
1990
|
}
|
|
1995
1991
|
.command-bar-chip-unpin:hover {
|
|
1996
1992
|
opacity: 1;
|
|
1997
|
-
background: color-mix(in srgb, var(--c-
|
|
1993
|
+
background: color-mix(in srgb, var(--c-pin) 25%, transparent);
|
|
1998
1994
|
}
|
|
1999
1995
|
.command-bar-chips-note {
|
|
2000
1996
|
font-size: 10px;
|
|
2001
1997
|
color: var(--c-dim);
|
|
2002
1998
|
}
|
|
2003
1999
|
.command-bar-composer {
|
|
2000
|
+
position: relative;
|
|
2004
2001
|
display: flex;
|
|
2005
2002
|
align-items: center;
|
|
2006
2003
|
gap: 10px;
|
|
@@ -2012,29 +2009,77 @@ body,
|
|
|
2012
2009
|
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
|
|
2013
2010
|
}
|
|
2014
2011
|
.command-bar-target {
|
|
2015
|
-
appearance: none;
|
|
2016
|
-
-webkit-appearance: none;
|
|
2017
2012
|
max-width: 148px;
|
|
2018
|
-
padding: 4px 18px 4px 8px;
|
|
2019
|
-
border: 1px solid var(--c-line);
|
|
2020
|
-
border-radius: 7px;
|
|
2021
|
-
background: color-mix(in srgb, var(--c-panel) 80%, transparent)
|
|
2022
|
-
url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%237a8699' stroke-width='1.4'/%3E%3C/svg%3E")
|
|
2023
|
-
no-repeat right 6px center;
|
|
2024
|
-
color: var(--c-text-soft);
|
|
2025
|
-
font: 12px/1.3 var(--mono);
|
|
2026
|
-
cursor: pointer;
|
|
2027
2013
|
flex-shrink: 0;
|
|
2028
2014
|
}
|
|
2029
|
-
.
|
|
2030
|
-
|
|
2031
|
-
|
|
2015
|
+
.choice-menu {
|
|
2016
|
+
position: relative;
|
|
2017
|
+
min-width: 0;
|
|
2018
|
+
}
|
|
2019
|
+
.choice-menu-trigger {
|
|
2020
|
+
display: flex;
|
|
2021
|
+
align-items: center;
|
|
2022
|
+
justify-content: space-between;
|
|
2023
|
+
gap: 10px;
|
|
2024
|
+
width: 100%;
|
|
2025
|
+
min-height: 36px;
|
|
2026
|
+
padding: 8px 10px;
|
|
2027
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 65%, var(--c-muted));
|
|
2028
|
+
border-radius: 8px;
|
|
2029
|
+
background: var(--c-panel-overlay);
|
|
2032
2030
|
color: var(--c-text);
|
|
2031
|
+
font: 12px/1.35 var(--font-ui);
|
|
2032
|
+
cursor: pointer;
|
|
2033
|
+
}
|
|
2034
|
+
.choice-menu-trigger > span {
|
|
2035
|
+
overflow: hidden;
|
|
2036
|
+
text-overflow: ellipsis;
|
|
2037
|
+
white-space: nowrap;
|
|
2038
|
+
}
|
|
2039
|
+
.choice-menu-trigger svg { flex-shrink: 0; }
|
|
2040
|
+
.choice-menu-trigger:hover,
|
|
2041
|
+
.choice-menu-trigger[aria-expanded='true'] { border-color: var(--c-accent); }
|
|
2042
|
+
.choice-menu-trigger:focus-visible,
|
|
2043
|
+
.choice-menu-options button:focus-visible {
|
|
2044
|
+
outline: 2px solid var(--c-accent);
|
|
2045
|
+
outline-offset: 2px;
|
|
2046
|
+
}
|
|
2047
|
+
.toolbar-menu.choice-menu-options {
|
|
2048
|
+
top: calc(100% + 6px);
|
|
2049
|
+
left: 0;
|
|
2050
|
+
right: auto;
|
|
2051
|
+
min-width: 100%;
|
|
2052
|
+
width: max-content;
|
|
2053
|
+
max-width: min(320px, calc(100vw - 64px));
|
|
2054
|
+
max-height: min(280px, 40vh);
|
|
2055
|
+
overflow-y: auto;
|
|
2056
|
+
z-index: 20;
|
|
2057
|
+
}
|
|
2058
|
+
.toolbar-menu.choice-menu-options.opens-above {
|
|
2059
|
+
top: auto;
|
|
2060
|
+
bottom: calc(100% + 6px);
|
|
2061
|
+
}
|
|
2062
|
+
.command-bar-target.choice-menu {
|
|
2063
|
+
position: static;
|
|
2064
|
+
}
|
|
2065
|
+
.command-bar-target .choice-menu-options {
|
|
2066
|
+
/* Anchor to the composer, not its inset trigger, to clear the session rail. */
|
|
2067
|
+
min-width: min(200px, 100%);
|
|
2068
|
+
max-width: 100%;
|
|
2069
|
+
}
|
|
2070
|
+
.choice-menu-options .toolbar-menu-item {
|
|
2071
|
+
min-height: 36px;
|
|
2072
|
+
white-space: normal;
|
|
2073
|
+
overflow-wrap: anywhere;
|
|
2074
|
+
}
|
|
2075
|
+
.choice-menu-options button:disabled {
|
|
2076
|
+
opacity: 0.5;
|
|
2077
|
+
cursor: not-allowed;
|
|
2033
2078
|
}
|
|
2034
2079
|
|
|
2035
2080
|
.command-bar-icon {
|
|
2036
2081
|
flex-shrink: 0;
|
|
2037
|
-
color: var(--c-
|
|
2082
|
+
color: var(--c-agent);
|
|
2038
2083
|
}
|
|
2039
2084
|
.command-bar-input {
|
|
2040
2085
|
flex: 1;
|
|
@@ -2044,7 +2089,7 @@ body,
|
|
|
2044
2089
|
outline: none;
|
|
2045
2090
|
background: none;
|
|
2046
2091
|
color: var(--c-text);
|
|
2047
|
-
font: 13px var(--font);
|
|
2092
|
+
font: 13px var(--font-ui);
|
|
2048
2093
|
}
|
|
2049
2094
|
.command-bar-input::placeholder {
|
|
2050
2095
|
color: var(--c-dim);
|
|
@@ -2104,7 +2149,7 @@ body,
|
|
|
2104
2149
|
display: block;
|
|
2105
2150
|
height: 100%;
|
|
2106
2151
|
border-radius: 3px;
|
|
2107
|
-
background:
|
|
2152
|
+
background: var(--c-accent);
|
|
2108
2153
|
transition: width 180ms ease;
|
|
2109
2154
|
}
|
|
2110
2155
|
.context-budget.tone-warn .context-budget-fill,
|
|
@@ -2112,7 +2157,7 @@ body,
|
|
|
2112
2157
|
background: var(--tone);
|
|
2113
2158
|
}
|
|
2114
2159
|
.context-budget-label {
|
|
2115
|
-
font: 11px var(--
|
|
2160
|
+
font: 11px var(--font-code);
|
|
2116
2161
|
color: var(--c-text-soft);
|
|
2117
2162
|
min-width: 30px;
|
|
2118
2163
|
text-align: right;
|
|
@@ -2138,9 +2183,9 @@ body,
|
|
|
2138
2183
|
gap: 8px;
|
|
2139
2184
|
padding: 4px 12px 4px 6px;
|
|
2140
2185
|
border-radius: 999px;
|
|
2141
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2142
|
-
background: color-mix(in srgb, var(--c-
|
|
2143
|
-
color: var(--c-
|
|
2186
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 35%, transparent);
|
|
2187
|
+
background: color-mix(in srgb, var(--c-agent) 8%, transparent);
|
|
2188
|
+
color: var(--c-agent);
|
|
2144
2189
|
cursor: pointer;
|
|
2145
2190
|
white-space: nowrap;
|
|
2146
2191
|
flex-shrink: 0;
|
|
@@ -2148,7 +2193,7 @@ body,
|
|
|
2148
2193
|
}
|
|
2149
2194
|
.external-indicator:hover,
|
|
2150
2195
|
.external-indicator[aria-expanded='true'] {
|
|
2151
|
-
background: color-mix(in srgb, var(--c-
|
|
2196
|
+
background: color-mix(in srgb, var(--c-agent) 15%, transparent);
|
|
2152
2197
|
}
|
|
2153
2198
|
.external-indicator-avatars {
|
|
2154
2199
|
display: inline-flex;
|
|
@@ -2162,14 +2207,14 @@ body,
|
|
|
2162
2207
|
font-weight: 600;
|
|
2163
2208
|
}
|
|
2164
2209
|
.external-indicator-ops {
|
|
2165
|
-
font: 10px var(--
|
|
2210
|
+
font: 10px var(--font-code);
|
|
2166
2211
|
color: var(--c-muted);
|
|
2167
2212
|
}
|
|
2168
2213
|
.external-indicator-dot {
|
|
2169
2214
|
width: 7px;
|
|
2170
2215
|
height: 7px;
|
|
2171
2216
|
border-radius: 50%;
|
|
2172
|
-
background: var(--c-
|
|
2217
|
+
background: var(--c-agent);
|
|
2173
2218
|
flex-shrink: 0;
|
|
2174
2219
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
2175
2220
|
}
|
|
@@ -2183,7 +2228,7 @@ body,
|
|
|
2183
2228
|
display: flex;
|
|
2184
2229
|
flex-direction: column;
|
|
2185
2230
|
background: var(--c-panel);
|
|
2186
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2231
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 30%, transparent);
|
|
2187
2232
|
border-radius: 10px;
|
|
2188
2233
|
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
|
|
2189
2234
|
/* Popover-level like the rail menus: above the minimap, below the rail. */
|
|
@@ -2208,7 +2253,7 @@ body,
|
|
|
2208
2253
|
color: var(--c-text);
|
|
2209
2254
|
}
|
|
2210
2255
|
.activity-feed-sub {
|
|
2211
|
-
font: 9px var(--
|
|
2256
|
+
font: 9px var(--font-code);
|
|
2212
2257
|
color: var(--c-dim);
|
|
2213
2258
|
}
|
|
2214
2259
|
.activity-feed-close {
|
|
@@ -2230,7 +2275,7 @@ body,
|
|
|
2230
2275
|
border-bottom: 1px solid var(--c-line);
|
|
2231
2276
|
}
|
|
2232
2277
|
.activity-filter {
|
|
2233
|
-
--writer: var(--c-
|
|
2278
|
+
--writer: var(--c-agent);
|
|
2234
2279
|
padding: 2px 9px;
|
|
2235
2280
|
border-radius: 999px;
|
|
2236
2281
|
border: 1px solid var(--c-line);
|
|
@@ -2261,7 +2306,7 @@ body,
|
|
|
2261
2306
|
border-bottom: none;
|
|
2262
2307
|
}
|
|
2263
2308
|
.activity-row.is-pending {
|
|
2264
|
-
background: color-mix(in srgb, var(--c-
|
|
2309
|
+
background: color-mix(in srgb, var(--c-agent) 5%, transparent);
|
|
2265
2310
|
}
|
|
2266
2311
|
.activity-glyph {
|
|
2267
2312
|
flex-shrink: 0;
|
|
@@ -2282,7 +2327,7 @@ body,
|
|
|
2282
2327
|
color: var(--c-accent);
|
|
2283
2328
|
}
|
|
2284
2329
|
.activity-glyph.tone-purple {
|
|
2285
|
-
color: var(--c-
|
|
2330
|
+
color: var(--c-agent);
|
|
2286
2331
|
}
|
|
2287
2332
|
.activity-main {
|
|
2288
2333
|
flex: 1;
|
|
@@ -2299,7 +2344,7 @@ body,
|
|
|
2299
2344
|
color: var(--c-muted);
|
|
2300
2345
|
}
|
|
2301
2346
|
.activity-writer {
|
|
2302
|
-
font: 8.5px var(--
|
|
2347
|
+
font: 8.5px var(--font-code);
|
|
2303
2348
|
}
|
|
2304
2349
|
.activity-actions {
|
|
2305
2350
|
display: flex;
|
|
@@ -2322,7 +2367,7 @@ body,
|
|
|
2322
2367
|
}
|
|
2323
2368
|
.activity-hint,
|
|
2324
2369
|
.activity-age {
|
|
2325
|
-
font: 9px var(--
|
|
2370
|
+
font: 9px var(--font-code);
|
|
2326
2371
|
color: var(--c-dim);
|
|
2327
2372
|
flex-shrink: 0;
|
|
2328
2373
|
}
|
|
@@ -2357,7 +2402,7 @@ body,
|
|
|
2357
2402
|
color: var(--c-text);
|
|
2358
2403
|
}
|
|
2359
2404
|
.activity-feed-link.is-accent {
|
|
2360
|
-
color: var(--c-
|
|
2405
|
+
color: var(--c-agent);
|
|
2361
2406
|
}
|
|
2362
2407
|
.activity-feed-link.is-accent:hover {
|
|
2363
2408
|
text-decoration: underline;
|
|
@@ -2398,7 +2443,7 @@ body,
|
|
|
2398
2443
|
color: var(--c-text);
|
|
2399
2444
|
}
|
|
2400
2445
|
.writers-board {
|
|
2401
|
-
font: 9px var(--
|
|
2446
|
+
font: 9px var(--font-code);
|
|
2402
2447
|
color: var(--c-dim);
|
|
2403
2448
|
}
|
|
2404
2449
|
.writers-body {
|
|
@@ -2431,18 +2476,18 @@ body,
|
|
|
2431
2476
|
white-space: nowrap;
|
|
2432
2477
|
}
|
|
2433
2478
|
.writers-name.is-mono {
|
|
2434
|
-
font: 11px var(--
|
|
2479
|
+
font: 11px var(--font-code);
|
|
2435
2480
|
}
|
|
2436
2481
|
.writers-config {
|
|
2437
2482
|
font-size: 9.5px;
|
|
2438
2483
|
font-weight: 600;
|
|
2439
2484
|
padding: 2px 8px;
|
|
2440
2485
|
border-radius: 999px;
|
|
2441
|
-
background: color-mix(in srgb, var(--c-
|
|
2442
|
-
color: var(--c-
|
|
2486
|
+
background: color-mix(in srgb, var(--c-agent) 12%, transparent);
|
|
2487
|
+
color: var(--c-agent);
|
|
2443
2488
|
}
|
|
2444
2489
|
.writers-meta {
|
|
2445
|
-
font: 9.5px var(--
|
|
2490
|
+
font: 9.5px var(--font-code);
|
|
2446
2491
|
color: var(--c-dim);
|
|
2447
2492
|
}
|
|
2448
2493
|
.writers-empty {
|
|
@@ -2505,24 +2550,32 @@ body,
|
|
|
2505
2550
|
.minimap-node {
|
|
2506
2551
|
position: absolute;
|
|
2507
2552
|
border-radius: 1.5px;
|
|
2508
|
-
background: var(--
|
|
2553
|
+
background: var(--c-muted);
|
|
2509
2554
|
opacity: 0.55;
|
|
2510
2555
|
}
|
|
2511
2556
|
.minimap-node.is-group {
|
|
2512
|
-
background: color-mix(in srgb, var(--
|
|
2513
|
-
border: 1px dashed color-mix(in srgb, var(--
|
|
2557
|
+
background: color-mix(in srgb, var(--c-muted) 4%, transparent);
|
|
2558
|
+
border: 1px dashed color-mix(in srgb, var(--c-muted) 55%, transparent);
|
|
2514
2559
|
opacity: 1;
|
|
2515
2560
|
border-radius: 2px;
|
|
2516
2561
|
}
|
|
2562
|
+
.minimap-node.is-pinned {
|
|
2563
|
+
background: var(--c-pin);
|
|
2564
|
+
opacity: 0.9;
|
|
2565
|
+
}
|
|
2566
|
+
.minimap-node.is-agent {
|
|
2567
|
+
background: var(--c-agent);
|
|
2568
|
+
opacity: 0.9;
|
|
2569
|
+
}
|
|
2517
2570
|
.minimap-node.is-selected {
|
|
2518
2571
|
outline: 1px solid var(--c-accent);
|
|
2519
2572
|
opacity: 0.8;
|
|
2520
2573
|
}
|
|
2521
2574
|
.minimap-fence {
|
|
2522
2575
|
position: absolute;
|
|
2523
|
-
border: 1px dashed color-mix(in srgb, var(--c-
|
|
2576
|
+
border: 1px dashed color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
2524
2577
|
border-radius: 2px;
|
|
2525
|
-
background: color-mix(in srgb, var(--c-
|
|
2578
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
2526
2579
|
}
|
|
2527
2580
|
.minimap-presence {
|
|
2528
2581
|
position: absolute;
|
|
@@ -2557,7 +2610,7 @@ body,
|
|
|
2557
2610
|
position: absolute;
|
|
2558
2611
|
right: 5px;
|
|
2559
2612
|
bottom: 3px;
|
|
2560
|
-
font: 8px var(--
|
|
2613
|
+
font: 8px var(--font-code);
|
|
2561
2614
|
color: var(--c-dim);
|
|
2562
2615
|
}
|
|
2563
2616
|
|
|
@@ -2659,7 +2712,7 @@ body,
|
|
|
2659
2712
|
color: var(--c-accent);
|
|
2660
2713
|
}
|
|
2661
2714
|
.edge-hint-keys {
|
|
2662
|
-
font: 9px var(--
|
|
2715
|
+
font: 9px var(--font-code);
|
|
2663
2716
|
color: var(--c-dim);
|
|
2664
2717
|
}
|
|
2665
2718
|
|
|
@@ -2712,8 +2765,8 @@ body,
|
|
|
2712
2765
|
padding: 2px 9px;
|
|
2713
2766
|
border-radius: 999px;
|
|
2714
2767
|
background: var(--c-panel-soft);
|
|
2715
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2716
|
-
color: var(--c-
|
|
2768
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2769
|
+
color: var(--c-agent);
|
|
2717
2770
|
font-size: 9.5px;
|
|
2718
2771
|
font-weight: 600;
|
|
2719
2772
|
white-space: nowrap;
|
|
@@ -2722,7 +2775,7 @@ body,
|
|
|
2722
2775
|
width: 6px;
|
|
2723
2776
|
height: 6px;
|
|
2724
2777
|
border-radius: 50%;
|
|
2725
|
-
background: var(--c-
|
|
2778
|
+
background: var(--c-agent);
|
|
2726
2779
|
}
|
|
2727
2780
|
|
|
2728
2781
|
/* Quiet-board affordance in the top bar */
|
|
@@ -2742,8 +2795,8 @@ body,
|
|
|
2742
2795
|
flex-shrink: 0;
|
|
2743
2796
|
}
|
|
2744
2797
|
.start-session-btn:hover {
|
|
2745
|
-
border-color: color-mix(in srgb, var(--c-
|
|
2746
|
-
color: var(--c-
|
|
2798
|
+
border-color: color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2799
|
+
color: var(--c-agent);
|
|
2747
2800
|
}
|
|
2748
2801
|
.start-session-dot {
|
|
2749
2802
|
width: 7px;
|
|
@@ -2752,7 +2805,7 @@ body,
|
|
|
2752
2805
|
background: var(--c-dim);
|
|
2753
2806
|
}
|
|
2754
2807
|
.start-session-btn:hover .start-session-dot {
|
|
2755
|
-
background: var(--c-
|
|
2808
|
+
background: var(--c-agent);
|
|
2756
2809
|
}
|
|
2757
2810
|
.session-end {
|
|
2758
2811
|
padding: 3px 10px;
|
|
@@ -2814,6 +2867,11 @@ body,
|
|
|
2814
2867
|
background: var(--c-surface-hover);
|
|
2815
2868
|
color: var(--c-text);
|
|
2816
2869
|
}
|
|
2870
|
+
.session-receipt-who {
|
|
2871
|
+
margin: 2px 0 0 15px;
|
|
2872
|
+
font-size: 11px;
|
|
2873
|
+
color: var(--c-muted);
|
|
2874
|
+
}
|
|
2817
2875
|
.session-receipt-tiles {
|
|
2818
2876
|
display: grid;
|
|
2819
2877
|
grid-template-columns: repeat(3, 1fr);
|
|
@@ -2844,6 +2902,111 @@ body,
|
|
|
2844
2902
|
.session-receipt-tile-value.tone-danger {
|
|
2845
2903
|
color: var(--c-danger);
|
|
2846
2904
|
}
|
|
2905
|
+
/* What the session did with context (docs/design/AgentContext.dc.html receipt). */
|
|
2906
|
+
.session-receipt-context {
|
|
2907
|
+
display: flex;
|
|
2908
|
+
flex-direction: column;
|
|
2909
|
+
gap: var(--space-2);
|
|
2910
|
+
margin-top: var(--space-3);
|
|
2911
|
+
}
|
|
2912
|
+
.session-receipt-warn {
|
|
2913
|
+
display: flex;
|
|
2914
|
+
align-items: center;
|
|
2915
|
+
gap: var(--space-2);
|
|
2916
|
+
padding: var(--space-2) 10px;
|
|
2917
|
+
border-radius: 8px;
|
|
2918
|
+
background: color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
2919
|
+
color: var(--c-warn);
|
|
2920
|
+
font-size: var(--fs-meta);
|
|
2921
|
+
}
|
|
2922
|
+
.session-receipt-warn svg,
|
|
2923
|
+
.session-receipt-context-head svg {
|
|
2924
|
+
width: 13px;
|
|
2925
|
+
height: 13px;
|
|
2926
|
+
flex-shrink: 0;
|
|
2927
|
+
fill: none;
|
|
2928
|
+
stroke: currentColor;
|
|
2929
|
+
stroke-width: 2;
|
|
2930
|
+
stroke-linecap: round;
|
|
2931
|
+
stroke-linejoin: round;
|
|
2932
|
+
}
|
|
2933
|
+
.session-receipt-context-row {
|
|
2934
|
+
display: flex;
|
|
2935
|
+
flex-direction: column;
|
|
2936
|
+
gap: 3px;
|
|
2937
|
+
padding-bottom: var(--space-2);
|
|
2938
|
+
border-bottom: 1px solid var(--c-line);
|
|
2939
|
+
}
|
|
2940
|
+
.session-receipt-context-head {
|
|
2941
|
+
display: flex;
|
|
2942
|
+
align-items: center;
|
|
2943
|
+
gap: 6px;
|
|
2944
|
+
color: var(--c-agent);
|
|
2945
|
+
}
|
|
2946
|
+
.session-receipt-context-name {
|
|
2947
|
+
flex: 1;
|
|
2948
|
+
font-size: var(--fs-ui);
|
|
2949
|
+
font-weight: 600;
|
|
2950
|
+
color: var(--c-text);
|
|
2951
|
+
}
|
|
2952
|
+
.session-receipt-context-count {
|
|
2953
|
+
font-size: var(--fs-meta);
|
|
2954
|
+
color: var(--c-dim);
|
|
2955
|
+
}
|
|
2956
|
+
.session-receipt-context-items {
|
|
2957
|
+
padding-left: 19px;
|
|
2958
|
+
font-size: var(--fs-meta);
|
|
2959
|
+
color: var(--c-muted);
|
|
2960
|
+
}
|
|
2961
|
+
.session-receipt-mini {
|
|
2962
|
+
padding: 2px var(--space-2);
|
|
2963
|
+
border: 1px solid var(--c-line);
|
|
2964
|
+
border-radius: var(--r-control);
|
|
2965
|
+
background: none;
|
|
2966
|
+
color: var(--c-text);
|
|
2967
|
+
font-size: var(--fs-meta);
|
|
2968
|
+
cursor: pointer;
|
|
2969
|
+
}
|
|
2970
|
+
.session-receipt-lens {
|
|
2971
|
+
display: flex;
|
|
2972
|
+
align-items: center;
|
|
2973
|
+
gap: var(--space-2);
|
|
2974
|
+
padding: 0;
|
|
2975
|
+
border: none;
|
|
2976
|
+
background: none;
|
|
2977
|
+
color: var(--c-muted);
|
|
2978
|
+
font-size: var(--fs-meta);
|
|
2979
|
+
cursor: pointer;
|
|
2980
|
+
}
|
|
2981
|
+
.session-receipt-lens-track {
|
|
2982
|
+
position: relative;
|
|
2983
|
+
width: 32px;
|
|
2984
|
+
height: 18px;
|
|
2985
|
+
border-radius: var(--r-pill);
|
|
2986
|
+
background: var(--c-line);
|
|
2987
|
+
}
|
|
2988
|
+
.session-receipt-lens-knob {
|
|
2989
|
+
position: absolute;
|
|
2990
|
+
left: 2px;
|
|
2991
|
+
top: 2px;
|
|
2992
|
+
width: 14px;
|
|
2993
|
+
height: 14px;
|
|
2994
|
+
border-radius: var(--r-pill);
|
|
2995
|
+
background: var(--c-muted);
|
|
2996
|
+
}
|
|
2997
|
+
.session-receipt-lens.is-on .session-receipt-lens-track {
|
|
2998
|
+
background: var(--c-agent);
|
|
2999
|
+
}
|
|
3000
|
+
.session-receipt-lens.is-on .session-receipt-lens-knob {
|
|
3001
|
+
left: auto;
|
|
3002
|
+
right: 2px;
|
|
3003
|
+
background: var(--c-bg);
|
|
3004
|
+
}
|
|
3005
|
+
/* The lens: nodes the session did not touch step back. */
|
|
3006
|
+
.canvas-node.lens-dimmed {
|
|
3007
|
+
opacity: 0.35;
|
|
3008
|
+
}
|
|
3009
|
+
|
|
2847
3010
|
.session-receipt-note,
|
|
2848
3011
|
.session-receipt-diff {
|
|
2849
3012
|
margin-top: 10px;
|
|
@@ -2869,8 +3032,8 @@ body,
|
|
|
2869
3032
|
cursor: pointer;
|
|
2870
3033
|
}
|
|
2871
3034
|
.session-receipt-primary {
|
|
2872
|
-
border: 1px solid var(--c-accent
|
|
2873
|
-
background: var(--c-accent
|
|
3035
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3036
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
2874
3037
|
color: var(--c-accent);
|
|
2875
3038
|
}
|
|
2876
3039
|
.session-receipt-primary:disabled {
|
|
@@ -2895,7 +3058,7 @@ body,
|
|
|
2895
3058
|
border: 1px solid color-mix(in srgb, var(--c-warn) 35%, transparent);
|
|
2896
3059
|
background: color-mix(in srgb, var(--c-warn) 12%, transparent);
|
|
2897
3060
|
color: var(--c-warn);
|
|
2898
|
-
font: 11px var(--
|
|
3061
|
+
font: 11px var(--font-code);
|
|
2899
3062
|
font-weight: 600;
|
|
2900
3063
|
white-space: nowrap;
|
|
2901
3064
|
flex-shrink: 0;
|
|
@@ -2990,7 +3153,7 @@ body,
|
|
|
2990
3153
|
background: color-mix(in srgb, var(--c-panel) 92%, black 8%);
|
|
2991
3154
|
border: 1px solid color-mix(in srgb, var(--c-line) 78%, var(--c-accent) 22%);
|
|
2992
3155
|
border-radius: 10px;
|
|
2993
|
-
box-shadow: 0 14px 36px var(--c-shadow-heavy), 0 0 0 1px var(--c-accent
|
|
3156
|
+
box-shadow: 0 14px 36px var(--c-shadow-heavy), 0 0 0 1px color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
2994
3157
|
backdrop-filter: blur(14px);
|
|
2995
3158
|
color: var(--c-text);
|
|
2996
3159
|
font-size: 12px;
|
|
@@ -3126,10 +3289,10 @@ body,
|
|
|
3126
3289
|
min-height: 20px;
|
|
3127
3290
|
padding: 2px 7px;
|
|
3128
3291
|
border-radius: 999px;
|
|
3129
|
-
border: 1px solid var(--c-accent
|
|
3130
|
-
background: var(--c-accent
|
|
3292
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3293
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
3131
3294
|
color: var(--c-accent);
|
|
3132
|
-
font: 11px/1 var(--
|
|
3295
|
+
font: 11px/1 var(--font-code);
|
|
3133
3296
|
white-space: nowrap;
|
|
3134
3297
|
}
|
|
3135
3298
|
|
|
@@ -3188,7 +3351,7 @@ body,
|
|
|
3188
3351
|
min-width: 0;
|
|
3189
3352
|
}
|
|
3190
3353
|
.connection-banner-meta {
|
|
3191
|
-
font: 9.5px var(--
|
|
3354
|
+
font: 9.5px var(--font-code);
|
|
3192
3355
|
color: var(--c-muted);
|
|
3193
3356
|
}
|
|
3194
3357
|
.connection-banner-progress {
|
|
@@ -3365,7 +3528,7 @@ body,
|
|
|
3365
3528
|
border: none;
|
|
3366
3529
|
background: var(--c-panel-soft);
|
|
3367
3530
|
color: var(--c-text);
|
|
3368
|
-
font: 13px / 1.6 var(--
|
|
3531
|
+
font: 13px / 1.6 var(--font-code);
|
|
3369
3532
|
padding: 12px;
|
|
3370
3533
|
outline: none;
|
|
3371
3534
|
}
|
|
@@ -3403,7 +3566,7 @@ body,
|
|
|
3403
3566
|
border-radius: var(--radius-sm);
|
|
3404
3567
|
color: var(--c-muted);
|
|
3405
3568
|
cursor: pointer;
|
|
3406
|
-
font-family: var(--font);
|
|
3569
|
+
font-family: var(--font-ui);
|
|
3407
3570
|
transition: all 0.12s ease;
|
|
3408
3571
|
}
|
|
3409
3572
|
|
|
@@ -3414,13 +3577,13 @@ body,
|
|
|
3414
3577
|
}
|
|
3415
3578
|
|
|
3416
3579
|
.md-toolbar-btn-primary {
|
|
3417
|
-
background: var(--c-accent
|
|
3418
|
-
border-color: var(--c-accent
|
|
3580
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
3581
|
+
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
3419
3582
|
color: var(--c-accent);
|
|
3420
3583
|
}
|
|
3421
3584
|
|
|
3422
3585
|
.md-toolbar-btn-primary:hover {
|
|
3423
|
-
background: var(--c-accent
|
|
3586
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3424
3587
|
border-color: var(--c-accent);
|
|
3425
3588
|
}
|
|
3426
3589
|
|
|
@@ -3503,7 +3666,7 @@ body,
|
|
|
3503
3666
|
border-left: 3px solid var(--c-accent);
|
|
3504
3667
|
padding: 0.5em 1em;
|
|
3505
3668
|
margin: 0.8em 0;
|
|
3506
|
-
background: var(--c-accent
|
|
3669
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3507
3670
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
3508
3671
|
}
|
|
3509
3672
|
|
|
@@ -3526,7 +3689,7 @@ body,
|
|
|
3526
3689
|
}
|
|
3527
3690
|
|
|
3528
3691
|
.md-reader-content code {
|
|
3529
|
-
font-family: var(--
|
|
3692
|
+
font-family: var(--font-code);
|
|
3530
3693
|
font-size: 0.88em;
|
|
3531
3694
|
background: var(--c-surface-hover);
|
|
3532
3695
|
padding: 2px 6px;
|
|
@@ -3565,7 +3728,7 @@ body,
|
|
|
3565
3728
|
}
|
|
3566
3729
|
|
|
3567
3730
|
.md-reader-content th {
|
|
3568
|
-
background: var(--c-accent
|
|
3731
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3569
3732
|
font-weight: 600;
|
|
3570
3733
|
color: var(--c-text);
|
|
3571
3734
|
padding: 10px 14px;
|
|
@@ -3609,17 +3772,17 @@ body,
|
|
|
3609
3772
|
border-radius: var(--radius);
|
|
3610
3773
|
color: var(--c-muted);
|
|
3611
3774
|
cursor: pointer;
|
|
3612
|
-
font-family: var(--font);
|
|
3775
|
+
font-family: var(--font-ui);
|
|
3613
3776
|
transition: all 0.15s ease;
|
|
3614
3777
|
z-index: 1;
|
|
3615
3778
|
box-shadow: 0 4px 16px var(--c-shadow);
|
|
3616
3779
|
}
|
|
3617
3780
|
|
|
3618
3781
|
.md-edit-fab:hover {
|
|
3619
|
-
background: var(--c-accent
|
|
3782
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3620
3783
|
border-color: var(--c-accent);
|
|
3621
3784
|
color: var(--c-accent);
|
|
3622
|
-
box-shadow: 0 4px 20px var(--c-
|
|
3785
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
3623
3786
|
}
|
|
3624
3787
|
|
|
3625
3788
|
/* ── Inline WYSIWYG editor (contentEditable on the rendered HTML) ─
|
|
@@ -3638,7 +3801,7 @@ body,
|
|
|
3638
3801
|
|
|
3639
3802
|
.md-reader-editable::selection,
|
|
3640
3803
|
.md-reader-editable *::selection {
|
|
3641
|
-
background: var(--c-accent
|
|
3804
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3642
3805
|
}
|
|
3643
3806
|
|
|
3644
3807
|
/* ── Inline selection toolbar (contentEditable WYSIWYG) ────────── */
|
|
@@ -3654,7 +3817,7 @@ body,
|
|
|
3654
3817
|
border: 1px solid var(--c-line);
|
|
3655
3818
|
border-radius: 8px;
|
|
3656
3819
|
box-shadow: 0 4px 16px var(--c-shadow), 0 0 0 1px var(--c-line-30);
|
|
3657
|
-
font-family: var(--font);
|
|
3820
|
+
font-family: var(--font-ui);
|
|
3658
3821
|
animation: md-inline-format-bar-in 0.1s ease-out;
|
|
3659
3822
|
}
|
|
3660
3823
|
|
|
@@ -3673,7 +3836,7 @@ body,
|
|
|
3673
3836
|
background: none;
|
|
3674
3837
|
border: 1px solid transparent;
|
|
3675
3838
|
border-radius: var(--radius-sm);
|
|
3676
|
-
font: 600 12px var(--font);
|
|
3839
|
+
font: 600 12px var(--font-ui);
|
|
3677
3840
|
color: var(--c-text-soft);
|
|
3678
3841
|
cursor: pointer;
|
|
3679
3842
|
white-space: nowrap;
|
|
@@ -3687,7 +3850,7 @@ body,
|
|
|
3687
3850
|
}
|
|
3688
3851
|
|
|
3689
3852
|
.md-inline-format-btn:active {
|
|
3690
|
-
background: var(--c-accent
|
|
3853
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3691
3854
|
color: var(--c-accent);
|
|
3692
3855
|
}
|
|
3693
3856
|
|
|
@@ -3730,7 +3893,7 @@ body,
|
|
|
3730
3893
|
background: none;
|
|
3731
3894
|
border: 1px solid transparent;
|
|
3732
3895
|
border-radius: var(--radius-sm);
|
|
3733
|
-
font-family: var(--
|
|
3896
|
+
font-family: var(--font-code);
|
|
3734
3897
|
font-size: 12px;
|
|
3735
3898
|
font-weight: 600;
|
|
3736
3899
|
color: var(--c-muted);
|
|
@@ -3746,7 +3909,7 @@ body,
|
|
|
3746
3909
|
}
|
|
3747
3910
|
|
|
3748
3911
|
.md-format-btn:active {
|
|
3749
|
-
background: var(--c-accent
|
|
3912
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3750
3913
|
color: var(--c-accent);
|
|
3751
3914
|
}
|
|
3752
3915
|
|
|
@@ -3813,10 +3976,6 @@ html.is-node-resizing .canvas-node {
|
|
|
3813
3976
|
transition: box-shadow 0.15s ease !important;
|
|
3814
3977
|
}
|
|
3815
3978
|
|
|
3816
|
-
html.is-node-dragging .attention-field-layer {
|
|
3817
|
-
visibility: hidden;
|
|
3818
|
-
}
|
|
3819
|
-
|
|
3820
3979
|
html.is-node-dragging,
|
|
3821
3980
|
html.is-node-dragging *,
|
|
3822
3981
|
html.is-canvas-panning,
|
|
@@ -3889,12 +4048,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
3889
4048
|
}
|
|
3890
4049
|
|
|
3891
4050
|
.context-menu-item:hover {
|
|
3892
|
-
background: var(--c-accent
|
|
4051
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
3893
4052
|
color: var(--c-accent);
|
|
3894
4053
|
}
|
|
3895
4054
|
|
|
3896
4055
|
.context-menu-item.is-danger .context-menu-label {
|
|
3897
|
-
color: var(--c-danger
|
|
4056
|
+
color: var(--c-danger);
|
|
3898
4057
|
}
|
|
3899
4058
|
|
|
3900
4059
|
.context-menu-shortcut {
|
|
@@ -3972,8 +4131,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
3972
4131
|
}
|
|
3973
4132
|
|
|
3974
4133
|
.context-menu-color-swatch:hover {
|
|
3975
|
-
background: var(--c-accent
|
|
3976
|
-
border-color: var(--c-accent
|
|
4134
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4135
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
3977
4136
|
}
|
|
3978
4137
|
|
|
3979
4138
|
.context-menu-color-swatch.active {
|
|
@@ -3984,7 +4143,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
3984
4143
|
.context-menu-color-dot {
|
|
3985
4144
|
background: var(--swatch-color);
|
|
3986
4145
|
border-radius: 999px;
|
|
3987
|
-
box-shadow: 0 0 0 1px color-mix(in srgb, var(--swatch-color) 60%,
|
|
4146
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--swatch-color) 60%, var(--c-bg) 40%);
|
|
3988
4147
|
flex: 0 0 auto;
|
|
3989
4148
|
height: 10px;
|
|
3990
4149
|
width: 10px;
|
|
@@ -4021,7 +4180,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4021
4180
|
/* Edge labels — --edge-chrome-scale is set on the edge <svg> so labels keep a
|
|
4022
4181
|
constant screen size while zoomed out (see edgeChromeScale in EdgeLayer). */
|
|
4023
4182
|
.edge-label {
|
|
4024
|
-
font-family: var(--font);
|
|
4183
|
+
font-family: var(--font-ui);
|
|
4025
4184
|
font-size: calc(11px * var(--edge-label-scale, 1));
|
|
4026
4185
|
pointer-events: none;
|
|
4027
4186
|
user-select: none;
|
|
@@ -4061,10 +4220,10 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4061
4220
|
@keyframes trace-pulse {
|
|
4062
4221
|
0%,
|
|
4063
4222
|
100% {
|
|
4064
|
-
box-shadow: 0 0 0 0 var(--c-accent
|
|
4223
|
+
box-shadow: 0 0 0 0 color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4065
4224
|
}
|
|
4066
4225
|
50% {
|
|
4067
|
-
box-shadow: 0 0 0 4px var(--c-accent
|
|
4226
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4068
4227
|
}
|
|
4069
4228
|
}
|
|
4070
4229
|
|
|
@@ -4075,7 +4234,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4075
4234
|
gap: 10px;
|
|
4076
4235
|
height: 100%;
|
|
4077
4236
|
overflow: auto;
|
|
4078
|
-
font-family: var(--
|
|
4237
|
+
font-family: var(--font-code);
|
|
4079
4238
|
font-size: 12px;
|
|
4080
4239
|
color: var(--c-text);
|
|
4081
4240
|
}
|
|
@@ -4124,12 +4283,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4124
4283
|
|
|
4125
4284
|
.diff-node .diff-line-add {
|
|
4126
4285
|
color: var(--c-ok);
|
|
4127
|
-
background: var(--c-ok
|
|
4286
|
+
background: color-mix(in srgb, var(--c-ok) 10%, transparent);
|
|
4128
4287
|
}
|
|
4129
4288
|
|
|
4130
4289
|
.diff-node .diff-line-remove {
|
|
4131
4290
|
color: var(--c-danger);
|
|
4132
|
-
background: var(--c-danger
|
|
4291
|
+
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4133
4292
|
}
|
|
4134
4293
|
|
|
4135
4294
|
.diff-node .diff-line-context {
|
|
@@ -4170,7 +4329,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4170
4329
|
border-spacing: 0;
|
|
4171
4330
|
width: max-content;
|
|
4172
4331
|
min-width: 100%;
|
|
4173
|
-
font-family: var(--
|
|
4332
|
+
font-family: var(--font-code);
|
|
4174
4333
|
color: var(--c-text);
|
|
4175
4334
|
}
|
|
4176
4335
|
|
|
@@ -4273,21 +4432,21 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4273
4432
|
|
|
4274
4433
|
/* ── Prompt nodes ──────────────────────────────────────────── */
|
|
4275
4434
|
.canvas-node:has(.prompt-node-inner) {
|
|
4276
|
-
border-color: var(--c-accent
|
|
4435
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4277
4436
|
}
|
|
4278
4437
|
|
|
4279
4438
|
.canvas-node:has(.prompt-node-inner) .node-type-badge {
|
|
4280
|
-
background: var(--c-accent
|
|
4439
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4281
4440
|
color: var(--c-accent);
|
|
4282
4441
|
}
|
|
4283
4442
|
|
|
4284
4443
|
/* ── Response nodes ────────────────────────────────────────── */
|
|
4285
4444
|
.canvas-node:has(.response-node-inner) {
|
|
4286
|
-
border-color: var(--c-ok
|
|
4445
|
+
border-color: color-mix(in srgb, var(--c-ok) 25%, transparent);
|
|
4287
4446
|
}
|
|
4288
4447
|
|
|
4289
4448
|
.canvas-node:has(.response-node-inner) .node-type-badge {
|
|
4290
|
-
background: var(--c-ok
|
|
4449
|
+
background: color-mix(in srgb, var(--c-ok) 12%, transparent);
|
|
4291
4450
|
color: var(--c-ok);
|
|
4292
4451
|
}
|
|
4293
4452
|
|
|
@@ -4306,39 +4465,38 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4306
4465
|
|
|
4307
4466
|
/* ── Multi-node selection (item 13: outline, corner handles, soft glow) ── */
|
|
4308
4467
|
.canvas-node.selected {
|
|
4309
|
-
|
|
4310
|
-
box-shadow: 0 0 0 1px var(--c-accent), 0 0 0 4px color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4468
|
+
box-shadow: 0 0 0 3px var(--c-bg), 0 0 0 5px var(--c-accent), var(--e-1);
|
|
4311
4469
|
}
|
|
4312
4470
|
.node-selection-handle {
|
|
4313
4471
|
position: absolute;
|
|
4314
|
-
width:
|
|
4315
|
-
height:
|
|
4316
|
-
background: var(--c-
|
|
4472
|
+
width: 8px;
|
|
4473
|
+
height: 8px;
|
|
4474
|
+
background: var(--c-panel);
|
|
4317
4475
|
border: 1.5px solid var(--c-accent);
|
|
4318
4476
|
border-radius: 2px;
|
|
4319
4477
|
pointer-events: none;
|
|
4320
4478
|
z-index: 3;
|
|
4321
4479
|
}
|
|
4322
4480
|
.node-selection-handle.is-tl {
|
|
4323
|
-
left: -
|
|
4324
|
-
top: -
|
|
4481
|
+
left: -9px;
|
|
4482
|
+
top: -9px;
|
|
4325
4483
|
}
|
|
4326
4484
|
.node-selection-handle.is-tr {
|
|
4327
|
-
right: -
|
|
4328
|
-
top: -
|
|
4485
|
+
right: -9px;
|
|
4486
|
+
top: -9px;
|
|
4329
4487
|
}
|
|
4330
4488
|
.node-selection-handle.is-bl {
|
|
4331
|
-
left: -
|
|
4332
|
-
bottom: -
|
|
4489
|
+
left: -9px;
|
|
4490
|
+
bottom: -9px;
|
|
4333
4491
|
}
|
|
4334
4492
|
.node-selection-handle.is-br {
|
|
4335
|
-
right: -
|
|
4336
|
-
bottom: -
|
|
4493
|
+
right: -9px;
|
|
4494
|
+
bottom: -9px;
|
|
4337
4495
|
}
|
|
4338
4496
|
|
|
4339
4497
|
/* Lasso rectangle overlay */
|
|
4340
4498
|
.lasso-rect {
|
|
4341
|
-
background: var(--c-accent
|
|
4499
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4342
4500
|
border: 1px solid var(--c-accent);
|
|
4343
4501
|
border-radius: 2px;
|
|
4344
4502
|
z-index: 9998;
|
|
@@ -4380,7 +4538,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4380
4538
|
border-radius: 4px;
|
|
4381
4539
|
background: color-mix(in srgb, var(--c-bg) 72%, transparent);
|
|
4382
4540
|
color: var(--c-annotation);
|
|
4383
|
-
font-family: var(--font);
|
|
4541
|
+
font-family: var(--font-ui);
|
|
4384
4542
|
font-weight: 700;
|
|
4385
4543
|
line-height: 1.15;
|
|
4386
4544
|
outline: none;
|
|
@@ -4394,13 +4552,13 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4394
4552
|
pointer-events: none;
|
|
4395
4553
|
border: 2px dashed var(--c-accent);
|
|
4396
4554
|
border-radius: 8px;
|
|
4397
|
-
background: var(--c-accent
|
|
4555
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4398
4556
|
animation: drop-zone-pulse 1.5s ease-in-out infinite;
|
|
4399
4557
|
}
|
|
4400
4558
|
|
|
4401
4559
|
@keyframes drop-zone-pulse {
|
|
4402
|
-
0%, 100% { background: var(--c-accent
|
|
4403
|
-
50% { background: var(--c-accent
|
|
4560
|
+
0%, 100% { background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
|
|
4561
|
+
50% { background: color-mix(in srgb, var(--c-accent) 12%, transparent); }
|
|
4404
4562
|
}
|
|
4405
4563
|
|
|
4406
4564
|
.drop-zone-indicator {
|
|
@@ -4415,9 +4573,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4415
4573
|
padding: 20px 32px;
|
|
4416
4574
|
background: var(--c-panel-glass);
|
|
4417
4575
|
backdrop-filter: blur(16px);
|
|
4418
|
-
border: 1px solid var(--c-accent
|
|
4576
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4419
4577
|
border-radius: 12px;
|
|
4420
|
-
box-shadow: 0 4px 24px var(--c-shadow), 0 0 24px var(--c-
|
|
4578
|
+
box-shadow: 0 4px 24px var(--c-shadow), 0 0 24px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4421
4579
|
}
|
|
4422
4580
|
|
|
4423
4581
|
.drop-zone-icon {
|
|
@@ -4429,7 +4587,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4429
4587
|
display: flex;
|
|
4430
4588
|
align-items: center;
|
|
4431
4589
|
justify-content: center;
|
|
4432
|
-
border: 2px dashed var(--c-accent
|
|
4590
|
+
border: 2px dashed color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
4433
4591
|
border-radius: 50%;
|
|
4434
4592
|
}
|
|
4435
4593
|
|
|
@@ -4485,7 +4643,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4485
4643
|
border-radius: 8px;
|
|
4486
4644
|
background: var(--c-bg);
|
|
4487
4645
|
color: var(--c-text);
|
|
4488
|
-
font: 13px/1.4 var(--
|
|
4646
|
+
font: 13px/1.4 var(--font-code);
|
|
4489
4647
|
}
|
|
4490
4648
|
.text-prompt-input:focus {
|
|
4491
4649
|
outline: none;
|
|
@@ -4498,13 +4656,24 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4498
4656
|
}
|
|
4499
4657
|
.text-prompt-cancel,
|
|
4500
4658
|
.text-prompt-confirm {
|
|
4501
|
-
|
|
4659
|
+
min-height: 36px;
|
|
4660
|
+
padding: 8px 14px;
|
|
4502
4661
|
border-radius: 7px;
|
|
4503
|
-
border: 1px solid var(--c-line);
|
|
4504
|
-
background:
|
|
4505
|
-
color: var(--c-text
|
|
4662
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 65%, var(--c-muted));
|
|
4663
|
+
background: var(--c-panel-overlay);
|
|
4664
|
+
color: var(--c-text);
|
|
4506
4665
|
cursor: pointer;
|
|
4507
4666
|
font-size: 12px;
|
|
4667
|
+
font-weight: 600;
|
|
4668
|
+
}
|
|
4669
|
+
.text-prompt-cancel:hover {
|
|
4670
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4671
|
+
border-color: var(--c-muted);
|
|
4672
|
+
}
|
|
4673
|
+
.text-prompt-cancel:focus-visible,
|
|
4674
|
+
.text-prompt-confirm:focus-visible {
|
|
4675
|
+
outline: 2px solid var(--c-accent);
|
|
4676
|
+
outline-offset: 2px;
|
|
4508
4677
|
}
|
|
4509
4678
|
.text-prompt-confirm {
|
|
4510
4679
|
background: var(--c-accent);
|
|
@@ -4524,7 +4693,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4524
4693
|
overflow-y: auto;
|
|
4525
4694
|
color: var(--c-text);
|
|
4526
4695
|
}
|
|
4527
|
-
.feedback-dialog label
|
|
4696
|
+
.feedback-dialog label,
|
|
4697
|
+
.feedback-field {
|
|
4528
4698
|
display: flex;
|
|
4529
4699
|
flex-direction: column;
|
|
4530
4700
|
gap: 6px;
|
|
@@ -4618,181 +4788,51 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4618
4788
|
cursor: default;
|
|
4619
4789
|
}
|
|
4620
4790
|
.selection-bar-action.is-pin:hover {
|
|
4621
|
-
background: color-mix(in srgb, var(--c-
|
|
4622
|
-
color: var(--c-
|
|
4791
|
+
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
4792
|
+
color: var(--c-pin);
|
|
4623
4793
|
}
|
|
4624
4794
|
.selection-bar-icon.is-danger:hover {
|
|
4625
4795
|
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4626
4796
|
color: var(--c-danger);
|
|
4627
4797
|
}
|
|
4628
4798
|
|
|
4629
|
-
/* ──
|
|
4799
|
+
/* ── Node states (docs/design/Context.dc.html) ─────────────────
|
|
4800
|
+
In context: pin-blue border, tinted header, blue kind icon and the filled
|
|
4801
|
+
pin badge. Selection is a ring with a gap outside the border, so the pin
|
|
4802
|
+
styling survives it. */
|
|
4630
4803
|
.canvas-node.context-pinned {
|
|
4631
|
-
border
|
|
4632
|
-
box-shadow: 0 0 0 2px var(--c-warn), 0 0 8px var(--c-warn-30);
|
|
4633
|
-
}
|
|
4634
|
-
|
|
4635
|
-
.canvas-node.context-pinned .node-type-badge {
|
|
4636
|
-
background: var(--c-warn-15);
|
|
4637
|
-
color: var(--c-warn);
|
|
4638
|
-
}
|
|
4639
|
-
|
|
4640
|
-
:root[data-theme="light"] .canvas-node.context-pinned {
|
|
4641
|
-
border-color: #4BBCFF;
|
|
4642
|
-
box-shadow: 0 0 0 2px #4BBCFF, 0 0 12px rgba(75, 188, 255, 0.28);
|
|
4643
|
-
}
|
|
4644
|
-
|
|
4645
|
-
:root[data-theme="light"] .canvas-node.context-pinned .node-type-badge {
|
|
4646
|
-
background: rgba(75, 188, 255, 0.14);
|
|
4647
|
-
color: #1588CE;
|
|
4648
|
-
}
|
|
4649
|
-
|
|
4650
|
-
/* ── Attention layer — human-facing semantic feedback ───────── */
|
|
4651
|
-
.canvas-node.attention-focus-primary {
|
|
4652
|
-
box-shadow:
|
|
4653
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 72%, transparent),
|
|
4654
|
-
0 12px 34px color-mix(in srgb, var(--c-warn) 18%, transparent),
|
|
4655
|
-
inset 0 0 0 1px color-mix(in srgb, var(--c-warn) 28%, transparent);
|
|
4804
|
+
border: 1.5px solid var(--c-pin);
|
|
4656
4805
|
}
|
|
4657
4806
|
|
|
4658
|
-
.canvas-node.
|
|
4659
|
-
background:
|
|
4660
|
-
linear-gradient(90deg, color-mix(in srgb, var(--c-warn) 12%, transparent), transparent 68%),
|
|
4661
|
-
var(--c-panel-soft);
|
|
4662
|
-
}
|
|
4663
|
-
|
|
4664
|
-
:root[data-theme="light"] .canvas-node.attention-focus-primary {
|
|
4665
|
-
box-shadow:
|
|
4666
|
-
0 0 0 1px rgba(75, 188, 255, 0.72),
|
|
4667
|
-
0 12px 34px rgba(75, 188, 255, 0.2),
|
|
4668
|
-
inset 0 0 0 1px rgba(75, 188, 255, 0.18);
|
|
4669
|
-
}
|
|
4670
|
-
|
|
4671
|
-
:root[data-theme="light"] .canvas-node.attention-focus-primary .node-titlebar {
|
|
4672
|
-
background:
|
|
4673
|
-
linear-gradient(90deg, rgba(75, 188, 255, 0.14), transparent 68%),
|
|
4674
|
-
var(--c-panel-soft);
|
|
4675
|
-
}
|
|
4676
|
-
|
|
4677
|
-
.canvas-node.attention-focus-secondary {
|
|
4678
|
-
box-shadow:
|
|
4679
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 30%, transparent),
|
|
4680
|
-
0 8px 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4681
|
-
}
|
|
4682
|
-
|
|
4683
|
-
.canvas-node.attention-focus-secondary .node-type-badge {
|
|
4684
|
-
background: color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4685
|
-
color: color-mix(in srgb, var(--c-warn) 88%, var(--c-text) 12%);
|
|
4807
|
+
.canvas-node.context-pinned .node-titlebar {
|
|
4808
|
+
background: color-mix(in srgb, var(--c-pin) 12%, var(--c-panel));
|
|
4686
4809
|
}
|
|
4687
4810
|
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
0 0 0 1px rgba(75, 188, 255, 0.32),
|
|
4691
|
-
0 8px 24px rgba(75, 188, 255, 0.12);
|
|
4692
|
-
}
|
|
4693
|
-
|
|
4694
|
-
:root[data-theme="light"] .canvas-node.attention-focus-secondary .node-type-badge {
|
|
4695
|
-
background: rgba(75, 188, 255, 0.12);
|
|
4696
|
-
color: #1588CE;
|
|
4811
|
+
.canvas-node.context-pinned .node-type-icon {
|
|
4812
|
+
color: var(--c-pin);
|
|
4697
4813
|
}
|
|
4698
4814
|
|
|
4815
|
+
/* A short pulse on the nodes a canvas change touched (pin, connect, group).
|
|
4816
|
+
Accent, not a meaning colour: it says "this changed", nothing more. */
|
|
4699
4817
|
.canvas-node.attention-pulse {
|
|
4700
4818
|
animation: attention-node-pulse 0.9s ease;
|
|
4701
4819
|
}
|
|
4702
4820
|
|
|
4703
|
-
:root[data-theme="light"] .canvas-node.attention-pulse {
|
|
4704
|
-
animation-name: attention-node-pulse-light;
|
|
4705
|
-
}
|
|
4706
|
-
|
|
4707
4821
|
@keyframes attention-node-pulse {
|
|
4708
4822
|
0% {
|
|
4709
4823
|
transform: translateZ(0) scale(1);
|
|
4710
|
-
box-shadow:
|
|
4711
|
-
0 0 0 0 color-mix(in srgb, var(--c-warn) 0%, transparent),
|
|
4712
|
-
0 4px 24px var(--c-shadow);
|
|
4713
4824
|
}
|
|
4714
4825
|
38% {
|
|
4715
4826
|
transform: translateZ(0) scale(1.012);
|
|
4716
4827
|
box-shadow:
|
|
4717
|
-
0 0 0 3px color-mix(in srgb, var(--c-
|
|
4718
|
-
|
|
4828
|
+
0 0 0 3px color-mix(in srgb, var(--c-accent) 35%, transparent),
|
|
4829
|
+
var(--e-1);
|
|
4719
4830
|
}
|
|
4720
4831
|
100% {
|
|
4721
4832
|
transform: translateZ(0) scale(1);
|
|
4722
4833
|
}
|
|
4723
4834
|
}
|
|
4724
4835
|
|
|
4725
|
-
@keyframes attention-node-pulse-light {
|
|
4726
|
-
0% {
|
|
4727
|
-
transform: translateZ(0) scale(1);
|
|
4728
|
-
box-shadow:
|
|
4729
|
-
0 0 0 0 rgba(75, 188, 255, 0),
|
|
4730
|
-
0 4px 24px var(--c-shadow);
|
|
4731
|
-
}
|
|
4732
|
-
38% {
|
|
4733
|
-
transform: translateZ(0) scale(1.012);
|
|
4734
|
-
box-shadow:
|
|
4735
|
-
0 0 0 3px rgba(75, 188, 255, 0.32),
|
|
4736
|
-
0 16px 34px rgba(75, 188, 255, 0.18);
|
|
4737
|
-
}
|
|
4738
|
-
100% {
|
|
4739
|
-
transform: translateZ(0) scale(1);
|
|
4740
|
-
}
|
|
4741
|
-
}
|
|
4742
|
-
|
|
4743
|
-
.attention-field-layer {
|
|
4744
|
-
position: absolute;
|
|
4745
|
-
inset: 0;
|
|
4746
|
-
pointer-events: none;
|
|
4747
|
-
z-index: 0;
|
|
4748
|
-
}
|
|
4749
|
-
|
|
4750
|
-
.attention-field-region,
|
|
4751
|
-
.attention-field-node {
|
|
4752
|
-
position: absolute;
|
|
4753
|
-
pointer-events: none;
|
|
4754
|
-
}
|
|
4755
|
-
|
|
4756
|
-
.attention-field-region {
|
|
4757
|
-
background:
|
|
4758
|
-
radial-gradient(circle at 25% 30%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 62%),
|
|
4759
|
-
linear-gradient(135deg, color-mix(in srgb, var(--c-warn) 10%, transparent), color-mix(in srgb, var(--c-accent) 5%, transparent));
|
|
4760
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 22%, transparent);
|
|
4761
|
-
opacity: 0.8;
|
|
4762
|
-
filter: blur(18px);
|
|
4763
|
-
}
|
|
4764
|
-
|
|
4765
|
-
.attention-field-node.attention-field-primary {
|
|
4766
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 38%, transparent);
|
|
4767
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 72%);
|
|
4768
|
-
box-shadow: 0 0 38px color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4769
|
-
}
|
|
4770
|
-
|
|
4771
|
-
.attention-field-node.attention-field-secondary {
|
|
4772
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4773
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 9%, transparent), transparent 74%);
|
|
4774
|
-
box-shadow: 0 0 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4775
|
-
}
|
|
4776
|
-
|
|
4777
|
-
:root[data-theme="light"] .attention-field-region {
|
|
4778
|
-
background:
|
|
4779
|
-
radial-gradient(circle at 25% 30%, rgba(75, 188, 255, 0.16), transparent 62%),
|
|
4780
|
-
linear-gradient(135deg, rgba(75, 188, 255, 0.1), rgba(75, 188, 255, 0.05));
|
|
4781
|
-
border: 1px solid rgba(75, 188, 255, 0.22);
|
|
4782
|
-
}
|
|
4783
|
-
|
|
4784
|
-
:root[data-theme="light"] .attention-field-node.attention-field-primary {
|
|
4785
|
-
border: 1px solid rgba(75, 188, 255, 0.4);
|
|
4786
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.18), transparent 72%);
|
|
4787
|
-
box-shadow: 0 0 38px rgba(75, 188, 255, 0.2);
|
|
4788
|
-
}
|
|
4789
|
-
|
|
4790
|
-
:root[data-theme="light"] .attention-field-node.attention-field-secondary {
|
|
4791
|
-
border: 1px solid rgba(75, 188, 255, 0.18);
|
|
4792
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.1), transparent 74%);
|
|
4793
|
-
box-shadow: 0 0 24px rgba(75, 188, 255, 0.12);
|
|
4794
|
-
}
|
|
4795
|
-
|
|
4796
4836
|
/* Anchored to the canvas region (not the window): since the rail-chrome
|
|
4797
4837
|
restructure the session panel owns the window's right edge. */
|
|
4798
4838
|
.attention-toast {
|
|
@@ -4806,7 +4846,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4806
4846
|
padding: 6px 12px 6px 10px;
|
|
4807
4847
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4808
4848
|
backdrop-filter: blur(14px);
|
|
4809
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 76%, var(--c-
|
|
4849
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 76%, var(--c-accent) 24%);
|
|
4810
4850
|
border-radius: 12px;
|
|
4811
4851
|
box-shadow: 0 8px 22px var(--c-shadow);
|
|
4812
4852
|
color: var(--c-text);
|
|
@@ -4880,9 +4920,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4880
4920
|
padding: 14px;
|
|
4881
4921
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4882
4922
|
backdrop-filter: blur(16px);
|
|
4883
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-
|
|
4923
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-accent) 18%);
|
|
4884
4924
|
border-radius: 18px;
|
|
4885
|
-
box-shadow: 0 14px 36px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-
|
|
4925
|
+
box-shadow: 0 14px 36px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4886
4926
|
z-index: 9990;
|
|
4887
4927
|
}
|
|
4888
4928
|
|
|
@@ -4896,7 +4936,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4896
4936
|
padding: 8px 12px 8px 14px;
|
|
4897
4937
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4898
4938
|
backdrop-filter: blur(16px);
|
|
4899
|
-
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-
|
|
4939
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 82%, var(--c-accent) 18%);
|
|
4900
4940
|
border-right: 0;
|
|
4901
4941
|
border-radius: 14px 0 0 14px;
|
|
4902
4942
|
box-shadow: 0 12px 36px var(--c-shadow);
|
|
@@ -4933,7 +4973,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4933
4973
|
align-items: center;
|
|
4934
4974
|
justify-content: center;
|
|
4935
4975
|
border-radius: 9px;
|
|
4936
|
-
background: var(--c-
|
|
4976
|
+
background: var(--c-accent);
|
|
4937
4977
|
color: var(--c-contrast-fg);
|
|
4938
4978
|
font-size: 10px;
|
|
4939
4979
|
font-weight: 700;
|
|
@@ -5032,16 +5072,16 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5032
5072
|
}
|
|
5033
5073
|
|
|
5034
5074
|
.attention-tone-context {
|
|
5035
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5075
|
+
border-color: color-mix(in srgb, var(--c-pin) 26%, transparent);
|
|
5036
5076
|
}
|
|
5037
5077
|
|
|
5038
5078
|
.attention-toast.attention-tone-context {
|
|
5039
|
-
color: color-mix(in srgb, var(--c-
|
|
5079
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5040
5080
|
}
|
|
5041
5081
|
|
|
5042
5082
|
.attention-tone-context .attention-history-kind,
|
|
5043
5083
|
.attention-tone-context .attention-toast-title {
|
|
5044
|
-
color: color-mix(in srgb, var(--c-
|
|
5084
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5045
5085
|
}
|
|
5046
5086
|
|
|
5047
5087
|
.attention-tone-relationship {
|
|
@@ -5058,33 +5098,33 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5058
5098
|
}
|
|
5059
5099
|
|
|
5060
5100
|
.attention-tone-group {
|
|
5061
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5101
|
+
border-color: color-mix(in srgb, var(--c-accent) 24%, transparent);
|
|
5062
5102
|
}
|
|
5063
5103
|
|
|
5064
5104
|
.attention-toast.attention-tone-group {
|
|
5065
|
-
color: color-mix(in srgb, var(--c-
|
|
5105
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5066
5106
|
}
|
|
5067
5107
|
|
|
5068
5108
|
.attention-tone-group .attention-history-kind,
|
|
5069
5109
|
.attention-tone-group .attention-toast-title {
|
|
5070
|
-
color: color-mix(in srgb, var(--c-
|
|
5110
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5071
5111
|
}
|
|
5072
5112
|
|
|
5073
5113
|
.attention-tone-cluster,
|
|
5074
5114
|
.attention-tone-neighborhood {
|
|
5075
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5115
|
+
border-color: color-mix(in srgb, var(--c-accent) 22%, transparent);
|
|
5076
5116
|
}
|
|
5077
5117
|
|
|
5078
5118
|
.attention-toast.attention-tone-cluster,
|
|
5079
5119
|
.attention-toast.attention-tone-neighborhood {
|
|
5080
|
-
color: color-mix(in srgb, var(--c-
|
|
5120
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5081
5121
|
}
|
|
5082
5122
|
|
|
5083
5123
|
.attention-tone-cluster .attention-history-kind,
|
|
5084
5124
|
.attention-tone-cluster .attention-toast-title,
|
|
5085
5125
|
.attention-tone-neighborhood .attention-history-kind,
|
|
5086
5126
|
.attention-tone-neighborhood .attention-toast-title {
|
|
5087
|
-
color: color-mix(in srgb, var(--c-
|
|
5127
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5088
5128
|
}
|
|
5089
5129
|
|
|
5090
5130
|
.attention-tone-remove {
|
|
@@ -5131,7 +5171,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5131
5171
|
background: color-mix(in srgb, var(--group-color, var(--c-accent)) 9%, transparent);
|
|
5132
5172
|
}
|
|
5133
5173
|
.canvas-node.group-node.is-drop-source {
|
|
5134
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5174
|
+
border-color: color-mix(in srgb, var(--c-accent) 60%, transparent);
|
|
5135
5175
|
}
|
|
5136
5176
|
.canvas-node.group-node .node-body {
|
|
5137
5177
|
background: none;
|
|
@@ -5188,7 +5228,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5188
5228
|
text-overflow: ellipsis;
|
|
5189
5229
|
}
|
|
5190
5230
|
.group-count {
|
|
5191
|
-
font: 9px var(--
|
|
5231
|
+
font: 9px var(--font-code);
|
|
5192
5232
|
color: var(--c-dim);
|
|
5193
5233
|
}
|
|
5194
5234
|
.group-title-input {
|
|
@@ -5324,10 +5364,11 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5324
5364
|
width: 6px;
|
|
5325
5365
|
height: 6px;
|
|
5326
5366
|
border-radius: 2px;
|
|
5367
|
+
background: var(--c-muted);
|
|
5327
5368
|
opacity: 0.8;
|
|
5328
5369
|
}
|
|
5329
5370
|
.group-chip-count {
|
|
5330
|
-
font: 9px var(--
|
|
5371
|
+
font: 9px var(--font-code);
|
|
5331
5372
|
color: var(--c-dim);
|
|
5332
5373
|
}
|
|
5333
5374
|
|
|
@@ -5351,7 +5392,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5351
5392
|
color: var(--c-accent);
|
|
5352
5393
|
}
|
|
5353
5394
|
.drop-pill-hint {
|
|
5354
|
-
font: 9px var(--
|
|
5395
|
+
font: 9px var(--font-code);
|
|
5355
5396
|
color: var(--c-dim);
|
|
5356
5397
|
}
|
|
5357
5398
|
|
|
@@ -5367,9 +5408,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5367
5408
|
padding: 8px 14px;
|
|
5368
5409
|
background: var(--c-panel-glass);
|
|
5369
5410
|
backdrop-filter: blur(12px);
|
|
5370
|
-
border: 1px solid var(--c-
|
|
5411
|
+
border: 1px solid var(--c-pin);
|
|
5371
5412
|
border-radius: var(--radius);
|
|
5372
|
-
box-shadow: 0 8px 32px var(--c-shadow), 0 0 0 1px var(--c-
|
|
5413
|
+
box-shadow: 0 8px 32px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-pin) 15%, transparent);
|
|
5373
5414
|
z-index: 64;
|
|
5374
5415
|
white-space: nowrap;
|
|
5375
5416
|
}
|
|
@@ -5377,35 +5418,35 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5377
5418
|
.context-pin-bar-count {
|
|
5378
5419
|
font-size: 12px;
|
|
5379
5420
|
font-weight: 600;
|
|
5380
|
-
color: var(--c-
|
|
5421
|
+
color: var(--c-pin);
|
|
5381
5422
|
}
|
|
5382
5423
|
|
|
5383
5424
|
.context-pin-bar-btn {
|
|
5384
5425
|
padding: 5px 12px;
|
|
5385
5426
|
font-size: 12px;
|
|
5386
5427
|
font-weight: 600;
|
|
5387
|
-
background: var(--c-
|
|
5388
|
-
border: 1px solid var(--c-
|
|
5428
|
+
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
5429
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5389
5430
|
border-radius: var(--radius-sm);
|
|
5390
|
-
color: var(--c-
|
|
5431
|
+
color: var(--c-pin);
|
|
5391
5432
|
cursor: pointer;
|
|
5392
|
-
font-family: var(--font);
|
|
5433
|
+
font-family: var(--font-ui);
|
|
5393
5434
|
}
|
|
5394
5435
|
|
|
5395
5436
|
.context-pin-bar-btn:hover {
|
|
5396
|
-
background: var(--c-
|
|
5397
|
-
border-color: var(--c-
|
|
5437
|
+
background: color-mix(in srgb, var(--c-pin) 20%, transparent);
|
|
5438
|
+
border-color: var(--c-pin);
|
|
5398
5439
|
}
|
|
5399
5440
|
|
|
5400
5441
|
.context-pin-bar-ask {
|
|
5401
|
-
background: var(--c-
|
|
5402
|
-
color: var(--c-
|
|
5403
|
-
border-color: var(--c-
|
|
5442
|
+
background: var(--c-pin);
|
|
5443
|
+
color: var(--c-on-pin);
|
|
5444
|
+
border-color: var(--c-pin);
|
|
5404
5445
|
}
|
|
5405
5446
|
|
|
5406
5447
|
.context-pin-bar-ask:hover {
|
|
5407
|
-
background: var(--c-
|
|
5408
|
-
border-color: var(--c-
|
|
5448
|
+
background: color-mix(in srgb, var(--c-pin) 85%, var(--c-text));
|
|
5449
|
+
border-color: color-mix(in srgb, var(--c-pin) 85%, var(--c-text));
|
|
5409
5450
|
}
|
|
5410
5451
|
|
|
5411
5452
|
.context-pin-bar-clear {
|
|
@@ -5447,7 +5488,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5447
5488
|
overflow: hidden;
|
|
5448
5489
|
}
|
|
5449
5490
|
.expanded-overlay-panel.is-pinned {
|
|
5450
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5491
|
+
border-color: color-mix(in srgb, var(--c-pin) 45%, var(--c-line));
|
|
5451
5492
|
}
|
|
5452
5493
|
.expanded-header {
|
|
5453
5494
|
display: flex;
|
|
@@ -5490,7 +5531,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5490
5531
|
cursor: pointer;
|
|
5491
5532
|
}
|
|
5492
5533
|
.expanded-pin.is-on {
|
|
5493
|
-
color: var(--c-
|
|
5534
|
+
color: var(--c-pin);
|
|
5494
5535
|
}
|
|
5495
5536
|
.expanded-spacer {
|
|
5496
5537
|
flex: 1;
|
|
@@ -5524,12 +5565,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5524
5565
|
padding: 8px 16px;
|
|
5525
5566
|
border-top: 1px solid var(--c-line);
|
|
5526
5567
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
5527
|
-
font: 9.5px var(--
|
|
5568
|
+
font: 9.5px var(--font-code);
|
|
5528
5569
|
color: var(--c-dim);
|
|
5529
5570
|
flex-shrink: 0;
|
|
5530
5571
|
}
|
|
5531
5572
|
.expanded-footer-hint.is-saving {
|
|
5532
|
-
color: var(--c-
|
|
5573
|
+
color: var(--c-muted);
|
|
5533
5574
|
}
|
|
5534
5575
|
.expanded-actions {
|
|
5535
5576
|
display: flex;
|
|
@@ -5546,7 +5587,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5546
5587
|
border-radius: var(--radius-sm);
|
|
5547
5588
|
color: var(--c-text-soft);
|
|
5548
5589
|
cursor: pointer;
|
|
5549
|
-
font-family: var(--font);
|
|
5590
|
+
font-family: var(--font-ui);
|
|
5550
5591
|
}
|
|
5551
5592
|
|
|
5552
5593
|
.expanded-action-btn:hover {
|
|
@@ -5556,25 +5597,25 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5556
5597
|
}
|
|
5557
5598
|
|
|
5558
5599
|
.expanded-action-btn.expanded-action-primary {
|
|
5559
|
-
background: var(--c-accent
|
|
5560
|
-
border-color: var(--c-accent
|
|
5600
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
5601
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
5561
5602
|
color: var(--c-accent);
|
|
5562
5603
|
}
|
|
5563
5604
|
|
|
5564
5605
|
.expanded-action-btn.expanded-action-primary:hover {
|
|
5565
|
-
background: var(--c-accent
|
|
5606
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
5566
5607
|
border-color: var(--c-accent);
|
|
5567
5608
|
color: var(--c-text);
|
|
5568
5609
|
}
|
|
5569
5610
|
|
|
5570
5611
|
.expanded-action-btn.expanded-action-active {
|
|
5571
|
-
background: var(--c-warn
|
|
5572
|
-
border-color: var(--c-warn
|
|
5612
|
+
background: color-mix(in srgb, var(--c-warn) 12%, transparent);
|
|
5613
|
+
border-color: color-mix(in srgb, var(--c-warn) 30%, transparent);
|
|
5573
5614
|
color: var(--c-warn);
|
|
5574
5615
|
}
|
|
5575
5616
|
|
|
5576
5617
|
.expanded-action-btn.expanded-action-active:hover {
|
|
5577
|
-
background: var(--c-warn
|
|
5618
|
+
background: color-mix(in srgb, var(--c-warn) 20%, transparent);
|
|
5578
5619
|
border-color: var(--c-warn);
|
|
5579
5620
|
}
|
|
5580
5621
|
|
|
@@ -5591,7 +5632,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5591
5632
|
display: flex;
|
|
5592
5633
|
padding: 0;
|
|
5593
5634
|
background:
|
|
5594
|
-
radial-gradient(circle at top left, var(--c-accent
|
|
5635
|
+
radial-gradient(circle at top left, color-mix(in srgb, var(--c-accent) 25%, transparent), transparent 36rem),
|
|
5595
5636
|
rgba(3, 7, 18, 0.96);
|
|
5596
5637
|
color: var(--c-text);
|
|
5597
5638
|
}
|
|
@@ -5608,7 +5649,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5608
5649
|
box-shadow: 0 18px 50px var(--c-shadow-heavy);
|
|
5609
5650
|
color: var(--c-text-soft);
|
|
5610
5651
|
cursor: pointer;
|
|
5611
|
-
font: 600 12px/1 var(--font);
|
|
5652
|
+
font: 600 12px/1 var(--font-ui);
|
|
5612
5653
|
opacity: 0;
|
|
5613
5654
|
pointer-events: none;
|
|
5614
5655
|
transform: translateY(-6px);
|
|
@@ -5643,24 +5684,119 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5643
5684
|
border-radius: 0 !important;
|
|
5644
5685
|
}
|
|
5645
5686
|
|
|
5646
|
-
/* ── Context pin
|
|
5647
|
-
|
|
5687
|
+
/* ── Context pin on the node header (docs/design/Chrome.dc.html) ──
|
|
5688
|
+
Always visible: an outline pin in a circle when the node is not in
|
|
5689
|
+
context, the filled pin-blue badge when it is. */
|
|
5690
|
+
.canvas-node .node-controls .ctx-pin-btn:hover {
|
|
5691
|
+
background: none;
|
|
5692
|
+
}
|
|
5693
|
+
|
|
5694
|
+
/* ── What agents did with this node (docs/design/AgentContext.dc.html) ──
|
|
5695
|
+
One chip after the title: glyph + word, hover explains. Violet = the agent
|
|
5696
|
+
did it, muted = not yet, amber = needs a look. */
|
|
5697
|
+
.node-context-mark {
|
|
5698
|
+
display: inline-flex;
|
|
5699
|
+
align-items: center;
|
|
5700
|
+
gap: calc(4px * var(--node-chrome-scale, 1));
|
|
5701
|
+
height: calc(20px * var(--node-chrome-scale, 1));
|
|
5702
|
+
padding: 0 calc(7px * var(--node-chrome-scale, 1));
|
|
5703
|
+
border-radius: var(--r-pill);
|
|
5704
|
+
font-size: calc(var(--fs-meta) * var(--node-chrome-scale, 1));
|
|
5705
|
+
font-weight: 500;
|
|
5706
|
+
white-space: nowrap;
|
|
5707
|
+
flex-shrink: 0;
|
|
5708
|
+
}
|
|
5709
|
+
.node-context-mark svg {
|
|
5710
|
+
width: calc(12px * var(--node-chrome-scale, 1));
|
|
5711
|
+
height: calc(12px * var(--node-chrome-scale, 1));
|
|
5712
|
+
fill: none;
|
|
5713
|
+
stroke: currentColor;
|
|
5714
|
+
stroke-width: 2;
|
|
5715
|
+
stroke-linecap: round;
|
|
5716
|
+
stroke-linejoin: round;
|
|
5717
|
+
}
|
|
5718
|
+
.node-context-mark.is-agent {
|
|
5719
|
+
color: var(--c-agent);
|
|
5720
|
+
background: color-mix(in srgb, var(--c-agent) 16%, transparent);
|
|
5721
|
+
}
|
|
5722
|
+
.node-context-mark.is-muted {
|
|
5648
5723
|
color: var(--c-muted);
|
|
5649
|
-
|
|
5650
|
-
|
|
5724
|
+
background: var(--c-panel-soft);
|
|
5725
|
+
}
|
|
5726
|
+
.node-context-mark.is-warn {
|
|
5727
|
+
color: var(--c-warn);
|
|
5728
|
+
background: color-mix(in srgb, var(--c-warn) 14%, transparent);
|
|
5651
5729
|
}
|
|
5652
5730
|
|
|
5653
|
-
.
|
|
5654
|
-
|
|
5731
|
+
/* Near a pin (docs/design/NearPin.dc.html): dotted, weaker than in context. */
|
|
5732
|
+
.node-near-mark {
|
|
5733
|
+
display: inline-flex;
|
|
5734
|
+
align-items: center;
|
|
5735
|
+
gap: calc(4px * var(--node-chrome-scale, 1));
|
|
5736
|
+
height: calc(18px * var(--node-chrome-scale, 1));
|
|
5737
|
+
padding: 0 calc(7px * var(--node-chrome-scale, 1));
|
|
5738
|
+
border: 1px dotted var(--c-pin);
|
|
5739
|
+
border-radius: var(--r-pill);
|
|
5740
|
+
color: color-mix(in srgb, var(--c-pin) 75%, var(--c-text));
|
|
5741
|
+
font-size: calc(var(--fs-meta) * var(--node-chrome-scale, 1));
|
|
5742
|
+
font-weight: 500;
|
|
5743
|
+
white-space: nowrap;
|
|
5744
|
+
flex-shrink: 0;
|
|
5745
|
+
}
|
|
5746
|
+
.node-near-mark svg {
|
|
5747
|
+
width: calc(12px * var(--node-chrome-scale, 1));
|
|
5748
|
+
height: calc(12px * var(--node-chrome-scale, 1));
|
|
5749
|
+
}
|
|
5750
|
+
.node-near-ring {
|
|
5751
|
+
fill: none;
|
|
5752
|
+
stroke: currentColor;
|
|
5753
|
+
stroke-width: 2;
|
|
5754
|
+
stroke-dasharray: 2.2 2.6;
|
|
5755
|
+
}
|
|
5756
|
+
.node-near-dot {
|
|
5757
|
+
fill: currentColor;
|
|
5655
5758
|
}
|
|
5656
5759
|
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5760
|
+
/* Pinned by an agent: a violet dot on the pin badge. */
|
|
5761
|
+
.ctx-pin-mark {
|
|
5762
|
+
position: relative;
|
|
5763
|
+
}
|
|
5764
|
+
.ctx-pin-agent-dot {
|
|
5765
|
+
position: absolute;
|
|
5766
|
+
right: -3px;
|
|
5767
|
+
bottom: -3px;
|
|
5768
|
+
width: 9px;
|
|
5769
|
+
height: 9px;
|
|
5770
|
+
box-sizing: border-box;
|
|
5771
|
+
border-radius: var(--r-pill);
|
|
5772
|
+
background: var(--c-agent);
|
|
5773
|
+
border: 2px solid var(--c-panel);
|
|
5660
5774
|
}
|
|
5661
5775
|
|
|
5662
|
-
|
|
5663
|
-
|
|
5776
|
+
/* The drawn 18 px circle sits inside the standard control hit target. */
|
|
5777
|
+
.ctx-pin-mark {
|
|
5778
|
+
width: calc(18px * var(--node-chrome-scale, 1));
|
|
5779
|
+
height: calc(18px * var(--node-chrome-scale, 1));
|
|
5780
|
+
box-sizing: border-box;
|
|
5781
|
+
border: 1.5px solid var(--c-muted);
|
|
5782
|
+
border-radius: var(--r-pill);
|
|
5783
|
+
display: flex;
|
|
5784
|
+
align-items: center;
|
|
5785
|
+
justify-content: center;
|
|
5786
|
+
font-size: calc(13px * var(--node-chrome-scale, 1));
|
|
5787
|
+
color: var(--c-text-soft);
|
|
5788
|
+
}
|
|
5789
|
+
|
|
5790
|
+
.ctx-pin-btn:hover .ctx-pin-mark {
|
|
5791
|
+
border-color: var(--c-pin);
|
|
5792
|
+
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
5793
|
+
color: var(--c-pin);
|
|
5794
|
+
}
|
|
5795
|
+
|
|
5796
|
+
.ctx-pin-btn.ctx-pin-active .ctx-pin-mark {
|
|
5797
|
+
border-color: var(--c-pin);
|
|
5798
|
+
background: var(--c-pin);
|
|
5799
|
+
color: var(--c-on-pin);
|
|
5664
5800
|
}
|
|
5665
5801
|
|
|
5666
5802
|
/* ── Context pin HUD — top-right pill ────────────────────────── */
|
|
@@ -5671,7 +5807,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5671
5807
|
padding: 5px 10px;
|
|
5672
5808
|
background: var(--c-panel-glass);
|
|
5673
5809
|
backdrop-filter: blur(12px);
|
|
5674
|
-
border: 1px solid var(--c-
|
|
5810
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5675
5811
|
border-radius: var(--radius);
|
|
5676
5812
|
white-space: nowrap;
|
|
5677
5813
|
}
|
|
@@ -5679,7 +5815,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5679
5815
|
.context-pin-hud-label {
|
|
5680
5816
|
font-size: 11px;
|
|
5681
5817
|
font-weight: 600;
|
|
5682
|
-
color: var(--c-
|
|
5818
|
+
color: var(--c-pin);
|
|
5683
5819
|
}
|
|
5684
5820
|
|
|
5685
5821
|
.context-pin-hud-clear {
|
|
@@ -5703,7 +5839,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5703
5839
|
|
|
5704
5840
|
.thread-turn-assistant {
|
|
5705
5841
|
padding: 6px 0;
|
|
5706
|
-
border-left: 2px solid var(--c-ok
|
|
5842
|
+
border-left: 2px solid color-mix(in srgb, var(--c-ok) 20%, transparent);
|
|
5707
5843
|
padding-left: 10px;
|
|
5708
5844
|
margin-left: 2px;
|
|
5709
5845
|
overflow: hidden;
|
|
@@ -5865,7 +6001,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5865
6001
|
border-radius: 7px;
|
|
5866
6002
|
background: var(--c-panel);
|
|
5867
6003
|
color: var(--c-text);
|
|
5868
|
-
font: 11.5px var(--font);
|
|
6004
|
+
font: 11.5px var(--font-ui);
|
|
5869
6005
|
}
|
|
5870
6006
|
.snapshot-name-input:focus {
|
|
5871
6007
|
outline: 2px solid var(--c-accent);
|
|
@@ -5923,8 +6059,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5923
6059
|
border-radius: 10px;
|
|
5924
6060
|
}
|
|
5925
6061
|
.snapshot-item.is-session {
|
|
5926
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5927
|
-
background: color-mix(in srgb, var(--c-
|
|
6062
|
+
border-color: color-mix(in srgb, var(--c-agent) 30%, transparent);
|
|
6063
|
+
background: color-mix(in srgb, var(--c-agent) 5%, transparent);
|
|
5928
6064
|
}
|
|
5929
6065
|
.snapshot-item-head {
|
|
5930
6066
|
display: flex;
|
|
@@ -5935,7 +6071,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5935
6071
|
width: 7px;
|
|
5936
6072
|
height: 7px;
|
|
5937
6073
|
border-radius: 50%;
|
|
5938
|
-
background: var(--c-
|
|
6074
|
+
background: var(--c-agent);
|
|
5939
6075
|
flex-shrink: 0;
|
|
5940
6076
|
}
|
|
5941
6077
|
.snapshot-item-glyph {
|
|
@@ -5957,7 +6093,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5957
6093
|
color: var(--c-text);
|
|
5958
6094
|
}
|
|
5959
6095
|
.snapshot-item-time {
|
|
5960
|
-
font: 9px var(--
|
|
6096
|
+
font: 9px var(--font-code);
|
|
5961
6097
|
color: var(--c-dim);
|
|
5962
6098
|
}
|
|
5963
6099
|
.snapshot-item-meta {
|
|
@@ -6072,7 +6208,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6072
6208
|
outline: none;
|
|
6073
6209
|
background: none;
|
|
6074
6210
|
color: var(--c-text);
|
|
6075
|
-
font: 13px var(--font);
|
|
6211
|
+
font: 13px var(--font-ui);
|
|
6076
6212
|
}
|
|
6077
6213
|
.command-palette-input::placeholder {
|
|
6078
6214
|
color: var(--c-dim);
|
|
@@ -6082,7 +6218,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6082
6218
|
padding: 1px 6px;
|
|
6083
6219
|
border: 1px solid var(--c-line);
|
|
6084
6220
|
border-radius: 4px;
|
|
6085
|
-
font: 9.5px var(--
|
|
6221
|
+
font: 9.5px var(--font-code);
|
|
6086
6222
|
color: var(--c-muted);
|
|
6087
6223
|
}
|
|
6088
6224
|
.command-palette-esc {
|
|
@@ -6140,7 +6276,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6140
6276
|
color: var(--c-accent);
|
|
6141
6277
|
}
|
|
6142
6278
|
.command-palette-icon.tone-purple {
|
|
6143
|
-
color: var(--c-
|
|
6279
|
+
color: var(--c-agent);
|
|
6144
6280
|
}
|
|
6145
6281
|
.command-palette-icon.tone-muted {
|
|
6146
6282
|
color: var(--c-muted);
|
|
@@ -6168,7 +6304,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6168
6304
|
padding: 8px 14px;
|
|
6169
6305
|
border-top: 1px solid var(--c-line);
|
|
6170
6306
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
6171
|
-
font: 9.5px var(--
|
|
6307
|
+
font: 9.5px var(--font-code);
|
|
6172
6308
|
color: var(--c-dim);
|
|
6173
6309
|
}
|
|
6174
6310
|
.command-palette-hint-spacer {
|
|
@@ -6225,7 +6361,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6225
6361
|
border: 1px solid var(--c-line);
|
|
6226
6362
|
border-radius: 3px;
|
|
6227
6363
|
padding: 0 4px;
|
|
6228
|
-
font-family: var(--font);
|
|
6364
|
+
font-family: var(--font-ui);
|
|
6229
6365
|
font-size: 9px;
|
|
6230
6366
|
line-height: 1.6;
|
|
6231
6367
|
margin: 0 2px;
|
|
@@ -6266,7 +6402,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6266
6402
|
border: 1px solid var(--c-line);
|
|
6267
6403
|
border-radius: 4px;
|
|
6268
6404
|
padding: 2px 7px;
|
|
6269
|
-
font-family: var(--
|
|
6405
|
+
font-family: var(--font-code);
|
|
6270
6406
|
font-size: 11px;
|
|
6271
6407
|
color: var(--c-text);
|
|
6272
6408
|
white-space: nowrap;
|
|
@@ -6348,7 +6484,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6348
6484
|
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
6349
6485
|
}
|
|
6350
6486
|
.empty-state-action.is-agent:hover {
|
|
6351
|
-
border-color: color-mix(in srgb, var(--c-
|
|
6487
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
6352
6488
|
}
|
|
6353
6489
|
.empty-state-action .tone-accent {
|
|
6354
6490
|
color: var(--c-accent);
|
|
@@ -6360,7 +6496,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6360
6496
|
color: var(--c-ok);
|
|
6361
6497
|
}
|
|
6362
6498
|
.empty-state-action .tone-purple {
|
|
6363
|
-
color: var(--c-
|
|
6499
|
+
color: var(--c-agent);
|
|
6364
6500
|
}
|
|
6365
6501
|
.empty-state-action-label {
|
|
6366
6502
|
flex: 1;
|
|
@@ -6371,7 +6507,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6371
6507
|
padding: 1px 6px;
|
|
6372
6508
|
border: 1px solid var(--c-line);
|
|
6373
6509
|
border-radius: 4px;
|
|
6374
|
-
font: 9.5px var(--
|
|
6510
|
+
font: 9.5px var(--font-code);
|
|
6375
6511
|
color: var(--c-dim);
|
|
6376
6512
|
}
|
|
6377
6513
|
.empty-state-action-hint {
|
|
@@ -6382,7 +6518,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6382
6518
|
background: none;
|
|
6383
6519
|
border: none;
|
|
6384
6520
|
padding: 0;
|
|
6385
|
-
font: 10.5px var(--
|
|
6521
|
+
font: 10.5px var(--font-code);
|
|
6386
6522
|
color: var(--c-dim);
|
|
6387
6523
|
cursor: pointer;
|
|
6388
6524
|
}
|
|
@@ -6414,8 +6550,6 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6414
6550
|
animation: none !important;
|
|
6415
6551
|
}
|
|
6416
6552
|
|
|
6417
|
-
.attention-field-region,
|
|
6418
|
-
.attention-field-node,
|
|
6419
6553
|
.canvas-node {
|
|
6420
6554
|
transition: none !important;
|
|
6421
6555
|
}
|
|
@@ -6516,7 +6650,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6516
6650
|
}
|
|
6517
6651
|
|
|
6518
6652
|
.image-node-error-path {
|
|
6519
|
-
font-family: var(--
|
|
6653
|
+
font-family: var(--font-code);
|
|
6520
6654
|
font-size: 10px;
|
|
6521
6655
|
color: var(--c-muted);
|
|
6522
6656
|
word-break: break-all;
|
|
@@ -6625,8 +6759,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6625
6759
|
.intent-ghost-box {
|
|
6626
6760
|
border: 1.5px dashed var(--c-accent);
|
|
6627
6761
|
border-radius: 10px;
|
|
6628
|
-
background: var(--c-accent
|
|
6629
|
-
box-shadow: 0 0 0 1px var(--c-accent
|
|
6762
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6763
|
+
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);
|
|
6630
6764
|
animation: intent-breathe 2.1s ease-in-out infinite;
|
|
6631
6765
|
overflow: visible;
|
|
6632
6766
|
}
|
|
@@ -6655,8 +6789,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6655
6789
|
}
|
|
6656
6790
|
|
|
6657
6791
|
@keyframes intent-breathe {
|
|
6658
|
-
0%, 100% { box-shadow: 0 0 0 1px var(--c-accent
|
|
6659
|
-
50% { box-shadow: 0 0 0 1px var(--c-accent
|
|
6792
|
+
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); }
|
|
6793
|
+
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); }
|
|
6660
6794
|
}
|
|
6661
6795
|
|
|
6662
6796
|
/* remove — a red crosshatch tombstone over the target */
|
|
@@ -6677,7 +6811,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6677
6811
|
.intent-ghost-edit {
|
|
6678
6812
|
border: 1.5px dashed var(--c-accent);
|
|
6679
6813
|
border-radius: 10px;
|
|
6680
|
-
background: var(--c-accent
|
|
6814
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6681
6815
|
overflow: visible;
|
|
6682
6816
|
}
|
|
6683
6817
|
|
|
@@ -6725,7 +6859,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6725
6859
|
border-radius: 999px;
|
|
6726
6860
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
6727
6861
|
backdrop-filter: blur(10px);
|
|
6728
|
-
border: 1px solid var(--c-accent
|
|
6862
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
6729
6863
|
box-shadow: 0 4px 14px var(--c-shadow);
|
|
6730
6864
|
color: var(--c-text);
|
|
6731
6865
|
font-size: 12px;
|
|
@@ -6815,7 +6949,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6815
6949
|
}
|
|
6816
6950
|
|
|
6817
6951
|
.intent-edge.type-flow { stroke: var(--c-accent); }
|
|
6818
|
-
.intent-edge.type-depends-on { stroke: var(--c-
|
|
6952
|
+
.intent-edge.type-depends-on { stroke: var(--c-rel-informs); }
|
|
6819
6953
|
.intent-edge.type-relation { stroke: var(--c-muted); }
|
|
6820
6954
|
.intent-edge.type-references { stroke: var(--c-dim); }
|
|
6821
6955
|
|
|
@@ -6954,8 +7088,8 @@ html.is-node-dragging .intent-line-layer {
|
|
|
6954
7088
|
.board-switcher-menu .toolbar-menu-item { padding: 10px; gap: 12px; }
|
|
6955
7089
|
.board-switcher-menu .toolbar-menu-item:hover,
|
|
6956
7090
|
.board-switcher-menu .toolbar-menu-item:focus-visible {
|
|
6957
|
-
background: var(--c-accent
|
|
6958
|
-
border-color: var(--c-accent
|
|
7091
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
7092
|
+
border-color: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
6959
7093
|
outline: none;
|
|
6960
7094
|
}
|
|
6961
7095
|
.board-switcher-icon { display: flex; align-items: center; justify-content: center; width: 20px; flex-shrink: 0; color: var(--c-accent); font-size: 22px; }
|
|
@@ -7067,7 +7201,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7067
7201
|
white-space: nowrap;
|
|
7068
7202
|
}
|
|
7069
7203
|
.home-board-meta {
|
|
7070
|
-
font: 11px var(--
|
|
7204
|
+
font: 11px var(--font-code);
|
|
7071
7205
|
color: var(--c-text-soft);
|
|
7072
7206
|
}
|
|
7073
7207
|
.home-board-confirm-text {
|
|
@@ -7200,7 +7334,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7200
7334
|
}
|
|
7201
7335
|
.home-section-folder { color: var(--c-dim); }
|
|
7202
7336
|
.home-section-count {
|
|
7203
|
-
font: 11px var(--
|
|
7337
|
+
font: 11px var(--font-code);
|
|
7204
7338
|
text-transform: none;
|
|
7205
7339
|
color: var(--c-dim);
|
|
7206
7340
|
margin-left: auto;
|
|
@@ -7265,7 +7399,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7265
7399
|
.board-copy-card span { display: flex; flex-direction: column; min-width: 0; }
|
|
7266
7400
|
.board-copy-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
|
|
7267
7401
|
.board-copy-card small,
|
|
7268
|
-
.board-link-results small { color: var(--c-text-soft); font: 11px var(--
|
|
7402
|
+
.board-link-results small { color: var(--c-text-soft); font: 11px var(--font-code); }
|
|
7269
7403
|
.board-copy-options { font-size: 13px; }
|
|
7270
7404
|
.board-copy-options label { display: flex; gap: 8px; align-items: center; }
|
|
7271
7405
|
.board-copy-note,
|
|
@@ -7349,7 +7483,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7349
7483
|
background: var(--c-panel);
|
|
7350
7484
|
z-index: 1;
|
|
7351
7485
|
}
|
|
7352
|
-
.attachment-review pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.6 var(--
|
|
7486
|
+
.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; }
|
|
7353
7487
|
.attachment-review h4 { margin-bottom: 6px; }
|
|
7354
7488
|
.md-import-source { padding: 6px 12px; font-size: 11px; overflow-wrap: anywhere; color: var(--c-text-soft); border-top: 1px solid var(--c-line); }
|
|
7355
7489
|
@media (max-width: 640px) {
|