@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
@@ -1,145 +0,0 @@
1
- ---
2
- schema: design-md/v1
3
- product: Revolut
4
- provenance: library
5
- sourced: 2026-07-04
6
- ---
7
-
8
- # Revolut — operator reading
9
-
10
- The operator translation of Revolut's fintech-meets-brochure system — a two-mode marketing canvas
11
- (true-black storytelling bands alternating with white catalogue bands, oversized Aeonik Pro
12
- headlines, pill buttons, eight saturated illustration colours). This entry keeps the
13
- operator-durable core and leaves the hero scale behind; §9 lists exactly what carries and what
14
- stays.
15
-
16
- ## 1 Visual Theme
17
-
18
- Light by default: the working canvas is the white catalogue mode — the surface Revolut reserves for its
19
- comparison tables and download tiles. Beside it stands a signature **true-black `sidebar`** (`#000000`):
20
- Revolut's nav and footer are pure black, so the one piece of persistent operator chrome carries the
21
- brand's dark identity while the work stays on white. Flat — no drop-shadow language; hierarchy comes
22
- from surface-luminance shifts and 1px hairlines. A single accent, cobalt violet `primary` (`#494fdf`),
23
- is reserved for the one action that matters; ink is warm near-black (`#191c1f`), never pure black.
24
- Components are distinctly rounded (12px working, 20px cards) without the marketing pill; density is
25
- `standard` and comfortable, the way Revolut's tall inputs feel.
26
-
27
- ## 2 Color Roles
28
-
29
- Light values first; one chromatic accent. Cobalt violet is the only brand stamp that carries meaning —
30
- status hues speak status, the illustration palette lives in charts.
31
-
32
- | Role | Value | Allowed where |
33
- | --- | --- | --- |
34
- | `background` / `card` / `popover` | white `#ffffff` | page, cards, and overlays — the dominant surface |
35
- | `foreground` | warm near-black `#191c1f` (brand ink) | all primary ink; softer than pure black on purpose |
36
- | `muted` / `secondary` | off-white `#f4f4f4` (surface-soft) | hover rows, soft-button fills, inset groups |
37
- | `muted-foreground` | mid-slate `#505a63` (brand mute) | labels, captions, secondary text |
38
- | `border` / `input` | hairline `#e2e2e7` | every separator, grid line, and field edge |
39
- | `primary` | cobalt violet `#494fdf` | the one primary action; active nav; key interactive detail |
40
- | `accent` | pale cobalt tint `#edeefc` | selected / hovered rows and nav on the light canvas |
41
- | `accent-foreground` | cobalt deep `#3a40c4` | ink on the accent tint |
42
- | `ring` | `primary` `#494fdf` | the focus outline — always visible, keyboard-first |
43
- | `destructive` | danger red `#e23b4a` | destructive actions and error state only |
44
- | `success` / `warning` | green `#428619` / orange `#ec7e00` | status signalling only, never chrome |
45
-
46
- The eight saturated illustration colours (teal, light-blue, pink, light-green, yellow, brown) carry no
47
- UI role — they appear only as chart series (see §7).
48
-
49
- ## 3 Typography
50
-
51
- Two families, one voice. `font-sans` leads with **Aeonik Pro** (the brand's editorial display face),
52
- falling through its documented substitutes — Inter Display, General Sans, Söhne — to **Inter**, the
53
- workhorse for body, labels, and tables. Headings carry Aeonik's tight negative tracking; body rides
54
- Inter with a faint positive tracking that reads mechanical and fintech-precise. `font-mono` is JetBrains
55
- Mono for amounts, IDs, and timestamps; numeric columns render `tabular-nums`.
56
-
57
- | Step | Role | Size · line | Weight · tracking |
58
- | --- | --- | --- | --- |
59
- | h1 | page title | 28px / 1.2 | `font-weight-strong` · `heading-tracking` |
60
- | h2 | section head | 22px / 1.3 | `font-weight-strong` · `heading-tracking` |
61
- | h3 | card / group head | 18px / 1.35 | `font-weight-strong` · `heading-tracking` |
62
- | body | UI + prose | 15px / 1.5 | `font-weight-normal` |
63
- | small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
64
- | caption | uppercase eyebrow | 12px / 1.2 | `font-weight-strong`, `+0.02em`, uppercase |
65
-
66
- Bump weight for emphasis, never size. Aeonik's hero sizes (80–136px) stay behind — voice carries, scale does not.
67
-
68
- ## 4 Component Stylings
69
-
70
- Every recurring operator component composes from the primitives — no literal values.
71
-
72
- - **Button** — `primary`: filled cobalt `primary` on `primary-foreground`, `radius` (rounded, not pilled
73
- — the marketing pill stays behind). Secondary: `secondary` fill, `border`. Ghost: `accent` on hover.
74
- - **Input** — `background` fill, 1px `border` (`border-weight`), `radius`; focus draws the `ring` at
75
- full 2px, no glow; comfortable height, echoing Revolut's tall fields.
76
- - **Card** — `card` surface, 1px `border`, the larger radius step (20px, Revolut's card corner), no
77
- shadow — depth is the hairline and the surface.
78
- - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `tabular-nums` on
79
- numeric columns; selection tints `accent`.
80
- - **Side panel** — detail and edit open beside the work (`side-panel-width`, `side-panel-width-rich` for
81
- content-heavy), not over it.
82
- - **Badge** — full pill (`radius-scale` max, the one controlled Revolut pill nod), hairline `border` or
83
- status fill, uppercase caption; status badges take `success` / `warning` / `destructive`, never `primary`.
84
-
85
- ## 5 Layout
86
-
87
- Base spacing unit 4px; the on-scale ramp is `4 · 6 · 8 · 14 · 16 · 24 · 32 · 48 · 64` (6px and 14px are
88
- Revolut's own off-grid comfort steps, kept). Shell dimensions map one-to-one to the layout primitives:
89
- sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height` (64px, Revolut's
90
- nav-bar height), side panel `side-panel-width` / `side-panel-width-rich`, modal `modal-width-max`, forms
91
- `form-max-width`, tables full-width. Density is governed globally by `density-tier` and stepped per
92
- archetype by the surface catalog.
93
-
94
- ## 6 Depth
95
-
96
- Flat, and more so than most — Revolut has **no traditional drop-shadow language**. Hierarchy comes from
97
- surface-luminance shifts and hairlines:
98
-
99
- - **0 — canvas** `background` white, no border.
100
- - **1 — panel / card** `card` on a 1px `border`; to lift off a band, the band steps to `muted`
101
- (`#f4f4f4`) rather than casting a shadow.
102
- - **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a low `md`.
103
-
104
- The black `sidebar` runs its own dark ladder: `#000000` chrome, `#16181a` hovered/selected nav row,
105
- `#ffffff1f` dividers. Focus is a 2px cobalt `ring` outline (never a glow) on every interactive element;
106
- three z-levels: content, sticky chrome, overlay.
107
-
108
- ## 7 Do's & Don'ts
109
-
110
- - **Do** reserve cobalt `primary` for the single most important action — a stamp, not a theme. If two things want it, one is not primary.
111
- - **Do** keep the `sidebar` true black `#000000` — Revolut's black is `#000000`, not near-black; a deliberate override of the light-surface default.
112
- - **Do** carry depth with surface-luminance and hairlines; keep body ink warm `#191c1f`, not pure black.
113
- - **Do** apply `tabular-nums` to every numeric column and `font-mono` to amounts, IDs, and timestamps.
114
- - **Don't** promote a second chromatic accent — the eight illustration colours are chart series only, never chrome.
115
- - **Don't** full-pill buttons or CTAs — the marketing pill stays behind; buttons take `radius`, only badges pill.
116
- - **Don't** add drop shadows to cards; colour-block and surface-luminance carry elevation.
117
- - **Don't** open detail or edit in a modal when the side panel fits — modals are confirmations only.
118
-
119
- ## 8 Responsive
120
-
121
- The operator sweep is 375 / 768 / 1024 / 1440.
122
-
123
- | Breakpoint | What changes |
124
- | --- | --- |
125
- | 375 | black `sidebar` → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
126
- | 768 | sidebar collapses to the black icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
127
- | 1024 | sidebar expands; two-pane queue+detail holds side by side |
128
- | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
129
-
130
- ## 9 Agent Prompt Guide
131
-
132
- **Carries over:** cobalt violet `primary` as the single accent · warm-black `#191c1f` ink · the black
133
- `#000000` sidebar chrome · rounded character (12px working, 20px cards) · Aeonik heading voice with tight
134
- tracking over an Inter body · flat, shadowless depth · `tabular-nums` money.
135
-
136
- **Stays behind:** the black canvas as the *working* surface · hero-scale Aeonik (80–136px) · the
137
- white-pill-on-black CTA (a dark-canvas device — the operator primary is the cobalt fill) · full-pill
138
- buttons · the band-switching rhythm · the illustration palette as chrome.
139
-
140
- - Lead every list surface with its table; the black sidebar is the persistent left chrome.
141
- - Accent only the primary action with cobalt; everything else is neutral or status.
142
- - Detail and edit go in the side panel; a modal is a confirmation, not a workspace.
143
- - Every numeric column is `tabular-nums`; every amount / ID / timestamp is `font-mono`, and every
144
- workflow completes from the keyboard with the cobalt `ring` outline always visible.
145
- - Stay flat — hairline and surface before shadow; illustration colours are chart series, not chrome.
@@ -1,137 +0,0 @@
1
- ---
2
- schema: design-md/v1
3
- product: Runway
4
- provenance: library
5
- sourced: 2026-07-04
6
- ---
7
-
8
- # Runway — cinematic monochrome, read for the operator
9
-
10
- Runway's brand is a dark, editorial, film-grade surface where full-bleed photography IS the UI and
11
- the interface retreats to near-invisibility. This entry is the operator reading of that identity: the
12
- photography, the 48px hero display, and the asymmetric image grids stay behind; the **dark-native
13
- canvas, the cool-slate monochrome temperature, the zero-shadow flatness, the single geometric type
14
- voice, and the never-pill radius character** carry into a CRM, queue, or dashboard. This brand is
15
- **categorically dark** — the operator default is `data-theme="dark"`, an override the doctrine's
16
- light-default floor concedes to brand truth (§7). A light reading is shipped for surfaces that need it.
17
-
18
- ## 1 Visual Theme
19
-
20
- Dark by default; light is the alternate. Flat to the point of austerity: hierarchy is carried by
21
- dark/light section polarity, hairline `border`, and type weight — never by shadow (the brand uses
22
- zero). The neutral ramp is a distinctly cool blue-gray slate (`#767d88`, `#7d848e`), so the whole UI
23
- reads engineered and photographic-adjacent rather than warm. There is **no chromatic accent** — Runway
24
- colors nothing but its photography; emphasis is pure contrast, so the operator `primary` is monochrome
25
- (white on dark, near-black on light). The anchor surface is a `#000000` canvas carrying `#1a1a1a`
26
- cards. Density is `spacious` — the brand breathes at cinema scale, and the operator reading keeps air.
27
-
28
- ## 2 Color Roles
29
-
30
- Dark values are native (listed first); light is the alternate reading. One accent — and it is a
31
- monochrome contrast, not a hue. Status hues are derived for the operator floor (the brand ships none).
32
-
33
- | Role | Dark (native) | Light | Allowed where |
34
- | --- | --- | --- | --- |
35
- | `background` | `#000000` Runway Black | `#ffffff` | page canvas — the dominant surface |
36
- | `foreground` | `#ffffff` | `#0c0c0c` | primary ink |
37
- | `card` / `popover` | `#1a1a1a` Dark Surface | `#ffffff` | cards, panels, overlays |
38
- | `muted` / `secondary` | `#27272a` | `#e9ecf2` Cool Cloud | hover rows, subtle fills, secondary buttons |
39
- | `muted-foreground` | `#767d88` Cool Slate | `#767d88` | labels, captions, metadata |
40
- | `border` / `input` | `#27272a` Border Dark | `#c9ccd1` Cool Silver | every separator, grid line, field edge (kept whisper-faint) |
41
- | `primary` | `#ffffff` | `#0c0c0c` | the one primary action — monochrome contrast, no hue |
42
- | `primary-foreground` | `#000000` | `#ffffff` | text on the primary fill |
43
- | `accent` | `#27272a` | `#e9ecf2` | selected / hovered rows and nav only |
44
- | `ring` | `#ffffff` | `#0c0c0c` | focus outline — high-contrast monochrome, keyboard-first |
45
- | `destructive` | `#e5484d` | `#c53030` | destructive actions and error only (derived) |
46
- | `success` / `warning` | `#46a758` / `#d5a13a` | `#2f855a` / `#b7791f` | status signalling only (derived) |
47
-
48
- ## 3 Typography
49
-
50
- One family carries everything — abcNormal in the brand; the operator substitute is DM Sans (its
51
- geometric sibling), with Inter as the robust fallback. Variety comes from size, weight, case, and
52
- tracking, never a second family. Heading tracking runs tight and negative (film-title density); the
53
- weight range is 400–600 and **never reaches 700+**. Uppercase micro-labels take *positive* tracking
54
- (`+0.02em`) as navigational signposts. `font-mono` (Geist Mono, derived — the brand is single-family)
55
- serves IDs, codes, timestamps, and log lines; numeric columns render `tabular-nums` (floor f04).
56
-
57
- | Step | Role | Size · line | Weight · tracking |
58
- | --- | --- | --- | --- |
59
- | h1 | page title | 40px / 1.0 | `font-weight-normal` · `heading-tracking` |
60
- | h2 | section head | 24px / 1.1 | `font-weight-normal` · `heading-tracking` |
61
- | h3 | card / group head | 20px / 1.1 | `font-weight-normal` · `heading-tracking` |
62
- | body | UI + prose | 16px / 1.4 | `font-weight-normal`, `-0.16px` |
63
- | small | labels, meta, dense table | 13px / 1.3 | `font-weight-normal`, `-0.2px` |
64
- | caption | uppercase eyebrow | 14px / 1.3 | `font-weight-strong`, `+0.02em`, uppercase |
65
-
66
- Bump weight toward `font-weight-strong` for emphasis; never change size, never exceed 600.
67
-
68
- ## 4 Component Stylings
69
-
70
- Every recurring component composes from the primitives — no literal values.
71
-
72
- - **Button** — `primary`: filled `primary` (white on dark / near-black on light), `radius`, no pill, label `font-weight-strong`. Secondary: `secondary` fill, 1px `border`. Ghost: transparent, `accent` on hover.
73
- - **Input** — `background` fill, 1px `border` (`border-weight`), `radius`; focus draws the `ring` at 2px, no glow.
74
- - **Card** — `card` surface, 1px `border`, `radius`; shadow only on true overlays (`shadow-intensity` near zero); inset by `density-inset`.
75
- - **Table row** — `table-row-height`; faint `border` grid lines; `muted` on hover; `tabular-nums` on numeric columns; selection tints `accent`.
76
- - **Side panel** — detail and edit open in the side panel (`side-panel-width` / `side-panel-width-rich`), beside the work, not over it (floor f03).
77
- - **Badge** — hairline `border`, `muted` / status fill, uppercase caption; status badges take `success` / `warning` / `destructive`, never `primary`.
78
-
79
- ## 5 Layout
80
-
81
- Base spacing unit 8px; the on-scale ramp is `4 · 6 · 8 · 12 · 16 · 20 · 24 · 28 · 32 · 48 · 64 · 78`
82
- (the brand's own scale — section spacing runs generous). Shell dimensions map one-to-one to the layout
83
- primitives: sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height`, side
84
- panel `side-panel-width` / `side-panel-width-rich`, modal cap `modal-width-max`, forms `form-max-width`,
85
- tables full-width. Density is `spacious` globally (via `density-gap`), stepped per archetype by the
86
- surface catalog — never by absolute overrides. Content caps generous; the 1600px cinema container stays
87
- behind.
88
-
89
- ## 6 Depth
90
-
91
- Flat, emphatically. The brand uses **zero shadows** — depth comes from dark/light section polarity and
92
- hairlines, not `box-shadow`:
93
-
94
- - **0 — canvas** `background`, no border.
95
- - **1 — panel / card** `card` on a 1px `border`; no shadow.
96
- - **2 — overlay** `popover` / side panel / modal — the only place `shadow-intensity` earns a whisper of
97
- lift, and even then a `border` does most of the separating.
98
-
99
- Focus is a monochrome `ring` outline (white on dark, near-black on light), never a glow, visible on
100
- every interactive element (floor f06). Three z-levels: content, sticky chrome, overlay.
101
-
102
- ## 7 Do's & Don'ts
103
-
104
- - **Do** default to dark — this brand is categorically dark; light is the alternate, not the base.
105
- - **Do** reserve `primary` (the monochrome contrast) for the single most important action; everything else is neutral or status.
106
- - **Do** keep borders whisper-faint (`#27272a` / `#c9ccd1`) and carry hierarchy with polarity and weight.
107
- - **Do** apply `tabular-nums` to numeric columns and `font-mono` to IDs, codes, and timestamps; give uppercase labels positive tracking, never tight uppercase.
108
- - **Don't** introduce a chromatic accent — the interface is colorless by doctrine; color belongs to content, and status hues speak status only.
109
- - **Don't** pill anything or reach past `radius-scale` — geometry is subtly rounded (4–16px), never round.
110
- - **Don't** use a weight of 700 or above, or a second typeface; don't signal elevation with shadow (reach for the whisper only on a real overlay).
111
-
112
- ## 8 Responsive
113
-
114
- The operator sweep is 375 / 768 / 1024 / 1440.
115
-
116
- | Breakpoint | What changes |
117
- | --- | --- |
118
- | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
119
- | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
120
- | 1024 | sidebar expands; two-pane queue+detail holds side by side |
121
- | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
122
-
123
- ## 9 Agent Prompt Guide
124
-
125
- Directives the emitting agent follows verbatim:
126
-
127
- - Default the shell to dark (`data-theme="dark"`); the near-black canvas with `#1a1a1a` cards is the
128
- brand. Offer light only where a surface demands it.
129
- - Carry hierarchy with dark/light polarity, hairline borders, and type weight — reach for shadow only
130
- on a genuine overlay, and even then let the border lead.
131
- - Accent is monochrome contrast, not a hue. If two things want the primary, one of them is not primary.
132
- - Use one geometric sans (DM Sans / Inter) for everything; keep heading tracking tight-negative, weight
133
- ≤ 600. `font-mono` for IDs and timestamps; `tabular-nums` on every numeric column (f04).
134
- - Uppercase micro-labels take positive tracking; small radius (4–16px), never pill.
135
- - **Stays behind:** full-bleed cinematic photography, the 48px hero display type, asymmetric editorial
136
- image grids, the 1600px cinema container, and photography-as-color. An operator surface earns its
137
- clarity from structure, not spectacle.
@@ -1,168 +0,0 @@
1
- ---
2
- schema: design-md/v1
3
- product: Sanity
4
- provenance: library
5
- sourced: 2026-07-04
6
- ---
7
-
8
- # Sanity — an operator reading of the near-black command-center system
9
-
10
- Sanity's web system is a developer-content platform rendered as a nocturnal control room: a near-black
11
- achromatic canvas, a geometric-condensed sans with aggressively tight tracking, real code in dark
12
- cards, and two vivid signal-hues punctuating the gray. This is the *operator* reading — an internal
13
- tool (content queue, structured-content dashboard, publishing console, log stream) in Sanity's
14
- language. What carries: the near-black `#0b0b0b` canvas, the pure achromatic gray ramp, the two-signal
15
- accent system (coral rests, electric-blue activates), IBM Plex Mono, the geometric sans with tight
16
- tracking, and flat colorimetric depth. What stays behind (§7, §9): the hero display, full-pill CTAs,
17
- the full-bleed marketing rhythm, and the neon-green/magenta highlights.
18
-
19
- **This brand is categorically dark** — the near-black canvas is "not a dark mode but the primary
20
- identity," and Sanity's light/inverted sections are marketing inversions, never an operator light
21
- theme. A white operator canvas is off-brand.
22
-
23
- ## 1 Visual Theme
24
-
25
- Dark by default — the near-black `background` (`#0b0b0b`, never pure black) is the floor of every
26
- surface, with no light counterpart. Emphatically flat: hierarchy comes from a colorimetric surface
27
- ladder (canvas → elevated `#212121` → prominent `#353535`), hairline `border`, and white-on-black
28
- contrast, never a drop shadow. The neutral ramp is pure achromatic gray — no warm or cool undertone —
29
- so the UI reads engineered and monochrome, its accents landing like signal lights in a dark room. Two
30
- accents, held to strict roles: coral `primary` (`#f36458`) is the one resting call-to-action, and
31
- electric blue (`#0052ef`) is the system-wide activation signal — hover, active-nav, links, and the
32
- focus `ring`. Density is `dense` — this reads like a tool for people who live in terminals.
33
-
34
- ## 2 Color Roles
35
-
36
- Dark values. Two accents by strict role — coral rests, blue activates; the vivid greens and magenta
37
- are chart/status graces, and status hues speak only status.
38
-
39
- | Role | Value | Allowed where |
40
- | --- | --- | --- |
41
- | `background` | near-black canvas `#0b0b0b` | page floor and content area — the dominant surface |
42
- | `foreground` | white ink `#ffffff` | headlines and primary text on dark |
43
- | `card` / `popover` / `secondary` | elevated `#212121` | cards, overlays, inputs, secondary-button fills — lifted off the canvas |
44
- | `muted` | subtle fill `#212121` | quiet band tints, disabled tracks, canvas-level hover fills |
45
- | `muted-foreground` | silver `#b9b9b9` | labels, captions, secondary/body text, placeholders |
46
- | `accent` | prominent lift `#353535` | in-card hover and selected rows/nav — a neutral colorimetric step, never a hue wash |
47
- | `border` / `input` | visible hairline `#353535` | every separator, grid line, and field edge — calibrated visible but not dominant |
48
- | `primary` | coral `#f36458` | the one resting primary action per surface — the brand's warm signal, nowhere else |
49
- | `primary-foreground` | white `#ffffff` | text on the coral fill |
50
- | `ring` | electric blue `#0052ef` | the focus outline — the activation signal, unmistakable because keyboard-first |
51
- | `destructive` | pure red `#dd0000` | destructive actions and error state only — kept distinct from coral |
52
- | `success` / `warning` | green `#37cd84` / amber `#f59e0b` | status signalling only, never chrome |
53
-
54
- The neon green (`#19d600`) and magenta (`#f500ff`) are marketing punctuation, surviving here only as
55
- chart hues (§7). Blue never becomes a surface wash — it is line, text, ring, and indicator, so its
56
- signal stays sharp.
57
-
58
- ## 3 Typography
59
-
60
- One sans, one mono. `font-sans` is waldenburgNormal (the custom face; Space Grotesk or Inter is the
61
- geometric-condensed substitute) — body, UI, tables, and headings all ride it. `font-mono` is IBM Plex
62
- Mono for IDs, codes, timestamps, and log lines; numeric columns render `tabular-nums`, and mono
63
- uppercase carries the "system readout" voice for tags. The display *scale* (112/72/48px) stays behind
64
- — an operator surface tops out at a 24px page title.
65
-
66
- | Step | Role | Family | Size · line | Weight · tracking |
67
- | --- | --- | --- | --- | --- |
68
- | h1 | page title | sans | 24px / 1.24 | `font-weight-strong` · `heading-tracking` |
69
- | h2 | section head | sans | 20px / 1.24 | `font-weight-strong` · `heading-tracking` |
70
- | h3 | card / group head | sans | 16px / 1.3 | `font-weight-strong` · 0 |
71
- | body | UI + prose | sans | 15px / 1.5 | `font-weight-normal` |
72
- | small | labels, meta, dense table | sans | 13px / 1.4 | `font-weight-normal` |
73
- | caption | uppercase eyebrow / tag | mono | 12px / 1.3 | `font-weight-strong`, uppercase |
74
- | code | IDs, logs, technical | mono | 13px / 1.5 | `font-weight-normal` |
75
-
76
- The brand never reaches for heavy weight — emphasis tops at 500 (600 only on 11px uppercase
77
- micro-labels). Headings build hierarchy on size and the signature tight negative tracking, never
78
- bolding; bump weight one restrained step for emphasis, never size.
79
-
80
- ## 4 Component Stylings
81
-
82
- Every recurring operator component composes from the primitives — no literal values.
83
-
84
- - **Button** — primary: filled coral `primary` on white `primary-foreground`, `radius`, never a pill
85
- (the marketing pill CTA stays behind). Secondary: `secondary` fill, 1px `border`, `muted-foreground`
86
- text. Ghost: transparent, `accent` on hover.
87
- - **Input / Card** — `card` fill on a 1px `border` (`border-weight`), `radius`; input focus draws the
88
- blue `ring` at full 2px, no glow; card depth is the surface lift off the canvas, inset by
89
- `density-inset`.
90
- - **Table row** — height `table-row-height`; `border` grid lines carry the grid; `accent` on hover;
91
- `tabular-nums` and `font-mono` on numeric columns; selection tints `accent` with a coral `primary`
92
- left-indicator.
93
- - **Side panel** — detail and edit open in the panel (`side-panel-width`, `side-panel-width-rich` for
94
- content-heavy), beside the work, not over it.
95
- - **Badge** — hairline `border`, `muted`/status fill, uppercase mono caption; pill `radius` is
96
- badges-only; status badges take `success` / `warning` / `destructive`, never `primary`.
97
-
98
- ## 5 Layout
99
-
100
- Base spacing unit 8px; the on-scale ramp is `4 · 8 · 12 · 16 · 24 · 32 · 48 · 64` — the marketing
101
- 64-120px section rhythm stays behind. Shell dimensions map one-to-one to the layout primitives: sidebar
102
- `sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height` (compact, matching the
103
- brand's tight nav), side panel `side-panel-width` / `side-panel-width-rich`, modal `modal-width-max`,
104
- forms `form-max-width`, tables full-width. Density is governed globally by `density-tier` (dense,
105
- rewriting the scale through `density-gap`) and stepped per archetype by the surface catalog.
106
-
107
- ## 6 Depth
108
-
109
- Flat and colorimetric. Elevation is a surface-color shift, not a shadow:
110
-
111
- - **0 — canvas** `background` (`#0b0b0b`), no border.
112
- - **1 — panel / card** `card` (`#212121`) on a 1px `border`; the elevated-surface lift off the
113
- near-black canvas carries rank. Hover/selected lift one step to `accent` (`#353535`).
114
- - **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns the faintest
115
- ring-based lift or a backdrop blur, enough to separate an overlay from the canvas above a scrim.
116
-
117
- Focus is a 2px blue `ring` outline (never a glow), visible on every interactive element. The shadow
118
- vocabulary is ring-based (`0 0 0 Npx`) and backdrop-blur only — no offset drop shadows. Three z-levels:
119
- content, sticky chrome, overlay.
120
-
121
- ## 7 Do's & Don'ts
122
-
123
- - **Do** anchor every surface on the near-black canvas and keep the gray ramp purely achromatic — no
124
- warm or cool tint; the vivid-signal-on-dark pairing is the brand.
125
- - **Do** reserve coral `primary` for the one resting call-to-action per surface, and spend electric
126
- blue on the activation states (hover, active-nav, links, focus `ring`). Coral rests, blue activates;
127
- never mix the two in one element.
128
- - **Do** carry hierarchy with the surface ladder, hairlines, weight, and size — the brand is flat — and
129
- run headings on the geometric sans with tight negative tracking, never past weight 500.
130
- - **Do** apply `tabular-nums` to numeric columns and `font-mono` (IBM Plex Mono) to IDs, codes,
131
- timestamps, and log lines; mono uppercase for technical tags.
132
- - **Don't** promote the neon green or magenta to a UI accent — they are chart/status graces; success
133
- status uses the calmer `success` green.
134
- - **Don't** pill controls or reach for a radius between 13px and the badge pill — the marketing pill CTA
135
- stays behind.
136
- - **Don't** signal elevation with offset drop shadows, or adapt the shell to a light canvas — this brand
137
- has no light surface.
138
-
139
- ## 8 Responsive
140
-
141
- The operator sweep is 375 / 768 / 1024 / 1440.
142
-
143
- | Breakpoint | What changes |
144
- | --- | --- |
145
- | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
146
- | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
147
- | 1024 | sidebar expands; two-pane queue+detail holds side by side |
148
- | 1440 | content caps at `form-max-width` for forms; tables and dashboards use the full width |
149
-
150
- ## 9 Agent Prompt Guide
151
-
152
- Directives the emitting agent follows verbatim:
153
-
154
- - Wear the near-black canvas by default; this brand is categorically dark, with no light surface to fall
155
- back to. Cards and panels are the elevated `#212121` lift off the canvas, not white.
156
- - Two accents, strict roles: coral `primary` marks the one resting call-to-action; electric blue is the
157
- activation signal on hover, active-nav, links, and the focus ring. If they meet in one element, one is
158
- wrong. All other color belongs to data and status; keep the neutral ramp purely achromatic.
159
- - Depth is surface contrast and hairlines, never a drop shadow; reach for the faint overlay lift or a
160
- backdrop blur only for a true modal or popover.
161
- - Headings ride the geometric sans with tight negative tracking; build hierarchy on size, never bold
162
- past weight 500. Every numeric column is `tabular-nums`; every ID / code / timestamp / log line is
163
- `font-mono` (IBM Plex Mono); technical tags are mono uppercase. Show real content, not an illustration.
164
- - Detail and edit go in the side panel beside the work; a modal is a confirmation, not a workspace.
165
- Keyboard-first: the blue `ring` focus outline is always visible.
166
- - Leave behind: the hero display at -4.48px tracking, full-pill CTA buttons, full-bleed marketing
167
- sections and the 64-120px rhythm, and the neon-green/magenta highlights — marketing voltage, not
168
- operator chrome.
@@ -1,163 +0,0 @@
1
- ---
2
- schema: design-md/v1
3
- product: Sentry
4
- provenance: library
5
- sourced: 2026-07-04
6
- ---
7
-
8
- # Sentry — the violet-and-lime developer-console operator design
9
-
10
- Sentry's design language reads like a debugging console wearing a leather jacket: a deep
11
- purple-violet midnight canvas, electric-lime keyword highlights, sticker mascots, a chunky display
12
- sans. But the brand is explicitly *two-polarity* — dark violet owns marketing and feature pages,
13
- while **white owns the dense, scannable, transactional surfaces** (pricing, contact, reference)
14
- where developers scan tables. That white polarity is exactly operator territory, so this entry wears
15
- it. What carries: the violet palette and its cool temperature, the authoritative near-black-violet
16
- primary button that reads as the strongest affordance on either polarity, the Rubik UI voice with
17
- uppercase `+0.2px` caps, Monaco on every code/log surface, the 8px developer-dialect radius, and
18
- lime held scarce as a signature highlight. What stays behind: the 88px display hero, the starfield
19
- texture, the floating mascots, the lime squiggle divider, and the dark-canvas marketing atmosphere.
20
-
21
- ## 1 Visual Theme
22
-
23
- Light by default; dark is opt-in. The operator UI sits on Sentry's white transactional canvas
24
- (`#ffffff`) — the polarity the brand reserves for dense reference content, not its atmospheric dark
25
- marketing hero. Flat: hierarchy is carried by a cool `#e5e7eb` hairline grid, type weight, and violet
26
- temperature — never heavy shadow. A single accent — the authoritative midnight-violet `primary`
27
- (`#150f23`), a near-black button with a violet undertone — carries the one action that matters, and
28
- reads as the most authoritative affordance on any canvas, so it is never softened to a bright
29
- brand-violet. Ink is deep ink-violet `foreground` (`#1f1633`), one hair lifted from the button. Lime
30
- stays scarce — a signature highlight glyph, never a fill (§7). The **dark violet console remains the
31
- opt-in iconic read** for a monitoring surface that wants it, but light is the default. Density is
32
- `standard`, dense-capable from the console heritage, stepping denser per archetype.
33
-
34
- ## 2 Color Roles
35
-
36
- Light values. One accent — midnight-violet `primary` is the only hue that carries the primary-action
37
- meaning; lime, pink, and the violet family speak charts and the scarce highlight, status hues speak
38
- only status. The dark-console value is noted where it defines the identity.
39
-
40
- | Role | Value | Allowed where |
41
- | --- | --- | --- |
42
- | `background` / `card` / `popover` | white `#ffffff` (dark console: `#1f1633`) | page, cards, and overlays — the dominant surface |
43
- | `foreground` | deep ink-violet `#1f1633` (dark console: `#ffffff`) | all primary ink — the brand's single token doing double duty as dark canvas and light ink |
44
- | `muted` / `secondary` | faint violet tint `#f3f1f8` | hover rows, subtle fills, secondary-button fill |
45
- | `muted-foreground` | violet-gray `#6b6577` | labels, captions, secondary text |
46
- | `border` | cool hairline `#e5e7eb` | every divider and grid line on the light canvas |
47
- | `input` | field hairline `#cfcfdb` | text-field and form-control edges — one step firmer than the divider grid |
48
- | `primary` | midnight violet `#150f23` | the one primary action; active nav; nowhere decorative |
49
- | `primary-foreground` | white `#ffffff` | text on the near-black action |
50
- | `accent` | faint violet wash `#e9e5f4` | selected / hovered rows and nav — a violet tint, never a lime or pink wash |
51
- | `ring` | focus blue `#3b82f6` | the focus outline — the corpus's one documented blue, reserved for keyboard focus |
52
- | `destructive` | cool crimson `#e11d48` | destructive actions and error state only |
53
- | `success` / `warning` | green `#16a34a` / amber `#d97706` | status signalling only, never chrome |
54
-
55
- Lime `#c2ef4e`, hot-pink `#fa7faa`, and the violet family live in charts and the one scarce highlight device (§7) — never a button, a fill, or body text.
56
-
57
- ## 3 Typography
58
-
59
- One UI sans, one mono. `font-sans` is **Rubik** (fallbacks `-apple-system, system-ui, Segoe UI,
60
- Helvetica, Arial`) — it carries every body, caption, button, and eyebrow role. `font-mono` is **Monaco**
61
- (Menlo, Ubuntu Mono fallbacks) for IDs, codes, timestamps, log lines, stack traces, and event payloads.
62
- The proprietary chunky display sans and its 88px hero stay behind — an operator surface tops out at a
63
- 24px page title in Rubik. The brand's signature is **uppercase caps with `+0.2px` tracking** on buttons
64
- and eyebrows — a console-prompt cadence carried on the caption step by hand. Functional copy rides the
65
- denser 1.5 leading ("reads like a log"); the airy 2.0 marketing leading stays behind. Numeric columns
66
- render `tabular-nums` (floor f04).
67
-
68
- | Step | Role | Size · line | Weight · tracking |
69
- | --- | --- | --- | --- |
70
- | h1 | page title | 24px / 1.25 | `font-weight-strong` · `heading-tracking` |
71
- | h2 | section head | 20px / 1.25 | `font-weight-strong` · 0 |
72
- | h3 | card / group head | 16px / 1.3 | `font-weight-strong` · 0 |
73
- | body | UI + prose | 14px / 1.5 | `font-weight-normal` |
74
- | small | labels, meta, dense table | 13px / 1.45 | `font-weight-normal` |
75
- | caption | uppercase eyebrow / button cap | 12px / 1.3 | `font-weight-strong`, `+0.2px`, uppercase |
76
- | code | IDs, logs, payloads | mono 13px / 1.5 | `font-weight-normal` |
77
-
78
- ## 4 Component Stylings
79
-
80
- Every recurring operator component composes from the primitives — no literal values.
81
-
82
- - **Button** — primary: filled midnight-violet `primary` on white `primary-foreground`, `radius` (8px),
83
- uppercase `+0.2px` caption label, no pill. Secondary: `secondary` fill, 1px `border`, `foreground`.
84
- Ghost: transparent, `accent` on hover.
85
- - **Input** — `background` fill, 1px `input` border (`border-weight`), `radius` (inputs step to 6px);
86
- focus draws the blue `ring` at full 2px, no glow.
87
- - **Card** — `card` surface on a 1px `border`, cards step to 12px radius; shadow only when a true overlay must lift off the canvas; inset by `density-inset`.
88
- - **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `tabular-nums` on numeric columns; row selection tints `accent`.
89
- - **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich` for content-heavy payloads), beside the work, not over it.
90
- - **Badge** — hairline `border`, `muted`/status fill, uppercase caption, 4px pill-ish radius; status badges take `success` / `warning` / `destructive`, never `primary`.
91
-
92
- ## 5 Layout
93
-
94
- Base spacing unit 4px; the on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64` — the corpus's
95
- `2 / 4 / 8 / 12 / 16 / 24 / 32` map direct and the 96px marketing section rhythm stays behind. Shell
96
- dimensions map one-to-one to the layout primitives: sidebar `sidebar-width-expanded` (248px) /
97
- `sidebar-width-collapsed` (56px), topbar `topbar-height` (56px), side panel `side-panel-width` (420px) /
98
- `side-panel-width-rich` (640px), modal cap `modal-width-max`, forms `form-max-width` (the brand's
99
- ~1152px container is marketing), tables full-width. Density is governed globally by `density-tier` and
100
- stepped per archetype — never by absolute overrides.
101
-
102
- ## 6 Depth
103
-
104
- Flat. Hierarchy comes from the surface ladder and cool hairlines, not shadow:
105
-
106
- - **0 — canvas** `background`, no border.
107
- - **1 — panel / card** `card` on a 1px `border`; shadow only when it must lift off the canvas.
108
- - **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a soft `md`
109
- shadow (the corpus's level-2 light-canvas card shadow). Rank is border and position; the marketing
110
- glow-halo CTA stays behind.
111
- - **inlay — code / log / terminal** near-black `#150f23` with white text and `font-mono` — the corpus's
112
- `code-block` carried as the surface for log streams, stack traces, and event payloads inside a light UI.
113
-
114
- Focus is a 2px blue `ring` outline (never a glow), visible on every interactive element (floor f06).
115
- Three z-levels: content, sticky chrome, overlay. The full **dark violet console** is the opt-in iconic
116
- read for a monitoring surface that wants it — same tokens, inverted polarity.
117
-
118
- ## 7 Do's & Don'ts
119
-
120
- - **Do** reserve midnight-violet `primary` for the single most important action and active nav — never
121
- soften it to a bright brand-violet; the near-black is the point, authoritative on any canvas.
122
- - **Do** carry hierarchy with cool hairlines, weight, and whitespace, keep every button and eyebrow
123
- uppercase with `+0.2px` tracking, and dress code/log/payload panels in the near-black inlay
124
- (`#150f23`, Monaco) with `tabular-nums` on numeric columns.
125
- - **Don't** make lime a fill. `#c2ef4e` is a scarce highlight glyph (a matched-keyword chip, a single
126
- "live" marker — one per viewport) and a chart hue; a lime "success" reads yellow and fails contrast,
127
- so status uses `success` / `warning` / `destructive`.
128
- - **Don't** promote a second brand accent — pink and the violet family are chart/decorative graces, not
129
- UI action colors; keep crimson `destructive` distinct from decorative pink.
130
- - **Don't** pill the primary CTA or reach outside `radius-scale` (buttons 8px; pill is badges only),
131
- blend the two canvas polarities on one content band, signal rank with heavy shadow, or open detail in
132
- a modal when the side panel fits.
133
-
134
- ## 8 Responsive
135
-
136
- The operator sweep is 375 / 768 / 1024 / 1440.
137
-
138
- | Breakpoint | What changes |
139
- | --- | --- |
140
- | 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
141
- | 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
142
- | 1024 | sidebar expands; two-pane queue+detail holds side by side |
143
- | 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
144
-
145
- Code, log, and payload inlays keep Monaco legibility at every breakpoint by scrolling horizontally, not wrapping.
146
-
147
- ## 9 Agent Prompt Guide
148
-
149
- Directives the emitting agent follows verbatim:
150
-
151
- - Reach for the white transactional canvas first — Sentry's dense polarity, not the dark marketing
152
- hero (which is the opt-in iconic read, not the default). Spend the accent once: midnight-violet
153
- `primary` marks THE action and active nav, never softened to a bright violet.
154
- - Keep every button and eyebrow uppercase with `+0.2px` tracking — the console cadence is the brand;
155
- emphasise by weight, never size. Lime is scarce: one highlight glyph per viewport (matched keyword,
156
- a single "live" marker) plus the chart series — never a button, fill, or body text.
157
- - Dress code, log, and event-payload panels in the near-black inlay (`#150f23`, Monaco) — real product
158
- chrome, not a light mock. Every numeric column is `tabular-nums`; every ID / timestamp is `font-mono`.
159
- - Stay flat — cool hairlines and the surface ladder before shadow; reach past a hairline only for a
160
- real overlay. Keyboard-first: the blue `ring` focus outline is always visible.
161
- - Leave behind the starfield texture, the floating mascots, the lime squiggle divider, and the 96px
162
- marketing rhythm. What carries: the violet palette and cool temperature, the authoritative near-black
163
- button, the Rubik caps cadence, Monaco, and the 8px radius character.