โ† ใ‚นใ‚ญใƒซไธ€่ฆงใซๆˆปใ‚‹
window-ook

result-design

by window-ook

๐Ÿคผโ€โ™‚๏ธ ์ง€์›์ž์™€ ์ฑ„์šฉ ๊ณต๊ณ ์˜ ์ ํ•ฉ๋„๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ•์ฒด์ปค์ž…๋‹ˆ๋‹ค

โญ 0๐Ÿด 0๐Ÿ“… 2026ๅนด1ๆœˆ16ๆ—ฅ

SKILL.md


name: result-design description: ์ง€์›์ž-ํšŒ์‚ฌ ์ ํ•ฉ์„ฑ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ฏธ๋ คํ•œ HTML ํ”„๋ ˆ์  ํ…Œ์ด์…˜์œผ๋กœ ์ œ์ž‘ํ•˜๋Š” ์Šคํ‚ฌ. ๋งค์น˜์œจ, ์ ํ•ฉ/๋ถ€์ ํ•ฉ ์š”์†Œ, ๋ณด์™„ ํฌ์ธํŠธ๋ฅผ lucide ์•„์ด์ฝ˜๊ณผ Glassmorphism ์Šคํƒ€์ผ ํ‘œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„. allowed-tools: Read, Write, Edit, Glob user-invocable: true

์ ํ•ฉ์„ฑ ๋ถ„์„ ๊ฒฐ๊ณผ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์Šคํ‚ฌ

์ง€์›์ž์™€ ํšŒ์‚ฌ ๊ฐ„์˜ ์ ํ•ฉ์„ฑ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ธ์ƒ์ ์ธ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์œผ๋กœ ์ œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋ฆฌ๊ฑฐ ๋ฐ ๋…๋ฆฝ ์‹คํ–‰

์ž๋™ ํ™œ์„ฑํ™” ์กฐ๊ฑด

๋‹ค์Œ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฐ์ง€๋˜๋ฉด ์ด ์Šคํ‚ฌ์„ ์ž๋™ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค:

์ฑ„์šฉ ๊ณต๊ณ  URL ๊ฐ์ง€:

  • ๊ณต๊ณ :, ์ฑ„์šฉ ๊ณต๊ณ :, ์ฑ„์šฉ:, job:, JD: + URL
  • ์ฒซ ๋ฒˆ์งธ URL (์ˆœ์„œ์ƒ ์ฒซ ๋ฒˆ์งธ๋กœ ์ œ๊ณต๋œ URL)

ํšŒ์‚ฌ ์†Œ๊ฐœ URL/PDF ๊ฐ์ง€:

  • ํšŒ์‚ฌ ์†Œ๊ฐœ:, ์†Œ๊ฐœ:, ํšŒ์‚ฌ:, about:, ๊ธฐ์—…: + URL/PDF
  • ๋‘ ๋ฒˆ์งธ URL (์ˆœ์„œ์ƒ ๋‘ ๋ฒˆ์งธ๋กœ ์ œ๊ณต๋œ URL)

์ตœ์†Œ ์กฐ๊ฑด:

  • URL 2๊ฐœ๋งŒ ์ˆœ์„œ๋Œ€๋กœ ์ œ๊ณต๋˜์–ด๋„ ํ™œ์„ฑํ™”
    • ์˜ˆ: https://recruit.example.com/123 https://example.com/about
    • ์ฒซ ๋ฒˆ์งธ URL โ†’ ์ฑ„์šฉ ๊ณต๊ณ ๋กœ ์ธ์‹
    • ๋‘ ๋ฒˆ์งธ URL โ†’ ํšŒ์‚ฌ ์†Œ๊ฐœ๋กœ ์ธ์‹

์œ ์—ฐํ•œ ์ž…๋ ฅ ์˜ˆ์‹œ:

โœ… ๊ณต๊ณ : https://... ํšŒ์‚ฌ ์†Œ๊ฐœ: https://...
โœ… ์ฑ„์šฉ ๊ณต๊ณ : https://... ์†Œ๊ฐœ: https://...
โœ… https://recruit.com/job https://company.com/about
โœ… JD: https://... about: https://...
โœ… (URL1) (URL2)  โ† ์ˆœ์„œ๋งŒ ๋งž์œผ๋ฉด OK

๋…๋ฆฝ ์‹คํ–‰ ์›Œํฌํ”Œ๋กœ์šฐ

์•„๋ž˜ ์ˆœ์„œ๋กœ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  1. URL ํŒŒ์‹ฑ - ์ž…๋ ฅ์—์„œ ์ฑ„์šฉ ๊ณต๊ณ  URL๊ณผ ํšŒ์‚ฌ ์†Œ๊ฐœ URL ์ถ”์ถœ
  2. ์ฑ„์šฉ ๊ณต๊ณ  ๋ถ„์„ - job-posting-analyzer ์—์ด์ „ํŠธ ํ˜ธ์ถœ
  3. ํšŒ์‚ฌ ์†Œ๊ฐœ ๋ถ„์„ - about-analyzer ์—์ด์ „ํŠธ ํ˜ธ์ถœ
  4. ์ง€์›์ž ์ •๋ณด ๋กœ๋“œ - .claude/skills/fit-check/references/applicant.md ์ฝ๊ธฐ
  5. ์„ ํ˜ธ ์กฐ๊ฑด ๋กœ๋“œ - .claude/skills/fit-check/references/preference.md ์ฝ๊ธฐ
  6. ์ ํ•ฉ์„ฑ ๋ถ„์„ - ๋งค์น˜์œจ ๊ณ„์‚ฐ ๋กœ์ง ์ ์šฉ
  7. ๊ฒฐ๊ณผ๋ฌผ ์ƒ์„ฑ - HTML ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ €์žฅ

๋””์ž์ธ ์ฒ ํ•™

ํ•ต์‹ฌ ์›์น™

  1. ๋ช…ํ™•ํ•œ ์ •๋ณด ๊ณ„์ธต: ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ •๋ณด(๋งค์น˜์œจ)๊ฐ€ ๊ฐ€์žฅ ๋ˆˆ์— ๋„๊ฒŒ
  2. ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”: ์ˆซ์ž์™€ ํ…์ŠคํŠธ๋ฅผ ์ง๊ด€์ ์ธ ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ ํ‘œํ˜„
  3. ์ผ๊ด€๋œ ์ปฌ๋Ÿฌ ์‹œ์Šคํ…œ: ๊ธ์ •/๋ถ€์ •/์ค‘๋ฆฝ ์˜๋ฏธ๋ฅผ ์ƒ‰์ƒ์œผ๋กœ ์ „๋‹ฌ
  4. lucide ์•„์ด์ฝ˜ ํ™œ์šฉ: ์ •๋ณด์˜ ๋น ๋ฅธ ์ธ์ง€๋ฅผ ๋•๋Š” ์‹œ๊ฐ์  ์•ต์ปค
  5. Light Mode Glassmorphism: ๊น”๋”ํ•˜๊ณ  ํ˜„๋Œ€์ ์ธ ๋ฐ˜ํˆฌ๋ช… ์นด๋“œ ์Šคํƒ€์ผ

ํ”ผํ•ด์•ผ ํ•  ๊ฒƒ

  • ์ œ๋„ค๋ฆญํ•œ AI ์ƒ์„ฑ ์Šคํƒ€์ผ
  • ๊ณผ๋„ํ•œ ๊ทธ๋ผ๋ฐ์ด์…˜์ด๋‚˜ ์žฅ์‹
  • ์ฝ๊ธฐ ์–ด๋ ค์šด ํฐํŠธ ์กฐํ•ฉ
  • ์ •๋ณด ๊ณผ๋ถ€ํ•˜
  • ์ด๋ชจ์ง€ ์‚ฌ์šฉ (lucide ์•„์ด์ฝ˜์œผ๋กœ ๋Œ€์ฒด)

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ

ํ•„์ˆ˜ CDN

<link
  rel="stylesheet"
  as="style"
  crossorigin
  href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css"
/>
<script src="https://unpkg.com/lucide@latest"></script>

ํฐํŠธ

font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  • ์ œ๋ชฉ: Pretendard Black (900), 32-48px
  • ๋ณธ๋ฌธ: Pretendard Regular, 14-16px
  • ๊ฐ•์กฐ: Pretendard SemiBold (600)

์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ

:root {
  /* Theme Colors - Teal Based */
  --primary: #198175;
  --primary-light: oklch(72.3% 0.219 149.579);
  --primary-dark: #136b62;
  --primary-glow: rgba(45, 212, 140, 0.3);

  /* Status Colors - 5๋‹จ๊ณ„ ์ ํ•ฉ๋„ */
  --grade-5: oklch(72.3% 0.219 149.579); /* ์™„๋ฒฝ ์ผ์น˜ */
  --grade-4: oklch(75% 0.2 149.579); /* ๋งค์šฐ ์ ํ•ฉ */
  --grade-3: #fbbf24; /* ์ ํ•ฉ */
  --grade-2: #f97316; /* ๋ถ€๋ถ„ ์ผ์น˜ */
  --grade-1: #ef4444; /* ๋ฏธํก */

  /* Semantic */
  --success: oklch(72.3% 0.219 149.579);
  --warning: #f59e0b;
  --danger: #ef4444;
  --neutral: #6b7280;

  /* Glassmorphism - Light Gradient Mode */
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-bg-light: rgba(255, 255, 255, 0.6);
  --glass-border: rgba(255, 255, 255, 0.8);
  --glass-border-light: rgba(255, 255, 255, 0.9);
  --glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 15px -3px rgba(0, 0, 0, 0.05),
    0 20px 25px -5px rgba(0, 0, 0, 0.03);
  --glass-blur: blur(20px);

  /* Text - Light Mode */
  --text-primary: #1f2937;
  --text-secondary: #374151;
  --text-muted: #6b7280;

  /* Background */
  --bg-gradient: linear-gradient(135deg, #f0fdfa 0%, #e0f2fe 50%, #f0fdf4 100%);
  --bg-card: rgba(255, 255, 255, 0.6);
}

lucide ์•„์ด์ฝ˜ ๊ฐ€์ด๋“œ

์šฉ๋„์•„์ด์ฝ˜์‚ฌ์šฉ ์˜ˆ์‹œ
์„น์…˜ 2 ํƒ€์ดํ‹€ (์ž˜ ๋งž๋Š” ์ )check-circle<i data-lucide="check-circle"></i>
์„น์…˜ 3 ํƒ€์ดํ‹€ (๋งž์ง€ ์•Š๋Š” ์ )alert-triangle<i data-lucide="alert-triangle"></i>
์„น์…˜ 4 ํƒ€์ดํ‹€ (๋ณด์™„ ํฌ์ธํŠธ)lightbulb<i data-lucide="lightbulb"></i>
์„น์…˜ 5 ํƒ€์ดํ‹€ (์ข…ํ•ฉ ์š”์•ฝ)clipboard-list<i data-lucide="clipboard-list"></i>
๋งค์น˜์œจ ๊ทผ๊ฑฐbar-chart-2<i data-lucide="bar-chart-2"></i>
๊ฐ•์  ์นด๋“œthumbs-up<i data-lucide="thumbs-up"></i>
์ฃผ์˜ ์นด๋“œalert-circle<i data-lucide="alert-circle"></i>
์•ก์…˜ ์นด๋“œzap<i data-lucide="zap"></i>
๋ฆฌ์ŠคํŠธ ํ™”์‚ดํ‘œchevron-right<i data-lucide="chevron-right"></i>
๊ทผ๊ฑฐbookmark<i data-lucide="bookmark"></i>
์ œ์•ˆlightbulb<i data-lucide="lightbulb"></i>
ํ•„์ˆ˜ ์š”๊ฑด ๋ถˆ์ถฉ์กฑx-circle<i data-lucide="x-circle"></i>
์„ ํ˜ธ ์กฐ๊ฑดstar<i data-lucide="star"></i>
์šฐ๋Œ€ ์‚ฌํ•ญbriefcase<i data-lucide="briefcase"></i>
ํ™•์ธ ํ•„์š”help-circle<i data-lucide="help-circle"></i>
์ ํ•ฉ๋„ ์ฒดํฌcheck<i data-lucide="check"></i>
์ค‘์š”๋„flame<i data-lucide="flame"></i>
์ถฉ์กฑ๋„pie-chart<i data-lucide="pie-chart"></i>
์ •๋ณดinfo<i data-lucide="info"></i>

์นดํ…Œ๊ณ ๋ฆฌ ์•„์ด์ฝ˜

์นดํ…Œ๊ณ ๋ฆฌ์•„์ด์ฝ˜ํด๋ž˜์Šค์ปฌ๋Ÿฌ
๊ธฐ์ˆ code-2.category-icon.tech#60a5fa
AIbot.category-icon.ai#a78bfa
UIpalette.category-icon.ui#f472b6
๋„๋ฉ”์ธbuilding-2.category-icon.domainoklch(72.3% 0.219 149.579)
์ถœํ‡ด๊ทผtrain.category-icon.commute#fbbf24

5๋‹จ๊ณ„ ์ ํ•ฉ๋„ ๋ฐฐ์ง€ ์‹œ์Šคํ…œ

๋“ฑ๊ธ‰๋ผ๋ฒจCSS ํด๋ž˜์Šค์‚ฌ์šฉ ์‹œ์ 
5์™„๋ฒฝ ์ผ์น˜.grade-badge.grade-5์š”๊ตฌ์‚ฌํ•ญ 100% ์ถฉ์กฑ
4๋งค์šฐ ์ ํ•ฉ.grade-badge.grade-4์š”๊ตฌ์‚ฌํ•ญ ๋Œ€๋ถ€๋ถ„ ์ถฉ์กฑ
3์ ํ•ฉ.grade-badge.grade-3๊ธฐ๋ณธ ์ถฉ์กฑ
2๋ถ€๋ถ„ ์ผ์น˜.grade-badge.grade-2์ผ๋ถ€๋งŒ ์ถฉ์กฑ
1๋ฏธํก.grade-badge.grade-1์š”๊ตฌ์‚ฌํ•ญ ๋ฏธ์ถฉ์กฑ

ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ตฌ์กฐ

์Šฌ๋ผ์ด๋“œ 1: ํƒ€์ดํ‹€ & ๋งค์น˜์œจ

<div class="glass-card header">
  <div class="company-badge">
    <i data-lucide="building-2" style="width: 16px; height: 16px;"></i>
    ์ ํ•ฉ์„ฑ ๋ถ„์„ ๊ฒฐ๊ณผ
  </div>
  <h1>[ํšŒ์‚ฌ๋ช…]</h1>
  <p class="position">[์ง๋ฌด] | [๋„๋ฉ”์ธ]</p>

  <div class="score-section">
    <div class="donut-chart">
      <svg width="200" height="200" viewBox="0 0 200 200">
        <defs>
          <linearGradient id="tealGradient" x1="0%" y1="0%" x2="100%" y2="100%">
            <stop offset="0%" style="stop-color:#14b8a6" />
            <stop offset="100%" style="stop-color:#0d9488" />
          </linearGradient>
        </defs>
        <circle class="donut-bg" cx="100" cy="100" r="80" />
        <circle
          class="donut-progress"
          cx="100"
          cy="100"
          r="80"
          stroke-dasharray="[๊ณ„์‚ฐ๊ฐ’] 503"
        />
        <!-- stroke-dasharray ๊ณ„์‚ฐ: [๋งค์น˜์œจ] * 5.03 -->
      </svg>
      <div class="donut-center">
        <div class="score">[๋งค์น˜์œจ]%</div>
      </div>
    </div>

    <div class="score-reasons">
      <div class="reason-item">
        <div class="reason-icon green">
          <i data-lucide="[์•„์ด์ฝ˜]" style="width: 20px; height: 20px;"></i>
        </div>
        <div class="reason-text">
          <strong>[์ฒซ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์ œ๋ชฉ]</strong><br />
          [์ฒซ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์„ค๋ช…]
        </div>
      </div>
      <div class="reason-item">
        <div class="reason-icon blue">
          <i data-lucide="[์•„์ด์ฝ˜]" style="width: 20px; height: 20px;"></i>
        </div>
        <div class="reason-text">
          <strong>[๋‘ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์ œ๋ชฉ]</strong><br />
          [๋‘ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์„ค๋ช…]
        </div>
      </div>
      <div class="reason-item">
        <div class="reason-icon yellow">
          <i data-lucide="[์•„์ด์ฝ˜]" style="width: 20px; height: 20px;"></i>
        </div>
        <div class="reason-text">
          <strong>[์„ธ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์ œ๋ชฉ]</strong><br />
          [์„ธ ๋ฒˆ์งธ ๊ทผ๊ฑฐ ์„ค๋ช…]
        </div>
      </div>
    </div>
  </div>
</div>

์Šฌ๋ผ์ด๋“œ 2: ์ž˜ ๋งž๋Š” ์  (Strengths)

<div class="section">
  <div class="section-header">
    <div class="section-icon green">
      <i data-lucide="check-circle" style="width: 24px; height: 24px;"></i>
    </div>
    <h2 class="section-title">์ž˜ ๋งž๋Š” ์ </h2>
  </div>

  <div class="glass-card" style="overflow: hidden;">
    <table class="strengths-table">
      <thead>
        <tr>
          <th style="width: 25%;">์š”๊ตฌ์‚ฌํ•ญ</th>
          <th style="width: 55%;">์ง€์›์ž ์—ญ๋Ÿ‰</th>
          <th style="width: 20%;">์ ํ•ฉ๋„</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td class="requirement-cell">[์š”๊ตฌ์‚ฌํ•ญ]</td>
          <td class="match-cell">
            <strong>[ํ•ต์‹ฌ ์—ญ๋Ÿ‰]</strong><br />
            [์ƒ์„ธ ์„ค๋ช…]
          </td>
          <td class="badge-cell">
            <span class="fit-badge level-5">
              <i data-lucide="star" style="width: 14px; height: 14px;"></i>
              ์™„๋ฒฝ ์ผ์น˜
            </span>
          </td>
        </tr>
        <!-- ์ถ”๊ฐ€ ํ–‰๋“ค -->
      </tbody>
    </table>
  </div>
</div>

์Šฌ๋ผ์ด๋“œ 3: ๋งž์ง€ ์•Š๋Š” ์  (Gaps)

<div class="section">
  <div class="section-header">
    <div class="section-icon red">
      <i data-lucide="alert-triangle" style="width: 24px; height: 24px;"></i>
    </div>
    <h2 class="section-title">๋งž์ง€ ์•Š๋Š” ์ </h2>
  </div>

  <div class="gap-grid">
    <!-- ์„ ํ˜ธ ์กฐ๊ฑด -->
    <div class="gap-card prefer">
      <div class="gap-card-header">
        <span class="gap-card-title">[ํ•ญ๋ชฉ๋ช…]</span>
        <span class="gap-type-badge prefer">์„ ํ˜ธ์กฐ๊ฑด</span>
      </div>
      <div class="gap-card-content">[์„ค๋ช… ๋‚ด์šฉ]</div>
    </div>

    <!-- ํ™•์ธ ํ•„์š” -->
    <div class="gap-card info">
      <div class="gap-card-header">
        <span class="gap-card-title">[ํ•ญ๋ชฉ๋ช…]</span>
        <span class="gap-type-badge info">ํ™•์ธํ•„์š”</span>
      </div>
      <div class="gap-card-content">[์„ค๋ช… ๋‚ด์šฉ]</div>
    </div>

    <!-- ํ•„์ˆ˜ ์š”๊ฑด (critical) -->
    <div class="gap-card critical">
      <div class="gap-card-header">
        <span class="gap-card-title">[ํ•ญ๋ชฉ๋ช…]</span>
        <span class="gap-type-badge critical">ํ•„์ˆ˜์š”๊ฑด</span>
      </div>
      <div class="gap-card-content">[์„ค๋ช… ๋‚ด์šฉ]</div>
    </div>
  </div>
</div>

์Šฌ๋ผ์ด๋“œ 4: ๋ณด์™„ํ•ด์•ผ ํ•  ์š”์ธ

<div class="section">
  <div class="section-header">
    <div class="section-icon yellow">
      <i data-lucide="lightbulb" style="width: 24px; height: 24px;"></i>
    </div>
    <h2 class="section-title">๋ณด์™„ ํฌ์ธํŠธ</h2>
  </div>
  <section class="slide improvements-slide">
    <div class="improvement-list">
      <div class="improvement-item">
        <div class="improvement-badges">
          <span class="importance-badge high">
            <i data-lucide="flame"></i>
            <span class="label">์ค‘์š”๋„</span>
            ๋†’์Œ
          </span>
          <span class="fulfillment-badge low">
            <i data-lucide="pie-chart"></i>
            <span class="label">์ถฉ์กฑ๋„</span>
            0%
          </span>
        </div>
        <h3>[๋ณด์™„ ํ•ญ๋ชฉ๋ช…]</h3>
        <p class="description">[๋ณด์™„์ด ํ•„์š”ํ•œ ์ด์œ  ์„ค๋ช…]</p>
        <div class="evidence">
          <strong><i data-lucide="bookmark"></i> ๊ทผ๊ฑฐ</strong>
          <p>[์ฑ„์šฉ ๊ณต๊ณ ๋‚˜ ํšŒ์‚ฌ ์ •๋ณด์—์„œ ๋ฐœ์ทŒํ•œ ๊ทผ๊ฑฐ]</p>
        </div>
        <div class="suggestion">
          <strong><i data-lucide="lightbulb"></i> ์ œ์•ˆ</strong>
          <p>[๊ฐœ์„  ๋ฐฉ๋ฒ• ๋˜๋Š” ์–ดํ•„ ํฌ์ธํŠธ]</p>
        </div>
      </div>

      <div class="improvement-item">
        <div class="improvement-badges">
          <span class="importance-badge medium">
            <i data-lucide="flame"></i>
            <span class="label">์ค‘์š”๋„</span>
            ์ค‘๊ฐ„
          </span>
          <span class="fulfillment-badge medium">
            <i data-lucide="pie-chart"></i>
            <span class="label">์ถฉ์กฑ๋„</span>
            50%
          </span>
        </div>
        <h3>[๋ณด์™„ ํ•ญ๋ชฉ๋ช…]</h3>
        <p class="description">[์„ค๋ช…]</p>
        <div class="evidence">
          <strong><i data-lucide="bookmark"></i> ๊ทผ๊ฑฐ</strong>
          <p>[๊ทผ๊ฑฐ]</p>
        </div>
        <div class="suggestion">
          <strong><i data-lucide="lightbulb"></i> ์ œ์•ˆ</strong>
          <p>[์ œ์•ˆ]</p>
        </div>
      </div>

      <div class="improvement-item">
        <div class="improvement-badges">
          <span class="importance-badge low">
            <i data-lucide="flame"></i>
            <span class="label">์ค‘์š”๋„</span>
            ๋‚ฎ์Œ
          </span>
          <span class="fulfillment-badge medium">
            <i data-lucide="pie-chart"></i>
            <span class="label">์ถฉ์กฑ๋„</span>
            ํ™•์ธ ํ•„์š”
          </span>
        </div>
        <h3>[๋ณด์™„ ํ•ญ๋ชฉ๋ช…]</h3>
        <p class="description">[์„ค๋ช…]</p>
        <div class="evidence">
          <strong><i data-lucide="bookmark"></i> ๊ทผ๊ฑฐ</strong>
          <p>[๊ทผ๊ฑฐ]</p>
        </div>
        <div class="suggestion">
          <strong><i data-lucide="lightbulb"></i> ์ œ์•ˆ</strong>
          <p>[์ œ์•ˆ]</p>
        </div>
      </div>
    </div>
  </section>
</div>

์Šฌ๋ผ์ด๋“œ 5: ์š”์•ฝ ๋ฐ ๊ฒฐ๋ก 

<div class="section">
  <div class="section-header">
    <div class="section-icon teal">
      <i data-lucide="file-text" style="width: 24px; height: 24px;"></i>
    </div>
    <h2 class="section-title">์ข…ํ•ฉ ์š”์•ฝ</h2>
  </div>

  <div class="glass-card" style="padding: 24px;">
    <div class="summary-grid">
      <div class="summary-card">
        <div class="summary-card-header">
          <div class="summary-card-icon green">
            <i data-lucide="trophy" style="width: 20px; height: 20px;"></i>
          </div>
          <span class="summary-card-title">ํ•ต์‹ฌ ๊ฐ•์ </span>
        </div>
        <div class="summary-card-content">
          <div class="summary-item">
            <i data-lucide="check" style="width: 16px; height: 16px;"></i>
            [๊ฐ•์  1]
          </div>
          <div class="summary-item">
            <i data-lucide="check" style="width: 16px; height: 16px;"></i>
            [๊ฐ•์  2]
          </div>
        </div>
      </div>

      <div class="summary-card">
        <div class="summary-card-header">
          <div class="summary-card-icon yellow">
            <i
              data-lucide="alert-circle"
              style="width: 20px; height: 20px;"
            ></i>
          </div>
          <span class="summary-card-title">์ฃผ์˜ ์‚ฌํ•ญ</span>
        </div>
        <div class="summary-card-content">
          <div class="summary-item">
            <i data-lucide="minus" style="width: 16px; height: 16px;"></i>
            [์ฃผ์˜ 1]
          </div>
          <div class="summary-item">
            <i data-lucide="minus" style="width: 16px; height: 16px;"></i>
            [์ฃผ์˜ 2]
          </div>
        </div>
      </div>

      <div class="summary-card">
        <div class="summary-card-header">
          <div class="summary-card-icon blue">
            <i data-lucide="rocket" style="width: 20px; height: 20px;"></i>
          </div>
          <span class="summary-card-title">์ถ”์ฒœ ์•ก์…˜</span>
        </div>
        <div class="summary-card-content">
          <div class="summary-item">
            <i data-lucide="arrow-right" style="width: 16px; height: 16px;"></i>
            [์•ก์…˜ 1]
          </div>
          <div class="summary-item">
            <i data-lucide="arrow-right" style="width: 16px; height: 16px;"></i>
            [์•ก์…˜ 2]
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="footer">
  <a
    href="https://github.com/window-ook/fit-checker"
    target="_blank"
    rel="noopener noreferrer"
    class="footer-badge"
    onclick="handleBadgeClick(event)"
  >
    <i data-lucide="github"></i>
    <span class="brand-name">Fit Checker</span>
    <span class="divider"></span>
    <span class="author">window-ook</span>
    <i data-lucide="external-link"></i>
  </a>
</div>

๋งค์น˜์œจ ๊ณ„์‚ฐ ๋กœ์ง

๋งค์น˜์œจ = (์ถฉ์กฑ ํ•ญ๋ชฉ ๊ฐ€์ค‘์น˜ ํ•ฉ / ์ „์ฒด ํ•ญ๋ชฉ ๊ฐ€์ค‘์น˜ ํ•ฉ) ร— 100

๊ฐ€์ค‘์น˜ ๋ฐฐ๋ถ„:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ํ•ญ๋ชฉ            โ”‚ ๊ฐ€์ค‘์น˜ โ”‚ ์„ค๋ช…                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ํ•„์ˆ˜ ์ž๊ฒฉ์š”๊ฑด   โ”‚ 30์    โ”‚ ๊ฒฝ๋ ฅ, ํ•™๋ ฅ, ํ•„์ˆ˜ ๊ธฐ์ˆ        โ”‚
โ”‚ ๊ธฐ์ˆ  ์Šคํƒ ์ผ์น˜  โ”‚ 25์    โ”‚ ๊ธฐ์ˆ  ์Šคํƒ ๋งค์นญ ๋น„์œจ         โ”‚
โ”‚ ์šฐ๋Œ€ ์‚ฌํ•ญ ์ถฉ์กฑ  โ”‚ 20์    โ”‚ ์šฐ๋Œ€ ์กฐ๊ฑด ์ถฉ์กฑ ๋น„์œจ         โ”‚
โ”‚ ๋ฌธํ™” ์ ํ•ฉ์„ฑ     โ”‚ 15์    โ”‚ ํŒ€ ๋ถ„์œ„๊ธฐ, ์—…๋ฌด ๋ฐฉ์‹ ๋งค์นญ   โ”‚
โ”‚ ๊ธฐํƒ€ ์กฐ๊ฑด       โ”‚ 10์    โ”‚ ์œ„์น˜, ์—ฐ๋ด‰ ๋“ฑ (์„ ํ˜ธ ์กฐ๊ฑด)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ€ป ์„ ํ˜ธ ์กฐ๊ฑด(preference.md)์€ ์ฐธ๊ณ ์šฉ์ด๋ฉฐ, ๋ถˆ์ถฉ์กฑ ์‹œ ํฐ ๊ฐ์  ์—†์Œ

์„ ํ˜ธ vs ํ•„์ˆ˜ ๊ตฌ๋ถ„

์ ํ•ฉ์„ฑ ๋ถ„์„ ์‹œ ๋‹ค์Œ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค:

๊ตฌ๋ถ„์ถœ์ฒ˜๊ฐ€์ค‘์น˜๋ถˆ์ถฉ์กฑ ์‹œ
ํ•„์ˆ˜ (Must)์ฑ„์šฉ ๊ณต๊ณ  ์ž๊ฒฉ์š”๊ฑด๋†’์Œ๋งค์น˜์œจ ํฌ๊ฒŒ ๊ฐ์†Œ
์„ ํ˜ธ (Prefer)preference.md๋‚ฎ์Œ์ฐธ๊ณ ์šฉ, ์ž‘์€ ๊ฐ์ 
์šฐ๋Œ€ (Plus)์ฑ„์šฉ ๊ณต๊ณ  ์šฐ๋Œ€์‚ฌํ•ญ์ค‘๊ฐ„์—†์–ด๋„ ๋ฌด๋ฐฉ

์ถœ๋ ฅ ํŒŒ์ผ

๊ฒฐ๊ณผ๋ฌผ์€ output/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค:

  • output/fit-result-[ํšŒ์‚ฌ๋ช…]-YYYY-MM-DD.html - ๋ฉ”์ธ ํ”„๋ ˆ์  ํ…Œ์ด์…˜
  • output/fit-result-[ํšŒ์‚ฌ๋ช…]-YYYY-MM-DD.md - ๋งˆํฌ๋‹ค์šด ๋ฒ„์ „ (์‚ฌ์šฉ์ž ์š”์ฒญ ์‹œ)
  • output/fit-result-[ํšŒ์‚ฌ๋ช…]-YYYY-MM-DD.pptx - PPTX ๋ฒ„์ „ (make-pptx ์Šคํ‚ฌ ์‚ฌ์šฉ)

CSS ํ…œํ”Œ๋ฆฟ

๊ฒฐ๊ณผ๋ฌผ์— ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ํ•  ์ „์ฒด ์Šคํƒ€์ผ:

:root {
  /* Theme Colors - Teal Based */
  --primary: #198175;
  --primary-light: oklch(72.3% 0.219 149.579);
  --primary-dark: #136b62;
  --primary-glow: rgba(45, 212, 140, 0.3);

  /* Status Colors */
  --grade-5: oklch(72.3% 0.219 149.579);
  --grade-4: oklch(75% 0.2 149.579);
  --grade-3: #fbbf24;
  --grade-2: #f97316;
  --grade-1: #ef4444;

  --success: oklch(72.3% 0.219 149.579);
  --warning: #f59e0b;
  --danger: #ef4444;
  --neutral: #6b7280;

  /* Glassmorphism - Light Mode */
  --glass-bg: rgba(0, 0, 0, 0.02);
  --glass-bg-light: rgba(0, 0, 0, 0.04);
  --glass-border: rgba(0, 0, 0, 0.08);
  --glass-border-light: rgba(0, 0, 0, 0.12);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  --glass-blur: blur(12px);

  /* Text - Light Mode */
  --text-primary: #000000;
  --text-secondary: #374151;
  --text-muted: #4b5563;

  /* Backgrounds - Light Mode */
  --bg-dark: #ffffff;
  --bg-card: rgba(0, 0, 0, 0.02);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg-gradient);
  min-height: 100vh;
  padding: 40px 20px;
  color: var(--text-primary);
  line-height: 1.6;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Glass Card Base */
.glass-card {
  background: #ffffff;
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  box-shadow: var(--glass-shadow);
}

.slide {
  margin-bottom: 32px;
  overflow: hidden;
}

/* ===== SECTION 1: Header & Match Rate ===== */
.header {
  padding: 48px;
  margin-bottom: 32px;
  text-align: center;
}

.company-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: white;
  padding: 8px 20px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
}

.header h1 {
  font-size: 36px;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.header .position {
  font-size: 18px;
  color: var(--text-muted);
  margin-bottom: 32px;
}

/* Score Section */
.score-section {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}

.donut-chart {
  position: relative;
  width: 200px;
  height: 200px;
}

.donut-chart svg {
  transform: rotate(-90deg);
}

.donut-chart circle {
  fill: none;
  stroke-width: 20;
}

.donut-bg {
  stroke: #e5e7eb;
}

.donut-progress {
  stroke: url(#tealGradient);
  stroke-linecap: round;
  transition: stroke-dasharray 1s ease;
}

.donut-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.donut-center .score {
  font-size: 48px;
  font-weight: 800;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.score-reasons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 400px;
}

.reason-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 20px;
  background: var(--glass-bg-light);
  border-radius: 16px;
  border: 1px solid var(--glass-border);
}

.reason-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.reason-icon.green {
  background: #d1fae5;
  color: #16a34a;
}

.reason-icon.yellow {
  background: #fef3c7;
  color: #d97706;
}

.reason-icon.blue {
  background: #dbeafe;
  color: #2563eb;
}

.reason-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.reason-text strong {
  color: var(--text-primary);
}

/* ===== SECTION 2: Strengths Table ===== */
.section {
  margin-bottom: 32px;
}

.section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 0 8px;
}

.section-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-icon.green {
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: white;
}

.section-icon.red {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: white;
}

.section-icon.blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: white;
}

.section-icon.yellow {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
}

.section-icon.teal {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: white;
}

.section-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary);
}

/* Strengths Table */
.strengths-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.strengths-table thead th {
  background: var(--glass-bg);
  padding: 16px 20px;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.strengths-table thead th:first-child {
  border-radius: 16px 0 0 0;
}

.strengths-table thead th:last-child {
  border-radius: 0 16px 0 0;
  text-align: center;
}

.strengths-table tbody td {
  padding: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  vertical-align: top;
}

.strengths-table tbody tr:last-child td {
  border-bottom: none;
}

.strengths-table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 16px;
}

.strengths-table tbody tr:last-child td:last-child {
  border-radius: 0 0 16px 0;
}

.requirement-cell {
  font-weight: 600;
  color: var(--text-primary);
}

.match-cell {
  color: var(--text-secondary);
  line-height: 1.6;
}

.match-cell strong {
  color: var(--primary);
}

.badge-cell {
  text-align: center;
}

/* Fit Badge (5-level) */
.fit-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
}

.fit-badge.level-5 {
  background: linear-gradient(135deg, #ccfbf1, #f0fdfa);
  color: #0f766e;
  border: 1px solid #99f6e4;
}

.fit-badge.level-4 {
  background: linear-gradient(135deg, #d1fae5, #ecfdf5);
  color: #16a34a;
  border: 1px solid #a7f3d0;
}

.fit-badge.level-3 {
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
  color: #2563eb;
  border: 1px solid #bfdbfe;
}

.fit-badge.level-2 {
  background: linear-gradient(135deg, #fef3c7, #fffbeb);
  color: #d97706;
  border: 1px solid #fde68a;
}

.fit-badge.level-1 {
  background: linear-gradient(135deg, #fee2e2, #fef2f2);
  color: #dc2626;
  border: 1px solid #fecaca;
}

/* ===== SECTION 3: Gaps ===== */
.gap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 20px;
}

.gap-card {
  padding: 24px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--glass-border);
}

.gap-card.critical {
  border-left: 4px solid #ef4444;
}

.gap-card.prefer {
  border-left: 4px solid #f59e0b;
}

.gap-card.info {
  border-left: 4px solid #9ca3af;
}

.gap-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.gap-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.gap-type-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 100px;
  text-transform: uppercase;
}

.gap-type-badge.critical {
  background: #fee2e2;
  color: #dc2626;
}

.gap-type-badge.prefer {
  background: #fef3c7;
  color: #d97706;
}

.gap-type-badge.info {
  background: #f3f4f6;
  color: #4b5563;
}

.gap-card-content {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-secondary);
}

/* ===== SECTION 4: Improvements ===== */
.improvements-slide {
  padding: 48px;
  background: linear-gradient(
    135deg,
    var(--primary) 0%,
    var(--primary-dark) 100%
  );
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
}

.improvement-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.improvement-item {
  padding: 28px;
  background: #fff;
  border: 1px solid var(--glass-border);
  border-radius: 16px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.improvement-badges {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.importance-badge,
.fulfillment-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.importance-badge i,
.fulfillment-badge i {
  width: 16px;
  height: 16px;
}

.importance-badge .label,
.fulfillment-badge .label {
  font-size: 11px;
  color: var(--text-muted);
  margin-right: 4px;
}

.importance-badge.high {
  color: var(--danger);
  border-color: rgba(239, 68, 68, 0.3);
}
.importance-badge.medium {
  color: var(--warning);
  border-color: rgba(245, 158, 11, 0.3);
}
.importance-badge.low {
  color: var(--primary-light);
  border-color: rgba(45, 212, 140, 0.3);
}

.fulfillment-badge.low {
  color: var(--danger);
  border-color: rgba(239, 68, 68, 0.3);
}
.fulfillment-badge.medium {
  color: var(--warning);
  border-color: rgba(245, 158, 11, 0.3);
}
.fulfillment-badge.high {
  color: var(--primary-light);
  border-color: rgba(45, 212, 140, 0.3);
}

.improvement-item h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.improvement-item .description {
  color: var(--text-secondary);
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.7;
}

.evidence,
.suggestion {
  padding: 18px;
  border-radius: 12px;
  margin-bottom: 12px;
  font-size: 14px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
}

.evidence {
  border-left: 3px solid var(--warning);
}

.suggestion {
  border-left: 3px solid var(--primary);
}

.evidence strong,
.suggestion strong {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  color: var(--text-secondary);
}

.evidence strong i,
.suggestion strong i {
  width: 16px;
  height: 16px;
}

.evidence strong {
  color: var(--warning);
}
.suggestion strong {
  color: var(--primary-light);
}

.evidence p,
.suggestion p {
  color: var(--text-secondary);
  line-height: 1.7;
}

/* ===== SECTION 5: Summary ===== */
.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  .summary-grid {
    grid-template-columns: 1fr;
  }
}

.summary-card {
  padding: 28px;
  border-radius: 20px;
  background: var(--glass-bg-light);
  border: 1px solid var(--glass-border);
}

.summary-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.summary-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.summary-card-icon.green {
  background: #d1fae5;
  color: #16a34a;
}

.summary-card-icon.yellow {
  background: #fef3c7;
  color: #d97706;
}

.summary-card-icon.blue {
  background: #dbeafe;
  color: #2563eb;
}

.summary-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary);
}

.summary-card-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.summary-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.summary-item i {
  flex-shrink: 0;
  margin-top: 2px;
  color: #9ca3af;
}

/* Footer */
.footer {
  text-align: center;
  padding: 32px;
}

.footer-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: linear-gradient(
    135deg,
    var(--primary) 0%,
    var(--primary-dark) 100%
  );
  border: none;
  border-radius: 50px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(25, 129, 117, 0.3);
  transition: all 0.3s ease;
}

.footer-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(25, 129, 117, 0.4);
  background: linear-gradient(
    135deg,
    var(--primary-light) 0%,
    var(--primary) 100%
  );
}

.footer-badge:active {
  transform: translateY(0);
}

.footer-badge i {
  width: 18px;
  height: 18px;
}

.footer-badge .brand-name {
  font-weight: 700;
  color: #ffffff;
}

.footer-badge .divider {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.3);
}

.footer-badge .author {
  opacity: 0.9;
}

/* Responsive */
@media (max-width: 768px) {
  .title-slide {
    padding: 40px 24px;
  }

  .title-slide .company-name {
    font-size: 32px;
  }

  .match-circle {
    width: 180px;
    height: 180px;
  }

  .match-circle::before {
    width: 145px;
    height: 145px;
  }

  .rate-value {
    font-size: 48px;
  }

  .comparison {
    flex-direction: column;
    gap: 12px;
  }

  .improvement-badges {
    flex-wrap: wrap;
  }
}

JavaScript ์ดˆ๊ธฐํ™”

HTML ํŒŒ์ผ ํ•˜๋‹จ์— ๋ฐ˜๋“œ์‹œ ํฌํ•จ:

<script>
  lucide.createIcons();

  function handleBadgeClick(event) {
    const badge = event.currentTarget;
    badge.style.transform = 'scale(0.95)';
    setTimeout(() => {
      badge.style.transform = '';
    }, 100);
  }
</script>

ใ‚นใ‚ณใ‚ข

็ทๅˆใ‚นใ‚ณใ‚ข

50/100

ใƒชใƒใ‚ธใƒˆใƒชใฎๅ“่ณชๆŒ‡ๆจ™ใซๅŸบใฅใ่ฉ•ไพก

โœ“SKILL.md

SKILL.mdใƒ•ใ‚กใ‚คใƒซใŒๅซใพใ‚Œใฆใ„ใ‚‹

+20
โ—‹LICENSE

ใƒฉใ‚คใ‚ปใƒณใ‚นใŒ่จญๅฎšใ•ใ‚Œใฆใ„ใ‚‹

0/10
โ—‹่ชฌๆ˜Žๆ–‡

100ๆ–‡ๅญ—ไปฅไธŠใฎ่ชฌๆ˜ŽใŒใ‚ใ‚‹

0/10
โ—‹ไบบๆฐ—

GitHub Stars 100ไปฅไธŠ

0/15
โ—‹ๆœ€่ฟ‘ใฎๆดปๅ‹•

3ใƒถๆœˆไปฅๅ†…ใซๆ›ดๆ–ฐใŒใ‚ใ‚‹

0/10
โ—‹ใƒ•ใ‚ฉใƒผใ‚ฏ

10ๅ›žไปฅไธŠใƒ•ใ‚ฉใƒผใ‚ฏใ•ใ‚Œใฆใ„ใ‚‹

0/5
โœ“Issue็ฎก็†

ใ‚ชใƒผใƒ—ใƒณIssueใŒ50ๆœชๆบ€

+5
โœ“่จ€่ชž

ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใŒ่จญๅฎšใ•ใ‚Œใฆใ„ใ‚‹

+5
โ—‹ใ‚ฟใ‚ฐ

1ใคไปฅไธŠใฎใ‚ฟใ‚ฐใŒ่จญๅฎšใ•ใ‚Œใฆใ„ใ‚‹

0/5

ใƒฌใƒ“ใƒฅใƒผ

๐Ÿ’ฌ

ใƒฌใƒ“ใƒฅใƒผๆฉŸ่ƒฝใฏ่ฟ‘ๆ—ฅๅ…ฌ้–‹ไบˆๅฎšใงใ™