Этап 47: ревизия SVG-портретов рыб — детализация до уровня болотных + биологическое правдоподобие. (1) Полная перерисовка 32 портретов, кроме 5 болотных (эталон стиля, Этап 45): 8 речных (carass, perch, bream, carp, pike, catfish, sturge, gold), 10 озёрных (zander, chuch, crayfish, bleak, roundel, eelpout, tench, navaga, rudd, cisco), 5 морских (herring, mackerel, flounder, tuna, swordfish), 9 океанских (moray, grouper, turtle, angler, octopus, manta, shark, squid, whale). (2) Единый стиль: послойные заливки без градиентов/defs (--f1 тело, --f3 плавники — перекрашиваются вариантами; --f2 брюхо/светлое, --f4 тёмный узор/кромка — НЕ перекрашиваются), спинная кромка f4-серпом, жаберная пластина+дуга, глаз 5 кругов (ободок→склера→радужка фикс-hex→зрачок→блик), составные узоры (полосы/пятна/чешуя/жучки/финлеты) — одним compound-path, ≤38 элементов, фикс-hex-акценты разрешены. (3) Видовые отличия и разведение «двойников»: карась↔карп (усы), окунь↔судак (горб/полосы/красное vs косая полоса/клыки), лещ↔густера (длинная анальная «юбка» vs короткий анальный+крупный глаз+киль), плотва↔краснопёрка (красный vs жёлтый глаз, рот конечный vs вверх), сом↔вьюн (голова-¼/длинные усы vs лента/10 усиков), мурена↔вьюн, осьминог↔кальмар (мешок+8 равных рук vs мантия-ракета+2 ловчих+крылышки), кит↔акула (флоскулы/фонтан/ус vs треуг. D/гетероцерк/5 щелей), сельдь↔скумбрия↔тунец↔меч, манта↔камбала↔рак, черепаха (вид сверху). (4) «Не рыбы»: crayfish (рак, вид сверху, клешни/ноги/веер), turtle (черепаха, вид сверху, щитки/4 ласты/клюв), octopus/squid/whale — иная анатомия (присоски/ловчие щупальца/флоскулы/фонтан), допустимые отклонения от рыбьего протокола. (5) Двойные боссы sturge (Река) и whale (Океан) проверены под золотой аурой #card.boss-card — контраст держат f4-детали. (6) Дефекты, найденные на приёмке и исправленные точечно (композиция не менялась): octopus — 2 щели с фоном; swordfish — светлый стык голова↔меч; tuna — прозрачная «дыра» в выемке хвоста-полумесяца; grouper — щель пасть↔нижняя челюсть; angler — просвет между римом и эской. (7) viewBox (0 0 160 100) и id/имена файлов не менялись; данные/логика/баланс не тронуты. (8) Интеграция: node tools/embed-fish.mjs — блок FISH-SVG обновлён (202478 байт / 1512 строк, 37 symbol); проверено совпадение всех 37 symbol с текущими assets/fish/*.svg; tools/fish-preview.html — блок «Варианты» (8 инлайн-копий carass синхронизированы с источником) + секция «Читаемость в UI» (44×28 / 40×26 / 240×150). Тесты не правились: 222/222 PASS, exit 0; check.mjs OK; balance.mjs — пины без изменений (Река 65.1/125.9 · Озёра 194.1/249.0 · Болото 240.3/328.9 · Море 297.3/476.7 · Океан 329.1/552.7). Скриншоты перегенерированы (45 RU + 45 EN). Доки: DEVLOG Этап 47.

This commit is contained in:
2026-09-23 16:55:52 +03:00
parent e0ba750568
commit 0a0595c3c1
125 changed files with 2791 additions and 1520 deletions
+48 -24
View File
@@ -1,26 +1,50 @@
<!-- Удильщик (angler): круглое «пузырь»-тело ~1.5:1, большой тёмный рот с белыми зубами, маленький хвост, «удочка» над головой со светящимся шариком -->
<!-- Удильщик (angler): ШАРОВИДНОЕ тело-«пузырь» ~1.5:1 (центр 84,54; рыло 132,56) — антипод высокому груперу; главные знаки вида: ИЛЛИЦИЙ — «удочка» со лба вперёд-вверх (112,28)→(128,6) с ЭСКОЙ-приманкой (130,7: светящийся шар + ядро + тонкий рим) и ОГРОМНАЯ ВООРУЖЁННАЯ ПАСТЬ (шарнир 112,50, верхняя губа 134,58, нижняя челюсть 130,74) с двумя compound-рядами зубов; КРОШЕЧНЫЙ глаз (120,44), колючая кожа (f4-треугольники по спине/брюху), колючий спинной бугор (66,24) с шипами и КРОШЕЧНЫЙ хвост-веер; фиолетово-чёрная палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: маленький «веер» слева -->
<path fill="var(--f3,hsl(280,50%,32%))" d="M42 50 C32 38 16 36 10 46 C18 49 20 53 16 60 C12 68 20 74 30 68 C37 63 41 57 42 50 Z"/>
<!-- спинной плавник: небольшой горб на спине -->
<path fill="var(--f3,hsl(280,50%,32%))" d="M60 24 C66 12 82 11 92 20 C80 18 68 20 62 25 Z"/>
<!-- тело: круглый «пузырь» ~1.5:1, голова справа перетекает в тело без шеи -->
<path fill="var(--f1,hsl(280,45%,48%))" d="M38 52 C38 32 60 20 88 21 C114 22 133 36 134 56 C134 74 114 88 86 88 C58 88 38 74 38 52 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(280,30%,70%))" d="M134 56 C134 74 114 88 86 88 C58 88 38 74 38 52 C44 62 56 70 70 73 C96 78 120 72 134 56 Z"/>
<!-- узор: тёмные пятна на теле -->
<circle fill="var(--f4,hsl(280,45%,26%))" cx="66" cy="46" r="4.5"/>
<circle fill="var(--f4,hsl(280,45%,26%))" cx="82" cy="34" r="3.5"/>
<circle fill="var(--f4,hsl(280,45%,26%))" cx="58" cy="62" r="3"/>
<!-- рот: широкая тёмная щель от носа до под глазом -->
<path fill="var(--f4,hsl(280,45%,26%))" d="M133 54 C121 60 106 61 95 58 C107 70 127 67 133 54 Z"/>
<!-- зубы: белые треугольнички в щели -->
<path fill="#fff" d="M119 57 L126 58 L122.5 63 Z M109 59 L116 59.5 L112.5 64.5 Z M99 59.5 L106 60 L102.5 65 Z M92 58.8 L98 59.3 L95 63.8 Z"/>
<!-- «удочка»: тонкая дуга от лба вверх-вперёд -->
<path fill="none" stroke="var(--f4,hsl(280,45%,26%))" stroke-width="3" stroke-linecap="round" d="M117 25 C116 12 128 5 145 8"/>
<!-- светящийся шарик на конце удочки -->
<circle fill="#ffe9a8" cx="145" cy="8" r="4"/>
<!-- глаз: белый круг + зрачок -->
<circle fill="#fff" cx="108" cy="41" r="6.5"/>
<circle fill="#142638" cx="109.5" cy="41" r="3.2"/>
<!-- хвост: КРОШЕЧНЫЙ «веер» (антипод большому хвосту групера), корень (40,50) утоплен в тело (нахлёст ≥4) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M40 40 C34 36 30 40 30 50 C30 60 34 64 40 60 C43 55 43 45 40 40 Z"/>
<!-- хвост: 3 тёмных луча внутри крошечной лопасти -->
<path fill="none" stroke="var(--f4,hsl(280,40%,18%))" stroke-width="1" opacity="0.4" d="M40 43 L33 40 M40 50 L32 50 M40 57 L33 60"/>
<!-- спинной плавник: колючий бугор (пик ~66,17), основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M48 38 C52 24 60 17 68 17 C78 17 86 24 90 36 C78 28 60 29 48 38 Z"/>
<!-- брюшные плавники: пара мягких лопастей под брюхом, основания утоплены в тело -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M84 80 C82 87 84 92 89 90 C92 88 92 83 91 80 Z"/>
<path fill="var(--f3,hsl(282,38%,28%))" d="M94 80 C92 87 94 92 99 90 C102 88 101 83 100 80 Z"/>
<!-- тело: ШАРОВИДНЫЙ «пузырь» (центр ~85,54; ry≈31), голова справа без шеи, рыло (133,54) -->
<path fill="var(--f1,hsl(282,32%,40%))" d="M36 54 C36 34 56 23 84 23 C113 23 134 36 134 54 C134 62 132 70 128 75 C122 81 110 85 88 85 C58 85 36 73 36 54 Z"/>
<!-- брюхо: светлая нижняя полоса вдоль всего «пузыря» -->
<path fill="var(--f2,hsl(285,22%,68%))" d="M36 54 C36 73 58 85 88 85 C110 85 122 81 128 75 C126 77 118 80 106 81 C84 83 56 74 36 54 Z"/>
<!-- узор: 3 тёмные кляксы на боку (сбивают «гладкий шар») -->
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.22" d="M58 57 C64 54 70 57 68 62 C66 67 57 66 55 61 C54 58 55 57 58 57 Z"/>
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.2" d="M76 46 C82 43 88 47 86 52 C84 57 74 55 73 50 C72 47 73 46 76 46 Z"/>
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.24" d="M74 60 C80 57 86 61 84 66 C82 71 73 69 72 64 C71 61 71 60 74 60 Z"/>
<!-- колючая кожа: 7 мелких f4-треугольников по спине и брюху (один compound-path) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M44 37 L45 29 L48.5 36 Z M98 25 L99.5 17 L102.5 24 Z M105 27 L107 19 L110 26 Z M48 74 L48.5 81 L52.5 75 Z M60 80 L61.5 87 L65.5 81 Z M108 80 L109.5 87 L113.5 81 Z M123 70 L125.5 76.5 L128.5 71 Z"/>
<!-- колючий спинной бугор: 4 f4-шипа над лопастью (compound-path) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M54 25 L56 15 L60 23 Z M63 20 L66 11 L70 19 Z M73 19 L77 11 L80 20 Z M83 22 L87 15 L88.5 24 Z"/>
<!-- пасть: ОГРОМНОЕ тёмное нутро — шарнир (110,50), верхняя губа (134,58), нижняя челюсть (128,74) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M110 51 C121 52 129 54 134 58 C133 64 131 70 128 74 C119 71 110 63 105 56 C103 52 106 50 110 51 Z"/>
<!-- верхняя губа: светлая f2-кромка по верхнему контуру пасти -->
<path fill="var(--f2,hsl(285,22%,68%))" d="M109 50 C120 50.5 129 53 134.5 57.5 C131.5 54.5 121 51.5 110.5 51.5 Z"/>
<!-- зубы верхней челюсти: compound-path, 4 треугольника вниз (фикс-акцент) -->
<path fill="#f7f3e6" d="M113 51 L117 52 L114.5 56 Z M119 52.5 L123 53.5 L120.5 57.5 Z M125 54.5 L129 55.5 L126.5 59.5 Z M131 56.5 L134 57.5 L131.5 61 Z"/>
<!-- зубы нижней челюсти: compound-path, 4 треугольника вверх (фикс-акцент) -->
<path fill="#f7f3e6" d="M130 70 L125 69 L127.5 65.5 Z M124 69 L119 67.5 L121.5 63.5 Z M118 67.5 L113 65.5 L115.5 61.5 Z M113.5 65.5 L110 63.5 L112 59.5 Z"/>
<!-- грудной плавник: свисает с бока у основания головы (ПОСЛЕ тела), корень (104,65) утоплен в тело → кончик (115,86) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M104 64 C111 65 117 74 116 86 C109 85 103 76 102.5 68 C102 65 102 63.5 104 64 Z"/>
<!-- «удочка» (иллиций): f4-штрих от лба (112,28) дугой вперёд-вверх к (128,6) -->
<path fill="none" stroke="var(--f4,hsl(280,40%,18%))" stroke-width="2.6" stroke-linecap="round" d="M112 28 C110 16 116 7 128 6"/>
<!-- эска: подложка свечения — закрывает просвет между римом (внутренний край r=6) и шаром r=5 (иначе фон карточки просвечивал тёмным кольцом) -->
<circle fill="#dff8ff" cx="130" cy="7" r="6"/>
<!-- эска: тонкий светящийся рим -->
<circle fill="none" stroke="#8fe8ff" stroke-width="1" cx="130" cy="7" r="6.5"/>
<!-- эска: светящаяся приманка -->
<circle fill="#dff8ff" cx="130" cy="7" r="5"/>
<!-- эска: белое ядро -->
<circle fill="#ffffff" cx="130" cy="7" r="2.6"/>
<!-- глаз: НАМЕРЕННО КРОШЕЧНЫЙ (антипод крупному глазу групера) — 5 кругов последними -->
<circle fill="var(--f4,hsl(280,40%,18%))" cx="120" cy="44" r="2.8"/>
<circle fill="#f4f1e6" cx="120" cy="44" r="2"/>
<circle fill="#c9a23a" cx="120" cy="44" r="1.4"/>
<circle fill="#142638" cx="120" cy="44" r="0.9"/>
<circle fill="#fff" cx="119.3" cy="43.3" r="0.4"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

+38 -24
View File
@@ -1,26 +1,40 @@
<!-- Плотва (bleak): невысокое удлинённое тело ~3:1, серебристое, мелкий вилочный хвост, тонкая тёмная полоса вдоль спины -->
<!-- Плотва (bleak): умеренно высокое серебристое тело (D/L≈0.39), конечный рот чуть вниз, красноватые плавники с умеренной вилкой хвоста, крупная серебристая чешуя; без киля и без пятна у хвоста. Главный видовой знак — КРАСНЫЙ глаз (у краснопёрки жёлтый) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M35 42 L14 32 L24.5 47 L14 62 L35 52 Z"/>
<!-- тело: невысокое удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(200,30%,70%))" d="M144 47 C132 36 110 30 84 30 C56 30 40 35 34 41 L34 53 C40 59 56 63 84 63 C110 63 132 58 144 47 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(200,25%,82%))" d="M144 47 C132 58 110 63 84 63 C56 63 40 59 34 53 C40 55 56 58.5 84 58.5 C110 58.5 132 54.5 144 47 Z"/>
<!-- тонкая тёмная полоса вдоль верхнего края спины -->
<path fill="var(--f1,hsl(200,45%,48%))" d="M144 47 C132 36 110 30 84 30 C56 30 40 35 34 41 C40 39 56 34.5 84 34.5 C110 34.5 132 39.5 144 47 Z"/>
<!-- спинной плавник: низкий -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M68 31 Q83 10 102 31.5 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M112 51 C107 56 107 61.5 112 64.5 C115.5 60 116.5 55.5 114 51.5 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M82 63 L77 71 L89 64 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M62 62.5 L56 70.5 L68 63.5 Z"/>
<!-- узор: тёмные точки вдоль бока -->
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="56" cy="48" rx="3.5" ry="2.2"/>
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="76" cy="46.5" rx="3.5" ry="2.2"/>
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="96" cy="45.5" rx="3.5" ry="2.2"/>
<!-- глаз -->
<circle fill="#fff" cx="127" cy="42" r="4.5"/>
<circle fill="#142638" cx="128" cy="42" r="2.2"/>
<!-- хвост: умеренная вилка, корень утоплен в стебель на 4 ед. (нахлёст) -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M42 45 L14 33 C20.5 41 24 46 27 50 C24 54 20.5 59 14 67 L42 55 L46 55 L46 45 Z"/>
<!-- спинной плавник: основание x68..95 утоплено в спину, вершина (82,15), задняя кромка чуть вогнута -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M67.5 38 C71 29 75.5 18.5 82 15 C84.5 21 88.5 27 95 33.2 Z"/>
<!-- лучи спинного плавника: 3 тонких штриха веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M72.5 35 C72.2 29.5 73 25 74.5 20.5"/>
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M81.5 32.8 C81.7 26 81.8 20 82 15.6"/>
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M90 33.9 C89 28.5 86.8 23.5 84.5 18.5"/>
<!-- анальный плавник: основание x57..75 утоплено в брюхо (нахлёст ≥4), низ до y84, лопасть отведена назад -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M58 61.5 C60 72.5 63 80 68.5 83.5 C73 84.5 75 79 75 66.5 Z"/>
<!-- брюшные плавники: пара мягких округлых лопастей, x84..102, отведены назад-вниз -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M84 68.5 C82.5 77 84 83.5 87.5 85.5 C91 84 92.5 77.5 92 68.5 Z"/>
<path fill="var(--f3,hsl(12,45%,50%))" d="M94 68.5 C92.5 78 94 84.5 97.5 86 C101 84.5 102.5 78 102 68.5 Z"/>
<!-- тело: умеренно высокое серебристое, рыло (152,50), затылок (132,39), спина (96,29), брюхо (96,73), стебель 42,45/42,55 -->
<path fill="var(--f1,hsl(205,22%,55%))" d="M152 50 C149.5 43 143 37 134 35.5 C120 31 108 29 96 29 C72 29 50 36.5 42 45 L42 55 C50 63.5 72 73 96 73 C114 73 129 68 138 60 C144 55 149.5 52 152 50 Z"/>
<!-- брюхо: светлая нижняя треть (серебро) -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M42 55 C50 63.5 72 73 96 73 C114 73 129 68 138 60 C130 64 114 68 96 68 C74 68 54 62.5 42 55 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(205,30%,24%))" d="M152 50 C149.5 43 143 37 134 35.5 C120 31 108 29 96 29 C72 29 50 36.5 42 45 C50 39.5 72 31.5 96 31.5 C108 31.5 120 34 134 38.5 C143 42 149 47 152 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы -->
<path fill="var(--f2,hsl(200,20%,80%))" opacity="0.35" d="M130 39.5 C135 46 136 54 131 61.5 C127 54.5 126 46.5 126 40.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="1.2" opacity="0.45" d="M130 39.5 C135 46 136 54 131 61.5"/>
<!-- чешуя: крупные широкие f2-серпы, верхний ряд из трёх -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M74 38.5 Q66.5 45 74 51.5 Q69.9 45 74 38.5 Z M90 37.5 Q82.5 44 90 50.5 Q85.9 44 90 37.5 Z M106 37.5 Q98.5 44 106 50.5 Q101.9 44 106 37.5 Z"/>
<!-- чешуя: нижний ряд из двух серпов (compound-path) -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M82 50.5 Q74.5 57 82 63.5 Q77.9 57 82 50.5 Z M98 50.5 Q90.5 57 98 63.5 Q93.9 57 98 50.5 Z"/>
<!-- рот: конечный, чуть вниз (152,51.5) -->
<path fill="var(--f4,hsl(205,30%,24%))" d="M148.6 50 C150.4 50.7 152 51.3 152 51.7 C150.9 52.4 149.6 52 148.4 51 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, направлена назад-вниз (после тела) -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M117 55 C112 58 109 62.5 111 66.5 C114.5 65 116.5 60.5 118.5 56.5 Z"/>
<!-- глаз: ГЛАВНЫЙ знак вида — красная радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(205,30%,24%))" cx="134" cy="42" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="42" r="4.6"/>
<circle fill="#c0392b" cx="134" cy="42" r="3.4"/>
<circle fill="#142638" cx="134" cy="42" r="2.2"/>
<circle fill="#fff" cx="132.6" cy="40.6" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

+39 -12
View File
@@ -1,14 +1,41 @@
<!-- Лещ (bream): высокое ромбовидное тело на очень тонком хвостовом стебле, длинный анальный плавник-«юбка» с вогнутой кромкой и веером лучей (главная сигнатура), короткий высокий спинной, мелкая голова с крошечным низким глазом, глубокая вилка хвоста; тёмно-бронзовая спина на серебристом теле -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M38 50 L16 36 L26 50 L16 64 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M36 50 Q40 18 86 16 Q130 18 146 50 Q130 82 86 84 Q40 82 36 50 Z" fill="var(--f1,hsl(210,45%,48%))"/>
<path d="M36 50 Q40 82 86 84 Q130 82 146 50 Q128 66 86 66 Q50 64 36 50 Z" fill="var(--f2,hsl(210,30%,70%))"/>
<path d="M44 30 Q76 2 128 16 Q136 26 134 36 Q84 12 44 30 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M98 56 Q120 60 116 76 Q102 72 94 62 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M80 82 Q92 92 108 86 Q96 82 86 80 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M46 42 Q92 34 140 46 Q92 48 46 42 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M64 28 Q70 24 76 28 Q70 34 64 28 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M84 24 Q90 20 96 24 Q90 30 84 24 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M104 30 Q110 26 116 30 Q110 36 104 30 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<circle cx="126" cy="42" r="7" fill="#fff"/>
<circle cx="127.5" cy="42" r="3.2" fill="#142638"/>
<!-- хвост: глубокая вилка; светлая кромка, чтобы лопасти не сливались с тенью -->
<path fill="var(--f3,hsl(210,28%,36%))" stroke="var(--f2,hsl(205,24%,78%))" stroke-width="1" stroke-opacity="0.5" d="M50 46 L12 28 C22 40 26 46 30 50 C26 54 22 60 12 72 L50 54 Z"/>
<!-- спинной плавник: короткий и высокий (антипод длинного анального) -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M74 24 C78 10 84 3 90 3 C97 3 103 9 107 23 L74 25 Z"/>
<!-- анальный плавник: главный признак — длинная «юбка» вдоль задней половины брюха, тёмная обводка вогнутой наружной кромки -->
<path fill="var(--f3,hsl(210,28%,36%))" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="1" stroke-opacity="0.55" d="M58 61 C47 69 41 81 46 94 C63 86 82 84 99 91 C103 89 103 85 100 80 C84 74 68 67 58 61 Z"/>
<!-- лучи анального плавника: веер от основания к кромке (передние длиннее) -->
<path fill="none" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="0.8" opacity="0.33" d="M60 62 L47 92 M69 66 L57 90 M79 70 L70 87 M89 74 L84 86 M97 78 L97 89"/>
<!-- брюшные плавники: пара мягких уплощённых лопастей без острых концов -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M106 79 C100 83 101 90 107 90 C112 90 115 84 114 80 Z"/>
<path fill="var(--f3,hsl(210,28%,36%))" d="M119 81 C113 85 114 92 120 92 C125 92 128 86 127 82 Z"/>
<!-- тело: высокий ромб с остриём на спине и очень тонким стеблем (длина/глубина ≈0.65) -->
<path fill="var(--f1,hsl(208,30%,52%))" d="M150 53 C146 45 141 38 127 31 C118 24 106 17 94 17 C74 17 56 27 46 47 L46 53 C56 73 78 85 104 85 C126 85 142 74 146 62 C148 58 149 55 150 53 Z"/>
<!-- брюхо: серебристая нижняя треть -->
<path fill="var(--f2,hsl(205,24%,78%))" d="M46 53 C56 73 78 85 104 85 C126 85 142 74 146 62 C138 72 120 78 102 78 C76 78 58 68 46 53 Z"/>
<!-- спинная кромка: толстая тёмно-бронзовая полоса от затылка до стебля -->
<path fill="var(--f4,hsl(28,30%,23%))" d="M134 34 C126 26 112 19 94 17 C76 18 58 27 46 47 C59 31 77 23 94 23 C111 23 125 29 135 38 Z"/>
<!-- жаберная пластина: мягкая светлая заливка -->
<path fill="var(--f2,hsl(205,24%,78%))" opacity="0.3" d="M131 37 C137 44 138 54 133 64 C127 54 124 44 125 38 Z"/>
<!-- жаберная дуга (сдвинута влево, чтобы не сливаться с ободком глаза) -->
<path fill="none" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="1.5" d="M131 37 C137 44 138 54 133 64"/>
<!-- чешуя: мелкие бледные полумесяцы в два ряда по средней части бока -->
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M75 34 Q81 39 75 44 Q77 39 75 34 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M91 32 Q97 37 91 42 Q93 37 91 32 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M107 35 Q113 40 107 45 Q109 40 107 35 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M69 48 Q75 53 69 58 Q71 53 69 48 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M87 46 Q93 51 87 56 Q89 51 87 46 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M105 50 Q111 55 105 60 Q107 55 105 50 Z"/>
<!-- рот: крошечная приподнятая щель (рот слегка вверх) -->
<path fill="var(--f4,hsl(28,30%,23%))" d="M144 49.5 C147 49.8 149 50.6 150 52 C148.4 53 146.2 52.4 144.8 51 Z"/>
<!-- грудной плавник: мелкий, низко на теле -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M130 58 L113 73 L133 62 Z"/>
<!-- глаз: МАЛЕНЬКИЙ и низко у рыла; узкая склера, радужка/зрачок доминируют -->
<circle fill="var(--f4,hsl(28,30%,23%))" cx="138" cy="45" r="4.5"/>
<circle fill="#f4f1e6" cx="138" cy="45" r="2.9"/>
<circle fill="#c8b06a" cx="138" cy="45" r="2.3"/>
<circle fill="#142638" cx="138" cy="45" r="1.5"/>
<circle fill="#fff" cx="137" cy="44" r="0.6"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

+46 -8
View File
@@ -1,10 +1,48 @@
<!-- Карась (carass): высокое округлое тело-«монета» с мягким горбом, длинный спинной плавник с полого-выпуклой кромкой и лучами, короткий округлый анальный у хвостового стебля, тупая голова без усов, слабо вильчатый хвост; главный видовой знак — тёмное пятно у основания хвоста; оливково-золотая палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M40 50 L14 30 L24 50 L14 70 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M36 50 Q60 22 100 24 Q132 27 144 50 Q132 73 100 76 Q60 78 36 50 Z" fill="var(--f1,hsl(45,45%,48%))"/>
<path d="M144 50 Q132 73 100 76 Q60 78 36 50 Q64 66 104 66 Q130 64 144 50 Z" fill="var(--f2,hsl(45,30%,70%))"/>
<path d="M76 28 Q90 6 114 21 Q96 24 80 29 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M102 54 Q124 58 120 74 Q106 70 98 60 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M84 72 Q96 84 108 78 Q98 74 88 70 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<circle cx="124" cy="42" r="7" fill="#fff"/>
<circle cx="125.5" cy="42" r="3.2" fill="#142638"/>
<!-- хвост: слабая вилка, закруглённые лопасти (стебель толстый, 14 ед.) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M42 44 L13 33 C21 41 25 46 30 51 C25 56 21 61 13 69 L42 58 Z"/>
<!-- спинной плавник: ДЛИННЫЙ, кромка полого-выпуклая (пик чуть ближе к хвосту), основание глубоко утоплено в тело (нахлёст ≥4 ед., щели нет) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M62 37 C64 23 72 13 84 12 C98 11 114 20 126 34 Z"/>
<!-- лучи спинного плавника: 5 тонких штрихов веером от основания к кромке (передние короче, задние длиннее) -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M68 36.7 C67.6 31.8 67.8 26.5 68 21.5"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M79 36.2 C78.7 29.5 78.9 20.5 79 13.6"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M90 35.7 C89.8 28 89.8 19.5 89.8 12.8"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M101 35.2 C101.2 28.5 101.1 21.5 101 15.9"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M112 34.7 C112.3 30 112.1 25.5 112 21.9"/>
<!-- анальный плавник: округлый, ШИРОКИМ основанием растёт из брюха, а не висит каплей -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M54 62 C59 81 65 89 72 89 C79 88 84 81 88 69 L54 62 Z"/>
<!-- лучи анального плавника: 3 коротких тёмных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M63 72 C63.6 77 64.4 80.5 65 83"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M70 75 C70.6 80 71.4 84 72.5 87"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M78 76 C78.5 79 79 81.5 79.3 83.5"/>
<!-- брюшные плавники: пара мягких округлых лопастей, направлены назад-вниз (без острых углов) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M109 73 C103 85 92 82 100 71 Z"/>
<path fill="var(--f3,hsl(46,42%,33%))" d="M118 73 C113 85 104 82 109 72 Z"/>
<!-- тело: высокое и округлое, спина горбатая, голова тупая (длина/глубина ≈0.51) -->
<path fill="var(--f1,hsl(48,45%,48%))" d="M148 50 C144 41 138 34 126 30 C116 26 106 24 96 24 C74 25 53 33 42 44 L42 58 C53 71 76 79 100 79 C120 79 137 70 142 57 C145 53 147 51 148 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(48,32%,72%))" d="M42 58 C53 71 76 79 100 79 C120 79 137 70 142 57 C136 66 118 72 100 72 C78 72 56 66 42 58 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(50,35%,22%))" d="M148 50 C144 41 138 34 126 30 C116 26 106 24 96 24 C74 25 53 33 42 44 C54 37 76 30 96 27.5 C108 28 118 33 127 37.5 C136 42 143 47 148 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём маленькой головы) -->
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.35" d="M132 39 C138 46 139 54 134 62 C129 54 127 46 127 40 Z"/>
<!-- жаберная дуга: тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1.5" d="M132 39 C138 46 139 54 134 62"/>
<!-- ГЛАВНЫЙ знак вида: тёмное пятно у самого основания хвостового плавника (не «второй глаз») -->
<ellipse fill="#2b2416" cx="44.5" cy="50" rx="3.2" ry="4"/>
<!-- чешуя: 3 широких серпа на плече (крупная чешуя, а не решётка) -->
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M104 41 Q97 50 104 59 Q101 50 104 41 Z"/>
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M114 40 Q106 50 114 60 Q111 50 114 40 Z"/>
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M124 43 Q117 50 124 57 Q121 50 124 43 Z"/>
<!-- рот: крошечная щель на тупом рыле (усов нет — это карп!) -->
<path fill="var(--f4,hsl(50,35%,22%))" d="M143 49 C146 49.4 148 50.2 148.8 51.4 C147 52.6 145 52 143.4 50.6 Z"/>
<!-- грудной плавник: мягкая округлая лопасть на боку под жаберной дугой, направлена назад-вниз (в стиле брюшных) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M133 54 C126 57 116 61 118 66 C120 71 128 64 132 58 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(50,35%,22%))" cx="137.5" cy="41.5" r="5.7"/>
<circle fill="#f7f3e6" cx="137.5" cy="41.5" r="4.6"/>
<circle fill="#c98a2a" cx="137.5" cy="41.5" r="3.2"/>
<circle fill="#142638" cx="137.5" cy="41.5" r="2.3"/>
<circle fill="#fff" cx="136" cy="40" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 751 B

After

Width:  |  Height:  |  Size: 5.9 KiB

+45 -15
View File
@@ -1,17 +1,47 @@
<!-- Карп (carp): высокое, но вытянутое и мощное тело (глубина/длина ≈0.44), крупная голова с полунижним ртом; длинный спинной плавник с длинной базой и вогнутой задней кромкой; ГЛАВНЫЙ различитель с карасём — две пары усиков (верхние длинные, нижние короткие); крупная чешуя — 6 широких f2-серпов в два ряда; тёмного пятна у хвоста НЕТ (это карасий знак); оливково-золотая палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M 36 50 L 10 24 Q 30 50 10 76 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 44 24 C 56 7 84 3 106 10 C 90 12 70 17 58 25 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 54 78 C 56 90 64 97 75 97 C 69 89 65 83 61 78 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 28 50 C 30 28 58 14 90 14 C 118 14 136 28 142 46 C 143 49 143 51 142 54 C 136 72 118 86 90 86 C 58 86 30 72 28 50 Z" fill="var(--f1,hsl(30,45%,48%))"/>
<path d="M 142 54 C 136 72 118 86 90 86 C 58 86 30 72 28 50 L 34 54 C 44 68 62 76 90 76 C 116 76 134 68 142 54 Z" fill="var(--f2,hsl(30,30%,70%))"/>
<path d="M 100 46 C 112 48 120 56 121 67 C 112 63 103 57 98 51 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<circle cx="64" cy="38" r="4" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="84" cy="50" r="3.5" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="100" cy="34" r="3" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="76" cy="62" r="3" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="92" cy="26" r="2.5" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="124" cy="40" r="7" fill="#fff"/>
<circle cx="126" cy="40" r="3.5" fill="#142638"/>
<path d="M 140 48 C 146 50 149 53 150 57" fill="none" stroke="var(--f4,hsl(30,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M 138 54 C 144 57 146 61 147 65" fill="none" stroke="var(--f4,hsl(30,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<!-- хвост: умеренная вилка, лопасти симметричны относительно y=50 (верх 32 / низ 68); база утоплена в стебель (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M40 44 L12 32 C20 40 25 45 30 50 C25 55 20 60 12 68 L40 56 Z"/>
<!-- спинной плавник: ДЛИННАЯ база (x70..119), высокий передний луч (86,15), задняя кромка ВОГНУТА (садится ниже хорды, не выпуклая, как у карася) -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M70 30 C74 20 79 15 86 15 C95 22 107 25 119 28 L119 30 Z"/>
<!-- лучи спинного: 5 тонких штрихов веером от основания к кромке (передние короче) -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="0.9" opacity="0.3" d="M74 29 L76 21 M81 29 L83 17.5 M89 29 L91 19 M97 29 L99 22.3 M106 29 L108 25"/>
<!-- анальный плавник: широкая мягкая лопасть у самого хвоста (x46..62), база утоплена в брюхо -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M46 60 C47 74 51 82 57 82.5 C63 82 66 76 62 68 Z"/>
<!-- лучи анального: 3 тёмных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1" opacity="0.3" d="M50 66 L52 78 M55 68 L57 80 M60 70 L60.5 80"/>
<!-- брюшные плавники: ДВЕ отдельные мягкие округлые лопасти (x94..113 на брюхе, кончики ~y87), назад-вниз, без острых углов -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M94 71 C91 78 91 84 96 87 C99 84 101 78 102 71 Z"/>
<path fill="var(--f3,hsl(30,50%,32%))" d="M104 71 C102 78 102 84 107 87 C110 84 112 78 113 71 Z"/>
<!-- тело: вытянуто-мощное (глубина/длина ≈0.44), горб (88,24), низ брюха (96,78), тупое рыло (150,51), стебель 12 ед. -->
<path fill="var(--f1,hsl(36,52%,46%))" d="M150 49 C147 43 142 39 136 37 C124 29 104 25 88 24 C68 24 48 30 34 44 L34 56 C48 70 68 78 96 78 C124 78 142 66 150 53 C150.6 51.5 150.6 50.5 150 49 Z"/>
<!-- брюхо: светлая (f2) нижняя треть -->
<path fill="var(--f2,hsl(42,45%,74%))" d="M34 56 C48 70 68 78 96 78 C124 78 142 66 150 53 C142 64 126 71 104 72 C78 73 54 67 34 56 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(28,45%,20%))" d="M150 49 C147 43 142 39 136 37 C124 29 104 25 88 24 C68 24 48 30 34 44 C46 34 66 29 88 28 C104 28 120 32 130 38 C140 44 146 47 150 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём крупной головы) -->
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.35" d="M124 38 C130 45 131 55 126 63 C121 55 119.5 46 120 39 Z"/>
<!-- жаберная дуга: тёмный серп у головы (сдвинут влево, чтобы не липнуть к глазу) -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.5" d="M124 38 C130 45 131 55 126 63"/>
<!-- чешуя (признак породы): 6 широких f2-серпов в два ряда — верхний x76/92/108, нижний x72/88/106 -->
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M76 34 Q68 40 76 46 Q73 40 76 34 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M92 32 Q84 38 92 44 Q89 38 92 32 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M108 36 Q100 42 108 48 Q105 42 108 36 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M72 46 Q64 52 72 58 Q69 52 72 46 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M88 44 Q80 50 88 56 Q85 50 88 44 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M106 48 Q98 54 106 60 Q103 54 106 48 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой, ПОСЛЕ тела, направлена назад-вниз -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M136 54 C130 58 123 63 124 67 C125 70 131 64 136 57 Z"/>
<!-- рот ПОЛУНИЖНИЙ: узкие тёмные губы на нижней стороне рыла (не конечный-верхний, как у карася) -->
<path fill="var(--f4,hsl(28,45%,20%))" d="M149.6 51.6 C148.2 54.2 146 55.6 144 55.4 C145.2 53.6 146.8 52.2 148.4 51.2 Z"/>
<!-- УСЫ (главный различитель с карасём, только f4, stroke-width 1.8): верхние длинные ~14 ед. — поверх грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.8" stroke-linecap="round" d="M146 52 L132 60 M144 52 L134 63"/>
<!-- нижние усы короткие ~7 ед., ниже и круче верхних -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.8" stroke-linecap="round" d="M145 55 L137 58 M145 56 L138 60"/>
<!-- глаз последним: ободок f4 → склера → радужка #c98a2a → зрачок → блик -->
<circle fill="var(--f4,hsl(28,45%,20%))" cx="133" cy="42" r="5"/>
<circle fill="#f4f1e6" cx="133" cy="42" r="4.1"/>
<circle fill="#c98a2a" cx="133" cy="42" r="3"/>
<circle fill="#142638" cx="133" cy="42" r="2.1"/>
<circle fill="#fff" cx="131.5" cy="40.5" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

+55 -15
View File
@@ -1,17 +1,57 @@
<!-- Сом (catfish): массивная тупая голова ≈¼ длины с крутым подъёмом лба-горба (пик 132,27 → седло 114,36.5) — главный силуэтный знак, широкая пасть, раскрытая назад-вниз, и ДЛИННЫЕ усы (пара верхних почти до брюшных + короткие нижние), крошечный невзрачный глаз высоко и вперёд, длинный анальный плавник вдоль задней половины и крошечный спинной, голое тело с редкими блёклыми кляксами, суженный стебель и ОКРУГЛЫЙ (не вильчатый) хвост; мутно-оливковая палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M28 50 L12 36 L20 50 L12 64 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M26 50 Q36 30 70 27 L124 27 Q140 30 142 45 Q139 58 128 62 Q108 76 80 77 Q46 75 26 50 Z" fill="var(--f1,hsl(260,45%,48%))"/>
<path d="M30 55 Q48 74 80 75 Q108 74 126 61 Q114 76 80 77 Q47 75 30 55 Z" fill="var(--f2,hsl(260,30%,70%))"/>
<path d="M74 27 Q94 10 112 26 Q92 22 74 27 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M100 58 Q118 62 114 78 Q102 71 96 61 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M58 40 Q65 36 72 40 Q65 46 58 40 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M80 46 Q87 42 94 46 Q87 52 80 46 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M48 52 Q55 48 62 52 Q55 58 48 52 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M116 54 Q132 52 142 45 Q137 58 126 61 Q118 58 116 54 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M141 44 Q152 36 156 26" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M142 50 Q154 52 158 62" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M127 55 Q116 51 106 48" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M124 60 Q112 66 102 66" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<circle cx="116" cy="36" r="5" fill="#fff"/>
<circle cx="117.5" cy="36" r="2.4" fill="#142638"/>
<!-- хвост: округлый «веер» (НЕ вилка), уменьшен ~на 23%, симметричен относительно y=50, основанием заходит в стебель -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M30 43.1 C22.3 39.2 16.1 41.5 14.2 50 C16.1 58.5 22.3 60.8 30 56.9 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ, основание утоплено в спину (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M89 44 C90 29.5 94 24.5 97.5 24.5 C101.5 24.5 104 30 105 44 Z"/>
<!-- анальный плавник: ДЛИННЫЙ, тянется вдоль задней половины брюха (антипод крошечного спинного) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M36 55 C34 64 41 71 53 71 C64 71 69 65 71 58 Z"/>
<!-- анальный плавник: тонкая тёмная обводка по передней кромке — отделяет от тела -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.55" d="M36 55 C34 64 41 71 53 71"/>
<!-- анальный плавник: 3 бледных луча f4 внутри лопасти -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M41 59 L43.5 70.2"/>
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M48 63.5 L50.5 70.7"/>
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M56 66.5 L58 70.5"/>
<!-- брюшной плавник 1: мягкая маленькая лопасть -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M75 62 C73.5 68 76 72.5 80.5 70.5 C83 68.5 82 64 81 61 Z"/>
<!-- брюшной плавник 2: пара к первой, чуть сзади -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M84 62.5 C82.5 68.5 85 73 89.5 70.5 C92 68 90.5 64 89.5 61.5 Z"/>
<!-- верхний ус 1: ОЧЕНЬ длинный (≈45 ед.), ложится вдоль брюха почти до брюшных плавников -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M147 53 C130 58 116 64 104 70"/>
<!-- верхний ус 2: пара к первому, чуть ниже -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M145 54 C132 60 120 66 110 73"/>
<!-- нижний ус 1: короткий, уходит назад-вниз -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M144 57 C138 60 130 63 124 67"/>
<!-- нижний ус 2: пара к короткому -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M144 58 C140 61 133 65 128 70"/>
<!-- тело: массивная тупая голова ≈¼ длины с КРУТЫМ лбом-ГОРБОМ (пик 132,27, выше прежнего 31), седло за головой 114,36.5, суженный стебель 11 ед. -->
<path fill="var(--f1,hsl(40,30%,38%))" d="M150 52 C149 43 143.5 30 132 27 C126 26.8 119 29.5 114 36.5 C104 38.8 84 40.2 64 41.8 C50 43 34 44.5 24 45 L24 56 C40 61 62 70 86 70 C102 70 118 61.5 132 57 C139 54.5 147 53 150 52 Z"/>
<!-- брюхо: светлая нижняя полоса вдоль всего корпуса -->
<path fill="var(--f2,hsl(38,30%,68%))" d="M24 56 C40 61 62 70 86 70 C102 70 118 61.5 132 57 C139 54.5 147 53 150 52 C145 51.5 141 52.5 136 54 C129 56 122 58 114 59.5 C104 61.5 96 63.5 86 65 C64 64 42 58.5 24 56 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру, повторяет новый лоб-горб (не зубцы) -->
<path fill="var(--f4,hsl(30,35%,16%))" d="M150 52 C149 43 143.5 30 132 27 C126 26.8 119 29.5 114 36.5 C104 38.8 84 40.2 64 41.8 C50 43 34 44.5 24 45 C34 46.6 52 48.4 64 46.4 C84 44.4 104 41.8 114 39.5 C123 30 130 29 137 35 C143.5 41.5 148 48 150 52 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (за головой, не липнет к глазу) -->
<path fill="var(--f2,hsl(38,30%,68%))" opacity="0.3" d="M119 36 C124 44 123 53 119 60 C115 53 114 44 114 37 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1.5" d="M119 36 C124 44 123 53 119 60"/>
<!-- голое тело: блёклая f4-клякса 1 (чешуи у сома нет) -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.14" d="M60 43 C66 41 72 44 70.5 48 C69 52 61 51.5 58.5 48.5 C56.5 45.5 57.5 44 60 43 Z"/>
<!-- блёклая клякса 2 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.12" d="M86 44 C91 42 96 45 94.5 49 C93 53 86 52 84 49 C82.5 46.5 83.5 45 86 44 Z"/>
<!-- блёклая клякса 3 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.15" d="M46 50 C50 48.5 54 51 52.5 54.5 C51 57.5 45 57 43.5 54 C42.5 51.5 43.5 50.5 46 50 Z"/>
<!-- блёклая клякса 4 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.13" d="M104 46 C107.5 44.5 110.5 47 109.5 50 C108.5 52.5 103 52 102 49.5 C101.5 47.5 102 46.5 104 46 Z"/>
<!-- губа: УЗКАЯ светлая кромка снизу пасти (нижняя челюсть) -->
<path fill="var(--f2,hsl(38,30%,68%))" d="M151 57.6 C144 60.6 133 61 124 58 C133 62 145 61.8 151.6 59 Z"/>
<!-- пасть: ЗАМЕТНАЯ тёмная полоса нутра высотой ~3.6 ед., раскрыта назад-вниз от (151,54) до (124,58) — не «улыбка» -->
<path fill="var(--f4,hsl(30,35%,16%))" d="M151 54 C144 55.6 133 57.2 124 58 C133 61 144 60.6 151 57.6 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой (рисуется ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M133 53 C128 55 121 59.5 121.5 64.5 C122 69 128 62.5 132.5 57.5 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (антипод окуня), высоко и вперёд; ободок → склера → тусклая радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(30,35%,16%))" cx="135" cy="41" r="3.6"/>
<circle fill="#f4f1e6" cx="135" cy="41" r="2.7"/>
<circle fill="#b3a468" cx="135" cy="41" r="1.9"/>
<circle fill="#142638" cx="135" cy="41" r="1.3"/>
<circle fill="#fff" cx="134.2" cy="40.2" r="0.5"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

+41 -14
View File
@@ -1,16 +1,43 @@
<!-- Хариус (chuch): серебристо-фиолетовое умеренно высокое тело с мелкой чёрной крапью, ГЛАВНЫЙ знак вида — громадный флаговый спинной-«парус» с волнистой верхней кромкой и задней лопастью, свисающей вниз-назад, с тонкой красноватой кромкой; маленький рот и мелкая голова, жировой плавничок позади паруса, вилочный хвост -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path fill="var(--f3,hsl(25,50%,32%))" d="M36 44 C24 36 15 28 10 22 C14 38 19 46 26 52 C19 58 14 68 12 82 C20 74 28 66 38 60 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M106 40 C102 18 92 6 80 6 C60 6 42 22 30 46 C55 38 85 36 106 40 Z"/>
<path fill="var(--f1,hsl(25,45%,48%))" d="M146 53 C142 42 133 35 117 32 C92 27 56 29 34 44 L30 52 C42 66 66 74 92 73 C117 72 140 64 146 53 Z"/>
<path fill="var(--f2,hsl(25,30%,70%))" d="M146 53 C140 64 117 72 92 73 C66 74 42 66 30 52 C50 60 75 63 98 62 C120 60 138 57 146 53 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M97 34 C99 44 99 54 97 60 L104 60 C106 54 106 44 104 34 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M81 33 C83 43 83 53 81 62 L88 62 C90 53 90 43 88 33 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M65 33 C67 43 67 53 65 62 L72 62 C74 53 74 43 72 33 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M49 36 C51 44 51 52 49 59 L55 59 C57 52 57 44 55 36 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M114 54 C106 58 102 64 103 70 C110 68 116 62 118 56 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M74 68 C70 74 68 80 70 84 C76 80 79 75 80 70 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M56 66 C52 72 51 78 53 82 C58 78 61 73 62 68 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M146 56 C141 58 136 58 132 56 C136 60 142 60 146 58 Z"/>
<circle cx="128" cy="47" r="6" fill="#fff"/>
<circle cx="129.5" cy="47" r="3" fill="#142638"/>
<!-- хвост: вилочный, лопасти сведены в острия, база садится на тонкий стебель (8 ед.) -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M46 46 L14 33 C23 39 31 44.5 36 49 L36 51 C31 55.5 23 61 14 66 L46 54 Z"/>
<!-- ГЛАВНЫЙ знак вида: спинной плавник-«парус» — высокий, волнистая верхняя кромка (гребни/ложбины), задняя лопасть свисает вниз-назад; основание утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M58 39 C59 25 62 13 66 8 C70 12.5 73.5 13.5 76.5 11.5 C80 8.5 83.5 8.5 87 11.5 C90.5 14.5 94 14.5 97.5 11.5 C100.5 8.8 104 8.8 107 11 C110.5 13.8 114.5 19.5 118.5 26 C120 28.5 121.5 31 122 33 C116.5 33.5 112 35 107.5 37.5 Z"/>
<!-- красноватая кромка паруса (фикс-акцент): по переднему краю, волнистой верхней кромке и задней лопасти -->
<path fill="none" stroke="#c05a72" stroke-width="1.2" d="M58 39 C59 25 62 13 66 8 C70 12.5 73.5 13.5 76.5 11.5 C80 8.5 83.5 8.5 87 11.5 C90.5 14.5 94 14.5 97.5 11.5 C100.5 8.8 104 8.8 107 11 C110.5 13.8 114.5 19.5 118.5 26 C120 28.5 121.5 31 122 33"/>
<!-- лучи паруса: 5 штрихов веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="0.8" opacity="0.35" d="M65 38 C65.5 30 66 20 67 12.5 M74 37.5 C74.5 29 75.5 19 76.5 12 M84 37 C84.5 28 85.5 18.5 86.5 12 M94 36.5 C94.5 27 95.5 18 96.5 12.5 M104 36 C104.5 27 106 18 108.5 13.5"/>
<!-- жировой плавничок: маленький, на спине позади паруса, у самого стебля -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M46 45.5 C47 41.5 48.5 38 51 35.5 C52.5 37.5 53.5 39.5 54 41.5 C51 42.5 48.5 44 46 45.5 Z"/>
<!-- анальный плавник: широко растёт из брюха, мягкая кромка вниз -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M61 65 C64 77.5 70 85 77 85 C84 84 88 77.5 89 65.5 L61 65 Z"/>
<!-- брюшные плавники: пара мягких лопастей назад-вниз -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M90 66.5 C88.5 74 86.5 80.5 88.5 83.5 C92 80.5 94 74.5 95 67.5 Z M99 66.5 C97.5 74 95.5 80.5 97.5 83.5 C101 80.5 103 74.5 104 67.5 Z"/>
<!-- тело: умеренно высокое, спина ровно поднимается к плечу, мелкая голова, маленькое рыло -->
<path fill="var(--f1,hsl(252,16%,60%))" d="M42 46 C50 39.5 60 34 74 32.5 C86 31.2 96 30.6 104 31.4 C118 32.6 128 35.6 136 40.5 C143 44.6 147.5 46.4 150 48 C145 55.5 136.5 61 124.5 65 C110 69.5 94 70.4 79 69.9 C63 69.3 50 61.5 42 54 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(250,20%,82%))" d="M42 54 C50 61.5 63 69.3 79 69.9 C94 70.4 110 69.5 124.5 65 C136.5 61 145 55.5 150 48 C144.5 55 134.5 60 120.5 63 C105 66.5 87 66.8 71 63.8 C58 61.3 48.5 58.5 42 54 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру (не чёрная шапка) -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M42 46 C50 39.5 60 34 74 32.5 C86 31.2 96 30.6 104 31.4 C118 32.6 128 35.6 136 40.5 C143 44.6 147.5 46.4 150 48 C146.5 46.7 142 44.9 135 41.7 C127 37.7 117 35 104 33.7 C96 32.9 86 33.4 75 35 C61.5 36.8 51 41.5 42 46 Z"/>
<!-- жаберная пластина: мягкий светлый объём мелкой головы -->
<path fill="var(--f2,hsl(250,20%,82%))" opacity="0.35" d="M115 35 C120 42.5 121 52 117 61 C113 52 112 43 112.5 36 Z"/>
<!-- жаберная дуга: тёмный серп, чистый зазор от ободка глаза -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="1.4" d="M115 35 C120 42.5 121 52 117 61"/>
<!-- ГЛАВНЫЙ узор: мелкая чёрная крапь — 2 ряда по верхнему боку (7 точек) и 3 точки на самом парусе, один compound-path -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M72.8 40 a1.2 1.2 0 1 0 2.4 0 a1.2 1.2 0 1 0 -2.4 0 Z M86.9 39 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M99.8 39.5 a1.2 1.2 0 1 0 2.4 0 a1.2 1.2 0 1 0 -2.4 0 Z M112 41 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M80.9 47 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M94 46 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M107.1 47.5 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0 Z M70.9 17 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M84 16 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M95.9 20 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z"/>
<!-- чешуя: 3 широких серпа на боку -->
<path fill="var(--f2,hsl(250,20%,82%))" opacity="0.3" d="M104 41 Q97 50 104 59 Q100.5 50 104 41 Z M111 42.5 Q104 50 111 57.5 Q107.5 50 111 42.5 Z M97 40.5 Q90 50 97 59.5 Q93.5 50 97 40.5 Z"/>
<!-- рот: крошечная щель на мелком рыле -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M145 47.4 C147.5 47.6 149.3 48.1 150 48.7 C148.6 49.3 146.5 49.2 144.8 48.4 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой (после тела) -->
<path fill="var(--f3,hsl(255,18%,40%))" opacity="0.8" d="M119.5 53.5 C114 55.5 109.5 60 110.5 65.5 C113.5 69 118.5 63 121.5 57.5 C121 55.5 120.5 54.2 119.5 53.5 Z"/>
<!-- лучи грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="0.7" opacity="0.3" d="M117.5 56 C113.5 59.5 111.2 63 110.8 64.5 M119.5 58.5 C116.2 61.3 113.8 64.5 113.2 65.8"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(255,25%,24%))" cx="132" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="132" cy="42" r="3.7"/>
<circle fill="#8e8ba0" cx="132" cy="42" r="2.8"/>
<circle fill="#142638" cx="132" cy="42" r="2"/>
<circle fill="#fff" cx="130.8" cy="40.6" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

+40 -22
View File
@@ -1,24 +1,42 @@
<!-- Сиг (cisco): бирюзово-серебристая удлинённая рыба (~3:1, тело выше, чем у сельди), высокий спинной плавник, вилочный хвост, тонкая тёмная спинная кромка, тёмная боковая линия вдоль середины тела от жабер к хвосту -->
<!-- Сиг (cisco): стройное серебристое тело (глубина ≈ четверть длины), МАЛЕНЬКАЯ голова с коротким рылом, ОДИН ВЫСОКИЙ УЗКИЙ спинной плавник и маленький округлый жировой плавничок сразу за ним (главные знаки сиговых), полунижний рот, глубокая вилка хвоста, крупная чешуя; пятен, полос и усиков нет — чистое серебро -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M40 45 L12 30 L24 49 L12 68 L40 53 Z"/>
<!-- тело: удлинённое бирюзово-серебристое, чуть выше, чем у сельди, заострённая морда -->
<path fill="var(--f2,hsl(172,28%,68%))" d="M146 49 C134 39 112 31 86 31 C58 31 42 37 34 43 L34 55 C42 62 58 67 86 67 C112 67 134 61 146 49 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(172,22%,82%))" d="M146 49 C134 61 112 67 86 67 C58 67 42 62 34 55 C42 58 58 63 86 63 C112 63 134 58 146 49 Z"/>
<!-- тёмная спинная кромка: тонкая полоса -->
<path fill="var(--f1,hsl(172,42%,46%))" d="M146 49 C134 39 112 31 86 31 C58 31 42 37 34 43 C42 40.5 58 35.5 86 35.5 C112 35.5 134 41 146 49 Z"/>
<!-- спинной плавник: высокий (характерно для сиговых) -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M64 33.5 Q80 -10 98 32.5 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M112 54 C107 59 107 64.5 112 67.5 C115.5 63 116.5 58.5 114 54.5 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M84 67 L79 75 L91 68.5 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M62 65.5 L56 73.5 L68 66.5 Z"/>
<!-- узор: тёмная боковая линия — ровная полоска вдоль середины тела от жабер к хвосту -->
<path fill="var(--f4,hsl(172,42%,26%))" d="M118 47.9 L38 48.4 L38 50.6 L118 50.1 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="128" cy="43.5" r="4.5"/>
<circle fill="#142638" cx="129" cy="43.5" r="2.2"/>
<!-- хвост: ГЛУБОКАЯ вилка, корень утоплен в стебель на 4 ед. (нахлёст) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M46 46 L14 30 C19 38 24 44.5 29 50 C24 55.5 19 62 14 70 L46 54 Z"/>
<!-- спинной плавник: ОДИН высокий узкий треугольник (основание x56..76 утоплено в спину, нахлёст ≥4), без задней лопасти — это не хариус -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M56 44 C60 32.5 63 20 66 12 C69 20 72 31 76 43.5 Z"/>
<!-- лучи спинного плавника: 3 тонких штриха веером от основания к кромке (внутри контура плавника) -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="0.9" opacity="0.28" d="M61.5 39 C61.5 34.5 62 31.5 62 28 M66 40 C66 32 66 22 66 15 M70.5 39.5 C71 34.5 71 31.5 71 29.5"/>
<!-- жировой плавничок: маленький округлый, сразу за спинным на стебле (второй главный знак сиговых; плавничок ОДИН, не ряд) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M44 48.8 C45 42 46.5 37 48.5 36 C50.5 37.5 51.5 42 52 46 Z"/>
<!-- анальный плавник: удлинённый, основание x58..76 утоплено в брюхо (нахлёст ≥4), низ до y79 -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M58 60.5 C58 70 62.5 77 68 79 C73.5 79.5 76 73 76 60.5 Z"/>
<!-- лучи анального плавника: 2 тонких штриха на лопасти (внутри контура) -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="0.9" opacity="0.28" d="M62 67.5 C62.6 71 63.6 73.5 64.5 75.5 M68 68.5 C68.3 71.5 68.8 74 69.3 76"/>
<!-- брюшные плавники: пара мягких округлых лопастей, x78..92 -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M79 61 C77.5 70 79 76.5 82.5 79 C85.5 76.5 86 70 85.5 61 Z"/>
<path fill="var(--f3,hsl(192,16%,42%))" d="M87 61 C85.5 70 87 76.5 90.5 79 C93.5 76.5 94 70 93.5 61 Z"/>
<!-- тело: стройное серебристое, рыло (150,49), короткий затылок (134,40.5), спина (98,38), брюхо (100,66), стебель 42,46/42,54 (толщина 8) -->
<path fill="var(--f1,hsl(190,14%,62%))" d="M150 49 C147 43.5 141 40.5 134 40.5 C122 38.5 110 38 98 38 C80 38 64 38.8 54 40 C49 41.2 45 43 42 46 L42 54 C48 61 54 64.5 62 65.8 C72 66.5 88 66.6 100 66 C120 66 139 59.5 150 49 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(188,14%,84%))" d="M42 54 C48 61 54 64.5 62 65.8 C72 66.5 88 66.6 100 66 C120 66 139 59.5 150 49 C137 58.5 120 62.5 100 62.5 C80 62.5 55 58.5 42 54 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(195,22%,26%))" d="M150 49 C147 43.5 141 40.5 134 40.5 C122 38.5 110 38 98 38 C80 38 64 38.8 54 40 C49 41.2 45 43 42 46 C54 42.6 76 40.8 98 40.8 C112 40.8 126 42.8 136 45.8 C142.5 47.6 147.5 48.4 150 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка маленькой головы -->
<path fill="var(--f2,hsl(188,14%,84%))" opacity="0.32" d="M133 41.5 C138 48 138.5 56 134 62 C129.5 54.5 128 47 128 42.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="1.3" opacity="0.4" d="M133 41.5 C138 48 138.5 56 134 62"/>
<!-- чешуя: 4 широких f2-серпа КРУПНОЙ чешуи (compound-path) -->
<path fill="var(--f2,hsl(188,14%,84%))" opacity="0.4" d="M82 41.5 Q74 49 82 56.5 Q77.5 49 82 41.5 Z M95 42 Q87 49.5 95 57 Q90.5 49.5 95 42 Z M108 42.5 Q100 50 108 57.5 Q103.5 50 108 42.5 Z M121 43.5 Q113.5 50.5 121 57.5 Q117 50.5 121 43.5 Z"/>
<!-- боковая линия: тонкая f2-полоска вдоль середины тела от жабер к хвосту -->
<path fill="var(--f2,hsl(188,14%,84%))" d="M124 51.3 C108 50.8 70 50.4 44 50 L44 51.4 C70 51.8 108 52.2 124 52.7 Z"/>
<!-- рот: маленький полунижний, чуть ниже короткого рыла (усиков нет) -->
<path fill="var(--f4,hsl(195,22%,26%))" d="M145 51 C147.5 51.8 149.5 52.4 150 53 C148.3 53.8 146.4 53.4 145 52.2 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, направлена назад-вниз (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M118.5 55.5 C114.5 58 111.5 61.5 113 65 C116.5 63.5 118 59.5 119.5 56 Z"/>
<!-- глаз: НЕБОЛЬШОЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(195,22%,26%))" cx="131" cy="44" r="4.4"/>
<circle fill="#f7f3e6" cx="131" cy="44" r="3.5"/>
<circle fill="#b9c2c6" cx="131" cy="44" r="2.7"/>
<circle fill="#142638" cx="131" cy="44" r="1.9"/>
<circle fill="#fff" cx="130" cy="43" r="0.7"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

+38 -26
View File
@@ -1,28 +1,40 @@
<!-- Гигантский рак (crayfish): вид сверху/полу-дорсально — широкий овальный карапакс с рострумом-клином вперёд (вправо), 4 сегмента брюшка назад и хвостовой веер (тельсон-клин + 2 уропода-лопасти), 2 соразмерные клешни вперёд-вправо с раскрытыми пальцами, 4 пары ходильных ног «расчёской» вверх и вниз, глаза на стебельках, длинные антенны и короткие антеннулы; главный видовой знак — клешни и сегментированный хвостовой веер -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<ellipse cx="25" cy="52" rx="10.5" ry="5.5" fill="var(--f3,hsl(0,50%,32%))"/>
<ellipse cx="24" cy="52" rx="12" ry="5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(-27 36 52)"/>
<ellipse cx="24" cy="52" rx="12" ry="5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(27 36 52)"/>
<ellipse cx="25" cy="52" rx="11" ry="4.5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(-55 36 52)"/>
<ellipse cx="25" cy="52" rx="11" ry="4.5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(55 36 52)"/>
<ellipse cx="44" cy="52" rx="11" ry="13.5" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="58" cy="52" rx="10" ry="12" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="71" cy="52" rx="10" ry="11" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="50" cy="52" rx="1.8" ry="9" fill="var(--f4,hsl(0,45%,26%))"/>
<ellipse cx="64" cy="52" rx="1.8" ry="8" fill="var(--f4,hsl(0,45%,26%))"/>
<ellipse cx="48" cy="59" rx="9" ry="3.5" fill="var(--f2,hsl(0,30%,70%))"/>
<path d="M74 37 Q86 28 100 30 Q112 32 113 42 Q114 50 109 57 Q103 65 93 68 Q80 71 73 63 Q67 51 74 37 Z" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="85" cy="60" rx="11" ry="3.5" fill="var(--f2,hsl(0,30%,70%))"/>
<path d="M105 44 L114 43 L115 49 L106 49 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M112 39 Q121 33 126 38 Q129 42 126 44 L120 45 Q125 47 123 51 Q120 55 113 52 Q109 47 112 39 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M98 58 Q110 56 116 62 L114 70 Q104 68 96 64 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M114 56 Q125 47 134 51 Q141 55 139 61 L128 62 Q137 65 136 71 Q134 78 124 75 Q113 71 111 63 Q111 58 114 56 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M85 65 Q83 75 79 82" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M73 63 Q71 74 67 82" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M61 62 Q60 71 57 78" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M106 34 Q128 25 146 20" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M107 39 Q130 35 148 42" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M98 31 L101 23 L104 25 L101 33 Z" fill="var(--f4,hsl(0,45%,26%))"/>
<path d="M107 32 L112 25 L115 27 L110 34 Z" fill="var(--f4,hsl(0,45%,26%))"/>
<circle cx="102.5" cy="22" r="2.8" fill="#142638"/>
<circle cx="113.5" cy="24" r="2.8" fill="#142638"/>
<!-- хвостовой веер: две широкие уропода-лопасти f3 (верхняя и нижняя), compound-path -->
<path fill="var(--f3,hsl(15,46%,34%))" d="M35 39.5 C30 34 24 30.5 18 30 C20 38 26 44.5 33.5 45.5 Z M35 60.5 C30 66 24 69.5 18 70 C20 62 26 55.5 33.5 54.5 Z"/>
<!-- тельсон: клин f1 со светлым f2-ядром -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M37 44.5 L16 50 L37 55.5 Z"/>
<path fill="var(--f2,hsl(28,34%,72%))" d="M35 47.2 L21 50 L35 52.8 Z"/>
<!-- брюшко: 4 сегмента-пластины (от заднего к переднему), compound-path -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M34 50 a9 9 0 1 0 18 0 a9 9 0 1 0 -18 0 M41.5 50 a9.5 11 0 1 0 19 0 a9.5 11 0 1 0 -19 0 M50 50 a10 13 0 1 0 20 0 a10 13 0 1 0 -20 0 M60 50 a10 15 0 1 0 20 0 a10 15 0 1 0 -20 0"/>
<!-- светлая срединная полоса брюшка -->
<path fill="var(--f2,hsl(28,34%,72%))" opacity="0.32" d="M38 48 C52 45.2 66 44.2 78 45 L78 55 C66 56 52 55 38 52 Z"/>
<!-- границы сегментов брюшка: тёмные f4-дуги, compound-path -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.4" d="M68 36.4 C65.4 42.5 65.4 57.5 68 63.6 M58 38.4 C55.6 44 55.6 56 58 61.6 M48 40.4 C46 45 46 55 48 59.6"/>
<!-- ходильные ноги: 4 пары «расчёской» вверх и вниз, 2 compound-группы f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M116 37 L112 28 L100 24 M104 33 L98 25 L86 20 M92 34 L84 25 L72 17 M80 39 L70 27 L60 17"/>
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M116 63 L112 72 L100 76 M104 67 L98 75 L86 80 M92 66 L84 75 L72 83 M80 61 L70 73 L60 83"/>
<!-- карапакс: широкий овал f1 -->
<ellipse cx="100" cy="50" rx="26" ry="17" fill="var(--f1,hsl(18,48%,44%))"/>
<!-- светлые боковые пластины карапакса, compound-path -->
<path fill="var(--f2,hsl(28,34%,72%))" opacity="0.28" d="M84 39 C79 45 79 55 84 61 C88 55 88 45 84 39 Z M116 39 C121 45 121 55 116 61 C112 55 112 45 116 39 Z"/>
<!-- тёмный панцирный узор: две поперечные борозды f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.3" opacity="0.5" d="M110 34.6 C105 41.5 105 58.5 110 65.4 M94 34 C89 41.5 89 58.5 94 66"/>
<!-- рострум: клин f1 между глазами с тёмной срединной линией -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M126 46.5 L150 50 L126 53.5 Z"/>
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.1" d="M127 50 L149 50"/>
<!-- клешни: кисть и плечо f1 (верх и низ зеркально) -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M120 40 C123 33.5 124.5 27 129.5 21.5 C134 16.8 142 15.8 146.5 19 C152 23 152.5 30.5 147.5 33.5 C143.5 36 137 36.5 132 34.5 C127.5 32.8 125.5 35.5 124 40 Z"/>
<path fill="var(--f1,hsl(18,48%,44%))" d="M120 60 C123 66.5 124.5 73 129.5 78.5 C134 83.2 142 84.2 146.5 81 C152 77 152.5 69.5 147.5 66.5 C143.5 64 137 63.5 132 65.5 C127.5 67.2 125.5 64.5 124 60 Z"/>
<!-- пальцы клешней: тёмные f4, клешня раскрыта -->
<path fill="var(--f4,hsl(12,48%,20%))" d="M144 18.5 C148.5 15.5 153.5 16 157 20.5 C153 19.5 149 20.2 145 22.5 Z M146 34.5 C149.5 36.5 152.5 35.5 154.5 31 C151 31.2 148.5 32 146.5 33 Z"/>
<path fill="var(--f4,hsl(12,48%,20%))" d="M144 81.5 C148.5 84.5 153.5 84 157 79.5 C153 80.5 149 79.8 145 77.5 Z M146 65.5 C149.5 63.5 152.5 64.5 154.5 69 C151 68.8 148.5 68 146.5 67 Z"/>
<!-- глаза на стебельках: 3 слоя — f4-стебелёк с «бусиной», зрачок #142638, блик #fff -->
<path fill="var(--f4,hsl(12,48%,20%))" d="M117 43.5 L121.5 37 L129 36 Z M125 36 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 M117 56.5 L121.5 63 L129 64 Z M125 64 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0"/>
<path fill="#142638" d="M126.8 35.4 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M126.8 64.6 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#fff" d="M126.9 34.3 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 M126.9 65.7 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0"/>
<!-- длинные антенны (верхняя и нижняя), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.7" stroke-linecap="round" d="M131 45 C141 42 150 36 158 30 M131 55 C141 58 150 64 158 70"/>
<!-- короткие антеннулы (внутренняя пара), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.3" stroke-linecap="round" d="M134 47 C140 45 146 44 152 44 M134 53 C140 55 146 56 152 56"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

+25 -17
View File
@@ -1,19 +1,27 @@
<!-- Вьюн (eelpout): тонкая S-образная лента-угорь, маленькая голова с открытым ртом, хвостового плавника нет -->
<!-- Вьюн (eelpout): длинное тонкое цилиндрическое тело-лента, изогнутое плавной S-волной (толщина 13-16 ед.), крошечная голова с 5 парами тонких усиков (10 штук) — главный знак вида, крошечный глаз и предглазничная складка-шип, округлый хвост БЕЗ вилки, крошечные спинной и анальный плавники далеко к хвосту, голая кожа с мелкой f4-крапчатостью; болотно-оливковая палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- тело: изогнутая волной тонкая лента, сужается к хвосту -->
<path fill="var(--f1,hsl(35,45%,48%))" d="M22 57.5 C32 62 38 61 45 59.5 C55 54 63 43 75 41 C85 39.5 92 42 100 45 C112 47.5 124 40 135 34 C138.5 33 142 34.5 143.5 38 C144.5 40.5 144 43.5 142 45.5 C141 46.3 140 46.5 139 46.5 C130 47.5 122 49.5 112 53.5 C104 56.8 88 57 75 53 C64 52.5 54 60 45 66.5 C36 71.5 28 65 22 60.5 C21.3 59.6 21.3 58.4 22 57.5 Z"/>
<!-- брюхо: нижняя полоса ленты светлее -->
<path fill="var(--f2,hsl(35,30%,70%))" d="M22 59.4 C33 62 40 64.5 45 65 C55 60.5 65 51 75 48.8 C85 50.5 95 52 100 52.8 C112 52.5 124 45.5 135 41.8 C140 42.5 142.5 44.5 142 45.5 C141 46.3 140 46.5 139 46.5 C130 47.5 122 49.5 112 53.5 C104 56.8 88 57 75 53 C64 52.5 54 60 45 66.5 C36 71.5 28 65 22 60.5 C21.6 60 21.6 59.8 22 59.4 Z"/>
<!-- спинной плавник: низкий, вдоль хребта до самой головы -->
<path fill="var(--f3,hsl(35,50%,32%))" d="M45 59.5 C56 52 64 38 75 36.5 C86 35 93 38.5 100 40.5 C112 43 125 34 136 29.8 C139 29 141.5 30.5 141 32.5 C139 33.5 137 34 135 34 C124 40 112 47.5 100 45 C92 42 85 39.5 75 41 C63 43 55 54 45 59.5 Z"/>
<!-- узор: тёмные пятна вдоль ленты -->
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="48" cy="61.5" rx="2.6" ry="2.2"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="75" cy="47.5" rx="3.2" ry="2.8"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="98" cy="50.5" rx="3.2" ry="2.8"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="118" cy="46" rx="2.9" ry="2.5"/>
<!-- открытый рот на конце головы -->
<path fill="var(--f4,hsl(35,45%,26%))" d="M137.5 39.5 C140.5 38.6 143 39.6 143.4 41.3 C143 43.4 140.6 44.4 138 43.6 C139.2 42 139.2 40.8 137.5 39.5 Z"/>
<!-- глаз: крошечный -->
<circle fill="#fff" cx="130" cy="38.5" r="2.2"/>
<circle fill="#142638" cx="130.8" cy="38.5" r="1.1"/>
<!-- хвост: ОКРУГЛАЯ пластина-лопасть (ВИЛКИ НЕТ), 10x8 на конце ленты -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M21 46 C15.5 45.4 11.6 47.2 11 50 C11.6 52.8 15.5 54.6 21 54 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ, далеко к хвосту, основание утоплено в спину -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M25 46 C25.8 38.5 28 34.5 30 34.8 C32 36 34 39.4 35 42.5 Z"/>
<!-- анальный плавник: КРОШЕЧНЫЙ, напротив спинного, утоплен в брюхо -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M29.5 51 C30.5 56.5 32 60.5 34.5 61 C37 60 39 55.5 40 51.5 Z"/>
<!-- тело: длинная тонкая лента, плавная S-волна по оси (150,50)→(88,58)→(28,48), сужается к хвосту, нос скруглён -->
<path fill="var(--f1,hsl(38,40%,44%))" d="M150 43.5 C146 43.4 133.3 42.3 126 42.9 C118.7 43.6 112.3 46.2 106 47.4 C99.7 48.6 93.7 49.9 88 50 C82.3 50.1 77 49.4 72 47.8 C67 46.2 62.7 42.1 58 40.5 C53.3 38.9 49 37.8 44 38.2 C39 38.6 31.6 41.7 28 43 C24.4 44.3 23.4 45.5 22.5 46 C19.5 46.5 19.5 53.5 22.5 54 C23.4 53.8 24.4 53.7 28 53 C31.6 52.3 39 49.7 44 49.8 C49 49.9 53.3 51.4 58 53.5 C62.7 55.6 67 60.1 72 62.2 C77 64.3 82.3 65.9 88 66 C93.7 66.1 99.7 64.1 106 62.6 C112.3 61.1 118.7 58.1 126 57.1 C133.3 56.1 146 56.6 150 56.5 C153.6 56.5 156.5 53.6 156.5 50 C156.5 46.4 153.6 43.5 150 43.5 Z"/>
<!-- брюхо: светлая нижняя полоса, сходит на нет у хвоста и на конце рыла -->
<path fill="var(--f2,hsl(35,30%,72%))" d="M156.5 50 C156.4 52.2 154 55.8 150 56.5 C146 56.6 133.3 56.1 126 57.1 C118.7 58.1 112.3 61.1 106 62.6 C99.7 64.1 93.7 66.1 88 66 C82.3 65.9 77 64.3 72 62.2 C67 60.1 62.7 55.6 58 53.5 C53.3 51.4 49 49.9 44 49.8 C39 49.7 31.6 52.3 28 53 C24.4 53.7 23.4 53.8 22.5 54 C23.4 53.3 24.4 52.4 28 48 C31.6 47.3 39 44.7 44 44.8 C49 44.9 53.3 46.4 58 48.5 C62.7 50.6 67 55.1 72 57.2 C77 59.3 82.3 60.9 88 61 C93.7 61.1 99.7 59.1 106 57.6 C112.3 56.1 118.7 53.1 126 52.1 C133.3 51.1 146 51.6 150 51.5 C154 51 156.4 50.6 156.5 50 Z"/>
<!-- тёмная спинная линия по хребту с уходом на рыло + 10 пятнышек мелкой крапчатости — одним compound-путём -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M150 43.5 C146 43.4 133.3 42.3 126 42.9 C118.7 43.6 112.3 46.2 106 47.4 C99.7 48.6 93.7 49.9 88 50 C82.3 50.1 77 49.4 72 47.8 C67 46.2 62.7 42.1 58 40.5 C53.3 38.9 49 37.8 44 38.2 C39 38.6 31.6 41.7 28 43 C24.4 44.3 23.4 45.5 22.5 46 L22.5 48.2 C23.4 47.7 24.4 46.5 28 45.2 C31.6 43.9 39 40.8 44 40.4 C49 40 53.3 41.1 58 42.7 C62.7 44.3 67 48.4 72 50 C77 51.6 82.3 52.3 88 52.2 C93.7 52.1 99.7 50.8 106 49.6 C112.3 48.4 118.7 45.8 126 45.1 C133.3 44.5 146 45.6 150 45.7 C150.4 45.1 150.4 44.2 150 43.5 Z M116.7 50.6 C117.1 49.3 119 49.5 119.4 50.6 C119.2 51.5 117.3 51.9 116.7 50.6 Z M106.8 52.2 C107.1 51 108.9 51.2 109.3 52.2 C109.1 53 107.4 53.4 106.8 52.2 Z M96.9 54 C97.2 52.9 98.9 53.1 99.2 54 C99 54.7 97.4 55.1 96.9 54 Z M86.7 55 C87.1 53.8 89 54 89.3 55 C89.2 55.8 87.4 56.2 86.7 55 Z M76.9 54 C77.2 53 78.8 53.1 79.1 54 C79 54.7 77.5 55 76.9 54 Z M66.8 50.2 C67.1 49 68.9 49.2 69.3 50.2 C69.1 51 67.4 51.4 66.8 50.2 Z M56.9 44.6 C57.2 43.5 58.9 43.7 59.2 44.6 C59 45.3 57.4 45.7 56.9 44.6 Z M46.7 42.2 C47.1 41 49 41.2 49.3 42.2 C49.2 43 47.4 43.4 46.7 42.2 Z M36.9 44 C37.2 43 38.8 43.1 39.1 44 C39 44.7 37.5 45 36.9 44 Z M27.9 47 C28.2 45.9 29.9 46.1 30.2 47 C30 47.7 28.4 48.1 27.9 47 Z"/>
<!-- 5 пар тонких усиков (10 штук) вокруг рта — главный видовой знак; 2 пары верхних длинных к (124,44)/(126,58), средняя к (134,60), 2 пары нижних коротких к (140,60)/(142,62); одним compound-путём -->
<path fill="none" stroke="var(--f4,hsl(30,45%,18%))" stroke-width="0.8" stroke-linecap="round" d="M148.5 48.2 Q138 42 124 44 M148.2 49 Q137.5 43.2 125 45.6 M149.2 50 Q139 52.5 126 57.8 M148.9 50.6 Q138.6 53.4 127 58.5 M148.6 51.2 Q142.5 56 134 60 M148.3 51.6 Q142 56.6 135 60.5 M147.8 52 Q144.5 56.8 140 60 M147.4 52.3 Q144 57.4 140.6 60.6 M147 52.6 Q144.6 58 142 62 M146.6 52.9 Q144.4 58.8 142.6 62.4"/>
<!-- рот: крошечная тёмная щель на нижней губе рыла -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M150.8 52.7 C153.6 53 155.8 52.4 156.7 50.8 C155.2 53.5 152.8 54.2 150.4 54 Z"/>
<!-- предглазничная складка-шип: тонкий тёмный серп перед глазом -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M142.2 44.2 C140.8 46.6 140.4 49.4 141.2 51.8 C142.4 49.4 142.8 46.6 142.2 44.2 Z"/>
<!-- грудной плавник: маленькая мягкая лопасть у головы (рисуется ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M134.5 51.8 C131.3 52.4 127.4 55 126.6 58.4 C129.9 57.9 133.4 54.8 134.7 52.4 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (3 слоя), высоко и вперёд -->
<circle fill="var(--f4,hsl(30,45%,18%))" cx="139" cy="46" r="2"/>
<circle fill="#142638" cx="139" cy="46" r="1.2"/>
<circle fill="#fff" cx="138.4" cy="45.4" r="0.5"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

+39 -28
View File
@@ -1,30 +1,41 @@
<!-- Камбала (flounder): плоская широкая рыбина ~2.5:1, ОБА глаза на верхней стороне, мраморные пятна-камуфляж, низкий спинной плавник, маленький закруглённый хвост, заострённая морда -->
<!-- Камбала (flounder): «лежачая» ШИРОКООВАЛЬНАЯ пластина 2.1:1 — единственный «блин» среди рыб (вид сверху, голова вправо); ОБА глаза РЯДОМ на верхнем краю у головы (передний 140,43 и задний 128,45.5) — «двойная клякса сверху»; НЕПРЕРЫВНАЯ бахрома спинного и анального плавников по всему краю пластины (мелкие лопасти до y≈18 сверху и y≈82 снизу) с тёмными лучами-штрихами; крошечный ОКРУГЛЫЙ (не вилочный) хвост-веер; мрамор f4 в верхней половине + светлые f2-пятна; контур и бахрома СИММЕТРИЧНЫ относительно y=50 (аквариум зеркалит), асимметрию несут только глаза и мрамор; тупое рыло, асимметричная щель рта, боковая линия f4 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: маленький, закруглённый -->
<path fill="var(--f3,hsl(40,50%,32%))" d="M30 52 C20 41 10 42 8 52 C10 62 20 63 30 52 Z"/>
<!-- спинной плавник: низкая полоса вдоль верхнего края -->
<path fill="var(--f3,hsl(40,50%,32%))" d="M32 39 C52 24 96 22 118 38.4 C92 33 60 32.5 32 39 Z"/>
<!-- тело: плоская широкая «пластина» ~2.5:1, заострённая морда справа -->
<path fill="var(--f1,hsl(40,45%,48%))" d="M140 52 C138 44 124 35 100 32 C72 29 42 31 28 40 C21 45 21 59 28 64 C42 73 72 76 100 73 C124 70 138 60 140 52 Z"/>
<!-- брюхо: светлая полоса вдоль нижнего края -->
<path fill="var(--f2,hsl(40,30%,70%))" d="M132 57 C126 66 110 71 92 72.5 C70 74.5 46 71.5 33 61 C40 66.5 58 63.5 80 63 C102 62.5 122 63 132 57 Z"/>
<!-- узор: мраморные пятна-камуфляж -->
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="46" cy="47" rx="7" ry="4.5" transform="rotate(-14 46 47)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="62" cy="58" rx="6" ry="4" transform="rotate(10 62 58)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="80" cy="45" rx="8" ry="5" transform="rotate(-8 80 45)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="95" cy="57" rx="5.5" ry="3.5" transform="rotate(12 95 57)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="58" cy="38" rx="4.5" ry="3" transform="rotate(8 58 38)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="74" cy="66" rx="5" ry="3" transform="rotate(-12 74 66)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="90" cy="38" rx="4.5" ry="3" transform="rotate(-6 90 38)"/>
<circle fill="var(--f4,hsl(40,45%,26%))" cx="36" cy="57" r="3"/>
<circle fill="var(--f4,hsl(40,45%,26%))" cx="102" cy="52" r="3.5"/>
<!-- рот: тёмная щель у заострённой морды -->
<path fill="var(--f4,hsl(40,45%,26%))" d="M139 52 C133 48.5 126 49 122 52 C127 55 134 55 139 52 Z"/>
<!-- грудной плавник -->
<ellipse fill="var(--f3,hsl(40,50%,32%))" cx="103" cy="62" rx="10" ry="5.5" transform="rotate(-15 103 62)"/>
<!-- глаза: ОБА на верхней стороне, рядом друг с другом (камбала лежит на боку) -->
<circle fill="#fff" cx="110" cy="43.5" r="5.8"/>
<circle fill="#142638" cx="112" cy="43.5" r="2.7"/>
<circle fill="#fff" cx="122" cy="45" r="5"/>
<circle fill="#142638" cx="124" cy="45" r="2.2"/>
<!-- хвост-веер: КРОШЕЧНЫЙ и ОКРУГЛЫЙ (НЕ вилка), основанием заходит в стебель (нахлёст ≥4) -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M44 43 C34 40.5 18 42 14 50 C18 58 34 59.5 44 57 Z"/>
<!-- бахрома СПИННОГО плавника: непрерывная по верхнему краю пластины, 6 мелких лопастей до y≈18 -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M145 42 Q140 29 136 30 Q132 33 128 33 Q123 23 118 23 Q114 27 110 27 Q104 18 100 18.5 Q95 22 92 22 Q87 18 82 18.5 Q78 21 74 21 Q69 19 64 19.5 Q60 23 56 26 Q52 29 48 31 Q44 35 42 38 L40 43 L40 48 C58 42 86 29 116 33 C130 37 140 41 145 44 Z"/>
<!-- бахрома АНАЛЬНОГО плавника: зеркало спинной относительно y=50, лопасти до y≈82 -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M145 58 Q140 71 136 70 Q132 67 128 67 Q123 77 118 77 Q114 73 110 73 Q104 82 100 81.5 Q95 78 92 78 Q87 82 82 81.5 Q78 79 74 79 Q69 81 64 80.5 Q60 77 56 74 Q52 71 48 69 Q44 65 42 62 L40 57 L40 52 C58 58 86 71 116 67 C130 63 140 59 145 56 Z"/>
<!-- тело: ШИРОКООВАЛЬНАЯ пластина (макс. ширина 52 у x≈88, стебель 10), тупое рыло (150,50); контур симметричен y=50 с точностью до контрольных точек -->
<path fill="var(--f1,hsl(40,42%,52%))" d="M40 45 C58 33.5 74 25 88 24 C106 22.8 132 33 148 45.5 C149.6 47 150 48.6 150 50 C150 51.4 149.6 53 148 54.5 C132 67 106 77.2 88 76 C74 75 58 66.5 40 55 C38.6 52 38.6 48 40 45 Z"/>
<!-- лучи бахромы: тёмные f4-штрихи по обеим кромкам (compound-path), приглушены -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1" opacity="0.3" d="M50 44 L46 32 M64 39 L62 22 M80 33 L80 20 M96 32 L98 20 M110 35 L113 23 M124 39 L127 27 M138 43 L140 32 M50 56 L46 68 M64 61 L62 78 M80 67 L80 80 M96 68 L98 80 M110 65 L113 77 M124 61 L127 73 M138 57 L140 68"/>
<!-- светлые f2-пятна: 3 симметричные пары (compound-path) -->
<path fill="var(--f2,hsl(42,38%,80%))" opacity="0.55" d="M56 40 C62 37 68 40 66 44 C64 47 58 46.5 55 44 C53.5 42 54 40.8 56 40 Z M56 60 C62 63 68 60 66 56 C64 53 58 53.5 55 56 C53.5 58 54 59.2 56 60 Z M94 31 C100 29 105 32 103.5 35.5 C102 39 96 38.5 93.5 36 C92 34 92.5 32 94 31 Z M94 69 C100 71 105 68 103.5 64.5 C102 61 96 61.5 93.5 64 C92 66 92.5 68 94 69 Z M118 41 C122 39.5 126 42 125 44.5 C124 47 119 46.5 117.5 44.5 C116.5 43 117 41.5 118 41 Z M118 59 C122 60.5 126 58 125 55.5 C124 53 119 53.5 117.5 55.5 C116.5 57 117 58.5 118 59 Z"/>
<!-- мрамор: 7 f4-клякс-камуфляж ТОЛЬКО в верхней половине (асимметричный узор), compound-path -->
<path fill="var(--f4,hsl(35,40%,24%))" opacity="0.42" d="M46 42 C50 39.5 55 41 53.5 45 C52 48 46.5 47.5 44.5 45 C43.5 43.5 44 42.5 46 42 Z M64 34 C69 31.5 74 33.5 72.5 37.5 C71 41 65 40 63 37.5 C62 36 62.5 34.8 64 34 Z M82 29 C87 27 92 29.5 90.5 33 C89 36.5 82.5 35.5 80.5 33 C79.5 31.4 80 29.8 82 29 Z M100 32 C105 30 110 32.5 108.5 36 C107 39.5 100.5 38.5 98.5 36 C97.5 34.4 98 33 100 32 Z M116 40 C120 38 124 40.5 123 43.5 C122 46.5 117 46 115.5 43.5 C114.5 42 115 40.5 116 40 Z M74 43 C77.5 41.5 81 43.5 80 46 C79 48.5 74.5 48 73 46 C72.2 44.8 72.8 43.6 74 43 Z M86 40 C90 38.5 93 40.5 92 43 C91 45.5 86.5 45 85 43 C84.2 41.8 84.8 40.6 86 40 Z"/>
<!-- тёмная кромка контура: тонкие f4-линии по спинному и брюшному краю (compound-path, симметричны) -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1.1" opacity="0.5" d="M40 45 C58 33.5 74 25 88 24 C106 22.8 132 33 148 45.5 M40 55 C58 66.5 74 75 88 76 C106 77.2 132 67 148 54.5"/>
<!-- жаберная пластина: мягкая светлая f2-заливка за головой -->
<path fill="var(--f2,hsl(42,38%,80%))" opacity="0.28" d="M114 38 C120 42.5 120 53.5 114 61 C109.5 53.5 109.5 45 114 38 Z"/>
<!-- жаберная дуга: тёмный серп (зазор от обоих глаз ≥4) -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1.5" d="M114 38 C120 42.5 120 53.5 114 61"/>
<!-- боковая линия: наджаберная дуга (134,40)→(120,44) + прямая (120,44)→(48,49), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1" opacity="0.5" d="M134 40 C128.5 41 123.5 42.5 120 44 L48 49"/>
<!-- грудной плавник: мягкий f3-эллипс на боку, рисуется ПОСЛЕ тела -->
<ellipse fill="var(--f3,hsl(38,38%,40%))" cx="110" cy="60" rx="11" ry="5.5" transform="rotate(-15 110 60)"/>
<!-- рот: асимметричная тёмная щель у притуплённого рыла (148,52.5) -->
<path fill="var(--f4,hsl(35,40%,24%))" d="M150 51.2 C145.5 51.6 141 52.2 137 53.2 C141.5 54.6 145.5 54.2 149.5 53.4 Z"/>
<!-- глаз передний (140,43): ободок → склера → янтарная радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(35,40%,24%))" cx="140" cy="43" r="5.2"/>
<circle fill="#f7f3e6" cx="140" cy="43" r="4.2"/>
<circle fill="#c08a3e" cx="140" cy="43" r="3.2"/>
<circle fill="#142638" cx="140" cy="43" r="2.2"/>
<circle fill="#fff" cx="138.6" cy="41.6" r="0.9"/>
<!-- глаз задний (128,45.5): рядом с передним, чуть меньше — «двойная клякса» на верхнем краю -->
<circle fill="var(--f4,hsl(35,40%,24%))" cx="128" cy="45.5" r="4.4"/>
<circle fill="#f7f3e6" cx="128" cy="45.5" r="3.5"/>
<circle fill="#c08a3e" cx="128" cy="45.5" r="2.7"/>
<circle fill="#142638" cx="128" cy="45.5" r="1.9"/>
<circle fill="#fff" cx="126.8" cy="44.2" r="0.7"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

+53 -17
View File
@@ -1,19 +1,55 @@
<!-- Золотая рыбка (gold): короткое яйцевидное тело (длина/глубина ≈0.68 — самое круглое из речных), верхняя и нижняя дуги гладкие, без прямых боков; ОЧЕНЬ длинный двухлопастной вуалевый хвост с расходящимися лопастями и видимой выемкой; длинные волнистые спинной, анальный и парные брюшные плавники-вуали с плавными кромками; небольшой мягкий грудной плавник на боку у брюха; мелкая заострённая голова, крупный глаз; тёплое оранжево-золотое тело, кремовое брюхо, металлические искры; тёмного пятна у хвоста НЕТ (признак карася) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M74 40 Q60 34 52 22 Q42 12 22 10 Q34 20 30 30 Q26 38 38 42 Q50 46 58 46 Q66 48 74 48 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M74 60 Q60 66 52 78 Q42 88 22 90 Q34 80 30 70 Q26 62 38 58 Q50 54 58 54 Q66 52 74 52 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M71 50 Q71 18 103 18 Q135 18 135 50 Q135 82 103 82 Q71 82 71 50 Z" fill="var(--f1,hsl(42,72%,55%))"/>
<path d="M73 55 Q103 63 133 55 Q130 80 103 81.5 Q76 80 73 55 Z" fill="var(--f2,hsl(45,65%,76%))"/>
<path d="M86 24 Q100 4 120 20 Q106 22 92 28 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M106 58 Q124 64 120 78 Q108 72 102 62 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M90 80 Q100 94 112 86 Q102 82 94 78 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<circle cx="90" cy="40" r="4" fill="var(--f4,hsl(30,62%,36%))"/>
<circle cx="112" cy="34" r="3" fill="var(--f4,hsl(30,62%,36%))"/>
<circle cx="98" cy="66" r="3.5" fill="var(--f4,hsl(30,62%,36%))"/>
<ellipse cx="131" cy="56" rx="2.8" ry="2.2" fill="var(--f4,hsl(30,62%,36%))"/>
<path d="M78 36 Q84 22 103 21 Q122 22 128 36 Q120 27 103 26 Q86 27 78 36 Z" fill="#fff6d8"/>
<circle cx="90" cy="32" r="2.5" fill="#fff6d8"/>
<circle cx="112" cy="28" r="2" fill="#fff6d8"/>
<circle cx="100" cy="48" r="1.5" fill="#fff6d8"/>
<circle cx="118" cy="42" r="7" fill="#fff"/>
<circle cx="119.5" cy="42" r="3.4" fill="#142638"/>
<!-- хвост: верхняя вуалевая лопасть (уходит вверх-влево, кромка текучая) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M80 45 C68 34 48 22 30 15 C20 11 15 11 13 12 C14 19 20 27 30 36 C42 46 60 50 80 45 Z"/>
<!-- хвост: нижняя вуалевая лопасть (расходится с верхней, выемка между ними) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M80 55 C68 66 48 78 30 85 C20 89 15 89 13 88 C14 81 20 73 30 64 C42 54 60 50 80 55 Z"/>
<!-- складка верхней лопасти: мягкий луч по центру (не параллелен кромке) -->
<path fill="none" stroke="#ffd98a" stroke-width="1" opacity="0.22" d="M74 43 C60 36 46 28 34 21"/>
<!-- складка нижней лопасти -->
<path fill="none" stroke="#ffd98a" stroke-width="1" opacity="0.22" d="M74 57 C60 64 46 72 34 79"/>
<!-- спинной плавник: высокий, длинная волнистая задняя кромка -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M76 34 C81 16 92 4 104 3 C114 2 122 8 126 17 C129 24 132 29 134 34 C118 32 96 31 76 34 Z"/>
<!-- лучи спинного плавника -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M88 24 L92 8"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M101 23 L103 4"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M114 24 L119 12"/>
<!-- анальный плавник: цельная ниспадающая вуаль с плавной кромкой -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M110 74 C106 84 98 92 88 96 C82 98 76 98.5 72 98 C77 91 80 83 81 67 C90 70 100 71.5 110 74 Z"/>
<!-- лучи анальной вуали -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M100 79 C94 85 87 90 80 94"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M92 78 C87 83 82 87 77 91"/>
<!-- брюшные плавники: пара мягких вуалей с округлыми концами (без острых щупалец) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M131 70 C134 79 132 89 125 95 C120 98 115 96 114 92 C117 86 119 78 119 70 C123 70.5 127 70.5 131 70 Z"/>
<path fill="var(--f3,hsl(32,80%,45%))" d="M123 71 C126 79 125 87 120 92 C117 95 113 94 112 90 C114 84 115 78 115 71 C118 71 120 71 123 71 Z"/>
<!-- тело: короткое яйцевидное, гладкие дуги спины и брюха (голова мелкая заострённая) -->
<path fill="var(--f1,hsl(36,84%,53%))" d="M149 50 C147 42 142 34 134 29 C125 23.5 113 21 101 22 C86 23 73 31 67 43 C65.5 46.5 65.5 53.5 67 57 C73 69 86 77 101 78 C113 79 125 76.5 134 71 C142 66 147 58 149 50 Z"/>
<!-- брюхо: кремовая нижняя дуга -->
<path fill="var(--f2,hsl(45,72%,80%))" d="M67 57 C73 69 86 77 101 78 C113 79 125 76.5 134 71 C126 72 114 71 102 70 C87 68 74 64 67 57 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру -->
<path fill="var(--f4,hsl(14,55%,30%))" d="M149 50 C147 42 142 34 134 29 C125 23.5 113 21 101 22 C86 23 73 31 67 43 C75 33 90 26 103 25 C115 24.5 127 28 135 33 C142 38 147 44 149 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (сдвинута влево, чтобы не липла к глазу) -->
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M119 34 C123.5 42 124 54 119.5 65 C115.5 54 114.5 44 115.5 35 Z"/>
<!-- жаберная дуга: чистый зазор ≥4.5 ед. от ободка глаза -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="1.5" d="M119 34 C123.5 42 124 54 119.5 65"/>
<!-- чешуя: 3 широких металлических серпа на боку -->
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M108 33 Q98 50 108 67 Q103 50 108 33 Z"/>
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M118 32 Q108 50 118 68 Q113 50 118 32 Z"/>
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M128 34 Q118 50 128 66 Q123 50 128 34 Z"/>
<!-- металлические искры (фикс-акцент) -->
<circle fill="#fff3c4" cx="96" cy="31" r="1.8"/>
<circle fill="#fff3c4" cx="116" cy="52" r="1.5"/>
<!-- рот: крошечная щель на заострённом рыле (усов нет) -->
<path fill="var(--f4,hsl(14,55%,30%))" d="M145 49 C147.5 49.3 149 50 149.7 51 C148 52.2 146 51.4 145 50.2 Z"/>
<!-- грудной плавник: небольшой мягкий овал на боку у брюха, под жаберной дугой, кончиком заходит за брюшную кромку -->
<path fill="var(--f3,hsl(32,80%,45%))" opacity="0.55" d="M130.5 57.5 C127.5 62 121.5 69.5 115 81 C119.5 82 124 76 127.2 68.5 C129.3 63.5 130.7 60 130.5 57.5 Z"/>
<!-- лучи грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M127 61 C123.5 66.5 119.5 73 116.5 78"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M129 64 C126 68 122 73.5 118.5 78.5"/>
<!-- глаз: САМЫЙ КРУПНЫЙ из трёх (тёмный ободок → узкий серп склеры → крупная радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(14,55%,30%))" cx="135" cy="41.5" r="7.5"/>
<circle fill="#fff8e8" cx="135" cy="41.5" r="5.4"/>
<circle fill="#e08a1e" cx="135" cy="41.5" r="4.9"/>
<circle fill="#142638" cx="135" cy="41.5" r="3"/>
<circle fill="#fff" cx="132.8" cy="39.2" r="1.3"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

+40 -28
View File
@@ -1,31 +1,43 @@
<!-- Горбуна (grouper): высокая «пузатая» рыбина ~2:1, КРУПНАЯ голова ~1/3 длины с большим ртом, большие округлые плавники, тёмные пятна по телу и плавникам, светлое брюхо -->
<!-- Горбуна (grouper): массивное ВЫСОКОЕ тело (D/L≈0.5) с высоким плоским горбом (пик 106,25), голова ≈⅓ длины с ОГРОМНОЙ пастью и выдающейся НИЖНЕЙ челюстью; длинный КОЛЮЧИЙ ЗУБЧАТЫЙ спинной (9 шипов / 8 выемок) вдоль x54..126; ВЕЕРНЫЙ хвост (выпуклая дуга без выемки, не вилка); тёмные неправильные РАЗВОДЫ-кляксы вместо вертикальных полос; буро-оранжевая палитра со светлым брюхом -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: большой округлый «веер» -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M40 40 C24 28 10 32 8 50 C10 68 24 72 40 60 C42 54 42 46 40 40 Z"/>
<!-- спинной плавник: крупный, округлый, вдоль всей спины -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M44 40 C50 14 106 8 134 30 C118 26 88 24 58 30 C52 33 47 36 44 40 Z"/>
<!-- грудной плавник: большой округлый, у головы -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M96 54 C98 70 118 80 132 72 C128 61 116 54 106 52 C102 51 98 52 96 54 Z"/>
<!-- анальный плавник: округлый, снизу -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M60 72 C63 84 78 88 90 82 C83 78 74 74 66 72 C63 71 61 71 60 72 Z"/>
<!-- тело: высокое ~2:1, крупная голова справа с большим ртом -->
<path fill="var(--f1,hsl(15,45%,48%))" d="M38 40 C58 24 95 20 122 27 C138 31 147 40 149 49 L150 50 C149 59 143 66 134 70 C112 79 78 80 55 74 C46 71 40 66 38 58 Z"/>
<!-- хвост: ВЕЕРНЫЙ (не вилка!) — выпуклая внешняя дуга (12,30)→(6,50)→(12,70) без центральной выемки; основание утоплено в стебель (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M52 40 C40 35 26 30.5 12 30 C7 36.5 6 42 6 50 C6 58 7 63.5 12 70 C26 69.5 40 65 52 60 Z"/>
<!-- лучи веера: три штриха от основания к наружной дуге -->
<path fill="none" stroke="var(--f4,hsl(12,42%,20%))" stroke-width="0.9" opacity="0.35" d="M46 43 C34 40 23 36 15.5 33 M46 50 C33 49.6 21 49.6 11 50 M46 57 C34 60 23 64 15.5 67"/>
<!-- спинной КОЛЮЧИЙ: длинный зубчатый гребень x54..126, 9 шипов и 8 выемок (высота 12–16 над спиной), основание глубоко в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M52 50 L54.5 40 L57 23 L61.5 34 L65 17 L69.5 31.5 L73 15.5 L77.5 30 L81 13.8 L85.5 28.5 L89 13 L93.5 28 L97 12.6 L101.5 28 L105 12 L109.5 28.5 L113.5 14.5 L117.5 30.5 L121.5 17 L126 32.5 L128 50 Z"/>
<!-- анальный плавник: лопасть x62..84, основание утоплено в брюхо (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M62 65 C63 76 66.5 83 72.5 84 C78.5 82.5 83 75.5 84 65 Z"/>
<!-- брюшной плавник 1: пара у (92,72) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M90 67 C88.5 75 89.5 82 93 84.5 C96.5 80.5 97 73 96 67 Z"/>
<!-- брюшной плавник 2: пара к первому -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M99 67 C98 75.5 99 82.5 102.5 84.5 C105.5 80 106 73 105 67 Z"/>
<!-- тело: массивное, высокое (D/L≈0.5), длинный высокий горбатый профиль; рыло (150,50), лоб (140,34), горб (106,25), спина (84,26)→(64,30), стебель (46,45)/(46,57), низ (150,52)→(132,60)→(110,70)→(80,74)→(56,70) -->
<path fill="var(--f1,hsl(15,40%,46%))" d="M150 50 C148.5 42 145 36.5 140 34 C133.5 31 120 26 106 25 C98.5 24.4 90.5 25.2 84 26 C76 27 69.5 28.6 64 30 C56.5 32.5 50 38 46 45 L46 57 C50 64.5 53 67.8 56 70 C64.5 73.2 72.5 74 80 74 C97 74.6 104.5 72.4 110 70 C118.5 66.8 126.5 62.8 132 60 C141 55.8 146.5 53.2 150 52 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(15,30%,70%))" d="M150 50 C148 59 142 66 134 70 C112 79 78 80 55 74 C46 71 40 66 38 58 C42 60 50 61 60 62 C85 64 112 65 132 62 C140 58 146 53 150 50 Z"/>
<!-- узор: тёмные пятна разного размера по телу и плавникам -->
<circle fill="var(--f4,hsl(15,45%,26%))" cx="58" cy="42" r="5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="76" cy="56" r="6.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="94" cy="38" r="4.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="108" cy="54" r="5.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="86" cy="67" r="4"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="99" cy="48" r="3"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="66" cy="63" r="3.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="114" cy="36" r="3.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="24" cy="50" r="3"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="90" cy="15" r="3"/>
<!-- рот: крупный тёмный у массивной морды -->
<path fill="var(--f4,hsl(15,45%,26%))" d="M150 50 C145 45 137 45 132 49 C136 53 145 53 150 50 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="130" cy="43" r="5.5"/>
<circle fill="#142638" cx="131.5" cy="43" r="2.6"/>
<path fill="var(--f2,hsl(18,28%,72%))" d="M46 57 C56 64.5 70 70.5 84 71.5 C100 72.5 118 68.5 132 60 C141 55.8 146.5 53.2 150 52 C143 54.6 136 57.6 129 60.5 C119 64.5 108 66.6 96 67 C76 67.6 59 62.5 46 57 Z"/>
<!-- спинная кромка f4: тёмная зубчатая полоса по вершинам шипов, у ГОРБА толще прочих (≈4.5 против ≈2.5) -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M54.5 40 L57 23 L61.5 34 L65 17 L69.5 31.5 L73 15.5 L77.5 30 L81 13.8 L85.5 28.5 L89 13 L93.5 28 L97 12.6 L101.5 28 L105 12 L109.5 28.5 L113.5 14.5 L117.5 30.5 L121.5 17 L126 32.5 L126 35 L121.5 20 L117.5 33.5 L113.5 18.5 L109.5 33 L105 16.5 L101.5 33 L97 16.6 L93.5 32 L89 17 L85.5 32 L81 17.8 L77.5 33.5 L73 19.5 L69.5 35 L65 21 L61.5 37.5 L57 25.5 L54.5 43 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (126,40)…(124,64) -->
<path fill="var(--f2,hsl(18,28%,72%))" opacity="0.3" d="M126 40 C130 48 129 57 124 64 C120.5 56 120 47.5 121.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы (не задевает ободок глаза) -->
<path fill="none" stroke="var(--f4,hsl(12,42%,20%))" stroke-width="1.5" d="M126 40 C130 48 129 57 124 64"/>
<!-- спинная кромка головы: тонкая тёмная полоса от рыла по лбу (переходит в зубчатый гребень) -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M150 49.5 C148 41.5 144 35.5 139.5 33.8 C135 32 130.5 33.5 126.5 36 C131 33.8 135.5 33.2 139.8 35 C144 36.9 148.2 42.5 150 50 Z"/>
<!-- тёмные неправильные РАЗВОДЫ (7 клякс одним compound-path — НЕ вертикальные полосы) -->
<path fill="var(--f4,hsl(12,42%,20%))" opacity="0.85" d="M115 40 C115 37.5 117 36.2 119.5 37 C122 37.8 124 38 124 40 C124 42.4 121.5 44 119.5 43.2 C117.5 42.4 115 42.5 115 40 Z M96.5 50 C96.5 46.4 99.5 44.6 103 45.6 C106.5 46.6 107 47.4 107 50 C107 53.4 103.5 55.4 100.5 54.4 C97.5 53.4 96.5 53.6 96.5 50 Z M79.5 34 C79.5 31.6 81.6 30.4 84 31.2 C86.4 32 87 32.2 87 34 C87 35.8 84.8 37.2 82.4 36.4 C80 35.6 79.5 36.4 79.5 34 Z M65 58 C65 55 67.4 53.8 70.4 54.8 C73.4 55.8 74 56 74 58 C74 60.4 71.4 61.8 68.6 60.8 C65.8 59.8 65 61 65 58 Z M54 44 C54 42.2 55.4 41.2 57 41.8 C58.6 42.4 59 42.6 59 44 C59 45.4 57.2 46.4 55.4 45.8 C53.6 45.2 54 46 54 44 Z M89.5 64 C89.5 62 91.4 61 94 61.6 C96.6 62.2 97 62.4 97 64 C97 65.6 94.8 66.8 92.4 66 C90 65.2 89.5 66 89.5 64 Z M72.5 44 C72.5 42.8 73.4 42.2 74.6 42.6 C75.8 43 76 43.2 76 44 C76 44.8 74.8 45.6 73.6 45.2 C72.4 44.8 72.5 45.2 72.5 44 Z"/>
<!-- пасть: крупная тёмная полоса нутра от рыла (150,48.5) назад-вниз; нижняя кромка чуть перекрывает верх нижней челюсти (нахлёст), чтобы не просвечивал фон -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M150 48.5 C141.5 50.2 130.5 53.5 121 57.5 C131 60.5 143.5 58.8 151.5 53.8 Z"/>
<!-- нижняя челюсть: светлая f2-кромка, ВЫДАЁТСЯ вперёд до (152,57) за верхнюю челюсть -->
<path fill="var(--f2,hsl(18,28%,72%))" d="M151.5 53.8 C143.5 57.6 132 60.4 121 58.8 C131 62.6 145 60.6 152 57 Z"/>
<!-- зубы (фикс-акцент): compound-path из четырёх треугольников с верхней челюсти -->
<path fill="#f7f3e6" d="M143.5 50 L146 49.7 L144.7 52.8 Z M137.5 51.4 L140 51.1 L138.7 54.2 Z M131.5 52.9 L134 52.6 L132.7 55.7 Z M125.5 54.5 L128 54.2 L126.7 57.3 Z"/>
<!-- грудной плавник: округлая лопасть на боку под жаберной дугой (122,61), вниз-назад, рисуется ПОСЛЕ тела -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M122.5 59 C118.5 61.5 114 66.5 113 72 C116 72.5 121 69.5 123 65 C124 62.5 123.5 60 122.5 59 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(12,42%,20%))" cx="132" cy="44" r="6"/>
<circle fill="#f7f3e6" cx="132" cy="44" r="5"/>
<circle fill="#d9b23a" cx="132" cy="44" r="3.6"/>
<circle fill="#142638" cx="132" cy="44" r="2.5"/>
<circle fill="#fff" cx="130.9" cy="42.8" r="1"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

+31 -29
View File
@@ -1,31 +1,33 @@
<!-- Сельдь (herring): холодная голубовато-серебристая, самая тонкая удлинённая рыба из тройки (≈4:1), мелкий вилочный хвост, низкий спинной плавник смещён к хвосту, тёмная спинная кромка, 6 коротких тёмных вертикалей вдоль верхнего края спины, маленький глаз -->
<!-- Сельдь (herring): стройное серебристое тело (≈4.1:1, самое тонкое из морских), ОДИН короткий низкий спинной плавник в середине спины (без финлетов), тонкий КИЛЬ — прямая f4-черта по брюху (главный знак), вилочный хвост, нижняя челюсть чуть вперёд, крупный глаз на маленькой голове; без тёмных пятен, полос и латеральной линии -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M37 50 L18 40 L26.5 50 L18 60 L37 50 Z"/>
<!-- тело: самое тонкое из тройки, удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(205,30%,70%))" d="M146 50 C136 40 114 36 88 36 C62 36 44 40 37 46 L37 54 C44 60 62 64 88 64 C114 64 136 60 146 50 Z"/>
<!-- брюхо: ещё светлее -->
<path fill="var(--f2b,hsl(205,25%,82%))" d="M146 50 C136 60 114 64 88 64 C62 64 44 60 37 54 C44 57 62 59.5 88 59.5 C114 59.5 136 57 146 50 Z"/>
<!-- спинная кромка: тонкая тёмная полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(205,45%,48%))" d="M146 50 C136 40 114 36 88 36 C62 36 44 40 37 46 C44 43 62 40.5 88 40.5 C114 40.5 136 43 146 50 Z"/>
<!-- спинной плавник: низкий, смещён к хвосту -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M64 37.5 Q76 22 88 37 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M116 54.5 C112 58 111.5 62.5 115 65.5 C118 61.5 118.5 57.5 117.5 55 Z"/>
<!-- брюшной плавник: далеко сдвинут к хвосту (черта сельди) -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M88 63.5 L84 70.5 L95 63.8 Z"/>
<!-- анальный плавник: ближе к хвосту -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M61 63 L56 69.5 L67 63.4 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(205,45%,26%))" d="M138 50.3 C140.5 50.6 142.5 51.5 143.5 52.8 C141.8 54.2 139.4 53.9 138 52.6 Z"/>
<!-- узор: 6 коротких тёмных вертикалей вдоль верхнего края спины (~30% высоты тела, не доходят до брюха) -->
<path fill="var(--f4,hsl(205,45%,26%))" d="M117.1 39.5 L118.9 39.5 L118.9 47.5 L117.1 47.5 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M105.1 38 L106.9 38 L106.9 46 L105.1 46 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M93.1 37.2 L94.9 37.2 L94.9 45.2 L93.1 45.2 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M81.1 37.3 L82.9 37.3 L82.9 45.3 L81.1 45.3 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M69.1 37.9 L70.9 37.9 L70.9 45.9 L69.1 45.9 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M57.1 39.5 L58.9 39.5 L58.9 47.5 L57.1 47.5 Z"/>
<!-- глаз: маленький -->
<circle fill="#fff" cx="130" cy="45" r="3.6"/>
<circle fill="#142638" cx="130.8" cy="45" r="1.9"/>
<!-- хвост: вилочный, лопасти (13,31)/(13,69), выемка (29,50); корень утоплен в стебель на 4.5 ед. (нахлёст) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M48.5 45.8 L13 31 C18 38 24 45 29 50 C24 55 18 62 13 69 L48.5 54.2 Z"/>
<!-- спинной плавник: ОДИН короткий НИЗКИЙ в середине спины, вершина (82,26), основание x70..94 утоплено в тело (нахлёст ≥4), без финлетов -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M70 43 C73 33 76.5 27.5 82 26 C87.5 28.5 91.5 34 94 43 Z"/>
<!-- анальный плавник: низкий, основание x48..62 утоплено в брюхо (нахлёст ≥4), низ (55,72) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M48 53 C49.5 62 51.5 69 55 72 C58.5 69 60.5 61 62 56 Z"/>
<!-- брюшные плавники: пара мелких лопастей, основания утоплены в брюхо (compound-path), кончики y72..73 -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M84 58.8 C83 66 85 70.5 87 72.5 C89 70.5 89.5 65 89 58.8 Z M91 58.8 C90 66 92 70.5 94 72.5 C96 70.5 96.5 65 96 58.8 Z"/>
<!-- тело: стройное серебристое ~4.1:1, рыло (151.5,49.5), затылок (135,42), спина (96,37), низ брюха (98,63), стебель x44 (46/54), нижняя челюсть чуть вперёд -->
<path fill="var(--f1,hsl(205,30%,62%))" d="M151.5 49.5 C149 44.8 142 42 135 42 C120 38.6 108 37 96 37 C76 37 58 39.5 44 46 L44 54 C58 60.5 78 64 96 64 C112 64 128 59 139 53.5 C145 50.8 151 50.4 152.5 51.5 Z"/>
<!-- брюхо: светлое серебро нижней трети -->
<path fill="var(--f2,hsl(200,22%,84%))" d="M44 54 C58 60.5 78 64 96 64 C112 64 128 59 139 53.5 C130 58 112 61.5 96 61.5 C76 61.5 57 58 44 54 Z"/>
<!-- спинная кромка: тонкий f4-серп по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(210,35%,24%))" d="M151.5 49.5 C149 44.8 142 42 135 42 C120 38.6 108 37 96 37 C76 37 58 39.5 44 46 C58 42.3 76 40.2 96 40.2 C108 40.4 120 42 135 45.2 C142 47 148 48 151.5 49.5 Z"/>
<!-- жаберная пластина: мягкая светлая заливка маленькой головы (не выходит за брюхо) -->
<path fill="var(--f2,hsl(200,22%,84%))" opacity="0.3" d="M127.5 43 C131.5 47.5 131.5 52 128 56 C124.5 51.5 124 46.5 124.5 43.2 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(210,35%,24%))" stroke-width="1.1" opacity="0.4" d="M127.5 43 C131.5 47.5 131.5 52 128 56"/>
<!-- КИЛЬ: тонкая прямая f4-черта по брюху чуть ниже светлой кромки (главный знак сельди) -->
<path fill="none" stroke="var(--f4,hsl(210,35%,24%))" stroke-width="1.2" opacity="0.55" stroke-linecap="round" d="M60 60.4 L89 63.8"/>
<!-- рот: маленькая тёмная щель, нижняя челюсть чуть вперёд -->
<path fill="var(--f4,hsl(210,35%,24%))" d="M149 51.3 C150.8 51.7 152.2 52.3 152.7 53 C151.2 53.5 149.7 53 148.6 52.1 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, назад-вниз, корень (120,54) → кончик (114,66) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M120 54 C122 54.4 122.8 56 122 58.4 C120.6 62.6 117.6 65.4 114 66.2 C114.6 63.2 116 59.4 118 56.2 C118.7 55.2 119.4 54.4 120 54 Z"/>
<!-- глаз: КРУПНЫЙ на маленькой голове (ободок f4 → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(210,35%,24%))" cx="132" cy="44" r="5.2"/>
<circle fill="#f7f3e6" cx="132" cy="44" r="4.2"/>
<circle fill="#9fb6c4" cx="132" cy="44" r="3.2"/>
<circle fill="#142638" cx="132" cy="44" r="2.2"/>
<circle fill="#fff" cx="130.7" cy="42.7" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

+41 -25
View File
@@ -1,27 +1,43 @@
<!-- Скумбрия (mackerel): удлинённое тело ~3:1, вилочный хвост, спинной плавник; 4 волнистые тёмные полосы вдоль спинки, тёмная полосатая спина / светлое брюхо -->
<!-- Скумбрия (mackerel): веретенообразное тело ~3.5:1 (D/L), заострённое рыло, крупный глаз у конца морды, резкая двухцветность (тёмная спина / серебро снизу). Главный видовой знак — ряд мелких плавничков-ФИНЛЕТОВ позади обоих спинных и анальных (5 клиньев сверху + 4 снизу, «пилообразная» кромка хвостовой половины); ДВА спинных с зазором (D1 выше с лёгкими выемками, D2 мягкий ниже); 7 волнистых тёмных «S»-полос по спине до середины бока (не на брюхе); два анальных; 2 киля f4 на стебле; фикс-акцент — серо-стальная радужка глаза -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M32 45 L12 34 L23 50 L12 66 L32 55 Z"/>
<!-- спинной плавник: низкий, заострённый -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M58 36 Q73 17 88 35 Z"/>
<!-- анальный плавник: смещён к хвосту (черта скумбрии) -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M31 57.5 L26 65.5 L40 62.3 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M90 63.3 L87 71 L99 65.6 Z"/>
<!-- тело: удлинённое, тёмная полосатая спина -->
<path fill="var(--f1,hsl(190,45%,48%))" d="M144 50 C132 40 106 33 78 33 C54 33 38 37 30 43 L30 57 C38 63 54 67 78 67 C106 67 132 60 144 50 Z"/>
<!-- брюхо: светлое, контраст со спиной -->
<path fill="var(--f2,hsl(190,30%,70%))" d="M144 50 C132 60 106 67 78 67 C54 67 38 63 30 57 C38 60.5 54 60.5 78 60.5 C106 60.5 132 55.5 144 50 Z"/>
<!-- узор: волнистые тёмные полосы вдоль спинки (до ~40% высоты тела) -->
<path fill="var(--f4,hsl(190,45%,26%))" d="M54 35.8 C57.5 40.8 51.5 44.8 56 49.8 L60 48.6 C55.8 44.4 60.8 40.2 58.2 35.8 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M70 34 C73.5 39 67.5 43 72 48 L76 46.8 C71.8 42.6 76.8 38.4 74.2 34 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M86 33.9 C89.5 38.9 83.5 42.9 88 47.9 L92 46.7 C87.8 42.5 92.8 38.3 90.2 33.9 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M102 35.8 C105.5 40.8 99.5 44.8 104 49.8 L108 48.6 C103.8 44.4 108.8 40.2 106.2 35.8 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M113 51 C109 55 108.5 60 112 63 C115 59 115.5 54 114.5 51.5 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(190,45%,26%))" d="M136.5 50.4 C139.5 50.7 141.5 51.7 143 53.1 C141 54.4 138.5 54 137 52.8 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="125" cy="45" r="4"/>
<circle fill="#142638" cx="125.8" cy="45" r="2.1"/>
<!-- хвост: вилочный, выемка (31,50); корень утоплен в стебель толщ.9 (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M48 44 C40 40.5 28 35 12 30 C21 39 27.5 45 31 50 C27.5 55 21 61 12 70 C28 65 40 59.5 48 56 Z"/>
<!-- D2 задний спинной: мягкий, ниже переднего, основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M83 40 C85 33.5 88 27.8 91 26 C94.5 28.5 97.5 33.5 99 39.5 Z"/>
<!-- D1 передний спинной: выше, вершина (113,24), задняя кромка с 4 ЛЁГКИМИ вогнутыми выемками -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M103 41 C105 34 108.5 27.5 113 24 Q114.6 28.4 116.3 27.2 Q117.9 31 119.4 30.2 Q121 34.6 122.6 34.4 Q122.8 38 123.5 43.5 Z"/>
<!-- A2 задний анальный: мягкая лопасть, основание в брюхе (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M80 60.5 C81.5 64.8 83.2 68.6 85 72 C87.5 68.6 89 64.8 90 60.5 Z"/>
<!-- A1 передний анальный: низ (98,74) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M92 62 C94 67.5 95.8 71.5 98 74 C101 71.5 103.5 67 105 62 Z"/>
<!-- брюшные: пара мягких лопастей, кончики y71-73, основания в брюхе -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M106.5 60.5 C105.5 66.5 106.3 70.5 108 72.5 C110 70.5 110.5 66.5 110.5 60.5 Z M113.5 60 C112.5 65.5 113.5 69.5 115.5 71.5 C117.5 69.5 118.3 65 118 60 Z"/>
<!-- ФИНЛЕТЫ спины: 5 клиньев x54..80 одним compound-path, видимые зазоры (~1 ед.), основания в теле -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M54 44.5 L58 44.5 L54.8 33 Z M59 43.8 L63 43.8 L59.8 32.4 Z M64 42.8 L68 42.8 L64.8 31.9 Z M69 41.4 L73 41.4 L69.8 31.3 Z M74 40.6 L78 40.6 L74.8 30.8 Z"/>
<!-- ФИНЛЕТЫ брюха: 4 клина x54..76 одним compound-path, видимые зазоры -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M54 55 L58 55 L54.8 72 Z M60 56.5 L64 56.5 L60.8 71.3 Z M66 58 L70 58 L66.8 70.6 Z M72 59.5 L76 59.5 L72.8 70 Z"/>
<!-- тело: веретено ~3.5:1, рыло (152,49)/низ (152.5,50.5), затылок (135,40.5), спина (98,34.5), низ брюха (100,65.5), стебель x44 (45.5/54.5) -->
<path fill="var(--f1,hsl(190,28%,66%))" d="M152 49 C148 43.5 143 41 135 40.5 C122 36.2 110 34.8 98 34.5 C76 35.5 56 39.5 44 45.5 L44 54.5 C56 60.5 76 64.5 100 65.5 C124 65.8 143 57.5 152.5 50.5 Z"/>
<!-- брюхо: светлое серебро (резкая двухцветность), не доходит до спины -->
<path fill="var(--f2,hsl(190,20%,86%))" d="M44 54.5 C56 60.5 76 64.5 100 65.5 C124 65.8 143 57.5 152.5 50.5 C144 57 124 62.5 100 62 C76 61.5 57 58.5 44 54.5 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M152 49 C148 43.5 143 41 135 40.5 C122 36.2 110 34.8 98 34.5 C76 35.5 56 39.5 44 45.5 C57 40 76 36.8 98 37 C110 37.1 122 38.6 134 42.5 C142 45.5 148 48 152 49 Z"/>
<!-- 2 киля f4 на стебле (compound): тонкие тёмные гребни сверху и снизу -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M50 46.4 C47.5 45.4 45.3 45.1 44 45.5 L44 47.4 C45.6 47.1 47.7 47.2 50 47.2 Z M50 53.6 C47.5 54.6 45.3 54.9 44 54.5 L44 52.6 C45.6 52.9 47.7 52.8 50 52.8 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (объём), не задевает ободок глаза -->
<path fill="var(--f2,hsl(190,20%,86%))" opacity="0.3" d="M126 41 C130 46 130.5 52 127.5 58 C123.5 52 122.5 46 123.5 41.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(195,32%,25%))" stroke-width="1.5" d="M125 41 C129 46 129.5 52 126.5 58"/>
<!-- 7 ВОЛНИСТЫХ тёмных «S»-полос по спине одним compound-path: верх вплотную под спинной кромкой, низ до середины бока (y≈50.5), брюхо НЕ задевают -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M56 42.2 C58.9 45.3 53.6 47.3 58.2 50.5 L61 49.7 C56.9 45.1 62.2 46.4 59.2 42.2 Z M67 40.1 C69.9 44 64.6 46.4 69.2 50.5 L72 49.7 C67.9 45.1 73.2 44.3 70.2 40.1 Z M78 38.8 C80.9 43.2 75.6 45.9 80.2 50.5 L83 49.7 C78.9 45.1 84.2 43 81.2 38.8 Z M89 38.2 C91.9 42.8 86.6 45.7 91.2 50.5 L94 49.7 C89.9 45.1 95.2 42.4 92.2 38.2 Z M100 38.2 C102.9 42.8 97.6 45.7 102.2 50.5 L105 49.7 C100.9 45.1 106.2 42.4 103.2 38.2 Z M111 39 C113.9 43.3 108.6 46 113.2 50.5 L116 49.7 C111.9 45.1 117.2 43.2 114.2 39 Z M122 40.8 C124.9 44.4 119.6 46.7 124.2 50.5 L127 49.7 C122.9 45.1 128.2 45 125.2 40.8 Z"/>
<!-- рот: щель от заострённого конца рыла назад под глаз -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M151.5 49.3 C145 49.8 139 50.6 132 52 C139 53.2 145 52.8 152 51.4 Z"/>
<!-- грудной плавник: на боку, корень (120,54) → кончик (113,67), ПОСЛЕ тела -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M120.5 54 C117.5 58 114.5 62.5 113 67 C116.5 65 120 61 121.5 56 Z"/>
<!-- глаз: крупный у конца морды (ободок → склера → серая радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(195,32%,25%))" cx="133" cy="42.5" r="4.6"/>
<circle fill="#f7f3e6" cx="133" cy="42.5" r="3.7"/>
<circle fill="#9aa7b0" cx="133" cy="42.5" r="3"/>
<circle fill="#142638" cx="133" cy="42.5" r="2.1"/>
<circle fill="#fff" cx="131.8" cy="41.3" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

+27 -22
View File
@@ -1,24 +1,29 @@
<!-- Скат-манта (manta): РАКУРС ДОРСАЛЬНО (вид строго сверху, голова вправо) — плоский ромб-«бумажный змей» с широкими крыльями: передние кромки идут от рыла (132,50) к кончикам крыльев (20,18)/(20,82), задняя кромка вогнута к (48,44)/(48,56) и сходится у корня хвоста (40,50). Отличия от камбалы: 2 цефалические рожки f3 (132,44)→(150,42) и зеркало; ХВОСТ-ХЛЫСТ (40,50)→(8,50) БЕЗ хвостового плавника; 2 глаза РАЗНЕСЕНЫ по бокам головы (116,43)/(116,57), а не сведены рядом; широкая терминальная щель рта (136,50). Контур строго симметричен относительно y=50 (аквариум зеркалит по вертикали) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- заднее крыло (влево-назад) -->
<polygon points="62,43.8 94,43 14,10" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- переднее крыло (вправо-вперёд) -->
<polygon points="66,58.5 96,55.8 146,90" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- хвост-хлыст -->
<polygon points="55,47.8 12,55 55,52.2" fill="var(--f3,hsl(220,50%,32%))"/>
<!-- рожки (cephalic fins) -->
<polygon points="100,46 128,32 105,51" fill="var(--f3,hsl(220,50%,32%))"/>
<polygon points="100,54 128,68 105,49" fill="var(--f3,hsl(220,50%,32%))"/>
<!-- брюхо (нижняя половина тела) -->
<path d="M 52 50 Q 79 74 106 50 Z" fill="var(--f2,hsl(220,30%,70%))"/>
<!-- тело (верхняя половина) -->
<path d="M 52 50 Q 79 26 106 50 Z" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- узор: пятна на спине -->
<circle cx="66" cy="44" r="1.7" fill="var(--f4,hsl(220,45%,26%))"/>
<circle cx="75" cy="42" r="2.6" fill="var(--f4,hsl(220,45%,26%))"/>
<circle cx="85" cy="42" r="2.2" fill="var(--f4,hsl(220,45%,26%))"/>
<!-- глаза -->
<circle cx="90" cy="44.8" r="2.3" fill="#fff"/>
<circle cx="91" cy="44.8" r="1.15" fill="#142638"/>
<circle cx="90" cy="55.2" r="2.3" fill="#fff"/>
<circle cx="91" cy="55.2" r="1.15" fill="#142638"/>
<!-- хвост-хлыст f3: тонкий, сужается от корня (40,50) к кончику (8,50); НЕ хвостовой плавник -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M40 47.2 C30 48.2 18 49.3 8 50 C18 50.7 30 51.8 40 52.8 Z"/>
<!-- диск: плоский ромб-«змей» — рыло (132,50) → кончики крыльев (20,18)/(20,82), задняя кромка вогнута к (48,44)/(48,56) и сходится у корня хвоста (40,50) -->
<path fill="var(--f1,hsl(220,28%,38%))" d="M132 50 C112 34 58 22 20 18 Q45 33 48 44 L40 50 L48 56 Q45 67 20 82 C58 78 112 66 132 50 Z"/>
<!-- кромка f4 по переднему краю крыльев (тонкая тёмная линия вдоль обеих кромок) -->
<path fill="none" stroke="var(--f4,hsl(220,38%,16%))" stroke-width="1.3" opacity="0.8" d="M20 18 C58 22 112 34 132 50 C112 66 58 78 20 82"/>
<!-- f4-кляксы камуфляжа: у плеч и по оси, попарно симметрично (compound-path) -->
<path fill="var(--f4,hsl(220,38%,16%))" opacity="0.45" d="M96 39 a3 2.2 0 1 0 6 0 a3 2.2 0 1 0 -6 0 M96 61 a3 2.2 0 1 0 6 0 a3 2.2 0 1 0 -6 0 M77.5 45.5 a2.8 2.1 0 1 0 5.6 0 a2.8 2.1 0 1 0 -5.6 0 M77.5 54.5 a2.8 2.1 0 1 0 5.6 0 a2.8 2.1 0 1 0 -5.6 0 M62 47.8 a2.4 1.8 0 1 0 4.8 0 a2.4 1.8 0 1 0 -4.8 0 M62 52.2 a2.4 1.8 0 1 0 4.8 0 a2.4 1.8 0 1 0 -4.8 0"/>
<!-- 2 светлых f2-шеврона, сходящихся на оси: (110,40)→(96,50)→(110,60) -->
<path fill="none" stroke="var(--f2,hsl(215,22%,72%))" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" opacity="0.55" d="M110 40 L96 50 L110 60"/>
<!-- жабры: 3 короткие f4-щели у каждого бока головы (в дорсальном ракурсе условны) -->
<path fill="none" stroke="var(--f4,hsl(220,38%,16%))" stroke-width="1.1" stroke-linecap="round" opacity="0.75" d="M109 42.5 L104 40.5 M107.5 44.5 L102 42 M106 46.5 L100.5 44 M109 57.5 L104 59.5 M107.5 55.5 L102 58 M106 53.5 L100.5 56"/>
<!-- цефалический рожок верхний f3: от головы (124,45.5) к кончику (150,42) -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M124 45.5 C132 44.5 141 43.3 150 42 C143.5 45.5 136 47.5 127 49 Z"/>
<!-- цефалический рожок нижний f3: зеркало верхнего относительно y=50 -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M124 54.5 C132 55.5 141 56.7 150 58 C143.5 54.5 136 52.5 127 51 Z"/>
<!-- рот f4: широкая терминальная щель (136,50) шириной 10 — тёмные губы -->
<path fill="var(--f4,hsl(220,38%,16%))" d="M136.5 45 Q131 47.5 131 50 Q131 52.5 136.5 55 Q139.5 52.5 139.5 50 Q139.5 47.5 136.5 45 Z"/>
<!-- рот f2: светлая открытая полость внутри щели -->
<path fill="var(--f2,hsl(215,22%,72%))" d="M135.4 47.2 Q132.2 48.7 132.2 50 Q132.2 51.3 135.4 52.8 Q137.4 51.3 137.4 50 Q137.4 48.7 135.4 47.2 Z"/>
<!-- глаз верхний (116,43): f4-ободок → склера → янтарная радужка → зрачок → блик; оба глаза разнесены по бокам головы -->
<path fill="var(--f4,hsl(220,38%,16%))" d="M113.2 43 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M113.2 57 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#f4f1e6" d="M114 43 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M114 57 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0"/>
<path fill="#c9a23a" d="M114.7 43 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0 M114.7 57 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0"/>
<path fill="#142638" d="M115.1 43 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0 M115.1 57 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0"/>
<path fill="#fff" d="M114.9 42.1 a0.5 0.5 0 1 0 1 0 a0.5 0.5 0 1 0 -1 0 M114.9 57.9 a0.5 0.5 0 1 0 1 0 a0.5 0.5 0 1 0 -1 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

+25 -21
View File
@@ -1,23 +1,27 @@
<!-- Мурена (moray): толстый S-образный угорь, крупная голова с большой открытой пастью, без хвостового плавника, тёмные пятна вдоль тела -->
<!-- Мурена (moray): самое вытянутое тело-лента в Океане (~7:1), плавная S-волна, толщина ~20 у головы → ~8 у хвоста; грудных и брюшных плавников НЕТ; НЕПРЕРЫВНАЯ плавниковая складка (f3) без швов идёт от затылка по спине, обтекает хвост и возвращается анальной частью — отдельного хвостового плавника нет; зияющая пасть-капкан с крупными клыками (верхняя челюсть 152,44; нижняя отведена 128,46→148,62); леопардовые f4-розетки разного размера с f1-ядром; жаберная нора f4 вместо дуги, глаз крошечный -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- тело: толстая S-образная лента, сужается к хвосту, хвостового плавника нет -->
<path fill="var(--f1,hsl(50,45%,48%))" d="M24 37.5 C30 33 34 28 40 27 C48 26 50 33 56 34 C64 36 70 42 78 43 C86 44 92 35 98 34 C104 33 110 29 118 29 C130 29 138 33 141 40 C143 44 143 50 140 55 C137 60 132 63 126 63 C118 63 108 62 98 62 C90 62 84 69 78 69 C70 69 62 59 56 58 C50 57 46 48 40 45 C34 42 28 43 24 42.5 C20 41 20 39 24 37.5 Z"/>
<!-- брюхо: нижняя полоса тела и нижняя челюсть светлее -->
<path fill="var(--f2,hsl(50,30%,70%))" d="M118 55 C108 54 102 54 98 54 C88 54 82 58 78 59 C70 61 62 52 56 49 C50 46 46 40 40 37 C34 34.5 28 36 24.5 38.5 L24 42.5 C28 43 34 42 40 45 C46 48 50 57 56 58 C62 59 70 69 78 69 C84 69 90 62 98 62 C108 62 118 63 126 63 C132 63 137 60 140 55 Z"/>
<!-- узор: тёмные пятна вдоль тела -->
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="104" cy="45" rx="4.5" ry="5.5" transform="rotate(-15 104 45)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="89" cy="49.5" rx="5" ry="6" transform="rotate(18 89 49.5)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="76" cy="55" rx="4.5" ry="5.5" transform="rotate(-22 76 55)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="63" cy="49.5" rx="4.5" ry="5" transform="rotate(12 63 49.5)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="51" cy="42" rx="4" ry="4.5" transform="rotate(-18 51 42)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="39" cy="35" rx="3.5" ry="4" transform="rotate(14 39 35)"/>
<!-- большая открытая пасть: тёмная щель-улыбка на передней части головы -->
<path fill="var(--f4,hsl(50,45%,26%))" d="M120 45.5 C128 44 137 45 142 49 C142 54 137 60 129 62 C122 59 118 51 120 45.5 Z"/>
<!-- намёк на зубы: мелкие белые клыки вдоль верхней губы -->
<path fill="#fff" d="M126.5 46.8 L129.5 47.2 L128 50.6 Z M133 47.5 L136 48 L134.5 51.6 Z M138.3 48.6 L140.3 49.3 L139.4 52.3 Z"/>
<!-- глаз: крошечный, злой -->
<circle fill="#fff" cx="126" cy="38" r="3"/>
<circle fill="#142638" cx="127" cy="38" r="1.7"/>
<!-- злая бровь над глазом -->
<path fill="var(--f4,hsl(50,45%,26%))" d="M120 32 L131 34.5 L121 37 Z"/>
<!-- плавниковая складка: ЕДИНАЯ лента шириной ~5, от затылка по спине, вокруг острого хвоста и назад анальной частью — без швов и без отдельного хвостового плавника; тело поверх перекрывает её внутреннюю часть -->
<path fill="var(--f3,hsl(50,40%,30%))" d="M128 35 C122.7 33.5 106.7 31.0 96 31 C85.3 31.0 74.3 33.3 64 35 C53.7 36.7 42.0 39.3 34 41 C26.0 42.7 20.1 43.5 16 45 C11.9 46.5 9.5 48.3 9.5 50 C9.5 51.7 11.3 52.8 16 55 C20.8 57.2 29.7 61.0 38 63 C46.3 65.0 55.7 66.7 66 67 C76.3 67.3 89.7 65.7 100 65 C110.3 64.3 123.3 64.2 128 63 C132.7 61.8 132.7 58.5 128 58 C123.3 57.5 110.3 59.3 100 60 C89.7 60.7 76.3 62.3 66 62 C55.7 61.7 46.3 60.0 38 58 C29.7 56.0 16.7 52.0 16 50 C15.3 48.0 26.0 47.7 34 46 C42.0 44.3 53.7 41.7 64 40 C74.3 38.3 85.3 36.0 96 36 C106.7 36.0 122.7 40.2 128 40 Z"/>
<!-- тело: змеевидная лента, спина (128,40)→(96,36)→(64,40)→(34,46)→(16,50), брюхо (128,58)→(100,60)→(66,62)→(38,58)→(16,50); голова вправо, верхняя челюсть выходит на (152,44) -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M152 44 C149.2 42.8 137.3 41.3 128 40 C118.7 38.7 106.7 36.0 96 36 C85.3 36.0 74.3 38.3 64 40 C53.7 41.7 42.0 44.3 34 46 C26.0 47.7 15.3 48.0 16 50 C16.7 52.0 29.7 56.0 38 58 C46.3 60.0 55.7 61.7 66 62 C76.3 62.3 89.7 60.7 100 60 C110.3 59.3 120.5 60.2 128 58 C135.5 55.8 141.0 49.3 145 47 Z"/>
<!-- брюхо: светлая полоса вдоль нижней кромки, сходит на нет к хвосту и у горла -->
<path fill="var(--f2,hsl(48,28%,70%))" d="M124 54.5 C110 56 90 58 66 58.5 C52 58.7 40 56.5 26 52.5 L24 52.9 C40 57 52 59 66 60.2 C90 60.5 110 58.4 124 56.8 Z"/>
<!-- пасть: зияющая тёмная каверна-капкан от верхней челюсти (151,45) до отведённого кончика нижней (149,62) -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M151.2 45.4 C144 45.5 136 45.9 128 47.4 C131 49.5 136 52.4 141 55.6 C144.5 57.9 147 60.1 148.8 62.2 C151.6 56.4 151.6 50.2 151.2 45.4 Z"/>
<!-- нижняя челюсть: отведена вниз, шарнир (128,46) → кончик (148,62) -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M126 47 C130.5 47.3 135 49 139 51.7 C143.2 54.6 146.4 57.8 148 60.8 C148.7 62.2 147.6 62.9 146.2 62.1 C141.8 58.9 137.2 55.3 132 52.7 C129 51.3 126.2 49.4 125 47.4 C124.7 46.9 125.3 46.8 126 47 Z"/>
<!-- зубы: крупные клыки-капканы — 5 сверху вниз и 5 снизу вверх, одним compound-путём -->
<path fill="#f7f3e6" d="M146.6 45.3 L149.4 45.2 L148 48.8 Z M142.1 45.5 L144.9 45.5 L143.5 49.1 Z M137.6 45.9 L140.4 46 L139 49.6 Z M133.1 46.4 L135.9 46.6 L134.5 50.2 Z M128.9 47.1 L131.7 47.4 L130.3 50.9 Z M130.1 48 L132.9 48.2 L131.5 44.9 Z M134.6 49.2 L137.4 50.2 L136 46.6 Z M139.1 51.7 L141.9 53 L140.5 49.4 Z M143.1 54.6 L145.9 56.3 L144.5 52.7 Z M145.6 57.4 L148.2 59 L147 55.4 Z"/>
<!-- жабра: маленькое f4-отверстие (нора), НЕ дуга -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M124 44 C125.6 44.6 125.6 49.4 124 50 C122.4 49.4 122.4 44.6 124 44 Z"/>
<!-- леопардовые f4-розетки: 6 пятен разного размера вдоль ленты, одним compound-путём -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M111 42 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 Z M95.5 52 a4.5 4.5 0 1 0 9 0 a4.5 4.5 0 1 0 -9 0 Z M79 40 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 Z M64 52 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 Z M48 44 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 Z M32.5 54 a3.5 3.5 0 1 0 7 0 a3.5 3.5 0 1 0 -7 0 Z"/>
<!-- f1-ядро розеток: чтобы пятна остались кольцами и не залили ленту одним цветом -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M113.4 42 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0 Z M97.7 52 a2.3 2.3 0 1 0 4.6 0 a2.3 2.3 0 1 0 -4.6 0 Z M81.4 40 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0 Z M65.9 52 a2.1 2.1 0 1 0 4.2 0 a2.1 2.1 0 1 0 -4.2 0 Z M49.9 44 a2.1 2.1 0 1 0 4.2 0 a2.1 2.1 0 1 0 -4.2 0 Z M34.2 54 a1.8 1.8 0 1 0 3.6 0 a1.8 1.8 0 1 0 -3.6 0 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (ободок → склера → радужка → зрачок → блик), рисуется последним -->
<circle fill="var(--f4,hsl(48,42%,20%))" cx="136" cy="41" r="3.2"/>
<circle fill="#f4f1e6" cx="136" cy="41" r="2.4"/>
<circle fill="#c9a23a" cx="136" cy="41" r="1.6"/>
<circle fill="#142638" cx="136" cy="41" r="1.1"/>
<circle fill="#fff" cx="135.6" cy="40.5" r="0.45"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

+44 -26
View File
@@ -1,28 +1,46 @@
<!-- Навага (navaga): стально-серая (холоднее и темнее соседей) тонкая удлинённая рыба ~3.5:1, тёплая оливковая полоска вдоль верхнего края спины, мелкий вилочный хвост, маленький спинной плавник смещён к хвосту, самый крупный глаз тройки -->
<!-- Навага (navaga): вытянутая тресковая рыба (глубина/длина ≈0.25) в холодной серо-бурой гамме; ГЛАВНЫЙ видовой знак — тресковый набор плавников: ТРИ спинных (D1/D2/D3, убывают к хвосту) и ДВА анальных (A1/A2) против одного спинного у сига и сельди; ОДИН короткий усик на подбородке (f4, sw 1.6) — отличие от всех прочих; мелкие тёмные f4-крапины вдоль бока и тонкая светлая f2 боковая линия (тресковая черта); слабо вильчатый хвост, серо-бурая окраска -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M40 46 L16 34 L26 50 L16 66 L40 54 Z"/>
<!-- тело: тонкое удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(222,22%,66%))" d="M144 50 C134 39 112 35 86 35 C60 35 44 41 38 47 L38 53 C44 59 60 65 86 65 C112 65 134 61 144 50 Z"/>
<!-- брюхо: ещё светлее -->
<path fill="var(--f2b,hsl(222,18%,80%))" d="M144 50 C134 61 112 65 86 65 C60 65 44 59 38 53 C44 55.5 60 59 86 59 C112 59 134 55.5 144 50 Z"/>
<!-- спинка: тёмная стальная полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(222,35%,44%))" d="M144 50 C134 39 112 35 86 35 C60 35 44 41 38 47 C44 44.5 60 40.5 86 40.5 C112 40.5 134 44.5 144 50 Z"/>
<!-- оливковая полоска: тёплая, тонкая, от головы к хвосту по верхнему краю (черта наваги) -->
<path fill="var(--f4,hsl(75,40%,42%))" d="M136 47.4 C120 44.4 100 41.6 84 41.6 C62 41.6 46 44.6 40 47.6 L40 49.8 C46 47 62 44 84 44 C100 44 120 46.8 136 49.8 Z"/>
<!-- спинной плавник: маленький, смещён к хвосту -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M60 38.5 Q71 18 82 37 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M104 61.5 L98 70 L110 62.5 Z"/>
<!-- брюшной плавник: ближе к хвосту -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M62 60.5 L56 68.5 L68 61.5 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(222,45%,26%))" d="M134 50.2 C136.8 50.4 139.2 51.1 140.2 52.4 C138.4 54 135.8 53.7 134.2 52.4 Z"/>
<!-- узор: мелкие тёмные точки вдоль бока -->
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="70" cy="47.5" rx="2.6" ry="1.6"/>
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="88" cy="47.2" rx="2.6" ry="1.6"/>
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="106" cy="47.2" rx="2.6" ry="1.6"/>
<!-- глаз: самый крупный из тройки -->
<circle fill="#fff" cx="126" cy="45.5" r="5.4"/>
<circle fill="#142638" cx="127" cy="45.5" r="2.9"/>
<!-- хвост: слабо вильчатый, лопасти чуть расставлены, корень утоплен в стебель (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M46 47 L16 36 C23 43.5 26 47 27 50 C26 53 23 56.5 16 62 L46 53 Z"/>
<!-- D1 — первый спинной: самый высокий, основание глубоко в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M102 43 C103 31 105 25 108 25 C111 25 113 31 114 43 Z"/>
<!-- D2 — второй спинной: ниже первого, ближе к хвосту -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M84 43 C85 32 87 27 90 27 C93 27 95 32 96 43 Z"/>
<!-- D3 — третий спинной: самый низкий, у хвостового стебля (снова убывает) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M66 45.5 C67 35 69 30 72 30 C75 30 77 35 78 45.5 Z"/>
<!-- A1 — первый анальный: стоит под телом, растёт из брюха (нахлёст ≥4) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M76 57 C78 67 82 73 85 73 C88 73 89 67 90 57 Z"/>
<!-- A2 — второй анальный: дальше к хвосту, чуть ниже первого -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M58 54 C60 65 63 72 66 72 C69 72 70 65 70 54 Z"/>
<!-- брюшные плавники: пара мелких лопастей под брюхом, основания утоплены в теле -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M86 58 C85 65 86 70 89 72 C92 70 92 64 92 58 Z"/>
<path fill="var(--f3,hsl(212,16%,38%))" d="M94 58 C94 65 95 71 98 73 C100.5 70 100.5 64 100 58 Z"/>
<!-- лучи плавников: тонкие тёмные штрихи ВНУТРИ лопастей (один составной путь, наружу не выходят) -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="0.9" opacity="0.3" d="M104.5 41 C104.5 37 105.5 33 107 31 M108.5 41 C108.5 36 108.5 32 108.5 29 M112 41 C112 37 112 33 112.5 31 M87 41.5 C87.5 38 88.5 34 89.5 32 M91 41.5 C91.5 37 91.5 33 91.5 31 M94.5 41.5 C94.5 38 94.5 34 95 32 M69.5 43 C70 40 71 37 71.5 35 M73 43 C73.5 40 73.5 37 73.5 34 M76 43 C76 40.5 76.5 37.5 76.5 36 M81.5 59 C82 63 83 67 84 69 M84.5 59 C85 63 85.5 67 86 69 M87 59 C87 62.5 87.5 65.5 88 68 M62 58 C62.5 61.5 63.5 65 65 67 M65.5 58 C66 61.5 66.5 65 67 67 M68 58 C68 61 68.5 64 69 66"/>
<!-- тело: вытянутое, рыло (152,49), затылок (134,40), спина (100,36), брюхо (100,64), стебель 9 ед. -->
<path fill="var(--f1,hsl(210,14%,52%))" d="M152 49 C147 43 141 39.5 134 40 C120 36.5 110 36 100 36 C80 36 60 40 42 46 L42 54 C60 60 80 64 100 64 C112 64 124 62 134 58 C143 54.5 148.5 51.5 152 49 Z"/>
<!-- брюхо: светлая полоса вдоль нижней кромки -->
<path fill="var(--f2,hsl(205,12%,78%))" d="M42 54 C60 60 80 64 100 64 C112 64 124 62 134 58 C143 54.5 148.5 51.5 152 49 C148.5 52 139 55.5 131 57.5 C119 60.5 107 61 100 61 C78 61 57 57.5 42 54 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M152 49 C147 43 141 39.5 134 40 C120 36.5 110 36 100 36 C80 36 60 40 42 46 L42 47.8 C60 42 80 38 100 38 C110 38 120 38.6 134 42 C141 41.6 147 45 152 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы), отодвинута от ободка глаза -->
<path fill="var(--f2,hsl(205,12%,78%))" opacity="0.35" d="M121 41 C124.8 46 124.8 53 121 58 C116.5 53 116.5 45 117.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="1.5" d="M121 41 C124.8 46 124.8 53 121 58"/>
<!-- боковая линия: тонкая светлая тресковая черта вдоль середины тела -->
<path fill="none" stroke="var(--f2,hsl(205,12%,78%))" stroke-width="1.1" d="M120 49.5 C104 49 84 49.5 48 51.5"/>
<!-- крап: 6-8 мелких тёмных пятен вдоль бока одним compound-path -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M48.4 54 A1.6 1.1 0 1 0 51.6 54 A1.6 1.1 0 1 0 48.4 54 Z M58.3 50 A1.7 1.1 0 1 0 61.7 50 A1.7 1.1 0 1 0 58.3 50 Z M70.4 52 A1.6 1.2 0 1 0 73.6 52 A1.6 1.2 0 1 0 70.4 52 Z M82.4 48.5 A1.6 1.1 0 1 0 85.6 48.5 A1.6 1.1 0 1 0 82.4 48.5 Z M93.3 53 A1.7 1.2 0 1 0 96.7 53 A1.7 1.2 0 1 0 93.3 53 Z M104.4 49 A1.6 1.1 0 1 0 107.6 49 A1.6 1.1 0 1 0 104.4 49 Z M113.5 52.5 A1.5 1 0 1 0 116.5 52.5 A1.5 1 0 1 0 113.5 52.5 Z"/>
<!-- рот: маленькая тёмная щель на конце рыла -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M147 48 C149.2 48.3 151 49 151.8 50.4 C150 51.8 148 51.3 146.6 50 Z"/>
<!-- усик: ОДИН короткий f4-усик на подбородке (главное отличие наваги от прочих) -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="1.6" stroke-linecap="round" d="M147 51.5 C144 55 141 59 139 63"/>
<!-- грудной плавник: на боку за жаберной дугой, кончиком вниз-назад (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M123 55 C122 60 120 64 116.5 67 C114.5 63.5 116.5 58.5 120 54.5 C121 54.5 122 54.7 123 55 Z"/>
<!-- глаз: ободок f4 → склера → радужка → зрачок → блик (последним слоем) -->
<circle fill="var(--f4,hsl(210,18%,24%))" cx="131" cy="43" r="5"/>
<circle fill="#f7f3e6" cx="131" cy="43" r="4.1"/>
<circle fill="#9aa7b0" cx="131" cy="43" r="3"/>
<circle fill="#142638" cx="131" cy="43" r="2.1"/>
<circle fill="#fff" cx="130" cy="41.9" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

+32 -16
View File
@@ -1,18 +1,34 @@
<!-- Гигантский осьминог (octopus): вид сверху/слегка 3-4 — мантия-мешок справа (широкое основание у головы, сужение к правому кончику), короткая голова с двумя КРУПНЫМИ глазами (видовой знак, горизонтальный зрачок), 8 щупалец веером влево «солнцем» (4 пары зеркальных подкрученных рук — НЕ прямые шпаги), лопастной веб-мембрана f3 в просветах между основаниями рук, два ряда присосок на четырёх ближних руках и короткий сифон снизу; без плавников — этим отличается от кальмара -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M 47.8 40.4 L 45.8 43.1 L 43.7 45.8 L 41.7 48.5 L 39.7 51.1 L 37.7 53.6 L 35.7 56.2 L 33.8 58.6 L 32.0 61.1 L 30.2 63.4 L 28.4 65.8 L 26.8 68.1 L 25.2 70.3 L 23.8 72.5 L 22.4 74.7 L 21.2 76.8 L 19.7 80.1 L 21.5 85.3 L 19.5 86.8 L 18.0 86.0 L 18.1 84.9 L 18.7 84.7 L 18.8 84.9 L 18.3 85.4 L 21.1 86.5 L 21.7 84.0 L 19.1 81.5 L 15.1 83.1 L 14.9 88.1 L 20.2 90.7 L 25.6 86.3 L 24.3 79.9 L 25.2 79.4 L 26.6 77.6 L 28.2 75.8 L 29.8 73.9 L 31.6 72.0 L 33.5 70.0 L 35.5 68.0 L 37.5 65.9 L 39.7 63.8 L 41.9 61.6 L 44.2 59.4 L 46.5 57.2 L 48.9 54.8 L 51.3 52.5 L 53.7 50.1 L 56.2 47.6 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 55.1 43.5 L 53.5 47.3 L 51.9 50.9 L 50.4 54.4 L 48.8 57.8 L 47.2 61.1 L 45.7 64.3 L 44.2 67.3 L 42.8 70.3 L 41.3 73.2 L 40.0 76.0 L 38.7 78.7 L 37.4 81.4 L 36.2 83.9 L 35.1 86.4 L 34.1 88.9 L 33.2 91.2 L 36.8 92.8 L 37.9 90.6 L 39.1 88.4 L 40.4 86.1 L 41.8 83.8 L 43.3 81.4 L 45.0 78.9 L 46.7 76.3 L 48.5 73.7 L 50.4 70.9 L 52.3 68.1 L 54.3 65.1 L 56.4 62.1 L 58.5 58.9 L 60.6 55.5 L 62.7 52.1 L 64.9 48.5 Z" fill="var(--f3,hsl(350,50%,32%))"/>
<path d="M 63.8 46.3 L 62.7 50.3 L 61.6 54.1 L 60.5 57.6 L 59.4 61.0 L 58.3 64.1 L 57.2 67.1 L 56.1 69.9 L 55.1 72.6 L 54.0 75.1 L 53.0 77.4 L 52.0 79.7 L 51.1 81.8 L 50.2 83.7 L 49.4 85.6 L 48.7 87.3 L 47.8 90.4 L 50.0 95.3 L 48.1 97.0 L 46.5 96.3 L 46.5 95.2 L 47.1 95.0 L 47.2 95.2 L 46.8 95.7 L 49.7 96.5 L 50.1 94.0 L 47.2 91.7 L 43.4 93.7 L 43.7 98.7 L 49.2 100.8 L 54.1 95.9 L 52.2 89.6 L 52.9 89.6 L 53.9 88.0 L 55.0 86.4 L 56.2 84.6 L 57.5 82.6 L 58.8 80.5 L 60.2 78.3 L 61.7 75.9 L 63.2 73.3 L 64.7 70.6 L 66.3 67.6 L 67.9 64.5 L 69.5 61.1 L 71.1 57.5 L 72.7 53.7 L 74.2 49.7 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 71.6 47.1 L 71.1 51.5 L 70.7 55.7 L 70.2 59.6 L 69.8 63.4 L 69.3 67.0 L 68.9 70.4 L 68.4 73.6 L 68.0 76.7 L 67.6 79.6 L 67.2 82.4 L 66.8 85.0 L 66.4 87.5 L 66.0 90.0 L 65.7 92.3 L 65.4 94.5 L 65.0 96.6 L 69.0 97.4 L 69.4 95.3 L 70.0 93.2 L 70.6 90.9 L 71.3 88.6 L 72.0 86.2 L 72.8 83.6 L 73.6 80.9 L 74.5 78.1 L 75.4 75.1 L 76.3 71.9 L 77.3 68.6 L 78.3 65.1 L 79.3 61.4 L 80.3 57.4 L 81.4 53.3 L 82.4 48.9 Z" fill="var(--f2,hsl(350,30%,70%))"/>
<path d="M 79.5 48.7 L 80.4 53.1 L 81.3 57.2 L 82.1 61.2 L 82.9 64.9 L 83.8 68.4 L 84.6 71.8 L 85.3 74.9 L 86.1 77.9 L 86.8 80.8 L 87.5 83.5 L 88.2 86.1 L 88.9 88.5 L 89.5 90.9 L 90.1 93.1 L 90.6 95.3 L 91.0 97.4 L 95.0 96.6 L 94.7 94.5 L 94.4 92.3 L 94.1 90.0 L 93.8 87.6 L 93.5 85.1 L 93.2 82.5 L 92.9 79.7 L 92.7 76.8 L 92.4 73.7 L 92.1 70.5 L 91.8 67.2 L 91.5 63.6 L 91.3 59.8 L 91.0 55.9 L 90.7 51.7 L 90.5 47.3 Z" fill="var(--f2,hsl(350,30%,70%))"/>
<path d="M 87.6 49.3 L 88.9 53.2 L 90.2 57.1 L 91.5 60.7 L 92.7 64.1 L 94.0 67.3 L 95.3 70.4 L 96.5 73.3 L 97.7 76.1 L 98.9 78.8 L 100.1 81.4 L 101.2 84.0 L 102.3 86.5 L 103.3 89.0 L 104.3 91.5 L 105.2 94.0 L 106.1 96.6 L 109.9 95.4 L 109.2 92.8 L 108.5 90.1 L 107.8 87.5 L 107.0 84.9 L 106.3 82.2 L 105.5 79.5 L 104.8 76.7 L 104.0 73.9 L 103.3 71.0 L 102.5 68.0 L 101.8 64.8 L 101.0 61.6 L 100.3 58.1 L 99.7 54.6 L 99.0 50.8 L 98.4 46.7 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 96.0 48.3 L 98.0 51.9 L 100.0 55.4 L 102.0 58.7 L 104.0 62.0 L 106.0 65.1 L 107.9 68.0 L 109.8 70.9 L 111.6 73.6 L 113.4 76.3 L 115.1 78.9 L 116.7 81.3 L 118.2 83.7 L 119.6 86.1 L 120.9 88.4 L 122.1 90.6 L 123.2 92.8 L 126.8 91.2 L 125.9 88.9 L 124.9 86.4 L 123.8 83.9 L 122.6 81.4 L 121.4 78.7 L 120.1 76.0 L 118.8 73.2 L 117.4 70.4 L 116.0 67.4 L 114.6 64.3 L 113.1 61.2 L 111.7 57.9 L 110.2 54.5 L 108.8 51.1 L 107.4 47.5 L 106.0 43.7 Z" fill="var(--f3,hsl(350,50%,32%))"/>
<path d="M 104.7 47.4 L 107.0 49.9 L 109.3 52.4 L 111.6 54.7 L 113.9 57.1 L 116.1 59.4 L 118.3 61.6 L 120.5 63.8 L 122.6 65.9 L 124.6 68.0 L 126.5 70.0 L 128.4 72.0 L 130.2 73.9 L 131.8 75.8 L 133.4 77.6 L 134.8 79.4 L 137.1 82.1 L 142.5 82.7 L 143.1 85.2 L 141.7 86.2 L 140.7 85.7 L 140.8 85.1 L 141.0 85.0 L 141.3 85.7 L 143.4 83.6 L 141.5 82.0 L 138.1 83.3 L 137.8 87.6 L 142.2 89.9 L 146.9 86.2 L 145.2 79.5 L 138.9 77.9 L 138.8 76.8 L 137.6 74.7 L 136.2 72.5 L 134.8 70.3 L 133.3 68.1 L 131.6 65.8 L 129.9 63.5 L 128.2 61.1 L 126.4 58.7 L 124.6 56.2 L 122.7 53.7 L 120.8 51.2 L 118.9 48.6 L 117.0 46.0 L 115.2 43.3 L 113.3 40.6 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 80 8 C 103 8 115 24 115 40 C 115 55 100 62 80 62 C 60 62 45 55 45 40 C 45 24 57 8 80 8 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<ellipse cx="64" cy="22" rx="4" ry="3" fill="var(--f4,hsl(350,45%,26%))"/>
<ellipse cx="100" cy="21" rx="3.5" ry="3" fill="var(--f4,hsl(350,45%,26%))"/>
<ellipse cx="80" cy="46" rx="4" ry="3.5" fill="var(--f4,hsl(350,45%,26%))"/>
<circle cx="74" cy="34" r="9" fill="#fff"/>
<circle cx="96" cy="34" r="9" fill="#fff"/>
<circle cx="77" cy="34" r="4.5" fill="#142638"/>
<circle cx="99" cy="34" r="4.5" fill="#142638"/>
<!-- мантия-мешок f1: широкое основание у головы, сужение к правому кончику (150,50); симметрично y=50 -->
<path fill="var(--f1,hsl(350,40%,48%))" d="M96 26C112 25 130 30 143 39C149 43 151 47 150 50C151 53 149 57 143 61C130 70 112 75 96 74C90 70 90 30 96 26Z"/>
<!-- тёмная кромка f3 по верхнему и нижнему краю мантии (парный compound, тонкая, симметрична) -->
<path fill="var(--f3,hsl(350,42%,30%))" d="M96 28C112 27 130 31.5 143 40C148 43 151 47 150 50C143 44.5 132 39 120 36C113 34.5 105 33 96 32ZM96 72C112 73 130 68.5 143 60C148 57 151 53 150 50C143 55.5 132 61 120 64C113 65.5 105 67 96 68Z"/>
<!-- светлый срединный гребень f2 по мантии (симметричен y=50, сужен с обоих концов) -->
<path fill="var(--f2,hsl(348,24%,72%))" d="M104 47.6C118 46.6 133 48 146.5 50C133 52 118 53.4 104 52.4C101.4 51.2 101.4 48.8 104 47.6Z"/>
<!-- сифон f4: короткая трубка из-под головы вниз-влево -->
<path fill="var(--f4,hsl(350,44%,20%))" d="M94 57C90 61 86.5 64.5 84 68C82.6 70 84 71.6 85.8 70.4C88.5 68 91 63.5 95 58Z"/>
<!-- веб f3: лопасти мембраны в просветах между основаниями рук (симметричен y=50) -->
<path fill="var(--f3,hsl(350,42%,30%))" d="M91 41.4C72.8 39.4 53.56 36.9 39 42.4C53.56 47.9 72.8 45.4 91 43.4ZM91 56.6C72.8 54.6 53.56 52.1 39 57.6C53.56 63.1 72.8 60.6 91 58.6ZM91 44.3C74.9 42.3 57.88 39.8 45 45.3C57.88 50.8 74.9 48.3 91 46.3ZM91 53.7C74.9 51.7 57.88 49.2 45 54.7C57.88 60.2 74.9 57.7 91 55.7ZM91 46.8C78.4 44.8 65.08 42.3 55 47.8C65.08 53.3 78.4 50.8 91 48.8ZM91 51.2C78.4 49.2 65.08 46.7 55 52.2C65.08 57.7 78.4 55.2 91 53.2Z"/>
<!-- заплатки стыков (закрывают микро-щели с фоном: веб→голова по центру y=50 и голова→сифон/щупальца); рисуются ДО щупалец/головы, чтобы те перекрыли излишки -->
<rect fill="var(--f3,hsl(350,42%,30%))" x="82" y="49.4" width="3.4" height="1.2"/>
<ellipse fill="var(--f1,hsl(350,40%,48%))" cx="89.5" cy="60.9" rx="0.8" ry="0.8"/>
<!-- 8 щупалец f1 веером: compound из 8 зеркальных рук с подкрученными кончиками -->
<path fill="var(--f1,hsl(350,40%,48%))" d="M90.42 37.21L86.13 34.61L81.91 32.18L77.77 29.89L73.71 27.77L69.74 25.79L65.88 23.98L62.12 22.32L58.48 20.81L54.96 19.46L51.57 18.27L48.32 17.24L45.22 16.36L42.27 15.65L39.49 15.1L36.87 14.72L34.43 14.51L32.17 14.49L30.1 14.66L28.26 15.08L27 17L27 17L28.66 18.47L30.17 18.74L31.88 19.06L33.8 19.49L35.91 20.03L38.22 20.7L40.71 21.5L43.37 22.44L46.2 23.51L49.18 24.73L52.31 26.09L55.57 27.59L58.96 29.23L62.48 31.02L66.1 32.96L69.83 35.03L73.65 37.26L77.55 39.62L81.53 42.14L85.58 44.79ZM 90.42 62.79 L 86.13 65.39 L 81.91 67.82 L 77.77 70.11 L 73.71 72.23 L 69.74 74.21 L 65.88 76.02 L 62.12 77.68 L 58.48 79.19 L 54.96 80.54 L 51.57 81.73 L 48.32 82.76 L 45.22 83.64 L 42.27 84.35 L 39.49 84.9 L 36.87 85.28 L 34.43 85.49 L 32.17 85.51 L 30.1 85.34 L 28.26 84.92 L 27 83 L 27 83 L 28.66 81.53 L 30.17 81.26 L 31.88 80.94 L 33.8 80.51 L 35.91 79.97 L 38.22 79.3 L 40.71 78.5 L 43.37 77.56 L 46.2 76.49 L 49.18 75.27 L 52.31 73.91 L 55.57 72.41 L 58.96 70.77 L 62.48 68.98 L 66.1 67.04 L 69.83 64.97 L 73.65 62.74 L 77.55 60.38 L 81.53 57.86 L 85.58 55.21 ZM89.87 39.9L85.82 38.2L81.75 36.6L77.69 35.12L73.64 33.74L69.61 32.48L65.61 31.32L61.65 30.27L57.75 29.32L53.91 28.49L50.16 27.76L46.49 27.13L42.92 26.61L39.46 26.2L36.12 25.9L32.92 25.7L29.87 25.62L26.97 25.67L24.25 25.84L21.72 26.19L19.5 28L19.5 28L21.83 29.6L24.23 29.92L26.79 30.25L29.52 30.63L32.4 31.08L35.43 31.6L38.58 32.2L41.86 32.88L45.24 33.64L48.72 34.49L52.28 35.44L55.91 36.47L59.61 37.59L63.35 38.81L67.13 40.12L70.93 41.52L74.74 43.02L78.56 44.62L82.36 46.31L86.13 48.1ZM 89.87 60.1 L 85.82 61.8 L 81.75 63.4 L 77.69 64.88 L 73.64 66.26 L 69.61 67.52 L 65.61 68.68 L 61.65 69.73 L 57.75 70.68 L 53.91 71.51 L 50.16 72.24 L 46.49 72.87 L 42.92 73.39 L 39.46 73.8 L 36.12 74.1 L 32.92 74.3 L 29.87 74.38 L 26.97 74.33 L 24.25 74.16 L 21.72 73.81 L 19.5 72 L 19.5 72 L 21.83 70.4 L 24.23 70.08 L 26.79 69.75 L 29.52 69.37 L 32.4 68.92 L 35.43 68.4 L 38.58 67.8 L 41.86 67.12 L 45.24 66.36 L 48.72 65.51 L 52.28 64.56 L 55.91 63.53 L 59.61 62.41 L 63.35 61.19 L 67.13 59.88 L 70.93 58.48 L 74.74 56.98 L 78.56 55.38 L 82.36 53.69 L 86.13 51.9 ZM89.27 42.48L85.22 41.42L81.12 40.44L76.99 39.56L72.85 38.77L68.7 38.08L64.54 37.47L60.41 36.96L56.3 36.54L52.22 36.21L48.2 35.98L44.23 35.83L40.33 35.78L36.52 35.83L32.8 35.97L29.19 36.21L25.7 36.56L22.34 37.01L19.13 37.59L16.09 38.33L13.5 40.5L13.5 40.5L16.62 41.7L19.63 41.64L22.76 41.58L26.01 41.57L29.39 41.61L32.87 41.71L36.45 41.89L40.12 42.13L43.87 42.45L47.68 42.85L51.54 43.32L55.45 43.87L59.38 44.5L63.33 45.2L67.29 45.99L71.24 46.85L75.17 47.8L79.07 48.83L82.93 49.93L86.73 51.12ZM 89.27 57.52 L 85.22 58.58 L 81.12 59.56 L 76.99 60.44 L 72.85 61.23 L 68.7 61.92 L 64.54 62.53 L 60.41 63.04 L 56.3 63.46 L 52.22 63.79 L 48.2 64.02 L 44.23 64.17 L 40.33 64.22 L 36.52 64.17 L 32.8 64.03 L 29.19 63.79 L 25.7 63.44 L 22.34 62.99 L 19.13 62.41 L 16.09 61.67 L 13.5 59.5 L 13.5 59.5 L 16.62 58.3 L 19.63 58.36 L 22.76 58.42 L 26.01 58.43 L 29.39 58.39 L 32.87 58.29 L 36.45 58.11 L 40.12 57.87 L 43.87 57.55 L 47.68 57.15 L 51.54 56.68 L 55.45 56.13 L 59.38 55.5 L 63.33 54.8 L 67.29 54.01 L 71.24 53.15 L 75.17 52.2 L 79.07 51.17 L 82.93 50.07 L 86.73 48.88 ZM88.36 45.62L84.73 45.27L81.1 44.96L77.49 44.69L73.89 44.45L70.33 44.25L66.79 44.08L63.29 43.94L59.83 43.84L56.43 43.76L53.08 43.72L49.79 43.72L46.56 43.74L43.41 43.79L40.34 43.88L37.36 43.99L34.47 44.15L31.67 44.33L28.98 44.57L26.4 44.88L24 46.4L24 46.4L26.52 47.7L29.09 47.82L31.76 47.92L34.53 48L37.39 48.09L40.34 48.2L43.38 48.31L46.49 48.45L49.68 48.6L52.92 48.78L56.23 48.97L59.59 49.19L63 49.44L66.44 49.71L69.92 50.02L73.43 50.35L76.97 50.71L80.51 51.1L84.07 51.52L87.64 51.98ZM 88.36 54.38 L 84.73 54.73 L 81.1 55.04 L 77.49 55.31 L 73.89 55.55 L 70.33 55.75 L 66.79 55.92 L 63.29 56.06 L 59.83 56.16 L 56.43 56.24 L 53.08 56.28 L 49.79 56.28 L 46.56 56.26 L 43.41 56.21 L 40.34 56.12 L 37.36 56.01 L 34.47 55.85 L 31.67 55.67 L 28.98 55.43 L 26.4 55.12 L 24 53.6 L 24 53.6 L 26.52 52.3 L 29.09 52.18 L 31.76 52.08 L 34.53 52 L 37.39 51.91 L 40.34 51.8 L 43.38 51.69 L 46.49 51.55 L 49.68 51.4 L 52.92 51.22 L 56.23 51.03 L 59.59 50.81 L 63 50.56 L 66.44 50.29 L 69.92 49.98 L 73.43 49.65 L 76.97 49.29 L 80.51 48.9 L 84.07 48.48 L 87.64 48.02 Z"/>
<!-- присоски: контуры f4 (compound, 2 ряда на 4 ближних руках, 16 кружков) -->
<path fill="none" stroke="var(--f4,hsl(350,44%,20%))" stroke-width="0.55" d="M66.99 42.97a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 40.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 40.39a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 38.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 48.18a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 45.98a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 47.31a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 45.11a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M66.99 57.03a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 59.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 59.61a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 61.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 51.82a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 54.02a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 52.69a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 54.89a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0"/>
<!-- присоски: светлые тела f2 (compound-кружки) -->
<path fill="var(--f2,hsl(348,24%,72%))" d="M66.99 42.97a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 40.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 40.39a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 38.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 48.18a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 45.98a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 47.31a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 45.11a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M66.99 57.03a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 59.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 59.61a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 61.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 51.82a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 54.02a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 52.69a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 54.89a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0"/>
<!-- голова f1: короткий «капюшон» между мантией и руками (ширина ≈22) -->
<ellipse fill="var(--f1,hsl(350,40%,48%))" cx="96" cy="50" rx="11" ry="13"/>
<!-- глаза: 5 слоёв, симметричны y=50: тёмный ободок f4 -->
<path fill="var(--f4,hsl(350,44%,20%))" d="M93 38a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M93 62a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"/>
<!-- склера #f4f1e6 -->
<path fill="#f4f1e6" d="M94.2 38a5.8 5.8 0 1 0 11.6 0a5.8 5.8 0 1 0 -11.6 0M94.2 62a5.8 5.8 0 1 0 11.6 0a5.8 5.8 0 1 0 -11.6 0"/>
<!-- радужка #d9b23a -->
<path fill="#d9b23a" d="M96 38a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M96 62a4 4 0 1 0 8 0a4 4 0 1 0 -8 0"/>
<!-- горизонтальный зрачок #142638 -->
<path fill="#142638" d="M96.4 38a3.6 1.6 0 1 0 7.2 0a3.6 1.6 0 1 0 -7.2 0M96.4 62a3.6 1.6 0 1 0 7.2 0a3.6 1.6 0 1 0 -7.2 0"/>
<!-- блик #fff -->
<path fill="#fff" d="M96.7 36a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M96.7 64a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

+44 -13
View File
@@ -1,15 +1,46 @@
<!-- Окунь (perch): высокое сжатое тело с отчётливым ГОРБОМ — спина от мелкой головы круто встаёт к горбу у x≈94 и плавно падает к толстому хвостовому стеблю (нахлёст 4 ед.); ДВА РАЗДЕЛЬНЫХ спинных плавника — передний КОЛЮЧИЙ (D1, 6 острых шипов по кромке) и задний МЯГКИЙ (D2, округлая кромка), НЕ слиты; КРАСНЫЕ (фикс-акцент) брюшные и анальный плавники и рыжий низ хвостовой лопасти; 6 тёмных вертикальных полос одним compound-path (шире сверху, уже снизу); тёмное пятно на жаберной крышке; тупое рыло с конечным ртом и крупный глаз; оливково-зелёная палитра -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M36 50 L12 28 L22 50 L12 72 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M50 38 L60 11 L72 18 L84 12 L96 22 L102 30 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M32 50 Q58 21 100 23 Q133 26 148 50 Q133 74 100 77 Q58 79 32 50 Z" fill="var(--f1,hsl(120,45%,48%))"/>
<path d="M148 50 Q133 74 100 77 Q58 79 32 50 Q62 64 104 64 Q132 62 148 50 Z" fill="var(--f2,hsl(120,30%,70%))"/>
<path d="M47 37.9 Q52 34.3 57 33.1 L57 67.3 Q52 65.2 47 60.6 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M61 30.8 Q66 28.1 71 27.8 L71 72.2 Q66 71.8 61 68.9 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M75 26.8 Q80 24.9 85 25.3 L85 74.7 Q80 75.2 75 73.3 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M89 25 Q94 23.8 99 25 L99 75 Q94 76.2 89 75 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M103 25.4 Q108 25.1 113 27.2 L113 72.7 Q108 74.9 103 74.6 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M108 52 Q130 56 126 72 Q112 68 104 58 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M88 74 Q100 88 112 80 Q102 76 94 72 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<circle cx="133" cy="43" r="6.5" fill="#fff"/>
<circle cx="134.5" cy="43" r="3" fill="#142638"/>
<!-- хвост: слабо выемчатый (неглубокая вырезка), корень утоплен в стебель толщ.14 (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M44 43 C36 39.5 26 34 14 29 C18 36 21.5 41.5 24 46 L24 54 C21.5 58.5 18 64 14 71 C26 66 36 60.5 44 57 Z"/>
<!-- рыжий низ хвоста (фикс-акцент): красная только НИЖНЯЯ лопасть, верх остаётся f3 -->
<path fill="#c0392b" d="M44 56.5 L24.5 52.5 C21.5 58.5 18 64 14 71 C26 66 36 60.5 44 57 Z"/>
<!-- лучи хвоста: по одному штриху в каждой лопасти -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M40 44 C33 41 25 37 18 33 M40 56 C33 59 25 63 18 67"/>
<!-- D1 передний спинной (КОЛЮЧИЙ): 6 острых шипов, зубцы до y≈20, основание глубоко в теле (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M59.5 36 L61 33 L62 21 L64.5 33 L66 20 L68.5 33 L70 19 L72.5 33 L74 20 L76.5 33 L78 20.5 L80.5 33 L82 22 L84.5 33.5 L85.5 36 Z"/>
<!-- D2 задний спинной (МЯГКИЙ): отдельный округлый плавник на горбе (x90..112), НЕ слит с колючим -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M88 32 C89 26.5 93 23 99 22.8 C105 22.8 110 25.5 112.5 29 L114.5 32 Z"/>
<!-- лучи D2: три коротких веерных штриха ВНУТРИ мягкого плавника (не выходят за кромку) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M92 31 C92.5 28 93.3 25.8 94.2 24.2 M99 31 C99.2 28 99.6 25.8 100 24 M106 31 C106.3 28.2 106.8 26.2 107.6 24.8"/>
<!-- анальный плавник: КРАСНЫЙ (фикс-акцент), основание глубоко в брюхе (нахлёст ≥4), кончик до y≈84 -->
<path fill="#c0392b" d="M50 59 C52 73 55.5 81 60.5 84 C65.5 81 68.5 74 69 60 Z"/>
<!-- лучи анального плавника: короткие штрихи ВНУТРИ лопасти (за кромку не выходят) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M54.5 71 C55 74.5 55.7 76.8 56.5 78.2 M60 72 C60.4 74.8 60.9 76.8 61.6 78"/>
<!-- брюшные плавники: ПАРА красных (фикс-акцент) лопастей, направлены вниз-назад, кончики до y≈88 -->
<path fill="#c0392b" d="M99 67 C97.5 77 99 84 103.5 88 C107 82.5 107.5 73 106 67 Z"/>
<path fill="#c0392b" d="M107.5 67 C106.5 77.5 108.5 84.5 113 88 C116 82 116.5 73 115 68 Z"/>
<!-- тело: высокое и сжатое, спина встаёт от мелкой головы к ГОРБУ (пик ≈x94) и падает к стеблю -->
<path fill="var(--f1,hsl(110,35%,42%))" d="M150 50 C146 42 142 37.5 137 36 C132 33.5 125 30 117 27 C108 24.3 100 23.2 94 23.2 C87 23.4 78 25 70 27.5 C62 30 50 36 40 43 L40 57 C50 64 62 70 74 72.6 C84 74.6 92 75 100 74.6 C118 73.6 134 67 142.5 58.5 C145.5 54.5 149 52 150 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(95,25%,68%))" d="M40 57 C50 64 62 70 74 72.6 C84 74.6 92 75 100 74.6 C118 73.6 134 67 142.5 58.5 C132 66 114 70.5 98 70.5 C75 70.5 54 64.5 40 57 Z"/>
<!-- жаберная пластина: мягкая светлая заливка за глазом (объём мелкой головы) -->
<path fill="var(--f2,hsl(95,25%,68%))" opacity="0.3" d="M120 38 C124 44 124 52 120 60 C116 52 115 44 116 39 Z"/>
<!-- 6 тёмных вертикальных полос одним compound-path: шире сверху (4.5), уже снизу (2.5), верх утоплен под спинную кромку, низ до y≈70 -->
<path fill="var(--f4,hsl(110,45%,20%))" opacity="0.5" d="M53.75 35.2 L58.25 35.2 L57.25 68 L54.75 68 Z M67.75 28.9 L72.25 28.9 L71.25 70 L68.75 70 Z M81.75 25.2 L86.25 25.2 L85.25 70 L82.75 70 Z M95.75 24.1 L100.25 24.1 L99.25 70 L96.75 70 Z M109.75 26.8 L114.25 26.8 L113.25 70 L110.75 70 Z M121.75 31.4 L126.25 31.4 L125.25 70 L122.75 70 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (ложится ПОВЕРХ полос — их верх срезан, не шипы) -->
<path fill="var(--f4,hsl(110,45%,20%))" d="M150 50 C146 42 142 37.5 137 36 C132 33.5 125 30 117 27 C108 24.3 100 23.2 94 23.2 C87 23.4 78 25 70 27.5 C62 30 50 36 40 43 C50 38 62 33.5 70 31 C78 28.6 87 27 94 27 C100 27 108 28.4 117 30.6 C125 32.6 132 35.6 137 38.4 C142 41.2 147 46.5 150 50 Z"/>
<!-- жаберная дуга: тёмный серп у крышки (ниже и левее глаза, ободок не задет) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="1.5" d="M120 41 C124 46 123.5 54 119.5 60"/>
<!-- тёмное пятно на жаберной крышке (видовой знак окуня) -->
<ellipse fill="var(--f4,hsl(110,45%,20%))" opacity="0.5" cx="123" cy="50" rx="2.6" ry="3.4"/>
<!-- рот: короткая конечная щель на тупом рыле -->
<path fill="var(--f4,hsl(110,45%,20%))" d="M143.5 48.6 C146.5 49 149 49.8 150.3 51.2 C148.6 52.6 146 51.8 143.8 50.2 Z"/>
<!-- грудной плавник: на боку под жаберной дугой (ПОСЛЕ тела), кончиком вниз-назад -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M136 54 C132 57 126.5 62 123.5 67 C126.5 67.5 130.5 64 133.5 60 C135.5 57 136.3 55.5 136 54 Z"/>
<!-- глаз: КРУПНЫЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(110,45%,20%))" cx="132" cy="43" r="5.6"/>
<circle fill="#f7f3e6" cx="132" cy="43" r="4.7"/>
<circle fill="#c98a2a" cx="132" cy="43" r="3.3"/>
<circle fill="#142638" cx="132" cy="43" r="2.3"/>
<circle fill="#fff" cx="130.8" cy="41.8" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

+34 -23
View File
@@ -1,25 +1,36 @@
<!-- Щука (pike): удлинённое тело ~4:1, плоская «утячья» морда, спинной плавник сзади, мелкий вилочный хвост -->
<!-- Щука (pike): торпеда ~4:1 с почти прямой спиной — вытянутее всех речных, кроме осетра; плоская «утиная» морда с выдающейся НИЖНЕЙ челюстью и длинной пастью-щелью, уходящей назад под глаз; спинной и анальный плавники СДВИНУТЫ К ХВОСТУ и стоят напротив друг друга, между ними тонкий хвостовой стебель; камуфляж — светлые овалы-пятна в тёмном поле плюс слабые тёмные вертикали; хвост слабо выемчатый (НЕ глубокая вилка); жёлтый глаз -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: мелкая вилка -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M20,46 L7,34 L14,44 L14,50 L7,60 L20,50 Z"/>
<!-- спинной плавник: смещён к хвосту, низкий, округлый -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M28,41 C31,31 42,25 54,26 C57,26.5 58,29 57,33.5 Z"/>
<!-- брюшной плавник: маленький, снизу -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M58,63 L53,71 L63,64 Z"/>
<!-- тело: удлинённое, плоская заострённая морда-«клюв» -->
<path fill="var(--f1,hsl(100,45%,48%))" d="M142,45 C137,41 128,37 116,34 C96,31 66,31 45,35 C33,38 25,42 20,47 L18,51 C25,56 33,60 45,63 C66,66 96,65 116,59 C128,56 138,52 141,48 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(100,30%,70%))" d="M18,51 C25,56 33,60 45,63 C66,66 96,65 116,59 C128,56 138,52 141,48 L142,45 C130,49 110,52 88,53 C66,54 40,53 22,50 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M98,50 C94,55 94,59 98,62 C102,58 103,54 101,50 Z"/>
<!-- пасть: тёмная щель -->
<path fill="var(--f4,hsl(100,45%,26%))" d="M142,45 L141,48 L122,46.5 Z"/>
<!-- узор: тёмные пятна по бокам -->
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="45" cy="47" rx="4" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="62" cy="45" rx="4.5" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="80" cy="46" rx="4.5" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="98" cy="48" rx="4" ry="2.5"/>
<!-- глаз -->
<circle fill="#fff" cx="124" cy="41" r="3.2"/>
<circle fill="#142638" cx="124.5" cy="41" r="1.6"/>
<!-- хвост: слабо выемчатый — лопасти чуть дальше центра; корень утоплен в стебель (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M32 45 C26 41 20 37 12 34 C15 41 17 46 17 50 C17 54 15 59 12 66 C20 63 26 59 32 55 Z"/>
<!-- спинной плавник: СДВИНУТ К ХВОСТУ, основание глубоко в теле (≥4 ед.), вершина округлая -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M40 47 C41.5 35 46.5 29.5 52 29.5 C57.5 29.5 61 35 62 47 L40 47 Z"/>
<!-- анальный плавник: стоит НАПРОТИВ спинного, тем же сдвигом к хвосту -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M42 55 C44.5 63 48.5 68.5 53 68.5 C57.5 68.5 60.5 63 62 55 L42 55 Z"/>
<!-- брюшные плавники: пара мелких лопастей, основания утоплены в брюхо -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M64 56 C62 62 63 67 67 67.5 C70 66 71 61 70 56 Z"/>
<path fill="var(--f3,hsl(100,35%,28%))" d="M74 56 C73 63 75 68 79 68 C82 66 82 61 81 56 Z"/>
<!-- тело: торпеда ~4:1, спина почти прямая; верх головы плоский (150,42)→(130,38)→(116,40), верхняя челюсть (152,44), выдвинутая НИЖНЯЯ (153,46.5) -->
<path fill="var(--f1,hsl(95,30%,38%))" d="M152 44 L150 42 C142 39.5 136 38.2 130 38 L116 40 C100 35.5 86 35 72 36 C52 38 36 41.5 28 45 L28 55 C38 60 52 65 70 68 C98 67.5 128 60 146 50.5 L153 46.5 Z"/>
<!-- брюхо: светлая полоса вдоль брюшной кромки -->
<path fill="var(--f2,hsl(85,35%,72%))" d="M28 55 C38 60 52 65 70 68 C98 67.5 128 60 146 50.5 L153 46.5 C140 52 120 57.5 100 59.5 C76 61.5 48 59 28 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(95,40%,18%))" d="M152 44 L150 42 C142 39.5 136 38.2 130 38 L116 40 C100 35.5 86 35 72 36 C52 38 36 41.5 28 45 L28 46.8 C37 43.2 53 39.8 72 38 C88 36.4 102 37.6 116 42.2 L130 40.3 L150 44.3 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы), отодвинута от ободка глаза -->
<path fill="var(--f2,hsl(85,35%,72%))" opacity="0.3" d="M116 41 C120 46 120 51 116.5 56 C112.5 51 112.5 46 113.5 41.5 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(95,40%,18%))" stroke-width="1.5" d="M116 41 C120 46 120 51 116.5 56"/>
<!-- слабые тёмные вертикали по боку: 4 размытые полосы камуфляжа -->
<path fill="none" stroke="var(--f4,hsl(95,40%,18%))" stroke-width="3.4" stroke-linecap="round" opacity="0.3" d="M50 42 L50 58 M66 40 L66 61 M82 39.5 L82 61 M98 40.5 L98 60"/>
<!-- ГЛАВНЫЙ узор вида: 7-8 светлых овалов-пятен в тёмном поле одним compound-path (f2 светлые — читаются в любом варианте) -->
<path fill="var(--f2,hsl(85,35%,72%))" opacity="0.55" d="M115.03 50.52 A5 2.6 -6 1 0 124.97 49.48 A5 2.6 -6 1 0 115.03 50.52 Z M96.53 47.58 A5.5 2.6 -6 1 0 107.47 46.42 A5.5 2.6 -6 1 0 96.53 47.58 Z M81.03 49.52 A5 2.8 -6 1 0 90.97 48.48 A5 2.8 -6 1 0 81.03 49.52 Z M64.53 46.58 A5.5 2.5 -6 1 0 75.47 45.42 A5.5 2.5 -6 1 0 64.53 46.58 Z M49.03 50.52 A5 2.7 -6 1 0 58.97 49.48 A5 2.7 -6 1 0 49.03 50.52 Z M37.82 54.44 A4.2 2.2 -6 1 0 46.18 53.56 A4.2 2.2 -6 1 0 37.82 54.44 Z M57.53 56.47 A4.5 2.3 -6 1 0 66.47 55.53 A4.5 2.3 -6 1 0 57.53 56.47 Z M75.53 57.47 A4.5 2.2 -6 1 0 84.47 56.53 A4.5 2.2 -6 1 0 75.53 57.47 Z"/>
<!-- ротовая щель: длинная, от конца рыла НАЗАД ПОД глаз (не на конце рыла) -->
<path fill="var(--f4,hsl(95,40%,18%))" d="M151.5 44.4 C139 44.2 126 44.1 114 44.2 C126 46 139 46.8 151.5 46.5 Z"/>
<!-- грудной плавник: на боку у брюха, позади жаберной дуги, кончиком вниз-назад (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M124 50 C122.5 55 119 59.5 114 60.5 C115 55 118 50.5 122 47.5 Z"/>
<!-- глаз: крупный, жёлтая радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(95,40%,18%))" cx="130" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="130" cy="42" r="3.7"/>
<circle fill="#d9b23a" cx="130" cy="42" r="2.8"/>
<circle fill="#142638" cx="130" cy="42" r="2"/>
<circle fill="#fff" cx="128.9" cy="40.8" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

+40 -22
View File
@@ -1,24 +1,42 @@
<!-- Густера (roundel): высокое широкое тело ~2:1, серебристое, вилочный хвост, спинной плавник, светлое брюхо, тёмная спинная кромка -->
<!-- Густера (roundel): высокое сжатое серебристое тело (D/L≈0.46) БЕЗ ромбовидного острия леща; КРУПНЫЙ глаз; КОРОТКИЙ анальный плавник (12-14 лучей, антипод длинной «юбки» леща); тонкий хвостовой стебель с глубокой вилкой; КИЛЬ — тонкая тёмная кромка брюха позади брюшных плавников (отличие от плотвы) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M40 50 L14 28 L27 50 L14 72 Z"/>
<!-- тело: высокое широкое, серебристое -->
<path fill="var(--f2,hsl(215,30%,70%))" d="M148 48 C140 34 116 25 90 24 C64 23 46 31 36 42 L36 58 C46 69 64 77 90 76 C116 75 140 62 148 48 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(215,25%,82%))" d="M148 48 C140 62 116 75 90 76 C64 77 46 69 36 58 C46 64 64 68 90 66 C116 64 140 56 148 48 Z"/>
<!-- спинной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M62 27 Q82 6 106 26 Q84 20 62 27 Z"/>
<!-- тёмная спинная кромка: тонкая полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(215,45%,48%))" d="M148 48 C140 34 116 25 90 24 C64 23 46 31 36 42 C46 36 64 28 90 29 C116 30 140 38 148 48 Z"/>
<!-- узор: линия жаберной крышки -->
<path fill="var(--f4,hsl(215,45%,26%))" d="M116 36 C122 43 122 55 116 62 C119 55 119 43 116 36 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M110 55 C104 60 103 66 108 70 C112 64 114 59 112 55 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M80 73 L74 83 L88 75 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M58 68 L52 78 L66 70 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="127" cy="44" r="5.5"/>
<circle fill="#142638" cx="128.5" cy="44" r="2.8"/>
<!-- хвост: глубокая вилка, лопасти (16,31)/(16,69); корень утоплен в стебель (нахлёст), светлая кромка отделяет от тела -->
<path fill="var(--f3,hsl(215,26%,40%))" stroke="var(--f2,hsl(210,20%,82%))" stroke-width="1" stroke-opacity="0.5" d="M50 44 L16 31 C23 39 27 45 30.5 50 C27 55 23 61 16 69 L50 56 Z"/>
<!-- спинной плавник: короткий, основание x68..92 утоплено в спину (нахлёст ≥4), вершина (79,14), задняя кромка вогнута -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M68 34.5 C69.5 24 73.5 16 79 14 C81 20 85 28 92 34.5 Z"/>
<!-- лучи спинного плавника: 4 тонких штриха веером от основания к кромке (не выходят за мембрану) -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="0.9" opacity="0.3" d="M70 33 C70.8 30 71.6 27.4 72.8 25.2 M76 32.6 C76.6 27.5 77 22.5 77.5 17.5 M81.5 32.4 C81.3 28.2 80.9 24.3 80.4 20.6 M87 32.6 C86.2 29.8 84.7 27.2 82.7 25"/>
<!-- анальный плавник: КОРОТКИЙ (главное отличие от леща), основание x58..70 утоплено в брюхо (нахлёст ≥4), низ y85, задняя кромка вогнута -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M58 62 C59.5 70 61.5 78 64 85 C67 82.5 69.5 75 70 62 Z"/>
<!-- лучи анального плавника: 3 штриха (плотные 12-14 лучей), не выходят за мембрану -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="0.9" opacity="0.3" d="M60 66 C60.6 71 61.6 76.5 62.8 81.5 M63.5 66 C63.9 71 64.2 76.5 64.3 82 M67 65.5 C66.8 69.5 66.3 73.5 65.6 77.5"/>
<!-- брюшные плавники: пара мягких округлых лопастей x82..100, основание внутри брюха, отведены назад-вниз -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M83 70 C80.5 79 81.5 84 85.5 86 C89.5 85 91.5 79 92.5 70 Z"/>
<path fill="var(--f3,hsl(215,26%,40%))" d="M93 70 C90.5 79 91.5 84.5 95.5 86.5 C99.5 85.5 101 79 101.5 70 Z"/>
<!-- тело: высокое и сжатое (D/L≈0.46), спина округлая БЕЗ ромбовидного острия; рыло (150,50), затылок (130,36), спина (98,27), брюхо (98,75), стебель 46,45/46,55 (толщина 10) -->
<path fill="var(--f1,hsl(213,24%,57%))" d="M150 50 C147 44 141 38 132 36 C121 29.5 110 27 98 27 C72 28 54 34 46 45 L46 55 C51 67 70 75.5 98 75 C116 74 132 69 141 61 C145 57 148 53 150 50 Z"/>
<!-- брюхо: светлая серебристая нижняя треть -->
<path fill="var(--f2,hsl(210,20%,82%))" d="M46 55 C51 67 70 75.5 98 75 C116 74 132 69 141 61 C134 64 118 68 98 68.5 C74 68 53 61 46 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M150 50 C147 44 141 38 132 36 C121 29.5 110 27 98 27 C72 28 54 34 46 45 C60 37.5 78 31.5 98 31.5 C110 31.5 121 34 132 39 C141 43 147 47 150 50 Z"/>
<!-- КИЛЬ: тонкая f4-кромка-гребень по линии брюха между анальным и брюшными плавниками (отличие от плотвы) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M62 69.4 C68 71.3 74 73.3 79 74.4 L79 75.7 C74 74.6 68 72.6 62 70.7 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (сдвинута от крупного глаза) -->
<path fill="var(--f2,hsl(210,20%,82%))" opacity="0.35" d="M120 38 C126 45 127 55 122 63 C118 55 116 45 116 39 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="1.3" opacity="0.5" d="M120 38 C126 45 127 55 122 63"/>
<!-- чешуя: очень бледная f4-сетка (compound-path), верхний ряд из трёх дуг -->
<path fill="var(--f4,hsl(215,30%,24%))" opacity="0.15" d="M75 36 Q81 41 75 46 Q77 41 75 36 Z M91 34 Q97 39 91 44 Q93 39 91 34 Z M107 37 Q113 42 107 47 Q109 42 107 37 Z"/>
<!-- чешуя: нижний ряд из трёх дуг (реже и бледнее, чем у леща) -->
<path fill="var(--f4,hsl(215,30%,24%))" opacity="0.15" d="M83 47 Q89 52 83 57 Q85 52 83 47 Z M99 49 Q105 54 99 59 Q101 54 99 49 Z M115 52 Q121 57 115 62 Q117 57 115 52 Z"/>
<!-- рот: конечный, на конце рыла (150,50) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M147 50.3 C149 50.5 150 51 150.6 51.8 C149.5 52.8 147.8 52.5 146.6 51.3 Z"/>
<!-- грудной плавник: посажен низко, мягкая лопасть на боку (после тела) -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M117 56 C113 58 110 63 111.5 68 C115 66 117 61 118.5 57 Z"/>
<!-- глаз: КРУПНЫЙ (главный знак густеры, антипод крошечного глаза леща): ободок → склера → радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(215,30%,24%))" cx="134" cy="43" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="43" r="4.7"/>
<circle fill="#d7c07a" cx="134" cy="43" r="3.6"/>
<circle fill="#142638" cx="134" cy="43" r="2.6"/>
<circle fill="#fff" cx="132.8" cy="41.6" r="1"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

+42 -13
View File
@@ -1,15 +1,44 @@
<!-- Краснопёрка (rudd): высокое ромбовидное золотисто-зелёное тело (D/L≈0.46) с тонким хвостовым стеблем; ГЛАВНЫЕ знаки — РОТ ВВЕРХ (полуверхний клин на рыле) и ЯРКО-ЖЁЛТЫЙ глаз (у плотвы рот конечный, глаз красный); спинной плавник СДВИНУТ К ХВОСТУ, позади оснований брюшных; красно-оранжевые плавники; тонкий f4-киль по брюху -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M46 50 L20 20 L38 50 L20 80 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M40 50 Q46 20 88 20 Q128 24 140 50 Q128 76 88 80 Q46 80 40 50 Z" fill="var(--f1,hsl(25,45%,48%))"/>
<path d="M40 50 Q46 80 88 80 Q128 76 140 50 Q116 64 84 64 Q54 62 40 50 Z" fill="var(--f2,hsl(25,30%,70%))"/>
<path d="M54 26 Q82 4 122 14 Q128 21 126 26 Q88 13 54 26 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M114 54 Q138 58 130 78 Q116 70 106 60 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M94 74 Q98 92 80 88 Q86 80 88 74 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M68 72 Q64 90 50 86 Q56 78 58 68 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M50 46 Q90 38 134 46 Q90 52 50 46 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M68 30 Q74 26 80 30 Q74 36 68 30 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M94 26 Q100 22 106 26 Q100 32 94 26 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M116 32 Q122 28 128 32 Q122 38 116 32 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<circle cx="124" cy="40" r="6.5" fill="#fff"/>
<circle cx="125.5" cy="40" r="3" fill="#142638"/>
<!-- хвост: лопасти (14,32)/(14,68), корень утоплен в стебель на 4 ед. -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M50 44 L14 32 C21.5 40 25.5 45 29 50 C25.5 55 21.5 60 14 68 L50 56 Z"/>
<!-- спинной плавник: СДВИНУТ К ХВОСТУ, основание x56..82 утоплено в спину, вершина (68,14) -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M56 39 C58.5 28 62.5 19 68 14.5 C71.5 20.5 77 25.5 82 32 Z"/>
<!-- лучи спинного плавника: 4 тонких штриха веером, концы не выходят за мембрану -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="0.9" opacity="0.3" d="M62 37.4 C62.8 31.5 64 26 65.5 22 M68 35.8 C68.2 29 68.3 23.5 68.5 18.5 M74 34.2 C73.4 30 72.6 26 71.8 23 M79 33 C78.3 30.5 77 27.8 75.5 25.5"/>
<!-- анальный плавник: основание x52..70 утоплено в брюхо, низ до y86 -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M52 60 C50 73 53 83 58.5 86 C64 85.5 68.5 78 70 68 Z"/>
<!-- лучи анального плавника: 3 коротких тёмных штриха, целиком внутри мембраны -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="0.9" opacity="0.3" d="M55 63 C55.5 69 56.2 76 56.8 81 M59.5 63 C60 69.5 60.7 76 61.3 80.5 M63.5 64 C64 69.5 64.5 74.5 64.8 78"/>
<!-- брюшные плавники: пара округлых лопастей x84..102, отведены назад-вниз -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M84 68 C81.5 77 82.5 83.5 86.5 86 C90.5 84 92.5 77.5 93 68 Z"/>
<path fill="var(--f3,hsl(12,72%,52%))" d="M94 68 C91.5 77 92.5 84 96.5 86.5 C100.5 84.5 102.5 78 103 68 Z"/>
<!-- тело: высокий ромб, рыло (150,47), затылок (130,35.5), спина (94,27), брюхо (94,75), стебель 46,45/46,55 -->
<path fill="var(--f1,hsl(80,35%,50%))" d="M150 47 C148 41.5 143 36.5 136 35 C124 31.5 110 28 94 27 C72 28 53 35 46 45 L46 55 C49 62 55 69 64 72.5 C73 75 84 75.5 94 75 C112 75 128 69 138 59 C143.5 53.5 148 49.5 150 47 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(78,35%,74%))" d="M46 55 C49 62 55 69 64 72.5 C73 75 84 75.5 94 75 C112 75 128 69 138 59 C130 63.5 116 68 97 68.5 C76 69 55 63 46 55 Z"/>
<!-- спинная кромка: тёмная полоса по хребту, к затылку сходит на нет (голова остаётся золотистой) -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M137 35.3 C124 31.5 110 28 94 27 C72 28 53 35 46 45 C59 38.4 77 32.4 94 31.8 C111 32 124 34.8 134 38.5 C135.7 37.4 136.6 36.2 137 35.3 Z"/>
<!-- КИЛЬ: тонкая f4-кромка по брюху между анальным и брюшными плавниками -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M62 71.8 C68 73.5 74 74.7 80 75.3 L80 76.6 C74 76 68 74.8 62 73.1 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (сдвинута от крупного глаза) -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.3" d="M118 37 C123 44 124 54 119.5 63 C115 54 114 44 114.5 37.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="1.3" opacity="0.5" d="M118 37 C123 44 124 54 119.5 63"/>
<!-- золотистый f2-блик по верхнему боку -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.28" d="M64 42 C84 34 110 32 130 37 C118 39 106 38.6 94 39.6 C80 40.8 70 43.8 62 48 Z"/>
<!-- чешуя: 5 f2-серпов (compound-path) -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.35" d="M74 41 Q68 47 74 53 Q70.5 47 74 41 Z M90 39.5 Q84 45.5 90 51.5 Q86.5 45.5 90 39.5 Z M106 40 Q100 46 106 52 Q102.5 46 106 40 Z M82 52 Q76 58 82 64 Q78.5 58 82 52 Z M98 51 Q92 57 98 63 Q94.5 57 98 51 Z"/>
<!-- чешуя: очень бледная f4-сетка (compound-path) -->
<path fill="var(--f4,hsl(85,30%,24%))" opacity="0.12" d="M82 40 Q88 45 82 50 Q84 45 82 40 Z M98 38.5 Q104 43.5 98 48.5 Q100 43.5 98 38.5 Z M114 41 Q120 46 114 51 Q116 46 114 41 Z M90 50 Q96 55 90 60 Q92 55 90 50 Z M106 49 Q112 54 106 59 Q108 54 106 49 Z"/>
<!-- рот: ГЛАВНЫЙ знак вида — полуверхний клин (150,45)→(146,44): верхняя губа выдаётся над кончиком рыла, устье смотрит вверх -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M146.3 45.6 C147.8 45.1 149.3 44.1 150.4 43.1 C150.7 44.1 150.6 45.3 150 46.5 C148.8 46.4 147.5 46 146.3 45.6 Z"/>
<!-- грудной плавник: мягкая лопасть на боку (116,55)→(110,67), после тела -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M118 54 C113 57 109 62 110.5 67 C114.5 65 117 60 119 56 Z"/>
<!-- глаз: ГЛАВНЫЙ знак вида — ЯРКО-ЖЁЛТАЯ радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(85,30%,24%))" cx="134" cy="41" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="41" r="4.7"/>
<circle fill="#e0b021" cx="134" cy="41" r="3.6"/>
<circle fill="#142638" cx="134" cy="41" r="2.4"/>
<circle fill="#fff" cx="132.7" cy="39.7" r="1.0"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

+37 -26
View File
@@ -1,28 +1,39 @@
<!-- Большая белая акула (shark): коническая заострённая морда, обтекаемое тело «торпеда» ~3:1, высокий треугольный спинной плавник (узнаваемый знак), вилочный хвост с длиннейшей верхней лопастью, серая спина / белое брюхо, 3 жаберные щели, маленький тёмный глаз -->
<!-- Большая белая акула (shark): плотная торпеда ~3.4:1 с коническим рылом; ГЛАВНЫЙ знак — высокий треугольный спинной плавник в средней трети спины (вершина скошена назад); гетероцеркальный хвост — верхняя лопасть заметно длиннее нижней (НЕ симметричная вилка тунца); рот СНИЗУ под рылом (не на конце рыла) с рядом белых зубов; пять жаберных щелей f4 вместо жаберной пластины; резкий контр-шейдинг — тёмная спина f1 / белое брюхо f2 с границей чуть ниже оси; пара серповидных грудных; мелкий «чёрный» глаз -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: вилка — верхняя (длиннейшая) лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 47 C29 40 18 30 11 22 C12 33 18 42 30 50 L37 47 Z"/>
<!-- хвост: вилка — нижняя (короткая) лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 53 C30 58 21 63 15 67 C17 59 24 53 30 50 L37 53 Z"/>
<!-- спинной плавник: высокий треугольник посередине спины -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M84 35.5 L100 14 L112 36.5 Z"/>
<!-- второй спинной плавник: маленький, к хвосту -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M50 39 L58 30.5 L64 37.5 Z"/>
<!-- анальный плавник: сзади под брюхом -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M46 59.5 L42 68.5 L55 62 Z"/>
<!-- тело: торпеда, коническая заострённая морда, сужается к хвостовому стеблю -->
<path fill="var(--f1,hsl(210,45%,48%))" d="M154 50 C143 44 122 35 95 33.5 C72 32.5 50 37 34 45.5 L34 54.5 C50 63 72 67.5 95 66.5 C122 65 143 56 154 50 Z"/>
<!-- брюхо: светлое, контраст «серая спина / белое брюхо» -->
<path fill="var(--f2,hsl(210,30%,70%))" d="M154 50 C143 56 122 65 95 66.5 C72 67.5 50 63 34 54.5 C45 56.5 65 57.5 95 57 C122 56 143 53 154 50 Z"/>
<!-- грудной плавник: широкий, заострённый назад -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M131 50.5 L113 66.5 L136 54 Z"/>
<!-- рот: тёмная пологая щель на конце морды -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M143 50.4 C146 50.7 148.5 51.2 150.5 51.8 C148.5 52.5 145.5 52 143.5 51.2 Z"/>
<!-- жаберные щели: 3 короткие вертикальные позади головы -->
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M134 44.5 L134 52.5"/>
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M129 44 L129 53"/>
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M124 44.5 L124 53"/>
<!-- глаз: маленький тёмный, с крошечным бликом -->
<circle fill="#142638" cx="140" cy="47" r="2.2"/>
<circle fill="#fff" cx="139.3" cy="46.3" r="0.9"/>
<!-- хвост: гетероцеркальный — ВЕРХНЯЯ лопасть длинная, от корня (47,42) к кончику (10,14), корень утоплен в стебель (нахлёст ≥5) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 42 C36 33 22 22 10 14 C12 26 15 38 20 49 C30 48.5 39 49.5 47 51 Z"/>
<!-- хвост: НИЖНЯЯ лопасть КОРОЧЕ верхней — корень (47,49..56.5) утоплен в стебель, кончик (20,74), не зеркало верхней -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 49 L47 56.5 C38 59.5 28 66 20 74 C25 66 32 58 38 51 Z"/>
<!-- спинной плавник: ВЫСОКИЙ ТРЕУГОЛЬНИК в средней трети спины, основание x77..102 (y≈37) утоплено в тело, вершина (89,10) скошена назад -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M102 37 C100 24 96 13.5 89 10 C83 17.5 79 27 77 37 Z"/>
<!-- второй спинной (D2): маленький, сдвинут к хвосту, вершина (53,31.5), основание утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 44 C48 37 50.5 32.5 53 31.5 C56 34 58.5 39 61 43 Z"/>
<!-- анальный плавник: маленький, снизу позади середины, низ (52,70.5), основание утоплено в брюхо -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M44 56 C46 64 49 70 52 70.5 C56 69 58 64 58.5 56 Z"/>
<!-- брюшные плавники: пара мелких лопастей назад-вниз, основания утоплены в брюхо (compound-path) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M72 57 C70 64 69 71 71 73 C74 70 75 65 75 57 Z M84 58 C82 66 81 73 83 75 C86 72 87 67 87 58 Z"/>
<!-- дальний грудной плавник: серповидный, корень (114,51) скрыт телом, из-под брюха виден кончик (88,68) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M114 51 C105 54 96 60 88 68 C96 62.5 106 57 116 53 Z"/>
<!-- тело: торпеда, коническое рыло (152,50), спина (104,32)→(72,34), брюхо (140,58)→(104,64)→(72,60), стебель x42 толщиной 8 -->
<path fill="var(--f1,hsl(210,28%,44%))" d="M152 50 C148 45 144 42.5 140 42 C128 36 116 32.5 104 32 C92 31.5 80 32.5 72 34 C59 37 48 41.5 42 46 L42 54 C50 57.5 60 60.5 72 60 C82 61.5 93 63.5 104 64 C115 63.8 128 62 140 58 C144 56.5 148 54 152 50 Z"/>
<!-- брюхо: БЕЛОЕ, резкая граница контр-шейдинга чуть ниже оси идёт от (152,50) назад и вниз, до стебля -->
<path fill="var(--f2,hsl(205,18%,86%))" d="M152 50.3 C147 51.5 141 52.8 135 53 C125 55.5 110 57 98 57 C88 57 74 56.8 62 54.5 C55 53.3 48 52.3 42 51.4 L42 54 C50 57.5 60 60.5 72 60 C82 61.5 93 63.5 104 64 C115 63.8 128 62 140 58 C146 56.2 150 53.8 152 50.5 Z"/>
<!-- тёмная кромка f4 по спине: тонкая полоса вдоль верхнего контура (не зубцы) -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M152 50 C148 45 144 42.5 140 42 C128 36 116 32.5 104 32 C92 31.5 80 32.5 72 34 C59 37 48 41.5 42 46 C48 43 59 39 72 36.3 C80 34.8 92 33.8 104 34.3 C116 34.8 128 38.3 140 44.3 C144 45.3 148 47.6 152 50 Z"/>
<!-- тёмная кромка f4 по спинному плавнику: тонкий контур ведущей и задней кромок -->
<path fill="none" stroke="var(--f4,hsl(210,34%,16%))" stroke-width="1.4" d="M102 37 C100 24 96 13.5 89 10 C83 17.5 79 27 77 37"/>
<!-- РОТ СНИЗУ: тёмная щель-полумесяц СТАРТУЕТ ПОД РЫЛОМ (149,52.5) и уходит назад к углу (127,60) — НЕ на конце рыла -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M149 52.5 C142 54.8 135 57.2 127 60 C134.5 60.6 142 58.7 149 56.5 Z"/>
<!-- ЗУБЫ: ряд из 6 белых треугольников, compound-path, bases на верхней губе, кончики в тёмной пасти -->
<path fill="#fff" d="M145.7 53 L148.3 53 L146.8 55.7 Z M142.2 54.3 L144.8 54.3 L143.3 57 Z M138.7 55.4 L141.3 55.4 L139.8 58.1 Z M135.2 56.7 L137.8 56.7 L136.3 59.3 Z M131.7 57.8 L134.3 57.8 L132.8 60.4 Z M128.2 58.9 L130.8 58.9 L129.3 61.2 Z"/>
<!-- ПЯТЬ жаберных щелей f4 позади головы (x=128,124,120,116,112, вертикали ~10 при y44..54), compound-path -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M128 44 C129.1 47 129.1 51 128 54 C126.9 51 126.9 47 128 44 Z M124 43.8 C125.1 46.9 125.1 50.9 124 54 C122.9 50.9 122.9 46.9 124 43.8 Z M120 43.6 C121.1 46.8 121.1 50.8 120 54 C118.9 50.8 118.9 46.8 120 43.6 Z M116 43.4 C117.1 46.6 117.1 50.7 116 54 C114.9 50.7 114.9 46.6 116 43.4 Z M112 43.2 C113.1 46.5 113.1 50.6 112 54 C110.9 50.6 110.9 46.5 112 43.2 Z"/>
<!-- грудной плавник: широкий серповидный, корень (123,54.5) скрыт телом, кончик (86,80) — ПОСЛЕ тела -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M123 54.5 C112 58 96 68 86 80 C101 76 117 66 125 58 Z"/>
<!-- глаз мелкий «чёрный»: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(210,34%,16%))" cx="140" cy="45" r="3.4"/>
<circle fill="#e6e1d2" cx="140" cy="45" r="2.5"/>
<circle fill="#142638" cx="140" cy="45" r="1.8"/>
<circle fill="#0d0d0d" cx="140" cy="45" r="1.1"/>
<circle fill="#fff" cx="139.3" cy="44.3" r="0.5"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

+32 -19
View File
@@ -1,21 +1,34 @@
<!-- Гигантский кальмар (squid): головоногий моллюск, НЕ рыба — обтекаемая ракетообразная мантия-торпеда с остриём влево и головой вправо; ГЛАВНЫЕ видовые признаки — пара плавников-«крылышек» у заднего конца мантии и 2 ДЛИННЫХ ловчих щупальца с булавами-присосками (в отличие от 8 равных коротких рук осьминога-«мешка»); короткий веер из 8 рук, сифон-трубка, 2 крупных глаза; фигура симметрична относительно y=50 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M 136 58 C 136 70, 134 80, 130 88 C 129 90, 127 90, 126 89 L 126 87 C 130 80, 132 70, 131 58 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 134 62 C 133 74, 130 86, 124 95 L 122 94 C 127 86, 130 74, 128 62 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 130 64 C 129 76, 122 88, 110 97 L 108 95 C 119 88, 125 76, 124 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 126 64 C 124 78, 112 88, 96 96 L 94 94 C 109 87, 120 77, 120 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 122 62 C 120 76, 108 86, 88 92 C 85 93, 83 92, 82 90 C 88 88, 104 80, 116 62 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 118 60 C 116 72, 102 80, 76 85 L 75 83 C 100 79, 113 71, 112 60 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 114 58 C 111 69, 96 75, 66 78 L 65 76 C 94 74, 108 67, 108 58 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 111 55 C 107 63, 92 67, 58 68 L 58 66 C 90 66, 104 62, 105 55 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 96 30 C 104 18, 116 14, 122 18 C 116 26, 108 32, 100 34 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 96 68 C 104 80, 116 84, 122 80 C 116 72, 108 66, 100 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 26 47 C 52 30, 86 26, 112 26 C 118 26, 120 30, 120 36 L 120 60 C 120 66, 118 70, 112 70 C 86 70, 52 64, 26 47 Z" fill="var(--f1,hsl(300,45%,48%))"/>
<path d="M 30 48 C 56 60, 88 66, 112 65 L 112 69 C 86 70, 52 64, 30 50 Z" fill="var(--f2,hsl(300,30%,70%))"/>
<ellipse cx="126" cy="44" rx="15" ry="17" fill="var(--f1,hsl(300,45%,48%))"/>
<ellipse cx="50" cy="46" rx="4.5" ry="3" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="72" cy="42" rx="5" ry="3.5" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="94" cy="48" rx="4.5" ry="3" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="106" cy="58" rx="3.5" ry="2.5" fill="var(--f4,hsl(300,45%,26%))"/>
<circle cx="130" cy="40" r="8" fill="#fff"/>
<circle cx="132" cy="40" r="4" fill="#142638"/>
<!-- мантия-торпеда: кончик (18,50), спинной подъём (56,36)→(94,40), голова (106,42)…(120,58); низ зеркален -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 18 50 C 28 44 40 38 56 36 C 72 34.5 86 36.5 96 40 C 101 41.5 105 42 108 42 C 115 42 120 45 120 50 C 120 55 115 58 108 58 C 105 58 101 58.5 96 60 C 86 63.5 72 65.5 56 64 C 40 62 28 56 18 50 Z"/>
<!-- светлое брюхо мантии f2 вдоль нижнего контура -->
<path fill="var(--f2,hsl(300,22%,72%))" d="M 108 58 C 105 58 101 58.5 96 60 C 86 63.5 72 65.5 56 64 C 40 62 28 56 18 50 C 26 55.5 38 60.5 54 61.8 C 70 63 86 61.5 96 58.5 C 102 57 105 56.5 108 56.5 Z"/>
<!-- плавники-«крылышки» f3 у заднего конца мантии (верхний и нижний зеркально): (18,50)-(40,34)-(52,44) -->
<path fill="var(--f3,hsl(300,40%,30%))" d="M 18 50 C 26 39.5 34 34.5 40 34 C 46 36.5 50 40.5 52 44 C 43 41.5 29 45.5 18 50 Z M 18 50 C 26 60.5 34 65.5 40 66 C 46 63.5 50 59.5 52 56 C 43 58.5 29 54.5 18 50 Z"/>
<!-- тёмная кромка f4 по верху мантии -->
<path fill="none" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="1.6" stroke-linecap="round" d="M 108 42 C 105 42 101 41.5 96 40 C 86 36.5 72 34.5 56 36 C 40 38 28 44 18 50"/>
<!-- тёмная граница f4 между мантией и головой -->
<path fill="none" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="1.2" d="M 105 43.5 C 108.5 46 108.5 54 105 56.5"/>
<!-- сифон f4: короткая трубка от (104,56) влево-вниз -->
<path fill="var(--f4,hsl(300,42%,18%))" d="M 107 54.5 C 101 56 96.5 59.5 94 63.5 L 98.5 65.5 C 100.5 61.5 103.5 58.5 108 56.5 Z"/>
<!-- 8 коротких рук f1: веер от (119.5,42..58) вправо, кончики подкручены (4 вверх + 4 зеркальные вниз), compound-path -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 119.5 42.5 C 127 38.5 136 34 144 29 C 148 26.6 151.5 25.2 152.5 23.6 C 153.5 21.9 151.2 21.7 148.4 23.5 C 140.5 28.5 129.5 34 122 38.8 C 120.5 40.6 119 43.5 119.5 45.5 Z M 119.5 44 C 128 41.5 139 39.2 147.5 37.4 C 151.5 36.5 154 35.8 154.4 34.4 C 154.8 33 152.2 33.2 149.4 34 C 140 37 129.5 39.8 122.5 41.8 C 120.5 42.8 119.2 45.5 119.5 47 Z M 119.5 45.5 C 128 45 138 44.4 146.5 43.6 C 150 43.2 152 42.8 152.3 41.8 C 152.6 40.8 150.2 40.9 147.6 41.3 C 139.5 42.7 130 44 122.5 44.7 C 120.8 45 119.2 46.5 119.5 48.5 Z M 119.5 46.5 C 126 47 134 47.2 140.5 47.1 C 143.8 47 146 46.7 146.4 45.9 C 146.8 45.1 144.6 45.1 142.4 45.5 C 136 46.6 128.5 47.4 122.5 47.9 C 120.8 48.1 119.2 48.2 119.5 49.5 Z M 119.5 57.5 C 127 61.5 136 66 144 71 C 148 73.4 151.5 74.8 152.5 76.4 C 153.5 78.1 151.2 78.3 148.4 76.5 C 140.5 71.5 129.5 66 122 61.2 C 120.5 59.4 119 56.5 119.5 54.5 Z M 119.5 56 C 128 58.5 139 60.8 147.5 62.6 C 151.5 63.5 154 64.2 154.4 65.6 C 154.8 67 152.2 66.8 149.4 66 C 140 63 129.5 60.2 122.5 58.2 C 120.5 57.2 119.2 54.5 119.5 53 Z M 119.5 54.5 C 128 55 138 55.6 146.5 56.4 C 150 56.8 152 57.2 152.3 58.2 C 152.6 59.2 150.2 59.1 147.6 58.7 C 139.5 57.3 130 56 122.5 55.3 C 120.8 55 119.2 53.5 119.5 51.5 Z M 119.5 53.5 C 126 53 134 52.8 140.5 52.9 C 143.8 53 146 53.3 146.4 54.1 C 146.8 54.9 144.6 54.9 142.4 54.5 C 136 53.4 128.5 52.6 122.5 52.1 C 120.8 51.9 119.2 51.8 119.5 50.5 Z"/>
<!-- 2 ДЛИННЫХ ловчих щупальца f1: от (120,48)/(120,52) с изгибом к (156,20)/(156,80), на концах «булавы» с присосками -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 120 47 C 130 45 140 39 147 32 C 150 29 152 25.5 153.5 22.5 C 154.5 24.5 153.5 27 151 30 C 144 38 133 45 121 50 Z M 120 53 C 130 55 140 61 147 68 C 150 71 152 74.5 153.5 77.5 C 154.5 75.5 153.5 73 151 70 C 144 62 133 55 121 50 Z M 150 25 C 151.5 20.5 155 17.5 157 19 C 158.5 20.2 157.5 24 154.5 26.5 C 152.5 28 150.5 27.5 150 25 Z M 150 75 C 151.5 79.5 155 82.5 157 81 C 158.5 79.8 157.5 76 154.5 73.5 C 152.5 72 150.5 72.5 150 75 Z"/>
<!-- низ ловчих щупалец f3 (перекрашиваемый) — тонкая полоса по внутренней кромке -->
<path fill="var(--f3,hsl(300,40%,30%))" d="M 121 50 C 133 45 144 38 151 30 C 150 32 148 34 145 36 C 138 41 129 46 122 49 Z M 121 50 C 133 55 144 62 151 70 C 150 68 148 66 145 64 C 138 59 129 54 122 51 Z"/>
<!-- присоски f2 с тёмным римом f4: по 2 ряда на руках и на булавах (compound-path) -->
<path fill="var(--f2,hsl(300,22%,72%))" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="0.5" d="M 128.98 38.78 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 127.82 36.92 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.23 33.63 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.07 31.77 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 129.3 43.22 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.64 41.12 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 138.01 40.44 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.35 38.34 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.51 46.53 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.17 44.35 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.71 45.23 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.37 43.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.66 48.47 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.48 46.27 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.39 47.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.21 45.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.98 61.22 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 127.82 63.08 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.23 66.37 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.07 68.23 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 129.3 56.78 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.64 58.88 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 138.01 59.56 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.35 61.66 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.51 53.47 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.17 55.65 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.71 54.77 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.37 56.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.66 51.53 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.48 53.73 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.39 52.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.21 54.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 151.57 24.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.42 23.1 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 155.27 21.45 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 150.23 23.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 152.08 21.6 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.93 19.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 151.57 75.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.42 76.9 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 155.27 78.55 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 150.23 76.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 152.08 78.4 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.93 80.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0"/>
<!-- глаза (110,40)/(110,60): 5 слоёв — тёмный ободок f4 → склера → золотая радужка → зрачок → блик -->
<circle cx="110" cy="40" r="6.2" fill="var(--f4,hsl(300,42%,18%))"/>
<circle cx="110" cy="40" r="5.2" fill="#f4f1e6"/>
<circle cx="110" cy="40" r="3.6" fill="#d9b23a"/>
<circle cx="110" cy="40" r="2.4" fill="#142638"/>
<circle cx="110.8" cy="38.9" r="0.9" fill="#fff"/>
<circle cx="110" cy="60" r="6.2" fill="var(--f4,hsl(300,42%,18%))"/>
<circle cx="110" cy="60" r="5.2" fill="#f4f1e6"/>
<circle cx="110" cy="60" r="3.6" fill="#d9b23a"/>
<circle cx="110" cy="60" r="2.4" fill="#142638"/>
<circle cx="110.8" cy="61.1" r="0.9" fill="#fff"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

+40 -25
View File
@@ -1,27 +1,42 @@
<!-- Осётр (sturge): удлинённое тело ~3:1, остроконическое рыло, кырьиши вдоль спинки, разнорострый хвост (верхняя лопасть длиннее) -->
<!-- Осётр (sturge): веретенообразное тело ~3.8:1 (глубина/длина ≈0.26), острое коническое рыло, компактный НИЖНИЙ рот-трубка под рылом (верх утоплен в тело, не «башмак»), 4 тонких усика-бахрома — свисают вниз почти параллельно (не «лапки»), пять рядов жучек (спинной ряд 8 мягких бугорков, боковой 5 ромбиков, брюшной 4 косых штриха — главный знак вида, только f4), гетероцеркальный хвост (верхняя лопасть длинная заострённая, нижняя короткая округлая), D и A сдвинуты к хвосту, мелкий глаз; умеренно-тёмная свинцово-серая палитра, контраст держат жучки/рот/усики f4 -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: разнорострый, верхняя лопасть заметно длиннее нижней -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M26,42 C18,34 10,29 5,25 C9,34 14,41 18,45 L18,55 C15,57 13,58.5 11,60 C14,58.5 18,56 22,54 Z"/>
<!-- спинной плавник: маленький, смещён к хвосту -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M36,41 C40,30 49,27 56,31 C51,36 45,39 38,41 Z"/>
<!-- анальный плавник: маленький, сзади -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M40,63 L36,70 L46,64 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M102,50 C96,57 96,65 103,71 C109,65 111,57 109,50 Z"/>
<!-- тело: удлинённое, заострённое коническое рыло -->
<path fill="var(--f1,hsl(200,45%,48%))" d="M154,47 C144,40 130,35.5 112,34 C96,33 80,33.5 64,35 C48,36.5 34,39 26,42 L24,44 L24,56 L26,58 C34,61 48,64 64,66 C80,67.5 96,68 112,66 C130,63.5 144,55 154,47 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(200,30%,70%))" d="M154,47 C144,55 130,63.5 112,66 C96,68 80,67.5 64,66 C48,64 34,61 26,58 L24,56 L24,51 C34,54.5 52,57 76,58 C100,59 132,55 154,47 Z"/>
<!-- кырьиши: ряд костных бугорков вдоль спинки -->
<path fill="var(--f4,hsl(200,45%,26%))" d="M35.5,39.7 L40,33.6 L44.5,38.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M47.5,37.2 L52,32.4 L56.5,36.3 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M59.5,35.9 L64,31.4 L68.5,35.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M71.5,34.8 L76,30.4 L80.5,34.4 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M83.5,34.3 L88,29.8 L92.5,34.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M95.5,34.1 L100,30.2 L104.5,34.4 Z"/>
<!-- пасть: тёмная щель на острие рыла -->
<path fill="var(--f4,hsl(200,45%,26%))" d="M154,47 L152.2,50.2 L137,48.4 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="131" cy="42" r="3.4"/>
<circle fill="#142638" cx="131.6" cy="42" r="1.7"/>
<!-- хвост: гетероцеркальный — верхняя лопасть длинная заострённая к (8,20), нижняя короткая округлая к (14,63) -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M36 43 L8 20 C13 33 15 45 13 54 C19 57 27 57 36 56 Z M36 55.5 C27 56.5 18 58.5 14 62.5 C19 64.5 28 62.5 36 59.5 Z"/>
<!-- спинной плавник (D): маленький, сдвинут к хвосту, основание утоплено в тело (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M46 46 C49 36 55 30.5 61 30 C62.5 35 63 40 63 46 Z"/>
<!-- анальный плавник (A): маленький, сдвинут к хвосту, растёт широким основанием из брюха -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M46 57.5 C48 65 53 70 58 70 C59.5 66 59.5 61 58.5 57.5 Z"/>
<!-- брюшные плавники: пара мягких округлых лопастей назад-вниз -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M88 60 C84 67 80 70 81 72 C85 70 88 66 90 61 Z"/>
<path fill="var(--f3,hsl(200,20%,30%))" d="M80 60 C76 67 72 70 73 72 C77 70 80 66 82 61 Z"/>
<!-- усики: 4 тонких СУЖАЮЩИХСЯ к концу волокна-бахрома, начало спрятано под ртом, свисают вниз ПОЧТИ ВЕРТИКАЛЬНО (лёгкий наклон назад), разной длины — бахрома, не «пальцы» -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M144.71 53 C144.81 55.78 144.66 55.78 144.37 58.56 C144.76 55.78 145.29 55.78 145.39 53 Z M145.51 53.15 C145.61 56.15 145.67 56.15 145.59 59.14 C145.77 56.15 146.09 56.15 146.19 53.15 Z M146.26 53.15 C146.36 56.1 146.68 56.1 146.86 59.04 C146.78 56.1 146.84 56.1 146.94 53.15 Z M147.01 53 C147.11 55.68 147.63 55.68 148.01 58.36 C147.73 55.68 147.59 55.68 147.69 53 Z"/>
<!-- рот: рисуется ДО тела — верх уходит под контур рыла (нахлёст ≥2, шва нет); видна лишь компактная СКРУГЛЁННАЯ снизу нижняя присоска (ширина ≈6.2, видимая высота ≈4.5), нижний край y≈53.4 — трубка вдвое меньше прежней, не «башмак» -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M143.4 45 C143 47.8 143.2 50.8 144 52.2 C144.6 53.1 145.4 53.4 146.5 53.4 C147.6 53.4 148.4 53.1 149 52.2 C149.8 50.8 150 47.8 149.6 45 Z"/>
<!-- ротовое отверстие: маленькая тёмная щель по центру нижнего торца трубки -->
<path fill="#0d1417" d="M145.8 52.6 C146.3 53.05 146.9 53.05 147.4 52.65 C146.9 52.25 146.3 52.25 145.8 52.6 Z"/>
<!-- тело: веретеновидное (глубина/длина ≈0.26), спина горбатая (110,35), брюхо низкое (90,65), коническое рыло с чуть притуплённым кончиком (154,46.5..48.5), плавное сужение к тонкому стеблю (~11 ед.) в зоне x32..44 (без обрубка) -->
<path fill="var(--f1,hsl(200,18%,40%))" d="M154 47 C149 40.5 140 36.5 128 36 C118 35 108 34.8 100 35 C80 35.5 55 38.5 36 44 Q31.5 45.8 31.5 49.75 Q31.5 53.7 36 55.5 C55 61.5 80 64.5 100 65 C112 64 122 59 130 52 C139 50 149 48.8 154 47 Z"/>
<!-- брюхо: светлая полоса вдоль подводной кромки -->
<path fill="var(--f2,hsl(200,15%,72%))" d="M36 55.5 C55 61.5 80 64.5 100 65 C112 64 122 59 130 52 C124 53.5 110 57.5 100 58.5 C78 57 52 54 34.5 52 Z"/>
<!-- жаберная пластина: мягкая светлая заливка за глазом -->
<path fill="var(--f2,hsl(200,15%,72%))" opacity="0.35" d="M122 39 C127 45 128 53 122 59 C118 53 117 45 117 40 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы -->
<path fill="none" stroke="var(--f4,hsl(200,20%,18%))" stroke-width="1.5" d="M122 39 C127 45 128 53 122 59"/>
<!-- ЖУЧКИ, спинной ряд: 8 мягких бугорков вдоль спины от x53.8 до x126.2 (основание утоплено в тело, высота 2.55–2.95), куполообразные и наклонены назад (вершина сдвинута к хвосту на ≈0.45) — бугорки на коже, а не пила -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M53.8 40.86 C56.19 37.46 59.01 37.46 60.2 40.86 Z M63.3 39.38 C65.69 35.65 68.51 35.65 69.7 39.38 Z M72.8 38.22 C75.19 34.35 78.01 34.35 79.2 38.22 Z M82.3 37.34 C84.69 33.67 87.51 33.67 88.7 37.34 Z M91.8 36.77 C94.19 32.84 97.01 32.84 98.2 36.77 Z M101.3 36.53 C103.69 32.73 106.51 32.73 107.7 36.53 Z M110.8 36.67 C113.19 33.07 116.01 33.07 117.2 36.67 Z M119.8 37.16 C122.19 33.69 125.01 33.69 126.2 37.16 Z"/>
<!-- ЖУЧКИ, боковой ряд: 5 ромбиков 5×7 по боковой линии -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M52 45.5 L54.5 49 L52 52.5 L49.5 49 Z M68 45 L70.5 48.5 L68 52 L65.5 48.5 Z M84 45 L86.5 48.5 L84 52 L81.5 48.5 Z M100 45 L102.5 48.5 L100 52 L97.5 48.5 Z M116 45 L118.5 48.5 L116 52 L113.5 48.5 Z"/>
<!-- ЖУЧКИ, брюшной ряд: 4 косых штриха под брюхом -->
<path fill="none" stroke="var(--f4,hsl(200,20%,18%))" stroke-width="1.2" d="M62 60 L58 64 M78 62 L74 66 M94 63.5 L90 67 M110 63.5 L106 67"/>
<!-- блики: 5 коротких светлых серпов по верху тела -->
<path fill="var(--f2,hsl(200,15%,72%))" opacity="0.35" d="M64 41 Q59 45 64 49 Q62 45 64 41 Z M80 39 Q75 43 80 47 Q78 43 80 39 Z M96 38 Q91 42 96 46 Q94 42 96 38 Z M112 39 Q107 43 112 47 Q110 43 112 39 Z M120 42 Q115 46 120 50 Q118 46 120 42 Z"/>
<!-- грудной плавник: уменьшен (≈⅔ прежнего), сидит на боку под жаберной дугой, направлен назад-вниз -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M127 50.5 C122 52.5 117.5 56.5 117 60.5 C116.8 64.5 120 63 123 59.5 C126 56 128.8 52.5 129.5 51.5 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(200,20%,18%))" cx="130" cy="41" r="3.5"/>
<circle fill="#f4f1e6" cx="130" cy="41" r="2.7"/>
<circle fill="#6f7566" cx="130" cy="41" r="1.9"/>
<circle fill="#142638" cx="130" cy="41" r="1.3"/>
<circle fill="#fff" cx="129" cy="40" r="0.5"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

+37 -24
View File
@@ -1,26 +1,39 @@
<!-- Рыба-меч (swordfish): удлинённое тело ~3:1, длинный заострённый «меч» спереди, высокий спинной плавник, хвост-полумесяц -->
<!-- Рыба-меч (swordfish): ГЛАВНЫЙ знак — длинный тонкий меч (~35 ед., ~22% ширины кадра, основание у головы x=124, остриё 159,50) и ВЫСОКИЙ серповидный «парус» D1 (вершина 80,12) с вогнутой задней кромкой; хвост-полумесяц из двух тонких лопастей (8,19)/(8,81) с выемкой (26,50), кили f4 на стебле; БРЮШНЫХ ПЛАВНИКОВ НЕТ (видовая черта, разводит с тунцом); гладкий двухцветный бок (тёмный верх / серебро), БЕЗ полос, штрихов и пятен; рот — широкая щель без зубов; маленькие D2 и анальный сдвинуты к хвосту, один узкий грудной; фикс-акцент — серо-стальная радужка глаза -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост-полумесяц: верхняя серповидная лопасть -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M43,47.5 C37,41 29,32 17,25 C20,35 24,43 30,49.5 C34,49.8 38.5,48.8 43,47.5 Z"/>
<!-- хвост-полумесяц: нижняя серповидная лопасть -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M43,52.5 C37,59 29,68 17,75 C20,65 24,57 30,50.5 C34,50.2 38.5,51.2 43,52.5 Z"/>
<!-- спинной плавник: большой, высокий -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M64,39.5 C70,30 80,25.5 92,27.5 C86,32 82,35.5 80,38.5 C75,39 69,39.3 64,39.5 Z"/>
<!-- тело: удлинённое ~3:1, голова справа -->
<path fill="var(--f1,hsl(250,45%,48%))" d="M112,43 C98,37 78,36 60,40 C50,42.5 44,46 41,50 C44,54 50,57.5 60,60 C78,64 98,63 112,57 C115,53.5 115,46.5 112,43 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(250,30%,70%))" d="M43,48.5 C47,52 53,54.5 61,56 C78,59 97,58 110.5,53 L112,57 C98,63 78,64 60,60 C50,57.5 44,54 41,50 C41.6,49.6 42.3,49 43,48.5 Z"/>
<!-- анальный плавник: маленький, сзади -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M58,59.3 C62,63.5 68,66 75,65.8 C70.5,62.5 66.5,60.3 63,59.2 Z"/>
<!-- брюшной плавник: маленький, у головы -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M90,58.2 C93,62 97,64.3 103,64.3 C99,61 95.5,59 93,58.1 Z"/>
<!-- грудной плавник: у головы, под жаберной крышкой -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M99,51.5 C103,54.5 107.5,56.5 112.5,57 C108.5,53.5 104.5,51.5 101.5,50.3 Z"/>
<!-- меч: длинный заострённый клинок спереди, ~30% ширины рыбы -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M144,50 L106,44 L106,53 Z"/>
<!-- жаберная крышка: тонкий полумесяц-узор -->
<path fill="var(--f4,hsl(250,45%,26%))" d="M95,42.5 C98.5,46 98.5,54 95,57.5 C97.3,53.5 97.3,46.5 95,42.5 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="104" cy="47" r="3.8"/>
<circle fill="#142638" cx="105" cy="47" r="1.9"/>
<!-- хвост: полумесяц — верхняя тонкая лопасть, корень утоплен в стебель (нахлёст ≥4), кончик (8,19) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M43 45.8 C34 38.5 21 28 8 19 C12 30 19 41 26 49.5 C31 48.6 37 47.9 43 47.3 Z"/>
<!-- хвост: полумесяц — нижняя тонкая лопасть, кончик (8,81), выемка у (26,50) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M43 54.2 C34 61.5 21 72 8 81 C12 70 19 59 26 50.5 C31 51.4 37 52.1 43 52.7 Z"/>
<!-- D1 «парус»: ВЫСОКИЙ серповидный, основание x62..90 утоплено в спину (нахлёст ≥4), ведущая кромка к вершине (80,12), задняя ВОГНУТАЯ к (58,33) — главный силуэтный знак -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M90 43 C88 32.5 85 20 80 12 C73 21 64 29 58 33 C59.5 36.5 60.5 40 62 43 C71 44 81 44 90 43 Z"/>
<!-- D2: маленький задний спинной, сдвинут к хвосту, вершина (51,36.5), основание в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M46 47 C47.5 42 49.5 38.2 51 36.5 C53 38.8 55 42 56.5 45.5 Z"/>
<!-- анальный: маленький, сдвинут к хвосту, низ (53,66.5), основание утоплено в брюхо (нахлёст ≥4, верхняя кромка идёт ВЫШЕ линии брюха) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M46 55.2 C48.6 60.2 51.2 63.9 53.3 66.5 C55.7 63.6 57.8 60.1 59 57.4 Z"/>
<!-- МЕЧ: длинный тонкий клинок f1, основание (122,47.2..52.8) → остриё (159,50), длина ~35 ед.; нарисован ДО тела, чтобы корень скрылся под головой -->
<path fill="var(--f1,hsl(250,28%,52%))" d="M122 47.2 C141 47.5 153 48.9 159 50 C153 51.1 141 52.5 122 52.8 Z"/>
<!-- меч, f4-кромка сверху: тонкая тёмная полоса по верхней грани клинка -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M122 47.2 C141 47.5 153 48.9 159 50 C153 48.9 141 48.1 122 48.4 Z"/>
<!-- тело: удлинённое ~3:1, рыло/перед головы (124,47..52), затылок (106,40.5), спина (80,37), низ брюха (82,63), стебель x38 (45.5/54.5) -->
<path fill="var(--f1,hsl(250,28%,52%))" d="M38 45.5 C52 40 66 37.5 80 37 C92 37 100 38.2 106 40.5 C110.5 40.9 114 40.7 117 42.2 C120 43.8 122.4 45.8 124 48 L124 52 C121 54.5 114 57 106 59 C96 61.5 88 63 82 63 C66 62.5 50 58 38 54.5 Z"/>
<!-- брюхо: светлое серебро вдоль подводной кромки (гладкое, без узора) -->
<path fill="var(--f2,hsl(240,18%,82%))" d="M38 54.5 C50 58 66 62.5 82 63 C88 63 96 61.5 106 59 C114 57 121 54.5 124 52 L124 50.5 C120 52.8 112 55.5 104 57 C94 58.8 84 59.6 74 59.3 C60 58.8 48 55.8 38 52 Z"/>
<!-- спинная кромка: тонкая тёмная f4-полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M38 45.5 C52 40 66 37.5 80 37 C92 37 100 38.2 106 40.5 C110.5 40.9 114 40.7 117 42.2 C120 43.8 122.4 45.8 124 48 L124 49.2 C122.4 47.2 120 45.2 117 43.6 C114 42.1 110.5 42.2 106 42 C100 39.6 92 38.4 80 38.4 C66 39.3 52 42 38 47.2 Z"/>
<!-- кили f4 на стебле (x38..44): тонкие тёмные гребни по верху и низу хвостового стебля, compound-path -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M38 45.5 C40 44.7 42 43.7 44 43.4 L44 45.2 C42 45.3 40 46.2 38 47.2 Z M38 54.5 C40 55.4 42 56.2 44 56.3 L44 54.6 C42 54.5 40 53.6 38 52.7 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (объём), отодвинута от ободка глаза на ≥4 -->
<path fill="var(--f2,hsl(240,18%,82%))" opacity="0.3" d="M103 41 C99 44.8 99.8 49 105.5 52.5 C107.8 48.6 106.7 44 106.1 41.2 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у затылка (зазор от ободка глаза ≥4) -->
<path fill="none" stroke="var(--f4,hsl(248,34%,22%))" stroke-width="1.5" d="M103 41 C99 44.8 99.8 49 105.5 52.5"/>
<!-- рот: ШИРОКАЯ ЩЕЛЬ БЕЗ ЗУБОВ (124,50.5)→(112,53.5) вдоль нижней челюсти; верхний правый угол доведён до основания меча (x=124), чтобы не просвечивало брюхо f2 -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M124 50.5 C119.6 51.2 115 52.5 112.2 53.5 C115 54.3 119 54.4 124 54.2 Z"/>
<!-- грудной плавник: узкая серповидная лопасть на боку, корень (101,53) → кончик (89,63) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M101.5 53.2 C99.5 57.6 95 61.6 89 63.2 C92.6 58.6 97.2 54.4 100.6 51.6 Z"/>
<!-- глаз: ободок → склера → серая радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(248,34%,22%))" cx="116" cy="43.5" r="5.2"/>
<circle fill="#f7f3e6" cx="116" cy="43.5" r="4.2"/>
<circle fill="#7d8f9c" cx="116" cy="43.5" r="3.2"/>
<circle fill="#142638" cx="116" cy="43.5" r="2.2"/>
<circle fill="#fff" cx="114.9" cy="42.4" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

+49 -13
View File
@@ -1,15 +1,51 @@
<!-- Линь (tench): плотное «налитое» округлое тело (глубина/длина ≈0.43), ТУПОЕ рыло и маленький конечный рот; закруглённые выпуклые спинной и анальный плавники, почти ровный хвост со слабой выемкой, толстый стебель (12 ед.); ГЛАВНЫЙ знак отличия от карася — ОЧЕНЬ МАЛЕНЬКИЙ красный глаз низко у рыла (у карася глаз крупный, а у основания хвоста — тёмное пятно); очень мелкая чешуя и толстый слой слизи — чешуйную сетку НЕ рисуем, вместо неё широкие f2-блики слизи и слабая f4-мраморность; тёмного пятна у хвоста НЕТ; тёмно-оливковая палитра с бронзой -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<path d="M46 50 C34 37 24 31 17 26 C20 37 22 44 27 50 C22 56 20 63 17 74 C24 69 34 63 46 50 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M54 31 C56 12 86 5 103 14 C106 16 107 21 105 28 C90 24 68 26 54 31 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M140 50 C128 32 105 23 78 23 C58 23 44 30 38 42 C36 46 36 54 38 58 C44 70 58 77 78 77 C105 77 128 68 140 50 Z" fill="var(--f1,hsl(95,45%,48%))"/>
<path d="M38 58 C44 70 58 77 78 77 C105 77 128 68 140 50 C133 57 123 62 112 65 C94 70 68 70 52 64 C46 61 41 59 38 58 Z" fill="var(--f2,hsl(95,30%,70%))"/>
<path d="M103 55 C111 51 120 54 122 62 C115 65 106 63 102 58 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M58 75 C62 88 76 93 88 89 C87 84 86 80 85 76 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<circle cx="122" cy="55" r="4" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="104" cy="55" r="5.5" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="85" cy="56" r="6" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="65" cy="55" r="6" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="48" cy="52" r="5" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="119" cy="44" r="6.5" fill="#fff"/>
<circle cx="120.5" cy="44" r="3" fill="#142638"/>
<!-- хвост: почти ровный, слабая выемка, закруглённые лопасти (база утоплена в толстый стебель, нахлёст ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M48 44 L14 36 C20 42 23 46 25 50 C23 54 20 58 14 64 L48 56 Z"/>
<!-- спинной плавник: ЗАКРУГЛЁННЫЙ и выпуклый (вершина 79,19, задний конец скруглён), основание глубоко утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M58 42 C61 28 69 19 79 19 C89 19 97 26 101 40 Z"/>
<!-- лучи спинного плавника: 3 тонких бледных штриха веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M67 39 L71 29"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M77 38 L79 21"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M87 39 L89 29"/>
<!-- анальный плавник: ЗАКРУГЛЁННЫЙ и выпуклый (низ 86), широким основанием растёт из брюха, не висит каплей -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M56 57 C62 58 72 60 80 64 C86 71 84 86 73 86 C62 86 56 76 56 57 Z"/>
<!-- лучи анального плавника: 3 тонких бледных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M64 62 C65 70 66 76 67 81"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M71 64 C72 72 73 78 74 83"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M78 66 C79 73 79 79 79 83"/>
<!-- брюшные плавники: пара мягких округлых лопастей, направлены назад-вниз (нахлёст в брюхо ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M88 66 C85 76 88 85 93 85 C97 84 99 76 99 68 Z"/>
<path fill="var(--f3,hsl(92,30%,26%))" d="M99 68 C97 77 99 85 104 85 C108 84 110 77 110 69 Z"/>
<!-- тело: плотное «налитое», округлое (глубина/длина ≈0.43), спина (96,30), брюхо (96,74), тупое рыло (151,50), стебель 12 ед. -->
<path fill="var(--f1,hsl(90,26%,36%))" d="M151 50 C150 42 144 36 134 33 C124 30 110 28.5 96 30 C74 33 54 40 44 44 L44 56 C54 61 74 68 96 74 C114 74 136 67 144 60 C148 56 151 53 151 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(88,22%,64%))" d="M44 56 C54 61 74 68 96 74 C114 74 136 67 144 60 C138 66 122 71 104 72 C80 72 56 65 44 56 Z"/>
<!-- слизь: широкий f2-блик по спине (мелкая чешуя даёт сплошной глянец, а не сетку) -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.3" d="M52 49 C68 42 92 37 120 39 C102 41 78 45 52 54 Z"/>
<!-- слизь: широкий f2-блик по средней части бока -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.28" d="M58 57 C76 51 100 48 124 50 C106 52 82 56 58 63 Z"/>
<!-- слизь: узкий блик на плече у стебля -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.26" d="M48 44 C56 42 66 41 76 41 C66 43 56 45 48 48 Z"/>
<!-- мраморность: единый compound-path из 4 бледных f4-клякс (замена чешуйной сетке) -->
<path fill="var(--f4,hsl(95,30%,16%))" opacity="0.13" d="M62 42 C68 39 74 42 72 46 C70 50 62 49 59 46 C57 43 58 42 62 42 Z M86 38 C92 36 97 39 95 43 C93 47 85 46 83 43 C81.5 40.5 82.5 38.5 86 38 Z M106 43 C111 41 116 44 114 48 C112 51 106 50 104 47 C103 44.5 103.5 43.5 106 43 Z M72 55 C77 53 82 56 80 59 C78 62 71 61 69 58 C68 56 68.5 55 72 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(95,30%,16%))" d="M151 50 C150 42 144 36 134 33 C124 30 110 28.5 96 30 C74 33 54 40 44 44 C54 38 74 32.5 96 33.5 C110 31.5 124 35 134 38 C143 41 148 46 151 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём тупой головы) -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.3" d="M118 39 C124 46 125 55 120 62 C115 55 114 46 114.5 40 Z"/>
<!-- жаберная дуга: тёмный серп у головы (отодвинут от маленького глаза) -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" d="M118 39 C124 46 125 55 120 62"/>
<!-- рот: КОНЕЧНЫЙ и маленький, крошечная тёмная щель на самом рыле (усов-щупалец нет) -->
<path fill="var(--f4,hsl(95,30%,16%))" d="M151 49.4 C149.8 49.7 148.6 50.2 147.8 50.9 C148.9 51.7 150.2 51.5 151 50.6 Z"/>
<!-- микро-усики: 2 f4-штриха у углов рта, очень короткие (~3 ед.) — иначе прочтутся усами карпа/сома -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" stroke-linecap="round" d="M149 53 L146.6 54.8"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" stroke-linecap="round" d="M149 55 L146.9 57.1"/>
<!-- грудной плавник: мягкая округлая лопасть на боку, ПОСЛЕ тела, направлена назад-вниз -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M120 54 C114 55 109 61 111 68 C114 72 119 65 121 58 Z"/>
<!-- глаз ПОСЛЕДНИМ и НАМЕРЕННО МАЛЕНЬКИЙ, низко у рыла (антипод карася): ободок f4 → склера → красная радужка #c0392b → зрачок → блик -->
<circle fill="var(--f4,hsl(95,30%,16%))" cx="133" cy="45" r="3.8"/>
<circle fill="#f7f3e6" cx="133" cy="45" r="2.9"/>
<circle fill="#c0392b" cx="133" cy="45" r="2.2"/>
<circle fill="#142638" cx="133" cy="45" r="1.5"/>
<circle fill="#fff" cx="132.2" cy="44.2" r="0.6"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

+43 -29
View File
@@ -1,31 +1,45 @@
<!-- Тунец (tuna): торпедообразное обтекаемое тело ~3:1, хвост-полумесяц (две серповидные лопасти), маленький спинной плавник + ряд жировых плавничков позади, тёмная спина / светлое брюхо -->
<!-- Тунец (tuna): плотное обтекаемое торпедо ~3.1:1 (глубже сельди и скумбрии); ГЛАВНЫЙ знак — хвост-полумесяц из двух ТОНКИХ серповидных лопастей (НЕ вилка); два маленьких спинных плавника D1 (выше) и D2 (ниже) + 7 финлетов сверху и 6 снизу; длинный заострённый грудной (второй знак); резкая двухцветность — тёмная спина / серебро; тонкие тёмные штрихи-чёрточки в нижней половине бока (НЕ полосы); 2 киля на стебле; глаз с янтарной радужкой -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: полумесяц — верхняя серповидная лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 46 C28 38 17 31 10 27 C13 38 19 45 29 50 L37 46 Z"/>
<!-- хвост: полумесяц — нижняя серповидная лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 54 C28 62 17 69 10 73 C13 62 19 55 29 50 L37 54 Z"/>
<!-- спинной плавник: маленький, впереди -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M101 34.5 L93 18 L115 34.2 Z"/>
<!-- жировые плавнички позади спинного: 3 маленьких треугольника, к хвосту мельчают -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M91 34.3 L85 24 L79 34.6 Z"/>
<path fill="var(--f3,hsl(210,50%,32%))" d="M77 34.8 L72 26.5 L66 35 Z"/>
<path fill="var(--f3,hsl(210,50%,32%))" d="M64 35.6 L60 29 L55 35.9 Z"/>
<!-- анальный плавник: смещён к хвосту -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M43 58.5 L38 66 L51 62 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M107 62.5 L104 69 L113 64.5 Z"/>
<!-- тело: торпеда, сужается к хвостовому стеблю -->
<path fill="var(--f1,hsl(210,45%,48%))" d="M151 50 C139 40 111 33 81 33 C61 33 47 38 36 45.5 L36 54.5 C47 62 61 67 81 67 C111 67 139 60 151 50 Z"/>
<!-- брюхо: светлое, контраст тёмная спина / светлое брюхо -->
<path fill="var(--f2,hsl(210,30%,70%))" d="M151 50 C139 60 111 67 81 67 C61 67 47 62 36 54.5 C47 58.5 61 60 81 60 C111 60 139 55.5 151 50 Z"/>
<!-- узор: тонкие тёмные линии по нижней половине бока (черта тунца) -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M57 54.6 L73 54.6 L73 55.9 L57 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M79 54.6 L95 54.6 L95 55.9 L79 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M101 54.6 L117 54.6 L117 55.9 L101 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M123 54.6 L133 54.6 L133 55.9 L123 55.9 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M143.5 50.4 C146.5 50.7 148.5 51.7 150 53.1 C148 54.4 145.5 54 144 52.8 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="135" cy="45" r="4"/>
<circle fill="#142638" cx="135.8" cy="45" r="2.1"/>
<!-- хвост-полумесяц: верхняя ТОНКАЯ серповидная лопасть, корень (52,46) → кончик (9,21), выемка (34,50) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 46 C36 35 21 26 9 21 C15 33 26 43.5 34 50 Z"/>
<!-- хвост-полумесяц: нижняя ТОНКАЯ серповидная лопасть, зеркало верхней (кончик 9,79) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 54 C36 65 21 74 9 79 C15 67 26 56.5 34 50 Z"/>
<!-- ЗАЛИВКА основания хвоста: закрывает карман между лопастями и стеблем (иначе внутренняя прозрачная «дыра»; силуэт не меняется) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 46 L34 50 L52 54 Z"/>
<!-- D1: маленький передний спинной, осн. x108..122, вершина (115,23.5) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M108 38 L115 23.5 L122 40 Z"/>
<!-- D2: второй маленький спинной позади D1, осн. x90..104, вершина (97,29) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M90 37.5 L97 29 L104 38 Z"/>
<!-- 7 финлетов сверху: мелкие треугольники позади D2, к хвосту мельчают, основания утоплены в тело (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M87 37.6 L83 27 L79 37.8 Z M81 37.7 L77 28.5 L73 38.3 Z M75 38.2 L71 30.5 L67 39 Z M69 39 L65 32.5 L61 40.5 Z M63 40.4 L59 35 L55 42.5 Z M57 42.3 L53.5 38 L50 44.5 Z M51 44.5 L48.5 40.5 L46 46.5 Z"/>
<!-- 6 финлетов снизу: под анальным, вдоль брюха, к хвосту мельчают, основания утоплены (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M88 62.8 L84 73 L80 62.8 Z M82 62.6 L78 72 L74 62 Z M76 61.5 L72 70.5 L68 60.3 Z M70 59.5 L66 68 L62 58.2 Z M64 57 L60 65 L56 55.5 Z M58 54 L54 61.5 L50 52.5 Z"/>
<!-- A1: анальный плавник, осн. x90..104, низ (97,74) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M90 62 L97 74 L104 62.5 Z"/>
<!-- брюшные плавники: пара, осн. x108..118, кончики y72..74 (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M108 61.5 C107 67 108 71 110 72.8 C111.5 69.5 111 65 110.5 61.5 Z M116 61 C115.2 66 116 70 118.2 72.5 C119 69 118.8 65 118.3 60.8 Z"/>
<!-- тело: плотное обтекаемое торпедо (глубина 34.5, D/L≈3.1), рыло (151.5,49), затылок (135,40), спина (98,33), низ брюха (98,67), стебель x46 (45.5/54.5) -->
<path fill="var(--f1,hsl(210,32%,52%))" d="M151.5 49 C147 43 141 39.5 135 40 C121 35.5 109 33.2 98 33 C79 33 60 38 46 45.5 L46 54.5 C60 62 79 67 98 67 C109 67 121 64.5 135 60 C141 60 147 56.5 151.5 51 C152.7 50.6 152.7 49.4 151.5 49 Z"/>
<!-- брюхо: светлое серебро нижней трети (резкая двухцветность тёмная спина / серебро) -->
<path fill="var(--f2,hsl(206,22%,80%))" d="M46 54.5 C60 62 79 67 98 67 C109 67 121 64.5 135 60 C141 60 147 56.5 151.5 51 C146 55.5 139 59 131 61.5 C116 65 100 65.6 84 63.5 C69 61.3 57 58 46 54.5 Z"/>
<!-- спинная кромка: тонкая f4-полоса по верхнему контуру (тёмная спина) -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M151.5 49 C147 43 141 39.5 135 40 C121 35.5 109 33.2 98 33 C79 33 60 38 46 45.5 C59 39.6 78 36 98 36 C110 36 122 38.5 135 43 C141 43.5 147 46.5 151.5 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка объёма головы -->
<path fill="var(--f2,hsl(206,22%,80%))" opacity="0.3" d="M124 41 C128 45.5 128 55.5 123.5 61 C119.5 55 119.5 45.5 120.5 41.5 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(212,36%,22%))" stroke-width="1.5" d="M124 41 C128 45.5 128 55.5 123.5 61"/>
<!-- штрихи-чёрточки: 5 тонких горизонтальных тёмных чёрточек в нижней половине бока (узнаваемый признак тунца, НЕ полосы) -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M120 56.2 L134 56.2 L134 57.5 L120 57.5 Z M100 57.2 L114 57.2 L114 58.5 L100 58.5 Z M80 56.3 L94 56.3 L94 57.6 L80 57.6 Z M62 57.6 L76 57.6 L76 58.9 L62 58.9 Z M86 58.6 L101 58.6 L101 59.9 L86 59.9 Z"/>
<!-- 2 киля на хвостовом стебле: тонкие f4-черты (compound) -->
<path fill="none" stroke="var(--f4,hsl(212,36%,22%))" stroke-width="1.3" d="M46 48.5 L52 48.5 M46 51.5 L52 51.5"/>
<!-- рот: маленькая тёмная щель на конце морды -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M143.5 50.2 C146.5 50.5 148.8 51.4 150.4 52.6 C148.2 53.6 145.6 53.1 144 51.8 Z"/>
<!-- грудной плавник: длинный заострённый, корень (118,54) → кончик (99,63) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M118 54 C110 55.5 103 59 99 63 C106 62.5 113 59.5 119 56 Z"/>
<!-- глаз: ободок f4 → склера → янтарная радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(212,36%,22%))" cx="133" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="133" cy="42" r="3.7"/>
<circle fill="#c9a24a" cx="133" cy="42" r="3.0"/>
<circle fill="#142638" cx="133" cy="42" r="2.1"/>
<circle fill="#fff" cx="131.9" cy="40.9" r="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

+32 -13
View File
@@ -1,15 +1,34 @@
<!-- Морская черепаха (turtle): РАКУРС ВИД СВЕРХУ/ПОЛУ-ДОРСАЛЬ — только так читаются 4 ласты-весла и роговые щитки панциря. Карапакс-овал с f2-римом по кромке; 5 вертебральных щитков по оси (x=54..110) и 6 костальных (по 3 на сторону, сверху y≈36 и снизу y≈64) даны compound-path тёмных f4-контуров поверх f1, в центре каждого — бледный f2-блик; голова f1 с f2-пятном шеи и f4-клювом-клином, глаза по бокам (вид сверху); 4 f3-ласты с «локтем» (передние длинные, задние короткие) и f3-хвостик; главные видовые знаки — щитки панциря и 4 ласты (НЕ рыбьи плавники) -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<ellipse cx="28" cy="58" rx="6" ry="3.5" transform="rotate(-20 28 58)" fill="var(--f3,hsl(140,50%,32%))"/>
<ellipse cx="76" cy="62" rx="42" ry="18" fill="var(--f2,hsl(140,30%,70%))"/>
<ellipse cx="76" cy="50" rx="48" ry="24" fill="var(--f1,hsl(140,45%,48%))"/>
<ellipse cx="48" cy="50" rx="6" ry="14" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="62" cy="50" rx="7" ry="18" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="76" cy="50" rx="7" ry="20" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="90" cy="50" rx="7" ry="18" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="104" cy="50" rx="6" ry="14" fill="var(--f4,hsl(140,45%,26%))"/>
<path d="M 37 56 Q 25 64 25 80 Q 34 70 47 64 Z" fill="var(--f3,hsl(140,50%,32%))"/>
<path d="M 115 56 Q 124 64 127 80 Q 112 79 105 64 Z" fill="var(--f3,hsl(140,50%,32%))"/>
<ellipse cx="134" cy="44" rx="13" ry="10" fill="var(--f2,hsl(140,30%,70%))"/>
<circle cx="139" cy="42" r="4.2" fill="#fff"/>
<circle cx="140" cy="42" r="2.2" fill="#142638"/>
<!-- передние ласты-вёсла f3: корень у панциря → заметный «локоть» (~132,30) → широкий кончик с округлым краем; верхняя и нижняя зеркальны -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M109 36 C117 33 124 30.5 129.5 27.5 C136 23.5 143 19.5 149.5 16.5 C151.5 18.5 151 22 148 24.5 C142 28.5 134 32.5 127 36 C121 39 115 41.5 109 43 Z M109 64 C117 67 124 69.5 129.5 72.5 C136 76.5 143 80.5 149.5 83.5 C151.5 81.5 151 78 148 75.5 C142 71.5 134 67.5 127 64 C121 61 115 58.5 109 57 Z"/>
<!-- задние ласты-вёсла f3: короткие, широкие у округлого кончика (лопатка, не шип) -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M46 40.5 C38 37.5 29 33.8 22 31.3 C18.5 30 15.5 31.3 15.2 33.8 C15 36.3 17.5 38 21.5 38.6 C29.5 39.7 38.5 42.9 46 45.2 Z M46 59.5 C38 62.5 29 66.2 22 68.7 C18.5 70 15.5 68.7 15.2 66.2 C15 63.7 17.5 62 21.5 61.4 C29.5 60.3 38.5 57.1 46 54.8 Z"/>
<!-- хвостик f3: короткий, сужается назад -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M35 46.6 C28 46.6 22 47.4 16 50 C22 52.6 28 53.4 35 53.4 Z"/>
<!-- карапакс: овальный панцирь f2 с чуть сужённым передом (перед — вправо, к голове) -->
<path fill="var(--f2,hsl(90,20%,70%))" d="M30 50 C30 35 52 23 74 23 C99 23 117.5 36 119 50 C117.5 64 99 77 74 77 C52 77 30 65 30 50 Z"/>
<!-- кромочный f4-контур карапакса -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1" opacity="0.75" d="M30 50 C30 35 52 23 74 23 C99 23 117.5 36 119 50 C117.5 64 99 77 74 77 C52 77 30 65 30 50 Z"/>
<!-- тело карапакса f1 (вложено в f2-рим) -->
<path fill="var(--f1,hsl(140,36%,42%))" d="M32 50 C32 36 53 25 74 25 C98 25 115.5 37 117 50 C115.5 63 98 75 74 75 C53 75 32 64 32 50 Z"/>
<!-- 5 вертебральных щитков по оси: compound-path f4-контуров (шестиугольники 13×15, x=54,68,82,96,110) -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.2" opacity="0.85" d="M47.5 50 L50.75 42.5 L57.25 42.5 L60.5 50 L57.25 57.5 L50.75 57.5 Z M61.5 50 L64.75 42.5 L71.25 42.5 L74.5 50 L71.25 57.5 L64.75 57.5 Z M75.5 50 L78.75 42.5 L85.25 42.5 L88.5 50 L85.25 57.5 L78.75 57.5 Z M89.5 50 L92.75 42.5 L99.25 42.5 L102.5 50 L99.25 57.5 L92.75 57.5 Z M103.5 50 L106.75 42.5 L113.25 42.5 L116.5 50 L113.25 57.5 L106.75 57.5 Z"/>
<!-- 6 костальных щитков (по 3 на сторону): compound-path f4-контуров -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.2" opacity="0.85" d="M47 36.5 L52 30.5 L62 30.5 L67 36.5 L62 42.5 L52 42.5 Z M70 36.5 L75 30.5 L85 30.5 L90 36.5 L85 42.5 L75 42.5 Z M93 38 L96.5 33.5 L103.5 33.5 L107 38 L103.5 42.5 L96.5 42.5 Z M47 63.5 L52 69.5 L62 69.5 L67 63.5 L62 57.5 L52 57.5 Z M70 63.5 L75 69.5 L85 69.5 L90 63.5 L85 57.5 L75 57.5 Z M93 62 L96.5 66.5 L103.5 66.5 L107 62 L103.5 57.5 L96.5 57.5 Z"/>
<!-- бледные f2-блики в центре щитков: compound-path ромбиков -->
<path fill="var(--f2,hsl(90,20%,70%))" opacity="0.6" d="M54 46 L57.5 50 L54 54 L50.5 50 Z M68 46 L71.5 50 L68 54 L64.5 50 Z M82 46 L85.5 50 L82 54 L78.5 50 Z M96 46 L99.5 50 L96 54 L92.5 50 Z M110 46 L113.5 50 L110 54 L106.5 50 Z M57 32.5 L61.5 36.5 L57 40.5 L52.5 36.5 Z M80 32.5 L84.5 36.5 L80 40.5 L75.5 36.5 Z M100 34 L104.5 38 L100 42 L95.5 38 Z M57 59.5 L61.5 63.5 L57 67.5 L52.5 63.5 Z M80 59.5 L84.5 63.5 L80 67.5 L75.5 63.5 Z M100 58 L104.5 62 L100 66 L95.5 62 Z"/>
<!-- маргинальные щитки: короткие f4-засечки по задней кромке, compound-path -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.1" opacity="0.7" d="M35.5 36.5 L38.8 38.1 M31 43.2 L34.6 43.9 M30 50 L33.6 50 M31 56.8 L34.6 56.1 M35.5 63.5 L38.8 61.9"/>
<!-- шея: светлое f2-пятно между панцирем и головой -->
<path fill="var(--f2,hsl(90,20%,70%))" d="M106 45 C112 44 118 46 121 50 C118 54 112 56 106 55 Z"/>
<!-- голова f1, вытянута вправо -->
<path fill="var(--f1,hsl(140,36%,42%))" d="M116 50 C116 43.5 121 40 130 40 C139.5 40 145.5 44 148 50 C145.5 56 139.5 60 130 60 C121 60 116 56.5 116 50 Z"/>
<!-- клюв f4: тёмный клин -->
<path fill="var(--f4,hsl(140,42%,20%))" d="M146 46 L150 50 L146 54 Z"/>
<!-- глаза (2, вид сверху — по бокам головы): f4-кольцо → склера → зрачок → блик -->
<path fill="var(--f4,hsl(140,42%,20%))" d="M125.2 43 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M125.2 57 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#f4f1e6" d="M126 43 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M126 57 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0"/>
<path fill="#142638" d="M126.7 43 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0 M126.7 57 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0"/>
<path fill="#fff" d="M127.6 42.6 a0.4 0.4 0 1 0 0.8 0 a0.4 0.4 0 1 0 -0.8 0 M127.6 57.4 a0.4 0.4 0 1 0 0.8 0 a0.4 0.4 0 1 0 -0.8 0"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

+33 -21
View File
@@ -1,23 +1,35 @@
<!-- Синий кит (whale): огромное гладкое обтекаемое тело «труба» ~3:1, округлая голова спереди (справа), пологая тёмная щель-рот вдоль нижней челюсти, маленький серповидный боковой плавник низко на теле, ХВОСТ-ВЕСЛО: две горизонтальные лопасти влево-вверх и влево-вниз, 4 складки горла, крошечный глаз, сине-серая палитра -->
<!-- Синий кит (whale): морское млекопитающее, НЕ рыба (нет жабр и жаберной пластины). Огромное веретено ~4:1 с КОРОТКОЙ ШИРОКОЙ U-образной головой ≈¼ длины справа — главный силуэтный знак. ГЛАВНЫЙ видовой знак — ФОНТАН из двух дыхал (126,37): узкий конус #cfe9ff вверх к (130,10) и светлый веер #eaf6ff. ХВОСТ — ШИРОКИЕ ГОРИЗОНТАЛЬНЫЕ ФЛОСКУЛЫ: две СИММЕТРИЧНЫЕ лопасти (НЕ вертикальная вилка акулы). Один КРОШЕЧНЫЙ серповидный спинной f3 далеко назад, узкий грудной f3 ПОСЛЕ тела. РОТ-БАРЬЕР f4 вдоль нижней челюсти + КИТОВЫЙ УС #e9e2cc (compound-вертикали), 4 горловые борозды f4 (compound), 3-4 бледных f2-пятна-марблинг, крошечный глаз. Умеренно-тёмная сине-серая палитра (f1 L≈46%), контраст держат фонтан/ус/борозды/дыхала; карточка даёт золотую ауру отдельным drop-shadow -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост-весло: верхняя горизонтальная лопасть (влево-вверх) -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M27 47 C18 43.5 9.5 39.5 6 34 C9.5 40.5 17 46.5 27 51.5 Z"/>
<!-- хвост-весло: нижняя горизонтальная лопасть (влево-вниз) -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M27 55 C18 58.5 9.5 62.5 6 68 C9.5 61.5 17 55.5 27 50.5 Z"/>
<!-- тело: массивная гладкая «труба», округлая голова спереди, сужение к хвостовому стеблю -->
<path fill="var(--f1,hsl(230,45%,48%))" d="M150 48 C146 40 131 32.5 107 30.5 C82 28.5 56 31 40 37.5 C33 40.5 27.5 43.5 24 46.5 L24 55.5 C27.5 58.5 33 61.5 40 64.5 C56 71 82 73.5 107 71.5 C131 69.5 146 62 150 48 Z"/>
<!-- брюхо: светлое, пологая полоса снизу (толще к голове) -->
<path fill="var(--f2,hsl(230,30%,70%))" d="M150 48 C146 62 131 69.5 107 71.5 C82 73.5 56 71 40 64.5 C33 61.5 27.5 58.5 24 55.5 C31 58.8 38 61.3 47 63.3 C68 67.5 94 68 117 64.5 C134 61.5 145.5 55.5 150 48 Z"/>
<!-- боковой плавник: маленький серп низко на теле, заострён назад -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M114 59 C107 65 98 71.5 86 76.5 C96 75.5 107 69 114 59 Z"/>
<!-- рот: пологая тёмная щель вдоль нижней части головы (не открытая пасть) -->
<path fill="var(--f4,hsl(230,45%,26%))" d="M149.5 49 C142.5 57.5 132.5 65 120.5 69 C133 67.5 144 59.5 149.5 49 Z"/>
<!-- складки горла: 4 пологие поперечные линии вдоль нижней челюсти -->
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M143.5 55 Q141 58.5 143 62"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M134 61 Q131.5 64.5 133.5 68"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M124.5 64.5 Q122 67.5 124 70.2"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M115 66.5 Q112.5 69 114.5 71.3"/>
<!-- глаз: крошечный — белый круг + зрачок -->
<circle fill="#fff" cx="137" cy="45" r="2.9"/>
<circle fill="#142638" cx="137.8" cy="45" r="2.2"/>
<!-- хвост: Горизонтальные флоскулы — ДВЕ симметричные широкие лопасти (compound), корни утоплены в стебель (нахлёст ≥4), кончики (6,34) и (6,66) -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M34 44.5 C24 40 13 35.5 6 34 C8 40.5 15.5 46.5 26 50.2 C29 51.2 31.5 51.4 34 51 Z M34 55.5 C24 60 13 64.5 6 66 C8 59.5 15.5 53.5 26 49.8 C29 48.8 31.5 48.6 34 49 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ серповидный (НЕ высокий треугольник акулы), далеко назад, основание x49..59 утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M49 38 C51 35 52.5 32.8 54.5 31.2 C56.5 32.8 58 35.2 59 37.2 C55.5 36.6 52 37 49 38 Z"/>
<!-- тело: массивное веретено (длина/глубина ≈4:1) с КОРОТКОЙ ШИРОКОЙ U-образной головой справа (рострум 154,56), спина (78,31), брюхо (116,70), стебель x30 толщиной 14 (43..57) -->
<path fill="var(--f1,hsl(228,28%,46%))" d="M30 43 C36 41 41 39.5 46 38 C56 34.5 67 31.5 78 31 C100 30 118 32.5 134 37.5 C143 40.5 149 44 152.5 49 C154.2 51.5 155 54 154.3 56 C153.6 58 152 60.5 149.5 62.5 C142 67 130 69.2 116 70 C100 70.9 82 71 66 70 C54 69.2 45 64.5 40.5 58.5 C37 55 33 57 30 57 Z"/>
<!-- спинная кромка f4: тонкая тёмная полоса по верхнему контуру (не зубцы) — объём спины -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M30 43 C36 41 41 39.5 46 38 C56 34.5 67 31.5 78 31 C100 30 118 32.5 134 37.5 C143 40.5 149 44 152.5 49 C150 45.5 144.5 42.5 137 40 C121 35 100 33 78 33.5 C66 34 55 36.5 46 40 C39.5 42.6 34 45 30 46 Z"/>
<!-- брюхо: светлая f2-полоса вдоль подводной кромки (контраст к f1 L≈46%) -->
<path fill="var(--f2,hsl(215,18%,80%))" d="M154 56 C153.6 58 152 60.5 149.5 62.5 C142 67 130 69.2 116 70 C100 70.9 82 71 66 70 C54 69.2 45 64.5 40.5 58.5 C37 55 33 57 30 57 C34 53.5 40 55 48 58 C58 61.5 72 63 86 63 C104 63 126 61.5 142 57.5 C147 56 151 55.5 154 56 Z"/>
<!-- марблинг: 3 бледных f2-пятна на верхнем боку (compound) — не рыбьи полосы -->
<path fill="var(--f2,hsl(215,18%,80%))" opacity="0.5" d="M96 39.5 C100.5 38 104.5 40.5 102.5 43.5 C100.5 46.5 94.5 45.5 93.5 43 C92.8 41.2 93.8 40.3 96 39.5 Z M70 36.5 C74.5 35 78.5 37.5 76.5 40.5 C74.5 43.5 68.5 42.5 67.5 40 C66.8 38.2 67.8 37.3 70 36.5 Z M118 41.5 C121.5 40.5 124 42.5 122.5 44.5 C121 46.5 117 45.8 116.2 44 C115.7 42.7 116.4 42 118 41.5 Z"/>
<!-- рот-барьер f4: длинная тёмная полоса-щель вдоль нижней челюсти от (152,58) назад до (104,64) -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M152.5 57.5 C139 59.4 121 61.7 104 63.8 C120 65.2 139 63.2 152.5 60.4 Z"/>
<!-- китовый ус: 7 коротких вертикалей #e9e2cc под барьером (compound, фикс-акцент — млекопитающее, не рыбьи зубы) -->
<path fill="none" stroke="#e9e2cc" stroke-width="1.2" stroke-linecap="round" d="M148 60.7 L148 63.5 M142 61.1 L142 63.9 M136 61.6 L136 64.4 M130 62 L130 64.8 M124 62.4 L124 65.2 M118 62.8 L118 65.6 M112 63.2 L112 66"/>
<!-- горловые борозды f4: 4 короткие дуги от (148,62) назад-вниз до (108,70) (compound) — знак кита, НЕ жаберные щели -->
<path fill="none" stroke="var(--f4,hsl(228,32%,18%))" stroke-width="1.4" stroke-linecap="round" d="M146 61.5 Q143.5 63.5 145.4 65.4 M134 63 Q131.5 65 133.4 67.2 M122 64.5 Q119.5 66.8 121.4 69 M110 66 Q107.5 68.2 109.4 70"/>
<!-- грудной плавник f3: узкая серповидная лопасть (112,66)→(86,76), заметно выступает из-под брюха, рисуется ПОСЛЕ тела -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M112 69.5 C104 74.5 96 77 86 79 C100 74 111 66.5 119 59.5 Z"/>
<!-- ФОНТАН, светлый веер #eaf6ff: широкая мягкая струя-раструб наверху, притуплённые края (фикс-акцент) -->
<path fill="#eaf6ff" d="M129 10 C123 13 118 19 115 26 C119 20 124 15 129 13 C134 16 138 21 141 28 C139 20 135 13 129 10 Z"/>
<!-- ФОНТАН, конус #cfe9ff: узкая струя от дыхал (126,34) вверх к (130,10) (фикс-акцент) -->
<path fill="#cfe9ff" d="M125 35 C124 27 126 17 130 10 C132 18 130 28 128.5 35 Z"/>
<!-- дыхала f4: два маленьких тёмных отверстия на голове вокруг (126,37) (compound) -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M123.3 36.7 a1.4 0.9 0 1 0 2.8 0 a1.4 0.9 0 1 0 -2.8 0 M126.5 36.7 a1.4 0.9 0 1 0 2.8 0 a1.4 0.9 0 1 0 -2.8 0"/>
<!-- глаз: НАМЕРЕННО крошечный (млекопитающее), ободок f4 → склера #e6e1d2 → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(228,32%,18%))" cx="136" cy="50" r="3"/>
<circle fill="#e6e1d2" cx="136" cy="50" r="2.2"/>
<circle fill="#1a2a3a" cx="136" cy="50" r="1.5"/>
<circle fill="#0d1418" cx="136" cy="50" r="1"/>
<circle fill="#fff" cx="135.4" cy="49.4" r="0.4"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

+35 -22
View File
@@ -1,24 +1,37 @@
<!-- Судак (zander): удлинённое тело ~2.5:1, заострённая морда, два спинных плавника, вилочный хвост, тёмная полоса вдоль бока -->
<!-- Судак (zander): НИЗКОЕ веретенообразное вытянутое тело (D/L≈0.31) с почти ровной спиной (не горб, в отличие от окуня); ДВА раздельных спинных плавника с зазором — передний D1 гладкая низкая лопасть с 3-4 мелкими выемками (без гребёнки шипов), задний D2 мягкий и чуть выше; заострённое рыло с выступающей вперёд нижней челюстью и двумя клыками; 5 КОСЫХ тёмных полос (наклон ~13°, верх сдвинут вперёд), фон серо-зелёный; красных плавников НЕТ; крупный глаз -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 100" width="160" height="100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M40 47 L15 26 L27 50 L15 74 L40 53 Z"/>
<!-- спинной плавник (передний, колючий) -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M56 36 Q68 8 86 30.5 Z"/>
<!-- спинной плавник (задний, мягкий) -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M88 30 Q99 10 111 32.5 Z"/>
<!-- тело: удлинённое, заострённая морда -->
<path fill="var(--f1,hsl(180,45%,48%))" d="M36 48 C46 35 70 28 96 29 C118 30 136 40 146 50 C136 60 118 70 96 71 C70 72 46 65 36 52 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2,hsl(180,30%,70%))" d="M36 52 C46 65 70 72 96 71 C118 70 136 60 146 50 C128 55.5 102 60 78 60.5 C58 61 43 57.5 36 52 Z"/>
<!-- узор: тёмная полоса вдоль бока от головы к хвосту -->
<path fill="var(--f4,hsl(180,45%,26%))" d="M118 41.5 C102 39.8 90 39.8 78 40.5 C60 41.5 47 44 39 47.5 L39 53.5 C47 56 60 53 78 51.5 C98 51.8 110 52.3 118 52 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M111 54 C106 59 106 63.5 111 66.5 C114 62 115 58 113 54 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M64 66.5 L59 75 L69 67.5 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M88 70 L82 78.5 L94 71 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="126" cy="43" r="4.5"/>
<circle fill="#142638" cx="127" cy="43" r="2.2"/>
<!-- хвост: слабо вильчатый, корень утоплен в стебель толщ.12 (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M48 43.5 C40 40.5 29 35.5 12 31 C16 38.5 18.5 44 19.5 50 C18.5 56 16 61.5 12 69 C29 64.5 40 59.5 48 56.5 Z"/>
<!-- D1 передний спинной: ГЛАДКАЯ низкая лопасть, кромка спокойная с 4 МЕЛКИМИ вогнутыми выемками (без шипов и гребёнки — не путать с окунем), основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M58 45 C59 36.5 61 29.8 65.5 27.4 Q67.35 31 69.2 29.6 Q71 33.4 72.8 32.2 Q74.65 36.5 76.5 35.8 Q78.75 41.6 81 42.5 Z"/>
<!-- D2 задний спинной: отдельный МЯГКИЙ плавник, чуть выше переднего, между ними зазор (81..86) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M86 40.5 C87 31 91 24.8 97 24.2 C103 24.2 106.5 30 108 38.5 Z"/>
<!-- анальный плавник: мягкий, основание вдоль брюха (нахлёст ≥4), низ до y≈79 -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M67 58.5 C69 68 73 76.5 78 79 C82.5 77 85 69 85 62.5 Z"/>
<!-- брюшные плавники: пара мягких лопастей, основания утоплены в брюхо (нахлёст ≥4) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M91 63.5 C90 73 91.5 81.5 95 85.5 C98 81.5 99 73 98.5 63.5 Z M103 64 C102.5 73.5 104 82 107.5 86 C110.5 82 111.5 73.5 111 64 Z"/>
<!-- тело: низкое веретено ~3:1, спина почти ровная (100,33)→затылок (131,38), стебель толщ.11; рыло (151,49), нижняя челюсть чуть вперёд (152.5,51.3) -->
<path fill="var(--f1,hsl(165,18%,47%))" d="M150.5 48.8 C146 43 139.5 39.2 131 38 C120.5 35.8 110.5 33.5 100 33 C79 33.6 58 37.6 44 44.5 L44 55.5 C58 62.4 79 66.4 100 69 C123 70.6 143.5 60.5 149 53.5 L152.5 51.3 Z"/>
<!-- брюхо: светлая нижняя часть -->
<path fill="var(--f2,hsl(160,18%,72%))" d="M44 55.5 C58 62.4 79 66.4 100 69 C123 70.6 143.5 60.5 149 53.5 C138 59 120 64.5 100 65.5 C76 66.8 57 62 44 55.5 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по ровному верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(170,25%,20%))" d="M150.5 48.8 C146 43 139.5 39.2 131 38 C120.5 35.8 110.5 33.5 100 33 C79 33.6 58 37.6 44 44.5 C58 38.6 79 34.9 100 34.9 C110.5 35.2 120.5 37.2 130 40.5 C139 44 146 48 150.5 48.8 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы) -->
<path fill="var(--f2,hsl(160,18%,72%))" opacity="0.3" d="M122 40.5 C126 45.5 126.5 51.5 123.5 57.5 C119.5 51.5 118.5 45.5 119.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у затылка (не задевает ободок глаза) -->
<path fill="none" stroke="var(--f4,hsl(170,25%,20%))" stroke-width="1.5" d="M121 40.5 C125 45.5 125.5 51.5 122.5 57.5"/>
<!-- 5 КОСЫХ тёмных полос одним compound-path: наклон ~13° (верх сдвинут вперёд), шире сверху (4), уже снизу (2.5), брюхо не пересекают -->
<path fill="var(--f4,hsl(170,25%,20%))" opacity="0.55" d="M58 42 L62 42 L57.7 54 L55.2 54 Z M72 39 L76 39 L69.9 60 L67.4 60 Z M86 37 L90 37 L83.1 63 L80.6 63 Z M100 36 L104 36 L96.9 64.5 L94.4 64.5 Z M114 36.5 L118 36.5 L110.9 63.5 L108.4 63.5 Z"/>
<!-- ротовая щель: от конца рыла назад под глаз -->
<path fill="var(--f4,hsl(170,25%,20%))" d="M151 49.4 C143 49.9 136.5 50.9 128.5 52.4 C136.5 53.6 143.5 53 152 51.2 Z"/>
<!-- клыки (фикс-акцент): два мелких треугольника с верхней челюсти -->
<path fill="#f7f3e6" d="M146.5 49.9 L148.3 50 L147.2 52.7 Z M141.8 50.3 L143.5 50.4 L142.5 52.9 Z"/>
<!-- грудной плавник: на боку под жаберной дугой (ПОСЛЕ тела), корень (119,55)→ кончик (113,66) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M120.5 54.5 C118 58.5 115.5 62.5 113.5 66.5 C117.5 65 121 61 122.5 56.5 Z"/>
<!-- глаз: КРУПНЫЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(170,25%,20%))" cx="133" cy="42" r="5.6"/>
<circle fill="#f7f3e6" cx="133" cy="42" r="4.6"/>
<circle fill="#c9c29a" cx="133" cy="42" r="3.3"/>
<circle fill="#142638" cx="133" cy="42" r="2.3"/>
<circle fill="#fff" cx="131.8" cy="40.8" r="0.9"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

+22
View File
@@ -882,3 +882,25 @@ git add -A && git commit -m "что изменилось" && git push
**Скриншоты:** перегенерированы только кадры `aquarium` (оба набора, 6 PNG) — в банке теперь SVG-портреты. Остальные кадры не трогали: набор в целом не побитово-детерминирован (анимации/время), а canvas-сцены ловли ревизия не касается, так что лишний шум в диффе не нужен.
**Доки:** AGENTS.md (пункт «Аквариум» + глобалы: `AQ_VARIANT_RECOLOR`/`AQ_VARIANT_CLASS`/`aqApplyVariant`/`aqFishEls`/`aqBuildFishEl`/`aqPlaceFish` вместо `AQ_VARIANT_FX`/`AQ_VARIANT_HUE`), этот DEVLOG.
## Этап 47. Ревизия SVG-портретов рыб (детализация до уровня болотных)
**Задача:** поднять детализацию/объём портретов до уровня болотных рыб (эталон стиля — `fish-glowfin.svg`, Этап 45) с акцентом на биологическое правдоподобие и узнаваемые видовые отличия.
**Решения:**
- **Объём:** полная визуальная ревизия ВСЕХ 32 портретов, кроме 5 болотных (сделаны ранее и послужили эталоном): 8 речных (carass, perch, bream, carp, pike, catfish, sturge, gold), 10 озёрных (zander, chuch, crayfish, bleak, roundel, eelpout, tench, navaga, rudd, cisco), 5 морских (herring, mackerel, flounder, tuna, swordfish), 9 океанских (moray, grouper, turtle, angler, octopus, manta, shark, squid, whale).
- **Единый стиль:** послойные заливки без градиентов/`defs`; `--f1` тело и `--f3` плавники — перекрашиваются вариантами, `--f2` брюхо/светлое и `--f4` тёмный узор/кромка — НЕ перекрашиваются; спинная кромка f4-серпом; жаберная пластина + дуга; глаз 5 кругов (ободок→склера→радужка фикс-hex→зрачок→блик); составные узоры (полосы/пятна/чешуя/жучки/финлеты) — одним compound-path; ≤38 элементов на портрет; фикс-hex-акценты разрешены.
- **Разведение «двойников»:** карась↔карп (усы), окунь↔судак (горб/полосы/красное vs косая полоса/клыки), лещ↔густера (длинная анальная «юбка» vs короткий анальный + крупный глаз + киль), плотва↔краснопёрка (красный vs жёлтый глаз, рот конечный vs вверх), сом↔вьюн (голова-¼/длинные усы vs лента/10 усиков), мурена↔вьюн, осьминог↔кальмар (мешок + 8 равных рук vs мантия-ракета + 2 ловчих + крылышки), кит↔акула (флоскулы/фонтан/ус vs треуг. D/гетероцерк/5 щелей), сельдь↔скумбрия↔тунец↔меч, манта↔камбала↔рак, черепаха (вид сверху, не рыба).
- **«Не рыбы»:** crayfish (рак, вид сверху, клешни/ноги/веер), turtle (черепаха, вид сверху, щитки/4 ласты/клюв), octopus/squid/whale — иная анатомия (присоски/ловчие щупальца/флоскулы/фонтан); у них допустимые отклонения от «рыбьего» протокола.
- **Двойные боссы:** `sturge` (босс Реки) и `whale` (босс Океана) проверены под золотой аурой `#card.boss-card` — контраст держат f4-детали.
- **Дефекты, найденные и исправленные на приёмке** (точечно, композиция не менялась): у octopus 2 «щели» с фоном (заплатки), у swordfish светлый стык голова↔меч, у tuna прозрачная «дыра» в выемке хвоста-полумесяца, у grouper щель пасть↔нижняя челюсть, у angler просвет между римом и эской.
**Не тронуто:** `viewBox` (0 0 160 100) и id/имена файлов; данные/логика/баланс — правки чисто визуальные. **Подводный камень:** `node tools/embed-fish.mjs` — единственный способ обновить спрайт в `index.html` (блок FISH-SVG руками не править).
**Интеграция / превью:** `node tools/embed-fish.mjs` — блок FISH-SVG теперь 202478 байт / 1512 строк, 37 `<symbol>`; `tools/fish-preview.html` — блок «Варианты» (8 инлайн-копий carass синхронизированы с источником) + секция «Читаемость в UI» (44×28 / 40×26 / 240×150).
**Тесты:** не правились — пины lc1/M6 проверяют число `<symbol>`=37 и id, а не внутренности SVG. Итого **222/222 PASS, exit 0**; `node tools/check.mjs` OK; `tools/balance.mjs` — пины без изменений (Река 65.1/125.9 · Озёра 194.1/249.0 · Болото 240.3/328.9 · Море 297.3/476.7 · Океан 329.1/552.7).
**Скриншоты:** перегенерированы `node tests/gen-screenshots.js` — кадры дневника/карточки/аквариума и локаций содержат новые портреты.
**Доки / файлы:** 32 × `assets/fish/fish-*.svg`, `index.html` (только блок FISH-SVG), `tools/fish-preview.html`, этот DEVLOG.
+1213 -634
View File
@@ -309,703 +309,1282 @@ body.aq-open #aqFishLayer{display:block}
<!-- FISH-SVG:BEGIN (генерируется tools/embed-fish.mjs — не править руками) -->
<svg id="fishSprites" width="0" height="0" style="position:absolute" aria-hidden="true">
<symbol id="fish-carass" viewBox="0 0 160 100">
<path d="M40 50 L14 30 L24 50 L14 70 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M36 50 Q60 22 100 24 Q132 27 144 50 Q132 73 100 76 Q60 78 36 50 Z" fill="var(--f1,hsl(45,45%,48%))"/>
<path d="M144 50 Q132 73 100 76 Q60 78 36 50 Q64 66 104 66 Q130 64 144 50 Z" fill="var(--f2,hsl(45,30%,70%))"/>
<path d="M76 28 Q90 6 114 21 Q96 24 80 29 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M102 54 Q124 58 120 74 Q106 70 98 60 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<path d="M84 72 Q96 84 108 78 Q98 74 88 70 Z" fill="var(--f3,hsl(45,50%,32%))"/>
<circle cx="124" cy="42" r="7" fill="#fff"/>
<circle cx="125.5" cy="42" r="3.2" fill="#142638"/>
<!-- хвост: слабая вилка, закруглённые лопасти (стебель толстый, 14 ед.) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M42 44 L13 33 C21 41 25 46 30 51 C25 56 21 61 13 69 L42 58 Z"/>
<!-- спинной плавник: ДЛИННЫЙ, кромка полого-выпуклая (пик чуть ближе к хвосту), основание глубоко утоплено в тело (нахлёст ≥4 ед., щели нет) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M62 37 C64 23 72 13 84 12 C98 11 114 20 126 34 Z"/>
<!-- лучи спинного плавника: 5 тонких штрихов веером от основания к кромке (передние короче, задние длиннее) -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M68 36.7 C67.6 31.8 67.8 26.5 68 21.5"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M79 36.2 C78.7 29.5 78.9 20.5 79 13.6"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M90 35.7 C89.8 28 89.8 19.5 89.8 12.8"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M101 35.2 C101.2 28.5 101.1 21.5 101 15.9"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="0.9" opacity="0.3" d="M112 34.7 C112.3 30 112.1 25.5 112 21.9"/>
<!-- анальный плавник: округлый, ШИРОКИМ основанием растёт из брюха, а не висит каплей -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M54 62 C59 81 65 89 72 89 C79 88 84 81 88 69 L54 62 Z"/>
<!-- лучи анального плавника: 3 коротких тёмных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M63 72 C63.6 77 64.4 80.5 65 83"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M70 75 C70.6 80 71.4 84 72.5 87"/>
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1" opacity="0.3" d="M78 76 C78.5 79 79 81.5 79.3 83.5"/>
<!-- брюшные плавники: пара мягких округлых лопастей, направлены назад-вниз (без острых углов) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M109 73 C103 85 92 82 100 71 Z"/>
<path fill="var(--f3,hsl(46,42%,33%))" d="M118 73 C113 85 104 82 109 72 Z"/>
<!-- тело: высокое и округлое, спина горбатая, голова тупая (длина/глубина ≈0.51) -->
<path fill="var(--f1,hsl(48,45%,48%))" d="M148 50 C144 41 138 34 126 30 C116 26 106 24 96 24 C74 25 53 33 42 44 L42 58 C53 71 76 79 100 79 C120 79 137 70 142 57 C145 53 147 51 148 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(48,32%,72%))" d="M42 58 C53 71 76 79 100 79 C120 79 137 70 142 57 C136 66 118 72 100 72 C78 72 56 66 42 58 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(50,35%,22%))" d="M148 50 C144 41 138 34 126 30 C116 26 106 24 96 24 C74 25 53 33 42 44 C54 37 76 30 96 27.5 C108 28 118 33 127 37.5 C136 42 143 47 148 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём маленькой головы) -->
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.35" d="M132 39 C138 46 139 54 134 62 C129 54 127 46 127 40 Z"/>
<!-- жаберная дуга: тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(50,35%,22%))" stroke-width="1.5" d="M132 39 C138 46 139 54 134 62"/>
<!-- ГЛАВНЫЙ знак вида: тёмное пятно у самого основания хвостового плавника (не «второй глаз») -->
<ellipse fill="#2b2416" cx="44.5" cy="50" rx="3.2" ry="4"/>
<!-- чешуя: 3 широких серпа на плече (крупная чешуя, а не решётка) -->
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M104 41 Q97 50 104 59 Q101 50 104 41 Z"/>
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M114 40 Q106 50 114 60 Q111 50 114 40 Z"/>
<path fill="var(--f2,hsl(48,32%,72%))" opacity="0.3" d="M124 43 Q117 50 124 57 Q121 50 124 43 Z"/>
<!-- рот: крошечная щель на тупом рыле (усов нет — это карп!) -->
<path fill="var(--f4,hsl(50,35%,22%))" d="M143 49 C146 49.4 148 50.2 148.8 51.4 C147 52.6 145 52 143.4 50.6 Z"/>
<!-- грудной плавник: мягкая округлая лопасть на боку под жаберной дугой, направлена назад-вниз (в стиле брюшных) -->
<path fill="var(--f3,hsl(46,42%,33%))" d="M133 54 C126 57 116 61 118 66 C120 71 128 64 132 58 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(50,35%,22%))" cx="137.5" cy="41.5" r="5.7"/>
<circle fill="#f7f3e6" cx="137.5" cy="41.5" r="4.6"/>
<circle fill="#c98a2a" cx="137.5" cy="41.5" r="3.2"/>
<circle fill="#142638" cx="137.5" cy="41.5" r="2.3"/>
<circle fill="#fff" cx="136" cy="40" r="0.9"/>
</symbol>
<symbol id="fish-perch" viewBox="0 0 160 100">
<path d="M36 50 L12 28 L22 50 L12 72 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M50 38 L60 11 L72 18 L84 12 L96 22 L102 30 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M32 50 Q58 21 100 23 Q133 26 148 50 Q133 74 100 77 Q58 79 32 50 Z" fill="var(--f1,hsl(120,45%,48%))"/>
<path d="M148 50 Q133 74 100 77 Q58 79 32 50 Q62 64 104 64 Q132 62 148 50 Z" fill="var(--f2,hsl(120,30%,70%))"/>
<path d="M47 37.9 Q52 34.3 57 33.1 L57 67.3 Q52 65.2 47 60.6 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M61 30.8 Q66 28.1 71 27.8 L71 72.2 Q66 71.8 61 68.9 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M75 26.8 Q80 24.9 85 25.3 L85 74.7 Q80 75.2 75 73.3 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M89 25 Q94 23.8 99 25 L99 75 Q94 76.2 89 75 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M103 25.4 Q108 25.1 113 27.2 L113 72.7 Q108 74.9 103 74.6 Z" fill="var(--f4,hsl(120,45%,26%))"/>
<path d="M108 52 Q130 56 126 72 Q112 68 104 58 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<path d="M88 74 Q100 88 112 80 Q102 76 94 72 Z" fill="var(--f3,hsl(120,50%,32%))"/>
<circle cx="133" cy="43" r="6.5" fill="#fff"/>
<circle cx="134.5" cy="43" r="3" fill="#142638"/>
<!-- хвост: слабо выемчатый (неглубокая вырезка), корень утоплен в стебель толщ.14 (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M44 43 C36 39.5 26 34 14 29 C18 36 21.5 41.5 24 46 L24 54 C21.5 58.5 18 64 14 71 C26 66 36 60.5 44 57 Z"/>
<!-- рыжий низ хвоста (фикс-акцент): красная только НИЖНЯЯ лопасть, верх остаётся f3 -->
<path fill="#c0392b" d="M44 56.5 L24.5 52.5 C21.5 58.5 18 64 14 71 C26 66 36 60.5 44 57 Z"/>
<!-- лучи хвоста: по одному штриху в каждой лопасти -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M40 44 C33 41 25 37 18 33 M40 56 C33 59 25 63 18 67"/>
<!-- D1 передний спинной (КОЛЮЧИЙ): 6 острых шипов, зубцы до y≈20, основание глубоко в теле (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M59.5 36 L61 33 L62 21 L64.5 33 L66 20 L68.5 33 L70 19 L72.5 33 L74 20 L76.5 33 L78 20.5 L80.5 33 L82 22 L84.5 33.5 L85.5 36 Z"/>
<!-- D2 задний спинной (МЯГКИЙ): отдельный округлый плавник на горбе (x90..112), НЕ слит с колючим -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M88 32 C89 26.5 93 23 99 22.8 C105 22.8 110 25.5 112.5 29 L114.5 32 Z"/>
<!-- лучи D2: три коротких веерных штриха ВНУТРИ мягкого плавника (не выходят за кромку) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M92 31 C92.5 28 93.3 25.8 94.2 24.2 M99 31 C99.2 28 99.6 25.8 100 24 M106 31 C106.3 28.2 106.8 26.2 107.6 24.8"/>
<!-- анальный плавник: КРАСНЫЙ (фикс-акцент), основание глубоко в брюхе (нахлёст ≥4), кончик до y≈84 -->
<path fill="#c0392b" d="M50 59 C52 73 55.5 81 60.5 84 C65.5 81 68.5 74 69 60 Z"/>
<!-- лучи анального плавника: короткие штрихи ВНУТРИ лопасти (за кромку не выходят) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="0.9" opacity="0.3" d="M54.5 71 C55 74.5 55.7 76.8 56.5 78.2 M60 72 C60.4 74.8 60.9 76.8 61.6 78"/>
<!-- брюшные плавники: ПАРА красных (фикс-акцент) лопастей, направлены вниз-назад, кончики до y≈88 -->
<path fill="#c0392b" d="M99 67 C97.5 77 99 84 103.5 88 C107 82.5 107.5 73 106 67 Z"/>
<path fill="#c0392b" d="M107.5 67 C106.5 77.5 108.5 84.5 113 88 C116 82 116.5 73 115 68 Z"/>
<!-- тело: высокое и сжатое, спина встаёт от мелкой головы к ГОРБУ (пик ≈x94) и падает к стеблю -->
<path fill="var(--f1,hsl(110,35%,42%))" d="M150 50 C146 42 142 37.5 137 36 C132 33.5 125 30 117 27 C108 24.3 100 23.2 94 23.2 C87 23.4 78 25 70 27.5 C62 30 50 36 40 43 L40 57 C50 64 62 70 74 72.6 C84 74.6 92 75 100 74.6 C118 73.6 134 67 142.5 58.5 C145.5 54.5 149 52 150 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(95,25%,68%))" d="M40 57 C50 64 62 70 74 72.6 C84 74.6 92 75 100 74.6 C118 73.6 134 67 142.5 58.5 C132 66 114 70.5 98 70.5 C75 70.5 54 64.5 40 57 Z"/>
<!-- жаберная пластина: мягкая светлая заливка за глазом (объём мелкой головы) -->
<path fill="var(--f2,hsl(95,25%,68%))" opacity="0.3" d="M120 38 C124 44 124 52 120 60 C116 52 115 44 116 39 Z"/>
<!-- 6 тёмных вертикальных полос одним compound-path: шире сверху (4.5), уже снизу (2.5), верх утоплен под спинную кромку, низ до y≈70 -->
<path fill="var(--f4,hsl(110,45%,20%))" opacity="0.5" d="M53.75 35.2 L58.25 35.2 L57.25 68 L54.75 68 Z M67.75 28.9 L72.25 28.9 L71.25 70 L68.75 70 Z M81.75 25.2 L86.25 25.2 L85.25 70 L82.75 70 Z M95.75 24.1 L100.25 24.1 L99.25 70 L96.75 70 Z M109.75 26.8 L114.25 26.8 L113.25 70 L110.75 70 Z M121.75 31.4 L126.25 31.4 L125.25 70 L122.75 70 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (ложится ПОВЕРХ полос — их верх срезан, не шипы) -->
<path fill="var(--f4,hsl(110,45%,20%))" d="M150 50 C146 42 142 37.5 137 36 C132 33.5 125 30 117 27 C108 24.3 100 23.2 94 23.2 C87 23.4 78 25 70 27.5 C62 30 50 36 40 43 C50 38 62 33.5 70 31 C78 28.6 87 27 94 27 C100 27 108 28.4 117 30.6 C125 32.6 132 35.6 137 38.4 C142 41.2 147 46.5 150 50 Z"/>
<!-- жаберная дуга: тёмный серп у крышки (ниже и левее глаза, ободок не задет) -->
<path fill="none" stroke="var(--f4,hsl(110,45%,20%))" stroke-width="1.5" d="M120 41 C124 46 123.5 54 119.5 60"/>
<!-- тёмное пятно на жаберной крышке (видовой знак окуня) -->
<ellipse fill="var(--f4,hsl(110,45%,20%))" opacity="0.5" cx="123" cy="50" rx="2.6" ry="3.4"/>
<!-- рот: короткая конечная щель на тупом рыле -->
<path fill="var(--f4,hsl(110,45%,20%))" d="M143.5 48.6 C146.5 49 149 49.8 150.3 51.2 C148.6 52.6 146 51.8 143.8 50.2 Z"/>
<!-- грудной плавник: на боку под жаберной дугой (ПОСЛЕ тела), кончиком вниз-назад -->
<path fill="var(--f3,hsl(105,40%,30%))" d="M136 54 C132 57 126.5 62 123.5 67 C126.5 67.5 130.5 64 133.5 60 C135.5 57 136.3 55.5 136 54 Z"/>
<!-- глаз: КРУПНЫЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(110,45%,20%))" cx="132" cy="43" r="5.6"/>
<circle fill="#f7f3e6" cx="132" cy="43" r="4.7"/>
<circle fill="#c98a2a" cx="132" cy="43" r="3.3"/>
<circle fill="#142638" cx="132" cy="43" r="2.3"/>
<circle fill="#fff" cx="130.8" cy="41.8" r="0.9"/>
</symbol>
<symbol id="fish-bream" viewBox="0 0 160 100">
<path d="M38 50 L16 36 L26 50 L16 64 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M36 50 Q40 18 86 16 Q130 18 146 50 Q130 82 86 84 Q40 82 36 50 Z" fill="var(--f1,hsl(210,45%,48%))"/>
<path d="M36 50 Q40 82 86 84 Q130 82 146 50 Q128 66 86 66 Q50 64 36 50 Z" fill="var(--f2,hsl(210,30%,70%))"/>
<path d="M44 30 Q76 2 128 16 Q136 26 134 36 Q84 12 44 30 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M98 56 Q120 60 116 76 Q102 72 94 62 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M80 82 Q92 92 108 86 Q96 82 86 80 Z" fill="var(--f3,hsl(210,50%,32%))"/>
<path d="M46 42 Q92 34 140 46 Q92 48 46 42 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M64 28 Q70 24 76 28 Q70 34 64 28 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M84 24 Q90 20 96 24 Q90 30 84 24 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<path d="M104 30 Q110 26 116 30 Q110 36 104 30 Z" fill="var(--f4,hsl(210,45%,26%))"/>
<circle cx="126" cy="42" r="7" fill="#fff"/>
<circle cx="127.5" cy="42" r="3.2" fill="#142638"/>
<!-- хвост: глубокая вилка; светлая кромка, чтобы лопасти не сливались с тенью -->
<path fill="var(--f3,hsl(210,28%,36%))" stroke="var(--f2,hsl(205,24%,78%))" stroke-width="1" stroke-opacity="0.5" d="M50 46 L12 28 C22 40 26 46 30 50 C26 54 22 60 12 72 L50 54 Z"/>
<!-- спинной плавник: короткий и высокий (антипод длинного анального) -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M74 24 C78 10 84 3 90 3 C97 3 103 9 107 23 L74 25 Z"/>
<!-- анальный плавник: главный признак — длинная «юбка» вдоль задней половины брюха, тёмная обводка вогнутой наружной кромки -->
<path fill="var(--f3,hsl(210,28%,36%))" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="1" stroke-opacity="0.55" d="M58 61 C47 69 41 81 46 94 C63 86 82 84 99 91 C103 89 103 85 100 80 C84 74 68 67 58 61 Z"/>
<!-- лучи анального плавника: веер от основания к кромке (передние длиннее) -->
<path fill="none" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="0.8" opacity="0.33" d="M60 62 L47 92 M69 66 L57 90 M79 70 L70 87 M89 74 L84 86 M97 78 L97 89"/>
<!-- брюшные плавники: пара мягких уплощённых лопастей без острых концов -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M106 79 C100 83 101 90 107 90 C112 90 115 84 114 80 Z"/>
<path fill="var(--f3,hsl(210,28%,36%))" d="M119 81 C113 85 114 92 120 92 C125 92 128 86 127 82 Z"/>
<!-- тело: высокий ромб с остриём на спине и очень тонким стеблем (длина/глубина ≈0.65) -->
<path fill="var(--f1,hsl(208,30%,52%))" d="M150 53 C146 45 141 38 127 31 C118 24 106 17 94 17 C74 17 56 27 46 47 L46 53 C56 73 78 85 104 85 C126 85 142 74 146 62 C148 58 149 55 150 53 Z"/>
<!-- брюхо: серебристая нижняя треть -->
<path fill="var(--f2,hsl(205,24%,78%))" d="M46 53 C56 73 78 85 104 85 C126 85 142 74 146 62 C138 72 120 78 102 78 C76 78 58 68 46 53 Z"/>
<!-- спинная кромка: толстая тёмно-бронзовая полоса от затылка до стебля -->
<path fill="var(--f4,hsl(28,30%,23%))" d="M134 34 C126 26 112 19 94 17 C76 18 58 27 46 47 C59 31 77 23 94 23 C111 23 125 29 135 38 Z"/>
<!-- жаберная пластина: мягкая светлая заливка -->
<path fill="var(--f2,hsl(205,24%,78%))" opacity="0.3" d="M131 37 C137 44 138 54 133 64 C127 54 124 44 125 38 Z"/>
<!-- жаберная дуга (сдвинута влево, чтобы не сливаться с ободком глаза) -->
<path fill="none" stroke="var(--f4,hsl(28,30%,23%))" stroke-width="1.5" d="M131 37 C137 44 138 54 133 64"/>
<!-- чешуя: мелкие бледные полумесяцы в два ряда по средней части бока -->
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M75 34 Q81 39 75 44 Q77 39 75 34 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M91 32 Q97 37 91 42 Q93 37 91 32 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M107 35 Q113 40 107 45 Q109 40 107 35 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M69 48 Q75 53 69 58 Q71 53 69 48 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M87 46 Q93 51 87 56 Q89 51 87 46 Z"/>
<path fill="var(--f4,hsl(28,30%,23%))" opacity="0.15" d="M105 50 Q111 55 105 60 Q107 55 105 50 Z"/>
<!-- рот: крошечная приподнятая щель (рот слегка вверх) -->
<path fill="var(--f4,hsl(28,30%,23%))" d="M144 49.5 C147 49.8 149 50.6 150 52 C148.4 53 146.2 52.4 144.8 51 Z"/>
<!-- грудной плавник: мелкий, низко на теле -->
<path fill="var(--f3,hsl(210,28%,36%))" d="M130 58 L113 73 L133 62 Z"/>
<!-- глаз: МАЛЕНЬКИЙ и низко у рыла; узкая склера, радужка/зрачок доминируют -->
<circle fill="var(--f4,hsl(28,30%,23%))" cx="138" cy="45" r="4.5"/>
<circle fill="#f4f1e6" cx="138" cy="45" r="2.9"/>
<circle fill="#c8b06a" cx="138" cy="45" r="2.3"/>
<circle fill="#142638" cx="138" cy="45" r="1.5"/>
<circle fill="#fff" cx="137" cy="44" r="0.6"/>
</symbol>
<symbol id="fish-carp" viewBox="0 0 160 100">
<path d="M 36 50 L 10 24 Q 30 50 10 76 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 44 24 C 56 7 84 3 106 10 C 90 12 70 17 58 25 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 54 78 C 56 90 64 97 75 97 C 69 89 65 83 61 78 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<path d="M 28 50 C 30 28 58 14 90 14 C 118 14 136 28 142 46 C 143 49 143 51 142 54 C 136 72 118 86 90 86 C 58 86 30 72 28 50 Z" fill="var(--f1,hsl(30,45%,48%))"/>
<path d="M 142 54 C 136 72 118 86 90 86 C 58 86 30 72 28 50 L 34 54 C 44 68 62 76 90 76 C 116 76 134 68 142 54 Z" fill="var(--f2,hsl(30,30%,70%))"/>
<path d="M 100 46 C 112 48 120 56 121 67 C 112 63 103 57 98 51 Z" fill="var(--f3,hsl(30,50%,32%))"/>
<circle cx="64" cy="38" r="4" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="84" cy="50" r="3.5" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="100" cy="34" r="3" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="76" cy="62" r="3" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="92" cy="26" r="2.5" fill="var(--f4,hsl(30,45%,26%))"/>
<circle cx="124" cy="40" r="7" fill="#fff"/>
<circle cx="126" cy="40" r="3.5" fill="#142638"/>
<path d="M 140 48 C 146 50 149 53 150 57" fill="none" stroke="var(--f4,hsl(30,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M 138 54 C 144 57 146 61 147 65" fill="none" stroke="var(--f4,hsl(30,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<!-- хвост: умеренная вилка, лопасти симметричны относительно y=50 (верх 32 / низ 68); база утоплена в стебель (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M40 44 L12 32 C20 40 25 45 30 50 C25 55 20 60 12 68 L40 56 Z"/>
<!-- спинной плавник: ДЛИННАЯ база (x70..119), высокий передний луч (86,15), задняя кромка ВОГНУТА (садится ниже хорды, не выпуклая, как у карася) -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M70 30 C74 20 79 15 86 15 C95 22 107 25 119 28 L119 30 Z"/>
<!-- лучи спинного: 5 тонких штрихов веером от основания к кромке (передние короче) -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="0.9" opacity="0.3" d="M74 29 L76 21 M81 29 L83 17.5 M89 29 L91 19 M97 29 L99 22.3 M106 29 L108 25"/>
<!-- анальный плавник: широкая мягкая лопасть у самого хвоста (x46..62), база утоплена в брюхо -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M46 60 C47 74 51 82 57 82.5 C63 82 66 76 62 68 Z"/>
<!-- лучи анального: 3 тёмных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1" opacity="0.3" d="M50 66 L52 78 M55 68 L57 80 M60 70 L60.5 80"/>
<!-- брюшные плавники: ДВЕ отдельные мягкие округлые лопасти (x94..113 на брюхе, кончики ~y87), назад-вниз, без острых углов -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M94 71 C91 78 91 84 96 87 C99 84 101 78 102 71 Z"/>
<path fill="var(--f3,hsl(30,50%,32%))" d="M104 71 C102 78 102 84 107 87 C110 84 112 78 113 71 Z"/>
<!-- тело: вытянуто-мощное (глубина/длина ≈0.44), горб (88,24), низ брюха (96,78), тупое рыло (150,51), стебель 12 ед. -->
<path fill="var(--f1,hsl(36,52%,46%))" d="M150 49 C147 43 142 39 136 37 C124 29 104 25 88 24 C68 24 48 30 34 44 L34 56 C48 70 68 78 96 78 C124 78 142 66 150 53 C150.6 51.5 150.6 50.5 150 49 Z"/>
<!-- брюхо: светлая (f2) нижняя треть -->
<path fill="var(--f2,hsl(42,45%,74%))" d="M34 56 C48 70 68 78 96 78 C124 78 142 66 150 53 C142 64 126 71 104 72 C78 73 54 67 34 56 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(28,45%,20%))" d="M150 49 C147 43 142 39 136 37 C124 29 104 25 88 24 C68 24 48 30 34 44 C46 34 66 29 88 28 C104 28 120 32 130 38 C140 44 146 47 150 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём крупной головы) -->
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.35" d="M124 38 C130 45 131 55 126 63 C121 55 119.5 46 120 39 Z"/>
<!-- жаберная дуга: тёмный серп у головы (сдвинут влево, чтобы не липнуть к глазу) -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.5" d="M124 38 C130 45 131 55 126 63"/>
<!-- чешуя (признак породы): 6 широких f2-серпов в два ряда — верхний x76/92/108, нижний x72/88/106 -->
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M76 34 Q68 40 76 46 Q73 40 76 34 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M92 32 Q84 38 92 44 Q89 38 92 32 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M108 36 Q100 42 108 48 Q105 42 108 36 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M72 46 Q64 52 72 58 Q69 52 72 46 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M88 44 Q80 50 88 56 Q85 50 88 44 Z"/>
<path fill="var(--f2,hsl(42,45%,74%))" opacity="0.33" d="M106 48 Q98 54 106 60 Q103 54 106 48 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой, ПОСЛЕ тела, направлена назад-вниз -->
<path fill="var(--f3,hsl(30,50%,32%))" d="M136 54 C130 58 123 63 124 67 C125 70 131 64 136 57 Z"/>
<!-- рот ПОЛУНИЖНИЙ: узкие тёмные губы на нижней стороне рыла (не конечный-верхний, как у карася) -->
<path fill="var(--f4,hsl(28,45%,20%))" d="M149.6 51.6 C148.2 54.2 146 55.6 144 55.4 C145.2 53.6 146.8 52.2 148.4 51.2 Z"/>
<!-- УСЫ (главный различитель с карасём, только f4, stroke-width 1.8): верхние длинные ~14 ед. — поверх грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.8" stroke-linecap="round" d="M146 52 L132 60 M144 52 L134 63"/>
<!-- нижние усы короткие ~7 ед., ниже и круче верхних -->
<path fill="none" stroke="var(--f4,hsl(28,45%,20%))" stroke-width="1.8" stroke-linecap="round" d="M145 55 L137 58 M145 56 L138 60"/>
<!-- глаз последним: ободок f4 → склера → радужка #c98a2a → зрачок → блик -->
<circle fill="var(--f4,hsl(28,45%,20%))" cx="133" cy="42" r="5"/>
<circle fill="#f4f1e6" cx="133" cy="42" r="4.1"/>
<circle fill="#c98a2a" cx="133" cy="42" r="3"/>
<circle fill="#142638" cx="133" cy="42" r="2.1"/>
<circle fill="#fff" cx="131.5" cy="40.5" r="0.8"/>
</symbol>
<symbol id="fish-pike" viewBox="0 0 160 100">
<!-- хвост: мелкая вилка -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M20,46 L7,34 L14,44 L14,50 L7,60 L20,50 Z"/>
<!-- спинной плавник: смещён к хвосту, низкий, округлый -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M28,41 C31,31 42,25 54,26 C57,26.5 58,29 57,33.5 Z"/>
<!-- брюшной плавник: маленький, снизу -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M58,63 L53,71 L63,64 Z"/>
<!-- тело: удлинённое, плоская заострённая морда-«клюв» -->
<path fill="var(--f1,hsl(100,45%,48%))" d="M142,45 C137,41 128,37 116,34 C96,31 66,31 45,35 C33,38 25,42 20,47 L18,51 C25,56 33,60 45,63 C66,66 96,65 116,59 C128,56 138,52 141,48 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(100,30%,70%))" d="M18,51 C25,56 33,60 45,63 C66,66 96,65 116,59 C128,56 138,52 141,48 L142,45 C130,49 110,52 88,53 C66,54 40,53 22,50 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(100,50%,32%))" d="M98,50 C94,55 94,59 98,62 C102,58 103,54 101,50 Z"/>
<!-- пасть: тёмная щель -->
<path fill="var(--f4,hsl(100,45%,26%))" d="M142,45 L141,48 L122,46.5 Z"/>
<!-- узор: тёмные пятна по бокам -->
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="45" cy="47" rx="4" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="62" cy="45" rx="4.5" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="80" cy="46" rx="4.5" ry="2.5"/>
<ellipse fill="var(--f4,hsl(100,45%,26%))" cx="98" cy="48" rx="4" ry="2.5"/>
<!-- глаз -->
<circle fill="#fff" cx="124" cy="41" r="3.2"/>
<circle fill="#142638" cx="124.5" cy="41" r="1.6"/>
<!-- хвост: слабо выемчатый — лопасти чуть дальше центра; корень утоплен в стебель (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M32 45 C26 41 20 37 12 34 C15 41 17 46 17 50 C17 54 15 59 12 66 C20 63 26 59 32 55 Z"/>
<!-- спинной плавник: СДВИНУТ К ХВОСТУ, основание глубоко в теле (≥4 ед.), вершина округлая -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M40 47 C41.5 35 46.5 29.5 52 29.5 C57.5 29.5 61 35 62 47 L40 47 Z"/>
<!-- анальный плавник: стоит НАПРОТИВ спинного, тем же сдвигом к хвосту -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M42 55 C44.5 63 48.5 68.5 53 68.5 C57.5 68.5 60.5 63 62 55 L42 55 Z"/>
<!-- брюшные плавники: пара мелких лопастей, основания утоплены в брюхо -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M64 56 C62 62 63 67 67 67.5 C70 66 71 61 70 56 Z"/>
<path fill="var(--f3,hsl(100,35%,28%))" d="M74 56 C73 63 75 68 79 68 C82 66 82 61 81 56 Z"/>
<!-- тело: торпеда ~4:1, спина почти прямая; верх головы плоский (150,42)→(130,38)→(116,40), верхняя челюсть (152,44), выдвинутая НИЖНЯЯ (153,46.5) -->
<path fill="var(--f1,hsl(95,30%,38%))" d="M152 44 L150 42 C142 39.5 136 38.2 130 38 L116 40 C100 35.5 86 35 72 36 C52 38 36 41.5 28 45 L28 55 C38 60 52 65 70 68 C98 67.5 128 60 146 50.5 L153 46.5 Z"/>
<!-- брюхо: светлая полоса вдоль брюшной кромки -->
<path fill="var(--f2,hsl(85,35%,72%))" d="M28 55 C38 60 52 65 70 68 C98 67.5 128 60 146 50.5 L153 46.5 C140 52 120 57.5 100 59.5 C76 61.5 48 59 28 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(95,40%,18%))" d="M152 44 L150 42 C142 39.5 136 38.2 130 38 L116 40 C100 35.5 86 35 72 36 C52 38 36 41.5 28 45 L28 46.8 C37 43.2 53 39.8 72 38 C88 36.4 102 37.6 116 42.2 L130 40.3 L150 44.3 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы), отодвинута от ободка глаза -->
<path fill="var(--f2,hsl(85,35%,72%))" opacity="0.3" d="M116 41 C120 46 120 51 116.5 56 C112.5 51 112.5 46 113.5 41.5 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(95,40%,18%))" stroke-width="1.5" d="M116 41 C120 46 120 51 116.5 56"/>
<!-- слабые тёмные вертикали по боку: 4 размытые полосы камуфляжа -->
<path fill="none" stroke="var(--f4,hsl(95,40%,18%))" stroke-width="3.4" stroke-linecap="round" opacity="0.3" d="M50 42 L50 58 M66 40 L66 61 M82 39.5 L82 61 M98 40.5 L98 60"/>
<!-- ГЛАВНЫЙ узор вида: 7-8 светлых овалов-пятен в тёмном поле одним compound-path (f2 светлые — читаются в любом варианте) -->
<path fill="var(--f2,hsl(85,35%,72%))" opacity="0.55" d="M115.03 50.52 A5 2.6 -6 1 0 124.97 49.48 A5 2.6 -6 1 0 115.03 50.52 Z M96.53 47.58 A5.5 2.6 -6 1 0 107.47 46.42 A5.5 2.6 -6 1 0 96.53 47.58 Z M81.03 49.52 A5 2.8 -6 1 0 90.97 48.48 A5 2.8 -6 1 0 81.03 49.52 Z M64.53 46.58 A5.5 2.5 -6 1 0 75.47 45.42 A5.5 2.5 -6 1 0 64.53 46.58 Z M49.03 50.52 A5 2.7 -6 1 0 58.97 49.48 A5 2.7 -6 1 0 49.03 50.52 Z M37.82 54.44 A4.2 2.2 -6 1 0 46.18 53.56 A4.2 2.2 -6 1 0 37.82 54.44 Z M57.53 56.47 A4.5 2.3 -6 1 0 66.47 55.53 A4.5 2.3 -6 1 0 57.53 56.47 Z M75.53 57.47 A4.5 2.2 -6 1 0 84.47 56.53 A4.5 2.2 -6 1 0 75.53 57.47 Z"/>
<!-- ротовая щель: длинная, от конца рыла НАЗАД ПОД глаз (не на конце рыла) -->
<path fill="var(--f4,hsl(95,40%,18%))" d="M151.5 44.4 C139 44.2 126 44.1 114 44.2 C126 46 139 46.8 151.5 46.5 Z"/>
<!-- грудной плавник: на боку у брюха, позади жаберной дуги, кончиком вниз-назад (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(100,35%,28%))" d="M124 50 C122.5 55 119 59.5 114 60.5 C115 55 118 50.5 122 47.5 Z"/>
<!-- глаз: крупный, жёлтая радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(95,40%,18%))" cx="130" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="130" cy="42" r="3.7"/>
<circle fill="#d9b23a" cx="130" cy="42" r="2.8"/>
<circle fill="#142638" cx="130" cy="42" r="2"/>
<circle fill="#fff" cx="128.9" cy="40.8" r="0.8"/>
</symbol>
<symbol id="fish-catfish" viewBox="0 0 160 100">
<path d="M28 50 L12 36 L20 50 L12 64 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M26 50 Q36 30 70 27 L124 27 Q140 30 142 45 Q139 58 128 62 Q108 76 80 77 Q46 75 26 50 Z" fill="var(--f1,hsl(260,45%,48%))"/>
<path d="M30 55 Q48 74 80 75 Q108 74 126 61 Q114 76 80 77 Q47 75 30 55 Z" fill="var(--f2,hsl(260,30%,70%))"/>
<path d="M74 27 Q94 10 112 26 Q92 22 74 27 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M100 58 Q118 62 114 78 Q102 71 96 61 Z" fill="var(--f3,hsl(260,50%,32%))"/>
<path d="M58 40 Q65 36 72 40 Q65 46 58 40 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M80 46 Q87 42 94 46 Q87 52 80 46 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M48 52 Q55 48 62 52 Q55 58 48 52 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M116 54 Q132 52 142 45 Q137 58 126 61 Q118 58 116 54 Z" fill="var(--f4,hsl(260,45%,26%))"/>
<path d="M141 44 Q152 36 156 26" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M142 50 Q154 52 158 62" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M127 55 Q116 51 106 48" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M124 60 Q112 66 102 66" fill="none" stroke="var(--f4,hsl(260,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<circle cx="116" cy="36" r="5" fill="#fff"/>
<circle cx="117.5" cy="36" r="2.4" fill="#142638"/>
<!-- хвост: округлый «веер» (НЕ вилка), уменьшен ~на 23%, симметричен относительно y=50, основанием заходит в стебель -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M30 43.1 C22.3 39.2 16.1 41.5 14.2 50 C16.1 58.5 22.3 60.8 30 56.9 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ, основание утоплено в спину (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M89 44 C90 29.5 94 24.5 97.5 24.5 C101.5 24.5 104 30 105 44 Z"/>
<!-- анальный плавник: ДЛИННЫЙ, тянется вдоль задней половины брюха (антипод крошечного спинного) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M36 55 C34 64 41 71 53 71 C64 71 69 65 71 58 Z"/>
<!-- анальный плавник: тонкая тёмная обводка по передней кромке — отделяет от тела -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.55" d="M36 55 C34 64 41 71 53 71"/>
<!-- анальный плавник: 3 бледных луча f4 внутри лопасти -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M41 59 L43.5 70.2"/>
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M48 63.5 L50.5 70.7"/>
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1" opacity="0.3" d="M56 66.5 L58 70.5"/>
<!-- брюшной плавник 1: мягкая маленькая лопасть -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M75 62 C73.5 68 76 72.5 80.5 70.5 C83 68.5 82 64 81 61 Z"/>
<!-- брюшной плавник 2: пара к первой, чуть сзади -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M84 62.5 C82.5 68.5 85 73 89.5 70.5 C92 68 90.5 64 89.5 61.5 Z"/>
<!-- верхний ус 1: ОЧЕНЬ длинный (≈45 ед.), ложится вдоль брюха почти до брюшных плавников -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M147 53 C130 58 116 64 104 70"/>
<!-- верхний ус 2: пара к первому, чуть ниже -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M145 54 C132 60 120 66 110 73"/>
<!-- нижний ус 1: короткий, уходит назад-вниз -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M144 57 C138 60 130 63 124 67"/>
<!-- нижний ус 2: пара к короткому -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="2" stroke-linecap="round" d="M144 58 C140 61 133 65 128 70"/>
<!-- тело: массивная тупая голова ≈¼ длины с КРУТЫМ лбом-ГОРБОМ (пик 132,27, выше прежнего 31), седло за головой 114,36.5, суженный стебель 11 ед. -->
<path fill="var(--f1,hsl(40,30%,38%))" d="M150 52 C149 43 143.5 30 132 27 C126 26.8 119 29.5 114 36.5 C104 38.8 84 40.2 64 41.8 C50 43 34 44.5 24 45 L24 56 C40 61 62 70 86 70 C102 70 118 61.5 132 57 C139 54.5 147 53 150 52 Z"/>
<!-- брюхо: светлая нижняя полоса вдоль всего корпуса -->
<path fill="var(--f2,hsl(38,30%,68%))" d="M24 56 C40 61 62 70 86 70 C102 70 118 61.5 132 57 C139 54.5 147 53 150 52 C145 51.5 141 52.5 136 54 C129 56 122 58 114 59.5 C104 61.5 96 63.5 86 65 C64 64 42 58.5 24 56 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру, повторяет новый лоб-горб (не зубцы) -->
<path fill="var(--f4,hsl(30,35%,16%))" d="M150 52 C149 43 143.5 30 132 27 C126 26.8 119 29.5 114 36.5 C104 38.8 84 40.2 64 41.8 C50 43 34 44.5 24 45 C34 46.6 52 48.4 64 46.4 C84 44.4 104 41.8 114 39.5 C123 30 130 29 137 35 C143.5 41.5 148 48 150 52 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (за головой, не липнет к глазу) -->
<path fill="var(--f2,hsl(38,30%,68%))" opacity="0.3" d="M119 36 C124 44 123 53 119 60 C115 53 114 44 114 37 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы -->
<path fill="none" stroke="var(--f4,hsl(30,35%,16%))" stroke-width="1.5" d="M119 36 C124 44 123 53 119 60"/>
<!-- голое тело: блёклая f4-клякса 1 (чешуи у сома нет) -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.14" d="M60 43 C66 41 72 44 70.5 48 C69 52 61 51.5 58.5 48.5 C56.5 45.5 57.5 44 60 43 Z"/>
<!-- блёклая клякса 2 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.12" d="M86 44 C91 42 96 45 94.5 49 C93 53 86 52 84 49 C82.5 46.5 83.5 45 86 44 Z"/>
<!-- блёклая клякса 3 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.15" d="M46 50 C50 48.5 54 51 52.5 54.5 C51 57.5 45 57 43.5 54 C42.5 51.5 43.5 50.5 46 50 Z"/>
<!-- блёклая клякса 4 -->
<path fill="var(--f4,hsl(30,35%,16%))" opacity="0.13" d="M104 46 C107.5 44.5 110.5 47 109.5 50 C108.5 52.5 103 52 102 49.5 C101.5 47.5 102 46.5 104 46 Z"/>
<!-- губа: УЗКАЯ светлая кромка снизу пасти (нижняя челюсть) -->
<path fill="var(--f2,hsl(38,30%,68%))" d="M151 57.6 C144 60.6 133 61 124 58 C133 62 145 61.8 151.6 59 Z"/>
<!-- пасть: ЗАМЕТНАЯ тёмная полоса нутра высотой ~3.6 ед., раскрыта назад-вниз от (151,54) до (124,58) — не «улыбка» -->
<path fill="var(--f4,hsl(30,35%,16%))" d="M151 54 C144 55.6 133 57.2 124 58 C133 61 144 60.6 151 57.6 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой (рисуется ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(35,35%,28%))" d="M133 53 C128 55 121 59.5 121.5 64.5 C122 69 128 62.5 132.5 57.5 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (антипод окуня), высоко и вперёд; ободок → склера → тусклая радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(30,35%,16%))" cx="135" cy="41" r="3.6"/>
<circle fill="#f4f1e6" cx="135" cy="41" r="2.7"/>
<circle fill="#b3a468" cx="135" cy="41" r="1.9"/>
<circle fill="#142638" cx="135" cy="41" r="1.3"/>
<circle fill="#fff" cx="134.2" cy="40.2" r="0.5"/>
</symbol>
<symbol id="fish-sturge" viewBox="0 0 160 100">
<!-- хвост: разнорострый, верхняя лопасть заметно длиннее нижней -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M26,42 C18,34 10,29 5,25 C9,34 14,41 18,45 L18,55 C15,57 13,58.5 11,60 C14,58.5 18,56 22,54 Z"/>
<!-- спинной плавник: маленький, смещён к хвосту -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M36,41 C40,30 49,27 56,31 C51,36 45,39 38,41 Z"/>
<!-- анальный плавник: маленький, сзади -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M40,63 L36,70 L46,64 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M102,50 C96,57 96,65 103,71 C109,65 111,57 109,50 Z"/>
<!-- тело: удлинённое, заострённое коническое рыло -->
<path fill="var(--f1,hsl(200,45%,48%))" d="M154,47 C144,40 130,35.5 112,34 C96,33 80,33.5 64,35 C48,36.5 34,39 26,42 L24,44 L24,56 L26,58 C34,61 48,64 64,66 C80,67.5 96,68 112,66 C130,63.5 144,55 154,47 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(200,30%,70%))" d="M154,47 C144,55 130,63.5 112,66 C96,68 80,67.5 64,66 C48,64 34,61 26,58 L24,56 L24,51 C34,54.5 52,57 76,58 C100,59 132,55 154,47 Z"/>
<!-- кырьиши: ряд костных бугорков вдоль спинки -->
<path fill="var(--f4,hsl(200,45%,26%))" d="M35.5,39.7 L40,33.6 L44.5,38.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M47.5,37.2 L52,32.4 L56.5,36.3 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M59.5,35.9 L64,31.4 L68.5,35.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M71.5,34.8 L76,30.4 L80.5,34.4 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M83.5,34.3 L88,29.8 L92.5,34.2 Z"/>
<path fill="var(--f4,hsl(200,45%,26%))" d="M95.5,34.1 L100,30.2 L104.5,34.4 Z"/>
<!-- пасть: тёмная щель на острие рыла -->
<path fill="var(--f4,hsl(200,45%,26%))" d="M154,47 L152.2,50.2 L137,48.4 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="131" cy="42" r="3.4"/>
<circle fill="#142638" cx="131.6" cy="42" r="1.7"/>
<!-- хвост: гетероцеркальный — верхняя лопасть длинная заострённая к (8,20), нижняя короткая округлая к (14,63) -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M36 43 L8 20 C13 33 15 45 13 54 C19 57 27 57 36 56 Z M36 55.5 C27 56.5 18 58.5 14 62.5 C19 64.5 28 62.5 36 59.5 Z"/>
<!-- спинной плавник (D): маленький, сдвинут к хвосту, основание утоплено в тело (нахлёст ≥4 ед.) -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M46 46 C49 36 55 30.5 61 30 C62.5 35 63 40 63 46 Z"/>
<!-- анальный плавник (A): маленький, сдвинут к хвосту, растёт широким основанием из брюха -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M46 57.5 C48 65 53 70 58 70 C59.5 66 59.5 61 58.5 57.5 Z"/>
<!-- брюшные плавники: пара мягких округлых лопастей назад-вниз -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M88 60 C84 67 80 70 81 72 C85 70 88 66 90 61 Z"/>
<path fill="var(--f3,hsl(200,20%,30%))" d="M80 60 C76 67 72 70 73 72 C77 70 80 66 82 61 Z"/>
<!-- усики: 4 тонких СУЖАЮЩИХСЯ к концу волокна-бахрома, начало спрятано под ртом, свисают вниз ПОЧТИ ВЕРТИКАЛЬНО (лёгкий наклон назад), разной длины — бахрома, не «пальцы» -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M144.71 53 C144.81 55.78 144.66 55.78 144.37 58.56 C144.76 55.78 145.29 55.78 145.39 53 Z M145.51 53.15 C145.61 56.15 145.67 56.15 145.59 59.14 C145.77 56.15 146.09 56.15 146.19 53.15 Z M146.26 53.15 C146.36 56.1 146.68 56.1 146.86 59.04 C146.78 56.1 146.84 56.1 146.94 53.15 Z M147.01 53 C147.11 55.68 147.63 55.68 148.01 58.36 C147.73 55.68 147.59 55.68 147.69 53 Z"/>
<!-- рот: рисуется ДО тела — верх уходит под контур рыла (нахлёст ≥2, шва нет); видна лишь компактная СКРУГЛЁННАЯ снизу нижняя присоска (ширина ≈6.2, видимая высота ≈4.5), нижний край y≈53.4 — трубка вдвое меньше прежней, не «башмак» -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M143.4 45 C143 47.8 143.2 50.8 144 52.2 C144.6 53.1 145.4 53.4 146.5 53.4 C147.6 53.4 148.4 53.1 149 52.2 C149.8 50.8 150 47.8 149.6 45 Z"/>
<!-- ротовое отверстие: маленькая тёмная щель по центру нижнего торца трубки -->
<path fill="#0d1417" d="M145.8 52.6 C146.3 53.05 146.9 53.05 147.4 52.65 C146.9 52.25 146.3 52.25 145.8 52.6 Z"/>
<!-- тело: веретеновидное (глубина/длина ≈0.26), спина горбатая (110,35), брюхо низкое (90,65), коническое рыло с чуть притуплённым кончиком (154,46.5..48.5), плавное сужение к тонкому стеблю (~11 ед.) в зоне x32..44 (без обрубка) -->
<path fill="var(--f1,hsl(200,18%,40%))" d="M154 47 C149 40.5 140 36.5 128 36 C118 35 108 34.8 100 35 C80 35.5 55 38.5 36 44 Q31.5 45.8 31.5 49.75 Q31.5 53.7 36 55.5 C55 61.5 80 64.5 100 65 C112 64 122 59 130 52 C139 50 149 48.8 154 47 Z"/>
<!-- брюхо: светлая полоса вдоль подводной кромки -->
<path fill="var(--f2,hsl(200,15%,72%))" d="M36 55.5 C55 61.5 80 64.5 100 65 C112 64 122 59 130 52 C124 53.5 110 57.5 100 58.5 C78 57 52 54 34.5 52 Z"/>
<!-- жаберная пластина: мягкая светлая заливка за глазом -->
<path fill="var(--f2,hsl(200,15%,72%))" opacity="0.35" d="M122 39 C127 45 128 53 122 59 C118 53 117 45 117 40 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы -->
<path fill="none" stroke="var(--f4,hsl(200,20%,18%))" stroke-width="1.5" d="M122 39 C127 45 128 53 122 59"/>
<!-- ЖУЧКИ, спинной ряд: 8 мягких бугорков вдоль спины от x53.8 до x126.2 (основание утоплено в тело, высота 2.55–2.95), куполообразные и наклонены назад (вершина сдвинута к хвосту на ≈0.45) — бугорки на коже, а не пила -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M53.8 40.86 C56.19 37.46 59.01 37.46 60.2 40.86 Z M63.3 39.38 C65.69 35.65 68.51 35.65 69.7 39.38 Z M72.8 38.22 C75.19 34.35 78.01 34.35 79.2 38.22 Z M82.3 37.34 C84.69 33.67 87.51 33.67 88.7 37.34 Z M91.8 36.77 C94.19 32.84 97.01 32.84 98.2 36.77 Z M101.3 36.53 C103.69 32.73 106.51 32.73 107.7 36.53 Z M110.8 36.67 C113.19 33.07 116.01 33.07 117.2 36.67 Z M119.8 37.16 C122.19 33.69 125.01 33.69 126.2 37.16 Z"/>
<!-- ЖУЧКИ, боковой ряд: 5 ромбиков 5×7 по боковой линии -->
<path fill="var(--f4,hsl(200,20%,18%))" d="M52 45.5 L54.5 49 L52 52.5 L49.5 49 Z M68 45 L70.5 48.5 L68 52 L65.5 48.5 Z M84 45 L86.5 48.5 L84 52 L81.5 48.5 Z M100 45 L102.5 48.5 L100 52 L97.5 48.5 Z M116 45 L118.5 48.5 L116 52 L113.5 48.5 Z"/>
<!-- ЖУЧКИ, брюшной ряд: 4 косых штриха под брюхом -->
<path fill="none" stroke="var(--f4,hsl(200,20%,18%))" stroke-width="1.2" d="M62 60 L58 64 M78 62 L74 66 M94 63.5 L90 67 M110 63.5 L106 67"/>
<!-- блики: 5 коротких светлых серпов по верху тела -->
<path fill="var(--f2,hsl(200,15%,72%))" opacity="0.35" d="M64 41 Q59 45 64 49 Q62 45 64 41 Z M80 39 Q75 43 80 47 Q78 43 80 39 Z M96 38 Q91 42 96 46 Q94 42 96 38 Z M112 39 Q107 43 112 47 Q110 43 112 39 Z M120 42 Q115 46 120 50 Q118 46 120 42 Z"/>
<!-- грудной плавник: уменьшен (≈⅔ прежнего), сидит на боку под жаберной дугой, направлен назад-вниз -->
<path fill="var(--f3,hsl(200,20%,30%))" d="M127 50.5 C122 52.5 117.5 56.5 117 60.5 C116.8 64.5 120 63 123 59.5 C126 56 128.8 52.5 129.5 51.5 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(200,20%,18%))" cx="130" cy="41" r="3.5"/>
<circle fill="#f4f1e6" cx="130" cy="41" r="2.7"/>
<circle fill="#6f7566" cx="130" cy="41" r="1.9"/>
<circle fill="#142638" cx="130" cy="41" r="1.3"/>
<circle fill="#fff" cx="129" cy="40" r="0.5"/>
</symbol>
<symbol id="fish-gold" viewBox="0 0 160 100">
<path d="M74 40 Q60 34 52 22 Q42 12 22 10 Q34 20 30 30 Q26 38 38 42 Q50 46 58 46 Q66 48 74 48 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M74 60 Q60 66 52 78 Q42 88 22 90 Q34 80 30 70 Q26 62 38 58 Q50 54 58 54 Q66 52 74 52 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M71 50 Q71 18 103 18 Q135 18 135 50 Q135 82 103 82 Q71 82 71 50 Z" fill="var(--f1,hsl(42,72%,55%))"/>
<path d="M73 55 Q103 63 133 55 Q130 80 103 81.5 Q76 80 73 55 Z" fill="var(--f2,hsl(45,65%,76%))"/>
<path d="M86 24 Q100 4 120 20 Q106 22 92 28 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M106 58 Q124 64 120 78 Q108 72 102 62 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<path d="M90 80 Q100 94 112 86 Q102 82 94 78 Z" fill="var(--f3,hsl(38,78%,42%))"/>
<circle cx="90" cy="40" r="4" fill="var(--f4,hsl(30,62%,36%))"/>
<circle cx="112" cy="34" r="3" fill="var(--f4,hsl(30,62%,36%))"/>
<circle cx="98" cy="66" r="3.5" fill="var(--f4,hsl(30,62%,36%))"/>
<ellipse cx="131" cy="56" rx="2.8" ry="2.2" fill="var(--f4,hsl(30,62%,36%))"/>
<path d="M78 36 Q84 22 103 21 Q122 22 128 36 Q120 27 103 26 Q86 27 78 36 Z" fill="#fff6d8"/>
<circle cx="90" cy="32" r="2.5" fill="#fff6d8"/>
<circle cx="112" cy="28" r="2" fill="#fff6d8"/>
<circle cx="100" cy="48" r="1.5" fill="#fff6d8"/>
<circle cx="118" cy="42" r="7" fill="#fff"/>
<circle cx="119.5" cy="42" r="3.4" fill="#142638"/>
<!-- хвост: верхняя вуалевая лопасть (уходит вверх-влево, кромка текучая) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M80 45 C68 34 48 22 30 15 C20 11 15 11 13 12 C14 19 20 27 30 36 C42 46 60 50 80 45 Z"/>
<!-- хвост: нижняя вуалевая лопасть (расходится с верхней, выемка между ними) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M80 55 C68 66 48 78 30 85 C20 89 15 89 13 88 C14 81 20 73 30 64 C42 54 60 50 80 55 Z"/>
<!-- складка верхней лопасти: мягкий луч по центру (не параллелен кромке) -->
<path fill="none" stroke="#ffd98a" stroke-width="1" opacity="0.22" d="M74 43 C60 36 46 28 34 21"/>
<!-- складка нижней лопасти -->
<path fill="none" stroke="#ffd98a" stroke-width="1" opacity="0.22" d="M74 57 C60 64 46 72 34 79"/>
<!-- спинной плавник: высокий, длинная волнистая задняя кромка -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M76 34 C81 16 92 4 104 3 C114 2 122 8 126 17 C129 24 132 29 134 34 C118 32 96 31 76 34 Z"/>
<!-- лучи спинного плавника -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M88 24 L92 8"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M101 23 L103 4"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M114 24 L119 12"/>
<!-- анальный плавник: цельная ниспадающая вуаль с плавной кромкой -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M110 74 C106 84 98 92 88 96 C82 98 76 98.5 72 98 C77 91 80 83 81 67 C90 70 100 71.5 110 74 Z"/>
<!-- лучи анальной вуали -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M100 79 C94 85 87 90 80 94"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M92 78 C87 83 82 87 77 91"/>
<!-- брюшные плавники: пара мягких вуалей с округлыми концами (без острых щупалец) -->
<path fill="var(--f3,hsl(32,80%,45%))" d="M131 70 C134 79 132 89 125 95 C120 98 115 96 114 92 C117 86 119 78 119 70 C123 70.5 127 70.5 131 70 Z"/>
<path fill="var(--f3,hsl(32,80%,45%))" d="M123 71 C126 79 125 87 120 92 C117 95 113 94 112 90 C114 84 115 78 115 71 C118 71 120 71 123 71 Z"/>
<!-- тело: короткое яйцевидное, гладкие дуги спины и брюха (голова мелкая заострённая) -->
<path fill="var(--f1,hsl(36,84%,53%))" d="M149 50 C147 42 142 34 134 29 C125 23.5 113 21 101 22 C86 23 73 31 67 43 C65.5 46.5 65.5 53.5 67 57 C73 69 86 77 101 78 C113 79 125 76.5 134 71 C142 66 147 58 149 50 Z"/>
<!-- брюхо: кремовая нижняя дуга -->
<path fill="var(--f2,hsl(45,72%,80%))" d="M67 57 C73 69 86 77 101 78 C113 79 125 76.5 134 71 C126 72 114 71 102 70 C87 68 74 64 67 57 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру -->
<path fill="var(--f4,hsl(14,55%,30%))" d="M149 50 C147 42 142 34 134 29 C125 23.5 113 21 101 22 C86 23 73 31 67 43 C75 33 90 26 103 25 C115 24.5 127 28 135 33 C142 38 147 44 149 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (сдвинута влево, чтобы не липла к глазу) -->
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M119 34 C123.5 42 124 54 119.5 65 C115.5 54 114.5 44 115.5 35 Z"/>
<!-- жаберная дуга: чистый зазор ≥4.5 ед. от ободка глаза -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="1.5" d="M119 34 C123.5 42 124 54 119.5 65"/>
<!-- чешуя: 3 широких металлических серпа на боку -->
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M108 33 Q98 50 108 67 Q103 50 108 33 Z"/>
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M118 32 Q108 50 118 68 Q113 50 118 32 Z"/>
<path fill="var(--f2,hsl(45,72%,80%))" opacity="0.3" d="M128 34 Q118 50 128 66 Q123 50 128 34 Z"/>
<!-- металлические искры (фикс-акцент) -->
<circle fill="#fff3c4" cx="96" cy="31" r="1.8"/>
<circle fill="#fff3c4" cx="116" cy="52" r="1.5"/>
<!-- рот: крошечная щель на заострённом рыле (усов нет) -->
<path fill="var(--f4,hsl(14,55%,30%))" d="M145 49 C147.5 49.3 149 50 149.7 51 C148 52.2 146 51.4 145 50.2 Z"/>
<!-- грудной плавник: небольшой мягкий овал на боку у брюха, под жаберной дугой, кончиком заходит за брюшную кромку -->
<path fill="var(--f3,hsl(32,80%,45%))" opacity="0.55" d="M130.5 57.5 C127.5 62 121.5 69.5 115 81 C119.5 82 124 76 127.2 68.5 C129.3 63.5 130.7 60 130.5 57.5 Z"/>
<!-- лучи грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M127 61 C123.5 66.5 119.5 73 116.5 78"/>
<path fill="none" stroke="var(--f4,hsl(14,55%,30%))" stroke-width="0.8" opacity="0.35" d="M129 64 C126 68 122 73.5 118.5 78.5"/>
<!-- глаз: САМЫЙ КРУПНЫЙ из трёх (тёмный ободок → узкий серп склеры → крупная радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(14,55%,30%))" cx="135" cy="41.5" r="7.5"/>
<circle fill="#fff8e8" cx="135" cy="41.5" r="5.4"/>
<circle fill="#e08a1e" cx="135" cy="41.5" r="4.9"/>
<circle fill="#142638" cx="135" cy="41.5" r="3"/>
<circle fill="#fff" cx="132.8" cy="39.2" r="1.3"/>
</symbol>
<symbol id="fish-zander" viewBox="0 0 160 100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M40 47 L15 26 L27 50 L15 74 L40 53 Z"/>
<!-- спинной плавник (передний, колючий) -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M56 36 Q68 8 86 30.5 Z"/>
<!-- спинной плавник (задний, мягкий) -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M88 30 Q99 10 111 32.5 Z"/>
<!-- тело: удлинённое, заострённая морда -->
<path fill="var(--f1,hsl(180,45%,48%))" d="M36 48 C46 35 70 28 96 29 C118 30 136 40 146 50 C136 60 118 70 96 71 C70 72 46 65 36 52 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2,hsl(180,30%,70%))" d="M36 52 C46 65 70 72 96 71 C118 70 136 60 146 50 C128 55.5 102 60 78 60.5 C58 61 43 57.5 36 52 Z"/>
<!-- узор: тёмная полоса вдоль бока от головы к хвосту -->
<path fill="var(--f4,hsl(180,45%,26%))" d="M118 41.5 C102 39.8 90 39.8 78 40.5 C60 41.5 47 44 39 47.5 L39 53.5 C47 56 60 53 78 51.5 C98 51.8 110 52.3 118 52 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M111 54 C106 59 106 63.5 111 66.5 C114 62 115 58 113 54 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M64 66.5 L59 75 L69 67.5 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(180,50%,32%))" d="M88 70 L82 78.5 L94 71 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="126" cy="43" r="4.5"/>
<circle fill="#142638" cx="127" cy="43" r="2.2"/>
<!-- хвост: слабо вильчатый, корень утоплен в стебель толщ.12 (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M48 43.5 C40 40.5 29 35.5 12 31 C16 38.5 18.5 44 19.5 50 C18.5 56 16 61.5 12 69 C29 64.5 40 59.5 48 56.5 Z"/>
<!-- D1 передний спинной: ГЛАДКАЯ низкая лопасть, кромка спокойная с 4 МЕЛКИМИ вогнутыми выемками (без шипов и гребёнки — не путать с окунем), основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M58 45 C59 36.5 61 29.8 65.5 27.4 Q67.35 31 69.2 29.6 Q71 33.4 72.8 32.2 Q74.65 36.5 76.5 35.8 Q78.75 41.6 81 42.5 Z"/>
<!-- D2 задний спинной: отдельный МЯГКИЙ плавник, чуть выше переднего, между ними зазор (81..86) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M86 40.5 C87 31 91 24.8 97 24.2 C103 24.2 106.5 30 108 38.5 Z"/>
<!-- анальный плавник: мягкий, основание вдоль брюха (нахлёст ≥4), низ до y≈79 -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M67 58.5 C69 68 73 76.5 78 79 C82.5 77 85 69 85 62.5 Z"/>
<!-- брюшные плавники: пара мягких лопастей, основания утоплены в брюхо (нахлёст ≥4) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M91 63.5 C90 73 91.5 81.5 95 85.5 C98 81.5 99 73 98.5 63.5 Z M103 64 C102.5 73.5 104 82 107.5 86 C110.5 82 111.5 73.5 111 64 Z"/>
<!-- тело: низкое веретено ~3:1, спина почти ровная (100,33)→затылок (131,38), стебель толщ.11; рыло (151,49), нижняя челюсть чуть вперёд (152.5,51.3) -->
<path fill="var(--f1,hsl(165,18%,47%))" d="M150.5 48.8 C146 43 139.5 39.2 131 38 C120.5 35.8 110.5 33.5 100 33 C79 33.6 58 37.6 44 44.5 L44 55.5 C58 62.4 79 66.4 100 69 C123 70.6 143.5 60.5 149 53.5 L152.5 51.3 Z"/>
<!-- брюхо: светлая нижняя часть -->
<path fill="var(--f2,hsl(160,18%,72%))" d="M44 55.5 C58 62.4 79 66.4 100 69 C123 70.6 143.5 60.5 149 53.5 C138 59 120 64.5 100 65.5 C76 66.8 57 62 44 55.5 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по ровному верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(170,25%,20%))" d="M150.5 48.8 C146 43 139.5 39.2 131 38 C120.5 35.8 110.5 33.5 100 33 C79 33.6 58 37.6 44 44.5 C58 38.6 79 34.9 100 34.9 C110.5 35.2 120.5 37.2 130 40.5 C139 44 146 48 150.5 48.8 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы) -->
<path fill="var(--f2,hsl(160,18%,72%))" opacity="0.3" d="M122 40.5 C126 45.5 126.5 51.5 123.5 57.5 C119.5 51.5 118.5 45.5 119.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у затылка (не задевает ободок глаза) -->
<path fill="none" stroke="var(--f4,hsl(170,25%,20%))" stroke-width="1.5" d="M121 40.5 C125 45.5 125.5 51.5 122.5 57.5"/>
<!-- 5 КОСЫХ тёмных полос одним compound-path: наклон ~13° (верх сдвинут вперёд), шире сверху (4), уже снизу (2.5), брюхо не пересекают -->
<path fill="var(--f4,hsl(170,25%,20%))" opacity="0.55" d="M58 42 L62 42 L57.7 54 L55.2 54 Z M72 39 L76 39 L69.9 60 L67.4 60 Z M86 37 L90 37 L83.1 63 L80.6 63 Z M100 36 L104 36 L96.9 64.5 L94.4 64.5 Z M114 36.5 L118 36.5 L110.9 63.5 L108.4 63.5 Z"/>
<!-- ротовая щель: от конца рыла назад под глаз -->
<path fill="var(--f4,hsl(170,25%,20%))" d="M151 49.4 C143 49.9 136.5 50.9 128.5 52.4 C136.5 53.6 143.5 53 152 51.2 Z"/>
<!-- клыки (фикс-акцент): два мелких треугольника с верхней челюсти -->
<path fill="#f7f3e6" d="M146.5 49.9 L148.3 50 L147.2 52.7 Z M141.8 50.3 L143.5 50.4 L142.5 52.9 Z"/>
<!-- грудной плавник: на боку под жаберной дугой (ПОСЛЕ тела), корень (119,55)→ кончик (113,66) -->
<path fill="var(--f3,hsl(168,22%,36%))" d="M120.5 54.5 C118 58.5 115.5 62.5 113.5 66.5 C117.5 65 121 61 122.5 56.5 Z"/>
<!-- глаз: КРУПНЫЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(170,25%,20%))" cx="133" cy="42" r="5.6"/>
<circle fill="#f7f3e6" cx="133" cy="42" r="4.6"/>
<circle fill="#c9c29a" cx="133" cy="42" r="3.3"/>
<circle fill="#142638" cx="133" cy="42" r="2.3"/>
<circle fill="#fff" cx="131.8" cy="40.8" r="0.9"/>
</symbol>
<symbol id="fish-chuch" viewBox="0 0 160 100">
<path fill="var(--f3,hsl(25,50%,32%))" d="M36 44 C24 36 15 28 10 22 C14 38 19 46 26 52 C19 58 14 68 12 82 C20 74 28 66 38 60 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M106 40 C102 18 92 6 80 6 C60 6 42 22 30 46 C55 38 85 36 106 40 Z"/>
<path fill="var(--f1,hsl(25,45%,48%))" d="M146 53 C142 42 133 35 117 32 C92 27 56 29 34 44 L30 52 C42 66 66 74 92 73 C117 72 140 64 146 53 Z"/>
<path fill="var(--f2,hsl(25,30%,70%))" d="M146 53 C140 64 117 72 92 73 C66 74 42 66 30 52 C50 60 75 63 98 62 C120 60 138 57 146 53 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M97 34 C99 44 99 54 97 60 L104 60 C106 54 106 44 104 34 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M81 33 C83 43 83 53 81 62 L88 62 C90 53 90 43 88 33 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M65 33 C67 43 67 53 65 62 L72 62 C74 53 74 43 72 33 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M49 36 C51 44 51 52 49 59 L55 59 C57 52 57 44 55 36 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M114 54 C106 58 102 64 103 70 C110 68 116 62 118 56 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M74 68 C70 74 68 80 70 84 C76 80 79 75 80 70 Z"/>
<path fill="var(--f3,hsl(25,50%,32%))" d="M56 66 C52 72 51 78 53 82 C58 78 61 73 62 68 Z"/>
<path fill="var(--f4,hsl(25,45%,26%))" d="M146 56 C141 58 136 58 132 56 C136 60 142 60 146 58 Z"/>
<circle cx="128" cy="47" r="6" fill="#fff"/>
<circle cx="129.5" cy="47" r="3" fill="#142638"/>
<!-- хвост: вилочный, лопасти сведены в острия, база садится на тонкий стебель (8 ед.) -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M46 46 L14 33 C23 39 31 44.5 36 49 L36 51 C31 55.5 23 61 14 66 L46 54 Z"/>
<!-- ГЛАВНЫЙ знак вида: спинной плавник-«парус» — высокий, волнистая верхняя кромка (гребни/ложбины), задняя лопасть свисает вниз-назад; основание утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M58 39 C59 25 62 13 66 8 C70 12.5 73.5 13.5 76.5 11.5 C80 8.5 83.5 8.5 87 11.5 C90.5 14.5 94 14.5 97.5 11.5 C100.5 8.8 104 8.8 107 11 C110.5 13.8 114.5 19.5 118.5 26 C120 28.5 121.5 31 122 33 C116.5 33.5 112 35 107.5 37.5 Z"/>
<!-- красноватая кромка паруса (фикс-акцент): по переднему краю, волнистой верхней кромке и задней лопасти -->
<path fill="none" stroke="#c05a72" stroke-width="1.2" d="M58 39 C59 25 62 13 66 8 C70 12.5 73.5 13.5 76.5 11.5 C80 8.5 83.5 8.5 87 11.5 C90.5 14.5 94 14.5 97.5 11.5 C100.5 8.8 104 8.8 107 11 C110.5 13.8 114.5 19.5 118.5 26 C120 28.5 121.5 31 122 33"/>
<!-- лучи паруса: 5 штрихов веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="0.8" opacity="0.35" d="M65 38 C65.5 30 66 20 67 12.5 M74 37.5 C74.5 29 75.5 19 76.5 12 M84 37 C84.5 28 85.5 18.5 86.5 12 M94 36.5 C94.5 27 95.5 18 96.5 12.5 M104 36 C104.5 27 106 18 108.5 13.5"/>
<!-- жировой плавничок: маленький, на спине позади паруса, у самого стебля -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M46 45.5 C47 41.5 48.5 38 51 35.5 C52.5 37.5 53.5 39.5 54 41.5 C51 42.5 48.5 44 46 45.5 Z"/>
<!-- анальный плавник: широко растёт из брюха, мягкая кромка вниз -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M61 65 C64 77.5 70 85 77 85 C84 84 88 77.5 89 65.5 L61 65 Z"/>
<!-- брюшные плавники: пара мягких лопастей назад-вниз -->
<path fill="var(--f3,hsl(255,18%,40%))" d="M90 66.5 C88.5 74 86.5 80.5 88.5 83.5 C92 80.5 94 74.5 95 67.5 Z M99 66.5 C97.5 74 95.5 80.5 97.5 83.5 C101 80.5 103 74.5 104 67.5 Z"/>
<!-- тело: умеренно высокое, спина ровно поднимается к плечу, мелкая голова, маленькое рыло -->
<path fill="var(--f1,hsl(252,16%,60%))" d="M42 46 C50 39.5 60 34 74 32.5 C86 31.2 96 30.6 104 31.4 C118 32.6 128 35.6 136 40.5 C143 44.6 147.5 46.4 150 48 C145 55.5 136.5 61 124.5 65 C110 69.5 94 70.4 79 69.9 C63 69.3 50 61.5 42 54 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(250,20%,82%))" d="M42 54 C50 61.5 63 69.3 79 69.9 C94 70.4 110 69.5 124.5 65 C136.5 61 145 55.5 150 48 C144.5 55 134.5 60 120.5 63 C105 66.5 87 66.8 71 63.8 C58 61.3 48.5 58.5 42 54 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру (не чёрная шапка) -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M42 46 C50 39.5 60 34 74 32.5 C86 31.2 96 30.6 104 31.4 C118 32.6 128 35.6 136 40.5 C143 44.6 147.5 46.4 150 48 C146.5 46.7 142 44.9 135 41.7 C127 37.7 117 35 104 33.7 C96 32.9 86 33.4 75 35 C61.5 36.8 51 41.5 42 46 Z"/>
<!-- жаберная пластина: мягкий светлый объём мелкой головы -->
<path fill="var(--f2,hsl(250,20%,82%))" opacity="0.35" d="M115 35 C120 42.5 121 52 117 61 C113 52 112 43 112.5 36 Z"/>
<!-- жаберная дуга: тёмный серп, чистый зазор от ободка глаза -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="1.4" d="M115 35 C120 42.5 121 52 117 61"/>
<!-- ГЛАВНЫЙ узор: мелкая чёрная крапь — 2 ряда по верхнему боку (7 точек) и 3 точки на самом парусе, один compound-path -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M72.8 40 a1.2 1.2 0 1 0 2.4 0 a1.2 1.2 0 1 0 -2.4 0 Z M86.9 39 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M99.8 39.5 a1.2 1.2 0 1 0 2.4 0 a1.2 1.2 0 1 0 -2.4 0 Z M112 41 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M80.9 47 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M94 46 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M107.1 47.5 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0 Z M70.9 17 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z M84 16 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 Z M95.9 20 a1.1 1.1 0 1 0 2.2 0 a1.1 1.1 0 1 0 -2.2 0 Z"/>
<!-- чешуя: 3 широких серпа на боку -->
<path fill="var(--f2,hsl(250,20%,82%))" opacity="0.3" d="M104 41 Q97 50 104 59 Q100.5 50 104 41 Z M111 42.5 Q104 50 111 57.5 Q107.5 50 111 42.5 Z M97 40.5 Q90 50 97 59.5 Q93.5 50 97 40.5 Z"/>
<!-- рот: крошечная щель на мелком рыле -->
<path fill="var(--f4,hsl(255,25%,24%))" d="M145 47.4 C147.5 47.6 149.3 48.1 150 48.7 C148.6 49.3 146.5 49.2 144.8 48.4 Z"/>
<!-- грудной плавник: мягкая лопасть на боку под жаберной дугой (после тела) -->
<path fill="var(--f3,hsl(255,18%,40%))" opacity="0.8" d="M119.5 53.5 C114 55.5 109.5 60 110.5 65.5 C113.5 69 118.5 63 121.5 57.5 C121 55.5 120.5 54.2 119.5 53.5 Z"/>
<!-- лучи грудного плавника -->
<path fill="none" stroke="var(--f4,hsl(255,25%,24%))" stroke-width="0.7" opacity="0.3" d="M117.5 56 C113.5 59.5 111.2 63 110.8 64.5 M119.5 58.5 C116.2 61.3 113.8 64.5 113.2 65.8"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(255,25%,24%))" cx="132" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="132" cy="42" r="3.7"/>
<circle fill="#8e8ba0" cx="132" cy="42" r="2.8"/>
<circle fill="#142638" cx="132" cy="42" r="2"/>
<circle fill="#fff" cx="130.8" cy="40.6" r="0.8"/>
</symbol>
<symbol id="fish-crayfish" viewBox="0 0 160 100">
<ellipse cx="25" cy="52" rx="10.5" ry="5.5" fill="var(--f3,hsl(0,50%,32%))"/>
<ellipse cx="24" cy="52" rx="12" ry="5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(-27 36 52)"/>
<ellipse cx="24" cy="52" rx="12" ry="5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(27 36 52)"/>
<ellipse cx="25" cy="52" rx="11" ry="4.5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(-55 36 52)"/>
<ellipse cx="25" cy="52" rx="11" ry="4.5" fill="var(--f3,hsl(0,50%,32%))" transform="rotate(55 36 52)"/>
<ellipse cx="44" cy="52" rx="11" ry="13.5" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="58" cy="52" rx="10" ry="12" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="71" cy="52" rx="10" ry="11" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="50" cy="52" rx="1.8" ry="9" fill="var(--f4,hsl(0,45%,26%))"/>
<ellipse cx="64" cy="52" rx="1.8" ry="8" fill="var(--f4,hsl(0,45%,26%))"/>
<ellipse cx="48" cy="59" rx="9" ry="3.5" fill="var(--f2,hsl(0,30%,70%))"/>
<path d="M74 37 Q86 28 100 30 Q112 32 113 42 Q114 50 109 57 Q103 65 93 68 Q80 71 73 63 Q67 51 74 37 Z" fill="var(--f1,hsl(0,45%,48%))"/>
<ellipse cx="85" cy="60" rx="11" ry="3.5" fill="var(--f2,hsl(0,30%,70%))"/>
<path d="M105 44 L114 43 L115 49 L106 49 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M112 39 Q121 33 126 38 Q129 42 126 44 L120 45 Q125 47 123 51 Q120 55 113 52 Q109 47 112 39 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M98 58 Q110 56 116 62 L114 70 Q104 68 96 64 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M114 56 Q125 47 134 51 Q141 55 139 61 L128 62 Q137 65 136 71 Q134 78 124 75 Q113 71 111 63 Q111 58 114 56 Z" fill="var(--f3,hsl(0,50%,32%))"/>
<path d="M85 65 Q83 75 79 82" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M73 63 Q71 74 67 82" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M61 62 Q60 71 57 78" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M106 34 Q128 25 146 20" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M107 39 Q130 35 148 42" fill="none" stroke="var(--f4,hsl(0,45%,26%))" stroke-width="2" stroke-linecap="round"/>
<path d="M98 31 L101 23 L104 25 L101 33 Z" fill="var(--f4,hsl(0,45%,26%))"/>
<path d="M107 32 L112 25 L115 27 L110 34 Z" fill="var(--f4,hsl(0,45%,26%))"/>
<circle cx="102.5" cy="22" r="2.8" fill="#142638"/>
<circle cx="113.5" cy="24" r="2.8" fill="#142638"/>
<!-- хвостовой веер: две широкие уропода-лопасти f3 (верхняя и нижняя), compound-path -->
<path fill="var(--f3,hsl(15,46%,34%))" d="M35 39.5 C30 34 24 30.5 18 30 C20 38 26 44.5 33.5 45.5 Z M35 60.5 C30 66 24 69.5 18 70 C20 62 26 55.5 33.5 54.5 Z"/>
<!-- тельсон: клин f1 со светлым f2-ядром -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M37 44.5 L16 50 L37 55.5 Z"/>
<path fill="var(--f2,hsl(28,34%,72%))" d="M35 47.2 L21 50 L35 52.8 Z"/>
<!-- брюшко: 4 сегмента-пластины (от заднего к переднему), compound-path -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M34 50 a9 9 0 1 0 18 0 a9 9 0 1 0 -18 0 M41.5 50 a9.5 11 0 1 0 19 0 a9.5 11 0 1 0 -19 0 M50 50 a10 13 0 1 0 20 0 a10 13 0 1 0 -20 0 M60 50 a10 15 0 1 0 20 0 a10 15 0 1 0 -20 0"/>
<!-- светлая срединная полоса брюшка -->
<path fill="var(--f2,hsl(28,34%,72%))" opacity="0.32" d="M38 48 C52 45.2 66 44.2 78 45 L78 55 C66 56 52 55 38 52 Z"/>
<!-- границы сегментов брюшка: тёмные f4-дуги, compound-path -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.4" d="M68 36.4 C65.4 42.5 65.4 57.5 68 63.6 M58 38.4 C55.6 44 55.6 56 58 61.6 M48 40.4 C46 45 46 55 48 59.6"/>
<!-- ходильные ноги: 4 пары «расчёской» вверх и вниз, 2 compound-группы f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M116 37 L112 28 L100 24 M104 33 L98 25 L86 20 M92 34 L84 25 L72 17 M80 39 L70 27 L60 17"/>
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M116 63 L112 72 L100 76 M104 67 L98 75 L86 80 M92 66 L84 75 L72 83 M80 61 L70 73 L60 83"/>
<!-- карапакс: широкий овал f1 -->
<ellipse cx="100" cy="50" rx="26" ry="17" fill="var(--f1,hsl(18,48%,44%))"/>
<!-- светлые боковые пластины карапакса, compound-path -->
<path fill="var(--f2,hsl(28,34%,72%))" opacity="0.28" d="M84 39 C79 45 79 55 84 61 C88 55 88 45 84 39 Z M116 39 C121 45 121 55 116 61 C112 55 112 45 116 39 Z"/>
<!-- тёмный панцирный узор: две поперечные борозды f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.3" opacity="0.5" d="M110 34.6 C105 41.5 105 58.5 110 65.4 M94 34 C89 41.5 89 58.5 94 66"/>
<!-- рострум: клин f1 между глазами с тёмной срединной линией -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M126 46.5 L150 50 L126 53.5 Z"/>
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.1" d="M127 50 L149 50"/>
<!-- клешни: кисть и плечо f1 (верх и низ зеркально) -->
<path fill="var(--f1,hsl(18,48%,44%))" d="M120 40 C123 33.5 124.5 27 129.5 21.5 C134 16.8 142 15.8 146.5 19 C152 23 152.5 30.5 147.5 33.5 C143.5 36 137 36.5 132 34.5 C127.5 32.8 125.5 35.5 124 40 Z"/>
<path fill="var(--f1,hsl(18,48%,44%))" d="M120 60 C123 66.5 124.5 73 129.5 78.5 C134 83.2 142 84.2 146.5 81 C152 77 152.5 69.5 147.5 66.5 C143.5 64 137 63.5 132 65.5 C127.5 67.2 125.5 64.5 124 60 Z"/>
<!-- пальцы клешней: тёмные f4, клешня раскрыта -->
<path fill="var(--f4,hsl(12,48%,20%))" d="M144 18.5 C148.5 15.5 153.5 16 157 20.5 C153 19.5 149 20.2 145 22.5 Z M146 34.5 C149.5 36.5 152.5 35.5 154.5 31 C151 31.2 148.5 32 146.5 33 Z"/>
<path fill="var(--f4,hsl(12,48%,20%))" d="M144 81.5 C148.5 84.5 153.5 84 157 79.5 C153 80.5 149 79.8 145 77.5 Z M146 65.5 C149.5 63.5 152.5 64.5 154.5 69 C151 68.8 148.5 68 146.5 67 Z"/>
<!-- глаза на стебельках: 3 слоя — f4-стебелёк с «бусиной», зрачок #142638, блик #fff -->
<path fill="var(--f4,hsl(12,48%,20%))" d="M117 43.5 L121.5 37 L129 36 Z M125 36 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 M117 56.5 L121.5 63 L129 64 Z M125 64 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0"/>
<path fill="#142638" d="M126.8 35.4 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M126.8 64.6 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#fff" d="M126.9 34.3 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0 M126.9 65.7 a1 1 0 1 0 2 0 a1 1 0 1 0 -2 0"/>
<!-- длинные антенны (верхняя и нижняя), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.7" stroke-linecap="round" d="M131 45 C141 42 150 36 158 30 M131 55 C141 58 150 64 158 70"/>
<!-- короткие антеннулы (внутренняя пара), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(12,48%,20%))" stroke-width="1.3" stroke-linecap="round" d="M134 47 C140 45 146 44 152 44 M134 53 C140 55 146 56 152 56"/>
</symbol>
<symbol id="fish-bleak" viewBox="0 0 160 100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M35 42 L14 32 L24.5 47 L14 62 L35 52 Z"/>
<!-- тело: невысокое удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(200,30%,70%))" d="M144 47 C132 36 110 30 84 30 C56 30 40 35 34 41 L34 53 C40 59 56 63 84 63 C110 63 132 58 144 47 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(200,25%,82%))" d="M144 47 C132 58 110 63 84 63 C56 63 40 59 34 53 C40 55 56 58.5 84 58.5 C110 58.5 132 54.5 144 47 Z"/>
<!-- тонкая тёмная полоса вдоль верхнего края спины -->
<path fill="var(--f1,hsl(200,45%,48%))" d="M144 47 C132 36 110 30 84 30 C56 30 40 35 34 41 C40 39 56 34.5 84 34.5 C110 34.5 132 39.5 144 47 Z"/>
<!-- спинной плавник: низкий -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M68 31 Q83 10 102 31.5 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M112 51 C107 56 107 61.5 112 64.5 C115.5 60 116.5 55.5 114 51.5 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M82 63 L77 71 L89 64 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(200,50%,32%))" d="M62 62.5 L56 70.5 L68 63.5 Z"/>
<!-- узор: тёмные точки вдоль бока -->
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="56" cy="48" rx="3.5" ry="2.2"/>
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="76" cy="46.5" rx="3.5" ry="2.2"/>
<ellipse fill="var(--f4,hsl(200,45%,26%))" cx="96" cy="45.5" rx="3.5" ry="2.2"/>
<!-- глаз -->
<circle fill="#fff" cx="127" cy="42" r="4.5"/>
<circle fill="#142638" cx="128" cy="42" r="2.2"/>
<!-- хвост: умеренная вилка, корень утоплен в стебель на 4 ед. (нахлёст) -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M42 45 L14 33 C20.5 41 24 46 27 50 C24 54 20.5 59 14 67 L42 55 L46 55 L46 45 Z"/>
<!-- спинной плавник: основание x68..95 утоплено в спину, вершина (82,15), задняя кромка чуть вогнута -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M67.5 38 C71 29 75.5 18.5 82 15 C84.5 21 88.5 27 95 33.2 Z"/>
<!-- лучи спинного плавника: 3 тонких штриха веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M72.5 35 C72.2 29.5 73 25 74.5 20.5"/>
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M81.5 32.8 C81.7 26 81.8 20 82 15.6"/>
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="0.9" opacity="0.28" d="M90 33.9 C89 28.5 86.8 23.5 84.5 18.5"/>
<!-- анальный плавник: основание x57..75 утоплено в брюхо (нахлёст ≥4), низ до y84, лопасть отведена назад -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M58 61.5 C60 72.5 63 80 68.5 83.5 C73 84.5 75 79 75 66.5 Z"/>
<!-- брюшные плавники: пара мягких округлых лопастей, x84..102, отведены назад-вниз -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M84 68.5 C82.5 77 84 83.5 87.5 85.5 C91 84 92.5 77.5 92 68.5 Z"/>
<path fill="var(--f3,hsl(12,45%,50%))" d="M94 68.5 C92.5 78 94 84.5 97.5 86 C101 84.5 102.5 78 102 68.5 Z"/>
<!-- тело: умеренно высокое серебристое, рыло (152,50), затылок (132,39), спина (96,29), брюхо (96,73), стебель 42,45/42,55 -->
<path fill="var(--f1,hsl(205,22%,55%))" d="M152 50 C149.5 43 143 37 134 35.5 C120 31 108 29 96 29 C72 29 50 36.5 42 45 L42 55 C50 63.5 72 73 96 73 C114 73 129 68 138 60 C144 55 149.5 52 152 50 Z"/>
<!-- брюхо: светлая нижняя треть (серебро) -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M42 55 C50 63.5 72 73 96 73 C114 73 129 68 138 60 C130 64 114 68 96 68 C74 68 54 62.5 42 55 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(205,30%,24%))" d="M152 50 C149.5 43 143 37 134 35.5 C120 31 108 29 96 29 C72 29 50 36.5 42 45 C50 39.5 72 31.5 96 31.5 C108 31.5 120 34 134 38.5 C143 42 149 47 152 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы -->
<path fill="var(--f2,hsl(200,20%,80%))" opacity="0.35" d="M130 39.5 C135 46 136 54 131 61.5 C127 54.5 126 46.5 126 40.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(205,30%,24%))" stroke-width="1.2" opacity="0.45" d="M130 39.5 C135 46 136 54 131 61.5"/>
<!-- чешуя: крупные широкие f2-серпы, верхний ряд из трёх -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M74 38.5 Q66.5 45 74 51.5 Q69.9 45 74 38.5 Z M90 37.5 Q82.5 44 90 50.5 Q85.9 44 90 37.5 Z M106 37.5 Q98.5 44 106 50.5 Q101.9 44 106 37.5 Z"/>
<!-- чешуя: нижний ряд из двух серпов (compound-path) -->
<path fill="var(--f2,hsl(200,20%,80%))" d="M82 50.5 Q74.5 57 82 63.5 Q77.9 57 82 50.5 Z M98 50.5 Q90.5 57 98 63.5 Q93.9 57 98 50.5 Z"/>
<!-- рот: конечный, чуть вниз (152,51.5) -->
<path fill="var(--f4,hsl(205,30%,24%))" d="M148.6 50 C150.4 50.7 152 51.3 152 51.7 C150.9 52.4 149.6 52 148.4 51 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, направлена назад-вниз (после тела) -->
<path fill="var(--f3,hsl(12,45%,50%))" d="M117 55 C112 58 109 62.5 111 66.5 C114.5 65 116.5 60.5 118.5 56.5 Z"/>
<!-- глаз: ГЛАВНЫЙ знак вида — красная радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(205,30%,24%))" cx="134" cy="42" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="42" r="4.6"/>
<circle fill="#c0392b" cx="134" cy="42" r="3.4"/>
<circle fill="#142638" cx="134" cy="42" r="2.2"/>
<circle fill="#fff" cx="132.6" cy="40.6" r="0.9"/>
</symbol>
<symbol id="fish-roundel" viewBox="0 0 160 100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M40 50 L14 28 L27 50 L14 72 Z"/>
<!-- тело: высокое широкое, серебристое -->
<path fill="var(--f2,hsl(215,30%,70%))" d="M148 48 C140 34 116 25 90 24 C64 23 46 31 36 42 L36 58 C46 69 64 77 90 76 C116 75 140 62 148 48 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(215,25%,82%))" d="M148 48 C140 62 116 75 90 76 C64 77 46 69 36 58 C46 64 64 68 90 66 C116 64 140 56 148 48 Z"/>
<!-- спинной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M62 27 Q82 6 106 26 Q84 20 62 27 Z"/>
<!-- тёмная спинная кромка: тонкая полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(215,45%,48%))" d="M148 48 C140 34 116 25 90 24 C64 23 46 31 36 42 C46 36 64 28 90 29 C116 30 140 38 148 48 Z"/>
<!-- узор: линия жаберной крышки -->
<path fill="var(--f4,hsl(215,45%,26%))" d="M116 36 C122 43 122 55 116 62 C119 55 119 43 116 36 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M110 55 C104 60 103 66 108 70 C112 64 114 59 112 55 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M80 73 L74 83 L88 75 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(215,50%,32%))" d="M58 68 L52 78 L66 70 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="127" cy="44" r="5.5"/>
<circle fill="#142638" cx="128.5" cy="44" r="2.8"/>
<!-- хвост: глубокая вилка, лопасти (16,31)/(16,69); корень утоплен в стебель (нахлёст), светлая кромка отделяет от тела -->
<path fill="var(--f3,hsl(215,26%,40%))" stroke="var(--f2,hsl(210,20%,82%))" stroke-width="1" stroke-opacity="0.5" d="M50 44 L16 31 C23 39 27 45 30.5 50 C27 55 23 61 16 69 L50 56 Z"/>
<!-- спинной плавник: короткий, основание x68..92 утоплено в спину (нахлёст ≥4), вершина (79,14), задняя кромка вогнута -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M68 34.5 C69.5 24 73.5 16 79 14 C81 20 85 28 92 34.5 Z"/>
<!-- лучи спинного плавника: 4 тонких штриха веером от основания к кромке (не выходят за мембрану) -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="0.9" opacity="0.3" d="M70 33 C70.8 30 71.6 27.4 72.8 25.2 M76 32.6 C76.6 27.5 77 22.5 77.5 17.5 M81.5 32.4 C81.3 28.2 80.9 24.3 80.4 20.6 M87 32.6 C86.2 29.8 84.7 27.2 82.7 25"/>
<!-- анальный плавник: КОРОТКИЙ (главное отличие от леща), основание x58..70 утоплено в брюхо (нахлёст ≥4), низ y85, задняя кромка вогнута -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M58 62 C59.5 70 61.5 78 64 85 C67 82.5 69.5 75 70 62 Z"/>
<!-- лучи анального плавника: 3 штриха (плотные 12-14 лучей), не выходят за мембрану -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="0.9" opacity="0.3" d="M60 66 C60.6 71 61.6 76.5 62.8 81.5 M63.5 66 C63.9 71 64.2 76.5 64.3 82 M67 65.5 C66.8 69.5 66.3 73.5 65.6 77.5"/>
<!-- брюшные плавники: пара мягких округлых лопастей x82..100, основание внутри брюха, отведены назад-вниз -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M83 70 C80.5 79 81.5 84 85.5 86 C89.5 85 91.5 79 92.5 70 Z"/>
<path fill="var(--f3,hsl(215,26%,40%))" d="M93 70 C90.5 79 91.5 84.5 95.5 86.5 C99.5 85.5 101 79 101.5 70 Z"/>
<!-- тело: высокое и сжатое (D/L≈0.46), спина округлая БЕЗ ромбовидного острия; рыло (150,50), затылок (130,36), спина (98,27), брюхо (98,75), стебель 46,45/46,55 (толщина 10) -->
<path fill="var(--f1,hsl(213,24%,57%))" d="M150 50 C147 44 141 38 132 36 C121 29.5 110 27 98 27 C72 28 54 34 46 45 L46 55 C51 67 70 75.5 98 75 C116 74 132 69 141 61 C145 57 148 53 150 50 Z"/>
<!-- брюхо: светлая серебристая нижняя треть -->
<path fill="var(--f2,hsl(210,20%,82%))" d="M46 55 C51 67 70 75.5 98 75 C116 74 132 69 141 61 C134 64 118 68 98 68.5 C74 68 53 61 46 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M150 50 C147 44 141 38 132 36 C121 29.5 110 27 98 27 C72 28 54 34 46 45 C60 37.5 78 31.5 98 31.5 C110 31.5 121 34 132 39 C141 43 147 47 150 50 Z"/>
<!-- КИЛЬ: тонкая f4-кромка-гребень по линии брюха между анальным и брюшными плавниками (отличие от плотвы) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M62 69.4 C68 71.3 74 73.3 79 74.4 L79 75.7 C74 74.6 68 72.6 62 70.7 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (сдвинута от крупного глаза) -->
<path fill="var(--f2,hsl(210,20%,82%))" opacity="0.35" d="M120 38 C126 45 127 55 122 63 C118 55 116 45 116 39 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(215,30%,24%))" stroke-width="1.3" opacity="0.5" d="M120 38 C126 45 127 55 122 63"/>
<!-- чешуя: очень бледная f4-сетка (compound-path), верхний ряд из трёх дуг -->
<path fill="var(--f4,hsl(215,30%,24%))" opacity="0.15" d="M75 36 Q81 41 75 46 Q77 41 75 36 Z M91 34 Q97 39 91 44 Q93 39 91 34 Z M107 37 Q113 42 107 47 Q109 42 107 37 Z"/>
<!-- чешуя: нижний ряд из трёх дуг (реже и бледнее, чем у леща) -->
<path fill="var(--f4,hsl(215,30%,24%))" opacity="0.15" d="M83 47 Q89 52 83 57 Q85 52 83 47 Z M99 49 Q105 54 99 59 Q101 54 99 49 Z M115 52 Q121 57 115 62 Q117 57 115 52 Z"/>
<!-- рот: конечный, на конце рыла (150,50) -->
<path fill="var(--f4,hsl(215,30%,24%))" d="M147 50.3 C149 50.5 150 51 150.6 51.8 C149.5 52.8 147.8 52.5 146.6 51.3 Z"/>
<!-- грудной плавник: посажен низко, мягкая лопасть на боку (после тела) -->
<path fill="var(--f3,hsl(215,26%,40%))" d="M117 56 C113 58 110 63 111.5 68 C115 66 117 61 118.5 57 Z"/>
<!-- глаз: КРУПНЫЙ (главный знак густеры, антипод крошечного глаза леща): ободок → склера → радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(215,30%,24%))" cx="134" cy="43" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="43" r="4.7"/>
<circle fill="#d7c07a" cx="134" cy="43" r="3.6"/>
<circle fill="#142638" cx="134" cy="43" r="2.6"/>
<circle fill="#fff" cx="132.8" cy="41.6" r="1"/>
</symbol>
<symbol id="fish-eelpout" viewBox="0 0 160 100">
<!-- тело: изогнутая волной тонкая лента, сужается к хвосту -->
<path fill="var(--f1,hsl(35,45%,48%))" d="M22 57.5 C32 62 38 61 45 59.5 C55 54 63 43 75 41 C85 39.5 92 42 100 45 C112 47.5 124 40 135 34 C138.5 33 142 34.5 143.5 38 C144.5 40.5 144 43.5 142 45.5 C141 46.3 140 46.5 139 46.5 C130 47.5 122 49.5 112 53.5 C104 56.8 88 57 75 53 C64 52.5 54 60 45 66.5 C36 71.5 28 65 22 60.5 C21.3 59.6 21.3 58.4 22 57.5 Z"/>
<!-- брюхо: нижняя полоса ленты светлее -->
<path fill="var(--f2,hsl(35,30%,70%))" d="M22 59.4 C33 62 40 64.5 45 65 C55 60.5 65 51 75 48.8 C85 50.5 95 52 100 52.8 C112 52.5 124 45.5 135 41.8 C140 42.5 142.5 44.5 142 45.5 C141 46.3 140 46.5 139 46.5 C130 47.5 122 49.5 112 53.5 C104 56.8 88 57 75 53 C64 52.5 54 60 45 66.5 C36 71.5 28 65 22 60.5 C21.6 60 21.6 59.8 22 59.4 Z"/>
<!-- спинной плавник: низкий, вдоль хребта до самой головы -->
<path fill="var(--f3,hsl(35,50%,32%))" d="M45 59.5 C56 52 64 38 75 36.5 C86 35 93 38.5 100 40.5 C112 43 125 34 136 29.8 C139 29 141.5 30.5 141 32.5 C139 33.5 137 34 135 34 C124 40 112 47.5 100 45 C92 42 85 39.5 75 41 C63 43 55 54 45 59.5 Z"/>
<!-- узор: тёмные пятна вдоль ленты -->
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="48" cy="61.5" rx="2.6" ry="2.2"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="75" cy="47.5" rx="3.2" ry="2.8"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="98" cy="50.5" rx="3.2" ry="2.8"/>
<ellipse fill="var(--f4,hsl(35,45%,26%))" cx="118" cy="46" rx="2.9" ry="2.5"/>
<!-- открытый рот на конце головы -->
<path fill="var(--f4,hsl(35,45%,26%))" d="M137.5 39.5 C140.5 38.6 143 39.6 143.4 41.3 C143 43.4 140.6 44.4 138 43.6 C139.2 42 139.2 40.8 137.5 39.5 Z"/>
<!-- глаз: крошечный -->
<circle fill="#fff" cx="130" cy="38.5" r="2.2"/>
<circle fill="#142638" cx="130.8" cy="38.5" r="1.1"/>
<!-- хвост: ОКРУГЛАЯ пластина-лопасть (ВИЛКИ НЕТ), 10x8 на конце ленты -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M21 46 C15.5 45.4 11.6 47.2 11 50 C11.6 52.8 15.5 54.6 21 54 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ, далеко к хвосту, основание утоплено в спину -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M25 46 C25.8 38.5 28 34.5 30 34.8 C32 36 34 39.4 35 42.5 Z"/>
<!-- анальный плавник: КРОШЕЧНЫЙ, напротив спинного, утоплен в брюхо -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M29.5 51 C30.5 56.5 32 60.5 34.5 61 C37 60 39 55.5 40 51.5 Z"/>
<!-- тело: длинная тонкая лента, плавная S-волна по оси (150,50)→(88,58)→(28,48), сужается к хвосту, нос скруглён -->
<path fill="var(--f1,hsl(38,40%,44%))" d="M150 43.5 C146 43.4 133.3 42.3 126 42.9 C118.7 43.6 112.3 46.2 106 47.4 C99.7 48.6 93.7 49.9 88 50 C82.3 50.1 77 49.4 72 47.8 C67 46.2 62.7 42.1 58 40.5 C53.3 38.9 49 37.8 44 38.2 C39 38.6 31.6 41.7 28 43 C24.4 44.3 23.4 45.5 22.5 46 C19.5 46.5 19.5 53.5 22.5 54 C23.4 53.8 24.4 53.7 28 53 C31.6 52.3 39 49.7 44 49.8 C49 49.9 53.3 51.4 58 53.5 C62.7 55.6 67 60.1 72 62.2 C77 64.3 82.3 65.9 88 66 C93.7 66.1 99.7 64.1 106 62.6 C112.3 61.1 118.7 58.1 126 57.1 C133.3 56.1 146 56.6 150 56.5 C153.6 56.5 156.5 53.6 156.5 50 C156.5 46.4 153.6 43.5 150 43.5 Z"/>
<!-- брюхо: светлая нижняя полоса, сходит на нет у хвоста и на конце рыла -->
<path fill="var(--f2,hsl(35,30%,72%))" d="M156.5 50 C156.4 52.2 154 55.8 150 56.5 C146 56.6 133.3 56.1 126 57.1 C118.7 58.1 112.3 61.1 106 62.6 C99.7 64.1 93.7 66.1 88 66 C82.3 65.9 77 64.3 72 62.2 C67 60.1 62.7 55.6 58 53.5 C53.3 51.4 49 49.9 44 49.8 C39 49.7 31.6 52.3 28 53 C24.4 53.7 23.4 53.8 22.5 54 C23.4 53.3 24.4 52.4 28 48 C31.6 47.3 39 44.7 44 44.8 C49 44.9 53.3 46.4 58 48.5 C62.7 50.6 67 55.1 72 57.2 C77 59.3 82.3 60.9 88 61 C93.7 61.1 99.7 59.1 106 57.6 C112.3 56.1 118.7 53.1 126 52.1 C133.3 51.1 146 51.6 150 51.5 C154 51 156.4 50.6 156.5 50 Z"/>
<!-- тёмная спинная линия по хребту с уходом на рыло + 10 пятнышек мелкой крапчатости — одним compound-путём -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M150 43.5 C146 43.4 133.3 42.3 126 42.9 C118.7 43.6 112.3 46.2 106 47.4 C99.7 48.6 93.7 49.9 88 50 C82.3 50.1 77 49.4 72 47.8 C67 46.2 62.7 42.1 58 40.5 C53.3 38.9 49 37.8 44 38.2 C39 38.6 31.6 41.7 28 43 C24.4 44.3 23.4 45.5 22.5 46 L22.5 48.2 C23.4 47.7 24.4 46.5 28 45.2 C31.6 43.9 39 40.8 44 40.4 C49 40 53.3 41.1 58 42.7 C62.7 44.3 67 48.4 72 50 C77 51.6 82.3 52.3 88 52.2 C93.7 52.1 99.7 50.8 106 49.6 C112.3 48.4 118.7 45.8 126 45.1 C133.3 44.5 146 45.6 150 45.7 C150.4 45.1 150.4 44.2 150 43.5 Z M116.7 50.6 C117.1 49.3 119 49.5 119.4 50.6 C119.2 51.5 117.3 51.9 116.7 50.6 Z M106.8 52.2 C107.1 51 108.9 51.2 109.3 52.2 C109.1 53 107.4 53.4 106.8 52.2 Z M96.9 54 C97.2 52.9 98.9 53.1 99.2 54 C99 54.7 97.4 55.1 96.9 54 Z M86.7 55 C87.1 53.8 89 54 89.3 55 C89.2 55.8 87.4 56.2 86.7 55 Z M76.9 54 C77.2 53 78.8 53.1 79.1 54 C79 54.7 77.5 55 76.9 54 Z M66.8 50.2 C67.1 49 68.9 49.2 69.3 50.2 C69.1 51 67.4 51.4 66.8 50.2 Z M56.9 44.6 C57.2 43.5 58.9 43.7 59.2 44.6 C59 45.3 57.4 45.7 56.9 44.6 Z M46.7 42.2 C47.1 41 49 41.2 49.3 42.2 C49.2 43 47.4 43.4 46.7 42.2 Z M36.9 44 C37.2 43 38.8 43.1 39.1 44 C39 44.7 37.5 45 36.9 44 Z M27.9 47 C28.2 45.9 29.9 46.1 30.2 47 C30 47.7 28.4 48.1 27.9 47 Z"/>
<!-- 5 пар тонких усиков (10 штук) вокруг рта — главный видовой знак; 2 пары верхних длинных к (124,44)/(126,58), средняя к (134,60), 2 пары нижних коротких к (140,60)/(142,62); одним compound-путём -->
<path fill="none" stroke="var(--f4,hsl(30,45%,18%))" stroke-width="0.8" stroke-linecap="round" d="M148.5 48.2 Q138 42 124 44 M148.2 49 Q137.5 43.2 125 45.6 M149.2 50 Q139 52.5 126 57.8 M148.9 50.6 Q138.6 53.4 127 58.5 M148.6 51.2 Q142.5 56 134 60 M148.3 51.6 Q142 56.6 135 60.5 M147.8 52 Q144.5 56.8 140 60 M147.4 52.3 Q144 57.4 140.6 60.6 M147 52.6 Q144.6 58 142 62 M146.6 52.9 Q144.4 58.8 142.6 62.4"/>
<!-- рот: крошечная тёмная щель на нижней губе рыла -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M150.8 52.7 C153.6 53 155.8 52.4 156.7 50.8 C155.2 53.5 152.8 54.2 150.4 54 Z"/>
<!-- предглазничная складка-шип: тонкий тёмный серп перед глазом -->
<path fill="var(--f4,hsl(30,45%,18%))" d="M142.2 44.2 C140.8 46.6 140.4 49.4 141.2 51.8 C142.4 49.4 142.8 46.6 142.2 44.2 Z"/>
<!-- грудной плавник: маленькая мягкая лопасть у головы (рисуется ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(38,42%,32%))" d="M134.5 51.8 C131.3 52.4 127.4 55 126.6 58.4 C129.9 57.9 133.4 54.8 134.7 52.4 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (3 слоя), высоко и вперёд -->
<circle fill="var(--f4,hsl(30,45%,18%))" cx="139" cy="46" r="2"/>
<circle fill="#142638" cx="139" cy="46" r="1.2"/>
<circle fill="#fff" cx="138.4" cy="45.4" r="0.5"/>
</symbol>
<symbol id="fish-tench" viewBox="0 0 160 100">
<path d="M46 50 C34 37 24 31 17 26 C20 37 22 44 27 50 C22 56 20 63 17 74 C24 69 34 63 46 50 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M54 31 C56 12 86 5 103 14 C106 16 107 21 105 28 C90 24 68 26 54 31 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M140 50 C128 32 105 23 78 23 C58 23 44 30 38 42 C36 46 36 54 38 58 C44 70 58 77 78 77 C105 77 128 68 140 50 Z" fill="var(--f1,hsl(95,45%,48%))"/>
<path d="M38 58 C44 70 58 77 78 77 C105 77 128 68 140 50 C133 57 123 62 112 65 C94 70 68 70 52 64 C46 61 41 59 38 58 Z" fill="var(--f2,hsl(95,30%,70%))"/>
<path d="M103 55 C111 51 120 54 122 62 C115 65 106 63 102 58 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<path d="M58 75 C62 88 76 93 88 89 C87 84 86 80 85 76 Z" fill="var(--f3,hsl(95,50%,32%))"/>
<circle cx="122" cy="55" r="4" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="104" cy="55" r="5.5" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="85" cy="56" r="6" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="65" cy="55" r="6" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="48" cy="52" r="5" fill="var(--f4,hsl(95,45%,26%))"/>
<circle cx="119" cy="44" r="6.5" fill="#fff"/>
<circle cx="120.5" cy="44" r="3" fill="#142638"/>
<!-- хвост: почти ровный, слабая выемка, закруглённые лопасти (база утоплена в толстый стебель, нахлёст ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M48 44 L14 36 C20 42 23 46 25 50 C23 54 20 58 14 64 L48 56 Z"/>
<!-- спинной плавник: ЗАКРУГЛЁННЫЙ и выпуклый (вершина 79,19, задний конец скруглён), основание глубоко утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M58 42 C61 28 69 19 79 19 C89 19 97 26 101 40 Z"/>
<!-- лучи спинного плавника: 3 тонких бледных штриха веером от основания к кромке -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M67 39 L71 29"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M77 38 L79 21"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="0.9" opacity="0.3" d="M87 39 L89 29"/>
<!-- анальный плавник: ЗАКРУГЛЁННЫЙ и выпуклый (низ 86), широким основанием растёт из брюха, не висит каплей -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M56 57 C62 58 72 60 80 64 C86 71 84 86 73 86 C62 86 56 76 56 57 Z"/>
<!-- лучи анального плавника: 3 тонких бледных штриха на лопасти -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M64 62 C65 70 66 76 67 81"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M71 64 C72 72 73 78 74 83"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1" opacity="0.3" d="M78 66 C79 73 79 79 79 83"/>
<!-- брюшные плавники: пара мягких округлых лопастей, направлены назад-вниз (нахлёст в брюхо ≥4) -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M88 66 C85 76 88 85 93 85 C97 84 99 76 99 68 Z"/>
<path fill="var(--f3,hsl(92,30%,26%))" d="M99 68 C97 77 99 85 104 85 C108 84 110 77 110 69 Z"/>
<!-- тело: плотное «налитое», округлое (глубина/длина ≈0.43), спина (96,30), брюхо (96,74), тупое рыло (151,50), стебель 12 ед. -->
<path fill="var(--f1,hsl(90,26%,36%))" d="M151 50 C150 42 144 36 134 33 C124 30 110 28.5 96 30 C74 33 54 40 44 44 L44 56 C54 61 74 68 96 74 C114 74 136 67 144 60 C148 56 151 53 151 50 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(88,22%,64%))" d="M44 56 C54 61 74 68 96 74 C114 74 136 67 144 60 C138 66 122 71 104 72 C80 72 56 65 44 56 Z"/>
<!-- слизь: широкий f2-блик по спине (мелкая чешуя даёт сплошной глянец, а не сетку) -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.3" d="M52 49 C68 42 92 37 120 39 C102 41 78 45 52 54 Z"/>
<!-- слизь: широкий f2-блик по средней части бока -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.28" d="M58 57 C76 51 100 48 124 50 C106 52 82 56 58 63 Z"/>
<!-- слизь: узкий блик на плече у стебля -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.26" d="M48 44 C56 42 66 41 76 41 C66 43 56 45 48 48 Z"/>
<!-- мраморность: единый compound-path из 4 бледных f4-клякс (замена чешуйной сетке) -->
<path fill="var(--f4,hsl(95,30%,16%))" opacity="0.13" d="M62 42 C68 39 74 42 72 46 C70 50 62 49 59 46 C57 43 58 42 62 42 Z M86 38 C92 36 97 39 95 43 C93 47 85 46 83 43 C81.5 40.5 82.5 38.5 86 38 Z M106 43 C111 41 116 44 114 48 C112 51 106 50 104 47 C103 44.5 103.5 43.5 106 43 Z M72 55 C77 53 82 56 80 59 C78 62 71 61 69 58 C68 56 68.5 55 72 55 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(95,30%,16%))" d="M151 50 C150 42 144 36 134 33 C124 30 110 28.5 96 30 C74 33 54 40 44 44 C54 38 74 32.5 96 33.5 C110 31.5 124 35 134 38 C143 41 148 46 151 50 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём тупой головы) -->
<path fill="var(--f2,hsl(88,22%,64%))" opacity="0.3" d="M118 39 C124 46 125 55 120 62 C115 55 114 46 114.5 40 Z"/>
<!-- жаберная дуга: тёмный серп у головы (отодвинут от маленького глаза) -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" d="M118 39 C124 46 125 55 120 62"/>
<!-- рот: КОНЕЧНЫЙ и маленький, крошечная тёмная щель на самом рыле (усов-щупалец нет) -->
<path fill="var(--f4,hsl(95,30%,16%))" d="M151 49.4 C149.8 49.7 148.6 50.2 147.8 50.9 C148.9 51.7 150.2 51.5 151 50.6 Z"/>
<!-- микро-усики: 2 f4-штриха у углов рта, очень короткие (~3 ед.) — иначе прочтутся усами карпа/сома -->
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" stroke-linecap="round" d="M149 53 L146.6 54.8"/>
<path fill="none" stroke="var(--f4,hsl(95,30%,16%))" stroke-width="1.5" stroke-linecap="round" d="M149 55 L146.9 57.1"/>
<!-- грудной плавник: мягкая округлая лопасть на боку, ПОСЛЕ тела, направлена назад-вниз -->
<path fill="var(--f3,hsl(92,30%,26%))" d="M120 54 C114 55 109 61 111 68 C114 72 119 65 121 58 Z"/>
<!-- глаз ПОСЛЕДНИМ и НАМЕРЕННО МАЛЕНЬКИЙ, низко у рыла (антипод карася): ободок f4 → склера → красная радужка #c0392b → зрачок → блик -->
<circle fill="var(--f4,hsl(95,30%,16%))" cx="133" cy="45" r="3.8"/>
<circle fill="#f7f3e6" cx="133" cy="45" r="2.9"/>
<circle fill="#c0392b" cx="133" cy="45" r="2.2"/>
<circle fill="#142638" cx="133" cy="45" r="1.5"/>
<circle fill="#fff" cx="132.2" cy="44.2" r="0.6"/>
</symbol>
<symbol id="fish-navaga" viewBox="0 0 160 100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M40 46 L16 34 L26 50 L16 66 L40 54 Z"/>
<!-- тело: тонкое удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(222,22%,66%))" d="M144 50 C134 39 112 35 86 35 C60 35 44 41 38 47 L38 53 C44 59 60 65 86 65 C112 65 134 61 144 50 Z"/>
<!-- брюхо: ещё светлее -->
<path fill="var(--f2b,hsl(222,18%,80%))" d="M144 50 C134 61 112 65 86 65 C60 65 44 59 38 53 C44 55.5 60 59 86 59 C112 59 134 55.5 144 50 Z"/>
<!-- спинка: тёмная стальная полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(222,35%,44%))" d="M144 50 C134 39 112 35 86 35 C60 35 44 41 38 47 C44 44.5 60 40.5 86 40.5 C112 40.5 134 44.5 144 50 Z"/>
<!-- оливковая полоска: тёплая, тонкая, от головы к хвосту по верхнему краю (черта наваги) -->
<path fill="var(--f4,hsl(75,40%,42%))" d="M136 47.4 C120 44.4 100 41.6 84 41.6 C62 41.6 46 44.6 40 47.6 L40 49.8 C46 47 62 44 84 44 C100 44 120 46.8 136 49.8 Z"/>
<!-- спинной плавник: маленький, смещён к хвосту -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M60 38.5 Q71 18 82 37 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M104 61.5 L98 70 L110 62.5 Z"/>
<!-- брюшной плавник: ближе к хвосту -->
<path fill="var(--f3,hsl(222,40%,32%))" d="M62 60.5 L56 68.5 L68 61.5 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(222,45%,26%))" d="M134 50.2 C136.8 50.4 139.2 51.1 140.2 52.4 C138.4 54 135.8 53.7 134.2 52.4 Z"/>
<!-- узор: мелкие тёмные точки вдоль бока -->
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="70" cy="47.5" rx="2.6" ry="1.6"/>
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="88" cy="47.2" rx="2.6" ry="1.6"/>
<ellipse fill="var(--f4,hsl(222,45%,26%))" cx="106" cy="47.2" rx="2.6" ry="1.6"/>
<!-- глаз: самый крупный из тройки -->
<circle fill="#fff" cx="126" cy="45.5" r="5.4"/>
<circle fill="#142638" cx="127" cy="45.5" r="2.9"/>
<!-- хвост: слабо вильчатый, лопасти чуть расставлены, корень утоплен в стебель (нахлёст 4 ед.) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M46 47 L16 36 C23 43.5 26 47 27 50 C26 53 23 56.5 16 62 L46 53 Z"/>
<!-- D1 — первый спинной: самый высокий, основание глубоко в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M102 43 C103 31 105 25 108 25 C111 25 113 31 114 43 Z"/>
<!-- D2 — второй спинной: ниже первого, ближе к хвосту -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M84 43 C85 32 87 27 90 27 C93 27 95 32 96 43 Z"/>
<!-- D3 — третий спинной: самый низкий, у хвостового стебля (снова убывает) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M66 45.5 C67 35 69 30 72 30 C75 30 77 35 78 45.5 Z"/>
<!-- A1 — первый анальный: стоит под телом, растёт из брюха (нахлёст ≥4) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M76 57 C78 67 82 73 85 73 C88 73 89 67 90 57 Z"/>
<!-- A2 — второй анальный: дальше к хвосту, чуть ниже первого -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M58 54 C60 65 63 72 66 72 C69 72 70 65 70 54 Z"/>
<!-- брюшные плавники: пара мелких лопастей под брюхом, основания утоплены в теле -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M86 58 C85 65 86 70 89 72 C92 70 92 64 92 58 Z"/>
<path fill="var(--f3,hsl(212,16%,38%))" d="M94 58 C94 65 95 71 98 73 C100.5 70 100.5 64 100 58 Z"/>
<!-- лучи плавников: тонкие тёмные штрихи ВНУТРИ лопастей (один составной путь, наружу не выходят) -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="0.9" opacity="0.3" d="M104.5 41 C104.5 37 105.5 33 107 31 M108.5 41 C108.5 36 108.5 32 108.5 29 M112 41 C112 37 112 33 112.5 31 M87 41.5 C87.5 38 88.5 34 89.5 32 M91 41.5 C91.5 37 91.5 33 91.5 31 M94.5 41.5 C94.5 38 94.5 34 95 32 M69.5 43 C70 40 71 37 71.5 35 M73 43 C73.5 40 73.5 37 73.5 34 M76 43 C76 40.5 76.5 37.5 76.5 36 M81.5 59 C82 63 83 67 84 69 M84.5 59 C85 63 85.5 67 86 69 M87 59 C87 62.5 87.5 65.5 88 68 M62 58 C62.5 61.5 63.5 65 65 67 M65.5 58 C66 61.5 66.5 65 67 67 M68 58 C68 61 68.5 64 69 66"/>
<!-- тело: вытянутое, рыло (152,49), затылок (134,40), спина (100,36), брюхо (100,64), стебель 9 ед. -->
<path fill="var(--f1,hsl(210,14%,52%))" d="M152 49 C147 43 141 39.5 134 40 C120 36.5 110 36 100 36 C80 36 60 40 42 46 L42 54 C60 60 80 64 100 64 C112 64 124 62 134 58 C143 54.5 148.5 51.5 152 49 Z"/>
<!-- брюхо: светлая полоса вдоль нижней кромки -->
<path fill="var(--f2,hsl(205,12%,78%))" d="M42 54 C60 60 80 64 100 64 C112 64 124 62 134 58 C143 54.5 148.5 51.5 152 49 C148.5 52 139 55.5 131 57.5 C119 60.5 107 61 100 61 C78 61 57 57.5 42 54 Z"/>
<!-- тёмная спинная кромка: тонкая полоса по верхнему контуру -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M152 49 C147 43 141 39.5 134 40 C120 36.5 110 36 100 36 C80 36 60 40 42 46 L42 47.8 C60 42 80 38 100 38 C110 38 120 38.6 134 42 C141 41.6 147 45 152 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (объём головы), отодвинута от ободка глаза -->
<path fill="var(--f2,hsl(205,12%,78%))" opacity="0.35" d="M121 41 C124.8 46 124.8 53 121 58 C116.5 53 116.5 45 117.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="1.5" d="M121 41 C124.8 46 124.8 53 121 58"/>
<!-- боковая линия: тонкая светлая тресковая черта вдоль середины тела -->
<path fill="none" stroke="var(--f2,hsl(205,12%,78%))" stroke-width="1.1" d="M120 49.5 C104 49 84 49.5 48 51.5"/>
<!-- крап: 6-8 мелких тёмных пятен вдоль бока одним compound-path -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M48.4 54 A1.6 1.1 0 1 0 51.6 54 A1.6 1.1 0 1 0 48.4 54 Z M58.3 50 A1.7 1.1 0 1 0 61.7 50 A1.7 1.1 0 1 0 58.3 50 Z M70.4 52 A1.6 1.2 0 1 0 73.6 52 A1.6 1.2 0 1 0 70.4 52 Z M82.4 48.5 A1.6 1.1 0 1 0 85.6 48.5 A1.6 1.1 0 1 0 82.4 48.5 Z M93.3 53 A1.7 1.2 0 1 0 96.7 53 A1.7 1.2 0 1 0 93.3 53 Z M104.4 49 A1.6 1.1 0 1 0 107.6 49 A1.6 1.1 0 1 0 104.4 49 Z M113.5 52.5 A1.5 1 0 1 0 116.5 52.5 A1.5 1 0 1 0 113.5 52.5 Z"/>
<!-- рот: маленькая тёмная щель на конце рыла -->
<path fill="var(--f4,hsl(210,18%,24%))" d="M147 48 C149.2 48.3 151 49 151.8 50.4 C150 51.8 148 51.3 146.6 50 Z"/>
<!-- усик: ОДИН короткий f4-усик на подбородке (главное отличие наваги от прочих) -->
<path fill="none" stroke="var(--f4,hsl(210,18%,24%))" stroke-width="1.6" stroke-linecap="round" d="M147 51.5 C144 55 141 59 139 63"/>
<!-- грудной плавник: на боку за жаберной дугой, кончиком вниз-назад (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(212,16%,38%))" d="M123 55 C122 60 120 64 116.5 67 C114.5 63.5 116.5 58.5 120 54.5 C121 54.5 122 54.7 123 55 Z"/>
<!-- глаз: ободок f4 → склера → радужка → зрачок → блик (последним слоем) -->
<circle fill="var(--f4,hsl(210,18%,24%))" cx="131" cy="43" r="5"/>
<circle fill="#f7f3e6" cx="131" cy="43" r="4.1"/>
<circle fill="#9aa7b0" cx="131" cy="43" r="3"/>
<circle fill="#142638" cx="131" cy="43" r="2.1"/>
<circle fill="#fff" cx="130" cy="41.9" r="0.8"/>
</symbol>
<symbol id="fish-rudd" viewBox="0 0 160 100">
<path d="M46 50 L20 20 L38 50 L20 80 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M40 50 Q46 20 88 20 Q128 24 140 50 Q128 76 88 80 Q46 80 40 50 Z" fill="var(--f1,hsl(25,45%,48%))"/>
<path d="M40 50 Q46 80 88 80 Q128 76 140 50 Q116 64 84 64 Q54 62 40 50 Z" fill="var(--f2,hsl(25,30%,70%))"/>
<path d="M54 26 Q82 4 122 14 Q128 21 126 26 Q88 13 54 26 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M114 54 Q138 58 130 78 Q116 70 106 60 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M94 74 Q98 92 80 88 Q86 80 88 74 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M68 72 Q64 90 50 86 Q56 78 58 68 Z" fill="var(--f3,hsl(5,70%,52%))"/>
<path d="M50 46 Q90 38 134 46 Q90 52 50 46 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M68 30 Q74 26 80 30 Q74 36 68 30 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M94 26 Q100 22 106 26 Q100 32 94 26 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<path d="M116 32 Q122 28 128 32 Q122 38 116 32 Z" fill="var(--f4,hsl(25,45%,26%))"/>
<circle cx="124" cy="40" r="6.5" fill="#fff"/>
<circle cx="125.5" cy="40" r="3" fill="#142638"/>
<!-- хвост: лопасти (14,32)/(14,68), корень утоплен в стебель на 4 ед. -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M50 44 L14 32 C21.5 40 25.5 45 29 50 C25.5 55 21.5 60 14 68 L50 56 Z"/>
<!-- спинной плавник: СДВИНУТ К ХВОСТУ, основание x56..82 утоплено в спину, вершина (68,14) -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M56 39 C58.5 28 62.5 19 68 14.5 C71.5 20.5 77 25.5 82 32 Z"/>
<!-- лучи спинного плавника: 4 тонких штриха веером, концы не выходят за мембрану -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="0.9" opacity="0.3" d="M62 37.4 C62.8 31.5 64 26 65.5 22 M68 35.8 C68.2 29 68.3 23.5 68.5 18.5 M74 34.2 C73.4 30 72.6 26 71.8 23 M79 33 C78.3 30.5 77 27.8 75.5 25.5"/>
<!-- анальный плавник: основание x52..70 утоплено в брюхо, низ до y86 -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M52 60 C50 73 53 83 58.5 86 C64 85.5 68.5 78 70 68 Z"/>
<!-- лучи анального плавника: 3 коротких тёмных штриха, целиком внутри мембраны -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="0.9" opacity="0.3" d="M55 63 C55.5 69 56.2 76 56.8 81 M59.5 63 C60 69.5 60.7 76 61.3 80.5 M63.5 64 C64 69.5 64.5 74.5 64.8 78"/>
<!-- брюшные плавники: пара округлых лопастей x84..102, отведены назад-вниз -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M84 68 C81.5 77 82.5 83.5 86.5 86 C90.5 84 92.5 77.5 93 68 Z"/>
<path fill="var(--f3,hsl(12,72%,52%))" d="M94 68 C91.5 77 92.5 84 96.5 86.5 C100.5 84.5 102.5 78 103 68 Z"/>
<!-- тело: высокий ромб, рыло (150,47), затылок (130,35.5), спина (94,27), брюхо (94,75), стебель 46,45/46,55 -->
<path fill="var(--f1,hsl(80,35%,50%))" d="M150 47 C148 41.5 143 36.5 136 35 C124 31.5 110 28 94 27 C72 28 53 35 46 45 L46 55 C49 62 55 69 64 72.5 C73 75 84 75.5 94 75 C112 75 128 69 138 59 C143.5 53.5 148 49.5 150 47 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(78,35%,74%))" d="M46 55 C49 62 55 69 64 72.5 C73 75 84 75.5 94 75 C112 75 128 69 138 59 C130 63.5 116 68 97 68.5 C76 69 55 63 46 55 Z"/>
<!-- спинная кромка: тёмная полоса по хребту, к затылку сходит на нет (голова остаётся золотистой) -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M137 35.3 C124 31.5 110 28 94 27 C72 28 53 35 46 45 C59 38.4 77 32.4 94 31.8 C111 32 124 34.8 134 38.5 C135.7 37.4 136.6 36.2 137 35.3 Z"/>
<!-- КИЛЬ: тонкая f4-кромка по брюху между анальным и брюшными плавниками -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M62 71.8 C68 73.5 74 74.7 80 75.3 L80 76.6 C74 76 68 74.8 62 73.1 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (сдвинута от крупного глаза) -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.3" d="M118 37 C123 44 124 54 119.5 63 C115 54 114 44 114.5 37.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(85,30%,24%))" stroke-width="1.3" opacity="0.5" d="M118 37 C123 44 124 54 119.5 63"/>
<!-- золотистый f2-блик по верхнему боку -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.28" d="M64 42 C84 34 110 32 130 37 C118 39 106 38.6 94 39.6 C80 40.8 70 43.8 62 48 Z"/>
<!-- чешуя: 5 f2-серпов (compound-path) -->
<path fill="var(--f2,hsl(78,35%,74%))" opacity="0.35" d="M74 41 Q68 47 74 53 Q70.5 47 74 41 Z M90 39.5 Q84 45.5 90 51.5 Q86.5 45.5 90 39.5 Z M106 40 Q100 46 106 52 Q102.5 46 106 40 Z M82 52 Q76 58 82 64 Q78.5 58 82 52 Z M98 51 Q92 57 98 63 Q94.5 57 98 51 Z"/>
<!-- чешуя: очень бледная f4-сетка (compound-path) -->
<path fill="var(--f4,hsl(85,30%,24%))" opacity="0.12" d="M82 40 Q88 45 82 50 Q84 45 82 40 Z M98 38.5 Q104 43.5 98 48.5 Q100 43.5 98 38.5 Z M114 41 Q120 46 114 51 Q116 46 114 41 Z M90 50 Q96 55 90 60 Q92 55 90 50 Z M106 49 Q112 54 106 59 Q108 54 106 49 Z"/>
<!-- рот: ГЛАВНЫЙ знак вида — полуверхний клин (150,45)→(146,44): верхняя губа выдаётся над кончиком рыла, устье смотрит вверх -->
<path fill="var(--f4,hsl(85,30%,24%))" d="M146.3 45.6 C147.8 45.1 149.3 44.1 150.4 43.1 C150.7 44.1 150.6 45.3 150 46.5 C148.8 46.4 147.5 46 146.3 45.6 Z"/>
<!-- грудной плавник: мягкая лопасть на боку (116,55)→(110,67), после тела -->
<path fill="var(--f3,hsl(12,72%,52%))" d="M118 54 C113 57 109 62 110.5 67 C114.5 65 117 60 119 56 Z"/>
<!-- глаз: ГЛАВНЫЙ знак вида — ЯРКО-ЖЁЛТАЯ радужка (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(85,30%,24%))" cx="134" cy="41" r="5.6"/>
<circle fill="#f7f3e6" cx="134" cy="41" r="4.7"/>
<circle fill="#e0b021" cx="134" cy="41" r="3.6"/>
<circle fill="#142638" cx="134" cy="41" r="2.4"/>
<circle fill="#fff" cx="132.7" cy="39.7" r="1.0"/>
</symbol>
<symbol id="fish-cisco" viewBox="0 0 160 100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M40 45 L12 30 L24 49 L12 68 L40 53 Z"/>
<!-- тело: удлинённое бирюзово-серебристое, чуть выше, чем у сельди, заострённая морда -->
<path fill="var(--f2,hsl(172,28%,68%))" d="M146 49 C134 39 112 31 86 31 C58 31 42 37 34 43 L34 55 C42 62 58 67 86 67 C112 67 134 61 146 49 Z"/>
<!-- брюхо: светлее -->
<path fill="var(--f2b,hsl(172,22%,82%))" d="M146 49 C134 61 112 67 86 67 C58 67 42 62 34 55 C42 58 58 63 86 63 C112 63 134 58 146 49 Z"/>
<!-- тёмная спинная кромка: тонкая полоса -->
<path fill="var(--f1,hsl(172,42%,46%))" d="M146 49 C134 39 112 31 86 31 C58 31 42 37 34 43 C42 40.5 58 35.5 86 35.5 C112 35.5 134 41 146 49 Z"/>
<!-- спинной плавник: высокий (характерно для сиговых) -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M64 33.5 Q80 -10 98 32.5 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M112 54 C107 59 107 64.5 112 67.5 C115.5 63 116.5 58.5 114 54.5 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M84 67 L79 75 L91 68.5 Z"/>
<!-- анальный плавник -->
<path fill="var(--f3,hsl(172,48%,32%))" d="M62 65.5 L56 73.5 L68 66.5 Z"/>
<!-- узор: тёмная боковая линия — ровная полоска вдоль середины тела от жабер к хвосту -->
<path fill="var(--f4,hsl(172,42%,26%))" d="M118 47.9 L38 48.4 L38 50.6 L118 50.1 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="128" cy="43.5" r="4.5"/>
<circle fill="#142638" cx="129" cy="43.5" r="2.2"/>
<!-- хвост: ГЛУБОКАЯ вилка, корень утоплен в стебель на 4 ед. (нахлёст) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M46 46 L14 30 C19 38 24 44.5 29 50 C24 55.5 19 62 14 70 L46 54 Z"/>
<!-- спинной плавник: ОДИН высокий узкий треугольник (основание x56..76 утоплено в спину, нахлёст ≥4), без задней лопасти — это не хариус -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M56 44 C60 32.5 63 20 66 12 C69 20 72 31 76 43.5 Z"/>
<!-- лучи спинного плавника: 3 тонких штриха веером от основания к кромке (внутри контура плавника) -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="0.9" opacity="0.28" d="M61.5 39 C61.5 34.5 62 31.5 62 28 M66 40 C66 32 66 22 66 15 M70.5 39.5 C71 34.5 71 31.5 71 29.5"/>
<!-- жировой плавничок: маленький округлый, сразу за спинным на стебле (второй главный знак сиговых; плавничок ОДИН, не ряд) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M44 48.8 C45 42 46.5 37 48.5 36 C50.5 37.5 51.5 42 52 46 Z"/>
<!-- анальный плавник: удлинённый, основание x58..76 утоплено в брюхо (нахлёст ≥4), низ до y79 -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M58 60.5 C58 70 62.5 77 68 79 C73.5 79.5 76 73 76 60.5 Z"/>
<!-- лучи анального плавника: 2 тонких штриха на лопасти (внутри контура) -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="0.9" opacity="0.28" d="M62 67.5 C62.6 71 63.6 73.5 64.5 75.5 M68 68.5 C68.3 71.5 68.8 74 69.3 76"/>
<!-- брюшные плавники: пара мягких округлых лопастей, x78..92 -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M79 61 C77.5 70 79 76.5 82.5 79 C85.5 76.5 86 70 85.5 61 Z"/>
<path fill="var(--f3,hsl(192,16%,42%))" d="M87 61 C85.5 70 87 76.5 90.5 79 C93.5 76.5 94 70 93.5 61 Z"/>
<!-- тело: стройное серебристое, рыло (150,49), короткий затылок (134,40.5), спина (98,38), брюхо (100,66), стебель 42,46/42,54 (толщина 8) -->
<path fill="var(--f1,hsl(190,14%,62%))" d="M150 49 C147 43.5 141 40.5 134 40.5 C122 38.5 110 38 98 38 C80 38 64 38.8 54 40 C49 41.2 45 43 42 46 L42 54 C48 61 54 64.5 62 65.8 C72 66.5 88 66.6 100 66 C120 66 139 59.5 150 49 Z"/>
<!-- брюхо: светлая нижняя треть -->
<path fill="var(--f2,hsl(188,14%,84%))" d="M42 54 C48 61 54 64.5 62 65.8 C72 66.5 88 66.6 100 66 C120 66 139 59.5 150 49 C137 58.5 120 62.5 100 62.5 C80 62.5 55 58.5 42 54 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(195,22%,26%))" d="M150 49 C147 43.5 141 40.5 134 40.5 C122 38.5 110 38 98 38 C80 38 64 38.8 54 40 C49 41.2 45 43 42 46 C54 42.6 76 40.8 98 40.8 C112 40.8 126 42.8 136 45.8 C142.5 47.6 147.5 48.4 150 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка маленькой головы -->
<path fill="var(--f2,hsl(188,14%,84%))" opacity="0.32" d="M133 41.5 C138 48 138.5 56 134 62 C129.5 54.5 128 47 128 42.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(195,22%,26%))" stroke-width="1.3" opacity="0.4" d="M133 41.5 C138 48 138.5 56 134 62"/>
<!-- чешуя: 4 широких f2-серпа КРУПНОЙ чешуи (compound-path) -->
<path fill="var(--f2,hsl(188,14%,84%))" opacity="0.4" d="M82 41.5 Q74 49 82 56.5 Q77.5 49 82 41.5 Z M95 42 Q87 49.5 95 57 Q90.5 49.5 95 42 Z M108 42.5 Q100 50 108 57.5 Q103.5 50 108 42.5 Z M121 43.5 Q113.5 50.5 121 57.5 Q117 50.5 121 43.5 Z"/>
<!-- боковая линия: тонкая f2-полоска вдоль середины тела от жабер к хвосту -->
<path fill="var(--f2,hsl(188,14%,84%))" d="M124 51.3 C108 50.8 70 50.4 44 50 L44 51.4 C70 51.8 108 52.2 124 52.7 Z"/>
<!-- рот: маленький полунижний, чуть ниже короткого рыла (усиков нет) -->
<path fill="var(--f4,hsl(195,22%,26%))" d="M145 51 C147.5 51.8 149.5 52.4 150 53 C148.3 53.8 146.4 53.4 145 52.2 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, направлена назад-вниз (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(192,16%,42%))" d="M118.5 55.5 C114.5 58 111.5 61.5 113 65 C116.5 63.5 118 59.5 119.5 56 Z"/>
<!-- глаз: НЕБОЛЬШОЙ (ободок → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(195,22%,26%))" cx="131" cy="44" r="4.4"/>
<circle fill="#f7f3e6" cx="131" cy="44" r="3.5"/>
<circle fill="#b9c2c6" cx="131" cy="44" r="2.7"/>
<circle fill="#142638" cx="131" cy="44" r="1.9"/>
<circle fill="#fff" cx="130" cy="43" r="0.7"/>
</symbol>
<symbol id="fish-herring" viewBox="0 0 160 100">
<!-- хвост: мелкий вилочный -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M37 50 L18 40 L26.5 50 L18 60 L37 50 Z"/>
<!-- тело: самое тонкое из тройки, удлинённое, заострённая морда -->
<path fill="var(--f2,hsl(205,30%,70%))" d="M146 50 C136 40 114 36 88 36 C62 36 44 40 37 46 L37 54 C44 60 62 64 88 64 C114 64 136 60 146 50 Z"/>
<!-- брюхо: ещё светлее -->
<path fill="var(--f2b,hsl(205,25%,82%))" d="M146 50 C136 60 114 64 88 64 C62 64 44 60 37 54 C44 57 62 59.5 88 59.5 C114 59.5 136 57 146 50 Z"/>
<!-- спинная кромка: тонкая тёмная полоса вдоль верхнего края -->
<path fill="var(--f1,hsl(205,45%,48%))" d="M146 50 C136 40 114 36 88 36 C62 36 44 40 37 46 C44 43 62 40.5 88 40.5 C114 40.5 136 43 146 50 Z"/>
<!-- спинной плавник: низкий, смещён к хвосту -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M64 37.5 Q76 22 88 37 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M116 54.5 C112 58 111.5 62.5 115 65.5 C118 61.5 118.5 57.5 117.5 55 Z"/>
<!-- брюшной плавник: далеко сдвинут к хвосту (черта сельди) -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M88 63.5 L84 70.5 L95 63.8 Z"/>
<!-- анальный плавник: ближе к хвосту -->
<path fill="var(--f3,hsl(205,50%,32%))" d="M61 63 L56 69.5 L67 63.4 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(205,45%,26%))" d="M138 50.3 C140.5 50.6 142.5 51.5 143.5 52.8 C141.8 54.2 139.4 53.9 138 52.6 Z"/>
<!-- узор: 6 коротких тёмных вертикалей вдоль верхнего края спины (~30% высоты тела, не доходят до брюха) -->
<path fill="var(--f4,hsl(205,45%,26%))" d="M117.1 39.5 L118.9 39.5 L118.9 47.5 L117.1 47.5 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M105.1 38 L106.9 38 L106.9 46 L105.1 46 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M93.1 37.2 L94.9 37.2 L94.9 45.2 L93.1 45.2 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M81.1 37.3 L82.9 37.3 L82.9 45.3 L81.1 45.3 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M69.1 37.9 L70.9 37.9 L70.9 45.9 L69.1 45.9 Z"/>
<path fill="var(--f4,hsl(205,45%,26%))" d="M57.1 39.5 L58.9 39.5 L58.9 47.5 L57.1 47.5 Z"/>
<!-- глаз: маленький -->
<circle fill="#fff" cx="130" cy="45" r="3.6"/>
<circle fill="#142638" cx="130.8" cy="45" r="1.9"/>
<!-- хвост: вилочный, лопасти (13,31)/(13,69), выемка (29,50); корень утоплен в стебель на 4.5 ед. (нахлёст) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M48.5 45.8 L13 31 C18 38 24 45 29 50 C24 55 18 62 13 69 L48.5 54.2 Z"/>
<!-- спинной плавник: ОДИН короткий НИЗКИЙ в середине спины, вершина (82,26), основание x70..94 утоплено в тело (нахлёст ≥4), без финлетов -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M70 43 C73 33 76.5 27.5 82 26 C87.5 28.5 91.5 34 94 43 Z"/>
<!-- анальный плавник: низкий, основание x48..62 утоплено в брюхо (нахлёст ≥4), низ (55,72) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M48 53 C49.5 62 51.5 69 55 72 C58.5 69 60.5 61 62 56 Z"/>
<!-- брюшные плавники: пара мелких лопастей, основания утоплены в брюхо (compound-path), кончики y72..73 -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M84 58.8 C83 66 85 70.5 87 72.5 C89 70.5 89.5 65 89 58.8 Z M91 58.8 C90 66 92 70.5 94 72.5 C96 70.5 96.5 65 96 58.8 Z"/>
<!-- тело: стройное серебристое ~4.1:1, рыло (151.5,49.5), затылок (135,42), спина (96,37), низ брюха (98,63), стебель x44 (46/54), нижняя челюсть чуть вперёд -->
<path fill="var(--f1,hsl(205,30%,62%))" d="M151.5 49.5 C149 44.8 142 42 135 42 C120 38.6 108 37 96 37 C76 37 58 39.5 44 46 L44 54 C58 60.5 78 64 96 64 C112 64 128 59 139 53.5 C145 50.8 151 50.4 152.5 51.5 Z"/>
<!-- брюхо: светлое серебро нижней трети -->
<path fill="var(--f2,hsl(200,22%,84%))" d="M44 54 C58 60.5 78 64 96 64 C112 64 128 59 139 53.5 C130 58 112 61.5 96 61.5 C76 61.5 57 58 44 54 Z"/>
<!-- спинная кромка: тонкий f4-серп по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(210,35%,24%))" d="M151.5 49.5 C149 44.8 142 42 135 42 C120 38.6 108 37 96 37 C76 37 58 39.5 44 46 C58 42.3 76 40.2 96 40.2 C108 40.4 120 42 135 45.2 C142 47 148 48 151.5 49.5 Z"/>
<!-- жаберная пластина: мягкая светлая заливка маленькой головы (не выходит за брюхо) -->
<path fill="var(--f2,hsl(200,22%,84%))" opacity="0.3" d="M127.5 43 C131.5 47.5 131.5 52 128 56 C124.5 51.5 124 46.5 124.5 43.2 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(210,35%,24%))" stroke-width="1.1" opacity="0.4" d="M127.5 43 C131.5 47.5 131.5 52 128 56"/>
<!-- КИЛЬ: тонкая прямая f4-черта по брюху чуть ниже светлой кромки (главный знак сельди) -->
<path fill="none" stroke="var(--f4,hsl(210,35%,24%))" stroke-width="1.2" opacity="0.55" stroke-linecap="round" d="M60 60.4 L89 63.8"/>
<!-- рот: маленькая тёмная щель, нижняя челюсть чуть вперёд -->
<path fill="var(--f4,hsl(210,35%,24%))" d="M149 51.3 C150.8 51.7 152.2 52.3 152.7 53 C151.2 53.5 149.7 53 148.6 52.1 Z"/>
<!-- грудной плавник: мягкая лопасть на боку, назад-вниз, корень (120,54) → кончик (114,66) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(205,38%,44%))" d="M120 54 C122 54.4 122.8 56 122 58.4 C120.6 62.6 117.6 65.4 114 66.2 C114.6 63.2 116 59.4 118 56.2 C118.7 55.2 119.4 54.4 120 54 Z"/>
<!-- глаз: КРУПНЫЙ на маленькой голове (ободок f4 → склера → радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(210,35%,24%))" cx="132" cy="44" r="5.2"/>
<circle fill="#f7f3e6" cx="132" cy="44" r="4.2"/>
<circle fill="#9fb6c4" cx="132" cy="44" r="3.2"/>
<circle fill="#142638" cx="132" cy="44" r="2.2"/>
<circle fill="#fff" cx="130.7" cy="42.7" r="0.9"/>
</symbol>
<symbol id="fish-mackerel" viewBox="0 0 160 100">
<!-- хвост: вилочный -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M32 45 L12 34 L23 50 L12 66 L32 55 Z"/>
<!-- спинной плавник: низкий, заострённый -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M58 36 Q73 17 88 35 Z"/>
<!-- анальный плавник: смещён к хвосту (черта скумбрии) -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M31 57.5 L26 65.5 L40 62.3 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M90 63.3 L87 71 L99 65.6 Z"/>
<!-- тело: удлинённое, тёмная полосатая спина -->
<path fill="var(--f1,hsl(190,45%,48%))" d="M144 50 C132 40 106 33 78 33 C54 33 38 37 30 43 L30 57 C38 63 54 67 78 67 C106 67 132 60 144 50 Z"/>
<!-- брюхо: светлое, контраст со спиной -->
<path fill="var(--f2,hsl(190,30%,70%))" d="M144 50 C132 60 106 67 78 67 C54 67 38 63 30 57 C38 60.5 54 60.5 78 60.5 C106 60.5 132 55.5 144 50 Z"/>
<!-- узор: волнистые тёмные полосы вдоль спинки (до ~40% высоты тела) -->
<path fill="var(--f4,hsl(190,45%,26%))" d="M54 35.8 C57.5 40.8 51.5 44.8 56 49.8 L60 48.6 C55.8 44.4 60.8 40.2 58.2 35.8 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M70 34 C73.5 39 67.5 43 72 48 L76 46.8 C71.8 42.6 76.8 38.4 74.2 34 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M86 33.9 C89.5 38.9 83.5 42.9 88 47.9 L92 46.7 C87.8 42.5 92.8 38.3 90.2 33.9 Z"/>
<path fill="var(--f4,hsl(190,45%,26%))" d="M102 35.8 C105.5 40.8 99.5 44.8 104 49.8 L108 48.6 C103.8 44.4 108.8 40.2 106.2 35.8 Z"/>
<!-- грудной плавник -->
<path fill="var(--f3,hsl(190,50%,32%))" d="M113 51 C109 55 108.5 60 112 63 C115 59 115.5 54 114.5 51.5 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(190,45%,26%))" d="M136.5 50.4 C139.5 50.7 141.5 51.7 143 53.1 C141 54.4 138.5 54 137 52.8 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="125" cy="45" r="4"/>
<circle fill="#142638" cx="125.8" cy="45" r="2.1"/>
<!-- хвост: вилочный, выемка (31,50); корень утоплен в стебель толщ.9 (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M48 44 C40 40.5 28 35 12 30 C21 39 27.5 45 31 50 C27.5 55 21 61 12 70 C28 65 40 59.5 48 56 Z"/>
<!-- D2 задний спинной: мягкий, ниже переднего, основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M83 40 C85 33.5 88 27.8 91 26 C94.5 28.5 97.5 33.5 99 39.5 Z"/>
<!-- D1 передний спинной: выше, вершина (113,24), задняя кромка с 4 ЛЁГКИМИ вогнутыми выемками -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M103 41 C105 34 108.5 27.5 113 24 Q114.6 28.4 116.3 27.2 Q117.9 31 119.4 30.2 Q121 34.6 122.6 34.4 Q122.8 38 123.5 43.5 Z"/>
<!-- A2 задний анальный: мягкая лопасть, основание в брюхе (нахлёст ≥4) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M80 60.5 C81.5 64.8 83.2 68.6 85 72 C87.5 68.6 89 64.8 90 60.5 Z"/>
<!-- A1 передний анальный: низ (98,74) -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M92 62 C94 67.5 95.8 71.5 98 74 C101 71.5 103.5 67 105 62 Z"/>
<!-- брюшные: пара мягких лопастей, кончики y71-73, основания в брюхе -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M106.5 60.5 C105.5 66.5 106.3 70.5 108 72.5 C110 70.5 110.5 66.5 110.5 60.5 Z M113.5 60 C112.5 65.5 113.5 69.5 115.5 71.5 C117.5 69.5 118.3 65 118 60 Z"/>
<!-- ФИНЛЕТЫ спины: 5 клиньев x54..80 одним compound-path, видимые зазоры (~1 ед.), основания в теле -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M54 44.5 L58 44.5 L54.8 33 Z M59 43.8 L63 43.8 L59.8 32.4 Z M64 42.8 L68 42.8 L64.8 31.9 Z M69 41.4 L73 41.4 L69.8 31.3 Z M74 40.6 L78 40.6 L74.8 30.8 Z"/>
<!-- ФИНЛЕТЫ брюха: 4 клина x54..76 одним compound-path, видимые зазоры -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M54 55 L58 55 L54.8 72 Z M60 56.5 L64 56.5 L60.8 71.3 Z M66 58 L70 58 L66.8 70.6 Z M72 59.5 L76 59.5 L72.8 70 Z"/>
<!-- тело: веретено ~3.5:1, рыло (152,49)/низ (152.5,50.5), затылок (135,40.5), спина (98,34.5), низ брюха (100,65.5), стебель x44 (45.5/54.5) -->
<path fill="var(--f1,hsl(190,28%,66%))" d="M152 49 C148 43.5 143 41 135 40.5 C122 36.2 110 34.8 98 34.5 C76 35.5 56 39.5 44 45.5 L44 54.5 C56 60.5 76 64.5 100 65.5 C124 65.8 143 57.5 152.5 50.5 Z"/>
<!-- брюхо: светлое серебро (резкая двухцветность), не доходит до спины -->
<path fill="var(--f2,hsl(190,20%,86%))" d="M44 54.5 C56 60.5 76 64.5 100 65.5 C124 65.8 143 57.5 152.5 50.5 C144 57 124 62.5 100 62 C76 61.5 57 58.5 44 54.5 Z"/>
<!-- спинная кромка: тонкая тёмная полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M152 49 C148 43.5 143 41 135 40.5 C122 36.2 110 34.8 98 34.5 C76 35.5 56 39.5 44 45.5 C57 40 76 36.8 98 37 C110 37.1 122 38.6 134 42.5 C142 45.5 148 48 152 49 Z"/>
<!-- 2 киля f4 на стебле (compound): тонкие тёмные гребни сверху и снизу -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M50 46.4 C47.5 45.4 45.3 45.1 44 45.5 L44 47.4 C45.6 47.1 47.7 47.2 50 47.2 Z M50 53.6 C47.5 54.6 45.3 54.9 44 54.5 L44 52.6 C45.6 52.9 47.7 52.8 50 52.8 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (объём), не задевает ободок глаза -->
<path fill="var(--f2,hsl(190,20%,86%))" opacity="0.3" d="M126 41 C130 46 130.5 52 127.5 58 C123.5 52 122.5 46 123.5 41.5 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у головы -->
<path fill="none" stroke="var(--f4,hsl(195,32%,25%))" stroke-width="1.5" d="M125 41 C129 46 129.5 52 126.5 58"/>
<!-- 7 ВОЛНИСТЫХ тёмных «S»-полос по спине одним compound-path: верх вплотную под спинной кромкой, низ до середины бока (y≈50.5), брюхо НЕ задевают -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M56 42.2 C58.9 45.3 53.6 47.3 58.2 50.5 L61 49.7 C56.9 45.1 62.2 46.4 59.2 42.2 Z M67 40.1 C69.9 44 64.6 46.4 69.2 50.5 L72 49.7 C67.9 45.1 73.2 44.3 70.2 40.1 Z M78 38.8 C80.9 43.2 75.6 45.9 80.2 50.5 L83 49.7 C78.9 45.1 84.2 43 81.2 38.8 Z M89 38.2 C91.9 42.8 86.6 45.7 91.2 50.5 L94 49.7 C89.9 45.1 95.2 42.4 92.2 38.2 Z M100 38.2 C102.9 42.8 97.6 45.7 102.2 50.5 L105 49.7 C100.9 45.1 106.2 42.4 103.2 38.2 Z M111 39 C113.9 43.3 108.6 46 113.2 50.5 L116 49.7 C111.9 45.1 117.2 43.2 114.2 39 Z M122 40.8 C124.9 44.4 119.6 46.7 124.2 50.5 L127 49.7 C122.9 45.1 128.2 45 125.2 40.8 Z"/>
<!-- рот: щель от заострённого конца рыла назад под глаз -->
<path fill="var(--f4,hsl(195,32%,25%))" d="M151.5 49.3 C145 49.8 139 50.6 132 52 C139 53.2 145 52.8 152 51.4 Z"/>
<!-- грудной плавник: на боку, корень (120,54) → кончик (113,67), ПОСЛЕ тела -->
<path fill="var(--f3,hsl(192,34%,46%))" d="M120.5 54 C117.5 58 114.5 62.5 113 67 C116.5 65 120 61 121.5 56 Z"/>
<!-- глаз: крупный у конца морды (ободок → склера → серая радужка → зрачок → блик) -->
<circle fill="var(--f4,hsl(195,32%,25%))" cx="133" cy="42.5" r="4.6"/>
<circle fill="#f7f3e6" cx="133" cy="42.5" r="3.7"/>
<circle fill="#9aa7b0" cx="133" cy="42.5" r="3"/>
<circle fill="#142638" cx="133" cy="42.5" r="2.1"/>
<circle fill="#fff" cx="131.8" cy="41.3" r="0.8"/>
</symbol>
<symbol id="fish-flounder" viewBox="0 0 160 100">
<!-- хвост: маленький, закруглённый -->
<path fill="var(--f3,hsl(40,50%,32%))" d="M30 52 C20 41 10 42 8 52 C10 62 20 63 30 52 Z"/>
<!-- спинной плавник: низкая полоса вдоль верхнего края -->
<path fill="var(--f3,hsl(40,50%,32%))" d="M32 39 C52 24 96 22 118 38.4 C92 33 60 32.5 32 39 Z"/>
<!-- тело: плоская широкая «пластина» ~2.5:1, заострённая морда справа -->
<path fill="var(--f1,hsl(40,45%,48%))" d="M140 52 C138 44 124 35 100 32 C72 29 42 31 28 40 C21 45 21 59 28 64 C42 73 72 76 100 73 C124 70 138 60 140 52 Z"/>
<!-- брюхо: светлая полоса вдоль нижнего края -->
<path fill="var(--f2,hsl(40,30%,70%))" d="M132 57 C126 66 110 71 92 72.5 C70 74.5 46 71.5 33 61 C40 66.5 58 63.5 80 63 C102 62.5 122 63 132 57 Z"/>
<!-- узор: мраморные пятна-камуфляж -->
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="46" cy="47" rx="7" ry="4.5" transform="rotate(-14 46 47)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="62" cy="58" rx="6" ry="4" transform="rotate(10 62 58)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="80" cy="45" rx="8" ry="5" transform="rotate(-8 80 45)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="95" cy="57" rx="5.5" ry="3.5" transform="rotate(12 95 57)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="58" cy="38" rx="4.5" ry="3" transform="rotate(8 58 38)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="74" cy="66" rx="5" ry="3" transform="rotate(-12 74 66)"/>
<ellipse fill="var(--f4,hsl(40,45%,26%))" cx="90" cy="38" rx="4.5" ry="3" transform="rotate(-6 90 38)"/>
<circle fill="var(--f4,hsl(40,45%,26%))" cx="36" cy="57" r="3"/>
<circle fill="var(--f4,hsl(40,45%,26%))" cx="102" cy="52" r="3.5"/>
<!-- рот: тёмная щель у заострённой морды -->
<path fill="var(--f4,hsl(40,45%,26%))" d="M139 52 C133 48.5 126 49 122 52 C127 55 134 55 139 52 Z"/>
<!-- грудной плавник -->
<ellipse fill="var(--f3,hsl(40,50%,32%))" cx="103" cy="62" rx="10" ry="5.5" transform="rotate(-15 103 62)"/>
<!-- глаза: ОБА на верхней стороне, рядом друг с другом (камбала лежит на боку) -->
<circle fill="#fff" cx="110" cy="43.5" r="5.8"/>
<circle fill="#142638" cx="112" cy="43.5" r="2.7"/>
<circle fill="#fff" cx="122" cy="45" r="5"/>
<circle fill="#142638" cx="124" cy="45" r="2.2"/>
<!-- хвост-веер: КРОШЕЧНЫЙ и ОКРУГЛЫЙ (НЕ вилка), основанием заходит в стебель (нахлёст ≥4) -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M44 43 C34 40.5 18 42 14 50 C18 58 34 59.5 44 57 Z"/>
<!-- бахрома СПИННОГО плавника: непрерывная по верхнему краю пластины, 6 мелких лопастей до y≈18 -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M145 42 Q140 29 136 30 Q132 33 128 33 Q123 23 118 23 Q114 27 110 27 Q104 18 100 18.5 Q95 22 92 22 Q87 18 82 18.5 Q78 21 74 21 Q69 19 64 19.5 Q60 23 56 26 Q52 29 48 31 Q44 35 42 38 L40 43 L40 48 C58 42 86 29 116 33 C130 37 140 41 145 44 Z"/>
<!-- бахрома АНАЛЬНОГО плавника: зеркало спинной относительно y=50, лопасти до y≈82 -->
<path fill="var(--f3,hsl(38,38%,40%))" d="M145 58 Q140 71 136 70 Q132 67 128 67 Q123 77 118 77 Q114 73 110 73 Q104 82 100 81.5 Q95 78 92 78 Q87 82 82 81.5 Q78 79 74 79 Q69 81 64 80.5 Q60 77 56 74 Q52 71 48 69 Q44 65 42 62 L40 57 L40 52 C58 58 86 71 116 67 C130 63 140 59 145 56 Z"/>
<!-- тело: ШИРОКООВАЛЬНАЯ пластина (макс. ширина 52 у x≈88, стебель 10), тупое рыло (150,50); контур симметричен y=50 с точностью до контрольных точек -->
<path fill="var(--f1,hsl(40,42%,52%))" d="M40 45 C58 33.5 74 25 88 24 C106 22.8 132 33 148 45.5 C149.6 47 150 48.6 150 50 C150 51.4 149.6 53 148 54.5 C132 67 106 77.2 88 76 C74 75 58 66.5 40 55 C38.6 52 38.6 48 40 45 Z"/>
<!-- лучи бахромы: тёмные f4-штрихи по обеим кромкам (compound-path), приглушены -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1" opacity="0.3" d="M50 44 L46 32 M64 39 L62 22 M80 33 L80 20 M96 32 L98 20 M110 35 L113 23 M124 39 L127 27 M138 43 L140 32 M50 56 L46 68 M64 61 L62 78 M80 67 L80 80 M96 68 L98 80 M110 65 L113 77 M124 61 L127 73 M138 57 L140 68"/>
<!-- светлые f2-пятна: 3 симметричные пары (compound-path) -->
<path fill="var(--f2,hsl(42,38%,80%))" opacity="0.55" d="M56 40 C62 37 68 40 66 44 C64 47 58 46.5 55 44 C53.5 42 54 40.8 56 40 Z M56 60 C62 63 68 60 66 56 C64 53 58 53.5 55 56 C53.5 58 54 59.2 56 60 Z M94 31 C100 29 105 32 103.5 35.5 C102 39 96 38.5 93.5 36 C92 34 92.5 32 94 31 Z M94 69 C100 71 105 68 103.5 64.5 C102 61 96 61.5 93.5 64 C92 66 92.5 68 94 69 Z M118 41 C122 39.5 126 42 125 44.5 C124 47 119 46.5 117.5 44.5 C116.5 43 117 41.5 118 41 Z M118 59 C122 60.5 126 58 125 55.5 C124 53 119 53.5 117.5 55.5 C116.5 57 117 58.5 118 59 Z"/>
<!-- мрамор: 7 f4-клякс-камуфляж ТОЛЬКО в верхней половине (асимметричный узор), compound-path -->
<path fill="var(--f4,hsl(35,40%,24%))" opacity="0.42" d="M46 42 C50 39.5 55 41 53.5 45 C52 48 46.5 47.5 44.5 45 C43.5 43.5 44 42.5 46 42 Z M64 34 C69 31.5 74 33.5 72.5 37.5 C71 41 65 40 63 37.5 C62 36 62.5 34.8 64 34 Z M82 29 C87 27 92 29.5 90.5 33 C89 36.5 82.5 35.5 80.5 33 C79.5 31.4 80 29.8 82 29 Z M100 32 C105 30 110 32.5 108.5 36 C107 39.5 100.5 38.5 98.5 36 C97.5 34.4 98 33 100 32 Z M116 40 C120 38 124 40.5 123 43.5 C122 46.5 117 46 115.5 43.5 C114.5 42 115 40.5 116 40 Z M74 43 C77.5 41.5 81 43.5 80 46 C79 48.5 74.5 48 73 46 C72.2 44.8 72.8 43.6 74 43 Z M86 40 C90 38.5 93 40.5 92 43 C91 45.5 86.5 45 85 43 C84.2 41.8 84.8 40.6 86 40 Z"/>
<!-- тёмная кромка контура: тонкие f4-линии по спинному и брюшному краю (compound-path, симметричны) -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1.1" opacity="0.5" d="M40 45 C58 33.5 74 25 88 24 C106 22.8 132 33 148 45.5 M40 55 C58 66.5 74 75 88 76 C106 77.2 132 67 148 54.5"/>
<!-- жаберная пластина: мягкая светлая f2-заливка за головой -->
<path fill="var(--f2,hsl(42,38%,80%))" opacity="0.28" d="M114 38 C120 42.5 120 53.5 114 61 C109.5 53.5 109.5 45 114 38 Z"/>
<!-- жаберная дуга: тёмный серп (зазор от обоих глаз ≥4) -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1.5" d="M114 38 C120 42.5 120 53.5 114 61"/>
<!-- боковая линия: наджаберная дуга (134,40)→(120,44) + прямая (120,44)→(48,49), compound-path f4 -->
<path fill="none" stroke="var(--f4,hsl(35,40%,24%))" stroke-width="1" opacity="0.5" d="M134 40 C128.5 41 123.5 42.5 120 44 L48 49"/>
<!-- грудной плавник: мягкий f3-эллипс на боку, рисуется ПОСЛЕ тела -->
<ellipse fill="var(--f3,hsl(38,38%,40%))" cx="110" cy="60" rx="11" ry="5.5" transform="rotate(-15 110 60)"/>
<!-- рот: асимметричная тёмная щель у притуплённого рыла (148,52.5) -->
<path fill="var(--f4,hsl(35,40%,24%))" d="M150 51.2 C145.5 51.6 141 52.2 137 53.2 C141.5 54.6 145.5 54.2 149.5 53.4 Z"/>
<!-- глаз передний (140,43): ободок → склера → янтарная радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(35,40%,24%))" cx="140" cy="43" r="5.2"/>
<circle fill="#f7f3e6" cx="140" cy="43" r="4.2"/>
<circle fill="#c08a3e" cx="140" cy="43" r="3.2"/>
<circle fill="#142638" cx="140" cy="43" r="2.2"/>
<circle fill="#fff" cx="138.6" cy="41.6" r="0.9"/>
<!-- глаз задний (128,45.5): рядом с передним, чуть меньше — «двойная клякса» на верхнем краю -->
<circle fill="var(--f4,hsl(35,40%,24%))" cx="128" cy="45.5" r="4.4"/>
<circle fill="#f7f3e6" cx="128" cy="45.5" r="3.5"/>
<circle fill="#c08a3e" cx="128" cy="45.5" r="2.7"/>
<circle fill="#142638" cx="128" cy="45.5" r="1.9"/>
<circle fill="#fff" cx="126.8" cy="44.2" r="0.7"/>
</symbol>
<symbol id="fish-tuna" viewBox="0 0 160 100">
<!-- хвост: полумесяц — верхняя серповидная лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 46 C28 38 17 31 10 27 C13 38 19 45 29 50 L37 46 Z"/>
<!-- хвост: полумесяц — нижняя серповидная лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 54 C28 62 17 69 10 73 C13 62 19 55 29 50 L37 54 Z"/>
<!-- спинной плавник: маленький, впереди -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M101 34.5 L93 18 L115 34.2 Z"/>
<!-- жировые плавнички позади спинного: 3 маленьких треугольника, к хвосту мельчают -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M91 34.3 L85 24 L79 34.6 Z"/>
<path fill="var(--f3,hsl(210,50%,32%))" d="M77 34.8 L72 26.5 L66 35 Z"/>
<path fill="var(--f3,hsl(210,50%,32%))" d="M64 35.6 L60 29 L55 35.9 Z"/>
<!-- анальный плавник: смещён к хвосту -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M43 58.5 L38 66 L51 62 Z"/>
<!-- брюшной плавник -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M107 62.5 L104 69 L113 64.5 Z"/>
<!-- тело: торпеда, сужается к хвостовому стеблю -->
<path fill="var(--f1,hsl(210,45%,48%))" d="M151 50 C139 40 111 33 81 33 C61 33 47 38 36 45.5 L36 54.5 C47 62 61 67 81 67 C111 67 139 60 151 50 Z"/>
<!-- брюхо: светлое, контраст тёмная спина / светлое брюхо -->
<path fill="var(--f2,hsl(210,30%,70%))" d="M151 50 C139 60 111 67 81 67 C61 67 47 62 36 54.5 C47 58.5 61 60 81 60 C111 60 139 55.5 151 50 Z"/>
<!-- узор: тонкие тёмные линии по нижней половине бока (черта тунца) -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M57 54.6 L73 54.6 L73 55.9 L57 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M79 54.6 L95 54.6 L95 55.9 L79 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M101 54.6 L117 54.6 L117 55.9 L101 55.9 Z"/>
<path fill="var(--f4,hsl(210,45%,26%))" d="M123 54.6 L133 54.6 L133 55.9 L123 55.9 Z"/>
<!-- рот: маленький тёмный на конце морды -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M143.5 50.4 C146.5 50.7 148.5 51.7 150 53.1 C148 54.4 145.5 54 144 52.8 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="135" cy="45" r="4"/>
<circle fill="#142638" cx="135.8" cy="45" r="2.1"/>
<!-- хвост-полумесяц: верхняя ТОНКАЯ серповидная лопасть, корень (52,46) → кончик (9,21), выемка (34,50) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 46 C36 35 21 26 9 21 C15 33 26 43.5 34 50 Z"/>
<!-- хвост-полумесяц: нижняя ТОНКАЯ серповидная лопасть, зеркало верхней (кончик 9,79) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 54 C36 65 21 74 9 79 C15 67 26 56.5 34 50 Z"/>
<!-- ЗАЛИВКА основания хвоста: закрывает карман между лопастями и стеблем (иначе внутренняя прозрачная «дыра»; силуэт не меняется) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M52 46 L34 50 L52 54 Z"/>
<!-- D1: маленький передний спинной, осн. x108..122, вершина (115,23.5) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M108 38 L115 23.5 L122 40 Z"/>
<!-- D2: второй маленький спинной позади D1, осн. x90..104, вершина (97,29) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M90 37.5 L97 29 L104 38 Z"/>
<!-- 7 финлетов сверху: мелкие треугольники позади D2, к хвосту мельчают, основания утоплены в тело (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M87 37.6 L83 27 L79 37.8 Z M81 37.7 L77 28.5 L73 38.3 Z M75 38.2 L71 30.5 L67 39 Z M69 39 L65 32.5 L61 40.5 Z M63 40.4 L59 35 L55 42.5 Z M57 42.3 L53.5 38 L50 44.5 Z M51 44.5 L48.5 40.5 L46 46.5 Z"/>
<!-- 6 финлетов снизу: под анальным, вдоль брюха, к хвосту мельчают, основания утоплены (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M88 62.8 L84 73 L80 62.8 Z M82 62.6 L78 72 L74 62 Z M76 61.5 L72 70.5 L68 60.3 Z M70 59.5 L66 68 L62 58.2 Z M64 57 L60 65 L56 55.5 Z M58 54 L54 61.5 L50 52.5 Z"/>
<!-- A1: анальный плавник, осн. x90..104, низ (97,74) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M90 62 L97 74 L104 62.5 Z"/>
<!-- брюшные плавники: пара, осн. x108..118, кончики y72..74 (compound-path) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M108 61.5 C107 67 108 71 110 72.8 C111.5 69.5 111 65 110.5 61.5 Z M116 61 C115.2 66 116 70 118.2 72.5 C119 69 118.8 65 118.3 60.8 Z"/>
<!-- тело: плотное обтекаемое торпедо (глубина 34.5, D/L≈3.1), рыло (151.5,49), затылок (135,40), спина (98,33), низ брюха (98,67), стебель x46 (45.5/54.5) -->
<path fill="var(--f1,hsl(210,32%,52%))" d="M151.5 49 C147 43 141 39.5 135 40 C121 35.5 109 33.2 98 33 C79 33 60 38 46 45.5 L46 54.5 C60 62 79 67 98 67 C109 67 121 64.5 135 60 C141 60 147 56.5 151.5 51 C152.7 50.6 152.7 49.4 151.5 49 Z"/>
<!-- брюхо: светлое серебро нижней трети (резкая двухцветность тёмная спина / серебро) -->
<path fill="var(--f2,hsl(206,22%,80%))" d="M46 54.5 C60 62 79 67 98 67 C109 67 121 64.5 135 60 C141 60 147 56.5 151.5 51 C146 55.5 139 59 131 61.5 C116 65 100 65.6 84 63.5 C69 61.3 57 58 46 54.5 Z"/>
<!-- спинная кромка: тонкая f4-полоса по верхнему контуру (тёмная спина) -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M151.5 49 C147 43 141 39.5 135 40 C121 35.5 109 33.2 98 33 C79 33 60 38 46 45.5 C59 39.6 78 36 98 36 C110 36 122 38.5 135 43 C141 43.5 147 46.5 151.5 49 Z"/>
<!-- жаберная пластина: мягкая светлая заливка объёма головы -->
<path fill="var(--f2,hsl(206,22%,80%))" opacity="0.3" d="M124 41 C128 45.5 128 55.5 123.5 61 C119.5 55 119.5 45.5 120.5 41.5 Z"/>
<!-- жаберная дуга: тёмный серп у затылка -->
<path fill="none" stroke="var(--f4,hsl(212,36%,22%))" stroke-width="1.5" d="M124 41 C128 45.5 128 55.5 123.5 61"/>
<!-- штрихи-чёрточки: 5 тонких горизонтальных тёмных чёрточек в нижней половине бока (узнаваемый признак тунца, НЕ полосы) -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M120 56.2 L134 56.2 L134 57.5 L120 57.5 Z M100 57.2 L114 57.2 L114 58.5 L100 58.5 Z M80 56.3 L94 56.3 L94 57.6 L80 57.6 Z M62 57.6 L76 57.6 L76 58.9 L62 58.9 Z M86 58.6 L101 58.6 L101 59.9 L86 59.9 Z"/>
<!-- 2 киля на хвостовом стебле: тонкие f4-черты (compound) -->
<path fill="none" stroke="var(--f4,hsl(212,36%,22%))" stroke-width="1.3" d="M46 48.5 L52 48.5 M46 51.5 L52 51.5"/>
<!-- рот: маленькая тёмная щель на конце морды -->
<path fill="var(--f4,hsl(212,36%,22%))" d="M143.5 50.2 C146.5 50.5 148.8 51.4 150.4 52.6 C148.2 53.6 145.6 53.1 144 51.8 Z"/>
<!-- грудной плавник: длинный заострённый, корень (118,54) → кончик (99,63) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(212,34%,38%))" d="M118 54 C110 55.5 103 59 99 63 C106 62.5 113 59.5 119 56 Z"/>
<!-- глаз: ободок f4 → склера → янтарная радужка → зрачок → блик -->
<circle fill="var(--f4,hsl(212,36%,22%))" cx="133" cy="42" r="4.6"/>
<circle fill="#f7f3e6" cx="133" cy="42" r="3.7"/>
<circle fill="#c9a24a" cx="133" cy="42" r="3.0"/>
<circle fill="#142638" cx="133" cy="42" r="2.1"/>
<circle fill="#fff" cx="131.9" cy="40.9" r="0.8"/>
</symbol>
<symbol id="fish-swordfish" viewBox="0 0 160 100">
<!-- хвост-полумесяц: верхняя серповидная лопасть -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M43,47.5 C37,41 29,32 17,25 C20,35 24,43 30,49.5 C34,49.8 38.5,48.8 43,47.5 Z"/>
<!-- хвост-полумесяц: нижняя серповидная лопасть -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M43,52.5 C37,59 29,68 17,75 C20,65 24,57 30,50.5 C34,50.2 38.5,51.2 43,52.5 Z"/>
<!-- спинной плавник: большой, высокий -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M64,39.5 C70,30 80,25.5 92,27.5 C86,32 82,35.5 80,38.5 C75,39 69,39.3 64,39.5 Z"/>
<!-- тело: удлинённое ~3:1, голова справа -->
<path fill="var(--f1,hsl(250,45%,48%))" d="M112,43 C98,37 78,36 60,40 C50,42.5 44,46 41,50 C44,54 50,57.5 60,60 C78,64 98,63 112,57 C115,53.5 115,46.5 112,43 Z"/>
<!-- брюхо: светлее, лунка вдоль нижней кромки -->
<path fill="var(--f2,hsl(250,30%,70%))" d="M43,48.5 C47,52 53,54.5 61,56 C78,59 97,58 110.5,53 L112,57 C98,63 78,64 60,60 C50,57.5 44,54 41,50 C41.6,49.6 42.3,49 43,48.5 Z"/>
<!-- анальный плавник: маленький, сзади -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M58,59.3 C62,63.5 68,66 75,65.8 C70.5,62.5 66.5,60.3 63,59.2 Z"/>
<!-- брюшной плавник: маленький, у головы -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M90,58.2 C93,62 97,64.3 103,64.3 C99,61 95.5,59 93,58.1 Z"/>
<!-- грудной плавник: у головы, под жаберной крышкой -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M99,51.5 C103,54.5 107.5,56.5 112.5,57 C108.5,53.5 104.5,51.5 101.5,50.3 Z"/>
<!-- меч: длинный заострённый клинок спереди, ~30% ширины рыбы -->
<path fill="var(--f3,hsl(250,50%,32%))" d="M144,50 L106,44 L106,53 Z"/>
<!-- жаберная крышка: тонкий полумесяц-узор -->
<path fill="var(--f4,hsl(250,45%,26%))" d="M95,42.5 C98.5,46 98.5,54 95,57.5 C97.3,53.5 97.3,46.5 95,42.5 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="104" cy="47" r="3.8"/>
<circle fill="#142638" cx="105" cy="47" r="1.9"/>
<!-- хвост: полумесяц — верхняя тонкая лопасть, корень утоплен в стебель (нахлёст ≥4), кончик (8,19) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M43 45.8 C34 38.5 21 28 8 19 C12 30 19 41 26 49.5 C31 48.6 37 47.9 43 47.3 Z"/>
<!-- хвост: полумесяц — нижняя тонкая лопасть, кончик (8,81), выемка у (26,50) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M43 54.2 C34 61.5 21 72 8 81 C12 70 19 59 26 50.5 C31 51.4 37 52.1 43 52.7 Z"/>
<!-- D1 «парус»: ВЫСОКИЙ серповидный, основание x62..90 утоплено в спину (нахлёст ≥4), ведущая кромка к вершине (80,12), задняя ВОГНУТАЯ к (58,33) — главный силуэтный знак -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M90 43 C88 32.5 85 20 80 12 C73 21 64 29 58 33 C59.5 36.5 60.5 40 62 43 C71 44 81 44 90 43 Z"/>
<!-- D2: маленький задний спинной, сдвинут к хвосту, вершина (51,36.5), основание в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M46 47 C47.5 42 49.5 38.2 51 36.5 C53 38.8 55 42 56.5 45.5 Z"/>
<!-- анальный: маленький, сдвинут к хвосту, низ (53,66.5), основание утоплено в брюхо (нахлёст ≥4, верхняя кромка идёт ВЫШЕ линии брюха) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M46 55.2 C48.6 60.2 51.2 63.9 53.3 66.5 C55.7 63.6 57.8 60.1 59 57.4 Z"/>
<!-- МЕЧ: длинный тонкий клинок f1, основание (122,47.2..52.8) → остриё (159,50), длина ~35 ед.; нарисован ДО тела, чтобы корень скрылся под головой -->
<path fill="var(--f1,hsl(250,28%,52%))" d="M122 47.2 C141 47.5 153 48.9 159 50 C153 51.1 141 52.5 122 52.8 Z"/>
<!-- меч, f4-кромка сверху: тонкая тёмная полоса по верхней грани клинка -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M122 47.2 C141 47.5 153 48.9 159 50 C153 48.9 141 48.1 122 48.4 Z"/>
<!-- тело: удлинённое ~3:1, рыло/перед головы (124,47..52), затылок (106,40.5), спина (80,37), низ брюха (82,63), стебель x38 (45.5/54.5) -->
<path fill="var(--f1,hsl(250,28%,52%))" d="M38 45.5 C52 40 66 37.5 80 37 C92 37 100 38.2 106 40.5 C110.5 40.9 114 40.7 117 42.2 C120 43.8 122.4 45.8 124 48 L124 52 C121 54.5 114 57 106 59 C96 61.5 88 63 82 63 C66 62.5 50 58 38 54.5 Z"/>
<!-- брюхо: светлое серебро вдоль подводной кромки (гладкое, без узора) -->
<path fill="var(--f2,hsl(240,18%,82%))" d="M38 54.5 C50 58 66 62.5 82 63 C88 63 96 61.5 106 59 C114 57 121 54.5 124 52 L124 50.5 C120 52.8 112 55.5 104 57 C94 58.8 84 59.6 74 59.3 C60 58.8 48 55.8 38 52 Z"/>
<!-- спинная кромка: тонкая тёмная f4-полоса по верхнему контуру (не зубцы) -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M38 45.5 C52 40 66 37.5 80 37 C92 37 100 38.2 106 40.5 C110.5 40.9 114 40.7 117 42.2 C120 43.8 122.4 45.8 124 48 L124 49.2 C122.4 47.2 120 45.2 117 43.6 C114 42.1 110.5 42.2 106 42 C100 39.6 92 38.4 80 38.4 C66 39.3 52 42 38 47.2 Z"/>
<!-- кили f4 на стебле (x38..44): тонкие тёмные гребни по верху и низу хвостового стебля, compound-path -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M38 45.5 C40 44.7 42 43.7 44 43.4 L44 45.2 C42 45.3 40 46.2 38 47.2 Z M38 54.5 C40 55.4 42 56.2 44 56.3 L44 54.6 C42 54.5 40 53.6 38 52.7 Z"/>
<!-- жаберная пластина: мягкая светлая заливка головы (объём), отодвинута от ободка глаза на ≥4 -->
<path fill="var(--f2,hsl(240,18%,82%))" opacity="0.3" d="M103 41 C99 44.8 99.8 49 105.5 52.5 C107.8 48.6 106.7 44 106.1 41.2 Z"/>
<!-- жаберная дуга: тонкий тёмный серп у затылка (зазор от ободка глаза ≥4) -->
<path fill="none" stroke="var(--f4,hsl(248,34%,22%))" stroke-width="1.5" d="M103 41 C99 44.8 99.8 49 105.5 52.5"/>
<!-- рот: ШИРОКАЯ ЩЕЛЬ БЕЗ ЗУБОВ (124,50.5)→(112,53.5) вдоль нижней челюсти; верхний правый угол доведён до основания меча (x=124), чтобы не просвечивало брюхо f2 -->
<path fill="var(--f4,hsl(248,34%,22%))" d="M124 50.5 C119.6 51.2 115 52.5 112.2 53.5 C115 54.3 119 54.4 124 54.2 Z"/>
<!-- грудной плавник: узкая серповидная лопасть на боку, корень (101,53) → кончик (89,63) (ПОСЛЕ тела) -->
<path fill="var(--f3,hsl(250,32%,36%))" d="M101.5 53.2 C99.5 57.6 95 61.6 89 63.2 C92.6 58.6 97.2 54.4 100.6 51.6 Z"/>
<!-- глаз: ободок → склера → серая радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(248,34%,22%))" cx="116" cy="43.5" r="5.2"/>
<circle fill="#f7f3e6" cx="116" cy="43.5" r="4.2"/>
<circle fill="#7d8f9c" cx="116" cy="43.5" r="3.2"/>
<circle fill="#142638" cx="116" cy="43.5" r="2.2"/>
<circle fill="#fff" cx="114.9" cy="42.4" r="0.9"/>
</symbol>
<symbol id="fish-moray" viewBox="0 0 160 100">
<!-- тело: толстая S-образная лента, сужается к хвосту, хвостового плавника нет -->
<path fill="var(--f1,hsl(50,45%,48%))" d="M24 37.5 C30 33 34 28 40 27 C48 26 50 33 56 34 C64 36 70 42 78 43 C86 44 92 35 98 34 C104 33 110 29 118 29 C130 29 138 33 141 40 C143 44 143 50 140 55 C137 60 132 63 126 63 C118 63 108 62 98 62 C90 62 84 69 78 69 C70 69 62 59 56 58 C50 57 46 48 40 45 C34 42 28 43 24 42.5 C20 41 20 39 24 37.5 Z"/>
<!-- брюхо: нижняя полоса тела и нижняя челюсть светлее -->
<path fill="var(--f2,hsl(50,30%,70%))" d="M118 55 C108 54 102 54 98 54 C88 54 82 58 78 59 C70 61 62 52 56 49 C50 46 46 40 40 37 C34 34.5 28 36 24.5 38.5 L24 42.5 C28 43 34 42 40 45 C46 48 50 57 56 58 C62 59 70 69 78 69 C84 69 90 62 98 62 C108 62 118 63 126 63 C132 63 137 60 140 55 Z"/>
<!-- узор: тёмные пятна вдоль тела -->
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="104" cy="45" rx="4.5" ry="5.5" transform="rotate(-15 104 45)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="89" cy="49.5" rx="5" ry="6" transform="rotate(18 89 49.5)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="76" cy="55" rx="4.5" ry="5.5" transform="rotate(-22 76 55)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="63" cy="49.5" rx="4.5" ry="5" transform="rotate(12 63 49.5)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="51" cy="42" rx="4" ry="4.5" transform="rotate(-18 51 42)"/>
<ellipse fill="var(--f4,hsl(50,45%,26%))" cx="39" cy="35" rx="3.5" ry="4" transform="rotate(14 39 35)"/>
<!-- большая открытая пасть: тёмная щель-улыбка на передней части головы -->
<path fill="var(--f4,hsl(50,45%,26%))" d="M120 45.5 C128 44 137 45 142 49 C142 54 137 60 129 62 C122 59 118 51 120 45.5 Z"/>
<!-- намёк на зубы: мелкие белые клыки вдоль верхней губы -->
<path fill="#fff" d="M126.5 46.8 L129.5 47.2 L128 50.6 Z M133 47.5 L136 48 L134.5 51.6 Z M138.3 48.6 L140.3 49.3 L139.4 52.3 Z"/>
<!-- глаз: крошечный, злой -->
<circle fill="#fff" cx="126" cy="38" r="3"/>
<circle fill="#142638" cx="127" cy="38" r="1.7"/>
<!-- злая бровь над глазом -->
<path fill="var(--f4,hsl(50,45%,26%))" d="M120 32 L131 34.5 L121 37 Z"/>
<!-- плавниковая складка: ЕДИНАЯ лента шириной ~5, от затылка по спине, вокруг острого хвоста и назад анальной частью — без швов и без отдельного хвостового плавника; тело поверх перекрывает её внутреннюю часть -->
<path fill="var(--f3,hsl(50,40%,30%))" d="M128 35 C122.7 33.5 106.7 31.0 96 31 C85.3 31.0 74.3 33.3 64 35 C53.7 36.7 42.0 39.3 34 41 C26.0 42.7 20.1 43.5 16 45 C11.9 46.5 9.5 48.3 9.5 50 C9.5 51.7 11.3 52.8 16 55 C20.8 57.2 29.7 61.0 38 63 C46.3 65.0 55.7 66.7 66 67 C76.3 67.3 89.7 65.7 100 65 C110.3 64.3 123.3 64.2 128 63 C132.7 61.8 132.7 58.5 128 58 C123.3 57.5 110.3 59.3 100 60 C89.7 60.7 76.3 62.3 66 62 C55.7 61.7 46.3 60.0 38 58 C29.7 56.0 16.7 52.0 16 50 C15.3 48.0 26.0 47.7 34 46 C42.0 44.3 53.7 41.7 64 40 C74.3 38.3 85.3 36.0 96 36 C106.7 36.0 122.7 40.2 128 40 Z"/>
<!-- тело: змеевидная лента, спина (128,40)→(96,36)→(64,40)→(34,46)→(16,50), брюхо (128,58)→(100,60)→(66,62)→(38,58)→(16,50); голова вправо, верхняя челюсть выходит на (152,44) -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M152 44 C149.2 42.8 137.3 41.3 128 40 C118.7 38.7 106.7 36.0 96 36 C85.3 36.0 74.3 38.3 64 40 C53.7 41.7 42.0 44.3 34 46 C26.0 47.7 15.3 48.0 16 50 C16.7 52.0 29.7 56.0 38 58 C46.3 60.0 55.7 61.7 66 62 C76.3 62.3 89.7 60.7 100 60 C110.3 59.3 120.5 60.2 128 58 C135.5 55.8 141.0 49.3 145 47 Z"/>
<!-- брюхо: светлая полоса вдоль нижней кромки, сходит на нет к хвосту и у горла -->
<path fill="var(--f2,hsl(48,28%,70%))" d="M124 54.5 C110 56 90 58 66 58.5 C52 58.7 40 56.5 26 52.5 L24 52.9 C40 57 52 59 66 60.2 C90 60.5 110 58.4 124 56.8 Z"/>
<!-- пасть: зияющая тёмная каверна-капкан от верхней челюсти (151,45) до отведённого кончика нижней (149,62) -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M151.2 45.4 C144 45.5 136 45.9 128 47.4 C131 49.5 136 52.4 141 55.6 C144.5 57.9 147 60.1 148.8 62.2 C151.6 56.4 151.6 50.2 151.2 45.4 Z"/>
<!-- нижняя челюсть: отведена вниз, шарнир (128,46) → кончик (148,62) -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M126 47 C130.5 47.3 135 49 139 51.7 C143.2 54.6 146.4 57.8 148 60.8 C148.7 62.2 147.6 62.9 146.2 62.1 C141.8 58.9 137.2 55.3 132 52.7 C129 51.3 126.2 49.4 125 47.4 C124.7 46.9 125.3 46.8 126 47 Z"/>
<!-- зубы: крупные клыки-капканы — 5 сверху вниз и 5 снизу вверх, одним compound-путём -->
<path fill="#f7f3e6" d="M146.6 45.3 L149.4 45.2 L148 48.8 Z M142.1 45.5 L144.9 45.5 L143.5 49.1 Z M137.6 45.9 L140.4 46 L139 49.6 Z M133.1 46.4 L135.9 46.6 L134.5 50.2 Z M128.9 47.1 L131.7 47.4 L130.3 50.9 Z M130.1 48 L132.9 48.2 L131.5 44.9 Z M134.6 49.2 L137.4 50.2 L136 46.6 Z M139.1 51.7 L141.9 53 L140.5 49.4 Z M143.1 54.6 L145.9 56.3 L144.5 52.7 Z M145.6 57.4 L148.2 59 L147 55.4 Z"/>
<!-- жабра: маленькое f4-отверстие (нора), НЕ дуга -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M124 44 C125.6 44.6 125.6 49.4 124 50 C122.4 49.4 122.4 44.6 124 44 Z"/>
<!-- леопардовые f4-розетки: 6 пятен разного размера вдоль ленты, одним compound-путём -->
<path fill="var(--f4,hsl(48,42%,20%))" d="M111 42 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 Z M95.5 52 a4.5 4.5 0 1 0 9 0 a4.5 4.5 0 1 0 -9 0 Z M79 40 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 Z M64 52 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 Z M48 44 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 Z M32.5 54 a3.5 3.5 0 1 0 7 0 a3.5 3.5 0 1 0 -7 0 Z"/>
<!-- f1-ядро розеток: чтобы пятна остались кольцами и не залили ленту одним цветом -->
<path fill="var(--f1,hsl(50,38%,44%))" d="M113.4 42 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0 Z M97.7 52 a2.3 2.3 0 1 0 4.6 0 a2.3 2.3 0 1 0 -4.6 0 Z M81.4 40 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0 Z M65.9 52 a2.1 2.1 0 1 0 4.2 0 a2.1 2.1 0 1 0 -4.2 0 Z M49.9 44 a2.1 2.1 0 1 0 4.2 0 a2.1 2.1 0 1 0 -4.2 0 Z M34.2 54 a1.8 1.8 0 1 0 3.6 0 a1.8 1.8 0 1 0 -3.6 0 Z"/>
<!-- глаз: НАМЕРЕННО крошечный (ободок → склера → радужка → зрачок → блик), рисуется последним -->
<circle fill="var(--f4,hsl(48,42%,20%))" cx="136" cy="41" r="3.2"/>
<circle fill="#f4f1e6" cx="136" cy="41" r="2.4"/>
<circle fill="#c9a23a" cx="136" cy="41" r="1.6"/>
<circle fill="#142638" cx="136" cy="41" r="1.1"/>
<circle fill="#fff" cx="135.6" cy="40.5" r="0.45"/>
</symbol>
<symbol id="fish-grouper" viewBox="0 0 160 100">
<!-- хвост: большой округлый «веер» -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M40 40 C24 28 10 32 8 50 C10 68 24 72 40 60 C42 54 42 46 40 40 Z"/>
<!-- спинной плавник: крупный, округлый, вдоль всей спины -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M44 40 C50 14 106 8 134 30 C118 26 88 24 58 30 C52 33 47 36 44 40 Z"/>
<!-- грудной плавник: большой округлый, у головы -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M96 54 C98 70 118 80 132 72 C128 61 116 54 106 52 C102 51 98 52 96 54 Z"/>
<!-- анальный плавник: округлый, снизу -->
<path fill="var(--f3,hsl(15,50%,32%))" d="M60 72 C63 84 78 88 90 82 C83 78 74 74 66 72 C63 71 61 71 60 72 Z"/>
<!-- тело: высокое ~2:1, крупная голова справа с большим ртом -->
<path fill="var(--f1,hsl(15,45%,48%))" d="M38 40 C58 24 95 20 122 27 C138 31 147 40 149 49 L150 50 C149 59 143 66 134 70 C112 79 78 80 55 74 C46 71 40 66 38 58 Z"/>
<!-- хвост: ВЕЕРНЫЙ (не вилка!) — выпуклая внешняя дуга (12,30)→(6,50)→(12,70) без центральной выемки; основание утоплено в стебель (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M52 40 C40 35 26 30.5 12 30 C7 36.5 6 42 6 50 C6 58 7 63.5 12 70 C26 69.5 40 65 52 60 Z"/>
<!-- лучи веера: три штриха от основания к наружной дуге -->
<path fill="none" stroke="var(--f4,hsl(12,42%,20%))" stroke-width="0.9" opacity="0.35" d="M46 43 C34 40 23 36 15.5 33 M46 50 C33 49.6 21 49.6 11 50 M46 57 C34 60 23 64 15.5 67"/>
<!-- спинной КОЛЮЧИЙ: длинный зубчатый гребень x54..126, 9 шипов и 8 выемок (высота 12–16 над спиной), основание глубоко в теле (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M52 50 L54.5 40 L57 23 L61.5 34 L65 17 L69.5 31.5 L73 15.5 L77.5 30 L81 13.8 L85.5 28.5 L89 13 L93.5 28 L97 12.6 L101.5 28 L105 12 L109.5 28.5 L113.5 14.5 L117.5 30.5 L121.5 17 L126 32.5 L128 50 Z"/>
<!-- анальный плавник: лопасть x62..84, основание утоплено в брюхо (нахлёст ≥4) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M62 65 C63 76 66.5 83 72.5 84 C78.5 82.5 83 75.5 84 65 Z"/>
<!-- брюшной плавник 1: пара у (92,72) -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M90 67 C88.5 75 89.5 82 93 84.5 C96.5 80.5 97 73 96 67 Z"/>
<!-- брюшной плавник 2: пара к первому -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M99 67 C98 75.5 99 82.5 102.5 84.5 C105.5 80 106 73 105 67 Z"/>
<!-- тело: массивное, высокое (D/L≈0.5), длинный высокий горбатый профиль; рыло (150,50), лоб (140,34), горб (106,25), спина (84,26)→(64,30), стебель (46,45)/(46,57), низ (150,52)→(132,60)→(110,70)→(80,74)→(56,70) -->
<path fill="var(--f1,hsl(15,40%,46%))" d="M150 50 C148.5 42 145 36.5 140 34 C133.5 31 120 26 106 25 C98.5 24.4 90.5 25.2 84 26 C76 27 69.5 28.6 64 30 C56.5 32.5 50 38 46 45 L46 57 C50 64.5 53 67.8 56 70 C64.5 73.2 72.5 74 80 74 C97 74.6 104.5 72.4 110 70 C118.5 66.8 126.5 62.8 132 60 C141 55.8 146.5 53.2 150 52 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(15,30%,70%))" d="M150 50 C148 59 142 66 134 70 C112 79 78 80 55 74 C46 71 40 66 38 58 C42 60 50 61 60 62 C85 64 112 65 132 62 C140 58 146 53 150 50 Z"/>
<!-- узор: тёмные пятна разного размера по телу и плавникам -->
<circle fill="var(--f4,hsl(15,45%,26%))" cx="58" cy="42" r="5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="76" cy="56" r="6.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="94" cy="38" r="4.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="108" cy="54" r="5.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="86" cy="67" r="4"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="99" cy="48" r="3"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="66" cy="63" r="3.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="114" cy="36" r="3.5"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="24" cy="50" r="3"/>
<circle fill="var(--f4,hsl(15,45%,26%))" cx="90" cy="15" r="3"/>
<!-- рот: крупный тёмный у массивной морды -->
<path fill="var(--f4,hsl(15,45%,26%))" d="M150 50 C145 45 137 45 132 49 C136 53 145 53 150 50 Z"/>
<!-- глаз -->
<circle fill="#fff" cx="130" cy="43" r="5.5"/>
<circle fill="#142638" cx="131.5" cy="43" r="2.6"/>
<path fill="var(--f2,hsl(18,28%,72%))" d="M46 57 C56 64.5 70 70.5 84 71.5 C100 72.5 118 68.5 132 60 C141 55.8 146.5 53.2 150 52 C143 54.6 136 57.6 129 60.5 C119 64.5 108 66.6 96 67 C76 67.6 59 62.5 46 57 Z"/>
<!-- спинная кромка f4: тёмная зубчатая полоса по вершинам шипов, у ГОРБА толще прочих (≈4.5 против ≈2.5) -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M54.5 40 L57 23 L61.5 34 L65 17 L69.5 31.5 L73 15.5 L77.5 30 L81 13.8 L85.5 28.5 L89 13 L93.5 28 L97 12.6 L101.5 28 L105 12 L109.5 28.5 L113.5 14.5 L117.5 30.5 L121.5 17 L126 32.5 L126 35 L121.5 20 L117.5 33.5 L113.5 18.5 L109.5 33 L105 16.5 L101.5 33 L97 16.6 L93.5 32 L89 17 L85.5 32 L81 17.8 L77.5 33.5 L73 19.5 L69.5 35 L65 21 L61.5 37.5 L57 25.5 L54.5 43 Z"/>
<!-- жаберная пластина: мягкая светлая заливка (126,40)…(124,64) -->
<path fill="var(--f2,hsl(18,28%,72%))" opacity="0.3" d="M126 40 C130 48 129 57 124 64 C120.5 56 120 47.5 121.5 41 Z"/>
<!-- жаберная дуга: тёмный серп у основания головы (не задевает ободок глаза) -->
<path fill="none" stroke="var(--f4,hsl(12,42%,20%))" stroke-width="1.5" d="M126 40 C130 48 129 57 124 64"/>
<!-- спинная кромка головы: тонкая тёмная полоса от рыла по лбу (переходит в зубчатый гребень) -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M150 49.5 C148 41.5 144 35.5 139.5 33.8 C135 32 130.5 33.5 126.5 36 C131 33.8 135.5 33.2 139.8 35 C144 36.9 148.2 42.5 150 50 Z"/>
<!-- тёмные неправильные РАЗВОДЫ (7 клякс одним compound-path — НЕ вертикальные полосы) -->
<path fill="var(--f4,hsl(12,42%,20%))" opacity="0.85" d="M115 40 C115 37.5 117 36.2 119.5 37 C122 37.8 124 38 124 40 C124 42.4 121.5 44 119.5 43.2 C117.5 42.4 115 42.5 115 40 Z M96.5 50 C96.5 46.4 99.5 44.6 103 45.6 C106.5 46.6 107 47.4 107 50 C107 53.4 103.5 55.4 100.5 54.4 C97.5 53.4 96.5 53.6 96.5 50 Z M79.5 34 C79.5 31.6 81.6 30.4 84 31.2 C86.4 32 87 32.2 87 34 C87 35.8 84.8 37.2 82.4 36.4 C80 35.6 79.5 36.4 79.5 34 Z M65 58 C65 55 67.4 53.8 70.4 54.8 C73.4 55.8 74 56 74 58 C74 60.4 71.4 61.8 68.6 60.8 C65.8 59.8 65 61 65 58 Z M54 44 C54 42.2 55.4 41.2 57 41.8 C58.6 42.4 59 42.6 59 44 C59 45.4 57.2 46.4 55.4 45.8 C53.6 45.2 54 46 54 44 Z M89.5 64 C89.5 62 91.4 61 94 61.6 C96.6 62.2 97 62.4 97 64 C97 65.6 94.8 66.8 92.4 66 C90 65.2 89.5 66 89.5 64 Z M72.5 44 C72.5 42.8 73.4 42.2 74.6 42.6 C75.8 43 76 43.2 76 44 C76 44.8 74.8 45.6 73.6 45.2 C72.4 44.8 72.5 45.2 72.5 44 Z"/>
<!-- пасть: крупная тёмная полоса нутра от рыла (150,48.5) назад-вниз; нижняя кромка чуть перекрывает верх нижней челюсти (нахлёст), чтобы не просвечивал фон -->
<path fill="var(--f4,hsl(12,42%,20%))" d="M150 48.5 C141.5 50.2 130.5 53.5 121 57.5 C131 60.5 143.5 58.8 151.5 53.8 Z"/>
<!-- нижняя челюсть: светлая f2-кромка, ВЫДАЁТСЯ вперёд до (152,57) за верхнюю челюсть -->
<path fill="var(--f2,hsl(18,28%,72%))" d="M151.5 53.8 C143.5 57.6 132 60.4 121 58.8 C131 62.6 145 60.6 152 57 Z"/>
<!-- зубы (фикс-акцент): compound-path из четырёх треугольников с верхней челюсти -->
<path fill="#f7f3e6" d="M143.5 50 L146 49.7 L144.7 52.8 Z M137.5 51.4 L140 51.1 L138.7 54.2 Z M131.5 52.9 L134 52.6 L132.7 55.7 Z M125.5 54.5 L128 54.2 L126.7 57.3 Z"/>
<!-- грудной плавник: округлая лопасть на боку под жаберной дугой (122,61), вниз-назад, рисуется ПОСЛЕ тела -->
<path fill="var(--f3,hsl(15,42%,32%))" d="M122.5 59 C118.5 61.5 114 66.5 113 72 C116 72.5 121 69.5 123 65 C124 62.5 123.5 60 122.5 59 Z"/>
<!-- глаз: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(12,42%,20%))" cx="132" cy="44" r="6"/>
<circle fill="#f7f3e6" cx="132" cy="44" r="5"/>
<circle fill="#d9b23a" cx="132" cy="44" r="3.6"/>
<circle fill="#142638" cx="132" cy="44" r="2.5"/>
<circle fill="#fff" cx="130.9" cy="42.8" r="1"/>
</symbol>
<symbol id="fish-turtle" viewBox="0 0 160 100">
<ellipse cx="28" cy="58" rx="6" ry="3.5" transform="rotate(-20 28 58)" fill="var(--f3,hsl(140,50%,32%))"/>
<ellipse cx="76" cy="62" rx="42" ry="18" fill="var(--f2,hsl(140,30%,70%))"/>
<ellipse cx="76" cy="50" rx="48" ry="24" fill="var(--f1,hsl(140,45%,48%))"/>
<ellipse cx="48" cy="50" rx="6" ry="14" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="62" cy="50" rx="7" ry="18" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="76" cy="50" rx="7" ry="20" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="90" cy="50" rx="7" ry="18" fill="var(--f4,hsl(140,45%,26%))"/>
<ellipse cx="104" cy="50" rx="6" ry="14" fill="var(--f4,hsl(140,45%,26%))"/>
<path d="M 37 56 Q 25 64 25 80 Q 34 70 47 64 Z" fill="var(--f3,hsl(140,50%,32%))"/>
<path d="M 115 56 Q 124 64 127 80 Q 112 79 105 64 Z" fill="var(--f3,hsl(140,50%,32%))"/>
<ellipse cx="134" cy="44" rx="13" ry="10" fill="var(--f2,hsl(140,30%,70%))"/>
<circle cx="139" cy="42" r="4.2" fill="#fff"/>
<circle cx="140" cy="42" r="2.2" fill="#142638"/>
<!-- передние ласты-вёсла f3: корень у панциря → заметный «локоть» (~132,30) → широкий кончик с округлым краем; верхняя и нижняя зеркальны -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M109 36 C117 33 124 30.5 129.5 27.5 C136 23.5 143 19.5 149.5 16.5 C151.5 18.5 151 22 148 24.5 C142 28.5 134 32.5 127 36 C121 39 115 41.5 109 43 Z M109 64 C117 67 124 69.5 129.5 72.5 C136 76.5 143 80.5 149.5 83.5 C151.5 81.5 151 78 148 75.5 C142 71.5 134 67.5 127 64 C121 61 115 58.5 109 57 Z"/>
<!-- задние ласты-вёсла f3: короткие, широкие у округлого кончика (лопатка, не шип) -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M46 40.5 C38 37.5 29 33.8 22 31.3 C18.5 30 15.5 31.3 15.2 33.8 C15 36.3 17.5 38 21.5 38.6 C29.5 39.7 38.5 42.9 46 45.2 Z M46 59.5 C38 62.5 29 66.2 22 68.7 C18.5 70 15.5 68.7 15.2 66.2 C15 63.7 17.5 62 21.5 61.4 C29.5 60.3 38.5 57.1 46 54.8 Z"/>
<!-- хвостик f3: короткий, сужается назад -->
<path fill="var(--f3,hsl(145,34%,30%))" d="M35 46.6 C28 46.6 22 47.4 16 50 C22 52.6 28 53.4 35 53.4 Z"/>
<!-- карапакс: овальный панцирь f2 с чуть сужённым передом (перед — вправо, к голове) -->
<path fill="var(--f2,hsl(90,20%,70%))" d="M30 50 C30 35 52 23 74 23 C99 23 117.5 36 119 50 C117.5 64 99 77 74 77 C52 77 30 65 30 50 Z"/>
<!-- кромочный f4-контур карапакса -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1" opacity="0.75" d="M30 50 C30 35 52 23 74 23 C99 23 117.5 36 119 50 C117.5 64 99 77 74 77 C52 77 30 65 30 50 Z"/>
<!-- тело карапакса f1 (вложено в f2-рим) -->
<path fill="var(--f1,hsl(140,36%,42%))" d="M32 50 C32 36 53 25 74 25 C98 25 115.5 37 117 50 C115.5 63 98 75 74 75 C53 75 32 64 32 50 Z"/>
<!-- 5 вертебральных щитков по оси: compound-path f4-контуров (шестиугольники 13×15, x=54,68,82,96,110) -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.2" opacity="0.85" d="M47.5 50 L50.75 42.5 L57.25 42.5 L60.5 50 L57.25 57.5 L50.75 57.5 Z M61.5 50 L64.75 42.5 L71.25 42.5 L74.5 50 L71.25 57.5 L64.75 57.5 Z M75.5 50 L78.75 42.5 L85.25 42.5 L88.5 50 L85.25 57.5 L78.75 57.5 Z M89.5 50 L92.75 42.5 L99.25 42.5 L102.5 50 L99.25 57.5 L92.75 57.5 Z M103.5 50 L106.75 42.5 L113.25 42.5 L116.5 50 L113.25 57.5 L106.75 57.5 Z"/>
<!-- 6 костальных щитков (по 3 на сторону): compound-path f4-контуров -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.2" opacity="0.85" d="M47 36.5 L52 30.5 L62 30.5 L67 36.5 L62 42.5 L52 42.5 Z M70 36.5 L75 30.5 L85 30.5 L90 36.5 L85 42.5 L75 42.5 Z M93 38 L96.5 33.5 L103.5 33.5 L107 38 L103.5 42.5 L96.5 42.5 Z M47 63.5 L52 69.5 L62 69.5 L67 63.5 L62 57.5 L52 57.5 Z M70 63.5 L75 69.5 L85 69.5 L90 63.5 L85 57.5 L75 57.5 Z M93 62 L96.5 66.5 L103.5 66.5 L107 62 L103.5 57.5 L96.5 57.5 Z"/>
<!-- бледные f2-блики в центре щитков: compound-path ромбиков -->
<path fill="var(--f2,hsl(90,20%,70%))" opacity="0.6" d="M54 46 L57.5 50 L54 54 L50.5 50 Z M68 46 L71.5 50 L68 54 L64.5 50 Z M82 46 L85.5 50 L82 54 L78.5 50 Z M96 46 L99.5 50 L96 54 L92.5 50 Z M110 46 L113.5 50 L110 54 L106.5 50 Z M57 32.5 L61.5 36.5 L57 40.5 L52.5 36.5 Z M80 32.5 L84.5 36.5 L80 40.5 L75.5 36.5 Z M100 34 L104.5 38 L100 42 L95.5 38 Z M57 59.5 L61.5 63.5 L57 67.5 L52.5 63.5 Z M80 59.5 L84.5 63.5 L80 67.5 L75.5 63.5 Z M100 58 L104.5 62 L100 66 L95.5 62 Z"/>
<!-- маргинальные щитки: короткие f4-засечки по задней кромке, compound-path -->
<path fill="none" stroke="var(--f4,hsl(140,42%,20%))" stroke-width="1.1" opacity="0.7" d="M35.5 36.5 L38.8 38.1 M31 43.2 L34.6 43.9 M30 50 L33.6 50 M31 56.8 L34.6 56.1 M35.5 63.5 L38.8 61.9"/>
<!-- шея: светлое f2-пятно между панцирем и головой -->
<path fill="var(--f2,hsl(90,20%,70%))" d="M106 45 C112 44 118 46 121 50 C118 54 112 56 106 55 Z"/>
<!-- голова f1, вытянута вправо -->
<path fill="var(--f1,hsl(140,36%,42%))" d="M116 50 C116 43.5 121 40 130 40 C139.5 40 145.5 44 148 50 C145.5 56 139.5 60 130 60 C121 60 116 56.5 116 50 Z"/>
<!-- клюв f4: тёмный клин -->
<path fill="var(--f4,hsl(140,42%,20%))" d="M146 46 L150 50 L146 54 Z"/>
<!-- глаза (2, вид сверху — по бокам головы): f4-кольцо → склера → зрачок → блик -->
<path fill="var(--f4,hsl(140,42%,20%))" d="M125.2 43 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M125.2 57 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#f4f1e6" d="M126 43 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M126 57 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0"/>
<path fill="#142638" d="M126.7 43 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0 M126.7 57 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0"/>
<path fill="#fff" d="M127.6 42.6 a0.4 0.4 0 1 0 0.8 0 a0.4 0.4 0 1 0 -0.8 0 M127.6 57.4 a0.4 0.4 0 1 0 0.8 0 a0.4 0.4 0 1 0 -0.8 0"/>
</symbol>
<symbol id="fish-angler" viewBox="0 0 160 100">
<!-- хвост: маленький «веер» слева -->
<path fill="var(--f3,hsl(280,50%,32%))" d="M42 50 C32 38 16 36 10 46 C18 49 20 53 16 60 C12 68 20 74 30 68 C37 63 41 57 42 50 Z"/>
<!-- спинной плавник: небольшой горб на спине -->
<path fill="var(--f3,hsl(280,50%,32%))" d="M60 24 C66 12 82 11 92 20 C80 18 68 20 62 25 Z"/>
<!-- тело: круглый «пузырь» ~1.5:1, голова справа перетекает в тело без шеи -->
<path fill="var(--f1,hsl(280,45%,48%))" d="M38 52 C38 32 60 20 88 21 C114 22 133 36 134 56 C134 74 114 88 86 88 C58 88 38 74 38 52 Z"/>
<!-- брюхо: светлая нижняя полоса -->
<path fill="var(--f2,hsl(280,30%,70%))" d="M134 56 C134 74 114 88 86 88 C58 88 38 74 38 52 C44 62 56 70 70 73 C96 78 120 72 134 56 Z"/>
<!-- узор: тёмные пятна на теле -->
<circle fill="var(--f4,hsl(280,45%,26%))" cx="66" cy="46" r="4.5"/>
<circle fill="var(--f4,hsl(280,45%,26%))" cx="82" cy="34" r="3.5"/>
<circle fill="var(--f4,hsl(280,45%,26%))" cx="58" cy="62" r="3"/>
<!-- рот: широкая тёмная щель от носа до под глазом -->
<path fill="var(--f4,hsl(280,45%,26%))" d="M133 54 C121 60 106 61 95 58 C107 70 127 67 133 54 Z"/>
<!-- зубы: белые треугольнички в щели -->
<path fill="#fff" d="M119 57 L126 58 L122.5 63 Z M109 59 L116 59.5 L112.5 64.5 Z M99 59.5 L106 60 L102.5 65 Z M92 58.8 L98 59.3 L95 63.8 Z"/>
<!-- «удочка»: тонкая дуга от лба вверх-вперёд -->
<path fill="none" stroke="var(--f4,hsl(280,45%,26%))" stroke-width="3" stroke-linecap="round" d="M117 25 C116 12 128 5 145 8"/>
<!-- светящийся шарик на конце удочки -->
<circle fill="#ffe9a8" cx="145" cy="8" r="4"/>
<!-- глаз: белый круг + зрачок -->
<circle fill="#fff" cx="108" cy="41" r="6.5"/>
<circle fill="#142638" cx="109.5" cy="41" r="3.2"/>
<!-- хвост: КРОШЕЧНЫЙ «веер» (антипод большому хвосту групера), корень (40,50) утоплен в тело (нахлёст ≥4) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M40 40 C34 36 30 40 30 50 C30 60 34 64 40 60 C43 55 43 45 40 40 Z"/>
<!-- хвост: 3 тёмных луча внутри крошечной лопасти -->
<path fill="none" stroke="var(--f4,hsl(280,40%,18%))" stroke-width="1" opacity="0.4" d="M40 43 L33 40 M40 50 L32 50 M40 57 L33 60"/>
<!-- спинной плавник: колючий бугор (пик ~66,17), основание глубоко в спине (нахлёст ≥4) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M48 38 C52 24 60 17 68 17 C78 17 86 24 90 36 C78 28 60 29 48 38 Z"/>
<!-- брюшные плавники: пара мягких лопастей под брюхом, основания утоплены в тело -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M84 80 C82 87 84 92 89 90 C92 88 92 83 91 80 Z"/>
<path fill="var(--f3,hsl(282,38%,28%))" d="M94 80 C92 87 94 92 99 90 C102 88 101 83 100 80 Z"/>
<!-- тело: ШАРОВИДНЫЙ «пузырь» (центр ~85,54; ry≈31), голова справа без шеи, рыло (133,54) -->
<path fill="var(--f1,hsl(282,32%,40%))" d="M36 54 C36 34 56 23 84 23 C113 23 134 36 134 54 C134 62 132 70 128 75 C122 81 110 85 88 85 C58 85 36 73 36 54 Z"/>
<!-- брюхо: светлая нижняя полоса вдоль всего «пузыря» -->
<path fill="var(--f2,hsl(285,22%,68%))" d="M36 54 C36 73 58 85 88 85 C110 85 122 81 128 75 C126 77 118 80 106 81 C84 83 56 74 36 54 Z"/>
<!-- узор: 3 тёмные кляксы на боку (сбивают «гладкий шар») -->
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.22" d="M58 57 C64 54 70 57 68 62 C66 67 57 66 55 61 C54 58 55 57 58 57 Z"/>
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.2" d="M76 46 C82 43 88 47 86 52 C84 57 74 55 73 50 C72 47 73 46 76 46 Z"/>
<path fill="var(--f4,hsl(280,40%,18%))" opacity="0.24" d="M74 60 C80 57 86 61 84 66 C82 71 73 69 72 64 C71 61 71 60 74 60 Z"/>
<!-- колючая кожа: 7 мелких f4-треугольников по спине и брюху (один compound-path) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M44 37 L45 29 L48.5 36 Z M98 25 L99.5 17 L102.5 24 Z M105 27 L107 19 L110 26 Z M48 74 L48.5 81 L52.5 75 Z M60 80 L61.5 87 L65.5 81 Z M108 80 L109.5 87 L113.5 81 Z M123 70 L125.5 76.5 L128.5 71 Z"/>
<!-- колючий спинной бугор: 4 f4-шипа над лопастью (compound-path) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M54 25 L56 15 L60 23 Z M63 20 L66 11 L70 19 Z M73 19 L77 11 L80 20 Z M83 22 L87 15 L88.5 24 Z"/>
<!-- пасть: ОГРОМНОЕ тёмное нутро — шарнир (110,50), верхняя губа (134,58), нижняя челюсть (128,74) -->
<path fill="var(--f4,hsl(280,40%,18%))" d="M110 51 C121 52 129 54 134 58 C133 64 131 70 128 74 C119 71 110 63 105 56 C103 52 106 50 110 51 Z"/>
<!-- верхняя губа: светлая f2-кромка по верхнему контуру пасти -->
<path fill="var(--f2,hsl(285,22%,68%))" d="M109 50 C120 50.5 129 53 134.5 57.5 C131.5 54.5 121 51.5 110.5 51.5 Z"/>
<!-- зубы верхней челюсти: compound-path, 4 треугольника вниз (фикс-акцент) -->
<path fill="#f7f3e6" d="M113 51 L117 52 L114.5 56 Z M119 52.5 L123 53.5 L120.5 57.5 Z M125 54.5 L129 55.5 L126.5 59.5 Z M131 56.5 L134 57.5 L131.5 61 Z"/>
<!-- зубы нижней челюсти: compound-path, 4 треугольника вверх (фикс-акцент) -->
<path fill="#f7f3e6" d="M130 70 L125 69 L127.5 65.5 Z M124 69 L119 67.5 L121.5 63.5 Z M118 67.5 L113 65.5 L115.5 61.5 Z M113.5 65.5 L110 63.5 L112 59.5 Z"/>
<!-- грудной плавник: свисает с бока у основания головы (ПОСЛЕ тела), корень (104,65) утоплен в тело → кончик (115,86) -->
<path fill="var(--f3,hsl(282,38%,28%))" d="M104 64 C111 65 117 74 116 86 C109 85 103 76 102.5 68 C102 65 102 63.5 104 64 Z"/>
<!-- «удочка» (иллиций): f4-штрих от лба (112,28) дугой вперёд-вверх к (128,6) -->
<path fill="none" stroke="var(--f4,hsl(280,40%,18%))" stroke-width="2.6" stroke-linecap="round" d="M112 28 C110 16 116 7 128 6"/>
<!-- эска: подложка свечения — закрывает просвет между римом (внутренний край r=6) и шаром r=5 (иначе фон карточки просвечивал тёмным кольцом) -->
<circle fill="#dff8ff" cx="130" cy="7" r="6"/>
<!-- эска: тонкий светящийся рим -->
<circle fill="none" stroke="#8fe8ff" stroke-width="1" cx="130" cy="7" r="6.5"/>
<!-- эска: светящаяся приманка -->
<circle fill="#dff8ff" cx="130" cy="7" r="5"/>
<!-- эска: белое ядро -->
<circle fill="#ffffff" cx="130" cy="7" r="2.6"/>
<!-- глаз: НАМЕРЕННО КРОШЕЧНЫЙ (антипод крупному глазу групера) — 5 кругов последними -->
<circle fill="var(--f4,hsl(280,40%,18%))" cx="120" cy="44" r="2.8"/>
<circle fill="#f4f1e6" cx="120" cy="44" r="2"/>
<circle fill="#c9a23a" cx="120" cy="44" r="1.4"/>
<circle fill="#142638" cx="120" cy="44" r="0.9"/>
<circle fill="#fff" cx="119.3" cy="43.3" r="0.4"/>
</symbol>
<symbol id="fish-octopus" viewBox="0 0 160 100">
<path d="M 47.8 40.4 L 45.8 43.1 L 43.7 45.8 L 41.7 48.5 L 39.7 51.1 L 37.7 53.6 L 35.7 56.2 L 33.8 58.6 L 32.0 61.1 L 30.2 63.4 L 28.4 65.8 L 26.8 68.1 L 25.2 70.3 L 23.8 72.5 L 22.4 74.7 L 21.2 76.8 L 19.7 80.1 L 21.5 85.3 L 19.5 86.8 L 18.0 86.0 L 18.1 84.9 L 18.7 84.7 L 18.8 84.9 L 18.3 85.4 L 21.1 86.5 L 21.7 84.0 L 19.1 81.5 L 15.1 83.1 L 14.9 88.1 L 20.2 90.7 L 25.6 86.3 L 24.3 79.9 L 25.2 79.4 L 26.6 77.6 L 28.2 75.8 L 29.8 73.9 L 31.6 72.0 L 33.5 70.0 L 35.5 68.0 L 37.5 65.9 L 39.7 63.8 L 41.9 61.6 L 44.2 59.4 L 46.5 57.2 L 48.9 54.8 L 51.3 52.5 L 53.7 50.1 L 56.2 47.6 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 55.1 43.5 L 53.5 47.3 L 51.9 50.9 L 50.4 54.4 L 48.8 57.8 L 47.2 61.1 L 45.7 64.3 L 44.2 67.3 L 42.8 70.3 L 41.3 73.2 L 40.0 76.0 L 38.7 78.7 L 37.4 81.4 L 36.2 83.9 L 35.1 86.4 L 34.1 88.9 L 33.2 91.2 L 36.8 92.8 L 37.9 90.6 L 39.1 88.4 L 40.4 86.1 L 41.8 83.8 L 43.3 81.4 L 45.0 78.9 L 46.7 76.3 L 48.5 73.7 L 50.4 70.9 L 52.3 68.1 L 54.3 65.1 L 56.4 62.1 L 58.5 58.9 L 60.6 55.5 L 62.7 52.1 L 64.9 48.5 Z" fill="var(--f3,hsl(350,50%,32%))"/>
<path d="M 63.8 46.3 L 62.7 50.3 L 61.6 54.1 L 60.5 57.6 L 59.4 61.0 L 58.3 64.1 L 57.2 67.1 L 56.1 69.9 L 55.1 72.6 L 54.0 75.1 L 53.0 77.4 L 52.0 79.7 L 51.1 81.8 L 50.2 83.7 L 49.4 85.6 L 48.7 87.3 L 47.8 90.4 L 50.0 95.3 L 48.1 97.0 L 46.5 96.3 L 46.5 95.2 L 47.1 95.0 L 47.2 95.2 L 46.8 95.7 L 49.7 96.5 L 50.1 94.0 L 47.2 91.7 L 43.4 93.7 L 43.7 98.7 L 49.2 100.8 L 54.1 95.9 L 52.2 89.6 L 52.9 89.6 L 53.9 88.0 L 55.0 86.4 L 56.2 84.6 L 57.5 82.6 L 58.8 80.5 L 60.2 78.3 L 61.7 75.9 L 63.2 73.3 L 64.7 70.6 L 66.3 67.6 L 67.9 64.5 L 69.5 61.1 L 71.1 57.5 L 72.7 53.7 L 74.2 49.7 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 71.6 47.1 L 71.1 51.5 L 70.7 55.7 L 70.2 59.6 L 69.8 63.4 L 69.3 67.0 L 68.9 70.4 L 68.4 73.6 L 68.0 76.7 L 67.6 79.6 L 67.2 82.4 L 66.8 85.0 L 66.4 87.5 L 66.0 90.0 L 65.7 92.3 L 65.4 94.5 L 65.0 96.6 L 69.0 97.4 L 69.4 95.3 L 70.0 93.2 L 70.6 90.9 L 71.3 88.6 L 72.0 86.2 L 72.8 83.6 L 73.6 80.9 L 74.5 78.1 L 75.4 75.1 L 76.3 71.9 L 77.3 68.6 L 78.3 65.1 L 79.3 61.4 L 80.3 57.4 L 81.4 53.3 L 82.4 48.9 Z" fill="var(--f2,hsl(350,30%,70%))"/>
<path d="M 79.5 48.7 L 80.4 53.1 L 81.3 57.2 L 82.1 61.2 L 82.9 64.9 L 83.8 68.4 L 84.6 71.8 L 85.3 74.9 L 86.1 77.9 L 86.8 80.8 L 87.5 83.5 L 88.2 86.1 L 88.9 88.5 L 89.5 90.9 L 90.1 93.1 L 90.6 95.3 L 91.0 97.4 L 95.0 96.6 L 94.7 94.5 L 94.4 92.3 L 94.1 90.0 L 93.8 87.6 L 93.5 85.1 L 93.2 82.5 L 92.9 79.7 L 92.7 76.8 L 92.4 73.7 L 92.1 70.5 L 91.8 67.2 L 91.5 63.6 L 91.3 59.8 L 91.0 55.9 L 90.7 51.7 L 90.5 47.3 Z" fill="var(--f2,hsl(350,30%,70%))"/>
<path d="M 87.6 49.3 L 88.9 53.2 L 90.2 57.1 L 91.5 60.7 L 92.7 64.1 L 94.0 67.3 L 95.3 70.4 L 96.5 73.3 L 97.7 76.1 L 98.9 78.8 L 100.1 81.4 L 101.2 84.0 L 102.3 86.5 L 103.3 89.0 L 104.3 91.5 L 105.2 94.0 L 106.1 96.6 L 109.9 95.4 L 109.2 92.8 L 108.5 90.1 L 107.8 87.5 L 107.0 84.9 L 106.3 82.2 L 105.5 79.5 L 104.8 76.7 L 104.0 73.9 L 103.3 71.0 L 102.5 68.0 L 101.8 64.8 L 101.0 61.6 L 100.3 58.1 L 99.7 54.6 L 99.0 50.8 L 98.4 46.7 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 96.0 48.3 L 98.0 51.9 L 100.0 55.4 L 102.0 58.7 L 104.0 62.0 L 106.0 65.1 L 107.9 68.0 L 109.8 70.9 L 111.6 73.6 L 113.4 76.3 L 115.1 78.9 L 116.7 81.3 L 118.2 83.7 L 119.6 86.1 L 120.9 88.4 L 122.1 90.6 L 123.2 92.8 L 126.8 91.2 L 125.9 88.9 L 124.9 86.4 L 123.8 83.9 L 122.6 81.4 L 121.4 78.7 L 120.1 76.0 L 118.8 73.2 L 117.4 70.4 L 116.0 67.4 L 114.6 64.3 L 113.1 61.2 L 111.7 57.9 L 110.2 54.5 L 108.8 51.1 L 107.4 47.5 L 106.0 43.7 Z" fill="var(--f3,hsl(350,50%,32%))"/>
<path d="M 104.7 47.4 L 107.0 49.9 L 109.3 52.4 L 111.6 54.7 L 113.9 57.1 L 116.1 59.4 L 118.3 61.6 L 120.5 63.8 L 122.6 65.9 L 124.6 68.0 L 126.5 70.0 L 128.4 72.0 L 130.2 73.9 L 131.8 75.8 L 133.4 77.6 L 134.8 79.4 L 137.1 82.1 L 142.5 82.7 L 143.1 85.2 L 141.7 86.2 L 140.7 85.7 L 140.8 85.1 L 141.0 85.0 L 141.3 85.7 L 143.4 83.6 L 141.5 82.0 L 138.1 83.3 L 137.8 87.6 L 142.2 89.9 L 146.9 86.2 L 145.2 79.5 L 138.9 77.9 L 138.8 76.8 L 137.6 74.7 L 136.2 72.5 L 134.8 70.3 L 133.3 68.1 L 131.6 65.8 L 129.9 63.5 L 128.2 61.1 L 126.4 58.7 L 124.6 56.2 L 122.7 53.7 L 120.8 51.2 L 118.9 48.6 L 117.0 46.0 L 115.2 43.3 L 113.3 40.6 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<path d="M 80 8 C 103 8 115 24 115 40 C 115 55 100 62 80 62 C 60 62 45 55 45 40 C 45 24 57 8 80 8 Z" fill="var(--f1,hsl(350,45%,48%))"/>
<ellipse cx="64" cy="22" rx="4" ry="3" fill="var(--f4,hsl(350,45%,26%))"/>
<ellipse cx="100" cy="21" rx="3.5" ry="3" fill="var(--f4,hsl(350,45%,26%))"/>
<ellipse cx="80" cy="46" rx="4" ry="3.5" fill="var(--f4,hsl(350,45%,26%))"/>
<circle cx="74" cy="34" r="9" fill="#fff"/>
<circle cx="96" cy="34" r="9" fill="#fff"/>
<circle cx="77" cy="34" r="4.5" fill="#142638"/>
<circle cx="99" cy="34" r="4.5" fill="#142638"/>
<!-- мантия-мешок f1: широкое основание у головы, сужение к правому кончику (150,50); симметрично y=50 -->
<path fill="var(--f1,hsl(350,40%,48%))" d="M96 26C112 25 130 30 143 39C149 43 151 47 150 50C151 53 149 57 143 61C130 70 112 75 96 74C90 70 90 30 96 26Z"/>
<!-- тёмная кромка f3 по верхнему и нижнему краю мантии (парный compound, тонкая, симметрична) -->
<path fill="var(--f3,hsl(350,42%,30%))" d="M96 28C112 27 130 31.5 143 40C148 43 151 47 150 50C143 44.5 132 39 120 36C113 34.5 105 33 96 32ZM96 72C112 73 130 68.5 143 60C148 57 151 53 150 50C143 55.5 132 61 120 64C113 65.5 105 67 96 68Z"/>
<!-- светлый срединный гребень f2 по мантии (симметричен y=50, сужен с обоих концов) -->
<path fill="var(--f2,hsl(348,24%,72%))" d="M104 47.6C118 46.6 133 48 146.5 50C133 52 118 53.4 104 52.4C101.4 51.2 101.4 48.8 104 47.6Z"/>
<!-- сифон f4: короткая трубка из-под головы вниз-влево -->
<path fill="var(--f4,hsl(350,44%,20%))" d="M94 57C90 61 86.5 64.5 84 68C82.6 70 84 71.6 85.8 70.4C88.5 68 91 63.5 95 58Z"/>
<!-- веб f3: лопасти мембраны в просветах между основаниями рук (симметричен y=50) -->
<path fill="var(--f3,hsl(350,42%,30%))" d="M91 41.4C72.8 39.4 53.56 36.9 39 42.4C53.56 47.9 72.8 45.4 91 43.4ZM91 56.6C72.8 54.6 53.56 52.1 39 57.6C53.56 63.1 72.8 60.6 91 58.6ZM91 44.3C74.9 42.3 57.88 39.8 45 45.3C57.88 50.8 74.9 48.3 91 46.3ZM91 53.7C74.9 51.7 57.88 49.2 45 54.7C57.88 60.2 74.9 57.7 91 55.7ZM91 46.8C78.4 44.8 65.08 42.3 55 47.8C65.08 53.3 78.4 50.8 91 48.8ZM91 51.2C78.4 49.2 65.08 46.7 55 52.2C65.08 57.7 78.4 55.2 91 53.2Z"/>
<!-- заплатки стыков (закрывают микро-щели с фоном: веб→голова по центру y=50 и голова→сифон/щупальца); рисуются ДО щупалец/головы, чтобы те перекрыли излишки -->
<rect fill="var(--f3,hsl(350,42%,30%))" x="82" y="49.4" width="3.4" height="1.2"/>
<ellipse fill="var(--f1,hsl(350,40%,48%))" cx="89.5" cy="60.9" rx="0.8" ry="0.8"/>
<!-- 8 щупалец f1 веером: compound из 8 зеркальных рук с подкрученными кончиками -->
<path fill="var(--f1,hsl(350,40%,48%))" d="M90.42 37.21L86.13 34.61L81.91 32.18L77.77 29.89L73.71 27.77L69.74 25.79L65.88 23.98L62.12 22.32L58.48 20.81L54.96 19.46L51.57 18.27L48.32 17.24L45.22 16.36L42.27 15.65L39.49 15.1L36.87 14.72L34.43 14.51L32.17 14.49L30.1 14.66L28.26 15.08L27 17L27 17L28.66 18.47L30.17 18.74L31.88 19.06L33.8 19.49L35.91 20.03L38.22 20.7L40.71 21.5L43.37 22.44L46.2 23.51L49.18 24.73L52.31 26.09L55.57 27.59L58.96 29.23L62.48 31.02L66.1 32.96L69.83 35.03L73.65 37.26L77.55 39.62L81.53 42.14L85.58 44.79ZM 90.42 62.79 L 86.13 65.39 L 81.91 67.82 L 77.77 70.11 L 73.71 72.23 L 69.74 74.21 L 65.88 76.02 L 62.12 77.68 L 58.48 79.19 L 54.96 80.54 L 51.57 81.73 L 48.32 82.76 L 45.22 83.64 L 42.27 84.35 L 39.49 84.9 L 36.87 85.28 L 34.43 85.49 L 32.17 85.51 L 30.1 85.34 L 28.26 84.92 L 27 83 L 27 83 L 28.66 81.53 L 30.17 81.26 L 31.88 80.94 L 33.8 80.51 L 35.91 79.97 L 38.22 79.3 L 40.71 78.5 L 43.37 77.56 L 46.2 76.49 L 49.18 75.27 L 52.31 73.91 L 55.57 72.41 L 58.96 70.77 L 62.48 68.98 L 66.1 67.04 L 69.83 64.97 L 73.65 62.74 L 77.55 60.38 L 81.53 57.86 L 85.58 55.21 ZM89.87 39.9L85.82 38.2L81.75 36.6L77.69 35.12L73.64 33.74L69.61 32.48L65.61 31.32L61.65 30.27L57.75 29.32L53.91 28.49L50.16 27.76L46.49 27.13L42.92 26.61L39.46 26.2L36.12 25.9L32.92 25.7L29.87 25.62L26.97 25.67L24.25 25.84L21.72 26.19L19.5 28L19.5 28L21.83 29.6L24.23 29.92L26.79 30.25L29.52 30.63L32.4 31.08L35.43 31.6L38.58 32.2L41.86 32.88L45.24 33.64L48.72 34.49L52.28 35.44L55.91 36.47L59.61 37.59L63.35 38.81L67.13 40.12L70.93 41.52L74.74 43.02L78.56 44.62L82.36 46.31L86.13 48.1ZM 89.87 60.1 L 85.82 61.8 L 81.75 63.4 L 77.69 64.88 L 73.64 66.26 L 69.61 67.52 L 65.61 68.68 L 61.65 69.73 L 57.75 70.68 L 53.91 71.51 L 50.16 72.24 L 46.49 72.87 L 42.92 73.39 L 39.46 73.8 L 36.12 74.1 L 32.92 74.3 L 29.87 74.38 L 26.97 74.33 L 24.25 74.16 L 21.72 73.81 L 19.5 72 L 19.5 72 L 21.83 70.4 L 24.23 70.08 L 26.79 69.75 L 29.52 69.37 L 32.4 68.92 L 35.43 68.4 L 38.58 67.8 L 41.86 67.12 L 45.24 66.36 L 48.72 65.51 L 52.28 64.56 L 55.91 63.53 L 59.61 62.41 L 63.35 61.19 L 67.13 59.88 L 70.93 58.48 L 74.74 56.98 L 78.56 55.38 L 82.36 53.69 L 86.13 51.9 ZM89.27 42.48L85.22 41.42L81.12 40.44L76.99 39.56L72.85 38.77L68.7 38.08L64.54 37.47L60.41 36.96L56.3 36.54L52.22 36.21L48.2 35.98L44.23 35.83L40.33 35.78L36.52 35.83L32.8 35.97L29.19 36.21L25.7 36.56L22.34 37.01L19.13 37.59L16.09 38.33L13.5 40.5L13.5 40.5L16.62 41.7L19.63 41.64L22.76 41.58L26.01 41.57L29.39 41.61L32.87 41.71L36.45 41.89L40.12 42.13L43.87 42.45L47.68 42.85L51.54 43.32L55.45 43.87L59.38 44.5L63.33 45.2L67.29 45.99L71.24 46.85L75.17 47.8L79.07 48.83L82.93 49.93L86.73 51.12ZM 89.27 57.52 L 85.22 58.58 L 81.12 59.56 L 76.99 60.44 L 72.85 61.23 L 68.7 61.92 L 64.54 62.53 L 60.41 63.04 L 56.3 63.46 L 52.22 63.79 L 48.2 64.02 L 44.23 64.17 L 40.33 64.22 L 36.52 64.17 L 32.8 64.03 L 29.19 63.79 L 25.7 63.44 L 22.34 62.99 L 19.13 62.41 L 16.09 61.67 L 13.5 59.5 L 13.5 59.5 L 16.62 58.3 L 19.63 58.36 L 22.76 58.42 L 26.01 58.43 L 29.39 58.39 L 32.87 58.29 L 36.45 58.11 L 40.12 57.87 L 43.87 57.55 L 47.68 57.15 L 51.54 56.68 L 55.45 56.13 L 59.38 55.5 L 63.33 54.8 L 67.29 54.01 L 71.24 53.15 L 75.17 52.2 L 79.07 51.17 L 82.93 50.07 L 86.73 48.88 ZM88.36 45.62L84.73 45.27L81.1 44.96L77.49 44.69L73.89 44.45L70.33 44.25L66.79 44.08L63.29 43.94L59.83 43.84L56.43 43.76L53.08 43.72L49.79 43.72L46.56 43.74L43.41 43.79L40.34 43.88L37.36 43.99L34.47 44.15L31.67 44.33L28.98 44.57L26.4 44.88L24 46.4L24 46.4L26.52 47.7L29.09 47.82L31.76 47.92L34.53 48L37.39 48.09L40.34 48.2L43.38 48.31L46.49 48.45L49.68 48.6L52.92 48.78L56.23 48.97L59.59 49.19L63 49.44L66.44 49.71L69.92 50.02L73.43 50.35L76.97 50.71L80.51 51.1L84.07 51.52L87.64 51.98ZM 88.36 54.38 L 84.73 54.73 L 81.1 55.04 L 77.49 55.31 L 73.89 55.55 L 70.33 55.75 L 66.79 55.92 L 63.29 56.06 L 59.83 56.16 L 56.43 56.24 L 53.08 56.28 L 49.79 56.28 L 46.56 56.26 L 43.41 56.21 L 40.34 56.12 L 37.36 56.01 L 34.47 55.85 L 31.67 55.67 L 28.98 55.43 L 26.4 55.12 L 24 53.6 L 24 53.6 L 26.52 52.3 L 29.09 52.18 L 31.76 52.08 L 34.53 52 L 37.39 51.91 L 40.34 51.8 L 43.38 51.69 L 46.49 51.55 L 49.68 51.4 L 52.92 51.22 L 56.23 51.03 L 59.59 50.81 L 63 50.56 L 66.44 50.29 L 69.92 49.98 L 73.43 49.65 L 76.97 49.29 L 80.51 48.9 L 84.07 48.48 L 87.64 48.02 Z"/>
<!-- присоски: контуры f4 (compound, 2 ряда на 4 ближних руках, 16 кружков) -->
<path fill="none" stroke="var(--f4,hsl(350,44%,20%))" stroke-width="0.55" d="M66.99 42.97a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 40.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 40.39a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 38.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 48.18a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 45.98a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 47.31a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 45.11a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M66.99 57.03a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 59.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 59.61a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 61.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 51.82a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 54.02a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 52.69a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 54.89a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0"/>
<!-- присоски: светлые тела f2 (compound-кружки) -->
<path fill="var(--f2,hsl(348,24%,72%))" d="M66.99 42.97a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 40.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 40.39a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 38.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 48.18a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 45.98a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 47.31a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 45.11a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M66.99 57.03a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M67.37 59.2a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.3 59.61a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M46.45 61.8a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.34 51.82a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M69.5 54.02a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.65 52.69a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0M51.72 54.89a1.35 1.35 0 1 0 2.7 0a1.35 1.35 0 1 0 -2.7 0"/>
<!-- голова f1: короткий «капюшон» между мантией и руками (ширина ≈22) -->
<ellipse fill="var(--f1,hsl(350,40%,48%))" cx="96" cy="50" rx="11" ry="13"/>
<!-- глаза: 5 слоёв, симметричны y=50: тёмный ободок f4 -->
<path fill="var(--f4,hsl(350,44%,20%))" d="M93 38a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M93 62a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"/>
<!-- склера #f4f1e6 -->
<path fill="#f4f1e6" d="M94.2 38a5.8 5.8 0 1 0 11.6 0a5.8 5.8 0 1 0 -11.6 0M94.2 62a5.8 5.8 0 1 0 11.6 0a5.8 5.8 0 1 0 -11.6 0"/>
<!-- радужка #d9b23a -->
<path fill="#d9b23a" d="M96 38a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M96 62a4 4 0 1 0 8 0a4 4 0 1 0 -8 0"/>
<!-- горизонтальный зрачок #142638 -->
<path fill="#142638" d="M96.4 38a3.6 1.6 0 1 0 7.2 0a3.6 1.6 0 1 0 -7.2 0M96.4 62a3.6 1.6 0 1 0 7.2 0a3.6 1.6 0 1 0 -7.2 0"/>
<!-- блик #fff -->
<path fill="#fff" d="M96.7 36a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0M96.7 64a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0"/>
</symbol>
<symbol id="fish-manta" viewBox="0 0 160 100">
<!-- заднее крыло (влево-назад) -->
<polygon points="62,43.8 94,43 14,10" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- переднее крыло (вправо-вперёд) -->
<polygon points="66,58.5 96,55.8 146,90" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- хвост-хлыст -->
<polygon points="55,47.8 12,55 55,52.2" fill="var(--f3,hsl(220,50%,32%))"/>
<!-- рожки (cephalic fins) -->
<polygon points="100,46 128,32 105,51" fill="var(--f3,hsl(220,50%,32%))"/>
<polygon points="100,54 128,68 105,49" fill="var(--f3,hsl(220,50%,32%))"/>
<!-- брюхо (нижняя половина тела) -->
<path d="M 52 50 Q 79 74 106 50 Z" fill="var(--f2,hsl(220,30%,70%))"/>
<!-- тело (верхняя половина) -->
<path d="M 52 50 Q 79 26 106 50 Z" fill="var(--f1,hsl(220,45%,48%))"/>
<!-- узор: пятна на спине -->
<circle cx="66" cy="44" r="1.7" fill="var(--f4,hsl(220,45%,26%))"/>
<circle cx="75" cy="42" r="2.6" fill="var(--f4,hsl(220,45%,26%))"/>
<circle cx="85" cy="42" r="2.2" fill="var(--f4,hsl(220,45%,26%))"/>
<!-- глаза -->
<circle cx="90" cy="44.8" r="2.3" fill="#fff"/>
<circle cx="91" cy="44.8" r="1.15" fill="#142638"/>
<circle cx="90" cy="55.2" r="2.3" fill="#fff"/>
<circle cx="91" cy="55.2" r="1.15" fill="#142638"/>
<!-- хвост-хлыст f3: тонкий, сужается от корня (40,50) к кончику (8,50); НЕ хвостовой плавник -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M40 47.2 C30 48.2 18 49.3 8 50 C18 50.7 30 51.8 40 52.8 Z"/>
<!-- диск: плоский ромб-«змей» — рыло (132,50) → кончики крыльев (20,18)/(20,82), задняя кромка вогнута к (48,44)/(48,56) и сходится у корня хвоста (40,50) -->
<path fill="var(--f1,hsl(220,28%,38%))" d="M132 50 C112 34 58 22 20 18 Q45 33 48 44 L40 50 L48 56 Q45 67 20 82 C58 78 112 66 132 50 Z"/>
<!-- кромка f4 по переднему краю крыльев (тонкая тёмная линия вдоль обеих кромок) -->
<path fill="none" stroke="var(--f4,hsl(220,38%,16%))" stroke-width="1.3" opacity="0.8" d="M20 18 C58 22 112 34 132 50 C112 66 58 78 20 82"/>
<!-- f4-кляксы камуфляжа: у плеч и по оси, попарно симметрично (compound-path) -->
<path fill="var(--f4,hsl(220,38%,16%))" opacity="0.45" d="M96 39 a3 2.2 0 1 0 6 0 a3 2.2 0 1 0 -6 0 M96 61 a3 2.2 0 1 0 6 0 a3 2.2 0 1 0 -6 0 M77.5 45.5 a2.8 2.1 0 1 0 5.6 0 a2.8 2.1 0 1 0 -5.6 0 M77.5 54.5 a2.8 2.1 0 1 0 5.6 0 a2.8 2.1 0 1 0 -5.6 0 M62 47.8 a2.4 1.8 0 1 0 4.8 0 a2.4 1.8 0 1 0 -4.8 0 M62 52.2 a2.4 1.8 0 1 0 4.8 0 a2.4 1.8 0 1 0 -4.8 0"/>
<!-- 2 светлых f2-шеврона, сходящихся на оси: (110,40)→(96,50)→(110,60) -->
<path fill="none" stroke="var(--f2,hsl(215,22%,72%))" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" opacity="0.55" d="M110 40 L96 50 L110 60"/>
<!-- жабры: 3 короткие f4-щели у каждого бока головы (в дорсальном ракурсе условны) -->
<path fill="none" stroke="var(--f4,hsl(220,38%,16%))" stroke-width="1.1" stroke-linecap="round" opacity="0.75" d="M109 42.5 L104 40.5 M107.5 44.5 L102 42 M106 46.5 L100.5 44 M109 57.5 L104 59.5 M107.5 55.5 L102 58 M106 53.5 L100.5 56"/>
<!-- цефалический рожок верхний f3: от головы (124,45.5) к кончику (150,42) -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M124 45.5 C132 44.5 141 43.3 150 42 C143.5 45.5 136 47.5 127 49 Z"/>
<!-- цефалический рожок нижний f3: зеркало верхнего относительно y=50 -->
<path fill="var(--f3,hsl(220,34%,28%))" d="M124 54.5 C132 55.5 141 56.7 150 58 C143.5 54.5 136 52.5 127 51 Z"/>
<!-- рот f4: широкая терминальная щель (136,50) шириной 10 — тёмные губы -->
<path fill="var(--f4,hsl(220,38%,16%))" d="M136.5 45 Q131 47.5 131 50 Q131 52.5 136.5 55 Q139.5 52.5 139.5 50 Q139.5 47.5 136.5 45 Z"/>
<!-- рот f2: светлая открытая полость внутри щели -->
<path fill="var(--f2,hsl(215,22%,72%))" d="M135.4 47.2 Q132.2 48.7 132.2 50 Q132.2 51.3 135.4 52.8 Q137.4 51.3 137.4 50 Q137.4 48.7 135.4 47.2 Z"/>
<!-- глаз верхний (116,43): f4-ободок → склера → янтарная радужка → зрачок → блик; оба глаза разнесены по бокам головы -->
<path fill="var(--f4,hsl(220,38%,16%))" d="M113.2 43 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0 M113.2 57 a2.8 2.8 0 1 0 5.6 0 a2.8 2.8 0 1 0 -5.6 0"/>
<path fill="#f4f1e6" d="M114 43 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0 M114 57 a2 2 0 1 0 4 0 a2 2 0 1 0 -4 0"/>
<path fill="#c9a23a" d="M114.7 43 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0 M114.7 57 a1.3 1.3 0 1 0 2.6 0 a1.3 1.3 0 1 0 -2.6 0"/>
<path fill="#142638" d="M115.1 43 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0 M115.1 57 a0.9 0.9 0 1 0 1.8 0 a0.9 0.9 0 1 0 -1.8 0"/>
<path fill="#fff" d="M114.9 42.1 a0.5 0.5 0 1 0 1 0 a0.5 0.5 0 1 0 -1 0 M114.9 57.9 a0.5 0.5 0 1 0 1 0 a0.5 0.5 0 1 0 -1 0"/>
</symbol>
<symbol id="fish-shark" viewBox="0 0 160 100">
<!-- хвост: вилка — верхняя (длиннейшая) лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 47 C29 40 18 30 11 22 C12 33 18 42 30 50 L37 47 Z"/>
<!-- хвост: вилка — нижняя (короткая) лопасть -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M37 53 C30 58 21 63 15 67 C17 59 24 53 30 50 L37 53 Z"/>
<!-- спинной плавник: высокий треугольник посередине спины -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M84 35.5 L100 14 L112 36.5 Z"/>
<!-- второй спинной плавник: маленький, к хвосту -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M50 39 L58 30.5 L64 37.5 Z"/>
<!-- анальный плавник: сзади под брюхом -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M46 59.5 L42 68.5 L55 62 Z"/>
<!-- тело: торпеда, коническая заострённая морда, сужается к хвостовому стеблю -->
<path fill="var(--f1,hsl(210,45%,48%))" d="M154 50 C143 44 122 35 95 33.5 C72 32.5 50 37 34 45.5 L34 54.5 C50 63 72 67.5 95 66.5 C122 65 143 56 154 50 Z"/>
<!-- брюхо: светлое, контраст «серая спина / белое брюхо» -->
<path fill="var(--f2,hsl(210,30%,70%))" d="M154 50 C143 56 122 65 95 66.5 C72 67.5 50 63 34 54.5 C45 56.5 65 57.5 95 57 C122 56 143 53 154 50 Z"/>
<!-- грудной плавник: широкий, заострённый назад -->
<path fill="var(--f3,hsl(210,50%,32%))" d="M131 50.5 L113 66.5 L136 54 Z"/>
<!-- рот: тёмная пологая щель на конце морды -->
<path fill="var(--f4,hsl(210,45%,26%))" d="M143 50.4 C146 50.7 148.5 51.2 150.5 51.8 C148.5 52.5 145.5 52 143.5 51.2 Z"/>
<!-- жаберные щели: 3 короткие вертикальные позади головы -->
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M134 44.5 L134 52.5"/>
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M129 44 L129 53"/>
<path fill="none" stroke="var(--f4,hsl(210,45%,26%))" stroke-width="2" stroke-linecap="round" d="M124 44.5 L124 53"/>
<!-- глаз: маленький тёмный, с крошечным бликом -->
<circle fill="#142638" cx="140" cy="47" r="2.2"/>
<circle fill="#fff" cx="139.3" cy="46.3" r="0.9"/>
<!-- хвост: гетероцеркальный — ВЕРХНЯЯ лопасть длинная, от корня (47,42) к кончику (10,14), корень утоплен в стебель (нахлёст ≥5) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 42 C36 33 22 22 10 14 C12 26 15 38 20 49 C30 48.5 39 49.5 47 51 Z"/>
<!-- хвост: НИЖНЯЯ лопасть КОРОЧЕ верхней — корень (47,49..56.5) утоплен в стебель, кончик (20,74), не зеркало верхней -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 49 L47 56.5 C38 59.5 28 66 20 74 C25 66 32 58 38 51 Z"/>
<!-- спинной плавник: ВЫСОКИЙ ТРЕУГОЛЬНИК в средней трети спины, основание x77..102 (y≈37) утоплено в тело, вершина (89,10) скошена назад -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M102 37 C100 24 96 13.5 89 10 C83 17.5 79 27 77 37 Z"/>
<!-- второй спинной (D2): маленький, сдвинут к хвосту, вершина (53,31.5), основание утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M47 44 C48 37 50.5 32.5 53 31.5 C56 34 58.5 39 61 43 Z"/>
<!-- анальный плавник: маленький, снизу позади середины, низ (52,70.5), основание утоплено в брюхо -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M44 56 C46 64 49 70 52 70.5 C56 69 58 64 58.5 56 Z"/>
<!-- брюшные плавники: пара мелких лопастей назад-вниз, основания утоплены в брюхо (compound-path) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M72 57 C70 64 69 71 71 73 C74 70 75 65 75 57 Z M84 58 C82 66 81 73 83 75 C86 72 87 67 87 58 Z"/>
<!-- дальний грудной плавник: серповидный, корень (114,51) скрыт телом, из-под брюха виден кончик (88,68) -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M114 51 C105 54 96 60 88 68 C96 62.5 106 57 116 53 Z"/>
<!-- тело: торпеда, коническое рыло (152,50), спина (104,32)→(72,34), брюхо (140,58)→(104,64)→(72,60), стебель x42 толщиной 8 -->
<path fill="var(--f1,hsl(210,28%,44%))" d="M152 50 C148 45 144 42.5 140 42 C128 36 116 32.5 104 32 C92 31.5 80 32.5 72 34 C59 37 48 41.5 42 46 L42 54 C50 57.5 60 60.5 72 60 C82 61.5 93 63.5 104 64 C115 63.8 128 62 140 58 C144 56.5 148 54 152 50 Z"/>
<!-- брюхо: БЕЛОЕ, резкая граница контр-шейдинга чуть ниже оси идёт от (152,50) назад и вниз, до стебля -->
<path fill="var(--f2,hsl(205,18%,86%))" d="M152 50.3 C147 51.5 141 52.8 135 53 C125 55.5 110 57 98 57 C88 57 74 56.8 62 54.5 C55 53.3 48 52.3 42 51.4 L42 54 C50 57.5 60 60.5 72 60 C82 61.5 93 63.5 104 64 C115 63.8 128 62 140 58 C146 56.2 150 53.8 152 50.5 Z"/>
<!-- тёмная кромка f4 по спине: тонкая полоса вдоль верхнего контура (не зубцы) -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M152 50 C148 45 144 42.5 140 42 C128 36 116 32.5 104 32 C92 31.5 80 32.5 72 34 C59 37 48 41.5 42 46 C48 43 59 39 72 36.3 C80 34.8 92 33.8 104 34.3 C116 34.8 128 38.3 140 44.3 C144 45.3 148 47.6 152 50 Z"/>
<!-- тёмная кромка f4 по спинному плавнику: тонкий контур ведущей и задней кромок -->
<path fill="none" stroke="var(--f4,hsl(210,34%,16%))" stroke-width="1.4" d="M102 37 C100 24 96 13.5 89 10 C83 17.5 79 27 77 37"/>
<!-- РОТ СНИЗУ: тёмная щель-полумесяц СТАРТУЕТ ПОД РЫЛОМ (149,52.5) и уходит назад к углу (127,60) — НЕ на конце рыла -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M149 52.5 C142 54.8 135 57.2 127 60 C134.5 60.6 142 58.7 149 56.5 Z"/>
<!-- ЗУБЫ: ряд из 6 белых треугольников, compound-path, bases на верхней губе, кончики в тёмной пасти -->
<path fill="#fff" d="M145.7 53 L148.3 53 L146.8 55.7 Z M142.2 54.3 L144.8 54.3 L143.3 57 Z M138.7 55.4 L141.3 55.4 L139.8 58.1 Z M135.2 56.7 L137.8 56.7 L136.3 59.3 Z M131.7 57.8 L134.3 57.8 L132.8 60.4 Z M128.2 58.9 L130.8 58.9 L129.3 61.2 Z"/>
<!-- ПЯТЬ жаберных щелей f4 позади головы (x=128,124,120,116,112, вертикали ~10 при y44..54), compound-path -->
<path fill="var(--f4,hsl(210,34%,16%))" d="M128 44 C129.1 47 129.1 51 128 54 C126.9 51 126.9 47 128 44 Z M124 43.8 C125.1 46.9 125.1 50.9 124 54 C122.9 50.9 122.9 46.9 124 43.8 Z M120 43.6 C121.1 46.8 121.1 50.8 120 54 C118.9 50.8 118.9 46.8 120 43.6 Z M116 43.4 C117.1 46.6 117.1 50.7 116 54 C114.9 50.7 114.9 46.6 116 43.4 Z M112 43.2 C113.1 46.5 113.1 50.6 112 54 C110.9 50.6 110.9 46.5 112 43.2 Z"/>
<!-- грудной плавник: широкий серповидный, корень (123,54.5) скрыт телом, кончик (86,80) — ПОСЛЕ тела -->
<path fill="var(--f3,hsl(210,34%,30%))" d="M123 54.5 C112 58 96 68 86 80 C101 76 117 66 125 58 Z"/>
<!-- глаз мелкий «чёрный»: ободок → склера → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(210,34%,16%))" cx="140" cy="45" r="3.4"/>
<circle fill="#e6e1d2" cx="140" cy="45" r="2.5"/>
<circle fill="#142638" cx="140" cy="45" r="1.8"/>
<circle fill="#0d0d0d" cx="140" cy="45" r="1.1"/>
<circle fill="#fff" cx="139.3" cy="44.3" r="0.5"/>
</symbol>
<symbol id="fish-squid" viewBox="0 0 160 100">
<path d="M 136 58 C 136 70, 134 80, 130 88 C 129 90, 127 90, 126 89 L 126 87 C 130 80, 132 70, 131 58 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 134 62 C 133 74, 130 86, 124 95 L 122 94 C 127 86, 130 74, 128 62 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 130 64 C 129 76, 122 88, 110 97 L 108 95 C 119 88, 125 76, 124 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 126 64 C 124 78, 112 88, 96 96 L 94 94 C 109 87, 120 77, 120 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 122 62 C 120 76, 108 86, 88 92 C 85 93, 83 92, 82 90 C 88 88, 104 80, 116 62 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 118 60 C 116 72, 102 80, 76 85 L 75 83 C 100 79, 113 71, 112 60 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 114 58 C 111 69, 96 75, 66 78 L 65 76 C 94 74, 108 67, 108 58 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 111 55 C 107 63, 92 67, 58 68 L 58 66 C 90 66, 104 62, 105 55 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 96 30 C 104 18, 116 14, 122 18 C 116 26, 108 32, 100 34 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 96 68 C 104 80, 116 84, 122 80 C 116 72, 108 66, 100 64 Z" fill="var(--f3,hsl(300,50%,32%))"/>
<path d="M 26 47 C 52 30, 86 26, 112 26 C 118 26, 120 30, 120 36 L 120 60 C 120 66, 118 70, 112 70 C 86 70, 52 64, 26 47 Z" fill="var(--f1,hsl(300,45%,48%))"/>
<path d="M 30 48 C 56 60, 88 66, 112 65 L 112 69 C 86 70, 52 64, 30 50 Z" fill="var(--f2,hsl(300,30%,70%))"/>
<ellipse cx="126" cy="44" rx="15" ry="17" fill="var(--f1,hsl(300,45%,48%))"/>
<ellipse cx="50" cy="46" rx="4.5" ry="3" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="72" cy="42" rx="5" ry="3.5" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="94" cy="48" rx="4.5" ry="3" fill="var(--f4,hsl(300,45%,26%))"/>
<ellipse cx="106" cy="58" rx="3.5" ry="2.5" fill="var(--f4,hsl(300,45%,26%))"/>
<circle cx="130" cy="40" r="8" fill="#fff"/>
<circle cx="132" cy="40" r="4" fill="#142638"/>
<!-- мантия-торпеда: кончик (18,50), спинной подъём (56,36)→(94,40), голова (106,42)…(120,58); низ зеркален -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 18 50 C 28 44 40 38 56 36 C 72 34.5 86 36.5 96 40 C 101 41.5 105 42 108 42 C 115 42 120 45 120 50 C 120 55 115 58 108 58 C 105 58 101 58.5 96 60 C 86 63.5 72 65.5 56 64 C 40 62 28 56 18 50 Z"/>
<!-- светлое брюхо мантии f2 вдоль нижнего контура -->
<path fill="var(--f2,hsl(300,22%,72%))" d="M 108 58 C 105 58 101 58.5 96 60 C 86 63.5 72 65.5 56 64 C 40 62 28 56 18 50 C 26 55.5 38 60.5 54 61.8 C 70 63 86 61.5 96 58.5 C 102 57 105 56.5 108 56.5 Z"/>
<!-- плавники-«крылышки» f3 у заднего конца мантии (верхний и нижний зеркально): (18,50)-(40,34)-(52,44) -->
<path fill="var(--f3,hsl(300,40%,30%))" d="M 18 50 C 26 39.5 34 34.5 40 34 C 46 36.5 50 40.5 52 44 C 43 41.5 29 45.5 18 50 Z M 18 50 C 26 60.5 34 65.5 40 66 C 46 63.5 50 59.5 52 56 C 43 58.5 29 54.5 18 50 Z"/>
<!-- тёмная кромка f4 по верху мантии -->
<path fill="none" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="1.6" stroke-linecap="round" d="M 108 42 C 105 42 101 41.5 96 40 C 86 36.5 72 34.5 56 36 C 40 38 28 44 18 50"/>
<!-- тёмная граница f4 между мантией и головой -->
<path fill="none" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="1.2" d="M 105 43.5 C 108.5 46 108.5 54 105 56.5"/>
<!-- сифон f4: короткая трубка от (104,56) влево-вниз -->
<path fill="var(--f4,hsl(300,42%,18%))" d="M 107 54.5 C 101 56 96.5 59.5 94 63.5 L 98.5 65.5 C 100.5 61.5 103.5 58.5 108 56.5 Z"/>
<!-- 8 коротких рук f1: веер от (119.5,42..58) вправо, кончики подкручены (4 вверх + 4 зеркальные вниз), compound-path -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 119.5 42.5 C 127 38.5 136 34 144 29 C 148 26.6 151.5 25.2 152.5 23.6 C 153.5 21.9 151.2 21.7 148.4 23.5 C 140.5 28.5 129.5 34 122 38.8 C 120.5 40.6 119 43.5 119.5 45.5 Z M 119.5 44 C 128 41.5 139 39.2 147.5 37.4 C 151.5 36.5 154 35.8 154.4 34.4 C 154.8 33 152.2 33.2 149.4 34 C 140 37 129.5 39.8 122.5 41.8 C 120.5 42.8 119.2 45.5 119.5 47 Z M 119.5 45.5 C 128 45 138 44.4 146.5 43.6 C 150 43.2 152 42.8 152.3 41.8 C 152.6 40.8 150.2 40.9 147.6 41.3 C 139.5 42.7 130 44 122.5 44.7 C 120.8 45 119.2 46.5 119.5 48.5 Z M 119.5 46.5 C 126 47 134 47.2 140.5 47.1 C 143.8 47 146 46.7 146.4 45.9 C 146.8 45.1 144.6 45.1 142.4 45.5 C 136 46.6 128.5 47.4 122.5 47.9 C 120.8 48.1 119.2 48.2 119.5 49.5 Z M 119.5 57.5 C 127 61.5 136 66 144 71 C 148 73.4 151.5 74.8 152.5 76.4 C 153.5 78.1 151.2 78.3 148.4 76.5 C 140.5 71.5 129.5 66 122 61.2 C 120.5 59.4 119 56.5 119.5 54.5 Z M 119.5 56 C 128 58.5 139 60.8 147.5 62.6 C 151.5 63.5 154 64.2 154.4 65.6 C 154.8 67 152.2 66.8 149.4 66 C 140 63 129.5 60.2 122.5 58.2 C 120.5 57.2 119.2 54.5 119.5 53 Z M 119.5 54.5 C 128 55 138 55.6 146.5 56.4 C 150 56.8 152 57.2 152.3 58.2 C 152.6 59.2 150.2 59.1 147.6 58.7 C 139.5 57.3 130 56 122.5 55.3 C 120.8 55 119.2 53.5 119.5 51.5 Z M 119.5 53.5 C 126 53 134 52.8 140.5 52.9 C 143.8 53 146 53.3 146.4 54.1 C 146.8 54.9 144.6 54.9 142.4 54.5 C 136 53.4 128.5 52.6 122.5 52.1 C 120.8 51.9 119.2 51.8 119.5 50.5 Z"/>
<!-- 2 ДЛИННЫХ ловчих щупальца f1: от (120,48)/(120,52) с изгибом к (156,20)/(156,80), на концах «булавы» с присосками -->
<path fill="var(--f1,hsl(300,36%,46%))" d="M 120 47 C 130 45 140 39 147 32 C 150 29 152 25.5 153.5 22.5 C 154.5 24.5 153.5 27 151 30 C 144 38 133 45 121 50 Z M 120 53 C 130 55 140 61 147 68 C 150 71 152 74.5 153.5 77.5 C 154.5 75.5 153.5 73 151 70 C 144 62 133 55 121 50 Z M 150 25 C 151.5 20.5 155 17.5 157 19 C 158.5 20.2 157.5 24 154.5 26.5 C 152.5 28 150.5 27.5 150 25 Z M 150 75 C 151.5 79.5 155 82.5 157 81 C 158.5 79.8 157.5 76 154.5 73.5 C 152.5 72 150.5 72.5 150 75 Z"/>
<!-- низ ловчих щупалец f3 (перекрашиваемый) — тонкая полоса по внутренней кромке -->
<path fill="var(--f3,hsl(300,40%,30%))" d="M 121 50 C 133 45 144 38 151 30 C 150 32 148 34 145 36 C 138 41 129 46 122 49 Z M 121 50 C 133 55 144 62 151 70 C 150 68 148 66 145 64 C 138 59 129 54 122 51 Z"/>
<!-- присоски f2 с тёмным римом f4: по 2 ряда на руках и на булавах (compound-path) -->
<path fill="var(--f2,hsl(300,22%,72%))" stroke="var(--f4,hsl(300,42%,18%))" stroke-width="0.5" d="M 128.98 38.78 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 127.82 36.92 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.23 33.63 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.07 31.77 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 129.3 43.22 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.64 41.12 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 138.01 40.44 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.35 38.34 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.51 46.53 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.17 44.35 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.71 45.23 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.37 43.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.66 48.47 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.48 46.27 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.39 47.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.21 45.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.98 61.22 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 127.82 63.08 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.23 66.37 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.07 68.23 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 129.3 56.78 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.64 58.88 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 138.01 59.56 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 137.35 61.66 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.51 53.47 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 128.17 55.65 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.71 54.77 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 136.37 56.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.66 51.53 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 126.48 53.73 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.39 52.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 133.21 54.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 151.57 24.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.42 23.1 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 155.27 21.45 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 150.23 23.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 152.08 21.6 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.93 19.95 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 151.57 75.25 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.42 76.9 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 155.27 78.55 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 150.23 76.75 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 152.08 78.4 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0 M 153.93 80.05 a 1 1 0 1 0 2 0 a 1 1 0 1 0 -2 0"/>
<!-- глаза (110,40)/(110,60): 5 слоёв — тёмный ободок f4 → склера → золотая радужка → зрачок → блик -->
<circle cx="110" cy="40" r="6.2" fill="var(--f4,hsl(300,42%,18%))"/>
<circle cx="110" cy="40" r="5.2" fill="#f4f1e6"/>
<circle cx="110" cy="40" r="3.6" fill="#d9b23a"/>
<circle cx="110" cy="40" r="2.4" fill="#142638"/>
<circle cx="110.8" cy="38.9" r="0.9" fill="#fff"/>
<circle cx="110" cy="60" r="6.2" fill="var(--f4,hsl(300,42%,18%))"/>
<circle cx="110" cy="60" r="5.2" fill="#f4f1e6"/>
<circle cx="110" cy="60" r="3.6" fill="#d9b23a"/>
<circle cx="110" cy="60" r="2.4" fill="#142638"/>
<circle cx="110.8" cy="61.1" r="0.9" fill="#fff"/>
</symbol>
<symbol id="fish-whale" viewBox="0 0 160 100">
<!-- хвост-весло: верхняя горизонтальная лопасть (влево-вверх) -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M27 47 C18 43.5 9.5 39.5 6 34 C9.5 40.5 17 46.5 27 51.5 Z"/>
<!-- хвост-весло: нижняя горизонтальная лопасть (влево-вниз) -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M27 55 C18 58.5 9.5 62.5 6 68 C9.5 61.5 17 55.5 27 50.5 Z"/>
<!-- тело: массивная гладкая «труба», округлая голова спереди, сужение к хвостовому стеблю -->
<path fill="var(--f1,hsl(230,45%,48%))" d="M150 48 C146 40 131 32.5 107 30.5 C82 28.5 56 31 40 37.5 C33 40.5 27.5 43.5 24 46.5 L24 55.5 C27.5 58.5 33 61.5 40 64.5 C56 71 82 73.5 107 71.5 C131 69.5 146 62 150 48 Z"/>
<!-- брюхо: светлое, пологая полоса снизу (толще к голове) -->
<path fill="var(--f2,hsl(230,30%,70%))" d="M150 48 C146 62 131 69.5 107 71.5 C82 73.5 56 71 40 64.5 C33 61.5 27.5 58.5 24 55.5 C31 58.8 38 61.3 47 63.3 C68 67.5 94 68 117 64.5 C134 61.5 145.5 55.5 150 48 Z"/>
<!-- боковой плавник: маленький серп низко на теле, заострён назад -->
<path fill="var(--f3,hsl(230,50%,32%))" d="M114 59 C107 65 98 71.5 86 76.5 C96 75.5 107 69 114 59 Z"/>
<!-- рот: пологая тёмная щель вдоль нижней части головы (не открытая пасть) -->
<path fill="var(--f4,hsl(230,45%,26%))" d="M149.5 49 C142.5 57.5 132.5 65 120.5 69 C133 67.5 144 59.5 149.5 49 Z"/>
<!-- складки горла: 4 пологие поперечные линии вдоль нижней челюсти -->
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M143.5 55 Q141 58.5 143 62"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M134 61 Q131.5 64.5 133.5 68"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M124.5 64.5 Q122 67.5 124 70.2"/>
<path fill="none" stroke="var(--f4,hsl(230,45%,26%))" stroke-width="2" stroke-linecap="round" d="M115 66.5 Q112.5 69 114.5 71.3"/>
<!-- глаз: крошечный — белый круг + зрачок -->
<circle fill="#fff" cx="137" cy="45" r="2.9"/>
<circle fill="#142638" cx="137.8" cy="45" r="2.2"/>
<!-- хвост: Горизонтальные флоскулы — ДВЕ симметричные широкие лопасти (compound), корни утоплены в стебель (нахлёст ≥4), кончики (6,34) и (6,66) -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M34 44.5 C24 40 13 35.5 6 34 C8 40.5 15.5 46.5 26 50.2 C29 51.2 31.5 51.4 34 51 Z M34 55.5 C24 60 13 64.5 6 66 C8 59.5 15.5 53.5 26 49.8 C29 48.8 31.5 48.6 34 49 Z"/>
<!-- спинной плавник: КРОШЕЧНЫЙ серповидный (НЕ высокий треугольник акулы), далеко назад, основание x49..59 утоплено в спину (нахлёст ≥4) -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M49 38 C51 35 52.5 32.8 54.5 31.2 C56.5 32.8 58 35.2 59 37.2 C55.5 36.6 52 37 49 38 Z"/>
<!-- тело: массивное веретено (длина/глубина ≈4:1) с КОРОТКОЙ ШИРОКОЙ U-образной головой справа (рострум 154,56), спина (78,31), брюхо (116,70), стебель x30 толщиной 14 (43..57) -->
<path fill="var(--f1,hsl(228,28%,46%))" d="M30 43 C36 41 41 39.5 46 38 C56 34.5 67 31.5 78 31 C100 30 118 32.5 134 37.5 C143 40.5 149 44 152.5 49 C154.2 51.5 155 54 154.3 56 C153.6 58 152 60.5 149.5 62.5 C142 67 130 69.2 116 70 C100 70.9 82 71 66 70 C54 69.2 45 64.5 40.5 58.5 C37 55 33 57 30 57 Z"/>
<!-- спинная кромка f4: тонкая тёмная полоса по верхнему контуру (не зубцы) — объём спины -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M30 43 C36 41 41 39.5 46 38 C56 34.5 67 31.5 78 31 C100 30 118 32.5 134 37.5 C143 40.5 149 44 152.5 49 C150 45.5 144.5 42.5 137 40 C121 35 100 33 78 33.5 C66 34 55 36.5 46 40 C39.5 42.6 34 45 30 46 Z"/>
<!-- брюхо: светлая f2-полоса вдоль подводной кромки (контраст к f1 L≈46%) -->
<path fill="var(--f2,hsl(215,18%,80%))" d="M154 56 C153.6 58 152 60.5 149.5 62.5 C142 67 130 69.2 116 70 C100 70.9 82 71 66 70 C54 69.2 45 64.5 40.5 58.5 C37 55 33 57 30 57 C34 53.5 40 55 48 58 C58 61.5 72 63 86 63 C104 63 126 61.5 142 57.5 C147 56 151 55.5 154 56 Z"/>
<!-- марблинг: 3 бледных f2-пятна на верхнем боку (compound) — не рыбьи полосы -->
<path fill="var(--f2,hsl(215,18%,80%))" opacity="0.5" d="M96 39.5 C100.5 38 104.5 40.5 102.5 43.5 C100.5 46.5 94.5 45.5 93.5 43 C92.8 41.2 93.8 40.3 96 39.5 Z M70 36.5 C74.5 35 78.5 37.5 76.5 40.5 C74.5 43.5 68.5 42.5 67.5 40 C66.8 38.2 67.8 37.3 70 36.5 Z M118 41.5 C121.5 40.5 124 42.5 122.5 44.5 C121 46.5 117 45.8 116.2 44 C115.7 42.7 116.4 42 118 41.5 Z"/>
<!-- рот-барьер f4: длинная тёмная полоса-щель вдоль нижней челюсти от (152,58) назад до (104,64) -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M152.5 57.5 C139 59.4 121 61.7 104 63.8 C120 65.2 139 63.2 152.5 60.4 Z"/>
<!-- китовый ус: 7 коротких вертикалей #e9e2cc под барьером (compound, фикс-акцент — млекопитающее, не рыбьи зубы) -->
<path fill="none" stroke="#e9e2cc" stroke-width="1.2" stroke-linecap="round" d="M148 60.7 L148 63.5 M142 61.1 L142 63.9 M136 61.6 L136 64.4 M130 62 L130 64.8 M124 62.4 L124 65.2 M118 62.8 L118 65.6 M112 63.2 L112 66"/>
<!-- горловые борозды f4: 4 короткие дуги от (148,62) назад-вниз до (108,70) (compound) — знак кита, НЕ жаберные щели -->
<path fill="none" stroke="var(--f4,hsl(228,32%,18%))" stroke-width="1.4" stroke-linecap="round" d="M146 61.5 Q143.5 63.5 145.4 65.4 M134 63 Q131.5 65 133.4 67.2 M122 64.5 Q119.5 66.8 121.4 69 M110 66 Q107.5 68.2 109.4 70"/>
<!-- грудной плавник f3: узкая серповидная лопасть (112,66)→(86,76), заметно выступает из-под брюха, рисуется ПОСЛЕ тела -->
<path fill="var(--f3,hsl(230,30%,30%))" d="M112 69.5 C104 74.5 96 77 86 79 C100 74 111 66.5 119 59.5 Z"/>
<!-- ФОНТАН, светлый веер #eaf6ff: широкая мягкая струя-раструб наверху, притуплённые края (фикс-акцент) -->
<path fill="#eaf6ff" d="M129 10 C123 13 118 19 115 26 C119 20 124 15 129 13 C134 16 138 21 141 28 C139 20 135 13 129 10 Z"/>
<!-- ФОНТАН, конус #cfe9ff: узкая струя от дыхал (126,34) вверх к (130,10) (фикс-акцент) -->
<path fill="#cfe9ff" d="M125 35 C124 27 126 17 130 10 C132 18 130 28 128.5 35 Z"/>
<!-- дыхала f4: два маленьких тёмных отверстия на голове вокруг (126,37) (compound) -->
<path fill="var(--f4,hsl(228,32%,18%))" d="M123.3 36.7 a1.4 0.9 0 1 0 2.8 0 a1.4 0.9 0 1 0 -2.8 0 M126.5 36.7 a1.4 0.9 0 1 0 2.8 0 a1.4 0.9 0 1 0 -2.8 0"/>
<!-- глаз: НАМЕРЕННО крошечный (млекопитающее), ободок f4 → склера #e6e1d2 → радужка → зрачок → блик (последним) -->
<circle fill="var(--f4,hsl(228,32%,18%))" cx="136" cy="50" r="3"/>
<circle fill="#e6e1d2" cx="136" cy="50" r="2.2"/>
<circle fill="#1a2a3a" cx="136" cy="50" r="1.5"/>
<circle fill="#0d1418" cx="136" cy="50" r="1"/>
<circle fill="#fff" cx="135.4" cy="49.4" r="0.4"/>
</symbol>
<symbol id="fish-glowfin" viewBox="0 0 160 100">
<!-- свечение хвостового плавника -->
Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 KiB

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 339 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 KiB

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 282 KiB

Some files were not shown because too many files have changed in this diff Show More