- Rewrite D3FEND import to use tactic-level APIs for reliable technique fetching with proper ontology IRIs, descriptions, and tactic assignments - Fix D3FEND technique URLs to use canonical IRI (no more 404s) - All 255 D3FEND techniques now have descriptions from the official API - Change Deactivate button color to red in template management table - Add custom Aegis logo and favicon replacing default Vite assets - Remove unused old API parsing code and clean up fallback list
71 lines
2.4 KiB
XML
71 lines
2.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="none">
|
|
<defs>
|
|
<linearGradient id="shieldGrad" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0%" stop-color="#06b6d4"/>
|
|
<stop offset="100%" stop-color="#0e7490"/>
|
|
</linearGradient>
|
|
<linearGradient id="innerGrad" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#22d3ee" stop-opacity="0.25"/>
|
|
<stop offset="100%" stop-color="#06b6d4" stop-opacity="0.05"/>
|
|
</linearGradient>
|
|
<filter id="glow">
|
|
<feGaussianBlur stdDeviation="6" result="blur"/>
|
|
<feMerge>
|
|
<feMergeNode in="blur"/>
|
|
<feMergeNode in="SourceGraphic"/>
|
|
</feMerge>
|
|
</filter>
|
|
</defs>
|
|
|
|
<!-- Shield body -->
|
|
<path
|
|
d="M256 28 L462 108 C462 108 472 300 256 484 C40 300 50 108 50 108 Z"
|
|
fill="url(#shieldGrad)"
|
|
stroke="#22d3ee"
|
|
stroke-width="6"
|
|
filter="url(#glow)"
|
|
/>
|
|
|
|
<!-- Inner shield -->
|
|
<path
|
|
d="M256 64 L428 130 C428 130 436 290 256 448 C76 290 84 130 84 130 Z"
|
|
fill="url(#innerGrad)"
|
|
stroke="#22d3ee"
|
|
stroke-width="2"
|
|
stroke-opacity="0.3"
|
|
/>
|
|
|
|
<!-- Circuit lines (left) -->
|
|
<g stroke="#0f172a" stroke-width="3" stroke-opacity="0.4">
|
|
<line x1="140" y1="200" x2="200" y2="200"/>
|
|
<line x1="140" y1="200" x2="140" y2="260"/>
|
|
<circle cx="140" cy="200" r="4" fill="#0f172a" fill-opacity="0.4"/>
|
|
<line x1="160" y1="280" x2="200" y2="280"/>
|
|
<circle cx="160" cy="280" r="4" fill="#0f172a" fill-opacity="0.4"/>
|
|
</g>
|
|
|
|
<!-- Circuit lines (right) -->
|
|
<g stroke="#0f172a" stroke-width="3" stroke-opacity="0.4">
|
|
<line x1="372" y1="200" x2="312" y2="200"/>
|
|
<line x1="372" y1="200" x2="372" y2="260"/>
|
|
<circle cx="372" cy="200" r="4" fill="#0f172a" fill-opacity="0.4"/>
|
|
<line x1="352" y1="280" x2="312" y2="280"/>
|
|
<circle cx="352" cy="280" r="4" fill="#0f172a" fill-opacity="0.4"/>
|
|
</g>
|
|
|
|
<!-- Central "A" letterform -->
|
|
<g filter="url(#glow)">
|
|
<path
|
|
d="M256 140 L312 320 L292 320 L278 276 L234 276 L220 320 L200 320 Z
|
|
M240 256 L272 256 L256 192 Z"
|
|
fill="#0f172a"
|
|
fill-opacity="0.85"
|
|
/>
|
|
</g>
|
|
|
|
<!-- Lock/keyhole at bottom of A -->
|
|
<circle cx="256" cy="350" r="22" fill="#0f172a" fill-opacity="0.7" stroke="#22d3ee" stroke-width="2" stroke-opacity="0.5"/>
|
|
<circle cx="256" cy="345" r="8" fill="#22d3ee" fill-opacity="0.8"/>
|
|
<rect x="252" y="348" width="8" height="14" rx="2" fill="#22d3ee" fill-opacity="0.8"/>
|
|
</svg>
|