335 lines
16 KiB
XML
335 lines
16 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 600" width="900" height="600" role="img" aria-label="A lively pelican riding a bicycle by the sea">
|
|
<defs>
|
|
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#6eb6e8"/>
|
|
<stop offset="45%" stop-color="#a8d4f0"/>
|
|
<stop offset="78%" stop-color="#f2c9a0"/>
|
|
<stop offset="100%" stop-color="#f7e2c0"/>
|
|
</linearGradient>
|
|
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#3a8fc4"/>
|
|
<stop offset="40%" stop-color="#2a6fa0"/>
|
|
<stop offset="100%" stop-color="#1e4f78"/>
|
|
</linearGradient>
|
|
<linearGradient id="sand" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#efd7a8"/>
|
|
<stop offset="100%" stop-color="#d9b87a"/>
|
|
</linearGradient>
|
|
<linearGradient id="pelBody" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0%" stop-color="#f4f1ea"/>
|
|
<stop offset="55%" stop-color="#e6e0d4"/>
|
|
<stop offset="100%" stop-color="#cfc6b4"/>
|
|
</linearGradient>
|
|
<linearGradient id="pelWing" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#f7f4ee"/>
|
|
<stop offset="70%" stop-color="#d2cbb8"/>
|
|
<stop offset="100%" stop-color="#8a7f6c"/>
|
|
</linearGradient>
|
|
<linearGradient id="beak" x1="0" y1="0" x2="1" y2="0">
|
|
<stop offset="0%" stop-color="#f0a24a"/>
|
|
<stop offset="50%" stop-color="#e8892e"/>
|
|
<stop offset="100%" stop-color="#c96a1a"/>
|
|
</linearGradient>
|
|
<linearGradient id="pouch" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0%" stop-color="#f2b36a"/>
|
|
<stop offset="100%" stop-color="#d67a3a"/>
|
|
</linearGradient>
|
|
<radialGradient id="sunGlow" cx="50%" cy="50%" r="50%">
|
|
<stop offset="0%" stop-color="#fff6c8" stop-opacity="1"/>
|
|
<stop offset="40%" stop-color="#ffd36a" stop-opacity="0.85"/>
|
|
<stop offset="100%" stop-color="#ffb03a" stop-opacity="0"/>
|
|
</radialGradient>
|
|
<filter id="soft" x="-20%" y="-20%" width="140%" height="140%">
|
|
<feGaussianBlur stdDeviation="1.2"/>
|
|
</filter>
|
|
<filter id="shadow">
|
|
<feDropShadow dx="2" dy="4" stdDeviation="3" flood-color="#000" flood-opacity="0.22"/>
|
|
</filter>
|
|
</defs>
|
|
|
|
<!-- Sky -->
|
|
<rect width="900" height="600" fill="url(#sky)"/>
|
|
|
|
<!-- Sun -->
|
|
<circle cx="760" cy="110" r="70" fill="url(#sunGlow)"/>
|
|
<circle cx="760" cy="110" r="28" fill="#fff1a8"/>
|
|
<circle cx="760" cy="110" r="22" fill="#ffe07a"/>
|
|
|
|
<!-- Distant clouds -->
|
|
<g fill="#fff" opacity="0.88">
|
|
<ellipse cx="140" cy="90" rx="48" ry="18"/>
|
|
<ellipse cx="170" cy="82" rx="34" ry="16"/>
|
|
<ellipse cx="110" cy="86" rx="28" ry="12"/>
|
|
<ellipse cx="420" cy="70" rx="56" ry="16"/>
|
|
<ellipse cx="455" cy="62" rx="30" ry="14"/>
|
|
<ellipse cx="390" cy="66" rx="26" ry="11"/>
|
|
<ellipse cx="600" cy="100" rx="40" ry="13"/>
|
|
<ellipse cx="625" cy="94" rx="24" ry="11"/>
|
|
</g>
|
|
|
|
<!-- Sea -->
|
|
<rect y="310" width="900" height="160" fill="url(#sea)"/>
|
|
<!-- Waves -->
|
|
<g fill="none" stroke="#7ec4e8" stroke-width="2" opacity="0.55">
|
|
<path d="M0 330 Q40 320 80 330 T160 330 T240 330 T320 330 T400 330 T480 330 T560 330 T640 330 T720 330 T800 330 T880 330"/>
|
|
<path d="M0 350 Q50 338 100 350 T200 350 T300 350 T400 350 T500 350 T600 350 T700 350 T800 350 T900 350" opacity="0.7"/>
|
|
<path d="M0 372 Q45 362 90 372 T180 372 T270 372 T360 372 T450 372 T540 372 T630 372 T720 372 T810 372 T900 372"/>
|
|
</g>
|
|
<g fill="#a8dff5" opacity="0.35">
|
|
<ellipse cx="120" cy="340" rx="40" ry="5"/>
|
|
<ellipse cx="320" cy="355" rx="50" ry="4"/>
|
|
<ellipse cx="540" cy="338" rx="35" ry="4"/>
|
|
<ellipse cx="720" cy="360" rx="45" ry="5"/>
|
|
</g>
|
|
|
|
<!-- Horizon haze -->
|
|
<rect y="300" width="900" height="18" fill="#fff" opacity="0.15"/>
|
|
|
|
<!-- Beach -->
|
|
<path d="M0 450 C120 430 220 460 340 445 C460 430 560 470 700 448 C780 438 850 455 900 450 L900 600 L0 600 Z" fill="url(#sand)"/>
|
|
<!-- Sand texture -->
|
|
<g fill="#c9a66a" opacity="0.25">
|
|
<circle cx="60" cy="520" r="1.5"/><circle cx="90" cy="540" r="1"/><circle cx="130" cy="500" r="1.2"/>
|
|
<circle cx="200" cy="560" r="1"/><circle cx="250" cy="510" r="1.4"/><circle cx="310" cy="545" r="1"/>
|
|
<circle cx="400" cy="530" r="1.2"/><circle cx="480" cy="560" r="1"/><circle cx="550" cy="505" r="1.5"/>
|
|
<circle cx="620" cy="540" r="1"/><circle cx="700" cy="520" r="1.3"/><circle cx="780" cy="555" r="1"/>
|
|
<circle cx="840" cy="510" r="1.2"/><circle cx="160" cy="575" r="1"/><circle cx="360" cy="580" r="1.1"/>
|
|
</g>
|
|
|
|
<!-- Palm tree left -->
|
|
<g filter="url(#shadow)">
|
|
<path d="M95 470 C92 420 88 380 100 320" fill="none" stroke="#6b4423" stroke-width="14" stroke-linecap="round"/>
|
|
<path d="M95 470 C98 420 108 380 118 325" fill="none" stroke="#8a5a30" stroke-width="6" stroke-linecap="round" opacity="0.7"/>
|
|
<g fill="#2f8a3a">
|
|
<path d="M100 320 Q40 300 20 270 Q70 300 100 320"/>
|
|
<path d="M100 320 Q50 340 15 350 Q65 335 100 320"/>
|
|
<path d="M100 320 Q150 280 200 265 Q145 300 100 320"/>
|
|
<path d="M100 320 Q160 330 210 355 Q150 335 100 320"/>
|
|
<path d="M100 320 Q90 260 70 230 Q95 270 100 320"/>
|
|
<path d="M100 320 Q130 255 160 235 Q125 275 100 320"/>
|
|
</g>
|
|
<g fill="#24702e" opacity="0.85">
|
|
<path d="M100 325 Q55 310 35 290 Q75 310 100 325"/>
|
|
<path d="M100 325 Q145 305 175 290 Q140 315 100 325"/>
|
|
</g>
|
|
</g>
|
|
<!-- Coconuts -->
|
|
<g fill="#6b3f1f">
|
|
<circle cx="95" cy="328" r="6"/><circle cx="108" cy="332" r="5.5"/><circle cx="100" cy="340" r="5"/>
|
|
</g>
|
|
|
|
<!-- Distant palm right -->
|
|
<g opacity="0.85">
|
|
<path d="M820 460 C818 420 822 390 815 360" fill="none" stroke="#6b4423" stroke-width="10" stroke-linecap="round"/>
|
|
<g fill="#2f8a3a">
|
|
<path d="M815 360 Q770 345 755 320 Q785 345 815 360"/>
|
|
<path d="M815 360 Q860 340 885 325 Q850 350 815 360"/>
|
|
<path d="M815 360 Q800 320 790 300 Q810 330 815 360"/>
|
|
<path d="M815 360 Q845 325 860 305 Q835 335 815 360"/>
|
|
</g>
|
|
</g>
|
|
|
|
<!-- Seagulls -->
|
|
<g fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round" opacity="0.9">
|
|
<path d="M300 120 Q315 110 330 120"/>
|
|
<path d="M330 120 Q345 110 360 122"/>
|
|
<path d="M500 95 Q512 86 524 95"/>
|
|
<path d="M524 95 Q536 86 548 96"/>
|
|
<path d="M650 140 Q660 132 670 140"/>
|
|
<path d="M670 140 Q680 132 690 141"/>
|
|
</g>
|
|
|
|
<!-- Foam line -->
|
|
<path d="M0 448 C80 438 160 458 250 445 C340 432 420 460 520 448 C620 436 720 458 820 446 C860 442 890 450 900 448" fill="none" stroke="#fff" stroke-width="4" opacity="0.55"/>
|
|
|
|
<!-- Shells & starfish -->
|
|
<g>
|
|
<path d="M150 530 Q158 518 168 530 Q158 538 150 530" fill="#e8c4a0" stroke="#c9a07a" stroke-width="1"/>
|
|
<path d="M720 545 Q728 534 738 545 Q728 552 720 545" fill="#f0d0b8" stroke="#d0a888" stroke-width="1"/>
|
|
<!-- starfish -->
|
|
<path d="M200 560 L205 548 L210 560 L222 562 L212 570 L215 582 L205 575 L195 582 L198 570 L188 562 Z" fill="#e07050"/>
|
|
<path d="M650 570 L654 560 L658 570 L668 572 L660 578 L662 588 L654 582 L646 588 L648 578 L640 572 Z" fill="#e88840"/>
|
|
<circle cx="280" cy="575" r="4" fill="#dcc0a0" stroke="#b89878" stroke-width="0.8"/>
|
|
<circle cx="560" cy="555" r="3.5" fill="#e8d0b0"/>
|
|
</g>
|
|
|
|
<!-- Bicycle + Pelican group -->
|
|
<g transform="translate(280 250)" filter="url(#shadow)">
|
|
<!-- Ground contact shadow -->
|
|
<ellipse cx="200" cy="268" rx="120" ry="10" fill="#000" opacity="0.12"/>
|
|
|
|
<!-- Bicycle frame -->
|
|
<g fill="none" stroke="#2a2e36" stroke-width="5" stroke-linejoin="round" stroke-linecap="round">
|
|
<!-- Rear triangle -->
|
|
<path d="M70 210 L150 210 L115 145 Z"/>
|
|
<!-- Front boom / top tube / down tube -->
|
|
<path d="M150 210 L230 145"/>
|
|
<!-- Seat tube extension already in triangle; head tube -->
|
|
<path d="M230 145 L250 210"/>
|
|
<!-- Seat post -->
|
|
<path d="M115 145 L115 120"/>
|
|
<!-- Handlebar stem -->
|
|
<path d="M230 145 L235 118"/>
|
|
<!-- Handlebars -->
|
|
<path d="M210 118 L260 118" stroke-width="4"/>
|
|
<path d="M210 118 Q205 130 208 142" stroke-width="3.5"/>
|
|
<path d="M260 118 Q265 130 262 142" stroke-width="3.5"/>
|
|
<!-- Fork -->
|
|
<path d="M250 210 L235 145" stroke-width="4"/>
|
|
</g>
|
|
<!-- Frame paint accents -->
|
|
<g fill="none" stroke="#c43c2a" stroke-width="3" stroke-linejoin="round" opacity="0.9">
|
|
<path d="M78 208 L145 208 L118 152"/>
|
|
<path d="M155 208 L222 152"/>
|
|
</g>
|
|
|
|
<!-- Seat -->
|
|
<ellipse cx="115" cy="116" rx="18" ry="7" fill="#2a2e36"/>
|
|
<ellipse cx="110" cy="114" rx="10" ry="4" fill="#444a54"/>
|
|
|
|
<!-- Chainring & chain -->
|
|
<circle cx="150" cy="210" r="16" fill="none" stroke="#4a505a" stroke-width="3"/>
|
|
<circle cx="150" cy="210" r="10" fill="none" stroke="#6a707a" stroke-width="2"/>
|
|
<g stroke="#5a606a" stroke-width="1.2">
|
|
<line x1="150" y1="194" x2="150" y2="226"/>
|
|
<line x1="134" y1="210" x2="166" y2="210"/>
|
|
<line x1="138" y1="198" x2="162" y2="222"/>
|
|
<line x1="162" y1="198" x2="138" y2="222"/>
|
|
</g>
|
|
<!-- Chain -->
|
|
<path d="M150 226 Q110 235 70 226" fill="none" stroke="#5a6068" stroke-width="2" stroke-dasharray="4 3"/>
|
|
<path d="M150 194 Q110 185 70 194" fill="none" stroke="#5a6068" stroke-width="2" stroke-dasharray="4 3"/>
|
|
|
|
<!-- Pedals / cranks -->
|
|
<g stroke="#2a2e36" stroke-width="3.5" stroke-linecap="round">
|
|
<line x1="150" y1="210" x2="175" y2="235"/>
|
|
<line x1="150" y1="210" x2="125" y2="185"/>
|
|
</g>
|
|
<rect x="168" y="232" width="16" height="6" rx="2" fill="#3a3e46" transform="rotate(25 176 235)"/>
|
|
<rect x="112" y="180" width="16" height="6" rx="2" fill="#3a3e46" transform="rotate(25 120 183)"/>
|
|
|
|
<!-- Rear wheel -->
|
|
<g transform="translate(70 210)">
|
|
<circle r="48" fill="none" stroke="#1a1e24" stroke-width="6"/>
|
|
<circle r="42" fill="none" stroke="#c8ced6" stroke-width="2.5"/>
|
|
<circle r="8" fill="#2a2e36" stroke="#6a7078" stroke-width="2"/>
|
|
<g stroke="#6a727c" stroke-width="1.2" opacity="0.9">
|
|
<line x1="0" y1="-42" x2="0" y2="42"/>
|
|
<line x1="-42" y1="0" x2="42" y2="0"/>
|
|
<line x1="-30" y1="-30" x2="30" y2="30"/>
|
|
<line x1="30" y1="-30" x2="-30" y2="30"/>
|
|
<line x1="-15" y1="-39" x2="15" y2="39"/>
|
|
<line x1="15" y1="-39" x2="-15" y2="39"/>
|
|
<line x1="-39" y1="-15" x2="39" y2="15"/>
|
|
<line x1="39" y1="-15" x2="-39" y2="15"/>
|
|
</g>
|
|
<!-- tire tread hint -->
|
|
<circle r="48" fill="none" stroke="#3a3e46" stroke-width="1.5" stroke-dasharray="3 8" opacity="0.5"/>
|
|
</g>
|
|
|
|
<!-- Front wheel -->
|
|
<g transform="translate(250 210)">
|
|
<circle r="48" fill="none" stroke="#1a1e24" stroke-width="6"/>
|
|
<circle r="42" fill="none" stroke="#c8ced6" stroke-width="2.5"/>
|
|
<circle r="8" fill="#2a2e36" stroke="#6a7078" stroke-width="2"/>
|
|
<g stroke="#6a727c" stroke-width="1.2" opacity="0.9">
|
|
<line x1="0" y1="-42" x2="0" y2="42"/>
|
|
<line x1="-42" y1="0" x2="42" y2="0"/>
|
|
<line x1="-30" y1="-30" x2="30" y2="30"/>
|
|
<line x1="30" y1="-30" x2="-30" y2="30"/>
|
|
<line x1="-15" y1="-39" x2="15" y2="39"/>
|
|
<line x1="15" y1="-39" x2="-15" y2="39"/>
|
|
<line x1="-39" y1="-15" x2="39" y2="15"/>
|
|
<line x1="39" y1="-15" x2="-39" y2="15"/>
|
|
</g>
|
|
<circle r="48" fill="none" stroke="#3a3e46" stroke-width="1.5" stroke-dasharray="3 8" opacity="0.5"/>
|
|
</g>
|
|
|
|
<!-- Pelican body -->
|
|
<g>
|
|
<!-- Tail feathers -->
|
|
<g fill="#c8c0ae">
|
|
<path d="M55 150 Q30 145 18 160 Q35 155 55 158 Z"/>
|
|
<path d="M55 158 Q28 162 22 178 Q40 168 58 165 Z"/>
|
|
<path d="M58 155 Q40 175 48 190 Q60 170 62 160 Z"/>
|
|
</g>
|
|
|
|
<!-- Body -->
|
|
<ellipse cx="110" cy="145" rx="58" ry="36" fill="url(#pelBody)"/>
|
|
<ellipse cx="120" cy="140" rx="40" ry="24" fill="#faf8f3" opacity="0.55"/>
|
|
|
|
<!-- Far wing (behind) -->
|
|
<path d="M90 130 Q70 90 95 70 Q120 85 125 120 Q110 125 90 130 Z" fill="#d8d2c4" opacity="0.9"/>
|
|
|
|
<!-- Near wing raised in pedaling pose -->
|
|
<path d="M100 135 Q130 80 175 75 Q165 110 145 130 Q125 140 100 135 Z" fill="url(#pelWing)"/>
|
|
<path d="M110 132 Q140 95 165 90" fill="none" stroke="#a89f8c" stroke-width="1.5" opacity="0.7"/>
|
|
<path d="M115 138 Q145 105 168 100" fill="none" stroke="#a89f8c" stroke-width="1.2" opacity="0.55"/>
|
|
<!-- primary feathers tip -->
|
|
<path d="M160 78 Q180 72 188 88 Q170 90 160 85 Z" fill="#6a6256"/>
|
|
<path d="M155 85 Q175 82 182 98 Q162 95 155 90 Z" fill="#7a7266"/>
|
|
|
|
<!-- Neck -->
|
|
<path d="M155 140 C190 125 205 95 195 70 C188 55 170 55 160 68" fill="url(#pelBody)"/>
|
|
<path d="M162 138 C185 125 198 100 190 75" fill="none" stroke="#d2cbb8" stroke-width="8" stroke-linecap="round" opacity="0.5"/>
|
|
|
|
<!-- Head -->
|
|
<ellipse cx="168" cy="62" rx="22" ry="18" fill="url(#pelBody)"/>
|
|
<ellipse cx="172" cy="58" rx="14" ry="11" fill="#faf8f3" opacity="0.5"/>
|
|
|
|
<!-- Eye -->
|
|
<circle cx="178" cy="58" r="5.5" fill="#1a1e24"/>
|
|
<circle cx="180" cy="56.5" r="2" fill="#fff"/>
|
|
<circle cx="176.5" cy="59" r="1.2" fill="#4a90c8" opacity="0.7"/>
|
|
<!-- eye ring -->
|
|
<circle cx="178" cy="58" r="6.5" fill="none" stroke="#c4a060" stroke-width="1.2"/>
|
|
|
|
<!-- Long beak -->
|
|
<path d="M185 60 L270 72 L185 78 Z" fill="url(#beak)"/>
|
|
<path d="M185 60 L270 72 L250 70 L185 68 Z" fill="#f5b85a" opacity="0.5"/>
|
|
<!-- upper beak ridge -->
|
|
<path d="M188 62 L265 71" fill="none" stroke="#b86a20" stroke-width="1.2" opacity="0.6"/>
|
|
<!-- gular pouch -->
|
|
<path d="M188 78 Q220 105 265 78 Q220 88 188 78 Z" fill="url(#pouch)"/>
|
|
<path d="M195 82 Q220 96 252 84" fill="none" stroke="#c07030" stroke-width="1" opacity="0.45"/>
|
|
|
|
<!-- Legs pedaling -->
|
|
<!-- Front leg (to forward pedal) -->
|
|
<path d="M125 170 L155 200 L175 235" fill="none" stroke="#d8c8a0" stroke-width="7" stroke-linecap="round"/>
|
|
<path d="M125 170 L155 200 L175 235" fill="none" stroke="#c4b088" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
|
|
<!-- webbed foot on pedal -->
|
|
<ellipse cx="176" cy="238" rx="10" ry="5" fill="#e8c878" transform="rotate(20 176 238)"/>
|
|
<g fill="#d4b060" opacity="0.8">
|
|
<ellipse cx="170" cy="236" rx="3" ry="5" transform="rotate(-10 170 236)"/>
|
|
<ellipse cx="182" cy="240" rx="3" ry="5" transform="rotate(35 182 240)"/>
|
|
</g>
|
|
<!-- Rear leg (to back pedal) -->
|
|
<path d="M95 175 L110 200 L125 185" fill="none" stroke="#c8b890" stroke-width="7" stroke-linecap="round"/>
|
|
<ellipse cx="122" cy="183" rx="9" ry="4.5" fill="#e8c878" transform="rotate(-30 122 183)"/>
|
|
|
|
<!-- Chest fluff detail -->
|
|
<path d="M80 145 Q100 155 130 150" fill="none" stroke="#d0c8b8" stroke-width="1.5" opacity="0.6"/>
|
|
<path d="M85 155 Q110 162 135 155" fill="none" stroke="#d0c8b8" stroke-width="1.2" opacity="0.45"/>
|
|
</g>
|
|
|
|
<!-- Wing-hand on handlebar suggestion -->
|
|
<g>
|
|
<path d="M145 125 Q180 110 220 115" fill="none" stroke="#d2cbb8" stroke-width="5" stroke-linecap="round" opacity="0.85"/>
|
|
<ellipse cx="228" cy="116" rx="8" ry="5" fill="#e8e0d0" transform="rotate(-10 228 116)"/>
|
|
</g>
|
|
</g>
|
|
|
|
<!-- Footprints in sand -->
|
|
<g fill="#c9a66a" opacity="0.35">
|
|
<ellipse cx="220" cy="510" rx="8" ry="3" transform="rotate(-15 220 510)"/>
|
|
<ellipse cx="245" cy="518" rx="8" ry="3" transform="rotate(-10 245 518)"/>
|
|
<ellipse cx="268" cy="525" rx="7" ry="2.5" transform="rotate(-5 268 525)"/>
|
|
</g>
|
|
|
|
<!-- Subtle water sparkles -->
|
|
<g fill="#fff" opacity="0.4">
|
|
<circle cx="100" cy="380" r="1.5"/><circle cx="250" cy="395" r="1"/><circle cx="400" cy="375" r="1.2"/>
|
|
<circle cx="580" cy="390" r="1"/><circle cx="750" cy="380" r="1.4"/><circle cx="330" cy="410" r="1"/>
|
|
</g>
|
|
</svg>
|