@nurix/etna 0.19.11 → 0.19.13

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 (494) hide show
  1. package/README.md +6 -4
  2. package/data/harness-index.json +1 -1
  3. package/data/harnesses/code/agents/maintenance.md +1 -1
  4. package/data/harnesses/code/harness.json +1 -1
  5. package/data/harnesses/code/rules/frontend.md +5 -5
  6. package/data/harnesses/code/skills/design/SKILL.md +70 -50
  7. package/data/harnesses/code/skills/design/components/charts.md +76 -0
  8. package/data/harnesses/code/skills/design/components/collections.md +132 -0
  9. package/data/harnesses/code/skills/design/components/feedback.md +47 -0
  10. package/data/harnesses/code/skills/design/components/hooks.md +35 -0
  11. package/data/harnesses/code/skills/design/components/index.md +143 -0
  12. package/data/harnesses/code/skills/design/components/inputs.md +327 -0
  13. package/data/harnesses/code/skills/design/components/layout.md +52 -0
  14. package/data/harnesses/code/skills/design/components/media.md +66 -0
  15. package/data/harnesses/code/skills/design/components/motion.md +82 -0
  16. package/data/harnesses/code/skills/design/components/navigation.md +29 -0
  17. package/data/harnesses/code/skills/design/components/overlays.md +72 -0
  18. package/data/harnesses/code/skills/design/components/setup.md +40 -0
  19. package/data/harnesses/code/skills/design/components/typography.md +46 -0
  20. package/data/harnesses/code/skills/design/components/utils.md +37 -0
  21. package/data/harnesses/code/skills/design/data/blueprints/browse.md +38 -0
  22. package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +38 -0
  23. package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +38 -0
  24. package/data/harnesses/code/skills/design/data/blueprints/grid.md +38 -0
  25. package/data/harnesses/code/skills/design/data/blueprints/queue.md +38 -0
  26. package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +38 -0
  27. package/data/harnesses/code/skills/design/data/blueprints/settings.md +38 -0
  28. package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +33 -0
  29. package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
  30. package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
  31. package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
  32. package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
  33. package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
  34. package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
  35. package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
  36. package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
  37. package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
  38. package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
  39. package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
  40. package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
  41. package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
  42. package/data/harnesses/code/skills/design/data/charts/census.csv +58 -0
  43. package/data/harnesses/code/skills/design/data/checklists/browse.md +21 -0
  44. package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +20 -0
  45. package/data/harnesses/code/skills/design/data/checklists/dashboard.md +21 -0
  46. package/data/harnesses/code/skills/design/data/checklists/grid.md +21 -0
  47. package/data/harnesses/code/skills/design/data/checklists/queue.md +21 -0
  48. package/data/harnesses/code/skills/design/data/checklists/record-detail.md +21 -0
  49. package/data/harnesses/code/skills/design/data/checklists/settings.md +21 -0
  50. package/data/harnesses/code/skills/design/data/chrome/board-column.md +68 -0
  51. package/data/harnesses/code/skills/design/data/chrome/data-table.md +63 -0
  52. package/data/harnesses/code/skills/design/data/chrome/side-panel.md +60 -0
  53. package/data/harnesses/code/skills/design/data/chrome/sidebar.md +78 -0
  54. package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +62 -0
  55. package/data/harnesses/code/skills/design/data/chrome/topbar.md +65 -0
  56. package/data/harnesses/code/skills/design/data/color/accent-presets.md +90 -0
  57. package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +91 -0
  58. package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +90 -0
  59. package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +90 -0
  60. package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +90 -0
  61. package/data/harnesses/code/skills/design/data/color/clay-parchment.md +90 -0
  62. package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +90 -0
  63. package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +90 -0
  64. package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +90 -0
  65. package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
  66. package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +90 -0
  67. package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +90 -0
  68. package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +90 -0
  69. package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
  70. package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +90 -0
  71. package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +89 -0
  72. package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +15 -0
  73. package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +87 -0
  74. package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +25 -0
  75. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
  76. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
  77. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
  78. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
  79. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
  80. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
  81. package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
  82. package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
  83. package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
  84. package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
  85. package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
  86. package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
  87. package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
  88. package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
  89. package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
  90. package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
  91. package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
  92. package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
  93. package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
  94. package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
  95. package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
  96. package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
  97. package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
  98. package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
  99. package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +16 -0
  100. package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
  101. package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +16 -0
  102. package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +18 -0
  103. package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +16 -0
  104. package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
  105. package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +18 -0
  106. package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +16 -0
  107. package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
  108. package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +16 -0
  109. package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
  110. package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +16 -0
  111. package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +18 -0
  112. package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +16 -0
  113. package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
  114. package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +16 -0
  115. package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +16 -0
  116. package/data/harnesses/code/skills/design/data/iconography.md +199 -0
  117. package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +18 -0
  118. package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +18 -0
  119. package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
  120. package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +18 -0
  121. package/data/harnesses/code/skills/design/data/motion/hover-lift.md +18 -0
  122. package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +18 -0
  123. package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +18 -0
  124. package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +18 -0
  125. package/data/harnesses/code/skills/design/data/motion/panel-slide.md +18 -0
  126. package/data/harnesses/code/skills/design/data/motion/press-feedback.md +18 -0
  127. package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +18 -0
  128. package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +18 -0
  129. package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +18 -0
  130. package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +18 -0
  131. package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +18 -0
  132. package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +18 -0
  133. package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +18 -0
  134. package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
  135. package/data/harnesses/code/skills/design/data/tells.csv +34 -0
  136. package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +17 -0
  137. package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +17 -0
  138. package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +17 -0
  139. package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
  140. package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +17 -0
  141. package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +17 -0
  142. package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
  143. package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
  144. package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
  145. package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +17 -0
  146. package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
  147. package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +17 -0
  148. package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +17 -0
  149. package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
  150. package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +17 -0
  151. package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +17 -0
  152. package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
  153. package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +17 -0
  154. package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +29 -0
  155. package/data/harnesses/code/skills/design/data/voices/direct-operator.md +29 -0
  156. package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +29 -0
  157. package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +29 -0
  158. package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +29 -0
  159. package/data/harnesses/code/skills/design/data/voices/warm-guide.md +29 -0
  160. package/data/harnesses/code/skills/design/design-md/SCHEMA.md +179 -0
  161. package/data/harnesses/code/skills/design/design-md/index.csv +67 -0
  162. package/data/harnesses/code/skills/design/design-md/library/airbnb.md +207 -0
  163. package/data/harnesses/code/skills/design/design-md/library/airtable.md +205 -0
  164. package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +203 -0
  165. package/data/harnesses/code/skills/design/design-md/library/apple.md +206 -0
  166. package/data/harnesses/code/skills/design/design-md/library/binance.md +210 -0
  167. package/data/harnesses/code/skills/design/design-md/library/bmw.md +210 -0
  168. package/data/harnesses/code/skills/design/design-md/library/cal.md +209 -0
  169. package/data/harnesses/code/skills/design/design-md/library/clay.md +204 -0
  170. package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +205 -0
  171. package/data/harnesses/code/skills/design/design-md/library/cohere.md +205 -0
  172. package/data/harnesses/code/skills/design/design-md/library/coinbase.md +198 -0
  173. package/data/harnesses/code/skills/design/design-md/library/composio.md +198 -0
  174. package/data/harnesses/code/skills/design/design-md/library/cursor.md +197 -0
  175. package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +199 -0
  176. package/data/harnesses/code/skills/design/design-md/library/expo.md +200 -0
  177. package/data/harnesses/code/skills/design/design-md/library/figma.md +199 -0
  178. package/data/harnesses/code/skills/design/design-md/library/framer.md +202 -0
  179. package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +205 -0
  180. package/data/harnesses/code/skills/design/design-md/library/ibm.md +205 -0
  181. package/data/harnesses/code/skills/design/design-md/library/intercom.md +204 -0
  182. package/data/harnesses/code/skills/design/design-md/library/kraken.md +200 -0
  183. package/data/harnesses/code/skills/design/design-md/library/linear-app.md +198 -0
  184. package/data/harnesses/code/skills/design/design-md/library/lovable.md +199 -0
  185. package/data/harnesses/code/skills/design/design-md/library/meta.md +204 -0
  186. package/data/harnesses/code/skills/design/design-md/library/minimax.md +204 -0
  187. package/data/harnesses/code/skills/design/design-md/library/mintlify.md +210 -0
  188. package/data/harnesses/code/skills/design/design-md/library/miro.md +209 -0
  189. package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +201 -0
  190. package/data/harnesses/code/skills/design/design-md/library/mongodb.md +201 -0
  191. package/data/harnesses/code/skills/design/design-md/library/notion.md +204 -0
  192. package/data/harnesses/code/skills/design/design-md/library/nvidia.md +215 -0
  193. package/data/harnesses/code/skills/design/design-md/library/ollama.md +213 -0
  194. package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +216 -0
  195. package/data/harnesses/code/skills/design/design-md/library/posthog.md +218 -0
  196. package/data/harnesses/code/skills/design/design-md/library/raycast.md +214 -0
  197. package/data/harnesses/code/skills/design/design-md/library/replicate.md +202 -0
  198. package/data/harnesses/code/skills/design/design-md/library/resend.md +203 -0
  199. package/data/harnesses/code/skills/design/design-md/library/revolut.md +203 -0
  200. package/data/harnesses/code/skills/design/design-md/library/runwayml.md +203 -0
  201. package/data/harnesses/code/skills/design/design-md/library/sanity.md +200 -0
  202. package/data/harnesses/code/skills/design/design-md/library/sentry.md +201 -0
  203. package/data/harnesses/code/skills/design/design-md/library/shopify.md +202 -0
  204. package/data/harnesses/code/skills/design/design-md/library/slack.md +202 -0
  205. package/data/harnesses/code/skills/design/design-md/library/spacex.md +206 -0
  206. package/data/harnesses/code/skills/design/design-md/library/spotify.md +206 -0
  207. package/data/harnesses/code/skills/design/design-md/library/stripe.md +196 -0
  208. package/data/harnesses/code/skills/design/design-md/library/supabase.md +196 -0
  209. package/data/harnesses/code/skills/design/design-md/library/superhuman.md +194 -0
  210. package/data/harnesses/code/skills/design/design-md/library/tesla.md +198 -0
  211. package/data/harnesses/code/skills/design/design-md/library/theverge.md +199 -0
  212. package/data/harnesses/code/skills/design/design-md/library/together-ai.md +193 -0
  213. package/data/harnesses/code/skills/design/design-md/library/uber.md +195 -0
  214. package/data/harnesses/code/skills/design/design-md/library/vercel.md +195 -0
  215. package/data/harnesses/code/skills/design/design-md/library/voltagent.md +197 -0
  216. package/data/harnesses/code/skills/design/design-md/library/warp.md +196 -0
  217. package/data/harnesses/code/skills/design/design-md/library/webflow.md +197 -0
  218. package/data/harnesses/code/skills/design/design-md/library/wired.md +197 -0
  219. package/data/harnesses/code/skills/design/design-md/library/wise.md +198 -0
  220. package/data/harnesses/code/skills/design/design-md/library/x-ai.md +199 -0
  221. package/data/harnesses/code/skills/design/design-md/library/zapier.md +198 -0
  222. package/data/harnesses/code/skills/design/design-md/nurix.md +214 -0
  223. package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +184 -0
  224. package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +216 -0
  225. package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +211 -0
  226. package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +212 -0
  227. package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +216 -0
  228. package/data/harnesses/code/skills/design/references/compose.md +23 -0
  229. package/data/harnesses/code/skills/design/references/content.md +28 -0
  230. package/data/harnesses/code/skills/design/references/emission.md +21 -0
  231. package/data/harnesses/code/skills/design/references/existing-apps.md +27 -0
  232. package/data/harnesses/code/skills/design/references/intake.md +36 -0
  233. package/data/harnesses/code/skills/design/references/object-pass.md +24 -0
  234. package/data/harnesses/code/skills/design/references/ship-gate.md +29 -0
  235. package/data/harnesses/code/skills/design/references/ux-patterns/Readme.md +195 -0
  236. package/data/harnesses/code/skills/design/references/ux-patterns/ai-layer.md +49 -0
  237. package/data/harnesses/code/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
  238. package/data/harnesses/code/skills/design/references/ux-patterns/container-choice.md +44 -0
  239. package/data/harnesses/code/skills/design/references/ux-patterns/creation-paths.md +46 -0
  240. package/data/harnesses/code/skills/design/references/ux-patterns/dashboards.md +42 -0
  241. package/data/harnesses/code/skills/design/references/ux-patterns/modes.md +42 -0
  242. package/data/harnesses/code/skills/design/references/ux-patterns/object-model.md +46 -0
  243. package/data/harnesses/code/skills/design/references/ux-patterns/page-archetype.md +48 -0
  244. package/data/harnesses/code/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
  245. package/data/harnesses/code/skills/design/references/ux-patterns/settings.md +42 -0
  246. package/data/harnesses/code/skills/design/references/ux-patterns/standard-pages.md +46 -0
  247. package/data/harnesses/code/skills/design/references/ux-patterns/state-matrix.md +41 -0
  248. package/data/harnesses/code/skills/design/references/ux-patterns/table-mechanics.md +48 -0
  249. package/data/harnesses/code/skills/design/references/ux-patterns/verbs.md +45 -0
  250. package/data/harnesses/code/skills/design/references/ux-patterns/viewer-context.md +40 -0
  251. package/data/harnesses/code/skills/design/scripts/README-validator.md +27 -0
  252. package/data/harnesses/code/skills/design/scripts/select-chart.mjs +596 -0
  253. package/data/harnesses/code/skills/design/scripts/validate-design-md.mjs +1198 -0
  254. package/data/harnesses/discussion/agents/discussion-baseline.md +1 -1
  255. package/data/harnesses/discussion/harness.json +1 -1
  256. package/data/harnesses/etna/agents/maintenance.md +1 -1
  257. package/data/harnesses/etna/harness.json +1 -1
  258. package/data/harnesses/hr/CLAUDE.md +1 -1
  259. package/data/harnesses/hr/harness.json +1 -1
  260. package/package.json +1 -1
  261. package/data/harnesses/code/skills/design/data/catalog/rules.csv +0 -137
  262. package/data/harnesses/code/skills/design/data/combinations/Readme.md +0 -33
  263. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +0 -113
  264. package/data/harnesses/code/skills/design/data/combinations/charts.csv +0 -33
  265. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +0 -448
  266. package/data/harnesses/code/skills/design/data/combinations/icons.csv +0 -157
  267. package/data/harnesses/code/skills/design/data/combinations/landing.csv +0 -38
  268. package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +0 -2001
  269. package/data/harnesses/code/skills/design/data/combinations/manifest.json +0 -330
  270. package/data/harnesses/code/skills/design/data/combinations/motion.csv +0 -10
  271. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +0 -92
  272. package/data/harnesses/code/skills/design/data/combinations/product-router.csv +0 -80
  273. package/data/harnesses/code/skills/design/data/combinations/styles.csv +0 -67
  274. package/data/harnesses/code/skills/design/data/combinations/typography.csv +0 -64
  275. package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +0 -106
  276. package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +0 -154
  277. package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +0 -151
  278. package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +0 -139
  279. package/data/harnesses/code/skills/design/data/design-md/library/apple.md +0 -139
  280. package/data/harnesses/code/skills/design/data/design-md/library/binance.md +0 -140
  281. package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +0 -140
  282. package/data/harnesses/code/skills/design/data/design-md/library/cal.md +0 -140
  283. package/data/harnesses/code/skills/design/data/design-md/library/clay.md +0 -139
  284. package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +0 -139
  285. package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +0 -147
  286. package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +0 -156
  287. package/data/harnesses/code/skills/design/data/design-md/library/composio.md +0 -138
  288. package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +0 -138
  289. package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +0 -137
  290. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +0 -148
  291. package/data/harnesses/code/skills/design/data/design-md/library/figma.md +0 -141
  292. package/data/harnesses/code/skills/design/data/design-md/library/framer.md +0 -156
  293. package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +0 -140
  294. package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +0 -153
  295. package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +0 -158
  296. package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +0 -156
  297. package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +0 -122
  298. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +0 -140
  299. package/data/harnesses/code/skills/design/data/design-md/library/meta.md +0 -139
  300. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +0 -139
  301. package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +0 -139
  302. package/data/harnesses/code/skills/design/data/design-md/library/miro.md +0 -153
  303. package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +0 -140
  304. package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +0 -155
  305. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +0 -140
  306. package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +0 -141
  307. package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +0 -145
  308. package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +0 -142
  309. package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +0 -152
  310. package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +0 -137
  311. package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +0 -140
  312. package/data/harnesses/code/skills/design/data/design-md/library/resend.md +0 -170
  313. package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +0 -145
  314. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +0 -137
  315. package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +0 -168
  316. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +0 -163
  317. package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +0 -147
  318. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +0 -158
  319. package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +0 -171
  320. package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +0 -166
  321. package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +0 -160
  322. package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +0 -173
  323. package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +0 -145
  324. package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +0 -153
  325. package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +0 -167
  326. package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +0 -140
  327. package/data/harnesses/code/skills/design/data/design-md/library/uber.md +0 -140
  328. package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +0 -140
  329. package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +0 -130
  330. package/data/harnesses/code/skills/design/data/design-md/library/warp.md +0 -140
  331. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +0 -140
  332. package/data/harnesses/code/skills/design/data/design-md/library/wired.md +0 -139
  333. package/data/harnesses/code/skills/design/data/design-md/library/wise.md +0 -137
  334. package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +0 -138
  335. package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +0 -158
  336. package/data/harnesses/code/skills/design/data/design-md/nurix.md +0 -138
  337. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +0 -695
  338. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +0 -20
  339. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +0 -1272
  340. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +0 -20
  341. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +0 -1268
  342. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +0 -20
  343. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +0 -1273
  344. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +0 -20
  345. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +0 -1262
  346. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +0 -20
  347. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +0 -1257
  348. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +0 -20
  349. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +0 -1270
  350. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +0 -20
  351. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +0 -1270
  352. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +0 -20
  353. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +0 -1261
  354. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +0 -20
  355. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +0 -1268
  356. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +0 -20
  357. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +0 -1281
  358. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +0 -20
  359. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +0 -1262
  360. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +0 -20
  361. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +0 -1271
  362. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +0 -20
  363. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +0 -1276
  364. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +0 -20
  365. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +0 -1293
  366. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +0 -20
  367. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +0 -1270
  368. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +0 -20
  369. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +0 -1276
  370. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +0 -20
  371. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +0 -1267
  372. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +0 -251
  373. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +0 -20
  374. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +0 -1273
  375. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +0 -20
  376. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +0 -1286
  377. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +0 -20
  378. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +0 -1290
  379. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +0 -20
  380. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +0 -1270
  381. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +0 -23
  382. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +0 -599
  383. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +0 -1272
  384. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +0 -20
  385. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +0 -1267
  386. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +0 -20
  387. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +0 -1289
  388. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +0 -20
  389. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +0 -1258
  390. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +0 -20
  391. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +0 -1284
  392. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +0 -20
  393. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +0 -1291
  394. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +0 -20
  395. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +0 -1263
  396. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +0 -20
  397. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +0 -1270
  398. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +0 -20
  399. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +0 -1261
  400. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +0 -20
  401. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +0 -1209
  402. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +0 -20
  403. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +0 -1265
  404. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +0 -20
  405. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +0 -1253
  406. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +0 -20
  407. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +0 -1268
  408. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +0 -20
  409. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +0 -1261
  410. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +0 -20
  411. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +0 -1263
  412. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +0 -20
  413. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +0 -1266
  414. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +0 -23
  415. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +0 -623
  416. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +0 -1276
  417. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +0 -20
  418. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +0 -1264
  419. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +0 -20
  420. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +0 -1268
  421. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +0 -20
  422. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +0 -1270
  423. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +0 -20
  424. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +0 -1288
  425. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +0 -20
  426. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +0 -1272
  427. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +0 -20
  428. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +0 -1265
  429. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +0 -20
  430. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +0 -1287
  431. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +0 -20
  432. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +0 -1286
  433. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +0 -20
  434. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +0 -1285
  435. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +0 -20
  436. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +0 -1287
  437. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +0 -20
  438. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +0 -1278
  439. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +0 -20
  440. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +0 -1269
  441. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +0 -20
  442. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +0 -1285
  443. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +0 -20
  444. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +0 -1303
  445. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +0 -20
  446. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +0 -1274
  447. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +0 -20
  448. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +0 -1296
  449. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +0 -23
  450. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +0 -612
  451. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +0 -1282
  452. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +0 -20
  453. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +0 -1287
  454. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +0 -20
  455. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +0 -1268
  456. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +0 -20
  457. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +0 -1276
  458. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +0 -20
  459. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +0 -1273
  460. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +0 -20
  461. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +0 -1296
  462. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +0 -20
  463. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +0 -1286
  464. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +0 -249
  465. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +0 -249
  466. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +0 -225
  467. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +0 -249
  468. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +0 -224
  469. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +0 -249
  470. package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +0 -88
  471. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +0 -132
  472. package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +0 -76
  473. package/data/harnesses/code/skills/design/references/create.md +0 -173
  474. package/data/harnesses/code/skills/design/references/diagnosis.md +0 -108
  475. package/data/harnesses/code/skills/design/references/hard-rules.md +0 -177
  476. package/data/harnesses/code/skills/design/references/improve.md +0 -116
  477. package/data/harnesses/code/skills/design/references/interaction.md +0 -77
  478. package/data/harnesses/code/skills/design/references/introspect.md +0 -100
  479. package/data/harnesses/code/skills/design/references/lifecycle.md +0 -73
  480. package/data/harnesses/code/skills/design/references/personality.md +0 -575
  481. package/data/harnesses/code/skills/design/references/structure.md +0 -159
  482. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +0 -1312
  483. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +0 -1498
  484. package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +0 -551
  485. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +0 -1092
  486. package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +0 -26
  487. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +0 -65
  488. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +0 -538
  489. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +0 -312
  490. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +0 -890
  491. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +0 -769
  492. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +0 -675
  493. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +0 -164
  494. package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +0 -439
@@ -0,0 +1,198 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: linear-app
4
+ tier: brand
5
+ segments: [dev-tools, pm]
6
+ keywords: [dark, minimal, keyboard, dense, lavender, crisp]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 linear-app entry (2026-07-04) + 2026-07-12 re-audit of the public Linear identity; Linear's proprietary sans substituted with Inter (the corpus's own documented substitute), Geist Mono kept per v1"
9
+ license: open
10
+ ---
11
+
12
+ # linear-app — a darkened instrument panel at speed
13
+
14
+ ## 1 Visual Theme
15
+ The cockpit of a precision instrument at night: a matte near-black panel, charcoal
16
+ modules a hairline above it, every dial legible at a glance, and one lavender indicator
17
+ lit. **Dark is the signature theme** — the near-black canvas with a faint blue tint —
18
+ and light is a valued daytime mode, not the default flipped. Flat: rank is the surface
19
+ ladder and hairline `border`; Linear resists shadow almost entirely. One accent —
20
+ lavender `primary` — appears only on the brand mark, the one primary action, the focus
21
+ `ring`, and link emphasis. Density is dense: tight rows, minimal chrome, technical.
22
+
23
+ ## 2 Color Roles
24
+ Cool blue-gray neutrals so the UI reads engineered, never flatly gray. `primary`
25
+ lavender is the only hue that carries meaning; `accent` is its faint wash for selected
26
+ and hovered rows. Status hues (`destructive`, `success`, `warning`) speak status only —
27
+ never chrome. The dark canvas is intentionally not pure black: the faint blue tint is
28
+ the identity. Sidebar sits a half-step off the canvas in both themes.
29
+
30
+ ## 3 Typography
31
+ Inter (single voice — the open substitute for Linear's proprietary cut) / Geist Mono
32
+ (IDs, codes, timestamps, log lines). Register scope: no display face — Inter at 600
33
+ carries every heading; 700+ is resisted. The signature contrast is the uppercase
34
+ eyebrow tracked *positive* against negatively-tracked headings. Every numeric column
35
+ renders `tabular-nums`; emphasis bumps weight, never size.
36
+
37
+ ## 4 Component Stylings
38
+ Buttons `radius-md` (8px), `primary` fill, no pill, hover lifts one lavender step;
39
+ secondary takes `secondary` fill with a hairline. Inputs hairline `input` edge with a
40
+ 2px lavender `ring`, no glow. Cards a hairline above canvas on `border`, stepping to
41
+ `radius-lg` for large panels. Table rows dense on `border` grid, `muted` hover,
42
+ `accent` selection. Detail opens in the side panel, never a modal workspace. Badges:
43
+ hairline, `muted`/status fill, uppercase eyebrow.
44
+
45
+ ## 5 Layout
46
+ 4px base; ramp 2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64. Sidebar 244/56px; topbar 48px;
47
+ side panel 420/640px; content max 1280px; tables full-width. Dense globally — compact
48
+ button padding, tight rows — stepped per archetype, never absolute overrides.
49
+
50
+ ## 6 Depth
51
+ Flat — the surface ladder and hairlines carry all rank. Dark: `background` 0.08 L,
52
+ `card` a hairline above with a faint top-edge highlight, `surface-raised` 0.19,
53
+ `surface-overlay` 0.23, hue held at 270. Light: white canvas, hairlines, and the rare
54
+ soft shadow only on true overlays — blue-tinted, never black. Focus is a 2px lavender
55
+ `ring`, always visible; three z-levels: content, sticky chrome, overlay.
56
+
57
+ ## 7 Motion
58
+ Near-instant. Named moments: `command-open` (command palette, 120ms), `panel-glide`
59
+ (side panel, 200ms, interruptible), `focus-snap` (press feedback, 80ms). Physicality
60
+ is granted only to auth. Nothing animates in tables, palettes, or any
61
+ keyboard-initiated action — speed is the brand.
62
+
63
+ ## 8 Iconography & Charts
64
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline axes,
65
+ no gridline fills, lavender-led categorical ramp (`chart-1..5`), tooltips on
66
+ `surface-overlay` with mono numerals.
67
+
68
+ ## 9 Voice
69
+ Terse engineer: short verbs, zero ceremony, no exclamation. "Create issue" · "No
70
+ triage items — inbox zero since Tuesday" · "This branch is behind main; rebase before
71
+ merging."
72
+
73
+ ## 10 Do's & Don'ts
74
+ Do default to dark — it is the identity; ship light as an equal daytime mode. Do
75
+ reserve lavender for the brand mark, one primary action, focus, and links. Do walk the
76
+ surface ladder without skipping steps. Don't use pure black — the faint blue tint is
77
+ intentional. Don't use lavender as a fill or background. Don't pill the CTA, and never
78
+ signal elevation with heavy shadow.
79
+
80
+ ## 11 Responsive
81
+ 375: sidebar → drawer; two-pane stacks; side panel → full sheet; density holds. 768:
82
+ sidebar → icon rail; tables scroll overflow. 1024: two-pane queue+detail holds. 1440:
83
+ forms cap; tables and dashboards take the full width.
84
+
85
+ ## 12 Agent Prompt Guide
86
+ Wear dark by default. Lead every list surface with its dense table; lead every entity
87
+ with its primary read, not chrome. If two things want lavender, one is not primary.
88
+ Every ID, code, and timestamp is mono; the `ring` is always visible. Dark is authored —
89
+ consult the block, never derive.
90
+
91
+ ```yaml design-values
92
+ color:
93
+ light:
94
+ background: oklch(0.99 0.005 275)
95
+ foreground: oklch(0.165 0.005 264)
96
+ card: oklch(0.995 0.005 275)
97
+ card-foreground: oklch(0.165 0.005 264)
98
+ popover: oklch(0.995 0.005 275)
99
+ popover-foreground: oklch(0.165 0.005 264)
100
+ primary: oklch(0.555 0.16 275)
101
+ primary-foreground: oklch(0.99 0.005 275)
102
+ secondary: oklch(0.97 0.005 271)
103
+ secondary-foreground: oklch(0.25 0.01 268)
104
+ muted: oklch(0.965 0.005 271)
105
+ muted-foreground: oklch(0.5 0.022 264)
106
+ accent: oklch(0.951 0.018 279)
107
+ accent-foreground: oklch(0.38 0.12 276)
108
+ destructive: oklch(0.55 0.19 24)
109
+ destructive-foreground: oklch(0.98 0.008 24)
110
+ success: oklch(0.56 0.14 147)
111
+ warning: oklch(0.7 0.14 60)
112
+ border: oklch(0.925 0.005 275)
113
+ input: oklch(0.891 0.007 269)
114
+ ring: oklch(0.555 0.16 275)
115
+ surface-raised: oklch(0.993 0.005 275)
116
+ surface-overlay: oklch(0.995 0.005 275)
117
+ chart-1: oklch(0.567 0.159 275)
118
+ chart-2: oklch(0.712 0.151 250)
119
+ chart-3: oklch(0.703 0.127 159)
120
+ chart-4: oklch(0.76 0.142 60)
121
+ chart-5: oklch(0.653 0.183 24)
122
+ sidebar: oklch(0.975 0.005 271)
123
+ sidebar-foreground: oklch(0.25 0.01 268)
124
+ sidebar-primary: oklch(0.555 0.16 275)
125
+ sidebar-primary-foreground: oklch(0.99 0.005 275)
126
+ sidebar-accent: oklch(0.94 0.018 279)
127
+ sidebar-accent-foreground: oklch(0.36 0.12 276)
128
+ sidebar-border: oklch(0.925 0.005 275)
129
+ sidebar-ring: oklch(0.555 0.16 275)
130
+ dark:
131
+ background: oklch(0.08 0.006 270)
132
+ foreground: oklch(0.975 0.005 275)
133
+ card: oklch(0.17 0.005 270)
134
+ card-foreground: oklch(0.975 0.005 275)
135
+ popover: oklch(0.23 0.006 270)
136
+ popover-foreground: oklch(0.975 0.005 275)
137
+ primary: oklch(0.555 0.16 275)
138
+ primary-foreground: oklch(0.99 0.005 275)
139
+ secondary: oklch(0.17 0.005 270)
140
+ secondary-foreground: oklch(0.9 0.006 270)
141
+ muted: oklch(0.195 0.005 270)
142
+ muted-foreground: oklch(0.65 0.015 262)
143
+ accent: oklch(0.236 0.027 281)
144
+ accent-foreground: oklch(0.88 0.03 277)
145
+ destructive: oklch(0.653 0.183 24)
146
+ destructive-foreground: oklch(0.13 0.02 24)
147
+ success: oklch(0.637 0.145 147)
148
+ warning: oklch(0.76 0.142 60)
149
+ border: oklch(0.264 0.01 268)
150
+ input: oklch(0.327 0.011 286)
151
+ ring: oklch(0.691 0.164 276)
152
+ surface-raised: oklch(0.19 0.006 270)
153
+ surface-overlay: oklch(0.23 0.006 270)
154
+ chart-1: oklch(0.62 0.15 275)
155
+ chart-2: oklch(0.72 0.15 250)
156
+ chart-3: oklch(0.72 0.13 159)
157
+ chart-4: oklch(0.78 0.14 60)
158
+ chart-5: oklch(0.68 0.18 24)
159
+ sidebar: oklch(0.11 0.006 275)
160
+ sidebar-foreground: oklch(0.9 0.006 270)
161
+ sidebar-primary: oklch(0.555 0.16 275)
162
+ sidebar-primary-foreground: oklch(0.99 0.005 275)
163
+ sidebar-accent: oklch(0.2 0.02 281)
164
+ sidebar-accent-foreground: oklch(0.88 0.03 277)
165
+ sidebar-border: oklch(0.22 0.008 268)
166
+ sidebar-ring: oklch(0.691 0.164 276)
167
+ typography:
168
+ display: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [600] }
169
+ sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 500, 600] }
170
+ mono: { family: "Geist Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
171
+ ramp:
172
+ display: { size: 28px, line: 34px, weight: 600, family: display, tracking: -0.02em }
173
+ h1: { size: 24px, line: 30px, weight: 600, family: sans, tracking: -0.015em }
174
+ h2: { size: 18px, line: 24px, weight: 600, family: sans, tracking: -0.01em }
175
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
176
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
177
+ caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.04em }
178
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
179
+ register-scope: { display: [auth, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, codes, timestamps, logs] }
180
+ elevation:
181
+ radius: { sm: 4px, md: 8px, lg: 12px }
182
+ hairline: border
183
+ shadow:
184
+ overlay: "0 8px 24px oklch(0.15 0.02 275 / 0.12)"
185
+ popover: "0 4px 12px oklch(0.15 0.02 275 / 0.08)"
186
+ dark-ladder: { background: 0.08, raised: 0.19, overlay: 0.23, hue-held: 270 }
187
+ motion:
188
+ duration: { press: 80ms, fade: 120ms, panel: 200ms }
189
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
190
+ entrance-never: ease-in
191
+ identity-moments: [auth]
192
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
193
+ charts:
194
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
195
+ sequential: { from: background, to: chart-1 }
196
+ diverging: { negative: chart-5, mid: muted, positive: chart-3 }
197
+ layout: { base: 4px, sidebar: [244px, 56px], topbar: 48px, side-panel: [420px, 640px], content-max: 1280px }
198
+ ```
@@ -0,0 +1,199 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: lovable
4
+ tier: brand
5
+ segments: [dev-tools, ai, builder]
6
+ keywords: [warm, cream, charcoal, humanist, parchment, tonal]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 lovable entry (2026-07-04) + 2026-07-12 re-audit of the public Lovable identity; proprietary Camera Plain Variable substituted with Instrument Sans (closest open humanist), DM Mono authored for the undocumented brand mono"
9
+ license: open
10
+ ---
11
+
12
+ # lovable — a sunlit letterpress studio on cream stock
13
+
14
+ ## 1 Visual Theme
15
+ A letterpress studio in afternoon sun: cream stock on every bench, one pot of charcoal
16
+ ink, warm paper edges instead of steel rules. The canvas is a deliberate cream `background`
17
+ — never pure white; warmth is the brand. Light default; dark is the studio by lamplight —
18
+ a warm charcoal ladder holding the same hue, never a cold flip. Flat: hierarchy is warm
19
+ hairline `border`, weight, and charcoal-on-cream contrast. The one accent is achromatic:
20
+ `primary` is charcoal itself; every neutral is one warm hue at varying depth, so the
21
+ surface reads tonally unified. Density is standard.
22
+
23
+ ## 2 Color Roles
24
+ Charcoal `foreground` on cream `background`; `muted` and `accent` are deeper cream
25
+ tints for hovers and selection; `border` is the warm hairline doing all containment.
26
+ `primary` charcoal is the only emphasis carrier — reserved for the single most
27
+ important action. `ring` is the one cool element — a blue accessibility affordance,
28
+ never a brand accent. Status hues (`destructive` warm red, `success` sage, `warning`
29
+ ochre) speak status only. No saturated chromatic accent enters chrome.
30
+
31
+ ## 3 Typography
32
+ Instrument Sans (humanist warmth — the open substitute for the proprietary Camera
33
+ Plain) / DM Mono (IDs, codes, timestamps). Register scope: no separate display face —
34
+ Instrument Sans at 600 is the heading ceiling (never 700); the display step serves
35
+ auth and empty states only. Numeric columns render `tabular-nums`; emphasis bumps
36
+ weight, never size.
37
+
38
+ ## 4 Component Stylings
39
+ Buttons `radius-md` (10px), charcoal `primary` fill with the signature pressed-into-
40
+ paper inset feel (a light top hairline, soft warm underside), no pill; secondary takes
41
+ `secondary` cream fill and `border`. Inputs hairline `border`, focus draws the blue
42
+ `ring`. Cards on `card` with the warm hairline — no shadow by default. Table rows on
43
+ `border` grid, `muted` hover, `accent` selection. Detail opens in the side panel.
44
+ Badges: hairline, `muted`/status fill; the full pill is icon toggles only.
45
+
46
+ ## 5 Layout
47
+ 8px base; ramp 4 · 8 · 12 · 16 · 24 · 32 · 40 · 56 · 80. Sidebar 256/64px; topbar
48
+ 56px; side panel 420/640px; content max 1200px; tables full-width. The editorial
49
+ 96–208px expanses stay behind — warmth comes from palette and type, not lavish gaps.
50
+
51
+ ## 6 Depth
52
+ Flat and shallow. Light: the warm hairline against cream does the containment; a
53
+ single soft, diffused warm glow lifts only true overlays — never a sharp drop. Dark:
54
+ the ladder does depth — `background` 0.17 L, `surface-raised` +0.05, `surface-overlay`
55
+ +0.10, hue held at 90. Focus is the `ring` outline on every interactive element;
56
+ three z-levels: content, chrome, overlay.
57
+
58
+ ## 7 Motion
59
+ Soft-handed. Named moments: `paper-fade` (page content, 180ms), `panel-drift` (side
60
+ panel, 260ms, interruptible), `ink-press` (primary-action press, 130ms). Physicality
61
+ is granted only to auth and first-run empty states. Nothing animates in tables or any
62
+ keyboard-initiated action.
63
+
64
+ ## 8 Iconography & Charts
65
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline axes
66
+ on cream, no gridline fills; the categorical ramp leads with charcoal then warm earth
67
+ tones (`chart-1..5`); tooltips on `surface-overlay` with mono numerals.
68
+
69
+ ## 9 Voice
70
+ Warm craftsperson: encouraging but plain, verbs first, no exclamation marks doing the
71
+ warmth. "Create project" · "Nothing here yet — your first build lands in this list" ·
72
+ "That name is taken; try adding your team's name."
73
+
74
+ ## 10 Do's & Don'ts
75
+ Do keep the cream foundation — never pure white and never a cold gray anywhere. Do
76
+ derive every neutral from the one warm hue for tonal unity. Do reserve charcoal
77
+ `primary` for one action per surface. Don't introduce a saturated chromatic accent —
78
+ the blue `ring` is an affordance, not a license. Don't use weight 700 — 600 is the
79
+ ceiling. Don't shadow cards; the warm hairline is the containment.
80
+
81
+ ## 11 Responsive
82
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; density
83
+ holds. 768: sidebar → icon rail; tables scroll overflow. 1024: two-pane list+detail
84
+ holds. 1440: forms cap; tables and dashboards take the full width.
85
+
86
+ ## 12 Agent Prompt Guide
87
+ Reach first for cream ground and charcoal ink — the brand is warmth. One accent,
88
+ achromatic: if two things want charcoal emphasis, one is not primary. Warm hairline
89
+ before any shadow. Every numeric column is `tabular-nums`; every ID is mono. Dark is
90
+ authored — consult the block, never derive, and never let it go cold.
91
+
92
+ ```yaml design-values
93
+ color:
94
+ light:
95
+ background: oklch(0.968 0.01 88)
96
+ foreground: oklch(0.23 0.006 95)
97
+ card: oklch(0.978 0.008 89)
98
+ card-foreground: oklch(0.23 0.006 95)
99
+ popover: oklch(0.985 0.006 90)
100
+ popover-foreground: oklch(0.23 0.006 95)
101
+ primary: oklch(0.24 0.006 95)
102
+ primary-foreground: oklch(0.988 0.005 91)
103
+ secondary: oklch(0.945 0.009 86)
104
+ secondary-foreground: oklch(0.28 0.006 95)
105
+ muted: oklch(0.941 0.009 85)
106
+ muted-foreground: oklch(0.47 0.006 100)
107
+ accent: oklch(0.925 0.012 85)
108
+ accent-foreground: oklch(0.28 0.006 95)
109
+ destructive: oklch(0.543 0.174 30)
110
+ destructive-foreground: oklch(0.98 0.008 30)
111
+ success: oklch(0.533 0.099 138)
112
+ warning: oklch(0.63 0.12 77)
113
+ border: oklch(0.92 0.008 91)
114
+ input: oklch(0.9 0.01 91)
115
+ ring: oklch(0.623 0.188 260)
116
+ surface-raised: oklch(0.975 0.008 89)
117
+ surface-overlay: oklch(0.985 0.006 90)
118
+ chart-1: oklch(0.3 0.006 95)
119
+ chart-2: oklch(0.671 0.124 77)
120
+ chart-3: oklch(0.533 0.099 138)
121
+ chart-4: oklch(0.611 0.121 51)
122
+ chart-5: oklch(0.623 0.188 260)
123
+ sidebar: oklch(0.955 0.011 88)
124
+ sidebar-foreground: oklch(0.28 0.006 95)
125
+ sidebar-primary: oklch(0.24 0.006 95)
126
+ sidebar-primary-foreground: oklch(0.988 0.005 91)
127
+ sidebar-accent: oklch(0.93 0.012 86)
128
+ sidebar-accent-foreground: oklch(0.26 0.006 95)
129
+ sidebar-border: oklch(0.915 0.009 90)
130
+ sidebar-ring: oklch(0.623 0.188 260)
131
+ dark:
132
+ background: oklch(0.17 0.008 90)
133
+ foreground: oklch(0.93 0.01 88)
134
+ card: oklch(0.2 0.009 90)
135
+ card-foreground: oklch(0.93 0.01 88)
136
+ popover: oklch(0.27 0.01 90)
137
+ popover-foreground: oklch(0.93 0.01 88)
138
+ primary: oklch(0.93 0.012 88)
139
+ primary-foreground: oklch(0.2 0.008 90)
140
+ secondary: oklch(0.24 0.01 90)
141
+ secondary-foreground: oklch(0.89 0.01 88)
142
+ muted: oklch(0.23 0.01 90)
143
+ muted-foreground: oklch(0.66 0.012 92)
144
+ accent: oklch(0.26 0.012 90)
145
+ accent-foreground: oklch(0.91 0.012 88)
146
+ destructive: oklch(0.62 0.17 30)
147
+ destructive-foreground: oklch(0.13 0.02 30)
148
+ success: oklch(0.64 0.1 138)
149
+ warning: oklch(0.72 0.12 77)
150
+ border: oklch(0.27 0.01 90)
151
+ input: oklch(0.29 0.011 90)
152
+ ring: oklch(0.67 0.17 260)
153
+ surface-raised: oklch(0.22 0.009 90)
154
+ surface-overlay: oklch(0.27 0.01 90)
155
+ chart-1: oklch(0.85 0.012 88)
156
+ chart-2: oklch(0.74 0.12 77)
157
+ chart-3: oklch(0.66 0.1 138)
158
+ chart-4: oklch(0.7 0.12 51)
159
+ chart-5: oklch(0.68 0.16 260)
160
+ sidebar: oklch(0.15 0.008 90)
161
+ sidebar-foreground: oklch(0.9 0.01 88)
162
+ sidebar-primary: oklch(0.93 0.012 88)
163
+ sidebar-primary-foreground: oklch(0.2 0.008 90)
164
+ sidebar-accent: oklch(0.21 0.01 90)
165
+ sidebar-accent-foreground: oklch(0.9 0.012 88)
166
+ sidebar-border: oklch(0.23 0.009 90)
167
+ sidebar-ring: oklch(0.67 0.17 260)
168
+ typography:
169
+ display: { family: "Instrument Sans Variable", fallback: "system-ui, sans-serif", weights: [600] }
170
+ sans: { family: "Instrument Sans Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
171
+ mono: { family: "DM Mono", fallback: "ui-monospace, monospace", weights: [400] }
172
+ ramp:
173
+ display: { size: 30px, line: 36px, weight: 600, family: display, tracking: -0.01em }
174
+ h1: { size: 24px, line: 30px, weight: 600, family: sans, tracking: -0.01em }
175
+ h2: { size: 18px, line: 24px, weight: 600, family: sans }
176
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
177
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
178
+ caption: { size: 12px, line: 16px, weight: 400, family: sans }
179
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
180
+ register-scope: { display: [auth, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps] }
181
+ elevation:
182
+ radius: { sm: 6px, md: 10px, lg: 14px }
183
+ hairline: border
184
+ shadow:
185
+ overlay: "0 4px 12px oklch(0.3 0.02 90 / 0.10)"
186
+ popover: "0 2px 8px oklch(0.3 0.02 90 / 0.08)"
187
+ dark-ladder: { background: 0.17, raised: 0.22, overlay: 0.27, hue-held: 90 }
188
+ motion:
189
+ duration: { press: 130ms, fade: 180ms, panel: 260ms }
190
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
191
+ entrance-never: ease-in
192
+ identity-moments: [auth, first-run-empty]
193
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
194
+ charts:
195
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
196
+ sequential: { from: background, to: chart-1 }
197
+ diverging: { negative: destructive, mid: muted, positive: chart-3 }
198
+ layout: { base: 8px, sidebar: [256px, 64px], topbar: 56px, side-panel: [420px, 640px], content-max: 1200px }
199
+ ```
@@ -0,0 +1,204 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: meta
4
+ tier: brand
5
+ segments: [commerce, hardware, consumer]
6
+ keywords: [white, cobalt, cool, commerce, geometric, stark]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 meta entry (2026-07-04) + 2026-07-12 re-audit of Meta's hardware-commerce identity; proprietary Optimistic VF substituted with Montserrat (display, the corpus's documented fallback) + Inter (dense body), Roboto Mono kept per v1"
9
+ license: open
10
+ ---
11
+
12
+ # meta — a stark white hardware showroom
13
+
14
+ ## 1 Visual Theme
15
+ A hardware showroom lit for photography: stark white pedestals, cool steel edges, and
16
+ one cobalt buy-now button on the demo unit. The stark white `background` is the
17
+ identity — the photography-carrying ground kept pure here. Light default; dark is an
18
+ authored cool charcoal ladder (Meta ships no dark tokens — the dark theme here is
19
+ authored, never derived). Flat: hierarchy is a cool hairline `border`, weight, and a
20
+ strict two-layer elevation — never decorative shadow. A single accent, cobalt
21
+ `primary` — Meta's scarce commerce color promoted to the operator primary. Neutrals
22
+ lean faintly blue, never warm-gray. Density is standard, at the commerce
23
+ configurator's pace.
24
+
25
+ ## 2 Color Roles
26
+ Deep cool `foreground` ink on stark white; `muted`/`secondary` are the soft cool
27
+ clouds for hovers and secondary fills; `input` is one notch firmer than the divider
28
+ hairline — inputs read as targets. `primary` cobalt is the only chromatic hue with
29
+ meaning: one action per surface, active nav. `accent` is the cobalt tint for
30
+ selection — tints, never fills. `ring` is the Facebook-Blue focus outline, one notch
31
+ brighter than cobalt. The black marketing pill, Oculus purple, and promo yellow stay
32
+ behind; purple lives only in `chart-3`.
33
+
34
+ ## 3 Typography
35
+ Montserrat (display — the open stand-in for Optimistic's geometric-humanist display
36
+ cut) / Inter (dense body and chrome) / Roboto Mono (IDs, codes, timestamps). Register
37
+ scope: Montserrat touches page titles, auth, and empty states only — never cells,
38
+ buttons, or form chrome. Body runs 16px — the brand's reading pace — set snug with
39
+ light negative tracking. Numeric columns render `tabular-nums`; emphasis bumps weight,
40
+ never size.
41
+
42
+ ## 4 Component Stylings
43
+ Buttons `radius-md` (8px rect), cobalt `primary` fill, press deepens the cobalt, no
44
+ pill; secondary takes `secondary` fill with a hairline. Inputs on the firmer `input`
45
+ edge, 2px Facebook-Blue `ring` focus, no glow. Cards white on a hairline — nothing
46
+ sits lighter than the canvas. Table rows on `border` grid, `muted` hover, `accent`
47
+ selection. Detail opens in the side panel (the purchase-rail width). Badge is the one
48
+ survivor of the marketing pill: pill radius, `muted`/status fill, uppercase caption.
49
+
50
+ ## 5 Layout
51
+ 4px base, 8px dominant; ramp 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64. Sidebar 252/56px;
52
+ topbar 56px; side panel 440/680px; content max 1360px; tables full-width. The 80/120px
53
+ marketing rhythm stays behind.
54
+
55
+ ## 6 Depth
56
+ Flat with exactly two layers. Light: the hairline is the divider; a faint lift only
57
+ when a control must read raised; the soft overlay shadow — cool-tinted, never black —
58
+ is reserved for popover, side panel, modal, sticky rail. Dark: the ladder does depth —
59
+ `background` 0.155 L, `surface-raised` +0.045, `surface-overlay` +0.095, hue held at
60
+ 240. Focus is the 2px Facebook-Blue `ring` on every interactive element; three
61
+ z-levels.
62
+
63
+ ## 7 Motion
64
+ Efficient. Named moments: `content-fade` (page content, 150ms), `rail-slide` (side
65
+ panel, 220ms, interruptible), `cobalt-press` (primary-action press, 100ms).
66
+ Physicality is granted only to auth. Nothing animates in tables, configurator grids,
67
+ or any keyboard-initiated action.
68
+
69
+ ## 8 Iconography & Charts
70
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline axes,
71
+ no gridline fills; the categorical ramp runs cobalt-led with the Oculus purple held to
72
+ `chart-3`; tooltips on `surface-overlay` with mono numerals.
73
+
74
+ ## 9 Voice
75
+ Product-counter concise: plain declaratives, specs stated as facts, no exclamation.
76
+ "Add device" · "No orders in review — the queue cleared at 09:00" · "This serial is
77
+ already registered to another fleet; check the device label."
78
+
79
+ ## 10 Do's & Don'ts
80
+ Do anchor on stark white — cards differentiate by hairline, never tint. Do reserve
81
+ cobalt for the single most important action; scarcity is its weight. Do keep neutrals
82
+ cool — never warm-gray. Don't promote the black pill or dual-CTA grammar — one cobalt
83
+ accent, never a pair. Don't pill controls — pill is badges only. Don't let purple or
84
+ promo yellow touch chrome; don't stack shadows for rank.
85
+
86
+ ## 11 Responsive
87
+ 375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; density
88
+ holds. 768: sidebar → icon rail; tables scroll overflow. 1024: two-pane queue+detail
89
+ holds. 1440: forms cap; tables and dashboards take the full width.
90
+
91
+ ## 12 Agent Prompt Guide
92
+ Lead every list with its table, every entity with its primary read. Accent only the
93
+ primary action in cobalt — if two things want it, one is not primary. Keep type snug
94
+ and body at 16px. Every numeric column is `tabular-nums`; every ID is mono. Dark is
95
+ authored — consult the block, never derive.
96
+
97
+ ```yaml design-values
98
+ color:
99
+ light:
100
+ background: oklch(0.99 0.005 248)
101
+ foreground: oklch(0.18 0.016 227)
102
+ card: oklch(0.995 0.005 248)
103
+ card-foreground: oklch(0.18 0.016 227)
104
+ popover: oklch(0.995 0.005 248)
105
+ popover-foreground: oklch(0.18 0.016 227)
106
+ primary: oklch(0.533 0.205 259)
107
+ primary-foreground: oklch(0.99 0.005 248)
108
+ secondary: oklch(0.944 0.008 254)
109
+ secondary-foreground: oklch(0.25 0.015 240)
110
+ muted: oklch(0.966 0.005 248)
111
+ muted-foreground: oklch(0.49 0.03 248)
112
+ accent: oklch(0.951 0.019 253)
113
+ accent-foreground: oklch(0.4 0.15 259)
114
+ destructive: oklch(0.55 0.21 21)
115
+ destructive-foreground: oklch(0.98 0.008 21)
116
+ success: oklch(0.56 0.15 148)
117
+ warning: oklch(0.7 0.15 77)
118
+ border: oklch(0.914 0.01 253)
119
+ input: oklch(0.857 0.008 260)
120
+ ring: oklch(0.587 0.204 258)
121
+ surface-raised: oklch(0.993 0.005 248)
122
+ surface-overlay: oklch(0.995 0.005 248)
123
+ chart-1: oklch(0.533 0.205 259)
124
+ chart-2: oklch(0.651 0.192 252)
125
+ chart-3: oklch(0.541 0.246 315)
126
+ chart-4: oklch(0.63 0.16 148)
127
+ chart-5: oklch(0.785 0.16 77)
128
+ sidebar: oklch(0.975 0.006 248)
129
+ sidebar-foreground: oklch(0.25 0.015 240)
130
+ sidebar-primary: oklch(0.533 0.205 259)
131
+ sidebar-primary-foreground: oklch(0.99 0.005 248)
132
+ sidebar-accent: oklch(0.94 0.019 253)
133
+ sidebar-accent-foreground: oklch(0.38 0.15 259)
134
+ sidebar-border: oklch(0.914 0.01 253)
135
+ sidebar-ring: oklch(0.587 0.204 258)
136
+ dark:
137
+ background: oklch(0.155 0.01 240)
138
+ foreground: oklch(0.93 0.006 240)
139
+ card: oklch(0.19 0.011 240)
140
+ card-foreground: oklch(0.93 0.006 240)
141
+ popover: oklch(0.25 0.012 240)
142
+ popover-foreground: oklch(0.93 0.006 240)
143
+ primary: oklch(0.68 0.15 252)
144
+ primary-foreground: oklch(0.14 0.02 240)
145
+ secondary: oklch(0.23 0.012 240)
146
+ secondary-foreground: oklch(0.89 0.008 240)
147
+ muted: oklch(0.22 0.011 240)
148
+ muted-foreground: oklch(0.67 0.025 245)
149
+ accent: oklch(0.28 0.05 253)
150
+ accent-foreground: oklch(0.9 0.03 250)
151
+ destructive: oklch(0.63 0.2 21)
152
+ destructive-foreground: oklch(0.13 0.02 21)
153
+ success: oklch(0.66 0.15 148)
154
+ warning: oklch(0.78 0.15 77)
155
+ border: oklch(0.27 0.012 240)
156
+ input: oklch(0.3 0.013 240)
157
+ ring: oklch(0.68 0.17 255)
158
+ surface-raised: oklch(0.2 0.011 240)
159
+ surface-overlay: oklch(0.25 0.012 240)
160
+ chart-1: oklch(0.62 0.18 255)
161
+ chart-2: oklch(0.7 0.17 250)
162
+ chart-3: oklch(0.62 0.21 315)
163
+ chart-4: oklch(0.7 0.15 148)
164
+ chart-5: oklch(0.8 0.15 77)
165
+ sidebar: oklch(0.135 0.009 240)
166
+ sidebar-foreground: oklch(0.9 0.008 240)
167
+ sidebar-primary: oklch(0.68 0.15 252)
168
+ sidebar-primary-foreground: oklch(0.14 0.02 240)
169
+ sidebar-accent: oklch(0.21 0.03 250)
170
+ sidebar-accent-foreground: oklch(0.89 0.02 250)
171
+ sidebar-border: oklch(0.23 0.011 240)
172
+ sidebar-ring: oklch(0.68 0.17 255)
173
+ typography:
174
+ display: { family: "Montserrat Variable", fallback: "system-ui, sans-serif", weights: [600, 700] }
175
+ sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
176
+ mono: { family: "Roboto Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
177
+ ramp:
178
+ display: { size: 32px, line: 38px, weight: 600, family: display, tracking: -0.01em }
179
+ h1: { size: 28px, line: 34px, weight: 600, family: display, tracking: -0.01em }
180
+ h2: { size: 24px, line: 30px, weight: 600, family: sans }
181
+ body: { size: 16px, line: 24px, weight: 400, family: sans, tracking: -0.01em }
182
+ small: { size: 14px, line: 20px, weight: 400, family: sans, tracking: -0.01em }
183
+ caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.02em }
184
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
185
+ register-scope: { display: [page-title, empty-state, auth], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
186
+ elevation:
187
+ radius: { sm: 4px, md: 8px, lg: 12px }
188
+ hairline: border
189
+ shadow:
190
+ overlay: "0 4px 16px oklch(0.2 0.02 240 / 0.12)"
191
+ popover: "0 1px 4px oklch(0.2 0.02 240 / 0.10)"
192
+ dark-ladder: { background: 0.155, raised: 0.2, overlay: 0.25, hue-held: 240 }
193
+ motion:
194
+ duration: { press: 100ms, fade: 150ms, panel: 220ms }
195
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
196
+ entrance-never: ease-in
197
+ identity-moments: [auth]
198
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
199
+ charts:
200
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
201
+ sequential: { from: background, to: chart-1 }
202
+ diverging: { negative: destructive, mid: muted, positive: chart-4 }
203
+ layout: { base: 4px, sidebar: [252px, 56px], topbar: 56px, side-panel: [440px, 680px], content-max: 1360px }
204
+ ```