123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CL21A476MQYNNNE &mdash; Component Characterization</title>
<style>
  @font-face { font-family: 'Familjen Grotesk'; src: url('https://adom.inc/fonts/familjen-grotesk/familjen-grotesk-latin-700-normal.woff2') format('woff2'); font-weight: 700; }
  @font-face { font-family: 'Familjen Grotesk'; src: url('https://adom.inc/fonts/familjen-grotesk/familjen-grotesk-latin-500-normal.woff2') format('woff2'); font-weight: 500; }
  @font-face { font-family: 'Satoshi'; src: url('https://adom.inc/fonts/satoshi/satoshi-400-normal.woff2') format('woff2'); font-weight: 400; }
  @font-face { font-family: 'Satoshi'; src: url('https://adom.inc/fonts/satoshi/satoshi-500-normal.woff2') format('woff2'); font-weight: 500; }
  @font-face { font-family: 'JetBrains Mono'; src: url('https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2') format('woff2'); font-weight: 400; }
  :root {
    --bg: #0d1117; --surface: #161b22; --elevated: #1c2128; --border: #30363d; --border-muted: #21262d;
    --text: #e6edf3; --text-muted: #8b949e; --text-dim: #484f58;
    --accent: #00b8b0; --accent-bright: #00e6dc; --accent-dim: rgba(0,184,176,0.12); --accent-border: rgba(0,184,176,0.25);
    --green: #3fb950; --orange: #d29922; --red: #f85149; --purple: #8C6BF7; --blue: #58a6ff;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { font-family: 'Satoshi', sans-serif; background: var(--bg); color: var(--text); font-size: 13px; line-height: 1.6; }
  h1,h2,h3 { font-family: 'Familjen Grotesk', sans-serif; font-weight: 700; }
  code { font-family: 'JetBrains Mono', monospace; font-size: 12px; }
  a { color: var(--accent); text-decoration: none; }
  .header { background: var(--surface); border-bottom: 1px solid var(--border-muted); padding: 20px 24px; }
  .header-top { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
  .header .brand { color: var(--accent); font-family: 'Familjen Grotesk', sans-serif; font-size: 12px; font-weight: 600; }
  .header .vsep { width: 1px; height: 16px; background: var(--border); }
  .header .crumb { color: var(--text-dim); font-size: 12px; }
  .header h1 { font-size: 22px; margin-bottom: 2px; }
  .header h1 .val { color: var(--accent); }
  .header .subtitle { color: var(--text-muted); font-size: 13px; }
  .header .tags { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
  .tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; }
  .tag.pkg { background: rgba(0,184,176,0.12); color: var(--accent); }
  .tag.mfr { background: rgba(88,166,255,0.12); color: var(--blue); }
  .tag.series { background: rgba(140,107,247,0.12); color: var(--purple); }
  .tag.rohs { background: rgba(63,185,80,0.12); color: var(--green); }
  .tag.app { background: rgba(210,153,34,0.12); color: var(--orange); }
  .container { max-width: 1100px; margin: 0 auto; padding: 24px; }
  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  @media (max-width: 800px) { .grid-2 { grid-template-columns: 1fr; } }
  .section { margin-bottom: 28px; }
  .section-title { font-size: 14px; color: var(--text); margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--border-muted); }
  .card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 16px; }
  .card:hover { border-color: var(--accent-border); }
  .spec-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
  .spec-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 12px 14px; text-align: center; }
  .spec-card .sc-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-dim); margin-bottom: 4px; }
  .spec-card .sc-value { font-size: 22px; font-weight: 700; font-family: 'Familjen Grotesk', sans-serif; }
  .spec-card .sc-detail { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
  .spec-card.highlight { border-color: var(--accent-border); background: linear-gradient(180deg, rgba(0,184,176,0.06), var(--surface)); }
  .spec-card.highlight .sc-value { color: var(--accent); }
  .detail-table { width: 100%; border-collapse: collapse; }
  .detail-table tr { border-bottom: 1px solid var(--border-muted); }
  .detail-table tr:last-child { border-bottom: none; }
  .detail-table td { padding: 8px 0; }
  .detail-table td:first-child { color: var(--text-muted); font-size: 12px; width: 45%; }
  .detail-table td:last-child { font-family: 'JetBrains Mono', monospace; font-size: 13px; text-align: right; }
  .chart-wrap { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 16px; }
  .chart-wrap h3 { font-size: 13px; color: var(--text); margin-bottom: 12px; }
  .chart-wrap .chart-note { font-size: 11px; color: var(--text-dim); margin-top: 8px; }
  svg text { font-family: 'JetBrains Mono', monospace; }
  .pkg-drawing { display: flex; align-items: center; justify-content: center; padding: 20px; }
  .profile-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 12px; }
  .profile-table th { background: var(--elevated); padding: 6px 10px; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-dim); text-align: left; border-bottom: 1px solid var(--border); }
  .profile-table td { padding: 6px 10px; border-bottom: 1px solid var(--border-muted); }
  .env-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  @media (max-width: 700px) { .env-grid { grid-template-columns: 1fr; } }
  .env-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 12px 14px; }
  .env-card .env-name { font-size: 12px; font-weight: 600; margin-bottom: 4px; }
  .env-card .env-spec { font-size: 11px; color: var(--text-muted); }
  .env-card .env-detail { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text); margin-top: 4px; }
  .vendor-cards { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 300px; }
  .vendor-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 14px; }
  .vendor-card .vc-name { font-size: 12px; font-weight: 600; margin-bottom: 6px; color: var(--blue); }
  .vendor-card .vc-price { font-size: 20px; font-weight: 700; font-family: 'Familjen Grotesk', sans-serif; }
  .vendor-card .vc-detail { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
  .vendor-card.recommended { border-color: var(--accent-border); }
  .vendor-card.recommended::before { content: 'RECOMMENDED'; display: block; font-size: 9px; letter-spacing: 1px; color: var(--accent); margin-bottom: 6px; font-weight: 600; }
  .source { text-align: center; color: var(--text-dim); font-size: 11px; padding: 24px 0 12px; border-top: 1px solid var(--border-muted); margin-top: 20px; }
</style>
</head>
<body>
<div class="header">
  <div class="header-top">
    <div class="brand">Adom</div>
    <div class="vsep"></div>
    <div class="crumb">Components &rsaquo; Capacitors &rsaquo; 0805</div>
  </div>
  <h1>CL21A476MQYNNNE &mdash; <span class="val">47µF</span></h1>
  <div class="subtitle">Samsung Electro-Mechanics &middot; Multilayer Ceramic Capacitor (MLCC) &middot; General Purpose</div>
  <div class="tags">
    <span class="tag pkg">0805</span>
    <span class="tag mfr">Samsung</span>
    <span class="tag series">X5R</span>
    <span class="tag rohs">RoHS</span>
    <span class="tag app">General Purpose</span>
  </div>
</div>
<div class="container">
  <div class="section">
    <div class="spec-cards">
      <div class="spec-card highlight">
        <div class="sc-label">Capacitance</div>
        <div class="sc-value">47µF</div>
        <div class="sc-detail">±20% (M)</div>
      </div>
      <div class="spec-card">
        <div class="sc-label">Rated Voltage</div>
        <div class="sc-value">6.3V</div>
        <div class="sc-detail">DC</div>
      </div>
      <div class="spec-card">
        <div class="sc-label">Dielectric</div>
        <div class="sc-value">X5R</div>
        <div class="sc-detail">Class II</div>
      </div>
      <div class="spec-card">
        <div class="sc-label">Temp Range</div>
        <div class="sc-value">&minus;55/+85&deg;C</div>
        <div class="sc-detail">X5R rated</div>
      </div>
      <div class="spec-card">
        <div class="sc-label">Insulation R</div>
        <div class="sc-value">2.1MΩ</div>
        <div class="sc-detail">min @ 6.3V DC</div>
      </div>
      <div class="spec-card">
        <div class="sc-label">Mouser</div>
        <div class="sc-value">$0.068</div>
        <div class="sc-detail">In stock</div>
      </div>
    </div>
  </div>

  <div class="grid-2">
    <div>
      <div class="section">
        <h2 class="section-title">Electrical Characteristics</h2>
        <div class="card">
          <table class="detail-table">
            <tr><td>Capacitance</td><td>47µF ±20% (M)</td></tr>
            <tr><td>Rated Voltage</td><td>6.3V DC</td></tr>
            <tr><td>Dielectric Type</td><td>X5R (Class II)</td></tr>
            <tr><td>Dissipation Factor</td><td>&le;10%</td></tr>
            <tr><td>Insulation Resistance</td><td>2.1MΩ</td></tr>
            <tr><td>Temp Coefficient</td><td>±15% (X5R)</td></tr>
            <tr><td>Test Voltage</td><td>0.5 &plusmn; 0.1 Vrms</td></tr>
            <tr><td>Test Frequency</td><td>120 Hz &plusmn; 20%</td></tr>
            <tr><td>Dielectric Strength</td><td>250% rated (15V), 1&ndash;5s</td></tr>
          </table>
        </div>
      </div>
      <div class="section">
        <h2 class="section-title">Operating Conditions</h2>
        <div class="card">
          <table class="detail-table">
            <tr><td>Operating Temp</td><td>&minus;55&deg;C to +85&deg;C</td></tr>
            <tr><td>Storage Temp</td><td>&minus;55&deg;C to +125&deg;C</td></tr>
            <tr><td>Termination</td><td>Ni/Sn (lead-free)</td></tr>
            <tr><td>Solder Compatibility</td><td>Sn-3.0Ag-0.5Cu</td></tr>
            <tr><td>Mass</td><td>~0.021g</td></tr>
          </table>
        </div>
      </div>
    </div>
    <div>
      <div class="section">
        <h2 class="section-title">Package &amp; Dimensions</h2>
        <div class="card">
          <div class="pkg-drawing">
            <svg width="100%" height="170" viewBox="0 0 480 170">
              <text x="120" y="14" fill="#8b949e" font-size="10" text-anchor="middle">Top View</text>
              <rect x="35" y="22" width="170" height="85" rx="2" fill="#1c2128" stroke="#30363d" stroke-width="1.5"/>
              <rect x="35" y="22" width="30" height="85" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>
              <rect x="175" y="22" width="30" height="85" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>
              <line x1="35" y1="118" x2="205" y2="118" stroke="#484f58" stroke-width="0.5"/>
              <line x1="35" y1="114" x2="35" y2="122" stroke="#484f58" stroke-width="0.5"/>
              <line x1="205" y1="114" x2="205" y2="122" stroke="#484f58" stroke-width="0.5"/>
              <text x="120" y="134" fill="#e6edf3" font-size="10" text-anchor="middle">2.00 &plusmn; 0.20</text>
              <line x1="215" y1="22" x2="215" y2="107" stroke="#484f58" stroke-width="0.5"/>
              <line x1="211" y1="22" x2="219" y2="22" stroke="#484f58" stroke-width="0.5"/>
              <line x1="211" y1="107" x2="219" y2="107" stroke="#484f58" stroke-width="0.5"/>
              <text x="225" y="68" fill="#e6edf3" font-size="10">1.25 &plusmn; 0.20</text>
              <text x="50" y="158" fill="#8b949e" font-size="9" text-anchor="middle">0.2&ndash;0.5</text>
              <text x="380" y="14" fill="#8b949e" font-size="10" text-anchor="middle">Side View</text>
              <rect x="310" y="28" width="140" height="75" rx="2" fill="#1c2128" stroke="#30363d" stroke-width="1.5"/>
              <rect x="310" y="28" width="25" height="75" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>
              <rect x="425" y="28" width="25" height="75" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>
              <line x1="460" y1="28" x2="460" y2="103" stroke="#484f58" stroke-width="0.5"/>
              <line x1="456" y1="28" x2="464" y2="28" stroke="#484f58" stroke-width="0.5"/>
              <line x1="456" y1="103" x2="464" y2="103" stroke="#484f58" stroke-width="0.5"/>
              <text x="470" y="69" fill="#e6edf3" font-size="10">1.25 max</text>
              <text x="120" y="164" fill="#8b949e" font-size="10" text-anchor="middle">0805 (2012 metric)</text>
              <text x="380" y="118" fill="#8b949e" font-size="10" text-anchor="middle">Mass: ~0.021g</text>
            </svg>
          </div>
        </div>
      </div>
      <div class="section">
        <h2 class="section-title">Recommended Land Pattern</h2>
        <div class="card">
          <table class="detail-table">
            <tr><td>Pad Width</td><td>1.0mm</td></tr>
            <tr><td>Pad-to-Pad (Reflow)</td><td>1.7 to 2.0mm</td></tr>
            <tr><td>Pad Height</td><td>1.4mm</td></tr>
            <tr><td>Solder Paste</td><td>100&ndash;150 &micro;m</td></tr>
          </table>
        </div>
      </div>
    </div>
  </div>

  <div class="section">
    <h2 class="section-title">Impedance Behavior</h2>
    <div class="chart-wrap">
      <h3>Impedance vs. Frequency (characteristic for 47µF X5R)</h3>
      <svg id="impedance-chart" width="100%" height="260" viewBox="0 0 700 260">
        <rect x="60" y="20" width="600" height="200" fill="#0d1117" rx="4"/>
        <line x1="60" y1="220" x2="660" y2="220" stroke="#21262d" stroke-width="1"/>
        <line x1="60" y1="170" x2="660" y2="170" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="60" y1="120" x2="660" y2="120" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="60" y1="70" x2="660" y2="70" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="60" y1="20" x2="60" y2="220" stroke="#21262d" stroke-width="1"/>
        <line x1="180" y1="20" x2="180" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="300" y1="20" x2="300" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="420" y1="20" x2="420" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="540" y1="20" x2="540" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <path d="M60,35 L135,61 L209,88 L284,114 L359,140 L434,166 L330,195 L350,205" stroke="#00b8b0" stroke-width="2.5" fill="none"/>
        <circle cx="350" cy="205" r="5" fill="#00b8b0" opacity="0.8"/>
        <path d="M350,205 L375,197 L405,189 L660,186" stroke="#f85149" stroke-width="2.5" fill="none" stroke-dasharray="6,3"/>
        <line x1="350" y1="205" x2="350" y2="230" stroke="#00b8b0" stroke-width="0.5" stroke-dasharray="3,3" opacity="0.5"/>
        <text x="350" y="248" fill="#00b8b0" font-size="10" text-anchor="middle">SRF: Not specified in Samsung catalog</text>
        <rect x="120" y="24" width="100" height="20" rx="4" fill="rgba(0,184,176,0.12)"/>
        <text x="170" y="38" fill="#00b8b0" font-size="10" text-anchor="middle">Capacitive</text>
        <rect x="530" y="24" width="100" height="20" rx="4" fill="rgba(248,81,73,0.12)"/>
        <text x="580" y="38" fill="#f85149" font-size="10" text-anchor="middle">Inductive</text>
        <rect x="60" y="222" width="290" height="4" rx="2" fill="rgba(63,185,80,0.3)"/>
        <text x="205" y="240" fill="#3fb950" font-size="9" text-anchor="middle">Usable range (&le; SRF)</text>
        <text x="12" y="124" fill="#484f58" font-size="9" text-anchor="middle" transform="rotate(-90,12,124)">|Z| impedance</text>
      </svg>
      <div class="chart-note">SRF: Not specified in Samsung catalog. X5R dielectric shows higher ESR at elevated temperatures.</div>
    </div>
  </div>

  <div class="section">
    <h2 class="section-title">Reflow Soldering Profile</h2>
    <div class="chart-wrap">
      <h3>Standard Reflow Profile (Samsung CL21 Series)</h3>
      <svg id="reflow-chart" width="100%" height="220" viewBox="0 0 700 220">
        <rect x="60" y="10" width="600" height="170" fill="#0d1117" rx="4"/>
        <line x1="60" y1="180" x2="660" y2="180" stroke="#21262d" stroke-width="1"/>
        <line x1="60" y1="10" x2="60" y2="180" stroke="#21262d" stroke-width="1"/>
        <line x1="60" y1="130" x2="660" y2="130" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="60" y1="80" x2="660" y2="80" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <line x1="60" y1="30" x2="660" y2="30" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>
        <path d="M80,175 L200,130 L300,130 L380,80 L420,30 L460,30 L500,80 L580,130 L660,175" stroke="#d29922" stroke-width="2.5" fill="none"/>
        <path d="M80,175 L200,130 L300,130 L370,65 L410,15 L470,15 L510,65 L580,130 L660,175" stroke="#f85149" stroke-width="1.5" fill="none" stroke-dasharray="5,4" opacity="0.6"/>
        <text x="55" y="133" fill="#484f58" font-size="9" text-anchor="end">150&deg;C</text>
        <text x="55" y="83" fill="#484f58" font-size="9" text-anchor="end">220&deg;C</text>
        <text x="55" y="33" fill="#484f58" font-size="9" text-anchor="end">245&deg;C</text>
        <text x="480" y="13" fill="#f85149" font-size="9">260&deg;C limit</text>
        <line x1="60" y1="15" x2="660" y2="15" stroke="#f85149" stroke-width="0.5" stroke-dasharray="2,3" opacity="0.4"/>
        <line x1="250" y1="208" x2="270" y2="208" stroke="#d29922" stroke-width="2"/>
        <text x="275" y="212" fill="#8b949e" font-size="9">Standard</text>
        <line x1="360" y1="208" x2="380" y2="208" stroke="#f85149" stroke-width="1.5" stroke-dasharray="4,3"/>
        <text x="385" y="212" fill="#8b949e" font-size="9">Limit</text>
      </svg>
      <table class="profile-table">
        <thead><tr><th>Phase</th><th>Standard</th><th>Limit</th></tr></thead>
        <tbody>
          <tr><td>Pre-heating</td><td>150&ndash;200&deg;C, 60&ndash;120s</td><td>Same</td></tr>
          <tr><td>Heating</td><td>Above 220&deg;C, 30&ndash;60s</td><td>Above 230&deg;C, 60s max</td></tr>
          <tr><td>Peak Temperature</td><td>245&deg;C &plusmn; 5&deg;C</td><td>260&deg;C, 10s</td></tr>
          <tr><td>Cycles</td><td colspan="2">2 times max</td></tr>
        </tbody>
      </table>
    </div>
  </div>

  <div class="section">
    <h2 class="section-title">Environmental &amp; Reliability</h2>
    <div class="env-grid">
      <div class="env-card"><div class="env-name">Adhesive Strength</div><div class="env-spec">No damage</div><div class="env-detail">10N (0805), 10s hold</div></div>
      <div class="env-card"><div class="env-name">Vibration</div><div class="env-spec">&Delta;C within &plusmn;5%</div><div class="env-detail">10&ndash;55Hz, 1.5mm amp, 6h total</div></div>
      <div class="env-card"><div class="env-name">Solderability</div><div class="env-spec">&ge;95% metallized</div><div class="env-detail">245 &plusmn; 5&deg;C, 3 &plusmn; 0.3s dip</div></div>
      <div class="env-card"><div class="env-name">Bending Test</div><div class="env-spec">&Delta;C within &plusmn;10%</div><div class="env-detail">1mm deflection (0805)</div></div>
      <div class="env-card"><div class="env-name">Soldering Heat</div><div class="env-spec">&Delta;C within &plusmn;7.5%</div><div class="env-detail">270 &plusmn; 5&deg;C, 10 &plusmn; 1s</div></div>
      <div class="env-card"><div class="env-name">Temperature Cycle</div><div class="env-spec">&Delta;C within &plusmn;7.5%</div><div class="env-detail">5 cycles, &minus;55&deg;C &harr; +85&deg;C</div></div>
      <div class="env-card"><div class="env-name">Insulation Resistance</div><div class="env-spec">2.1MΩ min</div><div class="env-detail">6.3V DC, 25&deg;C</div></div>
      <div class="env-card"><div class="env-name">Dielectric Strength</div><div class="env-spec">No damage</div><div class="env-detail">250% rated (15V), 1&ndash;5s</div></div>
    </div>
  </div>

  <div class="section">
    <h2 class="section-title">Vendor &amp; Sourcing</h2>
    <div class="vendor-cards">
      <div class="vendor-card recommended">
        <div class="vc-name">Mouser</div>
        <div class="vc-price">$0.068</div>
        <div class="vc-detail">PN: 187-CL21A476MQYNNNE</div>
        <div class="vc-detail">Reel: 4,000 pcs</div>
      </div>
    </div>
  </div>

  <div class="section">
    <h2 class="section-title">Samsung CL21 0805 Family (Adom Basic Parts)</h2>
    <div class="card">
      <table class="detail-table" style="font-size:12px">
        <tr style="border-bottom:2px solid var(--border)"><td style="font-weight:600;color:var(--text)">Value / Voltage / Dielectric</td><td style="font-weight:600;color:var(--text)">MPN</td></tr>
        <tr><td>100nF / 50V X7R</td><td>CL21B104KBCNFNC</td></tr>
        <tr><td>470nF / 50V X7R</td><td>CL21B474KBFNNNG</td></tr>
        <tr><td>1µF / 50V X7R</td><td>CL21B105KBFNNNE</td></tr>
        <tr><td>2.2µF / 25V X5R</td><td>CL21A225KAFNNNG</td></tr>
        <tr><td>4.7µF / 25V X5R</td><td>CL21A475KAQNNNG</td></tr>
        <tr><td>10µF / 16V X5R</td><td>CL21A106KOQNNNG</td></tr>
        <tr><td>22µF / 10V X5R</td><td>CL21A226MPQNNNE</td></tr>
        <tr style="background:rgba(0,184,176,0.06)"><td>47µF / 6.3V X5R &#9664;</td><td>CL21A476MQYNNNE</td></tr>
      </table>
    </div>
  </div>

  <div class="source">Samsung Electro-Mechanics CL21 Series Datasheet &middot; Adom Component Characterization</div>
</div>
<script>
(function() {
  function setupChartTooltip(svgId, dataPoints, color, formatX, formatY) {
    const svg = document.getElementById(svgId);
    if (!svg) return;
    const ns = 'http://www.w3.org/2000/svg';

    const dot = document.createElementNS(ns, 'circle');
    dot.setAttribute('r', '5');
    dot.setAttribute('fill', color);
    dot.setAttribute('stroke', '#0d1117');
    dot.setAttribute('stroke-width', '2');
    dot.style.display = 'none';
    dot.style.pointerEvents = 'none';
    svg.appendChild(dot);

    const tipGroup = document.createElementNS(ns, 'g');
    tipGroup.style.display = 'none';
    tipGroup.style.pointerEvents = 'none';
    const tipBg = document.createElementNS(ns, 'rect');
    tipBg.setAttribute('rx', '4');
    tipBg.setAttribute('fill', '#161b22');
    tipBg.setAttribute('stroke', '#30363d');
    tipBg.setAttribute('stroke-width', '1');
    const tipLine1 = document.createElementNS(ns, 'text');
    tipLine1.setAttribute('font-family', 'JetBrains Mono, monospace');
    tipLine1.setAttribute('font-size', '10');
    tipLine1.setAttribute('fill', '#e6edf3');
    const tipLine2 = document.createElementNS(ns, 'text');
    tipLine2.setAttribute('font-family', 'JetBrains Mono, monospace');
    tipLine2.setAttribute('font-size', '10');
    tipLine2.setAttribute('fill', color);
    tipGroup.appendChild(tipBg);
    tipGroup.appendChild(tipLine1);
    tipGroup.appendChild(tipLine2);
    svg.appendChild(tipGroup);

    const vLine = document.createElementNS(ns, 'line');
    vLine.setAttribute('stroke', color);
    vLine.setAttribute('stroke-width', '0.5');
    vLine.setAttribute('stroke-dasharray', '3,3');
    vLine.setAttribute('opacity', '0.5');
    vLine.style.display = 'none';
    vLine.style.pointerEvents = 'none';
    svg.appendChild(vLine);

    function lerp(pts, svgX) {
      if (svgX <= pts[0].sx) return pts[0];
      if (svgX >= pts[pts.length-1].sx) return pts[pts.length-1];
      for (let i = 0; i < pts.length - 1; i++) {
        if (svgX >= pts[i].sx && svgX <= pts[i+1].sx) {
          const t = (svgX - pts[i].sx) / (pts[i+1].sx - pts[i].sx);
          return {
            sx: svgX,
            sy: pts[i].sy + t * (pts[i+1].sy - pts[i].sy),
            vx: pts[i].vx + t * (pts[i+1].vx - pts[i].vx),
            vy: pts[i].vy + t * (pts[i+1].vy - pts[i].vy),
          };
        }
      }
      return pts[0];
    }

    svg.addEventListener('mousemove', function(e) {
      const pt = svg.createSVGPoint();
      pt.x = e.clientX; pt.y = e.clientY;
      const svgPt = pt.matrixTransform(svg.getScreenCTM().inverse());
      const minX = dataPoints[0].sx, maxX = dataPoints[dataPoints.length-1].sx;
      if (svgPt.x < minX - 10 || svgPt.x > maxX + 10) {
        dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none';
        return;
      }
      const p = lerp(dataPoints, svgPt.x);
      dot.setAttribute('cx', p.sx); dot.setAttribute('cy', p.sy); dot.style.display = '';
      vLine.setAttribute('x1', p.sx); vLine.setAttribute('y1', p.sy);
      vLine.setAttribute('x2', p.sx); vLine.setAttribute('y2', 220); vLine.style.display = '';

      const xLabel = formatX(p.vx);
      const yLabel = formatY(p.vy);
      tipLine1.textContent = xLabel;
      tipLine2.textContent = yLabel;

      const tipX = p.sx + 12, tipY = p.sy - 28;
      const boxW = Math.max(xLabel.length, yLabel.length) * 7 + 16;
      const boxH = 32;
      const adjustedX = tipX + boxW > 660 ? p.sx - boxW - 12 : tipX;
      const adjustedY = tipY < 10 ? p.sy + 12 : tipY;

      tipBg.setAttribute('x', adjustedX); tipBg.setAttribute('y', adjustedY);
      tipBg.setAttribute('width', boxW); tipBg.setAttribute('height', boxH);
      tipLine1.setAttribute('x', adjustedX + 8); tipLine1.setAttribute('y', adjustedY + 13);
      tipLine2.setAttribute('x', adjustedX + 8); tipLine2.setAttribute('y', adjustedY + 26);
      tipGroup.style.display = '';
    });

    svg.addEventListener('mouseleave', function() {
      dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none';
    });

    svg.style.cursor = 'crosshair';
  }

  function fmtFreq(f) {
    if (f >= 1e9) return (f/1e9).toFixed(1) + ' GHz';
    if (f >= 1e6) return (f/1e6).toFixed(1) + ' MHz';
    return (f/1e3).toFixed(0) + ' kHz';
  }
  function fmtZ(z) {
    if (z >= 1000) return (z/1000).toFixed(2) + ' k\u03A9';
    if (z >= 1) return z.toFixed(1) + ' \u03A9';
    return (z*1000).toFixed(0) + ' m\u03A9';
  }
  function fmtTime(t) { return t.toFixed(0) + 's'; }
  function fmtTemp(t) { return t.toFixed(0) + '\u00B0C'; }

  // Impedance chart
  var impedanceData = [
    {sx:60, sy:162, vx:10000, vy:0.3386},
    {sx:101, sy:178, vx:19816, vy:0.1709},
    {sx:143, sy:193, vx:39269, vy:0.0862},
    {sx:184, sy:205, vx:77818, vy:0.0435},
    {sx:226, sy:205, vx:154207, vy:0.022},
    {sx:267, sy:205, vx:305583, vy:0.0111},
    {sx:309, sy:205, vx:605557, vy:0.0056},
    {sx:350, sy:205, vx:1200000, vy:0.0028},
    {sx:350, sy:205, vx:1200000, vy:0.05},
    {sx:375, sy:192, vx:1800000, vy:0.09},
    {sx:406, sy:180, vx:3000000, vy:0.15},
    {sx:448, sy:165, vx:6000000, vy:0.3},
    {sx:660, sy:87, vx:200000000, vy:10.0},
  ];
  setupChartTooltip('impedance-chart', impedanceData, '#00b8b0', fmtFreq, function(z) { return '|Z| = ' + fmtZ(z); });

  // Reflow chart (multi-curve with click to switch)
  var reflowStd = [
    {sx:80,sy:175,vx:0,vy:25},{sx:200,sy:130,vx:60,vy:150},{sx:300,sy:130,vx:150,vy:150},
    {sx:380,sy:80,vx:195,vy:220},{sx:420,sy:30,vx:210,vy:245},{sx:460,sy:30,vx:225,vy:245},
    {sx:500,sy:80,vx:240,vy:220},{sx:580,sy:130,vx:280,vy:150},{sx:660,sy:175,vx:360,vy:25}
  ];
  var reflowLimit = [
    {sx:80,sy:175,vx:0,vy:25},{sx:200,sy:130,vx:60,vy:150},{sx:300,sy:130,vx:150,vy:150},
    {sx:370,sy:65,vx:190,vy:230},{sx:410,sy:15,vx:205,vy:260},{sx:470,sy:15,vx:230,vy:260},
    {sx:510,sy:65,vx:250,vy:230},{sx:580,sy:130,vx:280,vy:150},{sx:660,sy:175,vx:360,vy:25}
  ];
  var reflowCurves = [
    { data: reflowStd,   color: '#d29922', label: 'Standard' },
    { data: reflowLimit, color: '#f85149', label: 'Limit' }
  ];

  (function setupReflowMultiCurve() {
    var svg = document.getElementById('reflow-chart');
    if (!svg) return;
    var ns = 'http://www.w3.org/2000/svg';
    var activeIdx = 0;

    var dot = document.createElementNS(ns, 'circle');
    dot.setAttribute('r', '5'); dot.setAttribute('stroke', '#0d1117'); dot.setAttribute('stroke-width', '2');
    dot.style.display = 'none'; dot.style.pointerEvents = 'none'; svg.appendChild(dot);

    var vLine = document.createElementNS(ns, 'line');
    vLine.setAttribute('stroke-width', '0.5'); vLine.setAttribute('stroke-dasharray', '3,3');
    vLine.setAttribute('opacity', '0.5'); vLine.style.display = 'none'; vLine.style.pointerEvents = 'none';
    svg.appendChild(vLine);

    var tipGroup = document.createElementNS(ns, 'g');
    tipGroup.style.display = 'none'; tipGroup.style.pointerEvents = 'none';
    var tipBg = document.createElementNS(ns, 'rect');
    tipBg.setAttribute('rx', '4'); tipBg.setAttribute('fill', '#161b22');
    tipBg.setAttribute('stroke', '#30363d'); tipBg.setAttribute('stroke-width', '1');
    var tipLine1 = document.createElementNS(ns, 'text');
    tipLine1.setAttribute('font-family', 'JetBrains Mono, monospace'); tipLine1.setAttribute('font-size', '10'); tipLine1.setAttribute('fill', '#e6edf3');
    var tipLine2 = document.createElementNS(ns, 'text');
    tipLine2.setAttribute('font-family', 'JetBrains Mono, monospace'); tipLine2.setAttribute('font-size', '10');
    var tipLine3 = document.createElementNS(ns, 'text');
    tipLine3.setAttribute('font-family', 'JetBrains Mono, monospace'); tipLine3.setAttribute('font-size', '9'); tipLine3.setAttribute('fill', '#484f58');
    tipGroup.appendChild(tipBg); tipGroup.appendChild(tipLine1); tipGroup.appendChild(tipLine2); tipGroup.appendChild(tipLine3);
    svg.appendChild(tipGroup);

    function setActive(idx) {
      activeIdx = idx;
      var c = reflowCurves[idx];
      dot.setAttribute('fill', c.color); vLine.setAttribute('stroke', c.color); tipLine2.setAttribute('fill', c.color);
    }
    setActive(0);

    function lerp(pts, svgX) {
      if (svgX <= pts[0].sx) return pts[0];
      if (svgX >= pts[pts.length-1].sx) return pts[pts.length-1];
      for (var i = 0; i < pts.length - 1; i++) {
        if (svgX >= pts[i].sx && svgX <= pts[i+1].sx) {
          var t = (svgX - pts[i].sx) / (pts[i+1].sx - pts[i].sx);
          return { sx: svgX, sy: pts[i].sy + t * (pts[i+1].sy - pts[i].sy), vx: pts[i].vx + t * (pts[i+1].vx - pts[i].vx), vy: pts[i].vy + t * (pts[i+1].vy - pts[i].vy) };
        }
      }
      return pts[0];
    }

    svg.addEventListener('click', function() { setActive((activeIdx + 1) % reflowCurves.length); });

    svg.addEventListener('mousemove', function(e) {
      var pt = svg.createSVGPoint(); pt.x = e.clientX; pt.y = e.clientY;
      var svgPt = pt.matrixTransform(svg.getScreenCTM().inverse());
      var c = reflowCurves[activeIdx];
      var minX = c.data[0].sx, maxX = c.data[c.data.length-1].sx;
      if (svgPt.x < minX - 10 || svgPt.x > maxX + 10) {
        dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none'; return;
      }
      var p = lerp(c.data, svgPt.x);
      dot.setAttribute('cx', p.sx); dot.setAttribute('cy', p.sy); dot.style.display = '';
      vLine.setAttribute('x1', p.sx); vLine.setAttribute('y1', p.sy);
      vLine.setAttribute('x2', p.sx); vLine.setAttribute('y2', 180); vLine.style.display = '';

      var xLabel = fmtTime(p.vx);
      var yLabel = 'Temp = ' + fmtTemp(p.vy);
      var curveLabel = 'Click to switch \u2022 ' + c.label;
      tipLine1.textContent = xLabel; tipLine2.textContent = yLabel; tipLine3.textContent = curveLabel;

      var tipX = p.sx + 12, tipY = p.sy - 38;
      var boxW = Math.max(xLabel.length, yLabel.length, curveLabel.length) * 6.5 + 16;
      var boxH = 44;
      var adjustedX = tipX + boxW > 660 ? p.sx - boxW - 12 : tipX;
      var adjustedY = tipY < 10 ? p.sy + 12 : tipY;

      tipBg.setAttribute('x', adjustedX); tipBg.setAttribute('y', adjustedY);
      tipBg.setAttribute('width', boxW); tipBg.setAttribute('height', boxH);
      tipLine1.setAttribute('x', adjustedX + 8); tipLine1.setAttribute('y', adjustedY + 13);
      tipLine2.setAttribute('x', adjustedX + 8); tipLine2.setAttribute('y', adjustedY + 26);
      tipLine3.setAttribute('x', adjustedX + 8); tipLine3.setAttribute('y', adjustedY + 39);
      tipGroup.style.display = '';
    });

    svg.addEventListener('mouseleave', function() {
      dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none';
    });

    svg.style.cursor = 'pointer';
  })();
})();
</script>
</body>
</html>