Files
claude-code-best-practice/!/gemini-jumping.svg
T
2026-04-22 15:31:13 +05:00

208 lines
8.2 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -20 100 120" width="140" height="168">
<defs>
<!-- 3D enhanced Gemini gradient (lighter top) -->
<linearGradient id="gjBodyGrad" x1="0" y1="0" x2="0.3" y2="1">
<stop offset="0%" stop-color="#6AA3FF"/>
<stop offset="20%" stop-color="#4285F4"/>
<stop offset="50%" stop-color="#7B68EE"/>
<stop offset="80%" stop-color="#EA4335"/>
<stop offset="100%" stop-color="#B82A22"/>
</linearGradient>
<!-- 3D gradient for border -->
<linearGradient id="gjBorderGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#6AA3FF"/>
<stop offset="25%" stop-color="#4285F4"/>
<stop offset="50%" stop-color="#9080F0"/>
<stop offset="75%" stop-color="#EA4335"/>
<stop offset="100%" stop-color="#C03028"/>
</linearGradient>
<!-- Inner panel gradient (dark with depth) -->
<linearGradient id="gjInnerGrad" x1="0" y1="0" x2="0.3" y2="1">
<stop offset="0%" stop-color="#282840"/>
<stop offset="50%" stop-color="#1a1a2e"/>
<stop offset="100%" stop-color="#0E0E1A"/>
</linearGradient>
<!-- Arm gradient (3D colorful) -->
<linearGradient id="gjArmL" x1="0" y1="0" x2="1" y2="0.5">
<stop offset="0%" stop-color="#3570D0"/>
<stop offset="50%" stop-color="#5A78E0"/>
<stop offset="100%" stop-color="#7B68EE"/>
</linearGradient>
<linearGradient id="gjArmR" x1="0" y1="0" x2="1" y2="0.5">
<stop offset="0%" stop-color="#D04535"/>
<stop offset="50%" stop-color="#EA4335"/>
<stop offset="100%" stop-color="#C03028"/>
</linearGradient>
<!-- Leg gradient -->
<linearGradient id="gjLegL" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#4285F4"/>
<stop offset="50%" stop-color="#6A58D0"/>
<stop offset="100%" stop-color="#5040A0"/>
</linearGradient>
<linearGradient id="gjLegR" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#B84030"/>
<stop offset="50%" stop-color="#EA4335"/>
<stop offset="100%" stop-color="#D03828"/>
</linearGradient>
<!-- Eye white gradient (glossy) -->
<radialGradient id="gjEyeGrad" cx="35%" cy="30%" r="65%">
<stop offset="0%" stop-color="#FFFFFF"/>
<stop offset="60%" stop-color="#F0F0F0"/>
<stop offset="100%" stop-color="#D8D8D8"/>
</radialGradient>
<!-- Chevron 3D gradient -->
<linearGradient id="gjChevronGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#6AA3FF"/>
<stop offset="30%" stop-color="#4285F4"/>
<stop offset="60%" stop-color="#9080F0"/>
<stop offset="100%" stop-color="#EA4335"/>
</linearGradient>
<!-- Ground shadow radial -->
<radialGradient id="gjShadowGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#000" stop-opacity="0.35"/>
<stop offset="60%" stop-color="#000" stop-opacity="0.15"/>
<stop offset="100%" stop-color="#000" stop-opacity="0"/>
</radialGradient>
<!-- Drop shadow filter -->
<filter id="gjDropShadow" x="-15%" y="-15%" width="130%" height="140%">
<feDropShadow dx="1.5" dy="2.5" stdDeviation="1.8" flood-color="#000" flood-opacity="0.28"/>
</filter>
<!-- Inner depth for body -->
<filter id="gjInnerDepth" x="-5%" y="-5%" width="110%" height="110%">
<feGaussianBlur in="SourceAlpha" stdDeviation="1.5" result="blur"/>
<feOffset dx="0" dy="1.5" result="off"/>
<feFlood flood-color="#000" flood-opacity="0.2" result="color"/>
<feComposite in="color" in2="off" operator="in" result="shadow"/>
<feMerge>
<feMergeNode in="shadow"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Chevron glow -->
<filter id="gjChevronGlow" x="-15%" y="-15%" width="130%" height="130%">
<feGaussianBlur in="SourceGraphic" stdDeviation="1" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<style>
.gemini-body {
animation: jump 0.5s ease-in-out infinite;
transform-origin: 42px 86px;
}
.shadow {
animation: shadow-scale 0.5s ease-in-out infinite;
}
.left-arm {
animation: wave-left 0.5s ease-in-out infinite;
transform-origin: 18px 45px;
}
.right-arm {
animation: wave-right 0.5s ease-in-out infinite;
transform-origin: 66px 45px;
}
.left-leg {
animation: leg-bounce 0.5s ease-in-out infinite;
transform-origin: 30px 72px;
}
.right-leg {
animation: leg-bounce 0.5s ease-in-out infinite 0.1s;
transform-origin: 54px 72px;
}
@keyframes jump {
0%, 100% { transform: translateY(0) scaleY(1) scaleX(1); }
30% { transform: translateY(-16px) scaleY(1.1) scaleX(0.95); }
50% { transform: translateY(-18px) scaleY(1.05) scaleX(0.98); }
80% { transform: translateY(-5px) scaleY(0.95) scaleX(1.05); }
}
@keyframes shadow-scale {
0%, 100% { transform: scaleX(1); opacity: 0.35; }
50% { transform: scaleX(0.7); opacity: 0.25; }
}
@keyframes wave-left {
0%, 100% { transform: rotate(0deg); }
50% { transform: rotate(-25deg); }
}
@keyframes wave-right {
0%, 100% { transform: rotate(0deg); }
50% { transform: rotate(25deg); }
}
@keyframes leg-bounce {
0%, 100% { transform: scaleY(1); }
40% { transform: scaleY(1.15); }
60% { transform: scaleY(0.88); }
}
</style>
<!-- Shadow -->
<ellipse class="shadow" cx="42" cy="92" rx="20" ry="4" fill="url(#gjShadowGrad)"/>
<!-- Gemini Character Group -->
<g class="gemini-body" filter="url(#gjDropShadow)">
<!-- Left arm -->
<rect class="left-arm" x="6" y="42" width="12" height="6" rx="2" fill="url(#gjArmL)"/>
<rect class="left-arm" x="7" y="43" width="4" height="2" fill="#8AB8FF" opacity="0.3" rx="0.5"/>
<!-- Right arm -->
<rect class="right-arm" x="66" y="42" width="12" height="6" rx="2" fill="url(#gjArmR)"/>
<rect class="right-arm" x="67" y="43" width="4" height="2" fill="#F08070" opacity="0.25" rx="0.5"/>
<!-- Left leg -->
<rect class="left-leg" x="26" y="72" width="8" height="14" rx="2" fill="url(#gjLegL)"/>
<rect class="left-leg" x="27" y="73" width="3" height="7" fill="#6AA3FF" opacity="0.3" rx="0.5"/>
<!-- Right leg -->
<rect class="right-leg" x="50" y="72" width="8" height="14" rx="2" fill="url(#gjLegR)"/>
<rect class="right-leg" x="51" y="73" width="3" height="7" fill="#F08070" opacity="0.25" rx="0.5"/>
<!-- Gemini CLI Icon - Rounded rectangle with gradient border -->
<g transform="translate(10, 8)" filter="url(#gjInnerDepth)">
<!-- Outer gradient border (3D enhanced) -->
<rect x="0" y="0" width="64" height="64" rx="14" fill="url(#gjBorderGrad)"/>
<!-- Border highlight (top edge shine) -->
<rect x="2" y="1" width="40" height="3" rx="2" fill="#8AB8FF" opacity="0.3"/>
<!-- Inner dark background (3D depth) -->
<rect x="5" y="5" width="54" height="54" rx="10" fill="url(#gjInnerGrad)"/>
<!-- Inner panel top highlight -->
<rect x="8" y="7" width="28" height="4" rx="2" fill="#3A3A58" opacity="0.4"/>
<!-- Chevron ">" symbol - thick terminal style (3D glow) -->
<g transform="translate(14, 16)" filter="url(#gjChevronGlow)">
<!-- Top arm of chevron -->
<polygon points="0,14 20,0 24,5 10,16" fill="url(#gjChevronGrad)"/>
<!-- Bottom arm of chevron -->
<polygon points="0,18 10,16 24,27 20,32" fill="url(#gjChevronGrad)"/>
<!-- Chevron highlight -->
<polygon points="1,14.5 18,2 20,4 9,14" fill="#9CC0FF" opacity="0.25"/>
</g>
</g>
<!-- Eyes positioned on the icon - happy bouncing -->
<rect x="24" y="28" width="8" height="12" rx="2" fill="url(#gjEyeGrad)"/>
<!-- Left eye highlights -->
<rect x="25" y="29" width="2.5" height="2.5" fill="#fff" opacity="0.8" rx="0.5"/>
<rect x="29" y="35" width="1.2" height="1.2" fill="#fff" opacity="0.35" rx="0.3"/>
<rect x="44" y="28" width="8" height="12" rx="2" fill="url(#gjEyeGrad)"/>
<!-- Right eye highlights -->
<rect x="45" y="29" width="2.5" height="2.5" fill="#fff" opacity="0.8" rx="0.5"/>
<rect x="49" y="35" width="1.2" height="1.2" fill="#fff" opacity="0.35" rx="0.3"/>
</g>
</svg>