oh-my-design-cli 1.8.7 → 1.9.0

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 (247) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +1995 -38
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -0,0 +1,472 @@
1
+ ---
2
+ id: teamsparta
3
+ name: Team Sparta
4
+ display_name_kr: 팀스파르타 (스파르타코딩클럽)
5
+ country: KR
6
+ category: education
7
+ homepage: "https://spartacodingclub.kr/"
8
+ primary_color: "#fa0030"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=spartaclub.kr&sz=128"
12
+ verified: "2026-07-02"
13
+ added: "2026-07-02"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-07-02"
18
+ note: "primary = live signature red (#fa0030) used on the full-bleed conversion band, numbered step accents, and eyebrow labels; ink near-black (#0c0e13) for headings; deep red (#d90b32), teal-dark (#0b495c) and purple (#8723ba) are the hero course-card backgrounds. Near-flat system (box-shadow: none)."
19
+ colors:
20
+ primary: "#fa0030"
21
+ primary-deep: "#d90b32"
22
+ coral: "#ff4660"
23
+ red-alt: "#e8354e"
24
+ ink: "#0c0e13"
25
+ canvas: "#ffffff"
26
+ surface: "#f2f6f8"
27
+ surface-cyan: "#ecf8fc"
28
+ teal-dark: "#0b495c"
29
+ teal: "#249eb3"
30
+ cyan: "#93e6f5"
31
+ purple: "#8723ba"
32
+ body: "#41414b"
33
+ muted: "#858793"
34
+ faint: "#a4a7b0"
35
+ hairline: "#e0e1e5"
36
+ on-primary: "#ffffff"
37
+ tag-green: "#66d417"
38
+ tag-green-bg: "#f0ffeb"
39
+ tag-orange: "#ff7300"
40
+ tag-orange-bg: "#ffeac7"
41
+ typography:
42
+ family: { display: "Pretendard Bold", body: "Pretendard", accent: "Gmarket Sans" }
43
+ display-step: { size: 40, weight: 700, lineHeight: 1.30, use: "Numbered step display (1/2/3), Pretendard Bold" }
44
+ section: { size: 32, weight: 700, lineHeight: 1.375, use: "Hero / section H1, Pretendard Bold" }
45
+ subsection: { size: 28, weight: 700, lineHeight: 1.36, use: "Feature section heads, Pretendard Bold" }
46
+ title: { size: 22, weight: 700, lineHeight: 1.45, use: "Card / decorative titles" }
47
+ body-lg: { size: 18, weight: 700, lineHeight: 1.44, use: "Lead / sub-head copy" }
48
+ eyebrow: { size: 15, weight: 700, lineHeight: 1.47, tracking: -0.2, use: "Eyebrow label (e.g. Total Career Solution), red" }
49
+ body: { size: 16, weight: 400, lineHeight: 1.50, use: "Standard reading text, Pretendard" }
50
+ caption: { size: 12, weight: 500, lineHeight: 1.40, use: "Tags, nav, metadata" }
51
+ spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
52
+ rounded: { sm: 4, md: 6, lg: 8, xl: 12, pill: 99, full: 9999 }
53
+ shadow:
54
+ none: "none"
55
+ inset: "rgba(255,255,255,0.12) 0px 0px 2px 0px inset"
56
+ components:
57
+ cta-primary: { type: button, bg: "#fa0030", fg: "#ffffff", radius: "8px", padding: "10px 16px", height: "42px", font: "16px / 700", use: "Primary enrollment CTA / red conversion band action" }
58
+ cta-enterprise: { type: button, bg: "#0b495c", fg: "#ffffff", radius: "6px", padding: "10px 12px", height: "40px", font: "16px / 700", use: "기업교육 알아보기 — secondary teal-dark CTA" }
59
+ cta-dark: { type: button, bg: "#0c0e13", fg: "#ffffff", radius: "6px", padding: "8px 12px", height: "36px", font: "14px / 600", use: "후기 자세히 보기 — dark ink button" }
60
+ login-chip: { type: button, bg: "#ffffff", fg: "#0c0e13", border: "1px solid #e0e1e5", radius: "4px", padding: "8px 11px", height: "36px", font: "14px / 500", use: "Header login chip" }
61
+ course-card: { type: card, bg: "#ffffff", radius: "8px", padding: "24px", use: "Course catalog card, white on canvas, no shadow" }
62
+ surface-card: { type: card, bg: "#f2f6f8", radius: "12px", padding: "16px", use: "Info / summary card on tinted surface" }
63
+ tag-green: { type: badge, bg: "#f0ffeb", fg: "#66d417", radius: "4px", padding: "0 4px", font: "12px / 500", use: "국비지원 category tag" }
64
+ tag-orange: { type: badge, bg: "#ffeac7", fg: "#ff7300", radius: "4px", padding: "0 4px", font: "12px / 500", use: "NEW category tag" }
65
+ nav-link: { type: tab, fg: "#0c0e13", font: "16px / 600", active: "text #fa0030", use: "Top nav item, red on active" }
66
+ challenge-chip: { type: badge, bg: "#249eb3", fg: "#ffffff", radius: "4px", padding: "6px 12px", font: "12px / 600", use: "챌린지형 강의 course-type chip" }
67
+ components_harvested: true
68
+ ---
69
+
70
+ # Design System Inspiration of Team Sparta
71
+
72
+ ## 1. Visual Theme & Atmosphere
73
+
74
+ Team Sparta (팀스파르타), the operator of 스파르타코딩클럽 (Spartacodingclub), runs Korea's most recognizable coding-education brand, and its site reads like a high-energy motivational campaign rather than a quiet courseware catalog. The canvas is pure white (`#ffffff`) broken up by big, saturated, full-bleed color blocks — a signature electric red (`#fa0030`), a deep red (`#d90b32`), a teal-dark (`#0b495c`), and a vivid purple (`#8723ba`) — each carrying a course category as an oversized card. Headlines sit in a near-black ink (`#0c0e13`), never pure black on body copy, keeping the page grounded and readable between the loud color bands. The overall impression is bootcamp adrenaline made tasteful: bold, confident, and unafraid of color, but disciplined by a clean grid and a single dominant accent.
75
+
76
+ The typographic personality is Korean-product-modern: every headline runs in **Pretendard Bold (weight 700)** — 40px on the numbered step displays, 32px on section titles, 28px on feature heads — with **Gmarket Sans** appearing as an occasional display accent. Body and UI text stay in **Pretendard** at weight 400, the de-facto Korean product font optimized for dense hangul legibility. The signature red is reserved for high-intent moments: the full-bleed conversion band ("지금 스파르타클럽에서 잠재력을 깨우세요"), the numbered "1 / 2 / 3" step markers, and the small red eyebrow labels ("Total Career Solution") — so the eye is trained to read `#fa0030` as "this is where the momentum is."
77
+
78
+ What distinguishes Team Sparta from typical ed-tech is its confidence with flat, shadowless depth. Live inspection found `box-shadow: none` across the hero, nav, headings, catalog cards, and tags — separation comes from bold background color and thin `#e0e1e5` hairlines, not elevation. Interactive chrome is compact and pragmatic: 4px-6px radii on buttons and chips, 8px-12px on cards, 16px on the big hero course cards, and occasional 99px pills. Category tags form a pastel-on-saturated system — a light green tint (`#f0ffeb`) with green label (`#66d417`), a light orange tint (`#ffeac7`) with orange label (`#ff7300`) — that keeps a dense catalog scannable without shouting.
79
+
80
+ **Key Characteristics:**
81
+ - Pretendard Bold (weight 700) for every headline; Gmarket Sans as an occasional display accent
82
+ - Pretendard weight 400 for body and dense UI text — hangul-optimized
83
+ - Signature electric red (`#fa0030`) reserved for the conversion band, numbered steps, and eyebrow labels
84
+ - Near-black ink (`#0c0e13`) for headings instead of pure black
85
+ - Full-bleed saturated color blocks — deep red (`#d90b32`), teal-dark (`#0b495c`), purple (`#8723ba`), teal (`#249eb3`), light cyan (`#93e6f5`)
86
+ - Flat, shadowless system — `#e0e1e5` hairlines and color blocks do the separating
87
+ - Pastel-on-saturated category tags — green (`#f0ffeb` / `#66d417`), orange (`#ffeac7` / `#ff7300`)
88
+ - Compact geometry — 4px-6px buttons, 8px-12px cards, 16px hero cards, 99px pills
89
+
90
+ ## 2. Color Palette & Roles
91
+
92
+ ### Primary
93
+ - **Sparta Red** (`#fa0030`): The signature brand color and single "action" red. Used on the full-bleed conversion band, the numbered step accents, the red eyebrow labels, and the primary enrollment CTA.
94
+ - **Deep Red** (`#d90b32`): A darker, richer red used as a full hero course-card background — the "취업 캠프" block.
95
+ - **Coral** (`#ff4660`): A lighter, softer red for secondary accents, hover tints, and highlight text.
96
+ - **Red Alt** (`#e8354e`): An intermediate red seen in accent text and gradient transitions between the reds.
97
+
98
+ ### Ink & Neutral
99
+ - **Ink** (`#0c0e13`): Primary heading, nav, and strong-label color — a near-black with a faint blue undertone, warmer than pure black. Also the dark ink button background.
100
+ - **Pure White** (`#ffffff`): Page background, white course cards, and text on saturated blocks.
101
+ - **Body Slate** (`#41414b`): Secondary body copy and descriptions.
102
+ - **Muted Slate** (`#858793`): Tertiary text, metadata, captions.
103
+ - **Faint Grey** (`#a4a7b0`): Lowest-emphasis labels, placeholder, disabled text.
104
+ - **Hairline** (`#e0e1e5`): Thin borders, dividers, and card outlines — the primary separation device in the shadowless system.
105
+
106
+ ### Surface
107
+ - **Surface Grey** (`#f2f6f8`): Cool-grey tinted surface for summary/info cards.
108
+ - **Surface Cyan** (`#ecf8fc`): A very light cyan tint for alternating section bands and soft feature blocks.
109
+
110
+ ### Category Color Blocks
111
+ - **Teal-Dark** (`#0b495c`): Full course-card background ("AI 입문") and the enterprise-education CTA button.
112
+ - **Teal** (`#249eb3`): Course-type chip background ("챌린지형 강의").
113
+ - **Purple** (`#8723ba`): Full course-card background ("직장인 스킬업").
114
+ - **Light Cyan** (`#93e6f5`): Decorative heading color on dark bands ("도전하는 누구나...").
115
+
116
+ ### Category Tags
117
+ - **Tag Green** (`#66d417`) on **Green Tint** (`#f0ffeb`): "국비지원" (gov-funded) tag.
118
+ - **Tag Orange** (`#ff7300`) on **Orange Tint** (`#ffeac7`): "NEW" tag.
119
+ - **On-Primary** (`#ffffff`): Label color on red / saturated backgrounds.
120
+
121
+ ## 3. Typography Rules
122
+
123
+ ### Font Family
124
+ - **Display**: `Pretendard Bold` (weight 700) — carries every headline, from the 40px numbered steps down to the 18px lead copy.
125
+ - **Body**: `Pretendard` (weight 400) — the document default for body copy and dense UI text.
126
+ - **Accent**: `Gmarket Sans` — an occasional display accent font (G마켓 산스) used on select promotional headings.
127
+
128
+ ### Hierarchy
129
+
130
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
131
+ |------|------|------|--------|-------------|----------------|-------|
132
+ | Step Display | Pretendard Bold | 40px (2.50rem) | 700 | 1.30 (52px) | normal | Numbered "1 / 2 / 3" step markers, in red `#fa0030` |
133
+ | Section Heading | Pretendard Bold | 32px (2.00rem) | 700 | 1.375 (44px) | normal | Hero / section H1 |
134
+ | Sub-section | Pretendard Bold | 28px (1.75rem) | 700 | 1.36 (38px) | normal | Feature section heads |
135
+ | Title | Pretendard Bold | 22px (1.38rem) | 700 | 1.45 (32px) | normal | Card / decorative titles |
136
+ | Lead | Pretendard Bold | 18px (1.13rem) | 700 | 1.44 (26px) | normal | Lead / sub-head copy |
137
+ | Eyebrow | Pretendard Bold | 15px (0.94rem) | 700 | 1.47 (22px) | -0.2px | Small red eyebrow labels |
138
+ | Body | Pretendard | 16px (1.00rem) | 400 | 1.50 | normal | Standard reading text |
139
+ | Caption | Pretendard | 12px (0.75rem) | 500 | 1.40 | normal | Tags, nav, metadata |
140
+
141
+ ### Principles
142
+ - **Bold everywhere it persuades**: display, section, and lead text all run at Pretendard Bold 700 — the weight itself is the hierarchy signal.
143
+ - **Ink for reading, red for action**: headings and body sit in ink `#0c0e13`; the red `#fa0030` is spent only on numbers, eyebrows, and CTAs.
144
+ - **Hangul-first sizing**: body sits at a comfortable 16px with 1.5 line-height for dense Korean curriculum copy.
145
+ - **One display voice**: Pretendard Bold owns headlines; Gmarket Sans is a rare accent, never the workhorse.
146
+
147
+ ## 4. Component Stylings
148
+
149
+ ### Buttons
150
+
151
+ **Primary Enrollment CTA**
152
+ - Background: `#fa0030`
153
+ - Text: `#ffffff`
154
+ - Radius: 8px
155
+ - Padding: 10px 16px
156
+ - Height: 42px
157
+ - Font: 16px Pretendard Bold weight 700
158
+ - Use: Primary enrollment action ("무료 수강신청") and the full-bleed red conversion band CTA
159
+
160
+ **Enterprise CTA (Teal-Dark)**
161
+ - Background: `#0b495c`
162
+ - Text: `#ffffff`
163
+ - Radius: 6px
164
+ - Padding: 10px 12px
165
+ - Height: 40px
166
+ - Font: 16px Pretendard Bold weight 700
167
+ - Use: "기업교육 알아보기" secondary call-to-action
168
+
169
+ **Dark Ink Button**
170
+ - Background: `#0c0e13`
171
+ - Text: `#ffffff`
172
+ - Radius: 6px
173
+ - Padding: 8px 12px
174
+ - Height: 36px
175
+ - Font: 14px Pretendard weight 600
176
+ - Use: "후기 자세히 보기" low-emphasis dark button
177
+
178
+ **Login Chip**
179
+ - Background: `#ffffff`
180
+ - Text: `#0c0e13`
181
+ - Border: 1px solid `#e0e1e5`
182
+ - Radius: 4px
183
+ - Padding: 8px 11px
184
+ - Height: 36px
185
+ - Font: 14px Pretendard weight 500
186
+ - Use: Header login chip
187
+
188
+ ### Cards & Containers
189
+
190
+ **Course Card (White)**
191
+ - Background: `#ffffff`
192
+ - Text: `#0c0e13`
193
+ - Radius: 8px
194
+ - Padding: 24px
195
+ - Use: Course catalog card on white canvas — no shadow
196
+
197
+ **Summary Card (Tinted)**
198
+ - Background: `#f2f6f8`
199
+ - Text: `#0c0e13`
200
+ - Radius: 12px
201
+ - Padding: 16px
202
+ - Use: Info / summary card sitting on the cool-grey surface
203
+
204
+ ### Badges
205
+
206
+ **Category Tag — Gov-Funded**
207
+ - Background: `#f0ffeb`
208
+ - Text: `#66d417`
209
+ - Radius: 4px
210
+ - Padding: 0px 4px
211
+ - Font: 12px Pretendard weight 500
212
+ - Use: "국비지원" (gov-funded) course tag
213
+
214
+ **Category Tag — New**
215
+ - Background: `#ffeac7`
216
+ - Text: `#ff7300`
217
+ - Radius: 4px
218
+ - Padding: 0px 4px
219
+ - Font: 12px Pretendard weight 500
220
+ - Use: "NEW" course tag
221
+
222
+ **Course-Type Chip (Teal)**
223
+ - Background: `#249eb3`
224
+ - Text: `#ffffff`
225
+ - Radius: 4px
226
+ - Padding: 6px 12px
227
+ - Font: 12px Pretendard weight 600
228
+ - Use: "챌린지형 강의" course-type chip
229
+
230
+ ### Navigation
231
+ - Background: `#ffffff`
232
+ - Text: `#0c0e13`
233
+ - Font: 16px Pretendard weight 600
234
+ - Active: red `#fa0030` text on active item
235
+ - Use: Top horizontal nav ("전체 강의", "재직자 캠프", "커뮤니티", "수강후기", "이벤트")
236
+
237
+ ---
238
+
239
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect)
240
+ **Tier 1 sources:** https://spartacodingclub.kr/ ; https://spartaclub.kr/catalog/scc ; https://blog.career.spartaclub.kr/designer
241
+ **Tier 2 sources:** getdesign.md/teamsparta — 404 (also getdesign.md/spartacodingclub — 404); styles.refero.design/?q=team+sparta — not listed (only unrelated fuzzy matches)
242
+ **Conflicts unresolved:** none
243
+
244
+ ## 5. Layout Principles
245
+
246
+ ### Spacing System
247
+ - Base unit: 4px
248
+ - Scale: 4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px
249
+ - Notable: Hero course cards use a generous 32px 32px 48px padding; catalog cards use 24px; summary cards 16px
250
+
251
+ ### Grid & Container
252
+ - Full-bleed saturated color bands stack vertically, each carrying a course category as an oversized 16px-radius card
253
+ - Course catalog uses a multi-column grid of 8px-radius white cards (~373px wide)
254
+ - Numbered "1 / 2 / 3" step sections walk the visitor through the value proposition
255
+ - The page closes on a full-width red (`#fa0030`) conversion band with a white enrollment CTA
256
+
257
+ ### Whitespace Philosophy
258
+ - **Momentum over minimalism**: color blocks and bold headlines create energy; whitespace paces the sections rather than emptying them.
259
+ - **Flat segmentation**: sections separate by saturated background color and `#e0e1e5` hairlines, not by shadow.
260
+ - **Scannable density**: the catalog packs many course cards but stays legible via pastel category tags and consistent card geometry.
261
+
262
+ ### Border Radius Scale
263
+ - Small (4px): tags, chips, small buttons, login chip
264
+ - Medium (6px): standard buttons (enterprise CTA, dark button)
265
+ - Large (8px): white course cards, primary CTA
266
+ - XL (12px): tinted summary cards
267
+ - Hero (16px): oversized full-color course cards
268
+ - Pill (99px): occasional fully-rounded pills and media frames
269
+
270
+ ## 6. Depth & Elevation
271
+
272
+ | Level | Treatment | Use |
273
+ |-------|-----------|-----|
274
+ | Flat (Level 0) | `box-shadow: none` | Page background, headings, most surfaces |
275
+ | Color block (Level 1) | Saturated background fill (`#fa0030` / `#0b495c` / `#8723ba` / `#d90b32`) | Section / course-card separation |
276
+ | Hairline (Level 2) | `1px solid #e0e1e5` border | White card outlines, dividers |
277
+ | Inset (rare) | `rgba(255,255,255,0.12) 0px 0px 2px 0px inset` | Faint inner edge on rounded media frames |
278
+
279
+ **Shadow Philosophy**: Team Sparta is a near-shadowless system. Live inspection found `box-shadow: none` across the hero, nav, headings, catalog cards, and category tags. Depth and grouping come from bold, full-bleed color blocks and thin `#e0e1e5` hairlines — never elevation. This keeps the high-energy marketing surface feeling flat, fast, and mobile-native. When emphasis is needed the system reaches for color (the red `#fa0030` or a saturated block), not a drop shadow.
280
+
281
+ ## 7. Do's and Don'ts
282
+
283
+ ### Do
284
+ - Use Pretendard Bold (weight 700) for every headline — it's the brand's display voice
285
+ - Reserve the red `#fa0030` for high-intent moments: the conversion band, numbered steps, eyebrow labels, and the primary CTA
286
+ - Use near-black ink `#0c0e13` for headings and body instead of pure black
287
+ - Separate sections with saturated color blocks and `#e0e1e5` hairlines, not shadows
288
+ - Use full-bleed color bands (`#d90b32`, `#0b495c`, `#8723ba`) to carry course categories
289
+ - Keep the pastel-on-saturated tag system consistent — green (`#f0ffeb` / `#66d417`), orange (`#ffeac7` / `#ff7300`)
290
+ - Keep geometry compact — 4px-6px on buttons/chips, 8px-12px on cards, 16px on hero cards
291
+ - Use white (`#ffffff`) course cards on the white canvas, relying on hairlines for definition
292
+
293
+ ### Don't
294
+ - Spread the red `#fa0030` across decorative elements — it dilutes the single-action signal
295
+ - Use pure black for text — reserve near-black ink `#0c0e13`
296
+ - Add drop shadows for elevation — Team Sparta is a flat, shadowless system
297
+ - Set headlines in a light weight — display is always Pretendard Bold (700)
298
+ - Mix in a competing accent color against the red — the reds and category blocks are the palette
299
+ - Use Gmarket Sans for body text — it is a rare display accent only
300
+ - Overload a card with more than one category-tag color role at a time
301
+
302
+ ## 8. Responsive Behavior
303
+
304
+ ### Breakpoints
305
+ | Name | Width | Key Changes |
306
+ |------|-------|-------------|
307
+ | Mobile | <640px | Single column, color bands stack, hero cards full-width |
308
+ | Tablet | 640-1024px | 2-up course cards, moderate padding |
309
+ | Desktop | 1024-1440px | Full layout, multi-column catalog grid, full-bleed bands |
310
+
311
+ ### Touch Targets
312
+ - Primary CTA at 42px height, comfortable 10px 16px padding
313
+ - Enterprise CTA at 40px, dark button at 36px height
314
+ - Category tags compact (0px 4px) but grouped with generous card padding for tap comfort
315
+
316
+ ### Collapsing Strategy
317
+ - Hero color bands maintain full-bleed treatment; cards go full-width on mobile
318
+ - Catalog grid: multi-column → 2-up → single column stacked
319
+ - Numbered step sections stack vertically on narrow viewports
320
+ - The red conversion band stays full-width across all breakpoints
321
+
322
+ ### Image Behavior
323
+ - Course thumbnails and illustrations carry no shadow at any size, consistent with the flat system
324
+ - Cards maintain their radius (8px catalog, 16px hero) across breakpoints
325
+ - Media frames may use the faint inset edge and larger 30px-50px radii
326
+
327
+ ## 9. Agent Prompt Guide
328
+
329
+ ### Quick Color Reference
330
+ - Primary CTA / action: Sparta Red (`#fa0030`)
331
+ - Deep red block: (`#d90b32`)
332
+ - Coral accent: (`#ff4660`)
333
+ - Heading / body ink: Ink (`#0c0e13`)
334
+ - Background: Pure White (`#ffffff`)
335
+ - Tinted surface: Surface Grey (`#f2f6f8`), Surface Cyan (`#ecf8fc`)
336
+ - Teal-dark block / enterprise CTA: (`#0b495c`)
337
+ - Teal chip: (`#249eb3`)
338
+ - Purple block: (`#8723ba`)
339
+ - Light cyan decorative: (`#93e6f5`)
340
+ - Body text: Slate (`#41414b`), muted (`#858793`), faint (`#a4a7b0`)
341
+ - Hairline: (`#e0e1e5`)
342
+ - Tags: green (`#66d417` on `#f0ffeb`), orange (`#ff7300` on `#ffeac7`)
343
+
344
+ ### Example Component Prompts
345
+ - "Create a hero on white background with Pretendard Bold. Section H1 at 32px weight 700, line-height 44px, color #0c0e13. Below it, oversized 16px-radius course cards with full color backgrounds (#d90b32, #0b495c, #8723ba), white heading text, 32px 32px 48px padding."
346
+ - "Build a red conversion band: full-width #fa0030 background, 80px top / 40px bottom padding, white Pretendard Bold headline, and a white 8px-radius CTA button (#ffffff bg, red text, 10px 16px padding)."
347
+ - "Design a course catalog card: white #ffffff background, 8px radius, 24px padding, no shadow, 1px solid #e0e1e5 hairline. Title 22px Pretendard Bold #0c0e13, body 16px Pretendard #41414b. Add category tags: green (#f0ffeb bg, #66d417 text) and orange (#ffeac7 bg, #ff7300 text), 4px radius, 0 4px padding, 12px."
348
+ - "Create top nav: white 56px header, Pretendard 16px weight 600 links in #0c0e13, red #fa0030 on active. Enterprise CTA right-aligned: #0b495c background, white text, 6px radius."
349
+
350
+ ### Iteration Guide
351
+ 1. Pretendard Bold (700) for every headline; Pretendard 400 for body
352
+ 2. Red `#fa0030` is the single action color — spend it on CTAs, numbers, eyebrows only
353
+ 3. No shadows — separate with color blocks and `#e0e1e5` hairlines
354
+ 4. Ink `#0c0e13` for text, never pure black
355
+ 5. Compact geometry: 4px-6px buttons, 8px-12px cards, 16px hero cards
356
+ 6. Category tags are pastel-bg + saturated-label pairs; keep them consistent
357
+ 7. Full-bleed saturated bands carry course categories; the page ends on a red band
358
+
359
+ ---
360
+
361
+ ## 10. Voice & Tone
362
+
363
+ Team Sparta's voice is **energetic, encouraging, and plain-spoken** — a motivational coach that removes the intimidation from learning to build software. The brand's positioning "AI시대, 미래를 돌파하는 힘" ("the power to break through the future in the AI era") and the recurring "누구나 잠재력을 깨워 나아가도록" ("so anyone can awaken their potential and move forward") set the register: high-agency, inclusive, forward-leaning, never elitist. Copy treats the learner as someone on the verge of doing something big, not a student to be lectured.
364
+
365
+ | Context | Tone |
366
+ |---|---|
367
+ | Hero headlines | Aspirational, momentum-driven. "AI시대, 미래를 돌파하는 힘." Confident, inclusive. |
368
+ | Course / section labels | Plain and outcome-first. "AI 시대 취업 캠프", "직장인 스킬업", "누구나 쉽게". |
369
+ | CTAs | Direct, low-friction. "무료 수강신청", "기업교육 알아보기", "후기 자세히 보기". |
370
+ | Curriculum copy | Benefit-first, jargon decoded — explains what the learner will be able to do. |
371
+ | Enterprise copy | Credible and proof-led. "대한민국 대표 기업들의 AI 교육도 스파르타입니다." |
372
+
373
+ **Voice samples (verbatim from live surfaces):**
374
+ - "도전하는 누구나 잠재력을 깨울 수 있도록" — decorative section heading, on the homepage. *(verified live 2026-07-02)*
375
+ - "맞춤형 AI 교육으로 IT 커리어의 모든 성장 과정을 함께해 보세요" — hero headline. *(verified live 2026-07-02)*
376
+ - "지금 스파르타클럽에서 잠재력을 깨우세요" — red conversion-band CTA copy. *(verified live 2026-07-02)*
377
+
378
+ **Forbidden register**: fear-based "you'll fall behind" pressure, credential gatekeeping, undefined jargon left unexplained, cynical hype without a concrete outcome.
379
+
380
+ ## 11. Brand Narrative
381
+
382
+ Team Sparta (팀스파르타) was founded in **2018** and built its reputation through **스파르타코딩클럽 (Spartacodingclub)**, which set out to make coding — long treated in Korea as the domain of a technical elite — accessible to complete beginners. The brand's founding conviction is captured in its recurring mission language: "각자의 삶에 소프트웨어라는 도구를 더해 나만의 큰일을 가꾸어 나아갈 수 있도록" ("so that everyone can add software as a tool to their life and grow their own big thing"). The Sparta name — evoking rigorous, high-intensity training — is the promise: an environment engineered to get ordinary people across the finish line, "온라인 강의를 끝까지 완주하는 경험" (the experience of actually completing an online course).
383
+
384
+ The product matured from beginner coding classes into a full "Total Career Solution" — bootcamps (내일배움캠프 / 항해), professional up-skilling (직장인 스킬업), AI-era job camps, 1:1 mentoring and career coaching, and corporate training for Korea's largest companies. The design surface mirrors this breadth: many course categories, each carried by its own saturated full-bleed color block, unified by a single red action color and a flat, fast, mobile-native aesthetic.
385
+
386
+ What Team Sparta refuses, visible in its design and copy: the dry, intimidating chrome of institutional e-learning, and the passive lecture-hall framing of "study." What it embraces: bootcamp energy made tasteful — bold Pretendard headlines, loud but disciplined color, and copy that insists "누구나" (anyone) can break through. Internally the design team frames itself as **"디자인팀은 사용자 대변인이다" (the design team is the user's advocate)**, guided by the company value **"빠우성"** — 빠름 (speed), 와우 (wow), 진정성 (authenticity) — with a stated emphasis on authenticity.
387
+
388
+ ## 12. Principles
389
+
390
+ 1. **Anyone can break through.** The brand exists to make software skills accessible to non-experts. *UI implication:* keep entry copy plain and outcome-first; never gate the value proposition behind jargon or credentials.
391
+ 2. **One action, one red.** The red `#fa0030` means "start here." *UI implication:* reserve the saturated red for CTAs, numbered steps, and eyebrows so the next move is never ambiguous.
392
+ 3. **Momentum by color, not clutter.** Energy comes from bold full-bleed blocks, not decoration. *UI implication:* use saturated bands (`#0b495c`, `#8723ba`, `#d90b32`) to segment and motivate; stay shadow-free.
393
+ 4. **Bold where it persuades.** *UI implication:* Pretendard Bold 700 on every headline; the weight itself carries the drive.
394
+ 5. **Speed, wow, authenticity (빠우성).** The company value made visible. *UI implication:* pages load fast and flat, moments of delight are earned, and claims are backed by real proof ("누적 수강생 1위", enterprise logos), not empty superlatives.
395
+ 6. **The design team is the user's advocate.** *UI implication:* dense catalogs stay scannable (pastel category tags, consistent card geometry) so the learner — not the funnel — is served first.
396
+
397
+ ## 13. Personas
398
+
399
+ *Personas below are fictional archetypes informed by publicly observable Team Sparta / Spartacodingclub user segments (career-changers, working professionals up-skilling, gov-funded bootcamp students, enterprise L&D buyers), not individual people.*
400
+
401
+ **김도현, 27, 서울.** A non-CS graduate preparing for a career change into tech. Enrolled in an AI 취업 캠프 after browsing the 국비지원 (gov-funded) options. Values that the curriculum is outcome-first and the copy never assumes prior coding knowledge. Chose Sparta because it felt like it would push him to actually finish.
402
+
403
+ **이서연, 34, 판교.** A marketer up-skilling with 직장인 스킬업 to add AI tools to her workflow after hours. Appreciates the plain "퇴근 후" framing and the bold, motivating headlines that make studying feel like momentum rather than homework.
404
+
405
+ **박준호, 41, 기업 인사팀.** An L&D manager evaluating "기업교육" for his company's employees. Trusts the brand because it leads with proof — "대한민국 대표 기업들의 AI 교육도 스파르타입니다" — and a credible Total Career Solution rather than vague promises.
406
+
407
+ ## 14. States
408
+
409
+ | State | Treatment |
410
+ |---|---|
411
+ | **Empty (no course results)** | White canvas. Single Ink (`#0c0e13`) line at body size explaining no matching courses, with one red (`#fa0030`) CTA to adjust filters. No illustration clutter. |
412
+ | **Empty (saved list, none yet)** | Muted Slate (`#858793`) single line: nothing saved yet, plus a path back to the catalog. Calm and honest. |
413
+ | **Loading (catalog fetch)** | Skeleton course cards on white at final 8px-radius dimensions. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
414
+ | **Loading (in-place filter)** | Previous cards stay visible; a subtle red (`#fa0030`) progress indicator signals the refresh. |
415
+ | **Error (fetch failed)** | Inline message in Ink with a plain-language explanation and a retry. No bare "오류가 발생했습니다" — states what to do next. |
416
+ | **Error (form validation)** | Field-level message below the input in a warm error tone (coral `#ff4660`); describes what's valid, not just "필수". |
417
+ | **Success (enrollment complete)** | Brief inline confirmation in an encouraging tone; next-step (수강 시작) linked immediately below. No gratuitous emoji. |
418
+ | **Skeleton** | Surface-grey (`#f2f6f8`) blocks at final dimensions, matching card radius, flat pulse. |
419
+ | **Disabled** | Faint Grey (`#a4a7b0`) text on reduced-opacity surface; the red CTA fades rather than turning grey, to preserve the brand read. |
420
+
421
+ ## 15. Motion & Easing
422
+
423
+ **Durations**:
424
+
425
+ | Token | Value | Use |
426
+ |---|---|---|
427
+ | `motion-fast` | 120ms | Hover, chip press, focus |
428
+ | `motion-standard` | 220ms | Card / section reveal, sheet, dropdown |
429
+ | `motion-slow` | 340ms | Page-level transitions, hero band reveal |
430
+
431
+ **Easings**:
432
+
433
+ | Token | Curve | Use |
434
+ |---|---|---|
435
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, chips, sections |
436
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
437
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
438
+
439
+ **Motion rules**: Motion is energetic but controlled — consistent with the bold, flat aesthetic. Course cards and color bands fade-in from below at `motion-standard / ease-enter` as the visitor scrolls; the red CTA responds to press with a subtle scale/opacity shift. Numbered step sections may reveal sequentially to reinforce the "1 → 2 → 3" progression. No excessive bounce or spring — the energy comes from color and copy, not novelty motion. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and scroll reveals become immediate; the site stays fully functional.
440
+
441
+ <!--
442
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
443
+
444
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on
445
+ https://spartacodingclub.kr/ (301 → spartaclub.kr) and https://spartaclub.kr/catalog/scc:
446
+ - Signature red #fa0030 (rgb 250,0,48) — full-bleed conversion band, numbered "1/2/3" steps, "Total Career Solution" eyebrow
447
+ - Ink #0c0e13 (rgb 12,14,19) headings; Pretendard Bold 700 across all headlines; Gmarket Sans accent
448
+ - Hero course-card backgrounds: deep red #d90b32, teal-dark #0b495c, purple #8723ba; 16px radius
449
+ - box-shadow: none across hero/nav/headings/cards (flat system); #e0e1e5 hairlines
450
+ - Category tags: green #66d417 on #f0ffeb, orange #ff7300 on #ffeac7; 4px radius
451
+ - Live voice samples: "도전하는 누구나 잠재력을 깨울 수 있도록", "맞춤형 AI 교육으로 IT 커리어의 모든 성장 과정을 함께해 보세요", "지금 스파르타클럽에서 잠재력을 깨우세요"
452
+ - document.title: "스파르타클럽 | AI시대, 미래를 돌파하는 힘"
453
+
454
+ Brand values / philosophy (§10-12) sourced from Team Sparta's official design-team blog
455
+ https://blog.career.spartaclub.kr/designer:
456
+ - Company value "빠우성" = 빠름 (speed) / 와우 (wow) / 진정성 (authenticity), emphasis on authenticity
457
+ - Design-team self-identity "디자인팀은 사용자 대변인이다" (the design team is the user's advocate)
458
+ - Mission framing "각자의 삶에 소프트웨어라는 도구를 더해 나만의 큰일을 가꾸어 나아갈 수 있도록"
459
+ and "누구나 잠재력을 깨워 나아가도록" (from spartaclub.kr homepage copy)
460
+
461
+ Founding year (2018) and product breadth (Spartacodingclub, 내일배움캠프/항해 bootcamps, 직장인 스킬업,
462
+ 기업교육) are widely documented public facts about Team Sparta; not directly quoted from a single
463
+ verified statement in this turn.
464
+
465
+ Personas (§13) are fictional archetypes informed by publicly observable Team Sparta user segments
466
+ (career-changers, working professionals, gov-funded bootcamp students, enterprise L&D). Names are
467
+ illustrative; they do not refer to real people.
468
+
469
+ Interpretive claims (e.g., "one action, one red", "momentum by color, not clutter", "bootcamp energy
470
+ made tasteful") are editorial readings connecting Team Sparta's observed design to its positioning,
471
+ not directly sourced statements.
472
+ -->