oh-my-design-cli 1.8.2 → 1.8.7

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 (83) hide show
  1. package/README.ja.md +5 -5
  2. package/README.ko.md +7 -7
  3. package/README.md +7 -7
  4. package/README.zh-TW.md +5 -5
  5. package/agents/omd-master.md +1 -1
  6. package/data/reference-fingerprints.json +1696 -17
  7. package/package.json +3 -1
  8. package/skills/omd-feel/SKILL.md +152 -0
  9. package/skills/omd-feel/provenance.md +233 -0
  10. package/skills/omd-feel/reference.md +254 -0
  11. package/skills/omd-harness/SKILL.md +1 -1
  12. package/skills/omd-init/SKILL.md +1 -1
  13. package/skills/omd-reference-capture/SKILL.md +1 -1
  14. package/web/references/591/DESIGN.md +460 -0
  15. package/web/references/airbridge/DESIGN.md +451 -0
  16. package/web/references/asana/DESIGN.md +485 -0
  17. package/web/references/asos/DESIGN.md +475 -0
  18. package/web/references/bahamut/DESIGN.md +416 -0
  19. package/web/references/bbc/DESIGN.md +439 -0
  20. package/web/references/bigin/DESIGN.md +454 -0
  21. package/web/references/buzzvil/DESIGN.md +457 -0
  22. package/web/references/cafe24/DESIGN.md +472 -0
  23. package/web/references/chunghwa/DESIGN.md +419 -0
  24. package/web/references/codeit/DESIGN.md +470 -0
  25. package/web/references/databricks/DESIGN.md +467 -0
  26. package/web/references/datarize/DESIGN.md +451 -0
  27. package/web/references/deliveroo/DESIGN.md +458 -0
  28. package/web/references/doordash/DESIGN.md +429 -0
  29. package/web/references/easywallet/DESIGN.md +449 -0
  30. package/web/references/elice/DESIGN.md +445 -0
  31. package/web/references/esunbank/DESIGN.md +445 -0
  32. package/web/references/farfetch/DESIGN.md +436 -0
  33. package/web/references/fubon/DESIGN.md +438 -0
  34. package/web/references/furiosaai/DESIGN.md +450 -0
  35. package/web/references/goorm/DESIGN.md +470 -0
  36. package/web/references/govuk/DESIGN.md +450 -0
  37. package/web/references/greencar/DESIGN.md +420 -0
  38. package/web/references/hackle/DESIGN.md +472 -0
  39. package/web/references/hana/DESIGN.md +439 -0
  40. package/web/references/hubspot/DESIGN.md +485 -0
  41. package/web/references/hwahae/DESIGN.md +453 -0
  42. package/web/references/hyundai/DESIGN.md +468 -0
  43. package/web/references/icook/DESIGN.md +432 -0
  44. package/web/references/instacart/DESIGN.md +439 -0
  45. package/web/references/ipassmoney/DESIGN.md +407 -0
  46. package/web/references/kakaopage/DESIGN.md +439 -0
  47. package/web/references/kbpay/DESIGN.md +442 -0
  48. package/web/references/kcd/DESIGN.md +432 -0
  49. package/web/references/kia/DESIGN.md +411 -0
  50. package/web/references/kyobobook/DESIGN.md +445 -0
  51. package/web/references/lablup/DESIGN.md +474 -0
  52. package/web/references/lemonbase/DESIGN.md +452 -0
  53. package/web/references/liner/DESIGN.md +465 -0
  54. package/web/references/makinarocks/DESIGN.md +442 -0
  55. package/web/references/monzo/DESIGN.md +461 -0
  56. package/web/references/moreh/DESIGN.md +437 -0
  57. package/web/references/naverpay/DESIGN.md +478 -0
  58. package/web/references/neosapience/DESIGN.md +441 -0
  59. package/web/references/nota/DESIGN.md +451 -0
  60. package/web/references/octopusenergy/DESIGN.md +436 -0
  61. package/web/references/openpoint/DESIGN.md +431 -0
  62. package/web/references/paypal/DESIGN.md +459 -0
  63. package/web/references/portone/DESIGN.md +446 -0
  64. package/web/references/queenit/DESIGN.md +432 -0
  65. package/web/references/rebellions/DESIGN.md +449 -0
  66. package/web/references/reddit/DESIGN.md +537 -0
  67. package/web/references/returnzero/DESIGN.md +460 -0
  68. package/web/references/samsung/DESIGN.md +465 -0
  69. package/web/references/saramin/DESIGN.md +465 -0
  70. package/web/references/shiftee/DESIGN.md +468 -0
  71. package/web/references/shinhanbank/DESIGN.md +429 -0
  72. package/web/references/skyscanner/DESIGN.md +563 -0
  73. package/web/references/snapchat/DESIGN.md +460 -0
  74. package/web/references/solapi/DESIGN.md +483 -0
  75. package/web/references/squarespace/DESIGN.md +454 -0
  76. package/web/references/ssg/DESIGN.md +439 -0
  77. package/web/references/starling/DESIGN.md +404 -0
  78. package/web/references/supertone/DESIGN.md +413 -0
  79. package/web/references/taiwanmobile/DESIGN.md +445 -0
  80. package/web/references/trainline/DESIGN.md +454 -0
  81. package/web/references/vuno/DESIGN.md +413 -0
  82. package/web/references/weverse/DESIGN.md +437 -0
  83. package/web/references/zoom/DESIGN.md +457 -0
@@ -0,0 +1,442 @@
1
+ ---
2
+ id: makinarocks
3
+ name: MakinaRocks
4
+ display_name_kr: 마키나락스
5
+ country: KR
6
+ category: ai
7
+ homepage: "https://www.makinarocks.ai"
8
+ primary_color: "#2b2b3b"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=makinarocks.ai&sz=128"
12
+ verified: "2026-06-26"
13
+ added: "2026-06-26"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-06-26"
18
+ note: "primary = signature dark indigo (#2b2b3b) used for product headings, blog headings and dark industry tiles across both surfaces. UI is otherwise monochrome black (#000000) on white (#ffffff); accent blue (#006aff) appears on the blog, periwinkle (#6a77d7) as a secondary accent. The lime-green crystal logo mark is delivered as an image asset, not a computed UI color."
19
+ colors:
20
+ primary: "#2b2b3b"
21
+ ink: "#000000"
22
+ near-black: "#1a1a1a"
23
+ canvas: "#ffffff"
24
+ muted: "#8d8da5"
25
+ slate: "#5a5a72"
26
+ accent: "#006aff"
27
+ periwinkle: "#6a77d7"
28
+ surface: "#f1f3fb"
29
+ surface-alt: "#efeff5"
30
+ hairline: "#e3e2eb"
31
+ chip: "#c4c4d4"
32
+ typography:
33
+ family: { display: "KmrApparat", body: "Pretendard" }
34
+ display-hero: { size: 64, weight: 700, lineHeight: 1.30, tracking: -1.6, use: "Hero headline, KmrApparat Bold" }
35
+ display-alt: { size: 52, weight: 500, lineHeight: 1.30, tracking: -0.16, use: "Secondary hero band, KmrApparat Medium" }
36
+ product: { size: 48, weight: 500, lineHeight: 1.60, tracking: -0.16, use: "Product name heads (Runway, DrawX)" }
37
+ section: { size: 40, weight: 500, lineHeight: 1.60, tracking: -0.16, use: "Section titles" }
38
+ card-title: { size: 24, weight: 700, lineHeight: 1.60, tracking: -0.16, use: "Industry tile titles" }
39
+ list-title: { size: 20, weight: 500, lineHeight: 1.30, tracking: -0.16, use: "Blog / news list item titles" }
40
+ body: { size: 16, weight: 400, lineHeight: 1.60, use: "Standard reading text, Pretendard" }
41
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 30, xxl: 48, section: 64 }
42
+ rounded: { sm: 4, md: 12, lg: 16, round: 28, pill: 50, full: 9999 }
43
+ shadow:
44
+ card: "rgba(0,0,0,0.05) 0px 10px 20px 0px"
45
+ drop: "rgba(0,0,0,0.25) 0px 4px 4px 0px"
46
+ components:
47
+ button-outline: { type: button, bg: "#ffffff", fg: "#000000", border: "1px solid #000000", radius: "19px", padding: "5px 30px", font: "16px / 400 Pretendard", use: "Header contact CTA — 문의하기" }
48
+ button-pill: { type: button, fg: "#1a1a1a", border: "1px solid #1a1a1a", radius: "50px", padding: "9px 24px", font: "16px / 500 KmrApparat", states: "on dark hero: #ffffff text + #ffffff border", use: "Section CTA — Get started / Learn more" }
49
+ product-card: { type: card, bg: "#ffffff", fg: "#2b2b3b", radius: "12px", shadow: "rgba(0,0,0,0.05) 0px 10px 20px", use: "Product showcase card (Runway, DrawX)" }
50
+ industry-tile: { type: card, bg: "#2b2b3b", fg: "#ffffff", radius: "12px", padding: "12px 16px", font: "24px / 700 KmrApparat", use: "Dark industry tile (자동차, 국방, 제조)" }
51
+ nav-item: { type: listItem, bg: "#ffffff", fg: "#000000", radius: "12px", padding: "12px 16px", height: "44px", font: "16px / 400 KmrApparat", use: "Mega-menu dropdown item" }
52
+ carousel-nav: { type: button, bg: "#c4c4d4", fg: "#000000", radius: "28px", font: "13px / 400 Pretendard", use: "Carousel Prev/Next round control" }
53
+ surface-panel: { type: card, bg: "#f1f3fb", fg: "#2b2b3b", radius: "16px", use: "Tinted lavender content panel" }
54
+ category-label: { type: badge, fg: "#2b2b3b", radius: "0px", font: "16px / 400 Pretendard", use: "Blog category tag (Insight / Product)" }
55
+ components_harvested: true
56
+ ---
57
+
58
+ # Design System Inspiration of MakinaRocks
59
+
60
+ ## 1. Visual Theme & Atmosphere
61
+
62
+ MakinaRocks (마키나락스) is Korea's industrial-AI ("Physical AI") company, and its website reads like an engineering instrument panel rendered with editorial restraint — confident, almost monochrome, and built to signal precision rather than consumer flash. The canvas is pure white (`#ffffff`) carrying near-pure black text (`#000000`), and the single most defining brand color is a dark blue-tinged indigo (`#2b2b3b`) that does the heavy lifting: it colors the product headings (Runway, DrawX), every blog title, and the dark industry tiles. That indigo is the system's identity — not pure black, but a deep, slightly cool graphite that gives the page a serious, instrument-grade weight. Where most AI startups reach for gradient-heavy neon, MakinaRocks reaches for grayscale discipline punctuated by one or two restrained accents.
63
+
64
+ The typographic personality is split between two purposeful voices. Display headlines run in **KmrApparat** — a custom MakinaRocks wordmark typeface (an Apparat-family grotesk) — at large sizes: the hero "Transforming Industries with Specialized AI" sits at 64px / weight 700 with a tight `-1.6px` tracking, projecting machined, geometric authority. Body and dense UI text drop to **Pretendard** at 16px / weight 400 with a generous 1.6 line-height, the de-facto Korean product font tuned for hangul legibility. This split — engineered KmrApparat display over calm Pretendard body — is the core tension: mechanical where it brands, readable where it explains.
65
+
66
+ Depth is deliberately minimal. Most surfaces are flat; separation comes from the indigo-on-white contrast, thin hairlines (`#e3e2eb`), and tinted lavender-grey panels (`#f1f3fb`, `#efeff5`) rather than heavy elevation. When the system does lift a card it uses a whisper-soft shadow (`rgba(0,0,0,0.05) 0px 10px 20px`). Geometry leans on a 12px card radius as the workhorse, 16px for blog cards, and fully rounded 50px pill CTAs ("Get started", "Learn more"). Color accents are rationed: an accent blue (`#006aff`) anchors interactive links on the blog, a periwinkle (`#6a77d7`) appears as a secondary highlight, muted slate text steps down through `#8d8da5` and `#5a5a72`, and translucent periwinkle-grey (`#c4c4d4`) backs the carousel controls. The lime-green crystal logo mark — introduced in MakinaRocks' recent rebrand — is the one chromatic spark, but it lives in the wordmark and favicon rather than the UI chrome.
67
+
68
+ **Key Characteristics:**
69
+ - Dark indigo (`#2b2b3b`) as the signature brand color — product names, blog titles, dark industry tiles
70
+ - Near-monochrome system: black (`#000000`) text on white (`#ffffff`), accents rationed
71
+ - KmrApparat custom display typeface at weight 700/500 with tight negative tracking (-1.6px at 64px)
72
+ - Pretendard at 16px / 400 / 1.6 line-height for all body and dense UI text
73
+ - Flat depth: hairlines (`#e3e2eb`) and tinted lavender panels (`#f1f3fb`, `#efeff5`) over heavy shadow
74
+ - Pill-and-radius geometry — 12px cards, 16px blog cards, 50px pill CTAs, 28px round carousel controls
75
+ - Restrained accents: blog accent blue (`#006aff`), periwinkle highlight (`#6a77d7`)
76
+ - Cool-grey neutral ladder (`#5a5a72` → `#8d8da5` → `#c4c4d4`) for text and control hierarchy
77
+ - Lime-green crystal logo mark as the sole chromatic brand spark, kept out of the UI chrome
78
+
79
+ ## 2. Color Palette & Roles
80
+
81
+ ### Primary
82
+ - **MakinaRocks Indigo** (`#2b2b3b`): The signature brand color. A deep blue-tinged graphite used for product headings (Runway, DrawX), all blog titles, and the dark industry tiles. The system's identity color — used instead of flat black where the brand wants weight.
83
+ - **Ink Black** (`#000000`): Primary body and UI text, default heading color on white sections, nav labels.
84
+ - **Near-Black** (`#1a1a1a`): Secondary dark used for the "Deploying AI, Delivering Reality" hero line and the outline of pill CTAs — a softer black than pure ink.
85
+ - **Pure White** (`#ffffff`): Page background, card surfaces, and text on indigo/dark sections.
86
+
87
+ ### Accent
88
+ - **Accent Blue** (`#006aff`): Interactive accent on the blog — links and inline CTAs. The system's most saturated hue, used sparingly.
89
+ - **Periwinkle** (`#6a77d7`): Secondary accent / highlight appearing on both the homepage and the blog for emphasis touches.
90
+
91
+ ### Neutral & Surface
92
+ - **Surface Lavender** (`#f1f3fb`): Cool lavender-grey tinted surface for content panels and segmented sections.
93
+ - **Surface Alt** (`#efeff5`): A secondary light grey surface for alternating blocks on the blog.
94
+ - **Hairline** (`#e3e2eb`): Thin borders, dividers, and card outlines — the primary separation device in a flat system.
95
+ - **Chip Grey** (`#c4c4d4`): Translucent periwinkle-grey backing the carousel Prev/Next round controls (used at ~0.5 alpha).
96
+
97
+ ### Text Hierarchy
98
+ - **Ink Black** (`#000000`): Primary text and strong labels.
99
+ - **Indigo** (`#2b2b3b`): Heading text and titles.
100
+ - **Slate** (`#5a5a72`): Secondary body copy and descriptions.
101
+ - **Muted Slate** (`#8d8da5`): Tertiary text, captions, metadata, lowest-emphasis labels.
102
+
103
+ ## 3. Typography Rules
104
+
105
+ ### Font Family
106
+ - **Display**: `KmrApparat` (with `sans-serif` fallback) — the custom MakinaRocks wordmark typeface, an Apparat-family grotesk. Used for hero headlines, section titles, product names, and nav labels. Weight 700 at the hero, 500 for most section heads.
107
+ - **Body**: `Pretendard` (with `sans-serif` fallback) — the document default, used for body copy, dense UI text, and the contact CTA at weight 400.
108
+
109
+ ### Hierarchy
110
+
111
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
112
+ |------|------|------|--------|-------------|----------------|-------|
113
+ | Display Hero | KmrApparat | 64px (4.00rem) | 700 | 1.30 (83.2px) | -1.6px | "Transforming Industries with Specialized AI" |
114
+ | Secondary Hero | KmrApparat | 52px (3.25rem) | 500 | 1.30 (67.6px) | -0.16px | Closing hero band |
115
+ | Product Head | KmrApparat | 48px (3.00rem) | 500 | 1.60 (76.8px) | -0.16px | Runway / DrawX |
116
+ | Section Heading | KmrApparat | 40px (2.50rem) | 500 | 1.60 (64px) | -0.16px | "Our Products", section titles |
117
+ | Industry Tile | KmrApparat | 24px (1.50rem) | 700 | 1.60 (38.4px) | -0.16px | 자동차 / 국방 / 제조, white on indigo |
118
+ | List Title | KmrApparat | 20px (1.25rem) | 500 | 1.30 | -0.16px | Blog / news list item titles |
119
+ | Body | Pretendard | 16px (1.00rem) | 400 | 1.60 (25.6px) | normal | Standard reading text |
120
+
121
+ ### Principles
122
+ - **Two typefaces, two jobs**: KmrApparat is the branded display voice; Pretendard is the functional reading voice. They never swap roles — every headline is KmrApparat, every paragraph is Pretendard.
123
+ - **Tight display tracking**: the hero compresses to -1.6px; section and product heads settle at a consistent -0.16px. Body text stays at normal tracking.
124
+ - **Weight as hierarchy**: 700 marks the loudest moments (hero, industry tiles); 500 carries most section and product heads; 400 is body. There is no light-weight display register.
125
+ - **Generous body leading**: Pretendard body runs at 1.6 line-height (25.6px on 16px) for comfortable hangul reading in information-dense layouts.
126
+
127
+ ## 4. Component Stylings
128
+
129
+ ### Buttons
130
+
131
+ **Contact Outline (문의하기)**
132
+ - Background: `#ffffff`
133
+ - Text: `#000000`
134
+ - Border: 1px solid `#000000`
135
+ - Radius: 19px
136
+ - Padding: 5px 30px
137
+ - Font: 16px Pretendard weight 400
138
+ - Height: 38px
139
+ - Use: Header contact CTA — "문의하기"
140
+
141
+ **Pill CTA (Get started / Learn more)**
142
+ - Text: `#1a1a1a`
143
+ - Border: 1px solid `#1a1a1a`
144
+ - Radius: 50px
145
+ - Padding: 9px 24px
146
+ - Font: 16px KmrApparat weight 500
147
+ - Height: 46px
148
+ - Hover: subtle darkening of border/text
149
+ - States: on dark hero sections the variant inverts to `#ffffff` text + `#ffffff` border
150
+ - Use: Primary section CTA — "Get started", "Learn more"
151
+
152
+ **Carousel Round Control**
153
+ - Background: `#c4c4d4`
154
+ - Text: `#000000`
155
+ - Radius: 28px
156
+ - Font: 13px Pretendard weight 400
157
+ - Height: 40px
158
+ - Use: Carousel Prev / Next round buttons (used at ~0.5 alpha)
159
+
160
+ ### Cards & Containers
161
+
162
+ **Product Card**
163
+ - Background: `#ffffff`
164
+ - Text: `#2b2b3b`
165
+ - Radius: 12px
166
+ - Shadow: `rgba(0,0,0,0.05) 0px 10px 20px`
167
+ - Use: Product showcase card (Runway, DrawX)
168
+
169
+ **Industry Tile**
170
+ - Background: `#2b2b3b`
171
+ - Text: `#ffffff`
172
+ - Radius: 12px
173
+ - Padding: 12px 16px
174
+ - Font: 24px KmrApparat weight 700
175
+ - Use: Dark industry tile (자동차, 국방, 중공업, 제조)
176
+
177
+ **Tinted Surface Panel**
178
+ - Background: `#f1f3fb`
179
+ - Text: `#2b2b3b`
180
+ - Radius: 16px
181
+ - Use: Lavender-grey content panel on the blog and feature bands
182
+
183
+ ### Navigation
184
+
185
+ **Mega-Menu Item**
186
+ - Background: `#ffffff`
187
+ - Text: `#000000`
188
+ - Radius: 12px
189
+ - Padding: 12px 16px
190
+ - Font: 16px KmrApparat weight 400
191
+ - Height: 44px
192
+ - Use: Dropdown item in the products/resources mega-menu
193
+
194
+ ### Badges
195
+
196
+ **Category Label**
197
+ - Text: `#2b2b3b`
198
+ - Radius: 0px
199
+ - Font: 16px Pretendard weight 400
200
+ - Use: Blog category tag ("Insight", "Product") — text-only label, no fill
201
+
202
+ ---
203
+
204
+ **Verified:** 2026-06-26 (omd:add-reference CREATE — Tier 1 live inspect, 2 brand surfaces)
205
+ **Tier 1 sources:** https://www.makinarocks.ai, https://www.makinarocks.ai/en/blog/, https://www.makinarocks.ai/en/about/, https://github.com/makinarocks
206
+ **Tier 2 sources:** getdesign.md/makinarocks — NO MAKINAROCKS DATA (directory page, KR brand uncovered); styles.refero.design/?q=makinarocks — not listed (only unrelated fuzzy matches returned)
207
+ **Conflicts unresolved:** none
208
+
209
+ ## 5. Layout Principles
210
+
211
+ ### Spacing System
212
+ - Base unit: ~4px
213
+ - Scale: 4px, 8px, 12px, 16px, 24px, 30px, 48px, 64px
214
+ - Notable: nav/menu items use 12px 16px padding at 44px height; the pill CTAs use an asymmetric 9px 24px; the contact outline uses 5px 30px for a slim, wide tap target
215
+
216
+ ### Grid & Container
217
+ - Centered hero with the 64px KmrApparat headline as the anchor, white on a dark hero band
218
+ - "Our Products" presented as side-by-side white product cards (Runway, DrawX) at 12px radius
219
+ - Industry coverage shown as a row of dark indigo (`#2b2b3b`) tiles with white 24px titles
220
+ - Blog/news presented as a card grid at 16px radius with category labels and list titles
221
+ - Feature bands alternate white (`#ffffff`) with tinted lavender (`#f1f3fb`) and dark indigo sections
222
+
223
+ ### Whitespace Philosophy
224
+ - **Instrument-grade calm**: despite being a dense enterprise-AI product, the marketing surface is airy with generous vertical rhythm between sections.
225
+ - **Contrast over decoration**: separation comes from indigo-on-white contrast, `#e3e2eb` hairlines, and tinted `#f1f3fb` panels rather than borders-everywhere or heavy shadow.
226
+ - **Rationed color**: white and indigo dominate; blue (`#006aff`) and periwinkle (`#6a77d7`) appear only at interactive or emphasis moments.
227
+
228
+ ### Border Radius Scale
229
+ - Small (4px): inner elements, small chips
230
+ - Medium (12px): product cards, nav/menu items — the workhorse
231
+ - Large (16px): blog cards, tinted panels
232
+ - Round (28px): carousel Prev/Next controls
233
+ - Pill (50px): primary section CTAs
234
+ - Full (9999px): fully-rounded accents
235
+
236
+ ## 6. Depth & Elevation
237
+
238
+ | Level | Treatment | Use |
239
+ |-------|-----------|-----|
240
+ | Flat (Level 0) | No shadow | Page background, inline text, most surfaces |
241
+ | Tint (Level 1) | `#f1f3fb` / `#efeff5` background shift | Card/section separation without elevation |
242
+ | Hairline (Level 2) | `1px solid #e3e2eb` border | Card outlines, dividers |
243
+ | Soft Card (Level 3) | `rgba(0,0,0,0.05) 0px 10px 20px 0px` | Lifted product / content cards |
244
+ | Drop (Level 4) | `rgba(0,0,0,0.25) 0px 4px 4px 0px` | Floating controls, stronger emphasis |
245
+
246
+ **Shadow Philosophy**: MakinaRocks is a near-flat system. Live inspection found most surfaces carrying `box-shadow: none`, with depth communicated through the indigo-on-white contrast, `#e3e2eb` hairlines, and tinted lavender panels. When the system does elevate, it uses a whisper-soft `rgba(0,0,0,0.05) 0px 10px 20px` on cards — barely-there lift — reserving the firmer `rgba(0,0,0,0.25) 0px 4px 4px` only for floating controls. The restraint keeps the UI reading as precise and engineered rather than decorative.
247
+
248
+ ## 7. Do's and Don'ts
249
+
250
+ ### Do
251
+ - Use the dark indigo (`#2b2b3b`) as the signature color for headings, product names, and dark tiles
252
+ - Keep the system near-monochrome — black (`#000000`) text on white (`#ffffff`)
253
+ - Use KmrApparat for every headline and Pretendard for every paragraph
254
+ - Apply tight negative tracking on display headlines (-1.6px at 64px)
255
+ - Ration the accents — reserve blue (`#006aff`) and periwinkle (`#6a77d7`) for interactive/emphasis moments
256
+ - Separate sections with `#e3e2eb` hairlines and tinted `#f1f3fb` panels rather than heavy shadow
257
+ - Use the 12px card radius as the workhorse and 50px pills for primary CTAs
258
+ - Step text down through the slate ladder (`#5a5a72` → `#8d8da5`) for hierarchy
259
+
260
+ ### Don't
261
+ - Don't reach for gradient-heavy neon — MakinaRocks signals precision through grayscale discipline
262
+ - Don't use pure black for the brand-weight moments — the indigo `#2b2b3b` carries identity
263
+ - Don't spread the accent blue across many elements — it dilutes the interactive signal
264
+ - Don't set headlines in Pretendard — KmrApparat owns display
265
+ - Don't lean on heavy drop shadows — keep elevation whisper-soft and rare
266
+ - Don't use sharp corners on CTAs — primary actions are 50px pills
267
+ - Don't mix in a second saturated hue beyond the blue/periwinkle accents
268
+ - Don't use positive letter-spacing at display sizes — the system tracks tight
269
+
270
+ ## 8. Responsive Behavior
271
+
272
+ ### Breakpoints
273
+ | Name | Width | Key Changes |
274
+ |------|-------|-------------|
275
+ | Mobile | <640px | Single column, hero headline compresses, product cards stack |
276
+ | Tablet | 640-1024px | Moderate padding, 2-up product/blog cards |
277
+ | Desktop | 1024-1440px | Full layout, centered hero, multi-column feature/blog bands |
278
+
279
+ ### Touch Targets
280
+ - Mega-menu items at 44px height with 12px 16px padding — comfortably tappable
281
+ - Pill CTAs at 46px height, full 50px radius for an unmistakable target
282
+ - Carousel controls at 40px round (28px radius) for thumb reach
283
+
284
+ ### Collapsing Strategy
285
+ - Hero: 64px KmrApparat headline scales down on mobile, weight 700 maintained
286
+ - Product cards: side-by-side → stacked single column
287
+ - Industry tiles: row → wrap/grid on narrow viewports
288
+ - Tinted/white/indigo bands maintain full-width treatment
289
+
290
+ ### Image Behavior
291
+ - Product and illustration imagery sits inside 12px-radius cards across breakpoints
292
+ - Blog cards maintain 16px radius
293
+ - Cards carry the soft `rgba(0,0,0,0.05)` shadow consistently or stay flat
294
+
295
+ ## 9. Agent Prompt Guide
296
+
297
+ ### Quick Color Reference
298
+ - Signature / headings: Indigo (`#2b2b3b`)
299
+ - Body text: Ink Black (`#000000`)
300
+ - Soft hero line / pill outline: Near-Black (`#1a1a1a`)
301
+ - Background: Pure White (`#ffffff`)
302
+ - Tinted surface: Surface Lavender (`#f1f3fb`), Surface Alt (`#efeff5`)
303
+ - Hairline: `#e3e2eb`
304
+ - Secondary text: Slate (`#5a5a72`)
305
+ - Muted text: Muted Slate (`#8d8da5`)
306
+ - Accent (links): Accent Blue (`#006aff`)
307
+ - Highlight: Periwinkle (`#6a77d7`)
308
+ - Control bg: Chip Grey (`#c4c4d4`)
309
+
310
+ ### Example Component Prompts
311
+ - "Create a dark hero band: indigo-to-black background, white text. Headline at 64px KmrApparat weight 700, line-height 1.30, letter-spacing -1.6px, color #ffffff. One pill CTA: transparent background, 1px solid #ffffff, white text, 50px radius, 9px 24px padding, 16px KmrApparat weight 500 — 'Get started'."
312
+ - "Design a product card: white #ffffff background, 12px radius, soft shadow rgba(0,0,0,0.05) 0px 10px 20px. Title 48px KmrApparat weight 500, color #2b2b3b. Body 16px Pretendard weight 400, #5a5a72."
313
+ - "Build an industry tile: dark indigo #2b2b3b background, 12px radius, 12px 16px padding. Title 24px KmrApparat weight 700, white #ffffff text — '자동차'."
314
+ - "Create top nav: white header, KmrApparat 16px weight 400 labels in #000000. Mega-menu dropdown items at 44px height, 12px radius, 12px 16px padding. Contact CTA right-aligned: white bg, 1px solid #000000, 19px radius, 5px 30px padding — '문의하기'."
315
+
316
+ ### Iteration Guide
317
+ 1. KmrApparat for every headline; Pretendard 400 for every paragraph
318
+ 2. Indigo (`#2b2b3b`) carries brand weight; black (`#000000`) is plain text
319
+ 3. Near-monochrome — ration blue (`#006aff`) and periwinkle (`#6a77d7`) to interactive/emphasis
320
+ 4. 12px card radius is the workhorse; 50px pills for primary CTAs
321
+ 5. Separate with `#e3e2eb` hairlines and `#f1f3fb` tinted panels, not heavy shadow
322
+ 6. Keep elevation whisper-soft (`rgba(0,0,0,0.05)`) and rare
323
+ 7. Tight negative tracking on display (-1.6px at 64px), normal on body
324
+
325
+ ---
326
+
327
+ ## 10. Voice & Tone
328
+
329
+ MakinaRocks' voice is **expert, grounded, and quietly assured** — the register of senior industrial engineers who have actually stood on a factory floor, not marketers describing one. English headlines are declarative and outcome-framed ("Transforming Industries with Specialized AI", "Deploying AI, Delivering Reality"); Korean copy speaks plainly about real industrial work ("산업 현장의 지능화"). The brand is notably anti-hype for an AI company — it even runs content questioning AI overreach ("마키나락스는 왜 AI 하지 말라고 광고할까?") — positioning itself as the realist that makes AI actually work in harsh operational environments.
330
+
331
+ | Context | Tone |
332
+ |---|---|
333
+ | Hero headlines | Declarative, outcome-framed. "Deploying AI, Delivering Reality." Confident, not hype. |
334
+ | Product names | Short, technical, English (Runway, DrawX). Tools, not slogans. |
335
+ | Industry labels | Plain Korean nouns. "자동차", "국방", "중공업", "제조". |
336
+ | Blog / insight | Honest and counter-narrative. Willing to say AI fails ("Why 95% of Companies Fail at AI"). |
337
+ | CTAs | Direct, low-pressure. "Get started", "Learn more", "문의하기". |
338
+ | Korean closing | Partnership-framed. "산업 지능화의 시작, 마키나락스와 함께 하세요." |
339
+
340
+ **Voice samples (verbatim from live surfaces):**
341
+ - "Transforming Industries with Specialized AI" — hero headline. *(verified live 2026-06-26, www.makinarocks.ai)*
342
+ - "Deploying AI, Delivering Reality" — secondary hero line. *(verified live 2026-06-26, www.makinarocks.ai)*
343
+ - "산업 현장의 지능화, 마키나락스와 시작하세요." — section heading. *(verified live 2026-06-26, www.makinarocks.ai)*
344
+ - "마키나락스는 왜 AI 하지 말라고 광고할까?" — blog post title (anti-hype register). *(verified live 2026-06-26, www.makinarocks.ai)*
345
+
346
+ **Forbidden register**: gradient-neon AI hype, "revolutionary/disruptive" superlatives, vague magic-AI promises divorced from operational outcomes, exclamation-heavy marketing.
347
+
348
+ ## 11. Brand Narrative
349
+
350
+ MakinaRocks (마키나락스) was founded in **December 2017** by **CEO 윤성호 (Yoon Sung-ho)** — a Physics PhD (MIT) who had worked at Samsung Electronics and SK Telecom before starting the company — alongside co-founders drawn from industrial-AI research ([SK Telecom Newsroom interview with CEO Yoon Sung-ho](https://news.sktelecom.com/208490)). The founding premise addressed a uniquely manufacturing-heavy Korean problem: the country's factories, plants, and heavy industry generate vast operational data, but generic AI tools fail in the "harsh operational environments" of the real field. MakinaRocks set out to build AI specialized for those conditions.
351
+
352
+ The company describes itself as "The Physical AI Leader — Built for the Field, Powered by Enterprise AI OS," with a stated mission to "build AI for harsh operational environments and develop Physical AI that operates where it matters most" (makinarocks.ai/en/about). Its product line reflects that: **Runway**, an AI OS that turns AI into a managed enterprise asset, and **DrawX**, an AI agent for engineering-drawing decisions. By its own reporting the company runs a 70%+ engineering workforce, has deployed thousands of industrial AI models across roughly 40 global customers, and serves automotive, semiconductor, battery, chemical, defense/public-sector, and heavy-industry domains.
353
+
354
+ What MakinaRocks refuses, visible in both its design and its voice: the gradient-neon hype aesthetic of consumer AI and the magic-box promises that don't survive a factory floor. What it embraces: grayscale discipline anchored by a serious indigo, a custom KmrApparat display type that reads as machined and precise, and an honest, counter-narrative tone willing to publish "why most companies fail at AI." The brand positions itself as the realist that makes industrial AI actually operate.
355
+
356
+ ## 12. Principles
357
+
358
+ 1. **Built for the field, not the demo.** AI must survive harsh, real operational environments. *UI implication:* favor instrument-grade clarity and grayscale discipline over decorative flourish; every element should read as engineered.
359
+ 2. **One color carries the brand.** The indigo `#2b2b3b` is the identity; everything else is rationed. *UI implication:* use indigo for headings, product names, and dark tiles; keep blue/periwinkle accents to interactive moments only.
360
+ 3. **Honest over hyped.** The brand will openly discuss AI's failures. *UI implication:* copy states concrete outcomes; avoid superlatives and magic-AI promises.
361
+ 4. **Two voices, two jobs.** KmrApparat brands; Pretendard explains. *UI implication:* never set body in the display face or headlines in the body face — the split is the hierarchy.
362
+ 5. **Flat and precise.** Depth is contrast and hairlines, not heavy shadow. *UI implication:* separate with `#e3e2eb` hairlines and `#f1f3fb` tints; keep elevation whisper-soft and rare.
363
+
364
+ ## 13. Personas
365
+
366
+ *Personas below are fictional archetypes informed by publicly observable MakinaRocks customer segments (industrial AI buyers, plant engineers, manufacturing data teams), not individual people.*
367
+
368
+ **한지훈, 41, 울산.** A smart-factory lead at an automotive plant evaluating predictive-maintenance AI. Distrusts polished AI demos that ignore line realities; values that MakinaRocks talks about harsh operational environments and deployed model counts rather than slogans.
369
+
370
+ **Seojin Park, 34, Seoul.** An ML engineer on an enterprise AI platform team adopting Runway as the AI OS for managing models in production. Appreciates the instrument-grade, no-nonsense interface and the honest engineering-blog tone.
371
+
372
+ **김도영, 47, 대전.** A defense/public-sector R&D director exploring industrial AI for mission-critical operations. Wants a vendor that signals seriousness and security; reads the indigo, grayscale design as trustworthy rather than flashy.
373
+
374
+ ## 14. States
375
+
376
+ | State | Treatment |
377
+ |---|---|
378
+ | **Empty (no results / no models)** | White canvas. Single Indigo (`#2b2b3b`) line at body size explaining nothing is here yet, with one pill CTA to take the next step. No illustration clutter. |
379
+ | **Empty (saved / list none yet)** | Muted Slate (`#8d8da5`) single line: nothing yet, plus a path back. Calm and honest. |
380
+ | **Loading (content / list fetch)** | Skeleton cards on `#f1f3fb` tinted surface at final 12px/16px-radius dimensions. Flat pulse consistent with the near-shadowless system. |
381
+ | **Loading (in-place refresh)** | Subtle progress indicator; previous content stays visible with previous values. |
382
+ | **Error (request failed)** | Inline message in Indigo with a plain-language explanation and a retry. No generic "오류가 발생했습니다" alone — states what to do next. |
383
+ | **Error (form validation)** | Field-level message below the input; describes what's valid, not just "필수". |
384
+ | **Success (submitted / 문의 sent)** | Brief inline confirmation in a calm tone; next-step detail linked immediately below. No celebratory emoji. |
385
+ | **Skeleton** | `#f1f3fb` blocks at final dimensions, 12px/16px radius, flat pulse. |
386
+ | **Disabled** | Muted Slate (`#8d8da5`) text on reduced-opacity surface; outline CTAs fade rather than switch to a foreign gray. |
387
+
388
+ ## 15. Motion & Easing
389
+
390
+ **Durations**:
391
+
392
+ | Token | Value | Use |
393
+ |---|---|---|
394
+ | `motion-fast` | 120ms | Hover, pill press, focus |
395
+ | `motion-standard` | 200ms | Card/section reveal, carousel slide, dropdown |
396
+ | `motion-slow` | 320ms | Page-level transitions, hero reveal |
397
+
398
+ **Easings**:
399
+
400
+ | Token | Curve | Use |
401
+ |---|---|---|
402
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, dropdowns, carousel |
403
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
404
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
405
+
406
+ **Motion rules**: Motion is functional and restrained — consistent with the flat, precise aesthetic. Pill CTAs and carousel controls respond to press with a subtle scale/opacity shift; product and content cards fade-in from below at `motion-standard / ease-enter`. The product carousel advances on the round Prev/Next controls with a steady slide. No bounce or spring — an industrial-AI product signals reliability, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant; the product remains fully functional.
407
+
408
+ <!--
409
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
410
+
411
+ Tier 1 live inspect (2026-06-26) via playwright getComputedStyle on https://www.makinarocks.ai and https://www.makinarocks.ai/en/blog/:
412
+ - Hero H1 "Transforming Industries with Specialized AI" — KmrApparat 64px / weight 700 / -1.6px / color rgb(255,255,255)
413
+ - Hero H1 "Deploying AI, Delivering Reality" — KmrApparat 64px / 700 / color rgb(26,26,26) (#1a1a1a)
414
+ - Section H2 "Our Products" / "산업 현장의 지능화, 마키나락스와 시작하세요." — KmrApparat 40px / 500 / -0.16px / rgb(0,0,0)
415
+ - Product H3 "Runway" / "DrawX" — KmrApparat 48px / 500 / color rgb(43,43,59) (#2b2b3b)
416
+ - Industry tile H3 "자동차"/"국방"/"제조" — KmrApparat 24px / 700 / white rgb(255,255,255)
417
+ - Contact CTA "문의하기" — bg rgb(255,255,255) / 1px solid rgb(0,0,0) / radius 19px / Pretendard 16px
418
+ - Pill CTA "Get started"/"Learn more" — transparent / 1px solid rgb(26,26,26) / radius 50px / KmrApparat 16px/500
419
+ - Carousel Prev/Next — bg rgba(196,196,212,0.5) (#c4c4d4) / radius 28px
420
+ - Blog H1 "Blog" — Pretendard 64px / 600 / rgb(43,43,59); blog accent bg rgb(0,106,255) (#006aff)
421
+ - Body — Pretendard 16px / 400 / line-height 25.6px / rgb(0,0,0)
422
+ - Soft card shadow rgba(0,0,0,0.05) 0px 10px 20px; most surfaces box-shadow none
423
+ - document.title: "Transforming Industries with Specialized AI | MakinaRocks"
424
+
425
+ Token-level claims (§1-9) are sourced from this live inspection (see .verification.md Proof block).
426
+
427
+ Voice samples (§10) are verbatim from the live homepage and blog (hero H1, section H2, blog post title).
428
+
429
+ Brand narrative (§11): MakinaRocks (마키나락스) founded December 2017; CEO 윤성호 (Yoon Sung-ho),
430
+ MIT Physics PhD, ex-Samsung Electronics / ex-SK Telecom. Sourced from the SK Telecom Newsroom
431
+ interview (news.sktelecom.com/208490), makinarocks.ai/en/about (mission, Physical AI positioning,
432
+ 70%+ engineering workforce, ~40 customers, thousands of deployed models), and WebSearch of public
433
+ company records. Specific figures are as reported by the company and press; treat as company-stated.
434
+
435
+ Personas (§13) are fictional archetypes informed by publicly observable MakinaRocks customer
436
+ segments (industrial AI buyers, plant engineers, manufacturing/defense R&D). Names are illustrative;
437
+ they do not refer to real people.
438
+
439
+ Interpretive claims (e.g., "built for the field, not the demo", "grayscale discipline as a rejection
440
+ of consumer-AI hype") are editorial readings connecting MakinaRocks' observed design and stated
441
+ positioning, not directly sourced MakinaRocks statements.
442
+ -->