Surround a string with "friendliness pellets" Input a String and surround it with a rounded rectangle of alternating &quot;friendliness pellets&quot;.(0)
Sandbox

Idea originally from Lyxal.
Challenge
Given a single line non-empty String of length \$&lt;100\$, print the string with a rounded rectangle of alternating pellets(0) around it.
The rectangle must be 11 lines in height.
The first line of the rectangle must have at least 1 pellet.
The middle line of the rectangle must be at least 13 characters long. There must be a padding of one space on each side of the text.
Strings smaller than 9 characters must be padded with spaces equally on both sides to fit the above specification.
The right side is allowed to have one extra space if the string is of even length.
The template for the output is as follows:
      00000..... 6 spaces
    0 4 spaces 
  0   2 spaces
 0    1 space
0     no spaces

If the string's length is greater than or equal to 9; the first line must have \$\text{length}-8\$ pellets.
Example Input and Output
Input:

Hello World!

Output:
       0000  
     0      0  
   0          0
  0            0
 0              0
 0 Hello World! 0
 0              0
  0            0
   0          0
     0      0
       0000

Input

0

Output
       0
     0   0  
   0       0
  0         0
 0           0
 0     0     0
 0           0
  0         0
   0       0
     0   0
       0

Input

The quick brown fox

Output
       00000000000 
     0             0  
   0                 0
  0                   0
 0                     0
 0 the quick brown fox 0
 0                     0
  0                   0
   0                 0
     0             0
       00000000000

Input

In this world, it's KILL or BE killed

Output
      00000000000000000000000000000
    0                               0
  0                                   0
 0                                     0
0                                       0
0 In this world, it's KILL or BE killed 0
0                                       0
 0                                     0
  0                                   0
    0                               0
      00000000000000000000000000000

Input

hi there

Output
      0
    0   0
  0       0
 0         0
0           0
0 hi there  0
0           0
 0         0
  0       0
    0   0
      0

Example code in Ruby
Try it online!
a=[4,2,1,0] # space length to create circle

str=gets.chomp;
l = str.length;
# print first line of pellets
print &quot; &quot;*6
if l&lt;=9 then puts &quot;0&quot; else puts &quot;0&quot;*(l-8) end
    
# initial pattern
for n in a do 
    print &quot; &quot;*n +&quot;0&quot;+&quot; &quot;*(5-n)
    print &quot; &quot; if l&lt;=9
    print &quot; &quot;*(l-8) if l&gt;9
    puts &quot; &quot;*(5-n) +&quot;0&quot;

end
    
# display string with spaces
if l&lt;9 then puts &quot;0&quot;+&quot; &quot;*((11-l)/2).floor + str + &quot; &quot;*((12-l)/2).ceil + &quot;0&quot; else puts &quot;0 #{str} 0&quot; end

#initial pattern but reversed
for n in a.reverse do 
    print &quot; &quot;*n +&quot;0&quot;+&quot; &quot;*(5-n)
    print &quot; &quot; if l&lt;=9
    print &quot; &quot;*(l-8) if l&gt;9
    puts &quot; &quot;*(5-n) +&quot;0&quot;
end
    
# last line(same as first line)
print &quot; &quot;*6
if l&lt;=9 then puts &quot;0&quot; else puts &quot;0&quot;*(l-8) end



Scoring
This is code-golf. Shortest answer in each language wins.
Charcoal, 40 bytes
≔⌈⟦¹⁻Ｌθ⁸⟧η×η0↘↘0→↘00↓00‖ＯＯ←η‖Ｏ↓Ｊ⊘⁻⊖ηＬθ⁵θ

Try it online! Link is to verbose version of code. Explanation:
≔⌈⟦¹⁻Ｌθ⁸⟧η

Calculate the number of 0s in the top row.
×η0

Print them.
↘↘0→↘00↓00

Print the remaining 0s on the right.
‖ＯＯ←η

Reflect the additional rows of 0s to the left, by overlapping the top row of 0s onto itself.
‖Ｏ↓

Reflect the 0s downwards overlapping the middle row.
Ｊ⊘⁻⊖ηＬθ⁵θ

Calculate the position of the text and print it there. This is necessary for short strings but also avoids dealing with a Charcoal bug whereby an overlapped reflection moves the cursor to the wrong place.