feat: add Signal favicon (ember pulse with cyan rim)
Deploy / lint (push) Successful in 10s
Deploy / test (push) Successful in 1m17s
Deploy / deploy (push) Successful in 38s

Wire the chosen brand mark as an SVG favicon and set theme-color to the void background.
This commit is contained in:
2026-07-18 11:51:44 +02:00
parent 72f10917a8
commit e07da0f8f0
2 changed files with 58 additions and 0 deletions
+2
View File
@@ -3,7 +3,9 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0a0b11" />
<title>Signal — Trading Intelligence</title>
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
+56
View File
@@ -0,0 +1,56 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" role="img" aria-label="Signal">
<defs>
<radialGradient id="void" cx="50%" cy="42%" r="70%">
<stop offset="0%" stop-color="#141622"/>
<stop offset="100%" stop-color="#0a0b11"/>
</radialGradient>
<radialGradient id="emberCore" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffb199"/>
<stop offset="45%" stop-color="#ff6a45"/>
<stop offset="100%" stop-color="#e24a2a"/>
</radialGradient>
<radialGradient id="emberGlow" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ff6a45" stop-opacity="0.5"/>
<stop offset="55%" stop-color="#ff6a45" stop-opacity="0.1"/>
<stop offset="100%" stop-color="#ff6a45" stop-opacity="0"/>
</radialGradient>
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#9fd8e8"/>
<stop offset="45%" stop-color="#2f9db2"/>
<stop offset="100%" stop-color="#1a6f82"/>
</linearGradient>
<filter id="soft" x="-40%" y="-40%" width="180%" height="180%">
<feGaussianBlur stdDeviation="0.55" result="b"/>
<feMerge>
<feMergeNode in="b"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<rect width="32" height="32" rx="7" fill="url(#void)"/>
<circle cx="16" cy="16" r="11.2" fill="none" stroke="#2f9db2" stroke-opacity="0.18" stroke-width="0.75"/>
<circle cx="16" cy="16" r="8.4" fill="none" stroke="#2f9db2" stroke-opacity="0.28" stroke-width="0.85"/>
<path
d="M 7.4 18.8 A 9.2 9.2 0 0 1 24.6 13.2"
fill="none"
stroke="url(#rim)"
stroke-width="1.55"
stroke-linecap="round"
opacity="0.95"
/>
<path
d="M 8.2 20.1 A 9.2 9.2 0 0 1 23.5 14.4"
fill="none"
stroke="#6ec9db"
stroke-width="0.55"
stroke-linecap="round"
opacity="0.35"
/>
<circle cx="16" cy="16" r="9.5" fill="url(#emberGlow)"/>
<circle cx="16" cy="16" r="4" fill="url(#emberCore)" filter="url(#soft)"/>
<circle cx="15.2" cy="15" r="1.25" fill="#ffe0d4" opacity="0.55"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB