@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,214 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: nurix
4
+ tier: default
5
+ segments: [any]
6
+ keywords: [default, house, operator, neutral, slate, blue, dense-capable]
7
+ sourced: 2026-07-12
8
+ sources: "design-md/v1 nurix entry + its token twin (data/design-tokens/nurix), upgraded to v2"
9
+ license: open
10
+ ---
11
+
12
+ # nurix — a dispatch office at mid-morning
13
+
14
+ ## 1 Visual Theme
15
+ A dispatch office at mid-morning: white laminate worktops, steel-blue filing
16
+ cabinets, and one blue status lamp lit on the console that matters. Light by
17
+ default, flat by conviction — hierarchy rides hairline `border`, type weight,
18
+ and ink contrast, never heavy shadow. The neutral ramp is a cool slate leaning
19
+ faintly toward the brand navy, so the whole surface reads engineered rather
20
+ than gray. One accent, the Nurix blue `primary`, spent on the single action a
21
+ surface exists for. Density is standard and steps denser per archetype —
22
+ dense-capable, never cramped. Dark is opt-in: the same room after hours, an
23
+ authored ladder, never an inversion.
24
+
25
+ ## 2 Color Roles
26
+ Slate `foreground` on a near-white `background`; `primary` is the only
27
+ chromatic meaning-carrier — the primary action, active nav, and the `ring`
28
+ focus outline. `accent` is the blue-tinted selection wash for hovered and
29
+ selected rows or nav items, never a meaning-carrier. Status hues
30
+ (`destructive`, `success`, `warning`) speak only status — chips and inline
31
+ validation, never chrome. Electric Lime and Deep Navy stay brand graces with
32
+ no operator role here. The `sidebar` sits a half-step below the canvas in both
33
+ themes — quiet chrome beside white work.
34
+
35
+ ## 3 Typography
36
+ Inter (text and display) / Geist Mono (data). One sans: the display voice is
37
+ Inter at weight and tracking, never a second family. Geist Mono owns IDs,
38
+ codes, timestamps, and log lines. Every numeric column renders `tabular-nums`
39
+ so figures align down the column. Two weights per family; emphasis bumps
40
+ weight, never size.
41
+
42
+ ## 4 Component Stylings
43
+ Buttons `radius-sm`, `primary` fill, no pill; secondary buttons take the
44
+ `secondary` fill with a hairline; ghost buttons are transparent with `accent`
45
+ hover. Inputs are `background` fill with hairline `border`; focus draws the
46
+ 2px `ring`, no glow. Cards sit on `card` with a hairline, shadowed only when
47
+ they truly lift. Table rows run dense with `muted` hover and `accent`
48
+ selection tint. Detail and edit open in the side panel beside the work; a
49
+ modal is a confirmation, not a workspace. Badges are hairline + uppercase
50
+ caption; status badges take status hues, never `primary`.
51
+
52
+ ## 5 Layout
53
+ 4px base; the on-scale ramp is 2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64.
54
+ Sidebar 256/64px; topbar 56px; side panel 440/720px; forms cap narrow while
55
+ tables and dashboards run full width under the 1440px content cap. Density is
56
+ governed globally and stepped per surface archetype, never by ad-hoc absolute
57
+ overrides.
58
+
59
+ ## 6 Depth
60
+ Flat. Three levels: canvas (`background`, no border), panel (`card` on a
61
+ hairline), overlay (`popover`/side panel/modal — the one place a soft
62
+ blue-tinted shadow earns its keep). No level stacks a heavier shadow to signal
63
+ rank; rank is border and position. Focus is always the 2px `ring` outline.
64
+ Dark expresses depth as the surface ladder: `background` 0.15 L,
65
+ `surface-raised` +0.05, `surface-overlay` +0.10, hue held at 252.
66
+
67
+ ## 7 Motion
68
+ Utilitarian. Named moments: `panel-slide` (side panel, 250ms, interruptible),
69
+ `fade-arrive` (page content, 150ms), `press` (buttons, 100ms). Row hover is
70
+ instantaneous — 0ms. Nothing animates on keyboard-initiated actions or
71
+ anything done a hundred times a day. Physicality is granted only to auth and
72
+ first-run empty states, and sparingly even there.
73
+
74
+ ## 8 Iconography & Charts
75
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default; nav items
76
+ always carry their icon. Charts: hairline axes, no gridline fills, blue-led
77
+ categorical ramp (`chart-1..5`), tooltips on `surface-overlay` with mono
78
+ numerals.
79
+
80
+ ## 9 Voice
81
+ Plain operator: verb-first labels, numbers stated, zero exclamation.
82
+ "Create ticket" · "No open incidents — the queue cleared at 09:12" ·
83
+ "Import failed on row 214: the currency column is empty."
84
+
85
+ ## 10 Do's & Don'ts
86
+ Do reserve `primary` for the single most important action per surface. Do
87
+ carry hierarchy with hairlines, weight, and whitespace. Do set `tabular-nums`
88
+ on every numeric column and mono on IDs, codes, and timestamps. Don't promote
89
+ a second chromatic accent — a lime "success" reads yellow and fails contrast.
90
+ Don't pill the CTA. Don't open detail in a modal when the side panel fits.
91
+ Don't signal elevation with heavier shadow.
92
+
93
+ ## 11 Responsive
94
+ 375: sidebar → off-canvas drawer, side panel → full sheet, two-pane stacks;
95
+ density holds. 768: sidebar collapses to the icon rail; tables scroll their
96
+ overflow. 1024: two-pane queue+detail holds side by side. 1440: forms stay
97
+ capped; tables and dashboards take the full width.
98
+
99
+ ## 12 Agent Prompt Guide
100
+ Lead every list surface with its table; lead every entity with its primary
101
+ read, not its chrome. Accent only the primary action — if two things want the
102
+ accent, one of them is not primary. Detail and edit go in the side panel.
103
+ Every workflow completes from the keyboard; the `ring` is always visible.
104
+ Hairline-first; one accent; lime and navy are not operator colors here. Dark
105
+ is authored — read the block, never invert.
106
+
107
+ ```yaml design-values
108
+ color:
109
+ light:
110
+ background: oklch(0.985 0.005 248)
111
+ foreground: oklch(0.21 0.04 266)
112
+ card: oklch(0.99 0.005 248)
113
+ card-foreground: oklch(0.21 0.04 266)
114
+ popover: oklch(0.99 0.005 248)
115
+ popover-foreground: oklch(0.21 0.04 266)
116
+ primary: oklch(0.5211 0.2145 263.89)
117
+ primary-foreground: oklch(0.985 0.005 248)
118
+ secondary: oklch(0.963 0.008 248)
119
+ secondary-foreground: oklch(0.25 0.04 262)
120
+ muted: oklch(0.963 0.008 248)
121
+ muted-foreground: oklch(0.46 0.037 257)
122
+ accent: oklch(0.955 0.014 260)
123
+ accent-foreground: oklch(0.42 0.18 264)
124
+ destructive: oklch(0.54 0.2 27)
125
+ destructive-foreground: oklch(0.985 0.005 27)
126
+ success: oklch(0.6271 0.1699 149.21)
127
+ warning: oklch(0.6658 0.1574 58.32)
128
+ border: oklch(0.928 0.013 255)
129
+ input: oklch(0.928 0.013 255)
130
+ ring: oklch(0.5211 0.2145 263.89)
131
+ surface-raised: oklch(0.99 0.005 248)
132
+ surface-overlay: oklch(0.99 0.005 248)
133
+ chart-1: oklch(0.5211 0.2145 263.89)
134
+ chart-2: oklch(0.609 0.111 221.7)
135
+ chart-3: oklch(0.627 0.17 149.2)
136
+ chart-4: oklch(0.666 0.157 58.3)
137
+ chart-5: oklch(0.541 0.247 293)
138
+ sidebar: oklch(0.973 0.007 248)
139
+ sidebar-foreground: oklch(0.21 0.04 266)
140
+ sidebar-primary: oklch(0.5211 0.2145 263.89)
141
+ sidebar-primary-foreground: oklch(0.985 0.005 248)
142
+ sidebar-accent: oklch(0.955 0.014 260)
143
+ sidebar-accent-foreground: oklch(0.42 0.18 264)
144
+ sidebar-border: oklch(0.928 0.013 255)
145
+ sidebar-ring: oklch(0.5211 0.2145 263.89)
146
+ dark:
147
+ background: oklch(0.15 0.012 252)
148
+ foreground: oklch(0.93 0.008 248)
149
+ card: oklch(0.18 0.013 252)
150
+ card-foreground: oklch(0.93 0.008 248)
151
+ popover: oklch(0.25 0.015 252)
152
+ popover-foreground: oklch(0.93 0.008 248)
153
+ primary: oklch(0.68 0.15 260)
154
+ primary-foreground: oklch(0.13 0.03 258)
155
+ secondary: oklch(0.23 0.015 252)
156
+ secondary-foreground: oklch(0.9 0.01 248)
157
+ muted: oklch(0.21 0.014 252)
158
+ muted-foreground: oklch(0.71 0.02 250)
159
+ accent: oklch(0.27 0.045 258)
160
+ accent-foreground: oklch(0.86 0.06 250)
161
+ destructive: oklch(0.63 0.19 25)
162
+ destructive-foreground: oklch(0.12 0.02 25)
163
+ success: oklch(0.68 0.16 150)
164
+ warning: oklch(0.75 0.14 65)
165
+ border: oklch(0.26 0.015 252)
166
+ input: oklch(0.26 0.015 252)
167
+ ring: oklch(0.68 0.15 260)
168
+ surface-raised: oklch(0.2 0.013 252)
169
+ surface-overlay: oklch(0.25 0.015 252)
170
+ chart-1: oklch(0.68 0.15 260)
171
+ chart-2: oklch(0.72 0.11 220)
172
+ chart-3: oklch(0.72 0.15 150)
173
+ chart-4: oklch(0.78 0.13 65)
174
+ chart-5: oklch(0.65 0.18 295)
175
+ sidebar: oklch(0.13 0.011 252)
176
+ sidebar-foreground: oklch(0.9 0.01 248)
177
+ sidebar-primary: oklch(0.68 0.15 260)
178
+ sidebar-primary-foreground: oklch(0.13 0.03 258)
179
+ sidebar-accent: oklch(0.2 0.02 255)
180
+ sidebar-accent-foreground: oklch(0.9 0.01 248)
181
+ sidebar-border: oklch(0.24 0.014 252)
182
+ sidebar-ring: oklch(0.68 0.15 260)
183
+ typography:
184
+ display: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [600] }
185
+ sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
186
+ mono: { family: "Geist Mono", fallback: "ui-monospace, monospace", weights: [400] }
187
+ ramp:
188
+ display: { size: 28px, line: 34px, weight: 600, family: display, tracking: -0.01em }
189
+ h1: { size: 24px, line: 30px, weight: 600, family: sans }
190
+ h2: { size: 18px, line: 24px, weight: 600, family: sans }
191
+ body: { size: 14px, line: 20px, weight: 400, family: sans }
192
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
193
+ caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.02em }
194
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
195
+ register-scope: { display: [page-title, empty-state, auth], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
196
+ elevation:
197
+ radius: { sm: 4px, md: 6px, lg: 12px }
198
+ hairline: border
199
+ shadow:
200
+ overlay: "0 8px 24px oklch(0.25 0.03 258 / 0.10)"
201
+ popover: "0 2px 12px oklch(0.25 0.03 258 / 0.08)"
202
+ dark-ladder: { background: 0.15, raised: 0.20, overlay: 0.25, hue-held: 252 }
203
+ motion:
204
+ duration: { press: 100ms, fade: 150ms, panel: 250ms }
205
+ easing: { standard: "cubic-bezier(0.4, 0, 0.2, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
206
+ entrance-never: ease-in
207
+ identity-moments: [auth, first-run-empty]
208
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
209
+ charts:
210
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
211
+ sequential: { from: background, to: chart-1 }
212
+ diverging: { negative: destructive, mid: muted, positive: success }
213
+ layout: { base: 4px, sidebar: [256px, 64px], topbar: 56px, side-panel: [440px, 720px], content-max: 1440px }
214
+ ```
@@ -0,0 +1,184 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: editorial-luxury
4
+ tier: variant
5
+ segments: [business-tools, finance, professional-services]
6
+ keywords: [editorial, luxury, serif, navy, gold, premium, print-like]
7
+ sourced: 2026-07-12
8
+ sources: "bake-off runner-up entry; Fraunces specimen"
9
+ license: open
10
+ ---
11
+
12
+ # editorial-luxury — a broadsheet finance desk after hours
13
+
14
+ ## 1 Visual Theme
15
+ A mahogany-desk private bank, not a startup: ivory paper tinted toward ink-navy, one
16
+ gold accent used like a wax seal, generous margins, serif display speaking only in
17
+ headlines. Light default; the dark theme is a lamplit reading room, not inverted paper.
18
+
19
+ ## 2 Color Roles
20
+ Ink-navy `foreground` on ivory `background`; `accent` gold is the single chromatic
21
+ accent — primary action, focus ring, active nav marker, never fills or large areas.
22
+ Status hues (`destructive`, `success`, `warning`) appear only on status chips and
23
+ inline validation. Sidebar runs the inverted navy panel in both themes.
24
+
25
+ ## 3 Typography
26
+ Fraunces (display) / Inter (text) / IBM Plex Mono (data). Register scope: Fraunces
27
+ touches page titles, empty states, and auth only — never cells, buttons, labels, or
28
+ form chrome. Numerals in tables are always Plex Mono `tabular-nums`. Two weights per
29
+ family; emphasis bumps weight, never size.
30
+
31
+ ## 4 Component Stylings
32
+ Buttons `radius-sm`, `primary` fill, no pill; inputs hairline `border` with `ring`
33
+ focus; cards flat on `card` with hairline, never shadowed in light; table rows
34
+ `table-row-height` dense, `muted` hover; detail opens in the side panel, gold rule
35
+ at its head.
36
+
37
+ ## 5 Layout
38
+ 4px base; sidebar 256/60px; topbar 56px; side panel 440/680px; content max 1320px;
39
+ margins generous (24px gutters) — the luxury is space, not ornament.
40
+
41
+ ## 6 Depth
42
+ Light: hairlines carry all structure; shadows only on overlays (popover, dialog) —
43
+ navy-tinted, never black. Dark: the surface ladder does depth — `background` 0.16 L,
44
+ `surface-raised` +0.05, `surface-overlay` +0.10, hue held at 262.
45
+
46
+ ## 7 Motion
47
+ Reserved. Named moments: `panel-slide` (side panel, 240ms, interruptible),
48
+ `fade-arrive` (page content, 160ms), `gold-ink` (primary-action press, 120ms).
49
+ Physicality granted only to auth and first-run empty states. Nothing animates in
50
+ tables, palettes, or any keyboard-initiated action.
51
+
52
+ ## 8 Iconography & Charts
53
+ Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline
54
+ axes, no gridline fills, navy→gold categorical ramp (`chart-1..5`), tooltips on
55
+ `surface-overlay` with mono numerals.
56
+
57
+ ## 9 Voice
58
+ Quiet concierge: verbs without exclamation, numbers stated plainly. "Add account" ·
59
+ "Nothing needs review — 3 items clear on Monday" · "This transfer exceeds the desk
60
+ limit; a second approver is required."
61
+
62
+ ## 10 Do's & Don'ts
63
+ Do reserve gold for exactly one element per viewport. Do let Fraunces speak only in
64
+ display registers. Don't shadow cards in light. Don't pill buttons. Don't introduce
65
+ a second chromatic accent — charts excepted, by ramp.
66
+
67
+ ## 11 Responsive
68
+ 375: sidebar → sheet, side panel → full sheet, tables → card rows with mono figures.
69
+ 768: sidebar collapses to icon rail. 1024/1440: two-pane queue+detail holds; content
70
+ centers under the 1320px cap.
71
+
72
+ ## 12 Agent Prompt Guide
73
+ Lead every surface with its work object, headline set in Fraunces. Spend the gold
74
+ once. Keep density in the data, luxury in the margins. Dark is authored — consult
75
+ the block, never derive.
76
+
77
+ ```yaml design-values
78
+ color:
79
+ light:
80
+ background: oklch(0.98 0.006 262)
81
+ foreground: oklch(0.22 0.03 262)
82
+ card: oklch(0.995 0.004 262)
83
+ card-foreground: oklch(0.22 0.03 262)
84
+ popover: oklch(1 0 0)
85
+ popover-foreground: oklch(0.22 0.03 262)
86
+ primary: oklch(0.30 0.06 262)
87
+ primary-foreground: oklch(0.97 0.01 85)
88
+ secondary: oklch(0.93 0.012 262)
89
+ secondary-foreground: oklch(0.28 0.05 262)
90
+ muted: oklch(0.945 0.009 262)
91
+ muted-foreground: oklch(0.47 0.025 262)
92
+ accent: oklch(0.70 0.12 85)
93
+ accent-foreground: oklch(0.24 0.05 262)
94
+ destructive: oklch(0.54 0.19 25)
95
+ destructive-foreground: oklch(0.98 0.008 25)
96
+ success: oklch(0.55 0.11 155)
97
+ warning: oklch(0.68 0.13 75)
98
+ border: oklch(0.895 0.012 262)
99
+ input: oklch(0.895 0.012 262)
100
+ ring: oklch(0.70 0.12 85)
101
+ surface-raised: oklch(0.99 0.005 262)
102
+ surface-overlay: oklch(1 0 0)
103
+ chart-1: oklch(0.42 0.09 262)
104
+ chart-2: oklch(0.70 0.12 85)
105
+ chart-3: oklch(0.55 0.06 230)
106
+ chart-4: oklch(0.60 0.08 55)
107
+ chart-5: oklch(0.58 0.07 155)
108
+ sidebar: oklch(0.25 0.045 262)
109
+ sidebar-foreground: oklch(0.90 0.015 85)
110
+ sidebar-primary: oklch(0.72 0.12 85)
111
+ sidebar-primary-foreground: oklch(0.20 0.04 262)
112
+ sidebar-accent: oklch(0.31 0.05 262)
113
+ sidebar-accent-foreground: oklch(0.93 0.012 85)
114
+ sidebar-border: oklch(0.33 0.04 262)
115
+ sidebar-ring: oklch(0.72 0.12 85)
116
+ dark:
117
+ background: oklch(0.16 0.02 262)
118
+ foreground: oklch(0.92 0.012 85)
119
+ card: oklch(0.19 0.022 262)
120
+ card-foreground: oklch(0.92 0.012 85)
121
+ popover: oklch(0.26 0.028 262)
122
+ popover-foreground: oklch(0.92 0.012 85)
123
+ primary: oklch(0.78 0.11 85)
124
+ primary-foreground: oklch(0.18 0.03 262)
125
+ secondary: oklch(0.24 0.026 262)
126
+ secondary-foreground: oklch(0.88 0.014 85)
127
+ muted: oklch(0.23 0.024 262)
128
+ muted-foreground: oklch(0.65 0.02 262)
129
+ accent: oklch(0.78 0.12 85)
130
+ accent-foreground: oklch(0.18 0.03 262)
131
+ destructive: oklch(0.62 0.18 25)
132
+ destructive-foreground: oklch(0.14 0.02 25)
133
+ success: oklch(0.66 0.11 155)
134
+ warning: oklch(0.74 0.13 75)
135
+ border: oklch(0.27 0.025 262)
136
+ input: oklch(0.27 0.025 262)
137
+ ring: oklch(0.78 0.12 85)
138
+ surface-raised: oklch(0.21 0.023 262)
139
+ surface-overlay: oklch(0.26 0.028 262)
140
+ chart-1: oklch(0.62 0.10 262)
141
+ chart-2: oklch(0.78 0.12 85)
142
+ chart-3: oklch(0.68 0.07 230)
143
+ chart-4: oklch(0.70 0.09 55)
144
+ chart-5: oklch(0.68 0.08 155)
145
+ sidebar: oklch(0.13 0.018 262)
146
+ sidebar-foreground: oklch(0.88 0.014 85)
147
+ sidebar-primary: oklch(0.78 0.12 85)
148
+ sidebar-primary-foreground: oklch(0.16 0.025 262)
149
+ sidebar-accent: oklch(0.20 0.024 262)
150
+ sidebar-accent-foreground: oklch(0.90 0.013 85)
151
+ sidebar-border: oklch(0.22 0.022 262)
152
+ sidebar-ring: oklch(0.78 0.12 85)
153
+ typography:
154
+ display: { family: "Fraunces Variable", fallback: "Georgia, serif", weights: [500, 600] }
155
+ sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
156
+ mono: { family: "IBM Plex Mono", fallback: "ui-monospace, monospace", weights: [400] }
157
+ ramp:
158
+ display: { size: 32px, line: 38px, weight: 600, family: display, tracking: -0.01em }
159
+ h1: { size: 24px, line: 30px, weight: 600, family: display }
160
+ h2: { size: 18px, line: 24px, weight: 600, family: sans }
161
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
162
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
163
+ caption: { size: 12px, line: 16px, weight: 400, family: sans }
164
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
165
+ register-scope: { display: [page-title, empty-state, auth], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
166
+ elevation:
167
+ radius: { sm: 4px, md: 6px, lg: 10px }
168
+ hairline: border
169
+ shadow:
170
+ overlay: "0 8px 30px oklch(0.25 0.04 262 / 0.14)"
171
+ popover: "0 4px 16px oklch(0.25 0.04 262 / 0.10)"
172
+ dark-ladder: { background: 0.16, raised: 0.21, overlay: 0.26, hue-held: 262 }
173
+ motion:
174
+ duration: { press: 120ms, fade: 160ms, panel: 240ms }
175
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
176
+ entrance-never: ease-in
177
+ identity-moments: [auth, first-run-empty]
178
+ iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
179
+ charts:
180
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
181
+ sequential: { from: background, to: chart-1 }
182
+ diverging: { negative: destructive, mid: muted, positive: chart-5 }
183
+ layout: { base: 4px, sidebar: [256px, 60px], topbar: 56px, side-panel: [440px, 680px], content-max: 1320px }
184
+ ```
@@ -0,0 +1,216 @@
1
+ ---
2
+ schema: design-md/v2
3
+ id: expressive-saas
4
+ tier: variant
5
+ segments: [b2b-saas, collaboration]
6
+ keywords: [playful, colorful, friendly, bold, violet, rounded, energetic]
7
+ sourced: 2026-07-12
8
+ sources: "authored for the v2 variant roster; Outfit and DM Sans specimens"
9
+ license: open
10
+ ---
11
+
12
+ # expressive-saas — a Saturday maker space with one steel workbench
13
+
14
+ ## 1 Visual Theme
15
+ A Saturday-morning maker space: white pegboard walls, violet tool grips in
16
+ tidy rows, coral sticky notes stacking up on the wins board — and one steel
17
+ workbench, swept clean, where the measuring actually happens. Light default;
18
+ color is confident, not decorative: a saturated violet `primary` that acts,
19
+ a coral wash that celebrates, rounded corners with real radius. The workbench
20
+ is the law — every data register (tables, forms, logs) stays operator-grade:
21
+ neutral surfaces, mono figures, zero bounce. Dark is the same space after
22
+ dark with the string lights on — an authored ladder, never an inversion.
23
+
24
+ ## 2 Color Roles
25
+ Deep violet-slate `foreground` on a violet-washed `background`. `primary` is
26
+ the saturated violet — primary actions, active nav, the `ring` — and it is
27
+ the only hue allowed to command. `accent` is the coral wash, reserved for
28
+ selection, celebration chips, and onboarding highlights; it decorates, never
29
+ instructs. Status hues stay conventional and saturated (`destructive` red,
30
+ `success` green, `warning` amber) — chips and validation only. The `sidebar`
31
+ runs a violet-tinted half-step below the canvas; charts get the full
32
+ five-hue party, by ramp only.
33
+
34
+ ## 3 Typography
35
+ Outfit (display) / DM Sans (text) / DM Mono (data). Outfit speaks at 700 in
36
+ page titles, empty states, auth, and onboarding — never in cells, buttons,
37
+ labels, or form chrome. DM Sans carries all chrome and body; DM Mono owns
38
+ figures, IDs, and timestamps with `tabular-nums`. Emphasis bumps weight, not
39
+ size; the playfulness lives in the display register and stops at the
40
+ workbench.
41
+
42
+ ## 4 Component Stylings
43
+ Buttons `radius-md`, `primary` fill, generous padding — round, not pill.
44
+ Inputs are `background` fill with hairline `border` and `radius-md`; focus
45
+ draws the 2px violet `ring`. Cards sit on `card` with hairline plus a soft
46
+ violet-tinted shadow — the one look-at-me the chrome gets. Table rows stay
47
+ dense and flat: `muted` hover, `accent` selection tint, mono numerals — no
48
+ radius theater inside data. Detail opens in the side panel; celebration
49
+ belongs to empty states and onboarding, never to the queue.
50
+
51
+ ## 5 Layout
52
+ 4px base. Sidebar 268/68px; topbar 60px; side panel 480/720px; content caps
53
+ at 1400px. Cards and marketing-adjacent moments (empty states, onboarding)
54
+ may breathe; data surfaces run standard density and tighten per archetype.
55
+ The grid is ordinary on purpose — the color is the personality, the bones
56
+ are an operator's.
57
+
58
+ ## 6 Depth
59
+ Two honest levels: cards carry a soft violet-tinted shadow over hairlines;
60
+ overlays carry a deeper one. Never a gray or black shadow, never stacked
61
+ shadows to fake rank. Focus is the 2px `ring`, always visible. Dark drops
62
+ shadows almost entirely and expresses depth as the ladder: `background` 0.17
63
+ L, `surface-raised` +0.05, `surface-overlay` +0.10, hue held at 300.
64
+
65
+ ## 7 Motion
66
+ Springy where it's earned. Named moments: `pop-confirm` (success/celebration
67
+ chips, 180ms, spring easing), `panel-slide` (side panel, 260ms,
68
+ interruptible, standard easing), `fade-arrive` (page content, 180ms),
69
+ `press` (140ms). The spring easing is granted only to identity moments —
70
+ auth, first-run empty states, onboarding; tables, palettes, and every
71
+ keyboard-initiated action get nothing. Entrances never ease-in, never
72
+ scale from zero.
73
+
74
+ ## 8 Iconography & Charts
75
+ Lucide at 2px stroke — a confident line matching the rounded posture —
76
+ 16/20px grid, `muted-foreground` default; nav always carries icons. Charts:
77
+ hairline axes, no gridline fills, the five-hue categorical ramp
78
+ (`chart-1..5`, violet leads), tooltips on `surface-overlay` with mono
79
+ numerals. Chart chrome stays quiet so the ramp can be loud.
80
+
81
+ ## 9 Voice
82
+ Warm teammate, verbs first, one exclamation per surface at most — and only
83
+ where something genuinely shipped. "Invite your team" · "Nothing here yet —
84
+ your first board is one click away" · "That name's taken; try adding your
85
+ team or project."
86
+
87
+ ## 10 Do's & Don'ts
88
+ Do let violet command and coral celebrate — in that order, never reversed.
89
+ Do keep every data register flat, dense, and mono-figured. Do spend the
90
+ spring easing only on identity moments. Don't pill buttons or balloon radius
91
+ past the declared scale. Don't tint table rows with `accent` beyond
92
+ selection. Don't let Outfit near a cell, button, or label. Don't animate
93
+ anything an operator does a hundred times a day.
94
+
95
+ ## 11 Responsive
96
+ 375: sidebar → sheet, side panel → full sheet, tables → stacked cards with
97
+ mono figures; celebration moments simplify to static color. 768: sidebar
98
+ collapses to the icon rail. 1024: two-pane queue+detail holds. 1440: content
99
+ centers under the 1400px cap; empty states earn their full illustration-free
100
+ display-type treatment.
101
+
102
+ ## 12 Agent Prompt Guide
103
+ Build the operator bones first — table, panel, keyboard path — then paint:
104
+ violet on the one action, coral on the one celebration. If a surface reads
105
+ loud before its data reads, mute the chrome, not the data. Spring easing
106
+ only at identity moments; the queue never bounces. Dark is authored —
107
+ consult the block, never derive.
108
+
109
+ ```yaml design-values
110
+ color:
111
+ light:
112
+ background: oklch(0.982 0.007 300)
113
+ foreground: oklch(0.235 0.03 300)
114
+ card: oklch(0.988 0.005 300)
115
+ card-foreground: oklch(0.235 0.03 300)
116
+ popover: oklch(0.988 0.005 300)
117
+ popover-foreground: oklch(0.235 0.03 300)
118
+ primary: oklch(0.5 0.23 295)
119
+ primary-foreground: oklch(0.98 0.008 300)
120
+ secondary: oklch(0.945 0.02 300)
121
+ secondary-foreground: oklch(0.32 0.09 296)
122
+ muted: oklch(0.955 0.012 300)
123
+ muted-foreground: oklch(0.46 0.03 300)
124
+ accent: oklch(0.93 0.035 350)
125
+ accent-foreground: oklch(0.4 0.15 350)
126
+ destructive: oklch(0.54 0.2 27)
127
+ destructive-foreground: oklch(0.98 0.006 27)
128
+ success: oklch(0.62 0.17 150)
129
+ warning: oklch(0.68 0.15 60)
130
+ border: oklch(0.92 0.014 300)
131
+ input: oklch(0.92 0.014 300)
132
+ ring: oklch(0.5 0.23 295)
133
+ surface-raised: oklch(0.988 0.005 300)
134
+ surface-overlay: oklch(0.99 0.005 300)
135
+ chart-1: oklch(0.5 0.23 295)
136
+ chart-2: oklch(0.62 0.19 350)
137
+ chart-3: oklch(0.65 0.13 195)
138
+ chart-4: oklch(0.72 0.14 80)
139
+ chart-5: oklch(0.6 0.16 150)
140
+ sidebar: oklch(0.965 0.012 300)
141
+ sidebar-foreground: oklch(0.235 0.03 300)
142
+ sidebar-primary: oklch(0.5 0.23 295)
143
+ sidebar-primary-foreground: oklch(0.98 0.008 300)
144
+ sidebar-accent: oklch(0.93 0.03 296)
145
+ sidebar-accent-foreground: oklch(0.38 0.14 296)
146
+ sidebar-border: oklch(0.92 0.014 300)
147
+ sidebar-ring: oklch(0.5 0.23 295)
148
+ dark:
149
+ background: oklch(0.17 0.015 300)
150
+ foreground: oklch(0.92 0.012 300)
151
+ card: oklch(0.2 0.017 300)
152
+ card-foreground: oklch(0.92 0.012 300)
153
+ popover: oklch(0.27 0.02 300)
154
+ popover-foreground: oklch(0.92 0.012 300)
155
+ primary: oklch(0.68 0.17 295)
156
+ primary-foreground: oklch(0.14 0.03 298)
157
+ secondary: oklch(0.26 0.03 298)
158
+ secondary-foreground: oklch(0.89 0.02 300)
159
+ muted: oklch(0.24 0.02 300)
160
+ muted-foreground: oklch(0.71 0.025 300)
161
+ accent: oklch(0.3 0.06 350)
162
+ accent-foreground: oklch(0.87 0.05 350)
163
+ destructive: oklch(0.63 0.19 25)
164
+ destructive-foreground: oklch(0.12 0.02 25)
165
+ success: oklch(0.7 0.16 150)
166
+ warning: oklch(0.76 0.14 65)
167
+ border: oklch(0.29 0.02 300)
168
+ input: oklch(0.29 0.02 300)
169
+ ring: oklch(0.68 0.17 295)
170
+ surface-raised: oklch(0.22 0.018 300)
171
+ surface-overlay: oklch(0.27 0.02 300)
172
+ chart-1: oklch(0.68 0.17 295)
173
+ chart-2: oklch(0.72 0.16 350)
174
+ chart-3: oklch(0.75 0.12 195)
175
+ chart-4: oklch(0.8 0.13 80)
176
+ chart-5: oklch(0.72 0.15 150)
177
+ sidebar: oklch(0.15 0.014 300)
178
+ sidebar-foreground: oklch(0.9 0.014 300)
179
+ sidebar-primary: oklch(0.68 0.17 295)
180
+ sidebar-primary-foreground: oklch(0.14 0.03 298)
181
+ sidebar-accent: oklch(0.23 0.03 298)
182
+ sidebar-accent-foreground: oklch(0.9 0.014 300)
183
+ sidebar-border: oklch(0.26 0.018 300)
184
+ sidebar-ring: oklch(0.68 0.17 295)
185
+ typography:
186
+ display: { family: "Outfit Variable", fallback: "system-ui, sans-serif", weights: [600, 700] }
187
+ sans: { family: "DM Sans Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
188
+ mono: { family: "DM Mono", fallback: "ui-monospace, monospace", weights: [400, 500] }
189
+ ramp:
190
+ display: { size: 32px, line: 38px, weight: 700, family: display, tracking: -0.015em }
191
+ h1: { size: 26px, line: 32px, weight: 700, family: display }
192
+ h2: { size: 19px, line: 26px, weight: 600, family: sans }
193
+ body: { size: 14px, line: 21px, weight: 400, family: sans }
194
+ small: { size: 13px, line: 18px, weight: 400, family: sans }
195
+ caption: { size: 12px, line: 16px, weight: 500, family: sans }
196
+ data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
197
+ register-scope: { display: [page-title, empty-state, auth, onboarding], sans: [chrome, controls, body], mono: [data, ids, timestamps] }
198
+ elevation:
199
+ radius: { sm: 8px, md: 12px, lg: 20px }
200
+ hairline: border
201
+ shadow:
202
+ overlay: "0 12px 32px oklch(0.35 0.09 295 / 0.16)"
203
+ popover: "0 4px 14px oklch(0.35 0.09 295 / 0.12)"
204
+ dark-ladder: { background: 0.17, raised: 0.22, overlay: 0.27, hue-held: 300 }
205
+ motion:
206
+ duration: { press: 140ms, fade: 180ms, panel: 260ms }
207
+ easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", spring: "cubic-bezier(0.34, 1.56, 0.64, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
208
+ entrance-never: ease-in
209
+ identity-moments: [auth, first-run-empty, onboarding]
210
+ iconography: { set: lucide, stroke: 2px, grid: [16px, 20px] }
211
+ charts:
212
+ categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
213
+ sequential: { from: background, to: chart-1 }
214
+ diverging: { negative: destructive, mid: muted, positive: success }
215
+ layout: { base: 4px, sidebar: [268px, 68px], topbar: 60px, side-panel: [480px, 720px], content-max: 1400px }
216
+ ```