pmx-canvas 0.7.3 → 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 +47 -0
- package/Readme.md +21 -7
- package/dist/canvas/fonts/OFL.txt +93 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-ext-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-mono-latin-ext-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-600-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-500-normal.woff2 +0 -0
- package/dist/canvas/fonts/ibm-plex-sans-latin-ext-600-normal.woff2 +0 -0
- package/dist/canvas/global.css +723 -672
- package/dist/canvas/index.js +90 -88
- 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/types/cli/commands/record.d.ts +1 -1
- package/dist/types/client/canvas/NodeContextMark.d.ts +24 -0
- package/dist/types/client/canvas/SessionReceipt.d.ts +3 -1
- package/dist/types/client/icons.d.ts +1 -2
- package/dist/types/client/mcp-app/index.d.ts +1 -0
- package/dist/types/client/nodes/ax-node-actions.d.ts +2 -2
- package/dist/types/client/nodes/markdown-sanitize.d.ts +2 -0
- package/dist/types/client/nodes/use-workbench-asset.d.ts +2 -0
- package/dist/types/client/state/attention-store.d.ts +0 -5
- package/dist/types/client/state/context-status-store.d.ts +53 -0
- package/dist/types/client/state/intent-bridge.d.ts +3 -0
- package/dist/types/client/state/near-pin-store.d.ts +16 -0
- package/dist/types/client/state/presence-store.d.ts +5 -0
- package/dist/types/client/state/session-store.d.ts +33 -3
- package/dist/types/client/state/workbench-transport.d.ts +16 -0
- package/dist/types/client/theme/tokens.d.ts +1 -3
- package/dist/types/client/types.d.ts +9 -0
- package/dist/types/json-render/server.d.ts +1 -1
- package/dist/types/mcp/app-server.d.ts +3 -0
- package/dist/types/mcp/canvas-access.d.ts +1 -1
- package/dist/types/mcp/canvas-app.d.ts +4 -0
- package/dist/types/mcp/workbench-app.d.ts +4 -0
- package/dist/types/server/agent-presence.d.ts +1 -1
- package/dist/types/server/ax-state.d.ts +1 -1
- package/dist/types/server/canvas-db.d.ts +8 -0
- package/dist/types/server/canvas-geometry.d.ts +25 -0
- package/dist/types/server/canvas-operations.d.ts +1 -11
- package/dist/types/server/canvas-state.d.ts +25 -3
- package/dist/types/server/context-brief.d.ts +8 -1
- package/dist/types/server/context-reads.d.ts +30 -7
- package/dist/types/server/index.d.ts +6 -1
- package/dist/types/server/mcp-app-runtime.d.ts +1 -0
- package/dist/types/server/operations/http.d.ts +2 -0
- package/dist/types/server/operations/invoker.d.ts +4 -2
- package/dist/types/server/operations/ops/nodes.d.ts +0 -6
- package/dist/types/server/server.d.ts +1 -0
- package/dist/types/server/spatial-analysis.d.ts +2 -0
- package/dist/types/shared/agent-context.d.ts +22 -0
- package/dist/types/shared/agent-presence.d.ts +3 -10
- package/dist/types/shared/canvas-app.d.ts +54 -0
- package/dist/types/shared/themes.d.ts +1 -1
- package/docs/RELEASE.md +7 -3
- package/docs/agent-plugin.md +123 -0
- package/docs/ax-state-contract.md +40 -0
- package/docs/cli.md +7 -2
- package/docs/design/AgentContext.dc.html +186 -0
- package/docs/design/Before.dc.html +208 -0
- package/docs/design/BoardPins.dc.html +151 -0
- package/docs/design/Chrome.dc.html +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 +10 -7
- package/skills/pmx-canvas/references/full-reference.md +11 -7
- package/skills/pmx-canvas/references/github-copilot-app-adapter.md +20 -8
- package/skills/pmx-canvas/references/installing-pmx-canvas.md +6 -6
- package/skills/pmx-canvas-testing/SKILL.md +5 -4
- package/src/cli/commands/copilot.ts +5 -0
- package/src/cli/commands/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 +32 -49
- package/src/client/canvas/CanvasViewport.tsx +0 -2
- package/src/client/canvas/CommandPalette.tsx +3 -2
- package/src/client/canvas/ContextMenu.tsx +11 -0
- package/src/client/canvas/EdgeLayer.tsx +1 -1
- package/src/client/canvas/ExportDialog.tsx +33 -6
- package/src/client/canvas/IntentLayer.tsx +2 -2
- package/src/client/canvas/Minimap.tsx +12 -7
- package/src/client/canvas/NodeContextMark.tsx +156 -0
- package/src/client/canvas/SessionPanel.tsx +4 -7
- package/src/client/canvas/SessionReceipt.tsx +114 -17
- package/src/client/canvas/ShortcutOverlay.tsx +6 -1
- package/src/client/canvas/SnapshotPanel.tsx +11 -2
- package/src/client/canvas/ToolRail.tsx +12 -9
- package/src/client/canvas/TopBar.tsx +16 -11
- package/src/client/icons.tsx +2 -12
- package/src/client/mcp-app/index.tsx +137 -0
- package/src/client/mcp-app/style.css +10 -0
- package/src/client/nodes/AttachmentNode.tsx +8 -1
- package/src/client/nodes/AxStepControls.tsx +1 -1
- package/src/client/nodes/ContextNode.tsx +9 -9
- package/src/client/nodes/ExtAppFrame.tsx +13 -8
- package/src/client/nodes/FileNode.tsx +8 -5
- package/src/client/nodes/ImageNode.tsx +4 -2
- package/src/client/nodes/InlineMarkdownEditor.tsx +2 -1
- package/src/client/nodes/LedgerNode.tsx +2 -2
- package/src/client/nodes/MarkdownNode.tsx +44 -9
- package/src/client/nodes/McpAppNode.tsx +6 -4
- package/src/client/nodes/PromptNode.tsx +5 -17
- package/src/client/nodes/ResponseNode.tsx +3 -15
- package/src/client/nodes/StatusNode.tsx +2 -2
- package/src/client/nodes/StatusSummary.tsx +3 -1
- package/src/client/nodes/TraceNode.tsx +6 -4
- package/src/client/nodes/WebpageNode.tsx +1 -1
- package/src/client/nodes/ax-node-actions.ts +2 -2
- package/src/client/nodes/iframe-document-url.ts +3 -2
- package/src/client/nodes/markdown-sanitize.ts +10 -0
- package/src/client/nodes/surface-url.ts +10 -0
- package/src/client/nodes/use-surface-frame.ts +3 -1
- package/src/client/nodes/use-workbench-asset.ts +26 -0
- package/src/client/state/attention-bridge.ts +0 -8
- package/src/client/state/attention-store.ts +0 -17
- package/src/client/state/canvas-store.ts +4 -2
- package/src/client/state/context-status-store.ts +66 -0
- package/src/client/state/human-store.ts +2 -0
- package/src/client/state/iframe-mode.ts +5 -0
- package/src/client/state/intent-bridge.ts +10 -4
- package/src/client/state/near-pin-store.ts +53 -0
- package/src/client/state/presence-store.ts +5 -10
- package/src/client/state/session-store.ts +106 -9
- package/src/client/state/sse-bridge.ts +26 -7
- package/src/client/state/theme-override.ts +1 -1
- package/src/client/state/workbench-transport.ts +36 -0
- package/src/client/theme/global.css +723 -672
- 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/server.ts +71 -14
- package/src/mcp/app-server.ts +64 -0
- package/src/mcp/canvas-access.ts +14 -11
- package/src/mcp/canvas-app.ts +318 -0
- package/src/mcp/server.ts +1 -1
- package/src/mcp/workbench-app.ts +211 -0
- package/src/server/agent-presence.ts +45 -6
- package/src/server/ax-context.ts +1 -1
- package/src/server/ax-state.ts +1 -1
- package/src/server/board-export.ts +5 -2
- package/src/server/canvas-db.ts +46 -12
- package/src/server/canvas-geometry.ts +64 -0
- package/src/server/canvas-operations.ts +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 +83 -5
- package/src/server/spatial-analysis.ts +2 -2
- package/src/server/workboard.ts +6 -1
- package/src/{server → shared}/agent-context.ts +2 -2
- package/src/shared/agent-presence.ts +3 -15
- package/src/shared/canvas-app.ts +62 -0
- package/src/shared/themes.ts +5 -5
- package/src/client/canvas/FocusFieldLayer.tsx +0 -116
- package/src/client/canvas/kind-colors.ts +0 -23
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,12 +561,13 @@ body,
|
|
|
564
561
|
/* Node card shared styles */
|
|
565
562
|
.canvas-node {
|
|
566
563
|
position: absolute;
|
|
567
|
-
/* Standard card shell (
|
|
568
|
-
|
|
564
|
+
/* Standard card shell (docs/design/Context.dc.html): node surface, node
|
|
565
|
+
radius, first elevation. Every node kind shares it; the kind shows in
|
|
566
|
+
the icon color. */
|
|
569
567
|
background: var(--c-panel);
|
|
570
568
|
border: 1px solid var(--c-line);
|
|
571
|
-
border-radius:
|
|
572
|
-
box-shadow:
|
|
569
|
+
border-radius: var(--r-node);
|
|
570
|
+
box-shadow: var(--e-1);
|
|
573
571
|
display: flex;
|
|
574
572
|
flex-direction: column;
|
|
575
573
|
overflow: visible;
|
|
@@ -597,24 +595,24 @@ body,
|
|
|
597
595
|
|
|
598
596
|
.canvas-node.active {
|
|
599
597
|
border-color: var(--c-accent);
|
|
600
|
-
box-shadow: 0 0 0 1px var(--c-accent), 0 6px 32px var(--c-
|
|
598
|
+
box-shadow: 0 0 0 1px var(--c-accent), 0 6px 32px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
601
599
|
}
|
|
602
600
|
|
|
603
601
|
.canvas-node.neighbor {
|
|
604
|
-
border-color: var(--c-accent
|
|
605
|
-
box-shadow: 0 0 0 1px var(--c-accent
|
|
602
|
+
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
603
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 4px 20px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
606
604
|
transition: border-color 0.2s, box-shadow 0.2s;
|
|
607
605
|
}
|
|
608
606
|
|
|
609
607
|
/* Spatial search highlighting — canvas lights up as you type in Cmd+K */
|
|
610
608
|
.canvas-node.search-match {
|
|
611
609
|
border-color: var(--c-accent);
|
|
612
|
-
box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px var(--c-accent
|
|
610
|
+
box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 0 40px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
613
611
|
animation: search-pulse 1.5s ease-in-out infinite;
|
|
614
612
|
}
|
|
615
613
|
@keyframes search-pulse {
|
|
616
|
-
0%, 100% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px var(--c-accent
|
|
617
|
-
50% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 30px var(--c-accent
|
|
614
|
+
0%, 100% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 20px color-mix(in srgb, var(--c-accent) 30%, transparent), 0 0 40px color-mix(in srgb, var(--c-accent) 15%, transparent); }
|
|
615
|
+
50% { box-shadow: 0 0 0 2px var(--c-accent), 0 0 30px color-mix(in srgb, var(--c-accent) 40%, transparent), 0 0 60px color-mix(in srgb, var(--c-accent) 25%, transparent); }
|
|
618
616
|
}
|
|
619
617
|
.canvas-node.search-dimmed {
|
|
620
618
|
opacity: 0.25;
|
|
@@ -698,31 +696,15 @@ body,
|
|
|
698
696
|
justify-content: center;
|
|
699
697
|
width: calc(14px * var(--node-chrome-scale, 1));
|
|
700
698
|
height: calc(14px * var(--node-chrome-scale, 1));
|
|
701
|
-
color: var(--
|
|
699
|
+
color: var(--c-muted);
|
|
702
700
|
flex-shrink: 0;
|
|
703
701
|
}
|
|
704
702
|
|
|
705
|
-
/* Node kind accents (rail-chrome-v2): the icon carries the kind. */
|
|
706
|
-
.canvas-node[data-node-type='image'],
|
|
707
|
-
.canvas-node[data-node-type='mermaid'] {
|
|
708
|
-
--kind-accent: var(--c-warn);
|
|
709
|
-
}
|
|
710
|
-
.canvas-node[data-node-type='webpage'],
|
|
711
|
-
.canvas-node[data-node-type='status'],
|
|
712
|
-
.canvas-node[data-node-type='trace'] {
|
|
713
|
-
--kind-accent: var(--c-ok);
|
|
714
|
-
}
|
|
715
|
-
.canvas-node[data-node-type='context'],
|
|
716
|
-
.canvas-node[data-node-type='prompt'],
|
|
717
|
-
.canvas-node[data-node-type='response'] {
|
|
718
|
-
--kind-accent: var(--c-purple);
|
|
719
|
-
}
|
|
720
|
-
|
|
721
703
|
.canvas-node .node-type-badge {
|
|
722
704
|
font-size: calc(10px * var(--node-chrome-scale, 1));
|
|
723
705
|
padding: calc(1px * var(--node-chrome-scale, 1)) calc(6px * var(--node-chrome-scale, 1));
|
|
724
706
|
border-radius: calc(4px * var(--node-chrome-scale, 1));
|
|
725
|
-
background: var(--c-accent
|
|
707
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
726
708
|
color: var(--c-accent);
|
|
727
709
|
text-transform: uppercase;
|
|
728
710
|
letter-spacing: 0.04em;
|
|
@@ -792,6 +774,17 @@ body,
|
|
|
792
774
|
color: var(--c-text);
|
|
793
775
|
}
|
|
794
776
|
|
|
777
|
+
/* ⋯ and × appear on hover or keyboard focus; expand and the context pin
|
|
778
|
+
always show (docs/design/Chrome.dc.html). */
|
|
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
|
+
|
|
795
788
|
.canvas-node .node-body {
|
|
796
789
|
flex: 1;
|
|
797
790
|
overflow: auto;
|
|
@@ -892,7 +885,7 @@ body,
|
|
|
892
885
|
}
|
|
893
886
|
|
|
894
887
|
.canvas-node .node-body code {
|
|
895
|
-
font-family: var(--
|
|
888
|
+
font-family: var(--font-code);
|
|
896
889
|
font-size: 0.9em;
|
|
897
890
|
background: var(--c-surface-hover);
|
|
898
891
|
padding: 2px 5px;
|
|
@@ -992,12 +985,12 @@ body,
|
|
|
992
985
|
color: var(--c-text);
|
|
993
986
|
}
|
|
994
987
|
.rail-btn.active {
|
|
995
|
-
background: var(--c-accent
|
|
996
|
-
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);
|
|
997
990
|
color: var(--c-accent);
|
|
998
991
|
}
|
|
999
992
|
.rail-btn.active:hover {
|
|
1000
|
-
background:
|
|
993
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
1001
994
|
}
|
|
1002
995
|
|
|
1003
996
|
.rail-divider {
|
|
@@ -1061,7 +1054,7 @@ body,
|
|
|
1061
1054
|
}
|
|
1062
1055
|
|
|
1063
1056
|
.top-bar-meta {
|
|
1064
|
-
font: 11px var(--
|
|
1057
|
+
font: 11px var(--font-code);
|
|
1065
1058
|
color: var(--c-dim);
|
|
1066
1059
|
white-space: nowrap;
|
|
1067
1060
|
flex-shrink: 0;
|
|
@@ -1103,7 +1096,7 @@ body,
|
|
|
1103
1096
|
.top-bar-zoom-label {
|
|
1104
1097
|
min-width: 38px;
|
|
1105
1098
|
text-align: center;
|
|
1106
|
-
font: 11px var(--
|
|
1099
|
+
font: 11px var(--font-code);
|
|
1107
1100
|
color: var(--c-muted);
|
|
1108
1101
|
background: none;
|
|
1109
1102
|
border: 1px solid transparent;
|
|
@@ -1136,7 +1129,7 @@ body,
|
|
|
1136
1129
|
.agent-chip.phase-thinking,
|
|
1137
1130
|
.agent-cursor.phase-thinking,
|
|
1138
1131
|
.minimap-presence.phase-thinking {
|
|
1139
|
-
--presence-color: var(--c-
|
|
1132
|
+
--presence-color: var(--c-agent);
|
|
1140
1133
|
}
|
|
1141
1134
|
.agent-chip.phase-tooling,
|
|
1142
1135
|
.agent-cursor.phase-tooling,
|
|
@@ -1220,7 +1213,7 @@ body,
|
|
|
1220
1213
|
min-width: 0;
|
|
1221
1214
|
}
|
|
1222
1215
|
.agent-chip-who {
|
|
1223
|
-
font: 10px var(--
|
|
1216
|
+
font: 10px var(--font-code);
|
|
1224
1217
|
font-weight: 400;
|
|
1225
1218
|
color: var(--c-muted);
|
|
1226
1219
|
white-space: nowrap;
|
|
@@ -1358,22 +1351,15 @@ body,
|
|
|
1358
1351
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
1359
1352
|
}
|
|
1360
1353
|
.agent-cursor-who {
|
|
1361
|
-
font: 9.5px var(--
|
|
1354
|
+
font: 9.5px var(--font-code);
|
|
1362
1355
|
font-weight: 400;
|
|
1363
1356
|
color: var(--c-muted);
|
|
1364
1357
|
}
|
|
1365
1358
|
|
|
1366
|
-
/*
|
|
1367
|
-
.
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
100deg,
|
|
1371
|
-
transparent 20%,
|
|
1372
|
-
color-mix(in srgb, var(--c-accent) 13%, transparent) 50%,
|
|
1373
|
-
transparent 80%
|
|
1374
|
-
);
|
|
1375
|
-
background-size: 200% 100%;
|
|
1376
|
-
animation: presence-shimmer 1.6s linear infinite;
|
|
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);
|
|
1377
1363
|
}
|
|
1378
1364
|
|
|
1379
1365
|
@keyframes presence-pulse {
|
|
@@ -1385,14 +1371,6 @@ body,
|
|
|
1385
1371
|
opacity: 0.45;
|
|
1386
1372
|
}
|
|
1387
1373
|
}
|
|
1388
|
-
@keyframes presence-shimmer {
|
|
1389
|
-
from {
|
|
1390
|
-
background-position: 200% 0;
|
|
1391
|
-
}
|
|
1392
|
-
to {
|
|
1393
|
-
background-position: -200% 0;
|
|
1394
|
-
}
|
|
1395
|
-
}
|
|
1396
1374
|
|
|
1397
1375
|
/* Reduced motion: keep every static color state, drop the motion. */
|
|
1398
1376
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -1400,13 +1378,9 @@ body,
|
|
|
1400
1378
|
transition: none;
|
|
1401
1379
|
}
|
|
1402
1380
|
.agent-chip-dot,
|
|
1403
|
-
.agent-cursor-dot
|
|
1404
|
-
.canvas-node.agent-mutating {
|
|
1381
|
+
.agent-cursor-dot {
|
|
1405
1382
|
animation: none;
|
|
1406
1383
|
}
|
|
1407
|
-
.canvas-node.agent-mutating {
|
|
1408
|
-
background-image: none;
|
|
1409
|
-
}
|
|
1410
1384
|
}
|
|
1411
1385
|
|
|
1412
1386
|
/* ── Session panel (rail-chrome-v2 phase 4) ─────────────────────
|
|
@@ -1442,7 +1416,7 @@ body,
|
|
|
1442
1416
|
flex-direction: column;
|
|
1443
1417
|
align-items: center;
|
|
1444
1418
|
gap: 4px;
|
|
1445
|
-
font: 9px var(--
|
|
1419
|
+
font: 9px var(--font-code);
|
|
1446
1420
|
color: var(--c-dim);
|
|
1447
1421
|
}
|
|
1448
1422
|
.session-collapsed-live .session-live-dot {
|
|
@@ -1470,11 +1444,11 @@ body,
|
|
|
1470
1444
|
display: inline-flex;
|
|
1471
1445
|
align-items: center;
|
|
1472
1446
|
gap: 5px;
|
|
1473
|
-
font: 10px var(--
|
|
1447
|
+
font: 10px var(--font-code);
|
|
1474
1448
|
color: var(--c-muted);
|
|
1475
1449
|
}
|
|
1476
1450
|
.session-live.phase-thinking {
|
|
1477
|
-
--presence-color: var(--c-
|
|
1451
|
+
--presence-color: var(--c-agent);
|
|
1478
1452
|
}
|
|
1479
1453
|
.session-live.phase-tooling {
|
|
1480
1454
|
--presence-color: var(--c-accent);
|
|
@@ -1618,7 +1592,7 @@ body,
|
|
|
1618
1592
|
margin-top: 3px;
|
|
1619
1593
|
}
|
|
1620
1594
|
.session-item-time {
|
|
1621
|
-
font: 9px var(--
|
|
1595
|
+
font: 9px var(--font-code);
|
|
1622
1596
|
color: var(--c-dim);
|
|
1623
1597
|
flex-shrink: 0;
|
|
1624
1598
|
margin-top: 4px;
|
|
@@ -1629,7 +1603,7 @@ body,
|
|
|
1629
1603
|
}
|
|
1630
1604
|
.session-gate-ttl {
|
|
1631
1605
|
margin-top: 4px;
|
|
1632
|
-
font: 10px var(--
|
|
1606
|
+
font: 10px var(--font-code);
|
|
1633
1607
|
color: var(--c-warn);
|
|
1634
1608
|
}
|
|
1635
1609
|
.session-gate-held {
|
|
@@ -1691,7 +1665,7 @@ body,
|
|
|
1691
1665
|
display: inline-flex;
|
|
1692
1666
|
align-items: center;
|
|
1693
1667
|
gap: 6px;
|
|
1694
|
-
font: 10px/1 var(--
|
|
1668
|
+
font: 10px/1 var(--font-code);
|
|
1695
1669
|
color: var(--c-muted);
|
|
1696
1670
|
}
|
|
1697
1671
|
.session-work-dot {
|
|
@@ -1728,7 +1702,7 @@ body,
|
|
|
1728
1702
|
gap: 8px;
|
|
1729
1703
|
padding: 7px 12px;
|
|
1730
1704
|
border-bottom: 1px solid var(--c-line);
|
|
1731
|
-
background: var(--c-accent
|
|
1705
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
1732
1706
|
}
|
|
1733
1707
|
.session-undo-text {
|
|
1734
1708
|
flex: 1;
|
|
@@ -1742,7 +1716,7 @@ body,
|
|
|
1742
1716
|
.session-undo-btn {
|
|
1743
1717
|
flex-shrink: 0;
|
|
1744
1718
|
padding: 3px 10px;
|
|
1745
|
-
border: 1px solid var(--c-accent
|
|
1719
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
1746
1720
|
border-radius: 999px;
|
|
1747
1721
|
background: none;
|
|
1748
1722
|
color: var(--c-accent);
|
|
@@ -1751,7 +1725,7 @@ body,
|
|
|
1751
1725
|
cursor: pointer;
|
|
1752
1726
|
}
|
|
1753
1727
|
.session-undo-btn:hover {
|
|
1754
|
-
background: var(--c-accent
|
|
1728
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1755
1729
|
}
|
|
1756
1730
|
|
|
1757
1731
|
.session-timeline-filters {
|
|
@@ -1802,7 +1776,7 @@ body,
|
|
|
1802
1776
|
--tone: var(--c-danger);
|
|
1803
1777
|
}
|
|
1804
1778
|
.session-timeline-row.tone-purple {
|
|
1805
|
-
--tone: var(--c-
|
|
1779
|
+
--tone: var(--c-agent);
|
|
1806
1780
|
}
|
|
1807
1781
|
.session-timeline-dot {
|
|
1808
1782
|
width: 6px;
|
|
@@ -1845,7 +1819,7 @@ body,
|
|
|
1845
1819
|
padding: 4px 12px;
|
|
1846
1820
|
border: 1px solid var(--c-accent);
|
|
1847
1821
|
border-radius: 999px;
|
|
1848
|
-
background: var(--c-accent
|
|
1822
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
1849
1823
|
color: var(--c-accent);
|
|
1850
1824
|
font-size: 11.5px;
|
|
1851
1825
|
font-weight: 700;
|
|
@@ -1858,7 +1832,7 @@ body,
|
|
|
1858
1832
|
}
|
|
1859
1833
|
.session-timeline-undone {
|
|
1860
1834
|
margin-top: 2px;
|
|
1861
|
-
font: 9px var(--
|
|
1835
|
+
font: 9px var(--font-code);
|
|
1862
1836
|
color: var(--c-dim);
|
|
1863
1837
|
}
|
|
1864
1838
|
.session-timeline-body {
|
|
@@ -1879,7 +1853,7 @@ body,
|
|
|
1879
1853
|
color: var(--c-muted);
|
|
1880
1854
|
}
|
|
1881
1855
|
.session-scope.is-fenced {
|
|
1882
|
-
background: color-mix(in srgb, var(--c-
|
|
1856
|
+
background: color-mix(in srgb, var(--c-agent) 8%, transparent);
|
|
1883
1857
|
color: var(--c-text-soft);
|
|
1884
1858
|
}
|
|
1885
1859
|
.session-scope-dot {
|
|
@@ -1890,14 +1864,14 @@ body,
|
|
|
1890
1864
|
flex-shrink: 0;
|
|
1891
1865
|
}
|
|
1892
1866
|
.session-scope.is-fenced .session-scope-dot {
|
|
1893
|
-
background: var(--c-
|
|
1867
|
+
background: var(--c-agent);
|
|
1894
1868
|
}
|
|
1895
1869
|
.session-scope-text {
|
|
1896
1870
|
flex: 1;
|
|
1897
1871
|
min-width: 0;
|
|
1898
1872
|
}
|
|
1899
1873
|
.session-scope-text strong {
|
|
1900
|
-
color: var(--c-
|
|
1874
|
+
color: var(--c-agent);
|
|
1901
1875
|
}
|
|
1902
1876
|
.session-scope-action {
|
|
1903
1877
|
padding: 3px 9px;
|
|
@@ -1911,8 +1885,8 @@ body,
|
|
|
1911
1885
|
white-space: nowrap;
|
|
1912
1886
|
}
|
|
1913
1887
|
.session-scope-action:hover:not(:disabled) {
|
|
1914
|
-
border-color: color-mix(in srgb, var(--c-
|
|
1915
|
-
color: var(--c-
|
|
1888
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
1889
|
+
color: var(--c-agent);
|
|
1916
1890
|
}
|
|
1917
1891
|
.session-scope-action:disabled {
|
|
1918
1892
|
opacity: 0.5;
|
|
@@ -1926,9 +1900,9 @@ body,
|
|
|
1926
1900
|
top: 0;
|
|
1927
1901
|
z-index: 1;
|
|
1928
1902
|
pointer-events: none;
|
|
1929
|
-
border: 1.5px dashed color-mix(in srgb, var(--c-
|
|
1903
|
+
border: 1.5px dashed color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
1930
1904
|
border-radius: 16px;
|
|
1931
|
-
background: color-mix(in srgb, var(--c-
|
|
1905
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
1932
1906
|
}
|
|
1933
1907
|
.scope-fence-pill {
|
|
1934
1908
|
position: absolute;
|
|
@@ -1936,9 +1910,9 @@ body,
|
|
|
1936
1910
|
transform-origin: 0 50%;
|
|
1937
1911
|
padding: 3px 10px;
|
|
1938
1912
|
border-radius: 999px;
|
|
1939
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1940
|
-
background: color-mix(in srgb, var(--c-panel) 92%, var(--c-
|
|
1941
|
-
color: var(--c-
|
|
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);
|
|
1942
1916
|
font-size: 10px;
|
|
1943
1917
|
font-weight: 600;
|
|
1944
1918
|
letter-spacing: 0.04em;
|
|
@@ -1982,9 +1956,9 @@ body,
|
|
|
1982
1956
|
max-width: 240px;
|
|
1983
1957
|
padding: 2px 5px 2px 9px;
|
|
1984
1958
|
border-radius: 999px;
|
|
1985
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
1986
|
-
background: color-mix(in srgb, var(--c-
|
|
1987
|
-
color: var(--c-
|
|
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);
|
|
1988
1962
|
font-size: 10px;
|
|
1989
1963
|
font-weight: 600;
|
|
1990
1964
|
}
|
|
@@ -2008,7 +1982,7 @@ body,
|
|
|
2008
1982
|
border: none;
|
|
2009
1983
|
border-radius: 50%;
|
|
2010
1984
|
background: none;
|
|
2011
|
-
color: var(--c-
|
|
1985
|
+
color: var(--c-pin);
|
|
2012
1986
|
font-size: 12px;
|
|
2013
1987
|
line-height: 1;
|
|
2014
1988
|
cursor: pointer;
|
|
@@ -2016,7 +1990,7 @@ body,
|
|
|
2016
1990
|
}
|
|
2017
1991
|
.command-bar-chip-unpin:hover {
|
|
2018
1992
|
opacity: 1;
|
|
2019
|
-
background: color-mix(in srgb, var(--c-
|
|
1993
|
+
background: color-mix(in srgb, var(--c-pin) 25%, transparent);
|
|
2020
1994
|
}
|
|
2021
1995
|
.command-bar-chips-note {
|
|
2022
1996
|
font-size: 10px;
|
|
@@ -2054,7 +2028,7 @@ body,
|
|
|
2054
2028
|
border-radius: 8px;
|
|
2055
2029
|
background: var(--c-panel-overlay);
|
|
2056
2030
|
color: var(--c-text);
|
|
2057
|
-
font: 12px/1.35 var(--font);
|
|
2031
|
+
font: 12px/1.35 var(--font-ui);
|
|
2058
2032
|
cursor: pointer;
|
|
2059
2033
|
}
|
|
2060
2034
|
.choice-menu-trigger > span {
|
|
@@ -2105,7 +2079,7 @@ body,
|
|
|
2105
2079
|
|
|
2106
2080
|
.command-bar-icon {
|
|
2107
2081
|
flex-shrink: 0;
|
|
2108
|
-
color: var(--c-
|
|
2082
|
+
color: var(--c-agent);
|
|
2109
2083
|
}
|
|
2110
2084
|
.command-bar-input {
|
|
2111
2085
|
flex: 1;
|
|
@@ -2115,7 +2089,7 @@ body,
|
|
|
2115
2089
|
outline: none;
|
|
2116
2090
|
background: none;
|
|
2117
2091
|
color: var(--c-text);
|
|
2118
|
-
font: 13px var(--font);
|
|
2092
|
+
font: 13px var(--font-ui);
|
|
2119
2093
|
}
|
|
2120
2094
|
.command-bar-input::placeholder {
|
|
2121
2095
|
color: var(--c-dim);
|
|
@@ -2175,7 +2149,7 @@ body,
|
|
|
2175
2149
|
display: block;
|
|
2176
2150
|
height: 100%;
|
|
2177
2151
|
border-radius: 3px;
|
|
2178
|
-
background:
|
|
2152
|
+
background: var(--c-accent);
|
|
2179
2153
|
transition: width 180ms ease;
|
|
2180
2154
|
}
|
|
2181
2155
|
.context-budget.tone-warn .context-budget-fill,
|
|
@@ -2183,7 +2157,7 @@ body,
|
|
|
2183
2157
|
background: var(--tone);
|
|
2184
2158
|
}
|
|
2185
2159
|
.context-budget-label {
|
|
2186
|
-
font: 11px var(--
|
|
2160
|
+
font: 11px var(--font-code);
|
|
2187
2161
|
color: var(--c-text-soft);
|
|
2188
2162
|
min-width: 30px;
|
|
2189
2163
|
text-align: right;
|
|
@@ -2209,9 +2183,9 @@ body,
|
|
|
2209
2183
|
gap: 8px;
|
|
2210
2184
|
padding: 4px 12px 4px 6px;
|
|
2211
2185
|
border-radius: 999px;
|
|
2212
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2213
|
-
background: color-mix(in srgb, var(--c-
|
|
2214
|
-
color: var(--c-
|
|
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);
|
|
2215
2189
|
cursor: pointer;
|
|
2216
2190
|
white-space: nowrap;
|
|
2217
2191
|
flex-shrink: 0;
|
|
@@ -2219,7 +2193,7 @@ body,
|
|
|
2219
2193
|
}
|
|
2220
2194
|
.external-indicator:hover,
|
|
2221
2195
|
.external-indicator[aria-expanded='true'] {
|
|
2222
|
-
background: color-mix(in srgb, var(--c-
|
|
2196
|
+
background: color-mix(in srgb, var(--c-agent) 15%, transparent);
|
|
2223
2197
|
}
|
|
2224
2198
|
.external-indicator-avatars {
|
|
2225
2199
|
display: inline-flex;
|
|
@@ -2233,14 +2207,14 @@ body,
|
|
|
2233
2207
|
font-weight: 600;
|
|
2234
2208
|
}
|
|
2235
2209
|
.external-indicator-ops {
|
|
2236
|
-
font: 10px var(--
|
|
2210
|
+
font: 10px var(--font-code);
|
|
2237
2211
|
color: var(--c-muted);
|
|
2238
2212
|
}
|
|
2239
2213
|
.external-indicator-dot {
|
|
2240
2214
|
width: 7px;
|
|
2241
2215
|
height: 7px;
|
|
2242
2216
|
border-radius: 50%;
|
|
2243
|
-
background: var(--c-
|
|
2217
|
+
background: var(--c-agent);
|
|
2244
2218
|
flex-shrink: 0;
|
|
2245
2219
|
animation: presence-pulse 1.4s ease-in-out infinite;
|
|
2246
2220
|
}
|
|
@@ -2254,7 +2228,7 @@ body,
|
|
|
2254
2228
|
display: flex;
|
|
2255
2229
|
flex-direction: column;
|
|
2256
2230
|
background: var(--c-panel);
|
|
2257
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2231
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 30%, transparent);
|
|
2258
2232
|
border-radius: 10px;
|
|
2259
2233
|
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
|
|
2260
2234
|
/* Popover-level like the rail menus: above the minimap, below the rail. */
|
|
@@ -2279,7 +2253,7 @@ body,
|
|
|
2279
2253
|
color: var(--c-text);
|
|
2280
2254
|
}
|
|
2281
2255
|
.activity-feed-sub {
|
|
2282
|
-
font: 9px var(--
|
|
2256
|
+
font: 9px var(--font-code);
|
|
2283
2257
|
color: var(--c-dim);
|
|
2284
2258
|
}
|
|
2285
2259
|
.activity-feed-close {
|
|
@@ -2301,7 +2275,7 @@ body,
|
|
|
2301
2275
|
border-bottom: 1px solid var(--c-line);
|
|
2302
2276
|
}
|
|
2303
2277
|
.activity-filter {
|
|
2304
|
-
--writer: var(--c-
|
|
2278
|
+
--writer: var(--c-agent);
|
|
2305
2279
|
padding: 2px 9px;
|
|
2306
2280
|
border-radius: 999px;
|
|
2307
2281
|
border: 1px solid var(--c-line);
|
|
@@ -2332,7 +2306,7 @@ body,
|
|
|
2332
2306
|
border-bottom: none;
|
|
2333
2307
|
}
|
|
2334
2308
|
.activity-row.is-pending {
|
|
2335
|
-
background: color-mix(in srgb, var(--c-
|
|
2309
|
+
background: color-mix(in srgb, var(--c-agent) 5%, transparent);
|
|
2336
2310
|
}
|
|
2337
2311
|
.activity-glyph {
|
|
2338
2312
|
flex-shrink: 0;
|
|
@@ -2353,7 +2327,7 @@ body,
|
|
|
2353
2327
|
color: var(--c-accent);
|
|
2354
2328
|
}
|
|
2355
2329
|
.activity-glyph.tone-purple {
|
|
2356
|
-
color: var(--c-
|
|
2330
|
+
color: var(--c-agent);
|
|
2357
2331
|
}
|
|
2358
2332
|
.activity-main {
|
|
2359
2333
|
flex: 1;
|
|
@@ -2370,7 +2344,7 @@ body,
|
|
|
2370
2344
|
color: var(--c-muted);
|
|
2371
2345
|
}
|
|
2372
2346
|
.activity-writer {
|
|
2373
|
-
font: 8.5px var(--
|
|
2347
|
+
font: 8.5px var(--font-code);
|
|
2374
2348
|
}
|
|
2375
2349
|
.activity-actions {
|
|
2376
2350
|
display: flex;
|
|
@@ -2393,7 +2367,7 @@ body,
|
|
|
2393
2367
|
}
|
|
2394
2368
|
.activity-hint,
|
|
2395
2369
|
.activity-age {
|
|
2396
|
-
font: 9px var(--
|
|
2370
|
+
font: 9px var(--font-code);
|
|
2397
2371
|
color: var(--c-dim);
|
|
2398
2372
|
flex-shrink: 0;
|
|
2399
2373
|
}
|
|
@@ -2428,7 +2402,7 @@ body,
|
|
|
2428
2402
|
color: var(--c-text);
|
|
2429
2403
|
}
|
|
2430
2404
|
.activity-feed-link.is-accent {
|
|
2431
|
-
color: var(--c-
|
|
2405
|
+
color: var(--c-agent);
|
|
2432
2406
|
}
|
|
2433
2407
|
.activity-feed-link.is-accent:hover {
|
|
2434
2408
|
text-decoration: underline;
|
|
@@ -2469,7 +2443,7 @@ body,
|
|
|
2469
2443
|
color: var(--c-text);
|
|
2470
2444
|
}
|
|
2471
2445
|
.writers-board {
|
|
2472
|
-
font: 9px var(--
|
|
2446
|
+
font: 9px var(--font-code);
|
|
2473
2447
|
color: var(--c-dim);
|
|
2474
2448
|
}
|
|
2475
2449
|
.writers-body {
|
|
@@ -2502,18 +2476,18 @@ body,
|
|
|
2502
2476
|
white-space: nowrap;
|
|
2503
2477
|
}
|
|
2504
2478
|
.writers-name.is-mono {
|
|
2505
|
-
font: 11px var(--
|
|
2479
|
+
font: 11px var(--font-code);
|
|
2506
2480
|
}
|
|
2507
2481
|
.writers-config {
|
|
2508
2482
|
font-size: 9.5px;
|
|
2509
2483
|
font-weight: 600;
|
|
2510
2484
|
padding: 2px 8px;
|
|
2511
2485
|
border-radius: 999px;
|
|
2512
|
-
background: color-mix(in srgb, var(--c-
|
|
2513
|
-
color: var(--c-
|
|
2486
|
+
background: color-mix(in srgb, var(--c-agent) 12%, transparent);
|
|
2487
|
+
color: var(--c-agent);
|
|
2514
2488
|
}
|
|
2515
2489
|
.writers-meta {
|
|
2516
|
-
font: 9.5px var(--
|
|
2490
|
+
font: 9.5px var(--font-code);
|
|
2517
2491
|
color: var(--c-dim);
|
|
2518
2492
|
}
|
|
2519
2493
|
.writers-empty {
|
|
@@ -2576,24 +2550,32 @@ body,
|
|
|
2576
2550
|
.minimap-node {
|
|
2577
2551
|
position: absolute;
|
|
2578
2552
|
border-radius: 1.5px;
|
|
2579
|
-
background: var(--
|
|
2553
|
+
background: var(--c-muted);
|
|
2580
2554
|
opacity: 0.55;
|
|
2581
2555
|
}
|
|
2582
2556
|
.minimap-node.is-group {
|
|
2583
|
-
background: color-mix(in srgb, var(--
|
|
2584
|
-
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);
|
|
2585
2559
|
opacity: 1;
|
|
2586
2560
|
border-radius: 2px;
|
|
2587
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
|
+
}
|
|
2588
2570
|
.minimap-node.is-selected {
|
|
2589
2571
|
outline: 1px solid var(--c-accent);
|
|
2590
2572
|
opacity: 0.8;
|
|
2591
2573
|
}
|
|
2592
2574
|
.minimap-fence {
|
|
2593
2575
|
position: absolute;
|
|
2594
|
-
border: 1px dashed color-mix(in srgb, var(--c-
|
|
2576
|
+
border: 1px dashed color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
2595
2577
|
border-radius: 2px;
|
|
2596
|
-
background: color-mix(in srgb, var(--c-
|
|
2578
|
+
background: color-mix(in srgb, var(--c-agent) 3%, transparent);
|
|
2597
2579
|
}
|
|
2598
2580
|
.minimap-presence {
|
|
2599
2581
|
position: absolute;
|
|
@@ -2628,7 +2610,7 @@ body,
|
|
|
2628
2610
|
position: absolute;
|
|
2629
2611
|
right: 5px;
|
|
2630
2612
|
bottom: 3px;
|
|
2631
|
-
font: 8px var(--
|
|
2613
|
+
font: 8px var(--font-code);
|
|
2632
2614
|
color: var(--c-dim);
|
|
2633
2615
|
}
|
|
2634
2616
|
|
|
@@ -2730,7 +2712,7 @@ body,
|
|
|
2730
2712
|
color: var(--c-accent);
|
|
2731
2713
|
}
|
|
2732
2714
|
.edge-hint-keys {
|
|
2733
|
-
font: 9px var(--
|
|
2715
|
+
font: 9px var(--font-code);
|
|
2734
2716
|
color: var(--c-dim);
|
|
2735
2717
|
}
|
|
2736
2718
|
|
|
@@ -2783,8 +2765,8 @@ body,
|
|
|
2783
2765
|
padding: 2px 9px;
|
|
2784
2766
|
border-radius: 999px;
|
|
2785
2767
|
background: var(--c-panel-soft);
|
|
2786
|
-
border: 1px solid color-mix(in srgb, var(--c-
|
|
2787
|
-
color: var(--c-
|
|
2768
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2769
|
+
color: var(--c-agent);
|
|
2788
2770
|
font-size: 9.5px;
|
|
2789
2771
|
font-weight: 600;
|
|
2790
2772
|
white-space: nowrap;
|
|
@@ -2793,7 +2775,7 @@ body,
|
|
|
2793
2775
|
width: 6px;
|
|
2794
2776
|
height: 6px;
|
|
2795
2777
|
border-radius: 50%;
|
|
2796
|
-
background: var(--c-
|
|
2778
|
+
background: var(--c-agent);
|
|
2797
2779
|
}
|
|
2798
2780
|
|
|
2799
2781
|
/* Quiet-board affordance in the top bar */
|
|
@@ -2813,8 +2795,8 @@ body,
|
|
|
2813
2795
|
flex-shrink: 0;
|
|
2814
2796
|
}
|
|
2815
2797
|
.start-session-btn:hover {
|
|
2816
|
-
border-color: color-mix(in srgb, var(--c-
|
|
2817
|
-
color: var(--c-
|
|
2798
|
+
border-color: color-mix(in srgb, var(--c-agent) 40%, transparent);
|
|
2799
|
+
color: var(--c-agent);
|
|
2818
2800
|
}
|
|
2819
2801
|
.start-session-dot {
|
|
2820
2802
|
width: 7px;
|
|
@@ -2823,7 +2805,7 @@ body,
|
|
|
2823
2805
|
background: var(--c-dim);
|
|
2824
2806
|
}
|
|
2825
2807
|
.start-session-btn:hover .start-session-dot {
|
|
2826
|
-
background: var(--c-
|
|
2808
|
+
background: var(--c-agent);
|
|
2827
2809
|
}
|
|
2828
2810
|
.session-end {
|
|
2829
2811
|
padding: 3px 10px;
|
|
@@ -2885,6 +2867,11 @@ body,
|
|
|
2885
2867
|
background: var(--c-surface-hover);
|
|
2886
2868
|
color: var(--c-text);
|
|
2887
2869
|
}
|
|
2870
|
+
.session-receipt-who {
|
|
2871
|
+
margin: 2px 0 0 15px;
|
|
2872
|
+
font-size: 11px;
|
|
2873
|
+
color: var(--c-muted);
|
|
2874
|
+
}
|
|
2888
2875
|
.session-receipt-tiles {
|
|
2889
2876
|
display: grid;
|
|
2890
2877
|
grid-template-columns: repeat(3, 1fr);
|
|
@@ -2915,6 +2902,111 @@ body,
|
|
|
2915
2902
|
.session-receipt-tile-value.tone-danger {
|
|
2916
2903
|
color: var(--c-danger);
|
|
2917
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
|
+
|
|
2918
3010
|
.session-receipt-note,
|
|
2919
3011
|
.session-receipt-diff {
|
|
2920
3012
|
margin-top: 10px;
|
|
@@ -2940,8 +3032,8 @@ body,
|
|
|
2940
3032
|
cursor: pointer;
|
|
2941
3033
|
}
|
|
2942
3034
|
.session-receipt-primary {
|
|
2943
|
-
border: 1px solid var(--c-accent
|
|
2944
|
-
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);
|
|
2945
3037
|
color: var(--c-accent);
|
|
2946
3038
|
}
|
|
2947
3039
|
.session-receipt-primary:disabled {
|
|
@@ -2966,7 +3058,7 @@ body,
|
|
|
2966
3058
|
border: 1px solid color-mix(in srgb, var(--c-warn) 35%, transparent);
|
|
2967
3059
|
background: color-mix(in srgb, var(--c-warn) 12%, transparent);
|
|
2968
3060
|
color: var(--c-warn);
|
|
2969
|
-
font: 11px var(--
|
|
3061
|
+
font: 11px var(--font-code);
|
|
2970
3062
|
font-weight: 600;
|
|
2971
3063
|
white-space: nowrap;
|
|
2972
3064
|
flex-shrink: 0;
|
|
@@ -3061,7 +3153,7 @@ body,
|
|
|
3061
3153
|
background: color-mix(in srgb, var(--c-panel) 92%, black 8%);
|
|
3062
3154
|
border: 1px solid color-mix(in srgb, var(--c-line) 78%, var(--c-accent) 22%);
|
|
3063
3155
|
border-radius: 10px;
|
|
3064
|
-
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);
|
|
3065
3157
|
backdrop-filter: blur(14px);
|
|
3066
3158
|
color: var(--c-text);
|
|
3067
3159
|
font-size: 12px;
|
|
@@ -3197,10 +3289,10 @@ body,
|
|
|
3197
3289
|
min-height: 20px;
|
|
3198
3290
|
padding: 2px 7px;
|
|
3199
3291
|
border-radius: 999px;
|
|
3200
|
-
border: 1px solid var(--c-accent
|
|
3201
|
-
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);
|
|
3202
3294
|
color: var(--c-accent);
|
|
3203
|
-
font: 11px/1 var(--
|
|
3295
|
+
font: 11px/1 var(--font-code);
|
|
3204
3296
|
white-space: nowrap;
|
|
3205
3297
|
}
|
|
3206
3298
|
|
|
@@ -3259,7 +3351,7 @@ body,
|
|
|
3259
3351
|
min-width: 0;
|
|
3260
3352
|
}
|
|
3261
3353
|
.connection-banner-meta {
|
|
3262
|
-
font: 9.5px var(--
|
|
3354
|
+
font: 9.5px var(--font-code);
|
|
3263
3355
|
color: var(--c-muted);
|
|
3264
3356
|
}
|
|
3265
3357
|
.connection-banner-progress {
|
|
@@ -3436,7 +3528,7 @@ body,
|
|
|
3436
3528
|
border: none;
|
|
3437
3529
|
background: var(--c-panel-soft);
|
|
3438
3530
|
color: var(--c-text);
|
|
3439
|
-
font: 13px / 1.6 var(--
|
|
3531
|
+
font: 13px / 1.6 var(--font-code);
|
|
3440
3532
|
padding: 12px;
|
|
3441
3533
|
outline: none;
|
|
3442
3534
|
}
|
|
@@ -3474,7 +3566,7 @@ body,
|
|
|
3474
3566
|
border-radius: var(--radius-sm);
|
|
3475
3567
|
color: var(--c-muted);
|
|
3476
3568
|
cursor: pointer;
|
|
3477
|
-
font-family: var(--font);
|
|
3569
|
+
font-family: var(--font-ui);
|
|
3478
3570
|
transition: all 0.12s ease;
|
|
3479
3571
|
}
|
|
3480
3572
|
|
|
@@ -3485,13 +3577,13 @@ body,
|
|
|
3485
3577
|
}
|
|
3486
3578
|
|
|
3487
3579
|
.md-toolbar-btn-primary {
|
|
3488
|
-
background: var(--c-accent
|
|
3489
|
-
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);
|
|
3490
3582
|
color: var(--c-accent);
|
|
3491
3583
|
}
|
|
3492
3584
|
|
|
3493
3585
|
.md-toolbar-btn-primary:hover {
|
|
3494
|
-
background: var(--c-accent
|
|
3586
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3495
3587
|
border-color: var(--c-accent);
|
|
3496
3588
|
}
|
|
3497
3589
|
|
|
@@ -3574,7 +3666,7 @@ body,
|
|
|
3574
3666
|
border-left: 3px solid var(--c-accent);
|
|
3575
3667
|
padding: 0.5em 1em;
|
|
3576
3668
|
margin: 0.8em 0;
|
|
3577
|
-
background: var(--c-accent
|
|
3669
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3578
3670
|
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
|
3579
3671
|
}
|
|
3580
3672
|
|
|
@@ -3597,7 +3689,7 @@ body,
|
|
|
3597
3689
|
}
|
|
3598
3690
|
|
|
3599
3691
|
.md-reader-content code {
|
|
3600
|
-
font-family: var(--
|
|
3692
|
+
font-family: var(--font-code);
|
|
3601
3693
|
font-size: 0.88em;
|
|
3602
3694
|
background: var(--c-surface-hover);
|
|
3603
3695
|
padding: 2px 6px;
|
|
@@ -3636,7 +3728,7 @@ body,
|
|
|
3636
3728
|
}
|
|
3637
3729
|
|
|
3638
3730
|
.md-reader-content th {
|
|
3639
|
-
background: var(--c-accent
|
|
3731
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
3640
3732
|
font-weight: 600;
|
|
3641
3733
|
color: var(--c-text);
|
|
3642
3734
|
padding: 10px 14px;
|
|
@@ -3680,17 +3772,17 @@ body,
|
|
|
3680
3772
|
border-radius: var(--radius);
|
|
3681
3773
|
color: var(--c-muted);
|
|
3682
3774
|
cursor: pointer;
|
|
3683
|
-
font-family: var(--font);
|
|
3775
|
+
font-family: var(--font-ui);
|
|
3684
3776
|
transition: all 0.15s ease;
|
|
3685
3777
|
z-index: 1;
|
|
3686
3778
|
box-shadow: 0 4px 16px var(--c-shadow);
|
|
3687
3779
|
}
|
|
3688
3780
|
|
|
3689
3781
|
.md-edit-fab:hover {
|
|
3690
|
-
background: var(--c-accent
|
|
3782
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3691
3783
|
border-color: var(--c-accent);
|
|
3692
3784
|
color: var(--c-accent);
|
|
3693
|
-
box-shadow: 0 4px 20px var(--c-
|
|
3785
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
3694
3786
|
}
|
|
3695
3787
|
|
|
3696
3788
|
/* ── Inline WYSIWYG editor (contentEditable on the rendered HTML) ─
|
|
@@ -3709,7 +3801,7 @@ body,
|
|
|
3709
3801
|
|
|
3710
3802
|
.md-reader-editable::selection,
|
|
3711
3803
|
.md-reader-editable *::selection {
|
|
3712
|
-
background: var(--c-accent
|
|
3804
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
3713
3805
|
}
|
|
3714
3806
|
|
|
3715
3807
|
/* ── Inline selection toolbar (contentEditable WYSIWYG) ────────── */
|
|
@@ -3725,7 +3817,7 @@ body,
|
|
|
3725
3817
|
border: 1px solid var(--c-line);
|
|
3726
3818
|
border-radius: 8px;
|
|
3727
3819
|
box-shadow: 0 4px 16px var(--c-shadow), 0 0 0 1px var(--c-line-30);
|
|
3728
|
-
font-family: var(--font);
|
|
3820
|
+
font-family: var(--font-ui);
|
|
3729
3821
|
animation: md-inline-format-bar-in 0.1s ease-out;
|
|
3730
3822
|
}
|
|
3731
3823
|
|
|
@@ -3744,7 +3836,7 @@ body,
|
|
|
3744
3836
|
background: none;
|
|
3745
3837
|
border: 1px solid transparent;
|
|
3746
3838
|
border-radius: var(--radius-sm);
|
|
3747
|
-
font: 600 12px var(--font);
|
|
3839
|
+
font: 600 12px var(--font-ui);
|
|
3748
3840
|
color: var(--c-text-soft);
|
|
3749
3841
|
cursor: pointer;
|
|
3750
3842
|
white-space: nowrap;
|
|
@@ -3758,7 +3850,7 @@ body,
|
|
|
3758
3850
|
}
|
|
3759
3851
|
|
|
3760
3852
|
.md-inline-format-btn:active {
|
|
3761
|
-
background: var(--c-accent
|
|
3853
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3762
3854
|
color: var(--c-accent);
|
|
3763
3855
|
}
|
|
3764
3856
|
|
|
@@ -3801,7 +3893,7 @@ body,
|
|
|
3801
3893
|
background: none;
|
|
3802
3894
|
border: 1px solid transparent;
|
|
3803
3895
|
border-radius: var(--radius-sm);
|
|
3804
|
-
font-family: var(--
|
|
3896
|
+
font-family: var(--font-code);
|
|
3805
3897
|
font-size: 12px;
|
|
3806
3898
|
font-weight: 600;
|
|
3807
3899
|
color: var(--c-muted);
|
|
@@ -3817,7 +3909,7 @@ body,
|
|
|
3817
3909
|
}
|
|
3818
3910
|
|
|
3819
3911
|
.md-format-btn:active {
|
|
3820
|
-
background: var(--c-accent
|
|
3912
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
3821
3913
|
color: var(--c-accent);
|
|
3822
3914
|
}
|
|
3823
3915
|
|
|
@@ -3884,10 +3976,6 @@ html.is-node-resizing .canvas-node {
|
|
|
3884
3976
|
transition: box-shadow 0.15s ease !important;
|
|
3885
3977
|
}
|
|
3886
3978
|
|
|
3887
|
-
html.is-node-dragging .attention-field-layer {
|
|
3888
|
-
visibility: hidden;
|
|
3889
|
-
}
|
|
3890
|
-
|
|
3891
3979
|
html.is-node-dragging,
|
|
3892
3980
|
html.is-node-dragging *,
|
|
3893
3981
|
html.is-canvas-panning,
|
|
@@ -3960,12 +4048,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
3960
4048
|
}
|
|
3961
4049
|
|
|
3962
4050
|
.context-menu-item:hover {
|
|
3963
|
-
background: var(--c-accent
|
|
4051
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
3964
4052
|
color: var(--c-accent);
|
|
3965
4053
|
}
|
|
3966
4054
|
|
|
3967
4055
|
.context-menu-item.is-danger .context-menu-label {
|
|
3968
|
-
color: var(--c-danger
|
|
4056
|
+
color: var(--c-danger);
|
|
3969
4057
|
}
|
|
3970
4058
|
|
|
3971
4059
|
.context-menu-shortcut {
|
|
@@ -4043,8 +4131,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4043
4131
|
}
|
|
4044
4132
|
|
|
4045
4133
|
.context-menu-color-swatch:hover {
|
|
4046
|
-
background: var(--c-accent
|
|
4047
|
-
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);
|
|
4048
4136
|
}
|
|
4049
4137
|
|
|
4050
4138
|
.context-menu-color-swatch.active {
|
|
@@ -4055,7 +4143,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4055
4143
|
.context-menu-color-dot {
|
|
4056
4144
|
background: var(--swatch-color);
|
|
4057
4145
|
border-radius: 999px;
|
|
4058
|
-
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%);
|
|
4059
4147
|
flex: 0 0 auto;
|
|
4060
4148
|
height: 10px;
|
|
4061
4149
|
width: 10px;
|
|
@@ -4092,7 +4180,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4092
4180
|
/* Edge labels — --edge-chrome-scale is set on the edge <svg> so labels keep a
|
|
4093
4181
|
constant screen size while zoomed out (see edgeChromeScale in EdgeLayer). */
|
|
4094
4182
|
.edge-label {
|
|
4095
|
-
font-family: var(--font);
|
|
4183
|
+
font-family: var(--font-ui);
|
|
4096
4184
|
font-size: calc(11px * var(--edge-label-scale, 1));
|
|
4097
4185
|
pointer-events: none;
|
|
4098
4186
|
user-select: none;
|
|
@@ -4132,10 +4220,10 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4132
4220
|
@keyframes trace-pulse {
|
|
4133
4221
|
0%,
|
|
4134
4222
|
100% {
|
|
4135
|
-
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);
|
|
4136
4224
|
}
|
|
4137
4225
|
50% {
|
|
4138
|
-
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);
|
|
4139
4227
|
}
|
|
4140
4228
|
}
|
|
4141
4229
|
|
|
@@ -4146,7 +4234,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4146
4234
|
gap: 10px;
|
|
4147
4235
|
height: 100%;
|
|
4148
4236
|
overflow: auto;
|
|
4149
|
-
font-family: var(--
|
|
4237
|
+
font-family: var(--font-code);
|
|
4150
4238
|
font-size: 12px;
|
|
4151
4239
|
color: var(--c-text);
|
|
4152
4240
|
}
|
|
@@ -4195,12 +4283,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4195
4283
|
|
|
4196
4284
|
.diff-node .diff-line-add {
|
|
4197
4285
|
color: var(--c-ok);
|
|
4198
|
-
background: var(--c-ok
|
|
4286
|
+
background: color-mix(in srgb, var(--c-ok) 10%, transparent);
|
|
4199
4287
|
}
|
|
4200
4288
|
|
|
4201
4289
|
.diff-node .diff-line-remove {
|
|
4202
4290
|
color: var(--c-danger);
|
|
4203
|
-
background: var(--c-danger
|
|
4291
|
+
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4204
4292
|
}
|
|
4205
4293
|
|
|
4206
4294
|
.diff-node .diff-line-context {
|
|
@@ -4241,7 +4329,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4241
4329
|
border-spacing: 0;
|
|
4242
4330
|
width: max-content;
|
|
4243
4331
|
min-width: 100%;
|
|
4244
|
-
font-family: var(--
|
|
4332
|
+
font-family: var(--font-code);
|
|
4245
4333
|
color: var(--c-text);
|
|
4246
4334
|
}
|
|
4247
4335
|
|
|
@@ -4344,21 +4432,21 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4344
4432
|
|
|
4345
4433
|
/* ── Prompt nodes ──────────────────────────────────────────── */
|
|
4346
4434
|
.canvas-node:has(.prompt-node-inner) {
|
|
4347
|
-
border-color: var(--c-accent
|
|
4435
|
+
border-color: color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4348
4436
|
}
|
|
4349
4437
|
|
|
4350
4438
|
.canvas-node:has(.prompt-node-inner) .node-type-badge {
|
|
4351
|
-
background: var(--c-accent
|
|
4439
|
+
background: color-mix(in srgb, var(--c-accent) 15%, transparent);
|
|
4352
4440
|
color: var(--c-accent);
|
|
4353
4441
|
}
|
|
4354
4442
|
|
|
4355
4443
|
/* ── Response nodes ────────────────────────────────────────── */
|
|
4356
4444
|
.canvas-node:has(.response-node-inner) {
|
|
4357
|
-
border-color: var(--c-ok
|
|
4445
|
+
border-color: color-mix(in srgb, var(--c-ok) 25%, transparent);
|
|
4358
4446
|
}
|
|
4359
4447
|
|
|
4360
4448
|
.canvas-node:has(.response-node-inner) .node-type-badge {
|
|
4361
|
-
background: var(--c-ok
|
|
4449
|
+
background: color-mix(in srgb, var(--c-ok) 12%, transparent);
|
|
4362
4450
|
color: var(--c-ok);
|
|
4363
4451
|
}
|
|
4364
4452
|
|
|
@@ -4377,39 +4465,38 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4377
4465
|
|
|
4378
4466
|
/* ── Multi-node selection (item 13: outline, corner handles, soft glow) ── */
|
|
4379
4467
|
.canvas-node.selected {
|
|
4380
|
-
|
|
4381
|
-
box-shadow: 0 0 0 1px var(--c-accent), 0 0 0 4px color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4468
|
+
box-shadow: 0 0 0 3px var(--c-bg), 0 0 0 5px var(--c-accent), var(--e-1);
|
|
4382
4469
|
}
|
|
4383
4470
|
.node-selection-handle {
|
|
4384
4471
|
position: absolute;
|
|
4385
|
-
width:
|
|
4386
|
-
height:
|
|
4387
|
-
background: var(--c-
|
|
4472
|
+
width: 8px;
|
|
4473
|
+
height: 8px;
|
|
4474
|
+
background: var(--c-panel);
|
|
4388
4475
|
border: 1.5px solid var(--c-accent);
|
|
4389
4476
|
border-radius: 2px;
|
|
4390
4477
|
pointer-events: none;
|
|
4391
4478
|
z-index: 3;
|
|
4392
4479
|
}
|
|
4393
4480
|
.node-selection-handle.is-tl {
|
|
4394
|
-
left: -
|
|
4395
|
-
top: -
|
|
4481
|
+
left: -9px;
|
|
4482
|
+
top: -9px;
|
|
4396
4483
|
}
|
|
4397
4484
|
.node-selection-handle.is-tr {
|
|
4398
|
-
right: -
|
|
4399
|
-
top: -
|
|
4485
|
+
right: -9px;
|
|
4486
|
+
top: -9px;
|
|
4400
4487
|
}
|
|
4401
4488
|
.node-selection-handle.is-bl {
|
|
4402
|
-
left: -
|
|
4403
|
-
bottom: -
|
|
4489
|
+
left: -9px;
|
|
4490
|
+
bottom: -9px;
|
|
4404
4491
|
}
|
|
4405
4492
|
.node-selection-handle.is-br {
|
|
4406
|
-
right: -
|
|
4407
|
-
bottom: -
|
|
4493
|
+
right: -9px;
|
|
4494
|
+
bottom: -9px;
|
|
4408
4495
|
}
|
|
4409
4496
|
|
|
4410
4497
|
/* Lasso rectangle overlay */
|
|
4411
4498
|
.lasso-rect {
|
|
4412
|
-
background: var(--c-accent
|
|
4499
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4413
4500
|
border: 1px solid var(--c-accent);
|
|
4414
4501
|
border-radius: 2px;
|
|
4415
4502
|
z-index: 9998;
|
|
@@ -4451,7 +4538,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4451
4538
|
border-radius: 4px;
|
|
4452
4539
|
background: color-mix(in srgb, var(--c-bg) 72%, transparent);
|
|
4453
4540
|
color: var(--c-annotation);
|
|
4454
|
-
font-family: var(--font);
|
|
4541
|
+
font-family: var(--font-ui);
|
|
4455
4542
|
font-weight: 700;
|
|
4456
4543
|
line-height: 1.15;
|
|
4457
4544
|
outline: none;
|
|
@@ -4465,13 +4552,13 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4465
4552
|
pointer-events: none;
|
|
4466
4553
|
border: 2px dashed var(--c-accent);
|
|
4467
4554
|
border-radius: 8px;
|
|
4468
|
-
background: var(--c-accent
|
|
4555
|
+
background: color-mix(in srgb, var(--c-accent) 8%, transparent);
|
|
4469
4556
|
animation: drop-zone-pulse 1.5s ease-in-out infinite;
|
|
4470
4557
|
}
|
|
4471
4558
|
|
|
4472
4559
|
@keyframes drop-zone-pulse {
|
|
4473
|
-
0%, 100% { background: var(--c-accent
|
|
4474
|
-
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); }
|
|
4475
4562
|
}
|
|
4476
4563
|
|
|
4477
4564
|
.drop-zone-indicator {
|
|
@@ -4486,9 +4573,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4486
4573
|
padding: 20px 32px;
|
|
4487
4574
|
background: var(--c-panel-glass);
|
|
4488
4575
|
backdrop-filter: blur(16px);
|
|
4489
|
-
border: 1px solid var(--c-accent
|
|
4576
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 30%, transparent);
|
|
4490
4577
|
border-radius: 12px;
|
|
4491
|
-
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);
|
|
4492
4579
|
}
|
|
4493
4580
|
|
|
4494
4581
|
.drop-zone-icon {
|
|
@@ -4500,7 +4587,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4500
4587
|
display: flex;
|
|
4501
4588
|
align-items: center;
|
|
4502
4589
|
justify-content: center;
|
|
4503
|
-
border: 2px dashed var(--c-accent
|
|
4590
|
+
border: 2px dashed color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
4504
4591
|
border-radius: 50%;
|
|
4505
4592
|
}
|
|
4506
4593
|
|
|
@@ -4556,7 +4643,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4556
4643
|
border-radius: 8px;
|
|
4557
4644
|
background: var(--c-bg);
|
|
4558
4645
|
color: var(--c-text);
|
|
4559
|
-
font: 13px/1.4 var(--
|
|
4646
|
+
font: 13px/1.4 var(--font-code);
|
|
4560
4647
|
}
|
|
4561
4648
|
.text-prompt-input:focus {
|
|
4562
4649
|
outline: none;
|
|
@@ -4580,7 +4667,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4580
4667
|
font-weight: 600;
|
|
4581
4668
|
}
|
|
4582
4669
|
.text-prompt-cancel:hover {
|
|
4583
|
-
background: var(--c-accent
|
|
4670
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
4584
4671
|
border-color: var(--c-muted);
|
|
4585
4672
|
}
|
|
4586
4673
|
.text-prompt-cancel:focus-visible,
|
|
@@ -4701,181 +4788,51 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4701
4788
|
cursor: default;
|
|
4702
4789
|
}
|
|
4703
4790
|
.selection-bar-action.is-pin:hover {
|
|
4704
|
-
background: color-mix(in srgb, var(--c-
|
|
4705
|
-
color: var(--c-
|
|
4791
|
+
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
4792
|
+
color: var(--c-pin);
|
|
4706
4793
|
}
|
|
4707
4794
|
.selection-bar-icon.is-danger:hover {
|
|
4708
4795
|
background: color-mix(in srgb, var(--c-danger) 12%, transparent);
|
|
4709
4796
|
color: var(--c-danger);
|
|
4710
4797
|
}
|
|
4711
4798
|
|
|
4712
|
-
/* ──
|
|
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. */
|
|
4713
4803
|
.canvas-node.context-pinned {
|
|
4714
|
-
border
|
|
4715
|
-
box-shadow: 0 0 0 2px var(--c-warn), 0 0 8px var(--c-warn-30);
|
|
4804
|
+
border: 1.5px solid var(--c-pin);
|
|
4716
4805
|
}
|
|
4717
4806
|
|
|
4718
|
-
.canvas-node.context-pinned .node-
|
|
4719
|
-
background: var(--c-
|
|
4720
|
-
color: var(--c-warn);
|
|
4721
|
-
}
|
|
4722
|
-
|
|
4723
|
-
:root[data-theme="light"] .canvas-node.context-pinned {
|
|
4724
|
-
border-color: #4BBCFF;
|
|
4725
|
-
box-shadow: 0 0 0 2px #4BBCFF, 0 0 12px rgba(75, 188, 255, 0.28);
|
|
4726
|
-
}
|
|
4727
|
-
|
|
4728
|
-
:root[data-theme="light"] .canvas-node.context-pinned .node-type-badge {
|
|
4729
|
-
background: rgba(75, 188, 255, 0.14);
|
|
4730
|
-
color: #1588CE;
|
|
4731
|
-
}
|
|
4732
|
-
|
|
4733
|
-
/* ── Attention layer — human-facing semantic feedback ───────── */
|
|
4734
|
-
.canvas-node.attention-focus-primary {
|
|
4735
|
-
box-shadow:
|
|
4736
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 72%, transparent),
|
|
4737
|
-
0 12px 34px color-mix(in srgb, var(--c-warn) 18%, transparent),
|
|
4738
|
-
inset 0 0 0 1px color-mix(in srgb, var(--c-warn) 28%, transparent);
|
|
4739
|
-
}
|
|
4740
|
-
|
|
4741
|
-
.canvas-node.attention-focus-primary .node-titlebar {
|
|
4742
|
-
background:
|
|
4743
|
-
linear-gradient(90deg, color-mix(in srgb, var(--c-warn) 12%, transparent), transparent 68%),
|
|
4744
|
-
var(--c-panel-soft);
|
|
4807
|
+
.canvas-node.context-pinned .node-titlebar {
|
|
4808
|
+
background: color-mix(in srgb, var(--c-pin) 12%, var(--c-panel));
|
|
4745
4809
|
}
|
|
4746
4810
|
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
0 0 0 1px rgba(75, 188, 255, 0.72),
|
|
4750
|
-
0 12px 34px rgba(75, 188, 255, 0.2),
|
|
4751
|
-
inset 0 0 0 1px rgba(75, 188, 255, 0.18);
|
|
4752
|
-
}
|
|
4753
|
-
|
|
4754
|
-
:root[data-theme="light"] .canvas-node.attention-focus-primary .node-titlebar {
|
|
4755
|
-
background:
|
|
4756
|
-
linear-gradient(90deg, rgba(75, 188, 255, 0.14), transparent 68%),
|
|
4757
|
-
var(--c-panel-soft);
|
|
4758
|
-
}
|
|
4759
|
-
|
|
4760
|
-
.canvas-node.attention-focus-secondary {
|
|
4761
|
-
box-shadow:
|
|
4762
|
-
0 0 0 1px color-mix(in srgb, var(--c-warn) 30%, transparent),
|
|
4763
|
-
0 8px 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4764
|
-
}
|
|
4765
|
-
|
|
4766
|
-
.canvas-node.attention-focus-secondary .node-type-badge {
|
|
4767
|
-
background: color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4768
|
-
color: color-mix(in srgb, var(--c-warn) 88%, var(--c-text) 12%);
|
|
4769
|
-
}
|
|
4770
|
-
|
|
4771
|
-
:root[data-theme="light"] .canvas-node.attention-focus-secondary {
|
|
4772
|
-
box-shadow:
|
|
4773
|
-
0 0 0 1px rgba(75, 188, 255, 0.32),
|
|
4774
|
-
0 8px 24px rgba(75, 188, 255, 0.12);
|
|
4775
|
-
}
|
|
4776
|
-
|
|
4777
|
-
:root[data-theme="light"] .canvas-node.attention-focus-secondary .node-type-badge {
|
|
4778
|
-
background: rgba(75, 188, 255, 0.12);
|
|
4779
|
-
color: #1588CE;
|
|
4811
|
+
.canvas-node.context-pinned .node-type-icon {
|
|
4812
|
+
color: var(--c-pin);
|
|
4780
4813
|
}
|
|
4781
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. */
|
|
4782
4817
|
.canvas-node.attention-pulse {
|
|
4783
4818
|
animation: attention-node-pulse 0.9s ease;
|
|
4784
4819
|
}
|
|
4785
4820
|
|
|
4786
|
-
:root[data-theme="light"] .canvas-node.attention-pulse {
|
|
4787
|
-
animation-name: attention-node-pulse-light;
|
|
4788
|
-
}
|
|
4789
|
-
|
|
4790
4821
|
@keyframes attention-node-pulse {
|
|
4791
4822
|
0% {
|
|
4792
4823
|
transform: translateZ(0) scale(1);
|
|
4793
|
-
box-shadow:
|
|
4794
|
-
0 0 0 0 color-mix(in srgb, var(--c-warn) 0%, transparent),
|
|
4795
|
-
0 4px 24px var(--c-shadow);
|
|
4796
4824
|
}
|
|
4797
4825
|
38% {
|
|
4798
4826
|
transform: translateZ(0) scale(1.012);
|
|
4799
4827
|
box-shadow:
|
|
4800
|
-
0 0 0 3px color-mix(in srgb, var(--c-
|
|
4801
|
-
|
|
4828
|
+
0 0 0 3px color-mix(in srgb, var(--c-accent) 35%, transparent),
|
|
4829
|
+
var(--e-1);
|
|
4802
4830
|
}
|
|
4803
4831
|
100% {
|
|
4804
4832
|
transform: translateZ(0) scale(1);
|
|
4805
4833
|
}
|
|
4806
4834
|
}
|
|
4807
4835
|
|
|
4808
|
-
@keyframes attention-node-pulse-light {
|
|
4809
|
-
0% {
|
|
4810
|
-
transform: translateZ(0) scale(1);
|
|
4811
|
-
box-shadow:
|
|
4812
|
-
0 0 0 0 rgba(75, 188, 255, 0),
|
|
4813
|
-
0 4px 24px var(--c-shadow);
|
|
4814
|
-
}
|
|
4815
|
-
38% {
|
|
4816
|
-
transform: translateZ(0) scale(1.012);
|
|
4817
|
-
box-shadow:
|
|
4818
|
-
0 0 0 3px rgba(75, 188, 255, 0.32),
|
|
4819
|
-
0 16px 34px rgba(75, 188, 255, 0.18);
|
|
4820
|
-
}
|
|
4821
|
-
100% {
|
|
4822
|
-
transform: translateZ(0) scale(1);
|
|
4823
|
-
}
|
|
4824
|
-
}
|
|
4825
|
-
|
|
4826
|
-
.attention-field-layer {
|
|
4827
|
-
position: absolute;
|
|
4828
|
-
inset: 0;
|
|
4829
|
-
pointer-events: none;
|
|
4830
|
-
z-index: 0;
|
|
4831
|
-
}
|
|
4832
|
-
|
|
4833
|
-
.attention-field-region,
|
|
4834
|
-
.attention-field-node {
|
|
4835
|
-
position: absolute;
|
|
4836
|
-
pointer-events: none;
|
|
4837
|
-
}
|
|
4838
|
-
|
|
4839
|
-
.attention-field-region {
|
|
4840
|
-
background:
|
|
4841
|
-
radial-gradient(circle at 25% 30%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 62%),
|
|
4842
|
-
linear-gradient(135deg, color-mix(in srgb, var(--c-warn) 10%, transparent), color-mix(in srgb, var(--c-accent) 5%, transparent));
|
|
4843
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 22%, transparent);
|
|
4844
|
-
opacity: 0.8;
|
|
4845
|
-
filter: blur(18px);
|
|
4846
|
-
}
|
|
4847
|
-
|
|
4848
|
-
.attention-field-node.attention-field-primary {
|
|
4849
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 38%, transparent);
|
|
4850
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 16%, transparent), transparent 72%);
|
|
4851
|
-
box-shadow: 0 0 38px color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4852
|
-
}
|
|
4853
|
-
|
|
4854
|
-
.attention-field-node.attention-field-secondary {
|
|
4855
|
-
border: 1px solid color-mix(in srgb, var(--c-warn) 18%, transparent);
|
|
4856
|
-
background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--c-warn) 9%, transparent), transparent 74%);
|
|
4857
|
-
box-shadow: 0 0 24px color-mix(in srgb, var(--c-warn) 10%, transparent);
|
|
4858
|
-
}
|
|
4859
|
-
|
|
4860
|
-
:root[data-theme="light"] .attention-field-region {
|
|
4861
|
-
background:
|
|
4862
|
-
radial-gradient(circle at 25% 30%, rgba(75, 188, 255, 0.16), transparent 62%),
|
|
4863
|
-
linear-gradient(135deg, rgba(75, 188, 255, 0.1), rgba(75, 188, 255, 0.05));
|
|
4864
|
-
border: 1px solid rgba(75, 188, 255, 0.22);
|
|
4865
|
-
}
|
|
4866
|
-
|
|
4867
|
-
:root[data-theme="light"] .attention-field-node.attention-field-primary {
|
|
4868
|
-
border: 1px solid rgba(75, 188, 255, 0.4);
|
|
4869
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.18), transparent 72%);
|
|
4870
|
-
box-shadow: 0 0 38px rgba(75, 188, 255, 0.2);
|
|
4871
|
-
}
|
|
4872
|
-
|
|
4873
|
-
:root[data-theme="light"] .attention-field-node.attention-field-secondary {
|
|
4874
|
-
border: 1px solid rgba(75, 188, 255, 0.18);
|
|
4875
|
-
background: radial-gradient(circle at 50% 50%, rgba(75, 188, 255, 0.1), transparent 74%);
|
|
4876
|
-
box-shadow: 0 0 24px rgba(75, 188, 255, 0.12);
|
|
4877
|
-
}
|
|
4878
|
-
|
|
4879
4836
|
/* Anchored to the canvas region (not the window): since the rail-chrome
|
|
4880
4837
|
restructure the session panel owns the window's right edge. */
|
|
4881
4838
|
.attention-toast {
|
|
@@ -4889,7 +4846,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4889
4846
|
padding: 6px 12px 6px 10px;
|
|
4890
4847
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4891
4848
|
backdrop-filter: blur(14px);
|
|
4892
|
-
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%);
|
|
4893
4850
|
border-radius: 12px;
|
|
4894
4851
|
box-shadow: 0 8px 22px var(--c-shadow);
|
|
4895
4852
|
color: var(--c-text);
|
|
@@ -4963,9 +4920,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4963
4920
|
padding: 14px;
|
|
4964
4921
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4965
4922
|
backdrop-filter: blur(16px);
|
|
4966
|
-
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%);
|
|
4967
4924
|
border-radius: 18px;
|
|
4968
|
-
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);
|
|
4969
4926
|
z-index: 9990;
|
|
4970
4927
|
}
|
|
4971
4928
|
|
|
@@ -4979,7 +4936,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4979
4936
|
padding: 8px 12px 8px 14px;
|
|
4980
4937
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
4981
4938
|
backdrop-filter: blur(16px);
|
|
4982
|
-
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%);
|
|
4983
4940
|
border-right: 0;
|
|
4984
4941
|
border-radius: 14px 0 0 14px;
|
|
4985
4942
|
box-shadow: 0 12px 36px var(--c-shadow);
|
|
@@ -5016,7 +4973,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5016
4973
|
align-items: center;
|
|
5017
4974
|
justify-content: center;
|
|
5018
4975
|
border-radius: 9px;
|
|
5019
|
-
background: var(--c-
|
|
4976
|
+
background: var(--c-accent);
|
|
5020
4977
|
color: var(--c-contrast-fg);
|
|
5021
4978
|
font-size: 10px;
|
|
5022
4979
|
font-weight: 700;
|
|
@@ -5115,16 +5072,16 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5115
5072
|
}
|
|
5116
5073
|
|
|
5117
5074
|
.attention-tone-context {
|
|
5118
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5075
|
+
border-color: color-mix(in srgb, var(--c-pin) 26%, transparent);
|
|
5119
5076
|
}
|
|
5120
5077
|
|
|
5121
5078
|
.attention-toast.attention-tone-context {
|
|
5122
|
-
color: color-mix(in srgb, var(--c-
|
|
5079
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5123
5080
|
}
|
|
5124
5081
|
|
|
5125
5082
|
.attention-tone-context .attention-history-kind,
|
|
5126
5083
|
.attention-tone-context .attention-toast-title {
|
|
5127
|
-
color: color-mix(in srgb, var(--c-
|
|
5084
|
+
color: color-mix(in srgb, var(--c-pin) 82%, var(--c-text) 18%);
|
|
5128
5085
|
}
|
|
5129
5086
|
|
|
5130
5087
|
.attention-tone-relationship {
|
|
@@ -5141,33 +5098,33 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5141
5098
|
}
|
|
5142
5099
|
|
|
5143
5100
|
.attention-tone-group {
|
|
5144
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5101
|
+
border-color: color-mix(in srgb, var(--c-accent) 24%, transparent);
|
|
5145
5102
|
}
|
|
5146
5103
|
|
|
5147
5104
|
.attention-toast.attention-tone-group {
|
|
5148
|
-
color: color-mix(in srgb, var(--c-
|
|
5105
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5149
5106
|
}
|
|
5150
5107
|
|
|
5151
5108
|
.attention-tone-group .attention-history-kind,
|
|
5152
5109
|
.attention-tone-group .attention-toast-title {
|
|
5153
|
-
color: color-mix(in srgb, var(--c-
|
|
5110
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5154
5111
|
}
|
|
5155
5112
|
|
|
5156
5113
|
.attention-tone-cluster,
|
|
5157
5114
|
.attention-tone-neighborhood {
|
|
5158
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5115
|
+
border-color: color-mix(in srgb, var(--c-accent) 22%, transparent);
|
|
5159
5116
|
}
|
|
5160
5117
|
|
|
5161
5118
|
.attention-toast.attention-tone-cluster,
|
|
5162
5119
|
.attention-toast.attention-tone-neighborhood {
|
|
5163
|
-
color: color-mix(in srgb, var(--c-
|
|
5120
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5164
5121
|
}
|
|
5165
5122
|
|
|
5166
5123
|
.attention-tone-cluster .attention-history-kind,
|
|
5167
5124
|
.attention-tone-cluster .attention-toast-title,
|
|
5168
5125
|
.attention-tone-neighborhood .attention-history-kind,
|
|
5169
5126
|
.attention-tone-neighborhood .attention-toast-title {
|
|
5170
|
-
color: color-mix(in srgb, var(--c-
|
|
5127
|
+
color: color-mix(in srgb, var(--c-accent) 78%, var(--c-text) 22%);
|
|
5171
5128
|
}
|
|
5172
5129
|
|
|
5173
5130
|
.attention-tone-remove {
|
|
@@ -5214,7 +5171,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5214
5171
|
background: color-mix(in srgb, var(--group-color, var(--c-accent)) 9%, transparent);
|
|
5215
5172
|
}
|
|
5216
5173
|
.canvas-node.group-node.is-drop-source {
|
|
5217
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5174
|
+
border-color: color-mix(in srgb, var(--c-accent) 60%, transparent);
|
|
5218
5175
|
}
|
|
5219
5176
|
.canvas-node.group-node .node-body {
|
|
5220
5177
|
background: none;
|
|
@@ -5271,7 +5228,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5271
5228
|
text-overflow: ellipsis;
|
|
5272
5229
|
}
|
|
5273
5230
|
.group-count {
|
|
5274
|
-
font: 9px var(--
|
|
5231
|
+
font: 9px var(--font-code);
|
|
5275
5232
|
color: var(--c-dim);
|
|
5276
5233
|
}
|
|
5277
5234
|
.group-title-input {
|
|
@@ -5407,10 +5364,11 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5407
5364
|
width: 6px;
|
|
5408
5365
|
height: 6px;
|
|
5409
5366
|
border-radius: 2px;
|
|
5367
|
+
background: var(--c-muted);
|
|
5410
5368
|
opacity: 0.8;
|
|
5411
5369
|
}
|
|
5412
5370
|
.group-chip-count {
|
|
5413
|
-
font: 9px var(--
|
|
5371
|
+
font: 9px var(--font-code);
|
|
5414
5372
|
color: var(--c-dim);
|
|
5415
5373
|
}
|
|
5416
5374
|
|
|
@@ -5434,7 +5392,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5434
5392
|
color: var(--c-accent);
|
|
5435
5393
|
}
|
|
5436
5394
|
.drop-pill-hint {
|
|
5437
|
-
font: 9px var(--
|
|
5395
|
+
font: 9px var(--font-code);
|
|
5438
5396
|
color: var(--c-dim);
|
|
5439
5397
|
}
|
|
5440
5398
|
|
|
@@ -5450,9 +5408,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5450
5408
|
padding: 8px 14px;
|
|
5451
5409
|
background: var(--c-panel-glass);
|
|
5452
5410
|
backdrop-filter: blur(12px);
|
|
5453
|
-
border: 1px solid var(--c-
|
|
5411
|
+
border: 1px solid var(--c-pin);
|
|
5454
5412
|
border-radius: var(--radius);
|
|
5455
|
-
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);
|
|
5456
5414
|
z-index: 64;
|
|
5457
5415
|
white-space: nowrap;
|
|
5458
5416
|
}
|
|
@@ -5460,35 +5418,35 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5460
5418
|
.context-pin-bar-count {
|
|
5461
5419
|
font-size: 12px;
|
|
5462
5420
|
font-weight: 600;
|
|
5463
|
-
color: var(--c-
|
|
5421
|
+
color: var(--c-pin);
|
|
5464
5422
|
}
|
|
5465
5423
|
|
|
5466
5424
|
.context-pin-bar-btn {
|
|
5467
5425
|
padding: 5px 12px;
|
|
5468
5426
|
font-size: 12px;
|
|
5469
5427
|
font-weight: 600;
|
|
5470
|
-
background: var(--c-
|
|
5471
|
-
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);
|
|
5472
5430
|
border-radius: var(--radius-sm);
|
|
5473
|
-
color: var(--c-
|
|
5431
|
+
color: var(--c-pin);
|
|
5474
5432
|
cursor: pointer;
|
|
5475
|
-
font-family: var(--font);
|
|
5433
|
+
font-family: var(--font-ui);
|
|
5476
5434
|
}
|
|
5477
5435
|
|
|
5478
5436
|
.context-pin-bar-btn:hover {
|
|
5479
|
-
background: var(--c-
|
|
5480
|
-
border-color: var(--c-
|
|
5437
|
+
background: color-mix(in srgb, var(--c-pin) 20%, transparent);
|
|
5438
|
+
border-color: var(--c-pin);
|
|
5481
5439
|
}
|
|
5482
5440
|
|
|
5483
5441
|
.context-pin-bar-ask {
|
|
5484
|
-
background: var(--c-
|
|
5485
|
-
color: var(--c-
|
|
5486
|
-
border-color: var(--c-
|
|
5442
|
+
background: var(--c-pin);
|
|
5443
|
+
color: var(--c-on-pin);
|
|
5444
|
+
border-color: var(--c-pin);
|
|
5487
5445
|
}
|
|
5488
5446
|
|
|
5489
5447
|
.context-pin-bar-ask:hover {
|
|
5490
|
-
background: var(--c-
|
|
5491
|
-
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));
|
|
5492
5450
|
}
|
|
5493
5451
|
|
|
5494
5452
|
.context-pin-bar-clear {
|
|
@@ -5530,7 +5488,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5530
5488
|
overflow: hidden;
|
|
5531
5489
|
}
|
|
5532
5490
|
.expanded-overlay-panel.is-pinned {
|
|
5533
|
-
border-color: color-mix(in srgb, var(--c-
|
|
5491
|
+
border-color: color-mix(in srgb, var(--c-pin) 45%, var(--c-line));
|
|
5534
5492
|
}
|
|
5535
5493
|
.expanded-header {
|
|
5536
5494
|
display: flex;
|
|
@@ -5573,7 +5531,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5573
5531
|
cursor: pointer;
|
|
5574
5532
|
}
|
|
5575
5533
|
.expanded-pin.is-on {
|
|
5576
|
-
color: var(--c-
|
|
5534
|
+
color: var(--c-pin);
|
|
5577
5535
|
}
|
|
5578
5536
|
.expanded-spacer {
|
|
5579
5537
|
flex: 1;
|
|
@@ -5607,12 +5565,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5607
5565
|
padding: 8px 16px;
|
|
5608
5566
|
border-top: 1px solid var(--c-line);
|
|
5609
5567
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
5610
|
-
font: 9.5px var(--
|
|
5568
|
+
font: 9.5px var(--font-code);
|
|
5611
5569
|
color: var(--c-dim);
|
|
5612
5570
|
flex-shrink: 0;
|
|
5613
5571
|
}
|
|
5614
5572
|
.expanded-footer-hint.is-saving {
|
|
5615
|
-
color: var(--c-
|
|
5573
|
+
color: var(--c-muted);
|
|
5616
5574
|
}
|
|
5617
5575
|
.expanded-actions {
|
|
5618
5576
|
display: flex;
|
|
@@ -5629,7 +5587,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5629
5587
|
border-radius: var(--radius-sm);
|
|
5630
5588
|
color: var(--c-text-soft);
|
|
5631
5589
|
cursor: pointer;
|
|
5632
|
-
font-family: var(--font);
|
|
5590
|
+
font-family: var(--font-ui);
|
|
5633
5591
|
}
|
|
5634
5592
|
|
|
5635
5593
|
.expanded-action-btn:hover {
|
|
@@ -5639,25 +5597,25 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5639
5597
|
}
|
|
5640
5598
|
|
|
5641
5599
|
.expanded-action-btn.expanded-action-primary {
|
|
5642
|
-
background: var(--c-accent
|
|
5643
|
-
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);
|
|
5644
5602
|
color: var(--c-accent);
|
|
5645
5603
|
}
|
|
5646
5604
|
|
|
5647
5605
|
.expanded-action-btn.expanded-action-primary:hover {
|
|
5648
|
-
background: var(--c-accent
|
|
5606
|
+
background: color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
5649
5607
|
border-color: var(--c-accent);
|
|
5650
5608
|
color: var(--c-text);
|
|
5651
5609
|
}
|
|
5652
5610
|
|
|
5653
5611
|
.expanded-action-btn.expanded-action-active {
|
|
5654
|
-
background: var(--c-warn
|
|
5655
|
-
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);
|
|
5656
5614
|
color: var(--c-warn);
|
|
5657
5615
|
}
|
|
5658
5616
|
|
|
5659
5617
|
.expanded-action-btn.expanded-action-active:hover {
|
|
5660
|
-
background: var(--c-warn
|
|
5618
|
+
background: color-mix(in srgb, var(--c-warn) 20%, transparent);
|
|
5661
5619
|
border-color: var(--c-warn);
|
|
5662
5620
|
}
|
|
5663
5621
|
|
|
@@ -5674,7 +5632,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5674
5632
|
display: flex;
|
|
5675
5633
|
padding: 0;
|
|
5676
5634
|
background:
|
|
5677
|
-
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),
|
|
5678
5636
|
rgba(3, 7, 18, 0.96);
|
|
5679
5637
|
color: var(--c-text);
|
|
5680
5638
|
}
|
|
@@ -5691,7 +5649,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5691
5649
|
box-shadow: 0 18px 50px var(--c-shadow-heavy);
|
|
5692
5650
|
color: var(--c-text-soft);
|
|
5693
5651
|
cursor: pointer;
|
|
5694
|
-
font: 600 12px/1 var(--font);
|
|
5652
|
+
font: 600 12px/1 var(--font-ui);
|
|
5695
5653
|
opacity: 0;
|
|
5696
5654
|
pointer-events: none;
|
|
5697
5655
|
transform: translateY(-6px);
|
|
@@ -5726,24 +5684,119 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5726
5684
|
border-radius: 0 !important;
|
|
5727
5685
|
}
|
|
5728
5686
|
|
|
5729
|
-
/* ── Context pin
|
|
5730
|
-
|
|
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 {
|
|
5731
5723
|
color: var(--c-muted);
|
|
5732
|
-
|
|
5733
|
-
|
|
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);
|
|
5734
5729
|
}
|
|
5735
5730
|
|
|
5736
|
-
.
|
|
5737
|
-
|
|
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;
|
|
5738
5758
|
}
|
|
5739
5759
|
|
|
5740
|
-
|
|
5741
|
-
|
|
5742
|
-
|
|
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);
|
|
5774
|
+
}
|
|
5775
|
+
|
|
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);
|
|
5743
5794
|
}
|
|
5744
5795
|
|
|
5745
|
-
|
|
5746
|
-
color:
|
|
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);
|
|
5747
5800
|
}
|
|
5748
5801
|
|
|
5749
5802
|
/* ── Context pin HUD — top-right pill ────────────────────────── */
|
|
@@ -5754,7 +5807,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5754
5807
|
padding: 5px 10px;
|
|
5755
5808
|
background: var(--c-panel-glass);
|
|
5756
5809
|
backdrop-filter: blur(12px);
|
|
5757
|
-
border: 1px solid var(--c-
|
|
5810
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5758
5811
|
border-radius: var(--radius);
|
|
5759
5812
|
white-space: nowrap;
|
|
5760
5813
|
}
|
|
@@ -5762,7 +5815,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5762
5815
|
.context-pin-hud-label {
|
|
5763
5816
|
font-size: 11px;
|
|
5764
5817
|
font-weight: 600;
|
|
5765
|
-
color: var(--c-
|
|
5818
|
+
color: var(--c-pin);
|
|
5766
5819
|
}
|
|
5767
5820
|
|
|
5768
5821
|
.context-pin-hud-clear {
|
|
@@ -5786,7 +5839,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5786
5839
|
|
|
5787
5840
|
.thread-turn-assistant {
|
|
5788
5841
|
padding: 6px 0;
|
|
5789
|
-
border-left: 2px solid var(--c-ok
|
|
5842
|
+
border-left: 2px solid color-mix(in srgb, var(--c-ok) 20%, transparent);
|
|
5790
5843
|
padding-left: 10px;
|
|
5791
5844
|
margin-left: 2px;
|
|
5792
5845
|
overflow: hidden;
|
|
@@ -5948,7 +6001,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5948
6001
|
border-radius: 7px;
|
|
5949
6002
|
background: var(--c-panel);
|
|
5950
6003
|
color: var(--c-text);
|
|
5951
|
-
font: 11.5px var(--font);
|
|
6004
|
+
font: 11.5px var(--font-ui);
|
|
5952
6005
|
}
|
|
5953
6006
|
.snapshot-name-input:focus {
|
|
5954
6007
|
outline: 2px solid var(--c-accent);
|
|
@@ -6006,8 +6059,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6006
6059
|
border-radius: 10px;
|
|
6007
6060
|
}
|
|
6008
6061
|
.snapshot-item.is-session {
|
|
6009
|
-
border-color: color-mix(in srgb, var(--c-
|
|
6010
|
-
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);
|
|
6011
6064
|
}
|
|
6012
6065
|
.snapshot-item-head {
|
|
6013
6066
|
display: flex;
|
|
@@ -6018,7 +6071,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6018
6071
|
width: 7px;
|
|
6019
6072
|
height: 7px;
|
|
6020
6073
|
border-radius: 50%;
|
|
6021
|
-
background: var(--c-
|
|
6074
|
+
background: var(--c-agent);
|
|
6022
6075
|
flex-shrink: 0;
|
|
6023
6076
|
}
|
|
6024
6077
|
.snapshot-item-glyph {
|
|
@@ -6040,7 +6093,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6040
6093
|
color: var(--c-text);
|
|
6041
6094
|
}
|
|
6042
6095
|
.snapshot-item-time {
|
|
6043
|
-
font: 9px var(--
|
|
6096
|
+
font: 9px var(--font-code);
|
|
6044
6097
|
color: var(--c-dim);
|
|
6045
6098
|
}
|
|
6046
6099
|
.snapshot-item-meta {
|
|
@@ -6155,7 +6208,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6155
6208
|
outline: none;
|
|
6156
6209
|
background: none;
|
|
6157
6210
|
color: var(--c-text);
|
|
6158
|
-
font: 13px var(--font);
|
|
6211
|
+
font: 13px var(--font-ui);
|
|
6159
6212
|
}
|
|
6160
6213
|
.command-palette-input::placeholder {
|
|
6161
6214
|
color: var(--c-dim);
|
|
@@ -6165,7 +6218,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6165
6218
|
padding: 1px 6px;
|
|
6166
6219
|
border: 1px solid var(--c-line);
|
|
6167
6220
|
border-radius: 4px;
|
|
6168
|
-
font: 9.5px var(--
|
|
6221
|
+
font: 9.5px var(--font-code);
|
|
6169
6222
|
color: var(--c-muted);
|
|
6170
6223
|
}
|
|
6171
6224
|
.command-palette-esc {
|
|
@@ -6223,7 +6276,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6223
6276
|
color: var(--c-accent);
|
|
6224
6277
|
}
|
|
6225
6278
|
.command-palette-icon.tone-purple {
|
|
6226
|
-
color: var(--c-
|
|
6279
|
+
color: var(--c-agent);
|
|
6227
6280
|
}
|
|
6228
6281
|
.command-palette-icon.tone-muted {
|
|
6229
6282
|
color: var(--c-muted);
|
|
@@ -6251,7 +6304,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6251
6304
|
padding: 8px 14px;
|
|
6252
6305
|
border-top: 1px solid var(--c-line);
|
|
6253
6306
|
background: color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
6254
|
-
font: 9.5px var(--
|
|
6307
|
+
font: 9.5px var(--font-code);
|
|
6255
6308
|
color: var(--c-dim);
|
|
6256
6309
|
}
|
|
6257
6310
|
.command-palette-hint-spacer {
|
|
@@ -6308,7 +6361,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6308
6361
|
border: 1px solid var(--c-line);
|
|
6309
6362
|
border-radius: 3px;
|
|
6310
6363
|
padding: 0 4px;
|
|
6311
|
-
font-family: var(--font);
|
|
6364
|
+
font-family: var(--font-ui);
|
|
6312
6365
|
font-size: 9px;
|
|
6313
6366
|
line-height: 1.6;
|
|
6314
6367
|
margin: 0 2px;
|
|
@@ -6349,7 +6402,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6349
6402
|
border: 1px solid var(--c-line);
|
|
6350
6403
|
border-radius: 4px;
|
|
6351
6404
|
padding: 2px 7px;
|
|
6352
|
-
font-family: var(--
|
|
6405
|
+
font-family: var(--font-code);
|
|
6353
6406
|
font-size: 11px;
|
|
6354
6407
|
color: var(--c-text);
|
|
6355
6408
|
white-space: nowrap;
|
|
@@ -6431,7 +6484,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6431
6484
|
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
6432
6485
|
}
|
|
6433
6486
|
.empty-state-action.is-agent:hover {
|
|
6434
|
-
border-color: color-mix(in srgb, var(--c-
|
|
6487
|
+
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
6435
6488
|
}
|
|
6436
6489
|
.empty-state-action .tone-accent {
|
|
6437
6490
|
color: var(--c-accent);
|
|
@@ -6443,7 +6496,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6443
6496
|
color: var(--c-ok);
|
|
6444
6497
|
}
|
|
6445
6498
|
.empty-state-action .tone-purple {
|
|
6446
|
-
color: var(--c-
|
|
6499
|
+
color: var(--c-agent);
|
|
6447
6500
|
}
|
|
6448
6501
|
.empty-state-action-label {
|
|
6449
6502
|
flex: 1;
|
|
@@ -6454,7 +6507,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6454
6507
|
padding: 1px 6px;
|
|
6455
6508
|
border: 1px solid var(--c-line);
|
|
6456
6509
|
border-radius: 4px;
|
|
6457
|
-
font: 9.5px var(--
|
|
6510
|
+
font: 9.5px var(--font-code);
|
|
6458
6511
|
color: var(--c-dim);
|
|
6459
6512
|
}
|
|
6460
6513
|
.empty-state-action-hint {
|
|
@@ -6465,7 +6518,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6465
6518
|
background: none;
|
|
6466
6519
|
border: none;
|
|
6467
6520
|
padding: 0;
|
|
6468
|
-
font: 10.5px var(--
|
|
6521
|
+
font: 10.5px var(--font-code);
|
|
6469
6522
|
color: var(--c-dim);
|
|
6470
6523
|
cursor: pointer;
|
|
6471
6524
|
}
|
|
@@ -6497,8 +6550,6 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6497
6550
|
animation: none !important;
|
|
6498
6551
|
}
|
|
6499
6552
|
|
|
6500
|
-
.attention-field-region,
|
|
6501
|
-
.attention-field-node,
|
|
6502
6553
|
.canvas-node {
|
|
6503
6554
|
transition: none !important;
|
|
6504
6555
|
}
|
|
@@ -6599,7 +6650,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6599
6650
|
}
|
|
6600
6651
|
|
|
6601
6652
|
.image-node-error-path {
|
|
6602
|
-
font-family: var(--
|
|
6653
|
+
font-family: var(--font-code);
|
|
6603
6654
|
font-size: 10px;
|
|
6604
6655
|
color: var(--c-muted);
|
|
6605
6656
|
word-break: break-all;
|
|
@@ -6708,8 +6759,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6708
6759
|
.intent-ghost-box {
|
|
6709
6760
|
border: 1.5px dashed var(--c-accent);
|
|
6710
6761
|
border-radius: 10px;
|
|
6711
|
-
background: var(--c-accent
|
|
6712
|
-
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);
|
|
6713
6764
|
animation: intent-breathe 2.1s ease-in-out infinite;
|
|
6714
6765
|
overflow: visible;
|
|
6715
6766
|
}
|
|
@@ -6738,8 +6789,8 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6738
6789
|
}
|
|
6739
6790
|
|
|
6740
6791
|
@keyframes intent-breathe {
|
|
6741
|
-
0%, 100% { box-shadow: 0 0 0 1px var(--c-accent
|
|
6742
|
-
50% { box-shadow: 0 0 0 1px var(--c-accent
|
|
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); }
|
|
6743
6794
|
}
|
|
6744
6795
|
|
|
6745
6796
|
/* remove — a red crosshatch tombstone over the target */
|
|
@@ -6760,7 +6811,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6760
6811
|
.intent-ghost-edit {
|
|
6761
6812
|
border: 1.5px dashed var(--c-accent);
|
|
6762
6813
|
border-radius: 10px;
|
|
6763
|
-
background: var(--c-accent
|
|
6814
|
+
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
6764
6815
|
overflow: visible;
|
|
6765
6816
|
}
|
|
6766
6817
|
|
|
@@ -6808,7 +6859,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6808
6859
|
border-radius: 999px;
|
|
6809
6860
|
background: color-mix(in srgb, var(--c-panel-glass) 96%, transparent);
|
|
6810
6861
|
backdrop-filter: blur(10px);
|
|
6811
|
-
border: 1px solid var(--c-accent
|
|
6862
|
+
border: 1px solid color-mix(in srgb, var(--c-accent) 25%, transparent);
|
|
6812
6863
|
box-shadow: 0 4px 14px var(--c-shadow);
|
|
6813
6864
|
color: var(--c-text);
|
|
6814
6865
|
font-size: 12px;
|
|
@@ -6898,7 +6949,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6898
6949
|
}
|
|
6899
6950
|
|
|
6900
6951
|
.intent-edge.type-flow { stroke: var(--c-accent); }
|
|
6901
|
-
.intent-edge.type-depends-on { stroke: var(--c-
|
|
6952
|
+
.intent-edge.type-depends-on { stroke: var(--c-rel-informs); }
|
|
6902
6953
|
.intent-edge.type-relation { stroke: var(--c-muted); }
|
|
6903
6954
|
.intent-edge.type-references { stroke: var(--c-dim); }
|
|
6904
6955
|
|
|
@@ -7037,8 +7088,8 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7037
7088
|
.board-switcher-menu .toolbar-menu-item { padding: 10px; gap: 12px; }
|
|
7038
7089
|
.board-switcher-menu .toolbar-menu-item:hover,
|
|
7039
7090
|
.board-switcher-menu .toolbar-menu-item:focus-visible {
|
|
7040
|
-
background: var(--c-accent
|
|
7041
|
-
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);
|
|
7042
7093
|
outline: none;
|
|
7043
7094
|
}
|
|
7044
7095
|
.board-switcher-icon { display: flex; align-items: center; justify-content: center; width: 20px; flex-shrink: 0; color: var(--c-accent); font-size: 22px; }
|
|
@@ -7150,7 +7201,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7150
7201
|
white-space: nowrap;
|
|
7151
7202
|
}
|
|
7152
7203
|
.home-board-meta {
|
|
7153
|
-
font: 11px var(--
|
|
7204
|
+
font: 11px var(--font-code);
|
|
7154
7205
|
color: var(--c-text-soft);
|
|
7155
7206
|
}
|
|
7156
7207
|
.home-board-confirm-text {
|
|
@@ -7283,7 +7334,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7283
7334
|
}
|
|
7284
7335
|
.home-section-folder { color: var(--c-dim); }
|
|
7285
7336
|
.home-section-count {
|
|
7286
|
-
font: 11px var(--
|
|
7337
|
+
font: 11px var(--font-code);
|
|
7287
7338
|
text-transform: none;
|
|
7288
7339
|
color: var(--c-dim);
|
|
7289
7340
|
margin-left: auto;
|
|
@@ -7348,7 +7399,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7348
7399
|
.board-copy-card span { display: flex; flex-direction: column; min-width: 0; }
|
|
7349
7400
|
.board-copy-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
|
|
7350
7401
|
.board-copy-card small,
|
|
7351
|
-
.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); }
|
|
7352
7403
|
.board-copy-options { font-size: 13px; }
|
|
7353
7404
|
.board-copy-options label { display: flex; gap: 8px; align-items: center; }
|
|
7354
7405
|
.board-copy-note,
|
|
@@ -7432,7 +7483,7 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7432
7483
|
background: var(--c-panel);
|
|
7433
7484
|
z-index: 1;
|
|
7434
7485
|
}
|
|
7435
|
-
.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; }
|
|
7436
7487
|
.attachment-review h4 { margin-bottom: 6px; }
|
|
7437
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); }
|
|
7438
7489
|
@media (max-width: 640px) {
|