kogral/assets/icons/kogral-icon-mono-black.svg

222 lines
8.4 KiB
XML
Raw Permalink Normal View History

2026-01-23 16:11:07 +00:00
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<defs>
<radialGradient id="nodeCore-icon-bn" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#4f4f4f"/>
<stop offset="100%" stop-color="#2d2d2d"/>
</radialGradient>
<radialGradient id="nodeAccent-icon-bn" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#7a7a7a"/>
<stop offset="100%" stop-color="#555555"/>
</radialGradient>
<radialGradient id="nodeSecondary-icon-bn" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#999999"/>
<stop offset="100%" stop-color="#6b6b6b"/>
</radialGradient>
<radialGradient id="nodeGold-icon-bn" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#f0f0f0"/>
<stop offset="40%" stop-color="#d0d0d0"/>
<stop offset="100%" stop-color="#a0a0a0"/>
</radialGradient>
<filter id="glow-icon-bn" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="2" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<filter id="glowGold-icon-bn" x="-100%" y="-100%" width="300%" height="300%">
<feGaussianBlur stdDeviation="4" result="blur"/>
<feFlood flood-color="#d0d0d0" flood-opacity="0.6"/>
<feComposite in2="blur" operator="in"/>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<style>
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.1); opacity: 0.85; }
}
@keyframes pulseGlow {
0%, 100% { opacity: 0.4; }
50% { opacity: 0.8; }
}
@keyframes flowToCenter {
0% { stroke-dashoffset: 30; }
100% { stroke-dashoffset: 0; }
}
@keyframes hexRotate {
0%, 100% { opacity: 0.15; }
50% { opacity: 0.3; }
}
.node-center { transform-origin: center; animation: pulse 2.5s ease-in-out infinite; }
.node-1 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 0s; }
.node-2 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 0.4s; }
.node-3 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 0.8s; }
.node-4 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 1.2s; }
.node-5 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 1.6s; }
.node-6 { transform-origin: center; animation: pulse 2.5s ease-in-out infinite 2s; }
.connection-base {
stroke: #909090;
stroke-width: 1;
stroke-linecap: round;
fill: none;
opacity: 0.5;
}
.connection-flow {
stroke: #4f4f4f;
stroke-width: 1.5;
stroke-linecap: round;
stroke-dasharray: 6 25;
fill: none;
animation: flowToCenter 1.8s linear infinite;
}
.connection-flow-accent {
stroke: #7a7a7a;
stroke-width: 1.5;
stroke-linecap: round;
stroke-dasharray: 6 25;
fill: none;
animation: flowToCenter 1.8s linear infinite 0.9s;
}
.hex-outline {
stroke: #4f4f4f;
stroke-width: 0.8;
fill: none;
animation: hexRotate 3s ease-in-out infinite;
}
.hex-outline-inner {
stroke: #7a7a7a;
stroke-width: 0.6;
fill: none;
animation: hexRotate 3s ease-in-out infinite 1.5s;
}
.glow-ring {
fill: none;
stroke: #4f4f4f;
stroke-width: 0.8;
animation: pulseGlow 2.5s ease-in-out infinite;
}
.glow-ring-accent {
fill: none;
stroke: #7a7a7a;
stroke-width: 0.8;
animation: pulseGlow 2.5s ease-in-out infinite 0.5s;
}
</style>
<g id="icon" transform="translate(50, 50) scale(0.25)">
<polygon class="hex-outline" points="256,96 388,176 388,336 256,416 124,336 124,176"/>
<polygon class="hex-outline-inner" points="256,136 352,196 352,316 256,376 160,316 160,196"/>
<g id="connections-radial">
<line class="connection-base" x1="256" y1="256" x2="256" y2="116"/>
<line class="connection-base" x1="256" y1="256" x2="377" y2="186"/>
<line class="connection-base" x1="256" y1="256" x2="377" y2="326"/>
<line class="connection-base" x1="256" y1="256" x2="256" y2="396"/>
<line class="connection-base" x1="256" y1="256" x2="135" y2="326"/>
<line class="connection-base" x1="256" y1="256" x2="135" y2="186"/>
<line class="connection-flow" x1="256" y1="256" x2="256" y2="116"/>
<line class="connection-flow-accent" x1="256" y1="256" x2="377" y2="186"/>
<line class="connection-flow" x1="256" y1="256" x2="377" y2="326"/>
<line class="connection-flow-accent" x1="256" y1="256" x2="256" y2="396"/>
<line class="connection-flow" x1="256" y1="256" x2="135" y2="326"/>
<line class="connection-flow-accent" x1="256" y1="256" x2="135" y2="186"/>
</g>
<g id="connections-perimeter">
<line class="connection-base" x1="256" y1="116" x2="377" y2="186"/>
<line class="connection-base" x1="377" y1="186" x2="377" y2="326"/>
<line class="connection-base" x1="377" y1="326" x2="256" y2="396"/>
<line class="connection-base" x1="256" y1="396" x2="135" y2="326"/>
<line class="connection-base" x1="135" y1="326" x2="135" y2="186"/>
<line class="connection-base" x1="135" y1="186" x2="256" y2="116"/>
</g>
<g id="nodes">
<g class="node-center" filter="url(#glowGold-icon-bn)">
<circle cx="256" cy="256" r="28" fill="url(#nodeGold-icon-bn)"/>
<circle cx="256" cy="256" r="16" fill="#f0f0f0" opacity="0.5"/>
<circle cx="256" cy="256" r="7" fill="#fff" opacity="0.7"/>
</g>
<g class="node-1" filter="url(#glow-icon-bn)">
<circle class="glow-ring-accent" cx="256" cy="116" r="20" opacity="0.3"/>
<circle cx="256" cy="116" r="15" fill="url(#nodeAccent-icon-bn)"/>
<circle cx="256" cy="116" r="6" fill="#fff" opacity="0.2"/>
</g>
<g class="node-2" filter="url(#glow-icon-bn)">
<circle class="glow-ring" cx="377" cy="186" r="20" opacity="0.3"/>
<circle cx="377" cy="186" r="15" fill="url(#nodeCore-icon-bn)"/>
<circle cx="377" cy="186" r="6" fill="#fff" opacity="0.2"/>
</g>
<g class="node-3" filter="url(#glow-icon-bn)">
<circle class="glow-ring-accent" cx="377" cy="326" r="20" opacity="0.3"/>
<circle cx="377" cy="326" r="15" fill="url(#nodeSecondary-icon-bn)"/>
<circle cx="377" cy="326" r="6" fill="#fff" opacity="0.2"/>
</g>
<g class="node-4" filter="url(#glow-icon-bn)">
<circle class="glow-ring" cx="256" cy="396" r="20" opacity="0.3"/>
<circle cx="256" cy="396" r="15" fill="url(#nodeAccent-icon-bn)"/>
<circle cx="256" cy="396" r="6" fill="#fff" opacity="0.2"/>
</g>
<g class="node-5" filter="url(#glow-icon-bn)">
<circle class="glow-ring-accent" cx="135" cy="326" r="20" opacity="0.3"/>
<circle cx="135" cy="326" r="15" fill="url(#nodeCore-icon-bn)"/>
<circle cx="135" cy="326" r="6" fill="#fff" opacity="0.2"/>
</g>
<g class="node-6" filter="url(#glow-icon-bn)">
<circle class="glow-ring" cx="135" cy="186" r="20" opacity="0.3"/>
<circle cx="135" cy="186" r="15" fill="url(#nodeSecondary-icon-bn)"/>
<circle cx="135" cy="186" r="6" fill="#fff" opacity="0.2"/>
</g>
</g>
<g id="sync-dots" opacity="0.7">
<circle cx="256" cy="186" r="2.5" fill="#4f4f4f">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite"/>
</circle>
<circle cx="316" cy="221" r="2.5" fill="#7a7a7a">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite" begin="0.3s"/>
</circle>
<circle cx="316" cy="291" r="2.5" fill="#4f4f4f">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite" begin="0.6s"/>
</circle>
<circle cx="256" cy="326" r="2.5" fill="#7a7a7a">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite" begin="0.9s"/>
</circle>
<circle cx="196" cy="291" r="2.5" fill="#4f4f4f">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite" begin="1.2s"/>
</circle>
<circle cx="196" cy="221" r="2.5" fill="#7a7a7a">
<animate attributeName="opacity" values="0.3;1;0.3" dur="1.8s" repeatCount="indefinite" begin="1.5s"/>
</circle>
</g>
</g>
</svg>