67 lines
3.9 KiB
XML
67 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg width="256" height="256" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
|
|
<title>PeerSpeak</title>
|
|
<desc>Two luminous voices meet directly to form a flowing S.</desc>
|
|
<defs>
|
|
<linearGradient id="tile" x1="32" y1="20" x2="225" y2="239" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#101d42"/>
|
|
<stop offset="0.5" stop-color="#071225"/>
|
|
<stop offset="1" stop-color="#160b31"/>
|
|
</linearGradient>
|
|
<linearGradient id="voice" x1="45" y1="76" x2="214" y2="184" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#35efff"/>
|
|
<stop offset="0.42" stop-color="#2583ff"/>
|
|
<stop offset="0.68" stop-color="#8a42ff"/>
|
|
<stop offset="1" stop-color="#ff3cdd"/>
|
|
</linearGradient>
|
|
<linearGradient id="edge" x1="30" y1="31" x2="225" y2="231" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#2fe9ff" stop-opacity="0.7"/>
|
|
<stop offset="0.48" stop-color="#386dff" stop-opacity="0.18"/>
|
|
<stop offset="1" stop-color="#eb42ff" stop-opacity="0.65"/>
|
|
</linearGradient>
|
|
<radialGradient id="core">
|
|
<stop stop-color="#ffffff"/>
|
|
<stop offset="0.28" stop-color="#baf7ff"/>
|
|
<stop offset="0.62" stop-color="#7b67ff" stop-opacity="0.65"/>
|
|
<stop offset="1" stop-color="#7b67ff" stop-opacity="0"/>
|
|
</radialGradient>
|
|
<filter id="shadow" x="-35%" y="-35%" width="170%" height="170%">
|
|
<feGaussianBlur stdDeviation="6"/>
|
|
</filter>
|
|
<filter id="soft-shadow" x="-20%" y="-20%" width="140%" height="150%">
|
|
<feDropShadow dx="0" dy="7" stdDeviation="7" flood-color="#000611" flood-opacity="0.8"/>
|
|
</filter>
|
|
</defs>
|
|
|
|
<!-- A dark stage makes the cyan/violet conversation mark legible at taskbar size. -->
|
|
<rect x="8" y="8" width="240" height="240" rx="55" fill="url(#tile)"/>
|
|
<rect x="9.5" y="9.5" width="237" height="237" rx="53.5" fill="none" stroke="url(#edge)" stroke-width="3"/>
|
|
|
|
<!-- Broad color glow, kept behind the silhouette. -->
|
|
<path d="M36 128 C50 128 48 101 60 101 C72 101 68 153 81 153 C94 153 90 112 104 112 C115 112 116 128 128 128 C140 128 141 144 152 144 C166 144 162 103 175 103 C188 103 184 155 196 155 C208 155 206 128 220 128"
|
|
fill="none" stroke="url(#voice)" stroke-width="25" stroke-linecap="round"
|
|
opacity="0.5" filter="url(#shadow)"/>
|
|
|
|
<!-- The two waveform halves are equal peers and meet at one bright point. -->
|
|
<path d="M36 128 C50 128 48 101 60 101 C72 101 68 153 81 153 C94 153 90 112 104 112 C115 112 116 128 128 128"
|
|
fill="none" stroke="url(#voice)" stroke-width="17" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<path d="M128 128 C140 128 141 144 152 144 C166 144 162 103 175 103 C188 103 184 155 196 155 C208 155 206 128 220 128"
|
|
fill="none" stroke="url(#voice)" stroke-width="17" stroke-linecap="round" stroke-linejoin="round"/>
|
|
|
|
<!-- A single flowing connection turns the conversation into PeerSpeak's S-mark. -->
|
|
<path d="M160 66 C142 52 108 57 101 78 C94 98 113 111 128 119 C148 130 163 141 157 164 C151 188 117 199 94 184"
|
|
fill="none" stroke="#050b1b" stroke-opacity="0.72" stroke-width="33"
|
|
stroke-linecap="round" stroke-linejoin="round" filter="url(#soft-shadow)"/>
|
|
<path d="M160 66 C142 52 108 57 101 78 C94 98 113 111 128 119 C148 130 163 141 157 164 C151 188 117 199 94 184"
|
|
fill="none" stroke="url(#voice)" stroke-width="25"
|
|
stroke-linecap="round" stroke-linejoin="round"/>
|
|
<path d="M157 65 C139 56 113 62 108 79" fill="none" stroke="#bdf9ff"
|
|
stroke-opacity="0.68" stroke-width="4" stroke-linecap="round"/>
|
|
<path d="M153 166 C146 184 118 192 98 181" fill="none" stroke="#f4a8ff"
|
|
stroke-opacity="0.52" stroke-width="4" stroke-linecap="round"/>
|
|
|
|
<!-- The direct connection is the brightest and simplest detail. -->
|
|
<circle cx="128" cy="128" r="30" fill="url(#core)" opacity="0.78" filter="url(#shadow)"/>
|
|
<circle cx="128" cy="128" r="6.5" fill="#ffffff"/>
|
|
</svg>
|