oh-my-design-cli 1.6.1 → 1.6.3
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.
- package/README.ko.md +14 -0
- package/README.md +16 -0
- package/data/reference-fingerprints.json +979 -402
- package/dist/bin/oh-my-design.js +5 -3
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/{install-skills-UKEVE3KT.js → install-skills-52LCRBZZ.js} +125 -40
- package/dist/install-skills-52LCRBZZ.js.map +1 -0
- package/package.json +2 -1
- package/skills/claude-design/SKILL.md +385 -0
- package/skills/claude-design/references/claude-design-flow.md +425 -0
- package/skills/claude-design/references/codebase-analysis.md +373 -0
- package/skills/claude-design/scripts/analyze_codebase.py +1369 -0
- package/skills/claude-design/scripts/clickable_link.sh +48 -0
- package/skills/claude-design/scripts/collect_source.py +178 -0
- package/skills/claude-design/scripts/drive_claude_design.cjs +378 -0
- package/skills/claude-design/scripts/gather_references.py +437 -0
- package/web/references/bunjang/DESIGN.md +1 -1
- package/web/references/classting/DESIGN.md +251 -0
- package/web/references/coinone/DESIGN.md +218 -0
- package/web/references/devsisters/DESIGN.md +253 -0
- package/web/references/drnow/DESIGN.md +331 -0
- package/web/references/flo/DESIGN.md +306 -0
- package/web/references/fugle/DESIGN.md +250 -0
- package/web/references/gogolook/DESIGN.md +5 -0
- package/web/references/grip/DESIGN.md +250 -0
- package/web/references/hogangnono/DESIGN.md +308 -0
- package/web/references/hyundaicard/DESIGN.md +5 -0
- package/web/references/jkopay/DESIGN.md +249 -0
- package/web/references/jobkorea/DESIGN.md +310 -0
- package/web/references/krafton/DESIGN.md +230 -0
- package/web/references/laftel/DESIGN.md +253 -0
- package/web/references/lezhin/DESIGN.md +301 -0
- package/web/references/momoshop/DESIGN.md +279 -0
- package/web/references/mustit/DESIGN.md +282 -0
- package/web/references/payco/DESIGN.md +227 -0
- package/web/references/piccollage/DESIGN.md +277 -0
- package/web/references/riiid/DESIGN.md +228 -0
- package/web/references/trenbe/DESIGN.md +252 -0
- package/web/references/voicetube/DESIGN.md +227 -0
- package/dist/install-skills-UKEVE3KT.js.map +0 -1
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: classting
|
|
3
|
+
name: "Classting"
|
|
4
|
+
country: KR
|
|
5
|
+
category: education
|
|
6
|
+
homepage: "https://www.classting.com"
|
|
7
|
+
primary_color: "#00C896"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=classting.com&sz=256"
|
|
11
|
+
verified: "2026-06-03"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Classting
|
|
16
|
+
|
|
17
|
+
AI-powered K–12 education platform from Korea that connects teachers, students, and parents through personalized learning powered by adaptive diagnostics.
|
|
18
|
+
|
|
19
|
+
## 1. Visual Theme & Atmosphere
|
|
20
|
+
|
|
21
|
+
Classting's visual language is built on the clarity of purpose you'd expect from a product used in 99 % of Korean K–12 schools. The dominant feeling is optimistic and clinical at once: a vivid mint-green primary cuts through generous white space, signalling growth and trust, while soft gradient washes (mint → lavender) on section backgrounds give the interface a gentle warmth that never feels cold or corporate. Rounded cards at 16 px radius and pillowed CTA banners at 24 px keep the tone approachable for both teachers and students. The typographic scale is disciplined — Noto Sans KR anchors the Korean-first experience, with a bold 700-weight display stack that speaks with confidence and an unhurried 400-weight body that keeps comprehension low-effort. Depth is handled with light diffuse shadows (0 2px 12px rgba(0,0,0,0.08)) rather than heavy elevation, projecting an honest, de-cluttered utility that places data visibility above decoration.
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
- **CT Green 500:** `#00C896` — primary brand, CTA buttons, active nav, key data highlights
|
|
26
|
+
- **CT Green 050:** `rgb(239, 255, 251)` (`#EFFFFA`) — card surface, tag background, mint wash sections
|
|
27
|
+
- **CT Green 700:** `rgb(23, 162, 126)` (`#17A27E`) — hover state on green elements, body accent
|
|
28
|
+
- **Purple 500:** `#9F7AEA` — secondary accent; AI / learning-path segments, gradient-self
|
|
29
|
+
- **Orange 500:** `#ED8936` — tertiary accent; business / content segments
|
|
30
|
+
- **Blue 500:** `#4299E1` — university segment, data gradient endpoint
|
|
31
|
+
- **Dark Text:** `#424242` — primary body text, headings
|
|
32
|
+
- **Gray 600:** `#757575` — secondary / supporting body text
|
|
33
|
+
- **Surface White:** `#FAFAFB` — neutral page background, card base
|
|
34
|
+
- **Surface Mint:** `#EDF9F6` — tag background, feature section washes
|
|
35
|
+
- **Surface Lavender:** `#FAF5FF` — AI segment section wash
|
|
36
|
+
- **Black:** `#000000` — footer, dark-mode CTA panels
|
|
37
|
+
|
|
38
|
+
## 3. Typography Rules
|
|
39
|
+
|
|
40
|
+
- **Primary typeface:** Noto Sans KR (Korean-first), with Noto Sans HK for Traditional Chinese locales
|
|
41
|
+
- **Body copy:** 16px / 400 / 24px line-height
|
|
42
|
+
- **Sub-button / label:** 14px / 500 / 14px line-height
|
|
43
|
+
- **Display SM:** 28px / 700 — section headings (`.display-md`)
|
|
44
|
+
- **Display LG:** 42px / 700 / 54px line-height — major feature headings (`.display-lg`)
|
|
45
|
+
- **Display XL:** 56px / 700 / 68px line-height — hero headings (`.display-x-lg`)
|
|
46
|
+
- **Font-size scale tokens:** 12px (size-60) → 14px (size-80) → 16px (size-100) → 18px (size-120) → 20px (size-140) → 24px (size-150)
|
|
47
|
+
- **Weight scale:** Regular 400, Medium 500, Bold 700
|
|
48
|
+
- **No italic usage** in marketing UI; emphasis achieved via color (#00C896) or weight change
|
|
49
|
+
- **Gradient text** used decoratively on hero headings: `linear-gradient(to right, #00C896, #9F7AEA)` (green-self), `linear-gradient(to right, #9F7AEA, #F56565)` (AI)
|
|
50
|
+
|
|
51
|
+
## 4. Component Stylings
|
|
52
|
+
|
|
53
|
+
### Primary Button (Fill)
|
|
54
|
+
|
|
55
|
+
**Green CTA — Default**
|
|
56
|
+
- Background: `#00C896`
|
|
57
|
+
- Text: `#FFFFFF`
|
|
58
|
+
- Border: none
|
|
59
|
+
- Radius: 8px
|
|
60
|
+
- Padding: 15px 16px
|
|
61
|
+
- Font: 14px / 500
|
|
62
|
+
|
|
63
|
+
**Black CTA — Alt**
|
|
64
|
+
- Background: `#424242`
|
|
65
|
+
- Text: `#FFFFFF`
|
|
66
|
+
- Border: none
|
|
67
|
+
- Radius: 8px
|
|
68
|
+
- Padding: 15px 16px
|
|
69
|
+
- Font: 14px / 500
|
|
70
|
+
|
|
71
|
+
**Orange CTA — Business Segment**
|
|
72
|
+
- Background: `#ED8936`
|
|
73
|
+
- Text: `#FFFFFF`
|
|
74
|
+
- Border: none
|
|
75
|
+
- Radius: 8px
|
|
76
|
+
- Padding: 15px 16px
|
|
77
|
+
- Font: 14px / 500
|
|
78
|
+
|
|
79
|
+
**Outline CTA — Secondary**
|
|
80
|
+
- Background: transparent
|
|
81
|
+
- Text: `#ED872D`
|
|
82
|
+
- Border: 1px solid `#ED872C`
|
|
83
|
+
- Radius: 8px
|
|
84
|
+
- Padding: 20px 24px
|
|
85
|
+
- Font: 14px / 500
|
|
86
|
+
|
|
87
|
+
### Card
|
|
88
|
+
|
|
89
|
+
**Blog / Feature Card**
|
|
90
|
+
- Background: `#FFFFFF`
|
|
91
|
+
- Border: none
|
|
92
|
+
- Radius: 16px
|
|
93
|
+
- Padding: 24px 20px
|
|
94
|
+
- Shadow: 0 0 12px `rgba(0,0,0,0.05)`
|
|
95
|
+
|
|
96
|
+
**Section Banner (Consult)**
|
|
97
|
+
- Background: `#00C896`
|
|
98
|
+
- Radius: 24px
|
|
99
|
+
- Padding: 64px 106px
|
|
100
|
+
|
|
101
|
+
### Tag / Badge
|
|
102
|
+
|
|
103
|
+
**Service Tag — Mint**
|
|
104
|
+
- Background: `#EDF9F6`
|
|
105
|
+
- Radius: 6px
|
|
106
|
+
- Padding: 8px
|
|
107
|
+
|
|
108
|
+
**Service Tag — Orange**
|
|
109
|
+
- Background: `#FFFAF0`
|
|
110
|
+
- Radius: 6px
|
|
111
|
+
- Padding: 8px
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
**Verified:** 2026-06-03
|
|
115
|
+
**Tier 1 sources:** https://www.classting.com (homepage HTML + Webflow CSS bundle); https://cdn.prod.website-files.com/642a57a169d01c4b3830b2b5/css/classting-aac463.webflow.shared.c0fddf191.css (Classting Webflow CSS, 126 KB); https://ctcorp.ai/ko/brand-guidelines (official CT Corp. brand guidelines page, 2025-02-26 CI)
|
|
116
|
+
**Tier 2 sources:** getdesign.md/classting — NOT LISTED (no designs found). refero — no result found for Classting KR.
|
|
117
|
+
**Conflicts unresolved:** none
|
|
118
|
+
|
|
119
|
+
## 5. Layout Principles
|
|
120
|
+
|
|
121
|
+
- Max content width: 1,248px on marketing pages; 1,280px on pricing
|
|
122
|
+
- Horizontal padding: 16px mobile → 48px desktop
|
|
123
|
+
- Primary grid: flexbox rows, `justify-content: space-between`, gap-based spacing
|
|
124
|
+
- Section vertical rhythm: `margin-top: 120px` between major sections; `padding: 64px 106px` on CTA banners
|
|
125
|
+
- Spacing token scale: 0.25rem → 0.5rem → 0.75rem → 1rem → 1.25rem → 1.5rem → 2rem (--space-01 through --space-07)
|
|
126
|
+
- Layout tokens: 1.5rem → 2.25rem → 3rem → 3.5rem → 4rem → 4.5rem → 5.5rem → 6rem → 7.5rem (--space-layout-01 through -09)
|
|
127
|
+
- Responsive breakpoint: 720px (flex-direction switches from column to row on most feature sections); 540px (page background shifts from gray-200 to white)
|
|
128
|
+
- Feature grid: hero image + content side-by-side at ≥ 720px; stacked on mobile
|
|
129
|
+
|
|
130
|
+
## 6. Depth & Elevation
|
|
131
|
+
|
|
132
|
+
- **Level 0 — Flat:** tag backgrounds, section washes — no shadow
|
|
133
|
+
- **Level 1 — Subtle:** `box-shadow: 0 0 12px rgba(0,0,0,0.05)` — blog / feature cards
|
|
134
|
+
- **Level 2 — Raised:** `box-shadow: 0 2px 12px rgba(0,0,0,0.08)` — interactive panels
|
|
135
|
+
- **Level 3 — Focus ring / Accent:** `box-shadow: 0 5px 25px rgba(0,200,150,0.08)` — highlighted CTA feature cards
|
|
136
|
+
- **Backdrop / overlay:** `rgba(0,0,0,0.45)` mobile backdrop; `rgba(0,0,0,0.60)` popup overlay
|
|
137
|
+
- No heavy 4px/8px blur shadows; depth is expressed through mild diffusion, not dramatic elevation
|
|
138
|
+
|
|
139
|
+
## 7. Do's and Don'ts
|
|
140
|
+
|
|
141
|
+
### Do
|
|
142
|
+
- Use `#00C896` for the single primary CTA per page — one dominant action, clearly coloured
|
|
143
|
+
- Apply `border-radius: 8px` on fill buttons and `16px` on cards for consistent roundedness
|
|
144
|
+
- Use Noto Sans KR for all Korean-language UI copy; never substitute with system fonts
|
|
145
|
+
- Apply gradient text (`#00C896` → `#9F7AEA`) on hero display headings only, not on body copy
|
|
146
|
+
- Keep section backgrounds as soft gradient washes (`#EDF9F6` → `#FAF5FF`) to delineate feature segments without hard borders
|
|
147
|
+
- Maintain `#424242` as the default text colour — not pure black — to reduce contrast harshness
|
|
148
|
+
|
|
149
|
+
### Don't
|
|
150
|
+
- Don't use more than two accent colours (e.g., green + purple) in the same section; pick the colour that matches the product segment
|
|
151
|
+
- Don't apply the 24px pill radius to small inline buttons; reserve pill radius for large section banners
|
|
152
|
+
- Don't use `font-weight: 400` for CTA labels — labels must be 500 or 700 to carry authority
|
|
153
|
+
- Don't place white text on `#EDF9F6` or `#FAFAFB` — contrast insufficient; use `#424242` or `#17A27E`
|
|
154
|
+
- Don't add heavy drop shadows to cards; diffuse shadows (opacity ≤ 0.08) maintain the clean, data-first aesthetic
|
|
155
|
+
- Don't use the AI gradient (`#9F7AEA` → `#F56565`) outside AI/learning-path feature contexts
|
|
156
|
+
|
|
157
|
+
## 8. Responsive Behavior
|
|
158
|
+
|
|
159
|
+
- Hero headlines scale: 56px (desktop, `.display-x-lg`) → 36px (mobile, `--fontSizes-700: 2.25rem`)
|
|
160
|
+
- Section display-lg: 42px desktop → 28px (`.display-md` equivalent) on mobile
|
|
161
|
+
- Flex layout: `flex-direction: column` on mobile, switches to `flex-direction: row` at 720px breakpoint
|
|
162
|
+
- Section banner (`consult`): `padding: 64px 106px` → padded tightly on mobile with reduced side padding
|
|
163
|
+
- Max-width containers (1248px) fill full viewport on small screens with `padding-left/right: 16px`
|
|
164
|
+
- Feature image widths: 50% desktop (`@media ≥ 720px`) → 100% mobile
|
|
165
|
+
- CTA buttons: full-width (`width: 100%`) on mobile; auto/fixed-width on desktop
|
|
166
|
+
- Navigation: collapses at `data-collapse="all"` (Webflow nav menu)
|
|
167
|
+
|
|
168
|
+
## 9. Agent Prompt Guide
|
|
169
|
+
|
|
170
|
+
When building Classting-style UI components:
|
|
171
|
+
- Set `--primary: #00C896` and `--text-dark: #424242` as the first two variables
|
|
172
|
+
- Primary CTA: `background: #00C896; border-radius: 8px; padding: 15px 16px; color: #fff; font: 500 14px/14px "Noto Sans KR", sans-serif`
|
|
173
|
+
- Cards: `background: #fff; border-radius: 16px; box-shadow: 0 0 12px rgba(0,0,0,0.05); padding: 24px 20px`
|
|
174
|
+
- Hero heading: `font-size: 56px; font-weight: 700; line-height: 68px; color: #424242; font-family: "Noto Sans KR", sans-serif`
|
|
175
|
+
- Section wash: `background: linear-gradient(120deg, #EDF9F6, #FAF5FF)` — school segment default
|
|
176
|
+
- Tag pill: `background: #EDF9F6; border-radius: 6px; padding: 8px; font-size: 14px; font-weight: 500`
|
|
177
|
+
- Avoid hardcoded pixel values for layout widths; use `max-width: 1248px; margin: 0 auto; padding: 0 16px`
|
|
178
|
+
- For KR locale always load Noto Sans KR 400+500+700; for TW locale use Noto Sans HK instead
|
|
179
|
+
- The purple accent (`#9F7AEA`) should appear only in AI-feature or self-directed-learning contexts
|
|
180
|
+
|
|
181
|
+
## 10. Voice & Tone
|
|
182
|
+
|
|
183
|
+
**Three adjectives:** Precise, Encouraging, Grounded
|
|
184
|
+
|
|
185
|
+
| Do | Don't |
|
|
186
|
+
|----|-------|
|
|
187
|
+
| Use data as proof: "91.5% accuracy" | Vague promises: "better learning" |
|
|
188
|
+
| Empathise with teacher workload | Lecture teachers on pedagogy |
|
|
189
|
+
| Speak to students as capable learners | Infantilise or over-simplify |
|
|
190
|
+
| Short, declarative sentences | Long qualifier chains |
|
|
191
|
+
| Active voice: "We accelerate…" | Passive hedging: "Learning may be…" |
|
|
192
|
+
|
|
193
|
+
**Voice samples (illustrative):**
|
|
194
|
+
- *Illustrative:* "진단부터 추천까지. 데이터가 길을 만듭니다." (From diagnosis to recommendation. Data makes the path.) — punchy, confident, under 12 words.
|
|
195
|
+
- *Illustrative:* "선생님이 매 학생을 개별적으로 파악하기 어려운 게 현실입니다. 클래스팅 AI가 그 공백을 채웁니다." (It's reality that teachers can't track every student individually. Classting AI fills that gap.) — empathetic acknowledgment followed by direct solution statement.
|
|
196
|
+
- *Illustrative:* "맞춤 교육, 지금 시작하세요." (Start personalized education now.) — imperative CTA, no decoration.
|
|
197
|
+
|
|
198
|
+
## 11. Brand Narrative
|
|
199
|
+
|
|
200
|
+
Classting was founded in 2012 by Cho Hyun-gu, who taught in elementary school for four years beginning in 2009. Confronted daily with the impossibility of personalizing instruction for 30+ students in a single classroom, he built a class communication tool that would evolve into Korea's most widely adopted educational platform — present in 99 % of Korean K–12 schools and 47 countries, with over 8.1 million users and 980,000 active classes.
|
|
201
|
+
|
|
202
|
+
The company's strategic center of gravity shifted from communication to intelligence. Under its corporate entity CT (Cognitive Technologies), Classting now operates an AI diagnostic engine that tracks individual knowledge states using the proprietary CLST model combined with ELO rating systems, achieving a 91.5 % correct-answer prediction rate. The mission statement — "We Accelerate Human Learning with Technology" — reflects this shift from tool to infrastructure: Classting is not a classroom app but an accelerant layered beneath every instructional decision.
|
|
203
|
+
|
|
204
|
+
The brand's visual and verbal identity encodes this duality. The product's primary green (`#00C896`) is optimistic and natural — growth, not algorithm — while the precision of the typography system and the measured use of data language in copy signal a platform that earns trust through evidence. Classting's voice does not celebrate technology for its own sake; it celebrates the moment when a student masters a concept they once struggled with.
|
|
205
|
+
|
|
206
|
+
## 12. Principles
|
|
207
|
+
|
|
208
|
+
1. **Diagnosis before prescription.** No recommendation is made without an accurate picture of the student's current knowledge state. *UI implication:* Show diagnostic results explicitly before any learning path is presented; never skip or collapse the diagnostic step in the onboarding flow.
|
|
209
|
+
|
|
210
|
+
2. **Evidence over enthusiasm.** Every product claim is anchored by a measurable outcome. *UI implication:* Key statistics (accuracy percentages, school counts, improvement rates) must appear at typographic hierarchy level — 700 weight, green accent — not buried in body copy.
|
|
211
|
+
|
|
212
|
+
3. **The teacher is the user, the student is the beneficiary.** Features are designed from the teacher's operational reality outward. *UI implication:* Primary navigation surfaces teacher actions (assign, monitor, report) above student actions; student-facing views are sub-paths, not primary routes.
|
|
213
|
+
|
|
214
|
+
4. **Upward equalization.** Technology must reduce — not amplify — the gap between well-resourced and under-resourced learners. *UI implication:* The free tier remains feature-rich; premium upsell is positioned as scale, never as access to basic diagnostic fairness.
|
|
215
|
+
|
|
216
|
+
5. **Continuous improvement as default.** The system learns with every interaction and surfaces new insights automatically. *UI implication:* Dashboards must display trend data (not just snapshots); empty states for trend charts should prompt continued use, never declare "no data."
|
|
217
|
+
|
|
218
|
+
## 13. Personas
|
|
219
|
+
|
|
220
|
+
*Illustrative Elementary School Teacher — "Min-jeong"*
|
|
221
|
+
Min-jeong, 34, manages a class of 28 third-graders in Busan. She has 6 years of experience but limited time: lesson planning, parent communication, and admin consume her evenings. She adopted Classting for the class communication features and stayed for the AI diagnostic reports that tell her — before Monday's class — which three students are likely to fall behind this week. She reads dashboards on her phone between pickup duty and needs information density that fits a 5-inch screen.
|
|
222
|
+
|
|
223
|
+
*Illustrative Middle School Student — "Junho"*
|
|
224
|
+
Junho, 14, is preparing for high school entrance examinations and is intensely aware of his ranking in class. He uses the FastTrack recommendation engine because it shows him exactly which problem types to drill — not the whole textbook. He responds to progress visualizations (journey maps, streak counts) and checks his rank on the leaderboard every morning. Gamification is not a gimmick for him; it is motivation made tangible.
|
|
225
|
+
|
|
226
|
+
*Illustrative School Administrator — "Principal Park"*
|
|
227
|
+
Principal Park, 52, oversees a middle school of 800 students in Seoul. She approved the Classting AI school licence based on a single concern: whether the platform's diagnostic data could be aggregated into school-level reporting for the district office. She does not use the platform daily; she receives a monthly PDF report and attends a quarterly review. Her design touchpoint is that report — its clarity and credibility determine whether she renews.
|
|
228
|
+
|
|
229
|
+
*Illustrative EdTech Procurement Officer — "Director Kim"*
|
|
230
|
+
Director Kim, 45, evaluates EdTech solutions for a regional office of education overseeing 120 schools. He benchmarks platforms on three axes: accuracy of AI claims, data privacy compliance (PIPA/K-GDPR), and integration with the national digital textbook infrastructure. His interaction with Classting begins at the pricing and case study pages, not the product UI. He needs social proof (school counts, accuracy rates) within the first screen.
|
|
231
|
+
|
|
232
|
+
## 14. States
|
|
233
|
+
|
|
234
|
+
- **Empty state (class feed):** Illustration of an empty classroom with a single call-to-action "첫 게시물을 작성해보세요" (Write your first post); green primary button; no placeholder data
|
|
235
|
+
- **Loading (diagnostic):** Skeleton shimmer — gray-300 (`hsl(0,0%,88%)`) animated `pulse` at 1.5s ease-in-out infinite; radius matches the actual card at 6px or 16px
|
|
236
|
+
- **Error — network (data fetch):** Inline error message in red-600 (`hsl(0,76%,57%)`), retry CTA in green; never red buttons for destructive-only actions
|
|
237
|
+
- **Error — input validation:** Border switches to red-600 on the input field; helper text appears below at 12px / 400 in red-600; border-color token: `--colors-border-color-input-active: hsl(165,100%,39%)` on focus (green), red on error
|
|
238
|
+
- **Success (assignment submitted):** Toast notification with `#00C896` left-border accent; white background; auto-dismiss after 3 s
|
|
239
|
+
- **Skeleton (dashboard cards):** Full card width at 16px radius, pulse shimmer in gray-300 (`hsl(0,0%,88%)`); paragraph lines shimmer at reduced height (12px bars with 8px gap)
|
|
240
|
+
- **Disabled (button):** `background-color: hsl(0,0%,74%)` (gray-400); `color: #fff`; `cursor: not-allowed`; no hover effect
|
|
241
|
+
- **Disabled (input):** `background-color: hsl(0,0%,96%)` (gray-100); `border-color: hsl(0,0%,74%)`; `cursor: not-allowed`
|
|
242
|
+
|
|
243
|
+
## 15. Motion & Easing
|
|
244
|
+
|
|
245
|
+
- **Micro-interactions (hover, toggle):** `transition: background-color 0.1s, color 0.1s` — very fast, immediate feedback
|
|
246
|
+
- **Panel / overlay transitions:** `transition: all 0.3s` — moderate, deliberate
|
|
247
|
+
- **Skeleton pulse animation:** `animation: pulse 1.5s ease-in-out infinite` — slow, non-distracting
|
|
248
|
+
- **Easing default:** `ease` (Webflow `data-easing="ease"`) for nav and panel animations
|
|
249
|
+
- **Nav animation duration:** 500ms (`data-duration="500"`) — slightly slow for educational context; ensures teacher users are not disoriented by fast transitions
|
|
250
|
+
- **Motion principles:** Motion is never decorative. Every animation either confirms state change (0.1s micro), reveals structure (0.3s panel), or signals system work (1.5s skeleton). Avoid transform-heavy keyframe animations on data-heavy views (dashboards) — cognitive load is already high.
|
|
251
|
+
- **Reduced-motion:** Skeleton pulse should respect `prefers-reduced-motion: reduce`; replace with static gray-300 fill
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: coinone
|
|
3
|
+
name: "Coinone"
|
|
4
|
+
country: KR
|
|
5
|
+
category: fintech
|
|
6
|
+
homepage: "https://coinone.co.kr"
|
|
7
|
+
primary_color: "#006BD6"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=coinone.co.kr&sz=256"
|
|
11
|
+
verified: "2026-06-03"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
ds:
|
|
14
|
+
name: "Coinone Brand Guideline"
|
|
15
|
+
url: "https://coinonecorp.com/company/brand"
|
|
16
|
+
type: brand
|
|
17
|
+
description: "Official BI/brand guideline (v4.0) — Coinone Blue color system, signature logo lockups, clear-space rules."
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Coinone
|
|
21
|
+
|
|
22
|
+
Coinone is one of Korea's longest-running cryptocurrency exchanges (est. 2014). Its product face pairs a trustworthy, institutional blue with a clean, high-density trading surface — a fintech tone that has to read as both safe and fast.
|
|
23
|
+
|
|
24
|
+
## 1. Visual Theme & Atmosphere
|
|
25
|
+
|
|
26
|
+
Coinone presents as a calm, blue-anchored fintech exchange that wants to feel safe before it feels exciting. The chrome is mostly white with near-black text, letting a single confident blue carry every primary action and the brand itself. Surfaces are flat and lightly bordered rather than shadow-heavy; density rises sharply once you enter trading views, but the marketing and onboarding surfaces stay airy and reassuring. The result is a "boring-on-purpose" trust aesthetic typical of regulated Korean crypto, lifted by a brighter point-blue used sparingly for emphasis and AI/automation features.
|
|
27
|
+
|
|
28
|
+
## 2. Color Palette & Roles
|
|
29
|
+
|
|
30
|
+
Coinone's official BI defines "Coinone Blue" as the identity color, applied through a small set of roles. The live product applies a slightly deeper, more saturated blue to primary CTAs than the BI swatch.
|
|
31
|
+
|
|
32
|
+
- **Coinone Blue (Main):** `#006BD6` — brand identity color (BI v4.0)
|
|
33
|
+
- **Point Blue:** `#0090FF` — emphasis / highlight accent (BI)
|
|
34
|
+
- **Sub Blue 1:** `#194386` — deep supporting blue (BI)
|
|
35
|
+
- **Sub Blue 2:** `#062554` — darkest navy, headings on light (BI)
|
|
36
|
+
- **Primary CTA (live):** `#0B59D5` — actual filled-button blue used on coinone.co.kr
|
|
37
|
+
- **Accent outline blue (live):** `#1772F8` — signup / inline emphasis outline
|
|
38
|
+
- **Text primary:** `#040505` — near-black body & headings
|
|
39
|
+
- **Text secondary:** `#17181B` — strong neutral
|
|
40
|
+
- **Text muted:** `#6B7684` — captions, helper text
|
|
41
|
+
- **Neutral border:** `#DDE4EB` — input & outline-button borders
|
|
42
|
+
- **Gray scale (BI):** `#EEEFF0` / `#CFD0D3` / `#8D9299` / `#616670`
|
|
43
|
+
- **Surface tint:** `#EBF0F5` — light fill (store buttons, soft chips)
|
|
44
|
+
- **Trading direction:** Korean market convention — price-up = red, price-down = blue (not measured as fixed tokens; applied per ticker state).
|
|
45
|
+
|
|
46
|
+
## 3. Typography Rules
|
|
47
|
+
|
|
48
|
+
- System Korean/Latin sans (Pretendard-class) — no proprietary display face on web.
|
|
49
|
+
- Hero / section titles: bold, large, near-black `#040505`.
|
|
50
|
+
- Primary control label: 15px / 700.
|
|
51
|
+
- Body & list rows: 13–15px / 400–500.
|
|
52
|
+
- Micro-labels & helper: 12px / 400, muted `#6B7684`.
|
|
53
|
+
- Numerals run dense and right-aligned in trading tables; weight 500–700 for figures that change.
|
|
54
|
+
|
|
55
|
+
## 4. Component Stylings
|
|
56
|
+
|
|
57
|
+
### Buttons
|
|
58
|
+
|
|
59
|
+
**Primary (filled)**
|
|
60
|
+
- Background: `#0B59D5`
|
|
61
|
+
- Text: `#FFFFFF`
|
|
62
|
+
- Radius: 8px
|
|
63
|
+
- Padding: 14px 18px
|
|
64
|
+
- Height: 46px
|
|
65
|
+
- Font: 15px / 700
|
|
66
|
+
|
|
67
|
+
**Secondary (outline on white)**
|
|
68
|
+
- Background: `#FFFFFF`
|
|
69
|
+
- Text: `#040505`
|
|
70
|
+
- Border: 1px solid `#DDE4EB`
|
|
71
|
+
- Radius: 8px
|
|
72
|
+
- Padding: 14px 18px
|
|
73
|
+
- Height: 46px
|
|
74
|
+
- Font: 15px / 500
|
|
75
|
+
|
|
76
|
+
**Accent outline (signup / inline emphasis)**
|
|
77
|
+
- Background: transparent
|
|
78
|
+
- Text: `#1772F8`
|
|
79
|
+
- Border: 1px solid `#1772F8`
|
|
80
|
+
- Radius: 3px
|
|
81
|
+
- Padding: 0 8px
|
|
82
|
+
- Height: 24px
|
|
83
|
+
- Font: 12px / 700
|
|
84
|
+
|
|
85
|
+
**Text link**
|
|
86
|
+
- Background: transparent
|
|
87
|
+
- Text: `#0B59D5`
|
|
88
|
+
- Font: 16px / 400
|
|
89
|
+
|
|
90
|
+
**Store button (light)**
|
|
91
|
+
- Background: `#EBF0F5`
|
|
92
|
+
- Text: `#040505`
|
|
93
|
+
- Radius: 10px
|
|
94
|
+
- Padding: 13px
|
|
95
|
+
- Height: 48px
|
|
96
|
+
- Font: 13px / 700
|
|
97
|
+
|
|
98
|
+
**Store button (dark)**
|
|
99
|
+
- Background: `#040505`
|
|
100
|
+
- Text: `#FFFFFF`
|
|
101
|
+
- Radius: 10px
|
|
102
|
+
- Padding: 13px
|
|
103
|
+
- Height: 48px
|
|
104
|
+
- Font: 13px / 700
|
|
105
|
+
|
|
106
|
+
### Chip / Toggle
|
|
107
|
+
|
|
108
|
+
**Filter chip (default)**
|
|
109
|
+
- Background: `#FFFFFF`
|
|
110
|
+
- Text: `#040505`
|
|
111
|
+
- Border: 1px solid `#DDE4EB`
|
|
112
|
+
- Radius: 6px
|
|
113
|
+
- Padding: 6px 12px
|
|
114
|
+
- Height: 32px
|
|
115
|
+
- Font: 13px / 500
|
|
116
|
+
- Active: border 1px solid `#040505`, font-weight 700
|
|
117
|
+
|
|
118
|
+
### Icon button
|
|
119
|
+
|
|
120
|
+
**Circular**
|
|
121
|
+
- Background: `rgba(0,0,0,0.4)`
|
|
122
|
+
- Radius: 50%
|
|
123
|
+
- Padding: 5px
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
**Verified:** 2026-06-03
|
|
127
|
+
**Tier 1 sources:** https://coinonecorp.com/company/brand (official BI guideline, brand-owned), https://coinone.co.kr (live exchange site, brand-owned), https://image-public.coinone.co.kr/download/corphome/coinone_guide_4.0.pdf (official brand guideline PDF v4.0, brand-owned)
|
|
128
|
+
**Tier 2 sources:** getdesign.md/coinone — NOT LISTED. refero ?q=coinone — no Coinone-specific result. Tier 1 carries the evidence per KR regional-source rule.
|
|
129
|
+
**Conflicts unresolved:** BI "Coinone Blue" main is `#006BD6`; the live product applies `#0B59D5` to filled CTAs and `#1772F8` to outline emphasis — recorded as applied shades of the same identity blue, not a conflict.
|
|
130
|
+
|
|
131
|
+
## 5. Layout Principles
|
|
132
|
+
|
|
133
|
+
- Marketing/onboarding: centered, generous vertical rhythm, single-column hero with one primary blue CTA.
|
|
134
|
+
- App/exchange: dense multi-pane (market list · chart · order form), right-aligned numeric columns, thin neutral dividers `#DDE4EB`.
|
|
135
|
+
- 8px spacing base; controls cluster at 8/12/18px gaps.
|
|
136
|
+
- White surfaces dominate; sectioning by border and spacing rather than heavy cards.
|
|
137
|
+
|
|
138
|
+
## 6. Depth & Elevation
|
|
139
|
+
|
|
140
|
+
- Low elevation overall: flat white surfaces, 1px `#DDE4EB` borders do most of the separation.
|
|
141
|
+
- Radius scale: 3px (inline tags) · 6px (chips) · 8px (buttons/cards) · 10px (store/large) · 50% (icon).
|
|
142
|
+
- Shadows reserved for floating menus / modals, kept soft and short.
|
|
143
|
+
|
|
144
|
+
## 7. Do's and Don'ts
|
|
145
|
+
|
|
146
|
+
### Do
|
|
147
|
+
- Use one confident blue for the single primary action per view.
|
|
148
|
+
- Keep trading numerals dense, right-aligned, and weighted when they change.
|
|
149
|
+
- Respect Korean market color convention (red = up, blue = down) in price contexts.
|
|
150
|
+
- Lean on borders and spacing for structure; keep surfaces flat and white.
|
|
151
|
+
|
|
152
|
+
### Don't
|
|
153
|
+
- Stack multiple filled-blue CTAs competing in one viewport.
|
|
154
|
+
- Introduce shadow-heavy cards in trading views — it slows scanning.
|
|
155
|
+
- Recolor the identity blue toward teal/purple; stay within the Coinone Blue family.
|
|
156
|
+
- Use red/green for price direction (that's a Western convention; KR is red-up/blue-down).
|
|
157
|
+
|
|
158
|
+
## 8. Responsive Behavior
|
|
159
|
+
|
|
160
|
+
- Marketing pages collapse to single column; CTA goes full-width with the same 8px radius.
|
|
161
|
+
- Exchange UI is desktop-dense; mobile app reflows panes into stacked tabs (markets → chart → order).
|
|
162
|
+
- Touch targets ≥ 44px on app surfaces; 48–49px primary buttons translate cleanly to mobile.
|
|
163
|
+
|
|
164
|
+
## 9. Agent Prompt Guide
|
|
165
|
+
|
|
166
|
+
When generating Coinone-style UI: white background, near-black `#040505` text, exactly one filled blue (`#0B59D5`) primary action with 8px radius and 15px/700 label, outline secondaries with `#DDE4EB` borders. Keep it flat and bordered, dense in data views, calm in marketing. For price/market data use KR convention (red up, blue down). Use `#1772F8`/`#0090FF` only as sparing emphasis, never as a second competing CTA.
|
|
167
|
+
|
|
168
|
+
## 10. Voice & Tone
|
|
169
|
+
|
|
170
|
+
Coinone's voice is **steady, plain, and reassuring** — a regulated exchange explaining money clearly, not hyping coins.
|
|
171
|
+
|
|
172
|
+
| Do | Don't |
|
|
173
|
+
|---|---|
|
|
174
|
+
| "30초면 가입 완료" — concrete, low-friction | "지금 안 사면 후회!" — FOMO/hype |
|
|
175
|
+
| Explain risk and fees plainly | Bury terms or over-promise returns |
|
|
176
|
+
| Calm, confident, second-person | Slangy crypto-degen tone |
|
|
177
|
+
|
|
178
|
+
Voice samples (illustrative, derived from live copy):
|
|
179
|
+
- "딱 30초면 완료할 수 있어요!" (signup nudge — friendly, concrete)
|
|
180
|
+
- "스마트 트레이딩 바로가기" (feature CTA — direct, plain)
|
|
181
|
+
- "방문 상담 예약하기" (support — calm, service-oriented)
|
|
182
|
+
|
|
183
|
+
## 11. Brand Narrative
|
|
184
|
+
|
|
185
|
+
Founded in 2014, Coinone is one of Korea's first-generation crypto exchanges and has framed itself around "connecting the world and technology" (세상과 기술을 연결하다). Its logo guideline describes the mark as carrying "the infinite possibilities of connection." Over a decade it has leaned into trust and compliance as differentiators in a heavily regulated market, while pushing automation features (AI grid / smart trading) to stay competitive with larger rivals. The design language reflects that posture: institutional blue, plain language, safety-first surfaces.
|
|
186
|
+
|
|
187
|
+
## 12. Principles
|
|
188
|
+
|
|
189
|
+
1. **Trust before excitement.** — *UI implication:* calm white surfaces, one blue, no hype color.
|
|
190
|
+
2. **Clarity of money.** — *UI implication:* plain copy, explicit fees/states, legible dense numerals.
|
|
191
|
+
3. **One decisive action.** — *UI implication:* a single filled-blue CTA per view.
|
|
192
|
+
4. **Speed in data, calm in marketing.** — *UI implication:* dense trading panes, airy onboarding.
|
|
193
|
+
5. **Stay within the identity blue.** — *UI implication:* blue family only for brand/primary; grays carry the rest.
|
|
194
|
+
|
|
195
|
+
## 13. Personas
|
|
196
|
+
|
|
197
|
+
*Illustrative archetypes for design context, not official user research.*
|
|
198
|
+
|
|
199
|
+
- **Cautious first-timer** — wants a safe, regulated place to buy a little crypto; needs plain steps and visible trust signals.
|
|
200
|
+
- **Active retail trader** — lives in the order book; values dense data, fast toggles, reliable numerals.
|
|
201
|
+
- **Automation seeker** — drawn to AI grid / smart trading; wants set-and-forget tooling explained simply.
|
|
202
|
+
|
|
203
|
+
## 14. States
|
|
204
|
+
|
|
205
|
+
- **Empty:** "보유 자산이 없어요" — quiet muted `#6B7684` text + a single blue "입금하기" CTA.
|
|
206
|
+
- **Loading:** skeleton rows in trading tables; spinner inside buttons on submit.
|
|
207
|
+
- **Error (validation):** inline red helper under field; field border turns warning red.
|
|
208
|
+
- **Error (network):** non-blocking toast, retriable; data panes keep last values dimmed.
|
|
209
|
+
- **Success:** brief confirmation toast / checkmark; return to the relevant balance or order view.
|
|
210
|
+
- **Skeleton:** gray `#EEEFF0` placeholder blocks matching final row layout.
|
|
211
|
+
- **Disabled:** muted `#CFD0D3` fill, no border emphasis, non-interactive cursor.
|
|
212
|
+
|
|
213
|
+
## 15. Motion & Easing
|
|
214
|
+
|
|
215
|
+
- Duration scale: 120ms (micro hover/press) · 200ms (toggles, toasts) · 300ms (page/section transitions).
|
|
216
|
+
- Easing: standard ease-out for entrances, ease-in-out for toggles.
|
|
217
|
+
- Price/number changes flash briefly (red up / blue down) then settle — motion communicates direction, never decorates.
|
|
218
|
+
- Keep motion minimal in trading views to avoid distracting from live data.
|