@jaimevalasek/aioson 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +729 -226
  3. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  4. package/docs/design-previews/aurora-command-ui.html +682 -0
  5. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  6. package/docs/design-previews/bold-editorial-ui.html +717 -0
  7. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  8. package/docs/design-previews/clean-saas-ui.html +549 -0
  9. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  10. package/docs/design-previews/cognitive-core-ui.html +463 -0
  11. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  12. package/docs/design-previews/glassmorphism-ui.html +886 -0
  13. package/docs/design-previews/index.html +699 -0
  14. package/docs/design-previews/interface-design-website.html +1187 -0
  15. package/docs/design-previews/interface-design.html +513 -0
  16. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  17. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  18. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  19. package/docs/design-previews/premium-command-center-ui.html +552 -0
  20. package/docs/design-previews/pt.squarespace.com-homepage.html +889 -0
  21. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  22. package/docs/design-previews/warm-craft-ui.html +739 -0
  23. package/docs/en/cli-reference.md +20 -9
  24. package/docs/integrations/sdlc-genius-boundary.md +76 -0
  25. package/docs/integrations/sdlc-genius-eval-matrix.md +75 -0
  26. package/docs/integrations/sdlc-genius-install-checklist.md +93 -0
  27. package/docs/integrations/sdlc-genius-review-samples.md +86 -0
  28. package/docs/pt/README.md +10 -0
  29. package/docs/pt/agent-sharding.md +132 -0
  30. package/docs/pt/agentes.md +9 -2
  31. package/docs/pt/busca-de-contexto.md +129 -0
  32. package/docs/pt/cache-de-contexto.md +156 -0
  33. package/docs/pt/comandos-cli.md +915 -1
  34. package/docs/pt/design-hybrid-forge.md +356 -0
  35. package/docs/pt/devlog-pipeline.md +270 -0
  36. package/docs/pt/fluxo-artefatos.md +178 -0
  37. package/docs/pt/hooks-session-guard.md +454 -0
  38. package/docs/pt/inicio-rapido.md +54 -3
  39. package/docs/pt/inteligencia-adaptativa.md +324 -0
  40. package/docs/pt/monitor-de-contexto.md +158 -0
  41. package/docs/pt/recuperacao-de-sessao.md +125 -0
  42. package/docs/pt/sandbox.md +125 -0
  43. package/docs/pt/sdd-automation-scripts.md +557 -0
  44. package/docs/pt/site-forge.md +309 -0
  45. package/docs/pt/skills.md +98 -6
  46. package/docs/pt/spec-learnings-pipeline.md +265 -0
  47. package/package.json +1 -1
  48. package/src/a2a/client.js +165 -0
  49. package/src/a2a/server.js +223 -0
  50. package/src/agent-loader.js +280 -0
  51. package/src/cli.js +329 -1
  52. package/src/commands/agent-audit.js +397 -0
  53. package/src/commands/agent-export-skill.js +229 -0
  54. package/src/commands/agent-loader.js +85 -0
  55. package/src/commands/artifact-validate.js +189 -0
  56. package/src/commands/brief-gen.js +405 -0
  57. package/src/commands/brief-validate.js +65 -0
  58. package/src/commands/classify.js +256 -0
  59. package/src/commands/context-cache.js +90 -0
  60. package/src/commands/context-compact.js +49 -0
  61. package/src/commands/context-health.js +175 -0
  62. package/src/commands/context-monitor.js +163 -0
  63. package/src/commands/context-search.js +66 -0
  64. package/src/commands/context-trim.js +177 -0
  65. package/src/commands/design-hybrid-options.js +385 -0
  66. package/src/commands/detect-test-runner.js +55 -0
  67. package/src/commands/devlog-export-brains.js +27 -0
  68. package/src/commands/devlog-process.js +292 -0
  69. package/src/commands/devlog-watch.js +131 -0
  70. package/src/commands/feature-close.js +165 -0
  71. package/src/commands/gate-check.js +228 -0
  72. package/src/commands/health.js +214 -0
  73. package/src/commands/hooks-emit.js +253 -0
  74. package/src/commands/hooks-install.js +347 -0
  75. package/src/commands/init.js +54 -13
  76. package/src/commands/install.js +52 -13
  77. package/src/commands/learning-auto-promote.js +195 -0
  78. package/src/commands/learning-evolve.js +364 -0
  79. package/src/commands/learning-export.js +103 -0
  80. package/src/commands/learning-rollback.js +164 -0
  81. package/src/commands/live.js +59 -1
  82. package/src/commands/pattern-detect.js +33 -0
  83. package/src/commands/preflight-context.js +30 -0
  84. package/src/commands/preflight.js +208 -0
  85. package/src/commands/pulse-update.js +130 -0
  86. package/src/commands/recovery.js +43 -0
  87. package/src/commands/runner-daemon.js +274 -0
  88. package/src/commands/runner-plan.js +70 -0
  89. package/src/commands/runner-queue-from-plan.js +166 -0
  90. package/src/commands/runner-queue.js +189 -0
  91. package/src/commands/runner-run.js +129 -0
  92. package/src/commands/runtime.js +47 -1
  93. package/src/commands/sandbox.js +37 -0
  94. package/src/commands/self-implement-loop.js +256 -0
  95. package/src/commands/session-guard.js +218 -0
  96. package/src/commands/setup-context.js +22 -2
  97. package/src/commands/setup.js +178 -0
  98. package/src/commands/sizing.js +165 -0
  99. package/src/commands/skill.js +144 -32
  100. package/src/commands/spec-checkpoint.js +177 -0
  101. package/src/commands/spec-status.js +79 -0
  102. package/src/commands/spec-sync.js +190 -0
  103. package/src/commands/spec-tasks.js +288 -0
  104. package/src/commands/squad-autorun.js +1220 -0
  105. package/src/commands/squad-bus.js +217 -0
  106. package/src/commands/squad-card.js +149 -0
  107. package/src/commands/squad-daemon.js +134 -0
  108. package/src/commands/squad-dependency-graph.js +164 -0
  109. package/src/commands/squad-review.js +106 -0
  110. package/src/commands/squad-scaffold.js +55 -0
  111. package/src/commands/squad-tool-register.js +157 -0
  112. package/src/commands/state-save.js +122 -0
  113. package/src/commands/tool-registry-cmd.js +232 -0
  114. package/src/commands/update.js +9 -0
  115. package/src/commands/verify-gate.js +572 -0
  116. package/src/commands/workflow-execute.js +241 -0
  117. package/src/constants.js +18 -0
  118. package/src/context-cache.js +159 -0
  119. package/src/context-search.js +326 -0
  120. package/src/design-variation-catalog.js +503 -0
  121. package/src/i18n/messages/en.js +32 -2
  122. package/src/i18n/messages/es.js +30 -2
  123. package/src/i18n/messages/fr.js +30 -2
  124. package/src/i18n/messages/pt-BR.js +32 -2
  125. package/src/install-animation.js +260 -0
  126. package/src/install-profile.js +143 -0
  127. package/src/install-wizard.js +475 -0
  128. package/src/installer.js +44 -10
  129. package/src/lib/health-check.js +158 -0
  130. package/src/lib/hook-protocol.js +76 -0
  131. package/src/mcp/apps/squad-dashboard/app.js +163 -0
  132. package/src/mcp/apps/squad-dashboard/index.html +261 -0
  133. package/src/mcp/apps/squad-dashboard/mcp-manifest.json +23 -0
  134. package/src/mcp/resources/squad-state.js +130 -0
  135. package/src/parser.js +7 -1
  136. package/src/preflight-engine.js +443 -0
  137. package/src/recovery-context-session.js +154 -0
  138. package/src/runner/cascade.js +97 -0
  139. package/src/runner/cli-launcher.js +109 -0
  140. package/src/runner/plan-importer.js +63 -0
  141. package/src/runner/queue-store.js +159 -0
  142. package/src/runtime-store.js +158 -4
  143. package/src/sandbox.js +177 -0
  144. package/src/squad/agent-teams-adapter.js +264 -0
  145. package/src/squad/brief-validator.js +350 -0
  146. package/src/squad/bus-bridge.js +140 -0
  147. package/src/squad/context-compactor.js +265 -0
  148. package/src/squad/cross-ai-synthesizer.js +250 -0
  149. package/src/squad/hooks-generator.js +196 -0
  150. package/src/squad/inter-squad-events.js +175 -0
  151. package/src/squad/intra-bus.js +345 -0
  152. package/src/squad/learning-extractor.js +213 -0
  153. package/src/squad/pattern-detector.js +365 -0
  154. package/src/squad/preflight-context.js +296 -0
  155. package/src/squad/recovery-context.js +242 -71
  156. package/src/squad/reflection.js +365 -0
  157. package/src/squad/squad-scaffold.js +177 -0
  158. package/src/squad/state-manager.js +310 -0
  159. package/src/squad/task-decomposer.js +652 -0
  160. package/src/squad/verify-gate.js +303 -0
  161. package/src/tool-executor.js +94 -0
  162. package/src/updater.js +10 -3
  163. package/src/worker-runner.js +186 -1
  164. package/template/.aioson/agents/analyst.md +119 -3
  165. package/template/.aioson/agents/architect.md +98 -0
  166. package/template/.aioson/agents/design-hybrid-forge.md +141 -0
  167. package/template/.aioson/agents/dev.md +335 -14
  168. package/template/.aioson/agents/deyvin.md +117 -2
  169. package/template/.aioson/agents/discovery-design-doc.md +44 -0
  170. package/template/.aioson/agents/genome.md +14 -0
  171. package/template/.aioson/agents/neo.md +78 -1
  172. package/template/.aioson/agents/orache.md +50 -4
  173. package/template/.aioson/agents/orchestrator.md +197 -1
  174. package/template/.aioson/agents/pm.md +93 -0
  175. package/template/.aioson/agents/product.md +77 -4
  176. package/template/.aioson/agents/profiler-enricher.md +14 -0
  177. package/template/.aioson/agents/profiler-forge.md +14 -0
  178. package/template/.aioson/agents/profiler-researcher.md +14 -0
  179. package/template/.aioson/agents/qa.md +249 -19
  180. package/template/.aioson/agents/setup.md +144 -12
  181. package/template/.aioson/agents/sheldon.md +237 -11
  182. package/template/.aioson/agents/site-forge.md +1753 -0
  183. package/template/.aioson/agents/squad.md +162 -0
  184. package/template/.aioson/agents/tester.md +209 -0
  185. package/template/.aioson/agents/ux-ui.md +34 -1
  186. package/template/.aioson/brains/README.md +128 -0
  187. package/template/.aioson/brains/_index.json +16 -0
  188. package/template/.aioson/brains/scripts/query.js +103 -0
  189. package/template/.aioson/brains/site-forge/visual-patterns.brain.json +205 -0
  190. package/template/.aioson/config.md +158 -13
  191. package/template/.aioson/constitution.md +33 -0
  192. package/template/.aioson/context/forensics/.gitkeep +0 -0
  193. package/template/.aioson/context/project-pulse.md +34 -0
  194. package/template/.aioson/context/seeds/seed-example.md +27 -0
  195. package/template/.aioson/context/user-profile.md +42 -0
  196. package/template/.aioson/docs/LAYERS.md +79 -0
  197. package/template/.aioson/docs/README.md +76 -0
  198. package/template/.aioson/docs/example-external-api-context.md +72 -0
  199. package/template/.aioson/locales/en/agents/architect.md +17 -0
  200. package/template/.aioson/locales/en/agents/dev.md +79 -13
  201. package/template/.aioson/locales/en/agents/orache.md +6 -0
  202. package/template/.aioson/locales/en/agents/orchestrator.md +24 -0
  203. package/template/.aioson/locales/en/agents/product.md +50 -0
  204. package/template/.aioson/locales/en/agents/setup.md +33 -1
  205. package/template/.aioson/locales/en/agents/sheldon.md +115 -0
  206. package/template/.aioson/locales/en/agents/squad.md +14 -0
  207. package/template/.aioson/locales/en/agents/tester.md +6 -0
  208. package/template/.aioson/locales/es/agents/analyst.md +2 -0
  209. package/template/.aioson/locales/es/agents/architect.md +19 -0
  210. package/template/.aioson/locales/es/agents/dev.md +64 -4
  211. package/template/.aioson/locales/es/agents/deyvin.md +2 -0
  212. package/template/.aioson/locales/es/agents/discovery-design-doc.md +2 -0
  213. package/template/.aioson/locales/es/agents/genome.md +2 -0
  214. package/template/.aioson/locales/es/agents/neo.md +2 -0
  215. package/template/.aioson/locales/es/agents/orache.md +2 -0
  216. package/template/.aioson/locales/es/agents/orchestrator.md +26 -0
  217. package/template/.aioson/locales/es/agents/pair.md +2 -0
  218. package/template/.aioson/locales/es/agents/pm.md +2 -0
  219. package/template/.aioson/locales/es/agents/product.md +52 -0
  220. package/template/.aioson/locales/es/agents/profiler-enricher.md +2 -0
  221. package/template/.aioson/locales/es/agents/profiler-forge.md +2 -0
  222. package/template/.aioson/locales/es/agents/profiler-researcher.md +2 -0
  223. package/template/.aioson/locales/es/agents/qa.md +2 -0
  224. package/template/.aioson/locales/es/agents/setup.md +35 -1
  225. package/template/.aioson/locales/es/agents/sheldon.md +117 -0
  226. package/template/.aioson/locales/es/agents/squad.md +16 -0
  227. package/template/.aioson/locales/es/agents/tester.md +9 -0
  228. package/template/.aioson/locales/es/agents/ux-ui.md +2 -0
  229. package/template/.aioson/locales/fr/agents/analyst.md +2 -0
  230. package/template/.aioson/locales/fr/agents/architect.md +19 -0
  231. package/template/.aioson/locales/fr/agents/dev.md +64 -4
  232. package/template/.aioson/locales/fr/agents/deyvin.md +2 -0
  233. package/template/.aioson/locales/fr/agents/discovery-design-doc.md +2 -0
  234. package/template/.aioson/locales/fr/agents/genome.md +2 -0
  235. package/template/.aioson/locales/fr/agents/neo.md +2 -0
  236. package/template/.aioson/locales/fr/agents/orache.md +2 -0
  237. package/template/.aioson/locales/fr/agents/orchestrator.md +26 -0
  238. package/template/.aioson/locales/fr/agents/pair.md +2 -0
  239. package/template/.aioson/locales/fr/agents/pm.md +2 -0
  240. package/template/.aioson/locales/fr/agents/product.md +52 -0
  241. package/template/.aioson/locales/fr/agents/profiler-enricher.md +2 -0
  242. package/template/.aioson/locales/fr/agents/profiler-forge.md +2 -0
  243. package/template/.aioson/locales/fr/agents/profiler-researcher.md +2 -0
  244. package/template/.aioson/locales/fr/agents/qa.md +2 -0
  245. package/template/.aioson/locales/fr/agents/setup.md +35 -1
  246. package/template/.aioson/locales/fr/agents/sheldon.md +117 -0
  247. package/template/.aioson/locales/fr/agents/squad.md +16 -0
  248. package/template/.aioson/locales/fr/agents/tester.md +9 -0
  249. package/template/.aioson/locales/fr/agents/ux-ui.md +2 -0
  250. package/template/.aioson/locales/pt-BR/agents/analyst.md +64 -3
  251. package/template/.aioson/locales/pt-BR/agents/architect.md +42 -0
  252. package/template/.aioson/locales/pt-BR/agents/dev.md +147 -14
  253. package/template/.aioson/locales/pt-BR/agents/deyvin.md +47 -0
  254. package/template/.aioson/locales/pt-BR/agents/neo.md +62 -1
  255. package/template/.aioson/locales/pt-BR/agents/orchestrator.md +158 -2
  256. package/template/.aioson/locales/pt-BR/agents/pm.md +95 -1
  257. package/template/.aioson/locales/pt-BR/agents/product.md +145 -18
  258. package/template/.aioson/locales/pt-BR/agents/qa.md +16 -0
  259. package/template/.aioson/locales/pt-BR/agents/setup.md +134 -19
  260. package/template/.aioson/locales/pt-BR/agents/sheldon.md +132 -1
  261. package/template/.aioson/locales/pt-BR/agents/squad.md +14 -0
  262. package/template/.aioson/locales/pt-BR/agents/tester.md +449 -0
  263. package/template/.aioson/rules/README.md +69 -0
  264. package/template/.aioson/rules/data-format-convention.md +136 -0
  265. package/template/.aioson/rules/example-monetary-values.md +30 -0
  266. package/template/.aioson/schemas/squad-manifest.schema.json +124 -3
  267. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  268. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  269. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  270. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  271. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  272. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  273. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  274. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  275. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  276. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  277. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  278. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  279. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  280. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  281. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  282. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  283. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  284. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  285. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  286. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  287. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  288. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  289. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  290. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  291. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -0
  292. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +66 -0
  293. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +368 -0
  294. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -0
  295. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -0
  296. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -0
  297. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +165 -0
  298. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +46 -0
  299. package/template/.aioson/skills/process/aioson-spec-driven/references/analyst.md +30 -0
  300. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  301. package/template/.aioson/skills/process/aioson-spec-driven/references/architect.md +23 -0
  302. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  303. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  304. package/template/.aioson/skills/process/aioson-spec-driven/references/dev.md +47 -0
  305. package/template/.aioson/skills/process/aioson-spec-driven/references/deyvin.md +27 -0
  306. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  307. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +101 -0
  308. package/template/.aioson/skills/process/aioson-spec-driven/references/product.md +25 -0
  309. package/template/.aioson/skills/process/aioson-spec-driven/references/qa.md +30 -0
  310. package/template/.aioson/skills/process/aioson-spec-driven/references/sheldon.md +25 -0
  311. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  312. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +147 -0
  313. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  314. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  315. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +306 -0
  316. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +149 -0
  317. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +208 -0
  318. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  319. package/template/.aioson/skills/process/simplify/SKILL.md +173 -0
  320. package/template/.aioson/skills/static/context-budget-guide.md +46 -0
  321. package/template/.aioson/skills/static/harness-sensors.md +74 -0
  322. package/template/.aioson/skills/static/multi-agent-patterns.md +43 -0
  323. package/template/.aioson/skills/static/react-motion-patterns.md +22 -0
  324. package/template/.aioson/skills/static/static-html-patterns/checklists.md +43 -0
  325. package/template/.aioson/skills/static/static-html-patterns/css-tokens.md +609 -0
  326. package/template/.aioson/skills/static/static-html-patterns/motion.md +193 -0
  327. package/template/.aioson/skills/static/static-html-patterns/premium.md +711 -0
  328. package/template/.aioson/skills/static/static-html-patterns/structure.md +209 -0
  329. package/template/.aioson/skills/static/static-html-patterns/utilities.md +190 -0
  330. package/template/.aioson/skills/static/static-html-patterns.md +58 -1913
  331. package/template/.aioson/skills/static/threejs-patterns.md +929 -0
  332. package/template/.aioson/skills/static/web-research-cache.md +112 -0
  333. package/template/.aioson/tasks/implementation-plan.md +21 -1
  334. package/template/.claude/commands/aioson/agent/design-hybrid-forge.md +5 -0
  335. package/template/.claude/commands/aioson/agent/orache.md +5 -0
  336. package/template/.claude/commands/aioson/agent/sheldon.md +5 -0
  337. package/template/.claude/commands/aioson/agent/site-forge.md +5 -0
  338. package/template/AGENTS.md +75 -1
  339. package/template/CLAUDE.md +31 -0
  340. package/template/OPENCODE.md +4 -0
  341. package/template/researchs/.gitkeep +0 -0
@@ -0,0 +1,827 @@
1
+ # Components — Aurora Command UI
2
+
3
+ Read after `design-tokens.md`. All components use CSS variables and adapt to dark/light themes automatically. Every container-type component is a glass surface.
4
+
5
+ Code examples use JSX inline style notation as **design specifications** — read property-value pairs as spec, then adapt syntax to the active stack (HTML, Vue, Blade, etc.). The shorthand `TG` means `{ transition: 'var(--transition-glass)' }`.
6
+
7
+ ---
8
+
9
+ ## Glass Rules (read first)
10
+
11
+ Before building any component:
12
+
13
+ 1. **Substrate required**: glass only works over the aurora gradient background. Confirm `body` or root container has `background: var(--bg-gradient); background-attachment: fixed` before building.
14
+ 2. **Top reflection on every glass container**: every glass card must have `::before` with `var(--glass-highlight)`. This is what makes the glass feel real.
15
+ 3. **Minimum 2 depth layers**: never place a glass card directly adjacent to another glass card of the same opacity without context differentiation.
16
+ 4. **@supports fallback**: every glass surface must degrade gracefully when `backdrop-filter` is unsupported.
17
+ 5. **Text contrast over dark glass**: dark glass can make text illegible. Verify WCAG AA — increase `--glass-surface` alpha toward `--glass-elevated` if needed.
18
+ 6. **Mono rails are section structure** — not component decoration. Use them in section headers, stat labels, and metadata zones only.
19
+
20
+ ---
21
+
22
+ ## 1. Glass Card (fundamental component)
23
+
24
+ Every container-type component inherits from this. It is the atomic building block of the system.
25
+
26
+ ```
27
+ Structure:
28
+ position: relative
29
+ overflow: hidden
30
+ background: var(--glass-surface)
31
+ backdrop-filter: var(--glass-blur-md)
32
+ border: 1px solid var(--glass-border)
33
+ border-radius: var(--radius-xl)
34
+ box-shadow: var(--shadow-md), var(--shadow-inner)
35
+ padding: var(--space-5)
36
+
37
+ ::before (top reflection):
38
+ content: ''
39
+ position: absolute
40
+ top: 0; left: 0; right: 0
41
+ height: 50%
42
+ background: var(--glass-highlight)
43
+ pointer-events: none
44
+ border-radius: inherit
45
+
46
+ Hover:
47
+ background: var(--glass-elevated)
48
+ box-shadow: var(--shadow-glow), var(--shadow-inner)
49
+ transition: var(--transition-glass)
50
+
51
+ @supports (backdrop-filter: blur(1px)):
52
+ background: var(--glass-surface)
53
+ backdrop-filter: var(--glass-blur-md)
54
+ Fallback (no @supports):
55
+ background: var(--glass-fallback)
56
+ ```
57
+
58
+ Variants:
59
+ - `glass-card--sm`: `padding: var(--space-4)`, `border-radius: var(--radius-lg)`
60
+ - `glass-card--lg`: `padding: var(--space-8)`, `border-radius: var(--radius-2xl)`, `backdrop-filter: var(--glass-blur-lg)`
61
+ - `glass-card--hero`: `padding: var(--space-10)`, `border-radius: var(--radius-3xl)`, `backdrop-filter: var(--glass-blur-lg)`
62
+ - `glass-card--featured`: adds `box-shadow: var(--shadow-glow-strong)` + `border: 1px solid var(--glass-border-accent)`
63
+ - `glass-card--shell`: uses `var(--glass-shell)` + `var(--glass-blur-lg)` — for sidebar and top bar surfaces
64
+
65
+ ---
66
+
67
+ ## 2. Glass Top Navigation Bar
68
+
69
+ ```
70
+ ┌──────────────────────────────────────────────────────────────┐
71
+ │ [Logo] AppName Link Link Link [Theme ☀] [Avatar] │
72
+ └──────────────────────────────────────────────────────────────┘
73
+ ```
74
+
75
+ ```css
76
+ .top-bar {
77
+ position: sticky;
78
+ top: 0;
79
+ z-index: var(--z-sticky);
80
+ height: var(--nav-height);
81
+ background: var(--glass-shell);
82
+ backdrop-filter: var(--glass-blur-lg);
83
+ border-bottom: 1px solid var(--glass-border);
84
+ }
85
+ @supports (backdrop-filter: blur(1px)) {
86
+ .top-bar {
87
+ background: var(--glass-shell);
88
+ backdrop-filter: var(--glass-blur-lg);
89
+ }
90
+ }
91
+ ```
92
+
93
+ - Logo: 32px square, `background: var(--accent-primary-dim)`, `border: 1px solid var(--glass-border-accent)`, `border-radius: var(--radius-md)`, icon in `var(--accent-primary)`
94
+ - Brand name: `font-family: var(--font-mono)`, `--weight-bold`, `--text-base`, `--text-heading`, `letter-spacing: var(--tracking-wide)`
95
+ - Nav links: `--text-base`, `color: var(--text-secondary)`. Hover: `var(--text-primary)`. Active: `var(--text-accent)`.
96
+ - Theme toggle: see Component 16.
97
+
98
+ ---
99
+
100
+ ## 3. Stat Card
101
+
102
+ Glass card with mono label + large number. The primary KPI component.
103
+
104
+ ```jsx
105
+ <div style={{
106
+ background: 'var(--glass-surface)',
107
+ backdropFilter: 'var(--glass-blur-md)',
108
+ border: '1px solid var(--glass-border)',
109
+ borderRadius: 'var(--radius-xl)',
110
+ padding: 'var(--space-4) var(--space-5)',
111
+ boxShadow: 'var(--shadow-md), var(--shadow-inner)',
112
+ minWidth: 140, flex: 1, position: 'relative', overflow: 'hidden',
113
+ ...TG,
114
+ }}>
115
+ {/* ::before reflection in CSS */}
116
+ <div style={{
117
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)',
118
+ color: 'var(--text-muted)', letterSpacing: 'var(--tracking-widest)',
119
+ textTransform: 'uppercase', fontWeight: 600, marginBottom: 'var(--space-1)'
120
+ }}>LABEL</div>
121
+ <div style={{ display: 'flex', alignItems: 'baseline', gap: 4 }}>
122
+ <span style={{
123
+ fontFamily: 'var(--font-display)', fontSize: 'var(--text-4xl)', fontWeight: 700,
124
+ color: 'var(--text-heading)', lineHeight: 1, fontVariantNumeric: 'tabular-nums'
125
+ }}>42</span>
126
+ <span style={{ fontSize: 'var(--text-lg)', color: 'var(--text-muted)' }}>/100</span>
127
+ </div>
128
+ <div style={{ fontSize: 'var(--text-sm)', color: 'var(--text-muted)', marginTop: 'var(--space-1)' }}>
129
+ subtitle text
130
+ </div>
131
+ </div>
132
+ ```
133
+
134
+ **Hero variant** (gradient stat number — use only once per viewport):
135
+ ```css
136
+ .stat-number--hero {
137
+ background: var(--accent-gradient);
138
+ -webkit-background-clip: text;
139
+ -webkit-text-fill-color: transparent;
140
+ background-clip: text;
141
+ }
142
+ ```
143
+
144
+ **Semantic variants**: replace number color with `var(--semantic-green)`, `var(--semantic-red)`, or `var(--semantic-amber)`.
145
+
146
+ ---
147
+
148
+ ## 4. Glass Sidebar
149
+
150
+ ```
151
+ ┌───────────────────┐
152
+ │ SECTION LABEL │ ← mono rail
153
+ │ ● Item Active │ ← glass-elevated + border-left accent
154
+ │ ○ Item │ ← text-secondary
155
+ │ │
156
+ │ SECTION LABEL │
157
+ │ ○ Item │
158
+ └───────────────────┘
159
+ ```
160
+
161
+ ```css
162
+ .sidebar {
163
+ width: var(--sidebar-width); /* 210px */
164
+ height: 100vh;
165
+ position: fixed;
166
+ top: 0; left: 0;
167
+ background: var(--glass-shell);
168
+ backdrop-filter: var(--glass-blur-lg);
169
+ border-right: 1px solid var(--glass-border);
170
+ padding: var(--space-6) 0;
171
+ overflow-y: auto;
172
+ }
173
+ @supports (backdrop-filter: blur(1px)) {
174
+ .sidebar { background: var(--glass-shell); backdrop-filter: var(--glass-blur-lg); }
175
+ }
176
+
177
+ .sidebar-section-label {
178
+ font-family: var(--font-mono);
179
+ font-size: var(--text-xs);
180
+ font-weight: var(--weight-semibold);
181
+ letter-spacing: var(--tracking-widest);
182
+ text-transform: uppercase;
183
+ color: var(--text-muted);
184
+ padding: var(--space-2) var(--space-4);
185
+ margin-top: var(--space-4);
186
+ }
187
+
188
+ .sidebar-item {
189
+ display: flex;
190
+ align-items: center;
191
+ gap: var(--space-3);
192
+ padding: var(--space-2) var(--space-4);
193
+ border-radius: var(--radius-md);
194
+ font-size: var(--text-base);
195
+ color: var(--text-secondary);
196
+ cursor: pointer;
197
+ transition: var(--transition-glass);
198
+ margin: 0 var(--space-2);
199
+ }
200
+ .sidebar-item:hover {
201
+ background: var(--glass-elevated);
202
+ color: var(--text-primary);
203
+ }
204
+ .sidebar-item.active {
205
+ background: var(--glass-elevated);
206
+ border-left: 3px solid var(--accent-primary);
207
+ color: var(--text-heading);
208
+ padding-left: calc(var(--space-4) - 3px);
209
+ }
210
+ .sidebar-item.active .sidebar-icon {
211
+ color: var(--accent-primary);
212
+ }
213
+ ```
214
+
215
+ ---
216
+
217
+ ## 5. Section Header (mono rail)
218
+
219
+ The structural backbone. Every content zone begins with one.
220
+
221
+ ```jsx
222
+ <div style={{
223
+ display: 'flex', alignItems: 'center', gap: 'var(--space-3)',
224
+ padding: 'var(--space-6) 0 var(--space-3)',
225
+ }}>
226
+ <span style={{ color: 'var(--accent-primary)', fontSize: 'var(--text-lg)' }}>⚡</span>
227
+ <div>
228
+ <div style={{
229
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', fontWeight: 600,
230
+ letterSpacing: 'var(--tracking-widest)', textTransform: 'uppercase',
231
+ color: 'var(--text-muted)',
232
+ }}>SECTION LABEL</div>
233
+ <div style={{
234
+ fontFamily: 'var(--font-display)', fontSize: 'var(--text-xl)', fontWeight: 700,
235
+ color: 'var(--text-heading)', letterSpacing: 'var(--tracking-tight)',
236
+ }}>Section Title</div>
237
+ </div>
238
+ </div>
239
+ ```
240
+
241
+ Simple variant (mono-only, no title — for dense dashboards):
242
+ ```jsx
243
+ <div style={{
244
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', fontWeight: 600,
245
+ letterSpacing: 'var(--tracking-widest)', textTransform: 'uppercase',
246
+ color: 'var(--text-muted)',
247
+ padding: 'var(--space-4) 0 var(--space-2)',
248
+ display: 'flex', alignItems: 'center', gap: 'var(--space-2)',
249
+ }}>
250
+ <span>—</span> SECTION NAME
251
+ </div>
252
+ ```
253
+
254
+ ---
255
+
256
+ ## 6. Tab Navigation
257
+
258
+ ```jsx
259
+ <div style={{
260
+ display: 'flex',
261
+ background: 'var(--glass-shell)',
262
+ backdropFilter: 'var(--glass-blur-md)',
263
+ borderBottom: '1px solid var(--glass-border)',
264
+ padding: '0 var(--space-6)',
265
+ overflowX: 'auto',
266
+ }}>
267
+ <button style={{
268
+ fontFamily: 'var(--font-body)', fontSize: 'var(--text-base)',
269
+ color: isActive ? 'var(--text-accent)' : 'var(--text-secondary)',
270
+ background: 'none', border: 'none',
271
+ padding: 'var(--space-3) var(--space-4)',
272
+ borderBottom: `3px solid ${isActive ? 'var(--accent-primary)' : 'transparent'}`,
273
+ cursor: 'pointer',
274
+ transition: 'color 150ms ease, border-color 150ms ease',
275
+ display: 'flex', alignItems: 'center', gap: 'var(--space-2)',
276
+ }}>
277
+ <span>icon</span> Label
278
+ </button>
279
+ </div>
280
+ ```
281
+
282
+ Hover (non-active): `background: var(--glass-elevated)`, `border-radius: var(--radius-md) var(--radius-md) 0 0`.
283
+
284
+ ---
285
+
286
+ ## 7. Badge / Chip
287
+
288
+ Three variants — mono font, uppercase, `letter-spacing: var(--tracking-wider)`, `font-size: var(--text-xs)`.
289
+
290
+ **Accent badge** (active, primary, teal):
291
+ ```jsx
292
+ {
293
+ background: 'var(--accent-primary-dim)',
294
+ color: 'var(--accent-primary)',
295
+ border: '1px solid var(--glass-border-accent)',
296
+ fontFamily: 'var(--font-mono)', fontSize: 'var(--text-xs)', fontWeight: 600,
297
+ letterSpacing: 'var(--tracking-wider)', textTransform: 'uppercase',
298
+ padding: '2px 10px', borderRadius: 'var(--radius-sm)',
299
+ }
300
+ ```
301
+
302
+ **Violet badge** (CTA, highlight, escalation):
303
+ ```jsx
304
+ {
305
+ background: 'var(--accent-violet-dim)',
306
+ color: 'var(--accent-violet)',
307
+ border: '1px solid rgba(124,58,237,0.30)',
308
+ /* same font styles as accent */
309
+ }
310
+ ```
311
+
312
+ **Glass badge** (neutral tag):
313
+ ```jsx
314
+ {
315
+ background: 'var(--glass-surface)',
316
+ backdropFilter: 'var(--glass-blur-sm)',
317
+ color: 'var(--text-secondary)',
318
+ border: '1px solid var(--glass-border)',
319
+ /* same font styles */
320
+ }
321
+ ```
322
+
323
+ **Semantic badges** (status):
324
+ ```
325
+ Success: background var(--semantic-green-dim), color var(--semantic-green)
326
+ Danger: background var(--semantic-red-dim), color var(--semantic-red)
327
+ Warning: background var(--semantic-amber-dim), color var(--semantic-amber)
328
+ Info: background var(--semantic-blue-dim), color var(--semantic-blue)
329
+ ```
330
+
331
+ Status dot: `5px × 5px`, `border-radius: 50%`, `background: currentColor`, `display: inline-block`, `margin-right: 5px`.
332
+
333
+ ---
334
+
335
+ ## 8. Progress Bar
336
+
337
+ Standard (command fill):
338
+ ```jsx
339
+ <div style={{
340
+ height: 5, background: 'var(--glass-border)',
341
+ borderRadius: 'var(--radius-full)', overflow: 'hidden',
342
+ }}>
343
+ <div style={{
344
+ height: '100%', borderRadius: 'var(--radius-full)',
345
+ background: 'var(--accent-primary)', width: `${pct}%`,
346
+ transition: 'width 400ms cubic-bezier(0.16, 1, 0.3, 1)',
347
+ }} />
348
+ </div>
349
+ ```
350
+
351
+ **Gradient fill** (hero metric bar — use once per panel):
352
+ ```css
353
+ background: var(--accent-gradient);
354
+ ```
355
+
356
+ **Semantic fills**: `var(--semantic-green)`, `var(--semantic-red)`, `var(--semantic-amber)`.
357
+
358
+ ---
359
+
360
+ ## 9. Data Table (glass container)
361
+
362
+ ```
363
+ ┌───────────────────────────────────────────────────┐ ← glass card
364
+ │ NAME ▲ CATEGORY STOCK STATUS PRICE │ ← mono header
365
+ ├───────────────────────────────────────────────────┤
366
+ │ Product Laptops 23 [●OK] $12,000 │
367
+ │ Product Phones 5 [●Low] $8,000 │
368
+ └───────────────────────────────────────────────────┘
369
+ ```
370
+
371
+ The table lives inside a Glass Card container:
372
+
373
+ ```css
374
+ .table-container {
375
+ background: var(--glass-surface);
376
+ backdrop-filter: var(--glass-blur-md);
377
+ border: 1px solid var(--glass-border);
378
+ border-radius: var(--radius-xl);
379
+ overflow: hidden;
380
+ position: relative;
381
+ }
382
+
383
+ table {
384
+ width: 100%;
385
+ border-collapse: separate;
386
+ border-spacing: 0 2px;
387
+ }
388
+
389
+ thead th {
390
+ padding: 12px 16px;
391
+ font-family: var(--font-mono);
392
+ font-size: var(--text-xs);
393
+ letter-spacing: var(--tracking-widest);
394
+ text-transform: uppercase;
395
+ color: var(--text-muted);
396
+ text-align: left;
397
+ font-weight: 600;
398
+ background: var(--glass-shell);
399
+ border-bottom: 1px solid var(--glass-border);
400
+ }
401
+
402
+ tbody td {
403
+ padding: 12px 16px;
404
+ background: transparent;
405
+ border-bottom: 1px solid var(--glass-border);
406
+ color: var(--text-primary);
407
+ font-size: var(--text-base);
408
+ font-variant-numeric: tabular-nums;
409
+ transition: var(--transition-glass);
410
+ }
411
+
412
+ tbody tr:hover td {
413
+ background: var(--glass-elevated);
414
+ }
415
+ ```
416
+
417
+ Rules: never `border-collapse: collapse` with `tr` backgrounds — use `td` surfaces. Numbers must have `font-variant-numeric: tabular-nums`.
418
+
419
+ ---
420
+
421
+ ## 10. Modal / Detail Overlay
422
+
423
+ ```
424
+ ┌─────── backdrop (glass-overlay blur, z-modal) ───────┐
425
+ │ │
426
+ │ ┌─ Glass Card max-w: 640px ───────────────────┐ │
427
+ │ │ ::before top reflection │ │
428
+ │ │ HEADER: mono label + title + close │ │
429
+ │ │ ───────────────────────── │ │
430
+ │ │ BODY: stat cards, progress, badges, etc. │ │
431
+ │ └─────────────────────────────────────────────┘ │
432
+ │ │
433
+ └────────────────────────────────────────────────────────┘
434
+ ```
435
+
436
+ ```css
437
+ .modal-backdrop {
438
+ position: fixed; inset: 0;
439
+ background: rgba(4, 6, 9, 0.70);
440
+ backdrop-filter: var(--glass-blur-sm);
441
+ z-index: var(--z-modal);
442
+ display: flex; align-items: center; justify-content: center;
443
+ }
444
+ .modal-content {
445
+ background: var(--glass-overlay);
446
+ backdrop-filter: var(--glass-blur-lg);
447
+ border: 1px solid var(--glass-border-strong);
448
+ border-radius: var(--radius-2xl);
449
+ box-shadow: var(--shadow-glow);
450
+ max-width: 640px; width: calc(100% - 32px);
451
+ position: relative; overflow: hidden;
452
+ padding: var(--space-8);
453
+ z-index: calc(var(--z-modal) + 1);
454
+ }
455
+ ```
456
+
457
+ Animation: `scale-materialize` from `motion.md`.
458
+
459
+ ---
460
+
461
+ ## 11. Form Elements
462
+
463
+ **Input:**
464
+ ```css
465
+ .glass-input {
466
+ height: var(--control-md);
467
+ padding: 0 var(--space-3);
468
+ background: var(--glass-surface);
469
+ backdrop-filter: var(--glass-blur-sm);
470
+ border: 1px solid var(--glass-border);
471
+ border-radius: var(--radius-md);
472
+ color: var(--text-primary);
473
+ font-size: var(--text-sm);
474
+ font-family: var(--font-body);
475
+ outline: none;
476
+ transition: var(--transition-glass);
477
+ }
478
+ .glass-input:focus {
479
+ border-color: var(--glass-border-accent);
480
+ box-shadow: 0 0 0 3px var(--accent-primary-dim);
481
+ }
482
+ .glass-input::placeholder { color: var(--text-muted); }
483
+ ```
484
+
485
+ **Label:** mono rail style (xs, muted, uppercase, tracking-widest). `margin-bottom: var(--space-1)`.
486
+
487
+ ---
488
+
489
+ ## 12. Button — Primary (gradient)
490
+
491
+ ```css
492
+ .btn-primary {
493
+ height: var(--control-lg);
494
+ padding: 0 var(--space-6);
495
+ background: var(--accent-gradient);
496
+ color: var(--accent-contrast);
497
+ border: none;
498
+ border-radius: var(--radius-md);
499
+ font-family: var(--font-body);
500
+ font-size: var(--text-sm);
501
+ font-weight: var(--weight-semibold);
502
+ letter-spacing: var(--tracking-wide);
503
+ cursor: pointer;
504
+ box-shadow: var(--shadow-glow);
505
+ transition: var(--transition-base), filter 120ms ease, transform 120ms ease;
506
+ }
507
+ .btn-primary:hover {
508
+ filter: brightness(1.08);
509
+ box-shadow: var(--shadow-glow-strong);
510
+ transform: translateY(-1px);
511
+ }
512
+ .btn-primary:active { filter: brightness(0.95); transform: translateY(0); }
513
+ .btn-primary:focus-visible {
514
+ outline: var(--focus-ring-width) solid var(--accent-primary);
515
+ outline-offset: var(--focus-ring-offset);
516
+ }
517
+ ```
518
+
519
+ ---
520
+
521
+ ## 13. Button — Glass (secondary)
522
+
523
+ ```css
524
+ .btn-glass {
525
+ height: var(--control-lg);
526
+ padding: 0 var(--space-5);
527
+ background: var(--glass-surface);
528
+ backdrop-filter: var(--glass-blur-sm);
529
+ border: 1px solid var(--glass-border);
530
+ border-radius: var(--radius-md);
531
+ color: var(--text-primary);
532
+ font-family: var(--font-body);
533
+ font-size: var(--text-sm);
534
+ font-weight: var(--weight-medium);
535
+ cursor: pointer;
536
+ transition: var(--transition-glass);
537
+ }
538
+ .btn-glass:hover {
539
+ background: var(--glass-elevated);
540
+ border-color: var(--glass-border-strong);
541
+ }
542
+ ```
543
+
544
+ ---
545
+
546
+ ## 14. Button — Ghost
547
+
548
+ ```css
549
+ .btn-ghost {
550
+ height: var(--control-md);
551
+ padding: 0 var(--space-4);
552
+ background: transparent;
553
+ border: none;
554
+ border-radius: var(--radius-md);
555
+ color: var(--text-secondary);
556
+ font-family: var(--font-body);
557
+ font-size: var(--text-sm);
558
+ cursor: pointer;
559
+ transition: background var(--transition-fast), color var(--transition-fast);
560
+ }
561
+ .btn-ghost:hover {
562
+ background: var(--glass-surface);
563
+ color: var(--text-primary);
564
+ }
565
+ ```
566
+
567
+ ---
568
+
569
+ ## 15. Toggle Switch
570
+
571
+ ```css
572
+ .toggle {
573
+ width: 44px; height: 24px;
574
+ background: var(--glass-border);
575
+ border-radius: var(--radius-full);
576
+ position: relative;
577
+ cursor: pointer;
578
+ transition: background var(--transition-base);
579
+ }
580
+ .toggle.checked { background: var(--accent-gradient); }
581
+ .toggle-thumb {
582
+ width: 18px; height: 18px;
583
+ background: white;
584
+ border-radius: var(--radius-full);
585
+ box-shadow: var(--shadow-sm);
586
+ position: absolute; top: 3px; left: 3px;
587
+ transition: transform var(--transition-base);
588
+ }
589
+ .toggle.checked .toggle-thumb { transform: translateX(20px); }
590
+ ```
591
+
592
+ ---
593
+
594
+ ## 16. Theme Toggle
595
+
596
+ ```jsx
597
+ <button style={{
598
+ width: 36, height: 36,
599
+ borderRadius: 'var(--radius-md)',
600
+ border: '1px solid var(--glass-border)',
601
+ background: 'var(--glass-surface)',
602
+ backdropFilter: 'var(--glass-blur-sm)',
603
+ color: 'var(--text-secondary)',
604
+ cursor: 'pointer',
605
+ display: 'flex', alignItems: 'center', justifyContent: 'center',
606
+ fontSize: '1rem',
607
+ transition: 'var(--transition-glass)',
608
+ }}>
609
+ {theme === 'dark' ? '☀' : '☾'}
610
+ </button>
611
+ ```
612
+
613
+ Hover: `background: var(--glass-elevated)`, `border-color: var(--glass-border-accent)`, `color: var(--accent-primary)`.
614
+
615
+ ---
616
+
617
+ ## 17. Profile Header Card
618
+
619
+ ```
620
+ ┌───────────────────────────────────────────────────────────┐ ← glass-card--lg
621
+ │ ::before reflection │
622
+ │ [Avatar 96px] ENTITY NAME [Badge][Badge] │
623
+ │ Role (italic, accent) │
624
+ │ ✦ TAGLINE (mono, xs, muted) │
625
+ │ │
626
+ │ [StatCard] [StatCard] [StatCard] │
627
+ └───────────────────────────────────────────────────────────┘
628
+ ```
629
+
630
+ - Avatar: `96px`, `border-radius: var(--radius-lg)`, `border: 2px solid var(--glass-border-strong)`
631
+ - Name: `--text-3xl`, `--weight-bold`, `--tracking-tight`, gradient text on the name if it is the identity hero
632
+ - Role: `color: var(--text-accent)`, `font-style: italic`, `--text-lg`
633
+ - Tagline: mono rail style, `--text-xs`, `--text-muted`, uppercase, `--tracking-widest`
634
+ - Stats: Stat Card components, `min-width: 130px`
635
+
636
+ ---
637
+
638
+ ## 18. DNA / Trait Panel
639
+
640
+ The identity card for any entity — labeled progress bars with color semantic fills + tag cluster.
641
+
642
+ ```
643
+ ┌─────────────────────────────────────────┐ ← glass card
644
+ │ ✦ TRAIT ANALYSIS │ ← mono section label
645
+ │ │
646
+ │ DIMENSION ████████████████░░░░ 80% │ ← progress row
647
+ │ DIMENSION ██████████░░░░░░░░░ 52% │
648
+ │ DIMENSION █████████████░░░░░░ 68% │
649
+ │ │
650
+ │ [Badge] [Badge] [Badge] [Badge] │ ← glass chips
651
+ └─────────────────────────────────────────┘
652
+ ```
653
+
654
+ Label: `min-width: 90px`, mono rail style. Bar: `flex: 1`, Progress Bar component. Value: mono, `--text-sm`, `--text-secondary`, `min-width: 40px; text-align: right`. Tags: `flex-wrap`, `gap: var(--space-2)`.
655
+
656
+ ---
657
+
658
+ ## 19. Alert / Signal Chip
659
+
660
+ Operational signals for dashboards. Always inline with status dot.
661
+
662
+ ```css
663
+ .alert-chip {
664
+ display: inline-flex;
665
+ align-items: center;
666
+ gap: var(--space-2);
667
+ padding: 4px 10px;
668
+ background: var(--glass-surface);
669
+ backdrop-filter: var(--glass-blur-sm);
670
+ border: 1px solid var(--glass-border);
671
+ border-radius: var(--radius-full);
672
+ font-family: var(--font-mono);
673
+ font-size: var(--text-xs);
674
+ font-weight: 600;
675
+ letter-spacing: var(--tracking-wider);
676
+ text-transform: uppercase;
677
+ }
678
+ /* Critical: border-color var(--semantic-red), color var(--semantic-red) */
679
+ /* Warning: border-color var(--semantic-amber), color var(--semantic-amber) */
680
+ /* Active: border-color var(--glass-border-accent), color var(--accent-primary) */
681
+ ```
682
+
683
+ ---
684
+
685
+ ## 20. Status Tape
686
+
687
+ A full-width operational status strip placed above the main dashboard content. Signals at a glance.
688
+
689
+ ```
690
+ ┌── glass-shell, full width ──────────────────────────────────────┐
691
+ │ SYSTEM STATUS: ● OPERATIONAL │ [●ALERT 3] [●WARN 12] [●OK 47]│
692
+ └─────────────────────────────────────────────────────────────────┘
693
+ ```
694
+
695
+ ```css
696
+ .status-tape {
697
+ width: 100%;
698
+ display: flex;
699
+ align-items: center;
700
+ gap: var(--space-4);
701
+ padding: var(--space-2) var(--space-6);
702
+ background: var(--glass-shell);
703
+ backdrop-filter: var(--glass-blur-md);
704
+ border-bottom: 1px solid var(--glass-border);
705
+ font-family: var(--font-mono);
706
+ font-size: var(--text-xs);
707
+ font-weight: 600;
708
+ letter-spacing: var(--tracking-wider);
709
+ text-transform: uppercase;
710
+ color: var(--text-muted);
711
+ }
712
+ .status-tape .divider {
713
+ width: 1px; height: 16px;
714
+ background: var(--glass-border);
715
+ }
716
+ ```
717
+
718
+ ---
719
+
720
+ ## 21. Toast / Notification
721
+
722
+ Auto-dismissing glass notification at bottom-right.
723
+
724
+ ```css
725
+ .toast {
726
+ background: var(--glass-overlay);
727
+ backdrop-filter: var(--glass-blur-lg);
728
+ border: 1px solid var(--glass-border-strong);
729
+ border-radius: var(--radius-xl);
730
+ box-shadow: var(--shadow-glow);
731
+ padding: var(--space-4) var(--space-5);
732
+ display: flex; align-items: center; gap: var(--space-3);
733
+ border-left: 3px solid; /* color from severity */
734
+ min-width: 280px; max-width: 400px;
735
+ position: fixed;
736
+ bottom: var(--space-6); right: var(--space-6);
737
+ z-index: var(--z-toast);
738
+ }
739
+ ```
740
+
741
+ ---
742
+
743
+ ## 22. Empty State
744
+
745
+ ```css
746
+ .empty-state {
747
+ display: flex; flex-direction: column; align-items: center;
748
+ gap: var(--space-4); padding: var(--space-16) var(--space-6);
749
+ text-align: center;
750
+ }
751
+ .empty-icon-area {
752
+ width: 80px; height: 80px;
753
+ background: var(--glass-surface);
754
+ backdrop-filter: var(--glass-blur-sm);
755
+ border: 1px solid var(--glass-border);
756
+ border-radius: var(--radius-2xl);
757
+ display: flex; align-items: center; justify-content: center;
758
+ font-size: 2rem;
759
+ position: relative; overflow: hidden;
760
+ }
761
+ .empty-title {
762
+ font-size: var(--text-base);
763
+ font-weight: var(--weight-semibold);
764
+ color: var(--text-heading);
765
+ }
766
+ .empty-description {
767
+ font-size: var(--text-sm);
768
+ color: var(--text-secondary);
769
+ max-width: 280px;
770
+ line-height: var(--leading-relaxed);
771
+ }
772
+ ```
773
+
774
+ ---
775
+
776
+ ## 23. Skeleton Loader
777
+
778
+ Glass surface with aurora shimmer — matches the dark glass environment.
779
+
780
+ ```css
781
+ .skeleton {
782
+ position: relative;
783
+ overflow: hidden;
784
+ background: var(--glass-surface);
785
+ border-radius: var(--radius-md);
786
+ }
787
+ .skeleton::after {
788
+ content: '';
789
+ position: absolute; inset: 0;
790
+ background: linear-gradient(
791
+ 90deg,
792
+ transparent 0%,
793
+ rgba(0, 200, 232, 0.06) 50%,
794
+ transparent 100%
795
+ );
796
+ transform: translateX(-100%);
797
+ animation: aurora-shimmer 1.5s infinite;
798
+ }
799
+ @keyframes aurora-shimmer {
800
+ to { transform: translateX(100%); }
801
+ }
802
+ @media (prefers-reduced-motion: reduce) {
803
+ .skeleton::after { animation: none; }
804
+ }
805
+ ```
806
+
807
+ ---
808
+
809
+ ## 24. Tooltip
810
+
811
+ Small glass bubble on hover.
812
+
813
+ ```css
814
+ .tooltip {
815
+ background: var(--glass-overlay);
816
+ backdrop-filter: var(--glass-blur-md);
817
+ border: 1px solid var(--glass-border-strong);
818
+ border-radius: var(--radius-md);
819
+ padding: var(--space-2) var(--space-3);
820
+ font-size: var(--text-xs);
821
+ color: var(--text-primary);
822
+ box-shadow: var(--shadow-md);
823
+ pointer-events: none;
824
+ z-index: var(--z-toast);
825
+ white-space: nowrap;
826
+ }
827
+ ```