Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-09-10 11:27:31 +02:00
parent a7aad57e0b
commit 130a43eabc
42 changed files with 2545 additions and 122 deletions
+18
View File
@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-01" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#6366f1"/>
<stop offset="100%" stop-color="#4338ca"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-01)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fbcfe8"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fbcfe8"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#334155"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-02" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#0ea5e9"/>
<stop offset="100%" stop-color="#0284c7"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-02)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<circle cx="34" cy="30" r="10" fill="#78350f"/>
<circle cx="50" cy="24" r="11" fill="#78350f"/>
<circle cx="66" cy="30" r="10" fill="#78350f"/>
<circle cx="28" cy="42" r="8" fill="#78350f"/>
<circle cx="72" cy="42" r="8" fill="#78350f"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-03" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#10b981"/>
<stop offset="100%" stop-color="#059669"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-03)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fef08a"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fef08a"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-04" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#8b5cf6"/>
<stop offset="100%" stop-color="#6d28d9"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-04)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#ffedd5"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#ffedd5"/>
<circle cx="50" cy="28" r="12" fill="#1e293b"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#1e293b"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#1e293b"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+18
View File
@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-05" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#f43f5e"/>
<stop offset="100%" stop-color="#be123c"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-05)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#18181b"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M40 56 C44 62 56 62 60 56 C62 64 54 68 50 68 C46 68 38 64 40 56 Z" fill="#18181b"/>
</svg>
+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-06" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#f59e0b"/>
<stop offset="100%" stop-color="#d97706"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-06)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fcd34d"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fcd34d"/>
<circle cx="34" cy="30" r="10" fill="#451a03"/>
<circle cx="50" cy="24" r="11" fill="#451a03"/>
<circle cx="66" cy="30" r="10" fill="#451a03"/>
<circle cx="28" cy="42" r="8" fill="#451a03"/>
<circle cx="72" cy="42" r="8" fill="#451a03"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+24
View File
@@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-07" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#14b8a6"/>
<stop offset="100%" stop-color="#0f766e"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-07)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M26 46 C26 26 74 26 74 46" fill="none" stroke="#0f172a" stroke-width="3.5" stroke-linecap="round"/>
<rect x="23" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<rect x="71" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<path d="M26 52 C26 62 40 62 44 60" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round"/>
<circle cx="44" cy="60" r="2.5" fill="#0f172a"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-08" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3b82f6"/>
<stop offset="100%" stop-color="#1d4ed8"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-08)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fbcfe8"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fbcfe8"/>
<circle cx="50" cy="28" r="12" fill="#334155"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#334155"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#334155"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+21
View File
@@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-09" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#ec4899"/>
<stop offset="100%" stop-color="#be185d"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-09)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#7c2d12"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-10" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#64748b"/>
<stop offset="100%" stop-color="#334155"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-10)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<circle cx="34" cy="30" r="10" fill="#0f172a"/>
<circle cx="50" cy="24" r="11" fill="#0f172a"/>
<circle cx="66" cy="30" r="10" fill="#0f172a"/>
<circle cx="28" cy="42" r="8" fill="#0f172a"/>
<circle cx="72" cy="42" r="8" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M40 56 C44 62 56 62 60 56 C62 64 54 68 50 68 C46 68 38 64 40 56 Z" fill="#0f172a"/>
</svg>
+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-11" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#84cc16"/>
<stop offset="100%" stop-color="#4d7c0f"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-11)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#ffedd5"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#ffedd5"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+23
View File
@@ -0,0 +1,23 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-12" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#f97316"/>
<stop offset="100%" stop-color="#c2410c"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-12)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fcd34d"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fcd34d"/>
<circle cx="50" cy="28" r="12" fill="#1e1b4b"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#1e1b4b"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#1e1b4b"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+18
View File
@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-13" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#a855f7"/>
<stop offset="100%" stop-color="#7e22ce"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-13)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fbcfe8"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fbcfe8"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#4c1d95"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+27
View File
@@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-14" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#06b6d4"/>
<stop offset="100%" stop-color="#0891b2"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-14)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#ffedd5"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#ffedd5"/>
<circle cx="34" cy="30" r="10" fill="#422006"/>
<circle cx="50" cy="24" r="11" fill="#422006"/>
<circle cx="66" cy="30" r="10" fill="#422006"/>
<circle cx="28" cy="42" r="8" fill="#422006"/>
<circle cx="72" cy="42" r="8" fill="#422006"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M26 46 C26 26 74 26 74 46" fill="none" stroke="#0f172a" stroke-width="3.5" stroke-linecap="round"/>
<rect x="23" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<rect x="71" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<path d="M26 52 C26 62 40 62 44 60" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round"/>
<circle cx="44" cy="60" r="2.5" fill="#0f172a"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-15" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#e11d48"/>
<stop offset="100%" stop-color="#9f1239"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-15)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M40 56 C44 62 56 62 60 56 C62 64 54 68 50 68 C46 68 38 64 40 56 Z" fill="#172554"/>
</svg>
+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-16" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#475569"/>
<stop offset="100%" stop-color="#1e293b"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-16)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fef08a"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fef08a"/>
<circle cx="50" cy="28" r="12" fill="#3b0764"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#3b0764"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#3b0764"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+18
View File
@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-17" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#d946ef"/>
<stop offset="100%" stop-color="#a21caf"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-17)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#b91c1c"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-18" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#059669"/>
<stop offset="100%" stop-color="#065f46"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-18)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#ffedd5"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#ffedd5"/>
<circle cx="34" cy="30" r="10" fill="#1e293b"/>
<circle cx="50" cy="24" r="11" fill="#1e293b"/>
<circle cx="66" cy="30" r="10" fill="#1e293b"/>
<circle cx="28" cy="42" r="8" fill="#1e293b"/>
<circle cx="72" cy="42" r="8" fill="#1e293b"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-19" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#2563eb"/>
<stop offset="100%" stop-color="#1e40af"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-19)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fbcfe8"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fbcfe8"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-20" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#ea580c"/>
<stop offset="100%" stop-color="#9a3412"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-20)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fcd34d"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fcd34d"/>
<circle cx="50" cy="28" r="12" fill="#7c2d12"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#7c2d12"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#7c2d12"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M40 56 C44 62 56 62 60 56 C62 64 54 68 50 68 C46 68 38 64 40 56 Z" fill="#7c2d12"/>
</svg>
+26
View File
@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-21" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#7c3aed"/>
<stop offset="100%" stop-color="#5b21b6"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-21)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<path d="M30 36 C33 23 67 23 70 36 C68 40 64 42 64 42 C54 35 46 35 36 42 Z" fill="#e11d48"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M26 46 C26 26 74 26 74 46" fill="none" stroke="#0f172a" stroke-width="3.5" stroke-linecap="round"/>
<rect x="23" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<rect x="71" y="42" width="6" height="12" rx="3" fill="#38bdf8"/>
<path d="M26 52 C26 62 40 62 44 60" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round"/>
<circle cx="44" cy="60" r="2.5" fill="#0f172a"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-22" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#0284c7"/>
<stop offset="100%" stop-color="#0369a1"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-22)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#ffedd5"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#ffedd5"/>
<circle cx="34" cy="30" r="10" fill="#1e293b"/>
<circle cx="50" cy="24" r="11" fill="#1e293b"/>
<circle cx="66" cy="30" r="10" fill="#1e293b"/>
<circle cx="28" cy="42" r="8" fill="#1e293b"/>
<circle cx="72" cy="42" r="8" fill="#1e293b"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-23" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#0d9488"/>
<stop offset="100%" stop-color="#115e59"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-23)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fbcfe8"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fbcfe8"/>
<path d="M26 38 C28 22 72 22 74 38 Z" fill="#1e293b"/>
<path d="M30 38 H86 C88 38 88 41 84 43 H30 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>
+23
View File
@@ -0,0 +1,23 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<defs>
<linearGradient id="bg_avatar-24" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#4f46e5"/>
<stop offset="100%" stop-color="#3730a3"/>
</linearGradient>
</defs>
<circle cx="50" cy="50" r="50" fill="url(#bg_avatar-24)"/>
<ellipse cx="50" cy="94" rx="34" ry="24" fill="#ffffff" fill-opacity="0.2"/>
<rect x="42" y="58" width="16" height="14" rx="4" fill="#fed7aa"/>
<ellipse cx="50" cy="46" rx="20" ry="22" fill="#fed7aa"/>
<circle cx="50" cy="28" r="12" fill="#0f172a"/>
<path d="M30 36 C34 24 66 24 70 36 C70 42 66 46 66 46 C56 36 44 36 34 46 Z" fill="#0f172a"/>
<path d="M68 36 C78 30 84 44 78 52 C74 46 72 40 68 36 Z" fill="#0f172a"/>
<circle cx="43" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="57" cy="45" r="2.5" fill="#1e293b"/>
<circle cx="44" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="58" cy="44" r="0.8" fill="#ffffff"/>
<circle cx="43" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<circle cx="57" cy="45" r="6" fill="none" stroke="#0f172a" stroke-width="2"/>
<line x1="49" y1="45" x2="51" y2="45" stroke="#0f172a" stroke-width="2"/>
<path d="M45 54 Q50 60 55 54" fill="none" stroke="#991b1b" stroke-width="2" stroke-linecap="round"/>
</svg>