<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 780 270" font-family="Consolas, 'Courier New', monospace">
  <defs>
    <marker id="ah" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#888"/>
    </marker>
    <marker id="ahg" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
      <path d="M0 0L10 5L0 10z" fill="#98c379"/>
    </marker>
  </defs>

  <!-- Cluster row (jobs) -->
  <text x="20" y="20" fill="#d4d4d4" font-size="12" font-weight="bold">Jobs</text>
  <text x="65" y="20" fill="#666" font-size="10">(one per cluster)</text>

  <rect x="40" y="32" width="72" height="38" rx="3" fill="#1a3050" stroke="#4a8fd4" stroke-width="1"/>
  <text x="76" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C0</text>

  <rect x="118" y="32" width="72" height="38" rx="3" fill="#1a3050" stroke="#4a8fd4" stroke-width="1"/>
  <text x="154" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C1</text>

  <rect x="196" y="32" width="72" height="38" rx="3" fill="#1a3050" stroke="#4a8fd4" stroke-width="1"/>
  <text x="232" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C2</text>

  <rect x="274" y="32" width="72" height="38" rx="3" fill="#2a1a40" stroke="#9a6be8" stroke-width="1"/>
  <text x="310" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C3</text>

  <rect x="352" y="32" width="72" height="38" rx="3" fill="#2a1a40" stroke="#9a6be8" stroke-width="1"/>
  <text x="388" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C4</text>

  <rect x="430" y="32" width="72" height="38" rx="3" fill="#2a1a40" stroke="#9a6be8" stroke-width="1"/>
  <text x="466" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C5</text>

  <rect x="508" y="32" width="72" height="38" rx="3" fill="#40301a" stroke="#e8a46b" stroke-width="1"/>
  <text x="544" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C6</text>

  <rect x="586" y="32" width="72" height="38" rx="3" fill="#40301a" stroke="#e8a46b" stroke-width="1"/>
  <text x="622" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C7</text>

  <rect x="664" y="32" width="72" height="38" rx="3" fill="#40301a" stroke="#e8a46b" stroke-width="1"/>
  <text x="700" y="56" fill="#d4d4d4" font-size="10" text-anchor="middle">C8</text>

  <!-- Arrows down to worker queues -->
  <line x1="76" y1="70" x2="76" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="154" y1="70" x2="154" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="232" y1="70" x2="232" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="310" y1="70" x2="310" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="388" y1="70" x2="388" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="466" y1="70" x2="466" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="544" y1="70" x2="544" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="622" y1="70" x2="622" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>
  <line x1="700" y1="70" x2="700" y2="102" stroke="#555" stroke-width="0.8" marker-end="url(#ah)"/>

  <!-- Worker queue boxes -->
  <text x="20" y="95" fill="#d4d4d4" font-size="10">Queues</text>

  <!-- Worker 0 queue -->
  <rect x="40" y="104" width="228" height="30" rx="4" fill="#1a2a3a" stroke="#4a8fd4" stroke-width="0.8" stroke-dasharray="3"/>
  <text x="154" y="124" fill="#4a8fd4" font-size="9" text-anchor="middle">Worker 0 deque</text>

  <!-- Worker 1 queue -->
  <rect x="274" y="104" width="228" height="30" rx="4" fill="#2a1a3a" stroke="#9a6be8" stroke-width="0.8" stroke-dasharray="3"/>
  <text x="388" y="124" fill="#9a6be8" font-size="9" text-anchor="middle">Worker 1 deque</text>

  <!-- Worker 2 queue -->
  <rect x="508" y="104" width="228" height="30" rx="4" fill="#3a2a1a" stroke="#e8a46b" stroke-width="0.8" stroke-dasharray="3"/>
  <text x="622" y="124" fill="#e8a46b" font-size="9" text-anchor="middle">Worker 2 deque</text>

  <!-- Worker thread boxes -->
  <rect x="95" y="156" width="130" height="44" rx="5" fill="#1a3050" stroke="#4a8fd4" stroke-width="1.2"/>
  <text x="160" y="174" fill="#d4d4d4" font-size="10" text-anchor="middle">Worker 0</text>
  <text x="160" y="190" fill="#4a8fd4" font-size="9" text-anchor="middle">processing...</text>

  <rect x="325" y="156" width="130" height="44" rx="5" fill="#2a1a40" stroke="#9a6be8" stroke-width="1.2"/>
  <text x="390" y="174" fill="#d4d4d4" font-size="10" text-anchor="middle">Worker 1</text>
  <text x="390" y="190" fill="#9a6be8" font-size="9" text-anchor="middle">processing...</text>

  <rect x="560" y="156" width="130" height="44" rx="5" fill="#1a2a1a" stroke="#98c379" stroke-width="1.2"/>
  <text x="625" y="174" fill="#d4d4d4" font-size="10" text-anchor="middle">Worker 2</text>
  <text x="625" y="190" fill="#98c379" font-size="9" text-anchor="middle">idle, stealing</text>

  <!-- Work-stealing arrow -->
  <path d="M560 178 C520 178 490 160 470 140" stroke="#98c379" stroke-width="1.5" fill="none" stroke-dasharray="4" marker-end="url(#ahg)"/>
  <text x="490" y="170" fill="#98c379" font-size="9" text-anchor="middle">steal</text>

  <!-- Footer -->
  <line x1="20" y1="220" x2="760" y2="220" stroke="#333" stroke-width="0.6"/>
  <text x="390" y="240" fill="#555" font-size="10" text-anchor="middle">Each cluster is one job. Idle workers steal from busy workers' deques.</text>
  <text x="390" y="256" fill="#555" font-size="10" text-anchor="middle">No locks between jobs. No shared state. No fixed partitioning.</text>
</svg>
