careermate 0.0.4 → 0.0.5

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.
@@ -28,28 +28,32 @@
28
28
  }
29
29
 
30
30
  :root {
31
- /* warm paper neutrals (light) */
32
- --bg: #faf8f4;
31
+ /* quiet green-neutral system (light) */
32
+ --bg: #f7f8f5;
33
33
  --bg-elev: #ffffff;
34
- --bg-subtle: #f2efe8;
35
- --bg-sunken: #ece8df;
34
+ --bg-subtle: #eef3ed;
35
+ --bg-sunken: #e8ede8;
36
36
  --surface: #ffffff;
37
- --surface-hover: #f5f2ec;
38
- --border: #e6e1d6;
39
- --border-strong: #d6d0c2;
40
- --text: #1c1a16;
41
- --text-secondary: #595449;
42
- --text-tertiary: #8b867a;
43
-
44
- /* single flat accent — deep emerald (growth / "proceed"), no gradient */
37
+ --surface-hover: #f1f5f0;
38
+ --border: #dfe5dc;
39
+ --border-strong: #cbd5ca;
40
+ --text: #171a16;
41
+ --text-secondary: #50584f;
42
+ --text-tertiary: #7d877b;
43
+
44
+ /* signature accent — deep emerald, kept from the existing product */
45
45
  --accent: #0f7256;
46
46
  --accent-hover: #0b5b44;
47
47
  --accent-soft: #e7f1ec;
48
48
  --accent-border: #bcdccd;
49
49
  --text-on-accent: #ffffff;
50
+ --support-blue: #2f6fed;
51
+ --support-blue-soft: #edf4ff;
52
+ --support-amber: #b46917;
53
+ --support-amber-soft: #fff5e7;
50
54
 
51
- --code-bg: #f4f1ea;
52
- --code-text: #2a2722;
55
+ --code-bg: #f2f5ef;
56
+ --code-text: #20261f;
53
57
  --warn-bg: #fbf3e3;
54
58
  --warn-border: #ecd9ac;
55
59
  --warn-text: #876214;
@@ -74,23 +78,27 @@
74
78
 
75
79
  @media (prefers-color-scheme: dark) {
76
80
  :root:not([data-theme='light']) {
77
- --bg: #14130f; --bg-elev: #1b1915; --bg-subtle: #201d17; --bg-sunken: #100f0b;
78
- --surface: #1b1915; --surface-hover: #262219;
79
- --border: #2e2a22; --border-strong: #3e3930;
80
- --text: #f2eee5; --text-secondary: #aaa599; --text-tertiary: #79746a;
81
+ --bg: #111513; --bg-elev: #171c19; --bg-subtle: #1d241f; --bg-sunken: #0c100e;
82
+ --surface: #171c19; --surface-hover: #202822;
83
+ --border: #2a332e; --border-strong: #3a463f;
84
+ --text: #eef4ed; --text-secondary: #aab5a9; --text-tertiary: #788579;
81
85
  --accent: #34d399; --accent-hover: #6ee7b7; --accent-soft: #11281d; --accent-border: #1f4f3c; --text-on-accent: #05241a;
82
- --code-bg: #100f0b; --code-text: #d6d1c6;
86
+ --support-blue: #75a7ff; --support-blue-soft: #10213a;
87
+ --support-amber: #f0b76a; --support-amber-soft: #33230e;
88
+ --code-bg: #0c100e; --code-text: #d9e3d7;
83
89
  --warn-bg: #292008; --warn-border: #574510; --warn-text: #e6c578;
84
90
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow-md: 0 4px 14px rgba(0,0,0,.45);
85
91
  }
86
92
  }
87
93
  :root[data-theme='dark'] {
88
- --bg: #14130f; --bg-elev: #1b1915; --bg-subtle: #201d17; --bg-sunken: #100f0b;
89
- --surface: #1b1915; --surface-hover: #262219;
90
- --border: #2e2a22; --border-strong: #3e3930;
91
- --text: #f2eee5; --text-secondary: #aaa599; --text-tertiary: #79746a;
94
+ --bg: #111513; --bg-elev: #171c19; --bg-subtle: #1d241f; --bg-sunken: #0c100e;
95
+ --surface: #171c19; --surface-hover: #202822;
96
+ --border: #2a332e; --border-strong: #3a463f;
97
+ --text: #eef4ed; --text-secondary: #aab5a9; --text-tertiary: #788579;
92
98
  --accent: #34d399; --accent-hover: #6ee7b7; --accent-soft: #11281d; --accent-border: #1f4f3c;
93
- --code-bg: #100f0b; --code-text: #d6d1c6;
99
+ --support-blue: #75a7ff; --support-blue-soft: #10213a;
100
+ --support-amber: #f0b76a; --support-amber-soft: #33230e;
101
+ --code-bg: #0c100e; --code-text: #d9e3d7;
94
102
  --warn-bg: #292008; --warn-border: #574510; --warn-text: #e6c578;
95
103
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow-md: 0 4px 14px rgba(0,0,0,.45);
96
104
  }
@@ -102,7 +110,7 @@ body {
102
110
  font-family: var(--font); font-size: 16px; line-height: 1.65;
103
111
  word-break: keep-all; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
104
112
  }
105
- h1, h2, h3, h4 { margin: 0; font-weight: 650; letter-spacing: -0.01em; line-height: 1.25; }
113
+ h1, h2, h3, h4 { margin: 0; font-weight: 650; letter-spacing: 0; line-height: 1.25; }
106
114
  p { margin: 0; }
107
115
  a { color: var(--accent); text-decoration: none; }
108
116
  a:hover { text-decoration: underline; }
@@ -142,7 +150,7 @@ code { font-family: var(--mono); }
142
150
  background: var(--accent); color: var(--text-on-accent); font-weight: 800; font-size: 13px;
143
151
  display: grid; place-items: center;
144
152
  }
145
- .nav__name { font-size: 15.5px; font-family: var(--mono); letter-spacing: -0.02em; }
153
+ .nav__name { font-size: 15.5px; font-family: var(--mono); letter-spacing: 0; }
146
154
  .nav__links { display: flex; gap: 2px; margin-left: 12px; }
147
155
  .nav__links a {
148
156
  color: var(--text-secondary); font-size: 14px; font-weight: 500;
@@ -196,8 +204,8 @@ code { font-family: var(--mono); }
196
204
  demo (the signature element) on the right. Left-aligned, not centered.
197
205
  Stacks to one column on narrow screens. */
198
206
  .hero {
199
- max-width: var(--maxw); margin: 0 auto; padding: 72px 24px 8px;
200
- display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 52px; align-items: start;
207
+ max-width: var(--maxw); margin: 0 auto; padding: 76px 24px 8px;
208
+ display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 56px; align-items: start;
201
209
  }
202
210
  .hero__main { min-width: 0; }
203
211
  /* solo variant (start.html): no demo column — one left-aligned column */
@@ -217,10 +225,10 @@ code { font-family: var(--mono); }
217
225
  }
218
226
  .pill-badge__dot { width: 6px; height: 6px; border-radius: 999px; background: var(--accent); }
219
227
  /* heavy display weight + tight tracking — strong contrast against the 400 lede */
220
- .hero__title { font-size: clamp(2.15rem, 4.6vw, 3.1rem); font-weight: 800; margin: 20px 0 0; letter-spacing: -0.035em; line-height: 1.1; }
228
+ .hero__title { font-size: 3.05rem; font-weight: 800; margin: 20px 0 0; letter-spacing: 0; line-height: 1.12; }
221
229
  .hero__lede {
222
- font-size: clamp(1.02rem, 1.7vw, 1.18rem); color: var(--text-secondary);
223
- margin: 18px 0 0; max-width: 34rem; line-height: 1.6;
230
+ font-size: 1.11rem; color: var(--text-secondary);
231
+ margin: 18px 0 0; max-width: 33rem; line-height: 1.62;
224
232
  }
225
233
  .hero__lede strong { color: var(--text); font-weight: 650; }
226
234
 
@@ -248,39 +256,95 @@ code { font-family: var(--mono); }
248
256
  .hero__note strong { color: var(--text-secondary); font-weight: 600; }
249
257
  .hero__note code { font-family: var(--mono); font-size: .92em; background: var(--bg-sunken); padding: 1px 5px; border-radius: 4px; color: var(--text-secondary); }
250
258
 
251
- /* signature — the "내 AI에게 한 문장" install demo (the one bold idea on the page).
252
- nudged down so its top sits around the headline, not the small pill kicker. */
253
- .hero__demo { min-width: 0; margin-top: 40px; }
259
+ /* signature — one stable card that shows what people can ask their AI to do. */
260
+ .hero__demo { min-width: 0; margin-top: 18px; }
254
261
  .hero__demo-note { margin: 12px 2px 0; font-size: 12.5px; line-height: 1.55; color: var(--text-tertiary); }
255
- .chat {
262
+ .command-card {
256
263
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
257
- box-shadow: var(--shadow-md); overflow: hidden;
264
+ box-shadow: var(--shadow-md); overflow: hidden; min-height: 392px;
258
265
  }
259
- .chat__head {
260
- display: flex; align-items: center; gap: 8px; padding: 10px 15px;
266
+ .command-card__head {
267
+ display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 15px;
261
268
  font-family: var(--mono); font-size: 12px; color: var(--text-tertiary);
262
269
  background: var(--bg-subtle); border-bottom: 1px solid var(--border);
263
270
  }
264
- .chat__dot { width: 8px; height: 8px; border-radius: 999px; background: var(--accent); flex: none; }
265
- .chat__msg { padding: 15px 16px; }
266
- .chat__msg + .chat__msg { border-top: 1px solid var(--border); }
267
- .chat__who { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 7px; }
268
- .chat__msg--me p {
269
- font-family: var(--mono); font-size: 12.5px; line-height: 1.6; color: var(--code-text);
270
- background: var(--code-bg); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 11px 13px;
271
+ .command-card__dots { display: inline-flex; gap: 6px; flex: none; }
272
+ .command-card__dots i { width: 9px; height: 9px; border-radius: 999px; background: var(--border-strong); }
273
+ .command-card__title { color: var(--text-secondary); }
274
+ .command-card__status {
275
+ margin-left: auto; color: var(--accent); background: var(--accent-soft); border: 1px solid var(--accent-border);
276
+ border-radius: 999px; padding: 2px 9px; font-family: var(--font); font-size: 11.5px; font-weight: 650;
277
+ }
278
+ .command-card__file {
279
+ display: flex; align-items: center; gap: 10px; margin: 18px 18px 0; padding: 11px 13px;
280
+ border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-elev);
281
+ }
282
+ .command-card__file svg { width: 20px; height: 20px; flex: none; color: var(--support-amber); }
283
+ .command-card__file span {
284
+ min-width: 0; flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
285
+ font-family: var(--mono); font-size: 12.5px; color: var(--text);
286
+ }
287
+ .command-card__file strong {
288
+ flex: none; color: var(--support-amber); background: var(--support-amber-soft);
289
+ border-radius: 999px; padding: 2px 8px; font-size: 11.5px; font-weight: 650;
290
+ }
291
+ .command-card__body { display: grid; gap: 12px; padding: 18px; }
292
+ .command-card__bubble {
293
+ border-radius: var(--radius); border: 1px solid var(--border); padding: 13px 14px;
294
+ min-height: 94px; transition: opacity .24s ease, transform .24s ease;
295
+ }
296
+ .command-card__bubble span {
297
+ display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; color: var(--text-tertiary);
298
+ }
299
+ .command-card__bubble p { font-size: 14px; line-height: 1.58; color: var(--text-secondary); }
300
+ .command-card__bubble--user {
301
+ background: var(--code-bg);
302
+ }
303
+ .command-card__bubble--user p {
304
+ color: var(--code-text); font-family: var(--mono); font-size: 12.7px;
305
+ }
306
+ .command-card__bubble--ai {
307
+ margin-left: 28px; background: var(--surface);
308
+ }
309
+ .command-card__bubble--ai span { color: var(--accent); }
310
+ .command-card__steps {
311
+ list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
312
+ margin: 0 18px 14px; padding: 0;
313
+ }
314
+ .command-card__steps li { min-width: 0; }
315
+ .command-card__steps button {
316
+ width: 100%; height: 28px; display: grid; place-items: center; border: 1px solid var(--border);
317
+ border-radius: 999px; color: var(--text-tertiary); font-family: inherit; font-size: 11.5px; font-weight: 650;
318
+ background: var(--bg-elev); cursor: pointer; transition: background .14s ease, border-color .14s ease, color .14s ease;
319
+ }
320
+ .command-card__steps button:hover {
321
+ border-color: var(--accent-border); color: var(--accent); background: var(--accent-soft);
271
322
  }
272
- .chat__msg--ai p { color: var(--text-secondary); font-size: 14px; }
273
- .chat__steps { list-style: none; margin: 11px 0 0; padding: 0; display: grid; gap: 6px; }
274
- .chat__steps li { display: flex; gap: 8px; font-size: 12.5px; color: var(--text-secondary); }
275
- .chat__steps li::before { content: "✓"; color: var(--accent); font-weight: 700; flex: none; }
276
- .chat__steps code { font-family: var(--mono); font-size: .92em; background: var(--bg-sunken); padding: 1px 5px; border-radius: 4px; color: var(--text); }
323
+ .command-card__steps button:focus-visible {
324
+ outline: 2px solid var(--accent); outline-offset: 2px;
325
+ }
326
+ .command-card__steps button.is-active {
327
+ color: var(--text-on-accent); background: var(--accent); border-color: var(--accent);
328
+ }
329
+ .command-card__progress {
330
+ height: 3px; background: var(--bg-subtle); overflow: hidden;
331
+ }
332
+ .command-card__progress span {
333
+ display: block; height: 100%; width: 100%; background: var(--accent);
334
+ transform-origin: left; animation: commandProgress 4.5s linear infinite;
335
+ }
336
+ .command-demo.is-changing .command-card__bubble,
337
+ .command-demo.is-changing .command-card__file {
338
+ opacity: .28; transform: translateY(3px);
339
+ }
340
+ @keyframes commandProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
277
341
 
278
342
  /* ----------------------------------------------------------------- sections */
279
- .section { max-width: var(--maxw); margin: 0 auto; padding: 112px 24px 0; scroll-margin-top: 80px; }
343
+ .section { max-width: var(--maxw); margin: 0 auto; padding: 136px 24px 0; scroll-margin-top: 80px; }
280
344
  /* left-aligned section heads (centered heads + uppercase eyebrows read as a template) */
281
- .section__head { max-width: 50rem; margin: 0 0 36px; }
282
- .section__head h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); font-weight: 750; letter-spacing: -0.02em; }
283
- .section__head p { margin-top: 12px; color: var(--text-secondary); font-size: 1.02rem; max-width: 42rem; }
345
+ .section__head { max-width: 50rem; margin: 0 0 44px; }
346
+ .section__head h2 { font-size: 2rem; font-weight: 750; letter-spacing: 0; }
347
+ .section__head p { margin-top: 14px; color: var(--text-secondary); font-size: 1.02rem; max-width: 42rem; }
284
348
  .section__cta { margin-top: 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
285
349
  .section__cta-note { font-size: 13px; color: var(--text-tertiary, var(--text-secondary)); }
286
350
  /* Centered head for showcase/guide sections whose body is itself centered (the big
@@ -292,17 +356,17 @@ code { font-family: var(--mono); }
292
356
 
293
357
  /* how-it-works — a quiet numbered sequence, not an icon-card grid */
294
358
  .cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
295
- .feature { padding-top: 16px; border-top: 1px solid var(--border-strong); }
359
+ .feature { padding-top: 22px; border-top: 1px solid var(--border-strong); }
296
360
  .feature__no { display: block; font-family: var(--mono); font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--accent); }
297
- .feature h3 { font-size: 16px; margin: 12px 0 6px; }
298
- .feature p { color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
361
+ .feature h3 { font-size: 16px; margin: 14px 0 8px; }
362
+ .feature p { color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
299
363
  .feature code { font-family: var(--mono); font-size: .85em; background: var(--bg-sunken); padding: 1px 5px; border-radius: 4px; }
300
364
 
301
365
  /* capability list — hairline rows, not boxes ("use fewer borders") */
302
366
  .checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; max-width: 880px; margin: 0; }
303
367
  .check {
304
368
  display: flex; gap: 12px; align-items: flex-start;
305
- padding: 16px 0; border-bottom: 1px solid var(--border);
369
+ padding: 19px 0; border-bottom: 1px solid var(--border);
306
370
  }
307
371
  .check > svg { width: 18px; height: 18px; flex: none; color: var(--accent); margin-top: 1px; }
308
372
  .check strong { display: block; font-size: 14.5px; font-weight: 650; }
@@ -380,6 +444,37 @@ code { font-family: var(--mono); }
380
444
  }
381
445
 
382
446
  /* ----------------------------------------------------------------- install */
447
+ /* The first install view is intentionally short: three human steps, one
448
+ pasteable prompt, and one developer command. */
449
+ .quick-start {
450
+ max-width: 840px; margin: 0 auto 18px;
451
+ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
452
+ }
453
+ .quick-start__step {
454
+ background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
455
+ padding: 19px; min-height: 184px;
456
+ }
457
+ .quick-start__step span {
458
+ width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px;
459
+ background: var(--accent-soft); border: 1px solid var(--accent-border); color: var(--accent);
460
+ font-weight: 750; font-size: 13px;
461
+ }
462
+ .quick-start__step h3 { margin-top: 13px; font-size: 16px; font-weight: 720; }
463
+ .quick-start__step p { margin-top: 7px; color: var(--text-secondary); font-size: 13px; line-height: 1.55; }
464
+ .quick-start__step a {
465
+ display: inline-flex; margin-top: 10px; color: var(--accent); font-size: 13px; font-weight: 700;
466
+ }
467
+ .code--install { max-width: 840px; }
468
+ .install-footnote {
469
+ max-width: 840px; margin: 0 auto 20px; text-align: center;
470
+ color: var(--text-tertiary); font-size: 13px; line-height: 1.58;
471
+ }
472
+ .install-footnote--label {
473
+ margin-bottom: 8px; color: var(--text-secondary); font-weight: 700;
474
+ }
475
+ .code.code--install + .install-footnote--label { margin-top: 18px; }
476
+ .note--compact { margin-bottom: 22px; }
477
+
383
478
  /* install track (A: .mcpb / B: terminal) */
384
479
  .track {
385
480
  max-width: 720px; margin: 0 auto;
@@ -435,6 +530,7 @@ kbd {
435
530
  position: relative; margin: 11px 0; background: var(--code-bg);
436
531
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
437
532
  }
533
+ .code.code--install { margin: 0 auto 10px; }
438
534
  .code__label {
439
535
  display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .03em;
440
536
  color: var(--text-tertiary); padding: 9px 13px 0;
@@ -538,19 +634,29 @@ kbd {
538
634
  /* responsive */
539
635
  @media (max-width: 820px) {
540
636
  .hero { grid-template-columns: 1fr; gap: 32px; padding-top: 56px; }
541
- .hero__demo { max-width: 480px; margin-top: 0; }
637
+ .section { padding-top: 104px; }
638
+ .section__head { margin-bottom: 34px; }
639
+ .hero__title { font-size: 2.48rem; }
640
+ .section__head h2 { font-size: 1.72rem; }
641
+ .hero__demo { max-width: 520px; margin-top: 0; }
542
642
  .cards-3 { grid-template-columns: 1fr; gap: 24px; }
543
643
  .checks { grid-template-columns: 1fr; }
544
644
  .trouble { grid-template-columns: 1fr; }
545
- /* Logo-only brand on mobile frees room to keep the guided wizard ('처음이세요?')
546
- in the sticky nav without overflow; section anchors collapse, and '설치하기'
547
- stays in nav__actions so install is never lost. */
645
+ .quick-start { grid-template-columns: 1fr; max-width: 720px; }
646
+ .quick-start__step { min-height: 0; }
647
+ /* Logo-only brand on mobile keeps the sticky nav quiet and compact. */
548
648
  .nav__name { display: none; }
549
649
  .nav__links a { display: none; }
550
- .nav__links a[href="start.html"] { display: inline-flex; }
551
650
  }
552
651
  @media (max-width: 540px) {
553
652
  .hero { padding-top: 46px; }
653
+ .section { padding-top: 88px; }
654
+ .hero__title { font-size: 2.18rem; }
655
+ .hero__lede { font-size: 1rem; }
656
+ .command-card { min-height: 420px; }
657
+ .command-card__bubble { min-height: 108px; }
658
+ .command-card__bubble--ai { margin-left: 0; }
659
+ .command-card__steps { grid-template-columns: repeat(3, 1fr); }
554
660
  .privacy-card { flex-direction: column; gap: 15px; padding: 22px; }
555
661
  }
556
662
  @media (prefers-reduced-motion: reduce) {