<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 290 120" width="290" height="120">
<defs>
<linearGradient id="brand" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A5B4FC" />
<stop offset="50%" stop-color="#818CF8" />
<stop offset="100%" stop-color="#6366F1" />
</linearGradient>
<linearGradient id="node" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#C7D2FE" />
<stop offset="100%" stop-color="#818CF8" />
</linearGradient>
<linearGradient id="line" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#818CF8" stop-opacity="0.3" />
<stop offset="100%" stop-color="#A5B4FC" stop-opacity="0.7" />
</linearGradient>
<linearGradient id="badge1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#818CF8" stop-opacity="0.1" />
<stop offset="100%" stop-color="#A5B4FC" stop-opacity="0.18" />
</linearGradient>
<mask id="ringMask" maskContentUnits="userSpaceOnUse">
<rect x="-100" y="-100" width="500" height="500" fill="white" />
<circle cx="44" cy="44" r="12" fill="black" />
</mask>
</defs>
<g transform="translate(16, 16)">
<!-- Connection lines -->
<line x1="60" y1="32" x2="80" y2="16" stroke="url(#line)" stroke-width="2" stroke-linecap="round" />
<line x1="60" y1="56" x2="80" y2="72" stroke="url(#line)" stroke-width="2" stroke-linecap="round" />
<line x1="28" y1="32" x2="8" y2="16" stroke="url(#line)" stroke-width="2" stroke-linecap="round" />
<line x1="28" y1="56" x2="8" y2="72" stroke="url(#line)" stroke-width="2" stroke-linecap="round" />
<!-- Central ring (hollow ? inner circle is transparent) -->
<circle cx="44" cy="44" r="20" fill="url(#brand)" mask="url(#ringMask)" />
<!-- Outer nodes -->
<circle cx="82" cy="14" r="5.5" fill="url(#node)" />
<circle cx="82" cy="74" r="5.5" fill="url(#node)" />
<circle cx="6" cy="14" r="5.5" fill="url(#node)" />
<circle cx="6" cy="74" r="5.5" fill="url(#node)" />
<!-- Lock body -->
<rect x="37.5" y="42.5" width="13" height="9" rx="2" fill="url(#brand)" />
<!-- Lock shackle -->
<path d="M40.5 42.5 V39 a3.5 3.5 0 0 1 7 0 V42.5" fill="none" stroke="url(#brand)" stroke-width="2" stroke-linecap="round" />
<!-- Keyhole (transparent) -->
<circle cx="44" cy="46" r="1.3" fill="black" opacity="0.5" />
<rect x="43.35" y="46" width="1.3" height="2.5" rx="0.5" fill="black" opacity="0.5" />
</g>
<!-- OPC UA -->
<text x="120" y="50" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif" font-size="38" font-weight="900" fill="url(#brand)" letter-spacing="-1.5">
OPC UA
</text>
<!-- PHP Client -->
<text x="122" y="78" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif" font-size="24" font-weight="800" fill="#A5B4FC" letter-spacing="0.5">
PHP Client
</text>
<!-- Badge: pure php -->
<rect x="120" y="92" width="72" height="18" rx="9" fill="url(#badge1)" />
<text x="156" y="104" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif" font-size="9" font-weight="600" fill="#818CF8" text-anchor="middle" letter-spacing="1" opacity="0.7">
PURE PHP
</text>
<!-- Badge: full stack -->
<rect x="198" y="92" width="80" height="18" rx="9" fill="url(#brand)" />
<text x="238" y="104" font-family="system-ui, -apple-system, 'Segoe UI', sans-serif" font-size="9" font-weight="700" fill="#0F0E1A" text-anchor="middle" letter-spacing="1">
FULL STACK
</text>
</svg>
|