create-yss-spec 3.5.2 → 3.5.3

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.
Files changed (438) hide show
  1. package/package.json +1 -1
  2. package/src/template/asset-runtime.js +3 -1
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  4. package/template/.agents/skills/codebase-design/SKILL.md +4 -0
  5. package/template/{.codex/skills/improve-codebase-architecture/SKILL.md → .agents/skills/codebase-design/references/architecture-audit.md} +3 -9
  6. package/template/.agents/skills/frontend-commit/SKILL.md +4 -93
  7. package/template/.agents/skills/git-commit-core/SKILL.md +18 -0
  8. package/template/.agents/skills/java-backend-commit/SKILL.md +4 -96
  9. package/template/.agents/skills/llm-wiki/SKILL.md +12 -13
  10. package/template/.agents/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  11. package/template/.agents/skills/llm-wiki/references/compile.md +21 -114
  12. package/template/.agents/skills/llm-wiki/references/ingest.md +8 -33
  13. package/template/.agents/skills/llm-wiki/references/lint.md +9 -46
  14. package/template/.agents/skills/llm-wiki/references/query.md +9 -18
  15. package/template/.agents/skills/llm-wiki/references/schema.md +56 -29
  16. package/template/.agents/skills/llm-wiki/references/transactions.md +48 -0
  17. package/template/.agents/skills/llm-wiki/references/writing.md +4 -4
  18. package/template/.agents/skills/llm-wiki/scripts/advise.mjs +46 -58
  19. package/template/.agents/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  20. package/template/.agents/skills/llm-wiki/scripts/core.mjs +262 -0
  21. package/template/.agents/skills/llm-wiki/scripts/extract.mjs +35 -18
  22. package/template/.agents/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  23. package/template/.agents/skills/llm-wiki/scripts/feedback.mjs +51 -0
  24. package/template/.agents/skills/llm-wiki/scripts/inventory.mjs +43 -171
  25. package/template/.agents/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  26. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  27. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  28. package/template/.agents/skills/llm-wiki/scripts/migrate.mjs +51 -0
  29. package/template/.agents/skills/llm-wiki/scripts/query.mjs +149 -0
  30. package/template/.agents/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  31. package/template/.agents/skills/llm-wiki/scripts/sources.mjs +166 -0
  32. package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +384 -0
  33. package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  34. package/template/.agents/skills/prototype/LOGIC.md +1 -1
  35. package/template/.agents/skills/prototype/SKILL.md +5 -19
  36. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +3 -3
  37. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  38. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  39. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  40. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +8 -8
  41. package/template/.agents/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  42. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  43. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +20 -4
  44. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  45. package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +10 -0
  46. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
  47. package/template/.agents/skills/yss-research/SKILL.md +4 -0
  48. package/template/.codex/skills/codebase-design/SKILL.md +4 -0
  49. package/template/{.pi/skills/improve-codebase-architecture/SKILL.md → .codex/skills/codebase-design/references/architecture-audit.md} +3 -9
  50. package/template/.codex/skills/frontend-commit/SKILL.md +4 -93
  51. package/template/.codex/skills/git-commit-core/SKILL.md +18 -0
  52. package/template/.codex/skills/java-backend-commit/SKILL.md +4 -96
  53. package/template/.codex/skills/llm-wiki/SKILL.md +12 -13
  54. package/template/.codex/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  55. package/template/.codex/skills/llm-wiki/references/compile.md +21 -114
  56. package/template/.codex/skills/llm-wiki/references/ingest.md +8 -33
  57. package/template/.codex/skills/llm-wiki/references/lint.md +9 -46
  58. package/template/.codex/skills/llm-wiki/references/query.md +9 -18
  59. package/template/.codex/skills/llm-wiki/references/schema.md +56 -29
  60. package/template/.codex/skills/llm-wiki/references/transactions.md +48 -0
  61. package/template/.codex/skills/llm-wiki/references/writing.md +4 -4
  62. package/template/.codex/skills/llm-wiki/scripts/advise.mjs +46 -58
  63. package/template/.codex/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  64. package/template/.codex/skills/llm-wiki/scripts/core.mjs +262 -0
  65. package/template/.codex/skills/llm-wiki/scripts/extract.mjs +35 -18
  66. package/template/.codex/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  67. package/template/.codex/skills/llm-wiki/scripts/feedback.mjs +51 -0
  68. package/template/.codex/skills/llm-wiki/scripts/inventory.mjs +43 -171
  69. package/template/.codex/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  70. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  71. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  72. package/template/.codex/skills/llm-wiki/scripts/migrate.mjs +51 -0
  73. package/template/.codex/skills/llm-wiki/scripts/query.mjs +149 -0
  74. package/template/.codex/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  75. package/template/.codex/skills/llm-wiki/scripts/sources.mjs +166 -0
  76. package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +384 -0
  77. package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  78. package/template/.codex/skills/prototype/LOGIC.md +1 -1
  79. package/template/.codex/skills/prototype/SKILL.md +5 -19
  80. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +3 -3
  81. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  82. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  83. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  84. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +8 -8
  85. package/template/.codex/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  86. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  87. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +20 -4
  88. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  89. package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +10 -0
  90. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
  91. package/template/.codex/skills/yss-research/SKILL.md +4 -0
  92. package/template/.cursor/skills/codebase-design/SKILL.md +4 -0
  93. package/template/.cursor/skills/{improve-codebase-architecture/SKILL.md → codebase-design/references/architecture-audit.md} +3 -9
  94. package/template/.cursor/skills/frontend-commit/SKILL.md +4 -93
  95. package/template/.cursor/skills/git-commit-core/SKILL.md +18 -0
  96. package/template/.cursor/skills/java-backend-commit/SKILL.md +4 -96
  97. package/template/.cursor/skills/llm-wiki/SKILL.md +12 -13
  98. package/template/.cursor/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  99. package/template/.cursor/skills/llm-wiki/references/compile.md +21 -114
  100. package/template/.cursor/skills/llm-wiki/references/ingest.md +8 -33
  101. package/template/.cursor/skills/llm-wiki/references/lint.md +9 -46
  102. package/template/.cursor/skills/llm-wiki/references/query.md +9 -18
  103. package/template/.cursor/skills/llm-wiki/references/schema.md +56 -29
  104. package/template/.cursor/skills/llm-wiki/references/transactions.md +48 -0
  105. package/template/.cursor/skills/llm-wiki/references/writing.md +4 -4
  106. package/template/.cursor/skills/llm-wiki/scripts/advise.mjs +46 -58
  107. package/template/.cursor/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  108. package/template/.cursor/skills/llm-wiki/scripts/core.mjs +262 -0
  109. package/template/.cursor/skills/llm-wiki/scripts/extract.mjs +35 -18
  110. package/template/.cursor/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  111. package/template/.cursor/skills/llm-wiki/scripts/feedback.mjs +51 -0
  112. package/template/.cursor/skills/llm-wiki/scripts/inventory.mjs +43 -171
  113. package/template/.cursor/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  114. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  115. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  116. package/template/.cursor/skills/llm-wiki/scripts/migrate.mjs +51 -0
  117. package/template/.cursor/skills/llm-wiki/scripts/query.mjs +149 -0
  118. package/template/.cursor/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  119. package/template/.cursor/skills/llm-wiki/scripts/sources.mjs +166 -0
  120. package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +384 -0
  121. package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  122. package/template/.cursor/skills/prototype/LOGIC.md +1 -1
  123. package/template/.cursor/skills/prototype/SKILL.md +5 -19
  124. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +3 -3
  125. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  126. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  127. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  128. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +8 -8
  129. package/template/.cursor/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  130. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  131. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +20 -4
  132. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  133. package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +10 -0
  134. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
  135. package/template/.cursor/skills/yss-research/SKILL.md +4 -0
  136. package/template/.pi/skills/codebase-design/SKILL.md +4 -0
  137. package/template/{.agents/skills/improve-codebase-architecture/SKILL.md → .pi/skills/codebase-design/references/architecture-audit.md} +3 -9
  138. package/template/.pi/skills/frontend-commit/SKILL.md +4 -93
  139. package/template/.pi/skills/git-commit-core/SKILL.md +18 -0
  140. package/template/.pi/skills/java-backend-commit/SKILL.md +4 -96
  141. package/template/.pi/skills/llm-wiki/SKILL.md +12 -13
  142. package/template/.pi/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  143. package/template/.pi/skills/llm-wiki/references/compile.md +21 -114
  144. package/template/.pi/skills/llm-wiki/references/ingest.md +8 -33
  145. package/template/.pi/skills/llm-wiki/references/lint.md +9 -46
  146. package/template/.pi/skills/llm-wiki/references/query.md +9 -18
  147. package/template/.pi/skills/llm-wiki/references/schema.md +56 -29
  148. package/template/.pi/skills/llm-wiki/references/transactions.md +48 -0
  149. package/template/.pi/skills/llm-wiki/references/writing.md +4 -4
  150. package/template/.pi/skills/llm-wiki/scripts/advise.mjs +46 -58
  151. package/template/.pi/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  152. package/template/.pi/skills/llm-wiki/scripts/core.mjs +262 -0
  153. package/template/.pi/skills/llm-wiki/scripts/extract.mjs +35 -18
  154. package/template/.pi/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  155. package/template/.pi/skills/llm-wiki/scripts/feedback.mjs +51 -0
  156. package/template/.pi/skills/llm-wiki/scripts/inventory.mjs +43 -171
  157. package/template/.pi/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  158. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  159. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  160. package/template/.pi/skills/llm-wiki/scripts/migrate.mjs +51 -0
  161. package/template/.pi/skills/llm-wiki/scripts/query.mjs +149 -0
  162. package/template/.pi/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  163. package/template/.pi/skills/llm-wiki/scripts/sources.mjs +166 -0
  164. package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +384 -0
  165. package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  166. package/template/.pi/skills/prototype/LOGIC.md +1 -1
  167. package/template/.pi/skills/prototype/SKILL.md +5 -19
  168. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +3 -3
  169. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  170. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  171. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  172. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +8 -8
  173. package/template/.pi/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  174. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  175. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +20 -4
  176. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  177. package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +10 -0
  178. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
  179. package/template/.pi/skills/yss-research/SKILL.md +4 -0
  180. package/template/.template-spec/agents/README.md +1 -1
  181. package/template/.template-spec/agents/digital-human-roles.yaml +1 -1
  182. package/template/.template-spec/agents/skill-migrations.md +15 -0
  183. package/template/.template-spec/agents/yss-skill-registry.yaml +10 -29
  184. package/template/.template-spec/architecture/README.md +3 -34
  185. package/template/.template-spec/plan/templates/competitive-analysis-template.md +2 -2
  186. package/template/.template-spec/process/contract-reading.md +24 -0
  187. package/template/.template-spec/process/lifecycle-registry-baseline.json +3 -1
  188. package/template/.template-spec/process/lifecycle-registry.yaml +6 -0
  189. package/template/.template-spec/process/research-completion.md +23 -0
  190. package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +202 -12
  191. package/template/.template-spec/process/schemas/frontend-implementation-evidence.schema.json +7 -15
  192. package/template/.template-spec/process/subagent-collaboration.md +8 -0
  193. package/template/.template-spec/process/templates/frontend-implementation-verification-template.yaml +15 -1
  194. package/template/AGENTS.md +1 -1
  195. package/template/CONTEXT.md +5 -1
  196. package/template/README.md +12 -24
  197. package/template/scripts/contract +5 -5
  198. package/template/scripts/lib/contract-views.mjs +57 -2
  199. package/template/scripts/lib/execution-evidence.mjs +51 -0
  200. package/template/scripts/lib/harness-execution-scope.mjs +1 -1
  201. package/template/scripts/lib/implementation-contract-compiler.mjs +2 -0
  202. package/template/scripts/lib/lifecycle-context-query.mjs +15 -3
  203. package/template/scripts/lib/lifecycle-status.mjs +32 -6
  204. package/template/scripts/lib/lifecycle-transition.mjs +19 -1
  205. package/template/scripts/lib/maintenance-research.mjs +63 -0
  206. package/template/scripts/lib/read-only-intake.mjs +132 -0
  207. package/template/scripts/lib/skill-registry.mjs +2 -1
  208. package/template/scripts/lib/skill-supply-chain.mjs +4 -0
  209. package/template/scripts/lib/slice-task-package.mjs +1 -1
  210. package/template/scripts/lib/task-package.mjs +9 -2
  211. package/template/scripts/lifecycle-status +2 -2
  212. package/template/scripts/prepare-read-only-intake +16 -0
  213. package/template/scripts/run-read-only-intake +14 -0
  214. package/template/scripts/verify-digital-human-task-package +2 -2
  215. package/template/scripts/verify-frontend-implementation-evidence +24 -1
  216. package/template/scripts/verify-maintenance-research +13 -0
  217. package/template/skills-lock.json +19 -76
  218. package/template.manifest.json +118 -29
  219. package/template.snapshot.json +5 -6
  220. package/template/.agents/skills/grill-with-docs/SKILL.md +0 -20
  221. package/template/.agents/skills/grill-with-docs/agents/openai.yaml +0 -5
  222. package/template/.agents/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  223. package/template/.agents/skills/prototype/UI.md +0 -112
  224. package/template/.agents/skills/setup-matt-pocock-skills/domain.md +0 -37
  225. package/template/.agents/skills/to-questionnaire/SKILL.md +0 -55
  226. package/template/.agents/skills/to-questionnaire/agents/openai.yaml +0 -5
  227. package/template/.agents/skills/wait-what/SKILL.md +0 -7
  228. package/template/.agents/skills/wait-what/agents/openai.yaml +0 -5
  229. package/template/.codex/skills/data-analytics/.app.json +0 -84
  230. package/template/.codex/skills/data-analytics/.codex-plugin/plugin.json +0 -66
  231. package/template/.codex/skills/data-analytics/.mcp.json +0 -30
  232. package/template/.codex/skills/data-analytics/AGENTS.md +0 -20
  233. package/template/.codex/skills/data-analytics/DEPENDENCIES.MD +0 -27
  234. package/template/.codex/skills/data-analytics/README.md +0 -60
  235. package/template/.codex/skills/data-analytics/__yss_dotfile__.gitignore +0 -2
  236. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html +0 -16
  237. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part001 +0 -1
  238. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part002 +0 -1
  239. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part003 +0 -1
  240. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part004 +0 -1
  241. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part005 +0 -1
  242. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part006 +0 -1
  243. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html +0 -16
  244. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part001 +0 -1
  245. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part002 +0 -1
  246. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part003 +0 -1
  247. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part004 +0 -1
  248. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part005 +0 -1
  249. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part006 +0 -1
  250. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part007 +0 -1
  251. package/template/.codex/skills/data-analytics/assets/datascience-small.svg +0 -5
  252. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html +0 -16
  253. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part001 +0 -1
  254. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part002 +0 -1
  255. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part003 +0 -1
  256. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part004 +0 -1
  257. package/template/.codex/skills/data-analytics/assets/datascience.png +0 -0
  258. package/template/.codex/skills/data-analytics/assets/datascience.svg +0 -10
  259. package/template/.codex/skills/data-analytics/mcp/server.cjs +0 -2964
  260. package/template/.codex/skills/data-analytics/package-lock.json +0 -3048
  261. package/template/.codex/skills/data-analytics/package.json +0 -43
  262. package/template/.codex/skills/data-analytics/scripts/normalize-widget-assets.mjs +0 -75
  263. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +0 -137
  264. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/agents/openai.yaml +0 -6
  265. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/references/quality-checks.md +0 -29
  266. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +0 -148
  267. package/template/.codex/skills/data-analytics/skills/build-dashboard/agents/openai.yaml +0 -6
  268. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/bi-platform-dashboard.md +0 -18
  269. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/html-dashboard.md +0 -24
  270. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/mcp-artifact-dashboard.md +0 -71
  271. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/streamlit-dashboard.md +0 -85
  272. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +0 -207
  273. package/template/.codex/skills/data-analytics/skills/build-report/agents/openai.yaml +0 -6
  274. package/template/.codex/skills/data-analytics/skills/build-report/assets/executive-report-shell.html +0 -70
  275. package/template/.codex/skills/data-analytics/skills/build-report/assets/technical-report-shell.html +0 -66
  276. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +0 -108
  277. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/agents/openai.yaml +0 -6
  278. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/__init__.py +0 -1
  279. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +0 -52
  280. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/constants.py +0 -61
  281. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/docx_writer.py +0 -362
  282. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/html_parser.py +0 -829
  283. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/model.py +0 -30
  284. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +0 -127
  285. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/quality.py +0 -374
  286. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/rendering.py +0 -613
  287. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/table_utils.py +0 -54
  288. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/utils.py +0 -16
  289. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc_plan.py +0 -9
  290. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/tests/test_delivery_plan.py +0 -45
  291. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +0 -77
  292. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/agents/openai.yaml +0 -6
  293. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/scripts/report_to_google_slides.py +0 -2379
  294. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +0 -88
  295. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/agents/openai.yaml +0 -6
  296. package/template/.codex/skills/data-analytics/skills/build-report/specifications/executive-report.md +0 -97
  297. package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +0 -59
  298. package/template/.codex/skills/data-analytics/skills/build-report/specifications/technical-report.md +0 -75
  299. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +0 -103
  300. package/template/.codex/skills/data-analytics/skills/design-kpis/agents/openai.yaml +0 -6
  301. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +0 -68
  302. package/template/.codex/skills/data-analytics/skills/gather-business-context/agents/openai.yaml +0 -6
  303. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +0 -251
  304. package/template/.codex/skills/data-analytics/skills/index/agents/openai.yaml +0 -6
  305. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +0 -131
  306. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/agents/openai.yaml +0 -6
  307. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +0 -141
  308. package/template/.codex/skills/data-analytics/skills/kpi-reporting/agents/openai.yaml +0 -6
  309. package/template/.codex/skills/data-analytics/skills/kpi-reporting/references/report-templates.md +0 -32
  310. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +0 -106
  311. package/template/.codex/skills/data-analytics/skills/market-sizing/agents/openai.yaml +0 -6
  312. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +0 -130
  313. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/agents/openai.yaml +0 -6
  314. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +0 -141
  315. package/template/.codex/skills/data-analytics/skills/product-business-analysis/agents/openai.yaml +0 -6
  316. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +0 -178
  317. package/template/.codex/skills/data-analytics/skills/spreadsheets/agents/openai.yaml +0 -9
  318. package/template/.codex/skills/data-analytics/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
  319. package/template/.codex/skills/data-analytics/skills/spreadsheets/charts.md +0 -31
  320. package/template/.codex/skills/data-analytics/skills/spreadsheets/references/artifact_tool_api.md +0 -466
  321. package/template/.codex/skills/data-analytics/skills/spreadsheets/style_guidelines.md +0 -99
  322. package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +0 -197
  323. package/template/.codex/skills/data-analytics/skills/user-context/agents/openai.yaml +0 -6
  324. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +0 -26
  325. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/source-category-config.json +0 -51
  326. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/user-context-config.md +0 -66
  327. package/template/.codex/skills/data-analytics/skills/user-context/references/automation.md +0 -69
  328. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +0 -204
  329. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-state-template.json +0 -87
  330. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +0 -497
  331. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/connector-playbook.md +0 -74
  332. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/setup.md +0 -65
  333. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/skill-template.md +0 -160
  334. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/source-intake.md +0 -75
  335. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/weekly-polling-automation.md +0 -96
  336. package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +0 -263
  337. package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +0 -1462
  338. package/template/.codex/skills/data-analytics/skills/user-context/scripts/init_user_context_state.py +0 -128
  339. package/template/.codex/skills/data-analytics/skills/user-context/scripts/reset_user_context_state.py +0 -101
  340. package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +0 -499
  341. package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +0 -978
  342. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +0 -126
  343. package/template/.codex/skills/data-analytics/skills/validate-data/agents/openai.yaml +0 -6
  344. package/template/.codex/skills/data-analytics/skills/validate-data/references/validation-methods.md +0 -70
  345. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +0 -157
  346. package/template/.codex/skills/data-analytics/skills/visualize-data/agents/openai.yaml +0 -6
  347. package/template/.codex/skills/data-analytics/skills/visualize-data/references/seaborn-templates.md +0 -774
  348. package/template/.codex/skills/data-analytics/src/DESIGN.md +0 -222
  349. package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +0 -3666
  350. package/template/.codex/skills/data-analytics/src/analytics-app/analytics-layout.test.mjs +0 -136
  351. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartFrame.tsx +0 -54
  352. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartLegend.tsx +0 -96
  353. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartRenderer.tsx +0 -1647
  354. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartTooltip.tsx +0 -245
  355. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-app-helpers.tsx +0 -462
  356. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-capabilities.ts +0 -107
  357. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-compatibility.ts +0 -164
  358. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-contract.ts +0 -192
  359. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-theme.ts +0 -203
  360. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-tokens.css +0 -619
  361. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-transforms.ts +0 -402
  362. package/template/.codex/skills/data-analytics/src/analytics-app/fonts/SystemSansVariableVF.woff2 +0 -0
  363. package/template/.codex/skills/data-analytics/src/analytics-app/imageExport.ts +0 -370
  364. package/template/.codex/skills/data-analytics/src/analytics-app/layout/AnalyticsLayoutCanvas.tsx +0 -536
  365. package/template/.codex/skills/data-analytics/src/analytics-app/layout/RichMarkdown.tsx +0 -681
  366. package/template/.codex/skills/data-analytics/src/analytics-app/layout/analyticsLayoutCore.ts +0 -164
  367. package/template/.codex/skills/data-analytics/src/analytics-app/main.tsx +0 -21
  368. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/chart_contract.py +0 -472
  369. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/check_analytics_app_runtime_links.py +0 -75
  370. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/design_contract.py +0 -142
  371. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/package_utils.py +0 -142
  372. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/tests/test_package_utils.py +0 -377
  373. package/template/.codex/skills/data-analytics/src/analytics-app/styles.css +0 -3468
  374. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.d.ts +0 -44
  375. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.jsx +0 -639
  376. package/template/.codex/skills/data-analytics/src/analytics-app/tables/data-table.css +0 -327
  377. package/template/.codex/skills/data-analytics/src/analytics-app/tokens.css +0 -225
  378. package/template/.codex/skills/data-analytics/src/analytics-app/types.ts +0 -204
  379. package/template/.codex/skills/data-analytics/src/analytics-app-core.md +0 -85
  380. package/template/.codex/skills/data-analytics/src/codex-style-contract.md +0 -30
  381. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.html +0 -12
  382. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.jsx +0 -1008
  383. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.css +0 -2117
  384. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.html +0 -122
  385. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.js +0 -3588
  386. package/template/.codex/skills/data-analytics/src/datascience-table-widget.css +0 -483
  387. package/template/.codex/skills/data-analytics/src/datascience-table-widget.html +0 -32
  388. package/template/.codex/skills/data-analytics/src/datascience-table-widget.js +0 -333
  389. package/template/.codex/skills/data-analytics/src/mcp-host.js +0 -153
  390. package/template/.codex/skills/data-analytics/src/recharts-config.js +0 -315
  391. package/template/.codex/skills/data-analytics/src/recharts-renderer.jsx +0 -294
  392. package/template/.codex/skills/data-analytics/src/sql-source-view.css +0 -33
  393. package/template/.codex/skills/data-analytics/src/sql-source-view.js +0 -157
  394. package/template/.codex/skills/data-analytics/src/styles/codex-theme.css +0 -121
  395. package/template/.codex/skills/data-analytics/src/table-renderer.jsx +0 -28
  396. package/template/.codex/skills/data-analytics/tests/chart-transforms.test.mjs +0 -87
  397. package/template/.codex/skills/data-analytics/tests/funnel-smoke.html +0 -105
  398. package/template/.codex/skills/data-analytics/tests/inline-widget-compare.html +0 -233
  399. package/template/.codex/skills/data-analytics/tests/mcp-server.test.mjs +0 -1500
  400. package/template/.codex/skills/data-analytics/tests/native-style-contract.test.mjs +0 -219
  401. package/template/.codex/skills/data-analytics/tests/recharts-config.test.mjs +0 -144
  402. package/template/.codex/skills/data-analytics/tests/recharts-renderer.test.mjs +0 -11
  403. package/template/.codex/skills/data-analytics/tests/rich-markdown.test.mjs +0 -54
  404. package/template/.codex/skills/data-analytics/tests/widget-render-harness.html +0 -321
  405. package/template/.codex/skills/data-analytics/tsconfig.json +0 -19
  406. package/template/.codex/skills/data-analytics/vite.config.ts +0 -46
  407. package/template/.codex/skills/grill-with-docs/SKILL.md +0 -20
  408. package/template/.codex/skills/grill-with-docs/agents/openai.yaml +0 -5
  409. package/template/.codex/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  410. package/template/.codex/skills/prototype/UI.md +0 -112
  411. package/template/.codex/skills/setup-matt-pocock-skills/domain.md +0 -37
  412. package/template/.codex/skills/to-questionnaire/SKILL.md +0 -55
  413. package/template/.codex/skills/to-questionnaire/agents/openai.yaml +0 -5
  414. package/template/.codex/skills/wait-what/SKILL.md +0 -7
  415. package/template/.codex/skills/wait-what/agents/openai.yaml +0 -5
  416. package/template/.cursor/skills/grill-with-docs/SKILL.md +0 -20
  417. package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +0 -5
  418. package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  419. package/template/.cursor/skills/prototype/UI.md +0 -112
  420. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +0 -37
  421. package/template/.cursor/skills/to-questionnaire/SKILL.md +0 -55
  422. package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +0 -5
  423. package/template/.cursor/skills/wait-what/SKILL.md +0 -7
  424. package/template/.cursor/skills/wait-what/agents/openai.yaml +0 -5
  425. package/template/.pi/skills/grill-with-docs/SKILL.md +0 -20
  426. package/template/.pi/skills/grill-with-docs/agents/openai.yaml +0 -5
  427. package/template/.pi/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  428. package/template/.pi/skills/prototype/UI.md +0 -112
  429. package/template/.pi/skills/setup-matt-pocock-skills/domain.md +0 -37
  430. package/template/.pi/skills/to-questionnaire/SKILL.md +0 -55
  431. package/template/.pi/skills/to-questionnaire/agents/openai.yaml +0 -5
  432. package/template/.pi/skills/wait-what/SKILL.md +0 -7
  433. package/template/.pi/skills/wait-what/agents/openai.yaml +0 -5
  434. package/template/.template-spec/agents/domain.md +0 -31
  435. /package/template/.agents/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  436. /package/template/.codex/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  437. /package/template/.cursor/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  438. /package/template/.pi/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
@@ -1,2117 +0,0 @@
1
- * {
2
- box-sizing: border-box;
3
- }
4
-
5
- [hidden] {
6
- display: none !important;
7
- }
8
-
9
- :root {
10
- --ds-chip-border: var(--border-neutral-outline-default, rgba(13, 13, 13, 0.12));
11
- --ds-chip-text: var(--text-neutral-outline-default, var(--ds-text-secondary));
12
- --ds-chip-hover-bg: var(--color-background-primary-ghost-hover, rgba(13, 13, 13, 0.04));
13
- --ds-chip-hover-text: var(--ds-text-primary);
14
- --ds-segmented-bg: var(--surface-tertiary, var(--ds-surface-tertiary));
15
- --ds-segmented-active-bg: var(--color-surface-default, var(--ds-surface));
16
- --ds-segmented-active-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.08);
17
- --ds-code-container-bg: rgba(232, 232, 232, 0.2);
18
- }
19
-
20
- @media (prefers-color-scheme: dark) {
21
- :root:not([data-theme="light"]) {
22
- --ds-chip-border: var(--ds-border-strong);
23
- --ds-chip-text: var(--ds-text-secondary);
24
- --ds-chip-hover-bg: var(--ds-menu-hover-bg);
25
- --ds-chip-hover-text: var(--ds-text-primary);
26
- --ds-segmented-bg: var(--ds-surface-tertiary);
27
- --ds-segmented-active-bg: var(--ds-surface);
28
- --ds-segmented-active-shadow: none;
29
- --ds-code-container-bg: color-mix(in srgb, var(--ds-surface) 76%, white 8%);
30
- }
31
- }
32
-
33
- :root[data-theme="dark"] {
34
- --ds-chip-border: var(--ds-border-strong);
35
- --ds-chip-text: var(--ds-text-secondary);
36
- --ds-chip-hover-bg: var(--ds-menu-hover-bg);
37
- --ds-chip-hover-text: var(--ds-text-primary);
38
- --ds-segmented-bg: var(--ds-surface-tertiary);
39
- --ds-segmented-active-bg: var(--ds-surface);
40
- --ds-segmented-active-shadow: none;
41
- --ds-code-container-bg: color-mix(in srgb, var(--ds-surface) 76%, white 8%);
42
- }
43
-
44
- html {
45
- min-height: 0;
46
- overflow: clip;
47
- -webkit-font-smoothing: antialiased;
48
- -moz-osx-font-smoothing: grayscale;
49
- text-rendering: optimizeLegibility;
50
- }
51
-
52
- html:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) {
53
- min-height: 100%;
54
- overflow: auto;
55
- background: var(--ds-bg);
56
- }
57
-
58
- body {
59
- margin: 0;
60
- min-height: 0;
61
- overflow: clip;
62
- background: transparent;
63
- color: var(--ds-text);
64
- font-synthesis: none;
65
- font: 14px/1.45 var(--ds-font);
66
- letter-spacing: 0;
67
- -webkit-font-smoothing: antialiased;
68
- -moz-osx-font-smoothing: grayscale;
69
- text-rendering: optimizeLegibility;
70
- }
71
-
72
- body:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) {
73
- height: auto;
74
- min-height: 100vh;
75
- overflow: auto;
76
- background: var(--ds-bg);
77
- }
78
-
79
- html[data-display-mode="modal"],
80
- body[data-display-mode="modal"] {
81
- height: 100%;
82
- min-height: 100%;
83
- overflow: hidden;
84
- }
85
-
86
- .widget {
87
- overflow: clip;
88
- border: 0;
89
- border-radius: 0;
90
- background: transparent;
91
- box-shadow: none;
92
- }
93
-
94
- .widget:not([data-display-mode="fullscreen"]):not([data-display-mode="modal"]) {
95
- padding: 16px;
96
- }
97
-
98
- header {
99
- padding: 0 0 16px;
100
- border-bottom: 0;
101
- background: transparent;
102
- box-shadow: none;
103
- }
104
-
105
- .detail-topbar,
106
- .detail-title-section {
107
- display: none;
108
- }
109
-
110
- .title-row {
111
- display: flex;
112
- align-items: center;
113
- justify-content: space-between;
114
- gap: 16px;
115
- }
116
-
117
- h1 {
118
- min-width: 0;
119
- overflow: hidden;
120
- margin: 0;
121
- color: var(--ds-text-primary);
122
- font-size: 16px;
123
- font-weight: 500;
124
- line-height: 24px;
125
- letter-spacing: -0.01px;
126
- text-overflow: ellipsis;
127
- white-space: nowrap;
128
- }
129
-
130
- .subtitle,
131
- .source-note {
132
- margin: 4px 0 0;
133
- color: var(--ds-text-muted);
134
- font-size: 14px;
135
- font-weight: 400;
136
- line-height: 22px;
137
- letter-spacing: -0.14px;
138
- max-width: 980px;
139
- }
140
-
141
- select:focus-visible,
142
- button:focus-visible {
143
- outline: 2px solid var(--ds-blue-bright);
144
- outline-offset: 2px;
145
- }
146
-
147
- button,
148
- input,
149
- select {
150
- font-synthesis: none;
151
- -webkit-font-smoothing: antialiased;
152
- -moz-osx-font-smoothing: grayscale;
153
- text-rendering: optimizeLegibility;
154
- }
155
-
156
- .top-bar-button,
157
- .display-mode-button {
158
- display: inline-flex;
159
- flex: 0 0 auto;
160
- align-items: center;
161
- justify-content: center;
162
- gap: 6px;
163
- min-height: 32px;
164
- border: 1px solid var(--ds-border-subtle);
165
- border-radius: var(--ds-radius-pill);
166
- padding: 0 12px;
167
- background: transparent;
168
- color: var(--ds-text);
169
- cursor: pointer;
170
- font: inherit;
171
- font-size: 14px;
172
- font-weight: 500;
173
- line-height: 22px;
174
- letter-spacing: -0.14px;
175
- }
176
-
177
- .display-mode-button svg {
178
- display: block;
179
- width: 14px;
180
- height: 14px;
181
- fill: currentColor;
182
- stroke: currentColor;
183
- }
184
-
185
- .display-mode-button-label {
186
- white-space: nowrap;
187
- }
188
-
189
- .top-bar-button:hover,
190
- .top-bar-button[aria-expanded="true"],
191
- .display-mode-button:hover {
192
- background: var(--ds-menu-hover-bg);
193
- color: var(--ds-text);
194
- }
195
-
196
- .detail-action-button {
197
- display: inline-flex;
198
- flex: 0 0 auto;
199
- align-items: center;
200
- justify-content: center;
201
- gap: 6px;
202
- min-height: 32px;
203
- border: 1px solid var(--ds-border-subtle);
204
- border-radius: var(--ds-radius-pill);
205
- padding: 0 12px;
206
- background: transparent;
207
- color: var(--ds-text);
208
- cursor: pointer;
209
- font: inherit;
210
- font-size: 14px;
211
- font-weight: 500;
212
- line-height: 22px;
213
- letter-spacing: -0.14px;
214
- white-space: nowrap;
215
- }
216
-
217
- .detail-action-button:hover {
218
- background: var(--ds-menu-hover-bg);
219
- color: var(--ds-text);
220
- }
221
-
222
- .detail-action-button svg {
223
- display: block;
224
- width: 16px;
225
- height: 16px;
226
- stroke: currentColor;
227
- stroke-width: 2;
228
- stroke-linecap: round;
229
- stroke-linejoin: round;
230
- }
231
-
232
- .display-mode-button[disabled] {
233
- cursor: default;
234
- opacity: 0.45;
235
- }
236
-
237
- .controls {
238
- display: flex;
239
- flex-wrap: wrap;
240
- align-content: flex-start;
241
- align-items: center;
242
- gap: 6px 10px;
243
- padding: 0;
244
- background: transparent;
245
- }
246
-
247
- .controls[hidden],
248
- .controls:empty {
249
- display: none !important;
250
- border-bottom: 0;
251
- padding: 0;
252
- }
253
-
254
- .control-group {
255
- display: inline-flex;
256
- flex: 0 0 auto;
257
- align-items: center;
258
- gap: 6px;
259
- }
260
-
261
- .control-label {
262
- color: var(--ds-text-muted);
263
- font-size: 14px;
264
- font-weight: 500;
265
- }
266
-
267
- select,
268
- .toggle-button {
269
- min-height: 32px;
270
- border: 1px solid var(--ds-border-strong);
271
- border-radius: var(--ds-radius-pill);
272
- background: transparent;
273
- color: var(--ds-text);
274
- font: inherit;
275
- font-size: 14px;
276
- font-weight: 500;
277
- }
278
-
279
- select {
280
- max-width: min(280px, 62vw);
281
- padding: 0 26px 0 8px;
282
- }
283
-
284
- .segmented {
285
- display: inline-flex;
286
- overflow: hidden;
287
- border: 1px solid var(--ds-border-strong);
288
- border-radius: var(--ds-radius-pill);
289
- }
290
-
291
- .segmented .toggle-button {
292
- border: 0;
293
- border-radius: 0;
294
- padding: 0 9px;
295
- }
296
-
297
- .segmented .toggle-button + .toggle-button {
298
- border-left: 1px solid var(--ds-border);
299
- }
300
-
301
- .toggle-button[aria-pressed="true"] {
302
- background: var(--ds-code-container-bg);
303
- font-weight: 500;
304
- }
305
-
306
- .app-toolbar {
307
- display: none;
308
- }
309
-
310
- .view-mode-tabs {
311
- display: inline-flex;
312
- overflow: hidden;
313
- border: 1px solid var(--ds-border-subtle);
314
- border-radius: 999px;
315
- background: transparent;
316
- }
317
-
318
- .view-mode-tab {
319
- min-width: 38px;
320
- min-height: 32px;
321
- border: 0;
322
- border-radius: 0;
323
- padding: 0 13px;
324
- background: transparent;
325
- color: var(--ds-text-secondary);
326
- cursor: pointer;
327
- font: inherit;
328
- font-size: 12px;
329
- font-weight: 650;
330
- }
331
-
332
- .view-mode-tab + .view-mode-tab {
333
- border-left: 1px solid var(--ds-border-subtle);
334
- }
335
-
336
- .view-mode-tab[aria-pressed="true"] {
337
- background: var(--ds-text-primary);
338
- color: var(--ds-bg);
339
- }
340
-
341
- .query-actions {
342
- display: inline-flex;
343
- align-items: center;
344
- gap: 8px;
345
- min-width: 0;
346
- margin-left: auto;
347
- }
348
-
349
- .clear-button,
350
- .chart-picker-button {
351
- display: inline-flex;
352
- align-items: center;
353
- gap: 6px;
354
- height: 32px;
355
- min-height: 32px;
356
- border: 1px solid var(--ds-chip-border);
357
- border-radius: var(--ds-radius-pill);
358
- padding: 0 12px;
359
- background: transparent;
360
- color: var(--ds-chip-text);
361
- cursor: pointer;
362
- font: inherit;
363
- font-size: 14px;
364
- font-weight: 500;
365
- line-height: 22px;
366
- letter-spacing: -0.14px;
367
- }
368
-
369
- .field-wells {
370
- display: contents;
371
- }
372
-
373
- .chart-settings-wells {
374
- display: contents;
375
- }
376
-
377
- .chart-setting-control {
378
- display: inline-flex;
379
- flex: 0 0 auto;
380
- align-items: center;
381
- gap: 6px;
382
- }
383
-
384
- .field-well {
385
- position: relative;
386
- display: inline-flex;
387
- flex: 0 0 auto;
388
- }
389
-
390
- .field-pill {
391
- display: inline-flex;
392
- align-items: center;
393
- gap: 8px;
394
- height: 32px;
395
- min-height: 32px;
396
- border: 1px solid var(--ds-chip-border);
397
- border-radius: var(--ds-radius-pill);
398
- padding: 0 12px;
399
- background: transparent;
400
- color: var(--ds-chip-text);
401
- cursor: pointer;
402
- font: inherit;
403
- font-size: 14px;
404
- font-weight: 500;
405
- line-height: 22px;
406
- letter-spacing: -0.14px;
407
- white-space: nowrap;
408
- }
409
-
410
- .chart-picker-button:hover,
411
- .chart-picker-button[aria-expanded="true"],
412
- .clear-button:hover,
413
- .field-pill:hover,
414
- .field-pill[aria-expanded="true"] {
415
- border-color: var(--ds-chip-border);
416
- background: var(--ds-chip-hover-bg);
417
- color: var(--ds-chip-hover-text);
418
- }
419
-
420
- .field-pill-role {
421
- color: inherit;
422
- font-size: 14px;
423
- font-weight: 500;
424
- }
425
-
426
- .field-pill-field {
427
- max-width: 140px;
428
- overflow: hidden;
429
- color: var(--ds-text);
430
- font-weight: 400;
431
- text-overflow: ellipsis;
432
- }
433
-
434
- .field-pill-modifier {
435
- color: var(--ds-text-muted);
436
- font-weight: 400;
437
- }
438
-
439
- .field-pill-caret {
440
- color: var(--ds-text-muted);
441
- }
442
-
443
- .dropdown-caret {
444
- display: inline-flex;
445
- flex: 0 0 auto;
446
- align-items: center;
447
- justify-content: center;
448
- width: 16px;
449
- height: 16px;
450
- color: var(--ds-text-muted);
451
- }
452
-
453
- .dropdown-caret svg {
454
- display: block;
455
- width: 14px;
456
- height: 14px;
457
- stroke: currentColor;
458
- }
459
-
460
- .field-menu {
461
- position: absolute;
462
- top: calc(100% + 8px);
463
- left: 0;
464
- z-index: 6;
465
- display: block;
466
- width: max-content;
467
- max-width: min(240px, calc(100vw - 24px));
468
- border: 1px solid var(--ds-menu-border);
469
- border-radius: var(--ds-dropdown-radius);
470
- background: var(--ds-menu-bg);
471
- box-shadow: var(--ds-shadow);
472
- color: var(--ds-text);
473
- font-size: 14px;
474
- overflow: visible;
475
- }
476
-
477
- .menu-surface {
478
- max-width: calc(100vw - 24px);
479
- transform-origin: top left;
480
- will-change: opacity, transform;
481
- }
482
-
483
- .menu-surface.opening {
484
- animation: dashboard-menu-in 100ms cubic-bezier(0.16, 1, 0.3, 1) both;
485
- }
486
-
487
- .menu-surface.closing {
488
- pointer-events: none;
489
- animation: dashboard-menu-out 90ms ease both;
490
- }
491
-
492
- .export-menu-list.menu-surface {
493
- transform-origin: top right;
494
- }
495
-
496
- @keyframes dashboard-menu-in {
497
- from {
498
- opacity: 0;
499
- transform: translateY(-4px) scale(0.98);
500
- }
501
-
502
- to {
503
- opacity: 1;
504
- transform: translateY(0) scale(1);
505
- }
506
- }
507
-
508
- @keyframes dashboard-menu-out {
509
- from {
510
- opacity: 1;
511
- transform: translateY(0) scale(1);
512
- }
513
-
514
- to {
515
- opacity: 0;
516
- transform: translateY(-3px) scale(0.98);
517
- }
518
- }
519
-
520
- .field-menu-panel {
521
- display: flex;
522
- flex-direction: column;
523
- width: 220px;
524
- max-width: calc(100vw - 24px);
525
- max-height: min(480px, calc(100vh - 190px));
526
- min-width: 0;
527
- min-height: 0;
528
- padding: var(--ds-dropdown-padding);
529
- overflow: auto;
530
- }
531
-
532
- .menu-search {
533
- width: 100%;
534
- min-height: var(--ds-dropdown-row-height);
535
- margin-bottom: 6px;
536
- border: 1px solid var(--ds-border);
537
- border-radius: var(--ds-dropdown-row-radius);
538
- padding: 0 10px;
539
- background: var(--ds-surface-secondary);
540
- color: var(--ds-text);
541
- font: inherit;
542
- }
543
-
544
- .menu-scroll {
545
- min-height: 0;
546
- overflow: auto;
547
- }
548
-
549
- .menu-row,
550
- .chart-option {
551
- display: flex;
552
- align-items: center;
553
- justify-content: space-between;
554
- gap: 12px;
555
- width: 100%;
556
- min-height: var(--ds-dropdown-row-height);
557
- border: 0;
558
- border-radius: var(--ds-dropdown-row-radius);
559
- padding: 0 10px;
560
- background: transparent;
561
- color: var(--ds-text-secondary);
562
- cursor: pointer;
563
- font: inherit;
564
- font-size: 14px;
565
- text-align: left;
566
- }
567
-
568
- .menu-row:hover,
569
- .menu-row.is-active,
570
- .chart-option:hover,
571
- .chart-option[aria-pressed="true"] {
572
- background: var(--ds-menu-hover-bg);
573
- color: var(--ds-text);
574
- }
575
-
576
- .menu-row.is-danger {
577
- color: var(--ds-red);
578
- }
579
-
580
- .menu-row.is-danger:hover {
581
- background: var(--ds-red-bg);
582
- }
583
-
584
- .menu-row-value {
585
- color: var(--ds-text-muted);
586
- }
587
-
588
- .menu-row-value-with-icon {
589
- display: inline-flex;
590
- align-items: center;
591
- gap: 8px;
592
- color: var(--ds-text-muted);
593
- }
594
-
595
- .menu-row-value-with-icon svg {
596
- flex: 0 0 auto;
597
- }
598
-
599
- .menu-submenu {
600
- position: relative;
601
- }
602
-
603
- .menu-submenu-panel {
604
- position: absolute;
605
- top: -6px;
606
- left: calc(100% + 8px);
607
- z-index: 8;
608
- display: none;
609
- width: 220px;
610
- max-width: calc(100vw - 24px);
611
- max-height: min(420px, calc(100vh - 160px));
612
- overflow: auto;
613
- border: 1px solid var(--ds-menu-border);
614
- border-radius: var(--ds-dropdown-radius);
615
- padding: var(--ds-dropdown-padding);
616
- background: var(--ds-menu-bg);
617
- color: var(--ds-menu-text);
618
- box-shadow: var(--ds-shadow);
619
- }
620
-
621
- .menu-submenu:hover > .menu-submenu-panel,
622
- .menu-submenu:focus-within > .menu-submenu-panel,
623
- .menu-submenu.is-open > .menu-submenu-panel {
624
- display: grid;
625
- }
626
-
627
- .menu-submenu-trigger[aria-expanded="true"],
628
- .menu-submenu:hover > .menu-submenu-trigger,
629
- .menu-submenu:focus-within > .menu-submenu-trigger {
630
- background: var(--ds-menu-hover-bg);
631
- color: var(--ds-text);
632
- }
633
-
634
- .menu-row > svg,
635
- .menu-row svg {
636
- display: block;
637
- flex: 0 0 auto;
638
- width: 14px;
639
- height: 14px;
640
- stroke: currentColor;
641
- }
642
-
643
- .menu-heading {
644
- display: flex;
645
- align-items: center;
646
- justify-content: space-between;
647
- gap: 12px;
648
- min-height: 30px;
649
- padding: 0 10px;
650
- color: var(--ds-text-muted);
651
- font-size: 12px;
652
- font-weight: 500;
653
- letter-spacing: 0.02em;
654
- text-transform: uppercase;
655
- }
656
-
657
- .menu-divider {
658
- height: 1px;
659
- margin: 6px 0;
660
- background: var(--ds-border);
661
- }
662
-
663
- .menu-field-label {
664
- display: inline-flex;
665
- align-items: center;
666
- gap: 9px;
667
- min-width: 0;
668
- }
669
-
670
- .menu-field-icon {
671
- display: inline-flex;
672
- flex: 0 0 auto;
673
- align-items: center;
674
- justify-content: center;
675
- width: 16px;
676
- height: 16px;
677
- color: var(--ds-text-muted);
678
- }
679
-
680
- .menu-field-icon svg,
681
- .field-icon svg,
682
- .chart-picker-button svg,
683
- .filter-menu-button svg,
684
- .filter-menu-item svg,
685
- .export-menu-item svg {
686
- display: block;
687
- width: 14px;
688
- height: 14px;
689
- stroke: currentColor;
690
- }
691
-
692
- @media (max-width: 640px) {
693
- .menu-submenu-panel {
694
- position: static;
695
- width: 100%;
696
- max-height: none;
697
- margin: 2px 0 6px;
698
- border-color: var(--ds-border-subtle);
699
- box-shadow: none;
700
- }
701
- }
702
-
703
- .clear-button {
704
- flex: 0 0 auto;
705
- color: var(--ds-text-secondary);
706
- }
707
-
708
- .query-status {
709
- overflow: hidden;
710
- max-width: 320px;
711
- color: var(--ds-text-muted);
712
- font-size: 12px;
713
- text-overflow: ellipsis;
714
- white-space: nowrap;
715
- }
716
-
717
- .widget:not([data-display-mode="fullscreen"]):not([data-display-mode="modal"]) .query-status {
718
- display: none;
719
- }
720
-
721
- .chart-picker {
722
- position: relative;
723
- }
724
-
725
- .chart-picker-popover {
726
- position: absolute;
727
- top: calc(100% + 8px);
728
- left: 0;
729
- z-index: 6;
730
- width: min(220px, calc(100vw - 24px));
731
- max-height: min(560px, calc(100vh - 190px));
732
- overflow: auto;
733
- border: 1px solid var(--ds-menu-border);
734
- border-radius: var(--ds-dropdown-radius);
735
- padding: var(--ds-dropdown-padding);
736
- background: var(--ds-menu-bg);
737
- box-shadow: var(--ds-shadow);
738
- }
739
-
740
- .export-menu {
741
- position: relative;
742
- display: inline-flex;
743
- }
744
-
745
- .export-menu-list {
746
- position: absolute;
747
- z-index: 40;
748
- top: calc(100% + 6px);
749
- right: 0;
750
- display: grid;
751
- min-width: 164px;
752
- max-width: calc(100vw - 24px);
753
- padding: 6px;
754
- border: 1px solid var(--ds-menu-border);
755
- border-radius: var(--ds-radius-sm);
756
- background: var(--ds-menu-bg);
757
- color: var(--ds-menu-text);
758
- box-shadow: var(--ds-shadow);
759
- }
760
-
761
- .export-menu-item {
762
- display: flex;
763
- gap: 8px;
764
- align-items: center;
765
- justify-content: flex-start;
766
- min-height: 34px;
767
- border: 0;
768
- border-radius: 6px;
769
- padding: 0 10px;
770
- background: transparent;
771
- color: var(--ds-menu-text);
772
- cursor: pointer;
773
- font: inherit;
774
- font-size: 14px;
775
- font-weight: 500;
776
- line-height: 20px;
777
- text-align: left;
778
- white-space: nowrap;
779
- }
780
-
781
- .export-menu-item:hover,
782
- .export-menu-item:focus-visible {
783
- background: var(--ds-menu-hover-bg);
784
- color: var(--ds-menu-text);
785
- }
786
-
787
- .filter-menu {
788
- position: relative;
789
- display: inline-flex;
790
- flex: 0 0 auto;
791
- width: fit-content;
792
- }
793
-
794
- .filter-menu-button {
795
- display: inline-flex;
796
- align-items: center;
797
- gap: 8px;
798
- height: 32px;
799
- min-height: 32px;
800
- border: 1px solid var(--ds-chip-border);
801
- border-radius: var(--ds-radius-pill);
802
- padding: 0 12px;
803
- background: transparent;
804
- color: var(--ds-chip-text);
805
- cursor: pointer;
806
- font: inherit;
807
- font-size: 14px;
808
- font-weight: 500;
809
- line-height: 22px;
810
- letter-spacing: -0.14px;
811
- white-space: nowrap;
812
- }
813
-
814
- .filter-menu-button:hover,
815
- .filter-menu-button[aria-expanded="true"] {
816
- border-color: var(--ds-chip-border);
817
- background: var(--ds-chip-hover-bg);
818
- color: var(--ds-chip-hover-text);
819
- }
820
-
821
- .filter-menu-label {
822
- color: inherit;
823
- }
824
-
825
- .filter-menu-value {
826
- overflow: hidden;
827
- max-width: min(320px, 42vw);
828
- color: var(--ds-text);
829
- text-overflow: ellipsis;
830
- }
831
-
832
- .filter-menu-list {
833
- position: absolute;
834
- z-index: 20;
835
- top: calc(100% + 6px);
836
- left: 0;
837
- display: grid;
838
- min-width: max(100%, 160px);
839
- max-width: min(220px, calc(100vw - 32px));
840
- padding: 6px;
841
- border: 1px solid var(--ds-menu-border);
842
- border-radius: var(--ds-radius-sm);
843
- background: var(--ds-menu-bg);
844
- color: var(--ds-menu-text);
845
- box-shadow: var(--ds-shadow);
846
- }
847
-
848
- .filter-menu-item {
849
- display: flex;
850
- gap: 12px;
851
- align-items: center;
852
- justify-content: space-between;
853
- min-height: 34px;
854
- border: 0;
855
- border-radius: 6px;
856
- padding: 0 10px;
857
- background: transparent;
858
- color: var(--ds-menu-text);
859
- cursor: pointer;
860
- font: inherit;
861
- font-size: 14px;
862
- font-weight: 500;
863
- line-height: 20px;
864
- text-align: left;
865
- white-space: nowrap;
866
- }
867
-
868
- .filter-menu-item:hover,
869
- .filter-menu-item[aria-checked="true"] {
870
- background: var(--ds-menu-hover-bg);
871
- color: var(--ds-menu-text);
872
- }
873
-
874
- .chart-picker-section + .chart-picker-section {
875
- margin-top: 6px;
876
- border-top: 1px solid var(--ds-border);
877
- padding-top: 6px;
878
- }
879
-
880
- .chart-picker-heading {
881
- margin: 6px 14px 8px;
882
- color: var(--ds-text-muted);
883
- font-size: 12px;
884
- font-weight: 500;
885
- letter-spacing: 0.04em;
886
- text-transform: uppercase;
887
- }
888
-
889
- .chart-option-grid {
890
- display: grid;
891
- grid-template-columns: minmax(0, 1fr);
892
- gap: 0;
893
- }
894
-
895
- .chart-option {
896
- min-width: 0;
897
- justify-content: flex-start;
898
- padding: 6px 10px;
899
- }
900
-
901
- .chart-option[aria-pressed="true"] {
902
- color: var(--ds-text);
903
- }
904
-
905
- .chart-option-preview {
906
- display: flex;
907
- flex: 0 0 auto;
908
- align-items: center;
909
- justify-content: center;
910
- width: 24px;
911
- height: 24px;
912
- color: var(--ds-blue-bright);
913
- }
914
-
915
- .chart-option-label {
916
- min-width: 0;
917
- flex: 1 1 auto;
918
- line-height: 20px;
919
- overflow-wrap: anywhere;
920
- white-space: normal;
921
- }
922
-
923
- .chart-option-check {
924
- flex: 0 0 auto;
925
- margin-left: auto;
926
- color: var(--ds-text-muted);
927
- visibility: hidden;
928
- }
929
-
930
- .chart-option-check svg {
931
- display: block;
932
- width: 16px;
933
- height: 16px;
934
- stroke: currentColor;
935
- }
936
-
937
- .chart-option[aria-pressed="true"] .chart-option-check {
938
- visibility: visible;
939
- }
940
-
941
- .chart-shell {
942
- position: relative;
943
- display: flex;
944
- flex-direction: column;
945
- gap: 0;
946
- padding: 0;
947
- }
948
-
949
- .chart-canvas-wrap {
950
- position: relative;
951
- flex: 1 1 auto;
952
- width: 100%;
953
- height: auto;
954
- min-height: 0;
955
- overflow: visible;
956
- overscroll-behavior: contain;
957
- touch-action: pan-y;
958
- }
959
-
960
- .chart-canvas {
961
- display: block;
962
- width: 100% !important;
963
- height: 100% !important;
964
- }
965
-
966
- .recharts-chart-wrap .recharts-cartesian-grid line {
967
- stroke: var(--ds-chart-grid);
968
- }
969
-
970
- .recharts-chart-wrap .recharts-text,
971
- .recharts-chart-wrap .recharts-label {
972
- fill: var(--ds-chart-text-muted);
973
- font-family: var(--ds-chart-font-family);
974
- font-size: 11px;
975
- }
976
-
977
- .recharts-tooltip {
978
- display: grid;
979
- gap: 5px;
980
- min-width: 140px;
981
- max-width: 280px;
982
- padding: 9px 10px;
983
- border: 1px solid var(--ds-chart-tooltip-border);
984
- border-radius: 8px;
985
- background: var(--ds-chart-tooltip-bg);
986
- color: var(--ds-chart-text);
987
- box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
988
- font: 12px/1.35 var(--ds-chart-font-family);
989
- }
990
-
991
- .recharts-tooltip strong {
992
- font-size: 12px;
993
- font-weight: 600;
994
- }
995
-
996
- .recharts-tooltip-row {
997
- display: grid;
998
- grid-template-columns: 8px 1fr;
999
- align-items: center;
1000
- gap: 7px;
1001
- color: var(--ds-chart-text-muted);
1002
- }
1003
-
1004
- .recharts-tooltip-row i {
1005
- width: 8px;
1006
- height: 8px;
1007
- border-radius: 999px;
1008
- }
1009
-
1010
- .recharts-custom-panel {
1011
- height: 100%;
1012
- min-height: 260px;
1013
- overflow: auto;
1014
- }
1015
-
1016
- .leaderboard-panel {
1017
- display: grid;
1018
- grid-auto-rows: minmax(0, 1fr);
1019
- align-content: stretch;
1020
- gap: 8px;
1021
- height: 100%;
1022
- }
1023
-
1024
- .leaderboard-row {
1025
- position: relative;
1026
- display: grid;
1027
- grid-template-columns: minmax(0, 1fr) auto;
1028
- min-height: 0;
1029
- gap: 8px;
1030
- align-items: center;
1031
- overflow: hidden;
1032
- padding: 4px 12px;
1033
- border-radius: 999px;
1034
- color: var(--ds-text);
1035
- font-size: 14px;
1036
- letter-spacing: -0.14px;
1037
- line-height: 20px;
1038
- }
1039
-
1040
- .leaderboard-row span {
1041
- position: relative;
1042
- z-index: 1;
1043
- min-width: 0;
1044
- overflow: hidden;
1045
- text-overflow: ellipsis;
1046
- white-space: nowrap;
1047
- }
1048
-
1049
- .leaderboard-row b {
1050
- position: relative;
1051
- z-index: 1;
1052
- font-weight: 500;
1053
- font-variant-numeric: tabular-nums;
1054
- font-feature-settings: "tnum" 1, "lnum" 1;
1055
- }
1056
-
1057
- .leaderboard-row i {
1058
- position: absolute;
1059
- top: 0;
1060
- right: auto;
1061
- bottom: 0;
1062
- left: 0;
1063
- max-width: 100%;
1064
- height: 100%;
1065
- border-radius: 999px;
1066
- background: var(--ds-surface-tertiary, #f3f3f3) !important;
1067
- }
1068
-
1069
- .heatmap-grid {
1070
- display: grid;
1071
- align-items: stretch;
1072
- gap: 4px;
1073
- min-width: 100%;
1074
- font-size: 11px;
1075
- }
1076
-
1077
- .heatmap-grid b,
1078
- .heatmap-grid strong {
1079
- overflow: hidden;
1080
- color: var(--ds-text-muted);
1081
- font-weight: 500;
1082
- text-overflow: ellipsis;
1083
- white-space: nowrap;
1084
- }
1085
-
1086
- .heatmap-cell {
1087
- min-height: 24px;
1088
- border: 1px solid color-mix(in srgb, var(--ds-border) 80%, transparent);
1089
- border-radius: 4px;
1090
- }
1091
-
1092
- .boxplot-panel {
1093
- display: grid;
1094
- align-content: center;
1095
- gap: 12px;
1096
- }
1097
-
1098
- .boxplot-row {
1099
- display: grid;
1100
- grid-template-columns: minmax(72px, 1fr) minmax(90px, 2fr) auto auto;
1101
- align-items: center;
1102
- gap: 10px;
1103
- font-size: 12px;
1104
- }
1105
-
1106
- .boxplot-row i {
1107
- height: 8px;
1108
- border-radius: 999px;
1109
- }
1110
-
1111
- .boxplot-row b {
1112
- font-weight: 600;
1113
- }
1114
-
1115
- .boxplot-row em {
1116
- color: var(--ds-text-muted);
1117
- font-style: normal;
1118
- }
1119
-
1120
- .app-shell {
1121
- min-width: 0;
1122
- }
1123
-
1124
- .app-sidebar,
1125
- .bottom-split,
1126
- .split-resizer,
1127
- .data-preview,
1128
- .sql-preview {
1129
- display: none;
1130
- }
1131
-
1132
- .widget:not([data-display-mode="fullscreen"]):not([data-display-mode="modal"]) .controls {
1133
- display: none !important;
1134
- }
1135
-
1136
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) {
1137
- display: flex;
1138
- height: auto;
1139
- min-height: 100vh;
1140
- max-height: none;
1141
- width: 100%;
1142
- max-width: none;
1143
- margin: 0 auto;
1144
- padding: 0;
1145
- overflow: visible;
1146
- border: 0;
1147
- border-radius: 0;
1148
- background: var(--ds-bg);
1149
- box-shadow: none;
1150
- flex-direction: column;
1151
- }
1152
-
1153
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) header {
1154
- flex: 0 0 auto;
1155
- position: sticky;
1156
- top: 0;
1157
- z-index: 50;
1158
- margin: 0;
1159
- padding: 0;
1160
- border-bottom: 1px solid var(--ds-border-subtle);
1161
- background: var(--ds-bg);
1162
- box-shadow: none;
1163
- }
1164
-
1165
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .compact-title-row,
1166
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) header > .subtitle {
1167
- display: none;
1168
- }
1169
-
1170
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .detail-topbar {
1171
- display: flex;
1172
- position: sticky;
1173
- top: 0;
1174
- align-items: center;
1175
- justify-content: space-between;
1176
- gap: 12px;
1177
- z-index: 60;
1178
- min-height: 56px;
1179
- padding: 12px;
1180
- background: var(--ds-bg);
1181
- }
1182
-
1183
- .widget[data-display-mode="modal"] .detail-topbar {
1184
- display: none;
1185
- }
1186
-
1187
- .detail-topbar-actions {
1188
- display: inline-flex;
1189
- align-items: center;
1190
- gap: 8px;
1191
- min-width: 0;
1192
- }
1193
-
1194
- .detail-run-time {
1195
- overflow: hidden;
1196
- max-width: 220px;
1197
- color: var(--ds-text-secondary);
1198
- font-size: 14px;
1199
- line-height: 22px;
1200
- letter-spacing: -0.14px;
1201
- text-overflow: ellipsis;
1202
- white-space: nowrap;
1203
- }
1204
-
1205
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .app-shell {
1206
- display: block;
1207
- flex: 1 1 auto;
1208
- height: auto;
1209
- min-height: 0;
1210
- overflow: visible;
1211
- padding: 0;
1212
- background: var(--ds-bg);
1213
- }
1214
-
1215
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .app-sidebar {
1216
- display: none;
1217
- }
1218
-
1219
- .widget[data-display-mode="modal"],
1220
- .widget[data-display-mode="modal"] .app-shell {
1221
- height: 100%;
1222
- min-height: 100%;
1223
- overflow: hidden;
1224
- }
1225
-
1226
- .widget[data-display-mode="modal"] .app-shell {
1227
- display: flex;
1228
- }
1229
-
1230
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .app-main {
1231
- display: flex;
1232
- flex: 1 1 auto;
1233
- flex-direction: column;
1234
- min-width: 0;
1235
- width: 100%;
1236
- height: auto;
1237
- min-height: calc(100vh - 57px);
1238
- overflow: visible;
1239
- border: 0;
1240
- border-radius: 0;
1241
- background: var(--ds-bg);
1242
- box-shadow: none;
1243
- }
1244
-
1245
- .widget[data-display-mode="modal"] .app-main {
1246
- height: 100%;
1247
- min-height: 0;
1248
- }
1249
-
1250
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .detail-title-section {
1251
- display: flex;
1252
- flex: 0 0 auto;
1253
- flex-direction: column;
1254
- gap: 8px;
1255
- padding: 24px 32px 16px;
1256
- }
1257
-
1258
- .detail-title-row {
1259
- display: flex;
1260
- width: 100%;
1261
- min-width: 0;
1262
- align-items: flex-start;
1263
- justify-content: space-between;
1264
- gap: 16px;
1265
- }
1266
-
1267
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .detail-title-section h1 {
1268
- flex: 1 1 auto;
1269
- min-width: 0;
1270
- margin: 0;
1271
- color: var(--ds-text-primary);
1272
- font-size: 28px;
1273
- font-weight: 500;
1274
- line-height: 34px;
1275
- letter-spacing: -0.04px;
1276
- }
1277
-
1278
- .modal-title-close-button {
1279
- display: none;
1280
- flex: 0 0 auto;
1281
- align-items: center;
1282
- justify-content: center;
1283
- width: 32px;
1284
- height: 32px;
1285
- margin-left: auto;
1286
- margin-top: 2px;
1287
- border: 0;
1288
- border-radius: var(--ds-radius-pill);
1289
- background: transparent;
1290
- color: var(--ds-text-secondary);
1291
- cursor: pointer;
1292
- }
1293
-
1294
- .widget[data-display-mode="modal"] .modal-title-close-button {
1295
- display: inline-flex;
1296
- }
1297
-
1298
- .modal-title-close-button:hover {
1299
- background: var(--ds-menu-hover-bg);
1300
- color: var(--ds-text-primary);
1301
- }
1302
-
1303
- .modal-title-close-button:focus-visible {
1304
- outline: 2px solid var(--ds-blue-bright);
1305
- outline-offset: 2px;
1306
- }
1307
-
1308
- .detail-subtitle {
1309
- margin: 0;
1310
- color: var(--ds-text-secondary);
1311
- font-size: 14px;
1312
- line-height: 22px;
1313
- letter-spacing: -0.14px;
1314
- }
1315
-
1316
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .app-toolbar {
1317
- display: none;
1318
- flex: 0 0 auto;
1319
- align-items: center;
1320
- justify-content: space-between;
1321
- gap: 12px;
1322
- min-height: 58px;
1323
- border-bottom: 1px solid var(--ds-border-subtle);
1324
- padding: 12px 16px;
1325
- background: var(--ds-bg);
1326
- }
1327
-
1328
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .view-mode-tabs {
1329
- display: none;
1330
- }
1331
-
1332
- .app-panel {
1333
- padding: 16px;
1334
- }
1335
-
1336
- .app-panel + .app-panel {
1337
- border-top: 1px solid var(--ds-border-subtle);
1338
- }
1339
-
1340
- .app-panel-heading {
1341
- display: flex;
1342
- align-items: center;
1343
- justify-content: space-between;
1344
- gap: 10px;
1345
- color: var(--ds-text-primary);
1346
- font-size: 13px;
1347
- font-weight: 760;
1348
- }
1349
-
1350
- .source-details {
1351
- display: grid;
1352
- gap: 10px;
1353
- margin-top: 12px;
1354
- }
1355
-
1356
- .source-row {
1357
- display: grid;
1358
- grid-template-columns: 58px minmax(0, 1fr);
1359
- gap: 10px;
1360
- color: var(--ds-text-muted);
1361
- font-size: 12px;
1362
- line-height: 1.35;
1363
- }
1364
-
1365
- .source-row strong {
1366
- color: var(--ds-text-primary);
1367
- font-weight: 650;
1368
- }
1369
-
1370
- .source-row-list {
1371
- display: grid;
1372
- gap: 4px;
1373
- }
1374
-
1375
- .source-row-list span {
1376
- overflow-wrap: anywhere;
1377
- }
1378
-
1379
- .source-row-table {
1380
- align-items: start;
1381
- }
1382
-
1383
- .source-preview-shell {
1384
- max-height: 220px;
1385
- overflow: auto;
1386
- border: 1px solid var(--ds-border-subtle);
1387
- border-radius: 6px;
1388
- background: var(--ds-surface);
1389
- }
1390
-
1391
- .source-preview-table {
1392
- width: max-content;
1393
- min-width: 100%;
1394
- border-collapse: collapse;
1395
- color: var(--ds-text-primary);
1396
- font-size: 11.5px;
1397
- }
1398
-
1399
- .source-preview-table th,
1400
- .source-preview-table td {
1401
- max-width: 220px;
1402
- padding: 6px 8px;
1403
- border-bottom: 1px solid var(--ds-border-subtle);
1404
- text-align: left;
1405
- vertical-align: top;
1406
- overflow-wrap: anywhere;
1407
- }
1408
-
1409
- .source-preview-table th {
1410
- position: sticky;
1411
- top: 0;
1412
- background: var(--ds-surface-secondary);
1413
- color: var(--ds-text-muted);
1414
- font-weight: 700;
1415
- }
1416
-
1417
- .source-code {
1418
- max-height: 260px;
1419
- margin-top: 3px;
1420
- border-radius: 6px;
1421
- padding: 10px;
1422
- background: var(--ds-surface-secondary);
1423
- font-size: 11.5px;
1424
- line-height: 1.45;
1425
- }
1426
-
1427
- .source-disclosure {
1428
- display: block;
1429
- }
1430
-
1431
- .source-disclosure summary {
1432
- display: flex;
1433
- align-items: center;
1434
- justify-content: space-between;
1435
- min-height: 32px;
1436
- border: 1px solid var(--ds-border-subtle);
1437
- border-radius: 7px;
1438
- padding: 0 10px;
1439
- background: var(--ds-surface-secondary);
1440
- color: var(--ds-text-primary);
1441
- cursor: pointer;
1442
- font-size: 12px;
1443
- font-weight: 700;
1444
- list-style: none;
1445
- }
1446
-
1447
- .source-disclosure summary::-webkit-details-marker {
1448
- display: none;
1449
- }
1450
-
1451
- .source-disclosure summary::after {
1452
- color: var(--ds-text-muted);
1453
- content: "Show";
1454
- font-size: 11px;
1455
- font-weight: 700;
1456
- }
1457
-
1458
- .source-disclosure[open] summary::after {
1459
- content: "Hide";
1460
- }
1461
-
1462
- .app-icon-button {
1463
- border: 0;
1464
- border-radius: 5px;
1465
- padding: 0 4px;
1466
- background: transparent;
1467
- color: var(--ds-text-muted);
1468
- cursor: default;
1469
- font: inherit;
1470
- font-size: 18px;
1471
- line-height: 1;
1472
- }
1473
-
1474
- .field-filter {
1475
- width: 100%;
1476
- min-height: 34px;
1477
- margin: 14px 0 12px;
1478
- border: 1px solid var(--ds-border-subtle);
1479
- border-radius: 8px;
1480
- padding: 0 9px;
1481
- background: var(--ds-surface-secondary);
1482
- color: var(--ds-text);
1483
- font: inherit;
1484
- font-size: 12px;
1485
- }
1486
-
1487
- .field-group {
1488
- margin-top: 14px;
1489
- }
1490
-
1491
- .field-group-title {
1492
- margin: 0 0 7px;
1493
- color: var(--ds-text-muted);
1494
- font-size: 11px;
1495
- font-weight: 700;
1496
- letter-spacing: 0.02em;
1497
- text-transform: uppercase;
1498
- }
1499
-
1500
- .field-list {
1501
- display: grid;
1502
- gap: 3px;
1503
- margin: 0;
1504
- padding: 0;
1505
- list-style: none;
1506
- }
1507
-
1508
- .field-item {
1509
- display: flex;
1510
- align-items: center;
1511
- gap: 8px;
1512
- min-width: 0;
1513
- border-radius: 10px;
1514
- padding: 7px 9px;
1515
- color: var(--ds-text-secondary);
1516
- font-size: 14px;
1517
- }
1518
-
1519
- .field-item.is-active {
1520
- background: var(--ds-surface-secondary);
1521
- color: var(--ds-text);
1522
- }
1523
-
1524
- .field-icon {
1525
- display: inline-flex;
1526
- flex: 0 0 auto;
1527
- align-items: center;
1528
- justify-content: center;
1529
- width: 18px;
1530
- color: var(--ds-text-muted);
1531
- text-align: center;
1532
- font-size: 14px;
1533
- }
1534
-
1535
- .field-label {
1536
- overflow: hidden;
1537
- min-width: 0;
1538
- text-overflow: ellipsis;
1539
- white-space: nowrap;
1540
- }
1541
-
1542
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .chart-shell {
1543
- flex: 0 0 auto;
1544
- height: clamp(360px, 48vw, 520px);
1545
- min-height: 360px;
1546
- overflow: visible;
1547
- padding: 16px 32px 24px;
1548
- background: var(--ds-bg);
1549
- }
1550
-
1551
- .widget[data-display-mode="modal"] .chart-shell {
1552
- flex: 1 1 auto;
1553
- height: 100%;
1554
- min-height: 0;
1555
- }
1556
-
1557
- .chart-shell:focus,
1558
- .chart-canvas-wrap:focus,
1559
- .chart-canvas-wrap:focus-visible {
1560
- outline: 2px solid transparent;
1561
- outline-offset: 2px;
1562
- }
1563
-
1564
- .chart-shell:focus-visible,
1565
- .chart-canvas-wrap:focus-visible {
1566
- outline-color: var(--ds-blue-bright);
1567
- }
1568
-
1569
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .controls {
1570
- display: flex;
1571
- position: sticky;
1572
- top: 56px;
1573
- z-index: 4;
1574
- flex: 0 0 auto;
1575
- align-content: flex-start;
1576
- min-height: auto;
1577
- align-items: center;
1578
- gap: 6px 8px;
1579
- padding: 8px 32px;
1580
- background: var(--ds-bg);
1581
- }
1582
-
1583
- .widget[data-display-mode="modal"] .controls {
1584
- top: 0;
1585
- }
1586
-
1587
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .control-label {
1588
- display: none;
1589
- }
1590
-
1591
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .chart-picker-button,
1592
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .field-pill,
1593
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .clear-button {
1594
- height: 32px;
1595
- min-height: 32px;
1596
- border-color: var(--ds-chip-border);
1597
- padding: 0 12px;
1598
- color: var(--ds-chip-text);
1599
- font-size: 14px;
1600
- font-weight: 500;
1601
- line-height: 22px;
1602
- letter-spacing: -0.14px;
1603
- }
1604
-
1605
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .clear-button {
1606
- border-color: transparent;
1607
- color: var(--ds-text-primary);
1608
- }
1609
-
1610
- .chart-legend-shell {
1611
- min-height: 36px;
1612
- border-bottom: 0;
1613
- padding: 8px 16px 10px;
1614
- background: transparent;
1615
- box-shadow: none;
1616
- }
1617
-
1618
- .chart-legend-shell.is-empty .legend-list {
1619
- visibility: hidden;
1620
- }
1621
-
1622
- .chart-legend-shell[hidden] {
1623
- display: none;
1624
- }
1625
-
1626
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .chart-legend-shell {
1627
- display: none !important;
1628
- }
1629
-
1630
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer {
1631
- display: none;
1632
- grid-row: 3;
1633
- align-items: center;
1634
- justify-content: center;
1635
- min-height: 12px;
1636
- border: 0;
1637
- background:
1638
- linear-gradient(
1639
- to bottom,
1640
- transparent calc(50% - 0.5px),
1641
- var(--ds-border) calc(50% - 0.5px),
1642
- var(--ds-border) calc(50% + 0.5px),
1643
- transparent calc(50% + 0.5px)
1644
- ),
1645
- transparent;
1646
- cursor: row-resize;
1647
- touch-action: none;
1648
- }
1649
-
1650
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer::before {
1651
- width: 32px;
1652
- height: 3px;
1653
- border-radius: var(--ds-radius-pill);
1654
- background: var(--ds-border-strong);
1655
- opacity: 0.42;
1656
- transition:
1657
- background 120ms ease,
1658
- opacity 120ms ease,
1659
- width 120ms ease;
1660
- content: "";
1661
- }
1662
-
1663
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer:hover,
1664
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer:focus-visible,
1665
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]).is-resizing .split-resizer {
1666
- background:
1667
- linear-gradient(
1668
- to bottom,
1669
- transparent calc(50% - 0.5px),
1670
- var(--ds-border-strong) calc(50% - 0.5px),
1671
- var(--ds-border-strong) calc(50% + 0.5px),
1672
- transparent calc(50% + 0.5px)
1673
- ),
1674
- var(--ds-surface-secondary);
1675
- }
1676
-
1677
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer:hover::before,
1678
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .split-resizer:focus-visible::before,
1679
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]).is-resizing .split-resizer::before {
1680
- width: 44px;
1681
- background: var(--ds-blue-bright);
1682
- opacity: 0.75;
1683
- }
1684
-
1685
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .bottom-split {
1686
- display: flex;
1687
- flex: 0 0 auto;
1688
- flex-direction: column;
1689
- gap: 16px;
1690
- min-height: 0;
1691
- overflow: visible;
1692
- padding: 16px 32px 32px;
1693
- background: var(--ds-bg);
1694
- }
1695
-
1696
- .widget[data-display-mode="modal"] .bottom-split {
1697
- display: none;
1698
- }
1699
-
1700
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .bottom-split.has-sql {
1701
- grid-template-columns: none;
1702
- }
1703
-
1704
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview {
1705
- display: block;
1706
- flex: 0 0 auto;
1707
- height: auto;
1708
- min-height: 0;
1709
- overflow: visible;
1710
- width: 100%;
1711
- background: var(--ds-bg);
1712
- }
1713
-
1714
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview .shared-table-shell,
1715
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview .table-wrap {
1716
- width: 100%;
1717
- max-width: none;
1718
- }
1719
-
1720
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview .table-wrap {
1721
- overflow-x: auto;
1722
- overflow-y: clip;
1723
- }
1724
-
1725
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview .data-table {
1726
- width: 100%;
1727
- min-width: 720px;
1728
- }
1729
-
1730
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .data-preview .data-table td {
1731
- white-space: nowrap;
1732
- }
1733
-
1734
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .sql-preview {
1735
- display: none;
1736
- min-width: 0;
1737
- flex: 0 0 auto;
1738
- height: auto;
1739
- min-height: 0;
1740
- overflow: visible;
1741
- border-left: 0;
1742
- background: var(--ds-bg);
1743
- flex-direction: column;
1744
- }
1745
-
1746
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .bottom-split[data-data-mode="query"] .data-preview {
1747
- display: none;
1748
- }
1749
-
1750
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .bottom-split[data-data-mode="query"] .sql-preview {
1751
- display: flex;
1752
- }
1753
-
1754
- .data-section-header {
1755
- display: flex;
1756
- align-items: center;
1757
- justify-content: space-between;
1758
- gap: 16px;
1759
- min-height: 32px;
1760
- }
1761
-
1762
- .data-section-name {
1763
- display: inline-flex;
1764
- align-items: center;
1765
- min-width: 0;
1766
- color: var(--ds-text);
1767
- font-size: 16px;
1768
- font-weight: 500;
1769
- line-height: 24px;
1770
- letter-spacing: -0.01px;
1771
- }
1772
-
1773
- .data-mode-segmented {
1774
- position: relative;
1775
- display: inline-flex;
1776
- flex: 0 0 auto;
1777
- align-items: center;
1778
- height: 32px;
1779
- overflow: hidden;
1780
- border: 0;
1781
- border-radius: var(--ds-radius-pill);
1782
- padding: 2px;
1783
- background: var(--ds-segmented-bg);
1784
- }
1785
-
1786
- .data-mode-segmented::before {
1787
- position: absolute;
1788
- top: 2px;
1789
- bottom: 2px;
1790
- left: 2px;
1791
- z-index: 0;
1792
- width: calc((100% - 4px) / 2);
1793
- border-radius: var(--ds-radius-pill);
1794
- background: var(--ds-segmented-active-bg);
1795
- box-shadow: var(--ds-segmented-active-shadow);
1796
- content: "";
1797
- transform: translateX(0);
1798
- transition:
1799
- transform 180ms cubic-bezier(0.16, 1, 0.3, 1),
1800
- background-color 160ms ease;
1801
- }
1802
-
1803
- .data-mode-segmented[data-active-mode="query"]::before {
1804
- transform: translateX(100%);
1805
- }
1806
-
1807
- .data-mode-option {
1808
- position: relative;
1809
- z-index: 1;
1810
- display: inline-flex;
1811
- align-items: center;
1812
- justify-content: center;
1813
- min-height: 28px;
1814
- border: 0;
1815
- border-radius: 999px;
1816
- padding: 0 12px;
1817
- background: transparent;
1818
- color: var(--ds-text-secondary);
1819
- cursor: pointer;
1820
- font: inherit;
1821
- font-size: 14px;
1822
- line-height: 22px;
1823
- letter-spacing: -0.14px;
1824
- }
1825
-
1826
- .data-mode-option[aria-pressed="true"] {
1827
- color: var(--ds-text);
1828
- font-weight: 500;
1829
- }
1830
-
1831
- .sql-preview .source-code {
1832
- flex: 1 1 auto;
1833
- max-height: none;
1834
- min-height: 0;
1835
- margin: 0;
1836
- border: 0;
1837
- border-radius: var(--ds-radius-panel);
1838
- padding: 26px;
1839
- background: var(--ds-code-container-bg);
1840
- color: var(--ds-text);
1841
- font-size: 14px;
1842
- line-height: 1.5;
1843
- letter-spacing: -0.14px;
1844
- }
1845
-
1846
- .preview-caption {
1847
- display: flex;
1848
- align-items: center;
1849
- justify-content: space-between;
1850
- gap: 12px;
1851
- border-bottom: 1px solid var(--ds-border);
1852
- padding: 8px var(--ds-panel-padding);
1853
- color: var(--ds-text-secondary);
1854
- font-size: 12px;
1855
- font-weight: 500;
1856
- line-height: 18px;
1857
- }
1858
-
1859
- .preview-count {
1860
- font-weight: 500;
1861
- }
1862
-
1863
- .data-preview table {
1864
- min-width: 720px;
1865
- }
1866
-
1867
- .data-preview tbody tr {
1868
- transition: background-color 120ms ease;
1869
- }
1870
-
1871
- .data-preview tbody tr:hover {
1872
- background: var(--ds-menu-hover-bg);
1873
- }
1874
-
1875
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) :is(.table-scroll) {
1876
- width: 100%;
1877
- max-width: 100%;
1878
- height: auto;
1879
- overflow-x: auto;
1880
- overflow-y: visible;
1881
- }
1882
-
1883
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) tbody tr:nth-child(even) {
1884
- background: transparent;
1885
- }
1886
-
1887
- @media (max-width: 1024px) {
1888
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .app-shell {
1889
- overflow-x: hidden;
1890
- overflow-y: auto;
1891
- }
1892
-
1893
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .sql-preview {
1894
- border-left: 0;
1895
- }
1896
-
1897
- .query-status {
1898
- display: none;
1899
- }
1900
- }
1901
-
1902
- @media (max-width: 640px) {
1903
- :root {
1904
- --ds-gutter: 24px;
1905
- --ds-panel-padding: 16px;
1906
- }
1907
-
1908
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .detail-title-section,
1909
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .controls,
1910
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .chart-shell,
1911
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .bottom-split {
1912
- padding-right: 16px;
1913
- padding-left: 16px;
1914
- }
1915
-
1916
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .detail-title-section h1 {
1917
- font-size: 22px;
1918
- line-height: 28px;
1919
- }
1920
-
1921
- .data-section-header {
1922
- align-items: flex-start;
1923
- flex-direction: column;
1924
- }
1925
-
1926
- }
1927
-
1928
- svg {
1929
- display: block;
1930
- width: 100%;
1931
- height: auto;
1932
- overflow: visible;
1933
- }
1934
-
1935
- .widget:is([data-display-mode="fullscreen"], [data-display-mode="modal"]) .chart-canvas-wrap {
1936
- min-height: 0;
1937
- height: 100%;
1938
- }
1939
-
1940
- .axis-label,
1941
- .tick,
1942
- .legend-item,
1943
- .point-label {
1944
- fill: var(--ds-chart-text-muted);
1945
- color: var(--ds-chart-text-muted);
1946
- font-size: 12px;
1947
- }
1948
-
1949
- .grid-line {
1950
- stroke: var(--grid);
1951
- stroke-width: 1;
1952
- }
1953
-
1954
- .axis {
1955
- stroke: var(--axis);
1956
- stroke-width: 1;
1957
- }
1958
-
1959
- .category-label {
1960
- fill: var(--ds-text);
1961
- font-size: 14px;
1962
- font-weight: 400;
1963
- }
1964
-
1965
- .value-tick {
1966
- fill: var(--ds-text-tertiary);
1967
- font-size: 12px;
1968
- font-weight: 400;
1969
- }
1970
-
1971
- .stack-segment {
1972
- shape-rendering: crispEdges;
1973
- stroke: var(--ds-surface);
1974
- stroke-width: 2;
1975
- }
1976
-
1977
- .empty {
1978
- display: grid;
1979
- min-height: 240px;
1980
- align-content: center;
1981
- justify-items: center;
1982
- gap: 6px;
1983
- border: 1px dashed var(--ds-border-strong);
1984
- border-radius: var(--ds-radius-panel);
1985
- padding: 28px;
1986
- background: var(--ds-surface-secondary);
1987
- font-size: 13px;
1988
- text-align: center;
1989
- }
1990
-
1991
- .empty strong {
1992
- color: var(--ds-text);
1993
- font-size: 14px;
1994
- font-weight: 650;
1995
- }
1996
-
1997
- .empty span {
1998
- max-width: 520px;
1999
- color: var(--ds-text-muted);
2000
- line-height: 1.45;
2001
- }
2002
-
2003
- .table-scroll {
2004
- width: 100%;
2005
- max-width: 100%;
2006
- overflow-x: auto;
2007
- overflow-y: clip;
2008
- }
2009
-
2010
- table {
2011
- width: max-content;
2012
- min-width: 100%;
2013
- border-collapse: collapse;
2014
- color: var(--ds-text);
2015
- font-size: 14px;
2016
- table-layout: auto;
2017
- }
2018
-
2019
- th,
2020
- td {
2021
- border-bottom: 1px solid var(--ds-border-subtle);
2022
- padding: 8px 16px 8px 0;
2023
- text-align: left;
2024
- vertical-align: top;
2025
- white-space: nowrap;
2026
- }
2027
-
2028
- th {
2029
- position: relative;
2030
- height: 30px;
2031
- background: transparent;
2032
- color: var(--ds-text-tertiary);
2033
- font-size: 12px;
2034
- font-weight: 600;
2035
- line-height: 18px;
2036
- }
2037
-
2038
- tbody tr:nth-child(even) {
2039
- background: transparent;
2040
- }
2041
-
2042
- tbody tr:last-child td {
2043
- border-bottom: 0;
2044
- }
2045
-
2046
- td.numeric,
2047
- th.numeric {
2048
- text-align: right;
2049
- font-variant-numeric: tabular-nums;
2050
- font-feature-settings: "tnum" 1, "lnum" 1;
2051
- }
2052
-
2053
- td {
2054
- color: var(--ds-text-secondary);
2055
- font-size: 14px;
2056
- line-height: 22px;
2057
- white-space: normal;
2058
- }
2059
-
2060
- td:first-child {
2061
- color: var(--ds-text-primary);
2062
- }
2063
-
2064
- .legend-list,
2065
- .notes,
2066
- .metrics {
2067
- display: flex;
2068
- flex-wrap: wrap;
2069
- gap: 8px 16px;
2070
- margin: 0;
2071
- padding: 0;
2072
- list-style: none;
2073
- }
2074
-
2075
- .legend-button {
2076
- display: inline-flex;
2077
- align-items: center;
2078
- gap: 6px;
2079
- border: 0;
2080
- padding: 0;
2081
- background: transparent;
2082
- color: inherit;
2083
- cursor: pointer;
2084
- font: inherit;
2085
- }
2086
-
2087
- .legend-item {
2088
- font-weight: 650;
2089
- }
2090
-
2091
- .legend-button[aria-pressed="false"] {
2092
- opacity: 0.42;
2093
- text-decoration: line-through;
2094
- }
2095
-
2096
- .legend-reset-button {
2097
- color: var(--ds-blue-bright);
2098
- font-weight: 650;
2099
- }
2100
-
2101
- .swatch {
2102
- width: 7px;
2103
- height: 7px;
2104
- border-radius: 99px;
2105
- background: currentColor;
2106
- }
2107
-
2108
- @media (prefers-reduced-motion: reduce) {
2109
- *,
2110
- *::before,
2111
- *::after {
2112
- animation-duration: 0.01ms !important;
2113
- animation-iteration-count: 1 !important;
2114
- scroll-behavior: auto !important;
2115
- transition-duration: 0.01ms !important;
2116
- }
2117
- }