@nurix/etna 0.19.11 → 0.19.12

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 (486) hide show
  1. package/data/harness-index.json +1 -1
  2. package/data/harnesses/code/harness.json +1 -1
  3. package/data/harnesses/code/rules/frontend.md +5 -5
  4. package/data/harnesses/code/skills/design/SKILL.md +70 -50
  5. package/data/harnesses/code/skills/design/components/charts.md +76 -0
  6. package/data/harnesses/code/skills/design/components/collections.md +132 -0
  7. package/data/harnesses/code/skills/design/components/feedback.md +47 -0
  8. package/data/harnesses/code/skills/design/components/hooks.md +35 -0
  9. package/data/harnesses/code/skills/design/components/index.md +143 -0
  10. package/data/harnesses/code/skills/design/components/inputs.md +327 -0
  11. package/data/harnesses/code/skills/design/components/layout.md +52 -0
  12. package/data/harnesses/code/skills/design/components/media.md +66 -0
  13. package/data/harnesses/code/skills/design/components/motion.md +82 -0
  14. package/data/harnesses/code/skills/design/components/navigation.md +29 -0
  15. package/data/harnesses/code/skills/design/components/overlays.md +72 -0
  16. package/data/harnesses/code/skills/design/components/setup.md +40 -0
  17. package/data/harnesses/code/skills/design/components/typography.md +46 -0
  18. package/data/harnesses/code/skills/design/components/utils.md +37 -0
  19. package/data/harnesses/code/skills/design/data/blueprints/browse.md +38 -0
  20. package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +38 -0
  21. package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +38 -0
  22. package/data/harnesses/code/skills/design/data/blueprints/grid.md +38 -0
  23. package/data/harnesses/code/skills/design/data/blueprints/queue.md +38 -0
  24. package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +38 -0
  25. package/data/harnesses/code/skills/design/data/blueprints/settings.md +38 -0
  26. package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +33 -0
  27. package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
  28. package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
  29. package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
  30. package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
  31. package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
  32. package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
  33. package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
  34. package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
  35. package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
  36. package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
  37. package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
  38. package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
  39. package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
  40. package/data/harnesses/code/skills/design/data/charts/census.csv +58 -0
  41. package/data/harnesses/code/skills/design/data/checklists/browse.md +21 -0
  42. package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +20 -0
  43. package/data/harnesses/code/skills/design/data/checklists/dashboard.md +21 -0
  44. package/data/harnesses/code/skills/design/data/checklists/grid.md +21 -0
  45. package/data/harnesses/code/skills/design/data/checklists/queue.md +21 -0
  46. package/data/harnesses/code/skills/design/data/checklists/record-detail.md +21 -0
  47. package/data/harnesses/code/skills/design/data/checklists/settings.md +21 -0
  48. package/data/harnesses/code/skills/design/data/chrome/board-column.md +68 -0
  49. package/data/harnesses/code/skills/design/data/chrome/data-table.md +63 -0
  50. package/data/harnesses/code/skills/design/data/chrome/side-panel.md +60 -0
  51. package/data/harnesses/code/skills/design/data/chrome/sidebar.md +78 -0
  52. package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +62 -0
  53. package/data/harnesses/code/skills/design/data/chrome/topbar.md +65 -0
  54. package/data/harnesses/code/skills/design/data/color/accent-presets.md +90 -0
  55. package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +91 -0
  56. package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +90 -0
  57. package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +90 -0
  58. package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +90 -0
  59. package/data/harnesses/code/skills/design/data/color/clay-parchment.md +90 -0
  60. package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +90 -0
  61. package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +90 -0
  62. package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +90 -0
  63. package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
  64. package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +90 -0
  65. package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +90 -0
  66. package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +90 -0
  67. package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
  68. package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +90 -0
  69. package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +89 -0
  70. package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +15 -0
  71. package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +87 -0
  72. package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +25 -0
  73. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
  74. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
  75. package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
  76. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
  77. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
  78. package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
  79. package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
  80. package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
  81. package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
  82. package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
  83. package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
  84. package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
  85. package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
  86. package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
  87. package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
  88. package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
  89. package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
  90. package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
  91. package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
  92. package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
  93. package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
  94. package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
  95. package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
  96. package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
  97. package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +16 -0
  98. package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
  99. package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +16 -0
  100. package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +18 -0
  101. package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +16 -0
  102. package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
  103. package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +18 -0
  104. package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +16 -0
  105. package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
  106. package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +16 -0
  107. package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
  108. package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +16 -0
  109. package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +18 -0
  110. package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +16 -0
  111. package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
  112. package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +16 -0
  113. package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +16 -0
  114. package/data/harnesses/code/skills/design/data/iconography.md +199 -0
  115. package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +18 -0
  116. package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +18 -0
  117. package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
  118. package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +18 -0
  119. package/data/harnesses/code/skills/design/data/motion/hover-lift.md +18 -0
  120. package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +18 -0
  121. package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +18 -0
  122. package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +18 -0
  123. package/data/harnesses/code/skills/design/data/motion/panel-slide.md +18 -0
  124. package/data/harnesses/code/skills/design/data/motion/press-feedback.md +18 -0
  125. package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +18 -0
  126. package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +18 -0
  127. package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +18 -0
  128. package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +18 -0
  129. package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +18 -0
  130. package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +18 -0
  131. package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +18 -0
  132. package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
  133. package/data/harnesses/code/skills/design/data/tells.csv +34 -0
  134. package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +17 -0
  135. package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +17 -0
  136. package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +17 -0
  137. package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
  138. package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +17 -0
  139. package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +17 -0
  140. package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
  141. package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
  142. package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
  143. package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +17 -0
  144. package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
  145. package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +17 -0
  146. package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +17 -0
  147. package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
  148. package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +17 -0
  149. package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +17 -0
  150. package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
  151. package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +17 -0
  152. package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +29 -0
  153. package/data/harnesses/code/skills/design/data/voices/direct-operator.md +29 -0
  154. package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +29 -0
  155. package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +29 -0
  156. package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +29 -0
  157. package/data/harnesses/code/skills/design/data/voices/warm-guide.md +29 -0
  158. package/data/harnesses/code/skills/design/design-md/SCHEMA.md +179 -0
  159. package/data/harnesses/code/skills/design/design-md/index.csv +67 -0
  160. package/data/harnesses/code/skills/design/design-md/library/airbnb.md +207 -0
  161. package/data/harnesses/code/skills/design/design-md/library/airtable.md +205 -0
  162. package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +203 -0
  163. package/data/harnesses/code/skills/design/design-md/library/apple.md +206 -0
  164. package/data/harnesses/code/skills/design/design-md/library/binance.md +210 -0
  165. package/data/harnesses/code/skills/design/design-md/library/bmw.md +210 -0
  166. package/data/harnesses/code/skills/design/design-md/library/cal.md +209 -0
  167. package/data/harnesses/code/skills/design/design-md/library/clay.md +204 -0
  168. package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +205 -0
  169. package/data/harnesses/code/skills/design/design-md/library/cohere.md +205 -0
  170. package/data/harnesses/code/skills/design/design-md/library/coinbase.md +198 -0
  171. package/data/harnesses/code/skills/design/design-md/library/composio.md +198 -0
  172. package/data/harnesses/code/skills/design/design-md/library/cursor.md +197 -0
  173. package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +199 -0
  174. package/data/harnesses/code/skills/design/design-md/library/expo.md +200 -0
  175. package/data/harnesses/code/skills/design/design-md/library/figma.md +199 -0
  176. package/data/harnesses/code/skills/design/design-md/library/framer.md +202 -0
  177. package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +205 -0
  178. package/data/harnesses/code/skills/design/design-md/library/ibm.md +205 -0
  179. package/data/harnesses/code/skills/design/design-md/library/intercom.md +204 -0
  180. package/data/harnesses/code/skills/design/design-md/library/kraken.md +200 -0
  181. package/data/harnesses/code/skills/design/design-md/library/linear-app.md +198 -0
  182. package/data/harnesses/code/skills/design/design-md/library/lovable.md +199 -0
  183. package/data/harnesses/code/skills/design/design-md/library/meta.md +204 -0
  184. package/data/harnesses/code/skills/design/design-md/library/minimax.md +204 -0
  185. package/data/harnesses/code/skills/design/design-md/library/mintlify.md +210 -0
  186. package/data/harnesses/code/skills/design/design-md/library/miro.md +209 -0
  187. package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +201 -0
  188. package/data/harnesses/code/skills/design/design-md/library/mongodb.md +201 -0
  189. package/data/harnesses/code/skills/design/design-md/library/notion.md +204 -0
  190. package/data/harnesses/code/skills/design/design-md/library/nvidia.md +215 -0
  191. package/data/harnesses/code/skills/design/design-md/library/ollama.md +213 -0
  192. package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +216 -0
  193. package/data/harnesses/code/skills/design/design-md/library/posthog.md +218 -0
  194. package/data/harnesses/code/skills/design/design-md/library/raycast.md +214 -0
  195. package/data/harnesses/code/skills/design/design-md/library/replicate.md +202 -0
  196. package/data/harnesses/code/skills/design/design-md/library/resend.md +203 -0
  197. package/data/harnesses/code/skills/design/design-md/library/revolut.md +203 -0
  198. package/data/harnesses/code/skills/design/design-md/library/runwayml.md +203 -0
  199. package/data/harnesses/code/skills/design/design-md/library/sanity.md +200 -0
  200. package/data/harnesses/code/skills/design/design-md/library/sentry.md +201 -0
  201. package/data/harnesses/code/skills/design/design-md/library/shopify.md +202 -0
  202. package/data/harnesses/code/skills/design/design-md/library/slack.md +202 -0
  203. package/data/harnesses/code/skills/design/design-md/library/spacex.md +206 -0
  204. package/data/harnesses/code/skills/design/design-md/library/spotify.md +206 -0
  205. package/data/harnesses/code/skills/design/design-md/library/stripe.md +196 -0
  206. package/data/harnesses/code/skills/design/design-md/library/supabase.md +196 -0
  207. package/data/harnesses/code/skills/design/design-md/library/superhuman.md +194 -0
  208. package/data/harnesses/code/skills/design/design-md/library/tesla.md +198 -0
  209. package/data/harnesses/code/skills/design/design-md/library/theverge.md +199 -0
  210. package/data/harnesses/code/skills/design/design-md/library/together-ai.md +193 -0
  211. package/data/harnesses/code/skills/design/design-md/library/uber.md +195 -0
  212. package/data/harnesses/code/skills/design/design-md/library/vercel.md +195 -0
  213. package/data/harnesses/code/skills/design/design-md/library/voltagent.md +197 -0
  214. package/data/harnesses/code/skills/design/design-md/library/warp.md +196 -0
  215. package/data/harnesses/code/skills/design/design-md/library/webflow.md +197 -0
  216. package/data/harnesses/code/skills/design/design-md/library/wired.md +197 -0
  217. package/data/harnesses/code/skills/design/design-md/library/wise.md +198 -0
  218. package/data/harnesses/code/skills/design/design-md/library/x-ai.md +199 -0
  219. package/data/harnesses/code/skills/design/design-md/library/zapier.md +198 -0
  220. package/data/harnesses/code/skills/design/design-md/nurix.md +214 -0
  221. package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +184 -0
  222. package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +216 -0
  223. package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +211 -0
  224. package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +212 -0
  225. package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +216 -0
  226. package/data/harnesses/code/skills/design/references/compose.md +23 -0
  227. package/data/harnesses/code/skills/design/references/content.md +28 -0
  228. package/data/harnesses/code/skills/design/references/emission.md +21 -0
  229. package/data/harnesses/code/skills/design/references/existing-apps.md +27 -0
  230. package/data/harnesses/code/skills/design/references/intake.md +36 -0
  231. package/data/harnesses/code/skills/design/references/object-pass.md +24 -0
  232. package/data/harnesses/code/skills/design/references/ship-gate.md +29 -0
  233. package/data/harnesses/code/skills/design/references/ux-patterns/Readme.md +195 -0
  234. package/data/harnesses/code/skills/design/references/ux-patterns/ai-layer.md +49 -0
  235. package/data/harnesses/code/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
  236. package/data/harnesses/code/skills/design/references/ux-patterns/container-choice.md +44 -0
  237. package/data/harnesses/code/skills/design/references/ux-patterns/creation-paths.md +46 -0
  238. package/data/harnesses/code/skills/design/references/ux-patterns/dashboards.md +42 -0
  239. package/data/harnesses/code/skills/design/references/ux-patterns/modes.md +42 -0
  240. package/data/harnesses/code/skills/design/references/ux-patterns/object-model.md +46 -0
  241. package/data/harnesses/code/skills/design/references/ux-patterns/page-archetype.md +48 -0
  242. package/data/harnesses/code/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
  243. package/data/harnesses/code/skills/design/references/ux-patterns/settings.md +42 -0
  244. package/data/harnesses/code/skills/design/references/ux-patterns/standard-pages.md +46 -0
  245. package/data/harnesses/code/skills/design/references/ux-patterns/state-matrix.md +41 -0
  246. package/data/harnesses/code/skills/design/references/ux-patterns/table-mechanics.md +48 -0
  247. package/data/harnesses/code/skills/design/references/ux-patterns/verbs.md +45 -0
  248. package/data/harnesses/code/skills/design/references/ux-patterns/viewer-context.md +40 -0
  249. package/data/harnesses/code/skills/design/scripts/README-validator.md +27 -0
  250. package/data/harnesses/code/skills/design/scripts/select-chart.mjs +596 -0
  251. package/data/harnesses/code/skills/design/scripts/validate-design-md.mjs +1198 -0
  252. package/package.json +1 -1
  253. package/data/harnesses/code/skills/design/data/catalog/rules.csv +0 -137
  254. package/data/harnesses/code/skills/design/data/combinations/Readme.md +0 -33
  255. package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +0 -113
  256. package/data/harnesses/code/skills/design/data/combinations/charts.csv +0 -33
  257. package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +0 -448
  258. package/data/harnesses/code/skills/design/data/combinations/icons.csv +0 -157
  259. package/data/harnesses/code/skills/design/data/combinations/landing.csv +0 -38
  260. package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +0 -2001
  261. package/data/harnesses/code/skills/design/data/combinations/manifest.json +0 -330
  262. package/data/harnesses/code/skills/design/data/combinations/motion.csv +0 -10
  263. package/data/harnesses/code/skills/design/data/combinations/palettes.csv +0 -92
  264. package/data/harnesses/code/skills/design/data/combinations/product-router.csv +0 -80
  265. package/data/harnesses/code/skills/design/data/combinations/styles.csv +0 -67
  266. package/data/harnesses/code/skills/design/data/combinations/typography.csv +0 -64
  267. package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +0 -106
  268. package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +0 -154
  269. package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +0 -151
  270. package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +0 -139
  271. package/data/harnesses/code/skills/design/data/design-md/library/apple.md +0 -139
  272. package/data/harnesses/code/skills/design/data/design-md/library/binance.md +0 -140
  273. package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +0 -140
  274. package/data/harnesses/code/skills/design/data/design-md/library/cal.md +0 -140
  275. package/data/harnesses/code/skills/design/data/design-md/library/clay.md +0 -139
  276. package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +0 -139
  277. package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +0 -147
  278. package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +0 -156
  279. package/data/harnesses/code/skills/design/data/design-md/library/composio.md +0 -138
  280. package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +0 -138
  281. package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +0 -137
  282. package/data/harnesses/code/skills/design/data/design-md/library/expo.md +0 -148
  283. package/data/harnesses/code/skills/design/data/design-md/library/figma.md +0 -141
  284. package/data/harnesses/code/skills/design/data/design-md/library/framer.md +0 -156
  285. package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +0 -140
  286. package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +0 -153
  287. package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +0 -158
  288. package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +0 -156
  289. package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +0 -122
  290. package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +0 -140
  291. package/data/harnesses/code/skills/design/data/design-md/library/meta.md +0 -139
  292. package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +0 -139
  293. package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +0 -139
  294. package/data/harnesses/code/skills/design/data/design-md/library/miro.md +0 -153
  295. package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +0 -140
  296. package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +0 -155
  297. package/data/harnesses/code/skills/design/data/design-md/library/notion.md +0 -140
  298. package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +0 -141
  299. package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +0 -145
  300. package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +0 -142
  301. package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +0 -152
  302. package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +0 -137
  303. package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +0 -140
  304. package/data/harnesses/code/skills/design/data/design-md/library/resend.md +0 -170
  305. package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +0 -145
  306. package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +0 -137
  307. package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +0 -168
  308. package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +0 -163
  309. package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +0 -147
  310. package/data/harnesses/code/skills/design/data/design-md/library/slack.md +0 -158
  311. package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +0 -171
  312. package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +0 -166
  313. package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +0 -160
  314. package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +0 -173
  315. package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +0 -145
  316. package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +0 -153
  317. package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +0 -167
  318. package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +0 -140
  319. package/data/harnesses/code/skills/design/data/design-md/library/uber.md +0 -140
  320. package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +0 -140
  321. package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +0 -130
  322. package/data/harnesses/code/skills/design/data/design-md/library/warp.md +0 -140
  323. package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +0 -140
  324. package/data/harnesses/code/skills/design/data/design-md/library/wired.md +0 -139
  325. package/data/harnesses/code/skills/design/data/design-md/library/wise.md +0 -137
  326. package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +0 -138
  327. package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +0 -158
  328. package/data/harnesses/code/skills/design/data/design-md/nurix.md +0 -138
  329. package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +0 -695
  330. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +0 -20
  331. package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +0 -1272
  332. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +0 -20
  333. package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +0 -1268
  334. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +0 -20
  335. package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +0 -1273
  336. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +0 -20
  337. package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +0 -1262
  338. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +0 -20
  339. package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +0 -1257
  340. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +0 -20
  341. package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +0 -1270
  342. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +0 -20
  343. package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +0 -1270
  344. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +0 -20
  345. package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +0 -1261
  346. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +0 -20
  347. package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +0 -1268
  348. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +0 -20
  349. package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +0 -1281
  350. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +0 -20
  351. package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +0 -1262
  352. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +0 -20
  353. package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +0 -1271
  354. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +0 -20
  355. package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +0 -1276
  356. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +0 -20
  357. package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +0 -1293
  358. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +0 -20
  359. package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +0 -1270
  360. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +0 -20
  361. package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +0 -1276
  362. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +0 -20
  363. package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +0 -1267
  364. package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +0 -251
  365. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +0 -20
  366. package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +0 -1273
  367. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +0 -20
  368. package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +0 -1286
  369. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +0 -20
  370. package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +0 -1290
  371. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +0 -20
  372. package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +0 -1270
  373. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +0 -23
  374. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +0 -599
  375. package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +0 -1272
  376. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +0 -20
  377. package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +0 -1267
  378. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +0 -20
  379. package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +0 -1289
  380. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +0 -20
  381. package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +0 -1258
  382. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +0 -20
  383. package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +0 -1284
  384. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +0 -20
  385. package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +0 -1291
  386. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +0 -20
  387. package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +0 -1263
  388. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +0 -20
  389. package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +0 -1270
  390. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +0 -20
  391. package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +0 -1261
  392. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +0 -20
  393. package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +0 -1209
  394. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +0 -20
  395. package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +0 -1265
  396. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +0 -20
  397. package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +0 -1253
  398. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +0 -20
  399. package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +0 -1268
  400. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +0 -20
  401. package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +0 -1261
  402. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +0 -20
  403. package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +0 -1263
  404. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +0 -20
  405. package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +0 -1266
  406. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +0 -23
  407. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +0 -623
  408. package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +0 -1276
  409. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +0 -20
  410. package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +0 -1264
  411. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +0 -20
  412. package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +0 -1268
  413. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +0 -20
  414. package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +0 -1270
  415. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +0 -20
  416. package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +0 -1288
  417. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +0 -20
  418. package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +0 -1272
  419. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +0 -20
  420. package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +0 -1265
  421. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +0 -20
  422. package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +0 -1287
  423. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +0 -20
  424. package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +0 -1286
  425. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +0 -20
  426. package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +0 -1285
  427. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +0 -20
  428. package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +0 -1287
  429. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +0 -20
  430. package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +0 -1278
  431. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +0 -20
  432. package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +0 -1269
  433. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +0 -20
  434. package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +0 -1285
  435. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +0 -20
  436. package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +0 -1303
  437. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +0 -20
  438. package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +0 -1274
  439. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +0 -20
  440. package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +0 -1296
  441. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +0 -23
  442. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +0 -612
  443. package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +0 -1282
  444. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +0 -20
  445. package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +0 -1287
  446. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +0 -20
  447. package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +0 -1268
  448. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +0 -20
  449. package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +0 -1276
  450. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +0 -20
  451. package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +0 -1273
  452. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +0 -20
  453. package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +0 -1296
  454. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +0 -20
  455. package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +0 -1286
  456. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +0 -249
  457. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +0 -249
  458. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +0 -225
  459. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +0 -249
  460. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +0 -224
  461. package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +0 -249
  462. package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +0 -88
  463. package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +0 -132
  464. package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +0 -76
  465. package/data/harnesses/code/skills/design/references/create.md +0 -173
  466. package/data/harnesses/code/skills/design/references/diagnosis.md +0 -108
  467. package/data/harnesses/code/skills/design/references/hard-rules.md +0 -177
  468. package/data/harnesses/code/skills/design/references/improve.md +0 -116
  469. package/data/harnesses/code/skills/design/references/interaction.md +0 -77
  470. package/data/harnesses/code/skills/design/references/introspect.md +0 -100
  471. package/data/harnesses/code/skills/design/references/lifecycle.md +0 -73
  472. package/data/harnesses/code/skills/design/references/personality.md +0 -575
  473. package/data/harnesses/code/skills/design/references/structure.md +0 -159
  474. package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +0 -1312
  475. package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +0 -1498
  476. package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +0 -551
  477. package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +0 -1092
  478. package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +0 -26
  479. package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +0 -65
  480. package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +0 -538
  481. package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +0 -312
  482. package/data/harnesses/code/skills/design/scripts/render-rung.mjs +0 -890
  483. package/data/harnesses/code/skills/design/scripts/scaffold.mjs +0 -769
  484. package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +0 -675
  485. package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +0 -164
  486. 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
+ ```