codebase-onboarder 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -46
- package/bin/build-if-source.js +23 -0
- package/cli/commands.d.ts +26 -0
- package/cli/commands.js +836 -811
- package/cli/commands.js.map +1 -0
- package/cli/explorer/advanced.d.ts +14 -0
- package/cli/explorer/advanced.js +321 -329
- package/cli/explorer/advanced.js.map +1 -0
- package/cli/explorer/app.d.ts +1 -0
- package/cli/explorer/app.js +384 -313
- package/cli/explorer/app.js.map +1 -0
- package/cli/explorer/assistant.d.ts +9 -0
- package/cli/explorer/assistant.js +58 -0
- package/cli/explorer/assistant.js.map +1 -0
- package/cli/explorer/commands.d.ts +17 -0
- package/cli/explorer/commands.js +368 -302
- package/cli/explorer/commands.js.map +1 -0
- package/cli/explorer/featureViews.d.ts +124 -0
- package/cli/explorer/featureViews.js +179 -0
- package/cli/explorer/featureViews.js.map +1 -0
- package/cli/explorer/github.d.ts +21 -0
- package/cli/explorer/github.js +42 -44
- package/cli/explorer/github.js.map +1 -0
- package/cli/explorer/graphs.d.ts +7 -0
- package/cli/explorer/graphs.js +90 -95
- package/cli/explorer/graphs.js.map +1 -0
- package/cli/explorer/picker.d.ts +22 -0
- package/cli/explorer/picker.js +150 -0
- package/cli/explorer/picker.js.map +1 -0
- package/cli/explorer/report.d.ts +85 -0
- package/cli/explorer/report.js +60 -0
- package/cli/explorer/report.js.map +1 -0
- package/cli/explorer/session.d.ts +449 -0
- package/cli/explorer/session.js +143 -144
- package/cli/explorer/session.js.map +1 -0
- package/cli/explorer/views.d.ts +19 -0
- package/cli/explorer/views.js +465 -482
- package/cli/explorer/views.js.map +1 -0
- package/cli/explorer/wrap.d.ts +1 -0
- package/cli/explorer/wrap.js +28 -44
- package/cli/explorer/wrap.js.map +1 -0
- package/cli/main.d.ts +1 -0
- package/cli/main.js +214 -161
- package/cli/main.js.map +1 -0
- package/cli/prompt.d.ts +5 -0
- package/cli/prompt.js +84 -80
- package/cli/prompt.js.map +1 -0
- package/cli/scanOptions.d.ts +2 -0
- package/cli/scanOptions.js +11 -0
- package/cli/scanOptions.js.map +1 -0
- package/cli/ui.d.ts +33 -0
- package/cli/ui.js +35 -44
- package/cli/ui.js.map +1 -0
- package/cli/wizard.d.ts +187 -0
- package/cli/wizard.js +304 -284
- package/cli/wizard.js.map +1 -0
- package/package.json +15 -4
- package/public/app.d.ts +1 -0
- package/public/app.js +1057 -1009
- package/public/app.js.map +1 -0
- package/public/browser.d.ts +68 -0
- package/public/browser.js +2 -0
- package/public/browser.js.map +1 -0
- package/public/index.html +30 -13
- package/public/js/about.d.ts +6 -0
- package/public/js/about.js +152 -172
- package/public/js/about.js.map +1 -0
- package/public/js/aiDraft.d.ts +3 -0
- package/public/js/aiDraft.js +116 -124
- package/public/js/aiDraft.js.map +1 -0
- package/public/js/analysisPanel.d.ts +7 -0
- package/public/js/analysisPanel.js +166 -166
- package/public/js/analysisPanel.js.map +1 -0
- package/public/js/analysisReport.d.ts +38 -0
- package/public/js/analysisReport.js +105 -110
- package/public/js/analysisReport.js.map +1 -0
- package/public/js/api.d.ts +26 -0
- package/public/js/api.js +176 -167
- package/public/js/api.js.map +1 -0
- package/public/js/atlas.d.ts +6 -0
- package/public/js/atlas.js +50 -58
- package/public/js/atlas.js.map +1 -0
- package/public/js/blameView.d.ts +2 -0
- package/public/js/blameView.js +36 -37
- package/public/js/blameView.js.map +1 -0
- package/public/js/codeTab.d.ts +3 -0
- package/public/js/codeTab.js +175 -180
- package/public/js/codeTab.js.map +1 -0
- package/public/js/codeViewer.d.ts +5 -0
- package/public/js/codeViewer.js +162 -150
- package/public/js/codeViewer.js.map +1 -0
- package/public/js/components/FileChip.d.ts +9 -0
- package/public/js/components/FileChip.js +45 -49
- package/public/js/components/FileChip.js.map +1 -0
- package/public/js/components/MetricSparkline.d.ts +7 -0
- package/public/js/components/MetricSparkline.js +35 -44
- package/public/js/components/MetricSparkline.js.map +1 -0
- package/public/js/components/RiskBadge.d.ts +9 -0
- package/public/js/components/RiskBadge.js +55 -63
- package/public/js/components/RiskBadge.js.map +1 -0
- package/public/js/deepAnalysisView.d.ts +99 -0
- package/public/js/deepAnalysisView.js +282 -302
- package/public/js/deepAnalysisView.js.map +1 -0
- package/public/js/diagramPane.d.ts +8 -0
- package/public/js/diagramPane.js +133 -135
- package/public/js/diagramPane.js.map +1 -0
- package/public/js/diffView.d.ts +6 -0
- package/public/js/diffView.js +222 -209
- package/public/js/diffView.js.map +1 -0
- package/public/js/docsView.d.ts +2 -0
- package/public/js/docsView.js +441 -442
- package/public/js/docsView.js.map +1 -0
- package/public/js/dom.d.ts +189 -0
- package/public/js/dom.js +5 -0
- package/public/js/dom.js.map +1 -0
- package/public/js/fileSourceBrowser.d.ts +5 -0
- package/public/js/fileSourceBrowser.js +33 -41
- package/public/js/fileSourceBrowser.js.map +1 -0
- package/public/js/flameGraph.d.ts +5 -0
- package/public/js/flameGraph.js +62 -72
- package/public/js/flameGraph.js.map +1 -0
- package/public/js/forceGraph.d.ts +10 -0
- package/public/js/forceGraph.js +581 -556
- package/public/js/forceGraph.js.map +1 -0
- package/public/js/heatmap.d.ts +4 -0
- package/public/js/heatmap.js +142 -164
- package/public/js/heatmap.js.map +1 -0
- package/public/js/highlight.d.ts +2 -0
- package/public/js/highlight.js +116 -107
- package/public/js/highlight.js.map +1 -0
- package/public/js/html.d.ts +2 -0
- package/public/js/html.js +14 -44
- package/public/js/html.js.map +1 -0
- package/public/js/insightsView.d.ts +5 -0
- package/public/js/insightsView.js +93 -111
- package/public/js/insightsView.js.map +1 -0
- package/public/js/inspector.d.ts +37 -0
- package/public/js/inspector.js +416 -445
- package/public/js/inspector.js.map +1 -0
- package/public/js/llm.d.ts +113 -0
- package/public/js/llm.js +233 -272
- package/public/js/llm.js.map +1 -0
- package/public/js/mapView.d.ts +3 -0
- package/public/js/mapView.js +121 -120
- package/public/js/mapView.js.map +1 -0
- package/public/js/markdown.d.ts +3 -0
- package/public/js/markdown.js +84 -91
- package/public/js/markdown.js.map +1 -0
- package/public/js/mindmap.d.ts +32 -0
- package/public/js/mindmap.js +244 -259
- package/public/js/mindmap.js.map +1 -0
- package/public/js/mobilePanels.d.ts +5 -0
- package/public/js/mobilePanels.js +50 -0
- package/public/js/mobilePanels.js.map +1 -0
- package/public/js/repoFiles.d.ts +12 -0
- package/public/js/repoFiles.js +28 -27
- package/public/js/repoFiles.js.map +1 -0
- package/public/js/reviewView.d.ts +28 -0
- package/public/js/reviewView.js +256 -0
- package/public/js/reviewView.js.map +1 -0
- package/public/js/sbomView.d.ts +3 -0
- package/public/js/sbomView.js +59 -67
- package/public/js/sbomView.js.map +1 -0
- package/public/js/scanCache.d.ts +16 -0
- package/public/js/scanCache.js +67 -65
- package/public/js/scanCache.js.map +1 -0
- package/public/js/search.d.ts +7 -0
- package/public/js/search.js +868 -800
- package/public/js/search.js.map +1 -0
- package/public/js/searchLocal.d.ts +42 -0
- package/public/js/searchLocal.js +87 -0
- package/public/js/searchLocal.js.map +1 -0
- package/public/js/serverSettings.d.ts +5 -0
- package/public/js/serverSettings.js +153 -164
- package/public/js/serverSettings.js.map +1 -0
- package/public/js/state.d.ts +798 -0
- package/public/js/state.js +114 -122
- package/public/js/state.js.map +1 -0
- package/public/js/tour.d.ts +6 -0
- package/public/js/tour.js +5 -7
- package/public/js/tour.js.map +1 -0
- package/public/js/transitions.d.ts +2 -0
- package/public/js/transitions.js +9 -10
- package/public/js/transitions.js.map +1 -0
- package/public/js/tree.d.ts +12 -0
- package/public/js/tree.js +157 -154
- package/public/js/tree.js.map +1 -0
- package/public/js/workflowsView.d.ts +3 -0
- package/public/js/workflowsView.js +15 -22
- package/public/js/workflowsView.js.map +1 -0
- package/public/search.css +495 -0
- package/public/styles.css +163 -346
- package/public/workbench.css +166 -0
- package/server/apiAuth.d.ts +3 -0
- package/server/apiAuth.js +18 -20
- package/server/apiAuth.js.map +1 -0
- package/server/apiDiff.d.ts +2 -0
- package/server/apiDiff.js +20 -18
- package/server/apiDiff.js.map +1 -0
- package/server/apiDocs.d.ts +2 -0
- package/server/apiDocs.js +38 -40
- package/server/apiDocs.js.map +1 -0
- package/server/apiFile.d.ts +1 -0
- package/server/apiFile.js +14 -17
- package/server/apiFile.js.map +1 -0
- package/server/apiGitBlame.d.ts +2 -0
- package/server/apiGitBlame.js +50 -51
- package/server/apiGitBlame.js.map +1 -0
- package/server/apiMcp.d.ts +4 -0
- package/server/apiMcp.js +64 -66
- package/server/apiMcp.js.map +1 -0
- package/server/apiReview.d.ts +2 -0
- package/server/apiReview.js +45 -0
- package/server/apiReview.js.map +1 -0
- package/server/apiScan.d.ts +5 -0
- package/server/apiScan.js +90 -71
- package/server/apiScan.js.map +1 -0
- package/server/apiSearch.d.ts +33 -0
- package/server/apiSearch.js +184 -200
- package/server/apiSearch.js.map +1 -0
- package/server/apiSettings.d.ts +4 -0
- package/server/apiSettings.js +84 -85
- package/server/apiSettings.js.map +1 -0
- package/server/apiTools.d.ts +3 -0
- package/server/apiTools.js +55 -56
- package/server/apiTools.js.map +1 -0
- package/server/auth.d.ts +5 -0
- package/server/auth.js +54 -51
- package/server/auth.js.map +1 -0
- package/server/config.d.ts +42 -0
- package/server/config.js +189 -194
- package/server/config.js.map +1 -0
- package/server/daemon.d.ts +12 -0
- package/server/daemon.js +124 -114
- package/server/daemon.js.map +1 -0
- package/server/fileSourceNode.d.ts +2 -0
- package/server/fileSourceNode.js +34 -36
- package/server/fileSourceNode.js.map +1 -0
- package/server/gitClone.d.ts +9 -0
- package/server/gitClone.js +59 -61
- package/server/gitClone.js.map +1 -0
- package/server/gitDiff.d.ts +36 -0
- package/server/gitDiff.js +271 -169
- package/server/gitDiff.js.map +1 -0
- package/server/gitHistory.d.ts +12 -0
- package/server/gitHistory.js +80 -80
- package/server/gitHistory.js.map +1 -0
- package/server/gitRemote.d.ts +12 -0
- package/server/gitRemote.js +37 -38
- package/server/gitRemote.js.map +1 -0
- package/server/htmlText.d.ts +4 -0
- package/server/htmlText.js +16 -23
- package/server/htmlText.js.map +1 -0
- package/server/http.d.ts +5 -0
- package/server/http.js +27 -30
- package/server/http.js.map +1 -0
- package/server/httpGuards.d.ts +2 -0
- package/server/httpGuards.js +47 -43
- package/server/httpGuards.js.map +1 -0
- package/server/https.d.ts +34 -0
- package/server/https.js +121 -111
- package/server/https.js.map +1 -0
- package/server/index.d.ts +40 -0
- package/server/index.js +139 -147
- package/server/index.js.map +1 -0
- package/server/layout.d.ts +26 -0
- package/server/layout.js +59 -64
- package/server/layout.js.map +1 -0
- package/server/llmProxy.d.ts +3 -0
- package/server/llmProxy.js +137 -135
- package/server/llmProxy.js.map +1 -0
- package/server/logger.d.ts +38 -0
- package/server/logger.js +198 -211
- package/server/logger.js.map +1 -0
- package/server/mcp/analysis.d.ts +29 -0
- package/server/mcp/analysis.js +99 -120
- package/server/mcp/analysis.js.map +1 -0
- package/server/mcp/http.d.ts +9 -0
- package/server/mcp/http.js +128 -137
- package/server/mcp/http.js.map +1 -0
- package/server/mcp/runner.d.ts +68 -0
- package/server/mcp/runner.js +208 -218
- package/server/mcp/runner.js.map +1 -0
- package/server/mcp/server.d.ts +29 -0
- package/server/mcp/server.js +166 -179
- package/server/mcp/server.js.map +1 -0
- package/server/mcp/standalone.d.ts +1 -0
- package/server/mcp/standalone.js +8 -10
- package/server/mcp/standalone.js.map +1 -0
- package/server/mcp/tools.d.ts +2020 -0
- package/server/mcp/tools.js +523 -574
- package/server/mcp/tools.js.map +1 -0
- package/server/paths.d.ts +3 -0
- package/server/paths.js +17 -15
- package/server/paths.js.map +1 -0
- package/server/pidfile.d.ts +9 -0
- package/server/pidfile.js +43 -45
- package/server/pidfile.js.map +1 -0
- package/server/review.d.ts +5 -0
- package/server/review.js +35 -0
- package/server/review.js.map +1 -0
- package/server/router.d.ts +33 -0
- package/server/router.js +191 -197
- package/server/router.js.map +1 -0
- package/server/scanRequest.d.ts +3 -0
- package/server/scanRequest.js +36 -0
- package/server/scanRequest.js.map +1 -0
- package/server/searchIndex.d.ts +17 -0
- package/server/searchIndex.js +83 -80
- package/server/searchIndex.js.map +1 -0
- package/server/sessions.d.ts +14 -0
- package/server/sessions.js +62 -70
- package/server/sessions.js.map +1 -0
- package/server/startup.d.ts +118 -0
- package/server/startup.js +143 -148
- package/server/startup.js.map +1 -0
- package/server/static.d.ts +6 -0
- package/server/static.js +28 -31
- package/server/static.js.map +1 -0
- package/server/tools/install.d.ts +4 -0
- package/server/tools/install.js +176 -185
- package/server/tools/install.js.map +1 -0
- package/server/tools/parse.d.ts +8 -0
- package/server/tools/parse.js +112 -114
- package/server/tools/parse.js.map +1 -0
- package/server/tools/platform.d.ts +9 -0
- package/server/tools/platform.js +49 -47
- package/server/tools/platform.js.map +1 -0
- package/server/tools/registry.d.ts +137 -0
- package/server/tools/registry.js +173 -172
- package/server/tools/registry.js.map +1 -0
- package/server/tools/scan.d.ts +34 -0
- package/server/tools/scan.js +89 -98
- package/server/tools/scan.js.map +1 -0
- package/server/tools.d.ts +34 -0
- package/server/tools.js +94 -107
- package/server/tools.js.map +1 -0
- package/server/tunnel.d.ts +29 -0
- package/server/tunnel.js +61 -66
- package/server/tunnel.js.map +1 -0
- package/shared/analyzer/docs.d.ts +16 -0
- package/shared/analyzer/docs.js +99 -93
- package/shared/analyzer/docs.js.map +1 -0
- package/shared/analyzer/explainLocal.d.ts +4 -0
- package/shared/analyzer/explainLocal.js +122 -142
- package/shared/analyzer/explainLocal.js.map +1 -0
- package/shared/analyzer/github.d.ts +37 -0
- package/shared/analyzer/github.js +41 -43
- package/shared/analyzer/github.js.map +1 -0
- package/shared/analyzer/graph.d.ts +41 -0
- package/shared/analyzer/graph.js +393 -400
- package/shared/analyzer/graph.js.map +1 -0
- package/shared/analyzer/health.d.ts +33 -0
- package/shared/analyzer/health.js +197 -193
- package/shared/analyzer/health.js.map +1 -0
- package/shared/analyzer/history.d.ts +29 -0
- package/shared/analyzer/history.js +110 -111
- package/shared/analyzer/history.js.map +1 -0
- package/shared/analyzer/jsonConfig.d.ts +2 -0
- package/shared/analyzer/jsonConfig.js +61 -0
- package/shared/analyzer/jsonConfig.js.map +1 -0
- package/shared/analyzer/languages/csharp.d.ts +26 -0
- package/shared/analyzer/languages/csharp.js +83 -88
- package/shared/analyzer/languages/csharp.js.map +1 -0
- package/shared/analyzer/languages/generic.d.ts +23 -0
- package/shared/analyzer/languages/generic.js +94 -105
- package/shared/analyzer/languages/generic.js.map +1 -0
- package/shared/analyzer/languages/go.d.ts +24 -0
- package/shared/analyzer/languages/go.js +45 -54
- package/shared/analyzer/languages/go.js.map +1 -0
- package/shared/analyzer/languages/index.d.ts +6 -0
- package/shared/analyzer/languages/index.js +19 -20
- package/shared/analyzer/languages/index.js.map +1 -0
- package/shared/analyzer/languages/java.d.ts +20 -0
- package/shared/analyzer/languages/java.js +73 -78
- package/shared/analyzer/languages/java.js.map +1 -0
- package/shared/analyzer/languages/javascript.d.ts +12 -0
- package/shared/analyzer/languages/javascript.js +258 -209
- package/shared/analyzer/languages/javascript.js.map +1 -0
- package/shared/analyzer/languages/python.d.ts +23 -0
- package/shared/analyzer/languages/python.js +92 -100
- package/shared/analyzer/languages/python.js.map +1 -0
- package/shared/analyzer/languages/rust.d.ts +17 -0
- package/shared/analyzer/languages/rust.js +96 -98
- package/shared/analyzer/languages/rust.js.map +1 -0
- package/shared/analyzer/languages/typescript.d.ts +11 -0
- package/shared/analyzer/languages/typescript.js +117 -116
- package/shared/analyzer/languages/typescript.js.map +1 -0
- package/shared/analyzer/licenses.d.ts +18 -0
- package/shared/analyzer/licenses.js +130 -133
- package/shared/analyzer/licenses.js.map +1 -0
- package/shared/analyzer/metrics.d.ts +20 -0
- package/shared/analyzer/metrics.js +112 -104
- package/shared/analyzer/metrics.js.map +1 -0
- package/shared/analyzer/pathUtil.d.ts +10 -0
- package/shared/analyzer/pathUtil.js +29 -35
- package/shared/analyzer/pathUtil.js.map +1 -0
- package/shared/analyzer/patterns.d.ts +11 -0
- package/shared/analyzer/patterns.js +231 -253
- package/shared/analyzer/patterns.js.map +1 -0
- package/shared/analyzer/scan.d.ts +62 -0
- package/shared/analyzer/scan.js +451 -442
- package/shared/analyzer/scan.js.map +1 -0
- package/shared/analyzer/scanControl.d.ts +11 -0
- package/shared/analyzer/scanControl.js +62 -0
- package/shared/analyzer/scanControl.js.map +1 -0
- package/shared/analyzer/security.d.ts +18 -0
- package/shared/analyzer/security.js +159 -159
- package/shared/analyzer/security.js.map +1 -0
- package/shared/analyzer/services.d.ts +5 -0
- package/shared/analyzer/services.js +141 -138
- package/shared/analyzer/services.js.map +1 -0
- package/shared/analyzer/stack.d.ts +6 -0
- package/shared/analyzer/stack.js +134 -141
- package/shared/analyzer/stack.js.map +1 -0
- package/shared/analyzer/tour.d.ts +2 -0
- package/shared/analyzer/tour.js +45 -53
- package/shared/analyzer/tour.js.map +1 -0
- package/shared/analyzer/util.d.ts +8 -0
- package/shared/analyzer/util.js +130 -76
- package/shared/analyzer/util.js.map +1 -0
- package/shared/analyzer/workflows.d.ts +8 -0
- package/shared/analyzer/workflows.js +139 -134
- package/shared/analyzer/workflows.js.map +1 -0
- package/shared/contracts.d.ts +250 -0
- package/shared/contracts.js +2 -0
- package/shared/contracts.js.map +1 -0
- package/shared/diagram/aiFacts.d.ts +35 -0
- package/shared/diagram/aiFacts.js +102 -105
- package/shared/diagram/aiFacts.js.map +1 -0
- package/shared/diagram/aiMermaid.d.ts +5 -0
- package/shared/diagram/aiMermaid.js +46 -45
- package/shared/diagram/aiMermaid.js.map +1 -0
- package/shared/diagram/atlas.d.ts +16 -0
- package/shared/diagram/atlas.js +51 -60
- package/shared/diagram/atlas.js.map +1 -0
- package/shared/diagram/mermaid.d.ts +43 -0
- package/shared/diagram/mermaid.js +348 -370
- package/shared/diagram/mermaid.js.map +1 -0
- package/shared/review/contracts.d.ts +95 -0
- package/shared/review/contracts.js +2 -0
- package/shared/review/contracts.js.map +1 -0
- package/shared/review/review.d.ts +10 -0
- package/shared/review/review.js +184 -0
- package/shared/review/review.js.map +1 -0
- package/shared/search/query.d.ts +32 -0
- package/shared/search/query.js +395 -388
- package/shared/search/query.js.map +1 -0
package/public/styles.css
CHANGED
|
@@ -73,6 +73,9 @@
|
|
|
73
73
|
html, body {
|
|
74
74
|
margin: 0;
|
|
75
75
|
height: 100%;
|
|
76
|
+
width: 100%;
|
|
77
|
+
max-width: 100%;
|
|
78
|
+
overflow-x: hidden;
|
|
76
79
|
background: var(--paper);
|
|
77
80
|
color: var(--ink);
|
|
78
81
|
font-family: var(--sans);
|
|
@@ -485,6 +488,9 @@ html, body {
|
|
|
485
488
|
|
|
486
489
|
.stage-actions { margin-left: auto; display: flex; gap: 6px; align-items: center; }
|
|
487
490
|
|
|
491
|
+
.mobile-panel-buttons { display: none; }
|
|
492
|
+
.mobile-panel-top { display: none; }
|
|
493
|
+
|
|
488
494
|
/* ---------- explorer filter row ---------- */
|
|
489
495
|
|
|
490
496
|
.stage-filters {
|
|
@@ -642,6 +648,8 @@ html, body {
|
|
|
642
648
|
cursor: grab;
|
|
643
649
|
}
|
|
644
650
|
.canvas.is-dragging { cursor: grabbing; }
|
|
651
|
+
.canvas { touch-action: none; }
|
|
652
|
+
.canvas:has(.atlas-mode) { touch-action: pan-y; }
|
|
645
653
|
.canvas::after {
|
|
646
654
|
content: '';
|
|
647
655
|
position: absolute;
|
|
@@ -1028,6 +1036,7 @@ html, body {
|
|
|
1028
1036
|
width: 100%;
|
|
1029
1037
|
height: 100%;
|
|
1030
1038
|
display: block;
|
|
1039
|
+
touch-action: none;
|
|
1031
1040
|
}
|
|
1032
1041
|
|
|
1033
1042
|
.graph-controls {
|
|
@@ -1071,6 +1080,7 @@ html, body {
|
|
|
1071
1080
|
width: 100%;
|
|
1072
1081
|
height: 100%;
|
|
1073
1082
|
display: block;
|
|
1083
|
+
touch-action: manipulation;
|
|
1074
1084
|
}
|
|
1075
1085
|
|
|
1076
1086
|
.flame-canvas {
|
|
@@ -1079,352 +1089,6 @@ html, body {
|
|
|
1079
1089
|
display: block;
|
|
1080
1090
|
}
|
|
1081
1091
|
|
|
1082
|
-
.search-overlay {
|
|
1083
|
-
position: fixed;
|
|
1084
|
-
top: 0; left: 0; right: 0; bottom: 0;
|
|
1085
|
-
background: rgba(0, 0, 0, 0.45);
|
|
1086
|
-
backdrop-filter: blur(8px);
|
|
1087
|
-
display: flex;
|
|
1088
|
-
justify-content: center;
|
|
1089
|
-
padding-top: 12vh;
|
|
1090
|
-
z-index: 2000;
|
|
1091
|
-
animation: searchFadeIn 0.15s ease-out;
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
@keyframes searchFadeIn {
|
|
1095
|
-
from { opacity: 0; transform: scale(0.98); }
|
|
1096
|
-
to { opacity: 1; transform: scale(1); }
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
.search-modal {
|
|
1100
|
-
width: 100%;
|
|
1101
|
-
max-width: 680px;
|
|
1102
|
-
background: var(--card);
|
|
1103
|
-
border-radius: 10px;
|
|
1104
|
-
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
|
|
1105
|
-
border: 1.5px solid var(--line);
|
|
1106
|
-
display: flex;
|
|
1107
|
-
flex-direction: column;
|
|
1108
|
-
max-height: 65vh;
|
|
1109
|
-
overflow: hidden;
|
|
1110
|
-
}
|
|
1111
|
-
|
|
1112
|
-
.search-header {
|
|
1113
|
-
display: flex;
|
|
1114
|
-
flex-direction: column;
|
|
1115
|
-
border-bottom: 1px solid var(--line);
|
|
1116
|
-
background: var(--paper);
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
.search-input {
|
|
1120
|
-
font-family: var(--mono);
|
|
1121
|
-
font-size: 14px;
|
|
1122
|
-
flex: 1;
|
|
1123
|
-
min-width: 0;
|
|
1124
|
-
padding: 14px 0;
|
|
1125
|
-
border: none;
|
|
1126
|
-
background: transparent;
|
|
1127
|
-
outline: none;
|
|
1128
|
-
color: var(--ink);
|
|
1129
|
-
}
|
|
1130
|
-
.search-input::placeholder { color: var(--faint); }
|
|
1131
|
-
|
|
1132
|
-
.search-modes {
|
|
1133
|
-
display: flex;
|
|
1134
|
-
gap: 4px;
|
|
1135
|
-
padding: 0 12px 8px;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
.search-mode-chip {
|
|
1139
|
-
font-family: var(--mono);
|
|
1140
|
-
font-size: 11px;
|
|
1141
|
-
padding: 2px 8px;
|
|
1142
|
-
border-radius: 4px;
|
|
1143
|
-
border: 1px solid var(--line);
|
|
1144
|
-
background: transparent;
|
|
1145
|
-
color: var(--faint);
|
|
1146
|
-
cursor: pointer;
|
|
1147
|
-
transition: all 0.12s ease;
|
|
1148
|
-
}
|
|
1149
|
-
.search-mode-chip:hover {
|
|
1150
|
-
color: var(--ink);
|
|
1151
|
-
background: var(--paper-2);
|
|
1152
|
-
}
|
|
1153
|
-
.search-mode-chip.is-active {
|
|
1154
|
-
color: var(--ink);
|
|
1155
|
-
background: var(--accent-soft);
|
|
1156
|
-
border-color: var(--accent);
|
|
1157
|
-
font-weight: 600;
|
|
1158
|
-
}
|
|
1159
|
-
|
|
1160
|
-
.search-results {
|
|
1161
|
-
overflow-y: auto;
|
|
1162
|
-
padding: 4px 0;
|
|
1163
|
-
flex: 1;
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
.search-result {
|
|
1167
|
-
padding: 8px 14px;
|
|
1168
|
-
cursor: pointer;
|
|
1169
|
-
display: flex;
|
|
1170
|
-
flex-direction: column;
|
|
1171
|
-
gap: 4px;
|
|
1172
|
-
border-bottom: 1px solid rgba(128,128,128,0.06);
|
|
1173
|
-
transition: background 0.08s ease;
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
.search-result:hover, .search-result.is-selected {
|
|
1177
|
-
background: var(--accent-soft);
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
.search-item-main {
|
|
1181
|
-
display: flex;
|
|
1182
|
-
align-items: center;
|
|
1183
|
-
gap: 8px;
|
|
1184
|
-
width: 100%;
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
.search-ext-badge {
|
|
1188
|
-
font-family: var(--mono);
|
|
1189
|
-
font-size: 9px;
|
|
1190
|
-
font-weight: 700;
|
|
1191
|
-
padding: 1px 4px;
|
|
1192
|
-
border-radius: 3px;
|
|
1193
|
-
background: var(--paper-2);
|
|
1194
|
-
border: 1px solid var(--line);
|
|
1195
|
-
color: var(--faint);
|
|
1196
|
-
flex-shrink: 0;
|
|
1197
|
-
}
|
|
1198
|
-
.search-ext-badge.is-symbol {
|
|
1199
|
-
background: #e0e7ff;
|
|
1200
|
-
color: #3730a3;
|
|
1201
|
-
border-color: #c7d2fe;
|
|
1202
|
-
}
|
|
1203
|
-
.search-ext-badge.is-code {
|
|
1204
|
-
background: #fef3c7;
|
|
1205
|
-
color: #92400e;
|
|
1206
|
-
border-color: #fde68a;
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
.search-title {
|
|
1210
|
-
display: flex;
|
|
1211
|
-
align-items: baseline;
|
|
1212
|
-
gap: 6px;
|
|
1213
|
-
flex: 1;
|
|
1214
|
-
overflow: hidden;
|
|
1215
|
-
}
|
|
1216
|
-
.search-name {
|
|
1217
|
-
font-family: var(--mono);
|
|
1218
|
-
font-size: 12.5px;
|
|
1219
|
-
font-weight: 600;
|
|
1220
|
-
color: var(--ink);
|
|
1221
|
-
white-space: nowrap;
|
|
1222
|
-
}
|
|
1223
|
-
.search-dir {
|
|
1224
|
-
font-family: var(--mono);
|
|
1225
|
-
font-size: 11px;
|
|
1226
|
-
color: var(--faint);
|
|
1227
|
-
overflow: hidden;
|
|
1228
|
-
text-overflow: ellipsis;
|
|
1229
|
-
white-space: nowrap;
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
.search-type-tag {
|
|
1233
|
-
font-family: var(--mono);
|
|
1234
|
-
font-size: 10px;
|
|
1235
|
-
color: var(--faint);
|
|
1236
|
-
margin-left: auto;
|
|
1237
|
-
flex-shrink: 0;
|
|
1238
|
-
}
|
|
1239
|
-
.search-type-tag.is-sym { color: #4338ca; }
|
|
1240
|
-
.search-type-tag.is-code { color: #b45309; }
|
|
1241
|
-
|
|
1242
|
-
.search-snippet {
|
|
1243
|
-
font-family: var(--mono);
|
|
1244
|
-
font-size: 11px;
|
|
1245
|
-
background: var(--paper-2);
|
|
1246
|
-
border-radius: 4px;
|
|
1247
|
-
padding: 4px 8px;
|
|
1248
|
-
color: var(--ink-2);
|
|
1249
|
-
overflow: hidden;
|
|
1250
|
-
text-overflow: ellipsis;
|
|
1251
|
-
white-space: nowrap;
|
|
1252
|
-
border-left: 2px solid var(--accent);
|
|
1253
|
-
}
|
|
1254
|
-
|
|
1255
|
-
mark.search-match {
|
|
1256
|
-
background: rgba(234, 179, 8, 0.35);
|
|
1257
|
-
color: var(--ink);
|
|
1258
|
-
padding: 0 1px;
|
|
1259
|
-
border-radius: 2px;
|
|
1260
|
-
font-weight: 700;
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
.search-empty {
|
|
1264
|
-
padding: 24px 16px;
|
|
1265
|
-
text-align: center;
|
|
1266
|
-
color: var(--faint);
|
|
1267
|
-
font-size: 12.5px;
|
|
1268
|
-
font-style: italic;
|
|
1269
|
-
}
|
|
1270
|
-
|
|
1271
|
-
/* The palette used to end in a shortcut list and nothing else. It now carries
|
|
1272
|
-
the query's own state — how many matches, how many files were indexed, what
|
|
1273
|
-
was skipped — because "no results" is a different message depending on
|
|
1274
|
-
whether the index ever saw the file. */
|
|
1275
|
-
.search-inputrow {
|
|
1276
|
-
display: flex;
|
|
1277
|
-
align-items: center;
|
|
1278
|
-
gap: 8px;
|
|
1279
|
-
padding: 0 12px 0 14px;
|
|
1280
|
-
}
|
|
1281
|
-
.search-icon { display: inline-flex; color: var(--faint); flex-shrink: 0; }
|
|
1282
|
-
|
|
1283
|
-
.search-toggle {
|
|
1284
|
-
font-family: var(--mono);
|
|
1285
|
-
font-size: 11px;
|
|
1286
|
-
line-height: 1;
|
|
1287
|
-
padding: 4px 6px;
|
|
1288
|
-
border-radius: 4px;
|
|
1289
|
-
border: 1px solid var(--line);
|
|
1290
|
-
background: transparent;
|
|
1291
|
-
color: var(--faint);
|
|
1292
|
-
cursor: pointer;
|
|
1293
|
-
flex-shrink: 0;
|
|
1294
|
-
}
|
|
1295
|
-
.search-toggle:hover { color: var(--ink); background: var(--paper-2); }
|
|
1296
|
-
.search-toggle.is-active {
|
|
1297
|
-
color: var(--ink);
|
|
1298
|
-
border-color: var(--accent);
|
|
1299
|
-
background: var(--accent-soft);
|
|
1300
|
-
font-weight: 700;
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
|
-
.search-status {
|
|
1304
|
-
display: flex;
|
|
1305
|
-
justify-content: space-between;
|
|
1306
|
-
align-items: center;
|
|
1307
|
-
gap: 12px;
|
|
1308
|
-
padding: 6px 14px;
|
|
1309
|
-
background: var(--paper-2);
|
|
1310
|
-
border-top: 1px solid var(--line);
|
|
1311
|
-
font-size: 10.5px;
|
|
1312
|
-
color: var(--faint);
|
|
1313
|
-
}
|
|
1314
|
-
.search-status-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
|
|
1315
|
-
.search-keys { display: flex; gap: 10px; flex-shrink: 0; }
|
|
1316
|
-
.search-sep { color: var(--line); }
|
|
1317
|
-
.search-err { color: #9a3b2e; }
|
|
1318
|
-
|
|
1319
|
-
.search-spinner {
|
|
1320
|
-
display: inline-block;
|
|
1321
|
-
width: 9px;
|
|
1322
|
-
height: 9px;
|
|
1323
|
-
border: 1.5px solid var(--line);
|
|
1324
|
-
border-top-color: var(--accent);
|
|
1325
|
-
border-radius: 50%;
|
|
1326
|
-
animation: searchSpin 0.7s linear infinite;
|
|
1327
|
-
}
|
|
1328
|
-
@keyframes searchSpin { to { transform: rotate(360deg); } }
|
|
1329
|
-
.search-keys kbd {
|
|
1330
|
-
font-family: var(--mono);
|
|
1331
|
-
background: var(--card);
|
|
1332
|
-
border: 1px solid var(--line);
|
|
1333
|
-
border-radius: 3px;
|
|
1334
|
-
padding: 1px 4px;
|
|
1335
|
-
margin-right: 2px;
|
|
1336
|
-
font-size: 10px;
|
|
1337
|
-
}
|
|
1338
|
-
|
|
1339
|
-
.search-mode-count {
|
|
1340
|
-
font-family: var(--mono);
|
|
1341
|
-
font-size: 9.5px;
|
|
1342
|
-
margin-left: 5px;
|
|
1343
|
-
padding: 0 3px;
|
|
1344
|
-
border-radius: 3px;
|
|
1345
|
-
background: var(--paper-2);
|
|
1346
|
-
color: var(--faint);
|
|
1347
|
-
}
|
|
1348
|
-
.search-mode-chip.is-active .search-mode-count { background: var(--card); color: var(--ink); }
|
|
1349
|
-
|
|
1350
|
-
.search-chips {
|
|
1351
|
-
display: flex;
|
|
1352
|
-
flex-wrap: wrap;
|
|
1353
|
-
align-items: center;
|
|
1354
|
-
gap: 5px;
|
|
1355
|
-
padding: 0 12px 9px;
|
|
1356
|
-
}
|
|
1357
|
-
.search-chips[hidden] { display: none; }
|
|
1358
|
-
|
|
1359
|
-
.search-chip {
|
|
1360
|
-
display: inline-flex;
|
|
1361
|
-
align-items: center;
|
|
1362
|
-
gap: 4px;
|
|
1363
|
-
font-family: var(--mono);
|
|
1364
|
-
font-size: 10.5px;
|
|
1365
|
-
padding: 2px 4px 2px 6px;
|
|
1366
|
-
border-radius: 4px;
|
|
1367
|
-
border: 1px solid var(--accent);
|
|
1368
|
-
background: var(--accent-soft);
|
|
1369
|
-
color: var(--ink);
|
|
1370
|
-
}
|
|
1371
|
-
.search-chip-kind {
|
|
1372
|
-
text-transform: uppercase;
|
|
1373
|
-
font-size: 8.5px;
|
|
1374
|
-
letter-spacing: 0.05em;
|
|
1375
|
-
color: var(--faint);
|
|
1376
|
-
}
|
|
1377
|
-
.search-chip-remove {
|
|
1378
|
-
border: none;
|
|
1379
|
-
background: transparent;
|
|
1380
|
-
color: var(--faint);
|
|
1381
|
-
cursor: pointer;
|
|
1382
|
-
font-size: 12px;
|
|
1383
|
-
line-height: 1;
|
|
1384
|
-
padding: 0 2px;
|
|
1385
|
-
}
|
|
1386
|
-
.search-chip-remove:hover { color: var(--ink); }
|
|
1387
|
-
|
|
1388
|
-
.search-group-head {
|
|
1389
|
-
display: flex;
|
|
1390
|
-
justify-content: space-between;
|
|
1391
|
-
align-items: baseline;
|
|
1392
|
-
padding: 9px 14px 4px;
|
|
1393
|
-
font-family: var(--mono);
|
|
1394
|
-
font-size: 9.5px;
|
|
1395
|
-
text-transform: uppercase;
|
|
1396
|
-
letter-spacing: 0.07em;
|
|
1397
|
-
color: var(--faint);
|
|
1398
|
-
background: var(--paper);
|
|
1399
|
-
border-bottom: 1px solid var(--line);
|
|
1400
|
-
}
|
|
1401
|
-
.search-group-count { color: var(--faint); }
|
|
1402
|
-
|
|
1403
|
-
.search-ext-badge.is-recent { color: var(--faint); }
|
|
1404
|
-
.search-ext-badge.is-syntax {
|
|
1405
|
-
background: var(--paper-2);
|
|
1406
|
-
color: var(--ink-2);
|
|
1407
|
-
border-color: var(--line);
|
|
1408
|
-
}
|
|
1409
|
-
.search-result.is-example .search-name { font-weight: 500; color: var(--ink-2); }
|
|
1410
|
-
|
|
1411
|
-
.search-empty-hint {
|
|
1412
|
-
margin-top: 8px;
|
|
1413
|
-
font-size: 11.5px;
|
|
1414
|
-
font-style: normal;
|
|
1415
|
-
line-height: 1.55;
|
|
1416
|
-
max-width: 420px;
|
|
1417
|
-
margin-left: auto;
|
|
1418
|
-
margin-right: auto;
|
|
1419
|
-
}
|
|
1420
|
-
.search-empty code, .search-empty-hint code {
|
|
1421
|
-
font-family: var(--mono);
|
|
1422
|
-
background: var(--paper-2);
|
|
1423
|
-
border-radius: 3px;
|
|
1424
|
-
padding: 0 3px;
|
|
1425
|
-
color: var(--ink-2);
|
|
1426
|
-
}
|
|
1427
|
-
|
|
1428
1092
|
.blame-gutter {
|
|
1429
1093
|
width: 40px;
|
|
1430
1094
|
flex-shrink: 0;
|
|
@@ -2657,6 +2321,154 @@ button.doc-entry-name:hover { text-decoration: underline; }
|
|
|
2657
2321
|
.diff-sign { width: 16px; text-align: center; color: var(--faint); user-select: none; }
|
|
2658
2322
|
.diff-code { flex: 1; white-space: pre-wrap; word-break: break-all; }
|
|
2659
2323
|
|
|
2324
|
+
/* A phone or tablet gets one readable workspace. The file tree and inspector
|
|
2325
|
+
are reachable from the stage instead of squeezing the canvas between them. */
|
|
2326
|
+
@media (max-width: 900px) {
|
|
2327
|
+
.topbar {
|
|
2328
|
+
height: 100px;
|
|
2329
|
+
display: grid;
|
|
2330
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, auto);
|
|
2331
|
+
grid-template-rows: 48px 50px;
|
|
2332
|
+
gap: 0 8px;
|
|
2333
|
+
padding: 0 12px;
|
|
2334
|
+
overflow: visible;
|
|
2335
|
+
}
|
|
2336
|
+
.brand { min-width: 0; }
|
|
2337
|
+
.brand-note, .repo-chip, .me-links, .search-key-hint { display: none !important; }
|
|
2338
|
+
.topbar-right {
|
|
2339
|
+
grid-column: 2;
|
|
2340
|
+
grid-row: 1;
|
|
2341
|
+
min-width: 0;
|
|
2342
|
+
max-width: min(64vw, 500px);
|
|
2343
|
+
overflow-x: auto;
|
|
2344
|
+
scrollbar-width: thin;
|
|
2345
|
+
margin-left: 0;
|
|
2346
|
+
padding: 3px 0;
|
|
2347
|
+
}
|
|
2348
|
+
.topbar-right > * { flex: none; }
|
|
2349
|
+
.topbar-right .btn { min-height: 40px; }
|
|
2350
|
+
.views {
|
|
2351
|
+
grid-column: 1 / -1;
|
|
2352
|
+
grid-row: 2;
|
|
2353
|
+
min-width: 0;
|
|
2354
|
+
overflow-x: auto;
|
|
2355
|
+
overscroll-behavior-inline: contain;
|
|
2356
|
+
scrollbar-width: thin;
|
|
2357
|
+
align-items: center;
|
|
2358
|
+
}
|
|
2359
|
+
.view-tab { min-height: 40px; padding: 8px 12px; }
|
|
2360
|
+
|
|
2361
|
+
.topbar:has(.views[hidden]) { height: 48px; grid-template-rows: 48px; }
|
|
2362
|
+
.topbar:has(.views[hidden]) + .landing { min-height: calc(100dvh - 48px); }
|
|
2363
|
+
|
|
2364
|
+
.landing { min-height: calc(100dvh - 100px); }
|
|
2365
|
+
.landing-inner { margin-top: clamp(24px, 5vh, 56px); }
|
|
2366
|
+
.landing-sub { margin-bottom: 24px; }
|
|
2367
|
+
|
|
2368
|
+
.explorer {
|
|
2369
|
+
position: relative;
|
|
2370
|
+
display: block;
|
|
2371
|
+
width: 100%;
|
|
2372
|
+
max-width: 100%;
|
|
2373
|
+
min-width: 0;
|
|
2374
|
+
height: calc(100dvh - 100px);
|
|
2375
|
+
overflow: hidden;
|
|
2376
|
+
}
|
|
2377
|
+
.stage { height: 100%; }
|
|
2378
|
+
.stage-head {
|
|
2379
|
+
display: grid;
|
|
2380
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
2381
|
+
gap: 6px 10px;
|
|
2382
|
+
padding: 6px 10px;
|
|
2383
|
+
}
|
|
2384
|
+
.mobile-panel-buttons { display: flex; gap: 6px; }
|
|
2385
|
+
.mobile-panel-buttons .btn { min-height: 40px; padding: 7px 10px; }
|
|
2386
|
+
.mobile-panel-buttons [aria-expanded="true"] { background: var(--accent-soft); border-color: var(--accent); }
|
|
2387
|
+
.stage-actions {
|
|
2388
|
+
grid-column: 1 / -1;
|
|
2389
|
+
width: 100%;
|
|
2390
|
+
min-width: 0;
|
|
2391
|
+
margin-left: 0;
|
|
2392
|
+
overflow-x: auto;
|
|
2393
|
+
scrollbar-width: thin;
|
|
2394
|
+
}
|
|
2395
|
+
.stage-actions > * { flex: none; }
|
|
2396
|
+
.stage-actions .btn { min-height: 38px; }
|
|
2397
|
+
.stage-filters { flex-wrap: wrap; gap: 6px; padding: 5px 10px; }
|
|
2398
|
+
.mode-switch {
|
|
2399
|
+
flex: 1 0 100%;
|
|
2400
|
+
min-width: 0;
|
|
2401
|
+
overflow-x: auto;
|
|
2402
|
+
scrollbar-width: thin;
|
|
2403
|
+
}
|
|
2404
|
+
.mode-chip { flex: none; min-height: 38px; padding: 7px 10px; }
|
|
2405
|
+
.node-filter { flex: 1; min-width: 100px; padding: 7px 10px; }
|
|
2406
|
+
.stage-foot { max-height: 54px; overflow-y: auto; padding: 5px 10px; }
|
|
2407
|
+
.stage-foot .langs, .stage-foot .ai-cap { max-width: 48vw; }
|
|
2408
|
+
|
|
2409
|
+
.sidebar, .inspector {
|
|
2410
|
+
display: none;
|
|
2411
|
+
position: absolute;
|
|
2412
|
+
z-index: 22;
|
|
2413
|
+
top: 0;
|
|
2414
|
+
bottom: 0;
|
|
2415
|
+
width: min(330px, calc(100% - 52px));
|
|
2416
|
+
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22);
|
|
2417
|
+
}
|
|
2418
|
+
.sidebar { left: 0; }
|
|
2419
|
+
.inspector { right: 0; }
|
|
2420
|
+
.mobile-panel-top {
|
|
2421
|
+
display: flex;
|
|
2422
|
+
align-items: center;
|
|
2423
|
+
justify-content: space-between;
|
|
2424
|
+
gap: 10px;
|
|
2425
|
+
padding: 8px 10px;
|
|
2426
|
+
border-bottom: 1px solid var(--line);
|
|
2427
|
+
font-family: var(--mono);
|
|
2428
|
+
font-size: 12px;
|
|
2429
|
+
}
|
|
2430
|
+
.mobile-panel-top .btn { min-height: 38px; }
|
|
2431
|
+
.inspector > .mobile-panel-top { margin: -18px -18px 12px; }
|
|
2432
|
+
.explorer[data-mobile-panel="files"] .sidebar { display: flex; }
|
|
2433
|
+
.explorer[data-mobile-panel="details"] .inspector { display: block; }
|
|
2434
|
+
.mobile-panel-scrim:not([hidden]) {
|
|
2435
|
+
display: block;
|
|
2436
|
+
position: absolute;
|
|
2437
|
+
z-index: 21;
|
|
2438
|
+
inset: 0;
|
|
2439
|
+
width: 100%;
|
|
2440
|
+
border: 0;
|
|
2441
|
+
background: var(--scrim);
|
|
2442
|
+
cursor: pointer;
|
|
2443
|
+
}
|
|
2444
|
+
.tree-dir-head, .tree-file { min-height: 42px; align-items: center; }
|
|
2445
|
+
.graph-controls { max-width: calc(100vw - 20px); overflow-x: auto; }
|
|
2446
|
+
.diff-body { flex-direction: column; }
|
|
2447
|
+
.diff-sidebar { width: 100%; max-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
|
|
2448
|
+
.diff-content { min-height: 0; }
|
|
2449
|
+
.drawer { width: min(390px, 100vw); }
|
|
2450
|
+
.field-label { max-width: 100%; }
|
|
2451
|
+
.tourbar { flex-wrap: wrap; gap: 6px; }
|
|
2452
|
+
.tourbar-controls { margin-left: 0; }
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
@media (max-width: 600px) {
|
|
2456
|
+
.brand-mark { font-size: 19px; }
|
|
2457
|
+
.topbar-right { max-width: calc(100vw - 126px); }
|
|
2458
|
+
.landing-inner { width: calc(100% - 28px); }
|
|
2459
|
+
.load-card { padding: 16px; }
|
|
2460
|
+
.landing-foot { padding-inline: 16px; text-align: center; }
|
|
2461
|
+
.text-input, .tree-filter, .node-filter, .depth-select { font-size: 16px; }
|
|
2462
|
+
.docview { min-width: 0; }
|
|
2463
|
+
.atlas-list { padding: 14px 14px 28px; }
|
|
2464
|
+
.atlas-grid { grid-template-columns: minmax(0, 1fr); }
|
|
2465
|
+
.insights-layout, .workflows-layout { padding: 16px 12px 36px; }
|
|
2466
|
+
.insights-section, .workflow-card { padding: 15px; }
|
|
2467
|
+
.diff-content { padding: 10px; }
|
|
2468
|
+
.split-diff-table { min-width: 600px; }
|
|
2469
|
+
.diff-file-card { overflow-x: auto; }
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2660
2472
|
.split-diff-table { display: flex; flex-direction: column; }
|
|
2661
2473
|
.split-diff-row { display: flex; font-family: var(--mono); font-size: 12px; line-height: 1.5; }
|
|
2662
2474
|
.split-pane { flex: 1; display: flex; min-width: 0; padding: 0 4px; border-right: 1px solid var(--line); }
|
|
@@ -2765,3 +2577,8 @@ select.text-input { appearance: auto; }
|
|
|
2765
2577
|
}
|
|
2766
2578
|
.server-fresh-key .drawer-fine { margin: 0 0 8px; color: var(--ink); }
|
|
2767
2579
|
|
|
2580
|
+
/* Accessible scan feedback follows the existing paper-and-ink controls. */
|
|
2581
|
+
.scan-status-row { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; }
|
|
2582
|
+
.scan-status-row .landing-status { margin: 12px 0; }
|
|
2583
|
+
.scan-progress { display: block; width: min(420px, 100%); height: 6px; margin: 0 auto 16px; accent-color: var(--accent); }
|
|
2584
|
+
.scan-progress[hidden] { display: none; }
|