File size: 8,483 Bytes
2f04aaa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Cute kitten illustration">
  <title>Cute Kitten</title>
  <desc>A detailed SVG illustration of an adorable kitten with soft fur, big eyes, pink nose, whiskers, paws, and a curled tail.</desc>

  <defs>
    <!-- Fur gradients -->
    <radialGradient id="furGrad" cx="40%" cy="35%" r="70%">
      <stop offset="0%" stop-color="#f8d9a6"/>
      <stop offset="55%" stop-color="#f2c07f"/>
      <stop offset="100%" stop-color="#e7a763"/>
    </radialGradient>

    <radialGradient id="bellyGrad" cx="50%" cy="35%" r="70%">
      <stop offset="0%" stop-color="#fff6e8"/>
      <stop offset="100%" stop-color="#f2d9b3"/>
    </radialGradient>

    <radialGradient id="innerEarGrad" cx="50%" cy="30%" r="70%">
      <stop offset="0%" stop-color="#ffd6db"/>
      <stop offset="100%" stop-color="#f4a7b2"/>
    </radialGradient>

    <radialGradient id="noseGrad" cx="50%" cy="40%" r="70%">
      <stop offset="0%" stop-color="#ff9aad"/>
      <stop offset="100%" stop-color="#e46a82"/>
    </radialGradient>

    <!-- Eye iris -->
    <radialGradient id="irisGrad" cx="50%" cy="45%" r="55%">
      <stop offset="0%" stop-color="#b7ffbf"/>
      <stop offset="60%" stop-color="#57d46b"/>
      <stop offset="100%" stop-color="#2a9442"/>
    </radialGradient>

    <!-- Subtle shadow filter -->
    <filter id="softShadow" x="-30%" y="-30%" width="160%" height="160%">
      <feDropShadow dx="0" dy="6" stdDeviation="8" flood-color="#000000" flood-opacity="0.2"/>
    </filter>

    <!-- Glow for eyes -->
    <filter id="eyeGlow" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="1.2" result="blur"/>
      <feMerge>
        <feMergeNode in="blur"/>
        <feMergeNode in="SourceGraphic"/>
      </feMerge>
    </filter>

    <!-- Clipping paths -->
    <clipPath id="headClip">
      <circle cx="320" cy="230" r="120"/>
    </clipPath>

    <clipPath id="bodyClip">
      <ellipse cx="320" cy="410" rx="165" ry="200"/>
    </clipPath>
  </defs>

  <!-- Ground shadow -->
  <ellipse cx="320" cy="590" rx="180" ry="22" fill="#000" opacity="0.12"/>

  <!-- Tail (behind body) -->
  <g id="tail" filter="url(#softShadow)">
    <path d="M 470 450
             C 565 420, 590 520, 520 560
             C 475 585, 425 555, 445 510"
          fill="none" stroke="#e7a763" stroke-width="46" stroke-linecap="round" stroke-linejoin="round" opacity="0.98"/>
    <!-- Tail stripes -->
    <path d="M 500 445 C 540 435, 555 470, 540 490"
          fill="none" stroke="#d08d4f" stroke-width="12" stroke-linecap="round" opacity="0.8"/>
    <path d="M 470 500 C 510 500, 520 535, 500 555"
          fill="none" stroke="#d08d4f" stroke-width="12" stroke-linecap="round" opacity="0.8"/>
    <!-- Tail outline hint -->
    <path d="M 470 450
             C 565 420, 590 520, 520 560
             C 475 585, 425 555, 445 510"
          fill="none" stroke="#b8793f" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" opacity="0.35"/>
  </g>

  <!-- Body -->
  <g id="body" filter="url(#softShadow)">
    <ellipse cx="320" cy="410" rx="165" ry="200" fill="url(#furGrad)"/>
    <!-- Belly -->
    <ellipse cx="320" cy="455" rx="115" ry="150" fill="url(#bellyGrad)" opacity="0.95"/>
    <!-- Body stripes -->
    <g clip-path="url(#bodyClip)" opacity="0.7">
      <path d="M 240 360 C 280 340, 330 340, 370 360" fill="none" stroke="#d08d4f" stroke-width="16" stroke-linecap="round"/>
      <path d="M 230 410 C 280 390, 340 390, 390 410" fill="none" stroke="#d08d4f" stroke-width="16" stroke-linecap="round"/>
      <path d="M 250 470 C 300 450, 350 450, 390 470" fill="none" stroke="#d08d4f" stroke-width="14" stroke-linecap="round" opacity="0.9"/>
    </g>

    <!-- Paws -->
    <g id="paws">
      <ellipse cx="250" cy="560" rx="60" ry="38" fill="url(#bellyGrad)" stroke="#c8925a" stroke-width="2" opacity="0.98"/>
      <ellipse cx="390" cy="560" rx="60" ry="38" fill="url(#bellyGrad)" stroke="#c8925a" stroke-width="2" opacity="0.98"/>
      <!-- Toe lines -->
      <path d="M 220 560 Q 230 570, 240 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
      <path d="M 250 560 Q 260 572, 270 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
      <path d="M 280 560 Q 290 572, 300 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>

      <path d="M 360 560 Q 370 572, 380 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
      <path d="M 390 560 Q 400 572, 410 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
      <path d="M 420 560 Q 430 572, 440 560" fill="none" stroke="#c8925a" stroke-width="3" stroke-linecap="round" opacity="0.8"/>
    </g>
  </g>

  <!-- Ears (behind head) -->
  <g id="ears" filter="url(#softShadow)">
    <!-- Left ear -->
    <path d="M 220 140 L 265 60 L 300 150 Q 260 135, 220 140 Z"
          fill="url(#furGrad)" stroke="#b8793f" stroke-width="2" stroke-linejoin="round"/>
    <path d="M 238 138 L 265 78 L 292 142 Q 265 130, 238 138 Z"
          fill="url(#innerEarGrad)" opacity="0.95"/>
    <!-- Right ear -->
    <path d="M 380 140 L 340 60 L 300 150 Q 340 135, 380 140 Z"
          fill="url(#furGrad)" stroke="#b8793f" stroke-width="2" stroke-linejoin="round"/>
    <path d="M 362 138 L 340 78 L 318 142 Q 340 130, 362 138 Z"
          fill="url(#innerEarGrad)" opacity="0.95"/>
  </g>

  <!-- Head -->
  <g id="head" filter="url(#softShadow)">
    <circle cx="320" cy="230" r="120" fill="url(#furGrad)" stroke="#b8793f" stroke-width="2"/>

    <!-- Head stripes clipped to head -->
    <g clip-path="url(#headClip)" opacity="0.75">
      <path d="M 300 120 C 280 130, 270 150, 280 170" fill="none" stroke="#cf9552" stroke-width="14" stroke-linecap="round"/>
      <path d="M 340 120 C 360 130, 370 150, 360 170" fill="none" stroke="#cf9552" stroke-width="14" stroke-linecap="round"/>
      <path d="M 320 135 C 320 155, 320 175, 320 195" fill="none" stroke="#cf9552" stroke-width="10" stroke-linecap="round" opacity="0.9"/>
    </g>

    <!-- Eyes -->
    <g id="eyes" filter="url(#eyeGlow)">
      <!-- Left eye white -->
      <ellipse cx="275" cy="220" rx="34" ry="28" fill="#ffffff"/>
      <!-- Right eye white -->
      <ellipse cx="365" cy="220" rx="34" ry="28" fill="#ffffff"/>

      <!-- Irises -->
      <ellipse cx="275" cy="222" rx="24" ry="22" fill="url(#irisGrad)"/>
      <ellipse cx="365" cy="222" rx="24" ry="22" fill="url(#irisGrad)"/>

      <!-- Pupils -->
      <ellipse cx="275" cy="222" rx="9" ry="14" fill="#1b1b1b"/>
      <ellipse cx="365" cy="222" rx="9" ry="14" fill="#1b1b1b"/>

      <!-- Highlights -->
      <circle cx="268" cy="212" r="5" fill="#ffffff" opacity="0.95"/>
      <circle cx="358" cy="212" r="5" fill="#ffffff" opacity="0.95"/>
      <circle cx="281" cy="231" r="2.5" fill="#ffffff" opacity="0.8"/>
      <circle cx="371" cy="231" r="2.5" fill="#ffffff" opacity="0.8"/>

      <!-- Upper eyelids -->
      <path d="M 241 208 Q 275 195, 309 208" fill="none" stroke="#b8793f" stroke-width="6" stroke-linecap="round" opacity="0.7"/>
      <path d="M 331 208 Q 365 195, 399 208" fill="none" stroke="#b8793f" stroke-width="6" stroke-linecap="round" opacity="0.7"/>
    </g>

    <!-- Nose -->
    <path d="M 310 255 L 330 255 L 320 270 Z" fill="url(#noseGrad)" stroke="#b8793f" stroke-width="2"/>

    <!-- Mouth -->
    <path d="M 320 270 Q 308 282, 296 276" fill="none" stroke="#8a5a2b" stroke-width="3.5" stroke-linecap="round"/>
    <path d="M 320 270 Q 332 282, 344 276" fill="none" stroke="#8a5a2b" stroke-width="3.5" stroke-linecap="round"/>

    <!-- Whisker pads -->
    <ellipse cx="285" cy="268" rx="16" ry="10" fill="#f2d9b3" opacity="0.8"/>
    <ellipse cx="355" cy="268" rx="16" ry="10" fill="#f2d9b3" opacity="0.8"/>

    <!-- Whiskers -->
    <g stroke="#8a5a2b" stroke-width="3" stroke-linecap="round" opacity="0.9">
      <path d="M 270 265 L 210 258"/>
      <path d="M 270 272 L 205 272"/>
      <path d="M 270 279 L 210 286"/>

      <path d="M 370 265 L 430 258"/>
      <path d="M 370 272 L 435 272"/>
      <path d="M 370 279 L 430 286"/>
    </g>

    <!-- Cheek blush -->
    <ellipse cx="270" cy="255" rx="18" ry="10" fill="#ffb3c1" opacity="0.45"/>
    <ellipse cx="370" cy="255" rx="18" ry="10" fill="#ffb3c1" opacity="0.45"/>
  </g>
</svg>