oh-my-design-cli 1.6.7 → 1.7.1

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 (229) hide show
  1. package/README.ko.md +17 -36
  2. package/README.md +6 -6
  3. package/agents/AGENT.md +3 -3
  4. package/agents/omd-master.md +7 -7
  5. package/agents/omd-microcopy.md +1 -1
  6. package/agents/omd-ux-researcher.md +1 -1
  7. package/data/reference-fingerprints.json +1318 -10
  8. package/package.json +1 -1
  9. package/web/references/11st/DESIGN.md +400 -0
  10. package/web/references/17live/DESIGN.md +43 -0
  11. package/web/references/29cm/DESIGN.md +41 -0
  12. package/web/references/91app/DESIGN.md +31 -0
  13. package/web/references/ably/DESIGN.md +54 -0
  14. package/web/references/airbnb/DESIGN.md +58 -0
  15. package/web/references/airtable/DESIGN.md +39 -0
  16. package/web/references/alipay/DESIGN.md +50 -0
  17. package/web/references/amazingtalker/DESIGN.md +434 -0
  18. package/web/references/appier/DESIGN.md +45 -0
  19. package/web/references/apple/DESIGN.md +47 -0
  20. package/web/references/baemin/DESIGN.md +142 -43
  21. package/web/references/banksalad/DESIGN.md +67 -0
  22. package/web/references/bilibili/DESIGN.md +45 -0
  23. package/web/references/bithumb/DESIGN.md +38 -0
  24. package/web/references/bmw/DESIGN.md +37 -0
  25. package/web/references/brandi/DESIGN.md +414 -0
  26. package/web/references/bunjang/DESIGN.md +47 -0
  27. package/web/references/cakeresume/DESIGN.md +29 -0
  28. package/web/references/cal/DESIGN.md +52 -0
  29. package/web/references/catchtable/DESIGN.md +79 -19
  30. package/web/references/cathay/DESIGN.md +432 -0
  31. package/web/references/channeltalk/DESIGN.md +48 -0
  32. package/web/references/class101/DESIGN.md +51 -0
  33. package/web/references/classting/DESIGN.md +41 -0
  34. package/web/references/classum/DESIGN.md +43 -0
  35. package/web/references/claude/DESIGN.md +157 -70
  36. package/web/references/clay/DESIGN.md +56 -0
  37. package/web/references/clickhouse/DESIGN.md +50 -0
  38. package/web/references/cloudflare/DESIGN.md +637 -0
  39. package/web/references/cohere/DESIGN.md +48 -0
  40. package/web/references/coinbase/DESIGN.md +139 -5
  41. package/web/references/coinone/DESIGN.md +39 -0
  42. package/web/references/composio/DESIGN.md +46 -0
  43. package/web/references/cookpad/DESIGN.md +37 -0
  44. package/web/references/coupang/DESIGN.md +57 -2
  45. package/web/references/cursor/DESIGN.md +44 -0
  46. package/web/references/dabang/DESIGN.md +57 -19
  47. package/web/references/dcard/DESIGN.md +57 -0
  48. package/web/references/dell/DESIGN.md +636 -0
  49. package/web/references/devsisters/DESIGN.md +29 -0
  50. package/web/references/discord/DESIGN.md +604 -0
  51. package/web/references/dji/DESIGN.md +39 -0
  52. package/web/references/drnow/DESIGN.md +52 -0
  53. package/web/references/duolingo/DESIGN.md +563 -0
  54. package/web/references/elevenlabs/DESIGN.md +39 -0
  55. package/web/references/expo/DESIGN.md +39 -0
  56. package/web/references/fastcampus/DESIGN.md +50 -0
  57. package/web/references/ferrari/DESIGN.md +47 -0
  58. package/web/references/figma/DESIGN.md +44 -0
  59. package/web/references/finda/DESIGN.md +413 -0
  60. package/web/references/flex/DESIGN.md +28 -0
  61. package/web/references/flo/DESIGN.md +43 -0
  62. package/web/references/framer/DESIGN.md +38 -0
  63. package/web/references/freee/DESIGN.md +48 -0
  64. package/web/references/fugle/DESIGN.md +41 -1
  65. package/web/references/gangnamunni/DESIGN.md +57 -1
  66. package/web/references/genie/DESIGN.md +415 -0
  67. package/web/references/github/DESIGN.md +727 -0
  68. package/web/references/gmarket/DESIGN.md +51 -0
  69. package/web/references/gogolook/DESIGN.md +25 -1
  70. package/web/references/gogoro/DESIGN.md +38 -0
  71. package/web/references/grip/DESIGN.md +39 -0
  72. package/web/references/hahow/DESIGN.md +26 -0
  73. package/web/references/hashicorp/DESIGN.md +42 -0
  74. package/web/references/hogangnono/DESIGN.md +41 -0
  75. package/web/references/hp/DESIGN.md +563 -0
  76. package/web/references/hyperconnect/DESIGN.md +393 -0
  77. package/web/references/hyundaicard/DESIGN.md +24 -0
  78. package/web/references/ibm/DESIGN.md +44 -0
  79. package/web/references/ichef/DESIGN.md +44 -0
  80. package/web/references/ikala/DESIGN.md +400 -0
  81. package/web/references/inflearn/DESIGN.md +38 -0
  82. package/web/references/intercom/DESIGN.md +38 -0
  83. package/web/references/jandi/DESIGN.md +382 -0
  84. package/web/references/jkopay/DESIGN.md +35 -1
  85. package/web/references/jobkorea/DESIGN.md +39 -0
  86. package/web/references/jumpit/DESIGN.md +37 -0
  87. package/web/references/kakao/DESIGN.md +64 -0
  88. package/web/references/kakaobank/DESIGN.md +55 -1
  89. package/web/references/kakaopay/DESIGN.md +59 -0
  90. package/web/references/kakaot/DESIGN.md +53 -0
  91. package/web/references/karrot/DESIGN.md +49 -0
  92. package/web/references/kbank/DESIGN.md +39 -0
  93. package/web/references/kdan/DESIGN.md +34 -1
  94. package/web/references/kintone/DESIGN.md +586 -0
  95. package/web/references/kkbox/DESIGN.md +22 -0
  96. package/web/references/kkday/DESIGN.md +47 -0
  97. package/web/references/kmong/DESIGN.md +427 -0
  98. package/web/references/krafton/DESIGN.md +37 -0
  99. package/web/references/kraken/DESIGN.md +44 -0
  100. package/web/references/krds/DESIGN.md +63 -0
  101. package/web/references/kream/DESIGN.md +32 -0
  102. package/web/references/kurly/DESIGN.md +38 -1
  103. package/web/references/laftel/DESIGN.md +40 -0
  104. package/web/references/lamborghini/DESIGN.md +54 -0
  105. package/web/references/layerx/DESIGN.md +615 -0
  106. package/web/references/lezhin/DESIGN.md +47 -0
  107. package/web/references/line/DESIGN.md +36 -0
  108. package/web/references/linear.app/DESIGN.md +182 -88
  109. package/web/references/loom/DESIGN.md +396 -0
  110. package/web/references/lovable/DESIGN.md +38 -0
  111. package/web/references/lunit/DESIGN.md +47 -19
  112. package/web/references/mastercard/DESIGN.md +587 -0
  113. package/web/references/meituan/DESIGN.md +42 -0
  114. package/web/references/melon/DESIGN.md +26 -0
  115. package/web/references/mercari/DESIGN.md +41 -0
  116. package/web/references/mercury/DESIGN.md +589 -0
  117. package/web/references/meta/DESIGN.md +615 -0
  118. package/web/references/millie/DESIGN.md +51 -0
  119. package/web/references/minimax/DESIGN.md +53 -0
  120. package/web/references/mintlify/DESIGN.md +45 -0
  121. package/web/references/miro/DESIGN.md +47 -0
  122. package/web/references/mistral.ai/DESIGN.md +37 -0
  123. package/web/references/momoshop/DESIGN.md +43 -0
  124. package/web/references/money-forward/DESIGN.md +42 -0
  125. package/web/references/mongodb/DESIGN.md +44 -0
  126. package/web/references/muji/DESIGN.md +605 -0
  127. package/web/references/musinsa/DESIGN.md +48 -0
  128. package/web/references/mustit/DESIGN.md +47 -1
  129. package/web/references/myrealtrip/DESIGN.md +49 -0
  130. package/web/references/naver/DESIGN.md +50 -1
  131. package/web/references/naverwebtoon/DESIGN.md +48 -0
  132. package/web/references/netflix/DESIGN.md +572 -0
  133. package/web/references/nexon/DESIGN.md +389 -0
  134. package/web/references/nhncloud/DESIGN.md +33 -0
  135. package/web/references/nike/DESIGN.md +588 -0
  136. package/web/references/note/DESIGN.md +28 -0
  137. package/web/references/notion/DESIGN.md +48 -0
  138. package/web/references/nvidia/DESIGN.md +50 -0
  139. package/web/references/ohouse/DESIGN.md +56 -0
  140. package/web/references/oliveyoung/DESIGN.md +47 -1
  141. package/web/references/ollama/DESIGN.md +40 -0
  142. package/web/references/openai/DESIGN.md +641 -0
  143. package/web/references/opencode.ai/DESIGN.md +37 -0
  144. package/web/references/payco/DESIGN.md +40 -0
  145. package/web/references/paypay/DESIGN.md +656 -0
  146. package/web/references/pchome/DESIGN.md +439 -0
  147. package/web/references/perplexity/DESIGN.md +546 -0
  148. package/web/references/piccollage/DESIGN.md +43 -0
  149. package/web/references/pinkoi/DESIGN.md +55 -0
  150. package/web/references/pinterest/DESIGN.md +44 -0
  151. package/web/references/pixiv/DESIGN.md +613 -0
  152. package/web/references/pixnet/DESIGN.md +430 -0
  153. package/web/references/posthog/DESIGN.md +50 -0
  154. package/web/references/publy/DESIGN.md +52 -0
  155. package/web/references/qanda/DESIGN.md +49 -1
  156. package/web/references/ragic/DESIGN.md +444 -0
  157. package/web/references/ramp/DESIGN.md +634 -0
  158. package/web/references/rayark/DESIGN.md +22 -0
  159. package/web/references/raycast/DESIGN.md +45 -0
  160. package/web/references/remember/DESIGN.md +44 -0
  161. package/web/references/renault/DESIGN.md +42 -0
  162. package/web/references/replicate/DESIGN.md +39 -0
  163. package/web/references/resend/DESIGN.md +44 -0
  164. package/web/references/retool/DESIGN.md +645 -0
  165. package/web/references/revolut/DESIGN.md +46 -0
  166. package/web/references/richart/DESIGN.md +465 -0
  167. package/web/references/ridi/DESIGN.md +47 -0
  168. package/web/references/riiid/DESIGN.md +32 -0
  169. package/web/references/robinhood/DESIGN.md +604 -0
  170. package/web/references/runwayml/DESIGN.md +45 -0
  171. package/web/references/sanity/DESIGN.md +50 -0
  172. package/web/references/sansan/DESIGN.md +631 -0
  173. package/web/references/sendbird/DESIGN.md +46 -0
  174. package/web/references/sentry/DESIGN.md +48 -0
  175. package/web/references/shinhancard/DESIGN.md +421 -0
  176. package/web/references/shopline/DESIGN.md +431 -0
  177. package/web/references/slack/DESIGN.md +635 -0
  178. package/web/references/smarthr/DESIGN.md +48 -0
  179. package/web/references/smartnews/DESIGN.md +29 -0
  180. package/web/references/socar/DESIGN.md +35 -0
  181. package/web/references/soomgo/DESIGN.md +326 -0
  182. package/web/references/spacex/DESIGN.md +27 -0
  183. package/web/references/spoon/DESIGN.md +46 -0
  184. package/web/references/spotify/DESIGN.md +49 -0
  185. package/web/references/starbucks/DESIGN.md +597 -0
  186. package/web/references/stripe/DESIGN.md +46 -0
  187. package/web/references/studio/DESIGN.md +602 -0
  188. package/web/references/supabase/DESIGN.md +41 -0
  189. package/web/references/superhuman/DESIGN.md +39 -0
  190. package/web/references/surveycake/DESIGN.md +442 -0
  191. package/web/references/tada/DESIGN.md +51 -0
  192. package/web/references/tesla/DESIGN.md +36 -0
  193. package/web/references/theverge/DESIGN.md +500 -0
  194. package/web/references/together.ai/DESIGN.md +33 -0
  195. package/web/references/toss/DESIGN.md +43 -0
  196. package/web/references/toss-securities/DESIGN.md +54 -19
  197. package/web/references/tossbank/DESIGN.md +57 -0
  198. package/web/references/trenbe/DESIGN.md +41 -0
  199. package/web/references/triple/DESIGN.md +47 -0
  200. package/web/references/tumblbug/DESIGN.md +48 -0
  201. package/web/references/tving/DESIGN.md +40 -0
  202. package/web/references/uber/DESIGN.md +36 -0
  203. package/web/references/ubie/DESIGN.md +615 -0
  204. package/web/references/uniqlo/DESIGN.md +575 -0
  205. package/web/references/upbit/DESIGN.md +42 -0
  206. package/web/references/upstage/DESIGN.md +38 -0
  207. package/web/references/velog/DESIGN.md +28 -0
  208. package/web/references/vercel/DESIGN.md +44 -0
  209. package/web/references/voicetube/DESIGN.md +39 -0
  210. package/web/references/voltagent/DESIGN.md +44 -0
  211. package/web/references/wadiz/DESIGN.md +71 -19
  212. package/web/references/wanted/DESIGN.md +46 -0
  213. package/web/references/warp/DESIGN.md +37 -0
  214. package/web/references/watcha/DESIGN.md +40 -0
  215. package/web/references/wavve/DESIGN.md +43 -1
  216. package/web/references/wconcept/DESIGN.md +45 -0
  217. package/web/references/webflow/DESIGN.md +49 -0
  218. package/web/references/wired/DESIGN.md +572 -0
  219. package/web/references/wise/DESIGN.md +41 -0
  220. package/web/references/x.ai/DESIGN.md +31 -0
  221. package/web/references/xiaohongshu/DESIGN.md +39 -0
  222. package/web/references/yanolja/DESIGN.md +45 -0
  223. package/web/references/yeogiotte/DESIGN.md +42 -1
  224. package/web/references/yogiyo/DESIGN.md +50 -0
  225. package/web/references/yourator/DESIGN.md +453 -0
  226. package/web/references/zapier/DESIGN.md +41 -0
  227. package/web/references/zigbang/DESIGN.md +33 -0
  228. package/web/references/zigzag/DESIGN.md +62 -0
  229. package/web/references/zozotown/DESIGN.md +578 -0
@@ -0,0 +1,645 @@
1
+ ---
2
+ id: retool
3
+ name: Retool
4
+ country: US
5
+ category: developer-tools
6
+ homepage: "https://retool.com"
7
+ primary_color: "#3C3C3C"
8
+ logo:
9
+ type: simpleicons
10
+ slug: "retool"
11
+ verified: "2026-06-06"
12
+ added: "2026-06-06"
13
+ omd: "0.1"
14
+ tokens:
15
+ source: prose-derived
16
+ extracted: "2026-06-09"
17
+ colors:
18
+ cod-gray: "#1a1a1a"
19
+ ink-black: "#0e0e0e"
20
+ green-white: "#e9ebdf"
21
+ white: "#ffffff"
22
+ burnt-sienna: "#e0613a"
23
+ burnt-sienna-hover: "#c94f2c"
24
+ cornflower: "#6e8be0"
25
+ smalt-blue: "#4e7c82"
26
+ action-primary: "#3c3c3c"
27
+ success: "#2fa86a"
28
+ error: "#e5484d"
29
+ warning: "#e0a23a"
30
+ panel: "#232323"
31
+ border-dark: "#2e2e2e"
32
+ muted: "#6b6b6b"
33
+ caption: "#8a8a8a"
34
+ body-dark: "#b4b4b4"
35
+ strong-dark: "#d6d6d6"
36
+ light-100: "#f4f5ef"
37
+ light-200: "#dcded2"
38
+ light-border: "#cacbbf"
39
+ typography:
40
+ family: { sans: "Inter", mono: "IBM Plex Mono" }
41
+ display-hero: { size: 56, weight: 700, lineHeight: 1.07, tracking: -0.02em, use: "Marketing hero headlines" }
42
+ display: { size: 40, weight: 700, lineHeight: 1.15, tracking: -0.02em, use: "Section headers" }
43
+ h1: { size: 30, weight: 600, lineHeight: 1.27, tracking: -0.01em, use: "Page titles" }
44
+ h2: { size: 22, weight: 600, lineHeight: 1.36, tracking: -0.01em, use: "Card / feature titles" }
45
+ h3: { size: 18, weight: 600, lineHeight: 1.44, use: "Sub-sections, panel headers" }
46
+ body: { size: 14, weight: 400, lineHeight: 1.57, use: "Standard UI text" }
47
+ caption: { size: 12, weight: 400, lineHeight: 1.33, use: "Metadata, table headers" }
48
+ label: { size: 11, weight: 600, lineHeight: 1.45, tracking: 0.06em, use: "Uppercase eyebrows, column heads" }
49
+ code: { size: 13, weight: 400, lineHeight: 1.54, use: "Query editor, values, keys (IBM Plex Mono)" }
50
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
51
+ rounded: { sm: 4, md: 6, lg: 8, full: 9999 }
52
+ shadow:
53
+ subtle: "0px 1px 2px rgba(14,14,14,0.06)"
54
+ standard: "0px 4px 12px rgba(14,14,14,0.24)"
55
+ elevated: "0px 8px 24px rgba(14,14,14,0.40)"
56
+ modal: "0px 16px 48px rgba(14,14,14,0.50)"
57
+ components:
58
+ button-primary: { type: button, bg: "#3c3c3c", fg: "#ffffff", radius: 6, padding: "0 16px", font: "14/500", use: "Default primary action on light (Save, Run)" }
59
+ button-accent: { type: button, bg: "#e0613a", fg: "#ffffff", radius: 6, padding: "0 18px", font: "15/600", use: "Top-of-funnel CTA (Start for free)" }
60
+ button-secondary: { type: button, bg: "transparent", fg: "#d6d6d6", radius: 6, padding: "0 16px", font: "14/500", use: "Outline secondary, 1px #3c3c3c border on dark" }
61
+ button-ghost: { type: button, bg: "transparent", fg: "#b4b4b4", radius: 6, padding: "0 10px", font: "14/500", use: "Toolbar/inline tertiary actions" }
62
+ button-destructive: { type: button, bg: "#e5484d", fg: "#ffffff", radius: 6, padding: "0 16px", font: "14/500", use: "Delete query, destructive confirmation" }
63
+ input-light: { type: input, bg: "#ffffff", fg: "#1a1a1a", radius: 6, padding: "8px 12px", font: "14/400", use: "Standard form input on light, #e0613a focus" }
64
+ input-dark: { type: input, bg: "#1a1a1a", fg: "#ffffff", radius: 6, padding: "8px 12px", font: "14/400", use: "Inspector/builder forms on dark canvas" }
65
+ code-editor: { type: input, bg: "#0e0e0e", fg: "#d6d6d6", radius: 6, padding: "12px", font: "13/400", use: "SQL/JS query editor, 1px #2e2e2e border" }
66
+ card: { type: card, bg: "#ffffff", fg: "#1a1a1a", radius: 8, padding: "20px", use: "Marketing feature cards, 1px #cacbbf border" }
67
+ panel-dark: { type: card, bg: "#232323", fg: "#d6d6d6", radius: 8, padding: "16px", use: "Inspector, component tray, 1px #2e2e2e border" }
68
+ badge-success: { type: badge, bg: "rgba(47,168,106,0.14)", fg: "#2fa86a", radius: 4, padding: "2px 8px", font: "12/600", use: "Deployed, Connected, Passing" }
69
+ badge-error: { type: badge, bg: "rgba(229,72,77,0.14)", fg: "#e5484d", radius: 4, padding: "2px 8px", font: "12/600", use: "Failed, Disconnected" }
70
+ badge-warning: { type: badge, bg: "rgba(224,162,58,0.14)", fg: "#e0a23a", radius: 4, padding: "2px 8px", font: "12/600", use: "Unsaved, Deprecated" }
71
+ badge-neutral: { type: badge, bg: "#2e2e2e", fg: "#b4b4b4", radius: 4, padding: "2px 8px", font: "12/500", use: "Environment tags, version labels" }
72
+ tab: { type: tab, fg: "#8a8a8a", font: "14/500", padding: "10px 14px", use: "Builder panels (Query/State/Logs)", active: "#ffffff text + 2px #e0613a bottom indicator" }
73
+ toast: { type: toast, bg: "#232323", fg: "#ffffff", radius: 8, padding: "12px 16px", font: "14/400", use: "Query/save confirmation, leading status dot" }
74
+ dialog: { type: dialog, bg: "#1a1a1a", fg: "#b4b4b4", radius: 10, padding: "24px", use: "Confirmations, resource setup, 1px #2e2e2e border" }
75
+ toggle: { type: toggle, bg: "#3c3c3c", fg: "#ffffff", radius: 9999, use: "Feature flags, env switches; on=#e0613a, white thumb" }
76
+ components_harvested: true
77
+ ---
78
+
79
+ # Design System Inspiration of Retool
80
+
81
+ ## 1. Visual Theme & Atmosphere
82
+
83
+ Retool is the platform for building internal tools fast — the admin panels, dashboards, and operational apps that companies used to hand-code for months. Its visual identity is unapologetically built *for developers*, and that audience defines everything: the brand site reads like a well-organized IDE, not a consumer landing page. The dominant atmosphere is **dark, structural, and instrumented** — near-black canvases (`#0E0E0E`–`#1A1A1A`), crisp 1px hairline grids, and a single warm accent that punches through the monochrome like a syntax-highlight keyword.
84
+
85
+ The brand's emotional register is *competence, not delight*. Where a consumer fintech app leans on rounded optimism, Retool leans on the aesthetic of tooling: tight grids, drag-handle affordances, table-dense layouts, monospaced data, and the visual language of a configuration surface. The marketing site itself frequently renders mock app-builder canvases — component trays on the left, a grid in the center, an inspector panel on the right — because the product *is* the brand. You are looking at software that builds software.
86
+
87
+ The palette is a study in restraint: a deep neutral foundation (the "Cod Gray" near-black and a soft "Green White" `#E9EBDF` off-white for light surfaces) punctuated by a small set of editorial accents — a warm **Burnt Sienna** orange, a muted **Smalt Blue** teal, and a periwinkle **Cornflower**. These are not loud SaaS gradients; they read like a carefully chosen terminal theme. Typography is a clean grotesque sans for UI and prose, paired with a true monospace for code, table data, and anything that smells like a value rather than a label.
88
+
89
+ **Key Characteristics:**
90
+ - Dark-first developer aesthetic — near-black canvas (`#1A1A1A`), hairline `#2E2E2E` grids
91
+ - Warm Burnt Sienna accent (`#E0613A`) as the primary highlight against deep neutrals
92
+ - "Green White" off-white (`#E9EBDF`) as the signature light surface — warmer than pure white
93
+ - Grotesque sans for UI/prose + monospace for code and tabular data
94
+ - Component-tray / inspector-panel layout language borrowed directly from the product
95
+ - Tight 1px borders and low-radius geometry — structural, not soft
96
+ - Restrained editorial accent set (orange, teal, periwinkle) — terminal-theme energy, not SaaS gradients
97
+
98
+ ## 2. Color Palette & Roles
99
+
100
+ ### Primary
101
+ - **Cod Gray** (`#1A1A1A`): The signature dark surface — page canvas, app builder background, nav bars. Near-black with a neutral undertone.
102
+ - **Ink Black** (`#0E0E0E`): Deepest surface — code blocks, the editor void, footer.
103
+ - **Green White** (`#E9EBDF`): Retool's signature off-white — light-mode surfaces, marketing sections, cards. Warmer and softer than `#ffffff`, with a faint green undertone.
104
+ - **Pure White** (`#FFFFFF`): Maximum-contrast text on dark, true-white inputs inside light surfaces.
105
+
106
+ ### Brand Accent
107
+ - **Burnt Sienna** (`#E0613A`): The primary warm accent — CTA emphasis, key highlights, hover glows, syntax-keyword energy. Retool's most recognizable color note.
108
+ - **Burnt Sienna Hover** (`#C94F2C`): Pressed/hover state for the orange accent.
109
+ - **Cornflower** (`#6E8BE0`): Periwinkle secondary accent — links, informational highlights, illustration detail.
110
+ - **Smalt Blue** (`#4E7C82`): Muted teal — tertiary accent, data categories, secondary illustration tone.
111
+
112
+ ### Action / Interactive
113
+ - **Action Primary** (`#3C3C3C`): Default dark UI button fill on light surfaces — neutral, developer-grade. The product favors neutral primaries with accent reserved for emphasis.
114
+ - **Action on Dark** (`#FFFFFF`): White-fill buttons against the dark canvas.
115
+ - **Accent CTA** (`#E0613A`): When a button needs to *pull* — sign-up, "Start for free."
116
+
117
+ ### Semantic
118
+ - **Success Green** (`#2FA86A`): Successful query, deploy, passing state.
119
+ - **Error Red** (`#E5484D`): Failed query, validation error, destructive action.
120
+ - **Warning Amber** (`#E0A23A`): Unsaved changes, deprecation notices, attention states.
121
+ - **Info Blue** (`#6E8BE0`): Informational banners (reuses Cornflower).
122
+
123
+ ### Neutral Scale (Dark theme)
124
+ - **Neutral 950** (`#0E0E0E`): Deepest void — editor, code.
125
+ - **Neutral 900** (`#1A1A1A`): Primary dark canvas.
126
+ - **Neutral 800** (`#232323`): Raised panel — inspector, side trays.
127
+ - **Neutral 700** (`#2E2E2E`): Default border / hairline grid on dark.
128
+ - **Neutral 600** (`#3C3C3C`): Strong border, neutral button fill.
129
+ - **Neutral 500** (`#6B6B6B`): Disabled text, muted icons on dark.
130
+ - **Neutral 400** (`#8A8A8A`): Secondary/caption text on dark.
131
+ - **Neutral 300** (`#B4B4B4`): Body text on dark surfaces.
132
+ - **Neutral 200** (`#D6D6D6`): Strong body text on dark.
133
+
134
+ ### Neutral Scale (Light theme)
135
+ - **Green White** (`#E9EBDF`): Light page surface.
136
+ - **Light 100** (`#F4F5EF`): Lightest tint — subtle section banding.
137
+ - **Light 200** (`#DCDED2`): Card fill on light, disabled surface.
138
+ - **Light Border** (`#CACBBF`): Default border / divider on light.
139
+ - **Text Strong** (`#1A1A1A`): Headings on light surfaces.
140
+ - **Text Body** (`#3C3C3C`): Body copy on light.
141
+ - **Text Muted** (`#6B6B6B`): Captions, metadata on light.
142
+
143
+ ### Surface & Borders
144
+ - **Border on Dark**: `#2E2E2E` (Neutral 700). Hairline grids, panel separators, table cell lines.
145
+ - **Border on Light**: `#CACBBF`. Card edges, input borders, dividers.
146
+ - **Overlay Scrim**: `rgba(14,14,14,0.64)`. Modal/dialog backdrop over the dark canvas.
147
+ - **Accent Glow**: `rgba(224,97,58,0.20)`. Subtle focus halo around accented elements.
148
+
149
+ ## 3. Typography Rules
150
+
151
+ ### Font Family
152
+ - **UI / Prose**: `"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif` — a neutral grotesque with excellent legibility at small sizes and tabular figure support. Retool's product and marketing favor a clean grotesque of this class.
153
+ - **Monospace**: `"IBM Plex Mono", "JetBrains Mono", "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace` — used for code blocks, query editors, table values, environment keys, and any literal value.
154
+ - **Display (marketing)**: The same grotesque at heavy weights (600–700) with tightened tracking for hero headlines.
155
+
156
+ ### Hierarchy
157
+
158
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
159
+ |------|------|------|--------|-------------|----------------|-------|
160
+ | Display Hero | Inter | 56px | 700 | 60px (1.07) | -0.02em | Marketing hero headlines |
161
+ | Display | Inter | 40px | 700 | 46px (1.15) | -0.02em | Section headers |
162
+ | Heading 1 | Inter | 30px | 600 | 38px (1.27) | -0.01em | Page titles |
163
+ | Heading 2 | Inter | 22px | 600 | 30px (1.36) | -0.01em | Card / feature titles |
164
+ | Heading 3 | Inter | 18px | 600 | 26px (1.44) | normal | Sub-sections, panel headers |
165
+ | Subtitle | Inter | 16px | 500 | 24px (1.50) | normal | Nav labels, list headers |
166
+ | Body Large | Inter | 16px | 400 | 26px (1.63) | normal | Marketing prose |
167
+ | Body | Inter | 14px | 400 | 22px (1.57) | normal | Standard UI text |
168
+ | Body Small | Inter | 13px | 400 | 20px (1.54) | normal | Secondary info, helper text |
169
+ | Caption | Inter | 12px | 400 | 16px (1.33) | normal | Metadata, table headers (often uppercase) |
170
+ | Label (uppercase) | Inter | 11px | 600 | 16px (1.45) | 0.06em | Section eyebrows, table column heads |
171
+ | Code / Mono | IBM Plex Mono | 13px | 400 | 20px (1.54) | normal | Query editor, values, keys |
172
+ | Data (tabular) | IBM Plex Mono | 13px | 400 | 20px | normal | Table cells — `font-variant-numeric: tabular-nums` |
173
+
174
+ ### Principles
175
+ - **Sans for labels, mono for values.** The cleanest tell of Retool's type system: anything that is a *value* (an ID, a query result, an env var, a number in a table) renders in monospace; anything that *describes* renders in the grotesque. This split mirrors how developers read code.
176
+ - **Tabular numerals everywhere data lives.** Tables, metrics, and counters use tabular figures so columns align and values don't jitter on update.
177
+ - **Tight tracking on display.** Hero and section headlines pull letter-spacing to `-0.02em` for a dense, engineered feel. Body stays at normal tracking.
178
+ - **Three working weights.** 400 (body), 500 (subtle emphasis / nav), 600 (headings). 700 reserved for marketing display only.
179
+ - **Uppercase eyebrows.** Small 11px uppercase labels with `0.06em` tracking mark section starts and table column headers — a developer-doc convention.
180
+
181
+ ## 4. Component Stylings
182
+
183
+ ### Buttons
184
+
185
+ Retool buttons are low-radius, structural, and lean neutral by default — accent color is spent sparingly on the single most important action per view.
186
+
187
+ **Primary (neutral / dark fill)**
188
+ - Background: `#3C3C3C`
189
+ - Text: `#FFFFFF`
190
+ - Border: none
191
+ - Radius: 6px
192
+ - Padding: 0 16px
193
+ - Height: 36px
194
+ - Font: 14px / 500 / Inter
195
+ - Hover: `#2E2E2E`
196
+ - Use: Default primary action on light surfaces (Save, Run, Create)
197
+
198
+ **Accent (Burnt Sienna)**
199
+ - Background: `#E0613A`
200
+ - Text: `#FFFFFF`
201
+ - Border: none
202
+ - Radius: 6px
203
+ - Padding: 0 18px
204
+ - Height: 40px
205
+ - Font: 15px / 600 / Inter
206
+ - Hover: `#C94F2C`
207
+ - Use: Top-of-funnel marketing CTA ("Start for free", "Book a demo")
208
+
209
+ **Secondary (outline)**
210
+ - Background: transparent
211
+ - Text: `#3C3C3C` (light) / `#D6D6D6` (dark)
212
+ - Border: 1px solid `#CACBBF` (light) / `#3C3C3C` (dark)
213
+ - Radius: 6px
214
+ - Padding: 0 16px
215
+ - Height: 36px
216
+ - Font: 14px / 500 / Inter
217
+ - Hover: bg `#F4F5EF` (light) / `#232323` (dark)
218
+ - Use: Secondary action paired beside a primary
219
+
220
+ **Ghost / Text**
221
+ - Background: transparent
222
+ - Text: `#3C3C3C` (light) / `#B4B4B4` (dark)
223
+ - Border: none
224
+ - Radius: 6px
225
+ - Padding: 0 10px
226
+ - Height: 32px
227
+ - Font: 14px / 500 / Inter
228
+ - Hover: bg `rgba(0,0,0,0.04)` / `rgba(255,255,255,0.06)`
229
+ - Use: Toolbar actions, inline controls, tertiary links
230
+
231
+ **Destructive**
232
+ - Background: `#E5484D`
233
+ - Text: `#FFFFFF`
234
+ - Border: none
235
+ - Radius: 6px
236
+ - Padding: 0 16px
237
+ - Height: 36px
238
+ - Font: 14px / 500 / Inter
239
+ - Hover: `#CE3A3F`
240
+ - Use: Delete query, remove resource, destructive confirmation
241
+
242
+ **Icon Button**
243
+ - Background: transparent → `rgba(255,255,255,0.06)` on hover (dark)
244
+ - Size: 32×32px
245
+ - Radius: 6px
246
+ - Icon: 16px, `#B4B4B4` → `#FFFFFF` on hover
247
+ - Use: Toolbar / panel-header controls in the builder
248
+
249
+ Disabled across all variants: 40% opacity, no pointer events. Focus: 2px `rgba(224,97,58,0.20)` ring + 1px `#E0613A` outline.
250
+
251
+ ### Inputs
252
+
253
+ **Text Field (light)**
254
+ - Background: `#FFFFFF`
255
+ - Text: `#1A1A1A`
256
+ - Border: 1px solid `#CACBBF`
257
+ - Radius: 6px
258
+ - Padding: 8px 12px
259
+ - Height: 36px
260
+ - Font: 14px / 400 / Inter
261
+ - Placeholder: `#8A8A8A`
262
+ - Focus: border `#E0613A` + 2px `rgba(224,97,58,0.20)` ring
263
+ - Use: Standard form input on light surfaces
264
+
265
+ **Text Field (dark)**
266
+ - Background: `#1A1A1A`
267
+ - Text: `#FFFFFF`
268
+ - Border: 1px solid `#2E2E2E`
269
+ - Radius: 6px
270
+ - Padding: 8px 12px
271
+ - Height: 36px
272
+ - Font: 14px / 400 / Inter
273
+ - Placeholder: `#6B6B6B`
274
+ - Focus: border `#E0613A`
275
+ - Use: Inspector panels, builder forms on the dark canvas
276
+
277
+ **Code / Query Editor**
278
+ - Background: `#0E0E0E`
279
+ - Text: `#D6D6D6`
280
+ - Border: 1px solid `#2E2E2E`
281
+ - Radius: 6px
282
+ - Padding: 12px
283
+ - Font: 13px / 400 / IBM Plex Mono
284
+ - Syntax: keywords `#E0613A`, strings `#2FA86A`, numbers `#6E8BE0`, comments `#6B6B6B`
285
+ - Use: SQL/JS query editors, transformers, code components
286
+
287
+ **Error State**
288
+ - Border: 1px solid `#E5484D`
289
+ - Helper text: `#E5484D` 13px below field
290
+ - Use: Validation failure — one actionable sentence
291
+
292
+ ### Cards
293
+
294
+ **Standard (light)**
295
+ - Background: `#FFFFFF`
296
+ - Border: 1px solid `#CACBBF`
297
+ - Radius: 8px
298
+ - Padding: 20px
299
+ - Shadow: `0px 1px 2px rgba(14,14,14,0.06)`
300
+ - Use: Marketing feature cards, dashboard tiles
301
+
302
+ **Panel (dark)**
303
+ - Background: `#232323`
304
+ - Border: 1px solid `#2E2E2E`
305
+ - Radius: 8px
306
+ - Padding: 16px
307
+ - Shadow: none
308
+ - Use: Inspector, component tray, builder side panels
309
+
310
+ **Resource Card**
311
+ - Background: `#1A1A1A`
312
+ - Border: 1px solid `#2E2E2E`
313
+ - Radius: 8px
314
+ - Padding: 16px
315
+ - Hover: border `#3C3C3C`, accent icon tint
316
+ - Use: Connected resource / integration tiles in the home grid
317
+
318
+ ### Tables
319
+
320
+ The signature Retool surface. Tables are dense, mono-valued, and grid-lined.
321
+
322
+ - Header: `#232323` bg, `#8A8A8A` 11px uppercase `0.06em`, 1px `#2E2E2E` bottom border
323
+ - Row: `#1A1A1A` bg, `#D6D6D6` 13px IBM Plex Mono, 36px row height
324
+ - Row hover: `#232323`
325
+ - Selected row: `rgba(224,97,58,0.12)` bg, 2px `#E0613A` left border
326
+ - Cell border: 1px `#2E2E2E` (hairline grid)
327
+ - Zebra (optional): alternate `#1E1E1E`
328
+
329
+ ### Badges
330
+
331
+ **Status (Success)**
332
+ - Background: `rgba(47,168,106,0.14)`
333
+ - Text: `#2FA86A`
334
+ - Border: none
335
+ - Radius: 4px
336
+ - Padding: 2px 8px
337
+ - Font: 12px / 600 / Inter
338
+ - Use: "Deployed", "Connected", "Passing"
339
+
340
+ **Status (Error)**
341
+ - Background: `rgba(229,72,77,0.14)`
342
+ - Text: `#E5484D`
343
+ - Radius: 4px · Padding: 2px 8px · Font: 12px / 600
344
+ - Use: "Failed", "Disconnected"
345
+
346
+ **Status (Warning)**
347
+ - Background: `rgba(224,162,58,0.14)`
348
+ - Text: `#E0A23A`
349
+ - Radius: 4px · Padding: 2px 8px · Font: 12px / 600
350
+ - Use: "Unsaved", "Deprecated"
351
+
352
+ **Neutral / Tag**
353
+ - Background: `#2E2E2E`
354
+ - Text: `#B4B4B4`
355
+ - Radius: 4px · Padding: 2px 8px · Font: 12px / 500 IBM Plex Mono
356
+ - Use: Environment tags, resource types, version labels
357
+
358
+ ### Tabs
359
+
360
+ - Container border: 1px `#2E2E2E` bottom
361
+ - Tab (inactive): `#8A8A8A` 14px / 500, 10px 14px padding
362
+ - Tab (active): `#FFFFFF` text + 2px `#E0613A` bottom indicator
363
+ - Hover: `#D6D6D6`
364
+ - Use: Builder panels (Query / State / Logs), settings sections
365
+
366
+ ### Toasts
367
+
368
+ **Default**
369
+ - Background: `#232323`
370
+ - Text: `#FFFFFF`
371
+ - Border: 1px solid `#2E2E2E`
372
+ - Radius: 8px
373
+ - Padding: 12px 16px
374
+ - Shadow: `0px 8px 24px rgba(14,14,14,0.40)`
375
+ - Font: 14px / 400 / Inter
376
+ - Leading status dot: success `#2FA86A`, error `#E5484D`
377
+ - Use: "Query ran successfully", "Changes saved"
378
+
379
+ ### Dialogs
380
+
381
+ **Modal**
382
+ - Background: `#1A1A1A` (dark) / `#FFFFFF` (light)
383
+ - Border: 1px solid `#2E2E2E` / `#CACBBF`
384
+ - Radius: 10px
385
+ - Padding: 24px
386
+ - Shadow: `0px 16px 48px rgba(14,14,14,0.50)`
387
+ - Header: 18px / 600, Body: 14px / 400 `#B4B4B4`
388
+ - Use: Confirmations, resource setup, settings
389
+
390
+ ### Toggles
391
+
392
+ - On: `#E0613A` · Off: `#3C3C3C`
393
+ - Track: 36×20px, Radius 9999px
394
+ - Thumb: `#FFFFFF` 16px circle, `0px 1px 2px rgba(0,0,0,0.3)`
395
+ - Use: Feature flags, environment switches, boolean settings
396
+
397
+ ---
398
+
399
+ **Verified:** 2026-06-06
400
+ **Tier 1 sources:** retool.com (live brand site — dark-first developer aesthetic, Burnt Sienna accent CTAs, app-builder layout language, "Start for free" / "Book a demo" copy), docs.retool.com/apps/guides/presentation-styling/themes (theme + typography controls), mobbin.com/colors/brand/retool (palette names: Green White `#E9EBDF`, Cod Gray, Smalt Blue, Burnt Sienna, Cornflower, White). · https://retool.com (live production site)
401
+ **Note:** Retool ships no public token catalog; component geometry (radii, heights, spacing) is reconstructed from the live product/marketing UI and standard developer-tool conventions. Hex values for accent/semantic tiers are calibrated to the documented brand palette names.
402
+
403
+ ## 5. Layout Principles
404
+
405
+ ### Spacing System
406
+ - Base unit: 4px (developer-grid precision)
407
+ - Common values: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96px
408
+ - UI density: builder panels use tight 8–12px gaps; marketing uses generous 64–96px section rhythm
409
+ - Horizontal page padding: 24px mobile, 48–64px desktop, max-width container 1200px
410
+
411
+ ### Grid & Container
412
+ - Marketing: 12-column grid, 1200px max content width, 24px gutters
413
+ - Product builder: 3-zone layout — component tray (left ~240px), canvas (fluid 12-col app grid), inspector (right ~300px)
414
+ - The app-grid metaphor (snap-to-grid component placement) is the visual DNA reused in marketing mockups
415
+
416
+ ### Whitespace Philosophy
417
+ - **Dense where it's a tool, airy where it's a pitch.** Product surfaces pack information; marketing surfaces breathe. The brand holds both registers deliberately.
418
+ - **The grid is visible.** Unlike consumer apps that hide structure, Retool *shows* its grid — hairline borders, snap guides, and aligned columns are part of the aesthetic, not noise.
419
+ - **Alignment over decoration.** Order comes from rigorous left-alignment and column rhythm, not from ornament.
420
+
421
+ ### Border Radius Scale
422
+ - Sharp (4px): Badges, tags, table corners
423
+ - Standard (6px): Buttons, inputs, ghost controls
424
+ - Comfortable (8px): Cards, panels, toasts
425
+ - Large (10px): Modals, dialogs
426
+ - Pill (9999px): Toggles, status pills
427
+
428
+ ## 6. Depth & Elevation
429
+
430
+ | Level | Treatment | Use |
431
+ |-------|-----------|-----|
432
+ | Flat (Level 0) | No shadow; 1px border defines edges | Panels, cards on dark, table cells |
433
+ | Subtle (Level 1) | `0px 1px 2px rgba(14,14,14,0.06)` | Light-surface cards, raised tiles |
434
+ | Standard (Level 2) | `0px 4px 12px rgba(14,14,14,0.24)` | Dropdowns, popovers, context menus |
435
+ | Elevated (Level 3) | `0px 8px 24px rgba(14,14,14,0.40)` | Toasts, floating panels |
436
+ | Modal (Level 4) | `0px 16px 48px rgba(14,14,14,0.50)` | Dialogs, command palette |
437
+
438
+ **Shadow Philosophy**: On dark surfaces, Retool defines elevation primarily through **1px borders and background-value steps** (`#1A1A1A` → `#232323` → `#2E2E2E`), not shadow — shadows are nearly invisible on near-black anyway. Shadows return on light surfaces and for true overlays. The aesthetic is structural: edges are drawn, not blurred. This is the visual logic of an IDE, where panels are bounded by lines.
439
+
440
+ ### Blur Effects
441
+ - Command palette and floating menus use a subtle `backdrop-filter: blur(8px)` over a `rgba(14,14,14,0.64)` scrim
442
+ - Sticky nav applies a faint blur on scroll over the dark canvas
443
+
444
+ ## 7. Do's and Don'ts
445
+
446
+ ### Do
447
+ - Default to the dark canvas (`#1A1A1A`) for product/tool surfaces; use Green White (`#E9EBDF`) for marketing/light
448
+ - Spend Burnt Sienna (`#E0613A`) sparingly — one accented action per view
449
+ - Render *values* (IDs, results, env vars, table data) in IBM Plex Mono; render *labels* in Inter
450
+ - Use tabular numerals in every table and metric
451
+ - Define edges with 1px hairline borders (`#2E2E2E` dark / `#CACBBF` light)
452
+ - Keep radii low — 6px buttons/inputs, 8px cards, 4px badges
453
+ - Use uppercase 11px eyebrows with `0.06em` tracking for section starts and column heads
454
+
455
+ ### Don't
456
+ - Don't use Burnt Sienna as a fill for neutral/default buttons — neutral `#3C3C3C` is the default primary
457
+ - Don't use pure `#FFFFFF` as the light page surface — Green White (`#E9EBDF`) is the brand's warm off-white
458
+ - Don't apply heavy gradients or glow — this is a tooling aesthetic, not a consumer SaaS one
459
+ - Don't round corners past 10px — geometry stays structural
460
+ - Don't set values (numbers, IDs) in the sans face — mono signals "this is data"
461
+ - Don't rely on shadow for elevation on dark; use background-value steps + borders
462
+ - Don't mix proportional and tabular figures in the same table column
463
+
464
+ ## 8. Responsive Behavior
465
+
466
+ ### Breakpoints
467
+ | Name | Width | Key Changes |
468
+ |------|-------|-------------|
469
+ | Mobile | <640px | Single column, 24px padding, nav collapses to drawer |
470
+ | Tablet | 640–1024px | 2-col feature grids, condensed builder preview |
471
+ | Desktop | 1024–1440px | Full 12-col, 3-zone builder layout |
472
+ | Wide | >1440px | 1200px centered content, expanded canvas |
473
+
474
+ ### Touch / Click Targets
475
+ - Buttons: 36px standard, 40px accent CTA, 32px ghost/icon
476
+ - Table rows: 36px height (dense), 44px on touch devices
477
+ - Min interactive target on touch: 44×44px
478
+
479
+ ### Collapsing Strategy
480
+ - Builder's 3-zone layout collapses to tabbed panels on tablet/mobile (the product is desktop-first by nature)
481
+ - Marketing hero mockups scale down and crop the inspector panel first
482
+ - Nav: full horizontal bar → hamburger drawer below 640px
483
+ - Tables become horizontally scrollable with a sticky first column rather than reflowing
484
+
485
+ ### Image / Asset Behavior
486
+ - Product screenshots and app-builder mockups are the hero imagery — rendered on dark, framed with a 1px `#2E2E2E` border
487
+ - Integration/resource logos: 24–32px monochrome or full-color on neutral tiles
488
+ - Code blocks: full-width within content column, never reflowed
489
+
490
+ ## 9. Agent Prompt Guide
491
+
492
+ ### Quick Color Reference
493
+ - Dark canvas: Cod Gray (`#1A1A1A`)
494
+ - Deepest surface: Ink Black (`#0E0E0E`)
495
+ - Light surface: Green White (`#E9EBDF`)
496
+ - Raised panel (dark): `#232323`
497
+ - Accent CTA: Burnt Sienna (`#E0613A`)
498
+ - Accent hover: `#C94F2C`
499
+ - Neutral primary button: `#3C3C3C`
500
+ - Border (dark / light): `#2E2E2E` / `#CACBBF`
501
+ - Body text (dark / light): `#B4B4B4` / `#3C3C3C`
502
+ - Muted text: `#8A8A8A`
503
+ - Success / Error / Warning: `#2FA86A` / `#E5484D` / `#E0A23A`
504
+ - Secondary accents: Cornflower `#6E8BE0`, Smalt Blue `#4E7C82`
505
+
506
+ ### Example Component Prompts
507
+ - "Create a Retool-style data table: `#1A1A1A` bg, header `#232323` with `#8A8A8A` 11px uppercase column labels (0.06em tracking), rows 36px, cell values in IBM Plex Mono 13px `#D6D6D6`, 1px `#2E2E2E` cell borders, hover row `#232323`, selected row `rgba(224,97,58,0.12)` with 2px `#E0613A` left border, tabular numerals."
508
+ - "Build a primary button: `#3C3C3C` bg, white 14px/500 Inter text, 6px radius, 36px height, 0 16px padding, hover `#2E2E2E`. Focus ring 2px rgba(224,97,58,0.20)."
509
+ - "Build an accent CTA: `#E0613A` bg, white 15px/600 text, 6px radius, 40px height, hover `#C94F2C`. Label 'Start for free'."
510
+ - "Create a query editor: `#0E0E0E` bg, 1px `#2E2E2E` border, 6px radius, IBM Plex Mono 13px `#D6D6D6`, syntax keywords `#E0613A`, strings `#2FA86A`, numbers `#6E8BE0`, comments `#6B6B6B`."
511
+ - "Design a status badge set: success `rgba(47,168,106,0.14)` bg / `#2FA86A` text; error `rgba(229,72,77,0.14)` / `#E5484D`; 4px radius, 2px 8px padding, 12px/600 Inter."
512
+ - "Build an inspector panel: `#232323` bg, 1px `#2E2E2E` border, 8px radius, 16px padding, dark text fields `#1A1A1A` with `#2E2E2E` borders, section eyebrow 11px uppercase `#8A8A8A`."
513
+
514
+ ### Iteration Guide
515
+ 1. Default surface is dark (`#1A1A1A`); reserve Green White (`#E9EBDF`) for marketing/light contexts
516
+ 2. Accent Burnt Sienna (`#E0613A`) is for *one* emphasis per view — neutral `#3C3C3C` is the default primary
517
+ 3. Values render in IBM Plex Mono; labels and prose render in Inter
518
+ 4. Edges are drawn with 1px hairlines, not shadows (on dark)
519
+ 5. Radii stay low: 6px controls, 8px cards, 4px badges, 10px modals
520
+ 6. Tabular numerals in all data contexts
521
+ 7. Uppercase 11px `0.06em` eyebrows mark sections and table columns
522
+
523
+ ---
524
+
525
+ ## 10. Voice & Tone
526
+
527
+ Retool talks to engineers like a senior colleague — direct, technically precise, allergic to fluff. Copy assumes the reader knows what an API, a query, and a deploy are. It sells *leverage*, not magic: the promise is "build the thing your team needs in hours instead of months," stated plainly. Marketing leads with verbs (Build, Ship, Connect, Govern) and grounds claims in capability, not adjectives. There is confidence without hype — enterprise-grade trust language ("a platform you can trust", "governance", "security") sits alongside builder energy ("Start for free").
528
+
529
+ | Context | Tone |
530
+ |---|---|
531
+ | CTAs | Imperative, two words max ("Start for free", "Book a demo", "Get started") |
532
+ | Headlines | Capability-forward, plainspoken ("Build internal tools, remarkably fast") |
533
+ | Feature copy | Concrete and technical — names the integration, the protocol, the action |
534
+ | Success messages | Terse confirmations ("Query ran successfully", "Deployed to production") |
535
+ | Error messages | Specific and actionable — names the failing resource and the fix. Never "Something went wrong." |
536
+ | Docs voice | Second-person, step-numbered, code-sample-first |
537
+ | Enterprise/sales | Trust and governance language — SOC 2, SSO, audit logs, access control |
538
+
539
+ **Forbidden moves.** No exclamation-point hype, no "magical"/"effortless"/"revolutionary" filler, no cutesy mascot voice, no apology theater ("Oops! Something broke"). Errors name the resource and the next step. The reader is a builder, not a consumer to be delighted.
540
+
541
+ ## 11. Brand Narrative
542
+
543
+ Retool was founded in **2017 by David Hsu** (with co-founder Snir Kodesh) on a sharp observation: every company builds the same internal tools — admin panels, customer-support dashboards, inventory managers, ops consoles — and every company wastes enormous engineering time hand-coding them from scratch. These tools are essential but rarely differentiating; they don't deserve months of bespoke React and CRUD plumbing. Retool's thesis was to make that work *assembly* instead of *construction*: a library of pre-built components (tables, forms, charts, buttons) that snap onto a grid and wire directly to any database or API.
544
+
545
+ The company went through Y Combinator (2017) and grew into one of the defining developer-productivity platforms, reaching a multi-billion-dollar valuation with customers spanning startups to large enterprises. The product expanded from internal-app building into workflows, a database, and AI-assisted app generation — but the core remains: drag components onto a canvas, connect a data source, ship.
546
+
547
+ The design system flows directly from this identity. Retool *looks like the tool it is*. The dark, gridded, panel-bounded aesthetic isn't a style choice layered on top — it's the literal interface of the app builder, promoted to brand language. The component-tray-and-inspector layout you see on the marketing site is the product. The monospace-for-values convention is how the product displays data. The restraint — one accent, low radii, drawn edges — communicates *engineering seriousness*: this is infrastructure you'll trust with production operations.
548
+
549
+ What Retool refuses: the bubbly gradient-heavy aesthetic of consumer-facing SaaS, the illustration-led "fun" of no-code toys (Retool is *low-code for developers*, a crucial distinction), and any visual that implies the tool is a black box. The grid is visible because builders want to see the structure. The brand sells competence and control to people who could build it themselves — and choose Retool because it's faster.
550
+
551
+ ## 12. Principles
552
+
553
+ 1. **The product is the brand.** Marketing surfaces render real builder UI — component trays, grids, inspectors. The aesthetic is downstream of the tool, never decoration bolted on.
554
+ 2. **Show the grid.** Structure is visible — hairline borders, aligned columns, snap guides. Builders trust what they can see the bones of. Order over ornament.
555
+ 3. **One accent, spent carefully.** Burnt Sienna marks the single most important action or highlight. Everywhere else is neutral. Spread the accent and it stops meaning "here."
556
+ 4. **Labels in sans, values in mono.** The typographic split between describing and being-data is load-bearing. A number in monospace reads as a real value; in sans it reads as decoration.
557
+ 5. **Edges are drawn, not blurred.** On dark, elevation comes from 1px borders and background-value steps, not shadow. The IDE logic: panels are bounded by lines.
558
+ 6. **Density is a feature, not a flaw.** Tool surfaces pack information. A developer wants more on screen, aligned and scannable — not generous padding that hides the data.
559
+ 7. **Plainspoken over hype.** Copy names the capability. No magic, no exclamation points. The audience can smell marketing fluff and discounts you for it.
560
+ 8. **Low radius, structural geometry.** 6px controls, 8px cards. Rounded-but-not-soft. The shape language says "engineered," not "friendly."
561
+
562
+ ## 13. Personas
563
+
564
+ *Personas below are fictional archetypes informed by Retool's publicly described developer-platform audience, not individual people.*
565
+
566
+ **Marcus, 31, San Francisco.** Full-stack engineer at a 200-person fintech. Tasked with building an internal ops dashboard for the support team — refund approvals, account lookups, transaction reversals. Could build it in React, but it would eat two sprints he doesn't have. Reaches for Retool to wire Postgres + Stripe API to a table-and-form UI in an afternoon. Values: speed, real data binding, the ability to drop into raw JS when a component's defaults don't cut it. Lives in the query editor.
567
+
568
+ **Priya, 38, Austin.** Engineering manager / platform lead. Owns the decision of *whether* the org adopts Retool. Cares about governance — SSO, role-based access, audit logs, self-hosting for compliance. Wants her team to stop one-off-coding internal tools and standardize on a platform. Reads the security page before the features page. Will champion Retool internally only if it survives a SOC 2 conversation.
569
+
570
+ **Dev, 26, remote.** Operations engineer at a logistics startup, more scripts-and-SQL than frontend. Not a React person, but very comfortable with data and APIs. Retool lets him build the warehouse-ops tool himself instead of waiting in the eng backlog. Values: not having to learn a frontend framework, the visual grid that makes layout obvious, monospace tables that feel like the SQL console he already lives in.
571
+
572
+ ## 14. States
573
+
574
+ | State | Treatment |
575
+ |---|---|
576
+ | **Empty (no data)** | `#8A8A8A` body line explaining the state ("No rows returned"), plus a ghost or accent action to add/connect data. Dense, no illustration — a tooling empty state, not a consumer one. |
577
+ | **Empty (no resources)** | Centered card on dark with a "Connect a resource" accent button (`#E0613A`) and one line of helper text in `#8A8A8A`. |
578
+ | **Loading (query running)** | Inline spinner in the panel header, `#E0613A` tint. Table shows a 1.2s shimmer over `#232323` skeleton rows. Run button shows inline spinner, label preserved. |
579
+ | **Loading (page)** | Skeleton blocks at `#232323` on the dark canvas matching final layout, 8% white shimmer sweep. |
580
+ | **Success (query)** | Toast: `#232323` bg, leading `#2FA86A` dot, "Query ran successfully" 14px white, 3s auto-dismiss. |
581
+ | **Success (deploy)** | Status badge flips to `rgba(47,168,106,0.14)` / `#2FA86A` "Deployed", optional confirmation toast. |
582
+ | **Error (query failed)** | Inline error panel below the editor: `rgba(229,72,77,0.14)` bg, `#E5484D` left border, monospace error text naming the failure. Actionable, never generic. |
583
+ | **Error (validation)** | Field border `#E5484D`, helper text `#E5484D` 13px below — one sentence, names the fix. |
584
+ | **Warning (unsaved)** | Amber badge `rgba(224,162,58,0.14)` / `#E0A23A` "Unsaved changes" in the toolbar; Save button gains accent emphasis. |
585
+ | **Disabled** | 40% opacity, no pointer events. Borders retained so geometry stays stable. |
586
+ | **Selected (table row / component)** | 2px `#E0613A` left border + `rgba(224,97,58,0.12)` fill. The single consistent use of accent for selection across the builder. |
587
+ | **Focus** | 1px `#E0613A` outline + 2px `rgba(224,97,58,0.20)` ring on all interactive elements. |
588
+
589
+ ## 15. Motion & Easing
590
+
591
+ **Durations** (named):
592
+
593
+ | Token | Value | Use |
594
+ |---|---|---|
595
+ | `motion-instant` | 0ms | Toggle flips, checkbox, immediate state |
596
+ | `motion-fast` | 120ms | Hover, focus ring, button press, tab indicator slide |
597
+ | `motion-standard` | 200ms | The default — panel reveal, dropdown open, accordion |
598
+ | `motion-slow` | 320ms | Modal entry, side-panel slide-in, route transitions |
599
+ | `motion-data` | 240ms | Table row insert/update, query-result paint-in |
600
+
601
+ **Easings:**
602
+
603
+ | Token | Curve | Use |
604
+ |---|---|---|
605
+ | `ease-enter` | `cubic-bezier(0.16, 1, 0.3, 1)` | Things appearing — panels, dropdowns, modals (a confident, settled ease-out) |
606
+ | `ease-exit` | `cubic-bezier(0.4, 0, 1, 1)` | Things leaving — dismissals, collapses |
607
+ | `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Two-way — tab content, accordion, hover transitions |
608
+ | `ease-linear` | `linear` | Spinners, shimmer sweeps, progress bars |
609
+
610
+ **Signature motions.**
611
+
612
+ 1. **Panel slide-in.** Inspector and side panels enter from the edge with `motion-standard / ease-enter` — a single decisive slide, no bounce. Tooling motion is functional, never playful; overshoot would undermine the engineering tone.
613
+ 2. **Tab indicator.** The 2px `#E0613A` underline slides horizontally between tabs over `motion-fast / ease-standard`, tracking the active panel. Crisp and immediate.
614
+ 3. **Query-result paint.** When a query resolves, table rows fade-and-rise 8px into place over `motion-data / ease-enter`, staggered subtly so a result set feels like it *lands* rather than flickers. Values never cross-fade between states.
615
+ 4. **Shimmer skeleton.** Loading skeletons use a `linear` 1.2s left-to-right sweep with an 8% white highlight over `#232323` blocks. The only continuously-animated element on the canvas.
616
+ 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` tokens collapse to `motion-instant`; slides become instant swaps, shimmer becomes a static `#232323` block. The tool stays fully usable.
617
+
618
+ <!--
619
+ OmD v0.1 Sources — Retool
620
+
621
+ Tier 1 (direct):
622
+ - retool.com (live brand site, WebFetch 2026-06-06): dark-first developer aesthetic,
623
+ warm orange/Burnt Sienna accent CTAs, app-builder layout language (component tray +
624
+ canvas + inspector), copy register ("Build how you want. Ship on a platform you can
625
+ trust", "Start for free", "Book a demo"), verb-forward enterprise voice.
626
+ - mobbin.com/colors/brand/retool (via WebSearch summary): documented brand palette names
627
+ — Green White #E9EBDF (primary neutral), Cod Gray, Smalt Blue, Burnt Sienna, Cornflower,
628
+ White. Foundation of neutrals + pops of teal/orange/periwinkle.
629
+ - docs.retool.com/apps/guides/presentation-styling/themes (via WebSearch): confirms theme
630
+ + typography controls (font family/size/weight, custom font URLs) — developers commonly
631
+ pair IBM Plex Sans / Roboto, informing the Inter+IBM Plex Mono stack choice.
632
+
633
+ Reconstruction note: Retool publishes no public design-token catalog. Component geometry
634
+ (radii, heights, spacing, shadows) and the dark-theme neutral ramp are reconstructed from
635
+ the live product/marketing UI plus standard developer-tool conventions. Accent and semantic
636
+ tier hex values are calibrated to the documented brand palette names (Burnt Sienna #E0613A,
637
+ Cornflower #6E8BE0, Smalt Blue #4E7C82, Green White #E9EBDF).
638
+
639
+ Personas (§13) are fictional archetypes informed by Retool's publicly described developer
640
+ audience (engineers, eng managers, ops engineers building internal tools). Any resemblance
641
+ to specific individuals is unintended.
642
+
643
+ Interpretive claims (e.g., "the product is the brand", "show the grid") are editorial
644
+ readings of Retool's design, not documented company statements.
645
+ -->