feat: add GPT-5.6-Terra and alternate takes for GPT-5.6-Sol

New model gpt-5-6-terra (Codex CLI, ultra): mythos-craft, pelican-cycling,
skeleton-watch (one-shot, unmodified).

gpt-5-6-sol-ultra gains alternate one-shot variants for existing cases:
mythos-craft 'Block Era', two more pelican SVGs, and a cleanly completed
skeleton-watch 'Calibre 01' kept alongside the interruption-recovered
AURELIUS S-01. Extra variants attributed to Nagi-ovo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jesse ZhangandClaude Opus 4.8 committed 2026-07-09 23:09:15 +01:00
1 parent 97e9a860a1
commit 64609bd6c8
9 files changed
+7240 -18

No files matched your search

+56 -18
View File
@@ -6,26 +6,64 @@
"artifactDir": "gpt-5-6-sol/codex-cli-ultra",
"order": 29,
"runs": {
"mythos-craft": {
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示。原始 Ultra 回合在已完整写出可玩单 HTML 后,因宿主收到状态查询而在最终加固阶段中断;本页是中断前落盘的完整 fallback.html,仅原样重命名,未修改内容,也未重试生成。",
"en": "Generated from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness. The original Ultra turn was host-interrupted during final hardening after it had written a complete playable single-file HTML; this page is that saved fallback.html, renamed verbatim with no content changes and no retry."
"mythos-craft": [
{
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示。原始 Ultra 回合在已完整写出可玩单 HTML 后,因宿主收到状态查询而在最终加固阶段中断;本页是中断前落盘的完整 fallback.html,仅原样重命名,未修改内容,也未重试生成。",
"en": "Generated from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness. The original Ultra turn was host-interrupted during final hardening after it had written a complete playable single-file HTML; this page is that saved fallback.html, renamed verbatim with no content changes and no retry."
},
"contributor": "ZidongChen25"
},
"contributor": "ZidongChen25"
},
"pelican-cycling": {
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词一次生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示;本页为未经人工修改的原始 agent 产物。",
"en": "Generated in one shot from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness; this is the original agent artifact with no human edits."
{
"file": "mythos-craft-block-era.html",
"note": {
"zh": "同一 case 的另一版一次生成产物,与主产物并列保留。GPT-5.6-Sol(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词生成,未经人工修改。此版为『方块纪元』主题的沙盒建造。",
"en": "An alternate one-shot artifact for this case, kept alongside the primary run. Generated by GPT-5.6-Sol (ultra effort) in Codex CLI from the repository's canonical Chinese prompt with no human edits. A 'Block Era' sandbox-building take."
},
"contributor": "Nagi-ovo"
}
],
"pelican-cycling": [
{
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词一次生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示;本页为未经人工修改的原始 agent 产物。",
"en": "Generated in one shot from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness; this is the original agent artifact with no human edits."
},
"contributor": "ZidongChen25"
},
"contributor": "ZidongChen25"
},
"skeleton-watch": {
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词一次生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示。原始 Ultra 回合已生成完整 HTML 写入调用,但宿主状态查询在该调用执行前将回合中断;本页通过原样重放 rollout 中完整记录的 apply_patch 参数恢复,未续写模型,也未修改内容。",
"en": "Generated in one shot from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness. The original Ultra turn had produced the complete HTML write call when a host status query interrupted the turn before that call executed; this page was recovered by replaying the exact apply_patch payload recorded in the rollout, with no model continuation or content changes."
{
"file": "pelican-coastal-ride.svg",
"note": {
"zh": "同一 case 的另一版一次生成 SVG,与主产物并列保留。GPT-5.6-Sol(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词生成,未经人工修改。",
"en": "An alternate one-shot SVG for this case, kept alongside the primary run. Generated by GPT-5.6-Sol (ultra effort) in Codex CLI from the repository's canonical Chinese prompt with no human edits."
},
"contributor": "Nagi-ovo"
},
"contributor": "ZidongChen25"
}
{
"file": "pelican-cyclist.svg",
"note": {
"zh": "同一 case 的又一版一次生成 SVG,与主产物并列保留。GPT-5.6-Sol(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词生成,未经人工修改。",
"en": "A further alternate one-shot SVG for this case, kept alongside the primary run. Generated by GPT-5.6-Sol (ultra effort) in Codex CLI from the repository's canonical Chinese prompt with no human edits."
},
"contributor": "Nagi-ovo"
}
],
"skeleton-watch": [
{
"note": {
"zh": "在 Codex 应用内置的 Codex CLI 0.144.0-alpha.4 中以 GPT-5.6-Sol(ultra 思考档位),使用仓库标准中文提示词一次生成。此 case 使用独立、全新的 CODEX_HOME,并从空工作目录开始,未加载 harness 自带以外的任何 skill、插件、MCP、自定义规则或系统提示。原始 Ultra 回合已生成完整 HTML 写入调用,但宿主状态查询在该调用执行前将回合中断;本页通过原样重放 rollout 中完整记录的 apply_patch 参数恢复,未续写模型,也未修改内容。",
"en": "Generated in one shot from the repository's canonical Chinese prompt by GPT-5.6-Sol (ultra effort) in Codex CLI 0.144.0-alpha.4 bundled with the Codex app. This case used a separate clean CODEX_HOME and started in an empty working directory, with no skills, plugins, MCP servers, custom rules, or system prompts beyond those bundled with the harness. The original Ultra turn had produced the complete HTML write call when a host status query interrupted the turn before that call executed; this page was recovered by replaying the exact apply_patch payload recorded in the rollout, with no model continuation or content changes."
},
"contributor": "ZidongChen25"
},
{
"file": "skeleton-watch-calibre-01.html",
"note": {
"zh": "同一 case 的另一次独立、完整生成(『Calibre 01』),与主产物(受宿主中断后恢复的 AURELIUS S-01)并列保留。GPT-5.6-Sol(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词生成,未经人工修改。",
"en": "A separate, complete generation for this case ('Calibre 01'), kept alongside the primary run (the interruption-recovered AURELIUS S-01). Generated by GPT-5.6-Sol (ultra effort) in Codex CLI from the repository's canonical Chinese prompt with no human edits."
},
"contributor": "Nagi-ovo"
}
]
}
}
+31
View File
@@ -0,0 +1,31 @@
{
"label": "GPT-5.6-Terra",
"vendor": "OpenAI",
"harness": "Codex CLI",
"effort": "ultra",
"artifactDir": "gpt-5-6-terra/codex-cli-ultra",
"order": 29.5,
"runs": {
"mythos-craft": {
"note": {
"zh": "GPT-5.6-Terra(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词一次生成,未经人工修改。此版为『阿斯特拉:方块神话』主题的沙盒建造。",
"en": "One-shot by GPT-5.6-Terra (ultra effort) in Codex CLI from the repository's canonical Chinese prompt, with no human edits. An 'Astra: Block Myth' sandbox-building take."
},
"contributor": "Nagi-ovo"
},
"pelican-cycling": {
"note": {
"zh": "GPT-5.6-Terra(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词一次生成,未经人工修改。海边骑行鹈鹕 SVG。",
"en": "One-shot by GPT-5.6-Terra (ultra effort) in Codex CLI from the repository's canonical Chinese prompt, with no human edits. A seaside pelican-on-bicycle SVG."
},
"contributor": "Nagi-ovo"
},
"skeleton-watch": {
"note": {
"zh": "GPT-5.6-Terra(ultra 思考档位)在 Codex CLI 中用仓库标准中文提示词一次生成,未经人工修改。镂空机械腕表交互演示。",
"en": "One-shot by GPT-5.6-Terra (ultra effort) in Codex CLI from the repository's canonical Chinese prompt, with no human edits. An interactive skeleton mechanical-watch demo."
},
"contributor": "Nagi-ovo"
}
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,320 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1000" role="img" aria-labelledby="title desc">
<title id="title">海边骑自行车的鹈鹕</title>
<desc id="desc">一只羽毛细腻的鹈鹕迎着海风骑过金色海岸,浪花、飞鸟与自行车的转动让画面充满活力。</desc>
<defs>
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#4aa8db"/>
<stop offset=".5" stop-color="#9fd8e8"/>
<stop offset="1" stop-color="#f9d5ad"/>
</linearGradient>
<radialGradient id="sunGlow">
<stop offset="0" stop-color="#fffbd1" stop-opacity=".95"/>
<stop offset=".28" stop-color="#ffd88c" stop-opacity=".55"/>
<stop offset="1" stop-color="#ffd88c" stop-opacity="0"/>
</radialGradient>
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#187fa8"/>
<stop offset=".45" stop-color="#159bb0"/>
<stop offset="1" stop-color="#58c1bc"/>
</linearGradient>
<linearGradient id="sand" x1="0" y1="0" x2=".8" y2="1">
<stop offset="0" stop-color="#d4a25f"/>
<stop offset=".45" stop-color="#e9c681"/>
<stop offset="1" stop-color="#b9773d"/>
</linearGradient>
<linearGradient id="road" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#d7ac6d"/>
<stop offset=".55" stop-color="#f1d09b"/>
<stop offset="1" stop-color="#bc7748"/>
</linearGradient>
<linearGradient id="beakTop" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#f4b56c"/>
<stop offset=".48" stop-color="#df8652"/>
<stop offset="1" stop-color="#a94c38"/>
</linearGradient>
<linearGradient id="pouch" x1="0" y1="0" x2=".5" y2="1">
<stop offset="0" stop-color="#eeaa72"/>
<stop offset=".55" stop-color="#d87861"/>
<stop offset="1" stop-color="#9c4651"/>
</linearGradient>
<radialGradient id="bodyFeather" cx="35%" cy="30%" r="75%">
<stop offset="0" stop-color="#fffdf1"/>
<stop offset=".45" stop-color="#ebe9dd"/>
<stop offset=".78" stop-color="#c9ced0"/>
<stop offset="1" stop-color="#858f95"/>
</radialGradient>
<linearGradient id="neckFeather" x1="0" y1="0" x2="1" y2=".75">
<stop offset="0" stop-color="#fffdf3"/>
<stop offset=".58" stop-color="#e9e7da"/>
<stop offset="1" stop-color="#b5bdbe"/>
</linearGradient>
<linearGradient id="wingFeather" x1=".25" y1="0" x2=".8" y2="1">
<stop offset="0" stop-color="#faf8ea"/>
<stop offset=".42" stop-color="#d7d8d1"/>
<stop offset=".75" stop-color="#929ba0"/>
<stop offset="1" stop-color="#4f5d64"/>
</linearGradient>
<linearGradient id="bikePaint" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#184b52"/>
<stop offset=".45" stop-color="#31a59a"/>
<stop offset=".7" stop-color="#0c6f72"/>
<stop offset="1" stop-color="#073f48"/>
</linearGradient>
<linearGradient id="metal" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#f4faf8"/>
<stop offset=".3" stop-color="#70878b"/>
<stop offset=".58" stop-color="#d4e1df"/>
<stop offset="1" stop-color="#42575b"/>
</linearGradient>
<radialGradient id="tire" cx="35%" cy="30%">
<stop offset="0" stop-color="#536166"/>
<stop offset=".65" stop-color="#1f292c"/>
<stop offset="1" stop-color="#090d0e"/>
</radialGradient>
<filter id="soft" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="12"/>
</filter>
<filter id="shadow" x="-30%" y="-30%" width="170%" height="180%">
<feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#233536" flood-opacity=".32"/>
</filter>
<filter id="smallShadow" x="-30%" y="-30%" width="170%" height="180%">
<feDropShadow dx="2" dy="5" stdDeviation="4" flood-color="#20363a" flood-opacity=".38"/>
</filter>
<filter id="waterTexture" x="-10%" y="-20%" width="120%" height="150%">
<feTurbulence type="fractalNoise" baseFrequency=".012 .08" numOctaves="2" seed="7" result="noise"/>
<feColorMatrix in="noise" values="1 0 0 0 .15 0 1 0 0 .35 0 0 1 0 .42 0 0 0 .24 0" result="colored"/>
<feBlend in="SourceGraphic" in2="colored" mode="soft-light"/>
</filter>
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency=".55" numOctaves="2" seed="12" result="n"/>
<feColorMatrix in="n" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 .09 0"/>
<feBlend in="SourceGraphic" mode="multiply"/>
</filter>
<clipPath id="oceanClip">
<path d="M0 384 C350 375 580 395 835 384 C1110 373 1340 388 1600 374 L1600 725 C1280 735 950 687 700 657 C420 623 210 598 0 620Z"/>
</clipPath>
<pattern id="roadSpecks" width="74" height="58" patternUnits="userSpaceOnUse">
<circle cx="9" cy="13" r="2.2" fill="#885b39" opacity=".22"/>
<circle cx="48" cy="29" r="1.4" fill="#fff0c4" opacity=".45"/>
<path d="M20 49l10-3M61 8l6-2" stroke="#9b6841" stroke-width="2" stroke-linecap="round" opacity=".2"/>
</pattern>
<g id="spokeSet" stroke="#afc1c1" stroke-width="2" opacity=".78">
<path d="M0-151V151M-151 0H151M-107-107L107 107M107-107L-107 107M-139-58L139 58M-139 58L139-58M-58-139L58 139M58-139L-58 139"/>
</g>
<path id="featherLine" d="M0 0 C18 8 34 8 52 0 C35 22 17 24 0 0Z"/>
</defs>
<style>
.wheel { transform-box: fill-box; transform-origin: center; animation: wheel-spin 2.4s linear infinite; }
.wave-a { animation: wave-slide 6s ease-in-out infinite alternate; }
.wave-b { animation: wave-slide 8s ease-in-out -2s infinite alternate-reverse; }
.cloud { animation: cloud-drift 18s ease-in-out infinite alternate; }
.scarf-tip { transform-origin: 760px 355px; animation: flutter 1.3s ease-in-out infinite alternate; }
.bird { animation: bird-lift 3s ease-in-out infinite alternate; }
@keyframes wheel-spin { to { transform: rotate(360deg); } }
@keyframes wave-slide { to { transform: translateX(24px); } }
@keyframes cloud-drift { to { transform: translateX(18px); } }
@keyframes flutter { to { transform: rotate(4deg) translateY(-5px); } }
@keyframes bird-lift { to { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) {
.wheel,.wave-a,.wave-b,.cloud,.scarf-tip,.bird { animation: none; }
}
</style>
<!-- sky and late-afternoon light -->
<rect width="1600" height="1000" fill="url(#sky)"/>
<circle cx="1270" cy="170" r="230" fill="url(#sunGlow)"/>
<circle cx="1270" cy="170" r="53" fill="#fff3b4" opacity=".92"/>
<path d="M0 327 C220 302 430 331 605 313 C830 290 1030 329 1236 301 C1380 281 1495 294 1600 283 L1600 410 L0 410Z" fill="#ffe2bd" opacity=".23"/>
<g class="cloud" fill="#fff" opacity=".7" filter="url(#soft)">
<path d="M95 210 C140 166 193 187 214 218 C242 176 326 188 329 241 C379 235 410 263 421 294 H76 C60 258 72 230 95 210Z"/>
<path d="M1160 294 C1190 261 1233 271 1249 301 C1280 255 1350 270 1354 318 C1398 309 1432 335 1441 366 H1129 C1121 336 1135 308 1160 294Z" opacity=".5"/>
</g>
<g fill="none" stroke="#345e67" stroke-width="5" stroke-linecap="round" opacity=".72">
<path class="bird" d="M243 281q19-20 38 0q19-20 38 0"/>
<path class="bird" d="M356 225q13-14 26 0q13-14 26 0" style="animation-delay:-1.4s"/>
<path class="bird" d="M1425 249q16-17 32 0q16-17 32 0" style="animation-delay:-.7s"/>
</g>
<!-- distant cape -->
<path d="M0 360 C94 343 178 348 253 373 C302 389 347 407 408 417 L0 476Z" fill="#627d6c"/>
<path d="M0 356 C97 338 180 352 260 379 C176 372 106 385 0 408Z" fill="#8ba176"/>
<path d="M0 397 C121 383 219 391 404 417 L380 447 L0 471Z" fill="#4e665d" opacity=".72"/>
<!-- ocean -->
<path d="M0 384 C350 375 580 395 835 384 C1110 373 1340 388 1600 374 L1600 725 C1280 735 950 687 700 657 C420 623 210 598 0 620Z" fill="url(#sea)" filter="url(#waterTexture)"/>
<g clip-path="url(#oceanClip)" fill="none" stroke-linecap="round">
<path class="wave-a" d="M-70 440 C80 416 175 459 310 438 S550 414 670 442 S915 457 1055 429 S1320 419 1670 443" stroke="#d8f5ed" stroke-width="8" opacity=".52"/>
<path class="wave-b" d="M-50 495 C120 468 249 518 408 493 S701 478 852 509 S1160 488 1270 478 S1498 487 1660 505" stroke="#e9fcf1" stroke-width="10" opacity=".58"/>
<path class="wave-a" d="M-100 553 C70 518 200 577 377 548 S662 539 815 567 S1118 548 1244 537 S1485 544 1700 568" stroke="#f8fff4" stroke-width="15" opacity=".73" style="animation-delay:-3s"/>
<path class="wave-b" d="M-70 605 C96 568 240 627 412 601 S720 587 897 620 S1213 596 1370 590 S1540 602 1680 618" stroke="#e8fff2" stroke-width="20" opacity=".75"/>
<g stroke="#bceae1" stroke-width="4" opacity=".55">
<path d="M78 468l72-6M485 420l95 5M722 476l86-8M988 443l120 2M1295 522l112-7M205 539l79-5M579 588l109-8M1138 575l75 2"/>
</g>
</g>
<path d="M0 593 C165 565 311 598 461 621 C573 638 669 645 769 662 C535 671 329 690 0 728Z" fill="#f7f1d0" opacity=".9"/>
<path d="M0 620 C179 586 320 629 470 647 C600 663 707 667 820 688 C574 683 306 723 0 761Z" fill="#d7b878" opacity=".62"/>
<!-- beach and winding coastal path -->
<path d="M0 603 C230 611 426 666 606 693 C837 727 1076 712 1600 621 L1600 1000 L0 1000Z" fill="url(#sand)"/>
<path d="M0 720 C252 674 469 706 662 724 C912 747 1189 705 1600 641 L1600 1000 L0 1000Z" fill="url(#road)"/>
<path d="M0 720 C252 674 469 706 662 724 C912 747 1189 705 1600 641 L1600 1000 L0 1000Z" fill="url(#roadSpecks)" opacity=".8"/>
<path d="M0 714 C219 676 424 696 617 719" fill="none" stroke="#fff0c7" stroke-width="12" opacity=".48"/>
<path d="M1250 701 C1370 679 1490 657 1600 640" fill="none" stroke="#9e623c" stroke-width="6" opacity=".28"/>
<!-- grasses and rocks -->
<g fill="none" stroke-linecap="round">
<g stroke="#59784e" stroke-width="8">
<path d="M78 675q8-58 17-91M81 671q-18-45-35-68M92 667q29-47 52-69M1490 672q-5-58-4-103M1490 669q-29-49-52-78M1501 669q26-50 55-83"/>
</g>
<g stroke="#93a95f" stroke-width="5">
<path d="M121 688q5-45 18-79M119 686q-20-28-38-44M1431 684q4-55 17-90M1438 677q24-35 45-49M1544 675q-8-49-3-82"/>
</g>
</g>
<g filter="url(#smallShadow)">
<path d="M73 728q34-76 96-31q29 28-3 65H76Z" fill="#6f7165"/>
<path d="M83 722q38-55 80-25q-43-2-72 39Z" fill="#a5a08a"/>
<path d="M1427 751q23-73 91-57q50 15 45 77h-138Z" fill="#686d66"/>
<path d="M1443 733q25-45 73-33q-44 6-66 44Z" fill="#a4a08b"/>
</g>
<!-- cast shadow -->
<ellipse cx="884" cy="896" rx="415" ry="66" fill="#263f3d" opacity=".24" filter="url(#soft)"/>
<path d="M451 863 C625 827 1064 830 1324 874" fill="none" stroke="#5d4737" stroke-width="23" stroke-linecap="round" opacity=".19" filter="url(#soft)"/>
<!-- bicycle wheels -->
<g filter="url(#smallShadow)">
<g class="wheel" transform="translate(615 755)">
<circle r="170" fill="none" stroke="url(#tire)" stroke-width="25"/>
<circle r="154" fill="none" stroke="#c9d8d6" stroke-width="5"/>
<use href="#spokeSet"/>
<circle r="19" fill="url(#metal)" stroke="#23393d" stroke-width="5"/>
<circle r="7" fill="#d9eee9"/>
</g>
<g class="wheel" transform="translate(1126 755)">
<circle r="170" fill="none" stroke="url(#tire)" stroke-width="25"/>
<circle r="154" fill="none" stroke="#c9d8d6" stroke-width="5"/>
<use href="#spokeSet"/>
<circle r="19" fill="url(#metal)" stroke="#23393d" stroke-width="5"/>
<circle r="7" fill="#d9eee9"/>
</g>
</g>
<!-- bicycle frame -->
<g fill="none" stroke-linecap="round" stroke-linejoin="round" filter="url(#smallShadow)">
<path d="M615 755 L805 574 L861 746 L615 755 M805 574 L1010 591 L861 746 L982 701Z" stroke="#072f36" stroke-width="24"/>
<path d="M615 755 L805 574 L861 746 L615 755 M805 574 L1010 591 L861 746 L982 701Z" stroke="url(#bikePaint)" stroke-width="15"/>
<path d="M982 701 L1126 755 M1010 591 L1126 755" stroke="#243b3f" stroke-width="18"/>
<path d="M985 699 L1126 755 M1009 591 L1126 755" stroke="url(#metal)" stroke-width="10"/>
<path d="M982 701 L1010 591 L1038 517 L1092 496" stroke="#183b40" stroke-width="17"/>
<path d="M982 701 L1010 591 L1038 517 L1092 496" stroke="url(#bikePaint)" stroke-width="10"/>
<path d="M1060 493q32 16 55-5" stroke="#1e3033" stroke-width="12"/>
<path d="M783 570l28 4l-17-69" stroke="#273c3f" stroke-width="12"/>
<path d="M752 500q49-9 88 4" stroke="#2e2924" stroke-width="22"/>
<path d="M758 495q44-7 76 3" stroke="#70523a" stroke-width="9"/>
</g>
<!-- chain and crank -->
<g fill="none" stroke-linecap="round">
<path d="M615 745 C695 721 784 717 861 733 C784 759 692 770 615 765Z" stroke="#283638" stroke-width="6" opacity=".9"/>
<circle cx="861" cy="746" r="31" stroke="#d3ddda" stroke-width="7"/>
<circle cx="861" cy="746" r="8" fill="#26383b" stroke="none"/>
<path d="M861 746l61-27M861 746l-61 27" stroke="url(#metal)" stroke-width="9"/>
<path d="M913 714h38M770 779h38" stroke="#263538" stroke-width="11"/>
</g>
<g fill="#d9eee8" stroke="#304649" stroke-width="4">
<path d="M928 702h43v17h-43z"/>
<path d="M749 777h43v17h-43z"/>
</g>
<!-- pelican tail and body -->
<g filter="url(#shadow)">
<path d="M766 474 C709 445 653 434 598 448 C653 468 678 490 704 525 C664 519 635 527 609 548 C676 558 731 555 788 527Z" fill="#c7cecb" stroke="#69787d" stroke-width="5"/>
<path d="M732 461q-59-14-106-3q54 15 90 45M721 514q-45 1-78 21q58 2 91-3" fill="none" stroke="#eef0e7" stroke-width="12" stroke-linecap="round" opacity=".72"/>
<path d="M734 473 C738 393 800 352 878 365 C963 378 1022 445 1000 517 C980 583 905 620 814 585 C758 564 725 526 734 473Z" fill="url(#bodyFeather)" stroke="#68767a" stroke-width="6"/>
<path d="M748 421 C787 376 864 367 925 397 C854 396 794 423 754 475Z" fill="#fffdf1" opacity=".73"/>
<path d="M768 535 C817 576 897 592 962 547 C923 607 821 620 768 566Z" fill="#77848a" opacity=".48"/>
</g>
<!-- layered body plumage -->
<g fill="none" stroke-linecap="round" opacity=".7">
<path d="M755 446q42 24 84 1M746 478q49 26 96 4M757 514q44 29 93 11M789 554q47 25 95 7" stroke="#adb6b5" stroke-width="8"/>
<path d="M775 423q38 22 77 3M822 396q32 19 67 7M867 432q41 27 78 10M872 475q53 27 98 8M862 527q53 25 96 1" stroke="#f9f6e8" stroke-width="9"/>
</g>
<g fill="#c6cdcb" opacity=".5">
<use href="#featherLine" transform="translate(775 453) rotate(8) scale(.75)"/>
<use href="#featherLine" transform="translate(841 422) rotate(9) scale(.8)"/>
<use href="#featherLine" transform="translate(882 462) rotate(12) scale(.95)"/>
<use href="#featherLine" transform="translate(804 508) rotate(14) scale(.85)"/>
<use href="#featherLine" transform="translate(888 521) rotate(10) scale(.9)"/>
</g>
<!-- legs behind the near wing -->
<g fill="none" stroke="#c66f4e" stroke-width="20" stroke-linecap="round" stroke-linejoin="round" filter="url(#smallShadow)">
<path d="M835 559 C836 618 868 662 919 715"/>
<path d="M884 565 C883 642 845 718 797 780"/>
</g>
<g fill="#df8c60" stroke="#8f4f42" stroke-width="5" stroke-linejoin="round">
<path d="M907 703q25-11 56 8l-14 13q-26 7-46-2Z"/>
<path d="M783 769q23-6 51 9l-14 16q-31 5-49-6Z"/>
</g>
<!-- neck, built as an S curve -->
<path d="M821 444 C807 394 816 346 854 318 C887 294 915 292 939 274 C960 258 965 236 981 211 C1000 180 1045 169 1081 191 C1118 213 1120 254 1100 281 C1079 309 1044 321 1018 336 C977 359 968 404 965 453 C959 493 922 512 887 490 C866 478 847 462 821 444Z" fill="url(#neckFeather)" stroke="#68777a" stroke-width="6" filter="url(#shadow)"/>
<path d="M837 429 C828 380 844 348 878 326 C915 302 944 301 969 270 C986 249 987 215 1015 197 C976 210 970 251 941 274 C914 295 877 296 848 323 C813 356 811 401 821 444Z" fill="#fffdf0" opacity=".77"/>
<g fill="none" stroke-linecap="round">
<path d="M837 394q34 21 65 4M841 354q38 18 68 0M881 315q25 18 52 9M927 285q23 15 46 5M972 251q23 13 42 2" stroke="#cbd0cb" stroke-width="8" opacity=".7"/>
<path d="M861 438q42 28 79 13M874 474q37 24 67 4" stroke="#f9f6e8" stroke-width="9" opacity=".72"/>
</g>
<!-- head and crest -->
<path d="M994 208 C1010 163 1065 142 1111 163 C1139 177 1155 211 1142 240 C1129 270 1084 282 1045 269 C1006 257 982 239 994 208Z" fill="url(#neckFeather)" stroke="#68777a" stroke-width="6" filter="url(#smallShadow)"/>
<path d="M1007 199 C1026 166 1068 154 1108 169 C1071 165 1040 182 1026 215Z" fill="#fffdf3" opacity=".8"/>
<path d="M1014 174q-17-32-4-62q14 26 28 49q0-42 21-66q-2 37 5 64q18-42 47-58q-18 37-23 65" fill="#f5f1e4" stroke="#788587" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<!-- bill and throat pouch -->
<path d="M1109 203 C1192 197 1319 205 1444 234 C1463 239 1467 250 1446 255 C1328 279 1206 275 1113 260 C1084 256 1080 213 1109 203Z" fill="url(#beakTop)" stroke="#83483e" stroke-width="6" filter="url(#smallShadow)"/>
<path d="M1111 230 C1213 231 1318 240 1448 246 C1371 263 1245 279 1139 268 C1106 265 1093 251 1111 230Z" fill="url(#pouch)" stroke="#8f4d4b" stroke-width="5"/>
<path d="M1124 241 C1224 244 1322 247 1424 248" fill="none" stroke="#703e3d" stroke-width="4" opacity=".72"/>
<path d="M1151 216 C1241 215 1328 225 1417 242" fill="none" stroke="#ffd5a5" stroke-width="7" stroke-linecap="round" opacity=".53"/>
<path d="M1444 234q31 7 10 24l-31-10Z" fill="#8b493b"/>
<!-- eye -->
<ellipse cx="1106" cy="200" rx="18" ry="16" fill="#f1dd88" stroke="#6a5b3d" stroke-width="5"/>
<circle cx="1110" cy="200" r="8" fill="#111819"/>
<circle cx="1114" cy="195" r="3" fill="#fff"/>
<path d="M1087 183q23-11 41 2" fill="none" stroke="#6a7474" stroke-width="7" stroke-linecap="round"/>
<!-- wind scarf -->
<path d="M843 339 C812 348 787 362 763 388 C732 371 686 350 631 350 C682 323 732 318 788 333 C807 318 826 309 846 307Z" fill="#d84c3f" stroke="#853c39" stroke-width="5" filter="url(#smallShadow)"/>
<path class="scarf-tip" d="M765 386 C717 373 669 386 626 412 C657 377 674 350 631 350 C688 351 732 368 765 386Z" fill="#ef6651" stroke="#8f3f3b" stroke-width="5"/>
<path d="M791 333q22 18 48 11" fill="none" stroke="#ff8b6c" stroke-width="7" stroke-linecap="round" opacity=".7"/>
<!-- near wing reaches the handlebars -->
<path d="M838 426 C904 420 970 452 1021 494 C1045 513 1061 523 1095 516 C1112 513 1124 530 1112 543 C1095 561 1062 560 1033 547 C980 523 930 511 865 521 C813 529 789 486 810 450 C817 438 826 430 838 426Z" fill="url(#wingFeather)" stroke="#59666b" stroke-width="7" filter="url(#shadow)"/>
<path d="M838 445 C903 445 958 470 1012 510 C962 492 910 485 846 501Z" fill="#f4f2e6" opacity=".65"/>
<g fill="none" stroke-linecap="round">
<path d="M834 465q81 1 147 49M836 492q69-2 129 29M862 515q58-3 101 11" stroke="#747f83" stroke-width="9" opacity=".72"/>
<path d="M851 445q69 8 126 46M885 449q66 13 113 51" stroke="#f9f6e9" stroke-width="8" opacity=".72"/>
</g>
<!-- wingtip curled around grip -->
<path d="M1035 520q39 25 76 4q16-8 26 8q8 15-10 27q-50 28-101-7Z" fill="#747f82" stroke="#4c5a5f" stroke-width="6"/>
<path d="M1084 533q20 8 37-1" fill="none" stroke="#dce0da" stroke-width="7" stroke-linecap="round"/>
<!-- foreground motion details -->
<g fill="none" stroke="#fff3cf" stroke-linecap="round" opacity=".62">
<path d="M260 837h170M190 880h118M1260 845h186" stroke-width="11"/>
<path d="M347 917h205M1189 906h117" stroke-width="7"/>
</g>
<g fill="#d9c58b" opacity=".85">
<circle cx="492" cy="879" r="8"/>
<circle cx="461" cy="856" r="5"/>
<circle cx="1314" cy="861" r="7"/>
<circle cx="1350" cy="842" r="4"/>
</g>
<!-- warm atmospheric glaze and subtle grain -->
<rect width="1600" height="1000" fill="#f7b56a" opacity=".045" pointer-events="none"/>
<rect width="1600" height="1000" fill="transparent" filter="url(#grain)" opacity=".34" pointer-events="none"/>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1,418 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="1000" viewBox="0 0 1600 1000" role="img" aria-labelledby="title desc">
<title id="title">海边骑自行车的鹈鹕</title>
<desc id="desc">一只羽毛细腻的鹈鹕迎着海风骑过金色沙滩,远处有海浪、礁石、云层与落日。</desc>
<defs>
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#4cb9df"/>
<stop offset="0.45" stop-color="#9fd9e8"/>
<stop offset="0.76" stop-color="#f4d2b4"/>
<stop offset="1" stop-color="#ffd7aa"/>
</linearGradient>
<radialGradient id="sunGlow">
<stop offset="0" stop-color="#fffbd8" stop-opacity="1"/>
<stop offset="0.18" stop-color="#ffe28b" stop-opacity="0.95"/>
<stop offset="0.5" stop-color="#ffbd6a" stop-opacity="0.35"/>
<stop offset="1" stop-color="#ffae62" stop-opacity="0"/>
</radialGradient>
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#247fa1"/>
<stop offset="0.42" stop-color="#258ca7"/>
<stop offset="0.78" stop-color="#5bb6bd"/>
<stop offset="1" stop-color="#afd7cb"/>
</linearGradient>
<linearGradient id="wetSand" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#b9b8a2"/>
<stop offset="0.32" stop-color="#d4c69e"/>
<stop offset="1" stop-color="#e5bd7b"/>
</linearGradient>
<linearGradient id="drySand" x1="0" y1="0" x2="0.8" y2="1">
<stop offset="0" stop-color="#e8c88f"/>
<stop offset="0.55" stop-color="#dcb073"/>
<stop offset="1" stop-color="#c99256"/>
</linearGradient>
<linearGradient id="dune" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#f2d89f"/>
<stop offset="1" stop-color="#c88e52"/>
</linearGradient>
<radialGradient id="bodyFeather" cx="42%" cy="30%" r="75%">
<stop offset="0" stop-color="#fffdf1"/>
<stop offset="0.52" stop-color="#f2eee0"/>
<stop offset="0.82" stop-color="#d4d7d2"/>
<stop offset="1" stop-color="#aeb8b8"/>
</radialGradient>
<linearGradient id="wingFeather" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#f7f4e7"/>
<stop offset="0.52" stop-color="#d8dcda"/>
<stop offset="1" stop-color="#89999d"/>
</linearGradient>
<linearGradient id="billTop" x1="0" y1="0" x2="1" y2="0.65">
<stop offset="0" stop-color="#f4cf76"/>
<stop offset="0.48" stop-color="#edbd5d"/>
<stop offset="0.88" stop-color="#d99b42"/>
<stop offset="1" stop-color="#b86f37"/>
</linearGradient>
<linearGradient id="pouch" x1="0" y1="0" x2="0.65" y2="1">
<stop offset="0" stop-color="#f7cb86"/>
<stop offset="0.48" stop-color="#efa45d"/>
<stop offset="1" stop-color="#d87844"/>
</linearGradient>
<linearGradient id="leg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#efad54"/>
<stop offset="1" stop-color="#c96a37"/>
</linearGradient>
<linearGradient id="bikePaint" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#ff7c56"/>
<stop offset="0.5" stop-color="#df4b3f"/>
<stop offset="1" stop-color="#a92f36"/>
</linearGradient>
<linearGradient id="metal" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#f6fbfb"/>
<stop offset="0.35" stop-color="#8e9da1"/>
<stop offset="0.6" stop-color="#e9efee"/>
<stop offset="1" stop-color="#65767b"/>
</linearGradient>
<radialGradient id="eye" cx="35%" cy="30%" r="65%">
<stop offset="0" stop-color="#fff9b0"/>
<stop offset="0.32" stop-color="#d6b23e"/>
<stop offset="0.58" stop-color="#42513e"/>
<stop offset="1" stop-color="#050b0c"/>
</radialGradient>
<filter id="softShadow" x="-30%" y="-30%" width="160%" height="180%">
<feGaussianBlur stdDeviation="11"/>
</filter>
<filter id="bodyShadow" x="-25%" y="-25%" width="160%" height="170%">
<feDropShadow dx="0" dy="9" stdDeviation="9" flood-color="#26363c" flood-opacity="0.28"/>
</filter>
<filter id="smallBlur">
<feGaussianBlur stdDeviation="2.2"/>
</filter>
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.72" numOctaves="3" seed="9" stitchTiles="stitch"/>
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 .13 0"/>
</filter>
<filter id="waterGlow" x="-30%" y="-100%" width="160%" height="300%">
<feGaussianBlur stdDeviation="3.5"/>
</filter>
<clipPath id="seaClip">
<path d="M0 359H1600V704C1394 667 1219 684 1035 654C831 621 673 655 464 631C273 609 137 626 0 604Z"/>
</clipPath>
<g id="spokes">
<g stroke="#c8d5d7" stroke-width="2.2" opacity="0.82">
<line x1="0" y1="-166" x2="0" y2="166"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(15)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(30)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(45)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(60)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(75)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(90)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(105)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(120)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(135)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(150)"/>
<line x1="0" y1="-166" x2="0" y2="166" transform="rotate(165)"/>
</g>
<circle r="11" fill="url(#metal)" stroke="#4d6268" stroke-width="3"/>
<circle r="4" fill="#263a40"/>
</g>
<style>
.spoke-spin { animation: wheel-spin 1.7s linear infinite; transform-box: fill-box; transform-origin: center; }
.cloud-near { animation: cloud-drift 34s ease-in-out infinite alternate; }
.cloud-far { animation: cloud-drift 48s ease-in-out -12s infinite alternate-reverse; }
.glint { animation: glimmer 4.2s ease-in-out infinite alternate; }
.glint:nth-of-type(2n) { animation-delay: -1.6s; }
.glint:nth-of-type(3n) { animation-delay: -2.7s; }
#crest { animation: crest-flutter 1.9s ease-in-out infinite alternate; transform-origin: 1015px 160px; }
#pouch-shape { animation: pouch-breathe 2.8s ease-in-out infinite; transform-origin: 1110px 244px; }
.sand-speck { animation: speck-fly 1.9s ease-out infinite; }
.sand-speck:nth-child(2n) { animation-delay: -.7s; }
.sand-speck:nth-child(3n) { animation-delay: -1.25s; }
@keyframes wheel-spin { to { transform: rotate(360deg); } }
@keyframes cloud-drift { from { transform: translateX(-18px); } to { transform: translateX(42px); } }
@keyframes glimmer { from { opacity: .22; transform: translateX(-5px); } to { opacity: .9; transform: translateX(9px); } }
@keyframes crest-flutter { from { transform: rotate(-1deg); } to { transform: rotate(4deg); } }
@keyframes pouch-breathe { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.025); } }
@keyframes speck-fly { 0% { opacity: 0; transform: translate(0,0); } 20% { opacity: .8; } 100% { opacity: 0; transform: translate(-70px,-32px); } }
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; }
}
</style>
</defs>
<!-- Golden-hour coast -->
<rect width="1600" height="1000" fill="url(#sky)"/>
<circle cx="1326" cy="198" r="260" fill="url(#sunGlow)"/>
<circle cx="1326" cy="198" r="69" fill="#fff4bd" opacity="0.97"/>
<g class="cloud-far" fill="#f8f4ea" opacity="0.55" filter="url(#smallBlur)">
<path d="M85 207C115 177 155 184 169 211C192 182 249 187 260 221C294 215 321 235 322 260H53C53 235 65 218 85 207Z"/>
<path d="M1120 91C1147 67 1182 73 1197 99C1221 72 1264 78 1276 108C1301 104 1322 116 1330 139H1082C1088 115 1100 100 1120 91Z"/>
</g>
<g class="cloud-near" fill="#fffaf0" opacity="0.82">
<path d="M329 111C360 73 414 81 430 119C457 80 531 89 540 137C571 127 615 151 617 182H284C286 151 303 126 329 111Z"/>
<path d="M642 252C662 227 700 233 711 259C731 235 770 237 782 267C805 260 832 275 836 298H613C616 277 625 262 642 252Z" opacity="0.62"/>
</g>
<g fill="none" stroke="#496f79" stroke-width="5" stroke-linecap="round" opacity="0.55">
<path d="M168 300q20-18 40 0q20-18 40 0"/>
<path d="M361 230q14-12 28 0q14-12 28 0" stroke-width="4"/>
<path d="M1462 315q17-15 34 0q17-15 34 0" stroke-width="4"/>
</g>
<!-- Distant sea and headlands -->
<path d="M0 359H1600V704C1394 667 1219 684 1035 654C831 621 673 655 464 631C273 609 137 626 0 604Z" fill="url(#sea)"/>
<path d="M0 366C212 350 399 371 590 359C808 345 1002 369 1212 357C1364 348 1489 354 1600 361" fill="none" stroke="#d9eef0" stroke-width="5" opacity="0.58"/>
<path d="M0 462C160 447 314 474 462 458C641 439 823 468 1014 451C1208 434 1388 460 1600 440" fill="none" stroke="#b8dde1" stroke-width="7" opacity="0.34"/>
<path d="M0 385C79 357 145 323 216 329C268 334 315 360 356 386Z" fill="#607976"/>
<path d="M0 385C77 362 148 339 225 344C273 347 314 367 356 386Z" fill="#829789"/>
<path d="M1314 371C1374 338 1453 320 1600 303V381Z" fill="#566f71"/>
<path d="M1393 356C1465 333 1524 324 1600 320V377Z" fill="#748981"/>
<g clip-path="url(#seaClip)" fill="none" stroke-linecap="round">
<g stroke="#edf6ee" opacity="0.62">
<path d="M66 520c86-15 139-11 218 2" stroke-width="6"/>
<path d="M349 561c111-18 208-7 304 7" stroke-width="7"/>
<path d="M755 515c91-16 153-10 232 4" stroke-width="5"/>
<path d="M1090 570c121-22 218-10 347 8" stroke-width="8"/>
<path d="M1307 491c71-10 132-6 210 3" stroke-width="5"/>
</g>
<g class="glint" stroke="#fff5c9" opacity="0.75" filter="url(#waterGlow)">
<path d="M1256 332l139 0" stroke-width="5"/>
<path d="M1219 387l199 0" stroke-width="7"/>
<path d="M1172 444l286 0" stroke-width="8"/>
<path d="M1127 507l331 0" stroke-width="10"/>
<path d="M1194 570l227 0" stroke-width="8"/>
</g>
</g>
<!-- Shore -->
<path d="M0 568C166 552 272 581 417 591C596 604 751 574 932 593C1120 613 1317 585 1600 623V1000H0Z" fill="url(#wetSand)"/>
<path d="M0 646C183 625 326 676 495 673C688 669 793 628 1003 662C1204 694 1375 645 1600 690V1000H0Z" fill="url(#drySand)"/>
<path d="M0 581C162 564 280 603 420 607C589 612 754 587 928 608C1113 631 1311 598 1600 640" fill="none" stroke="#f6f4db" stroke-width="20" opacity="0.86"/>
<path d="M0 586C157 571 285 611 420 615C607 622 762 596 929 616C1116 638 1321 609 1600 648" fill="none" stroke="#c7e3d8" stroke-width="8" opacity="0.8"/>
<path d="M0 612C160 597 289 638 430 643C603 649 759 618 930 639C1122 662 1328 633 1600 671" fill="none" stroke="#f7f2dc" stroke-width="4" stroke-dasharray="4 19" stroke-linecap="round" opacity="0.78"/>
<g fill="#8a6948" opacity="0.38">
<ellipse cx="105" cy="745" rx="5" ry="2.5" transform="rotate(18 105 745)"/>
<ellipse cx="197" cy="822" rx="8" ry="3" transform="rotate(-12 197 822)"/>
<ellipse cx="346" cy="703" rx="5" ry="2"/>
<ellipse cx="1397" cy="780" rx="7" ry="2.5" transform="rotate(22 1397 780)"/>
<ellipse cx="1506" cy="903" rx="5" ry="2"/>
<ellipse cx="1271" cy="720" rx="4" ry="2"/>
</g>
<!-- Dunes framing the action -->
<path d="M0 753C66 711 142 702 222 728C171 757 124 799 92 862L0 895Z" fill="url(#dune)" opacity="0.9"/>
<path d="M1452 763C1517 738 1568 742 1600 761V1000H1481C1495 905 1484 831 1452 763Z" fill="url(#dune)" opacity="0.9"/>
<g stroke="#68784e" stroke-width="6" stroke-linecap="round" fill="none" opacity="0.85">
<path d="M42 787Q56 732 75 696M58 777Q91 735 124 720M35 797Q20 749 21 719M92 774Q123 745 155 742"/>
<path d="M1520 802Q1508 749 1491 717M1533 795Q1552 747 1576 728M1555 810Q1580 775 1600 768M1498 798Q1467 759 1444 748"/>
</g>
<g stroke="#9f925a" stroke-width="3" stroke-linecap="round" fill="none" opacity="0.7">
<path d="M112 786Q116 741 105 706M128 790Q150 750 174 739M1480 807Q1458 769 1433 754M1579 823Q1569 775 1581 747"/>
</g>
<!-- Tire tracks and moving sand -->
<path d="M107 927C260 908 373 919 491 938" fill="none" stroke="#a8794d" stroke-width="6" stroke-dasharray="18 22" opacity="0.34"/>
<path d="M113 944C257 927 366 936 471 951" fill="none" stroke="#f0cc91" stroke-width="3" stroke-dasharray="14 25" opacity="0.66"/>
<g fill="#e9c484" opacity="0.9">
<circle class="sand-speck" cx="380" cy="923" r="4"/>
<circle class="sand-speck" cx="411" cy="945" r="3"/>
<circle class="sand-speck" cx="443" cy="919" r="5"/>
<circle class="sand-speck" cx="466" cy="949" r="2.5"/>
<circle class="sand-speck" cx="490" cy="930" r="3.5"/>
</g>
<!-- Grounded shadow -->
<ellipse cx="842" cy="950" rx="520" ry="42" fill="#5f604e" opacity="0.28" filter="url(#softShadow)"/>
<ellipse cx="842" cy="949" rx="421" ry="17" fill="#5f5542" opacity="0.26"/>
<!-- Bicycle wheels -->
<g transform="translate(515 770)">
<circle r="185" fill="#f8f1dd" fill-opacity="0.045" stroke="#16252c" stroke-width="17"/>
<circle r="176" fill="none" stroke="#4c6065" stroke-width="5"/>
<circle r="169" fill="none" stroke="#e1e8e7" stroke-width="3" opacity="0.8"/>
<g class="spoke-spin"><use href="#spokes"/></g>
<path d="M-135-116A178 178 0 0 1-29-174" fill="none" stroke="#6f8589" stroke-width="3" opacity="0.55"/>
</g>
<g transform="translate(1165 770)">
<circle r="185" fill="#f8f1dd" fill-opacity="0.045" stroke="#16252c" stroke-width="17"/>
<circle r="176" fill="none" stroke="#4c6065" stroke-width="5"/>
<circle r="169" fill="none" stroke="#e1e8e7" stroke-width="3" opacity="0.8"/>
<g class="spoke-spin"><use href="#spokes"/></g>
<path d="M-135-116A178 178 0 0 1-29-174" fill="none" stroke="#6f8589" stroke-width="3" opacity="0.55"/>
</g>
<!-- Rear leg, behind the frame -->
<g fill="none" stroke="url(#leg)" stroke-linecap="round" stroke-linejoin="round">
<path d="M754 579C747 641 741 696 728 757C724 776 725 793 728 808" stroke="#a95531" stroke-width="23" opacity="0.5"/>
<path d="M754 579C747 641 741 696 728 757C724 776 725 793 728 808" stroke-width="17"/>
<path d="M728 808C708 809 690 814 676 824M730 808C710 821 699 833 692 845M732 808C727 827 727 841 730 852" stroke="#c96e39" stroke-width="8"/>
</g>
<!-- Bicycle frame -->
<g fill="none" stroke-linecap="round" stroke-linejoin="round">
<g stroke="#762f34" stroke-width="22" opacity="0.88">
<path d="M515 770L721 603L800 770L515 770Z"/>
<path d="M721 603L997 599L800 770"/>
<path d="M997 599L1014 749"/>
<path d="M1014 749L1165 770"/>
</g>
<g stroke="url(#bikePaint)" stroke-width="15">
<path d="M515 770L721 603L800 770L515 770Z"/>
<path d="M721 603L997 599L800 770"/>
<path d="M997 599L1014 749"/>
<path d="M1014 749L1165 770"/>
</g>
<g stroke="#ffad75" stroke-width="3.5" opacity="0.75">
<path d="M526 760L720 614L787 755"/>
<path d="M733 612L980 609"/>
</g>
</g>
<!-- Chain, gears and pedals -->
<g fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M515 759L795 739M515 781L795 801" stroke="#30383a" stroke-width="5" opacity="0.86"/>
<circle cx="800" cy="770" r="39" stroke="#30383a" stroke-width="8"/>
<circle cx="800" cy="770" r="31" stroke="url(#metal)" stroke-width="5" stroke-dasharray="3 5"/>
<circle cx="515" cy="770" r="24" stroke="#30383a" stroke-width="6"/>
<circle cx="515" cy="770" r="17" stroke="#9aa7a8" stroke-width="3" stroke-dasharray="2 4"/>
<path d="M800 770L875 730M800 770L727 810" stroke="#56666a" stroke-width="9"/>
<path d="M858 730H901M705 810H748" stroke="#243238" stroke-width="10"/>
<circle cx="800" cy="770" r="10" fill="url(#metal)" stroke="#35484d" stroke-width="3"/>
</g>
<!-- Seat and steering -->
<g stroke-linecap="round" stroke-linejoin="round">
<path d="M721 603L710 559" stroke="#5b6d71" stroke-width="12"/>
<path d="M676 557C704 548 740 551 761 561C753 576 727 581 686 574Z" fill="#593b33" stroke="#2e2e2b" stroke-width="5"/>
<path d="M996 598L1031 525" fill="none" stroke="#586b70" stroke-width="12"/>
<path d="M1030 525C1058 514 1086 513 1111 524M1088 523L1105 495" fill="none" stroke="url(#metal)" stroke-width="10"/>
<path d="M1093 496L1121 496" stroke="#33464b" stroke-width="13"/>
<circle cx="1029" cy="531" r="11" fill="#e9c65e" stroke="#6f5934" stroke-width="4"/>
<path d="M1008 572L983 551" fill="none" stroke="#5b6e72" stroke-width="6"/>
<ellipse cx="977" cy="546" rx="14" ry="10" fill="#f4e6c3" stroke="#555e5e" stroke-width="3"/>
</g>
<!-- Pelican -->
<g id="pelican" filter="url(#bodyShadow)">
<!-- Tail -->
<g fill="url(#wingFeather)" stroke="#7f8d8e" stroke-width="2.2" stroke-linejoin="round">
<path d="M650 481C594 459 530 442 458 430C503 472 559 511 633 535Z"/>
<path d="M647 500C579 490 514 482 450 486C511 522 572 544 646 546Z"/>
<path d="M664 519C594 524 537 536 484 558C547 572 604 571 670 553Z"/>
</g>
<!-- Main body -->
<path d="M604 558C571 510 579 448 622 406C678 350 795 345 881 390C940 420 965 486 937 549C905 622 824 656 729 644C674 637 626 608 604 558Z" fill="url(#bodyFeather)" stroke="#849396" stroke-width="4"/>
<path d="M616 482C631 410 710 371 797 375C709 394 659 441 648 511C640 558 666 599 715 632C644 615 599 556 616 482Z" fill="#fffdf2" opacity="0.66"/>
<!-- Layered flank feathers -->
<g fill="none" stroke-linecap="round">
<path d="M633 516C682 539 715 538 758 520" stroke="#c4cbc7" stroke-width="5"/>
<path d="M646 546C704 573 755 568 805 544" stroke="#b8c2bf" stroke-width="5"/>
<path d="M676 589C733 614 802 603 845 571" stroke="#adb9b7" stroke-width="5"/>
<path d="M697 416C752 398 820 411 856 442" stroke="#fffdf5" stroke-width="8" opacity="0.75"/>
</g>
<g fill="#eef0e8" stroke="#b9c2bf" stroke-width="2" opacity="0.92">
<path d="M638 458q31-29 67-12q-28 6-52 30Z"/>
<path d="M669 438q35-27 69-6q-31 4-56 27Z"/>
<path d="M635 500q35-25 73-2q-33 3-60 24Z"/>
<path d="M664 527q38-24 77 2q-36 0-64 20Z"/>
<path d="M704 557q42-22 82 7q-38-2-70 16Z"/>
</g>
<!-- Neck and head -->
<path d="M828 427C875 398 900 352 897 301C893 245 915 193 958 163C1005 130 1073 140 1114 178C1145 206 1146 246 1122 274C1095 306 1055 312 1019 296C995 285 981 287 968 303C944 335 950 389 912 435C885 465 849 458 828 427Z" fill="url(#bodyFeather)" stroke="#849396" stroke-width="4"/>
<path d="M930 350C921 290 930 220 980 181C1013 155 1061 154 1095 177C1055 165 1020 176 997 205C967 244 981 298 962 346C947 384 923 417 892 438C914 411 936 389 930 350Z" fill="#fffdf4" opacity="0.74"/>
<path d="M1088 174C1060 146 1021 143 983 158C1010 132 1058 124 1098 145C1112 153 1122 163 1129 177Z" fill="#f8f5e9"/>
<!-- Crest -->
<g id="crest" fill="#faf8ed" stroke="#99a5a4" stroke-width="2" stroke-linejoin="round">
<path d="M1000 160C983 132 980 108 989 89C1005 113 1012 134 1010 158Z"/>
<path d="M1019 155C1011 120 1020 94 1035 77C1041 106 1038 132 1030 158Z"/>
<path d="M1041 158C1048 125 1064 105 1082 94C1077 124 1065 145 1054 166Z"/>
</g>
<!-- Eye and facial markings -->
<path d="M1030 185C1056 172 1083 178 1095 197C1074 213 1045 213 1026 197Z" fill="#efd17c" opacity="0.76"/>
<circle cx="1061" cy="192" r="13" fill="url(#eye)" stroke="#3b443e" stroke-width="3"/>
<circle cx="1057" cy="187" r="3.5" fill="#fff"/>
<path d="M1018 217C1040 224 1064 224 1087 215" fill="none" stroke="#a5aaa2" stroke-width="3" stroke-linecap="round"/>
<!-- Bill and throat pouch -->
<g id="pouch-shape">
<path d="M1077 190C1170 181 1290 192 1419 222C1448 229 1450 246 1422 255C1305 262 1190 252 1085 237Z" fill="url(#billTop)" stroke="#9e6b38" stroke-width="4" stroke-linejoin="round"/>
<path d="M1085 234C1183 244 1311 254 1422 251C1364 290 1267 318 1149 323C1118 325 1099 306 1090 278Z" fill="url(#pouch)" stroke="#a9633e" stroke-width="4" stroke-linejoin="round"/>
<path d="M1101 249C1187 262 1294 268 1387 259C1311 286 1219 301 1144 300C1122 299 1110 284 1101 249Z" fill="#f7bd76" opacity="0.42"/>
<path d="M1090 234C1192 244 1324 257 1424 251" fill="none" stroke="#885436" stroke-width="4" stroke-linecap="round"/>
<path d="M1417 222C1447 226 1457 240 1422 255C1436 242 1431 232 1417 222Z" fill="#9b5933"/>
<path d="M1100 211C1197 207 1308 215 1402 235" fill="none" stroke="#ffe29b" stroke-width="4" opacity="0.7" stroke-linecap="round"/>
</g>
<!-- Folded wing -->
<path d="M635 459C697 395 815 397 887 452C877 520 829 581 718 593C667 568 638 524 635 459Z" fill="url(#wingFeather)" stroke="#7e8e91" stroke-width="4"/>
<path d="M658 458C718 420 795 420 853 453C822 457 791 468 764 489C727 517 704 550 698 579C665 548 650 504 658 458Z" fill="#f6f3e7" opacity="0.68"/>
<g fill="none" stroke="#89989a" stroke-width="4" stroke-linecap="round" opacity="0.75">
<path d="M693 460C751 436 809 442 850 469"/>
<path d="M678 489C742 469 809 478 849 502"/>
<path d="M681 520C742 507 793 515 827 538"/>
<path d="M699 552C744 545 779 550 805 565"/>
</g>
<g fill="#c6cecb" stroke="#899698" stroke-width="2">
<path d="M820 468C852 463 879 470 899 490C871 486 848 493 827 509Z"/>
<path d="M799 506C833 499 863 508 881 529C850 523 827 530 806 546Z"/>
<path d="M771 543C805 538 830 545 848 564C817 560 797 566 780 579Z"/>
</g>
<!-- Forward wing reaching the handlebar -->
<g id="forward-wing">
<path d="M836 425C902 423 953 455 994 497C1018 522 1037 536 1053 532C1068 528 1080 540 1071 554C1064 567 1044 570 1026 560C994 543 966 520 934 505C903 491 879 494 850 511Z" fill="url(#wingFeather)" stroke="#7b8b8e" stroke-width="4" stroke-linejoin="round"/>
<path d="M863 440C907 440 949 466 985 504C953 486 920 474 888 476C873 477 859 481 848 487Z" fill="#fffdf2" opacity="0.66"/>
<path d="M924 473C967 490 997 526 1028 548M896 486C940 499 968 526 995 544M960 466C985 482 1006 504 1027 525" fill="none" stroke="#9aa7a7" stroke-width="4" stroke-linecap="round"/>
<path d="M1044 529C1052 519 1065 519 1071 527L1060 540L1075 536L1077 548L1063 555L1046 555Z" fill="#d7dcd7" stroke="#79888a" stroke-width="3"/>
</g>
</g>
<!-- Front leg and webbed foot -->
<g fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M818 599C813 650 830 691 873 730" stroke="#9d5131" stroke-width="24" opacity="0.48"/>
<path d="M818 599C813 650 830 691 873 730" stroke="url(#leg)" stroke-width="17"/>
<path d="M873 730C886 722 900 717 914 719M875 732C893 731 907 735 919 742M872 733C882 744 887 753 889 763" stroke="#d1783b" stroke-width="8"/>
<path d="M858 730H901" stroke="#26363b" stroke-width="8" opacity="0.8"/>
</g>
<!-- Small hardware highlights -->
<g fill="#eaf1ef" stroke="#45585d" stroke-width="3">
<circle cx="515" cy="770" r="9"/>
<circle cx="1165" cy="770" r="9"/>
<circle cx="1014" cy="749" r="7"/>
</g>
<!-- Speed strokes -->
<g fill="none" stroke-linecap="round" opacity="0.42">
<path d="M248 645H443" stroke="#fff4d9" stroke-width="8"/>
<path d="M184 688H394" stroke="#b7774d" stroke-width="5"/>
<path d="M264 736H406" stroke="#fff0ce" stroke-width="6"/>
<path d="M222 783H346" stroke="#b7774d" stroke-width="4"/>
</g>
<!-- Foreground shell and pebbles -->
<g transform="translate(1367 912) rotate(-12)">
<path d="M0 19C9-8 52-9 66 18C49 11 17 11 0 19Z" fill="#f0d7b4" stroke="#9c765b" stroke-width="3"/>
<path d="M13 15L17 3M28 13L31-1M44 14L43 2M56 17L53 7" stroke="#b38a68" stroke-width="2"/>
</g>
<g fill="#7f745e" opacity="0.6">
<ellipse cx="1260" cy="942" rx="12" ry="5" transform="rotate(-11 1260 942)"/>
<ellipse cx="1481" cy="873" rx="9" ry="4" transform="rotate(18 1481 873)"/>
<ellipse cx="272" cy="965" rx="7" ry="3"/>
</g>
<!-- Subtle film grain -->
<rect width="1600" height="1000" filter="url(#grain)" opacity="0.12" style="mix-blend-mode:multiply" pointer-events="none"/>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,290 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1000" role="img" aria-labelledby="title desc">
<title id="title">海边骑自行车的鹈鹕</title>
<desc id="desc">一只羽毛细腻的褐鹈鹕沿着阳光海滩骑着复古自行车,身后是波光粼粼的大海。</desc>
<defs>
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#70b4df"/>
<stop offset=".43" stop-color="#bfe1ec"/>
<stop offset=".72" stop-color="#f8d8af"/>
<stop offset="1" stop-color="#f0b68d"/>
</linearGradient>
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#397fa6"/>
<stop offset=".2" stop-color="#52a4bc"/>
<stop offset=".67" stop-color="#91cad2"/>
<stop offset="1" stop-color="#d0dbca"/>
</linearGradient>
<linearGradient id="sand" x1="0" y1="0" x2=".15" y2="1">
<stop offset="0" stop-color="#f8e0a9"/>
<stop offset=".35" stop-color="#edc783"/>
<stop offset="1" stop-color="#c98c54"/>
</linearGradient>
<linearGradient id="creamFeather" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#fff9df"/>
<stop offset=".38" stop-color="#e9d5a5"/>
<stop offset=".72" stop-color="#ad8464"/>
<stop offset="1" stop-color="#60483e"/>
</linearGradient>
<linearGradient id="neck" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#ffffe9"/>
<stop offset=".26" stop-color="#f1e4bc"/>
<stop offset=".63" stop-color="#b38d6e"/>
<stop offset="1" stop-color="#725348"/>
</linearGradient>
<linearGradient id="wing" x1=".1" y1="0" x2=".9" y2="1">
<stop offset="0" stop-color="#f5e2b0"/>
<stop offset=".24" stop-color="#b78d67"/>
<stop offset=".58" stop-color="#715144"/>
<stop offset="1" stop-color="#302e32"/>
</linearGradient>
<linearGradient id="bill" x1="0" y1=".15" x2="1" y2=".85">
<stop offset="0" stop-color="#f8c856"/>
<stop offset=".4" stop-color="#dc9738"/>
<stop offset=".7" stop-color="#a75e31"/>
<stop offset="1" stop-color="#563b37"/>
</linearGradient>
<linearGradient id="pouch" x1="0" y1="0" x2=".8" y2="1">
<stop offset="0" stop-color="#d2a66a"/>
<stop offset=".4" stop-color="#b7785d"/>
<stop offset="1" stop-color="#744a42"/>
</linearGradient>
<linearGradient id="leg" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#b9a994"/>
<stop offset=".45" stop-color="#857466"/>
<stop offset="1" stop-color="#493e3d"/>
</linearGradient>
<linearGradient id="metal" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#fcfded"/>
<stop offset=".18" stop-color="#9eb0b1"/>
<stop offset=".38" stop-color="#f4e3a9"/>
<stop offset=".62" stop-color="#546468"/>
<stop offset=".82" stop-color="#c5d5d1"/>
<stop offset="1" stop-color="#526168"/>
</linearGradient>
<radialGradient id="tire" cx="40%" cy="33%" r="72%">
<stop offset="0" stop-color="#52616a"/>
<stop offset=".52" stop-color="#252b32"/>
<stop offset="1" stop-color="#11161d"/>
</radialGradient>
<radialGradient id="sun" cx="50%" cy="50%" r="50%">
<stop offset="0" stop-color="#fffce2"/>
<stop offset=".38" stop-color="#ffe7a0" stop-opacity=".95"/>
<stop offset="1" stop-color="#ffd288" stop-opacity="0"/>
</radialGradient>
<filter id="softShadow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="13"/>
</filter>
<filter id="smallShadow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur stdDeviation="4"/>
</filter>
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="7" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<filter id="paperTexture" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency=".75" numOctaves="3" seed="27" result="noise"/>
<feColorMatrix in="noise" type="saturate" values="0" result="mono"/>
<feComponentTransfer in="mono" result="grain"><feFuncA type="table" tableValues="0 .075"/></feComponentTransfer>
<feBlend in="SourceGraphic" in2="grain" mode="multiply"/>
</filter>
<clipPath id="seaClip"><path d="M0 412 C212 391 390 421 601 402 C825 381 1080 417 1600 389 L1600 690 L0 690Z"/></clipPath>
<clipPath id="beachClip"><path d="M0 631 C212 601 376 632 579 651 C808 672 1003 631 1243 639 C1397 644 1504 669 1600 697 L1600 1000 L0 1000Z"/></clipPath>
</defs>
<g filter="url(#paperTexture)">
<rect width="1600" height="670" fill="url(#sky)"/>
<ellipse cx="1310" cy="163" rx="177" ry="177" fill="url(#sun)"/>
<circle cx="1310" cy="163" r="56" fill="#fff4bf" opacity=".95"/>
<!-- high, soft coastal clouds -->
<g fill="#fffaf0" opacity=".62">
<path d="M65 175 C86 139 127 135 150 158 C164 112 225 108 247 156 C270 131 316 140 326 177 C286 191 126 195 65 175Z"/>
<path d="M1010 112 C1032 78 1070 78 1089 105 C1104 59 1173 61 1184 110 C1208 88 1255 101 1264 130 C1195 143 1066 140 1010 112Z" opacity=".72"/>
<path d="M1340 293 C1362 264 1407 267 1426 294 C1442 261 1492 266 1505 304 C1530 288 1571 300 1582 325 C1512 338 1400 331 1340 293Z" opacity=".43"/>
</g>
<g fill="none" stroke="#f9ffff" stroke-linecap="round" opacity=".7">
<path d="M280 286 q15-15 30 0 q15-15 30 0" stroke-width="4"/>
<path d="M369 224 q12-12 24 0 q12-12 24 0" stroke-width="3"/>
<path d="M104 315 q9-9 18 0 q9-9 18 0" stroke-width="3"/>
</g>
<!-- distant headlands -->
<path d="M0 398 C70 367 144 361 216 385 C307 416 378 422 483 393 C559 371 638 373 705 398 L705 452 L0 452Z" fill="#537f82" opacity=".72"/>
<path d="M1058 408 C1142 360 1224 365 1301 391 C1408 427 1493 400 1600 352 L1600 456 L1058 456Z" fill="#4a7779" opacity=".74"/>
<path d="M0 421 C243 404 466 422 661 414 C907 402 1118 429 1600 399 L1600 691 L0 691Z" fill="url(#sea)"/>
<!-- layered surf lines -->
<g clip-path="url(#seaClip)" fill="none" stroke-linecap="round">
<path d="M-40 454 C104 432 196 470 338 449 S589 434 748 454 S1038 475 1193 449 S1458 430 1650 453" stroke="#d8f1e9" stroke-width="9" opacity=".54"/>
<path d="M-74 483 C105 459 237 500 394 476 S670 465 831 485 S1118 508 1307 478 S1482 468 1654 486" stroke="#f7fff1" stroke-width="5" opacity=".55"/>
<path d="M-45 525 C110 496 239 535 389 514 S649 509 820 531 S1124 553 1313 523 S1495 512 1650 529" stroke="#e5f5e9" stroke-width="8" opacity=".64"/>
<path d="M-30 570 C170 534 293 584 488 558 S809 557 970 579 S1261 596 1450 561 S1563 554 1644 574" stroke="#f9fff2" stroke-width="6" opacity=".72"/>
<path d="M-47 612 C137 576 320 622 526 599 S800 599 1015 622 S1343 641 1648 596" stroke="#fffbe6" stroke-width="10" opacity=".85"/>
<path d="M64 435 l105 -13 M534 435 l118 -13 M894 444 l118 -12 M1245 428 l130 -17" stroke="#b9e1db" stroke-width="4" opacity=".5"/>
<path d="M180 554 l84 -12 M478 578 l115 -12 M1178 567 l123 -18 M1424 535 l86 -12" stroke="#82c4ca" stroke-width="4" opacity=".5"/>
</g>
<!-- beach, wet sand, and foam -->
<path d="M0 631 C212 601 376 632 579 651 C808 672 1003 631 1243 639 C1397 644 1504 669 1600 697 L1600 1000 L0 1000Z" fill="url(#sand)"/>
<g clip-path="url(#beachClip)">
<path d="M-20 678 C158 634 345 693 533 687 S836 642 1033 673 S1382 696 1620 652" fill="none" stroke="#ffeed0" stroke-width="29" opacity=".74"/>
<path d="M-35 693 C169 654 322 716 535 709 S830 662 1037 692 S1363 715 1632 670" fill="none" stroke="#fff8db" stroke-width="9" opacity=".92"/>
<path d="M-20 739 C227 697 432 763 653 742 S1105 702 1608 730" fill="none" stroke="#c59567" stroke-width="3" opacity=".55"/>
<path d="M-40 819 C187 779 446 839 684 812 S1178 773 1640 823" fill="none" stroke="#e7b878" stroke-width="5" opacity=".5"/>
<path d="M-28 909 C194 862 414 930 684 900 S1200 862 1641 911" fill="none" stroke="#a96f4d" stroke-width="4" opacity=".35"/>
<g fill="#a46d4e" opacity=".52">
<ellipse cx="171" cy="805" rx="7" ry="3" transform="rotate(-18 171 805)"/>
<ellipse cx="260" cy="908" rx="4" ry="2" transform="rotate(20 260 908)"/>
<ellipse cx="467" cy="768" rx="8" ry="3" transform="rotate(-9 467 768)"/>
<ellipse cx="1253" cy="782" rx="6" ry="2.5" transform="rotate(22 1253 782)"/>
<ellipse cx="1436" cy="883" rx="9" ry="3" transform="rotate(-16 1436 883)"/>
<ellipse cx="1107" cy="929" rx="4" ry="2" transform="rotate(12 1107 929)"/>
</g>
</g>
<!-- grounding shadows -->
<ellipse cx="891" cy="888" rx="455" ry="55" fill="#805c4b" opacity=".28" filter="url(#softShadow)"/>
<ellipse cx="894" cy="856" rx="360" ry="26" fill="#624a42" opacity=".24" filter="url(#smallShadow)"/>
<!-- bicycle wheels -->
<g>
<g transform="translate(625 769)">
<circle r="157" fill="none" stroke="url(#tire)" stroke-width="24"/>
<circle r="142" fill="none" stroke="#dbe0d5" stroke-width="4" opacity=".9"/>
<circle r="136" fill="none" stroke="#697d80" stroke-width="2" opacity=".85"/>
<g stroke="#c8d7d1" stroke-width="2" opacity=".78">
<path d="M0 0 L0 -135 M0 0 L67 -118 M0 0 L117 -67 M0 0 L135 0 M0 0 L117 67 M0 0 L67 118 M0 0 L0 135 M0 0 L-67 118 M0 0 L-117 67 M0 0 L-135 0 M0 0 L-117 -67 M0 0 L-67 -118"/>
</g>
<circle r="16" fill="#d6b866" stroke="#49565d" stroke-width="5"/>
<circle r="5" fill="#38434a"/>
</g>
<g transform="translate(1137 769)">
<circle r="157" fill="none" stroke="url(#tire)" stroke-width="24"/>
<circle r="142" fill="none" stroke="#dbe0d5" stroke-width="4" opacity=".9"/>
<circle r="136" fill="none" stroke="#697d80" stroke-width="2" opacity=".85"/>
<g stroke="#c8d7d1" stroke-width="2" opacity=".78">
<path d="M0 0 L0 -135 M0 0 L67 -118 M0 0 L117 -67 M0 0 L135 0 M0 0 L117 67 M0 0 L67 118 M0 0 L0 135 M0 0 L-67 118 M0 0 L-117 67 M0 0 L-135 0 M0 0 L-117 -67 M0 0 L-67 -118"/>
</g>
<circle r="16" fill="#d6b866" stroke="#49565d" stroke-width="5"/>
<circle r="5" fill="#38434a"/>
</g>
</g>
<!-- bicycle frame behind the rider -->
<g fill="none" stroke-linejoin="round" stroke-linecap="round">
<path d="M625 769 L810 579 L949 769 Z M810 579 L1011 620 L949 769 M810 579 L887 539" stroke="#1e5c68" stroke-width="24"/>
<path d="M625 769 L810 579 L949 769 Z M810 579 L1011 620 L949 769 M810 579 L887 539" stroke="#59a5a4" stroke-width="11"/>
<path d="M949 769 L1137 769 L1011 620" stroke="#1f5b68" stroke-width="24"/>
<path d="M949 769 L1137 769 L1011 620" stroke="#57a6a5" stroke-width="11"/>
<path d="M1011 620 L1099 493 L1165 510" stroke="url(#metal)" stroke-width="13"/>
<path d="M1095 492 C1121 473 1150 475 1178 491 C1190 498 1206 489 1210 474" stroke="#45585b" stroke-width="12"/>
<path d="M1095 492 C1121 473 1150 475 1178 491 C1190 498 1206 489 1210 474" stroke="#f0d798" stroke-width="3"/>
<path d="M810 579 L797 519" stroke="url(#metal)" stroke-width="15"/>
<path d="M754 517 Q794 494 837 514 Q839 530 824 537 L769 537 Q753 533 754 517Z" fill="#714b3c" stroke="#3e3637" stroke-width="5"/>
<path d="M949 769 L907 729" stroke="#47575a" stroke-width="8"/>
<circle cx="949" cy="769" r="39" fill="#e3c05e" stroke="#34464d" stroke-width="10"/>
<circle cx="949" cy="769" r="14" fill="#40575d"/>
<path d="M949 769 L1016 802 M949 769 L891 735" stroke="#4a5656" stroke-width="9"/>
<path d="M1009 805 l44 2 M884 733 l-43 -3" stroke="#2f3f45" stroke-width="12"/>
<path d="M625 769 L949 769" stroke="#4d4d42" stroke-width="5" opacity=".8"/>
<path d="M653 754 C732 730 835 740 912 766" stroke="#d5b65c" stroke-width="3" opacity=".72"/>
</g>
<!-- rear rack and small beach basket -->
<g>
<path d="M501 620 L601 620 L627 649 L520 649Z" fill="#b7854f" stroke="#5a4238" stroke-width="7"/>
<path d="M505 623 L621 649 M526 620 L542 649 M554 620 L569 649 M582 620 L597 649" stroke="#efcb79" stroke-width="4" opacity=".75"/>
<path d="M516 648 L548 712 M607 648 L578 705" fill="none" stroke="#45595b" stroke-width="8"/>
<path d="M510 618 Q549 573 591 618" fill="none" stroke="#5a4238" stroke-width="7"/>
<path d="M527 617 Q550 590 574 616" fill="none" stroke="#e2ba69" stroke-width="3"/>
<path d="M540 601 Q550 580 561 601" fill="#6a9d72"/>
<path d="M551 599 Q571 575 582 604" fill="#5d8d68"/>
</g>
<!-- pelican's long legs, intentionally visible through frame -->
<g>
<path d="M774 672 C765 710 786 737 825 754 C853 766 868 762 891 736" fill="none" stroke="#3e3638" stroke-width="35" stroke-linecap="round"/>
<path d="M774 672 C765 710 786 737 825 754 C853 766 868 762 891 736" fill="none" stroke="url(#leg)" stroke-width="25" stroke-linecap="round"/>
<path d="M868 670 C891 701 932 720 981 724 C1005 726 1026 746 1047 798" fill="none" stroke="#3e3638" stroke-width="35" stroke-linecap="round"/>
<path d="M868 670 C891 701 932 720 981 724 C1005 726 1026 746 1047 798" fill="none" stroke="url(#leg)" stroke-width="25" stroke-linecap="round"/>
<!-- webbed feet wrapped over pedals -->
<path d="M852 732 C871 725 899 727 915 739 C899 746 892 754 882 764 C868 754 853 754 837 751 C838 743 844 736 852 732Z" fill="#5b4b46"/>
<path d="M852 732 C871 725 899 727 915 739 C899 746 892 754 882 764 C868 754 853 754 837 751 C838 743 844 736 852 732Z" fill="url(#leg)" opacity=".8"/>
<path d="M1018 788 C1035 778 1067 783 1082 801 C1063 803 1054 814 1044 824 C1030 813 1019 811 1003 808 C1005 800 1010 793 1018 788Z" fill="#51423f"/>
<path d="M1021 790 C1038 783 1064 788 1078 802" fill="none" stroke="#aa957f" stroke-width="5" opacity=".65"/>
</g>
<!-- pelican body -->
<g>
<path d="M739 454 C709 489 690 554 698 624 C703 684 731 726 772 744 C815 763 901 754 949 717 C994 681 999 602 960 551 C925 505 871 477 821 459 C788 448 761 443 739 454Z" fill="#3e3738" opacity=".52" filter="url(#smallShadow)"/>
<path d="M742 425 C699 462 686 528 699 604 C707 664 734 716 781 739 C825 760 901 748 945 710 C982 677 990 613 961 556 C930 494 870 465 824 440 C793 423 763 414 742 425Z" fill="url(#creamFeather)" stroke="#4c3e3b" stroke-width="7"/>
<!-- pale breast -->
<path d="M759 466 C726 514 731 588 757 642 C777 684 814 716 848 724 C818 661 824 613 843 570 C861 528 840 480 807 453 C787 436 770 446 759 466Z" fill="#f7edc7" opacity=".94"/>
<path d="M763 484 C748 539 757 595 786 645 M783 470 C773 530 789 595 815 648 M810 471 C804 526 820 579 844 626" fill="none" stroke="#b69577" stroke-width="5" opacity=".55"/>
<!-- folded wing -->
<path d="M805 461 C857 463 932 500 962 554 C978 585 966 641 942 678 C923 707 883 734 829 728 C858 700 878 671 881 635 C884 596 853 545 805 461Z" fill="url(#wing)" stroke="#493a3a" stroke-width="7"/>
<path d="M840 500 C883 536 907 579 910 637 C909 666 897 693 875 711 M867 490 C911 525 938 568 938 617 C939 651 925 683 904 704 M894 503 C930 535 953 571 956 603" fill="none" stroke="#e1c18e" stroke-width="5" opacity=".5"/>
<path d="M825 534 C858 574 869 612 864 657 C860 685 845 707 829 728" fill="none" stroke="#2d3033" stroke-width="8" opacity=".58"/>
<!-- feather tips -->
<path d="M829 728 C856 711 881 697 905 703 C891 718 870 733 841 739Z" fill="#272b2f"/>
<path d="M862 719 C891 697 916 684 937 683 C924 706 900 725 878 735Z" fill="#323135"/>
</g>
<!-- neck and head, placed in front of torso -->
<g>
<path d="M765 486 C720 457 687 418 686 371 C684 330 708 310 727 283 C743 261 746 230 731 199 C722 178 739 159 766 159 C808 160 839 180 843 213 C848 260 823 301 810 335 C797 369 805 415 844 463 C818 490 790 499 765 486Z" fill="#4b3c3b" opacity=".52" filter="url(#smallShadow)"/>
<path d="M767 471 C725 447 701 414 701 372 C701 330 728 303 744 277 C762 248 765 219 749 190 C742 174 755 158 778 159 C818 160 845 181 849 216 C854 258 833 299 820 335 C806 373 816 414 851 455 C828 485 797 489 767 471Z" fill="url(#neck)" stroke="#51413d" stroke-width="7"/>
<path d="M756 191 C786 194 806 213 807 238 C810 276 786 310 777 345 C770 380 782 419 812 455" fill="none" stroke="#fff6d7" stroke-width="12" opacity=".72"/>
<path d="M730 353 C741 365 751 371 765 375 M727 383 C740 393 753 400 769 402 M737 414 C751 422 767 427 782 428" fill="none" stroke="#72584a" stroke-width="5" opacity=".65"/>
<!-- crown -->
<path d="M748 188 C735 169 745 145 764 138 C790 127 826 143 845 171 C818 158 792 158 766 170Z" fill="#f5edd0"/>
<path d="M759 158 C774 130 797 123 822 134 M775 159 C796 132 818 133 839 153" fill="none" stroke="#6e594b" stroke-width="5" stroke-linecap="round"/>
<!-- head -->
<path d="M738 208 C746 177 781 164 814 177 C845 189 855 215 843 239 C827 268 792 280 756 266 C735 258 729 232 738 208Z" fill="#f4e7bd" stroke="#57443e" stroke-width="7"/>
<path d="M744 220 C765 195 802 190 831 207 C833 218 829 228 822 238 C797 252 769 250 748 237Z" fill="#fff7d9" opacity=".82"/>
<!-- eye and face stripe -->
<path d="M748 222 C764 209 781 207 796 217 C781 223 766 233 752 241Z" fill="#6d5447" opacity=".72"/>
<ellipse cx="777" cy="214" rx="13" ry="11" fill="#efe48c" stroke="#3c3332" stroke-width="4"/>
<circle cx="778" cy="215" r="5.7" fill="#151a1b"/>
<circle cx="781" cy="211" r="2" fill="#fffde2"/>
<path d="M792 227 Q809 233 822 226" fill="none" stroke="#6f5242" stroke-width="4"/>
</g>
<!-- enormous pelican bill and pouch -->
<g>
<path d="M747 230 C706 224 671 234 625 253 C552 283 467 293 360 290 C325 289 297 304 297 325 C299 348 330 356 364 351 C478 337 585 338 666 319 C711 308 747 280 767 248 C769 239 760 233 747 230Z" fill="#574039" opacity=".42" filter="url(#smallShadow)"/>
<path d="M746 218 C702 215 671 227 625 244 C553 270 468 280 361 278 C326 277 300 291 301 311 C302 332 330 342 366 336 C476 321 583 324 664 304 C710 293 743 268 765 239 C767 230 758 221 746 218Z" fill="url(#bill)" stroke="#523d39" stroke-width="7"/>
<path d="M306 309 C356 308 459 306 570 294 C632 287 690 271 748 231" fill="none" stroke="#ffdd6a" stroke-width="8" opacity=".55"/>
<path d="M357 338 C433 341 543 331 632 313 C686 302 722 277 755 245 C745 295 716 331 674 359 C610 403 497 414 394 395 C352 387 327 369 331 354 C334 345 343 340 357 338Z" fill="url(#pouch)" stroke="#593f3b" stroke-width="7"/>
<path d="M356 351 C444 365 557 350 650 326 C690 315 722 291 750 260" fill="none" stroke="#e7bb82" stroke-width="7" opacity=".58"/>
<path d="M386 365 C465 381 558 367 642 344 M423 381 C497 395 565 383 619 366" fill="none" stroke="#82574b" stroke-width="5" opacity=".52"/>
<path d="M301 311 C297 297 310 282 334 277 C322 291 319 305 329 319 C321 322 311 319 301 311Z" fill="#40373a"/>
<path d="M735 232 Q751 223 764 235 Q750 249 739 257Z" fill="#403236"/>
</g>
<!-- front wing reaches the handlebars -->
<g>
<path d="M861 492 C918 467 982 463 1030 486 C1075 508 1107 524 1140 516 C1159 511 1175 521 1178 538 C1181 557 1163 570 1145 570 C1105 570 1071 553 1031 548 C976 541 931 552 889 570 C858 557 847 523 861 492Z" fill="#453a3b" opacity=".48" filter="url(#smallShadow)"/>
<path d="M857 479 C919 456 982 454 1028 476 C1073 497 1104 514 1137 505 C1156 500 1172 510 1175 527 C1178 545 1161 558 1143 558 C1104 558 1070 541 1032 536 C977 529 931 541 887 557 C858 545 846 509 857 479Z" fill="url(#wing)" stroke="#493a3a" stroke-width="7"/>
<path d="M884 491 C934 479 976 485 1015 502 C1051 519 1083 531 1122 531 M881 510 C930 501 968 509 1006 524 C1045 540 1084 546 1128 544" fill="none" stroke="#e3c38f" stroke-width="5" opacity=".52"/>
<path d="M1129 516 C1142 505 1159 510 1165 524 C1169 537 1159 548 1144 548 C1130 543 1123 530 1129 516Z" fill="#9b846e" stroke="#4c3d3c" stroke-width="5"/>
<path d="M1138 531 L1162 521 M1138 537 L1160 535" stroke="#e0cfaf" stroke-width="3"/>
</g>
<!-- bike details in foreground -->
<g fill="none" stroke-linecap="round" stroke-linejoin="round">
<path d="M1099 493 L1137 769" stroke="#344a50" stroke-width="7" opacity=".78"/>
<path d="M1153 521 Q1164 513 1175 521" stroke="#f8e4a3" stroke-width="4"/>
<path d="M956 776 C974 794 1000 807 1028 808" stroke="#f5d878" stroke-width="4" opacity=".85"/>
<circle cx="1011" cy="620" r="11" fill="#e7c861" stroke="#3d4f54" stroke-width="5"/>
<path d="M563 613 L550 587" stroke="#47595c" stroke-width="9"/>
<path d="M537 585 Q551 572 566 584" stroke="#efda94" stroke-width="4"/>
</g>
<!-- foreground dune grass gives a little depth -->
<g fill="none" stroke-linecap="round">
<path d="M88 1000 C75 929 96 884 142 841 M102 1000 C116 941 145 900 196 872 M141 1000 C135 939 121 907 92 871 M1496 1000 C1490 931 1519 889 1563 853 M1532 1000 C1539 940 1566 913 1591 899 M1462 1000 C1446 942 1420 909 1388 884" stroke="#8b9b57" stroke-width="10"/>
<path d="M88 1000 C75 929 96 884 142 841 M102 1000 C116 941 145 900 196 872 M141 1000 C135 939 121 907 92 871 M1496 1000 C1490 931 1519 889 1563 853 M1532 1000 C1539 940 1566 913 1591 899 M1462 1000 C1446 942 1420 909 1388 884" stroke="#c9be6d" stroke-width="3" opacity=".7"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because it is too large. Load diff