chesspal 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/README.md +45 -82
  2. package/dist/cli/chat-hook.js +1 -1
  3. package/dist/cli/command-line.d.ts +1 -2
  4. package/dist/cli/command-line.js +2 -3
  5. package/dist/commands/agents.d.ts +26 -0
  6. package/dist/commands/agents.js +72 -0
  7. package/dist/commands/ai-move.d.ts +5 -14
  8. package/dist/commands/ai-move.js +28 -35
  9. package/dist/commands/ai-say.d.ts +3 -1
  10. package/dist/commands/ai-say.js +24 -6
  11. package/dist/commands/analyse-game.d.ts +4 -0
  12. package/dist/commands/analyse-game.js +43 -16
  13. package/dist/commands/annotate-game.d.ts +4 -0
  14. package/dist/commands/annotate-game.js +65 -12
  15. package/dist/commands/answer-lines.d.ts +28 -0
  16. package/dist/commands/answer-lines.js +144 -0
  17. package/dist/commands/coach.d.ts +45 -0
  18. package/dist/commands/coach.js +344 -0
  19. package/dist/commands/context.d.ts +16 -5
  20. package/dist/commands/context.js +1 -0
  21. package/dist/commands/delete-game.d.ts +7 -0
  22. package/dist/commands/delete-game.js +30 -0
  23. package/dist/commands/delete-review.d.ts +8 -0
  24. package/dist/commands/delete-review.js +34 -0
  25. package/dist/commands/drawings.d.ts +0 -2
  26. package/dist/commands/drawings.js +5 -3
  27. package/dist/commands/end-game.js +5 -2
  28. package/dist/commands/export-game.d.ts +1 -1
  29. package/dist/commands/export-game.js +4 -3
  30. package/dist/commands/game-summary.d.ts +21 -38
  31. package/dist/commands/game-summary.js +30 -167
  32. package/dist/commands/index.d.ts +15 -0
  33. package/dist/commands/index.js +47 -2
  34. package/dist/commands/init.d.ts +3 -3
  35. package/dist/commands/init.js +4 -4
  36. package/dist/commands/lead-input.d.ts +8 -0
  37. package/dist/commands/lead-input.js +21 -0
  38. package/dist/commands/look.js +4 -1
  39. package/dist/commands/new-game.d.ts +2 -3
  40. package/dist/commands/new-game.js +7 -4
  41. package/dist/commands/play-move.d.ts +8 -15
  42. package/dist/commands/play-move.js +5 -13
  43. package/dist/commands/player-move.d.ts +2 -6
  44. package/dist/commands/player-move.js +13 -6
  45. package/dist/commands/player-say.d.ts +1 -1
  46. package/dist/commands/player-say.js +1 -1
  47. package/dist/commands/ponder.d.ts +10 -0
  48. package/dist/commands/ponder.js +33 -21
  49. package/dist/commands/position.d.ts +1 -1
  50. package/dist/commands/position.js +3 -1
  51. package/dist/commands/profiles.d.ts +13 -4
  52. package/dist/commands/profiles.js +49 -15
  53. package/dist/commands/registry.d.ts +8 -3
  54. package/dist/commands/registry.js +12 -11
  55. package/dist/commands/say.d.ts +1 -1
  56. package/dist/commands/say.js +16 -16
  57. package/dist/commands/speech.d.ts +8 -0
  58. package/dist/commands/speech.js +20 -0
  59. package/dist/commands/status.d.ts +9 -3
  60. package/dist/commands/status.js +40 -15
  61. package/dist/commands/study-games.js +1 -1
  62. package/dist/commands/study.js +3 -19
  63. package/dist/core/facts.js +15 -15
  64. package/dist/core/game.d.ts +3 -1
  65. package/dist/core/game.js +8 -4
  66. package/dist/core/illegal.js +1 -1
  67. package/dist/core/index.d.ts +5 -4
  68. package/dist/core/index.js +5 -4
  69. package/dist/core/lead.d.ts +15 -0
  70. package/dist/core/lead.js +40 -0
  71. package/dist/core/levels.d.ts +1 -1
  72. package/dist/core/levels.js +1 -1
  73. package/dist/core/moods.d.ts +0 -2
  74. package/dist/core/moods.js +2 -2
  75. package/dist/core/openings.d.ts +0 -2
  76. package/dist/core/openings.js +1 -1
  77. package/dist/core/profile.js +1 -1
  78. package/dist/core/record.d.ts +1 -1
  79. package/dist/core/record.js +1 -1
  80. package/dist/core/review.d.ts +9 -3
  81. package/dist/core/review.js +29 -9
  82. package/dist/games/analysis.d.ts +1 -1
  83. package/dist/games/archive.d.ts +24 -3
  84. package/dist/games/archive.js +96 -22
  85. package/dist/games/coach.d.ts +57 -0
  86. package/dist/games/coach.js +144 -0
  87. package/dist/games/current-game.d.ts +2 -0
  88. package/dist/games/current-game.js +7 -1
  89. package/dist/games/files.js +1 -0
  90. package/dist/games/index.d.ts +4 -3
  91. package/dist/games/index.js +4 -3
  92. package/dist/games/talk.d.ts +1 -5
  93. package/dist/games/talk.js +14 -14
  94. package/dist/home/open-folder.js +1 -1
  95. package/dist/host-files/{ponder-agents.d.ts → agents.d.ts} +10 -2
  96. package/dist/host-files/agents.js +53 -0
  97. package/dist/host-files/host-files.d.ts +7 -2
  98. package/dist/host-files/host-files.js +27 -12
  99. package/dist/host-files/index.d.ts +2 -2
  100. package/dist/host-files/index.js +3 -3
  101. package/dist/index.d.ts +1 -3
  102. package/dist/index.js +1 -0
  103. package/dist/page/app/anchor.js +88 -0
  104. package/dist/page/{app.js → app/app.js} +112 -230
  105. package/dist/page/app/keys.js +94 -0
  106. package/dist/page/app/phase.js +30 -0
  107. package/dist/page/app/served.js +73 -0
  108. package/dist/page/avatars/avatars.js +19 -0
  109. package/dist/page/avatars/thought.js +10 -0
  110. package/dist/page/base.css +160 -0
  111. package/dist/page/board/board.css +959 -0
  112. package/dist/page/board/board.js +125 -0
  113. package/dist/page/{explain.js → board/explain.js} +1 -1
  114. package/dist/page/board/marks.js +160 -0
  115. package/dist/page/board/motion.js +71 -0
  116. package/dist/page/board/pointer.js +239 -0
  117. package/dist/page/board/squares.js +26 -0
  118. package/dist/page/dialogs/analyses.js +195 -0
  119. package/dist/page/{dialog.js → dialogs/dialog.js} +1 -1
  120. package/dist/page/dialogs/dialogs.css +1228 -0
  121. package/dist/page/{new-game-dialog.js → dialogs/new-game.js} +3 -3
  122. package/dist/page/{profile-dialogs.js → dialogs/profiles.js} +40 -11
  123. package/dist/page/dialogs/search.js +31 -0
  124. package/dist/page/dialogs/settings.js +42 -0
  125. package/dist/page/dialogs/studied.js +39 -0
  126. package/dist/page/dialogs/study.js +51 -0
  127. package/dist/page/{badges.js → game/badges.js} +1 -1
  128. package/dist/page/{browse.js → game/browse.js} +1 -1
  129. package/dist/page/game/card-fold.js +40 -0
  130. package/dist/page/game/column.js +51 -0
  131. package/dist/page/{ending.js → game/ending.js} +2 -2
  132. package/dist/page/game/game.css +577 -0
  133. package/dist/page/{move-list.js → game/move-list.js} +10 -6
  134. package/dist/page/{plies.js → game/plies.js} +30 -10
  135. package/dist/page/game/result-tile.js +14 -0
  136. package/dist/page/helps/helps.css +689 -0
  137. package/dist/page/helps/helps.js +220 -0
  138. package/dist/page/helps/view.js +127 -0
  139. package/dist/page/layout/fold-tab.js +11 -0
  140. package/dist/page/{folds.js → layout/folds.js} +1 -1
  141. package/dist/page/{header.js → layout/header.js} +5 -4
  142. package/dist/page/layout/layout.css +834 -0
  143. package/dist/page/lead/lead.js +82 -0
  144. package/dist/page/lead/view.js +38 -0
  145. package/dist/page/main.js +2 -2
  146. package/dist/page/pieces/CREDITS.md +12 -29
  147. package/dist/page/pieces/capablanca-small.svg +20 -0
  148. package/dist/page/pieces/capablanca.svg +22 -0
  149. package/dist/page/pieces/nitida-small.svg +3 -2
  150. package/dist/page/pieces/nitida.svg +3 -2
  151. package/dist/page/{pieces.js → pieces/pieces.js} +2 -2
  152. package/dist/page/pieces/torretta-small.svg +15 -14
  153. package/dist/page/pieces/torretta.svg +17 -15
  154. package/dist/page/{player-card.js → players/card.js} +2 -6
  155. package/dist/page/{clock-time.js → players/clock-time.js} +2 -2
  156. package/dist/page/{profile.js → profile/profile.js} +9 -5
  157. package/dist/page/{settings.js → profile/settings.js} +5 -4
  158. package/dist/page/style.css +9 -4398
  159. package/dist/page/talk/talk.css +958 -0
  160. package/dist/page/{talk.js → talk/talk.js} +39 -46
  161. package/dist/page/text.js +137 -19
  162. package/dist/page/theme.css +292 -0
  163. package/dist/profiles/index.d.ts +1 -1
  164. package/dist/profiles/profiles.d.ts +15 -4
  165. package/dist/profiles/profiles.js +24 -7
  166. package/dist/server/bell.d.ts +10 -2
  167. package/dist/server/bell.js +28 -12
  168. package/dist/server/caller.d.ts +14 -3
  169. package/dist/server/caller.js +44 -11
  170. package/dist/server/mcp.d.ts +1 -2
  171. package/dist/server/mcp.js +42 -14
  172. package/dist/server/page/analyses.d.ts +23 -0
  173. package/dist/server/page/analyses.js +65 -0
  174. package/dist/server/page/files.d.ts +5 -0
  175. package/dist/server/page/files.js +92 -0
  176. package/dist/server/page/game.d.ts +6 -0
  177. package/dist/server/page/game.js +381 -0
  178. package/dist/server/{http.d.ts → page/http.d.ts} +13 -0
  179. package/dist/server/{http.js → page/http.js} +11 -0
  180. package/dist/server/{page.d.ts → page/page.d.ts} +8 -13
  181. package/dist/server/page/page.js +229 -0
  182. package/dist/server/{profile-routes.d.ts → page/profiles.d.ts} +2 -2
  183. package/dist/server/{profile-routes.js → page/profiles.js} +47 -18
  184. package/instructions/analysis.md +4 -0
  185. package/instructions/analyst-agent.md +8 -0
  186. package/instructions/analyst.md +3 -7
  187. package/instructions/coach.md +11 -0
  188. package/instructions/opponent.md +4 -4
  189. package/package.json +1 -1
  190. package/dist/host-files/ponder-agents.js +0 -40
  191. package/dist/page/avatars.js +0 -16
  192. package/dist/page/board.js +0 -566
  193. package/dist/page/fold-tab.js +0 -9
  194. package/dist/page/game-column.js +0 -44
  195. package/dist/page/helps-view.js +0 -51
  196. package/dist/page/helps.js +0 -90
  197. package/dist/page/pieces/cburnett-small.svg +0 -20
  198. package/dist/page/pieces/cburnett.svg +0 -20
  199. package/dist/page/settings-panel.js +0 -32
  200. package/dist/page/studied.js +0 -14
  201. package/dist/page/study-dialog.js +0 -58
  202. package/dist/server/analyses.d.ts +0 -17
  203. package/dist/server/analyses.js +0 -46
  204. package/dist/server/page.js +0 -657
  205. /package/dist/page/{torretta.js → avatars/torretta.js} +0 -0
  206. /package/dist/page/{opening-book.js → game/opening-book.js} +0 -0
  207. /package/dist/page/{model-name.js → players/model-name.js} +0 -0
  208. /package/dist/page/{sounds.js → sounds/sounds.js} +0 -0
  209. /package/dist/page/{voice.js → talk/voice.js} +0 -0
@@ -1,19 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 200" width="600" height="200">
2
- <!-- Chesspal, the set "Torretta" by Zoe Whitaker (T-9, D-46, D-49): original pieces in the style of the Torretta, a symbol for each piece, wK to bP, drawn on a grid of 100.
3
- The page colours them with CSS variables: piece-fill, piece-edge and piece-edge-width. -->
2
+ <!-- Chesspal, the set "Torretta", drawn with Codex. © 2026 Stefano Caronia, Chesspal (https://github.com/stefanocaronia/chesspal), under the licence CC BY 4.0
3
+ (https://creativecommons.org/licenses/by/4.0/): free to use, share and adapt, also commercially, crediting "Stefano Caronia, Chesspal".
4
+ A symbol for each piece, wK to bP, on a grid of 100, traced from the drawing. Each piece is its silhouette and its light areas; the page colours them with CSS variables: piece-fill and
5
+ piece-edge on White, piece-fill and piece-detail on Black. -->
4
6
  <defs>
5
- <symbol id="wK" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M45.52 12.75Q45.52 10.5 47.77 10.5L52.23 10.5Q54.48 10.5 54.48 12.75L54.48 12.75Q54.48 15 56.73 15L59.82 15Q62.32 15 62.32 17.5L62.32 20.5Q62.32 23 59.82 23L56.98 23Q54.48 23 54.48 25.5L54.48 30Q54.48 30 54.48 30L45.52 30Q45.52 30 45.52 30L45.52 25.5Q45.52 23 43.02 23L40.18 23Q37.68 23 37.68 20.5L37.68 17.5Q37.68 15 40.18 15L43.27 15Q45.52 15 45.52 12.75ZM24.35 35.25Q24.24 33 25.92 31.5L25.92 31.5Q27.6 30 29.85 30L70.15 30Q72.4 30 74.08 31.5L74.08 31.5Q75.76 33 75.65 35.25L75.33 41.5Q75.2 44 73.53 45.86L72.39 47.14Q70.72 49 71.15 51.46L75.33 75.54Q75.76 78 73.26 78L26.74 78Q24.24 78 24.67 75.54L28.85 51.46Q29.28 49 27.61 47.14L26.47 45.86Q24.8 44 24.67 41.5ZM15.84 80.5Q15.84 78 18.34 78L81.66 78Q84.16 78 84.16 80.5L84.16 84.5Q84.16 87 81.66 87L18.34 87Q15.84 87 15.84 84.5Z"/></symbol>
6
- <symbol id="wQ" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M15.9 19A3.3 3.3 0 1 1 22.5 19A3.3 3.3 0 1 1 15.9 19ZM46.7 15A3.3 3.3 0 1 1 53.3 15A3.3 3.3 0 1 1 46.7 15ZM77.5 19A3.3 3.3 0 1 1 84.1 19A3.3 3.3 0 1 1 77.5 19ZM19.55 22.44Q19.2 21.5 19.91 22.2L28.77 30.95Q29.84 32 30.45 30.63L35.03 20.41Q35.44 19.5 36.04 20.3L42.38 28.8Q43.28 30 43.99 28.68L49.53 18.38Q50 17.5 50.47 18.38L56.01 28.68Q56.72 30 57.62 28.8L63.96 20.3Q64.56 19.5 64.97 20.41L69.55 30.63Q70.16 32 71.23 30.95L80.09 22.2Q80.8 21.5 80.45 22.44L73.27 41.66Q72.4 44 70.54 45.67L68.66 47.33Q66.8 49 67.41 51.42L73.47 75.58Q74.08 78 71.58 78L28.42 78Q25.92 78 26.53 75.58L32.59 51.42Q33.2 49 31.34 47.33L29.46 45.67Q27.6 44 26.73 41.66ZM15.84 80.5Q15.84 78 18.34 78L81.66 78Q84.16 78 84.16 80.5L84.16 84.5Q84.16 87 81.66 87L18.34 87Q15.84 87 15.84 84.5Z"/></symbol>
7
- <symbol id="wR" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M23.12 19.5Q23.12 17 25.62 17L31.04 17Q33.54 17 33.54 19.5L33.54 24.5Q33.54 26 35.04 26L43.24 26Q44.74 26 44.74 24.5L44.74 19.5Q44.74 17 47.24 17L52.76 17Q55.26 17 55.26 19.5L55.26 24.5Q55.26 26 56.76 26L64.96 26Q66.46 26 66.46 24.5L66.46 19.5Q66.46 17 68.96 17L74.38 17Q76.88 17 76.88 19.5L76.88 39.5Q76.88 42 75.34 43.97L74.5 45.03Q72.96 47 73.27 49.48L76.57 75.52Q76.88 78 74.38 78L25.62 78Q23.12 78 23.43 75.52L26.73 49.48Q27.04 47 25.5 45.03L24.66 43.97Q23.12 42 23.12 39.5ZM16.96 80.5Q16.96 78 19.46 78L80.54 78Q83.04 78 83.04 80.5L83.04 84.5Q83.04 87 80.54 87L19.46 87Q16.96 87 16.96 84.5Z"/></symbol>
8
- <symbol id="wB" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M46 20.5A4 4 0 1 1 54 20.5A4 4 0 1 1 46 20.5ZM30.96 41.5Q30.96 39 32.87 37.39L48.47 24.29Q50 23 51.53 24.29L54.34 26.65Q54.95 27.16 54.37 27.71L42.48 38.99Q41.9 39.54 42.51 40.05L49.04 45.54Q49.65 46.05 50.23 45.5L62.12 34.22Q62.7 33.67 63.31 34.19L67.13 37.39Q69.04 39 69.04 41.5L69.04 45.5Q69.04 48 67.5 49.97L66.66 51.03Q65.12 53 65.82 55.4L71.7 75.6Q72.4 78 69.9 78L30.1 78Q27.6 78 28.3 75.6L34.18 55.4Q34.88 53 33.34 51.03L32.5 49.97Q30.96 48 30.96 45.5ZM18.64 80.5Q18.64 78 21.14 78L78.86 78Q81.36 78 81.36 80.5L81.36 84.5Q81.36 87 78.86 87L21.14 87Q18.64 87 18.64 84.5Z"/></symbol>
9
- <symbol id="wN" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M32 78 L34 70 Q35 66 38 63 L48 53 Q42 59 35 60 L21 59 Q17 59 16 56 L14 50 Q13 48 16 46 L37 29 L45 15 Q46 13 48 15 L54 26 L62 25 Q65 25 68 28 L75 36 L80 50 Q81 52 78 53 L75 54 L72 78 ZM31.4 38A4.6 4.6 0 1 0 40.6 38A4.6 4.6 0 1 0 31.4 38ZM17.52 80.5Q17.52 78 20.02 78L79.98 78Q82.48 78 82.48 80.5L82.48 84.5Q82.48 87 79.98 87L20.02 87Q17.52 87 17.52 84.5Z"/></symbol>
10
- <symbol id="wP" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#fff);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M38 33.5A12 12 0 1 1 62 33.5A12 12 0 1 1 38 33.5ZM33.2 46.5Q33.2 44 35.7 44L64.3 44Q66.8 44 66.8 46.5L66.8 46.5Q66.8 49 65.78 51.28L65.58 51.72Q64.56 54 65.29 56.39L71.11 75.61Q71.84 78 69.34 78L30.66 78Q28.16 78 28.89 75.61L34.71 56.39Q35.44 54 34.42 51.72L34.22 51.28Q33.2 49 33.2 46.5ZM21.44 80.5Q21.44 78 23.94 78L76.06 78Q78.56 78 78.56 80.5L78.56 84.5Q78.56 87 76.06 87L23.94 87Q21.44 87 21.44 84.5Z"/></symbol>
11
- <symbol id="bK" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M45.52 12.75Q45.52 10.5 47.77 10.5L52.23 10.5Q54.48 10.5 54.48 12.75L54.48 12.75Q54.48 15 56.73 15L59.82 15Q62.32 15 62.32 17.5L62.32 20.5Q62.32 23 59.82 23L56.98 23Q54.48 23 54.48 25.5L54.48 30Q54.48 30 54.48 30L45.52 30Q45.52 30 45.52 30L45.52 25.5Q45.52 23 43.02 23L40.18 23Q37.68 23 37.68 20.5L37.68 17.5Q37.68 15 40.18 15L43.27 15Q45.52 15 45.52 12.75ZM24.35 35.25Q24.24 33 25.92 31.5L25.92 31.5Q27.6 30 29.85 30L70.15 30Q72.4 30 74.08 31.5L74.08 31.5Q75.76 33 75.65 35.25L75.33 41.5Q75.2 44 73.53 45.86L72.39 47.14Q70.72 49 71.15 51.46L75.33 75.54Q75.76 78 73.26 78L26.74 78Q24.24 78 24.67 75.54L28.85 51.46Q29.28 49 27.61 47.14L26.47 45.86Q24.8 44 24.67 41.5ZM15.84 80.5Q15.84 78 18.34 78L81.66 78Q84.16 78 84.16 80.5L84.16 84.5Q84.16 87 81.66 87L18.34 87Q15.84 87 15.84 84.5Z"/></symbol>
12
- <symbol id="bQ" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M15.9 19A3.3 3.3 0 1 1 22.5 19A3.3 3.3 0 1 1 15.9 19ZM46.7 15A3.3 3.3 0 1 1 53.3 15A3.3 3.3 0 1 1 46.7 15ZM77.5 19A3.3 3.3 0 1 1 84.1 19A3.3 3.3 0 1 1 77.5 19ZM19.55 22.44Q19.2 21.5 19.91 22.2L28.77 30.95Q29.84 32 30.45 30.63L35.03 20.41Q35.44 19.5 36.04 20.3L42.38 28.8Q43.28 30 43.99 28.68L49.53 18.38Q50 17.5 50.47 18.38L56.01 28.68Q56.72 30 57.62 28.8L63.96 20.3Q64.56 19.5 64.97 20.41L69.55 30.63Q70.16 32 71.23 30.95L80.09 22.2Q80.8 21.5 80.45 22.44L73.27 41.66Q72.4 44 70.54 45.67L68.66 47.33Q66.8 49 67.41 51.42L73.47 75.58Q74.08 78 71.58 78L28.42 78Q25.92 78 26.53 75.58L32.59 51.42Q33.2 49 31.34 47.33L29.46 45.67Q27.6 44 26.73 41.66ZM15.84 80.5Q15.84 78 18.34 78L81.66 78Q84.16 78 84.16 80.5L84.16 84.5Q84.16 87 81.66 87L18.34 87Q15.84 87 15.84 84.5Z"/></symbol>
13
- <symbol id="bR" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M23.12 19.5Q23.12 17 25.62 17L31.04 17Q33.54 17 33.54 19.5L33.54 24.5Q33.54 26 35.04 26L43.24 26Q44.74 26 44.74 24.5L44.74 19.5Q44.74 17 47.24 17L52.76 17Q55.26 17 55.26 19.5L55.26 24.5Q55.26 26 56.76 26L64.96 26Q66.46 26 66.46 24.5L66.46 19.5Q66.46 17 68.96 17L74.38 17Q76.88 17 76.88 19.5L76.88 39.5Q76.88 42 75.34 43.97L74.5 45.03Q72.96 47 73.27 49.48L76.57 75.52Q76.88 78 74.38 78L25.62 78Q23.12 78 23.43 75.52L26.73 49.48Q27.04 47 25.5 45.03L24.66 43.97Q23.12 42 23.12 39.5ZM16.96 80.5Q16.96 78 19.46 78L80.54 78Q83.04 78 83.04 80.5L83.04 84.5Q83.04 87 80.54 87L19.46 87Q16.96 87 16.96 84.5Z"/></symbol>
14
- <symbol id="bB" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M46 20.5A4 4 0 1 1 54 20.5A4 4 0 1 1 46 20.5ZM30.96 41.5Q30.96 39 32.87 37.39L48.47 24.29Q50 23 51.53 24.29L54.34 26.65Q54.95 27.16 54.37 27.71L42.48 38.99Q41.9 39.54 42.51 40.05L49.04 45.54Q49.65 46.05 50.23 45.5L62.12 34.22Q62.7 33.67 63.31 34.19L67.13 37.39Q69.04 39 69.04 41.5L69.04 45.5Q69.04 48 67.5 49.97L66.66 51.03Q65.12 53 65.82 55.4L71.7 75.6Q72.4 78 69.9 78L30.1 78Q27.6 78 28.3 75.6L34.18 55.4Q34.88 53 33.34 51.03L32.5 49.97Q30.96 48 30.96 45.5ZM18.64 80.5Q18.64 78 21.14 78L78.86 78Q81.36 78 81.36 80.5L81.36 84.5Q81.36 87 78.86 87L21.14 87Q18.64 87 18.64 84.5Z"/></symbol>
15
- <symbol id="bN" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M32 78 L34 70 Q35 66 38 63 L48 53 Q42 59 35 60 L21 59 Q17 59 16 56 L14 50 Q13 48 16 46 L37 29 L45 15 Q46 13 48 15 L54 26 L62 25 Q65 25 68 28 L75 36 L80 50 Q81 52 78 53 L75 54 L72 78 ZM31.4 38A4.6 4.6 0 1 0 40.6 38A4.6 4.6 0 1 0 31.4 38ZM17.52 80.5Q17.52 78 20.02 78L79.98 78Q82.48 78 82.48 80.5L82.48 84.5Q82.48 87 79.98 87L20.02 87Q17.52 87 17.52 84.5Z"/></symbol>
16
- <symbol id="bP" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);stroke:var(--piece-edge,#000);stroke-width:var(--piece-edge-width,5px);paint-order:stroke;stroke-linejoin:round" d="M38 33.5A12 12 0 1 1 62 33.5A12 12 0 1 1 38 33.5ZM33.2 46.5Q33.2 44 35.7 44L64.3 44Q66.8 44 66.8 46.5L66.8 46.5Q66.8 49 65.78 51.28L65.58 51.72Q64.56 54 65.29 56.39L71.11 75.61Q71.84 78 69.34 78L30.66 78Q28.16 78 28.89 75.61L34.71 56.39Q35.44 54 34.42 51.72L34.22 51.28Q33.2 49 33.2 46.5ZM21.44 80.5Q21.44 78 23.94 78L76.06 78Q78.56 78 78.56 80.5L78.56 84.5Q78.56 87 76.06 87L23.94 87Q21.44 87 21.44 84.5Z"/></symbol>
7
+ <symbol id="wK" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 47.7 10.7 C 45.74 10.95 44.72 11.72 43.64 13.72 C 42.88 15.15 42.6 15.36 41.19 15.51 C 38.1 15.85 36.26 17.27 35.54 19.9 C 35.31 20.73 35.28 23.56 35.49 24.4 C 36.1 26.82 37.86 28.43 40.33 28.81 C 41.6 29 42.16 29.41 41.92 29.95 C 41.64 30.57 41.88 30.54 34.85 30.6 C 27.57 30.67 27.76 30.65 26.02 31.55 C 22.6 33.31 21.45 36.03 21.79 41.55 C 22.08 46.23 22.59 47.69 25.01 50.69 C 26.4 52.41 26.46 52.75 25.96 55.9 C 24.95 62.13 22.92 73.35 22.4 75.57 C 21.92 77.59 21.16 78.31 19.27 78.51 C 15.96 78.87 14.02 80.47 13.44 83.31 C 13.19 84.54 13.28 88.18 13.58 89.11 C 14.16 90.89 15.64 92.24 17.6 92.77 C 18.22 92.94 19.96 92.95 49.95 92.95 L 81.65 92.95 82.5 92.73 C 84.75 92.13 86.11 90.84 86.72 88.75 C 87.03 87.68 87.06 84.01 86.77 82.85 C 86.1 80.14 84.27 78.78 80.93 78.51 C 78.96 78.35 78.41 77.92 77.95 76.13 C 77.36 73.88 75.29 62.04 74.29 55.2 C 73.93 52.73 74.02 52.43 75.74 50.16 C 77.92 47.28 78.3 46.01 78.5 40.95 C 78.61 37.98 78.55 37.09 78.16 35.85 C 77.31 33.17 74.88 31.17 71.9 30.7 C 71.51 30.64 68.95 30.6 65.55 30.6 C 59.59 30.6 59.3 30.58 58.91 30.16 C 58.4 29.62 58.92 29.1 60.14 28.89 C 62.96 28.43 64.71 26.94 65.31 24.5 C 65.56 23.5 65.5 20.31 65.22 19.4 C 64.47 17.01 62.77 15.76 59.91 15.51 C 58.24 15.37 57.99 15.19 57.14 13.51 C 56.36 11.98 55.12 11.05 53.45 10.75 C 52.6 10.6 48.73 10.56 47.7 10.7"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 47.22 13.31 C 46.36 13.74 45.9 14.62 45.9 15.84 C 45.89 16.98 45.47 17.64 44.57 17.91 C 44.4 17.97 43.38 18.03 42.31 18.05 C 39.95 18.1 39.59 18.19 38.84 18.94 C 38.04 19.75 37.87 20.38 37.91 22.38 C 37.95 23.92 37.96 23.97 38.28 24.62 C 38.94 25.97 39.66 26.3 42.14 26.39 C 44.23 26.46 44.43 26.53 44.97 27.34 C 45.47 28.08 45.55 28.47 45.55 30.32 L 45.55 31.99 45.25 32.3 C 45.09 32.47 44.72 32.72 44.43 32.86 L 43.91 33.12 36.62 33.11 C 29.73 33.1 29.29 33.11 28.58 33.29 C 26.81 33.75 25.55 34.71 24.83 36.16 L 24.45 36.94 24.42 38.49 C 24.29 44.63 24.85 46.65 27.46 49.5 C 29.19 51.38 29.23 51.66 28.41 56.65 C 27.4 62.82 26.4 68.84 26.35 69 C 26.32 69.08 26.12 70.14 25.91 71.36 C 25.09 75.89 24.54 77.85 23.85 78.79 C 22.8 80.22 21.39 80.92 19.25 81.1 C 17.98 81.2 17.31 81.48 16.71 82.17 C 15.99 82.98 15.9 83.4 15.9 85.78 C 15.9 88.72 16.17 89.41 17.6 90.09 L 18.15 90.35 50.05 90.35 L 81.95 90.35 82.51 90.08 C 84.12 89.34 84.35 88.78 84.35 85.7 C 84.35 83 84.31 82.85 83.43 81.97 C 82.78 81.32 82.24 81.14 80.7 81.07 C 77.75 80.93 76.18 79.82 75.56 77.44 C 74.9 74.9 72.44 60.78 71.64 55 C 71.23 52.03 71.43 51.15 72.83 49.63 C 74.31 48.02 75.19 46.54 75.61 44.95 C 75.88 43.93 76.08 38.5 75.9 37.38 C 75.59 35.54 74.39 34.18 72.41 33.41 L 71.75 33.15 64.05 33.1 L 56.35 33.05 55.9 32.8 C 55.25 32.44 55.23 32.34 55.29 29.98 L 55.35 27.92 55.65 27.48 C 56.22 26.67 56.79 26.48 58.83 26.41 C 61.26 26.32 62.01 25.95 62.69 24.5 C 63.07 23.68 63.13 21.33 62.79 20.28 C 62.23 18.51 61.63 18.2 58.57 18.08 C 56.64 18 56.29 17.96 55.91 17.78 C 55.41 17.54 55.11 17 55.1 16.34 C 55.1 15 54.51 13.85 53.6 13.38 L 53.08 13.1 50.36 13.1 C 47.8 13.1 47.63 13.11 47.22 13.31 M 49.49 15.68 C 48.64 16.12 48.4 16.7 48.33 18.36 C 48.24 20.46 48.1 20.62 46.14 20.7 C 44.4 20.78 43.76 21.18 43.55 22.32 C 43.31 23.58 44.31 24.39 46.1 24.4 C 48.13 24.4 48.38 24.89 48.4 28.8 C 48.41 30.84 48.85 31.45 50.35 31.45 C 51.33 31.45 51.82 31.19 52.26 30.44 C 52.53 29.98 52.53 29.96 52.57 27.81 C 52.62 24.46 52.56 24.56 54.71 24.41 C 56.05 24.31 56.5 24.14 56.86 23.6 C 57.25 23.01 57.32 22.63 57.15 22.05 C 56.86 21.04 56.22 20.7 54.58 20.7 C 52.78 20.7 52.5 20.39 52.5 18.4 C 52.5 17.04 52.4 16.62 51.97 16.13 C 51.31 15.37 50.39 15.21 49.49 15.68 M 35.78 37.95 C 35.04 38.72 38.48 40.5 42.1 41.23 C 45.63 41.95 52.49 42.11 56.15 41.56 C 59.94 41 62.35 40.22 63.87 39.09 C 64.52 38.6 64.68 38.34 64.46 38.12 C 64.32 37.98 64 37.97 61.23 38.08 C 55.87 38.29 42.36 38.22 37.15 37.94 C 36.44 37.91 35.82 37.91 35.78 37.95 M 69.85 42.67 C 59.82 45.86 46.41 46.56 35.8 44.44 C 34.22 44.12 31.8 43.44 29.95 42.8 C 28.47 42.28 28.36 42.27 28.32 42.61 C 28.29 42.89 29.17 44.17 29.81 44.77 C 32.52 47.29 38.17 49.27 44.35 49.86 C 55.95 50.96 67.45 48.14 71.12 43.3 C 72 42.14 71.8 42.04 69.85 42.67 M 32.26 52.78 C 32.23 52.88 32.27 53.81 32.35 54.85 C 32.63 58.44 32.48 61.73 31.84 66.2 C 30.8 73.35 28.63 78.75 25.83 81.15 C 24.83 82 24.76 82.1 24.94 82.28 C 25.14 82.48 26.71 82.24 28 81.81 C 33.43 79.99 36.71 75.89 37.71 69.7 C 37.95 68.26 37.89 64.51 37.61 63.11 C 36.9 59.53 35.52 56.34 33.49 53.64 C 32.71 52.6 32.39 52.37 32.26 52.78 M 19.92 84.47 C 18.78 85.03 18.73 86.71 19.83 87.23 C 20.42 87.51 79.69 87.5 80.32 87.22 C 81.48 86.71 81.6 85.34 80.56 84.56 L 80.29 84.35 50.27 84.33 C 22.63 84.31 20.22 84.32 19.92 84.47"/></symbol>
8
+ <symbol id="wQ" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 49.5 12.19 C 46.5 12.6 44.21 15.43 44.43 18.44 C 44.5 19.41 44.76 20.21 45.31 21.12 C 46.27 22.75 46.25 23.05 45 25.68 C 44.07 27.62 43.83 27.89 43.08 27.9 C 42.54 27.9 42.29 27.64 40.38 25.02 C 37.7 21.37 37.23 20.95 35.8 20.95 C 33.92 20.96 33.28 21.78 31.56 26.34 C 30.58 28.93 30.39 29.33 29.94 29.6 C 29.2 30.06 28.87 29.88 26.98 27.95 C 24.83 25.75 24.7 25.47 25.09 23.83 C 25.61 21.59 25.16 19.71 23.75 18.21 C 20.92 15.21 15.96 15.9 14.16 19.54 C 12.69 22.52 13.78 25.84 16.75 27.42 C 18.37 28.29 18.55 28.55 20.05 32.4 C 21.81 36.89 25.2 45.29 25.57 46.08 C 26.08 47.16 27.15 48.7 28.3 50 C 30.51 52.5 30.49 52.42 29.54 56.4 C 25.76 72.16 24.66 75.97 23.54 77.28 C 22.79 78.16 22.27 78.36 20.25 78.55 C 17.69 78.8 16.72 79.17 15.55 80.34 C 14.79 81.11 14.34 81.89 14.04 83 C 13.77 83.96 13.77 87.88 14.03 88.74 C 14.67 90.79 15.96 92.03 18.2 92.72 L 18.95 92.95 48.05 92.98 C 77.39 93.01 81.38 92.97 82.5 92.66 C 84.52 92.1 85.93 90.75 86.55 88.8 C 86.81 88 86.88 84.49 86.67 83.27 C 86.13 80.17 84.12 78.71 80.1 78.51 C 77.72 78.39 76.92 77.95 76.2 76.37 C 75.76 75.39 74.65 71.24 73.11 64.8 C 72.56 62.52 71.89 59.73 71.61 58.6 C 70.11 52.44 70.1 52.52 72.01 50.45 C 75.04 47.17 75 47.26 80.75 32.35 C 81.28 30.98 81.79 29.66 81.88 29.42 C 82.21 28.6 82.69 28.09 83.8 27.4 C 85.04 26.63 85.93 25.78 86.37 24.95 C 88.46 20.98 85.6 16.35 81.05 16.35 C 77.13 16.35 74.4 19.98 75.39 23.87 C 75.85 25.67 75.72 25.99 73.66 28.08 C 72.06 29.71 71.81 29.9 71.28 29.9 C 70.4 29.9 70.13 29.47 68.99 26.19 C 68.55 24.91 68.06 23.6 67.91 23.26 C 67.01 21.29 65.37 20.52 63.73 21.29 C 62.88 21.7 62.5 22.1 60.43 24.86 C 58.37 27.6 57.99 28 57.41 28 C 56.66 28 56.39 27.64 55.37 25.24 C 54.45 23.09 54.44 22.77 55.31 21.33 C 56.43 19.48 56.64 17.85 56 16.03 C 55.1 13.47 52.29 11.81 49.5 12.19"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 49.16 14.84 C 46.22 16.08 46.15 19.79 49.05 21.11 C 49.89 21.49 49.9 21.54 49.29 22.84 C 47.1 27.56 46.6 28.66 46 30.09 C 45.11 32.22 44.86 32.65 44.35 32.96 C 43.6 33.4 42.88 33.2 42.32 32.4 C 42.17 32.19 41.83 31.69 41.55 31.29 C 41.28 30.89 40.52 29.84 39.87 28.96 C 39.23 28.07 38.24 26.72 37.68 25.95 C 35.71 23.24 35.71 23.25 34.37 26.6 C 33.9 27.79 33.15 29.78 32.71 31.02 C 31.69 33.92 31.53 34.21 30.77 34.49 C 29.99 34.79 29.82 34.66 25.37 30.25 C 21.59 26.5 21.49 26.41 21.1 26.8 C 20.84 27.06 20.84 27.15 21.21 28.07 C 21.58 29 22.65 31.73 23.08 32.85 C 23.26 33.29 23.6 34.19 23.84 34.85 C 24.54 36.73 26.83 42.41 27.64 44.29 C 28.6 46.49 29.24 47.44 31.03 49.22 C 32.24 50.43 32.52 50.83 32.75 51.62 C 33.1 52.84 33.04 53.19 31.59 59.05 C 27.26 76.5 27 77.29 25.15 79.17 C 23.75 80.58 22.43 81.1 20.22 81.1 C 18.47 81.1 17.28 81.76 16.67 83.07 C 16.41 83.64 16.28 87.49 16.5 88.25 C 16.77 89.17 17.5 89.88 18.49 90.17 C 19.41 90.44 81.59 90.38 82.3 90.11 C 83.03 89.83 83.55 89.37 83.87 88.72 C 84.15 88.15 84.15 88.14 84.18 85.86 L 84.21 83.57 83.9 82.94 C 83.23 81.57 82.54 81.24 79.9 81.05 C 77.11 80.84 76.1 80.49 74.94 79.34 C 73.83 78.24 73.5 77.29 71.7 69.94 C 71.21 67.91 70.53 65.19 70.2 63.9 C 69.09 59.5 67.87 54.17 67.75 53.2 C 67.59 51.9 68.13 50.76 69.65 49.2 C 72.52 46.24 72.74 45.86 75.48 38.65 C 75.92 37.49 76.38 36.32 76.5 36.05 C 76.62 35.78 77.24 34.2 77.87 32.55 C 78.49 30.9 79.24 28.98 79.52 28.28 C 80.06 26.93 80.09 26.61 79.69 26.39 C 79.58 26.33 79.38 26.31 79.27 26.34 C 79.06 26.39 76.2 29.24 72.9 32.67 C 71.32 34.32 70.81 34.7 70.19 34.7 C 69.6 34.7 68.96 34.12 68.75 33.4 C 68.45 32.32 66.3 26.38 65.62 24.75 C 65.3 23.98 64.95 23.66 64.63 23.86 C 64.34 24.03 63.18 25.52 61.86 27.4 C 58.1 32.76 57.72 33.2 56.87 33.2 C 56.01 33.2 55.68 32.81 54.92 30.9 C 54.64 30.21 54.23 29.24 53.99 28.75 C 53.76 28.26 53.36 27.36 53.1 26.75 C 51.84 23.85 51.19 22.38 51.05 22.09 C 50.8 21.61 50.92 21.34 51.47 21.16 C 52.91 20.68 53.96 19.06 53.75 17.61 C 53.46 15.47 51.08 14.04 49.16 14.84 M 18.27 19.02 C 16.42 19.66 15.52 21.79 16.34 23.58 C 16.94 24.87 18.02 25.5 19.63 25.5 L 20.56 25.5 21.18 25.04 C 22.7 23.91 23.17 22.29 22.41 20.75 C 21.63 19.17 19.91 18.45 18.27 19.02 M 80.05 18.97 C 77.18 20.01 76.87 23.22 79.45 25.16 L 80.2 25.72 81.04 25.62 C 83.09 25.38 84.36 24.17 84.48 22.36 C 84.62 20.1 82.15 18.22 80.05 18.97 M 50.08 29.27 C 50 29.37 49.76 29.97 49.55 30.6 C 48.27 34.46 46.31 36.36 43.6 36.35 C 41.11 36.34 39.43 35.07 37.55 31.77 C 36.67 30.23 36.58 30.22 36.19 31.72 C 35.22 35.44 33.04 37.52 30.38 37.25 C 29.79 37.2 29.69 37.21 29.63 37.36 C 29.55 37.57 29.86 38.15 30.23 38.46 L 30.52 38.7 50.55 38.7 C 64.8 38.7 70.66 38.67 70.83 38.59 C 71.1 38.47 71.8 37.46 71.8 37.19 C 71.8 36.89 71.65 36.89 70.94 37.16 C 69.04 37.87 66.95 36.97 65.74 34.91 C 65.46 34.43 65.12 33.59 64.79 32.56 C 64.13 30.48 64.13 30.48 63.93 30.52 C 63.84 30.54 63.51 31 63.2 31.55 C 61.59 34.45 60.17 35.78 58.14 36.3 C 54.91 37.13 52.26 34.97 50.8 30.35 C 50.44 29.19 50.31 29.01 50.08 29.27 M 67.9 43.21 C 56.94 46.29 42.61 46.26 32.54 43.14 C 31.92 42.96 31.35 42.8 31.27 42.8 C 30.17 42.8 33.12 45.7 35.39 46.84 C 41.34 49.84 51.87 50.63 60.18 48.69 C 61.82 48.31 64.6 47.36 65.71 46.8 C 67.61 45.84 70.28 43.33 69.95 42.81 C 69.86 42.66 69.88 42.66 67.9 43.21 M 36.32 52.62 C 36.23 52.71 36.2 53.31 36.2 54.71 C 36.2 58.06 35.64 61.39 34.05 67.52 C 32.13 74.93 30.66 78.04 27.79 80.82 C 26.57 81.99 26.73 82.15 28.66 81.64 C 34.39 80.16 38.66 75.31 40.34 68.38 C 41.53 63.45 40.66 58.24 37.95 54.15 C 37.06 52.81 36.58 52.36 36.32 52.62 M 27.25 84.09 C 20.08 84.16 20.35 84.13 19.84 84.89 C 19.25 85.79 19.56 86.83 20.54 87.2 C 21.06 87.39 79.61 87.34 80.08 87.14 C 81.58 86.52 81.45 84.75 79.87 84.23 C 79.31 84.05 41.82 83.95 27.25 84.09"/></symbol>
9
+ <symbol id="wR" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 25.06 18.01 C 22.88 18.37 21.32 19.7 20.67 21.75 C 20.39 22.61 20.31 23.77 20.36 26.3 C 20.38 27.65 20.45 31.67 20.5 35.25 C 20.58 39.98 20.64 42.01 20.75 42.7 C 21.02 44.48 21.74 46.18 22.92 47.8 C 24.77 50.34 24.92 50.67 24.91 52.05 C 24.9 53.99 23.1 67.7 22.15 73.05 C 21.36 77.51 21.08 77.95 18.41 78.89 C 16.1 79.7 14.83 80.97 14.25 83.05 C 13.99 83.96 13.93 87.17 14.14 88.3 C 14.55 90.52 16 92.09 18.25 92.77 C 18.82 92.94 20.33 92.95 48.6 92.98 C 78.68 93.01 80.42 92.99 81.7 92.65 C 83.87 92.07 85.35 90.38 85.76 88 C 85.97 86.79 85.91 83.78 85.66 82.85 C 85.26 81.37 84.29 80.03 83.09 79.33 C 82.6 79.04 82.25 78.92 80.48 78.45 C 79.78 78.26 79.24 77.82 78.99 77.23 C 78.77 76.72 78.27 73.41 77.4 66.85 C 77.07 64.32 76.68 61.44 76.55 60.45 C 75.92 55.81 75.67 53.41 75.66 52 C 75.65 50.24 75.71 50.08 77.1 48.14 C 78.57 46.1 79.24 44.51 79.5 42.47 C 79.67 41.11 79.63 23.34 79.45 22.35 C 79.08 20.29 77.71 18.77 75.65 18.13 C 74.63 17.82 68.01 17.86 67.1 18.18 C 64.8 19.01 63.61 20.88 63.6 23.66 C 63.6 26.08 62.95 26.67 60.4 26.58 C 58.33 26.52 58 26.15 57.89 23.76 C 57.78 21.39 57.42 20.4 56.28 19.35 C 54.93 18.1 54.42 17.98 50.39 17.92 C 45.93 17.87 45.01 18.06 43.61 19.35 C 42.5 20.38 42.13 21.4 42.01 23.71 C 41.89 26.27 41.61 26.55 39.2 26.55 C 36.81 26.55 36.51 26.26 36.39 23.76 C 36.3 22.12 36.17 21.5 35.67 20.55 C 34.99 19.27 33.63 18.33 32.05 18.05 C 31.16 17.89 25.94 17.86 25.06 18.01"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 24.52 20.81 C 23.77 21.18 23.35 21.67 23.13 22.4 C 22.96 23 23 35.9 23.2 40.55 C 23.34 43.88 23.7 44.81 25.8 47.3 C 27.29 49.07 27.79 50.47 27.6 52.38 C 27.47 53.67 27.24 55.67 27.1 56.7 C 27.05 57.11 26.89 58.42 26.75 59.6 C 26.12 64.8 25.18 70.89 24.29 75.55 C 23.63 78.98 22.42 80.43 19.64 81.16 C 18.14 81.54 17.45 82.05 16.96 83.09 C 16.64 83.79 16.64 88.02 16.96 88.7 C 17.25 89.31 17.74 89.78 18.4 90.09 L 18.95 90.35 49.8 90.34 C 84.72 90.33 81.4 90.41 82.3 89.51 C 83.11 88.7 83.2 88.31 83.2 85.62 C 83.2 83.44 83.19 83.33 82.96 82.85 C 82.46 81.8 81.74 81.32 80.25 81.06 C 77.03 80.51 76.51 79.73 75.8 74.45 C 75.68 73.57 75.5 72.27 75.4 71.55 C 75.21 70.28 75.03 68.95 74.75 66.75 C 74.67 66.15 74.52 64.93 74.4 64.05 C 74 60.93 73.71 58.64 73.61 57.7 C 73.55 57.18 73.41 55.96 73.3 55 C 72.73 50.16 72.86 49.47 74.84 46.95 C 76.97 44.23 76.9 44.74 76.9 32.49 C 76.9 21.92 76.92 22.27 76.31 21.43 C 75.7 20.59 75.53 20.55 71.62 20.52 C 67.85 20.49 67.79 20.5 67.03 21.14 C 66.27 21.78 66.2 22.12 66.2 25.14 C 66.2 28.18 66.15 28.44 65.49 28.91 L 65.15 29.15 60.91 29.18 C 54.95 29.22 55.37 29.51 55.3 25.25 C 55.25 22.1 55.23 22 54.64 21.31 C 53.99 20.54 53.77 20.5 49.95 20.5 C 46.22 20.5 46.17 20.51 45.43 21.14 C 44.71 21.75 44.66 22.02 44.6 25.26 L 44.55 28.17 44.26 28.54 C 43.76 29.2 43.76 29.2 39.23 29.2 C 33.48 29.2 33.87 29.48 33.8 25.3 L 33.75 22.45 33.47 21.87 C 32.84 20.59 32.51 20.5 28.4 20.5 L 25.13 20.5 24.52 20.81 M 27.48 27.89 L 27.15 28.18 27.12 32.33 C 27.09 37 27.11 37.17 27.86 37.94 C 28.6 38.7 29.25 38.86 31.95 38.95 C 32.94 38.98 34.49 39.05 35.4 39.1 C 41.54 39.44 64.39 39.49 68.15 39.16 C 71.52 38.87 72.31 38.66 72.98 37.84 C 73.48 37.24 73.5 37.03 73.5 32.75 C 73.5 27.46 73.62 27.7 70.98 27.7 C 68.7 27.7 68.6 27.81 68.6 30.48 C 68.6 32.27 68.5 32.63 67.96 32.85 C 67.38 33.1 54.29 33.07 53.8 32.82 C 53.2 32.53 53.1 32.18 53.1 30.4 C 53.1 27.75 52.93 27.6 50.05 27.6 C 47.15 27.6 47.05 27.7 47.05 30.47 C 47.05 32.34 46.99 32.57 46.39 32.87 C 45.96 33.1 32.85 33.05 32.4 32.82 C 31.82 32.54 31.72 32.19 31.64 30.22 C 31.53 27.62 31.52 27.6 29.28 27.6 L 27.8 27.6 27.48 27.89 M 28.5 43.46 C 28.12 43.91 31.58 46.28 34 47.23 C 38.24 48.89 41.22 49.56 46.25 49.95 C 55.92 50.71 66.39 48.27 70.93 44.2 C 71.87 43.35 71.69 43.19 70.3 43.61 C 68.85 44.05 66.07 44.77 64.95 44.99 C 53.75 47.23 37.88 46.63 29.67 43.66 C 28.52 43.24 28.66 43.26 28.5 43.46 M 33.72 52.62 C 33.63 52.71 33.6 53.37 33.6 55 C 33.6 59.69 33.03 63.91 31.63 69.6 C 30.25 75.22 28.52 78.58 25.66 81.26 C 24.87 81.99 24.68 82.22 24.77 82.31 C 25.07 82.61 27.69 81.91 29.57 81.04 C 36.68 77.75 40.32 68.89 38.14 60.19 C 37.56 57.87 36.37 55.43 34.87 53.47 C 34.16 52.55 33.95 52.39 33.72 52.62 M 29.15 84.3 L 20.65 84.35 20.33 84.58 C 19.35 85.28 19.46 86.72 20.53 87.2 C 20.94 87.39 21.57 87.4 49.89 87.4 L 78.84 87.4 79.27 87.19 C 80.15 86.76 80.44 85.87 79.95 85.05 C 79.44 84.17 81.65 84.25 58.3 84.25 C 46.94 84.25 33.83 84.27 29.15 84.3"/></symbol>
10
+ <symbol id="wB" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 49.55 16.19 C 47.97 16.45 47.02 16.95 45.85 18.14 C 44.08 19.93 43.46 22.22 44.1 24.65 C 44.64 26.69 44.61 26.73 40.65 30.26 C 37.24 33.29 33.78 36.41 32.47 37.64 C 29.41 40.5 28.56 42.29 28.57 45.85 C 28.57 48.81 29.21 50.94 30.93 53.67 C 32.53 56.22 32.54 56.34 31.59 59.75 C 29.65 66.67 26.93 75.1 26.17 76.54 C 25.34 78.1 24.34 78.74 22.45 78.9 C 18.93 79.21 16.94 80.76 16.36 83.62 C 16.15 84.63 16.14 87.77 16.34 88.72 C 16.76 90.67 18.23 92.18 20.3 92.77 C 21.29 93.05 79.07 93.05 80.1 92.77 C 82.13 92.23 83.55 90.96 84.12 89.21 C 84.41 88.3 84.5 85 84.27 83.67 C 83.74 80.62 81.73 79.09 78.02 78.9 C 75.83 78.79 75.14 78.46 74.5 77.2 C 74.03 76.27 72.34 70.72 70.46 63.9 C 68.32 56.1 68.33 56.38 69.79 53.97 C 71.41 51.29 71.95 49.46 72.07 46.3 C 72.19 42.98 71.67 40.85 70.22 38.8 C 69.97 38.44 68.68 37.07 67.36 35.74 C 64.72 33.1 64.16 32.7 62.96 32.55 C 61.6 32.38 61.22 32.62 53.97 38.18 C 51.58 40.02 51.07 40.03 49.71 38.32 C 48.41 36.7 48.62 36.31 52.25 33.51 C 53.35 32.66 54.71 31.6 55.28 31.16 C 57.39 29.53 57.85 28.76 57.6 27.32 C 57.36 25.94 57.34 25.62 57.42 25.03 C 57.88 21.8 57.38 19.97 55.55 18.15 C 54.54 17.13 53.84 16.72 52.57 16.4 C 51.67 16.17 50.27 16.08 49.55 16.19"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 49.71 18.91 C 48.64 19.1 47.43 20.06 46.9 21.16 C 46.59 21.81 46.5 23.32 46.73 24.11 C 47.2 25.71 47.13 26.86 46.49 28.12 C 46.06 28.98 45.58 29.46 41.3 33.28 C 31.49 42.07 31.6 41.94 31.3 44.73 C 31.01 47.34 31.62 49.72 33.24 52.3 C 35.25 55.49 35.34 56.31 34.19 60.44 C 31.51 70.03 29.14 77.03 28 78.7 C 26.79 80.49 25.13 81.38 22.56 81.61 C 20.36 81.81 19.44 82.43 19.04 84.01 C 18.81 84.92 18.87 88.2 19.14 88.7 C 19.6 89.57 20.29 90.04 21.37 90.2 C 21.83 90.27 31.11 90.3 50.7 90.28 L 79.35 90.25 79.87 90.04 C 81.44 89.39 81.65 88.92 81.65 86.04 L 81.65 83.84 81.35 83.25 C 80.74 82.06 79.99 81.71 77.75 81.59 C 73.99 81.39 72.61 80.24 71.26 76.19 C 70.24 73.14 67.43 63.26 66.5 59.47 C 65.72 56.33 65.88 55.25 67.49 52.56 C 69.02 50.02 69.34 48.78 69.34 45.5 C 69.33 41.77 68.94 41.01 64.99 37.14 C 63.13 35.32 62.84 35.12 62.36 35.31 C 62.07 35.43 59.49 37.35 55.65 40.29 C 53.44 41.99 52.55 42.39 51.24 42.27 C 48.54 42.02 45.91 38.72 46.38 36.19 C 46.7 34.48 47.25 33.9 52.44 29.95 C 53.37 29.24 54.32 28.48 54.56 28.25 L 55 27.85 54.84 27.15 C 54.64 26.28 54.63 25.07 54.8 24.14 C 55.41 20.82 53 18.34 49.71 18.91 M 63.31 50.76 C 59.03 52.17 54.51 52.76 48.8 52.67 C 43.47 52.58 40.04 52.09 36.55 50.9 C 35.14 50.42 35.07 50.74 36.27 52.23 C 37.68 53.99 40.25 55.38 43.55 56.19 C 47.22 57.09 52.63 57.09 56.72 56.2 C 60.47 55.38 63.57 53.53 65.08 51.19 C 65.83 50.03 65.65 49.99 63.31 50.76 M 37.86 58.55 C 37.83 58.63 37.74 59.25 37.65 59.92 C 37.38 62.06 36.79 64.62 36.02 67.1 C 35.86 67.62 35.51 68.75 35.25 69.6 C 33.56 75.17 31.77 78.48 29.2 80.82 C 28.16 81.76 28.14 81.95 29.08 81.87 C 29.87 81.79 32 81.23 32.92 80.85 C 40.51 77.69 44.18 66.59 39.79 60.06 C 38.94 58.8 38.04 58.09 37.86 58.55 M 22.12 84.71 C 20.58 85.47 20.51 87.39 21.99 88.17 L 22.44 88.4 50.24 88.34 C 77.77 88.28 78.05 88.28 78.48 88.08 C 79.92 87.4 79.86 85.43 78.37 84.71 L 77.94 84.5 50.24 84.5 L 22.55 84.5 22.12 84.71"/></symbol>
11
+ <symbol id="wN" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 45.34 14.49 C 44.73 14.64 44.07 15.04 43.5 15.59 C 42.71 16.37 39.86 20.74 36.7 26 C 34.34 29.93 34.4 29.86 31 32.66 C 25.23 37.39 14.12 47.03 13.13 48.14 C 10.87 50.71 10.93 53.39 13.41 59.14 C 14.77 62.32 16.84 64.07 19.95 64.69 C 22.22 65.14 29.79 65.24 32.35 64.85 C 33.94 64.61 34.54 64.76 34.81 65.47 C 34.98 65.93 34.9 66.22 33.84 68.78 C 31.65 74.12 30.69 75.66 28.65 77.18 C 27.16 78.28 26.67 78.41 23.4 78.5 C 21.23 78.57 20.61 78.62 19.99 78.78 C 17.72 79.39 16.13 80.9 15.53 83.01 C 15.26 83.96 15.27 87.97 15.53 88.85 C 16.13 90.79 17.6 92.17 19.7 92.77 C 20.63 93.03 79.01 93.04 80.35 92.78 C 83.09 92.24 84.71 90.63 85.11 88.08 C 85.33 86.68 85.18 83.28 84.87 82.37 C 84 79.84 82.23 78.69 78.96 78.51 C 76.76 78.39 76 77.81 76 76.26 C 76 75.37 78.12 61.32 78.37 60.55 C 78.58 59.91 79.22 59.23 80.13 58.69 C 83.2 56.88 84.12 54.8 83.25 51.6 C 81.76 46.08 79.41 40.55 77.47 37.98 C 72.92 31.98 66.13 27.39 59.14 25.6 C 56.71 24.97 56.57 24.87 54.5 22.15 C 52.71 19.8 50.18 16.71 49.46 16 C 48.1 14.66 46.73 14.16 45.34 14.49"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 45.95 16.97 C 45.57 17.07 45.3 17.33 44.72 18.18 C 43.65 19.75 38.39 28.26 37.42 29.98 C 36.93 30.86 36.15 31.69 34.64 32.97 C 34.19 33.34 32.9 34.44 31.76 35.4 C 30.62 36.36 29.25 37.5 28.72 37.94 C 27.83 38.66 27.2 39.2 24.82 41.31 C 24.36 41.72 23.66 42.31 23.27 42.63 C 22.87 42.95 22.19 43.54 21.75 43.93 C 21.31 44.33 19.74 45.71 18.25 47 C 14.2 50.52 14.06 50.7 14.05 52.35 C 14.05 54.04 15.91 58.98 17.11 60.43 C 17.49 60.89 18.45 61.53 19.18 61.8 C 21.51 62.68 29.06 62.89 33.29 62.19 C 35.06 61.9 35.69 61.67 37.1 60.83 C 38.58 59.96 40.3 59.07 43.17 57.72 C 45.46 56.64 46.67 55.99 48.04 55.08 C 49.59 54.07 49.38 54.71 47.56 56.59 C 45.01 59.21 42.78 60.9 40.3 62.07 C 39.56 62.42 38.86 62.76 38.74 62.81 C 38.42 62.97 38.24 63.36 37.95 64.5 C 37.58 65.95 36.71 68.57 36.23 69.65 C 36.01 70.15 35.66 70.96 35.45 71.45 C 33.84 75.28 31.99 77.95 29.98 79.31 C 28.16 80.55 26.81 80.9 23.4 81 C 21.63 81.06 20.7 81.13 20.37 81.23 C 19.29 81.57 18.34 82.48 18.04 83.47 C 17.8 84.27 17.85 87.75 18.11 88.44 C 18.39 89.19 19.01 89.81 19.76 90.1 L 20.35 90.32 50.15 90.31 C 70.78 90.3 80.07 90.26 80.35 90.19 C 81.34 89.92 82.08 89.29 82.4 88.42 C 82.73 87.56 82.7 83.56 82.36 82.85 C 81.76 81.57 81.05 81.21 78.76 81.04 C 76.36 80.85 75.43 80.54 74.48 79.59 C 73.5 78.61 73.18 77.5 73.39 75.84 C 73.58 74.41 74.47 68.34 74.85 65.95 C 75.04 64.74 75.29 63.1 75.4 62.3 C 75.97 58.36 76.32 57.74 78.59 56.6 C 80.33 55.73 81.11 54.71 80.97 53.51 C 80.86 52.62 79.74 48.85 78.98 46.8 C 78 44.16 76.42 40.9 75.47 39.57 C 74.81 38.64 71.02 34.83 69.72 33.78 C 65.79 30.63 61.79 28.73 56.68 27.61 C 54.96 27.24 54.83 27.16 54.24 26.28 C 52.2 23.18 47.56 17.49 46.75 17.1 C 46.33 16.89 46.29 16.89 45.95 16.97 M 46.86 27.18 C 46.65 27.82 47.69 30.15 48.78 31.51 C 50.04 33.08 51.33 33.97 54.5 35.45 C 59.61 37.83 61.88 39.31 64.84 42.2 C 69.35 46.59 72.31 52.34 73.15 58.33 C 73.31 59.51 73.34 59.6 73.56 59.6 C 73.83 59.6 75 56.24 75.42 54.25 C 75.92 51.88 75.67 48.77 74.79 46.36 C 73.33 42.4 69.46 38.09 64.97 35.43 C 61.88 33.59 59.51 32.62 55.98 31.74 C 51.88 30.72 50.02 29.8 48.1 27.86 C 47.25 27 46.96 26.84 46.86 27.18 M 35.69 37.62 C 31.51 39.09 32.41 45.05 36.8 45.05 C 40.46 45.05 42.1 40.47 39.22 38.31 C 38.11 37.47 36.83 37.23 35.69 37.62 M 22.44 49.29 C 20.76 49.9 19.27 51.48 18.91 53.06 C 18.52 54.72 20.19 55.13 22.28 53.88 C 25.35 52.04 25.48 48.2 22.44 49.29 M 48.62 58.63 C 47.5 60.89 45.44 63.12 43.2 64.5 C 42.32 65.03 42.01 65.38 41.84 66 C 39.79 73.24 37 77.97 33.15 80.69 C 32.09 81.45 31.96 81.58 32.11 81.77 C 32.53 82.26 36.33 81.35 38.65 80.2 C 43.06 78.02 46.05 73.75 48.08 66.75 C 49.21 62.86 49.92 57.4 49.3 57.4 C 49.25 57.4 48.95 57.95 48.62 58.63 M 23.7 84.29 C 22.18 84.35 22.02 84.37 21.72 84.58 C 20.64 85.36 20.98 86.94 22.31 87.3 C 22.64 87.39 29.21 87.41 50.45 87.38 L 78.15 87.34 78.61 87.13 C 79.95 86.53 79.87 84.94 78.48 84.36 C 78.1 84.2 28.19 84.14 23.7 84.29"/></symbol>
12
+ <symbol id="wP" viewBox="0 0 100 100"><path style="fill:var(--piece-edge,#000);fill-rule:evenodd" d="M 48.35 21.75 C 42.8 22.77 38.19 26.8 36.4 32.19 C 35.28 35.54 35.38 38.82 36.69 42.21 C 37.43 44.1 37.2 44.59 35.35 45.09 C 34.28 45.39 33.67 45.73 32.95 46.45 C 31.19 48.21 31.04 50.72 32.45 54.76 C 33.23 56.97 33.22 57.03 32.21 60.13 C 31.54 62.18 30.18 66.43 27.71 74.25 C 26.69 77.49 26.14 78.13 23.93 78.69 C 21.45 79.32 19.98 80.75 19.39 83.1 C 19.17 83.96 19.2 87.85 19.42 88.68 C 20.1 91.12 21.82 92.55 24.5 92.9 C 26.07 93.11 75.94 92.98 77 92.76 C 79.28 92.31 80.92 90.86 81.57 88.75 C 81.84 87.86 81.84 83.54 81.57 82.66 C 80.81 80.2 79.19 78.91 76.42 78.55 C 74.53 78.3 74.05 77.88 73.46 75.97 C 72.82 73.9 70.19 65.08 69.12 61.45 C 67.8 56.94 67.8 56.95 68.59 54.86 C 70.13 50.76 70.03 48.16 68.25 46.34 C 67.55 45.63 66.88 45.26 65.87 45.03 C 64.1 44.64 63.73 44 64.39 42.44 C 66.09 38.41 65.94 33.64 63.98 29.75 C 62.02 25.85 58.03 22.82 53.6 21.85 C 52.53 21.61 49.41 21.56 48.35 21.75"/><path style="fill:var(--piece-fill,#fff);fill-rule:evenodd" d="M 49.27 24.25 C 44.43 24.94 40.41 28.37 38.84 33.18 C 37.63 36.88 38.19 40.45 40.48 43.63 C 41.25 44.71 41.43 44.82 42.93 45.19 C 44.13 45.49 45.18 45.83 47.35 46.62 C 48.07 46.89 48.25 46.99 48.25 47.15 C 48.25 47.35 48.15 47.35 42.05 47.4 L 35.85 47.45 35.38 47.73 C 33.71 48.71 33.64 50.81 35.15 54.39 C 36.14 56.73 36.17 56.47 34.27 62.3 C 33.63 64.25 32.96 66.37 32.77 67 C 31.35 71.69 29.5 77.3 29.13 78.05 C 28.28 79.74 26.74 80.83 24.8 81.11 C 23.5 81.3 22.54 82.02 22.09 83.16 C 21.76 83.98 21.73 87.6 22.04 88.49 C 22.29 89.21 22.89 89.81 23.66 90.1 L 24.25 90.33 50.5 90.31 C 80.18 90.29 77.33 90.38 78.26 89.46 C 79.1 88.61 79.22 88.1 79.18 85.48 C 79.15 83.38 79.15 83.34 78.87 82.78 C 78.36 81.74 77.45 81.19 76 81.06 C 74.66 80.94 73.42 80.5 72.55 79.85 C 71.75 79.23 71.55 78.74 69.82 72.9 C 69.27 71.06 68.43 68.27 67.95 66.7 C 67.47 65.13 66.88 63.18 66.64 62.35 C 66.4 61.53 65.99 60.15 65.74 59.3 C 65.35 57.98 65.28 57.62 65.27 56.85 C 65.27 55.88 65.25 55.95 66.19 53.83 C 67.5 50.87 67.35 48.45 65.81 47.63 L 65.37 47.4 59.55 47.4 C 52.43 47.4 52.55 47.43 55.13 46.43 C 55.91 46.13 57.27 45.64 58.15 45.34 C 60.12 44.66 60.03 44.73 60.82 43.53 C 63.42 39.65 63.73 35.26 61.7 31.15 C 59.37 26.42 54.19 23.55 49.27 24.25 M 62.75 50.71 C 62.31 50.81 61.5 50.96 60.95 51.05 C 54.31 52.05 46.06 52.03 40.1 51 C 39.47 50.89 38.65 50.75 38.28 50.69 C 37.15 50.49 37 50.82 37.71 51.89 C 39.4 54.42 44.16 55.92 50.55 55.94 C 56.66 55.96 61.02 54.72 63.2 52.33 C 64.02 51.44 64.28 50.8 63.91 50.6 C 63.68 50.48 63.76 50.47 62.75 50.71 M 38.75 59.03 C 38.72 59.15 38.66 59.72 38.6 60.3 C 38.25 63.95 35.8 72.61 34.14 76.08 C 33.19 78.07 31.74 80.18 30.56 81.28 C 29.7 82.09 30.02 82.23 31.71 81.81 C 35.79 80.78 38.71 78.48 40.73 74.7 C 43.34 69.84 43.17 63.68 40.33 59.9 C 39.55 58.86 38.88 58.48 38.75 59.03 M 26.01 84.33 C 24.43 84.83 24.53 86.84 26.15 87.29 C 26.63 87.42 73.07 87.44 74.33 87.31 C 76.23 87.11 76.8 85.23 75.2 84.43 L 74.76 84.2 50.55 84.21 C 33.57 84.22 26.25 84.25 26.01 84.33"/></symbol>
13
+ <symbol id="bK" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 47.15 10.7 C 46.11 10.92 45.33 11.36 44.67 12.09 C 44.31 12.49 44.17 12.74 43.52 14.21 C 43.05 15.27 42.57 15.52 40.89 15.64 C 37.33 15.89 35.47 18.33 35.63 22.55 C 35.75 25.85 37.22 27.78 40.11 28.44 C 41.37 28.73 41.55 28.79 41.78 29 C 42.09 29.29 42.16 29.65 41.95 29.96 C 41.6 30.5 41.58 30.5 35.38 30.5 C 30.86 30.5 29.45 30.53 28.68 30.65 C 25.35 31.15 22.82 33.27 21.97 36.27 C 21.77 36.98 21.76 37.27 21.76 39.5 C 21.78 44.87 22.34 46.76 24.89 49.95 C 26.57 52.04 26.56 51.8 25.19 60.5 C 24.08 67.5 22.57 75.74 22.15 77 C 21.74 78.22 21.07 78.6 19.13 78.71 C 16.05 78.88 14.27 80.2 13.54 82.85 C 13.29 83.75 13.23 87.58 13.44 88.59 C 13.93 90.89 15.57 92.45 17.95 92.85 C 19.44 93.1 81.47 93.02 82.4 92.77 C 84.79 92.12 86.3 90.62 86.74 88.48 C 86.95 87.47 86.95 84.19 86.75 83.06 C 86.4 81.09 84.98 79.54 83 78.96 C 82.7 78.87 81.85 78.75 81.12 78.7 C 78.88 78.54 78.4 78.16 77.9 76.11 C 76.83 71.77 74.53 58.44 74.1 54.1 C 73.93 52.32 74.16 51.55 75.33 49.99 C 77.69 46.86 78.21 45.28 78.41 40.7 C 78.52 38.04 78.46 37.14 78.09 35.92 C 77.44 33.8 75.77 32.04 73.6 31.17 C 72.11 30.58 71.98 30.57 65.3 30.51 C 58.54 30.44 58.76 30.47 58.48 29.84 C 58.21 29.26 58.8 28.78 60.02 28.6 C 62.22 28.28 63.9 27.19 64.7 25.57 C 65.52 23.89 65.54 20.41 64.74 18.71 C 63.88 16.87 62.18 15.85 59.58 15.61 C 58.02 15.46 57.72 15.24 57.1 13.81 C 56.43 12.22 55.48 11.27 54.16 10.83 C 53.58 10.64 47.92 10.53 47.15 10.7"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 49.35 15.39 C 48.56 15.73 48.24 16.54 48.16 18.47 C 48.07 20.46 48.06 20.47 46.1 20.52 C 44.34 20.56 43.55 21.04 43.43 22.14 C 43.26 23.64 44.07 24.34 46.17 24.5 C 48.07 24.64 48.1 24.69 48.1 27.54 C 48.1 29.94 48.16 30.27 48.75 30.85 C 49.73 31.83 51.29 31.69 52.18 30.53 L 52.45 30.17 52.5 27.64 L 52.55 25.1 52.83 24.83 C 53.09 24.56 53.15 24.55 54.43 24.5 C 55.9 24.43 56.31 24.3 56.77 23.76 C 57.38 23.04 57.46 22.15 56.97 21.41 C 56.57 20.82 56.04 20.6 54.89 20.59 C 52.54 20.57 52.56 20.59 52.5 18.42 C 52.44 16.53 52.35 16.21 51.66 15.66 C 51.31 15.37 51.22 15.35 50.42 15.33 C 49.94 15.31 49.46 15.34 49.35 15.39 M 35.92 37.91 C 35.61 38.23 36.14 38.74 37.53 39.43 C 42.63 41.99 53.64 42.38 60.48 40.25 C 62.29 39.68 63.96 38.84 64.21 38.38 C 64.46 37.92 64.45 37.92 57.95 38.03 C 52.22 38.13 38.46 38 36.65 37.84 C 36.23 37.8 36.01 37.82 35.92 37.91 M 28.47 42.17 C 28.08 42.55 29.47 44.24 31.15 45.42 C 35.23 48.3 41.5 49.79 49.5 49.8 C 59.44 49.81 67.5 47.37 70.97 43.31 C 72.06 42.03 71.86 41.87 69.93 42.46 C 61.37 45.08 49.87 46.09 41.1 44.99 C 36.34 44.4 32.95 43.65 29.67 42.46 C 28.63 42.08 28.57 42.06 28.47 42.17 M 32.4 51.96 C 32.3 52.08 32.29 52.46 32.39 53.83 C 32.67 58.03 32.48 61.46 31.68 66.45 C 30.58 73.42 28.66 77.99 25.61 80.94 C 24.53 81.98 24.64 82.13 26.25 81.81 C 32.97 80.46 37.32 75.21 37.9 67.78 C 38.3 62.62 36.37 56.26 33.23 52.43 C 32.77 51.87 32.56 51.75 32.4 51.96 M 19.62 84.71 C 17.99 85.52 18.34 87.81 20.15 88.2 C 20.5 88.27 29.67 88.3 50.35 88.28 L 80.05 88.25 80.53 88.01 C 82.02 87.28 81.98 85.18 80.47 84.61 C 80.27 84.53 71.08 84.5 50.12 84.5 L 20.05 84.5 19.62 84.71"/></symbol>
14
+ <symbol id="bQ" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 48.86 12.16 C 46.35 12.77 44.4 15.26 44.4 17.87 C 44.4 18.89 44.55 19.5 45.13 20.75 C 45.88 22.35 45.86 22.8 45.02 24.89 C 44.01 27.35 43.76 27.7 43 27.7 C 42.43 27.7 42.17 27.42 40.25 24.78 C 37.62 21.16 37.27 20.85 35.75 20.85 C 34.94 20.85 34.8 20.88 34.31 21.15 C 33.21 21.76 32.93 22.28 31.64 26.14 C 30.46 29.67 30.28 29.96 29.39 29.94 C 28.87 29.92 28.62 29.71 26.86 27.85 C 24.75 25.62 24.64 25.35 25.11 23.49 C 26.56 17.79 19.19 13.86 15.1 18.16 C 12.3 21.11 13.11 25.53 16.8 27.44 C 18.02 28.07 18.38 28.36 18.78 29.03 C 19.16 29.66 22.77 38.23 24.55 42.74 C 25.93 46.24 26.77 47.72 28.59 49.83 C 30.59 52.16 30.59 52.2 29.15 58.45 C 27.77 64.4 25.85 71.62 24.75 74.97 C 23.7 78.14 23.01 78.7 20.08 78.7 C 16.66 78.7 14.37 80.42 13.85 83.37 C 13.66 84.44 13.66 87.45 13.85 88.44 C 14.25 90.55 15.76 92.16 17.9 92.77 C 18.88 93.04 80.84 93.05 82.2 92.78 C 84.61 92.29 86.27 90.63 86.67 88.32 C 86.92 86.88 86.81 83.49 86.48 82.48 C 85.9 80.72 84.64 79.52 82.8 78.95 C 82.44 78.84 81.62 78.76 80.4 78.7 C 78.13 78.59 77.78 78.49 76.99 77.71 C 76.36 77.08 76.22 76.77 75.59 74.6 C 74.54 71.04 72.44 62.43 71.3 57.1 C 70.25 52.17 70.27 52.04 72.2 49.94 C 74.65 47.29 74.71 47.16 78.9 36.5 C 82.35 27.71 81.9 28.51 84.02 27.36 C 86.03 26.27 87.05 24.55 87.05 22.25 C 87.05 16.46 79.52 14.09 76.27 18.86 C 75.23 20.39 75.01 21.86 75.51 23.96 C 75.89 25.57 75.76 25.87 73.8 28 C 72.13 29.82 71.87 30.03 71.28 30.03 C 70.49 30.03 70.29 29.67 69.16 26.34 C 68.04 23.01 67.85 22.59 67.24 21.91 C 65.95 20.47 63.96 20.48 62.63 21.94 C 62.37 22.23 61.55 23.31 60.81 24.36 C 58.49 27.62 58.32 27.8 57.61 27.8 C 57 27.8 56.64 27.28 55.87 25.31 C 54.82 22.62 54.81 22.51 55.59 20.8 C 56.34 19.16 56.51 18.18 56.26 16.8 C 55.67 13.51 52.22 11.35 48.86 12.16"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 50.13 28.42 C 50.07 28.49 49.84 29.11 49.61 29.8 C 48.1 34.25 45.64 36.49 42.94 35.86 C 40.73 35.34 39.18 33.92 37.39 30.76 C 37.07 30.21 36.86 29.94 36.72 29.92 C 36.5 29.89 36.49 29.91 36.19 31.15 C 35.05 35.77 32.69 37.19 29.8 34.99 C 29.44 34.72 28.61 33.91 27.96 33.2 C 26.89 32.04 26.4 31.66 26.4 32 C 26.4 32.23 27.45 34.17 29.26 37.26 C 29.92 38.39 30.15 38.7 30.4 38.8 C 30.65 38.9 31.52 38.92 34.53 38.86 C 44.66 38.69 54.18 38.67 60.53 38.81 C 64.12 38.89 67.8 38.95 68.72 38.95 L 70.4 38.95 70.69 38.65 C 71.67 37.65 74.85 31.9 74.43 31.9 C 74.37 31.9 73.55 32.7 72.59 33.68 C 70.27 36.04 69.52 36.5 68.23 36.37 C 66.48 36.19 65.38 34.66 64.44 31.1 C 64.13 29.93 64 29.92 63.31 31.08 C 61.01 34.96 58.07 36.69 55.48 35.7 C 53.53 34.97 52.13 33.12 50.99 29.8 C 50.57 28.57 50.45 28.3 50.3 28.3 C 50.26 28.3 50.18 28.36 50.13 28.42 M 31.04 42.84 C 30.88 43.24 32.47 44.98 33.77 45.84 C 37.69 48.41 42.87 49.6 50.16 49.6 C 57.99 49.6 63.33 48.38 67.29 45.71 C 68.67 44.76 70.1 43.36 70.1 42.93 C 70.1 42.6 69.93 42.62 67.35 43.29 C 62.85 44.45 60 44.89 54.7 45.25 C 46.67 45.79 37.47 44.87 32.13 42.99 C 31.2 42.66 31.11 42.65 31.04 42.84 M 36.32 51.53 C 36.26 51.6 36.23 52.25 36.24 53.15 C 36.27 55.08 36.17 56.24 35.8 58.4 C 35.23 61.81 34.92 63.23 33.84 67.55 C 32.25 73.87 30.23 78.04 27.47 80.72 C 26.73 81.43 26.67 81.52 26.82 81.66 C 27 81.85 28.02 81.64 29.55 81.1 C 35.68 78.93 40.26 72.29 41.25 64.15 C 41.8 59.67 40.03 54.18 37.3 51.91 C 36.67 51.38 36.49 51.31 36.32 51.53 M 20.35 84.41 C 18.68 84.8 18.28 86.78 19.68 87.75 L 20.12 88.05 46.43 88.1 C 77.01 88.16 79.87 88.14 80.43 87.86 C 81.9 87.13 81.6 84.93 79.96 84.45 C 79.37 84.27 21.1 84.24 20.35 84.41"/></symbol>
15
+ <symbol id="bR" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 47.05 17.88 C 45.1 18.04 43.58 18.94 42.82 20.38 C 42.39 21.19 42.29 21.64 42.16 23.51 C 41.96 26.22 41.73 26.45 39.2 26.45 C 36.71 26.45 36.42 26.18 36.28 23.7 C 36.11 20.69 35.42 19.36 33.57 18.46 C 32.52 17.94 31.91 17.88 28.08 17.92 C 24.86 17.95 24.73 17.96 24.17 18.19 C 22.37 18.91 21.29 20.32 20.99 22.33 C 20.92 22.83 20.92 26.16 20.98 33.05 L 21.07 43.05 21.33 44.03 C 21.7 45.41 22.43 46.84 23.44 48.15 C 25.52 50.85 25.6 51.05 25.41 53.15 C 24.89 58.8 22.87 71.66 21.84 75.88 C 21.28 78.18 20.81 78.68 18.85 79.09 C 16.43 79.6 14.85 81.02 14.24 83.25 C 13.99 84.15 13.93 87.46 14.13 88.65 C 14.52 90.85 15.89 92.32 18.07 92.87 C 18.88 93.07 79.81 93.09 81.09 92.89 C 83.69 92.48 85.4 90.74 85.81 88.08 C 85.99 86.91 85.87 83.93 85.6 83 C 84.98 80.86 83.4 79.48 81.09 79.05 C 79.68 78.8 79.21 78.49 78.81 77.6 C 78.12 76.05 75.28 55.86 75.26 52.4 C 75.25 50.78 75.36 50.48 76.71 48.59 C 78.2 46.52 78.81 45.38 79.21 43.95 C 79.42 43.17 79.43 42.93 79.51 36.25 C 79.61 27.39 79.57 22.73 79.4 22 C 78.94 19.98 77.6 18.58 75.58 18.02 C 74.77 17.8 68.8 17.82 67.68 18.05 C 66.26 18.34 65.01 19.26 64.37 20.48 C 63.89 21.39 63.79 21.88 63.71 23.65 C 63.6 26.19 63.32 26.45 60.75 26.45 C 58.16 26.45 57.91 26.21 57.79 23.56 C 57.68 21.26 57.41 20.46 56.43 19.39 C 55.76 18.67 54.81 18.17 53.83 18.01 C 53.23 17.92 47.82 17.81 47.05 17.88"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 28.05 27.7 C 27.94 27.74 27.71 27.92 27.55 28.1 L 27.25 28.41 27.22 32.52 C 27.19 37.16 27.2 37.23 27.91 38.04 C 28.78 39.02 29.58 39.14 37.6 39.49 C 45.23 39.82 59.94 39.88 64.85 39.61 C 70.72 39.27 71.4 39.18 72.33 38.53 C 73.4 37.79 73.5 37.29 73.5 32.56 C 73.5 27.42 73.59 27.6 70.98 27.6 C 68.59 27.6 68.5 27.71 68.5 30.45 C 68.5 32.48 68.43 32.75 67.77 33.18 L 67.36 33.45 60.96 33.48 C 56.76 33.5 54.43 33.48 54.2 33.41 C 53.3 33.15 53.13 32.54 53.11 29.55 C 53.09 27.72 52.91 27.6 50.05 27.6 C 46.92 27.6 47 27.53 47 30.47 C 47 32.26 46.98 32.48 46.8 32.77 C 46.41 33.42 46.69 33.4 39.48 33.4 C 31.13 33.4 31.88 33.69 31.8 30.42 C 31.73 27.59 31.74 27.6 29.57 27.61 C 28.84 27.61 28.16 27.65 28.05 27.7 M 28.7 44.09 C 28.7 44.51 30.65 45.94 32.7 47.03 C 34.73 48.11 38 49.19 40.76 49.7 C 41.36 49.81 42.08 49.94 42.35 50 C 46.69 50.84 53.11 50.86 57.8 50.04 C 62.7 49.18 66.43 47.82 69.63 45.71 C 71.73 44.33 72.03 43.79 70.39 44.35 C 67.97 45.18 64.09 46.05 61.7 46.3 C 55.45 46.96 55.71 46.94 50.55 46.93 C 45.07 46.92 41.7 46.69 37.6 46.06 C 35.7 45.77 31.42 44.74 30.07 44.25 C 28.94 43.85 28.7 43.82 28.7 44.09 M 33.83 51.48 C 33.73 51.54 33.69 52.39 33.66 55.01 C 33.61 60.04 33.18 63 31.7 68.55 C 30.08 74.6 28.3 78.15 25.48 80.91 C 24.26 82.11 24.33 82.26 25.92 81.89 C 28.32 81.33 30.16 80.47 31.87 79.09 C 37.69 74.43 40.68 65.29 38.64 58.4 C 37.77 55.48 36.39 53.22 34.57 51.78 C 34.05 51.37 34.02 51.36 33.83 51.48 M 19.79 84.93 C 18.51 85.61 18.39 87.21 19.54 88.14 L 19.92 88.45 49.8 88.45 L 79.68 88.45 80.11 88.15 C 81.34 87.28 81.23 85.63 79.9 84.93 L 79.47 84.7 49.85 84.7 L 20.23 84.7 19.79 84.93"/></symbol>
16
+ <symbol id="bB" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 49.55 16.19 C 47.97 16.45 47.02 16.95 45.85 18.14 C 44.08 19.93 43.46 22.22 44.1 24.65 C 44.64 26.69 44.61 26.73 40.65 30.26 C 37.24 33.29 33.78 36.41 32.47 37.64 C 29.41 40.5 28.56 42.29 28.57 45.85 C 28.57 48.81 29.21 50.94 30.93 53.67 C 32.53 56.22 32.54 56.34 31.59 59.75 C 29.65 66.67 26.93 75.1 26.17 76.54 C 25.34 78.1 24.34 78.74 22.45 78.9 C 18.93 79.21 16.94 80.76 16.36 83.62 C 16.15 84.63 16.14 87.77 16.34 88.72 C 16.76 90.67 18.23 92.18 20.3 92.77 C 21.29 93.05 79.07 93.05 80.1 92.77 C 82.13 92.23 83.55 90.96 84.12 89.21 C 84.41 88.3 84.5 85 84.27 83.67 C 83.74 80.62 81.73 79.09 78.02 78.9 C 75.83 78.79 75.14 78.46 74.5 77.2 C 74.03 76.27 72.34 70.72 70.46 63.9 C 68.32 56.1 68.33 56.38 69.79 53.97 C 71.41 51.29 71.95 49.46 72.07 46.3 C 72.19 42.98 71.67 40.85 70.22 38.8 C 69.97 38.44 68.68 37.07 67.36 35.74 C 64.72 33.1 64.16 32.7 62.96 32.55 C 61.6 32.38 61.22 32.62 53.97 38.18 C 51.58 40.02 51.07 40.03 49.71 38.32 C 48.41 36.7 48.62 36.31 52.25 33.51 C 53.35 32.66 54.71 31.6 55.28 31.16 C 57.39 29.53 57.85 28.76 57.6 27.32 C 57.36 25.94 57.34 25.62 57.42 25.03 C 57.88 21.8 57.38 19.97 55.55 18.15 C 54.54 17.13 53.84 16.72 52.57 16.4 C 51.67 16.17 50.27 16.08 49.55 16.19"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 63.31 50.76 C 59.03 52.17 54.51 52.76 48.8 52.67 C 43.47 52.58 40.04 52.09 36.55 50.9 C 35.14 50.42 35.07 50.74 36.27 52.23 C 37.68 53.99 40.25 55.38 43.55 56.19 C 47.22 57.09 52.63 57.09 56.72 56.2 C 60.47 55.38 63.57 53.53 65.08 51.19 C 65.83 50.03 65.65 49.99 63.31 50.76 M 37.86 58.55 C 37.83 58.63 37.74 59.25 37.65 59.92 C 37.38 62.06 36.79 64.62 36.02 67.1 C 35.86 67.62 35.51 68.75 35.25 69.6 C 33.56 75.17 31.77 78.48 29.2 80.82 C 28.16 81.76 28.14 81.95 29.08 81.87 C 29.87 81.79 32 81.23 32.92 80.85 C 40.51 77.69 44.18 66.59 39.79 60.06 C 38.94 58.8 38.04 58.09 37.86 58.55 M 22.12 84.71 C 20.58 85.47 20.51 87.39 21.99 88.17 L 22.44 88.4 50.24 88.34 C 77.77 88.28 78.05 88.28 78.48 88.08 C 79.92 87.4 79.86 85.43 78.37 84.71 L 77.94 84.5 50.24 84.5 L 22.55 84.5 22.12 84.71"/></symbol>
17
+ <symbol id="bN" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 44.97 14.24 C 43.85 14.7 43.27 15.35 41.43 18.2 C 39.94 20.52 37.88 23.88 36.45 26.35 C 35.75 27.56 35.02 28.79 34.82 29.09 C 34.29 29.87 34.04 30.1 22.01 40.7 C 19.69 42.74 16.03 46.07 14.81 47.25 C 11.83 50.14 11.49 51.44 12.72 55.2 C 14.42 60.41 16.48 62.83 19.99 63.78 C 20.94 64.03 20.98 64.04 25.65 64.08 C 29.08 64.11 30.77 64.08 31.9 63.99 C 34.38 63.77 34.94 63.79 35.27 64.13 C 35.71 64.56 35.65 65.19 35.05 66.45 C 34.79 67 34.06 68.67 33.43 70.15 C 31.31 75.12 30.65 76.17 28.87 77.39 C 27.35 78.43 26.58 78.6 23.05 78.7 C 20.3 78.77 20.11 78.79 19.34 79.04 C 17.43 79.66 16.08 81.06 15.53 83.01 C 15.21 84.13 15.27 88.21 15.61 89.16 C 16.14 90.61 17.06 91.63 18.44 92.3 C 20.01 93.06 17.57 93.01 50.55 92.98 L 80.05 92.95 80.85 92.72 C 83.02 92.11 84.37 90.87 84.97 88.95 C 85.23 88.09 85.24 83.77 84.98 82.82 C 84.59 81.44 83.79 80.31 82.66 79.58 C 81.74 78.98 80.99 78.8 79.2 78.71 C 77.13 78.61 76.57 78.32 76.36 77.22 C 76.29 76.8 78.37 62.55 78.76 60.82 C 79.04 59.59 79.38 59.17 80.9 58.24 C 83.2 56.83 84.19 55.24 84.07 53.11 C 83.91 50.05 80.95 41.6 78.98 38.58 C 78.36 37.63 75.25 34.31 73.76 33.01 C 69.27 29.09 64.56 26.45 59.46 24.98 C 57.12 24.31 57.01 24.23 55.28 21.98 C 52.45 18.29 49.92 15.5 48.65 14.67 C 47.59 13.97 46.06 13.8 44.97 14.24"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 47.2 25.99 C 47.2 26.48 47.6 27.6 48.16 28.7 C 49.37 31.06 51.3 32.64 54.86 34.15 C 59.77 36.24 63.12 38.41 66.25 41.55 C 70.62 45.91 73.03 50.78 73.95 57.11 C 74.31 59.63 74.44 59.58 75.47 56.55 C 77.39 50.86 77.12 46.55 74.58 42.33 C 70.92 36.24 64.33 31.97 55.65 30.06 C 52.37 29.33 49.97 28.15 48.25 26.41 C 47.49 25.63 47.2 25.52 47.2 25.99 M 36.12 37.29 C 32.06 38.69 32.77 44.46 37 44.45 C 39.19 44.44 40.65 42.96 40.65 40.75 C 40.65 39.56 40.43 39.04 39.62 38.28 C 38.56 37.29 37.22 36.91 36.12 37.29 M 22.75 48.73 C 21.61 49.11 20.44 49.92 19.85 50.74 C 18.62 52.47 18.52 53.72 19.58 54.17 C 20.54 54.57 22.83 53.53 23.94 52.17 C 24.81 51.11 25.04 49.6 24.43 48.99 C 24.06 48.62 23.41 48.52 22.75 48.73 M 49.18 57.58 C 49.1 57.67 48.79 58.2 48.5 58.75 C 47.32 60.99 45.38 63.07 43.08 64.57 C 41.98 65.28 41.93 65.36 41.55 66.75 C 40.43 70.87 38.56 74.78 36.6 77.11 C 35.5 78.42 33.55 80.32 32.7 80.91 C 31.5 81.74 31.78 81.93 33.63 81.57 C 37.7 80.77 40.36 79.39 42.88 76.75 C 46.05 73.43 48.45 67.41 49.34 60.6 C 49.68 57.95 49.63 57.05 49.18 57.58 M 24.35 84.5 C 21.84 84.55 21.74 84.56 21.37 84.78 C 20.03 85.62 20.11 87.35 21.52 88.04 L 22.05 88.3 50.25 88.28 L 78.45 88.25 78.93 88.01 C 79.81 87.58 80.19 86.64 79.86 85.75 C 79.65 85.23 79.01 84.63 78.56 84.55 C 78.16 84.48 27.75 84.43 24.35 84.5"/></symbol>
18
+ <symbol id="bP" viewBox="0 0 100 100"><path style="fill:var(--piece-fill,#000);fill-rule:evenodd" d="M 48.25 22.29 C 45.04 22.88 42.54 24.24 40.19 26.66 C 35.94 31.05 34.64 36.87 36.7 42.24 C 37.35 43.92 37.04 44.53 35.26 45.02 C 31.66 46.01 30.52 49.69 32.35 54.41 C 33.55 57.52 33.58 57 31.84 62.9 C 31.42 64.3 30.8 66.37 30.45 67.5 C 30.1 68.63 29.45 70.72 29.01 72.16 C 27.14 78.22 27 78.42 24.46 78.86 C 20.76 79.5 19.2 81.65 19.2 86.12 C 19.2 89.9 20.35 91.87 23.06 92.71 L 23.85 92.95 50.3 92.95 C 75.33 92.95 76.78 92.94 77.4 92.77 C 79.78 92.12 81.24 90.61 81.67 88.37 C 81.87 87.3 81.8 83.85 81.56 83 C 80.83 80.43 79.08 79.08 76.09 78.8 C 74.65 78.66 73.96 78.29 73.5 77.4 C 73.11 76.65 70.17 66.7 68.58 60.8 C 67.74 57.65 67.72 57.01 68.42 55.35 C 70.72 49.85 69.72 45.98 65.74 44.99 C 64.13 44.59 63.8 43.95 64.36 42.38 C 67.6 33.47 62.85 24.46 53.81 22.39 C 52.52 22.09 49.6 22.04 48.25 22.29"/><path style="fill:var(--piece-detail,#fff);fill-rule:evenodd" d="M 37.52 50.12 C 37.13 50.51 38.04 51.74 39.4 52.67 C 44.07 55.86 56.24 56.07 61.39 53.05 C 62.24 52.55 63.36 51.57 63.71 51.02 C 64.27 50.14 64.07 49.97 62.7 50.16 C 58.73 50.73 53.74 51.04 49.7 50.97 C 44.76 50.88 42.94 50.73 38.7 50.1 C 37.85 49.97 37.66 49.98 37.52 50.12 M 38.71 58.78 C 38.65 58.98 38.6 59.44 38.6 59.8 C 38.59 61.89 37.49 66.39 35.59 72.05 C 34.28 75.98 32.79 78.67 30.66 80.97 C 30.35 81.3 30.1 81.66 30.1 81.75 C 30.1 82.34 34.32 80.94 35.89 79.83 C 40.11 76.85 42.54 72.13 42.54 66.9 C 42.54 63.57 41.61 60.96 39.72 58.98 C 39.07 58.29 38.85 58.25 38.71 58.78 M 25.23 84.74 C 24.05 85.3 23.75 86.79 24.64 87.71 C 25.26 88.35 23.29 88.3 50.33 88.3 L 75.07 88.3 75.5 88.07 C 76.86 87.35 76.97 85.77 75.73 84.82 L 75.37 84.55 50.56 84.53 L 25.75 84.5 25.23 84.74"/></symbol>
17
19
  </defs>
18
- <rect x="0" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wK" x="0" y="0" width="100" height="100"/><rect x="100" y="0" width="100" height="100" fill="#86abd0"/><use href="#wQ" x="100" y="0" width="100" height="100"/><rect x="200" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wR" x="200" y="0" width="100" height="100"/><rect x="300" y="0" width="100" height="100" fill="#86abd0"/><use href="#wB" x="300" y="0" width="100" height="100"/><rect x="400" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wN" x="400" y="0" width="100" height="100"/><rect x="500" y="0" width="100" height="100" fill="#86abd0"/><use href="#wP" x="500" y="0" width="100" height="100"/><rect x="0" y="100" width="100" height="100" fill="#86abd0"/><use href="#bK" x="0" y="100" width="100" height="100"/><rect x="100" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bQ" x="100" y="100" width="100" height="100"/><rect x="200" y="100" width="100" height="100" fill="#86abd0"/><use href="#bR" x="200" y="100" width="100" height="100"/><rect x="300" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bB" x="300" y="100" width="100" height="100"/><rect x="400" y="100" width="100" height="100" fill="#86abd0"/><use href="#bN" x="400" y="100" width="100" height="100"/><rect x="500" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bP" x="500" y="100" width="100" height="100"/>
20
+ <rect x="0" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wK" x="0" y="0" width="100" height="100"/><rect x="0" y="100" width="100" height="100" fill="#86abd0"/><use href="#bK" x="0" y="100" width="100" height="100"/><rect x="100" y="0" width="100" height="100" fill="#86abd0"/><use href="#wQ" x="100" y="0" width="100" height="100"/><rect x="100" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bQ" x="100" y="100" width="100" height="100"/><rect x="200" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wR" x="200" y="0" width="100" height="100"/><rect x="200" y="100" width="100" height="100" fill="#86abd0"/><use href="#bR" x="200" y="100" width="100" height="100"/><rect x="300" y="0" width="100" height="100" fill="#86abd0"/><use href="#wB" x="300" y="0" width="100" height="100"/><rect x="300" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bB" x="300" y="100" width="100" height="100"/><rect x="400" y="0" width="100" height="100" fill="#eaf1f8"/><use href="#wN" x="400" y="0" width="100" height="100"/><rect x="400" y="100" width="100" height="100" fill="#86abd0"/><use href="#bN" x="400" y="100" width="100" height="100"/><rect x="500" y="0" width="100" height="100" fill="#86abd0"/><use href="#wP" x="500" y="0" width="100" height="100"/><rect x="500" y="100" width="100" height="100" fill="#eaf1f8"/><use href="#bP" x="500" y="100" width="100" height="100"/>
19
21
  </svg>
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "preact/jsx-runtime";
2
2
  import { useEffect, useState } from "preact/hooks";
3
- import { timeLeft } from "../core/index.js";
3
+ import { timeLeft } from "../../core/index.js";
4
+ import { Piece } from "../pieces/pieces.js";
4
5
  import { lowTime, timeShown } from "./clock-time.js";
5
- import { Piece } from "./pieces.js";
6
6
  /** The card of one player: the AI's above its words, with its level; the player's below theirs, saying when it is their move. */
7
7
  export function PlayerCard({ place, picture, name, signed, side, level, taken, ahead, turn = false, clock, badges, text }) {
8
8
  const opponent = side === "white" ? "black" : "white";
@@ -36,10 +36,6 @@ export function ClockFace({ clock, side, toMove, held, onFlag, text }) {
36
36
  const classes = ["clock", running ? "running" : "", left < lowTime ? "low" : ""].filter((name) => name !== "").join(" ");
37
37
  return _jsx("span", { class: classes, role: "timer", "aria-label": text.clock(shown, running), children: shown });
38
38
  }
39
- /** The player's picture on a page without profiles: a simple face, in a circle. */
40
- export function Avatar() {
41
- return (_jsxs("svg", { class: "avatar", viewBox: "0 0 64 64", width: "48", height: "48", "aria-hidden": "true", children: [_jsx("circle", { class: "back", cx: "32", cy: "32", r: "32" }), _jsx("path", { class: "shirt", d: "M10 66C11 52 20 45 32 45C44 45 53 52 54 66Z" }), _jsx("path", { class: "skin", d: "M27 37H37V47C37 50 27 50 27 47Z" }), _jsx("circle", { class: "skin", cx: "32", cy: "28", r: "12" }), _jsx("path", { class: "hair", d: "M19.5 29C18 18 24 12.5 32.5 12.5C41 12.5 46.5 18 44.5 29C43 23.5 39 20.5 33 21.5C28 22.5 23 24 19.5 29Z" }), _jsx("circle", { class: "eye", cx: "27.5", cy: "29.5", r: "1.7" }), _jsx("circle", { class: "eye", cx: "36.5", cy: "29.5", r: "1.7" }), _jsx("path", { class: "smile", d: "M28.5 34.5Q32 37.5 35.5 34.5" })] }));
42
- }
43
39
  /** The AI's level, a button that shows under it what the AI sees there (D-61), for a touch as for a mouse. */
44
40
  function LevelTip({ level }) {
45
41
  return (_jsxs(_Fragment, { children: [_jsx("button", { class: "level-name", type: "button", popovertarget: "ai-level", "aria-describedby": "ai-level", children: level[0] }), _jsx("span", { id: "ai-level", class: "level-tip", popover: "auto", children: level[2] })] }));
@@ -1,5 +1,5 @@
1
- // The clock as the board page shows it (T-37): minutes and seconds, and tenths in the last seconds, as Lichess does.
2
- import { clockText } from "../core/index.js";
1
+ // The clock as the board page shows it: minutes and seconds, and tenths in the last seconds, as Lichess does.
2
+ import { clockText } from "../../core/index.js";
3
3
  /** Below this many milliseconds a clock shows tenths and turns red. */
4
4
  export const lowTime = 20_000;
5
5
  /** A time as the page's clock shows it: 4:32, 1:02:03, or 0:19.4 in the last seconds. */
@@ -7,19 +7,19 @@ export const ratingSites = ["lichess", "chess.com", "fide"];
7
7
  export const ratingLimits = { lowest: 100, highest: 3500 };
8
8
  /** The longest name the server keeps. */
9
9
  export const nameLimit = 40;
10
- /** The drawn avatars, by the ids the server keeps (D-45, T-102). */
10
+ /** The drawn avatars, by the ids the server keeps (D-45). */
11
11
  export const avatarIds = ["short-hair", "bun", "glasses", "beanie", "beard", "curls", "moustache", "silver-bob", "cat", "owl"];
12
12
  /** The address of a profile's own image: it changes with the image. */
13
13
  export function imageAddress(profile) {
14
14
  return profile.image === undefined ? undefined : `/api/profile/image?profile=${encodeURIComponent(profile.id)}&v=${encodeURIComponent(profile.image)}`;
15
15
  }
16
- /** Makes a profile and puts it in use, with the photo after it, made small first so that a photo that cannot be read makes no profile: the refusal, or undefined. */
17
- export async function makeProfile({ name, level, rating, site, avatar, photo }) {
16
+ /** Makes a profile, in use unless `use` is false, with the photo after it, made small first so that a photo that cannot be read makes no profile: the refusal, or undefined. */
17
+ export async function makeProfile({ name, level, rating, site, avatar, photo, use }) {
18
18
  const image = photo === undefined ? undefined : await shrunk(photo).catch(() => undefined);
19
19
  if (photo !== undefined && image === undefined) {
20
20
  return badImage;
21
21
  }
22
- const answer = await post("/api/profile/new", jsonOf({ name: name.trim(), level, ...(rating === undefined ? {} : { rating, site }), ...(avatar === undefined ? {} : { avatar }) }));
22
+ const answer = await post("/api/profile/new", jsonOf({ name: name.trim(), level, ...(rating === undefined ? {} : { rating, site }), ...(avatar === undefined ? {} : { avatar }), ...(use === false ? { use } : {}) }));
23
23
  if ("refused" in answer) {
24
24
  return answer.refused;
25
25
  }
@@ -33,7 +33,11 @@ export async function useProfile(id) {
33
33
  export async function chooseAvatar(profile, avatar) {
34
34
  return refusalOf(await post(forProfile("/api/profile/avatar", profile), jsonOf({ avatar })));
35
35
  }
36
- /** Opens the data folder in the system's file manager, where the page runs (T-119): the server's refusal, or undefined. */
36
+ /** The player's names on Lichess and chess.com for the profile the page shows, an empty one removed: the server's refusal, or undefined. */
37
+ export async function saveAccounts(profile, accounts) {
38
+ return refusalOf(await post(forProfile("/api/profile/accounts", profile), jsonOf({ lichess: accounts.lichess.trim(), chesscom: accounts.chesscom.trim() })));
39
+ }
40
+ /** Opens the data folder in the system's file manager, where the page runs: the server's refusal, or undefined. */
37
41
  export async function openDataFolder() {
38
42
  return refusalOf(await post("/api/data-folder/open", jsonOf({})));
39
43
  }
@@ -1,7 +1,7 @@
1
- // The player's settings on the page (D-56): the look, the game's aids and the language, kept in the profile in use (T-19) and remembered by this browser.
2
- /** The piece sets: our two, whose colours the player picks, and cburnett with its own (D-52). */
3
- export const pieceSets = ["nitida", "torretta", "cburnett"];
4
- /** The choices of each look, by the ids the style sheet knows; the first is the default (T-82). */
1
+ // The player's settings on the page (D-56): the look, the game's aids and the language, kept in the profile in use and remembered by this browser.
2
+ /** The piece sets, all Chesspal's own, whose colours the player picks; a set no longer here falls back to the first (D-94). */
3
+ export const pieceSets = ["nitida", "torretta", "capablanca"];
4
+ /** The choices of each look, by the ids the style sheet knows; the first is the default. */
5
5
  export const looks = {
6
6
  board: ["azzurro", "verde", "noce", "ardesia", "grigio", "lavanda", "ciliegio", "menta", "carta"],
7
7
  pieces: ["classico", "avorio", "notte", "bordeaux"],
@@ -23,6 +23,7 @@ export function settingsFrom(value, defaults = { theme: "system", sound: true })
23
23
  pieces: oneOf(stored.pieces, looks.pieces, looks.pieces[0]),
24
24
  marks: oneOf(stored.marks, looks.marks, looks.marks[0]),
25
25
  dots: typeof stored.dots === "boolean" ? stored.dots : true,
26
+ squareNames: typeof stored.squareNames === "boolean" ? stored.squareNames : false,
26
27
  explain: typeof stored.explain === "boolean" ? stored.explain : true,
27
28
  book: typeof stored.book === "boolean" ? stored.book : true,
28
29
  helps: typeof stored.helps === "boolean" ? stored.helps : false,