pmx-canvas 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/extensions/pmx-canvas/runtime.json +1 -1
- package/.github/extensions/pmx-canvas/tools.json +601 -22
- package/CHANGELOG.md +66 -0
- package/Readme.md +131 -532
- package/dist/canvas/global.css +2759 -510
- package/dist/canvas/index.js +168 -107
- package/dist/canvas/mcp-app.html +2936 -632
- package/dist/json-render/index.css +81 -1
- package/dist/json-render/index.js +20 -20
- package/dist/types/client/canvas/BarHint.d.ts +12 -2
- package/dist/types/client/canvas/BoardLinkDialog.d.ts +3 -1
- package/dist/types/client/canvas/BoardPinButton.d.ts +10 -0
- package/dist/types/client/canvas/BoardSwitcher.d.ts +1 -1
- package/dist/types/client/canvas/CanvasViewport.d.ts +1 -1
- package/dist/types/client/canvas/CommandBar.d.ts +3 -4
- package/dist/types/client/canvas/ConnectionBanner.d.ts +2 -1
- package/dist/types/client/canvas/ContextChip.d.ts +3 -0
- package/dist/types/client/canvas/CrossBoardReferences.d.ts +5 -0
- package/dist/types/client/canvas/EdgeLayer.d.ts +14 -3
- package/dist/types/client/canvas/EmptyState.d.ts +4 -4
- package/dist/types/client/canvas/HomeGraphView.d.ts +2 -0
- package/dist/types/client/canvas/HomeMapView.d.ts +1 -0
- package/dist/types/client/canvas/HomeReviewView.d.ts +6 -0
- package/dist/types/client/canvas/HomeView.d.ts +9 -7
- package/dist/types/client/canvas/KnowledgeDialog.d.ts +4 -0
- package/dist/types/client/canvas/LifecycleChrome.d.ts +5 -0
- package/dist/types/client/canvas/LifecycleFields.d.ts +7 -0
- package/dist/types/client/canvas/LifecyclePanel.d.ts +1 -0
- package/dist/types/client/canvas/MemoryInspector.d.ts +7 -0
- package/dist/types/client/canvas/NearPinLayer.d.ts +14 -0
- package/dist/types/client/canvas/NodeContextMark.d.ts +40 -7
- package/dist/types/client/canvas/RelationPresetsDialog.d.ts +4 -0
- package/dist/types/client/canvas/RelationsPanel.d.ts +4 -0
- package/dist/types/client/canvas/SessionPanel.d.ts +2 -0
- package/dist/types/client/canvas/canvas-area.d.ts +1 -1
- package/dist/types/client/canvas/graph-geometry.d.ts +27 -0
- package/dist/types/client/canvas/graph-model.d.ts +37 -0
- package/dist/types/client/canvas/memory-layout.d.ts +23 -0
- package/dist/types/client/canvas/use-chrome-height.d.ts +2 -0
- package/dist/types/client/canvas/use-focus-trap.d.ts +1 -0
- package/dist/types/client/canvas/use-memory-graph.d.ts +8 -0
- package/dist/types/client/canvas/use-pan-zoom.d.ts +4 -1
- package/dist/types/client/icons.d.ts +0 -10
- package/dist/types/client/nodes/AxStepControls.d.ts +1 -1
- package/dist/types/client/nodes/HtmlNode.d.ts +1 -0
- package/dist/types/client/nodes/InlineMarkdownEditor.d.ts +4 -4
- package/dist/types/client/nodes/MarkdownNode.d.ts +5 -1
- package/dist/types/client/nodes/McpAppNode.d.ts +4 -4
- package/dist/types/client/nodes/viewer-runtime-state.d.ts +1 -1
- package/dist/types/client/state/boards-store.d.ts +81 -9
- package/dist/types/client/state/canvas-store.d.ts +14 -1
- package/dist/types/client/state/context-chip-store.d.ts +22 -0
- package/dist/types/client/state/context-status-store.d.ts +35 -0
- package/dist/types/client/state/intent-bridge.d.ts +11 -8
- package/dist/types/client/state/knowledge-store.d.ts +22 -0
- package/dist/types/client/state/near-pin-store.d.ts +44 -1
- package/dist/types/client/state/presence-store.d.ts +4 -4
- package/dist/types/client/state/presentation.d.ts +28 -0
- package/dist/types/client/state/relation-store.d.ts +10 -0
- package/dist/types/client/state/session-store.d.ts +41 -2
- package/dist/types/client/state/workspace-settings.d.ts +7 -0
- package/dist/types/client/types.d.ts +13 -1
- package/dist/types/client/utils/keyboard.d.ts +2 -0
- package/dist/types/client/utils/time-ago.d.ts +4 -0
- package/dist/types/mcp/context-uri-template.d.ts +3 -1
- package/dist/types/server/agent-presence.d.ts +10 -3
- package/dist/types/server/ax-context.d.ts +1 -1
- package/dist/types/server/canvas-db.d.ts +30 -7
- package/dist/types/server/canvas-operations.d.ts +24 -2
- package/dist/types/server/canvas-provenance.d.ts +22 -2
- package/dist/types/server/canvas-serialization.d.ts +2 -0
- package/dist/types/server/canvas-state.d.ts +93 -15
- package/dist/types/server/canvas-validation.d.ts +1 -1
- package/dist/types/server/context-brief.d.ts +94 -6
- package/dist/types/server/context-reads.d.ts +33 -7
- package/dist/types/server/edit-summary.d.ts +20 -0
- package/dist/types/server/index.d.ts +71 -10
- package/dist/types/server/knowledge-lifecycle.d.ts +221 -0
- package/dist/types/server/lifecycle-status.d.ts +10 -0
- package/dist/types/server/memory-graph.d.ts +9 -0
- package/dist/types/server/mutation-history.d.ts +2 -0
- package/dist/types/server/operations/ops/ax-shared.d.ts +1 -1
- package/dist/types/server/operations/ops/boards.d.ts +2 -1
- package/dist/types/server/operations/ops/lifecycle.d.ts +2 -0
- package/dist/types/server/operations/ops/memory-graph.d.ts +2 -0
- package/dist/types/server/operations/ops/nodes.d.ts +5 -0
- package/dist/types/server/operations/ops/query.d.ts +23 -0
- package/dist/types/server/operations/registry.d.ts +1 -0
- package/dist/types/server/placement.d.ts +7 -0
- package/dist/types/server/scope-fence.d.ts +2 -1
- package/dist/types/server/spatial-analysis.d.ts +6 -3
- package/dist/types/server/tour-control.d.ts +32 -0
- package/dist/types/server/wiki-links.d.ts +14 -0
- package/dist/types/server/workbench-auth.d.ts +2 -0
- package/dist/types/shared/agent-context.d.ts +2 -0
- package/dist/types/shared/agent-presence.d.ts +15 -12
- package/dist/types/shared/auto-arrange.d.ts +1 -0
- package/dist/types/shared/boards.d.ts +4 -4
- package/dist/types/shared/knowledge-lifecycle.d.ts +41 -0
- package/dist/types/shared/knowledge-presets.d.ts +6 -0
- package/dist/types/shared/lifecycle-status.d.ts +24 -0
- package/dist/types/shared/memory-graph.d.ts +53 -0
- package/dist/types/shared/relations.d.ts +68 -0
- package/dist/types/shared/semantic-attention.d.ts +2 -0
- package/dist/types/shared/tour.d.ts +38 -0
- package/dist/types/shared/workspace-settings.d.ts +11 -0
- package/docs/RELEASE.md +21 -3
- package/docs/adr-001-bun-only-runtime.md +7 -1
- package/docs/adr-002-shared-product-separate-runtimes.md +93 -0
- package/docs/api-reference.md +109 -0
- package/docs/ax-host-adapter-contract.md +1 -1
- package/docs/ax-state-contract.md +5 -4
- package/docs/cli.md +153 -15
- package/docs/demos/pmx-canvas-demo.mp4 +0 -0
- package/docs/design/AgentContext.dc.html +3 -3
- package/docs/design/BoardPins.dc.html +37 -22
- package/docs/design/Categories.dc.html +208 -0
- package/docs/design/CategoryEditor.dc.html +33 -0
- package/docs/design/Chrome.dc.html +55 -9
- package/docs/design/ContextChip.dc.html +224 -0
- package/docs/design/ContextChip600.dc.html +136 -0
- package/docs/design/EmptyState.dc.html +45 -0
- package/docs/design/Flows.dc.html +23 -1
- package/docs/design/HeaderMarks.dc.html +183 -0
- package/docs/design/Home.dc.html +19 -1
- package/docs/design/HomeGraph.dc.html +86 -202
- package/docs/design/HomeMap.dc.html +23 -1
- package/docs/design/HomeTeam.dc.html +32 -14
- package/docs/design/Lifecycle.dc.html +22 -0
- package/docs/design/Lifecycle600.dc.html +18 -0
- package/docs/design/LifecycleVariants.dc.html +157 -0
- package/docs/design/LinkAuthorship.dc.html +139 -0
- package/docs/design/LinksChanged.dc.html +203 -0
- package/docs/design/LinksOptions.dc.html +137 -0
- package/docs/design/LinksOptions600.dc.html +134 -0
- package/docs/design/NearPin.dc.html +9 -10
- package/docs/design/Pane600.dc.html +4 -3
- package/docs/design/Relations.dc.html +3 -2
- package/docs/design/Restore.dc.html +152 -0
- package/docs/design/SeeChange.dc.html +267 -0
- package/docs/design/Uses.dc.html +12 -6
- package/docs/design/canvas.json +146 -19
- package/docs/design.md +454 -18
- package/docs/environment.md +0 -1
- package/docs/evals/curation-effect.md +128 -0
- package/docs/http-api.md +465 -38
- package/docs/mcp.md +150 -19
- package/docs/node-types.md +58 -3
- package/docs/plans/design-gaps-2026-10-08.md +53 -0
- package/docs/plans/plan-009-tech-debt-backlog.md +379 -0
- package/docs/plans/plan-016-context-made-visible-wave-1.md +150 -5
- package/docs/plans/plan-017-knowledge-categories-and-lifecycle.md +175 -0
- package/docs/plans/plan-018-connected-memory-wave-2.md +594 -0
- package/docs/plans/plan-019-post-0.9-roadmap.md +198 -0
- package/docs/product-context-vision-2026-09.md +17 -1
- package/docs/product-vision-2026-09.md +1082 -43
- package/docs/product-vision-review-2026-09.md +13 -1
- package/docs/screenshots/workbench-live-dark.png +0 -0
- package/docs/screenshots/workbench-live-light.png +0 -0
- package/docs/sdk.md +62 -2
- package/package.json +1 -1
- package/plugins/pmx-canvas/com.github.copilot/extensions/pmx-canvas/runtime.json +1 -1
- package/plugins/pmx-canvas/plugin.json +1 -1
- package/plugins/pmx-canvas/runtime.json +1 -1
- package/plugins/pmx-canvas/tools.json +601 -22
- package/skills/pmx-canvas/SKILL.md +234 -43
- package/skills/pmx-canvas/evals/evals.json +62 -0
- package/skills/pmx-canvas/references/ax-html-control-surface.md +6 -0
- package/skills/pmx-canvas/references/full-reference.md +120 -21
- package/skills/pmx-canvas/references/github-copilot-app-adapter.md +2 -2
- package/skills/pmx-canvas/references/importing-context.md +132 -0
- package/skills/pmx-canvas/references/installing-pmx-canvas.md +6 -6
- package/skills/pmx-canvas/references/tours-and-recording.md +16 -1
- package/skills/pmx-canvas-testing/SKILL.md +20 -0
- package/src/cli/agent.ts +2 -0
- package/src/cli/commands/ax.ts +12 -0
- package/src/cli/commands/boards.ts +87 -11
- package/src/cli/commands/edges.ts +28 -0
- package/src/cli/commands/groups.ts +7 -0
- package/src/cli/commands/nodes.ts +4 -2
- package/src/cli/commands/query.ts +34 -2
- package/src/cli/commands/record.ts +199 -48
- package/src/cli/index.ts +7 -1
- package/src/client/App.tsx +177 -70
- package/src/client/canvas/AttentionHistory.tsx +0 -2
- package/src/client/canvas/BarHint.tsx +40 -2
- package/src/client/canvas/BoardCopyDialog.tsx +1 -1
- package/src/client/canvas/BoardFolderDialog.tsx +7 -7
- package/src/client/canvas/BoardLinkDialog.tsx +138 -33
- package/src/client/canvas/BoardPinButton.tsx +33 -0
- package/src/client/canvas/BoardSwitcher.tsx +26 -40
- package/src/client/canvas/CanvasNode.tsx +360 -237
- package/src/client/canvas/CanvasViewport.tsx +45 -7
- package/src/client/canvas/CommandBar.tsx +29 -23
- package/src/client/canvas/CommandPalette.tsx +5 -12
- package/src/client/canvas/ConnectionBanner.tsx +3 -3
- package/src/client/canvas/ContextChip.tsx +296 -0
- package/src/client/canvas/ContextMenu.tsx +63 -5
- package/src/client/canvas/CrossBoardReferences.tsx +60 -0
- package/src/client/canvas/EdgeLayer.tsx +339 -76
- package/src/client/canvas/EmptyState.tsx +33 -18
- package/src/client/canvas/ExpandedNodeOverlay.tsx +72 -40
- package/src/client/canvas/ExternalWriters.tsx +57 -42
- package/src/client/canvas/HomeGraphView.tsx +942 -0
- package/src/client/canvas/HomeMapView.tsx +641 -0
- package/src/client/canvas/HomeReviewView.tsx +167 -0
- package/src/client/canvas/HomeView.tsx +687 -160
- package/src/client/canvas/IntentLayer.tsx +19 -12
- package/src/client/canvas/KnowledgeDialog.tsx +488 -0
- package/src/client/canvas/LifecycleChrome.tsx +133 -0
- package/src/client/canvas/LifecycleFields.tsx +91 -0
- package/src/client/canvas/LifecyclePanel.tsx +533 -0
- package/src/client/canvas/MemoryInspector.tsx +104 -0
- package/src/client/canvas/Minimap.tsx +3 -3
- package/src/client/canvas/NearPinLayer.tsx +187 -0
- package/src/client/canvas/NodeContextMark.tsx +175 -97
- package/src/client/canvas/Presentation.tsx +23 -57
- package/src/client/canvas/RelationPresetsDialog.tsx +413 -0
- package/src/client/canvas/RelationsPanel.tsx +82 -0
- package/src/client/canvas/SelectionBar.tsx +3 -6
- package/src/client/canvas/SessionPanel.tsx +90 -50
- package/src/client/canvas/SessionReceipt.tsx +311 -39
- package/src/client/canvas/ShortcutOverlay.tsx +1 -1
- package/src/client/canvas/SnapshotPanel.tsx +27 -36
- package/src/client/canvas/ToolRail.tsx +367 -192
- package/src/client/canvas/TopBar.tsx +354 -124
- package/src/client/canvas/canvas-area.ts +10 -3
- package/src/client/canvas/graph-geometry.ts +195 -0
- package/src/client/canvas/graph-model.ts +254 -0
- package/src/client/canvas/memory-layout.ts +106 -0
- package/src/client/canvas/use-chrome-height.ts +20 -0
- package/src/client/canvas/use-focus-trap.ts +31 -5
- package/src/client/canvas/use-memory-graph.ts +58 -0
- package/src/client/canvas/use-node-drag.ts +2 -1
- package/src/client/canvas/use-pan-zoom.ts +64 -7
- package/src/client/icons.tsx +0 -63
- package/src/client/mcp-app/style.css +0 -6
- package/src/client/nodes/AxStepControls.tsx +74 -50
- package/src/client/nodes/BoardNode.tsx +5 -1
- package/src/client/nodes/ContextNode.tsx +18 -11
- package/src/client/nodes/ExtAppFrame.tsx +0 -1
- package/src/client/nodes/FileNode.tsx +46 -42
- package/src/client/nodes/HtmlNode.tsx +44 -2
- package/src/client/nodes/ImageNode.tsx +1 -1
- package/src/client/nodes/InlineFormatBar.tsx +6 -9
- package/src/client/nodes/InlineMarkdownEditor.tsx +56 -17
- package/src/client/nodes/MarkdownNode.tsx +377 -109
- package/src/client/nodes/McpAppNode.tsx +50 -20
- package/src/client/nodes/MdFormatBar.tsx +21 -18
- package/src/client/nodes/PromptNode.tsx +1 -1
- package/src/client/nodes/ResponseNode.tsx +1 -1
- package/src/client/nodes/viewer-runtime-state.ts +54 -22
- package/src/client/state/attention-bridge.ts +64 -15
- package/src/client/state/boards-store.ts +193 -39
- package/src/client/state/canvas-store.ts +99 -12
- package/src/client/state/context-chip-store.ts +70 -0
- package/src/client/state/context-status-store.ts +53 -0
- package/src/client/state/intent-bridge.ts +51 -30
- package/src/client/state/knowledge-store.ts +43 -0
- package/src/client/state/near-pin-store.ts +115 -6
- package/src/client/state/presence-store.ts +7 -10
- package/src/client/state/presentation.ts +91 -0
- package/src/client/state/relation-store.ts +81 -0
- package/src/client/state/session-store.ts +144 -18
- package/src/client/state/sse-bridge.ts +206 -29
- package/src/client/state/workspace-settings.ts +11 -0
- package/src/client/theme/global.css +2759 -510
- package/src/client/types.ts +12 -0
- package/src/client/utils/keyboard.ts +10 -0
- package/src/client/utils/time-ago.ts +14 -0
- package/src/json-render/renderer/index.css +6 -1
- package/src/json-render/renderer/index.tsx +31 -1
- package/src/mcp/canvas-app.ts +12 -2
- package/src/mcp/context-uri-template.ts +7 -4
- package/src/mcp/server.ts +63 -41
- package/src/mcp/workbench-app.ts +39 -6
- package/src/server/agent-presence.ts +128 -28
- package/src/server/ax-context.ts +27 -13
- package/src/server/board-export.ts +12 -1
- package/src/server/canvas-db.ts +331 -42
- package/src/server/canvas-operations.ts +196 -84
- package/src/server/canvas-provenance.ts +53 -22
- package/src/server/canvas-serialization.ts +2 -0
- package/src/server/canvas-state.ts +950 -122
- package/src/server/canvas-validation.ts +9 -2
- package/src/server/context-brief.ts +345 -38
- package/src/server/context-reads.ts +179 -30
- package/src/server/demo-state.json +355 -24
- package/src/server/edit-summary.ts +74 -0
- package/src/server/html-surface.ts +8 -1
- package/src/server/index.ts +203 -13
- package/src/server/knowledge-lifecycle.ts +304 -0
- package/src/server/lifecycle-status.ts +232 -0
- package/src/server/memory-graph.ts +166 -0
- package/src/server/mutation-history.ts +18 -6
- package/src/server/operations/composites.ts +32 -11
- package/src/server/operations/http.ts +7 -2
- package/src/server/operations/index.ts +4 -0
- package/src/server/operations/mcp.ts +32 -1
- package/src/server/operations/ops/ax-presence.ts +1 -1
- package/src/server/operations/ops/ax-read.ts +57 -6
- package/src/server/operations/ops/ax-timeline.ts +28 -2
- package/src/server/operations/ops/backup.ts +5 -3
- package/src/server/operations/ops/batch.ts +35 -4
- package/src/server/operations/ops/boards.ts +188 -47
- package/src/server/operations/ops/canvas-wire.ts +31 -1
- package/src/server/operations/ops/edges.ts +36 -2
- package/src/server/operations/ops/groups.ts +6 -1
- package/src/server/operations/ops/json-render.ts +5 -1
- package/src/server/operations/ops/lifecycle.ts +262 -0
- package/src/server/operations/ops/memory-graph.ts +45 -0
- package/src/server/operations/ops/nodes.ts +107 -24
- package/src/server/operations/ops/query.ts +281 -68
- package/src/server/operations/ops/snapshots.ts +73 -1
- package/src/server/operations/ops/validate.ts +5 -1
- package/src/server/operations/ops/viewport.ts +97 -3
- package/src/server/operations/registry.ts +77 -26
- package/src/server/placement.ts +29 -0
- package/src/server/scope-fence.ts +78 -6
- package/src/server/server.ts +115 -16
- package/src/server/spatial-analysis.ts +48 -23
- package/src/server/tour-control.ts +82 -0
- package/src/server/wiki-links.ts +137 -0
- package/src/server/workbench-auth.ts +11 -0
- package/src/shared/agent-context.ts +3 -0
- package/src/shared/agent-presence.ts +15 -15
- package/src/shared/auto-arrange.ts +2 -0
- package/src/shared/boards.ts +4 -4
- package/src/shared/knowledge-lifecycle.ts +22 -0
- package/src/shared/knowledge-presets.ts +80 -0
- package/src/shared/lifecycle-status.ts +26 -0
- package/src/shared/memory-graph.ts +74 -0
- package/src/shared/relations.ts +98 -0
- package/src/shared/semantic-attention.ts +15 -1
- package/src/shared/tour.ts +23 -5
- package/src/shared/workspace-settings.ts +13 -0
- package/dist/types/client/canvas/ContextPinBar.d.ts +0 -1
- package/dist/types/client/canvas/FocusFieldLayer.d.ts +0 -1
- package/dist/types/client/canvas/kind-colors.d.ts +0 -3
- package/dist/types/server/agent-context.d.ts +0 -22
- package/src/client/canvas/ContextPinBar.tsx +0 -25
|
@@ -558,6 +558,16 @@ body,
|
|
|
558
558
|
background: var(--c-muted);
|
|
559
559
|
}
|
|
560
560
|
|
|
561
|
+
/* An owner must never establish a stacking context. Card bodies own their
|
|
562
|
+
z-order; their sibling port hitboxes sit below every body in the world. */
|
|
563
|
+
.canvas-node-owner {
|
|
564
|
+
position: absolute;
|
|
565
|
+
pointer-events: none;
|
|
566
|
+
}
|
|
567
|
+
.canvas-node-owner > .canvas-node {
|
|
568
|
+
pointer-events: auto;
|
|
569
|
+
}
|
|
570
|
+
|
|
561
571
|
/* Node card shared styles */
|
|
562
572
|
.canvas-node {
|
|
563
573
|
position: absolute;
|
|
@@ -571,7 +581,7 @@ body,
|
|
|
571
581
|
display: flex;
|
|
572
582
|
flex-direction: column;
|
|
573
583
|
overflow: visible;
|
|
574
|
-
transition: box-shadow 0.15s ease;
|
|
584
|
+
transition: box-shadow 0.15s ease, opacity 0.15s ease;
|
|
575
585
|
contain: layout style;
|
|
576
586
|
}
|
|
577
587
|
|
|
@@ -601,7 +611,7 @@ body,
|
|
|
601
611
|
.canvas-node.neighbor {
|
|
602
612
|
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
603
613
|
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);
|
|
604
|
-
transition: border-color 0.2s, box-shadow 0.2s;
|
|
614
|
+
transition: border-color 0.2s, box-shadow 0.2s, opacity 0.15s ease;
|
|
605
615
|
}
|
|
606
616
|
|
|
607
617
|
/* Spatial search highlighting — canvas lights up as you type in Cmd+K */
|
|
@@ -629,35 +639,50 @@ body,
|
|
|
629
639
|
place-items: center;
|
|
630
640
|
opacity: 0;
|
|
631
641
|
cursor: crosshair;
|
|
632
|
-
z-index:
|
|
642
|
+
z-index: var(--node-port-z, -1);
|
|
633
643
|
touch-action: none;
|
|
634
644
|
transition: opacity 0.15s;
|
|
635
|
-
pointer-events:
|
|
645
|
+
pointer-events: none;
|
|
636
646
|
}
|
|
637
|
-
.node-port
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
647
|
+
.node-port-dot {
|
|
648
|
+
position: absolute;
|
|
649
|
+
pointer-events: none;
|
|
650
|
+
width: calc(8px * var(--node-port-scale, 1));
|
|
651
|
+
height: calc(8px * var(--node-port-scale, 1));
|
|
641
652
|
border-radius: 50%;
|
|
642
653
|
background: var(--c-accent);
|
|
643
654
|
border: calc(2px * var(--node-port-scale, 1)) solid var(--c-panel);
|
|
644
655
|
box-shadow: 0 0 0 calc(1px * var(--node-port-scale, 1)) var(--c-accent);
|
|
656
|
+
opacity: 0;
|
|
657
|
+
transition: opacity 0.15s;
|
|
658
|
+
z-index: 10;
|
|
659
|
+
}
|
|
660
|
+
.canvas-node-owner:hover > .node-port,
|
|
661
|
+
.canvas-node-owner:has(> .canvas-node.selected) > .node-port,
|
|
662
|
+
.canvas-node-owner:focus-within > .node-port {
|
|
663
|
+
opacity: 1;
|
|
664
|
+
pointer-events: auto;
|
|
645
665
|
}
|
|
646
|
-
.canvas-node:hover .node-port,
|
|
647
|
-
.canvas-node.selected .node-port,
|
|
648
|
-
.canvas-node:focus-within .node-port {
|
|
666
|
+
.canvas-node-owner:hover .node-port-dot,
|
|
667
|
+
.canvas-node.selected .node-port-dot,
|
|
668
|
+
.canvas-node:focus-within .node-port-dot {
|
|
649
669
|
opacity: 1;
|
|
650
670
|
}
|
|
651
|
-
.node-port:hover
|
|
671
|
+
.canvas-node-owner:has(> .node-port-top:hover) .node-port-dot-top,
|
|
672
|
+
.canvas-node-owner:has(> .node-port-right:hover) .node-port-dot-right,
|
|
673
|
+
.canvas-node-owner:has(> .node-port-bottom:hover) .node-port-dot-bottom,
|
|
674
|
+
.canvas-node-owner:has(> .node-port-left:hover) .node-port-dot-left {
|
|
652
675
|
background: var(--c-accent-hover);
|
|
653
676
|
}
|
|
654
|
-
/*
|
|
655
|
-
.node-port-top { top: 0; left: 50%; transform: translate(-50%, -
|
|
656
|
-
.node-port-bottom { bottom: 0; left: 50%; transform: translate(-50%,
|
|
657
|
-
.node-port-top
|
|
658
|
-
.node-port-
|
|
659
|
-
.node-port-
|
|
660
|
-
.node-port-
|
|
677
|
+
/* Grab outside the card; even at low zoom its title and controls own their pixels. */
|
|
678
|
+
.node-port-top { top: 0; left: 50%; transform: translate(-50%, -100%); }
|
|
679
|
+
.node-port-bottom { bottom: 0; left: 50%; transform: translate(-50%, 100%); }
|
|
680
|
+
.node-port-left { left: 0; top: 50%; transform: translate(-100%, -50%); }
|
|
681
|
+
.node-port-right { right: 0; top: 50%; transform: translate(100%, -50%); }
|
|
682
|
+
.node-port-dot-top { top: 0; left: 50%; transform: translate(-50%, -50%); }
|
|
683
|
+
.node-port-dot-bottom { bottom: 0; left: 50%; transform: translate(-50%, 50%); }
|
|
684
|
+
.node-port-dot-left { left: 0; top: 50%; transform: translate(-50%, -50%); }
|
|
685
|
+
.node-port-dot-right { right: 0; top: 50%; transform: translate(50%, -50%); }
|
|
661
686
|
|
|
662
687
|
.canvas-node .node-titlebar {
|
|
663
688
|
display: flex;
|
|
@@ -683,14 +708,13 @@ body,
|
|
|
683
708
|
overflow: hidden;
|
|
684
709
|
text-overflow: ellipsis;
|
|
685
710
|
flex: 1;
|
|
686
|
-
/* The
|
|
687
|
-
|
|
688
|
-
the pressure and collapsed to an ellipsis on narrow nodes. */
|
|
689
|
-
min-width: 9ch;
|
|
711
|
+
/* The title's floor is kept by folding the header's chip (HeaderMarks.dc.html,
|
|
712
|
+
CanvasNode useHeaderFold), not by a CSS minimum. */
|
|
690
713
|
min-width: 0;
|
|
691
714
|
}
|
|
692
715
|
|
|
693
716
|
.canvas-node .node-type-icon {
|
|
717
|
+
position: relative;
|
|
694
718
|
display: inline-flex;
|
|
695
719
|
align-items: center;
|
|
696
720
|
justify-content: center;
|
|
@@ -775,14 +799,15 @@ body,
|
|
|
775
799
|
}
|
|
776
800
|
|
|
777
801
|
/* ⋯ and × appear on hover or keyboard focus; expand and the context pin
|
|
778
|
-
always show (docs/design/Chrome.dc.html).
|
|
802
|
+
always show (docs/design/Chrome.dc.html). Reserve their slots so revealing
|
|
803
|
+
them cannot move the pin out from under the pointer onto Close. */
|
|
779
804
|
.canvas-node .node-controls .node-hover-control {
|
|
780
|
-
|
|
805
|
+
visibility: hidden;
|
|
781
806
|
}
|
|
782
807
|
|
|
783
808
|
.canvas-node:hover .node-controls .node-hover-control,
|
|
784
809
|
.canvas-node:focus-within .node-controls .node-hover-control {
|
|
785
|
-
|
|
810
|
+
visibility: visible;
|
|
786
811
|
}
|
|
787
812
|
|
|
788
813
|
.canvas-node .node-body {
|
|
@@ -1009,6 +1034,8 @@ body,
|
|
|
1009
1034
|
.app-main {
|
|
1010
1035
|
flex: 1;
|
|
1011
1036
|
min-width: 0;
|
|
1037
|
+
min-height: 0;
|
|
1038
|
+
container-type: inline-size;
|
|
1012
1039
|
display: flex;
|
|
1013
1040
|
flex-direction: column;
|
|
1014
1041
|
}
|
|
@@ -1065,6 +1092,154 @@ body,
|
|
|
1065
1092
|
min-width: 0;
|
|
1066
1093
|
}
|
|
1067
1094
|
|
|
1095
|
+
/* The right-hand group never shrinks: the context summary stays top-right at
|
|
1096
|
+
every width while the left side (board name) ellipsizes. Narrow bars
|
|
1097
|
+
collapse by step instead (ContextChip600.dc.html): meta text, then the
|
|
1098
|
+
actions into ⋯ More, then the agent chip and Start session to icons. */
|
|
1099
|
+
.top-bar-right {
|
|
1100
|
+
display: flex;
|
|
1101
|
+
align-items: center;
|
|
1102
|
+
gap: 12px;
|
|
1103
|
+
flex-shrink: 0;
|
|
1104
|
+
}
|
|
1105
|
+
.top-bar-actions {
|
|
1106
|
+
display: contents;
|
|
1107
|
+
}
|
|
1108
|
+
.top-bar-more {
|
|
1109
|
+
position: relative;
|
|
1110
|
+
display: none;
|
|
1111
|
+
}
|
|
1112
|
+
.top-bar.is-folded .top-bar-actions,
|
|
1113
|
+
.top-bar.is-folded > .hud-collapsible-text {
|
|
1114
|
+
display: none;
|
|
1115
|
+
}
|
|
1116
|
+
.top-bar.is-folded .top-bar-more {
|
|
1117
|
+
display: inline-flex;
|
|
1118
|
+
}
|
|
1119
|
+
.top-bar.is-compact {
|
|
1120
|
+
gap: 4px;
|
|
1121
|
+
padding-inline: 8px;
|
|
1122
|
+
}
|
|
1123
|
+
.top-bar.is-compact .top-bar-right {
|
|
1124
|
+
gap: 4px;
|
|
1125
|
+
margin-left: auto;
|
|
1126
|
+
}
|
|
1127
|
+
.top-bar.is-compact .board-switcher {
|
|
1128
|
+
min-width: 56px;
|
|
1129
|
+
}
|
|
1130
|
+
.top-bar.is-compact .board-switcher-button {
|
|
1131
|
+
gap: 2px;
|
|
1132
|
+
padding-inline: 2px;
|
|
1133
|
+
}
|
|
1134
|
+
.top-bar.is-compact .agent-chips {
|
|
1135
|
+
gap: 4px;
|
|
1136
|
+
}
|
|
1137
|
+
.top-bar.is-compact .context-chip {
|
|
1138
|
+
gap: 4px;
|
|
1139
|
+
padding-inline: 4px;
|
|
1140
|
+
}
|
|
1141
|
+
.top-bar.is-compact .top-bar-spacer,
|
|
1142
|
+
.top-bar.is-folded .top-bar-sep {
|
|
1143
|
+
display: none;
|
|
1144
|
+
}
|
|
1145
|
+
.top-bar.is-compact .agent-chip {
|
|
1146
|
+
padding: 0;
|
|
1147
|
+
border: none;
|
|
1148
|
+
background: none;
|
|
1149
|
+
}
|
|
1150
|
+
.top-bar.is-compact .start-session-btn {
|
|
1151
|
+
padding: 5px 6px;
|
|
1152
|
+
}
|
|
1153
|
+
.top-bar.is-compact .external-indicator {
|
|
1154
|
+
gap: 4px;
|
|
1155
|
+
padding: 4px 6px;
|
|
1156
|
+
}
|
|
1157
|
+
.top-bar.is-compact .agent-chip > :not(.agent-chip-initial),
|
|
1158
|
+
.top-bar.is-compact .external-indicator-label,
|
|
1159
|
+
.top-bar.is-compact .external-indicator-ops,
|
|
1160
|
+
.top-bar.is-compact .start-session-label,
|
|
1161
|
+
.top-bar.is-compact .start-session-btn .beta-tag,
|
|
1162
|
+
.top-bar.is-compact .context-chip-cost {
|
|
1163
|
+
display: none;
|
|
1164
|
+
}
|
|
1165
|
+
.top-bar.is-compact .agent-chip-initial {
|
|
1166
|
+
display: inline-flex;
|
|
1167
|
+
}
|
|
1168
|
+
.top-bar.is-compact .agent-chip-initial .agent-chip-dot {
|
|
1169
|
+
position: absolute;
|
|
1170
|
+
right: -2px;
|
|
1171
|
+
bottom: -2px;
|
|
1172
|
+
width: 8px;
|
|
1173
|
+
height: 8px;
|
|
1174
|
+
box-shadow: 0 0 0 2px var(--c-panel);
|
|
1175
|
+
}
|
|
1176
|
+
.top-bar-more-menu {
|
|
1177
|
+
position: absolute;
|
|
1178
|
+
top: calc(100% + 8px);
|
|
1179
|
+
right: 0;
|
|
1180
|
+
min-width: 180px;
|
|
1181
|
+
z-index: 60;
|
|
1182
|
+
}
|
|
1183
|
+
@media (max-width: 980px) {
|
|
1184
|
+
.top-bar-actions {
|
|
1185
|
+
display: none;
|
|
1186
|
+
}
|
|
1187
|
+
.top-bar-more {
|
|
1188
|
+
display: inline-flex;
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
.agent-chip-initial {
|
|
1192
|
+
display: none;
|
|
1193
|
+
position: relative;
|
|
1194
|
+
width: 24px;
|
|
1195
|
+
height: 24px;
|
|
1196
|
+
padding: 0;
|
|
1197
|
+
border: none;
|
|
1198
|
+
border-radius: 999px;
|
|
1199
|
+
align-items: center;
|
|
1200
|
+
justify-content: center;
|
|
1201
|
+
background: color-mix(in srgb, var(--c-agent) 16%, transparent);
|
|
1202
|
+
box-shadow: inset 0 0 0 1.5px var(--c-agent);
|
|
1203
|
+
color: var(--c-agent);
|
|
1204
|
+
font: 600 11px var(--font-ui);
|
|
1205
|
+
cursor: pointer;
|
|
1206
|
+
}
|
|
1207
|
+
@media (max-width: 760px) {
|
|
1208
|
+
.top-bar-right {
|
|
1209
|
+
gap: 8px;
|
|
1210
|
+
}
|
|
1211
|
+
.agent-chip-label,
|
|
1212
|
+
.agent-chip-workers,
|
|
1213
|
+
.start-session-label,
|
|
1214
|
+
.start-session-btn .beta-tag,
|
|
1215
|
+
.context-chip-cost,
|
|
1216
|
+
.context-panel-wide {
|
|
1217
|
+
display: none;
|
|
1218
|
+
}
|
|
1219
|
+
/* ContextChip600.dc.html: "7 in context C ⋯" — the agent chip shrinks to its
|
|
1220
|
+
initial and follows the summary; ⋯ comes last. */
|
|
1221
|
+
.top-bar-right > .context-chip-wrap {
|
|
1222
|
+
order: 1;
|
|
1223
|
+
}
|
|
1224
|
+
.top-bar-right > .agent-chips {
|
|
1225
|
+
order: 2;
|
|
1226
|
+
}
|
|
1227
|
+
.top-bar-right > .top-bar-more {
|
|
1228
|
+
order: 3;
|
|
1229
|
+
}
|
|
1230
|
+
.agent-chip {
|
|
1231
|
+
padding: 0;
|
|
1232
|
+
border: none;
|
|
1233
|
+
background: none;
|
|
1234
|
+
}
|
|
1235
|
+
.agent-chip > :not(.agent-chip-initial) {
|
|
1236
|
+
display: none;
|
|
1237
|
+
}
|
|
1238
|
+
.agent-chip-initial {
|
|
1239
|
+
display: inline-flex;
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1068
1243
|
.top-bar-sep {
|
|
1069
1244
|
width: 1px;
|
|
1070
1245
|
height: 20px;
|
|
@@ -1112,9 +1287,22 @@ body,
|
|
|
1112
1287
|
|
|
1113
1288
|
.canvas-region {
|
|
1114
1289
|
flex: 1;
|
|
1290
|
+
min-width: 0;
|
|
1115
1291
|
min-height: 0;
|
|
1116
1292
|
position: relative;
|
|
1117
1293
|
overflow: hidden;
|
|
1294
|
+
container: canvas / inline-size;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
.workspace { display: flex; flex: 1; min-width: 0; min-height: 0; overflow: hidden; }
|
|
1298
|
+
.lifecycle-dock { flex: 0 0 380px; min-width: 0; min-height: 0; border-left: 1px solid var(--c-line); background: var(--c-panel); }
|
|
1299
|
+
.lifecycle-dock .knowledge-dialog.lifecycle-dialog { width: 100%; height: 100%; max-height: 100%; border: 0; border-radius: 0; box-shadow: none; }
|
|
1300
|
+
.lifecycle-dock .knowledge-dialog header { position: sticky; top: -16px; z-index: 1; padding-top: 12px; background: var(--c-panel); }
|
|
1301
|
+
.workspace.is-reviewing .expanded-overlay-backdrop { padding: 12px; background: var(--c-bg); }
|
|
1302
|
+
@container (max-width: 900px) {
|
|
1303
|
+
.workspace.is-reviewing { flex-direction: column; }
|
|
1304
|
+
.lifecycle-dock { flex: 0 0 46%; border-left: 0; border-top: 1px solid var(--c-line); }
|
|
1305
|
+
.workspace.is-reviewing .expanded-overlay-backdrop { padding: 8px; }
|
|
1118
1306
|
}
|
|
1119
1307
|
|
|
1120
1308
|
/* ── Agent presence (rail-chrome-v2 phase 3) ────────────────────
|
|
@@ -1212,6 +1400,25 @@ body,
|
|
|
1212
1400
|
white-space: nowrap;
|
|
1213
1401
|
min-width: 0;
|
|
1214
1402
|
}
|
|
1403
|
+
.agent-chip-touches {
|
|
1404
|
+
height: 20px;
|
|
1405
|
+
padding: 0 8px;
|
|
1406
|
+
border: 1px solid color-mix(in srgb, var(--c-agent) 35%, transparent);
|
|
1407
|
+
border-radius: 999px;
|
|
1408
|
+
background: transparent;
|
|
1409
|
+
color: var(--c-agent);
|
|
1410
|
+
font: 500 11px var(--font-ui);
|
|
1411
|
+
white-space: nowrap;
|
|
1412
|
+
cursor: pointer;
|
|
1413
|
+
}
|
|
1414
|
+
.agent-chip-touches:hover,
|
|
1415
|
+
.agent-chip-touches.is-on {
|
|
1416
|
+
background: color-mix(in srgb, var(--c-agent) 16%, transparent);
|
|
1417
|
+
}
|
|
1418
|
+
.agent-chip-touches:focus-visible {
|
|
1419
|
+
outline: 2px solid var(--c-accent);
|
|
1420
|
+
outline-offset: 2px;
|
|
1421
|
+
}
|
|
1215
1422
|
.agent-chip-who {
|
|
1216
1423
|
font: 10px var(--font-code);
|
|
1217
1424
|
font-weight: 400;
|
|
@@ -1304,6 +1511,65 @@ body,
|
|
|
1304
1511
|
.agent-chip {
|
|
1305
1512
|
border-left: 3px solid var(--identity-color, transparent);
|
|
1306
1513
|
}
|
|
1514
|
+
/* SeeChange.dc.html: the narrow avatar keeps its ring and phase dot;
|
|
1515
|
+
live counts and the lens live in a popover outside the chip's clip. */
|
|
1516
|
+
@media (max-width: 760px) {
|
|
1517
|
+
.agent-chip {
|
|
1518
|
+
padding: 0;
|
|
1519
|
+
border: none;
|
|
1520
|
+
background: none;
|
|
1521
|
+
}
|
|
1522
|
+
.agent-chips {
|
|
1523
|
+
overflow: visible;
|
|
1524
|
+
}
|
|
1525
|
+
.agent-chips .toolbar-tooltip {
|
|
1526
|
+
display: none;
|
|
1527
|
+
}
|
|
1528
|
+
.agent-chip-initial .agent-chip-dot {
|
|
1529
|
+
position: absolute;
|
|
1530
|
+
right: -2px;
|
|
1531
|
+
bottom: -2px;
|
|
1532
|
+
width: 8px;
|
|
1533
|
+
height: 8px;
|
|
1534
|
+
box-shadow: 0 0 0 2px var(--c-panel);
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
.agent-session-popover {
|
|
1538
|
+
--presence-color: var(--c-agent);
|
|
1539
|
+
position: fixed;
|
|
1540
|
+
z-index: 10020;
|
|
1541
|
+
width: 240px;
|
|
1542
|
+
padding: var(--space-3);
|
|
1543
|
+
box-sizing: border-box;
|
|
1544
|
+
display: flex;
|
|
1545
|
+
flex-direction: column;
|
|
1546
|
+
align-items: flex-start;
|
|
1547
|
+
gap: var(--space-2);
|
|
1548
|
+
border: 1px solid var(--c-line);
|
|
1549
|
+
border-radius: var(--r-overlay);
|
|
1550
|
+
background: var(--c-panel);
|
|
1551
|
+
box-shadow: var(--e-2);
|
|
1552
|
+
color: var(--c-text);
|
|
1553
|
+
font-size: var(--fs-ui);
|
|
1554
|
+
}
|
|
1555
|
+
.agent-session-popover.phase-idle {
|
|
1556
|
+
--presence-color: var(--c-dim);
|
|
1557
|
+
}
|
|
1558
|
+
.agent-session-popover.phase-waiting-approval {
|
|
1559
|
+
--presence-color: var(--c-warn);
|
|
1560
|
+
}
|
|
1561
|
+
.agent-session-popover-head {
|
|
1562
|
+
display: flex;
|
|
1563
|
+
align-items: center;
|
|
1564
|
+
gap: var(--space-2);
|
|
1565
|
+
}
|
|
1566
|
+
.agent-session-counts {
|
|
1567
|
+
padding: 4px 10px;
|
|
1568
|
+
border-radius: var(--r-pill);
|
|
1569
|
+
background: color-mix(in srgb, var(--c-agent) 14%, transparent);
|
|
1570
|
+
color: var(--c-agent);
|
|
1571
|
+
font-weight: 500;
|
|
1572
|
+
}
|
|
1307
1573
|
.minimap-presence {
|
|
1308
1574
|
background: var(--identity-color, var(--presence-color));
|
|
1309
1575
|
}
|
|
@@ -1358,7 +1624,9 @@ body,
|
|
|
1358
1624
|
|
|
1359
1625
|
/* The node an attached agent is editing right now: the violet agent bar
|
|
1360
1626
|
across the top of the header (docs/design/Context.dc.html). */
|
|
1361
|
-
.canvas-node.agent-mutating .node-titlebar
|
|
1627
|
+
.canvas-node.agent-mutating .node-titlebar,
|
|
1628
|
+
/* AgentContext.dc.html: "violet bar for the session" on cards the agent edited. */
|
|
1629
|
+
.canvas-node.session-edited .node-titlebar {
|
|
1362
1630
|
box-shadow: inset 0 2.5px 0 var(--c-agent);
|
|
1363
1631
|
}
|
|
1364
1632
|
|
|
@@ -1928,6 +2196,64 @@ body,
|
|
|
1928
2196
|
letter-spacing: 0;
|
|
1929
2197
|
}
|
|
1930
2198
|
|
|
2199
|
+
/* Context stays useful with Agent sessions off, without the composer. */
|
|
2200
|
+
.context-pin-bar {
|
|
2201
|
+
position: absolute;
|
|
2202
|
+
left: 50%;
|
|
2203
|
+
bottom: 18px;
|
|
2204
|
+
transform: translateX(-50%);
|
|
2205
|
+
display: flex;
|
|
2206
|
+
align-items: center;
|
|
2207
|
+
gap: 8px;
|
|
2208
|
+
box-sizing: border-box;
|
|
2209
|
+
height: 34px;
|
|
2210
|
+
padding: 0 6px 0 12px;
|
|
2211
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
2212
|
+
border-radius: var(--r-pill);
|
|
2213
|
+
background: var(--c-panel);
|
|
2214
|
+
color: var(--c-pin);
|
|
2215
|
+
box-shadow: 0 10px 30px var(--c-shadow);
|
|
2216
|
+
font: 500 12px var(--font-ui);
|
|
2217
|
+
white-space: nowrap;
|
|
2218
|
+
z-index: 65;
|
|
2219
|
+
}
|
|
2220
|
+
.context-pin-bar button {
|
|
2221
|
+
display: flex;
|
|
2222
|
+
align-items: center;
|
|
2223
|
+
justify-content: center;
|
|
2224
|
+
width: 22px;
|
|
2225
|
+
height: 22px;
|
|
2226
|
+
padding: 0;
|
|
2227
|
+
border: 0;
|
|
2228
|
+
border-radius: var(--r-pill);
|
|
2229
|
+
background: color-mix(in srgb, var(--c-pin) 14%, transparent);
|
|
2230
|
+
color: var(--c-pin);
|
|
2231
|
+
cursor: pointer;
|
|
2232
|
+
}
|
|
2233
|
+
.context-pin-bar button:hover {
|
|
2234
|
+
background: color-mix(in srgb, var(--c-pin) 24%, transparent);
|
|
2235
|
+
}
|
|
2236
|
+
.canvas-region:has(> .context-pin-bar) > .selection-bar {
|
|
2237
|
+
bottom: 62px;
|
|
2238
|
+
}
|
|
2239
|
+
@container canvas (max-width: 1200px) {
|
|
2240
|
+
.canvas-region:has(> .selection-bar) > .minimap {
|
|
2241
|
+
bottom: calc(28px + var(--selection-bar-height));
|
|
2242
|
+
}
|
|
2243
|
+
.canvas-region:has(> .context-pin-bar) > .minimap {
|
|
2244
|
+
bottom: 62px;
|
|
2245
|
+
}
|
|
2246
|
+
.canvas-region:has(> .context-pin-bar):has(> .selection-bar) > .minimap {
|
|
2247
|
+
bottom: calc(72px + var(--selection-bar-height));
|
|
2248
|
+
}
|
|
2249
|
+
.canvas-region:has(> .command-bar:not([hidden])) > .minimap {
|
|
2250
|
+
bottom: calc(28px + var(--command-bar-height));
|
|
2251
|
+
}
|
|
2252
|
+
.canvas-region:has(> .command-bar:not([hidden])):has(> .selection-bar) > .minimap {
|
|
2253
|
+
bottom: calc(38px + var(--command-bar-height) + var(--selection-bar-height));
|
|
2254
|
+
}
|
|
2255
|
+
}
|
|
2256
|
+
|
|
1931
2257
|
/* ── Command bar (rail-chrome-v2 phase 5) ─────────────────────
|
|
1932
2258
|
The human's steering surface while a session is attached: the design's
|
|
1933
2259
|
floating composer, centered at the bottom of the canvas region, with the
|
|
@@ -1959,13 +2285,9 @@ body,
|
|
|
1959
2285
|
border: 1px solid color-mix(in srgb, var(--c-pin) 35%, transparent);
|
|
1960
2286
|
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
1961
2287
|
color: var(--c-pin);
|
|
1962
|
-
font-size:
|
|
2288
|
+
font-size: 11px;
|
|
1963
2289
|
font-weight: 600;
|
|
1964
2290
|
}
|
|
1965
|
-
.command-bar-chip-glyph {
|
|
1966
|
-
font-size: 10px;
|
|
1967
|
-
line-height: 1;
|
|
1968
|
-
}
|
|
1969
2291
|
.command-bar-chip-label {
|
|
1970
2292
|
overflow: hidden;
|
|
1971
2293
|
text-overflow: ellipsis;
|
|
@@ -2116,53 +2438,6 @@ body,
|
|
|
2116
2438
|
cursor: default;
|
|
2117
2439
|
}
|
|
2118
2440
|
|
|
2119
|
-
/* Context-budget meter in the top bar (session-only) */
|
|
2120
|
-
.context-budget {
|
|
2121
|
-
--tone: var(--c-ok);
|
|
2122
|
-
display: inline-flex;
|
|
2123
|
-
align-items: center;
|
|
2124
|
-
gap: 8px;
|
|
2125
|
-
flex-shrink: 0;
|
|
2126
|
-
}
|
|
2127
|
-
.context-budget.tone-warn {
|
|
2128
|
-
--tone: var(--c-warn);
|
|
2129
|
-
}
|
|
2130
|
-
.context-budget.tone-danger {
|
|
2131
|
-
--tone: var(--c-danger);
|
|
2132
|
-
}
|
|
2133
|
-
.context-budget-caption {
|
|
2134
|
-
font-size: 10px;
|
|
2135
|
-
font-weight: 600;
|
|
2136
|
-
letter-spacing: 0.06em;
|
|
2137
|
-
text-transform: uppercase;
|
|
2138
|
-
color: var(--c-muted);
|
|
2139
|
-
}
|
|
2140
|
-
.context-budget-track {
|
|
2141
|
-
display: block;
|
|
2142
|
-
width: 72px;
|
|
2143
|
-
height: 5px;
|
|
2144
|
-
border-radius: 3px;
|
|
2145
|
-
background: var(--c-line);
|
|
2146
|
-
overflow: hidden;
|
|
2147
|
-
}
|
|
2148
|
-
.context-budget-fill {
|
|
2149
|
-
display: block;
|
|
2150
|
-
height: 100%;
|
|
2151
|
-
border-radius: 3px;
|
|
2152
|
-
background: var(--c-accent);
|
|
2153
|
-
transition: width 180ms ease;
|
|
2154
|
-
}
|
|
2155
|
-
.context-budget.tone-warn .context-budget-fill,
|
|
2156
|
-
.context-budget.tone-danger .context-budget-fill {
|
|
2157
|
-
background: var(--tone);
|
|
2158
|
-
}
|
|
2159
|
-
.context-budget-label {
|
|
2160
|
-
font: 11px var(--font-code);
|
|
2161
|
-
color: var(--c-text-soft);
|
|
2162
|
-
min-width: 30px;
|
|
2163
|
-
text-align: right;
|
|
2164
|
-
}
|
|
2165
|
-
|
|
2166
2441
|
/* ── External Steering (rail-chrome-v2 phase 6) ───────────────
|
|
2167
2442
|
External writers, no session: a passive top-bar indicator, the activity
|
|
2168
2443
|
feed popover under it, and the connected-writers sheet. Quiet otherwise. */
|
|
@@ -2623,6 +2898,7 @@ body,
|
|
|
2623
2898
|
.session-panel button:focus-visible,
|
|
2624
2899
|
.session-panel input:focus-visible,
|
|
2625
2900
|
.command-bar button:focus-visible,
|
|
2901
|
+
.context-pin-bar button:focus-visible,
|
|
2626
2902
|
.command-bar-input:focus-visible,
|
|
2627
2903
|
.selection-bar button:focus-visible,
|
|
2628
2904
|
.activity-feed button:focus-visible,
|
|
@@ -2673,23 +2949,13 @@ body,
|
|
|
2673
2949
|
.start-session-dot {
|
|
2674
2950
|
animation: none;
|
|
2675
2951
|
}
|
|
2676
|
-
.command-palette,
|
|
2677
|
-
.snapshot-panel,
|
|
2678
|
-
.session-receipt,
|
|
2679
|
-
.canvas-node.group-node,
|
|
2680
|
-
.activity-feed,
|
|
2681
|
-
.writers-sheet,
|
|
2682
|
-
.context-budget-fill {
|
|
2683
|
-
animation: none;
|
|
2684
|
-
transition: none;
|
|
2685
|
-
}
|
|
2686
2952
|
}
|
|
2687
2953
|
|
|
2688
2954
|
/* ── Edge creation (rail-chrome-v2 item 15) ───────────────────── */
|
|
2689
2955
|
.canvas-node.is-edge-target {
|
|
2690
2956
|
box-shadow: 0 0 0 2px var(--c-accent), 0 0 0 6px color-mix(in srgb, var(--c-accent) 18%, transparent);
|
|
2691
2957
|
}
|
|
2692
|
-
.canvas-node.is-edge-target .node-port {
|
|
2958
|
+
.canvas-node.is-edge-target .node-port-dot {
|
|
2693
2959
|
opacity: 1;
|
|
2694
2960
|
background: var(--c-accent);
|
|
2695
2961
|
}
|
|
@@ -2828,12 +3094,14 @@ body,
|
|
|
2828
3094
|
top: 14px;
|
|
2829
3095
|
right: 14px;
|
|
2830
3096
|
width: 290px;
|
|
2831
|
-
|
|
3097
|
+
max-height: calc(100% - 28px);
|
|
3098
|
+
overflow-y: auto;
|
|
3099
|
+
z-index: 9996; /* Retained evidence stays below the session drawer and toolbar menus. */
|
|
2832
3100
|
padding: 12px 14px;
|
|
2833
3101
|
border-radius: 12px;
|
|
2834
3102
|
border: 1px solid var(--c-line);
|
|
2835
|
-
background:
|
|
2836
|
-
box-shadow:
|
|
3103
|
+
background: var(--c-panel);
|
|
3104
|
+
box-shadow: var(--e-2);
|
|
2837
3105
|
animation: session-panel-in 180ms ease;
|
|
2838
3106
|
}
|
|
2839
3107
|
.session-receipt-head {
|
|
@@ -2919,6 +3187,9 @@ body,
|
|
|
2919
3187
|
color: var(--c-warn);
|
|
2920
3188
|
font-size: var(--fs-meta);
|
|
2921
3189
|
}
|
|
3190
|
+
.session-receipt-warn > span {
|
|
3191
|
+
flex: 1;
|
|
3192
|
+
}
|
|
2922
3193
|
.session-receipt-warn svg,
|
|
2923
3194
|
.session-receipt-context-head svg {
|
|
2924
3195
|
width: 13px;
|
|
@@ -2958,25 +3229,108 @@ body,
|
|
|
2958
3229
|
font-size: var(--fs-meta);
|
|
2959
3230
|
color: var(--c-muted);
|
|
2960
3231
|
}
|
|
2961
|
-
.
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
color: var(--c-text);
|
|
2967
|
-
font-size: var(--fs-meta);
|
|
2968
|
-
cursor: pointer;
|
|
2969
|
-
}
|
|
2970
|
-
.session-receipt-lens {
|
|
3232
|
+
/* Edited row (AgentContext.dc.html): one line per card, what the edit did, See change. */
|
|
3233
|
+
.session-receipt-edits {
|
|
3234
|
+
margin: 0;
|
|
3235
|
+
padding: 0 0 0 19px;
|
|
3236
|
+
list-style: none;
|
|
2971
3237
|
display: flex;
|
|
2972
|
-
|
|
2973
|
-
gap:
|
|
2974
|
-
padding: 0;
|
|
2975
|
-
border: none;
|
|
2976
|
-
background: none;
|
|
2977
|
-
color: var(--c-muted);
|
|
3238
|
+
flex-direction: column;
|
|
3239
|
+
gap: 4px;
|
|
2978
3240
|
font-size: var(--fs-meta);
|
|
2979
|
-
|
|
3241
|
+
color: var(--c-text-soft);
|
|
3242
|
+
}
|
|
3243
|
+
.session-receipt-edit-line {
|
|
3244
|
+
display: flex;
|
|
3245
|
+
align-items: baseline;
|
|
3246
|
+
justify-content: space-between;
|
|
3247
|
+
gap: 8px;
|
|
3248
|
+
}
|
|
3249
|
+
.session-receipt-edit-change {
|
|
3250
|
+
color: var(--c-muted);
|
|
3251
|
+
}
|
|
3252
|
+
.session-receipt-link {
|
|
3253
|
+
flex-shrink: 0;
|
|
3254
|
+
padding: 0;
|
|
3255
|
+
border: 0;
|
|
3256
|
+
background: transparent;
|
|
3257
|
+
color: var(--c-agent);
|
|
3258
|
+
font: inherit;
|
|
3259
|
+
cursor: pointer;
|
|
3260
|
+
}
|
|
3261
|
+
.session-receipt-link:hover {
|
|
3262
|
+
text-decoration: underline;
|
|
3263
|
+
}
|
|
3264
|
+
.session-receipt-diff-pair {
|
|
3265
|
+
display: flex;
|
|
3266
|
+
flex-direction: column;
|
|
3267
|
+
gap: 6px;
|
|
3268
|
+
margin-top: 4px;
|
|
3269
|
+
}
|
|
3270
|
+
.session-receipt-undo {
|
|
3271
|
+
display: flex;
|
|
3272
|
+
flex-direction: column;
|
|
3273
|
+
align-items: flex-start;
|
|
3274
|
+
gap: 3px;
|
|
3275
|
+
}
|
|
3276
|
+
.session-receipt-diff-side {
|
|
3277
|
+
display: flex;
|
|
3278
|
+
flex-direction: column;
|
|
3279
|
+
gap: 2px;
|
|
3280
|
+
min-width: 0;
|
|
3281
|
+
padding: 6px 8px;
|
|
3282
|
+
border-radius: 6px;
|
|
3283
|
+
border: 1px solid var(--c-line);
|
|
3284
|
+
}
|
|
3285
|
+
.session-receipt-diff-label {
|
|
3286
|
+
font-size: 11px;
|
|
3287
|
+
font-weight: 500;
|
|
3288
|
+
color: var(--c-dim);
|
|
3289
|
+
}
|
|
3290
|
+
.session-receipt-diff-text {
|
|
3291
|
+
max-height: 120px;
|
|
3292
|
+
overflow-y: auto;
|
|
3293
|
+
white-space: pre-wrap;
|
|
3294
|
+
overflow-wrap: anywhere;
|
|
3295
|
+
color: var(--c-text);
|
|
3296
|
+
}
|
|
3297
|
+
.session-receipt-diff-text del {
|
|
3298
|
+
color: var(--c-muted);
|
|
3299
|
+
background: var(--c-panel-soft);
|
|
3300
|
+
border-radius: 3px;
|
|
3301
|
+
}
|
|
3302
|
+
.session-receipt-diff-text ins {
|
|
3303
|
+
text-decoration: none;
|
|
3304
|
+
background: color-mix(in srgb, var(--c-agent) 16%, transparent);
|
|
3305
|
+
box-shadow: inset 0 -1.5px 0 var(--c-agent);
|
|
3306
|
+
border-radius: 3px;
|
|
3307
|
+
}
|
|
3308
|
+
.session-receipt-diff-cut {
|
|
3309
|
+
color: var(--c-dim);
|
|
3310
|
+
}
|
|
3311
|
+
.session-receipt-mini {
|
|
3312
|
+
padding: 2px var(--space-2);
|
|
3313
|
+
border: 1px solid var(--c-line);
|
|
3314
|
+
border-radius: var(--r-control);
|
|
3315
|
+
background: none;
|
|
3316
|
+
color: var(--c-text);
|
|
3317
|
+
font-size: var(--fs-meta);
|
|
3318
|
+
cursor: pointer;
|
|
3319
|
+
}
|
|
3320
|
+
.session-receipt-mini:disabled {
|
|
3321
|
+
color: var(--c-dim);
|
|
3322
|
+
cursor: default;
|
|
3323
|
+
}
|
|
3324
|
+
.session-receipt-lens {
|
|
3325
|
+
display: flex;
|
|
3326
|
+
align-items: center;
|
|
3327
|
+
gap: var(--space-2);
|
|
3328
|
+
padding: 0;
|
|
3329
|
+
border: none;
|
|
3330
|
+
background: none;
|
|
3331
|
+
color: var(--c-muted);
|
|
3332
|
+
font-size: var(--fs-meta);
|
|
3333
|
+
cursor: pointer;
|
|
2980
3334
|
}
|
|
2981
3335
|
.session-receipt-lens-track {
|
|
2982
3336
|
position: relative;
|
|
@@ -3115,7 +3469,13 @@ body,
|
|
|
3115
3469
|
/* The resize handle and connect ports carry their own pointer-events: auto,
|
|
3116
3470
|
which punches through the inert world — a pan started on them never pans. */
|
|
3117
3471
|
.canvas-viewport.pan-mode .node-resize-handle,
|
|
3118
|
-
.canvas-viewport.pan-mode .
|
|
3472
|
+
.canvas-viewport.pan-mode .group-frame-hit,
|
|
3473
|
+
.canvas-viewport.pan-mode .edge-pill-hit,
|
|
3474
|
+
.canvas-viewport.pan-mode .canvas-node-owner > .node-port,
|
|
3475
|
+
.canvas-viewport.pan-mode .canvas-node-owner > .canvas-node,
|
|
3476
|
+
.canvas-viewport.pan-mode .canvas-node.group-node .node-titlebar,
|
|
3477
|
+
.canvas-viewport.pan-mode .canvas-node.group-node .node-lifecycle-warning,
|
|
3478
|
+
.canvas-viewport.pan-mode .canvas-node.group-node .node-memory-links {
|
|
3119
3479
|
pointer-events: none;
|
|
3120
3480
|
}
|
|
3121
3481
|
.canvas-viewport.pan-mode:active {
|
|
@@ -3419,6 +3779,11 @@ body,
|
|
|
3419
3779
|
box-shadow: 0 18px 48px var(--c-shadow-heavy);
|
|
3420
3780
|
}
|
|
3421
3781
|
|
|
3782
|
+
.toolbar-menu.top-bar-more-menu {
|
|
3783
|
+
/* The top bar's backdrop root prevents this menu from blurring the drawer. */
|
|
3784
|
+
background: var(--c-panel);
|
|
3785
|
+
}
|
|
3786
|
+
|
|
3422
3787
|
.toolbar-menu-item {
|
|
3423
3788
|
display: flex;
|
|
3424
3789
|
align-items: center;
|
|
@@ -3455,6 +3820,21 @@ body,
|
|
|
3455
3820
|
color: var(--c-accent);
|
|
3456
3821
|
}
|
|
3457
3822
|
|
|
3823
|
+
/* Rail Settings menu (docs/design/Chrome.dc.html §7): a muted value or key on the right. */
|
|
3824
|
+
.toolbar-menu-hint {
|
|
3825
|
+
margin-left: auto;
|
|
3826
|
+
color: var(--c-muted);
|
|
3827
|
+
font: 12px var(--font-ui);
|
|
3828
|
+
}
|
|
3829
|
+
kbd.toolbar-menu-hint {
|
|
3830
|
+
font-family: var(--font-code);
|
|
3831
|
+
}
|
|
3832
|
+
.toolbar-menu-divider {
|
|
3833
|
+
height: 1px;
|
|
3834
|
+
margin: 4px 6px;
|
|
3835
|
+
background: var(--c-line);
|
|
3836
|
+
}
|
|
3837
|
+
|
|
3458
3838
|
.toolbar-menu-separator {
|
|
3459
3839
|
height: 1px;
|
|
3460
3840
|
margin: 4px 8px;
|
|
@@ -3487,6 +3867,73 @@ body,
|
|
|
3487
3867
|
border-radius: 50%;
|
|
3488
3868
|
}
|
|
3489
3869
|
|
|
3870
|
+
.rail-settings-menu {
|
|
3871
|
+
width: min(300px, calc(100vw - 76px));
|
|
3872
|
+
}
|
|
3873
|
+
|
|
3874
|
+
.settings-item-label {
|
|
3875
|
+
display: flex;
|
|
3876
|
+
align-items: center;
|
|
3877
|
+
gap: 6px;
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
.settings-caption,
|
|
3881
|
+
.settings-error {
|
|
3882
|
+
margin: 0;
|
|
3883
|
+
padding: 5px 10px;
|
|
3884
|
+
color: var(--c-muted);
|
|
3885
|
+
font-size: 10px;
|
|
3886
|
+
line-height: 1.5;
|
|
3887
|
+
}
|
|
3888
|
+
|
|
3889
|
+
.settings-error {
|
|
3890
|
+
color: var(--c-danger);
|
|
3891
|
+
}
|
|
3892
|
+
|
|
3893
|
+
.settings-switch {
|
|
3894
|
+
display: block;
|
|
3895
|
+
flex-shrink: 0;
|
|
3896
|
+
margin-left: auto;
|
|
3897
|
+
width: 28px;
|
|
3898
|
+
height: 16px;
|
|
3899
|
+
padding: 2px;
|
|
3900
|
+
border: 1px solid var(--c-line);
|
|
3901
|
+
border-radius: 999px;
|
|
3902
|
+
background: var(--c-panel-soft);
|
|
3903
|
+
}
|
|
3904
|
+
|
|
3905
|
+
.settings-switch::after {
|
|
3906
|
+
content: '';
|
|
3907
|
+
display: block;
|
|
3908
|
+
width: 10px;
|
|
3909
|
+
height: 10px;
|
|
3910
|
+
border-radius: 50%;
|
|
3911
|
+
background: var(--c-muted);
|
|
3912
|
+
}
|
|
3913
|
+
|
|
3914
|
+
.settings-switch.is-on {
|
|
3915
|
+
background: var(--c-accent);
|
|
3916
|
+
border-color: var(--c-accent);
|
|
3917
|
+
}
|
|
3918
|
+
|
|
3919
|
+
.settings-switch.is-on::after {
|
|
3920
|
+
margin-left: auto;
|
|
3921
|
+
background: var(--c-contrast-fg);
|
|
3922
|
+
}
|
|
3923
|
+
|
|
3924
|
+
.toolbar-tooltip.settings-tooltip {
|
|
3925
|
+
position: fixed;
|
|
3926
|
+
width: 280px;
|
|
3927
|
+
min-width: 0;
|
|
3928
|
+
max-width: calc(100vw - 24px);
|
|
3929
|
+
opacity: 1;
|
|
3930
|
+
transform: none;
|
|
3931
|
+
}
|
|
3932
|
+
|
|
3933
|
+
.toolbar-tooltip.settings-tooltip::after {
|
|
3934
|
+
display: none;
|
|
3935
|
+
}
|
|
3936
|
+
|
|
3490
3937
|
|
|
3491
3938
|
@media (max-width: 900px) {
|
|
3492
3939
|
.toolbar-tooltip {
|
|
@@ -3926,6 +4373,9 @@ body,
|
|
|
3926
4373
|
}
|
|
3927
4374
|
|
|
3928
4375
|
/* Auto-fit transition */
|
|
4376
|
+
.canvas-node-owner {
|
|
4377
|
+
transition: height 0.2s ease;
|
|
4378
|
+
}
|
|
3929
4379
|
.canvas-node {
|
|
3930
4380
|
transition: height 0.2s ease, box-shadow 0.15s ease;
|
|
3931
4381
|
}
|
|
@@ -3976,8 +4426,23 @@ html.is-node-resizing .canvas-node {
|
|
|
3976
4426
|
transition: box-shadow 0.15s ease !important;
|
|
3977
4427
|
}
|
|
3978
4428
|
|
|
3979
|
-
|
|
3980
|
-
|
|
4429
|
+
/* One drag curtain keeps the cursor and pointer events over embedded frames
|
|
4430
|
+
without restyling every descendant at pickup and drop on a large board. */
|
|
4431
|
+
html.is-node-dragging .canvas-viewport::after {
|
|
4432
|
+
content: '';
|
|
4433
|
+
position: absolute;
|
|
4434
|
+
inset: 0;
|
|
4435
|
+
z-index: 2147483647;
|
|
4436
|
+
pointer-events: none;
|
|
4437
|
+
cursor: grabbing;
|
|
4438
|
+
user-select: none;
|
|
4439
|
+
}
|
|
4440
|
+
|
|
4441
|
+
/* A click must release on its original target so double-click menus still work. */
|
|
4442
|
+
html.is-node-moving .canvas-viewport::after {
|
|
4443
|
+
pointer-events: auto;
|
|
4444
|
+
}
|
|
4445
|
+
|
|
3981
4446
|
html.is-canvas-panning,
|
|
3982
4447
|
html.is-canvas-panning * {
|
|
3983
4448
|
cursor: grabbing !important;
|
|
@@ -4192,6 +4657,86 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4192
4657
|
stroke-width: calc(0.5 * var(--edge-label-scale, 1));
|
|
4193
4658
|
}
|
|
4194
4659
|
|
|
4660
|
+
/* Authorship lives in the hint. A person's new link keeps its muted
|
|
4661
|
+
"not seen by <agent>" state until the agent's next read. */
|
|
4662
|
+
.edge-pill {
|
|
4663
|
+
pointer-events: none;
|
|
4664
|
+
}
|
|
4665
|
+
.edge-pill-hit {
|
|
4666
|
+
pointer-events: all;
|
|
4667
|
+
cursor: pointer;
|
|
4668
|
+
}
|
|
4669
|
+
|
|
4670
|
+
.edge-link-mark {
|
|
4671
|
+
pointer-events: none;
|
|
4672
|
+
font-weight: 500;
|
|
4673
|
+
}
|
|
4674
|
+
|
|
4675
|
+
.edge-link-mark.is-not-seen {
|
|
4676
|
+
color: var(--c-muted);
|
|
4677
|
+
}
|
|
4678
|
+
|
|
4679
|
+
/* The pill's hint, drawn at screen level below the pill. */
|
|
4680
|
+
.toolbar-tooltip.edge-hint {
|
|
4681
|
+
position: fixed;
|
|
4682
|
+
right: auto;
|
|
4683
|
+
bottom: auto;
|
|
4684
|
+
min-width: 0;
|
|
4685
|
+
max-width: min(340px, calc(100vw - 24px));
|
|
4686
|
+
white-space: pre-line;
|
|
4687
|
+
overflow-wrap: anywhere;
|
|
4688
|
+
opacity: 1;
|
|
4689
|
+
transform: translateX(-50%);
|
|
4690
|
+
pointer-events: none;
|
|
4691
|
+
}
|
|
4692
|
+
|
|
4693
|
+
.relation-kind-control { display: grid; gap: 4px; padding: 6px 12px; }
|
|
4694
|
+
.relation-kind-control select,
|
|
4695
|
+
.relation-vocabulary input:not([type="checkbox"]),
|
|
4696
|
+
.relation-vocabulary select {
|
|
4697
|
+
min-width: 0;
|
|
4698
|
+
width: 100%;
|
|
4699
|
+
box-sizing: border-box;
|
|
4700
|
+
border: 1px solid var(--c-line);
|
|
4701
|
+
border-radius: var(--r-control);
|
|
4702
|
+
padding: 6px;
|
|
4703
|
+
font: inherit;
|
|
4704
|
+
background: var(--c-input-bg);
|
|
4705
|
+
color: var(--c-text);
|
|
4706
|
+
}
|
|
4707
|
+
.relation-legend { position: absolute; top: 8px; left: 12px; right: 12px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px; max-height: min(180px, 25%); overflow-x: hidden; overflow-y: auto; }
|
|
4708
|
+
.lifecycle-filters ~ .relation-legend { top: 48px; }
|
|
4709
|
+
.relation-legend > * { pointer-events: auto; flex-shrink: 0; max-width: 100%; height: 24px; box-sizing: border-box; border: 1px solid var(--c-line); border-radius: var(--r-control); background: var(--c-panel); color: var(--c-text); font: 500 11px var(--font-ui); padding: 0 9px; cursor: pointer; }
|
|
4710
|
+
.relation-legend select { background: var(--c-panel-soft); font-weight: 600; padding: 0 10px; }
|
|
4711
|
+
.relation-legend button { display: flex; align-items: center; gap: 6px; min-height: 24px; height: auto; overflow-wrap: anywhere; text-align: left; border-radius: var(--r-pill); }
|
|
4712
|
+
.relation-legend button[aria-pressed="true"] { border-color: var(--relation-ink); }
|
|
4713
|
+
.relation-swatch { width: 14px; height: 2.5px; border-radius: 2px; background: var(--relation-ink); }
|
|
4714
|
+
.relation-count { color: var(--c-muted); font-variant-numeric: tabular-nums; }
|
|
4715
|
+
.expanded-content-row { display: flex; flex: 1; min-height: 0; }
|
|
4716
|
+
.expanded-content-row > .expanded-body { flex: 1; min-width: 0; }
|
|
4717
|
+
.relations-panel {
|
|
4718
|
+
width: 280px;
|
|
4719
|
+
flex: 0 0 280px;
|
|
4720
|
+
padding: 16px;
|
|
4721
|
+
box-sizing: border-box;
|
|
4722
|
+
border-left: 1px solid var(--c-line);
|
|
4723
|
+
overflow: auto;
|
|
4724
|
+
background: var(--c-panel);
|
|
4725
|
+
font-size: var(--fs-ui);
|
|
4726
|
+
}
|
|
4727
|
+
.relations-panel h3 { margin: 0 0 12px; font-size: var(--fs-title); }
|
|
4728
|
+
.relation-row { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--c-line); overflow-wrap: anywhere; }
|
|
4729
|
+
.relation-row h4 { margin: 0 0 4px; font-size: var(--fs-meta); color: var(--c-muted); }
|
|
4730
|
+
.relation-row p, .relation-vocabulary p { margin: 0 0 8px; color: var(--c-muted); font-size: var(--fs-meta); }
|
|
4731
|
+
.relation-target { border: 0; padding: 0; background: none; color: var(--c-text); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
|
|
4732
|
+
.relation-vocabulary { display: grid; gap: 8px; margin-top: 12px; }
|
|
4733
|
+
.vocabulary-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
|
|
4734
|
+
@media (max-width: 760px) {
|
|
4735
|
+
.expanded-content-row:has(.relations-panel) { flex-direction: column; overflow: auto; }
|
|
4736
|
+
.expanded-content-row:has(.relations-panel) > .expanded-body { flex: 0 0 240px; }
|
|
4737
|
+
.relations-panel { width: auto; flex: none; border-left: 0; border-top: 1px solid var(--c-line); overflow: visible; }
|
|
4738
|
+
}
|
|
4739
|
+
|
|
4195
4740
|
/* Trace nodes — compact pills for agent tool/subagent visualization */
|
|
4196
4741
|
.canvas-node.trace-node {
|
|
4197
4742
|
border-radius: 28px;
|
|
@@ -4384,6 +4929,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4384
4929
|
/* MCP app iframe */
|
|
4385
4930
|
.mcp-app-frame-stack {
|
|
4386
4931
|
position: relative;
|
|
4932
|
+
isolation: isolate;
|
|
4387
4933
|
flex: 1;
|
|
4388
4934
|
min-width: 0;
|
|
4389
4935
|
min-height: 0;
|
|
@@ -4718,13 +5264,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4718
5264
|
/* Selection action bar — floating bottom-center of the canvas region
|
|
4719
5265
|
(rail-chrome-v2 phase 7, item 13). */
|
|
4720
5266
|
/* In a session the command bar owns the bottom-center slot — lift the
|
|
4721
|
-
selection bar clear of it (composer + chips row)
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
bottom: 124px;
|
|
4725
|
-
}
|
|
4726
|
-
.selection-bar.is-above-pin-bar {
|
|
4727
|
-
bottom: 70px;
|
|
5267
|
+
selection bar clear of it (composer + chips row). */
|
|
5268
|
+
.canvas-region:has(> .command-bar:not([hidden])) > .selection-bar {
|
|
5269
|
+
bottom: calc(28px + var(--command-bar-height));
|
|
4728
5270
|
}
|
|
4729
5271
|
.selection-bar {
|
|
4730
5272
|
position: absolute;
|
|
@@ -4732,7 +5274,12 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
4732
5274
|
left: 50%;
|
|
4733
5275
|
transform: translateX(-50%);
|
|
4734
5276
|
display: flex;
|
|
5277
|
+
flex-wrap: wrap;
|
|
5278
|
+
justify-content: center;
|
|
4735
5279
|
align-items: center;
|
|
5280
|
+
box-sizing: border-box;
|
|
5281
|
+
width: max-content;
|
|
5282
|
+
max-width: calc(100% - 32px);
|
|
4736
5283
|
gap: 2px;
|
|
4737
5284
|
padding: 6px 8px;
|
|
4738
5285
|
background: color-mix(in srgb, var(--c-panel) 97%, transparent);
|
|
@@ -5158,7 +5705,24 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5158
5705
|
border-color 150ms ease,
|
|
5159
5706
|
background 150ms ease;
|
|
5160
5707
|
}
|
|
5161
|
-
.canvas-node.group-node
|
|
5708
|
+
.canvas-node-owner > .canvas-node.group-node {
|
|
5709
|
+
/* Only the body's transparent hit target sits below child ports. Keep the
|
|
5710
|
+
frame's visual z-order and its existing chrome/menu elevation unchanged. */
|
|
5711
|
+
pointer-events: none;
|
|
5712
|
+
}
|
|
5713
|
+
.group-frame-hit {
|
|
5714
|
+
position: absolute;
|
|
5715
|
+
inset: 0;
|
|
5716
|
+
border-radius: 14px;
|
|
5717
|
+
pointer-events: auto;
|
|
5718
|
+
}
|
|
5719
|
+
.canvas-node.group-node .node-titlebar,
|
|
5720
|
+
.canvas-node.group-node .node-lifecycle-warning,
|
|
5721
|
+
.canvas-node.group-node .node-memory-links {
|
|
5722
|
+
pointer-events: auto;
|
|
5723
|
+
}
|
|
5724
|
+
.canvas-node.group-node:hover,
|
|
5725
|
+
.canvas-node-owner:hover > .canvas-node.group-node {
|
|
5162
5726
|
border-color: color-mix(in srgb, var(--group-color, var(--c-accent)) 55%, transparent);
|
|
5163
5727
|
}
|
|
5164
5728
|
.canvas-node.group-node.active,
|
|
@@ -5396,99 +5960,56 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5396
5960
|
color: var(--c-dim);
|
|
5397
5961
|
}
|
|
5398
5962
|
|
|
5399
|
-
/* ──
|
|
5400
|
-
|
|
5963
|
+
/* ── Expanded overlay actions ────────────────────────────────── */
|
|
5964
|
+
/* Expanded node view (rail-chrome-v2 phase 7, item 16): scrim + inset panel
|
|
5965
|
+
with 36/48px margins, header with kind pill + pin state, footer strip. */
|
|
5966
|
+
.expanded-overlay-backdrop {
|
|
5401
5967
|
position: absolute;
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5968
|
+
inset: 0;
|
|
5969
|
+
z-index: 10001;
|
|
5970
|
+
background: rgba(4, 10, 18, 0.6);
|
|
5405
5971
|
display: flex;
|
|
5406
|
-
align-items:
|
|
5407
|
-
|
|
5408
|
-
padding:
|
|
5409
|
-
background: var(--c-panel-glass);
|
|
5410
|
-
backdrop-filter: blur(12px);
|
|
5411
|
-
border: 1px solid var(--c-pin);
|
|
5412
|
-
border-radius: var(--radius);
|
|
5413
|
-
box-shadow: 0 8px 32px var(--c-shadow), 0 0 0 1px color-mix(in srgb, var(--c-pin) 15%, transparent);
|
|
5414
|
-
z-index: 64;
|
|
5415
|
-
white-space: nowrap;
|
|
5972
|
+
align-items: stretch;
|
|
5973
|
+
justify-content: center;
|
|
5974
|
+
padding: 36px 48px;
|
|
5416
5975
|
}
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
|
|
5976
|
+
.expanded-overlay-panel {
|
|
5977
|
+
flex: 1;
|
|
5978
|
+
max-width: 1400px;
|
|
5979
|
+
display: flex;
|
|
5980
|
+
flex-direction: column;
|
|
5981
|
+
background: var(--c-panel);
|
|
5982
|
+
border: 1px solid var(--c-line);
|
|
5983
|
+
border-radius: 14px;
|
|
5984
|
+
box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
|
|
5985
|
+
overflow: hidden;
|
|
5422
5986
|
}
|
|
5423
|
-
|
|
5424
|
-
|
|
5425
|
-
padding: 5px 12px;
|
|
5426
|
-
font-size: 12px;
|
|
5427
|
-
font-weight: 600;
|
|
5428
|
-
background: color-mix(in srgb, var(--c-pin) 10%, transparent);
|
|
5429
|
-
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
5430
|
-
border-radius: var(--radius-sm);
|
|
5431
|
-
color: var(--c-pin);
|
|
5432
|
-
cursor: pointer;
|
|
5433
|
-
font-family: var(--font-ui);
|
|
5987
|
+
.expanded-overlay-panel.is-pinned {
|
|
5988
|
+
border-color: color-mix(in srgb, var(--c-pin) 45%, var(--c-line));
|
|
5434
5989
|
}
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
border-color: var(--c-pin);
|
|
5990
|
+
.expanded-overlay-panel .ax-step-dock {
|
|
5991
|
+
/* Its sticky/backdrop-filter context must paint hints above the Source FAB. */
|
|
5992
|
+
z-index: 2;
|
|
5439
5993
|
}
|
|
5440
|
-
|
|
5441
|
-
.context-pin-bar-ask {
|
|
5442
|
-
background: var(--c-pin);
|
|
5443
|
-
color: var(--c-on-pin);
|
|
5444
|
-
border-color: var(--c-pin);
|
|
5445
|
-
}
|
|
5446
|
-
|
|
5447
|
-
.context-pin-bar-ask:hover {
|
|
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));
|
|
5450
|
-
}
|
|
5451
|
-
|
|
5452
|
-
.context-pin-bar-clear {
|
|
5453
|
-
background: none;
|
|
5454
|
-
border: none;
|
|
5455
|
-
color: var(--c-muted);
|
|
5456
|
-
font-size: 16px;
|
|
5457
|
-
padding: 2px 6px;
|
|
5458
|
-
line-height: 1;
|
|
5459
|
-
}
|
|
5460
|
-
|
|
5461
|
-
.context-pin-bar-clear:hover {
|
|
5462
|
-
color: var(--c-text);
|
|
5463
|
-
background: var(--c-surface-hover);
|
|
5464
|
-
}
|
|
5465
|
-
|
|
5466
|
-
/* ── Expanded overlay actions ────────────────────────────────── */
|
|
5467
|
-
/* Expanded node view (rail-chrome-v2 phase 7, item 16): scrim + inset panel
|
|
5468
|
-
with 36/48px margins, header with kind pill + pin state, footer strip. */
|
|
5469
|
-
.expanded-overlay-backdrop {
|
|
5470
|
-
position: absolute;
|
|
5471
|
-
inset: 0;
|
|
5472
|
-
z-index: 10001;
|
|
5473
|
-
background: rgba(4, 10, 18, 0.6);
|
|
5994
|
+
.expanded-overlay-panel:has(.ax-step-dock) .md-expanded-document {
|
|
5474
5995
|
display: flex;
|
|
5475
|
-
|
|
5476
|
-
justify-content: center;
|
|
5477
|
-
padding: 36px 48px;
|
|
5996
|
+
flex-direction: column;
|
|
5478
5997
|
}
|
|
5479
|
-
.expanded-overlay-panel {
|
|
5998
|
+
.expanded-overlay-panel:has(.ax-step-dock) .md-reader {
|
|
5480
5999
|
flex: 1;
|
|
5481
|
-
|
|
5482
|
-
display: flex;
|
|
5483
|
-
flex-direction: column;
|
|
5484
|
-
background: var(--c-panel);
|
|
5485
|
-
border: 1px solid var(--c-line);
|
|
5486
|
-
border-radius: 14px;
|
|
5487
|
-
box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
|
|
5488
|
-
overflow: hidden;
|
|
6000
|
+
min-height: 0;
|
|
5489
6001
|
}
|
|
5490
|
-
.expanded-overlay-panel.
|
|
5491
|
-
|
|
6002
|
+
.expanded-overlay-panel:has(.ax-step-dock) .md-edit-fab {
|
|
6003
|
+
/* Keep Source and the document out of the bottom dock's hint area. */
|
|
6004
|
+
position: static;
|
|
6005
|
+
order: -1;
|
|
6006
|
+
align-self: flex-end;
|
|
6007
|
+
flex-shrink: 0;
|
|
6008
|
+
margin-bottom: 16px;
|
|
6009
|
+
}
|
|
6010
|
+
.ax-step-dock:has(.toolbar-tooltip-anchor:hover) .toolbar-tooltip-anchor:not(:hover) > :focus-visible + .toolbar-tooltip {
|
|
6011
|
+
/* Pointer exploration temporarily takes precedence without moving keyboard focus. */
|
|
6012
|
+
opacity: 0;
|
|
5492
6013
|
}
|
|
5493
6014
|
.expanded-header {
|
|
5494
6015
|
display: flex;
|
|
@@ -5728,8 +6249,22 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5728
6249
|
background: color-mix(in srgb, var(--c-warn) 14%, transparent);
|
|
5729
6250
|
}
|
|
5730
6251
|
|
|
6252
|
+
/* Folded to its glyph when the title needs the room (HeaderMarks.dc.html): a
|
|
6253
|
+
22 px round chip, the word in its hint. */
|
|
6254
|
+
.node-context-mark.is-glyph,
|
|
6255
|
+
.node-near-mark.is-glyph {
|
|
6256
|
+
justify-content: center;
|
|
6257
|
+
width: calc(22px * var(--node-chrome-scale, 1));
|
|
6258
|
+
height: calc(22px * var(--node-chrome-scale, 1));
|
|
6259
|
+
padding: 0;
|
|
6260
|
+
box-sizing: border-box;
|
|
6261
|
+
}
|
|
6262
|
+
|
|
5731
6263
|
/* Near a pin (docs/design/NearPin.dc.html): dotted, weaker than in context. */
|
|
5732
6264
|
.node-near-mark {
|
|
6265
|
+
background: none;
|
|
6266
|
+
font-family: inherit;
|
|
6267
|
+
cursor: pointer;
|
|
5733
6268
|
display: inline-flex;
|
|
5734
6269
|
align-items: center;
|
|
5735
6270
|
gap: calc(4px * var(--node-chrome-scale, 1));
|
|
@@ -5756,6 +6291,139 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5756
6291
|
.node-near-dot {
|
|
5757
6292
|
fill: currentColor;
|
|
5758
6293
|
}
|
|
6294
|
+
/* §3 the moment it changes: preview while dragged, one pulse on a drop inside, fade on a drop outside. */
|
|
6295
|
+
.node-near-mark.is-preview {
|
|
6296
|
+
opacity: 0.6;
|
|
6297
|
+
}
|
|
6298
|
+
.node-near-mark.is-pulse {
|
|
6299
|
+
animation: near-pulse 0.9s ease-out 1;
|
|
6300
|
+
}
|
|
6301
|
+
.node-near-mark.is-fading {
|
|
6302
|
+
animation: near-fade 0.9s ease-in 1 forwards;
|
|
6303
|
+
}
|
|
6304
|
+
@keyframes near-pulse {
|
|
6305
|
+
0%,
|
|
6306
|
+
100% {
|
|
6307
|
+
background: transparent;
|
|
6308
|
+
box-shadow: none;
|
|
6309
|
+
}
|
|
6310
|
+
35% {
|
|
6311
|
+
background: color-mix(in srgb, var(--c-pin) 18%, transparent);
|
|
6312
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
6313
|
+
}
|
|
6314
|
+
}
|
|
6315
|
+
@keyframes near-fade {
|
|
6316
|
+
to {
|
|
6317
|
+
opacity: 0;
|
|
6318
|
+
}
|
|
6319
|
+
}
|
|
6320
|
+
/* §2 hover a near chip: the pins by distance, then Pin / Show pins. Lives
|
|
6321
|
+
over the canvas, not in the node: .node-content paints contained. */
|
|
6322
|
+
.near-hint {
|
|
6323
|
+
position: fixed;
|
|
6324
|
+
overflow-y: auto;
|
|
6325
|
+
box-sizing: border-box;
|
|
6326
|
+
z-index: 10010;
|
|
6327
|
+
display: flex;
|
|
6328
|
+
flex-direction: column;
|
|
6329
|
+
gap: 6px;
|
|
6330
|
+
width: 240px;
|
|
6331
|
+
padding: 12px 14px;
|
|
6332
|
+
border-radius: 10px;
|
|
6333
|
+
border: 1px solid color-mix(in srgb, var(--c-line) 78%, var(--c-accent) 22%);
|
|
6334
|
+
background: color-mix(in srgb, var(--c-panel) 92%, black 8%);
|
|
6335
|
+
box-shadow: 0 14px 36px var(--c-shadow-heavy);
|
|
6336
|
+
color: var(--c-text);
|
|
6337
|
+
}
|
|
6338
|
+
.near-hint-label {
|
|
6339
|
+
font-size: 12px;
|
|
6340
|
+
font-weight: 600;
|
|
6341
|
+
}
|
|
6342
|
+
.near-hint-row {
|
|
6343
|
+
display: flex;
|
|
6344
|
+
justify-content: space-between;
|
|
6345
|
+
gap: 12px;
|
|
6346
|
+
font-size: 12px;
|
|
6347
|
+
}
|
|
6348
|
+
.near-hint-title {
|
|
6349
|
+
overflow: hidden;
|
|
6350
|
+
text-overflow: ellipsis;
|
|
6351
|
+
white-space: nowrap;
|
|
6352
|
+
}
|
|
6353
|
+
.near-hint-distance {
|
|
6354
|
+
flex-shrink: 0;
|
|
6355
|
+
font-family: var(--font-code);
|
|
6356
|
+
font-size: 11px;
|
|
6357
|
+
color: var(--c-muted);
|
|
6358
|
+
}
|
|
6359
|
+
.near-hint-body {
|
|
6360
|
+
font-size: 11px;
|
|
6361
|
+
line-height: 1.45;
|
|
6362
|
+
color: var(--c-text-soft);
|
|
6363
|
+
}
|
|
6364
|
+
.near-hint-actions {
|
|
6365
|
+
display: flex;
|
|
6366
|
+
gap: 6px;
|
|
6367
|
+
}
|
|
6368
|
+
.near-hint-actions button {
|
|
6369
|
+
height: 26px;
|
|
6370
|
+
padding: 0 10px;
|
|
6371
|
+
border-radius: 6px;
|
|
6372
|
+
font: inherit;
|
|
6373
|
+
font-size: 11px;
|
|
6374
|
+
cursor: pointer;
|
|
6375
|
+
}
|
|
6376
|
+
.near-hint-pin {
|
|
6377
|
+
border: 0;
|
|
6378
|
+
background: var(--c-pin);
|
|
6379
|
+
color: var(--c-contrast-fg);
|
|
6380
|
+
font-weight: 600;
|
|
6381
|
+
}
|
|
6382
|
+
.near-hint-show {
|
|
6383
|
+
border: 1px solid var(--c-line);
|
|
6384
|
+
background: transparent;
|
|
6385
|
+
color: var(--c-text);
|
|
6386
|
+
}
|
|
6387
|
+
.near-hint-show[aria-pressed='true'] {
|
|
6388
|
+
border-color: var(--c-pin);
|
|
6389
|
+
color: var(--c-pin);
|
|
6390
|
+
}
|
|
6391
|
+
|
|
6392
|
+
/* §2 which pin: tethers and the 600 px radius, in screen space over the world. */
|
|
6393
|
+
.near-pin-layer {
|
|
6394
|
+
position: absolute;
|
|
6395
|
+
inset: 0;
|
|
6396
|
+
width: 100%;
|
|
6397
|
+
height: 100%;
|
|
6398
|
+
overflow: visible;
|
|
6399
|
+
pointer-events: none;
|
|
6400
|
+
z-index: 5;
|
|
6401
|
+
}
|
|
6402
|
+
.near-pin-radius {
|
|
6403
|
+
fill: none;
|
|
6404
|
+
stroke: color-mix(in srgb, var(--c-pin) 25%, transparent);
|
|
6405
|
+
stroke-width: 1.5;
|
|
6406
|
+
stroke-dasharray: 3 6;
|
|
6407
|
+
}
|
|
6408
|
+
.near-pin-tether path {
|
|
6409
|
+
fill: none;
|
|
6410
|
+
stroke: var(--c-pin);
|
|
6411
|
+
stroke-width: 1.5;
|
|
6412
|
+
stroke-dasharray: 2 5;
|
|
6413
|
+
stroke-linecap: round;
|
|
6414
|
+
}
|
|
6415
|
+
.near-pin-number {
|
|
6416
|
+
fill: var(--c-bg);
|
|
6417
|
+
stroke: var(--c-pin);
|
|
6418
|
+
stroke-dasharray: 1.5 2;
|
|
6419
|
+
}
|
|
6420
|
+
.near-pin-number-label {
|
|
6421
|
+
fill: var(--c-pin);
|
|
6422
|
+
font-size: 11px;
|
|
6423
|
+
font-weight: 600;
|
|
6424
|
+
text-anchor: middle;
|
|
6425
|
+
dominant-baseline: central;
|
|
6426
|
+
}
|
|
5759
6427
|
|
|
5760
6428
|
/* Pinned by an agent: a violet dot on the pin badge. */
|
|
5761
6429
|
.ctx-pin-mark {
|
|
@@ -5799,6 +6467,31 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
5799
6467
|
color: var(--c-on-pin);
|
|
5800
6468
|
}
|
|
5801
6469
|
|
|
6470
|
+
/* Board pins (docs/design/BoardPins.dc.html): the card pin's mark on a bare
|
|
6471
|
+
22 px hit target, on Home cards, the switcher, portal cards and the top bar. */
|
|
6472
|
+
.board-pin-btn {
|
|
6473
|
+
width: 22px;
|
|
6474
|
+
height: 22px;
|
|
6475
|
+
padding: 0;
|
|
6476
|
+
border: 0;
|
|
6477
|
+
background: transparent;
|
|
6478
|
+
display: inline-flex;
|
|
6479
|
+
align-items: center;
|
|
6480
|
+
justify-content: center;
|
|
6481
|
+
flex-shrink: 0;
|
|
6482
|
+
cursor: pointer;
|
|
6483
|
+
border-radius: var(--r-pill);
|
|
6484
|
+
}
|
|
6485
|
+
.board-pin-btn:focus-visible {
|
|
6486
|
+
outline: 2px solid var(--c-pin);
|
|
6487
|
+
outline-offset: 1px;
|
|
6488
|
+
}
|
|
6489
|
+
.board-pin-btn .ctx-pin-mark {
|
|
6490
|
+
width: 18px;
|
|
6491
|
+
height: 18px;
|
|
6492
|
+
font-size: 10px;
|
|
6493
|
+
}
|
|
6494
|
+
|
|
5802
6495
|
/* ── Context pin HUD — top-right pill ────────────────────────── */
|
|
5803
6496
|
.context-pin-hud {
|
|
5804
6497
|
display: flex;
|
|
@@ -6426,6 +7119,10 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6426
7119
|
z-index: 5;
|
|
6427
7120
|
width: 560px;
|
|
6428
7121
|
max-width: calc(100% - 48px);
|
|
7122
|
+
max-height: calc(100% - 48px);
|
|
7123
|
+
overflow-y: auto;
|
|
7124
|
+
box-sizing: border-box;
|
|
7125
|
+
padding: 2px;
|
|
6429
7126
|
display: flex;
|
|
6430
7127
|
flex-direction: column;
|
|
6431
7128
|
align-items: center;
|
|
@@ -6433,6 +7130,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6433
7130
|
text-align: center;
|
|
6434
7131
|
animation: empty-state-in 0.4s ease-out;
|
|
6435
7132
|
}
|
|
7133
|
+
.empty-state > * {
|
|
7134
|
+
flex-shrink: 0;
|
|
7135
|
+
}
|
|
6436
7136
|
@keyframes empty-state-in {
|
|
6437
7137
|
from {
|
|
6438
7138
|
opacity: 0;
|
|
@@ -6463,7 +7163,7 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6463
7163
|
}
|
|
6464
7164
|
.empty-state-grid {
|
|
6465
7165
|
display: grid;
|
|
6466
|
-
grid-template-columns:
|
|
7166
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6467
7167
|
gap: 10px;
|
|
6468
7168
|
width: 100%;
|
|
6469
7169
|
}
|
|
@@ -6483,6 +7183,9 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6483
7183
|
.empty-state-action:hover {
|
|
6484
7184
|
border-color: color-mix(in srgb, var(--c-accent) 40%, transparent);
|
|
6485
7185
|
}
|
|
7186
|
+
.empty-state-action > svg {
|
|
7187
|
+
flex-shrink: 0;
|
|
7188
|
+
}
|
|
6486
7189
|
.empty-state-action.is-agent:hover {
|
|
6487
7190
|
border-color: color-mix(in srgb, var(--c-agent) 45%, transparent);
|
|
6488
7191
|
}
|
|
@@ -6500,8 +7203,31 @@ html.is-node-resizing .ext-app-preview-catcher {
|
|
|
6500
7203
|
}
|
|
6501
7204
|
.empty-state-action-label {
|
|
6502
7205
|
flex: 1;
|
|
7206
|
+
min-width: 0;
|
|
7207
|
+
font-size: 12px;
|
|
7208
|
+
font-weight: 600;
|
|
7209
|
+
}
|
|
7210
|
+
.empty-state-action-description {
|
|
7211
|
+
display: block;
|
|
7212
|
+
margin-top: 4px;
|
|
7213
|
+
font-size: 12px;
|
|
7214
|
+
font-weight: 400;
|
|
7215
|
+
line-height: 1.5;
|
|
7216
|
+
color: var(--c-muted);
|
|
7217
|
+
}
|
|
7218
|
+
.empty-state-agent {
|
|
7219
|
+
width: 100%;
|
|
7220
|
+
padding-top: 16px;
|
|
7221
|
+
border-top: 1px solid var(--c-line);
|
|
7222
|
+
}
|
|
7223
|
+
.empty-state-agent-title {
|
|
6503
7224
|
font-size: 12px;
|
|
6504
7225
|
font-weight: 600;
|
|
7226
|
+
color: var(--c-text-soft);
|
|
7227
|
+
}
|
|
7228
|
+
.empty-state-agent .is-agent {
|
|
7229
|
+
width: 100%;
|
|
7230
|
+
margin-top: 12px;
|
|
6505
7231
|
}
|
|
6506
7232
|
.empty-state-action kbd {
|
|
6507
7233
|
padding: 1px 6px;
|
|
@@ -7003,7 +7729,8 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7003
7729
|
cursor: pointer;
|
|
7004
7730
|
}
|
|
7005
7731
|
.is-presenting > :not(.app-main):not(.presentation-error):not(.presentation-navigation),
|
|
7006
|
-
.is-presenting .app-main > :not(.
|
|
7732
|
+
.is-presenting .app-main > :not(.workspace),
|
|
7733
|
+
.is-presenting .workspace > :not(.canvas-region),
|
|
7007
7734
|
.is-presenting .canvas-region > :not(.canvas-viewport) {
|
|
7008
7735
|
display: none !important;
|
|
7009
7736
|
}
|
|
@@ -7044,9 +7771,9 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7044
7771
|
display: inline-flex;
|
|
7045
7772
|
align-items: center;
|
|
7046
7773
|
gap: 6px;
|
|
7047
|
-
|
|
7774
|
+
min-width: 0;
|
|
7775
|
+
max-width: min(280px, 100%);
|
|
7048
7776
|
padding: 6px 8px;
|
|
7049
|
-
margin-left: -8px;
|
|
7050
7777
|
background: none;
|
|
7051
7778
|
border: 1px solid transparent;
|
|
7052
7779
|
border-radius: 8px;
|
|
@@ -7085,6 +7812,8 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7085
7812
|
flex-shrink: 0;
|
|
7086
7813
|
}
|
|
7087
7814
|
.board-switcher-recents { min-height: 0; overflow-y: auto; }
|
|
7815
|
+
.board-switcher-row { display: flex; align-items: center; gap: 4px; padding-right: 8px; }
|
|
7816
|
+
.board-switcher-row > .toolbar-menu-item { flex: 1; min-width: 0; }
|
|
7088
7817
|
.board-switcher-menu .toolbar-menu-item { padding: 10px; gap: 12px; }
|
|
7089
7818
|
.board-switcher-menu .toolbar-menu-item:hover,
|
|
7090
7819
|
.board-switcher-menu .toolbar-menu-item:focus-visible {
|
|
@@ -7111,161 +7840,35 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7111
7840
|
}
|
|
7112
7841
|
.board-switcher-actions { border-top: 1px solid var(--c-line); margin-top: 6px; padding-top: 6px; flex-shrink: 0; }
|
|
7113
7842
|
|
|
7114
|
-
.
|
|
7115
|
-
|
|
7116
|
-
|
|
7117
|
-
/* Above the canvas's floating chrome (the updates tab sits at 60), below menus and prompts. */
|
|
7118
|
-
z-index: 70;
|
|
7119
|
-
overflow-y: auto;
|
|
7120
|
-
background: var(--c-bg);
|
|
7121
|
-
padding: 32px 16px;
|
|
7122
|
-
}
|
|
7123
|
-
.home-view-inner {
|
|
7124
|
-
max-width: 720px;
|
|
7125
|
-
margin: 0 auto;
|
|
7126
|
-
display: flex;
|
|
7127
|
-
flex-direction: column;
|
|
7128
|
-
gap: 18px;
|
|
7129
|
-
}
|
|
7130
|
-
.home-view-head {
|
|
7131
|
-
display: flex;
|
|
7132
|
-
align-items: center;
|
|
7133
|
-
justify-content: space-between;
|
|
7134
|
-
gap: 12px;
|
|
7135
|
-
}
|
|
7136
|
-
.home-view-title {
|
|
7137
|
-
margin: 0;
|
|
7138
|
-
font-size: 20px;
|
|
7139
|
-
font-weight: 650;
|
|
7140
|
-
color: var(--c-text);
|
|
7843
|
+
.board-switcher-button:focus-visible {
|
|
7844
|
+
outline: 2px solid var(--c-accent);
|
|
7845
|
+
outline-offset: 2px;
|
|
7141
7846
|
}
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
background: var(--c-accent);
|
|
7147
|
-
color: var(--c-bg);
|
|
7148
|
-
font-weight: 600;
|
|
7149
|
-
cursor: pointer;
|
|
7847
|
+
|
|
7848
|
+
/* ── Board export dialog (plan 013) ── */
|
|
7849
|
+
.export-dialog {
|
|
7850
|
+
width: min(520px, calc(100% - 32px));
|
|
7150
7851
|
}
|
|
7151
|
-
.
|
|
7852
|
+
.export-dialog-note {
|
|
7853
|
+
font-size: 12px;
|
|
7152
7854
|
color: var(--c-text-soft);
|
|
7153
|
-
font-size: 13px;
|
|
7154
7855
|
}
|
|
7155
|
-
.
|
|
7156
|
-
list-style: none;
|
|
7856
|
+
.export-dialog-list {
|
|
7157
7857
|
margin: 0;
|
|
7158
|
-
padding:
|
|
7858
|
+
padding-left: 18px;
|
|
7859
|
+
font-size: 13px;
|
|
7860
|
+
color: var(--c-text);
|
|
7159
7861
|
display: flex;
|
|
7160
7862
|
flex-direction: column;
|
|
7161
|
-
gap:
|
|
7863
|
+
gap: 4px;
|
|
7162
7864
|
}
|
|
7163
|
-
.
|
|
7865
|
+
.export-dialog-files {
|
|
7164
7866
|
display: flex;
|
|
7165
|
-
align-items: center;
|
|
7166
7867
|
gap: 8px;
|
|
7167
|
-
padding: 7px 8px 7px 5px;
|
|
7168
|
-
border: 1px solid var(--c-line);
|
|
7169
|
-
border-radius: 10px;
|
|
7170
|
-
background: var(--c-panel);
|
|
7171
|
-
}
|
|
7172
|
-
.home-board.is-confirming {
|
|
7173
|
-
border-color: var(--c-danger);
|
|
7174
|
-
padding: 10px 12px;
|
|
7175
|
-
flex-wrap: wrap;
|
|
7176
|
-
}
|
|
7177
|
-
.home-board-open {
|
|
7178
|
-
flex: 1;
|
|
7179
|
-
min-width: 0;
|
|
7180
|
-
display: flex;
|
|
7181
|
-
flex-direction: column;
|
|
7182
7868
|
align-items: flex-start;
|
|
7183
|
-
|
|
7184
|
-
padding: 6px 8px;
|
|
7185
|
-
background: none;
|
|
7186
|
-
border: none;
|
|
7187
|
-
border-radius: 8px;
|
|
7869
|
+
font-size: 12px;
|
|
7188
7870
|
color: var(--c-text);
|
|
7189
|
-
|
|
7190
|
-
text-align: left;
|
|
7191
|
-
}
|
|
7192
|
-
.home-board-open:hover {
|
|
7193
|
-
background: color-mix(in srgb, var(--c-accent) 10%, transparent);
|
|
7194
|
-
}
|
|
7195
|
-
.home-board-name {
|
|
7196
|
-
max-width: 100%;
|
|
7197
|
-
font-size: 14px;
|
|
7198
|
-
font-weight: 600;
|
|
7199
|
-
overflow: hidden;
|
|
7200
|
-
text-overflow: ellipsis;
|
|
7201
|
-
white-space: nowrap;
|
|
7202
|
-
}
|
|
7203
|
-
.home-board-meta {
|
|
7204
|
-
font: 11px var(--font-code);
|
|
7205
|
-
color: var(--c-text-soft);
|
|
7206
|
-
}
|
|
7207
|
-
.home-board-confirm-text {
|
|
7208
|
-
flex: 1 1 240px;
|
|
7209
|
-
font-size: 13px;
|
|
7210
|
-
color: var(--c-text);
|
|
7211
|
-
}
|
|
7212
|
-
.home-board-actions {
|
|
7213
|
-
display: flex;
|
|
7214
|
-
gap: 2px;
|
|
7215
|
-
flex-shrink: 0;
|
|
7216
|
-
}
|
|
7217
|
-
.home-board-action {
|
|
7218
|
-
padding: 6px 7px;
|
|
7219
|
-
border-radius: 6px;
|
|
7220
|
-
border: 1px solid transparent;
|
|
7221
|
-
background: none;
|
|
7222
|
-
color: var(--c-dim);
|
|
7223
|
-
font-size: 11px;
|
|
7224
|
-
cursor: pointer;
|
|
7225
|
-
}
|
|
7226
|
-
.home-board-action:hover {
|
|
7227
|
-
border-color: var(--c-line);
|
|
7228
|
-
background: color-mix(in srgb, var(--c-text) 5%, transparent);
|
|
7229
|
-
color: var(--c-text-soft);
|
|
7230
|
-
}
|
|
7231
|
-
.home-board-action.is-danger {
|
|
7232
|
-
border-color: var(--c-danger);
|
|
7233
|
-
background: var(--c-danger);
|
|
7234
|
-
color: var(--c-bg);
|
|
7235
|
-
font-weight: 600;
|
|
7236
|
-
}
|
|
7237
|
-
.home-board-open:focus-visible,
|
|
7238
|
-
.home-board-action:focus-visible,
|
|
7239
|
-
.home-view-new:focus-visible,
|
|
7240
|
-
.board-switcher-button:focus-visible {
|
|
7241
|
-
outline: 2px solid var(--c-accent);
|
|
7242
|
-
outline-offset: 2px;
|
|
7243
|
-
}
|
|
7244
|
-
|
|
7245
|
-
/* ── Board export dialog (plan 013) ── */
|
|
7246
|
-
.export-dialog {
|
|
7247
|
-
width: min(520px, calc(100% - 32px));
|
|
7248
|
-
}
|
|
7249
|
-
.export-dialog-note {
|
|
7250
|
-
font-size: 12px;
|
|
7251
|
-
color: var(--c-text-soft);
|
|
7252
|
-
}
|
|
7253
|
-
.export-dialog-list {
|
|
7254
|
-
margin: 0;
|
|
7255
|
-
padding-left: 18px;
|
|
7256
|
-
font-size: 13px;
|
|
7257
|
-
color: var(--c-text);
|
|
7258
|
-
display: flex;
|
|
7259
|
-
flex-direction: column;
|
|
7260
|
-
gap: 4px;
|
|
7261
|
-
}
|
|
7262
|
-
.export-dialog-files {
|
|
7263
|
-
display: flex;
|
|
7264
|
-
gap: 8px;
|
|
7265
|
-
align-items: flex-start;
|
|
7266
|
-
font-size: 12px;
|
|
7267
|
-
color: var(--c-text);
|
|
7268
|
-
word-break: break-all;
|
|
7871
|
+
word-break: break-all;
|
|
7269
7872
|
}
|
|
7270
7873
|
.export-dialog-result {
|
|
7271
7874
|
font-size: 12px;
|
|
@@ -7290,204 +7893,1850 @@ html.is-node-dragging .intent-line-layer {
|
|
|
7290
7893
|
word-break: normal;
|
|
7291
7894
|
}
|
|
7292
7895
|
|
|
7293
|
-
/*
|
|
7294
|
-
.
|
|
7896
|
+
/* Visually hidden, still read by assistive tech. */
|
|
7897
|
+
.sr-only {
|
|
7898
|
+
position: absolute;
|
|
7899
|
+
width: 1px;
|
|
7900
|
+
height: 1px;
|
|
7901
|
+
overflow: hidden;
|
|
7902
|
+
clip: rect(0 0 0 0);
|
|
7903
|
+
white-space: nowrap;
|
|
7904
|
+
}
|
|
7905
|
+
|
|
7906
|
+
/* ── Home (docs/design/Home.dc.html; Pane600.dc.html at ≤ 760 px) ──
|
|
7907
|
+
Library tree left, the folder's subfolders and board cards in the middle,
|
|
7908
|
+
the selected board's details right. Folders carry no colour. */
|
|
7909
|
+
.home-view {
|
|
7910
|
+
position: absolute;
|
|
7911
|
+
inset: 0;
|
|
7912
|
+
display: grid;
|
|
7913
|
+
grid-template-columns: 256px minmax(0, 1fr);
|
|
7914
|
+
background: var(--c-bg);
|
|
7915
|
+
color: var(--c-text);
|
|
7916
|
+
font-family: var(--font-ui);
|
|
7917
|
+
overflow: hidden;
|
|
7918
|
+
}
|
|
7919
|
+
.home-view.has-details {
|
|
7920
|
+
grid-template-columns: 256px minmax(0, 1fr) 280px;
|
|
7921
|
+
}
|
|
7922
|
+
.home-library,
|
|
7923
|
+
.home-details {
|
|
7295
7924
|
display: flex;
|
|
7296
7925
|
flex-direction: column;
|
|
7297
|
-
gap:
|
|
7926
|
+
gap: 16px;
|
|
7927
|
+
min-height: 0;
|
|
7928
|
+
overflow-y: auto;
|
|
7929
|
+
box-sizing: border-box;
|
|
7930
|
+
background: color-mix(in srgb, var(--c-bg) 60%, var(--c-panel));
|
|
7298
7931
|
}
|
|
7299
|
-
.home-
|
|
7932
|
+
.home-library {
|
|
7933
|
+
padding: 16px 12px;
|
|
7934
|
+
border-right: 1px solid var(--c-line);
|
|
7935
|
+
}
|
|
7936
|
+
.home-library-head {
|
|
7300
7937
|
display: flex;
|
|
7301
7938
|
align-items: center;
|
|
7302
|
-
|
|
7303
|
-
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
border: none;
|
|
7308
|
-
border-radius: 8px;
|
|
7309
|
-
color: var(--c-text-soft);
|
|
7310
|
-
font-size: 12px;
|
|
7939
|
+
justify-content: space-between;
|
|
7940
|
+
padding: 0 4px;
|
|
7941
|
+
}
|
|
7942
|
+
.home-library-title {
|
|
7943
|
+
font-size: 15px;
|
|
7311
7944
|
font-weight: 600;
|
|
7312
|
-
text-transform: uppercase;
|
|
7313
|
-
letter-spacing: 0.06em;
|
|
7314
|
-
cursor: pointer;
|
|
7315
|
-
text-align: left;
|
|
7316
7945
|
}
|
|
7317
|
-
.home-
|
|
7318
|
-
|
|
7319
|
-
|
|
7946
|
+
.home-search {
|
|
7947
|
+
display: flex;
|
|
7948
|
+
align-items: center;
|
|
7949
|
+
gap: 8px;
|
|
7950
|
+
height: 32px;
|
|
7951
|
+
padding: 0 10px;
|
|
7952
|
+
border-radius: 6px;
|
|
7953
|
+
border: 1px solid var(--c-line);
|
|
7954
|
+
background: var(--c-panel);
|
|
7955
|
+
color: var(--c-muted);
|
|
7320
7956
|
}
|
|
7321
|
-
.home-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7325
|
-
stroke-width: 1.75;
|
|
7326
|
-
stroke-linecap: round;
|
|
7327
|
-
stroke-linejoin: round;
|
|
7957
|
+
.home-search svg {
|
|
7958
|
+
width: 14px;
|
|
7959
|
+
height: 14px;
|
|
7960
|
+
flex-shrink: 0;
|
|
7328
7961
|
}
|
|
7329
|
-
.home-
|
|
7330
|
-
|
|
7962
|
+
.home-search input {
|
|
7963
|
+
flex: 1;
|
|
7964
|
+
min-width: 0;
|
|
7965
|
+
border: 0;
|
|
7966
|
+
outline: none;
|
|
7967
|
+
background: transparent;
|
|
7968
|
+
color: var(--c-text);
|
|
7969
|
+
font: inherit;
|
|
7970
|
+
font-size: 12px;
|
|
7331
7971
|
}
|
|
7332
|
-
.home-
|
|
7333
|
-
|
|
7972
|
+
.home-search:focus-within {
|
|
7973
|
+
border-color: var(--c-accent);
|
|
7334
7974
|
}
|
|
7335
|
-
.home-section
|
|
7336
|
-
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
color: var(--c-dim);
|
|
7340
|
-
margin-left: auto;
|
|
7975
|
+
.home-library-section {
|
|
7976
|
+
display: flex;
|
|
7977
|
+
flex-direction: column;
|
|
7978
|
+
gap: 2px;
|
|
7341
7979
|
}
|
|
7342
|
-
.home-section-
|
|
7343
|
-
|
|
7344
|
-
outline-offset: 2px;
|
|
7980
|
+
.home-library-section.is-folders {
|
|
7981
|
+
flex: 1;
|
|
7345
7982
|
}
|
|
7346
|
-
.home-section-
|
|
7347
|
-
|
|
7348
|
-
|
|
7349
|
-
|
|
7983
|
+
.home-section-label {
|
|
7984
|
+
padding: 0 8px 4px;
|
|
7985
|
+
font-size: 11px;
|
|
7986
|
+
font-weight: 500;
|
|
7987
|
+
letter-spacing: 0.06em;
|
|
7988
|
+
text-transform: uppercase;
|
|
7989
|
+
color: var(--c-dim);
|
|
7350
7990
|
}
|
|
7351
|
-
.home-section-
|
|
7352
|
-
|
|
7353
|
-
font-weight: 650;
|
|
7354
|
-
overflow-wrap: anywhere;
|
|
7991
|
+
.home-main-section .home-section-label {
|
|
7992
|
+
padding: 0;
|
|
7355
7993
|
}
|
|
7356
|
-
.home-
|
|
7994
|
+
.home-tree,
|
|
7995
|
+
.home-pinned {
|
|
7996
|
+
margin: 0;
|
|
7997
|
+
padding: 0;
|
|
7998
|
+
list-style: none;
|
|
7357
7999
|
display: flex;
|
|
7358
8000
|
flex-direction: column;
|
|
7359
|
-
gap:
|
|
7360
|
-
padding-left: 12px;
|
|
7361
|
-
border-left: 1px solid var(--c-line);
|
|
7362
|
-
}
|
|
7363
|
-
.home-search { width: 100%; box-sizing: border-box; }
|
|
7364
|
-
.board-copy-dialog,
|
|
7365
|
-
.board-link-dialog {
|
|
7366
|
-
width: min(540px, calc(100vw - 32px));
|
|
7367
|
-
max-height: calc(100dvh - 40px);
|
|
7368
|
-
overflow-y: auto;
|
|
7369
|
-
box-sizing: border-box;
|
|
8001
|
+
gap: 2px;
|
|
7370
8002
|
}
|
|
7371
|
-
.
|
|
7372
|
-
.
|
|
7373
|
-
.
|
|
8003
|
+
.home-tree-row,
|
|
8004
|
+
.home-pinned-row,
|
|
8005
|
+
.home-tree-new {
|
|
7374
8006
|
display: flex;
|
|
7375
|
-
|
|
8007
|
+
align-items: center;
|
|
7376
8008
|
gap: 8px;
|
|
8009
|
+
height: 30px;
|
|
8010
|
+
padding: 0 8px;
|
|
8011
|
+
border: 0;
|
|
8012
|
+
border-radius: 6px;
|
|
8013
|
+
background: transparent;
|
|
8014
|
+
color: var(--c-text);
|
|
8015
|
+
font: inherit;
|
|
8016
|
+
text-align: left;
|
|
7377
8017
|
}
|
|
7378
|
-
.
|
|
7379
|
-
.
|
|
7380
|
-
|
|
7381
|
-
.board-copy-cards {
|
|
7382
|
-
margin: 14px 0;
|
|
7383
|
-
padding: 8px;
|
|
7384
|
-
border: 1px solid var(--c-line);
|
|
7385
|
-
border-radius: 9px;
|
|
7386
|
-
max-height: 230px;
|
|
7387
|
-
overflow-y: auto;
|
|
8018
|
+
.home-tree-row:hover,
|
|
8019
|
+
.home-pinned-row:hover {
|
|
8020
|
+
background: color-mix(in srgb, var(--c-panel) 70%, transparent);
|
|
7388
8021
|
}
|
|
7389
|
-
.
|
|
7390
|
-
|
|
8022
|
+
.home-tree-row.is-selected {
|
|
8023
|
+
background: var(--c-panel);
|
|
8024
|
+
}
|
|
8025
|
+
.home-tree-indent {
|
|
8026
|
+
flex-shrink: 0;
|
|
8027
|
+
}
|
|
8028
|
+
.home-tree-chevron {
|
|
7391
8029
|
display: flex;
|
|
7392
8030
|
align-items: center;
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
8031
|
+
justify-content: center;
|
|
8032
|
+
width: 16px;
|
|
8033
|
+
height: 16px;
|
|
8034
|
+
flex-shrink: 0;
|
|
8035
|
+
padding: 0;
|
|
8036
|
+
border: 0;
|
|
8037
|
+
background: transparent;
|
|
8038
|
+
color: var(--c-muted);
|
|
7396
8039
|
cursor: pointer;
|
|
7397
8040
|
}
|
|
7398
|
-
.
|
|
7399
|
-
|
|
7400
|
-
|
|
7401
|
-
.board-copy-card small,
|
|
7402
|
-
.board-link-results small { color: var(--c-text-soft); font: 11px var(--font-code); }
|
|
7403
|
-
.board-copy-options { font-size: 13px; }
|
|
7404
|
-
.board-copy-options label { display: flex; gap: 8px; align-items: center; }
|
|
7405
|
-
.board-copy-note,
|
|
7406
|
-
.board-copy-status { color: var(--c-text-soft); font-size: 12px; line-height: 1.5; }
|
|
7407
|
-
.board-copy-error { color: var(--c-danger); font-size: 12px; margin-top: 8px; }
|
|
7408
|
-
.board-link-results { display: flex; flex-direction: column; gap: 5px; margin: 12px 0; padding: 0; max-height: 320px; overflow-y: auto; list-style: none; }
|
|
7409
|
-
.board-link-results button { width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 10px; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-panel); color: var(--c-text); text-align: left; cursor: pointer; }
|
|
7410
|
-
.board-link-results button:hover,
|
|
7411
|
-
.board-link-results button:focus-visible { border-color: var(--c-accent); outline: none; }
|
|
7412
|
-
.home-folder-dialog {
|
|
7413
|
-
width: min(460px, calc(100vw - 32px));
|
|
7414
|
-
max-height: calc(100dvh - 48px);
|
|
7415
|
-
overflow-y: auto;
|
|
7416
|
-
box-sizing: border-box;
|
|
8041
|
+
.home-tree-chevron svg {
|
|
8042
|
+
width: 12px;
|
|
8043
|
+
height: 12px;
|
|
7417
8044
|
}
|
|
7418
|
-
.home-
|
|
7419
|
-
|
|
8045
|
+
.home-tree-name,
|
|
8046
|
+
.home-pinned-name {
|
|
8047
|
+
flex: 1;
|
|
8048
|
+
min-width: 0;
|
|
8049
|
+
overflow: hidden;
|
|
8050
|
+
text-overflow: ellipsis;
|
|
8051
|
+
white-space: nowrap;
|
|
8052
|
+
padding: 0;
|
|
8053
|
+
border: 0;
|
|
8054
|
+
background: transparent;
|
|
8055
|
+
color: inherit;
|
|
8056
|
+
font: inherit;
|
|
7420
8057
|
font-size: 12px;
|
|
7421
|
-
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
.home-folder-options {
|
|
7425
|
-
margin: 12px 0;
|
|
7426
|
-
padding: 8px;
|
|
7427
|
-
border: 1px solid var(--c-line);
|
|
7428
|
-
border-radius: 8px;
|
|
7429
|
-
max-height: 240px;
|
|
7430
|
-
overflow-y: auto;
|
|
8058
|
+
font-weight: 500;
|
|
8059
|
+
text-align: left;
|
|
8060
|
+
cursor: pointer;
|
|
7431
8061
|
}
|
|
7432
|
-
.home-
|
|
7433
|
-
|
|
7434
|
-
display: flex;
|
|
7435
|
-
align-items: center;
|
|
7436
|
-
gap: 8px;
|
|
7437
|
-
padding: 8px;
|
|
7438
|
-
border-radius: 6px;
|
|
7439
|
-
font-size: 13px;
|
|
7440
|
-
overflow-wrap: anywhere;
|
|
8062
|
+
.home-pinned-row {
|
|
8063
|
+
width: 100%;
|
|
7441
8064
|
cursor: pointer;
|
|
7442
8065
|
}
|
|
7443
|
-
.home-
|
|
7444
|
-
|
|
7445
|
-
|
|
7446
|
-
.
|
|
7447
|
-
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7454
|
-
|
|
7455
|
-
|
|
8066
|
+
.home-tree-row.is-unfiled .home-tree-name {
|
|
8067
|
+
color: var(--c-text-soft);
|
|
8068
|
+
}
|
|
8069
|
+
.home-tree-pin {
|
|
8070
|
+
width: 6px;
|
|
8071
|
+
height: 6px;
|
|
8072
|
+
border-radius: 999px;
|
|
8073
|
+
background: var(--c-pin);
|
|
8074
|
+
flex-shrink: 0;
|
|
8075
|
+
}
|
|
8076
|
+
.home-tree-count,
|
|
8077
|
+
.home-pinned-cost {
|
|
8078
|
+
font-size: 11px;
|
|
8079
|
+
color: var(--c-dim);
|
|
8080
|
+
font-variant-numeric: tabular-nums;
|
|
8081
|
+
white-space: nowrap;
|
|
8082
|
+
}
|
|
8083
|
+
.home-pinned-cost {
|
|
8084
|
+
padding: 2px 8px 0 32px;
|
|
8085
|
+
}
|
|
8086
|
+
.home-tree-new {
|
|
8087
|
+
margin-top: 4px;
|
|
8088
|
+
color: var(--c-muted);
|
|
8089
|
+
font-size: 12px;
|
|
8090
|
+
cursor: pointer;
|
|
8091
|
+
}
|
|
8092
|
+
.home-pin-dot {
|
|
8093
|
+
display: flex;
|
|
8094
|
+
align-items: center;
|
|
8095
|
+
justify-content: center;
|
|
8096
|
+
width: 16px;
|
|
8097
|
+
height: 16px;
|
|
8098
|
+
border-radius: 999px;
|
|
8099
|
+
background: var(--c-pin);
|
|
8100
|
+
color: var(--c-bg);
|
|
8101
|
+
flex-shrink: 0;
|
|
8102
|
+
}
|
|
8103
|
+
.home-pin-dot svg {
|
|
8104
|
+
width: 9px;
|
|
8105
|
+
height: 9px;
|
|
8106
|
+
}
|
|
8107
|
+
.home-main {
|
|
8108
|
+
display: flex;
|
|
8109
|
+
flex-direction: column;
|
|
8110
|
+
gap: 20px;
|
|
8111
|
+
min-width: 0;
|
|
8112
|
+
min-height: 0;
|
|
8113
|
+
padding: 24px 32px;
|
|
8114
|
+
overflow-y: auto;
|
|
8115
|
+
box-sizing: border-box;
|
|
8116
|
+
}
|
|
8117
|
+
.home-main-head {
|
|
8118
|
+
display: flex;
|
|
8119
|
+
flex-wrap: wrap;
|
|
8120
|
+
align-items: flex-start;
|
|
8121
|
+
gap: 16px;
|
|
8122
|
+
}
|
|
8123
|
+
.home-main-title {
|
|
8124
|
+
flex: 1 1 240px;
|
|
8125
|
+
min-width: 0;
|
|
8126
|
+
}
|
|
8127
|
+
.home-crumbs {
|
|
8128
|
+
display: flex;
|
|
8129
|
+
flex-wrap: wrap;
|
|
8130
|
+
font-size: 12px;
|
|
8131
|
+
color: var(--c-dim);
|
|
8132
|
+
}
|
|
8133
|
+
.home-crumbs button {
|
|
8134
|
+
padding: 0;
|
|
8135
|
+
border: 0;
|
|
8136
|
+
background: transparent;
|
|
8137
|
+
color: inherit;
|
|
8138
|
+
font: inherit;
|
|
8139
|
+
cursor: pointer;
|
|
8140
|
+
}
|
|
8141
|
+
.home-crumbs > span:last-child button {
|
|
8142
|
+
color: var(--c-text-soft);
|
|
8143
|
+
}
|
|
8144
|
+
.home-crumb-sep {
|
|
8145
|
+
margin: 0 6px;
|
|
8146
|
+
opacity: 0.6;
|
|
8147
|
+
}
|
|
8148
|
+
.home-view-title {
|
|
8149
|
+
margin: 2px 0 0;
|
|
8150
|
+
font-size: 20px;
|
|
8151
|
+
line-height: 28px;
|
|
8152
|
+
font-weight: 600;
|
|
8153
|
+
overflow-wrap: anywhere;
|
|
8154
|
+
}
|
|
8155
|
+
.home-main-section {
|
|
8156
|
+
display: flex;
|
|
8157
|
+
flex-direction: column;
|
|
8158
|
+
gap: 10px;
|
|
8159
|
+
}
|
|
8160
|
+
.home-folders,
|
|
8161
|
+
.home-cards,
|
|
8162
|
+
.home-hits {
|
|
8163
|
+
margin: 0;
|
|
8164
|
+
padding: 0;
|
|
8165
|
+
list-style: none;
|
|
8166
|
+
display: grid;
|
|
8167
|
+
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
|
8168
|
+
gap: 16px;
|
|
8169
|
+
}
|
|
8170
|
+
.home-hits {
|
|
8171
|
+
grid-template-columns: 1fr;
|
|
8172
|
+
gap: 6px;
|
|
8173
|
+
}
|
|
8174
|
+
.home-folder {
|
|
8175
|
+
position: relative;
|
|
8176
|
+
display: flex;
|
|
8177
|
+
flex-direction: column;
|
|
8178
|
+
justify-content: flex-end;
|
|
8179
|
+
gap: 2px;
|
|
8180
|
+
width: 100%;
|
|
8181
|
+
height: 112px;
|
|
8182
|
+
box-sizing: border-box;
|
|
8183
|
+
padding: 14px;
|
|
8184
|
+
border-radius: 10px;
|
|
8185
|
+
border: 1px solid var(--c-line);
|
|
8186
|
+
background: var(--c-panel);
|
|
8187
|
+
color: var(--c-text);
|
|
8188
|
+
font: inherit;
|
|
8189
|
+
text-align: left;
|
|
8190
|
+
overflow: hidden;
|
|
8191
|
+
cursor: pointer;
|
|
8192
|
+
}
|
|
8193
|
+
.home-folder:hover,
|
|
8194
|
+
.home-card:hover {
|
|
8195
|
+
border-color: color-mix(in srgb, var(--c-line) 50%, var(--c-accent));
|
|
8196
|
+
}
|
|
8197
|
+
.home-folder-stack span {
|
|
8198
|
+
position: absolute;
|
|
8199
|
+
width: 56px;
|
|
8200
|
+
height: 36px;
|
|
8201
|
+
border-radius: 4px;
|
|
8202
|
+
border: 1px solid var(--c-line);
|
|
8203
|
+
background: color-mix(in srgb, var(--c-panel) 80%, var(--c-text) 4%);
|
|
8204
|
+
}
|
|
8205
|
+
.home-folder-stack span:nth-child(1) { left: 14px; top: 14px; }
|
|
8206
|
+
.home-folder-stack span:nth-child(2) { left: 22px; top: 20px; }
|
|
8207
|
+
.home-folder-stack span:nth-child(3) { left: 30px; top: 26px; }
|
|
8208
|
+
.home-folder-context {
|
|
8209
|
+
position: absolute;
|
|
8210
|
+
right: 12px;
|
|
8211
|
+
top: 12px;
|
|
8212
|
+
height: 20px;
|
|
8213
|
+
padding: 0 8px;
|
|
8214
|
+
border-radius: 999px;
|
|
8215
|
+
background: color-mix(in srgb, var(--c-pin) 12%, transparent);
|
|
8216
|
+
color: var(--c-pin);
|
|
8217
|
+
font-size: 11px;
|
|
8218
|
+
font-weight: 500;
|
|
8219
|
+
line-height: 20px;
|
|
8220
|
+
}
|
|
8221
|
+
.home-folder-name {
|
|
8222
|
+
font-size: 13px;
|
|
8223
|
+
font-weight: 600;
|
|
8224
|
+
}
|
|
8225
|
+
.home-folder-meta {
|
|
8226
|
+
font-size: 11px;
|
|
8227
|
+
color: var(--c-muted);
|
|
8228
|
+
}
|
|
8229
|
+
.home-card {
|
|
8230
|
+
position: relative;
|
|
8231
|
+
border-radius: 10px;
|
|
8232
|
+
border: 1px solid var(--c-line);
|
|
8233
|
+
background: var(--c-panel);
|
|
8234
|
+
box-shadow: 0 1px 2px var(--c-shadow);
|
|
8235
|
+
overflow: hidden;
|
|
8236
|
+
}
|
|
8237
|
+
.home-card.is-pinned {
|
|
8238
|
+
border: 1.5px solid var(--c-pin);
|
|
8239
|
+
}
|
|
8240
|
+
.home-card.is-selected {
|
|
8241
|
+
outline: 2px solid var(--c-accent);
|
|
8242
|
+
outline-offset: 2px;
|
|
8243
|
+
}
|
|
8244
|
+
.home-card-select {
|
|
8245
|
+
display: flex;
|
|
8246
|
+
flex-direction: column;
|
|
8247
|
+
width: 100%;
|
|
8248
|
+
padding: 0;
|
|
8249
|
+
border: 0;
|
|
8250
|
+
background: transparent;
|
|
8251
|
+
color: inherit;
|
|
8252
|
+
font: inherit;
|
|
8253
|
+
text-align: left;
|
|
8254
|
+
cursor: pointer;
|
|
8255
|
+
}
|
|
8256
|
+
.home-card .board-pin-btn {
|
|
8257
|
+
position: absolute;
|
|
8258
|
+
right: 10px;
|
|
8259
|
+
top: 10px;
|
|
8260
|
+
}
|
|
8261
|
+
.home-thumb {
|
|
8262
|
+
position: relative;
|
|
8263
|
+
width: 100%;
|
|
8264
|
+
height: 128px;
|
|
8265
|
+
box-sizing: border-box;
|
|
8266
|
+
border-bottom: 1px solid var(--c-line);
|
|
8267
|
+
background-color: var(--c-bg);
|
|
8268
|
+
background-image: radial-gradient(color-mix(in srgb, var(--c-muted) 18%, transparent) 1px, transparent 1.2px);
|
|
8269
|
+
background-size: 12px 12px;
|
|
8270
|
+
}
|
|
8271
|
+
/* The board's extent, drawn inside a 16 px margin. */
|
|
8272
|
+
.home-thumb-inner {
|
|
8273
|
+
position: absolute;
|
|
8274
|
+
inset: 16px;
|
|
8275
|
+
}
|
|
8276
|
+
.home-thumb-card {
|
|
8277
|
+
position: absolute;
|
|
8278
|
+
box-sizing: border-box;
|
|
8279
|
+
min-width: 3px;
|
|
8280
|
+
min-height: 3px;
|
|
8281
|
+
border-radius: 3px;
|
|
8282
|
+
border: 1px solid var(--c-line);
|
|
8283
|
+
background: var(--c-panel);
|
|
8284
|
+
}
|
|
8285
|
+
.home-thumb-card.is-pinned {
|
|
8286
|
+
border-color: var(--c-pin);
|
|
8287
|
+
}
|
|
8288
|
+
.home-card-body,
|
|
8289
|
+
.home-hit {
|
|
8290
|
+
display: flex;
|
|
8291
|
+
flex-direction: column;
|
|
8292
|
+
gap: 6px;
|
|
8293
|
+
padding: 12px 14px;
|
|
8294
|
+
min-width: 0;
|
|
8295
|
+
}
|
|
8296
|
+
.home-hit {
|
|
8297
|
+
width: 100%;
|
|
8298
|
+
gap: 2px;
|
|
8299
|
+
border: 1px solid var(--c-line);
|
|
8300
|
+
border-radius: 8px;
|
|
8301
|
+
background: var(--c-panel);
|
|
8302
|
+
color: var(--c-text);
|
|
8303
|
+
font: inherit;
|
|
8304
|
+
text-align: left;
|
|
8305
|
+
cursor: pointer;
|
|
8306
|
+
}
|
|
8307
|
+
.home-card-name {
|
|
8308
|
+
font-size: 13px;
|
|
8309
|
+
font-weight: 600;
|
|
8310
|
+
overflow: hidden;
|
|
8311
|
+
text-overflow: ellipsis;
|
|
8312
|
+
white-space: nowrap;
|
|
8313
|
+
}
|
|
8314
|
+
.home-card-readme {
|
|
8315
|
+
height: 33px;
|
|
8316
|
+
overflow: hidden;
|
|
8317
|
+
font-size: 11px;
|
|
8318
|
+
line-height: 1.5;
|
|
8319
|
+
color: var(--c-text-soft);
|
|
8320
|
+
}
|
|
8321
|
+
.home-card-meta {
|
|
8322
|
+
display: flex;
|
|
8323
|
+
gap: 10px;
|
|
8324
|
+
font-size: 11px;
|
|
8325
|
+
color: var(--c-dim);
|
|
8326
|
+
overflow: hidden;
|
|
8327
|
+
white-space: nowrap;
|
|
8328
|
+
}
|
|
8329
|
+
.home-card-when {
|
|
8330
|
+
margin-left: auto;
|
|
8331
|
+
}
|
|
8332
|
+
.home-review-link, .home-card-review {
|
|
8333
|
+
border: 0;
|
|
8334
|
+
background: transparent;
|
|
8335
|
+
color: var(--c-warn);
|
|
8336
|
+
font: 12px var(--font-ui);
|
|
8337
|
+
text-align: left;
|
|
8338
|
+
cursor: pointer;
|
|
8339
|
+
}
|
|
8340
|
+
.home-review-link { padding: 0; color: var(--c-text-soft); text-decoration: underline; text-underline-offset: 3px; }
|
|
8341
|
+
.home-review-link.has-review { color: var(--c-warn); }
|
|
8342
|
+
.home-card-review { margin: 0 14px 12px; padding: 0; }
|
|
8343
|
+
.home-review-link:focus-visible, .home-card-review:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }
|
|
8344
|
+
.home-details {
|
|
8345
|
+
padding: 20px 18px;
|
|
8346
|
+
border-left: 1px solid var(--c-line);
|
|
8347
|
+
}
|
|
8348
|
+
.home-details-grip {
|
|
8349
|
+
display: none;
|
|
8350
|
+
}
|
|
8351
|
+
.home-details-head {
|
|
8352
|
+
display: flex;
|
|
8353
|
+
flex-direction: column;
|
|
8354
|
+
gap: 2px;
|
|
8355
|
+
}
|
|
8356
|
+
.home-details-folder {
|
|
8357
|
+
font-size: 11px;
|
|
8358
|
+
color: var(--c-dim);
|
|
8359
|
+
}
|
|
8360
|
+
.home-details-name {
|
|
8361
|
+
font-size: 15px;
|
|
8362
|
+
font-weight: 600;
|
|
8363
|
+
overflow-wrap: anywhere;
|
|
8364
|
+
}
|
|
8365
|
+
.home-details-context {
|
|
8366
|
+
display: flex;
|
|
8367
|
+
align-items: center;
|
|
8368
|
+
justify-content: space-between;
|
|
8369
|
+
gap: 10px;
|
|
8370
|
+
padding: 10px 12px;
|
|
7456
8371
|
border-radius: 8px;
|
|
8372
|
+
border: 1px solid var(--c-line);
|
|
8373
|
+
}
|
|
8374
|
+
.home-details-context.is-on {
|
|
8375
|
+
border-color: color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
8376
|
+
background: color-mix(in srgb, var(--c-pin) 8%, transparent);
|
|
8377
|
+
}
|
|
8378
|
+
.home-details-context-text {
|
|
8379
|
+
display: flex;
|
|
8380
|
+
flex-direction: column;
|
|
8381
|
+
min-width: 0;
|
|
8382
|
+
}
|
|
8383
|
+
.home-details-context-label {
|
|
8384
|
+
font-size: 12px;
|
|
8385
|
+
font-weight: 600;
|
|
8386
|
+
}
|
|
8387
|
+
.home-details-context.is-on .home-details-context-label {
|
|
8388
|
+
color: var(--c-pin);
|
|
8389
|
+
}
|
|
8390
|
+
.home-switch {
|
|
8391
|
+
position: relative;
|
|
8392
|
+
width: 32px;
|
|
8393
|
+
height: 18px;
|
|
8394
|
+
flex-shrink: 0;
|
|
8395
|
+
padding: 0;
|
|
8396
|
+
border: 0;
|
|
8397
|
+
border-radius: 999px;
|
|
8398
|
+
background: var(--c-line);
|
|
8399
|
+
cursor: pointer;
|
|
8400
|
+
}
|
|
8401
|
+
.home-switch[aria-checked='true'] {
|
|
8402
|
+
background: var(--c-pin);
|
|
8403
|
+
}
|
|
8404
|
+
.home-switch-knob {
|
|
8405
|
+
position: absolute;
|
|
8406
|
+
left: 2px;
|
|
8407
|
+
top: 2px;
|
|
8408
|
+
width: 14px;
|
|
8409
|
+
height: 14px;
|
|
8410
|
+
border-radius: 999px;
|
|
8411
|
+
background: var(--c-bg);
|
|
8412
|
+
transition: left 0.12s ease;
|
|
8413
|
+
}
|
|
8414
|
+
.home-switch[aria-checked='true'] .home-switch-knob {
|
|
8415
|
+
left: 16px;
|
|
8416
|
+
}
|
|
8417
|
+
.home-details-actions {
|
|
8418
|
+
margin-top: 0;
|
|
8419
|
+
display: flex;
|
|
8420
|
+
gap: 8px;
|
|
8421
|
+
}
|
|
8422
|
+
.home-details-confirm {
|
|
8423
|
+
margin-top: auto;
|
|
8424
|
+
display: flex;
|
|
8425
|
+
flex-direction: column;
|
|
8426
|
+
gap: 10px;
|
|
8427
|
+
font-size: 12px;
|
|
8428
|
+
line-height: 1.5;
|
|
8429
|
+
}
|
|
8430
|
+
.home-details-confirm .home-details-actions {
|
|
8431
|
+
margin-top: 0;
|
|
8432
|
+
}
|
|
8433
|
+
.home-button {
|
|
8434
|
+
height: 34px;
|
|
8435
|
+
padding: 0 14px;
|
|
8436
|
+
border-radius: 6px;
|
|
8437
|
+
border: 1px solid var(--c-line);
|
|
8438
|
+
background: var(--c-panel);
|
|
8439
|
+
color: var(--c-text);
|
|
8440
|
+
font: inherit;
|
|
8441
|
+
font-size: 12px;
|
|
8442
|
+
font-weight: 500;
|
|
8443
|
+
cursor: pointer;
|
|
8444
|
+
flex-shrink: 0;
|
|
8445
|
+
}
|
|
8446
|
+
.home-button.is-primary {
|
|
8447
|
+
border: 0;
|
|
8448
|
+
background: var(--c-pin);
|
|
8449
|
+
color: var(--c-bg);
|
|
8450
|
+
font-weight: 600;
|
|
8451
|
+
}
|
|
8452
|
+
.home-details-actions .home-button.is-primary {
|
|
8453
|
+
flex: 1;
|
|
8454
|
+
white-space: nowrap;
|
|
8455
|
+
}
|
|
8456
|
+
.home-main-head .home-button {
|
|
8457
|
+
height: 32px;
|
|
8458
|
+
}
|
|
8459
|
+
.home-button.is-icon {
|
|
8460
|
+
width: 34px;
|
|
8461
|
+
padding: 0;
|
|
8462
|
+
display: flex;
|
|
8463
|
+
align-items: center;
|
|
8464
|
+
justify-content: center;
|
|
8465
|
+
}
|
|
8466
|
+
.home-button.is-icon svg {
|
|
8467
|
+
width: 16px;
|
|
8468
|
+
height: 16px;
|
|
8469
|
+
}
|
|
8470
|
+
.home-button.is-danger {
|
|
8471
|
+
border-color: color-mix(in srgb, var(--c-danger) 50%, transparent);
|
|
8472
|
+
color: var(--c-danger);
|
|
8473
|
+
}
|
|
8474
|
+
.home-more {
|
|
8475
|
+
position: relative;
|
|
8476
|
+
}
|
|
8477
|
+
.home-more-menu {
|
|
8478
|
+
position: absolute;
|
|
8479
|
+
right: 0;
|
|
8480
|
+
bottom: calc(100% + 6px);
|
|
8481
|
+
display: flex;
|
|
8482
|
+
flex-direction: column;
|
|
8483
|
+
min-width: 160px;
|
|
8484
|
+
padding: 4px;
|
|
8485
|
+
border-radius: 8px;
|
|
8486
|
+
border: 1px solid var(--c-line);
|
|
8487
|
+
background: var(--c-panel);
|
|
8488
|
+
box-shadow: 0 10px 30px var(--c-shadow-heavy);
|
|
8489
|
+
z-index: 2;
|
|
8490
|
+
}
|
|
8491
|
+
.home-more-item {
|
|
8492
|
+
height: 30px;
|
|
8493
|
+
padding: 0 10px;
|
|
8494
|
+
border: 0;
|
|
8495
|
+
border-radius: 6px;
|
|
8496
|
+
background: transparent;
|
|
8497
|
+
color: var(--c-text);
|
|
8498
|
+
font: inherit;
|
|
8499
|
+
font-size: 12px;
|
|
8500
|
+
text-align: left;
|
|
8501
|
+
cursor: pointer;
|
|
8502
|
+
}
|
|
8503
|
+
.home-more-item:hover {
|
|
8504
|
+
background: color-mix(in srgb, var(--c-accent) 12%, transparent);
|
|
8505
|
+
}
|
|
8506
|
+
.home-view-empty {
|
|
8507
|
+
font-size: 13px;
|
|
8508
|
+
color: var(--c-text-soft);
|
|
8509
|
+
}
|
|
8510
|
+
.home-narrow {
|
|
8511
|
+
display: none;
|
|
8512
|
+
}
|
|
8513
|
+
.home-tree-row button:focus-visible,
|
|
8514
|
+
.home-pinned-row:focus-visible,
|
|
8515
|
+
.home-tree-new:focus-visible,
|
|
8516
|
+
.home-folder:focus-visible,
|
|
8517
|
+
.home-card-select:focus-visible,
|
|
8518
|
+
.home-button:focus-visible,
|
|
8519
|
+
.home-switch:focus-visible,
|
|
8520
|
+
.home-more-item:focus-visible,
|
|
8521
|
+
.home-hit:focus-visible,
|
|
8522
|
+
.home-crumbs button:focus-visible {
|
|
8523
|
+
outline: 2px solid var(--c-accent);
|
|
8524
|
+
outline-offset: 2px;
|
|
8525
|
+
}
|
|
8526
|
+
/* Pane600.dc.html: one column; the tree is a folder picker, pins a banner,
|
|
8527
|
+
boards a list, details a bottom sheet. */
|
|
8528
|
+
@media (max-width: 760px) {
|
|
8529
|
+
.home-view,
|
|
8530
|
+
.home-view.has-details {
|
|
8531
|
+
grid-template-columns: minmax(0, 1fr);
|
|
8532
|
+
}
|
|
8533
|
+
.home-library {
|
|
8534
|
+
display: none;
|
|
8535
|
+
}
|
|
8536
|
+
.home-library.is-open {
|
|
8537
|
+
display: flex;
|
|
8538
|
+
position: absolute;
|
|
8539
|
+
left: 12px;
|
|
8540
|
+
right: 12px;
|
|
8541
|
+
top: 120px;
|
|
8542
|
+
max-height: 60%;
|
|
8543
|
+
z-index: 3;
|
|
8544
|
+
border: 1px solid var(--c-line);
|
|
8545
|
+
border-radius: 10px;
|
|
8546
|
+
box-shadow: 0 14px 36px var(--c-shadow-heavy);
|
|
8547
|
+
}
|
|
8548
|
+
.home-library.is-open .home-library-head,
|
|
8549
|
+
.home-library.is-open .home-search,
|
|
8550
|
+
.home-library.is-open .home-library-section:not(.is-folders) {
|
|
8551
|
+
display: none;
|
|
8552
|
+
}
|
|
8553
|
+
.home-main {
|
|
8554
|
+
padding: 12px 12px 160px;
|
|
8555
|
+
gap: 12px;
|
|
8556
|
+
}
|
|
8557
|
+
.home-narrow {
|
|
8558
|
+
display: flex;
|
|
8559
|
+
flex-direction: column;
|
|
8560
|
+
gap: 8px;
|
|
8561
|
+
}
|
|
8562
|
+
.home-narrow-context {
|
|
8563
|
+
display: flex;
|
|
8564
|
+
align-items: center;
|
|
8565
|
+
gap: 8px;
|
|
8566
|
+
padding: 8px 10px;
|
|
8567
|
+
border-radius: 8px;
|
|
8568
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 30%, transparent);
|
|
8569
|
+
background: color-mix(in srgb, var(--c-pin) 8%, transparent);
|
|
8570
|
+
color: var(--c-muted);
|
|
8571
|
+
font: inherit;
|
|
8572
|
+
font-size: 12px;
|
|
8573
|
+
text-align: left;
|
|
8574
|
+
cursor: pointer;
|
|
8575
|
+
}
|
|
8576
|
+
.home-narrow-context-label {
|
|
8577
|
+
color: var(--c-pin);
|
|
8578
|
+
font-weight: 600;
|
|
8579
|
+
}
|
|
8580
|
+
.home-narrow-context-cost {
|
|
8581
|
+
flex: 1;
|
|
8582
|
+
}
|
|
8583
|
+
.home-narrow-picker {
|
|
8584
|
+
align-self: flex-start;
|
|
8585
|
+
display: flex;
|
|
8586
|
+
align-items: center;
|
|
8587
|
+
gap: 6px;
|
|
8588
|
+
height: 30px;
|
|
8589
|
+
padding: 0 10px;
|
|
8590
|
+
border-radius: 6px;
|
|
8591
|
+
border: 1px solid var(--c-line);
|
|
8592
|
+
background: var(--c-panel);
|
|
8593
|
+
color: var(--c-text);
|
|
8594
|
+
font: inherit;
|
|
8595
|
+
font-size: 13px;
|
|
8596
|
+
font-weight: 600;
|
|
8597
|
+
cursor: pointer;
|
|
8598
|
+
}
|
|
8599
|
+
.home-main-head .home-button {
|
|
8600
|
+
height: 30px;
|
|
8601
|
+
}
|
|
8602
|
+
.home-folders {
|
|
8603
|
+
display: flex;
|
|
8604
|
+
gap: 8px;
|
|
8605
|
+
overflow-x: auto;
|
|
8606
|
+
}
|
|
8607
|
+
.home-folder {
|
|
8608
|
+
flex-direction: row;
|
|
8609
|
+
align-items: center;
|
|
8610
|
+
width: auto;
|
|
8611
|
+
height: 30px;
|
|
8612
|
+
padding: 0 12px;
|
|
8613
|
+
border-radius: 999px;
|
|
8614
|
+
white-space: nowrap;
|
|
8615
|
+
}
|
|
8616
|
+
.home-folder-stack,
|
|
8617
|
+
.home-folder-context {
|
|
8618
|
+
display: none;
|
|
8619
|
+
}
|
|
8620
|
+
.home-folder-meta::before {
|
|
8621
|
+
content: ' · ';
|
|
8622
|
+
}
|
|
8623
|
+
.home-cards {
|
|
8624
|
+
grid-template-columns: minmax(0, 1fr);
|
|
8625
|
+
gap: 8px;
|
|
8626
|
+
}
|
|
8627
|
+
.home-card-select {
|
|
8628
|
+
flex-direction: row;
|
|
8629
|
+
gap: 12px;
|
|
8630
|
+
padding: 10px;
|
|
8631
|
+
}
|
|
8632
|
+
.home-thumb {
|
|
8633
|
+
width: 96px;
|
|
8634
|
+
height: 64px;
|
|
8635
|
+
flex-shrink: 0;
|
|
8636
|
+
border: 1px solid var(--c-line);
|
|
8637
|
+
border-radius: 6px;
|
|
8638
|
+
background-size: 8px 8px;
|
|
8639
|
+
}
|
|
8640
|
+
.home-thumb-inner {
|
|
8641
|
+
inset: 6px;
|
|
8642
|
+
}
|
|
8643
|
+
.home-card-body {
|
|
8644
|
+
padding: 0 28px 0 0;
|
|
8645
|
+
gap: 2px;
|
|
8646
|
+
}
|
|
8647
|
+
.home-card-readme {
|
|
8648
|
+
height: auto;
|
|
8649
|
+
white-space: nowrap;
|
|
8650
|
+
text-overflow: ellipsis;
|
|
8651
|
+
}
|
|
8652
|
+
.home-details {
|
|
8653
|
+
position: absolute;
|
|
8654
|
+
left: 0;
|
|
8655
|
+
right: 0;
|
|
8656
|
+
bottom: 0;
|
|
8657
|
+
max-height: 70%;
|
|
8658
|
+
padding: 12px;
|
|
8659
|
+
gap: 10px;
|
|
8660
|
+
border-left: 0;
|
|
8661
|
+
border-top: 1px solid var(--c-line);
|
|
8662
|
+
border-radius: 14px 14px 0 0;
|
|
8663
|
+
box-shadow: 0 -10px 30px var(--c-shadow-heavy);
|
|
8664
|
+
z-index: 3;
|
|
8665
|
+
}
|
|
8666
|
+
.home-details-grip {
|
|
8667
|
+
display: block;
|
|
8668
|
+
align-self: center;
|
|
8669
|
+
box-sizing: content-box;
|
|
8670
|
+
width: 36px;
|
|
8671
|
+
height: 4px;
|
|
8672
|
+
/* A 4 px bar is the look; the padding makes the tap target. */
|
|
8673
|
+
padding: 10px 12px;
|
|
8674
|
+
margin: -10px 0;
|
|
8675
|
+
border: 0;
|
|
8676
|
+
border-radius: 999px;
|
|
8677
|
+
background: var(--c-line);
|
|
8678
|
+
background-clip: content-box;
|
|
8679
|
+
cursor: pointer;
|
|
8680
|
+
}
|
|
8681
|
+
}
|
|
8682
|
+
.board-copy-dialog,
|
|
8683
|
+
.board-link-dialog {
|
|
8684
|
+
width: min(540px, calc(100vw - 32px));
|
|
8685
|
+
max-height: calc(100dvh - 40px);
|
|
8686
|
+
overflow-y: auto;
|
|
8687
|
+
box-sizing: border-box;
|
|
8688
|
+
}
|
|
8689
|
+
.board-copy-dialog form,
|
|
8690
|
+
.board-copy-field,
|
|
8691
|
+
.board-copy-options {
|
|
8692
|
+
display: flex;
|
|
8693
|
+
flex-direction: column;
|
|
8694
|
+
gap: 8px;
|
|
8695
|
+
}
|
|
8696
|
+
.board-copy-dialog h2,
|
|
8697
|
+
.board-link-dialog h2 { margin: 0 0 12px; font-size: 17px; }
|
|
8698
|
+
.board-copy-field { color: var(--c-text-soft); font-size: 12px; }
|
|
8699
|
+
.board-copy-cards {
|
|
8700
|
+
margin: 14px 0;
|
|
8701
|
+
padding: 8px;
|
|
8702
|
+
border: 1px solid var(--c-line);
|
|
8703
|
+
border-radius: 9px;
|
|
8704
|
+
max-height: 230px;
|
|
8705
|
+
overflow-y: auto;
|
|
8706
|
+
}
|
|
8707
|
+
.board-copy-cards legend { color: var(--c-text-soft); font-size: 12px; }
|
|
8708
|
+
.board-copy-card {
|
|
8709
|
+
display: flex;
|
|
8710
|
+
align-items: center;
|
|
8711
|
+
gap: 9px;
|
|
8712
|
+
padding: 8px;
|
|
8713
|
+
border-radius: 7px;
|
|
8714
|
+
cursor: pointer;
|
|
8715
|
+
}
|
|
8716
|
+
.board-copy-card:hover { background: color-mix(in srgb, var(--c-accent) 9%, transparent); }
|
|
8717
|
+
.board-copy-card span { display: flex; flex-direction: column; min-width: 0; }
|
|
8718
|
+
.board-copy-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
|
|
8719
|
+
.board-copy-card small,
|
|
8720
|
+
.board-link-results small { color: var(--c-text-soft); font: 11px var(--font-code); }
|
|
8721
|
+
.board-copy-options { font-size: 13px; }
|
|
8722
|
+
.board-copy-options label { display: flex; gap: 8px; align-items: center; }
|
|
8723
|
+
.board-copy-note,
|
|
8724
|
+
.board-copy-status { color: var(--c-text-soft); font-size: 12px; line-height: 1.5; }
|
|
8725
|
+
.board-copy-error { color: var(--c-danger); font-size: 12px; margin-top: 8px; }
|
|
8726
|
+
.board-link-results { display: flex; flex-direction: column; gap: 5px; margin: 12px 0; padding: 0; max-height: 320px; overflow-y: auto; list-style: none; }
|
|
8727
|
+
.board-link-results button { width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 10px; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-panel); color: var(--c-text); text-align: left; cursor: pointer; }
|
|
8728
|
+
.board-link-results button:hover,
|
|
8729
|
+
.board-link-results button:focus-visible { border-color: var(--c-accent); outline: none; }
|
|
8730
|
+
.home-folder-dialog {
|
|
8731
|
+
width: min(460px, calc(100vw - 32px));
|
|
8732
|
+
max-height: calc(100dvh - 48px);
|
|
8733
|
+
overflow-y: auto;
|
|
8734
|
+
box-sizing: border-box;
|
|
8735
|
+
}
|
|
8736
|
+
.home-folder-hint {
|
|
8737
|
+
color: var(--c-text-soft);
|
|
8738
|
+
font-size: 12px;
|
|
8739
|
+
line-height: 1.5;
|
|
8740
|
+
overflow-wrap: anywhere;
|
|
8741
|
+
}
|
|
8742
|
+
.home-folder-options {
|
|
8743
|
+
margin: 12px 0;
|
|
8744
|
+
padding: 8px;
|
|
8745
|
+
border: 1px solid var(--c-line);
|
|
8746
|
+
border-radius: 8px;
|
|
8747
|
+
max-height: 240px;
|
|
8748
|
+
overflow-y: auto;
|
|
8749
|
+
}
|
|
8750
|
+
.home-folder-options legend { color: var(--c-text-soft); font-size: 12px; }
|
|
8751
|
+
.home-folder-option {
|
|
8752
|
+
display: flex;
|
|
8753
|
+
align-items: center;
|
|
8754
|
+
gap: 8px;
|
|
8755
|
+
padding: 8px;
|
|
8756
|
+
border-radius: 6px;
|
|
8757
|
+
font-size: 13px;
|
|
8758
|
+
overflow-wrap: anywhere;
|
|
8759
|
+
cursor: pointer;
|
|
8760
|
+
}
|
|
8761
|
+
.home-folder-option:has(input:checked) { background: color-mix(in srgb, var(--c-accent) 12%, transparent); }
|
|
8762
|
+
.home-folder-option input { accent-color: var(--c-accent); flex-shrink: 0; }
|
|
8763
|
+
.home-folder-new { display: flex; flex-direction: column; gap: 6px; font-size: 12px; overflow-wrap: anywhere; }
|
|
8764
|
+
.attachment-node { padding: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: 13px; overflow: auto; height: 100%; box-sizing: border-box; }
|
|
8765
|
+
.attachment-node p { margin: 0; color: var(--c-text-soft); line-height: 1.5; }
|
|
8766
|
+
.attachment-node a, .md-import-source a { color: var(--c-accent); }
|
|
8767
|
+
.attachment-status { font-weight: 600; }
|
|
8768
|
+
.attachment-button,
|
|
8769
|
+
.presentation-exit,
|
|
8770
|
+
.export-dialog-links a {
|
|
8771
|
+
min-height: 38px;
|
|
8772
|
+
padding: 8px 14px;
|
|
8773
|
+
border: 1px solid var(--c-text-soft);
|
|
8774
|
+
border-radius: 8px;
|
|
8775
|
+
background: var(--c-panel);
|
|
8776
|
+
color: var(--c-text);
|
|
8777
|
+
font: inherit;
|
|
8778
|
+
font-weight: 600;
|
|
8779
|
+
cursor: pointer;
|
|
8780
|
+
}
|
|
8781
|
+
.attachment-button.is-primary,
|
|
8782
|
+
.export-dialog-links a.is-primary { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-bg); }
|
|
8783
|
+
.attachment-button:hover:not(:disabled),
|
|
8784
|
+
.presentation-exit:hover,
|
|
8785
|
+
.export-dialog-links a:hover { filter: brightness(1.12); }
|
|
8786
|
+
.attachment-button:focus-visible,
|
|
8787
|
+
.presentation-exit:focus-visible,
|
|
8788
|
+
.export-dialog-links a:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }
|
|
8789
|
+
.attachment-button:disabled { opacity: 0.5; cursor: default; }
|
|
8790
|
+
.attachment-review { width: 100%; border-top: 1px solid var(--c-line); padding-top: 12px; }
|
|
8791
|
+
.attachment-review-actions {
|
|
8792
|
+
position: sticky;
|
|
8793
|
+
bottom: -16px;
|
|
8794
|
+
display: flex;
|
|
8795
|
+
flex-wrap: wrap;
|
|
8796
|
+
justify-content: flex-end;
|
|
8797
|
+
gap: 12px;
|
|
8798
|
+
margin-top: 24px;
|
|
8799
|
+
padding: 16px 0;
|
|
8800
|
+
border-top: 1px solid var(--c-line);
|
|
8801
|
+
background: var(--c-panel);
|
|
8802
|
+
z-index: 1;
|
|
8803
|
+
}
|
|
8804
|
+
.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; }
|
|
8805
|
+
.attachment-review h4 { margin-bottom: 6px; }
|
|
8806
|
+
.md-import-source { padding: 6px 12px; font-size: 11px; overflow-wrap: anywhere; color: var(--c-text-soft); border-top: 1px solid var(--c-line); }
|
|
8807
|
+
@media (max-width: 640px) {
|
|
8808
|
+
.home-board { flex-wrap: wrap; }
|
|
8809
|
+
.home-board-open { flex-basis: 100%; }
|
|
8810
|
+
.home-board-actions { padding: 0 8px 4px; }
|
|
8811
|
+
}
|
|
8812
|
+
|
|
8813
|
+
/* ── One context chip (docs/design/ContextChip.dc.html) ───────────────
|
|
8814
|
+
Top bar, right side: what is in the agent's context in brief order, with
|
|
8815
|
+
what it costs in tokens. Blue in context, violet the agent's, amber only
|
|
8816
|
+
when a card changed since the agent read it. */
|
|
8817
|
+
.context-chip-wrap {
|
|
8818
|
+
position: relative;
|
|
8819
|
+
flex-shrink: 0;
|
|
8820
|
+
}
|
|
8821
|
+
.context-chip {
|
|
8822
|
+
display: inline-flex;
|
|
8823
|
+
align-items: center;
|
|
8824
|
+
gap: 6px;
|
|
8825
|
+
height: 28px;
|
|
8826
|
+
box-sizing: border-box;
|
|
8827
|
+
padding: 0 10px;
|
|
8828
|
+
border-radius: var(--r-pill);
|
|
8829
|
+
border: 1px solid color-mix(in srgb, var(--c-pin) 35%, transparent);
|
|
8830
|
+
background: color-mix(in srgb, var(--c-pin) 8%, transparent);
|
|
8831
|
+
color: var(--c-pin);
|
|
8832
|
+
font: 500 12px var(--font-ui);
|
|
8833
|
+
white-space: nowrap;
|
|
8834
|
+
cursor: pointer;
|
|
8835
|
+
}
|
|
8836
|
+
.context-chip.is-open {
|
|
8837
|
+
border-color: var(--c-pin);
|
|
8838
|
+
background: color-mix(in srgb, var(--c-pin) 16%, transparent);
|
|
8839
|
+
}
|
|
8840
|
+
.context-chip.is-empty {
|
|
8841
|
+
border: 1px dashed var(--c-line-30);
|
|
8842
|
+
background: transparent;
|
|
8843
|
+
color: var(--c-muted);
|
|
8844
|
+
}
|
|
8845
|
+
.context-chip:focus-visible {
|
|
8846
|
+
outline: 2px solid var(--c-pin);
|
|
8847
|
+
outline-offset: 2px;
|
|
8848
|
+
}
|
|
8849
|
+
.context-chip-pin {
|
|
8850
|
+
position: relative;
|
|
8851
|
+
display: inline-flex;
|
|
8852
|
+
}
|
|
8853
|
+
.context-chip-agent-dot {
|
|
8854
|
+
position: absolute;
|
|
8855
|
+
right: -3px;
|
|
8856
|
+
top: -2px;
|
|
8857
|
+
width: 6px;
|
|
8858
|
+
height: 6px;
|
|
8859
|
+
border-radius: var(--r-pill);
|
|
8860
|
+
background: var(--c-agent);
|
|
8861
|
+
box-shadow: 0 0 0 1.5px var(--c-panel);
|
|
8862
|
+
}
|
|
8863
|
+
.context-chip-wide .is-near {
|
|
8864
|
+
color: var(--c-muted);
|
|
8865
|
+
}
|
|
8866
|
+
.context-chip-wide .is-agent {
|
|
8867
|
+
color: var(--c-agent);
|
|
8868
|
+
}
|
|
8869
|
+
.context-chip-narrow {
|
|
8870
|
+
display: none;
|
|
8871
|
+
}
|
|
8872
|
+
.context-chip-cost {
|
|
8873
|
+
font: 11px var(--font-code);
|
|
8874
|
+
color: var(--c-muted);
|
|
8875
|
+
}
|
|
8876
|
+
|
|
8877
|
+
.context-panel {
|
|
8878
|
+
position: absolute;
|
|
8879
|
+
top: calc(100% + 8px);
|
|
8880
|
+
right: 0;
|
|
8881
|
+
z-index: 60;
|
|
8882
|
+
width: 440px;
|
|
8883
|
+
max-height: min(70vh, 640px);
|
|
8884
|
+
overflow-y: auto;
|
|
8885
|
+
box-sizing: border-box;
|
|
8886
|
+
padding: 12px;
|
|
8887
|
+
border-radius: 12px;
|
|
8888
|
+
border: 1px solid var(--c-line-30);
|
|
8889
|
+
background: var(--c-panel);
|
|
8890
|
+
box-shadow: var(--e-2);
|
|
8891
|
+
display: flex;
|
|
8892
|
+
flex-direction: column;
|
|
8893
|
+
gap: 6px;
|
|
8894
|
+
color: var(--c-text);
|
|
8895
|
+
font: 12px var(--font-ui);
|
|
8896
|
+
text-align: left;
|
|
8897
|
+
}
|
|
8898
|
+
.context-panel-head {
|
|
8899
|
+
display: flex;
|
|
8900
|
+
align-items: baseline;
|
|
8901
|
+
gap: 8px;
|
|
8902
|
+
}
|
|
8903
|
+
.context-panel-title {
|
|
8904
|
+
flex: 1;
|
|
8905
|
+
font-size: 13px;
|
|
8906
|
+
font-weight: 600;
|
|
8907
|
+
}
|
|
8908
|
+
.context-panel-mono {
|
|
8909
|
+
font: 11px var(--font-code);
|
|
8910
|
+
color: var(--c-muted);
|
|
8911
|
+
}
|
|
8912
|
+
.context-panel-cap,
|
|
8913
|
+
.context-panel-cap-inline {
|
|
8914
|
+
margin: 0;
|
|
8915
|
+
font-size: 11px;
|
|
8916
|
+
color: var(--c-muted);
|
|
8917
|
+
}
|
|
8918
|
+
.context-panel-cap-inline {
|
|
8919
|
+
white-space: nowrap;
|
|
8920
|
+
flex-shrink: 0;
|
|
8921
|
+
}
|
|
8922
|
+
.context-panel-section {
|
|
8923
|
+
display: flex;
|
|
8924
|
+
align-items: center;
|
|
8925
|
+
gap: 8px;
|
|
8926
|
+
margin-top: 6px;
|
|
8927
|
+
padding: 6px 8px 2px;
|
|
8928
|
+
border-top: 1px solid var(--c-line);
|
|
8929
|
+
font-size: 11px;
|
|
8930
|
+
font-weight: 600;
|
|
8931
|
+
color: var(--c-muted);
|
|
8932
|
+
}
|
|
8933
|
+
.context-panel-section > span:first-child {
|
|
8934
|
+
flex: 1;
|
|
8935
|
+
}
|
|
8936
|
+
.context-panel-link,
|
|
8937
|
+
.context-panel-promote {
|
|
8938
|
+
border: 0;
|
|
8939
|
+
padding: 0 4px;
|
|
8940
|
+
background: transparent;
|
|
8941
|
+
color: var(--c-pin);
|
|
8942
|
+
font: 500 11px var(--font-ui);
|
|
8943
|
+
cursor: pointer;
|
|
8944
|
+
}
|
|
8945
|
+
.context-panel-list {
|
|
8946
|
+
list-style: none;
|
|
8947
|
+
margin: 0;
|
|
8948
|
+
padding: 0;
|
|
8949
|
+
}
|
|
8950
|
+
.context-panel-row {
|
|
8951
|
+
display: flex;
|
|
8952
|
+
align-items: center;
|
|
8953
|
+
gap: 8px;
|
|
8954
|
+
min-height: 30px;
|
|
8955
|
+
padding: 0 8px;
|
|
8956
|
+
border-radius: 6px;
|
|
8957
|
+
}
|
|
8958
|
+
/* Revealed on hover or focus; opacity (not visibility) keeps Pin focusable. */
|
|
8959
|
+
.context-panel-row.is-near .context-panel-promote {
|
|
8960
|
+
opacity: 0;
|
|
8961
|
+
}
|
|
8962
|
+
.context-panel-row.is-near:hover,
|
|
8963
|
+
.context-panel-row.is-near:focus-within {
|
|
8964
|
+
background: var(--c-panel-soft);
|
|
8965
|
+
}
|
|
8966
|
+
.context-panel-row.is-near:hover .context-panel-promote,
|
|
8967
|
+
.context-panel-row.is-near:focus-within .context-panel-promote {
|
|
8968
|
+
opacity: 1;
|
|
8969
|
+
}
|
|
8970
|
+
.context-panel-pin {
|
|
8971
|
+
position: relative;
|
|
8972
|
+
width: 16px;
|
|
8973
|
+
height: 16px;
|
|
8974
|
+
border-radius: var(--r-pill);
|
|
8975
|
+
display: flex;
|
|
8976
|
+
align-items: center;
|
|
8977
|
+
justify-content: center;
|
|
8978
|
+
flex-shrink: 0;
|
|
8979
|
+
background: var(--c-pin);
|
|
8980
|
+
color: var(--c-on-pin);
|
|
8981
|
+
}
|
|
8982
|
+
.context-panel-near-ring {
|
|
8983
|
+
width: 12px;
|
|
8984
|
+
height: 12px;
|
|
8985
|
+
margin: 0 2px;
|
|
8986
|
+
box-sizing: border-box;
|
|
8987
|
+
border-radius: var(--r-pill);
|
|
8988
|
+
border: 1.5px dotted var(--c-pin);
|
|
8989
|
+
flex-shrink: 0;
|
|
8990
|
+
}
|
|
8991
|
+
.context-panel-board {
|
|
8992
|
+
fill: none;
|
|
8993
|
+
stroke: var(--c-pin);
|
|
8994
|
+
stroke-width: 1.8;
|
|
8995
|
+
stroke-linejoin: round;
|
|
8996
|
+
flex-shrink: 0;
|
|
8997
|
+
}
|
|
8998
|
+
.context-panel-name {
|
|
8999
|
+
flex: 1;
|
|
9000
|
+
min-width: 0;
|
|
9001
|
+
overflow: hidden;
|
|
9002
|
+
text-overflow: ellipsis;
|
|
9003
|
+
white-space: nowrap;
|
|
9004
|
+
font-weight: 500;
|
|
9005
|
+
}
|
|
9006
|
+
.context-panel-name.is-soft {
|
|
9007
|
+
font-weight: 400;
|
|
9008
|
+
color: var(--c-text-soft);
|
|
9009
|
+
}
|
|
9010
|
+
.context-tag {
|
|
9011
|
+
display: inline-flex;
|
|
9012
|
+
align-items: center;
|
|
9013
|
+
height: 20px;
|
|
9014
|
+
box-sizing: border-box;
|
|
9015
|
+
padding: 0 7px;
|
|
9016
|
+
border-radius: var(--r-pill);
|
|
9017
|
+
font-size: 11px;
|
|
9018
|
+
font-weight: 500;
|
|
9019
|
+
white-space: nowrap;
|
|
9020
|
+
flex-shrink: 0;
|
|
9021
|
+
}
|
|
9022
|
+
.context-tag.is-read {
|
|
9023
|
+
color: var(--c-agent);
|
|
9024
|
+
background: color-mix(in srgb, var(--c-agent) 14%, transparent);
|
|
9025
|
+
}
|
|
9026
|
+
.context-tag.is-not-read {
|
|
9027
|
+
color: var(--c-muted);
|
|
9028
|
+
background: var(--c-panel-soft);
|
|
9029
|
+
}
|
|
9030
|
+
.context-tag.is-changed {
|
|
9031
|
+
color: var(--c-warn);
|
|
9032
|
+
background: color-mix(in srgb, var(--c-warn) 14%, transparent);
|
|
9033
|
+
}
|
|
9034
|
+
.context-tag {
|
|
9035
|
+
gap: 4px;
|
|
9036
|
+
}
|
|
9037
|
+
.context-tag svg {
|
|
9038
|
+
fill: none;
|
|
9039
|
+
stroke: currentColor;
|
|
9040
|
+
stroke-width: 2;
|
|
9041
|
+
stroke-linecap: round;
|
|
9042
|
+
stroke-linejoin: round;
|
|
9043
|
+
flex-shrink: 0;
|
|
9044
|
+
}
|
|
9045
|
+
/* Links changed after the last read: information, never "needs a look" (option C). */
|
|
9046
|
+
.context-tag.is-links {
|
|
9047
|
+
gap: 4px;
|
|
9048
|
+
color: var(--c-muted);
|
|
9049
|
+
background: var(--c-panel-soft);
|
|
9050
|
+
}
|
|
9051
|
+
.context-tag.is-links svg {
|
|
9052
|
+
fill: none;
|
|
9053
|
+
stroke: currentColor;
|
|
9054
|
+
stroke-width: 2;
|
|
9055
|
+
stroke-linecap: round;
|
|
9056
|
+
stroke-linejoin: round;
|
|
9057
|
+
}
|
|
9058
|
+
.context-panel-x {
|
|
9059
|
+
width: 22px;
|
|
9060
|
+
height: 22px;
|
|
9061
|
+
border: 0;
|
|
9062
|
+
padding: 0;
|
|
9063
|
+
background: transparent;
|
|
9064
|
+
color: var(--c-muted);
|
|
9065
|
+
font-size: 14px;
|
|
9066
|
+
cursor: pointer;
|
|
9067
|
+
flex-shrink: 0;
|
|
9068
|
+
border-radius: var(--r-pill);
|
|
9069
|
+
}
|
|
9070
|
+
.context-panel-x:hover {
|
|
9071
|
+
color: var(--c-text);
|
|
9072
|
+
background: var(--c-surface-hover);
|
|
9073
|
+
}
|
|
9074
|
+
|
|
9075
|
+
/* 600 px (ContextChip600.dc.html): one count, and the panel becomes a sheet. */
|
|
9076
|
+
@media (max-width: 760px) {
|
|
9077
|
+
.context-chip-wide {
|
|
9078
|
+
display: none;
|
|
9079
|
+
}
|
|
9080
|
+
.context-chip-narrow {
|
|
9081
|
+
display: inline;
|
|
9082
|
+
}
|
|
9083
|
+
.context-panel {
|
|
9084
|
+
position: fixed;
|
|
9085
|
+
top: var(--hud-bar-height, 44px);
|
|
9086
|
+
left: 8px;
|
|
9087
|
+
right: 8px;
|
|
9088
|
+
width: auto;
|
|
9089
|
+
}
|
|
9090
|
+
}
|
|
9091
|
+
|
|
9092
|
+
/* Home Map / Graph: neutral folder regions; workspace context is the only blue. */
|
|
9093
|
+
.home-shell {
|
|
9094
|
+
position: absolute;
|
|
9095
|
+
inset: 0;
|
|
9096
|
+
display: flex;
|
|
9097
|
+
flex-direction: column;
|
|
9098
|
+
overflow: hidden;
|
|
9099
|
+
background: var(--c-bg);
|
|
9100
|
+
color: var(--c-text);
|
|
9101
|
+
}
|
|
9102
|
+
.home-view-tabs {
|
|
9103
|
+
display: flex;
|
|
9104
|
+
flex-wrap: wrap;
|
|
9105
|
+
gap: 6px;
|
|
9106
|
+
padding: 8px 16px;
|
|
9107
|
+
border-bottom: 1px solid var(--c-line);
|
|
9108
|
+
}
|
|
9109
|
+
.home-view-tabs [aria-pressed="true"] {
|
|
9110
|
+
background: var(--c-surface-hover);
|
|
9111
|
+
font-weight: 600;
|
|
9112
|
+
}
|
|
9113
|
+
.home-shell > .home-view {
|
|
9114
|
+
position: relative;
|
|
9115
|
+
flex: 1;
|
|
9116
|
+
min-height: 0;
|
|
9117
|
+
}
|
|
9118
|
+
.home-memory {
|
|
9119
|
+
display: flex;
|
|
9120
|
+
flex-direction: column;
|
|
9121
|
+
flex: 1;
|
|
9122
|
+
min-height: 0;
|
|
9123
|
+
min-width: 0;
|
|
9124
|
+
font-family: var(--font-ui);
|
|
9125
|
+
font-size: 13px;
|
|
9126
|
+
}
|
|
9127
|
+
.home-memory-toolbar,
|
|
9128
|
+
.home-memory-legend,
|
|
9129
|
+
.home-memory-actions {
|
|
9130
|
+
display: flex;
|
|
9131
|
+
align-items: center;
|
|
9132
|
+
flex-wrap: wrap;
|
|
9133
|
+
gap: 10px;
|
|
9134
|
+
padding: 10px 16px;
|
|
9135
|
+
}
|
|
9136
|
+
.home-memory-toolbar {
|
|
9137
|
+
border-bottom: 1px solid var(--c-line);
|
|
9138
|
+
font-size: 12px;
|
|
9139
|
+
color: var(--c-muted);
|
|
9140
|
+
}
|
|
9141
|
+
.home-memory-live { margin-left: auto; }
|
|
9142
|
+
.home-memory-live::before { content: '●'; margin-right: 6px; }
|
|
9143
|
+
.home-memory-live.is-error { color: var(--c-warn); }
|
|
9144
|
+
.home-memory-sidebar-toggle { display: none; }
|
|
9145
|
+
.home-memory-sidebar {
|
|
9146
|
+
display: flex;
|
|
9147
|
+
flex-direction: column;
|
|
9148
|
+
flex: 0 0 280px;
|
|
9149
|
+
min-width: 0;
|
|
9150
|
+
overflow: auto;
|
|
9151
|
+
padding: 18px;
|
|
9152
|
+
box-sizing: border-box;
|
|
9153
|
+
background: var(--c-panel-soft);
|
|
9154
|
+
border-left: 1px solid var(--c-line);
|
|
9155
|
+
}
|
|
9156
|
+
.home-memory-sidebar section { margin-bottom: 20px; flex-shrink: 0; }
|
|
9157
|
+
.home-memory-sidebar h2 {
|
|
9158
|
+
margin: 0 0 8px;
|
|
9159
|
+
font-size: 11px;
|
|
9160
|
+
font-weight: 500;
|
|
9161
|
+
letter-spacing: .06em;
|
|
9162
|
+
text-transform: uppercase;
|
|
9163
|
+
color: var(--c-muted);
|
|
9164
|
+
}
|
|
9165
|
+
.home-memory-sidebar label {
|
|
9166
|
+
display: flex;
|
|
9167
|
+
align-items: center;
|
|
9168
|
+
flex-wrap: wrap;
|
|
9169
|
+
gap: 8px;
|
|
9170
|
+
min-width: 0;
|
|
9171
|
+
margin: 5px 0;
|
|
9172
|
+
font-size: 12px;
|
|
9173
|
+
}
|
|
9174
|
+
.home-memory-sidebar input[type="search"] {
|
|
7457
9175
|
background: var(--c-panel);
|
|
7458
9176
|
color: var(--c-text);
|
|
9177
|
+
border: 1px solid var(--c-line);
|
|
9178
|
+
border-radius: var(--r-control);
|
|
9179
|
+
padding: 6px;
|
|
9180
|
+
width: 100%;
|
|
9181
|
+
min-width: 0;
|
|
7459
9182
|
font: inherit;
|
|
7460
|
-
|
|
9183
|
+
}
|
|
9184
|
+
.home-memory-sidebar input { accent-color: var(--c-text-soft); }
|
|
9185
|
+
.home-memory-search { margin-bottom: 12px !important; }
|
|
9186
|
+
.home-memory-search > span {
|
|
9187
|
+
position: absolute;
|
|
9188
|
+
width: 1px;
|
|
9189
|
+
height: 1px;
|
|
9190
|
+
overflow: hidden;
|
|
9191
|
+
clip-path: inset(50%);
|
|
9192
|
+
}
|
|
9193
|
+
.home-memory-check { min-height: 24px; }
|
|
9194
|
+
.home-memory-check > span { flex: 1; overflow-wrap: anywhere; }
|
|
9195
|
+
.home-memory-check small { color: var(--c-muted); font-family: var(--font-mono); }
|
|
9196
|
+
.home-memory-help { font-size: 12px; color: var(--c-muted); }
|
|
9197
|
+
.home-memory-body {
|
|
9198
|
+
display: flex;
|
|
9199
|
+
flex: 1;
|
|
9200
|
+
min-height: 0;
|
|
9201
|
+
overflow: hidden;
|
|
9202
|
+
}
|
|
9203
|
+
.home-memory-stage {
|
|
9204
|
+
position: relative;
|
|
9205
|
+
flex: 1;
|
|
9206
|
+
min-width: 0;
|
|
9207
|
+
overflow: hidden;
|
|
9208
|
+
touch-action: none;
|
|
9209
|
+
background-color: var(--c-bg);
|
|
9210
|
+
background-image: radial-gradient(color-mix(in srgb, var(--c-muted) 16%, transparent) 1px, transparent 1px);
|
|
9211
|
+
background-size: 24px 24px;
|
|
9212
|
+
cursor: grab;
|
|
9213
|
+
}
|
|
9214
|
+
.home-memory-stage:active { cursor: grabbing; }
|
|
9215
|
+
.graph-view .home-memory-stage { background-image: none; }
|
|
9216
|
+
.home-memory-world {
|
|
9217
|
+
position: absolute;
|
|
9218
|
+
transform-origin: 0 0;
|
|
9219
|
+
}
|
|
9220
|
+
.home-memory-region {
|
|
9221
|
+
position: absolute;
|
|
9222
|
+
box-sizing: border-box;
|
|
9223
|
+
border: 1px dashed var(--c-line);
|
|
9224
|
+
border-radius: var(--r-overlay);
|
|
9225
|
+
padding: 10px 16px;
|
|
9226
|
+
color: var(--c-muted);
|
|
9227
|
+
background: color-mix(in srgb, var(--c-panel) 30%, transparent);
|
|
9228
|
+
pointer-events: none;
|
|
9229
|
+
}
|
|
9230
|
+
.home-memory-region.is-nested { background: transparent; }
|
|
9231
|
+
.home-memory-region > button {
|
|
9232
|
+
position: absolute;
|
|
9233
|
+
top: -12px;
|
|
9234
|
+
left: 16px;
|
|
9235
|
+
max-width: calc(100% - 32px);
|
|
9236
|
+
border: 1px solid var(--c-line);
|
|
9237
|
+
border-radius: var(--r-pill);
|
|
9238
|
+
padding: 4px 10px;
|
|
9239
|
+
background: var(--c-panel);
|
|
9240
|
+
color: var(--c-text-soft);
|
|
9241
|
+
font: 500 12px var(--font-ui);
|
|
9242
|
+
pointer-events: auto;
|
|
7461
9243
|
cursor: pointer;
|
|
7462
9244
|
}
|
|
7463
|
-
.
|
|
7464
|
-
.
|
|
7465
|
-
|
|
7466
|
-
|
|
7467
|
-
|
|
7468
|
-
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
-
.
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7475
|
-
|
|
9245
|
+
.home-memory-region small { margin-left: 6px; font-weight: 400; color: var(--c-muted); }
|
|
9246
|
+
.home-memory-links {
|
|
9247
|
+
position: absolute;
|
|
9248
|
+
width: 1px;
|
|
9249
|
+
height: 1px;
|
|
9250
|
+
overflow: visible;
|
|
9251
|
+
pointer-events: none;
|
|
9252
|
+
}
|
|
9253
|
+
.memory-edge {
|
|
9254
|
+
stroke: var(--c-muted);
|
|
9255
|
+
fill: none;
|
|
9256
|
+
stroke-width: 1.5;
|
|
9257
|
+
opacity: .5;
|
|
9258
|
+
}
|
|
9259
|
+
.home-memory .memory-edge.edge-portal { stroke: var(--c-rel-derived); }
|
|
9260
|
+
.home-memory .memory-edge.edge-wiki { stroke: var(--c-rel-cites); }
|
|
9261
|
+
.home-memory .memory-edge.edge-card { stroke: var(--c-rel-related); }
|
|
9262
|
+
.home-memory-connections li > small { display: block; color: var(--c-muted); font-size: 11px; }
|
|
9263
|
+
.home-memory .memory-edge.is-emphasized { opacity: 1; }
|
|
9264
|
+
.home-memory .memory-edge.is-dimmed { opacity: .08; }
|
|
9265
|
+
.home-memory .memory-legend-portal { color: var(--c-rel-derived); }
|
|
9266
|
+
.home-memory .memory-legend-wiki { color: var(--c-rel-cites); }
|
|
9267
|
+
.home-memory .memory-legend-card { color: var(--c-rel-related); }
|
|
9268
|
+
.memory-edge text {
|
|
9269
|
+
fill: var(--c-muted);
|
|
9270
|
+
stroke: none;
|
|
9271
|
+
font-size: 12px;
|
|
9272
|
+
}
|
|
9273
|
+
.edge-previous {
|
|
9274
|
+
stroke-dasharray: 8 4;
|
|
9275
|
+
}
|
|
9276
|
+
.edge-wiki {
|
|
9277
|
+
stroke-dasharray: 3 3;
|
|
9278
|
+
}
|
|
9279
|
+
.edge-card {
|
|
9280
|
+
stroke-width: 2.5;
|
|
9281
|
+
}
|
|
9282
|
+
.memory-edge.is-missing {
|
|
9283
|
+
stroke: var(--c-warn);
|
|
9284
|
+
stroke-dasharray: 5 3;
|
|
9285
|
+
}
|
|
9286
|
+
.memory-edge.is-missing text {
|
|
9287
|
+
fill: var(--c-warn);
|
|
9288
|
+
}
|
|
9289
|
+
.home-memory-node {
|
|
9290
|
+
position: absolute;
|
|
9291
|
+
width: 220px;
|
|
9292
|
+
height: 92px;
|
|
9293
|
+
transform: translate(-50%, -50%);
|
|
9294
|
+
box-sizing: border-box;
|
|
9295
|
+
border: 1px solid var(--c-line);
|
|
9296
|
+
border-radius: var(--r-node);
|
|
9297
|
+
background: var(--c-panel);
|
|
9298
|
+
box-shadow: 0 2px 8px color-mix(in srgb, var(--c-bg) 60%, transparent);
|
|
9299
|
+
}
|
|
9300
|
+
.home-memory-node.in-context {
|
|
9301
|
+
border-color: var(--c-pin);
|
|
9302
|
+
background: color-mix(in srgb, var(--c-pin) 8%, var(--c-panel));
|
|
9303
|
+
}
|
|
9304
|
+
.home-memory-node.is-dimmed { opacity: .3; }
|
|
9305
|
+
.home-memory-node.is-emphasized,
|
|
9306
|
+
.home-memory-node:focus-within { z-index: 2; }
|
|
9307
|
+
.home-memory-node.is-selected {
|
|
9308
|
+
outline: 2px solid var(--c-text);
|
|
9309
|
+
outline-offset: 3px;
|
|
9310
|
+
}
|
|
9311
|
+
.home-memory-select {
|
|
9312
|
+
width: 100%;
|
|
9313
|
+
height: 100%;
|
|
9314
|
+
border: 0;
|
|
9315
|
+
background: transparent;
|
|
9316
|
+
color: inherit;
|
|
9317
|
+
padding: 8px 32px 8px 12px;
|
|
9318
|
+
text-align: left;
|
|
9319
|
+
font: inherit;
|
|
9320
|
+
cursor: pointer;
|
|
7476
9321
|
display: flex;
|
|
7477
|
-
flex-
|
|
7478
|
-
justify-content:
|
|
7479
|
-
gap:
|
|
7480
|
-
|
|
7481
|
-
|
|
9322
|
+
flex-direction: column;
|
|
9323
|
+
justify-content: center;
|
|
9324
|
+
gap: 4px;
|
|
9325
|
+
}
|
|
9326
|
+
.home-memory-select strong {
|
|
9327
|
+
overflow: hidden;
|
|
9328
|
+
text-overflow: ellipsis;
|
|
9329
|
+
white-space: nowrap;
|
|
9330
|
+
max-width: 100%;
|
|
9331
|
+
}
|
|
9332
|
+
.home-memory-select .home-memory-summary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
|
|
9333
|
+
.home-memory-select .home-memory-context { color: var(--c-pin); }
|
|
9334
|
+
.home-memory-select span {
|
|
9335
|
+
font-size: 11px;
|
|
9336
|
+
color: var(--c-muted);
|
|
9337
|
+
}
|
|
9338
|
+
.home-memory-node > .board-pin-btn {
|
|
9339
|
+
position: absolute;
|
|
9340
|
+
right: 4px;
|
|
9341
|
+
top: 5px;
|
|
9342
|
+
}
|
|
9343
|
+
.home-memory-details {
|
|
9344
|
+
position: relative;
|
|
9345
|
+
box-sizing: border-box;
|
|
9346
|
+
padding: 12px;
|
|
9347
|
+
overflow-wrap: anywhere;
|
|
9348
|
+
background: var(--c-panel);
|
|
9349
|
+
border: 1px solid var(--c-line);
|
|
9350
|
+
border-radius: var(--r-node);
|
|
9351
|
+
}
|
|
9352
|
+
.home-memory-details h3 {
|
|
9353
|
+
font-size: 13px;
|
|
9354
|
+
padding-right: 16px;
|
|
9355
|
+
margin: 0;
|
|
9356
|
+
}
|
|
9357
|
+
.home-memory-details p { font-size: 12px; color: var(--c-muted); }
|
|
9358
|
+
.home-memory-details p.memory-context-legend { color: var(--c-pin); }
|
|
9359
|
+
.home-memory-clear { position: absolute; top: 4px; right: 4px; border: 0; background: transparent; color: var(--c-muted); cursor: pointer; font: 18px var(--font-ui); }
|
|
9360
|
+
.home-memory-connections { margin-top: 14px; font-size: 12px; }
|
|
9361
|
+
.home-memory-connections summary { cursor: pointer; }
|
|
9362
|
+
.home-memory-details ul {
|
|
9363
|
+
padding: 0;
|
|
9364
|
+
list-style: none;
|
|
9365
|
+
}
|
|
9366
|
+
.home-memory-details li {
|
|
9367
|
+
display: flex;
|
|
9368
|
+
flex-direction: column;
|
|
9369
|
+
align-items: flex-start;
|
|
9370
|
+
gap: 4px;
|
|
9371
|
+
margin-bottom: 10px;
|
|
9372
|
+
}
|
|
9373
|
+
.home-memory-details .home-button { height: auto; min-height: 28px; padding: 6px 8px; max-width: 100%; overflow-wrap: anywhere; white-space: normal; text-align: left; }
|
|
9374
|
+
.home-memory-actions {
|
|
9375
|
+
padding: 0;
|
|
9376
|
+
}
|
|
9377
|
+
.home-memory-actions > .board-pin-btn {
|
|
9378
|
+
position: static;
|
|
9379
|
+
}
|
|
9380
|
+
.home-memory-inspector {
|
|
9381
|
+
position: relative;
|
|
9382
|
+
display: flex;
|
|
9383
|
+
flex-direction: column;
|
|
9384
|
+
flex-shrink: 0;
|
|
9385
|
+
min-height: 0;
|
|
9386
|
+
background: var(--c-panel);
|
|
7482
9387
|
border-top: 1px solid var(--c-line);
|
|
9388
|
+
box-sizing: border-box;
|
|
9389
|
+
}
|
|
9390
|
+
.home-memory-inspector-resize {
|
|
9391
|
+
flex: 0 0 10px;
|
|
9392
|
+
cursor: ns-resize;
|
|
9393
|
+
touch-action: none;
|
|
9394
|
+
user-select: none;
|
|
9395
|
+
}
|
|
9396
|
+
.home-memory-inspector-resize::after {
|
|
9397
|
+
content: '';
|
|
9398
|
+
display: block;
|
|
9399
|
+
width: 48px;
|
|
9400
|
+
height: 3px;
|
|
9401
|
+
margin: 3px auto;
|
|
9402
|
+
border-radius: var(--r-pill);
|
|
9403
|
+
background: var(--c-muted);
|
|
9404
|
+
}
|
|
9405
|
+
.home-memory-inspector-resize:hover,
|
|
9406
|
+
.home-memory-inspector-resize:focus-visible { background: var(--c-surface-hover); }
|
|
9407
|
+
.home-memory-inspector-resize:focus-visible { outline: 2px solid var(--c-text-soft); outline-offset: -2px; }
|
|
9408
|
+
.home-memory-inspector-toggle { position: absolute; top: 18px; right: 44px; z-index: 1; }
|
|
9409
|
+
.home-memory-inspector.is-collapsed .home-memory-inspector-toggle { top: 8px; }
|
|
9410
|
+
.home-memory-inspector.is-collapsed .home-memory-detail-body,
|
|
9411
|
+
.home-memory-inspector.is-collapsed .home-memory-empty-details .home-memory-help { display: none; }
|
|
9412
|
+
.home-memory-inspector > #home-memory-details { flex: 1; min-height: 0; }
|
|
9413
|
+
.home-memory-inspector .home-button { font-size: 14px; min-height: 36px; }
|
|
9414
|
+
.home-memory-inspector .board-pin-btn { width: 36px; height: 36px; }
|
|
9415
|
+
.home-memory-inspector .home-memory-clear { top: 8px; width: 36px; height: 36px; font-size: 20px; }
|
|
9416
|
+
.home-memory-inspector .home-memory-details {
|
|
9417
|
+
display: flex;
|
|
9418
|
+
flex-direction: column;
|
|
9419
|
+
height: 100%;
|
|
9420
|
+
min-height: 0;
|
|
9421
|
+
border: 0;
|
|
9422
|
+
border-radius: 0;
|
|
9423
|
+
padding: 8px 16px 12px;
|
|
9424
|
+
}
|
|
9425
|
+
.home-memory-inspector .home-memory-detail-header {
|
|
9426
|
+
flex-shrink: 0;
|
|
9427
|
+
padding-bottom: 8px;
|
|
9428
|
+
border-bottom: 1px solid var(--c-line);
|
|
9429
|
+
}
|
|
9430
|
+
.home-memory-inspector .home-memory-details h3 { font-size: 15px; }
|
|
9431
|
+
.home-memory-inspector .home-memory-details p { font-size: 13px; }
|
|
9432
|
+
.home-memory-inspector .home-memory-details small { font-size: 13px; }
|
|
9433
|
+
.home-memory-inspector .home-memory-selection-title { padding-right: 180px; }
|
|
9434
|
+
.home-memory-inspector .home-memory-selection-title p { margin: 2px 0 8px; }
|
|
9435
|
+
.home-memory-inspector .home-memory-detail-body {
|
|
9436
|
+
flex: 1;
|
|
9437
|
+
min-height: 0;
|
|
9438
|
+
overflow: auto;
|
|
9439
|
+
/* Integer scroll extents can otherwise clip the final fractional row border. */
|
|
9440
|
+
padding-bottom: 1px;
|
|
9441
|
+
}
|
|
9442
|
+
.home-memory-inspector .home-memory-detail-body > p { margin: 8px 0; }
|
|
9443
|
+
.home-memory-inspector .home-memory-connections { margin-top: 8px; font-size: 14px; }
|
|
9444
|
+
.home-memory-inspector .home-memory-details li {
|
|
9445
|
+
display: grid;
|
|
9446
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 150px);
|
|
9447
|
+
column-gap: 16px;
|
|
9448
|
+
padding: 10px 0;
|
|
9449
|
+
margin: 0;
|
|
9450
|
+
min-height: 28px;
|
|
9451
|
+
border-bottom: 1px solid var(--c-line);
|
|
9452
|
+
}
|
|
9453
|
+
.home-memory-inspector .home-memory-details li > span,
|
|
9454
|
+
.home-memory-inspector .home-memory-details li > small { grid-column: 1; }
|
|
9455
|
+
.home-memory-inspector .home-memory-details li > .home-button { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
|
|
9456
|
+
.home-memory-inspector .home-memory-empty-details { padding: 8px 16px; }
|
|
9457
|
+
.home-memory-inspector .home-memory-empty-details h3 { font-size: 15px; margin: 0 0 8px; min-height: 36px; padding-right: 180px; }
|
|
9458
|
+
.home-memory-inspector .home-memory-help { font-size: 13px; }
|
|
9459
|
+
.home-memory-zoom {
|
|
9460
|
+
position: absolute;
|
|
9461
|
+
bottom: 12px;
|
|
9462
|
+
left: 12px;
|
|
9463
|
+
display: flex;
|
|
9464
|
+
align-items: center;
|
|
9465
|
+
gap: 8px;
|
|
7483
9466
|
background: var(--c-panel);
|
|
7484
|
-
|
|
9467
|
+
padding: 4px;
|
|
9468
|
+
border-radius: var(--r-node);
|
|
7485
9469
|
}
|
|
7486
|
-
.
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
9470
|
+
.home-memory-status {
|
|
9471
|
+
position: absolute;
|
|
9472
|
+
top: 8px;
|
|
9473
|
+
left: 12px;
|
|
9474
|
+
background: var(--c-panel);
|
|
9475
|
+
padding: 8px;
|
|
9476
|
+
}
|
|
9477
|
+
.home-memory-legend {
|
|
9478
|
+
font-size: 11px;
|
|
9479
|
+
color: var(--c-muted);
|
|
9480
|
+
border-top: 1px solid var(--c-line);
|
|
9481
|
+
}
|
|
9482
|
+
.memory-context-legend {
|
|
9483
|
+
color: var(--c-pin);
|
|
9484
|
+
}
|
|
9485
|
+
.home-memory-missing {
|
|
9486
|
+
color: var(--c-warn);
|
|
9487
|
+
}
|
|
9488
|
+
.graph-view .home-memory-sidebar { flex-basis: 240px; }
|
|
9489
|
+
.graph-view .home-memory-toolbar { font-size: 13px; }
|
|
9490
|
+
.graph-node { position: absolute; box-sizing: border-box; width: var(--graph-node-width); height: var(--graph-node-height); transform: translate(-50%, -50%); color: var(--c-text); border: 1px solid var(--c-line); border-radius: var(--r-node); background: var(--c-panel); }
|
|
9491
|
+
.graph-node .home-memory-select { box-sizing: border-box; display: grid; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 16px 16px; align-items: center; text-align: left; padding: 8px; gap: 4px 8px; }
|
|
9492
|
+
.graph-node .home-memory-select strong { font-size: 14px; font-weight: 500; line-height: 1.3; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
|
|
9493
|
+
.graph-node .home-memory-select > strong, .graph-node .home-memory-select > span:not(.graph-glyph) { grid-column: 2; }
|
|
9494
|
+
.graph-node .home-memory-select > span:not(.graph-glyph) { font-size: 12px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
|
|
9495
|
+
.graph-node .graph-glyph { display: block; grid-column: 1; grid-row: 1 / span 3; box-sizing: border-box; width: 28px; height: 28px; border: 2px solid var(--c-text-soft); border-radius: 50%; background: var(--c-bg); }
|
|
9496
|
+
.graph-node.is-card .graph-glyph { width: 24px; height: 24px; border-radius: var(--r-control); }
|
|
9497
|
+
.graph-node.is-external { border-style: dashed; }
|
|
9498
|
+
.graph-node.is-selected { border-color: var(--c-text); outline: 1px solid var(--c-text); }
|
|
9499
|
+
.graph-node.in-context .graph-glyph { border-color: var(--c-pin); outline: 2px solid var(--c-pin); outline-offset: 4px; }
|
|
9500
|
+
.graph-node .home-memory-select:focus-visible { outline: 2px solid var(--c-text-soft); outline-offset: 6px; border-radius: var(--r-control); }
|
|
9501
|
+
.graph-node:hover, .graph-node:focus-within, .graph-node.is-selected { z-index: 2; }
|
|
9502
|
+
.graph-links { fill: none; stroke: var(--c-muted); stroke-width: 1.5; }
|
|
9503
|
+
.graph-link { cursor: pointer; opacity: .65; }
|
|
9504
|
+
.graph-link:hover, .graph-link:focus-visible, .graph-link.is-selected, .graph-link.is-highlighted { opacity: 1; outline: none; }
|
|
9505
|
+
.graph-link-line { pointer-events: none; stroke-width: 1.5; }
|
|
9506
|
+
.graph-link.is-bundle .graph-link-line { stroke-width: 2.5; }
|
|
9507
|
+
.graph-link:hover .graph-link-line, .graph-link:focus-visible .graph-link-line, .graph-link.is-selected .graph-link-line, .graph-link.is-highlighted .graph-link-line { stroke-width: 3; }
|
|
9508
|
+
.graph-link-hit { stroke: transparent; stroke-width: 18; pointer-events: stroke; }
|
|
9509
|
+
.graph-link text { pointer-events: auto; }
|
|
9510
|
+
.graph-links text { font: 12px var(--font-code); fill: var(--c-text-soft); paint-order: stroke; stroke: var(--c-bg); stroke-width: 4px; stroke-linejoin: round; text-anchor: middle; }
|
|
9511
|
+
.graph-breadcrumb { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
|
|
9512
|
+
.graph-breadcrumb strong { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
9513
|
+
.graph-direction-caption { position: absolute; top: 12px; left: 16px; right: 40px; z-index: 1; color: var(--c-muted); font-size: 13px; pointer-events: none; }
|
|
9514
|
+
.graph-unlinked { flex-shrink: 0; padding: 8px 16px; border-top: 1px solid var(--c-line); font-size: 13px; }
|
|
9515
|
+
.graph-unlinked summary { cursor: pointer; color: var(--c-muted); }
|
|
9516
|
+
.graph-unlinked > div { display: flex; flex-wrap: wrap; gap: 8px; max-height: 92px; overflow: auto; padding-top: 8px; }
|
|
9517
|
+
.graph-tray-node { display: flex; gap: 8px; align-items: center; max-width: 100%; white-space: normal; text-align: left; }
|
|
9518
|
+
.graph-tray-node small { color: var(--c-muted); }
|
|
9519
|
+
.graph-search-results { list-style: none; padding: 0; margin: 8px 0; }
|
|
9520
|
+
.graph-search-results .home-button { width: 100%; white-space: normal; text-align: left; height: auto; min-height: 36px; margin: 4px 0; }
|
|
9521
|
+
.graph-accounting { color: var(--c-muted); font-size: 13px; line-height: 1.6; }
|
|
9522
|
+
.node-body:has(> .node-memory-links),
|
|
9523
|
+
.node-body:has(> .node-lifecycle-warning) {
|
|
9524
|
+
display: flex;
|
|
9525
|
+
flex-direction: column;
|
|
9526
|
+
}
|
|
9527
|
+
.node-body:has(> .node-memory-links) > :first-child,
|
|
9528
|
+
.node-body:has(> .node-lifecycle-warning) > :first-child {
|
|
9529
|
+
flex: 1;
|
|
9530
|
+
min-height: 0;
|
|
9531
|
+
}
|
|
9532
|
+
.node-memory-links {
|
|
9533
|
+
flex-shrink: 0;
|
|
9534
|
+
max-height: min(40%, 132px);
|
|
9535
|
+
overflow: auto;
|
|
9536
|
+
overscroll-behavior: contain;
|
|
9537
|
+
}
|
|
9538
|
+
.node-memory-link {
|
|
9539
|
+
padding: 6px 12px;
|
|
9540
|
+
border-top: 1px solid var(--c-line);
|
|
9541
|
+
}
|
|
9542
|
+
.node-memory-link button {
|
|
9543
|
+
border: 0;
|
|
9544
|
+
background: transparent;
|
|
9545
|
+
color: var(--c-text-soft);
|
|
9546
|
+
font: var(--fs-ui) var(--font-ui);
|
|
9547
|
+
cursor: pointer;
|
|
9548
|
+
overflow-wrap: anywhere;
|
|
9549
|
+
text-align: left;
|
|
9550
|
+
}
|
|
9551
|
+
.wiki-link.is-unresolved {
|
|
9552
|
+
text-decoration-style: dashed;
|
|
9553
|
+
color: var(--c-warn);
|
|
9554
|
+
}
|
|
9555
|
+
@media (max-width: 760px) {
|
|
9556
|
+
.home-memory-body { position: relative; }
|
|
9557
|
+
.home-memory-sidebar { display: none; }
|
|
9558
|
+
.home-memory-sidebar-toggle { display: block; }
|
|
9559
|
+
.home-memory.sidebar-open .home-memory-sidebar {
|
|
9560
|
+
display: flex;
|
|
9561
|
+
position: absolute;
|
|
9562
|
+
top: 0;
|
|
9563
|
+
right: 0;
|
|
9564
|
+
bottom: 0;
|
|
9565
|
+
width: min(280px, 75%);
|
|
9566
|
+
z-index: 4;
|
|
9567
|
+
box-shadow: -6px 0 20px color-mix(in srgb, var(--c-bg) 50%, transparent);
|
|
9568
|
+
}
|
|
9569
|
+
.home-memory-toolbar { padding: 8px; gap: 8px; }
|
|
9570
|
+
.canvas-region:has(.home-memory) > .attention-history-tab,
|
|
9571
|
+
.canvas-region:has(.home-memory) > .attention-history {
|
|
9572
|
+
top: calc(var(--home-memory-content-top) + 8px);
|
|
9573
|
+
}
|
|
9574
|
+
.canvas-region:has(.home-memory.sidebar-open) > .attention-history-tab {
|
|
9575
|
+
left: 8px;
|
|
9576
|
+
right: auto;
|
|
9577
|
+
border-right: 1px solid var(--c-line);
|
|
9578
|
+
border-radius: 14px;
|
|
9579
|
+
}
|
|
9580
|
+
.canvas-region:has(.home-memory.sidebar-open) > .attention-history-tab .attention-history-tab-label {
|
|
9581
|
+
display: none;
|
|
9582
|
+
}
|
|
9583
|
+
.home-memory-legend {
|
|
9584
|
+
max-height: 68px;
|
|
9585
|
+
overflow: auto;
|
|
9586
|
+
padding: 8px;
|
|
9587
|
+
}
|
|
9588
|
+
}
|
|
9589
|
+
|
|
9590
|
+
/* Wave 3: Categories / Lifecycle / Lifecycle600, variant A. */
|
|
9591
|
+
.knowledge-backdrop {
|
|
9592
|
+
position: fixed;
|
|
9593
|
+
inset: 0;
|
|
9594
|
+
z-index: 10025; /* above top-bar chrome and the expanded card that opens Lifecycle */
|
|
9595
|
+
display: flex;
|
|
9596
|
+
align-items: center;
|
|
9597
|
+
justify-content: center;
|
|
9598
|
+
padding: 20px;
|
|
9599
|
+
background: var(--c-panel-overlay);
|
|
9600
|
+
}
|
|
9601
|
+
.knowledge-dialog {
|
|
9602
|
+
box-sizing: border-box;
|
|
9603
|
+
width: min(760px, 100%);
|
|
9604
|
+
max-height: 100%;
|
|
9605
|
+
overflow: auto;
|
|
9606
|
+
padding: 16px;
|
|
9607
|
+
border: 1px solid var(--c-line);
|
|
9608
|
+
border-radius: 14px;
|
|
9609
|
+
background: var(--c-panel);
|
|
9610
|
+
color: var(--c-text);
|
|
9611
|
+
font: 13px/1.5 var(--font-ui);
|
|
9612
|
+
box-shadow: 0 10px 30px var(--c-shadow-heavy);
|
|
9613
|
+
}
|
|
9614
|
+
.knowledge-dialog.is-category-editor { width: min(900px, 100%); }
|
|
9615
|
+
.knowledge-dialog:not(.is-category-editor):has(.knowledge-folder-path) { width: min(560px, 100%); }
|
|
9616
|
+
.knowledge-dialog header { display: flex; gap: 10px; align-items: center; padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--c-line); }
|
|
9617
|
+
.knowledge-dialog-title { flex: 1; min-width: 0; }
|
|
9618
|
+
.knowledge-dialog h2 { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
|
|
9619
|
+
.knowledge-dialog header > h2 { flex: 1; }
|
|
9620
|
+
.knowledge-folder-path { display: block; font-size: 11px; color: var(--c-muted); overflow-wrap: anywhere; }
|
|
9621
|
+
.knowledge-dialog h3 { font-size: 13px; margin: 12px 0 8px; }
|
|
9622
|
+
.knowledge-dialog p { margin: 4px 0; color: var(--c-text-soft); font-size: 12px; }
|
|
9623
|
+
.knowledge-dialog form, .lifecycle-fields { display: flex; flex-direction: column; gap: 12px; }
|
|
9624
|
+
.knowledge-dialog form { padding: 12px 0; }
|
|
9625
|
+
.knowledge-field { display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
|
|
9626
|
+
.knowledge-dialog label { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; }
|
|
9627
|
+
.knowledge-dialog input:not([type="checkbox"]), .knowledge-dialog select, .knowledge-dialog textarea {
|
|
9628
|
+
width: 100%; min-width: 0; box-sizing: border-box; padding: 7px 10px; border: 1px solid var(--c-line);
|
|
9629
|
+
border-radius: 6px; background: var(--c-input-bg); color: var(--c-text); font: 13px var(--font-ui);
|
|
9630
|
+
}
|
|
9631
|
+
.knowledge-dialog textarea { min-height: 64px; resize: vertical; }
|
|
9632
|
+
.knowledge-dialog button, .lifecycle-filters button {
|
|
9633
|
+
padding: 5px 10px; border: 1px solid var(--c-line); border-radius: 6px; background: var(--c-panel);
|
|
9634
|
+
color: var(--c-text); font: 12px var(--font-ui); cursor: pointer;
|
|
9635
|
+
}
|
|
9636
|
+
.knowledge-dialog button:disabled,
|
|
9637
|
+
.knowledge-dialog button[aria-disabled="true"] { opacity: 0.5; cursor: wait; }
|
|
9638
|
+
.knowledge-dialog button[type="submit"] { align-self: flex-start; min-height: 30px; background: var(--c-accent); border-color: transparent; color: var(--c-contrast-fg); font-weight: 500; }
|
|
9639
|
+
:root[data-theme="sepia"] .knowledge-dialog button[type="submit"] { background: color-mix(in srgb, var(--c-accent) 75%, var(--c-text)); }
|
|
9640
|
+
.knowledge-dialog button.is-danger { align-self: flex-start; color: var(--c-danger); border-color: color-mix(in srgb, var(--c-danger) 50%, var(--c-line)); }
|
|
9641
|
+
.knowledge-dialog button:focus-visible, .knowledge-dialog input:focus-visible, .knowledge-dialog textarea:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
|
|
9642
|
+
.knowledge-dialog .choice-menu-options { position: relative; top: auto; width: 100%; max-width: 100%; min-width: 0; max-height: 200px; margin-top: 6px; box-sizing: border-box; }
|
|
9643
|
+
.knowledge-dialog .choice-menu-options button { border: 0; background: transparent; min-height: 30px; }
|
|
9644
|
+
.knowledge-dialog .choice-menu-options button:hover, .knowledge-dialog .choice-menu-options button.active { background: var(--c-panel-soft); }
|
|
9645
|
+
.knowledge-dialog [aria-label="Confirm category deletion"] { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
9646
|
+
.knowledge-dialog [aria-label="Confirm category deletion"] p { width: 100%; }
|
|
9647
|
+
.knowledge-dialog button[aria-pressed="true"], .lifecycle-filters button[aria-pressed="true"] { border-color: var(--c-text); background: var(--c-panel-soft); }
|
|
9648
|
+
.lifecycle-review-actions { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
9649
|
+
.lifecycle-advanced { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--c-line); }
|
|
9650
|
+
.lifecycle-advanced summary { color: var(--c-muted); cursor: pointer; font-size: 12px; }
|
|
9651
|
+
.lifecycle-advanced[open] summary { margin-bottom: 12px; }
|
|
9652
|
+
.lifecycle-clocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
|
|
9653
|
+
.lifecycle-clocks > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; background: var(--c-panel-soft); overflow-wrap: anywhere; }
|
|
9654
|
+
.lifecycle-clocks span, .lifecycle-clocks small { color: var(--c-muted); font-size: 11px; }
|
|
9655
|
+
.lifecycle-clocks strong { font-size: 13px; }
|
|
9656
|
+
.lifecycle-clocks .is-read span { color: var(--c-agent); }
|
|
9657
|
+
.lifecycle-warning { color: var(--c-warn); border: 1px solid var(--c-warn); border-radius: 6px; padding: 4px 7px; font-size: 11px; overflow-wrap: anywhere; }
|
|
9658
|
+
.knowledge-dialog .lifecycle-warning { color: var(--c-warn); }
|
|
9659
|
+
.lifecycle-review { padding: 12px; border: 1px solid var(--c-line); border-radius: 10px; }
|
|
9660
|
+
.lifecycle-history { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--c-line); overflow-wrap: anywhere; }
|
|
9661
|
+
.lifecycle-history p { width: 100%; margin: 0; }
|
|
9662
|
+
.lifecycle-history span { color: var(--c-muted); font-size: 11px; }
|
|
9663
|
+
.lifecycle-filters { position: absolute; top: 8px; left: 12px; display: flex; flex-wrap: wrap; gap: 6px; z-index: 40; max-width: calc(100% - 24px); }
|
|
9664
|
+
.retirement-toast { position: absolute; bottom: 64px; left: 50%; transform: translateX(-50%); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-width: calc(100% - 32px); padding: 10px 14px; border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-panel); color: var(--c-text-soft); font: 12px var(--font-ui); z-index: 50; box-shadow: 0 10px 30px var(--c-shadow-heavy); }
|
|
9665
|
+
.retirement-toast button { background: var(--c-panel-soft); color: var(--c-text); font: inherit; border: 1px solid var(--c-line); border-radius: 6px; padding: 5px 8px; cursor: pointer; }
|
|
9666
|
+
.relation-dimmed { opacity: 0.35; }
|
|
9667
|
+
.edge-line { transition: opacity 0.15s ease, stroke-width 0.15s ease; }
|
|
9668
|
+
.edge-pill { transition: opacity 0.15s ease; }
|
|
9669
|
+
@media (prefers-reduced-motion: reduce) {
|
|
9670
|
+
.canvas-node, .canvas-node.neighbor, .canvas-node.search-dimmed, .edge-line, .edge-pill { transition: none; }
|
|
9671
|
+
}
|
|
9672
|
+
.lifecycle-retired { opacity: 0.5; }
|
|
9673
|
+
.lifecycle-filter-dimmed { opacity: 0.15; }
|
|
9674
|
+
.node-lifecycle-warning { display: flex; flex-shrink: 0; gap: 6px; align-items: center; width: 100%; padding: 6px 8px; border: 0; border-top: 1px solid var(--c-line); background: var(--c-panel); color: var(--c-muted); text-align: left; font: 11px var(--font-ui); cursor: pointer; }
|
|
9675
|
+
.node-lifecycle-warning span:first-child { flex-shrink: 0; border: 1px solid var(--c-warn); color: var(--c-warn); border-radius: 999px; padding: 2px 6px; }
|
|
9676
|
+
.node-lifecycle-warning span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
9677
|
+
.knowledge-presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
|
|
9678
|
+
.knowledge-presets button, .category-choice { display: flex; flex-direction: column; gap: 6px; text-align: left; overflow-wrap: anywhere; }
|
|
9679
|
+
.knowledge-presets span, .category-choice span { color: var(--c-muted); font-size: 11px; }
|
|
9680
|
+
.category-editor-columns { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: 24px; margin-top: 16px; }
|
|
9681
|
+
.category-editor-columns > section { min-width: 0; padding-right: 16px; border-right: 1px solid var(--c-line); }
|
|
9682
|
+
.category-editor-columns h3 { margin-top: 0; }
|
|
9683
|
+
.category-list-panel > label + button { margin-top: 8px; }
|
|
9684
|
+
.category-library { max-height: min(420px, 50vh); overflow-y: auto; margin: 8px 0; padding: 2px; }
|
|
9685
|
+
.category-choice { margin-top: 4px; width: 100%; min-height: 42px; gap: 2px; }
|
|
9686
|
+
.category-tag { display: inline-block; border: 1px solid var(--c-line); border-radius: 6px; padding: 1px 6px; font-size: 11px; color: var(--c-text-soft); }
|
|
9687
|
+
.category-tag.is-unknown { border-style: dashed; }
|
|
9688
|
+
.category-inspector, .category-tab-content { min-width: 0; }
|
|
9689
|
+
.category-tab-content { margin: 0; padding: 12px 0; border: 0; display: flex; flex-direction: column; gap: 12px; }
|
|
9690
|
+
.category-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
9691
|
+
.category-tabs [aria-selected="true"] { border-color: var(--c-text); background: var(--c-panel-soft); }
|
|
9692
|
+
.category-glyph-choices { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
9693
|
+
.category-glyph-choices button { min-width: 36px; min-height: 34px; font-size: 18px; }
|
|
9694
|
+
.category-editor-footer { position: sticky; bottom: -16px; z-index: 2; display: flex; justify-content: flex-end; gap: 8px; padding: 12px 0; background: var(--c-panel); border-top: 1px solid var(--c-line); }
|
|
9695
|
+
.category-templates > summary, .lifecycle-triggers > summary { cursor: pointer; color: var(--c-text-soft); }
|
|
9696
|
+
.category-discard { position: sticky; top: 0; z-index: 3; padding: 12px; background: var(--c-panel); border: 1px solid var(--c-line); }
|
|
9697
|
+
.relation-presets-dialog .relation-preset-detail { min-width: 0; padding-right: 0; border-right: 0; }
|
|
9698
|
+
.relation-preset-preview { display: grid; gap: 12px; list-style: none; margin: 16px 0; padding: 0; }
|
|
9699
|
+
.relation-preset-preview li { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--c-line); border-radius: var(--r-control); background: var(--c-panel-soft); }
|
|
9700
|
+
.relation-preset-preview li > span { color: var(--c-text-soft); font-size: var(--fs-meta); }
|
|
9701
|
+
.relation-preset-example { display: grid; grid-template-columns: minmax(0, 1fr) minmax(48px, 120px) minmax(0, 1fr); align-items: center; gap: 8px; }
|
|
9702
|
+
.relation-preset-example > span { padding: 6px; text-align: center; border: 1px solid var(--c-line); border-radius: var(--r-control); background: var(--c-panel); font-size: var(--fs-meta); }
|
|
9703
|
+
.relation-preset-example svg { display: block; width: 100%; height: 24px; color: var(--relation-ink); }
|
|
9704
|
+
.relation-preset-footer { position: sticky; bottom: -16px; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px 0; border-top: 1px solid var(--c-line); background: var(--c-panel); }
|
|
9705
|
+
.relation-preset-footer > label { flex: 1 1 100%; }
|
|
9706
|
+
.relation-preset-footer select { flex: 1; min-width: 0; }
|
|
9707
|
+
.knowledge-dialog button.relation-preset-use { min-height: 30px; background: var(--c-accent); border-color: transparent; color: var(--c-contrast-fg); font-weight: 500; }
|
|
9708
|
+
:root[data-theme="sepia"] .knowledge-dialog button.relation-preset-use { background: color-mix(in srgb, var(--c-accent) 75%, var(--c-text)); }
|
|
9709
|
+
.relation-presets-dialog .relation-vocabulary .vocabulary-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto; align-items: center; gap: 8px; }
|
|
9710
|
+
.relation-dirty-guard, .relation-presets-dialog [aria-label="Confirm preset deletion"] { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; border: 1px solid var(--c-line); border-radius: var(--r-control); background: var(--c-panel-soft); }
|
|
9711
|
+
.relation-dirty-guard p, .relation-presets-dialog [aria-label="Confirm preset deletion"] p { flex-basis: 100%; }
|
|
9712
|
+
.home-view-tabs { flex-wrap: wrap; }
|
|
9713
|
+
.home-review-view { min-width: 0; color: var(--c-text); }
|
|
9714
|
+
.home-review-view p { color: var(--c-text-soft); font-size: var(--fs-ui); }
|
|
9715
|
+
.home-review-view .home-main-head > label { min-width: 0; max-width: 100%; }
|
|
9716
|
+
.home-review-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 16px 0; }
|
|
9717
|
+
.home-review-view label { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: var(--fs-ui); }
|
|
9718
|
+
.home-review-view input[type="search"], .home-review-view select { min-width: 0; max-width: 100%; padding: 7px 10px; border: 1px solid var(--c-line); border-radius: var(--r-control); background: var(--c-input-bg); color: var(--c-text); font: inherit; }
|
|
9719
|
+
.home-review-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--fs-ui); }
|
|
9720
|
+
.home-review-table th { text-align: left; color: var(--c-muted); font-weight: 500; }
|
|
9721
|
+
.home-review-table td, .home-review-table th { padding: 12px 8px; border-bottom: 1px solid var(--c-line); vertical-align: top; overflow-wrap: anywhere; }
|
|
9722
|
+
.home-review-table th:nth-child(3) { width: 30%; }
|
|
9723
|
+
.home-review-table th:last-child { width: 100px; }
|
|
9724
|
+
.home-review-table .home-button { height: auto; min-height: 34px; max-width: 100%; padding: 6px 10px; }
|
|
9725
|
+
.home-review-neutral { padding-top: 12px; border-top: 1px solid var(--c-line); }
|
|
9726
|
+
@media (max-width: 1024px) {
|
|
9727
|
+
.home-review-table, .home-review-table tbody, .home-review-table tr, .home-review-table td { display: block; width: auto; }
|
|
9728
|
+
.home-review-table thead { display: none; }
|
|
9729
|
+
.home-review-table tr { border: 1px solid var(--c-line); border-radius: var(--r-node); padding: 8px; margin: 12px 0; background: var(--c-panel); }
|
|
9730
|
+
.home-review-table td { padding: 4px; border: 0; }
|
|
9731
|
+
.home-review-table td[data-label]::before { content: attr(data-label) ": "; color: var(--c-muted); }
|
|
9732
|
+
}
|
|
9733
|
+
@media (max-width: 760px) {
|
|
9734
|
+
.knowledge-backdrop { padding: 12px; }
|
|
9735
|
+
.knowledge-dialog { padding: 14px; }
|
|
9736
|
+
.knowledge-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
9737
|
+
.category-editor-columns { grid-template-columns: minmax(0, 1fr); }
|
|
9738
|
+
.category-editor-columns > section { padding-right: 0; border-right: 0; }
|
|
9739
|
+
.category-library { max-height: 160px; }
|
|
9740
|
+
.relation-presets-dialog .relation-vocabulary .vocabulary-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
|
|
9741
|
+
.home-review-view .home-main-head { align-items: flex-start; }
|
|
7493
9742
|
}
|