pi-roundtable-web 0.26.2 → 0.27.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 (219) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +34 -12
  3. package/dist/chunk-account-1ecx5kt7.js +1 -0
  4. package/dist/chunk-action-menu-zh2n0ahf.js +1 -0
  5. package/dist/chunk-agent-ynm2tcbx.js +1 -0
  6. package/dist/chunk-arranged-rooms-qnz8vese.js +1 -0
  7. package/dist/chunk-bulk-actions-pr0mw0kc.js +1 -0
  8. package/dist/chunk-character-creator-caj4pmg4.js +1 -0
  9. package/dist/{chunk-codeeditor-jm2sm333.js → chunk-codeeditor-dga6s78p.js} +2 -2
  10. package/dist/chunk-confirm-g76v5d9r.js +1 -0
  11. package/dist/{chunk-connectors-mhnw6d79.js → chunk-connectors-j79ze3j1.js} +1 -1
  12. package/dist/{chunk-conversations-yjyq4g1y.js → chunk-conversations-2farn72g.js} +1 -1
  13. package/dist/chunk-council-sheet-s9sz1bzf.js +2 -0
  14. package/dist/{chunk-drag-nyq52ck7.js → chunk-drag-45e8222r.js} +1 -1
  15. package/dist/chunk-entry-q11n47h9.js +1 -0
  16. package/dist/chunk-folder-list-4gcj7g7h.js +1 -0
  17. package/dist/chunk-folds-ten4ykfw.js +1 -0
  18. package/dist/chunk-gate-kcv1a4t0.js +1 -0
  19. package/dist/chunk-group-scene-12ghcvzd.js +1 -0
  20. package/dist/chunk-group-table-t458kdgn.js +1 -0
  21. package/dist/chunk-host-icons-h1k9k96a.js +1 -0
  22. package/dist/chunk-host-picture-3p0wzn3v.js +1 -0
  23. package/dist/chunk-host-state-7mdve7cb.js +1 -0
  24. package/dist/chunk-host-ui-bdgwa6sf.js +1 -0
  25. package/dist/chunk-index-02vfshtt.js +2 -0
  26. package/dist/{chunk-index-31ays46f.js → chunk-index-0a81da8z.js} +2 -2
  27. package/dist/{chunk-index-y00wke93.js → chunk-index-0w4bfjb5.js} +2 -2
  28. package/dist/chunk-index-12zyshae.js +2 -0
  29. package/dist/chunk-index-18pgxxw3.js +2 -0
  30. package/dist/chunk-index-2e4am3hw.js +50 -0
  31. package/dist/{chunk-index-1f0j335v.js → chunk-index-2fdns8tn.js} +2 -2
  32. package/dist/{chunk-index-934zgd18.js → chunk-index-2t30xwed.js} +2 -2
  33. package/dist/{chunk-index-cmxs5y22.js → chunk-index-31x6krbs.js} +3 -3
  34. package/dist/{chunk-index-b7jjca66.js → chunk-index-3d8s3565.js} +2 -2
  35. package/dist/chunk-index-5bfqek1d.js +2 -0
  36. package/dist/chunk-index-64rsz6pf.js +2 -0
  37. package/dist/chunk-index-6bkcq9ka.js +2 -0
  38. package/dist/{chunk-index-9nents16.js → chunk-index-8d81qy69.js} +2 -2
  39. package/dist/chunk-index-92zgb7my.js +2 -0
  40. package/dist/chunk-index-aamhjg5n.js +2 -0
  41. package/dist/{chunk-index-ewj52be9.js → chunk-index-ac1ktr56.js} +2 -2
  42. package/dist/{chunk-index-6tpr6r6d.js → chunk-index-ak6ecqy3.js} +2 -2
  43. package/dist/{chunk-index-yrhbhmxz.js → chunk-index-b73y2gc0.js} +2 -2
  44. package/dist/chunk-index-b8cpvr7y.js +2 -0
  45. package/dist/{chunk-index-tmx30r1w.js → chunk-index-bhqczxr3.js} +2 -2
  46. package/dist/{chunk-index-0xj30mzw.js → chunk-index-cbqhzf40.js} +12 -12
  47. package/dist/chunk-index-cdctnw71.js +2 -0
  48. package/dist/chunk-index-dj0tbfyb.js +2 -0
  49. package/dist/chunk-index-dnjftvtq.js +2 -0
  50. package/dist/chunk-index-e2dqjde8.js +1 -0
  51. package/dist/{chunk-index-frwa2fmc.js → chunk-index-ebg48jgy.js} +2 -2
  52. package/dist/{chunk-index-smw1n2pt.js → chunk-index-ek5mek4j.js} +5 -5
  53. package/dist/chunk-index-f6q0stqx.js +2 -0
  54. package/dist/{chunk-index-kw85ajap.js → chunk-index-ffbrm6tr.js} +3 -3
  55. package/dist/chunk-index-g1awv7rk.js +2 -0
  56. package/dist/chunk-index-g3wrs02w.js +1 -0
  57. package/dist/chunk-index-j0m16cj1.js +2 -0
  58. package/dist/chunk-index-j4kk1m59.js +2 -0
  59. package/dist/chunk-index-j4x9dq30.css +1 -0
  60. package/dist/{chunk-index-7bbqtdce.js → chunk-index-jgzygbt8.js} +2 -2
  61. package/dist/chunk-index-kb3w11mn.js +7 -0
  62. package/dist/chunk-index-kbrg32sx.js +2 -0
  63. package/dist/chunk-index-msqhgvfx.js +2 -0
  64. package/dist/chunk-index-pefwfm26.js +2 -0
  65. package/dist/chunk-index-pyfx77cj.js +2 -0
  66. package/dist/{chunk-index-kfv996qe.js → chunk-index-q7g62sgm.js} +35 -3
  67. package/dist/chunk-index-qfgkfq86.js +2 -0
  68. package/dist/chunk-index-rh0x9rzf.js +2 -0
  69. package/dist/{chunk-index-029209sy.js → chunk-index-sm7m4fej.js} +2 -2
  70. package/dist/chunk-index-sv9qpmhv.js +1 -0
  71. package/dist/chunk-index-t998yg8y.js +2 -0
  72. package/dist/chunk-index-tk4se135.js +4 -0
  73. package/dist/chunk-index-v6smgw77.js +2 -0
  74. package/dist/chunk-index-w42rcbx1.js +2 -0
  75. package/dist/chunk-index-x4enmj72.js +2 -0
  76. package/dist/chunk-index-xq84gg8w.js +2 -0
  77. package/dist/{chunk-index-f3b5nch2.js → chunk-index-xxeb2xp0.js} +3 -3
  78. package/dist/{chunk-index-0n6ja7my.js → chunk-index-zyvwhxga.js} +1 -1
  79. package/dist/chunk-lang-css-y9133ktr.js +1 -0
  80. package/dist/{chunk-lang-dockerfile-46rk929v.js → chunk-lang-dockerfile-cnwqn660.js} +1 -1
  81. package/dist/{chunk-lang-go-qb0qdpg7.js → chunk-lang-go-yy6kgsxv.js} +3 -3
  82. package/dist/chunk-lang-html-r2xmryek.js +1 -0
  83. package/dist/chunk-lang-javascript-1r6wd177.js +1 -0
  84. package/dist/{chunk-lang-json-1q4fp694.js → chunk-lang-json-dx56g11y.js} +1 -1
  85. package/dist/{chunk-lang-markdown-5w7t28wa.js → chunk-lang-markdown-fpcf2dfq.js} +5 -5
  86. package/dist/{chunk-lang-python-3dq0p4rf.js → chunk-lang-python-zzp95955.js} +2 -2
  87. package/dist/{chunk-lang-rust-70pa0agr.js → chunk-lang-rust-214fh7sp.js} +1 -1
  88. package/dist/{chunk-lang-shell-4pxt7hf4.js → chunk-lang-shell-1rpgtepw.js} +1 -1
  89. package/dist/{chunk-lang-sql-kgcbh2a9.js → chunk-lang-sql-vvp46hpj.js} +2 -2
  90. package/dist/{chunk-lang-toml-99t95pab.js → chunk-lang-toml-tbj7467c.js} +1 -1
  91. package/dist/chunk-lang-typescript-y5w4tt4g.js +1 -0
  92. package/dist/{chunk-lang-xml-mnbv9yfa.js → chunk-lang-xml-tbcqmedk.js} +1 -1
  93. package/dist/{chunk-lang-yaml-2by9g1dy.js → chunk-lang-yaml-jh56t3sv.js} +1 -1
  94. package/dist/chunk-layout-actions-y73mpsh1.js +1 -0
  95. package/dist/chunk-menu-items-bza16bw6.js +2 -0
  96. package/dist/chunk-mode-toggle-nj9gnt3b.js +1 -0
  97. package/dist/chunk-note-row-6fmhrdng.js +75 -0
  98. package/dist/chunk-notes-wv0e6ssf.js +1 -0
  99. package/dist/chunk-notice-bell-9z27epd2.js +1 -0
  100. package/dist/{chunk-notices-evny44be.js → chunk-notices-fte9f196.js} +1 -1
  101. package/dist/chunk-onboarding-c5twahc3.js +1 -0
  102. package/dist/{chunk-overview-42h45ehd.js → chunk-overview-k4ccprax.js} +1 -1
  103. package/dist/chunk-palette-9rbp2fab.js +1 -0
  104. package/dist/chunk-placement-items-me598wsb.js +1 -0
  105. package/dist/{chunk-profile-bqcgkgk4.js → chunk-profile-s7r7fcvz.js} +1 -1
  106. package/dist/chunk-prompt-history-hf296e7v.js +1 -0
  107. package/dist/chunk-prompts-c8s0nhkm.js +1 -0
  108. package/dist/chunk-room-confirms-ga2sbvhc.js +1 -0
  109. package/dist/chunk-room-menu-7h4jym2b.js +1 -0
  110. package/dist/chunk-rooms-menu-button-pgtaanb6.js +1 -0
  111. package/dist/chunk-schedules-mbnwcxpc.js +1 -0
  112. package/dist/{chunk-seat-menu-ca5p4e9q.js → chunk-seat-menu-r0k0eawr.js} +1 -1
  113. package/dist/chunk-sheet-hosts-a5dfevy9.js +1 -0
  114. package/dist/chunk-shortcut-help-a6pkjcq7.js +26 -0
  115. package/dist/chunk-shortcuts-cgt87jkz.js +1 -0
  116. package/dist/chunk-skill-editor-67yk4x7t.js +8 -0
  117. package/dist/chunk-skills-rewemey4.js +1 -0
  118. package/dist/chunk-switcher-list-t8rbay2y.js +1 -0
  119. package/dist/{chunk-tab-dot-4tkpxqeh.js → chunk-tab-dot-vr11dfrw.js} +1 -1
  120. package/dist/chunk-table-52nh0azk.js +1 -0
  121. package/dist/chunk-table2d-g57vr6h0.js +1 -0
  122. package/dist/chunk-table3d-rp0w6kt4.js +4220 -0
  123. package/dist/chunk-thread-actions-qcxt1y1g.js +1 -0
  124. package/dist/chunk-thread-cards-c2mrp2gj.js +1 -0
  125. package/dist/chunk-thread-list-0071q455.js +217 -0
  126. package/dist/chunk-transcript-789yqysq.js +1 -0
  127. package/dist/chunk-where-hmwmme9e.js +1 -0
  128. package/dist/{chunk-workspace-h0p32ygy.js → chunk-workspace-wr1qrtsh.js} +2 -2
  129. package/dist/chunk-zh-tw-z5p5mpph.js +1 -0
  130. package/dist/index.html +1 -1
  131. package/dist/sw.js +1 -1
  132. package/package.json +3 -3
  133. package/src/api-types.ts +73 -0
  134. package/src/app/app.ts +38 -4
  135. package/src/app/helper-routes.ts +106 -0
  136. package/src/app/rooms.ts +18 -3
  137. package/src/app/routes.ts +125 -2
  138. package/src/app/surface.ts +18 -1
  139. package/src/app/team-routes.ts +21 -1
  140. package/src/app/threads.ts +11 -0
  141. package/src/host/host-app.ts +15 -1
  142. package/src/host/read-all.ts +80 -0
  143. package/src/host/reads.ts +67 -0
  144. package/src/i18n/zh-tw.ts +64 -13
  145. package/dist/chunk-account-nhpd9j90.js +0 -1
  146. package/dist/chunk-action-menu-ec9jqtxq.js +0 -1
  147. package/dist/chunk-agent-d1xfrawq.js +0 -1
  148. package/dist/chunk-arranged-rooms-bga8yk2v.js +0 -1
  149. package/dist/chunk-character-creator-k67f77w5.js +0 -1
  150. package/dist/chunk-confirm-wc5xraev.js +0 -1
  151. package/dist/chunk-entry-red1597w.js +0 -1
  152. package/dist/chunk-folder-list-x56y26yq.js +0 -1
  153. package/dist/chunk-folds-3p7s2nvx.js +0 -1
  154. package/dist/chunk-gate-h41bv4y9.js +0 -1
  155. package/dist/chunk-group-scene-7eb6jyev.js +0 -1
  156. package/dist/chunk-group-table-rca48kt0.js +0 -1
  157. package/dist/chunk-host-icons-x318gjqp.js +0 -1
  158. package/dist/chunk-host-picture-xswcakgy.js +0 -1
  159. package/dist/chunk-host-state-bpahvk54.js +0 -1
  160. package/dist/chunk-host-ui-tsbwwk38.js +0 -1
  161. package/dist/chunk-index-066vzexw.js +0 -2
  162. package/dist/chunk-index-0h4h76kw.js +0 -2
  163. package/dist/chunk-index-2f5nfekb.js +0 -8
  164. package/dist/chunk-index-43k1rjmx.js +0 -2
  165. package/dist/chunk-index-4gk88a0x.js +0 -4
  166. package/dist/chunk-index-4jf4jvfd.css +0 -1
  167. package/dist/chunk-index-4mf29sbx.js +0 -2
  168. package/dist/chunk-index-51n20yhb.js +0 -2
  169. package/dist/chunk-index-84v7j6vh.js +0 -50
  170. package/dist/chunk-index-8f9jer8r.js +0 -2
  171. package/dist/chunk-index-91z3g774.js +0 -1
  172. package/dist/chunk-index-9w0sar6s.js +0 -2
  173. package/dist/chunk-index-a768zmp6.js +0 -2
  174. package/dist/chunk-index-c5x70d9g.js +0 -2
  175. package/dist/chunk-index-cwc1vvpw.js +0 -2
  176. package/dist/chunk-index-d85x96q0.js +0 -2
  177. package/dist/chunk-index-datrrs6b.js +0 -2
  178. package/dist/chunk-index-dep2e3f3.js +0 -2
  179. package/dist/chunk-index-dtste2ed.js +0 -2
  180. package/dist/chunk-index-grkczq2c.js +0 -2
  181. package/dist/chunk-index-gzvkpe3e.js +0 -2
  182. package/dist/chunk-index-satam151.js +0 -2
  183. package/dist/chunk-index-th43f690.js +0 -2
  184. package/dist/chunk-index-ths2hxpe.js +0 -1
  185. package/dist/chunk-index-y4sqmenv.js +0 -2
  186. package/dist/chunk-index-zd76pr2k.js +0 -2
  187. package/dist/chunk-lang-css-fa7c0zfj.js +0 -1
  188. package/dist/chunk-lang-html-47mf2y0v.js +0 -1
  189. package/dist/chunk-lang-javascript-d32qrvxz.js +0 -1
  190. package/dist/chunk-lang-typescript-4k1d8z7s.js +0 -1
  191. package/dist/chunk-layout-actions-cgghzj1w.js +0 -1
  192. package/dist/chunk-menu-items-24cfwawa.js +0 -2
  193. package/dist/chunk-mode-toggle-v4baz3r1.js +0 -1
  194. package/dist/chunk-note-row-72n6cqyk.js +0 -75
  195. package/dist/chunk-notes-83s3tsey.js +0 -1
  196. package/dist/chunk-notice-bell-a4ty5h1p.js +0 -1
  197. package/dist/chunk-onboarding-q1avjbrx.js +0 -1
  198. package/dist/chunk-palette-e44qepmh.js +0 -1
  199. package/dist/chunk-placement-items-v466t0sv.js +0 -1
  200. package/dist/chunk-prompt-history-hgbtcn4b.js +0 -1
  201. package/dist/chunk-prompts-czs8y6r1.js +0 -1
  202. package/dist/chunk-room-confirms-h8cdj3ng.js +0 -1
  203. package/dist/chunk-room-menu-7s0feajw.js +0 -1
  204. package/dist/chunk-rooms-menu-button-gawqvpsr.js +0 -1
  205. package/dist/chunk-schedules-zba7krac.js +0 -1
  206. package/dist/chunk-sheet-hosts-ssbz6hf2.js +0 -1
  207. package/dist/chunk-skill-editor-n0y9pd90.js +0 -8
  208. package/dist/chunk-skills-ea4vb2s4.js +0 -1
  209. package/dist/chunk-switcher-list-pj5csqr9.js +0 -1
  210. package/dist/chunk-table-j8nmtdnn.js +0 -1
  211. package/dist/chunk-table-seats-qeytqe0m.js +0 -1
  212. package/dist/chunk-table2d-18y029k9.js +0 -1
  213. package/dist/chunk-table3d-q2s31ae0.js +0 -4220
  214. package/dist/chunk-thread-actions-w3eadnh7.js +0 -1
  215. package/dist/chunk-thread-cards-fbpky3c9.js +0 -1
  216. package/dist/chunk-thread-list-pghe84be.js +0 -1
  217. package/dist/chunk-transcript-eqzxgqys.js +0 -1
  218. package/dist/chunk-where-ygyr4jdj.js +0 -1
  219. package/dist/chunk-zh-tw-k6xx1hp2.js +0 -1
@@ -1,4 +1,4 @@
1
- function ae(e){if(e&&typeof e==="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.values(e))ae(r)}return e}var Be=["wizard","knight","scholar","smith","ranger","bard","alchemist","healer","steward","navigator","seer","scribe","engineer","druid","innkeeper","sentinel","envoy","rogue","monk","falconer","shipwright","jester","paladin","archivist"],_=["robe","scholar","armor","plate","apron","chef","cloak","tunic","coat","overalls","vest","habit","surplice","motley","sailor"],N=["none","wizard","helm","mortar","goggcap","hood","beret","goggles","coif","tallcap","tricorn","turban","softcap","hardhat","wreath","toque","kettle","cavalier","cowl","headband","fcap","sailor","jester","winghelm"],D=["staff","shield","scroll","hammer","bow","lute","flask","quill","tome","bell","keys","map","telescope","wrench","spade","ladle","lantern","seal","dagger","beads","bird","anchor","marotte","sword"],z=["none","short","bob","long","bun","curly","ponytail","braid"],pe=["full","mustache","goatee"],Y=[...pe,"none"],fe=["glasses","freckles","scar"],U=[...fe,"none"],P=["slim","regular","stout"],K=[0,1,2,3,4,5],Pr=["neutral","happy","thinking","concerned","apologetic","surprised","proud","amused","curious","sympathetic","playful","determined","sleepy"],Yt=["idle","thinking","working","waiting","done","error","sleepy"],Qr=ae({idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"}),se={azure:{primary:"#3b6fd8",secondary:"#eef2ff",trim:"#f0c04a"},gules:{primary:"#d8473d",secondary:"#fff1e4",trim:"#f0c04a"},vert:{primary:"#2f9e6b",secondary:"#eefbea",trim:"#f0c04a"},purpure:{primary:"#7d52cc",secondary:"#f1e9ff",trim:"#f0c04a"},amber:{primary:"#e2a02a",secondary:"#fff6dc",trim:"#d5dbe8"},sable:{primary:"#454a5c",secondary:"#e9ecf4",trim:"#f0c04a"},teal:{primary:"#1f9aa6",secondary:"#e6fbfa",trim:"#f0c04a"},rose:{primary:"#d6507f",secondary:"#ffeef3",trim:"#d5dbe8"}},Ne=["#f7d6b8","#eab98c","#d4a070","#b9784c","#8e5b3c","#5c3a26"],De=["#2b2233","#6a4a33","#b0562f","#e0b45a","#aeb4c3","#f1f3fa"];function h(e){let{palette:r,...t}=e;return{...t,colors:{...se[r]},palette:r}}var ze={wizard:{label:"Wizard",jobs:"coordinator, planner, main assistant",keywords:["coordinat","orchestrat","lead","chief","manager","協調","統籌","總管","主管"],preset:h({outfit:"robe",hat:"wizard",prop:"staff",hair:"none",beard:"full",accessory:"none",build:"regular",skin:0,hairColor:"#f1f3fa",palette:"azure"})},knight:{label:"Knight",jobs:"reviewer, QA gate, guardian",keywords:["review","qa","quality","gate","lint","guardian","審查","審核","把關","品質"],preset:h({outfit:"armor",hat:"helm",prop:"shield",hair:"short",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#6a4a33",palette:"gules"})},scholar:{label:"Scholar",jobs:"researcher, literature review",keywords:["research","literature","paper","study","survey","academic","研究","文獻","論文","學者"],preset:h({outfit:"scholar",hat:"mortar",prop:"scroll",hair:"bun",beard:"none",accessory:"glasses",build:"slim",skin:2,hairColor:"#2b2233",palette:"purpure"})},smith:{label:"Smith",jobs:"coder, builder, refactorer",keywords:["coder","coding","code","builder","implement","develop","refactor","software","程式","開發","實作","重構"],preset:h({outfit:"apron",hat:"goggcap",prop:"hammer",hair:"short",beard:"none",accessory:"none",build:"stout",skin:3,hairColor:"#7a4a2a",palette:"amber"})},ranger:{label:"Ranger",jobs:"scout, web search, crawler",keywords:["scout","search","crawl","explore","browse","web","搜尋","爬蟲","偵查","探索"],preset:h({outfit:"cloak",hat:"hood",prop:"bow",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:1,hairColor:"#a8683a",palette:"vert"})},bard:{label:"Bard",jobs:"writer, announcer, copywriter",keywords:["writer","write","copywrit","announce","content","blog","story","poet","寫作","文案","文章","公告"],preset:h({outfit:"tunic",hat:"beret",prop:"lute",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#c0453d",palette:"rose"})},alchemist:{label:"Alchemist",jobs:"data analyst, ETL, transformer",keywords:["analyst","data","etl","transform","convert","spreadsheet","資料","數據","轉換","分析師"],preset:h({outfit:"coat",hat:"goggles",prop:"flask",hair:"curly",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"teal"})},healer:{label:"Healer",jobs:"debugger, fixer, support",keywords:["debug","fix","doctor","heal","bug","repair","triage","support","醫","修","除錯","診斷"],preset:h({outfit:"surplice",hat:"coif",prop:"bell",hair:"none",beard:"none",accessory:"none",build:"stout",skin:5,hairColor:"#2b2233",palette:"rose"})},steward:{label:"Steward",jobs:"ops, billing, access keys",keywords:["ops","billing","admin","account","access","finance","invoice","procure","帳務","財務","營運","請款","管理"],preset:h({outfit:"vest",hat:"tallcap",prop:"keys",hair:"short",beard:"mustache",accessory:"none",build:"stout",skin:0,hairColor:"#8a8f9c",palette:"sable"})},navigator:{label:"Navigator",jobs:"planner, routing, roadmap",keywords:["planner","planning","roadmap","route","routing","navigat","itinerary","規劃","路線","導航","行程"],preset:h({outfit:"coat",hat:"tricorn",prop:"map",hair:"ponytail",beard:"none",accessory:"none",build:"slim",skin:2,hairColor:"#6a4a33",palette:"azure"})},seer:{label:"Seer",jobs:"forecaster, monitoring, analytics",keywords:["forecast","monitor","predict","analytics","metric","observab","trend","預測","監控","觀測","趨勢"],preset:h({outfit:"habit",hat:"turban",prop:"telescope",hair:"none",beard:"none",accessory:"none",build:"slim",skin:3,hairColor:"#2b2233",palette:"purpure"})},scribe:{label:"Scribe",jobs:"documentation, notes, minutes",keywords:["document","docs","notes","minutes","transcri","changelog","文件","記錄","紀錄","筆記","會議"],preset:h({outfit:"scholar",hat:"softcap",prop:"quill",hair:"short",beard:"none",accessory:"glasses",build:"regular",skin:1,hairColor:"#3a2f45",palette:"sable"})},engineer:{label:"Engineer",jobs:"devops, infra, CI",keywords:["infra","devops","ci","sre","platform","kubernetes","server","cluster","維運","運維","基礎設施","伺服器"],preset:h({outfit:"overalls",hat:"hardhat",prop:"wrench",hair:"braid",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#2b2233",palette:"amber"})},druid:{label:"Druid",jobs:"cleanup, data hygiene, maintenance",keywords:["cleanup","clean","hygiene","maintenance","garbage","prune","tidy","清理","整理","維護","保養"],preset:h({outfit:"cloak",hat:"wreath",prop:"spade",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#6a4a33",palette:"vert"})},innkeeper:{label:"Innkeeper",jobs:"concierge, onboarding, scheduler",keywords:["concierge","onboard","scheduler","schedule","host","welcome","reception","接待","迎賓","排程","新人"],preset:h({outfit:"chef",hat:"toque",prop:"ladle",hair:"none",beard:"mustache",accessory:"none",build:"stout",skin:2,hairColor:"#2b2233",palette:"gules"})},sentinel:{label:"Sentinel",jobs:"security, on-call, alerts",keywords:["security","alert","incident","oncall","on-call","vulnerab","patrol","資安","安全","告警","警報","值班"],preset:h({outfit:"plate",hat:"kettle",prop:"lantern",hair:"none",beard:"none",accessory:"scar",build:"stout",skin:5,hairColor:"#2b2233",palette:"sable"})},envoy:{label:"Envoy",jobs:"email, partner comms, notifications",keywords:["email","mail","partner","notif","message","outreach","comms","信件","郵件","通知","聯絡"],preset:h({outfit:"tunic",hat:"cavalier",prop:"seal",hair:"bun",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#aeb4c3",palette:"purpure"})},rogue:{label:"Rogue",jobs:"pen-tester, auditor, intel",keywords:["pentest","pen-test","penetration","auditor","audit","intel","exploit","osint","滲透","稽核","情報","紅隊"],preset:h({outfit:"cloak",hat:"cowl",prop:"dagger",hair:"none",beard:"none",accessory:"scar",build:"slim",skin:0,hairColor:"#2b2233",palette:"sable"})},monk:{label:"Monk",jobs:"long-running jobs, batch, patience",keywords:["long-running","batch","patient","background","overnight","meditat","cron","長時間","批次","批量","耐心"],preset:h({outfit:"habit",hat:"headband",prop:"beads",hair:"none",beard:"none",accessory:"none",build:"regular",skin:3,hairColor:"#2b2233",palette:"amber"})},falconer:{label:"Falconer",jobs:"retrieval, fetch, RAG lookup",keywords:["retriev","fetch","rag","lookup","vector","embedding","檢索","擷取","抓取","查詢"],preset:h({outfit:"cloak",hat:"fcap",prop:"bird",hair:"short",beard:"goatee",accessory:"none",build:"slim",skin:4,hairColor:"#2b2233",palette:"vert"})},shipwright:{label:"Shipwright",jobs:"release, build pipeline, packaging",keywords:["release","ship","packag","publish","deploy","pipeline","發版","發布","打包","上線","部署"],preset:h({outfit:"sailor",hat:"sailor",prop:"anchor",hair:"short",beard:"goatee",accessory:"none",build:"stout",skin:2,hairColor:"#e0b45a",palette:"azure"})},jester:{label:"Jester",jobs:"brainstorm, ideation, humor",keywords:["brainstorm","ideation","idea","humor","joke","creative","fun","腦力激盪","發想","創意","幽默","點子"],preset:h({outfit:"motley",hat:"jester",prop:"marotte",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:0,hairColor:"#b0562f",palette:"gules"})},paladin:{label:"Paladin",jobs:"compliance, policy, approvals",keywords:["compliance","policy","approval","approve","govern","legal","ethic","合規","法遵","核准","政策","規範"],preset:h({outfit:"plate",hat:"winghelm",prop:"sword",hair:"none",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"amber"})},archivist:{label:"Archivist",jobs:"knowledge base, indexing, memory",keywords:["knowledge","archive","index","memory","wiki","catalog","library","知識","索引","記憶","歸檔","典藏"],preset:h({outfit:"scholar",hat:"none",prop:"tome",hair:"bun",beard:"none",accessory:"glasses",build:"regular",skin:2,hairColor:"#e4e7f0",palette:"teal"})}},F=ae({classes:ze,outfits:_,hats:N,props:D,hair:z,beards:pe,accessories:fe,palettes:se,skins:Ne,hairColors:De}),ut=Object.keys(se);var ie=(e)=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function le(e){let r=(t)=>Number.parseInt(e.slice(t,t+2),16);return[r(1),r(3),r(5)]}function qe([e,r,t]){return`#${ie(e)}${ie(r)}${ie(t)}`}function A(e,r,t){let o=le(e),a=le(r);return qe([o[0]+(a[0]-o[0])*t,o[1]+(a[1]-o[1])*t,o[2]+(a[2]-o[2])*t])}var q=(e,r)=>A(e,"#ffffff",r),j=(e,r)=>A(e,"#1a1330",r);function he(e){let[r,t,o]=le(e).map((a)=>{let i=a/255;return i<=0.03928?i/12.92:((i+0.055)/1.055)**2.4});return 0.2126*r+0.7152*t+0.0722*o}function Fe(e,r){let[t,o]=[he(e),he(r)].sort((a,i)=>i-a);return(t+0.05)/(o+0.05)}var Xe={light:"#ffffff",dark:"#0d1018","modern-light":"#ffffff","modern-dark":"#0d1018","camelot-light":"#e3d2a9","camelot-dark":"#243557"};function ke(e,r){let t=Xe[r],o=r.endsWith("light")?"#1a1330":"#ffffff";for(let a=0;a<=20;a++){let i=a===0?e:A(e,o,a/20);if(Fe(i,t)>=3)return i}return o}class re extends Error{field;constructor(e,r){super(`${e}: ${r}`);this.name="CharacterError",this.field=e}}var Ge=/^#[0-9a-f]{6}$/;function Q(e,r){if(typeof e!=="string")throw new re(r,"must be a #rrggbb color");let t=e.toLowerCase();if(!Ge.test(t))throw new re(r,"must be a #rrggbb color");return t}function n(e,r,t){let o=e.find((a)=>a===r);if(o===void 0)throw new re(t,`must be one of ${e.map(String).join(", ")}`);return o}function V(e){if(typeof e!=="object"||e===null||Array.isArray(e))return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}function B(e){for(let[r,t]of Object.entries(F.palettes))if(t.primary===e.primary&&t.secondary===e.secondary&&t.trim===e.trim)return r;return}function W(e){let r=F.classes[e].preset;return{v:1,class:e,outfit:r.outfit,hat:r.hat,prop:r.prop,hair:r.hair,beard:r.beard,accessory:r.accessory,build:r.build,skin:r.skin,hairColor:r.hairColor,colors:{...r.colors},...r.palette?{palette:r.palette}:{}}}var Ye=new Set(["class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),ye=["primary","secondary","trim"];function Ue(e,r,t){if(r!==void 0){let a=n(Object.keys(F.palettes),r,"palette");e.colors={...F.palettes[a]}}if(t!==void 0){if(!V(t))throw new re("colors","must be an object");for(let i of Object.keys(t))if(!ye.includes(i))throw new re(`colors.${i}`,"is not a known color");let a={...e.colors};for(let i of ye)if(t[i]!==void 0)a[i]=Q(t[i],`colors.${i}`);e.colors=a}let o=B(e.colors);if(o)e.palette=o;else delete e.palette}function ci(e,r){if(!V(e))throw new re("character","must be an object");for(let a of Object.keys(e))if(!Ye.has(a))throw new re(a,"is not a known field");let t=e.class===void 0?r?.class:n(Be,e.class,"class");if(!t)throw new re("class","is required");let o=r&&r.class===t?{...r,colors:{...r.colors}}:W(t);if(e.outfit!==void 0)o.outfit=n(_,e.outfit,"outfit");if(e.hat!==void 0)o.hat=n(N,e.hat,"hat");if(e.prop!==void 0)o.prop=n(D,e.prop,"prop");if(e.hair!==void 0)o.hair=n(z,e.hair,"hair");if(e.beard!==void 0)o.beard=n(Y,e.beard,"beard");if(e.accessory!==void 0)o.accessory=n(U,e.accessory,"accessory");if(e.build!==void 0)o.build=n(P,e.build,"build");if(e.skin!==void 0)o.skin=n(K,e.skin,"skin");if(e.hairColor!==void 0)o.hairColor=Q(e.hairColor,"hairColor");return Ue(o,e.palette,e.colors),o}var be=new Set(["v","class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),Ke=[...be].filter((e)=>e!=="palette"),ne=["primary","secondary","trim"];function $e(e,r){if(!Object.hasOwn(e,r))throw new re(r,"is required")}function Mr(e){if(!V(e))throw new re("character","must be an object");for(let a of Object.keys(e))if(!be.has(a))throw new re(a,"is not a known field");for(let a of Ke)$e(e,a);if(e.v!==1)throw new re("v","must be 1");let r=e.colors;if(!V(r))throw new re("colors","must be an object");for(let a of Object.keys(r))if(!ne.includes(a))throw new re(`colors.${a}`,"is not a known color");for(let a of ne)$e(r,a);let t={primary:Q(r.primary,"colors.primary"),secondary:Q(r.secondary,"colors.secondary"),trim:Q(r.trim,"colors.trim")},o=B(t);if(e.palette!==void 0){if(n(Object.keys(F.palettes),e.palette,"palette")!==o)throw new re("palette","does not match the colors")}return{v:1,class:n(Be,e.class,"class"),outfit:n(_,e.outfit,"outfit"),hat:n(N,e.hat,"hat"),prop:n(D,e.prop,"prop"),hair:n(z,e.hair,"hair"),beard:n(Y,e.beard,"beard"),accessory:n(U,e.accessory,"accessory"),build:n(P,e.build,"build"),skin:n(K,e.skin,"skin"),hairColor:Q(e.hairColor,"hairColor"),colors:t,...o?{palette:o}:{}}}function ue(e,r){try{return e()}catch(t){if(t instanceof re)return r;throw t}}function Hs(e){if(!V(e))return;let r=ue(()=>n(Be,e.class,"class"),void 0);if(!r)return;let t=W(r),o=(i,l)=>{let p=Symbol("none"),c=ue(i,p);if(c!==p)l(c)};if(o(()=>n(_,e.outfit,"outfit"),(i)=>{t.outfit=i}),o(()=>n(N,e.hat,"hat"),(i)=>{t.hat=i}),o(()=>n(D,e.prop,"prop"),(i)=>{t.prop=i}),o(()=>n(z,e.hair,"hair"),(i)=>{t.hair=i}),o(()=>n(Y,e.beard,"beard"),(i)=>{t.beard=i}),o(()=>n(U,e.accessory,"accessory"),(i)=>{t.accessory=i}),o(()=>n(P,e.build,"build"),(i)=>{t.build=i}),o(()=>n(K,e.skin,"skin"),(i)=>{t.skin=i}),o(()=>Q(e.hairColor,"hairColor"),(i)=>{t.hairColor=i}),V(e.colors)){let i=e.colors;for(let l of ne)o(()=>Q(i[l],`colors.${l}`),(p)=>{t.colors[l]=p})}let a=B(t.colors);if(a)t.palette=a;else delete t.palette;return t}var We={neutral:{eye:"open",look:[0,0],bl:[0,0],br:[0,0],mouth:"smile",fx:[]},happy:{eye:"sparkle",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["blush"]},thinking:{eye:"open",look:[2.2,-2.4],bl:[-0.5,0],br:[-4,-8],mouth:"flatR",fx:["dots"]},concerned:{eye:"open",look:[0,0.6],bl:[-1,-13],br:[-1,-13],mouth:"wobble",fx:[]},apologetic:{eye:"soft",look:[0,0],bl:[-1,-20],br:[-1,-20],mouth:"wobble",fx:["sweat","blush"]},surprised:{eye:"wide",look:[0,0],bl:[-4,-4],br:[-4,4],mouth:"o",fx:["burst"]},proud:{eye:"arc",look:[0,0],bl:[-3,0],br:[-3,0],mouth:"smirk",fx:["sparkle"]},amused:{eye:"xd",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["tear"]},curious:{eye:"open",look:[2.6,-0.4],bl:[-4,-6],br:[0,0],mouth:"tilt",fx:[],big:1},sympathetic:{eye:"soft",look:[0,1],bl:[-1,-10],br:[-1,-10],mouth:"smileS",fx:["blush"]},playful:{eye:"wink",look:[0,0],bl:[-3,-2],br:[1,0],mouth:"tongue",fx:["blush"]},determined:{eye:"narrow",look:[0,0],bl:[1,15],br:[1,15],mouth:"firm",fx:[]},sleepy:{eye:"closed",look:[0,0],bl:[2,6],br:[2,6],mouth:"yawn",fx:[]}},s=(e)=>+e.toFixed(2),oe={ex:[39,61],ey:52,rx:5.2,ry:6.4,sw:2.5,msw:2.2,bl:8.6,bw:2.2,bdy:-9.8,mx:50,my:64,ms:1,bx:6.5,by:8,br:4,fx:[76,40],fs:1,hw:28,by0:42},T={badge:[17,19],badgeR:9.5,orbit:[50,50,45],zz:[73,28]},J={eyes:`50px ${oe.ey}px`,badge:`${T.badge[0]}px ${T.badge[1]}px`,orbit:`${T.orbit[0]}px ${T.orbit[1]}px`,character:"50px 94px"},v="#2b2440";function Je(e,r,t){let{rx:o,ry:a,sw:i}=oe,l=(c=1)=>`<ellipse rx="${s(o*c)}" ry="${s(a*c)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.36)}" r="${s(o*0.4)}" fill="#fff"/><circle cx="${s(o*0.38)}" cy="${s(a*0.36)}" r="${s(o*0.18)}" fill="#fff"/>`,p=`<path d="M${s(-o*1.05)} ${s(a*0.35)}Q0 ${s(-a*1.15)} ${s(o*1.05)} ${s(a*0.35)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;switch(e){case"open":return l();case"sparkle":return`${l(1.1)}<circle cx="${s(-o*0.1)}" cy="${s(a*0.5)}" r="${s(o*0.14)}" fill="#fff" opacity=".8"/>`;case"wide":return`<circle r="${s(a*1.12)}" fill="#fff" stroke="${t}" stroke-width="${s(i*0.7)}"/><circle r="${s(a*0.5)}" fill="${t}"/>`;case"arc":return p;case"closed":return`<path d="M${s(-o)} ${s(-a*0.1)}Q0 ${s(a*0.85)} ${s(o)} ${s(-a*0.1)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;case"soft":return`<path d="M${s(-o)} ${s(-a*0.25)}H${s(o)}A${s(o)} ${s(a*1.05)} 0 0 1 ${s(-o)} ${s(-a*0.25)}Z" fill="${t}"/><circle cx="${s(-o*0.25)}" cy="${s(a*0.25)}" r="${s(o*0.34)}" fill="#fff"/>`;case"narrow":return`<ellipse rx="${s(o*0.98)}" ry="${s(a*0.6)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.15)}" r="${s(o*0.26)}" fill="#fff"/>`;case"xd":{let c=r?-1:1;return`<path d="M${s(-c*o*0.85)} ${s(-a*0.75)}L${s(c*o*0.6)} 0L${s(-c*o*0.85)} ${s(a*0.75)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round" stroke-linejoin="round"/>`}case"wink":return r?p:l()}}function ve(e,r){let t=`fill="none" stroke="${r}" stroke-width="${oe.msw}" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"smile":return`<path d="M-6 0Q0 5 6 0" ${t}/>`;case"smileS":return`<path d="M-4.2 0.4Q0 3.8 4.2 0.4" ${t}/>`;case"grin":return`<path d="M-7 -1Q0 3 7 -1Q5.5 8 0 8Q-5.5 8 -7 -1Z" fill="${r}"/><ellipse cy="6.3" rx="2.9" ry="1.5" fill="#ef7b8a"/>`;case"o":return`<ellipse cy="3" rx="2.9" ry="3.5" fill="${r}"/>`;case"flatR":return`<path d="M-3.5 2.4L4.5 0.4" ${t}/>`;case"firm":return`<path d="M-5 1.2H4.2L5.6 -0.4" ${t}/>`;case"wobble":return`<path d="M-6 3.2q1.5 -3 3 0t3 0t3 0t3 0" ${t}/>`;case"smirk":return`<path d="M-6 2.4Q0 4 6.4 -1.6" ${t}/>`;case"tongue":return`<path d="M-6.5 -0.5Q0 4.5 6.5 -0.5Z" fill="${r}"/><path d="M-2.6 2.2Q0 10 2.8 2.4Z" fill="#ef7b8a"/>`;case"yawn":return`<ellipse cy="3.4" rx="3.4" ry="4.2" fill="${r}"/><ellipse cy="5.6" rx="2" ry="1.4" fill="#ef7b8a"/>`;case"tilt":return`<ellipse cx="3" cy="2" rx="1.9" ry="2.4" fill="${r}"/>`}}var me=(e,r,t,o)=>`<path d="M${e} ${r-t}Q${e+t*0.22} ${r-t*0.22} ${e+t} ${r}Q${e+t*0.22} ${r+t*0.22} ${e} ${r+t}Q${e-t*0.22} ${r+t*0.22} ${e-t} ${r}Q${e-t*0.22} ${r-t*0.22} ${e} ${r-t}Z" fill="${o}"/>`,ge=(e,r,t,o)=>`<path d="M${e} ${r-3.6*t}Q${e+3*t} ${r+0.2*t} ${e} ${r+2.8*t}Q${e-3*t} ${r+0.2*t} ${e} ${r-3.6*t}Z" fill="${o}"/>`;function xe(e,r){let t=oe,o=We[r],[a,i]=o.look,l=(f,m)=>{let d=o.big&&!m;return`<g transform="translate(${s(f+a)} ${s(t.ey+i)})${d?" scale(1.12)":""}">${Je(o.eye,m,e.ink)}</g>`},p=`<g class="eyes">${l(t.ex[0],0)}${l(t.ex[1],1)}</g>`,c=(f,[m,d],g)=>`<path d="M${-t.bl/2} 0H${t.bl/2}" transform="translate(${f} ${s(t.ey+t.bdy+m)}) rotate(${g?-d:d})" stroke="${e.brow}" stroke-width="${t.bw}" stroke-linecap="round" fill="none"/>`,S=`<g class="brows">${c(t.ex[0],o.bl,0)}${c(t.ex[1],o.br,1)}</g>`,Z=`<g class="mouth" transform="translate(${t.mx} ${t.my}) scale(${t.ms})">${ve(o.mouth,e.ink)}</g>`,[x,L]=t.fx,M=(f)=>`<ellipse cx="${f}" cy="${t.ey+t.by}" rx="${t.br}" ry="${s(t.br*0.62)}" fill="#ff7a8e" opacity=".5"/>`,u={blush:M(t.ex[0]-t.bx)+M(t.ex[1]+t.bx),sweat:ge(x,L,t.fs,"#7fd0ff"),tear:ge(t.ex[1]+t.rx+1.5,t.ey+t.ry*0.9,t.fs*0.8,"#7fd0ff"),sparkle:me(x,L-1,4.4*t.fs,"#ffd84a")+me(x+5*t.fs,L+5*t.fs,2*t.fs,"#fff1a8"),dots:[1,1.5,2.1].map((f,m)=>`<circle cx="${s(x-1+m*4.2*t.fs)}" cy="${s(L-2-m*3.6*t.fs)}" r="${s(f*t.fs)}" fill="${e.dot}"/>`).join(""),burst:[-1,1].map((f)=>`<path d="M${50+f*(t.hw+1)} ${t.by0-3}l${f*4.5} -3M${50+f*(t.hw+2)} ${t.by0+3}l${f*5.5} 0M${50+f*(t.hw+1)} ${t.by0+9}l${f*4.5} 3" stroke="${e.dot}" stroke-width="1.7" stroke-linecap="round"/>`).join("")};return{eyes:p,brows:S,mouth:Z,fx:`<g class="fx">${o.fx.map((f)=>u[f]).join("")}</g>`}}function we(e,r,t){let[o,a]=T.badge,i=T.badgeR,l=i/8,p=(E,R,O)=>`<g class="ov ${E}"><circle cx="${o}" cy="${a}" r="${i}" fill="${R}" stroke="#fff" stroke-width="1.6"/>${O}</g>`,c=p("o-wait","#f2a81d",`<path d="M${o} ${a-4.2*l}V${a+0.6*l}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/><circle cx="${o}" cy="${s(a+3.6*l)}" r="${s(1.25*l)}" fill="#fff"/>`),S=p("o-done","#2fb36b",`<path d="M${s(o-3.6*l)} ${s(a+0.2*l)}L${s(o-1*l)} ${s(a+3*l)}L${s(o+3.8*l)} ${s(a-2.8*l)}" fill="none" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round" stroke-linejoin="round"/>`),Z=p("o-err","#e5484d",`<path d="M${s(o-3*l)} ${s(a-3*l)}L${s(o+3*l)} ${s(a+3*l)}M${s(o+3*l)} ${s(a-3*l)}L${s(o-3*l)} ${s(a+3*l)}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/>`),[x,L,M]=T.orbit,u=`<g class="ov o-think"><circle cx="${x}" cy="${s(L-M)}" r="3.3" fill="${e}" stroke="#fff" stroke-width="1.3"/></g>`,[f,m]=T.zz,d=(E,R,O,ee)=>`<path d="M${E} ${R}H${E+O}L${E} ${R+O*1.15}H${E+O}" fill="none" stroke="${r}" stroke-width="${ee}" stroke-linecap="round" stroke-linejoin="round"/>`,g=`<g class="ov o-zz">${d(f,m,7,2.2)}${d(f+8,m-9,5,1.8)}</g>`;return`<g class="fg">${t?{thinking:u,waiting:c,done:S,error:Z,sleepy:g}[t]??"":u+c+S+Z+g}</g>`}var Me={none:()=>({back:"",front:""}),short:(e)=>({back:"",front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),bob:(e)=>({back:`<path d="M19 46C17 66 23 77 33 77H67C77 77 83 66 81 46C78 26 22 26 19 46Z" fill="${e.hr}"/>`,front:`<path d="M23 50C22 28 78 28 77 50C68 38 58 36 50 41C42 36 32 38 23 50Z" fill="${e.hr}"/>`}),long:(e)=>({back:`<path d="M18 48C14 72 20 92 34 92H66C80 92 86 72 82 48C80 26 20 26 18 48Z" fill="${e.hr}"/>`,front:`<path d="M23 52C22 28 78 28 77 52C70 38 62 36 56 38Q44 44 36 46Q28 48 23 52Z" fill="${e.hr}"/>`}),bun:(e)=>({back:`<circle cx="50" cy="21" r="9.5" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),curly:(e)=>({back:"",front:`<g fill="${e.hr}"><circle cx="30" cy="38" r="9"/><circle cx="41" cy="30" r="9.5"/><circle cx="55" cy="29" r="9.5"/><circle cx="68" cy="35" r="9"/><circle cx="23" cy="50" r="6"/><circle cx="77" cy="50" r="6"/></g>`}),ponytail:(e)=>({back:`<path d="M70 40C92 42 94 66 82 76C86 62 80 54 68 52Z" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),braid:(e)=>({back:`<path d="M24 46C14 60 20 76 28 90L34 88C28 76 28 62 32 52Z" fill="${e.hr}"/><circle cx="28" cy="90" r="3.6" fill="${e.p}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`})},Ce={full:(e)=>`<path d="M23.4 47C22 59 36 59 50 59.4C64 59 78 59 76.6 47C81 66 66 88 50 91.5C34 88 19 66 23.4 47Z" fill="${e.hr}"/><path d="M50 62V88" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/><path d="M36 60Q50 66 64 60" fill="none" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/>`,mustache:(e)=>`<path d="M38 60C42 54 48 58 50 60C52 58 58 54 62 60C58 62 53 60 50 61.4C47 60 42 62 38 60Z" fill="${e.hr}"/>`,goatee:(e)=>`<path d="M44 68C46 66 54 66 56 68C56 76 52 78 50 78C48 78 44 76 44 68Z" fill="${e.hr}"/>`},Se={glasses:(e)=>`<g fill="none" stroke="${e.ink}" stroke-width="1.7"><circle cx="39" cy="52" r="8.4"/><circle cx="61" cy="52" r="8.4"/><path d="M47.4 51Q50 49 52.6 51M30.6 50L25 47M69.4 50L75 47"/></g><path d="M33 47L37 45M56 47L60 45" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".7"/>`,freckles:(e)=>`<g fill="${e.kd}"><circle cx="32.5" cy="60" r="1"/><circle cx="36" cy="62" r="1"/><circle cx="39.5" cy="60.4" r="1"/><circle cx="60.5" cy="60.4" r="1"/><circle cx="64" cy="62" r="1"/><circle cx="67.5" cy="60" r="1"/></g>`,scar:(e)=>`<path d="M64 44L70 57M62.4 51H67M65 47.6H69" stroke="${e.kd}" stroke-width="1.5" stroke-linecap="round" opacity=".85"/><path d="M64 44L70 57" stroke="#e9a0a0" stroke-width=".8" opacity=".7"/>`};var k=(e,r,t,o=4.8)=>`<circle cx="${r}" cy="${t}" r="${o}" fill="${e.k}"/>`,C=(e)=>`<path d="M31 94C29 79 35 71 50 71C65 71 71 79 69 94Z" fill="${e}"/>`,w=(e)=>`<ellipse cx="28.5" cy="80" rx="5.2" ry="8" transform="rotate(14 28.5 80)" fill="${e}"/><ellipse cx="71.5" cy="80" rx="5.2" ry="8" transform="rotate(-14 71.5 80)" fill="${e}"/>`,X=(e,r,t)=>`<path d="M${e} ${r-4}l1.5 3.2 3.5.4-2.6 2.4.7 3.5-3.1-1.8-3.1 1.8.7-3.5-2.6-2.4 3.5-.4z" fill="${t}"/>`,Le={robe:(e)=>w(e.p)+C(e.p)+`<path d="M30 89H70L69.6 94H30.4Z" fill="${e.t}"/><path d="M31 82.6Q50 87 69 82.6" fill="none" stroke="#8b5a33" stroke-width="2.6"/><path d="M50 83.6V92" stroke="#8b5a33" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="93" r="1.8" fill="${e.t}"/>`+X(50,77,e.t)+k(e,27,88,4.4),scholar:(e)=>w(e.pd)+C(e.pd)+`<path d="M39 71.5L50 85L61 71.5Z" fill="${e.s}"/><path d="M50 85V94" stroke="${e.t}" stroke-width="1.6"/><path d="M33 88H67" stroke="${e.p}" stroke-width="2.4" opacity=".7"/>`,armor:(e)=>w("#c7cfdd")+C("#c7cfdd")+`<g fill="none" stroke="#9aa5ba" stroke-width=".9" stroke-linecap="round" opacity=".8"><path d="M24 79q2 1.6 4 0t4 0M23.4 84q2 1.6 4 0t4 0M68 79q2 1.6 4 0t4 0M68.6 84q2 1.6 4 0t4 0"/></g><ellipse cx="50" cy="72.6" rx="12.6" ry="3.6" fill="#9aa5ba"/><path d="M37 73L63 73L66.4 94H33.6Z" fill="${e.p}"/><path d="M36 73.4L38.6 73.4L37 76ZM64 73.4L61.4 73.4L63 76Z" fill="#9aa5ba"/><path d="M33.8 89H66.2L66.4 94H33.6Z" fill="${e.t}"/><path d="M34.6 83.6H65.4" stroke="#8b5a33" stroke-width="2.4"/><rect x="47" y="81.8" width="6" height="3.6" rx="1" fill="${e.t}"/><path d="M50 74.6V80M47.4 77H52.6" stroke="${e.t}" stroke-width="2.2" stroke-linecap="round"/><circle cx="31" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="29.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/><circle cx="69" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="67.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/>`,plate:(e)=>w("#e6eaf3")+C("#e6eaf3")+`<path d="M44 71H56L58 94H42Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M50 74V92M45 81H55" stroke="${e.p}" stroke-width="3"/><circle cx="31" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="69" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="29.5" cy="73.5" r="2" fill="#fff" opacity=".6"/><circle cx="67.5" cy="73.5" r="2" fill="#fff" opacity=".6"/>`,apron:(e)=>w(e.s)+C(e.s)+'<path d="M38 71H62L66 94H34Z" fill="#a6713f"/><path d="M38 71L42 75M62 71L58 75" stroke="#7a4f27" stroke-width="2"/><rect x="43.5" y="82" width="13" height="8" rx="2" fill="#8d5c30"/><rect x="24" y="85" width="9" height="3" rx="1.5" fill="#8d5c30"/>',chef:(e)=>w("#f6f1e4")+C("#f6f1e4")+`<path d="M33 89H67L68.2 94H31.8Z" fill="${e.s}"/><path d="M42 71.6L50 80L58 71.6" fill="none" stroke="#d6cdb4" stroke-width="1.6"/><path d="M46 74.6L50 78.4L54 74.6" fill="none" stroke="${e.p}" stroke-width="1.4"/><path d="M33 83.4Q50 88 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.6"/><path d="M50 84.4V91.6" stroke="#a6713f" stroke-width="1.8" stroke-linecap="round"/><path d="M24.5 86.4h7M68.5 86.4h7" stroke="#d6cdb4" stroke-width="1.4"/>`,cloak:(e)=>`<path d="M26 79Q50 66 74 79L72 94H28Z" fill="${e.pd}"/>`+w(e.p)+C(e.p)+`<path d="M32 87H68" stroke="#8b5a33" stroke-width="3.2"/><rect x="46" y="84.8" width="8" height="4.4" rx="1.4" fill="${e.t}"/><circle cx="50" cy="72.5" r="2.6" fill="${e.t}"/>`,tunic:(e)=>w(e.p)+C(e.p)+`<path d="M31 83L69 76V82L31 89Z" fill="${e.s}"/><circle cx="44" cy="90" r="1.8" fill="${e.t}"/><circle cx="56" cy="88" r="1.8" fill="${e.t}"/><path d="M37 71.5q3 5 6.3 0t6.4 0t6.3 0t6.3 0V75H37Z" fill="${e.s}"/>`,coat:(e)=>w(e.pd)+C(e.pd)+`<path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M37 71.6Q50 78 63 71.6L64 74.6Q50 81 36 74.6Z" fill="${e.s}"/><circle cx="50" cy="80.4" r="1.7" fill="${e.t}"/><circle cx="50" cy="85.8" r="1.7" fill="${e.t}"/><path d="M32 89.6Q50 93.6 68 89.6" fill="none" stroke="${e.t}" stroke-width="2"/><path d="M24.5 87.4h7M68.5 87.4h7" stroke="${e.t}" stroke-width="1.8"/>`,overalls:(e)=>w("#efe6cf")+C(e.p)+`<path d="M40 71.6L50 76L60 71.6V94H40Z" fill="#efe6cf"/><path d="M50 76V94" stroke="${e.pd}" stroke-width="1" opacity=".6"/><path d="M46.4 78.4h7.2M46.4 83h7.2M46.4 87.6h7.2" stroke="${e.pd}" stroke-width="1.2" stroke-linecap="round"/><path d="M31.4 89Q50 93 68.6 89V94H31.4Z" fill="${e.pd}"/><path d="M33 83.4Q50 87.6 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.4"/><rect x="46.6" y="81.4" width="6.8" height="4.2" rx="1" fill="${e.t}"/>`,vest:(e)=>w(e.s)+C(e.p)+`<path d="M38 71.5L50 94H36ZM62 71.5L50 94H64Z" fill="${e.s}" opacity="0"/><path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M36.6 73.6Q50 80 63.4 73.6" fill="none" stroke="${e.t}" stroke-width="1.4"/><circle cx="50" cy="80.6" r="1.6" fill="${e.t}"/><circle cx="50" cy="86.4" r="1.6" fill="${e.t}"/><path d="M38 72Q35 84 50 90Q65 84 62 72" fill="none" stroke="${e.t}" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="90.4" r="2.4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,habit:(e)=>w(e.p)+`<path d="M29 94C27 78 35 71 50 71C65 71 73 78 71 94Z" fill="${e.p}"/><path d="M40 71.5L50 82L60 71.5" fill="none" stroke="${e.s}" stroke-width="3.2" stroke-linejoin="round"/><path d="M29 87H71" stroke="${e.s}" stroke-width="3"/><circle cx="50" cy="87" r="2" fill="${e.t}"/>`,surplice:(e)=>w(e.s)+C(e.s)+`<path d="M46 74H54V79H59V85H54V93H46V85H41V79H46Z" fill="${e.p}"/><path d="M31 90H69" stroke="${e.sd}" stroke-width="2"/>`,motley:(e)=>w(e.p)+C(e.p)+`<path d="M50 71C65 71 71 79 69 94H50Z" fill="${e.s}"/><path d="M71.5 72A8 8 0 0 1 71.5 88Z" fill="${e.s}" opacity="0"/><path d="M41 82L50 90L59 82L50 74Z" fill="${e.t}" opacity=".9"/><path d="M36 71.5q3 5 6.5 0t7.5 0t7.5 0t6.5 0V75H36Z" fill="${e.t}"/>`,sailor:(e)=>w(e.s)+C(e.s)+`<path d="M40 71.6L50 79L60 71.6" fill="none" stroke="${e.pd}" stroke-width="2.2" stroke-linejoin="round"/><path d="M45 73.6L55 73.6M46.4 76.4L53.6 76.4" stroke="${e.pd}" stroke-width="1.1" stroke-linecap="round"/><path d="M31 83.4Q50 88 69 83.4" fill="none" stroke="#d8c38c" stroke-width="3" stroke-linecap="round" stroke-dasharray="3.4 1.6"/><path d="M50 85V92" stroke="#d8c38c" stroke-width="2.2" stroke-linecap="round"/><path d="M31 89.6Q50 93.6 69 89.6V94H31Z" fill="${e.p}"/><rect x="55.6" y="75.6" width="6" height="5.4" rx="1" fill="${e.p}" opacity=".85"/>`};var ce="#c7cfdd",G="#9aa5ba",Ie={none:()=>"",wizard:(e)=>`<path d="M30 31C32 20 42 11 60 3C57 13 62 22 70 31Z" fill="${e.p}"/><path d="M30 31C32 20 42 11 60 3" fill="none" stroke="#fff" stroke-width="1.6" opacity=".35"/><ellipse cx="50" cy="30" rx="37" ry="7.6" fill="${e.pd}"/><path d="M30.6 27.6Q50 33 69.4 27.6L70 31Q50 36.5 30 31Z" fill="${e.t}"/>`+X(49,16,e.t),helm:(e)=>`<path d="M50 24C42 6 66 -1 80 12C68 9 60 15 57 25Z" fill="${e.p}"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="${ce}"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".55"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><circle cx="50" cy="26.5" r="3.4" fill="${e.t}"/>`,mortar:(e)=>`<path d="M30 29L33 13Q50 8 67 13L70 29Q50 34 30 29Z" fill="${e.p}"/><path d="M41 10.6L39 30.4M50 9.2V32M59 10.6L61 30.4" fill="none" stroke="${e.pd}" stroke-width="2" stroke-linecap="round"/><path d="M27.6 29.4Q50 36 72.4 29.4V36.6Q50 43.4 27.6 36.6Z" fill="${e.pd}"/><path d="M28 33Q50 39.6 72 33" fill="none" stroke="${e.t}" stroke-width="1.6" opacity=".9"/><circle cx="50" cy="8.2" r="3.2" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,goggcap:(e)=>`<path d="M22.4 42Q20.4 53 24.4 61Q29 59.6 30 52L30.4 42Z" fill="${e.pd}"/><path d="M77.6 42Q79.6 53 75.6 61Q71 59.6 70 52L69.6 42Z" fill="${e.pd}"/><path d="M24.4 61l-1 4.4M75.6 61l1 4.4" stroke="${e.t}" stroke-width="1.4" stroke-linecap="round"/><path d="M23 42C22 20 78 20 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M50 25V34.6" fill="none" stroke="${e.pd}" stroke-width="1.6" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pd}"/><circle cx="36.5" cy="37.8" r="1.4" fill="${e.t}"/><circle cx="50" cy="36.4" r="1.4" fill="${e.t}"/><circle cx="63.5" cy="37.8" r="1.4" fill="${e.t}"/>`,hood:(e)=>`<path d="M21 53C20 26 80 26 79 53C76 40 66 33.5 50 33.5C34 33.5 24 40 21 53Z" fill="${e.p}"/><path d="M21 53C20 26 80 26 79 53" fill="none" stroke="${e.pd}" stroke-width="2"/><path d="M70 33Q90 24 93 8Q76 12 66 30Z" fill="${e.t}"/><path d="M72 29Q84 20 91 10" fill="none" stroke="${e.td}" stroke-width="1.2"/>`,beret:(e)=>`<path d="M27 36C20 14 56 6 70 16C84 26 80 36 74 40Q50 33 27 36Z" fill="${e.p}"/><path d="M60 12C70 10 76 14 74 18" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round"/><path d="M22 38C22 30 78 30 78 38C78 47 66 43 50 43C34 43 22 47 22 38Z" fill="${e.pd}"/><path d="M26 38.4Q50 33 74 38.4" fill="none" stroke="${e.t}" stroke-width="1.6" stroke-dasharray="2.6 2.2" stroke-linecap="round"/><path d="M71 17C88 22 93 42 88 66L83 64C86 46 80 34 70 26Z" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/><circle cx="85.4" cy="67" r="2.6" fill="${e.t}"/>`,goggles:(e)=>`<path d="M23 42C22 26 40 15 55 12C62 9 66 13 61 17C73 23 78 32 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M36 30Q50 21 62 24" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pl}"/><circle cx="50" cy="36.6" r="1.8" fill="${e.t}"/>`,coif:(e)=>`<path d="M19 55C17 22 83 22 81 55C77 38 65 32 50 32C35 32 23 38 19 55Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M24 44Q50 30 76 44" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M48.4 18H51.6V23H56.4V26H51.6V32H48.4V26H43.6V23H48.4Z" fill="${e.p}" transform="translate(0 4)"/>`,tallcap:(e)=>`<path d="M31 38L36 12Q50 4 64 12L69 38Z" fill="${e.pd}"/><path d="M40 12Q50 8 60 12" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".3"/><path d="M28 39C28 32 72 32 72 39C72 45 28 45 28 39Z" fill="${e.pl}" stroke="${e.p}" stroke-width="1.2"/><path d="M33 38l2.4 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2" fill="none" stroke="${e.p}" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" opacity=".7"/><circle cx="62" cy="35" r="2.8" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M62 33Q74 20 80 8Q77 24 65 36Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/>`,tricorn:(e)=>`<path d="M7 38Q50 24 93 38Q50 49 7 38Z" fill="${e.pd}"/><path d="M28 37C26 14 74 14 72 37Q50 31 28 37Z" fill="${e.p}"/><path d="M27.4 34.6Q50 41 72.6 34.6" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M50 36C41 36 40 26 42 23.6Q46 21 50 20.4Q54 21 58 23.6C60 26 59 36 50 36Z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M50 35V21M45.6 34L43.6 25M54.4 34L56.4 25" fill="none" stroke="${e.td}" stroke-width="1"/>`,turban:(e)=>`<path d="M21 46C19 18 81 18 79 46C70 34 30 34 21 46Z" fill="${e.pl}"/><path d="M26 38Q50 22 74 38M23 44Q50 28 77 44" fill="none" stroke="${e.p}" stroke-width="2.4"/><path d="M50 22l2.6 4 4.6.6-3.4 3.2.9 4.6-4.7-2.4-4.7 2.4.9-4.6-3.4-3.2 4.6-.6z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,softcap:(e)=>`<path d="M25 38C14 24 28 12 50 12C72 12 86 24 75 38Z" fill="${e.pl}"/><path d="M33 22Q50 14 67 22" fill="none" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round" opacity=".55"/><path d="M22 37Q50 27 78 37V44Q50 34 22 44Z" fill="${e.p}"/><path d="M25 38.6Q50 29.6 75 38.6" fill="none" stroke="${e.t}" stroke-width="1.4" stroke-dasharray="2.4 2" stroke-linecap="round"/><circle cx="50" cy="12.4" r="2.4" fill="${e.p}"/>`,hardhat:(e)=>`<path d="M25 40C23 10 77 10 75 40Z" fill="${ce}" stroke="${G}" stroke-width="1.4"/><path d="M50 12V37" fill="none" stroke="${G}" stroke-width="2.4"/><path d="M30 25Q36 17 44 15" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" opacity=".7"/><rect x="21.6" y="34.4" width="56.8" height="6" rx="3" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="34" cy="37.4" r="1.3" fill="${G}"/><circle cx="50" cy="37.4" r="1.3" fill="${G}"/><circle cx="66" cy="37.4" r="1.3" fill="${G}"/>`,wreath:(e)=>`<g fill="#4fae6c"><ellipse cx="28" cy="40" rx="6" ry="3.2" transform="rotate(60 28 40)"/><ellipse cx="31" cy="31" rx="6" ry="3.2" transform="rotate(30 31 31)"/><ellipse cx="40" cy="26" rx="6" ry="3.2" transform="rotate(8 40 26)"/><ellipse cx="50" cy="24" rx="6" ry="3.2"/><ellipse cx="60" cy="26" rx="6" ry="3.2" transform="rotate(-8 60 26)"/><ellipse cx="69" cy="31" rx="6" ry="3.2" transform="rotate(-30 69 31)"/><ellipse cx="72" cy="40" rx="6" ry="3.2" transform="rotate(-60 72 40)"/></g><g fill="#2f8a50"><ellipse cx="36" cy="28" rx="5" ry="2.6" transform="rotate(-20 36 28)"/><ellipse cx="64" cy="28" rx="5" ry="2.6" transform="rotate(20 64 28)"/></g><circle cx="50" cy="24" r="2.6" fill="${e.p}"/><circle cx="31" cy="32" r="2.2" fill="${e.t}"/><circle cx="69" cy="32" r="2.2" fill="${e.t}"/>`,toque:(e)=>`<path d="M26 40C22 26 34 17 50 17C66 17 78 26 74 40Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M36 22Q50 16 64 22M31 31Q50 24 69 31" fill="none" stroke="#e1e5f0" stroke-width="1.4" stroke-linecap="round"/><path d="M23 38Q50 29 77 38Q79 44 73 44Q50 36 27 44Q21 44 23 38Z" fill="#f3f5fb" stroke="#d9deeb" stroke-width="1.2"/><path d="M74 38Q86 38 88 48M75 41Q82 50 79 58" fill="none" stroke="#d9deeb" stroke-width="2.2" stroke-linecap="round"/><circle cx="50" cy="17.4" r="1.8" fill="${e.p}"/>`,kettle:(e)=>`<path d="M28 33C28 8 72 8 72 33Z" fill="${ce}"/><ellipse cx="50" cy="33" rx="38" ry="6.4" fill="${G}"/><path d="M34 22Q50 12 66 22" fill="none" stroke="#fff" stroke-width="2" opacity=".5"/><circle cx="50" cy="17" r="2.4" fill="${e.t}"/><path d="M28 27H72" stroke="${e.p}" stroke-width="3"/>`,cavalier:(e)=>`<path d="M63 18Q82 2 94 6Q91 26 72 30Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.4"/><path d="M66 21Q80 10 92 7" fill="none" stroke="${e.t}" stroke-width="1"/><path d="M31 36C28 12 72 12 69 36Z" fill="${e.p}"/><path d="M21 38Q23 29 31 33Q50 40 69 33Q77 29 79 38Q50 47 21 38Z" fill="${e.pd}"/><path d="M30.4 32.4Q50 38.4 69.6 32.4" fill="none" stroke="${e.t}" stroke-width="2.2"/><circle cx="62" cy="33" r="2.6" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,cowl:(e)=>`<path d="M19 54C16 30 38 14 58 3C58 18 82 32 81 54C75 41 63 34 50 34C37 34 25 41 19 54Z" fill="${e.pd}"/><path d="M26 44Q50 30 74 44" fill="none" stroke="${e.ink}" stroke-width="2" opacity=".3"/>`,headband:(e)=>`<path d="M22 39Q50 29 78 39V44.5Q50 34.5 22 44.5Z" fill="${e.p}"/><path d="M76 40Q86 38 90 46M76 42Q88 46 88 56" fill="none" stroke="${e.p}" stroke-width="3.2" stroke-linecap="round"/><circle cx="50" cy="31.5" r="2.4" fill="${e.t}"/>`,fcap:(e)=>`<path d="M28 37C27 15 71 11 73 36Z" fill="${e.pd}"/><path d="M60 24Q78 22 94 8Q87 29 70 35Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.2"/><path d="M62 27Q79 22 92 10" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M14 33Q50 26 86 33Q76 42 50 41Q24 42 14 33Z" fill="${e.p}"/><path d="M28 33Q50 38 72 33" fill="none" stroke="${e.t}" stroke-width="1.8"/>`,sailor:(e)=>`<path d="M9 37Q50 26 91 37Q50 49 9 37Z" fill="#e8d194" stroke="#c9a867" stroke-width="1.2"/><path d="M29 36C27 15 73 15 71 36Q50 31 29 36Z" fill="#f2e0a8"/><path d="M29.4 33.2Q50 38.4 70.6 33.2" fill="none" stroke="${e.p}" stroke-width="3.4"/><path d="M36 22Q50 17 64 22M33 28Q50 22 67 28" fill="none" stroke="#d9c07a" stroke-width="1.2" stroke-linecap="round"/><path d="M14 37.6Q50 44 86 37.6" fill="none" stroke="#c9a867" stroke-width="1" opacity=".7"/>`,jester:(e)=>`<path d="M26 40C14 30 12 14 18 6C28 16 32 26 42 33Z" fill="${e.p}"/><path d="M74 40C86 30 88 14 82 6C72 16 68 26 58 33Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/><path d="M26 40C26 28 74 28 74 40Q50 34 26 40Z" fill="${e.pd}"/><circle cx="18" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="82" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="50" cy="31" r="3.4" fill="${e.t}"/>`,winghelm:(e)=>`<path d="M24 36Q6 31 3 14Q18 14 30 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M76 36Q94 31 97 14Q82 14 70 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="#e6eaf3"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".7"/><path d="M50 26l2.4 4.4 4.8.8-3.4 3.4.8 4.8-4.6-2.2-4.6 2.2.8-4.8-3.4-3.4 4.8-.8z" fill="${e.t}" transform="translate(0 -1)"/>`};var I="#8b5a33",et="#a6713f",y=(e)=>e,Qe={staff:"73px 82px",shield:"27px 82px",scroll:"76px 76px",hammer:"79px 84px",bow:"78px 70px",lute:"75px 70px",flask:"73px 66px",quill:"72px 82px",tome:"78px 76px",bell:"76px 62px",keys:"78px 62px",map:"77px 58px",telescope:"76px 74px",wrench:"78px 86px",spade:"76px 60px",ladle:"78px 78px",lantern:"76px 62px",seal:"76px 66px",dagger:"78px 86px",beads:"78px 62px",bird:"78px 76px",anchor:"76px 76px",marotte:"76px 62px",sword:"76px 82px"},He={staff:(e)=>y(`<circle class="glow" cx="73" cy="15" r="13" fill="${e.gl}"/><path d="M73 15V92" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><circle cx="73" cy="14" r="6.4" fill="${e.gl}" stroke="${e.t}" stroke-width="2"/><circle cx="71" cy="12" r="1.8" fill="#fff" opacity=".85"/>${k(e,73,82)}`),shield:(e)=>y(`<path class="glow" d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="none" stroke="${e.gl}" stroke-width="6"/><path d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="${e.s}" stroke="${e.t}" stroke-width="2"/><path d="M17 70H27V93.5Q17 89 17 80Z" fill="${e.p}"/>`+X(27,79,e.t)),scroll:(e)=>y(`<g transform="rotate(-16 76 74)"><path class="glow" d="M76 38l2.4 5.4 5.7.6-4.3 3.9 1.2 5.7-5-2.9-5 2.9 1.2-5.7-4.3-3.9 5.7-.6z" fill="${e.t}"/><rect x="69.5" y="56" width="13" height="30" rx="2" fill="#fbefd0" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="56" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="86" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><path d="M72.5 63H79.5M72.5 68H79.5M72.5 73H77" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/></g>${k(e,75.5,74,4.6)}`),hammer:(e)=>y(`<path class="glow" d="M89 49l1.8 4 4.2.4-3.2 2.9.9 4.2-3.7-2.2-3.7 2.2.9-4.2-3.2-2.9 4.2-.4z" fill="${e.t}"/><path d="M78 95L82 70" stroke="${I}" stroke-width="4.4" stroke-linecap="round"/><g transform="rotate(8 81 66)"><rect x="68" y="59" width="26" height="14" rx="3.4" fill="#aab3c5" stroke="#7d879b" stroke-width="1.4"/><rect x="68" y="59" width="7" height="14" rx="3" fill="#8b95a9"/><path d="M73 61.4H90" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".6"/></g>${k(e,79.4,85)}`),bow:(e)=>y(`<circle class="glow" cx="94" cy="70" r="8" fill="${e.gl}"/><path d="M74 40Q98 68 74 96" fill="none" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><path d="M74 40V96" stroke="#9aa5ba" stroke-width="1" opacity=".9"/><path d="M66 70H94" stroke="${I}" stroke-width="1.8" stroke-linecap="round"/><path d="M93 66.5L99 70L93 73.5Z" fill="${e.t}"/><path d="M66 70l-3.4-3M66 70l-3.4 3" stroke="${e.p}" stroke-width="1.8" stroke-linecap="round"/>${k(e,78,70)}`),lute:(e)=>y(`<g transform="rotate(18 76 80)"><path d="M74.2 70V44" stroke="${I}" stroke-width="3.8"/><rect x="72.6" y="38" width="6.4" height="8" rx="1.6" fill="#6d4426"/><ellipse cx="76" cy="82" rx="11.4" ry="12.6" fill="#cd8b4a" stroke="#9a5f2c" stroke-width="1.6"/><circle cx="76" cy="82" r="3.6" fill="${e.ink}"/><path d="M74.8 46V88M77.2 46V88" stroke="#fff" stroke-width=".8" opacity=".85"/></g><g class="glow"><circle cx="89" cy="54" r="2.8" fill="${e.gl}"/><path d="M91.5 54V41q4.2 1 4.4 6" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g>${k(e,75,68,4.6)}`),flask:(e)=>y(`<circle class="glow" cx="73.5" cy="78" r="17" fill="${e.gl}"/><rect x="70" y="56" width="7" height="12" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.4"/><rect x="69" y="51.5" width="9" height="5.6" rx="1.6" fill="#b7773f"/><circle cx="73.5" cy="78" r="12.4" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.6"/><path d="M61.4 77Q73.5 72.6 85.6 77A12.2 12.2 0 0 1 61.4 77Z" fill="${e.gl}"/><circle cx="70" cy="80" r="1.8" fill="#fff" opacity=".8"/><circle cx="76.5" cy="83.5" r="1.2" fill="#fff" opacity=".8"/>${k(e,73.5,64)}`),quill:(e)=>y(`<circle class="glow" cx="92" cy="30" r="8" fill="${e.t}"/><path d="M70 88C70 62 80 40 92 30C95 50 86 72 70 88Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.3"/><path d="M70 88Q80 58 92 30" fill="none" stroke="${e.td}" stroke-width="1.5"/><path d="M80 52Q86 54 89 48M77 62Q84 63 88 57" fill="none" stroke="${e.sd}" stroke-width="1.3"/><path d="M70 88l-3 5" stroke="${e.ink}" stroke-width="2" stroke-linecap="round"/>${k(e,72.4,80)}`),tome:(e)=>y(`<circle class="glow" cx="80" cy="60" r="9" fill="${e.t}"/><g transform="rotate(-12 78 76)"><rect x="65" y="63" width="25" height="24" rx="2.4" fill="${e.pd}" stroke="${e.ink}" stroke-width="1" stroke-opacity=".3"/><rect x="67.4" y="65.4" width="20" height="19" rx="1.4" fill="none" stroke="${e.t}" stroke-width="1.2"/><path d="M90 66V84" stroke="#f8efd6" stroke-width="3"/><rect x="72" y="71" width="9" height="7" rx="1.4" fill="${e.t}"/></g>${k(e,66,80,4.4)}`),bell:(e)=>y(`<g class="glow"><path d="M90 66q4 6 0 12M94 62q7 10 0 20" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g><path d="M66 85C70 83 69 68 76 66C83 68 82 83 86 85Z" fill="${e.t}" stroke="${e.td}" stroke-width="1.4" stroke-linejoin="round"/><circle cx="76" cy="87.6" r="2.4" fill="${e.td}"/><rect x="73.4" y="60" width="5.2" height="6.4" rx="1.6" fill="${I}"/>${k(e,76,60,4.4)}`),keys:(e)=>y(`<circle class="glow" cx="79" cy="80" r="14" fill="${e.t}"/><circle cx="78" cy="62" r="5.6" fill="none" stroke="${e.t}" stroke-width="2.6"/><path d="M82 66L90 88M90 88L93 87M87 82L90 81" fill="none" stroke="${e.t}" stroke-width="2.6" stroke-linecap="round"/><path d="M74 66L70 84M70 84L73 85M71 78L74 78" fill="none" stroke="${e.td}" stroke-width="2.6" stroke-linecap="round"/>${k(e,78,62,4.4)}`),map:(e)=>y(`<circle class="glow" cx="81" cy="76" r="8" fill="${e.p}"/><rect x="66" y="58" width="24" height="29" rx="2" fill="#f3e2b5" stroke="#c9a867" stroke-width="1.3"/><path d="M70 66Q78 62 82 70T86 80M70 82L74 76" fill="none" stroke="#8ec7d8" stroke-width="2" stroke-linecap="round" stroke-dasharray="3 2.4"/><path d="M81 71.4l1.4 3.6 3.6 1.4-3.6 1.4-1.4 3.6-1.4-3.6-3.6-1.4 3.6-1.4z" fill="${e.p}"/>${k(e,78,58,4.4)}`),telescope:(e)=>y(`<circle class="glow" cx="76" cy="72" r="17" fill="${e.gl}"/><circle cx="76" cy="54.6" r="3.6" fill="none" stroke="${e.td}" stroke-width="2"/><path d="M73 57.4Q76 60 79 57.4" fill="none" stroke="${e.t}" stroke-width="2.4"/><circle cx="76" cy="72" r="13.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.6"/><circle cx="76" cy="72" r="10" fill="#fbefd0" stroke="${e.td}" stroke-width="1"/><path d="M66 72H86M76 62V82" stroke="${e.td}" stroke-width="1.2"/><circle cx="76" cy="72" r="5.6" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M70 66.6L82 77.4" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/><circle cx="82" cy="65.6" r="1.8" fill="${e.p}"/>${k(e,76,57,4.4)}`),wrench:(e)=>y(`<path class="glow" d="M90 52l1.6 3.6 3.8.4-2.8 2.6.8 3.8-3.4-2-3.4 2 .8-3.8-2.8-2.6 3.8-.4z" fill="${e.t}"/><path d="M79 60L71 93M79 60L87 91" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M79 60L71 93M79 60L87 91" stroke="#fff" stroke-width="1" stroke-linecap="round" opacity=".5"/><path d="M71 93l-.8 2.2M87 91l.8 2.2" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><path d="M73.4 81Q79 85 84.6 81" fill="none" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><circle cx="79" cy="60" r="3.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.2"/>${k(e,79,63.4,4.4)}`),spade:(e)=>y(`<g class="glow"><ellipse cx="88" cy="62" rx="4.4" ry="2.4" transform="rotate(-30 88 62)" fill="#4fae6c"/><ellipse cx="91" cy="70" rx="4" ry="2.2" transform="rotate(20 91 70)" fill="#4fae6c"/></g><path d="M76 92V56" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M70 56H82" stroke="${I}" stroke-width="3.4" stroke-linecap="round"/><path d="M69.5 78H82.5V88Q76 97 69.5 88Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round"/>${k(e,76,59)}`),ladle:(e)=>y(`<g class="glow"><path d="M88 48q-3-4 0-8M93 50q-3-4 0-8" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/></g><path d="M74 94L82 62" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M73 58H93A10 8 0 0 1 73 58Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round" transform="rotate(-14 83 58)"/><ellipse cx="83" cy="57" rx="8" ry="2" fill="#c97b3a" transform="rotate(-14 83 57)"/>${k(e,76.4,82)}`),lantern:(e)=>y(`<circle class="glow" cx="77" cy="78" r="20" fill="#ffd84a"/><path d="M69 66Q77 52 85 66" fill="none" stroke="${e.td}" stroke-width="2.2"/><rect x="69" y="66" width="16" height="4" rx="1.6" fill="${e.t}"/><rect x="70.4" y="70" width="13.2" height="16" fill="#fff3c2" stroke="${e.td}" stroke-width="1.4"/><path d="M77 73Q81 78 77 83Q73 78 77 73Z" fill="#ffa63a"/><rect x="69" y="86" width="16" height="4" rx="1.6" fill="${e.t}"/>${k(e,77,60,4.4)}`),seal:(e)=>y(`<circle class="glow" cx="79" cy="78" r="9" fill="${e.p}"/><g transform="rotate(-10 78 74)"><rect x="66" y="64" width="26" height="18" rx="2" fill="#fff7e6" stroke="#d3bd8e" stroke-width="1.2"/><path d="M66 65L79 75L92 65" fill="none" stroke="#d3bd8e" stroke-width="1.2"/><circle cx="79" cy="75" r="4.6" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/>${X(79,75,e.t).replace('d="M','transform="scale(.6) translate(52 50)" d="M')}</g>${k(e,70,82,4.4)}`),dagger:(e)=>y(`<path class="glow" d="M78 50V80" stroke="#fff" stroke-width="5" stroke-linecap="round"/><path d="M78 52L82.4 78H73.6Z" fill="#dfe5f0" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M78 56V76" stroke="#fff" stroke-width="1.2" opacity=".7"/><rect x="71" y="78" width="14" height="3.4" rx="1.6" fill="${e.t}"/><rect x="76.4" y="81" width="3.2" height="8" fill="${I}"/>${k(e,78,86)}`),beads:(e)=>y(`<g class="glow"><circle cx="78" cy="78" r="12" fill="${e.t}"/></g><g fill="${e.t}" stroke="${e.td}" stroke-width="1"><circle cx="78" cy="66" r="2.4"/><circle cx="84.4" cy="68.4" r="2.4"/><circle cx="87" cy="75" r="2.4"/><circle cx="85.6" cy="82" r="2.4"/><circle cx="80.4" cy="86.6" r="2.4"/><circle cx="73.6" cy="86.6" r="2.4"/><circle cx="68.4" cy="82" r="2.4"/><circle cx="67" cy="75" r="2.4"/><circle cx="71.6" cy="68.4" r="2.4"/></g>${k(e,78,62,4.4)}`),bird:(e)=>y(`<circle class="glow" cx="88" cy="55" r="8" fill="${e.t}"/><ellipse cx="80" cy="64" rx="9" ry="6.4" transform="rotate(-24 80 64)" fill="#8a6a4a"/><path d="M72 70L66 76L76 70Z" fill="#6f5338"/><path d="M76 66Q82 64 86 66Q82 70 78 70Z" fill="#f1e2c4"/><circle cx="87" cy="56" r="5" fill="#8a6a4a"/><path d="M91 55L96 57L91 59Z" fill="${e.t}"/><circle cx="88" cy="55" r="1.3" fill="${e.ink}"/><path d="M78 70V75" stroke="${e.t}" stroke-width="2"/><circle cx="78" cy="79" r="6.2" fill="${et}" stroke="#7a4f27" stroke-width="1.2"/>`),anchor:(e)=>y(`<path class="glow" d="M76 54l2 4.4 4.8.5-3.6 3.2 1 4.7-4.2-2.4-4.2 2.4 1-4.7-3.6-3.2 4.8-.5z" fill="${e.t}" transform="translate(11 -4)"/><circle cx="76" cy="58" r="3.4" fill="none" stroke="#aab3c5" stroke-width="2.4"/><path d="M76 61.4V90M69.6 66H82.4M65 82Q76 98 87 82" fill="none" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M65 82L63 86M87 82L89 86" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/>${k(e,76,74)}`),marotte:(e)=>y(`<g class="glow"><circle cx="66" cy="40" r="3" fill="${e.t}"/><circle cx="86" cy="40" r="3" fill="${e.t}"/></g><path d="M76 94V52" stroke="${I}" stroke-width="4" stroke-linecap="round"/><circle cx="76" cy="46" r="7" fill="${e.k}" stroke="${e.kd}" stroke-width="1"/><path d="M70 42Q64 36 66 40Q68 42 71 44ZM82 42Q88 36 86 40Q84 42 81 44Z" fill="${e.p}"/><path d="M69 42C64 38 62 36 66 40ZM83 42C88 38 90 36 86 40Z" fill="none"/><circle cx="74" cy="46" r="1" fill="${e.ink}"/><circle cx="78" cy="46" r="1" fill="${e.ink}"/><path d="M73.4 49Q76 51.4 78.6 49" fill="none" stroke="${e.ink}" stroke-width="1" stroke-linecap="round"/>${k(e,76,62,4.4)}`),sword:(e)=>y(`<path class="glow" d="M76 20V76" stroke="#fff" stroke-width="8" stroke-linecap="round"/><path d="M76 17L80.4 24V76H71.6V24Z" fill="#e1e7f2" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M76 24V74" stroke="#fff" stroke-width="1.4" opacity=".8"/><rect x="67" y="76" width="18" height="4" rx="2" fill="${e.t}"/><rect x="74.4" y="80" width="3.6" height="8" fill="${I}"/><circle cx="76.2" cy="90" r="2.4" fill="${e.t}"/>${k(e,76.2,83)}`)};var Ee=6,js=Object.freeze(["#fbebe0","#f8e1d2","#f5d8c5","#f1cfb8","#edc6ac","#e9bf9f"]);function Rr(e,r="skins"){if(!Array.isArray(e)||e.length!==Ee)throw new re(r,`must be a list of exactly ${Ee} #rrggbb colors`);return Object.freeze(Array.from(e,(t,o)=>Q(t,`${r}[${o}]`)))}var tt=["modern-light","modern-dark","camelot-light","camelot-dark"],rt=["disc","shield"],ot=/^[a-z0-9]{1,16}$/,Oe=200,Ae=4096,at={"modern-light":{bg:(e)=>q(e,0.8),ring:(e)=>e,width:3,line:null},"modern-dark":{bg:(e)=>A(e,"#0d1018",0.68),ring:(e)=>q(e,0.15),width:3,line:null},"camelot-light":{bg:(e)=>A("#f2e6c6",e,0.1),ring:()=>"#b98a2c",width:4.2,line:"#8a5f12"},"camelot-dark":{bg:(e)=>A("#16224c",e,0.16),ring:()=>"#e6b94c",width:4.2,line:"#ffe08a"}},Ze="M12 14H88V50Q88 78 50 97Q12 78 12 50Z",st="#e5484d";function it(e){return e.replace(/[&<>"'=()]/g,(r)=>`&#${r.charCodeAt(0)};`).replace(/href/gi,(r)=>`${r[0]}&#${r.charCodeAt(1)};${r.slice(2)}`)}function lt(e,r,t,o){let{primary:a,secondary:i,trim:l}=e.colors,p=o[e.skin];return{tones:{p:a,pd:j(a,0.3),pl:q(a,0.35),pll:q(a,0.65),s:i,sd:j(i,0.16),t:l,td:j(l,0.3),k:p,kd:j(p,0.12),hr:e.hairColor,hd:j(e.hairColor,0.2),ink:v,gl:q(a,0.5)},bg:r.bg(a),ring:t?st:r.ring(a)}}function H(e,r,t=""){return r?`<g class="${e}" data-part="${e}"${t}>${r}</g>`:""}function Ks(e,r={}){let t=Mr(e),o=r.state===void 0?void 0:n(Yt,r.state,"state"),a=n(Pr,r.expr??Qr[o??"idle"],"expr"),i=n(tt,r.look??"modern-light","look"),l=n(rt,r.frame??"disc","frame"),p=r.uid??"a";if(typeof p!=="string"||!ot.test(p))throw new re("uid","must match /^[a-z0-9]{1,16}$/");let{size:c,label:S}=r;if(c!==void 0&&!(Number.isInteger(c)&&c>=1&&c<=Ae))throw new re("size",`must be an integer up to ${Ae}`);if(S!==void 0&&(typeof S!=="string"||S.length>Oe))throw new re("label",`must be text of at most ${Oe} characters`);let Z=r.skins===void 0?F.skins:Rr(r.skins,"skins"),x=r.bare===!0,L=r.still===!0,M=at[i],{tones:u,bg:f,ring:m}=lt(t,M,o==="error",Z),d=xe({ink:v,brow:A(t.hairColor,v,0.5),dot:A(u.p,v,0.1)},a),g=Me[t.hair](u),de=t.hat==="hood"?`<path d="M17 62C12 22 88 22 83 62C81 72 72 77 66 78H34C28 77 19 72 17 62Z" fill="${u.pd}"/>`:"",E=Le[t.outfit](u),R={slim:0.8,regular:1,stout:1.3}[t.build],O=R===1?E:`<g transform="translate(${+(50-50*R).toFixed(2)} 0) scale(${R} 1)">${E}</g>`,ee=O;if(!x)ee=l==="shield"?`<g clip-path="url(#as${p})">${O}</g>`:`<clipPath id="ad${p}"><circle cx="50" cy="50" r="44.6"/></clipPath><g clip-path="url(#ad${p})">${O}</g>`;let te=M.line,je=l==="shield"?`<clipPath id="as${p}"><path d="${Ze}"/></clipPath><path d="${Ze}" fill="${f}" stroke="${m}" stroke-width="${M.width}" stroke-linejoin="round" class="ring"/>${te?`<path d="M16.5 18.5H83.5V50Q83.5 74 50 91.6Q16.5 74 16.5 50Z" fill="none" stroke="${te}" stroke-width=".9" opacity=".55"/>`:""}`:`<circle cx="50" cy="50" r="46.4" fill="${f}" stroke="${m}" stroke-width="${M.width}" class="ring"/>${te?`<circle cx="50" cy="50" r="40.6" fill="none" stroke="${te}" stroke-width=".9" opacity=".55"/>`:""}<ellipse cx="50" cy="93" rx="19" ry="2.6" fill="#000" opacity=".12"/>`,Ve=`<circle cx="22.6" cy="54" r="4.2" fill="${u.k}"/><circle cx="77.4" cy="54" r="4.2" fill="${u.k}"/><ellipse cx="50" cy="51" rx="28" ry="26" fill="${u.k}"/><path d="M23 58Q50 88 77 58Q77 76 50 77Q23 76 23 58Z" fill="${u.kd}" opacity=".3"/><ellipse cx="50" cy="58.4" rx="1.7" ry="1.2" fill="${u.kd}"/>`+g.front+(t.beard==="none"?"":Ce[t.beard](u)),_e=(x?"":H("frame",je))+'<g class="ch">'+H("back",g.back+de)+H("body",ee)+H("head",Ve)+H("hat",Ie[t.hat](u))+H("eyes-brows",d.eyes+d.brows)+H("mouth",d.mouth)+H("fx",d.fx)+H("acc",t.accessory==="none"?"":Se[t.accessory](u))+H("prop",He[t.prop](u),` data-prop="${t.prop}"`)+"</g>"+H("state",we(u.p,j(u.p,0.1),L?o??"idle":null));return`<svg ${['xmlns="http://www.w3.org/2000/svg"','viewBox="0 0 100 100"',c===void 0?"":`width="${c}" height="${c}"`,`class="${L?"av static":"av"}"`,o===void 0&&!L?"":`data-state="${o??"idle"}"`,`data-expr="${a}"`,S===void 0?'aria-hidden="true"':`role="img" aria-label="${it(S)}"`].filter(Boolean).join(" ")}>${_e}</svg>`.replace(/class="glow"/g,'class="glow" opacity=".3"')}function Js(e,r){return ke(e.colors.primary,r)}var b=(e)=>`:is(.av,.av-host)[data-state=${e}]`;function eo(){let e=Object.entries(Qe).map(([r,t])=>`.av [data-prop=${r}]{transform-origin:${t}}`).join(`
1
+ function ae(e){if(e&&typeof e==="object"&&!Object.isFrozen(e)){Object.freeze(e);for(let r of Object.values(e))ae(r)}return e}var Ze=["wizard","knight","scholar","smith","ranger","bard","alchemist","healer","steward","navigator","seer","scribe","engineer","druid","innkeeper","sentinel","envoy","rogue","monk","falconer","shipwright","jester","paladin","archivist"],_=["robe","scholar","armor","plate","apron","chef","cloak","tunic","coat","overalls","vest","habit","surplice","motley","sailor"],N=["none","wizard","helm","mortar","goggcap","hood","beret","goggles","coif","tallcap","tricorn","turban","softcap","hardhat","wreath","toque","kettle","cavalier","cowl","headband","fcap","sailor","jester","winghelm"],D=["staff","shield","scroll","hammer","bow","lute","flask","quill","tome","bell","keys","map","telescope","wrench","spade","ladle","lantern","seal","dagger","beads","bird","anchor","marotte","sword"],z=["none","short","bob","long","bun","curly","ponytail","braid"],pe=["full","mustache","goatee"],Y=[...pe,"none"],fe=["glasses","freckles","scar"],U=[...fe,"none"],P=["slim","regular","stout"],K=[0,1,2,3,4,5],Er=["neutral","happy","thinking","concerned","apologetic","surprised","proud","amused","curious","sympathetic","playful","determined","sleepy"],Ht=["idle","thinking","working","waiting","done","error","sleepy"],Cr=ae({idle:"neutral",thinking:"thinking",working:"determined",waiting:"curious",done:"proud",error:"apologetic",sleepy:"sleepy"}),se={azure:{primary:"#3b6fd8",secondary:"#eef2ff",trim:"#f0c04a"},gules:{primary:"#d8473d",secondary:"#fff1e4",trim:"#f0c04a"},vert:{primary:"#2f9e6b",secondary:"#eefbea",trim:"#f0c04a"},purpure:{primary:"#7d52cc",secondary:"#f1e9ff",trim:"#f0c04a"},amber:{primary:"#e2a02a",secondary:"#fff6dc",trim:"#d5dbe8"},sable:{primary:"#454a5c",secondary:"#e9ecf4",trim:"#f0c04a"},teal:{primary:"#1f9aa6",secondary:"#e6fbfa",trim:"#f0c04a"},rose:{primary:"#d6507f",secondary:"#ffeef3",trim:"#d5dbe8"}},De=["#f7d6b8","#eab98c","#d4a070","#b9784c","#8e5b3c","#5c3a26"],ze=["#2b2233","#6a4a33","#b0562f","#e0b45a","#aeb4c3","#f1f3fa"];function h(e){let{palette:r,...t}=e;return{...t,colors:{...se[r]},palette:r}}var qe={wizard:{label:"Wizard",jobs:"coordinator, planner, main assistant",keywords:["coordinat","orchestrat","lead","chief","manager","協調","統籌","總管","主管"],preset:h({outfit:"robe",hat:"wizard",prop:"staff",hair:"none",beard:"full",accessory:"none",build:"regular",skin:0,hairColor:"#f1f3fa",palette:"azure"})},knight:{label:"Knight",jobs:"reviewer, QA gate, guardian",keywords:["review","qa","quality","gate","lint","guardian","審查","審核","把關","品質"],preset:h({outfit:"armor",hat:"helm",prop:"shield",hair:"short",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#6a4a33",palette:"gules"})},scholar:{label:"Scholar",jobs:"researcher, literature review",keywords:["research","literature","paper","study","survey","academic","研究","文獻","論文","學者"],preset:h({outfit:"scholar",hat:"mortar",prop:"scroll",hair:"bun",beard:"none",accessory:"glasses",build:"slim",skin:2,hairColor:"#2b2233",palette:"purpure"})},smith:{label:"Smith",jobs:"coder, builder, refactorer",keywords:["coder","coding","code","builder","implement","develop","refactor","software","程式","開發","實作","重構"],preset:h({outfit:"apron",hat:"goggcap",prop:"hammer",hair:"short",beard:"none",accessory:"none",build:"stout",skin:3,hairColor:"#7a4a2a",palette:"amber"})},ranger:{label:"Ranger",jobs:"scout, web search, crawler",keywords:["scout","search","crawl","explore","browse","web","搜尋","爬蟲","偵查","探索"],preset:h({outfit:"cloak",hat:"hood",prop:"bow",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:1,hairColor:"#a8683a",palette:"vert"})},bard:{label:"Bard",jobs:"writer, announcer, copywriter",keywords:["writer","write","copywrit","announce","content","blog","story","poet","寫作","文案","文章","公告"],preset:h({outfit:"tunic",hat:"beret",prop:"lute",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#c0453d",palette:"rose"})},alchemist:{label:"Alchemist",jobs:"data analyst, ETL, transformer",keywords:["analyst","data","etl","transform","convert","spreadsheet","資料","數據","轉換","分析師"],preset:h({outfit:"coat",hat:"goggles",prop:"flask",hair:"curly",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"teal"})},healer:{label:"Healer",jobs:"debugger, fixer, support",keywords:["debug","fix","doctor","heal","bug","repair","triage","support","醫","修","除錯","診斷"],preset:h({outfit:"surplice",hat:"coif",prop:"bell",hair:"none",beard:"none",accessory:"none",build:"stout",skin:5,hairColor:"#2b2233",palette:"rose"})},steward:{label:"Steward",jobs:"ops, billing, access keys",keywords:["ops","billing","admin","account","access","finance","invoice","procure","帳務","財務","營運","請款","管理"],preset:h({outfit:"vest",hat:"tallcap",prop:"keys",hair:"short",beard:"mustache",accessory:"none",build:"stout",skin:0,hairColor:"#8a8f9c",palette:"sable"})},navigator:{label:"Navigator",jobs:"planner, routing, roadmap",keywords:["planner","planning","roadmap","route","routing","navigat","itinerary","規劃","路線","導航","行程"],preset:h({outfit:"coat",hat:"tricorn",prop:"map",hair:"ponytail",beard:"none",accessory:"none",build:"slim",skin:2,hairColor:"#6a4a33",palette:"azure"})},seer:{label:"Seer",jobs:"forecaster, monitoring, analytics",keywords:["forecast","monitor","predict","analytics","metric","observab","trend","預測","監控","觀測","趨勢"],preset:h({outfit:"habit",hat:"turban",prop:"telescope",hair:"none",beard:"none",accessory:"none",build:"slim",skin:3,hairColor:"#2b2233",palette:"purpure"})},scribe:{label:"Scribe",jobs:"documentation, notes, minutes",keywords:["document","docs","notes","minutes","transcri","changelog","文件","記錄","紀錄","筆記","會議"],preset:h({outfit:"scholar",hat:"softcap",prop:"quill",hair:"short",beard:"none",accessory:"glasses",build:"regular",skin:1,hairColor:"#3a2f45",palette:"sable"})},engineer:{label:"Engineer",jobs:"devops, infra, CI",keywords:["infra","devops","ci","sre","platform","kubernetes","server","cluster","維運","運維","基礎設施","伺服器"],preset:h({outfit:"overalls",hat:"hardhat",prop:"wrench",hair:"braid",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#2b2233",palette:"amber"})},druid:{label:"Druid",jobs:"cleanup, data hygiene, maintenance",keywords:["cleanup","clean","hygiene","maintenance","garbage","prune","tidy","清理","整理","維護","保養"],preset:h({outfit:"cloak",hat:"wreath",prop:"spade",hair:"long",beard:"none",accessory:"none",build:"regular",skin:4,hairColor:"#6a4a33",palette:"vert"})},innkeeper:{label:"Innkeeper",jobs:"concierge, onboarding, scheduler",keywords:["concierge","onboard","scheduler","schedule","host","welcome","reception","接待","迎賓","排程","新人"],preset:h({outfit:"chef",hat:"toque",prop:"ladle",hair:"none",beard:"mustache",accessory:"none",build:"stout",skin:2,hairColor:"#2b2233",palette:"gules"})},sentinel:{label:"Sentinel",jobs:"security, on-call, alerts",keywords:["security","alert","incident","oncall","on-call","vulnerab","patrol","資安","安全","告警","警報","值班"],preset:h({outfit:"plate",hat:"kettle",prop:"lantern",hair:"none",beard:"none",accessory:"scar",build:"stout",skin:5,hairColor:"#2b2233",palette:"sable"})},envoy:{label:"Envoy",jobs:"email, partner comms, notifications",keywords:["email","mail","partner","notif","message","outreach","comms","信件","郵件","通知","聯絡"],preset:h({outfit:"tunic",hat:"cavalier",prop:"seal",hair:"bun",beard:"none",accessory:"none",build:"regular",skin:1,hairColor:"#aeb4c3",palette:"purpure"})},rogue:{label:"Rogue",jobs:"pen-tester, auditor, intel",keywords:["pentest","pen-test","penetration","auditor","audit","intel","exploit","osint","滲透","稽核","情報","紅隊"],preset:h({outfit:"cloak",hat:"cowl",prop:"dagger",hair:"none",beard:"none",accessory:"scar",build:"slim",skin:0,hairColor:"#2b2233",palette:"sable"})},monk:{label:"Monk",jobs:"long-running jobs, batch, patience",keywords:["long-running","batch","patient","background","overnight","meditat","cron","長時間","批次","批量","耐心"],preset:h({outfit:"habit",hat:"headband",prop:"beads",hair:"none",beard:"none",accessory:"none",build:"regular",skin:3,hairColor:"#2b2233",palette:"amber"})},falconer:{label:"Falconer",jobs:"retrieval, fetch, RAG lookup",keywords:["retriev","fetch","rag","lookup","vector","embedding","檢索","擷取","抓取","查詢"],preset:h({outfit:"cloak",hat:"fcap",prop:"bird",hair:"short",beard:"goatee",accessory:"none",build:"slim",skin:4,hairColor:"#2b2233",palette:"vert"})},shipwright:{label:"Shipwright",jobs:"release, build pipeline, packaging",keywords:["release","ship","packag","publish","deploy","pipeline","發版","發布","打包","上線","部署"],preset:h({outfit:"sailor",hat:"sailor",prop:"anchor",hair:"short",beard:"goatee",accessory:"none",build:"stout",skin:2,hairColor:"#e0b45a",palette:"azure"})},jester:{label:"Jester",jobs:"brainstorm, ideation, humor",keywords:["brainstorm","ideation","idea","humor","joke","creative","fun","腦力激盪","發想","創意","幽默","點子"],preset:h({outfit:"motley",hat:"jester",prop:"marotte",hair:"none",beard:"none",accessory:"freckles",build:"slim",skin:0,hairColor:"#b0562f",palette:"gules"})},paladin:{label:"Paladin",jobs:"compliance, policy, approvals",keywords:["compliance","policy","approval","approve","govern","legal","ethic","合規","法遵","核准","政策","規範"],preset:h({outfit:"plate",hat:"winghelm",prop:"sword",hair:"none",beard:"none",accessory:"none",build:"regular",skin:5,hairColor:"#2b2233",palette:"amber"})},archivist:{label:"Archivist",jobs:"knowledge base, indexing, memory",keywords:["knowledge","archive","index","memory","wiki","catalog","library","知識","索引","記憶","歸檔","典藏"],preset:h({outfit:"scholar",hat:"none",prop:"tome",hair:"bun",beard:"none",accessory:"glasses",build:"regular",skin:2,hairColor:"#e4e7f0",palette:"teal"})}},G=ae({classes:qe,outfits:_,hats:N,props:D,hair:z,beards:pe,accessories:fe,palettes:se,skins:De,hairColors:ze}),ut=Object.keys(se);var ie=(e)=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,"0");function le(e){let r=(t)=>Number.parseInt(e.slice(t,t+2),16);return[r(1),r(3),r(5)]}function Be([e,r,t]){return`#${ie(e)}${ie(r)}${ie(t)}`}function A(e,r,t){let o=le(e),a=le(r);return Be([o[0]+(a[0]-o[0])*t,o[1]+(a[1]-o[1])*t,o[2]+(a[2]-o[2])*t])}var q=(e,r)=>A(e,"#ffffff",r),j=(e,r)=>A(e,"#1a1330",r);function he(e){let[r,t,o]=le(e).map((a)=>{let i=a/255;return i<=0.03928?i/12.92:((i+0.055)/1.055)**2.4});return 0.2126*r+0.7152*t+0.0722*o}function Fe(e,r){let[t,o]=[he(e),he(r)].sort((a,i)=>i-a);return(t+0.05)/(o+0.05)}var Xe={light:"#ffffff",dark:"#0d1018","modern-light":"#ffffff","modern-dark":"#0d1018","camelot-light":"#e3d2a9","camelot-dark":"#243557"};function ke(e,r){let t=Xe[r],o=r.endsWith("light")?"#1a1330":"#ffffff";for(let a=0;a<=20;a++){let i=a===0?e:A(e,o,a/20);if(Fe(i,t)>=3)return i}return o}class oe extends Error{field;constructor(e,r){super(`${e}: ${r}`);this.name="CharacterError",this.field=e}}var Ge=/^#[0-9a-f]{6}$/;function Q(e,r){if(typeof e!=="string")throw new oe(r,"must be a #rrggbb color");let t=e.toLowerCase();if(!Ge.test(t))throw new oe(r,"must be a #rrggbb color");return t}function n(e,r,t){let o=e.find((a)=>a===r);if(o===void 0)throw new oe(t,`must be one of ${e.map(String).join(", ")}`);return o}function V(e){if(typeof e!=="object"||e===null||Array.isArray(e))return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}function B(e){for(let[r,t]of Object.entries(G.palettes))if(t.primary===e.primary&&t.secondary===e.secondary&&t.trim===e.trim)return r;return}function W(e){let r=G.classes[e].preset;return{v:1,class:e,outfit:r.outfit,hat:r.hat,prop:r.prop,hair:r.hair,beard:r.beard,accessory:r.accessory,build:r.build,skin:r.skin,hairColor:r.hairColor,colors:{...r.colors},...r.palette?{palette:r.palette}:{}}}var Ye=new Set(["class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),ye=["primary","secondary","trim"];function Ue(e,r,t){if(r!==void 0){let a=n(Object.keys(G.palettes),r,"palette");e.colors={...G.palettes[a]}}if(t!==void 0){if(!V(t))throw new oe("colors","must be an object");for(let i of Object.keys(t))if(!ye.includes(i))throw new oe(`colors.${i}`,"is not a known color");let a={...e.colors};for(let i of ye)if(t[i]!==void 0)a[i]=Q(t[i],`colors.${i}`);e.colors=a}let o=B(e.colors);if(o)e.palette=o;else delete e.palette}function vi(e,r){if(!V(e))throw new oe("character","must be an object");for(let a of Object.keys(e))if(!Ye.has(a))throw new oe(a,"is not a known field");let t=e.class===void 0?r?.class:n(Ze,e.class,"class");if(!t)throw new oe("class","is required");let o=r&&r.class===t?{...r,colors:{...r.colors}}:W(t);if(e.outfit!==void 0)o.outfit=n(_,e.outfit,"outfit");if(e.hat!==void 0)o.hat=n(N,e.hat,"hat");if(e.prop!==void 0)o.prop=n(D,e.prop,"prop");if(e.hair!==void 0)o.hair=n(z,e.hair,"hair");if(e.beard!==void 0)o.beard=n(Y,e.beard,"beard");if(e.accessory!==void 0)o.accessory=n(U,e.accessory,"accessory");if(e.build!==void 0)o.build=n(P,e.build,"build");if(e.skin!==void 0)o.skin=n(K,e.skin,"skin");if(e.hairColor!==void 0)o.hairColor=Q(e.hairColor,"hairColor");return Ue(o,e.palette,e.colors),o}var be=new Set(["v","class","outfit","hat","prop","hair","beard","accessory","build","skin","hairColor","colors","palette"]),Ke=[...be].filter((e)=>e!=="palette"),ne=["primary","secondary","trim"];function $e(e,r){if(!Object.hasOwn(e,r))throw new oe(r,"is required")}function Ar(e){if(!V(e))throw new oe("character","must be an object");for(let a of Object.keys(e))if(!be.has(a))throw new oe(a,"is not a known field");for(let a of Ke)$e(e,a);if(e.v!==1)throw new oe("v","must be 1");let r=e.colors;if(!V(r))throw new oe("colors","must be an object");for(let a of Object.keys(r))if(!ne.includes(a))throw new oe(`colors.${a}`,"is not a known color");for(let a of ne)$e(r,a);let t={primary:Q(r.primary,"colors.primary"),secondary:Q(r.secondary,"colors.secondary"),trim:Q(r.trim,"colors.trim")},o=B(t);if(e.palette!==void 0){if(n(Object.keys(G.palettes),e.palette,"palette")!==o)throw new oe("palette","does not match the colors")}return{v:1,class:n(Ze,e.class,"class"),outfit:n(_,e.outfit,"outfit"),hat:n(N,e.hat,"hat"),prop:n(D,e.prop,"prop"),hair:n(z,e.hair,"hair"),beard:n(Y,e.beard,"beard"),accessory:n(U,e.accessory,"accessory"),build:n(P,e.build,"build"),skin:n(K,e.skin,"skin"),hairColor:Q(e.hairColor,"hairColor"),colors:t,...o?{palette:o}:{}}}function ue(e,r){try{return e()}catch(t){if(t instanceof oe)return r;throw t}}function Ps(e){if(!V(e))return;let r=ue(()=>n(Ze,e.class,"class"),void 0);if(!r)return;let t=W(r),o=(i,l)=>{let p=Symbol("none"),c=ue(i,p);if(c!==p)l(c)};if(o(()=>n(_,e.outfit,"outfit"),(i)=>{t.outfit=i}),o(()=>n(N,e.hat,"hat"),(i)=>{t.hat=i}),o(()=>n(D,e.prop,"prop"),(i)=>{t.prop=i}),o(()=>n(z,e.hair,"hair"),(i)=>{t.hair=i}),o(()=>n(Y,e.beard,"beard"),(i)=>{t.beard=i}),o(()=>n(U,e.accessory,"accessory"),(i)=>{t.accessory=i}),o(()=>n(P,e.build,"build"),(i)=>{t.build=i}),o(()=>n(K,e.skin,"skin"),(i)=>{t.skin=i}),o(()=>Q(e.hairColor,"hairColor"),(i)=>{t.hairColor=i}),V(e.colors)){let i=e.colors;for(let l of ne)o(()=>Q(i[l],`colors.${l}`),(p)=>{t.colors[l]=p})}let a=B(t.colors);if(a)t.palette=a;else delete t.palette;return t}var We={neutral:{eye:"open",look:[0,0],bl:[0,0],br:[0,0],mouth:"smile",fx:[]},happy:{eye:"sparkle",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["blush"]},thinking:{eye:"open",look:[2.2,-2.4],bl:[-0.5,0],br:[-4,-8],mouth:"flatR",fx:["dots"]},concerned:{eye:"open",look:[0,0.6],bl:[-1,-13],br:[-1,-13],mouth:"wobble",fx:[]},apologetic:{eye:"soft",look:[0,0],bl:[-1,-20],br:[-1,-20],mouth:"wobble",fx:["sweat","blush"]},surprised:{eye:"wide",look:[0,0],bl:[-4,-4],br:[-4,4],mouth:"o",fx:["burst"]},proud:{eye:"arc",look:[0,0],bl:[-3,0],br:[-3,0],mouth:"smirk",fx:["sparkle"]},amused:{eye:"xd",look:[0,0],bl:[-2,0],br:[-2,0],mouth:"grin",fx:["tear"]},curious:{eye:"open",look:[2.6,-0.4],bl:[-4,-6],br:[0,0],mouth:"tilt",fx:[],big:1},sympathetic:{eye:"soft",look:[0,1],bl:[-1,-10],br:[-1,-10],mouth:"smileS",fx:["blush"]},playful:{eye:"wink",look:[0,0],bl:[-3,-2],br:[1,0],mouth:"tongue",fx:["blush"]},determined:{eye:"narrow",look:[0,0],bl:[1,15],br:[1,15],mouth:"firm",fx:[]},sleepy:{eye:"closed",look:[0,0],bl:[2,6],br:[2,6],mouth:"yawn",fx:[]}},s=(e)=>+e.toFixed(2),re={ex:[39,61],ey:52,rx:5.2,ry:6.4,sw:2.5,msw:2.2,bl:8.6,bw:2.2,bdy:-9.8,mx:50,my:64,ms:1,bx:6.5,by:8,br:4,fx:[76,40],fs:1,hw:28,by0:42},T={badge:[17,19],badgeR:9.5,orbit:[50,50,45],zz:[73,28]},J={eyes:`50px ${re.ey}px`,badge:`${T.badge[0]}px ${T.badge[1]}px`,orbit:`${T.orbit[0]}px ${T.orbit[1]}px`,character:"50px 94px"},v="#2b2440";function Je(e,r,t){let{rx:o,ry:a,sw:i}=re,l=(c=1)=>`<ellipse rx="${s(o*c)}" ry="${s(a*c)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.36)}" r="${s(o*0.4)}" fill="#fff"/><circle cx="${s(o*0.38)}" cy="${s(a*0.36)}" r="${s(o*0.18)}" fill="#fff"/>`,p=`<path d="M${s(-o*1.05)} ${s(a*0.35)}Q0 ${s(-a*1.15)} ${s(o*1.05)} ${s(a*0.35)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;switch(e){case"open":return l();case"sparkle":return`${l(1.1)}<circle cx="${s(-o*0.1)}" cy="${s(a*0.5)}" r="${s(o*0.14)}" fill="#fff" opacity=".8"/>`;case"wide":return`<circle r="${s(a*1.12)}" fill="#fff" stroke="${t}" stroke-width="${s(i*0.7)}"/><circle r="${s(a*0.5)}" fill="${t}"/>`;case"arc":return p;case"closed":return`<path d="M${s(-o)} ${s(-a*0.1)}Q0 ${s(a*0.85)} ${s(o)} ${s(-a*0.1)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round"/>`;case"soft":return`<path d="M${s(-o)} ${s(-a*0.25)}H${s(o)}A${s(o)} ${s(a*1.05)} 0 0 1 ${s(-o)} ${s(-a*0.25)}Z" fill="${t}"/><circle cx="${s(-o*0.25)}" cy="${s(a*0.25)}" r="${s(o*0.34)}" fill="#fff"/>`;case"narrow":return`<ellipse rx="${s(o*0.98)}" ry="${s(a*0.6)}" fill="${t}"/><circle cx="${s(-o*0.3)}" cy="${s(-a*0.15)}" r="${s(o*0.26)}" fill="#fff"/>`;case"xd":{let c=r?-1:1;return`<path d="M${s(-c*o*0.85)} ${s(-a*0.75)}L${s(c*o*0.6)} 0L${s(-c*o*0.85)} ${s(a*0.75)}" fill="none" stroke="${t}" stroke-width="${i}" stroke-linecap="round" stroke-linejoin="round"/>`}case"wink":return r?p:l()}}function ve(e,r){let t=`fill="none" stroke="${r}" stroke-width="${re.msw}" stroke-linecap="round" stroke-linejoin="round"`;switch(e){case"smile":return`<path d="M-6 0Q0 5 6 0" ${t}/>`;case"smileS":return`<path d="M-4.2 0.4Q0 3.8 4.2 0.4" ${t}/>`;case"grin":return`<path d="M-7 -1Q0 3 7 -1Q5.5 8 0 8Q-5.5 8 -7 -1Z" fill="${r}"/><ellipse cy="6.3" rx="2.9" ry="1.5" fill="#ef7b8a"/>`;case"o":return`<ellipse cy="3" rx="2.9" ry="3.5" fill="${r}"/>`;case"flatR":return`<path d="M-3.5 2.4L4.5 0.4" ${t}/>`;case"firm":return`<path d="M-5 1.2H4.2L5.6 -0.4" ${t}/>`;case"wobble":return`<path d="M-6 3.2q1.5 -3 3 0t3 0t3 0t3 0" ${t}/>`;case"smirk":return`<path d="M-6 2.4Q0 4 6.4 -1.6" ${t}/>`;case"tongue":return`<path d="M-6.5 -0.5Q0 4.5 6.5 -0.5Z" fill="${r}"/><path d="M-2.6 2.2Q0 10 2.8 2.4Z" fill="#ef7b8a"/>`;case"yawn":return`<ellipse cy="3.4" rx="3.4" ry="4.2" fill="${r}"/><ellipse cy="5.6" rx="2" ry="1.4" fill="#ef7b8a"/>`;case"tilt":return`<ellipse cx="3" cy="2" rx="1.9" ry="2.4" fill="${r}"/>`}}var me=(e,r,t,o)=>`<path d="M${e} ${r-t}Q${e+t*0.22} ${r-t*0.22} ${e+t} ${r}Q${e+t*0.22} ${r+t*0.22} ${e} ${r+t}Q${e-t*0.22} ${r+t*0.22} ${e-t} ${r}Q${e-t*0.22} ${r-t*0.22} ${e} ${r-t}Z" fill="${o}"/>`,ge=(e,r,t,o)=>`<path d="M${e} ${r-3.6*t}Q${e+3*t} ${r+0.2*t} ${e} ${r+2.8*t}Q${e-3*t} ${r+0.2*t} ${e} ${r-3.6*t}Z" fill="${o}"/>`;function xe(e,r){let t=re,o=We[r],[a,i]=o.look,l=(f,m)=>{let d=o.big&&!m;return`<g transform="translate(${s(f+a)} ${s(t.ey+i)})${d?" scale(1.12)":""}">${Je(o.eye,m,e.ink)}</g>`},p=`<g class="eyes">${l(t.ex[0],0)}${l(t.ex[1],1)}</g>`,c=(f,[m,d],g)=>`<path d="M${-t.bl/2} 0H${t.bl/2}" transform="translate(${f} ${s(t.ey+t.bdy+m)}) rotate(${g?-d:d})" stroke="${e.brow}" stroke-width="${t.bw}" stroke-linecap="round" fill="none"/>`,S=`<g class="brows">${c(t.ex[0],o.bl,0)}${c(t.ex[1],o.br,1)}</g>`,Z=`<g class="mouth" transform="translate(${t.mx} ${t.my}) scale(${t.ms})">${ve(o.mouth,e.ink)}</g>`,[x,L]=t.fx,M=(f)=>`<ellipse cx="${f}" cy="${t.ey+t.by}" rx="${t.br}" ry="${s(t.br*0.62)}" fill="#ff7a8e" opacity=".5"/>`,u={blush:M(t.ex[0]-t.bx)+M(t.ex[1]+t.bx),sweat:ge(x,L,t.fs,"#7fd0ff"),tear:ge(t.ex[1]+t.rx+1.5,t.ey+t.ry*0.9,t.fs*0.8,"#7fd0ff"),sparkle:me(x,L-1,4.4*t.fs,"#ffd84a")+me(x+5*t.fs,L+5*t.fs,2*t.fs,"#fff1a8"),dots:[1,1.5,2.1].map((f,m)=>`<circle cx="${s(x-1+m*4.2*t.fs)}" cy="${s(L-2-m*3.6*t.fs)}" r="${s(f*t.fs)}" fill="${e.dot}"/>`).join(""),burst:[-1,1].map((f)=>`<path d="M${50+f*(t.hw+1)} ${t.by0-3}l${f*4.5} -3M${50+f*(t.hw+2)} ${t.by0+3}l${f*5.5} 0M${50+f*(t.hw+1)} ${t.by0+9}l${f*4.5} 3" stroke="${e.dot}" stroke-width="1.7" stroke-linecap="round"/>`).join("")};return{eyes:p,brows:S,mouth:Z,fx:`<g class="fx">${o.fx.map((f)=>u[f]).join("")}</g>`}}function we(e,r,t){let[o,a]=T.badge,i=T.badgeR,l=i/8,p=(E,R,O)=>`<g class="ov ${E}"><circle cx="${o}" cy="${a}" r="${i}" fill="${R}" stroke="#fff" stroke-width="1.6"/>${O}</g>`,c=p("o-wait","#f2a81d",`<path d="M${o} ${a-4.2*l}V${a+0.6*l}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/><circle cx="${o}" cy="${s(a+3.6*l)}" r="${s(1.25*l)}" fill="#fff"/>`),S=p("o-done","#2fb36b",`<path d="M${s(o-3.6*l)} ${s(a+0.2*l)}L${s(o-1*l)} ${s(a+3*l)}L${s(o+3.8*l)} ${s(a-2.8*l)}" fill="none" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round" stroke-linejoin="round"/>`),Z=p("o-err","#e5484d",`<path d="M${s(o-3*l)} ${s(a-3*l)}L${s(o+3*l)} ${s(a+3*l)}M${s(o+3*l)} ${s(a-3*l)}L${s(o-3*l)} ${s(a+3*l)}" stroke="#fff" stroke-width="${s(2.2*l)}" stroke-linecap="round"/>`),[x,L,M]=T.orbit,u=`<g class="ov o-think"><circle cx="${x}" cy="${s(L-M)}" r="3.3" fill="${e}" stroke="#fff" stroke-width="1.3"/></g>`,[f,m]=T.zz,d=(E,R,O,ee)=>`<path d="M${E} ${R}H${E+O}L${E} ${R+O*1.15}H${E+O}" fill="none" stroke="${r}" stroke-width="${ee}" stroke-linecap="round" stroke-linejoin="round"/>`,g=`<g class="ov o-zz">${d(f,m,7,2.2)}${d(f+8,m-9,5,1.8)}</g>`;return`<g class="fg">${t?{thinking:u,waiting:c,done:S,error:Z,sleepy:g}[t]??"":u+c+S+Z+g}</g>`}var Me={none:()=>({back:"",front:""}),short:(e)=>({back:"",front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),bob:(e)=>({back:`<path d="M19 46C17 66 23 77 33 77H67C77 77 83 66 81 46C78 26 22 26 19 46Z" fill="${e.hr}"/>`,front:`<path d="M23 50C22 28 78 28 77 50C68 38 58 36 50 41C42 36 32 38 23 50Z" fill="${e.hr}"/>`}),long:(e)=>({back:`<path d="M18 48C14 72 20 92 34 92H66C80 92 86 72 82 48C80 26 20 26 18 48Z" fill="${e.hr}"/>`,front:`<path d="M23 52C22 28 78 28 77 52C70 38 62 36 56 38Q44 44 36 46Q28 48 23 52Z" fill="${e.hr}"/>`}),bun:(e)=>({back:`<circle cx="50" cy="21" r="9.5" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),curly:(e)=>({back:"",front:`<g fill="${e.hr}"><circle cx="30" cy="38" r="9"/><circle cx="41" cy="30" r="9.5"/><circle cx="55" cy="29" r="9.5"/><circle cx="68" cy="35" r="9"/><circle cx="23" cy="50" r="6"/><circle cx="77" cy="50" r="6"/></g>`}),ponytail:(e)=>({back:`<path d="M70 40C92 42 94 66 82 76C86 62 80 54 68 52Z" fill="${e.hr}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`}),braid:(e)=>({back:`<path d="M24 46C14 60 20 76 28 90L34 88C28 76 28 62 32 52Z" fill="${e.hr}"/><circle cx="28" cy="90" r="3.6" fill="${e.p}"/>`,front:`<path d="M24 47C23 29 77 29 76 47C70 39 61 35 50 35C39 35 30 39 24 47Z" fill="${e.hr}"/>`})},Ce={full:(e)=>`<path d="M23.4 47C22 59 36 59 50 59.4C64 59 78 59 76.6 47C81 66 66 88 50 91.5C34 88 19 66 23.4 47Z" fill="${e.hr}"/><path d="M50 62V88" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/><path d="M36 60Q50 66 64 60" fill="none" stroke="${e.hd}" stroke-width="1.2" opacity=".5"/>`,mustache:(e)=>`<path d="M38 60C42 54 48 58 50 60C52 58 58 54 62 60C58 62 53 60 50 61.4C47 60 42 62 38 60Z" fill="${e.hr}"/>`,goatee:(e)=>`<path d="M44 68C46 66 54 66 56 68C56 76 52 78 50 78C48 78 44 76 44 68Z" fill="${e.hr}"/>`},Se={glasses:(e)=>`<g fill="none" stroke="${e.ink}" stroke-width="1.7"><circle cx="39" cy="52" r="8.4"/><circle cx="61" cy="52" r="8.4"/><path d="M47.4 51Q50 49 52.6 51M30.6 50L25 47M69.4 50L75 47"/></g><path d="M33 47L37 45M56 47L60 45" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".7"/>`,freckles:(e)=>`<g fill="${e.kd}"><circle cx="32.5" cy="60" r="1"/><circle cx="36" cy="62" r="1"/><circle cx="39.5" cy="60.4" r="1"/><circle cx="60.5" cy="60.4" r="1"/><circle cx="64" cy="62" r="1"/><circle cx="67.5" cy="60" r="1"/></g>`,scar:(e)=>`<path d="M64 44L70 57M62.4 51H67M65 47.6H69" stroke="${e.kd}" stroke-width="1.5" stroke-linecap="round" opacity=".85"/><path d="M64 44L70 57" stroke="#e9a0a0" stroke-width=".8" opacity=".7"/>`};var k=(e,r,t,o=4.8)=>`<circle cx="${r}" cy="${t}" r="${o}" fill="${e.k}"/>`,C=(e)=>`<path d="M31 94C29 79 35 71 50 71C65 71 71 79 69 94Z" fill="${e}"/>`,w=(e)=>`<ellipse cx="28.5" cy="80" rx="5.2" ry="8" transform="rotate(14 28.5 80)" fill="${e}"/><ellipse cx="71.5" cy="80" rx="5.2" ry="8" transform="rotate(-14 71.5 80)" fill="${e}"/>`,F=(e,r,t)=>`<path d="M${e} ${r-4}l1.5 3.2 3.5.4-2.6 2.4.7 3.5-3.1-1.8-3.1 1.8.7-3.5-2.6-2.4 3.5-.4z" fill="${t}"/>`,Le={robe:(e)=>w(e.p)+C(e.p)+`<path d="M30 89H70L69.6 94H30.4Z" fill="${e.t}"/><path d="M31 82.6Q50 87 69 82.6" fill="none" stroke="#8b5a33" stroke-width="2.6"/><path d="M50 83.6V92" stroke="#8b5a33" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="93" r="1.8" fill="${e.t}"/>`+F(50,77,e.t)+k(e,27,88,4.4),scholar:(e)=>w(e.pd)+C(e.pd)+`<path d="M39 71.5L50 85L61 71.5Z" fill="${e.s}"/><path d="M50 85V94" stroke="${e.t}" stroke-width="1.6"/><path d="M33 88H67" stroke="${e.p}" stroke-width="2.4" opacity=".7"/>`,armor:(e)=>w("#c7cfdd")+C("#c7cfdd")+`<g fill="none" stroke="#9aa5ba" stroke-width=".9" stroke-linecap="round" opacity=".8"><path d="M24 79q2 1.6 4 0t4 0M23.4 84q2 1.6 4 0t4 0M68 79q2 1.6 4 0t4 0M68.6 84q2 1.6 4 0t4 0"/></g><ellipse cx="50" cy="72.6" rx="12.6" ry="3.6" fill="#9aa5ba"/><path d="M37 73L63 73L66.4 94H33.6Z" fill="${e.p}"/><path d="M36 73.4L38.6 73.4L37 76ZM64 73.4L61.4 73.4L63 76Z" fill="#9aa5ba"/><path d="M33.8 89H66.2L66.4 94H33.6Z" fill="${e.t}"/><path d="M34.6 83.6H65.4" stroke="#8b5a33" stroke-width="2.4"/><rect x="47" y="81.8" width="6" height="3.6" rx="1" fill="${e.t}"/><path d="M50 74.6V80M47.4 77H52.6" stroke="${e.t}" stroke-width="2.2" stroke-linecap="round"/><circle cx="31" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="29.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/><circle cx="69" cy="76" r="5.6" fill="#9aa5ba"/><circle cx="67.6" cy="74.2" r="1.7" fill="#fff" opacity=".6"/>`,plate:(e)=>w("#e6eaf3")+C("#e6eaf3")+`<path d="M44 71H56L58 94H42Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M50 74V92M45 81H55" stroke="${e.p}" stroke-width="3"/><circle cx="31" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="69" cy="75.5" r="6.4" fill="${e.t}"/><circle cx="29.5" cy="73.5" r="2" fill="#fff" opacity=".6"/><circle cx="67.5" cy="73.5" r="2" fill="#fff" opacity=".6"/>`,apron:(e)=>w(e.s)+C(e.s)+'<path d="M38 71H62L66 94H34Z" fill="#a6713f"/><path d="M38 71L42 75M62 71L58 75" stroke="#7a4f27" stroke-width="2"/><rect x="43.5" y="82" width="13" height="8" rx="2" fill="#8d5c30"/><rect x="24" y="85" width="9" height="3" rx="1.5" fill="#8d5c30"/>',chef:(e)=>w("#f6f1e4")+C("#f6f1e4")+`<path d="M33 89H67L68.2 94H31.8Z" fill="${e.s}"/><path d="M42 71.6L50 80L58 71.6" fill="none" stroke="#d6cdb4" stroke-width="1.6"/><path d="M46 74.6L50 78.4L54 74.6" fill="none" stroke="${e.p}" stroke-width="1.4"/><path d="M33 83.4Q50 88 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.6"/><path d="M50 84.4V91.6" stroke="#a6713f" stroke-width="1.8" stroke-linecap="round"/><path d="M24.5 86.4h7M68.5 86.4h7" stroke="#d6cdb4" stroke-width="1.4"/>`,cloak:(e)=>`<path d="M26 79Q50 66 74 79L72 94H28Z" fill="${e.pd}"/>`+w(e.p)+C(e.p)+`<path d="M32 87H68" stroke="#8b5a33" stroke-width="3.2"/><rect x="46" y="84.8" width="8" height="4.4" rx="1.4" fill="${e.t}"/><circle cx="50" cy="72.5" r="2.6" fill="${e.t}"/>`,tunic:(e)=>w(e.p)+C(e.p)+`<path d="M31 83L69 76V82L31 89Z" fill="${e.s}"/><circle cx="44" cy="90" r="1.8" fill="${e.t}"/><circle cx="56" cy="88" r="1.8" fill="${e.t}"/><path d="M37 71.5q3 5 6.3 0t6.4 0t6.3 0t6.3 0V75H37Z" fill="${e.s}"/>`,coat:(e)=>w(e.pd)+C(e.pd)+`<path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M37 71.6Q50 78 63 71.6L64 74.6Q50 81 36 74.6Z" fill="${e.s}"/><circle cx="50" cy="80.4" r="1.7" fill="${e.t}"/><circle cx="50" cy="85.8" r="1.7" fill="${e.t}"/><path d="M32 89.6Q50 93.6 68 89.6" fill="none" stroke="${e.t}" stroke-width="2"/><path d="M24.5 87.4h7M68.5 87.4h7" stroke="${e.t}" stroke-width="1.8"/>`,overalls:(e)=>w("#efe6cf")+C(e.p)+`<path d="M40 71.6L50 76L60 71.6V94H40Z" fill="#efe6cf"/><path d="M50 76V94" stroke="${e.pd}" stroke-width="1" opacity=".6"/><path d="M46.4 78.4h7.2M46.4 83h7.2M46.4 87.6h7.2" stroke="${e.pd}" stroke-width="1.2" stroke-linecap="round"/><path d="M31.4 89Q50 93 68.6 89V94H31.4Z" fill="${e.pd}"/><path d="M33 83.4Q50 87.6 67 83.4" fill="none" stroke="#a6713f" stroke-width="2.4"/><rect x="46.6" y="81.4" width="6.8" height="4.2" rx="1" fill="${e.t}"/>`,vest:(e)=>w(e.s)+C(e.p)+`<path d="M38 71.5L50 94H36ZM62 71.5L50 94H64Z" fill="${e.s}" opacity="0"/><path d="M50 72V94" stroke="${e.ink}" stroke-width="1" opacity=".35"/><path d="M36.6 73.6Q50 80 63.4 73.6" fill="none" stroke="${e.t}" stroke-width="1.4"/><circle cx="50" cy="80.6" r="1.6" fill="${e.t}"/><circle cx="50" cy="86.4" r="1.6" fill="${e.t}"/><path d="M38 72Q35 84 50 90Q65 84 62 72" fill="none" stroke="${e.t}" stroke-width="1.8" stroke-linecap="round"/><circle cx="50" cy="90.4" r="2.4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,habit:(e)=>w(e.p)+`<path d="M29 94C27 78 35 71 50 71C65 71 73 78 71 94Z" fill="${e.p}"/><path d="M40 71.5L50 82L60 71.5" fill="none" stroke="${e.s}" stroke-width="3.2" stroke-linejoin="round"/><path d="M29 87H71" stroke="${e.s}" stroke-width="3"/><circle cx="50" cy="87" r="2" fill="${e.t}"/>`,surplice:(e)=>w(e.s)+C(e.s)+`<path d="M46 74H54V79H59V85H54V93H46V85H41V79H46Z" fill="${e.p}"/><path d="M31 90H69" stroke="${e.sd}" stroke-width="2"/>`,motley:(e)=>w(e.p)+C(e.p)+`<path d="M50 71C65 71 71 79 69 94H50Z" fill="${e.s}"/><path d="M71.5 72A8 8 0 0 1 71.5 88Z" fill="${e.s}" opacity="0"/><path d="M41 82L50 90L59 82L50 74Z" fill="${e.t}" opacity=".9"/><path d="M36 71.5q3 5 6.5 0t7.5 0t7.5 0t6.5 0V75H36Z" fill="${e.t}"/>`,sailor:(e)=>w(e.s)+C(e.s)+`<path d="M40 71.6L50 79L60 71.6" fill="none" stroke="${e.pd}" stroke-width="2.2" stroke-linejoin="round"/><path d="M45 73.6L55 73.6M46.4 76.4L53.6 76.4" stroke="${e.pd}" stroke-width="1.1" stroke-linecap="round"/><path d="M31 83.4Q50 88 69 83.4" fill="none" stroke="#d8c38c" stroke-width="3" stroke-linecap="round" stroke-dasharray="3.4 1.6"/><path d="M50 85V92" stroke="#d8c38c" stroke-width="2.2" stroke-linecap="round"/><path d="M31 89.6Q50 93.6 69 89.6V94H31Z" fill="${e.p}"/><rect x="55.6" y="75.6" width="6" height="5.4" rx="1" fill="${e.p}" opacity=".85"/>`};var ce="#c7cfdd",X="#9aa5ba",Ie={none:()=>"",wizard:(e)=>`<path d="M30 31C32 20 42 11 60 3C57 13 62 22 70 31Z" fill="${e.p}"/><path d="M30 31C32 20 42 11 60 3" fill="none" stroke="#fff" stroke-width="1.6" opacity=".35"/><ellipse cx="50" cy="30" rx="37" ry="7.6" fill="${e.pd}"/><path d="M30.6 27.6Q50 33 69.4 27.6L70 31Q50 36.5 30 31Z" fill="${e.t}"/>`+F(49,16,e.t),helm:(e)=>`<path d="M50 24C42 6 66 -1 80 12C68 9 60 15 57 25Z" fill="${e.p}"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="${ce}"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".55"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><circle cx="50" cy="26.5" r="3.4" fill="${e.t}"/>`,mortar:(e)=>`<path d="M30 29L33 13Q50 8 67 13L70 29Q50 34 30 29Z" fill="${e.p}"/><path d="M41 10.6L39 30.4M50 9.2V32M59 10.6L61 30.4" fill="none" stroke="${e.pd}" stroke-width="2" stroke-linecap="round"/><path d="M27.6 29.4Q50 36 72.4 29.4V36.6Q50 43.4 27.6 36.6Z" fill="${e.pd}"/><path d="M28 33Q50 39.6 72 33" fill="none" stroke="${e.t}" stroke-width="1.6" opacity=".9"/><circle cx="50" cy="8.2" r="3.2" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,goggcap:(e)=>`<path d="M22.4 42Q20.4 53 24.4 61Q29 59.6 30 52L30.4 42Z" fill="${e.pd}"/><path d="M77.6 42Q79.6 53 75.6 61Q71 59.6 70 52L69.6 42Z" fill="${e.pd}"/><path d="M24.4 61l-1 4.4M75.6 61l1 4.4" stroke="${e.t}" stroke-width="1.4" stroke-linecap="round"/><path d="M23 42C22 20 78 20 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M50 25V34.6" fill="none" stroke="${e.pd}" stroke-width="1.6" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pd}"/><circle cx="36.5" cy="37.8" r="1.4" fill="${e.t}"/><circle cx="50" cy="36.4" r="1.4" fill="${e.t}"/><circle cx="63.5" cy="37.8" r="1.4" fill="${e.t}"/>`,hood:(e)=>`<path d="M21 53C20 26 80 26 79 53C76 40 66 33.5 50 33.5C34 33.5 24 40 21 53Z" fill="${e.p}"/><path d="M21 53C20 26 80 26 79 53" fill="none" stroke="${e.pd}" stroke-width="2"/><path d="M70 33Q90 24 93 8Q76 12 66 30Z" fill="${e.t}"/><path d="M72 29Q84 20 91 10" fill="none" stroke="${e.td}" stroke-width="1.2"/>`,beret:(e)=>`<path d="M27 36C20 14 56 6 70 16C84 26 80 36 74 40Q50 33 27 36Z" fill="${e.p}"/><path d="M60 12C70 10 76 14 74 18" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round"/><path d="M22 38C22 30 78 30 78 38C78 47 66 43 50 43C34 43 22 47 22 38Z" fill="${e.pd}"/><path d="M26 38.4Q50 33 74 38.4" fill="none" stroke="${e.t}" stroke-width="1.6" stroke-dasharray="2.6 2.2" stroke-linecap="round"/><path d="M71 17C88 22 93 42 88 66L83 64C86 46 80 34 70 26Z" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/><circle cx="85.4" cy="67" r="2.6" fill="${e.t}"/>`,goggles:(e)=>`<path d="M23 42C22 26 40 15 55 12C62 9 66 13 61 17C73 23 78 32 77 42Q50 33 23 42Z" fill="${e.p}"/><path d="M36 30Q50 21 62 24" fill="none" stroke="${e.pd}" stroke-width="1.6" stroke-linecap="round" opacity=".6"/><path d="M22.4 38.5Q50 29.5 77.6 38.5L77 43.5Q50 34.5 23 43.5Z" fill="${e.pl}"/><circle cx="50" cy="36.6" r="1.8" fill="${e.t}"/>`,coif:(e)=>`<path d="M19 55C17 22 83 22 81 55C77 38 65 32 50 32C35 32 23 38 19 55Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M24 44Q50 30 76 44" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M48.4 18H51.6V23H56.4V26H51.6V32H48.4V26H43.6V23H48.4Z" fill="${e.p}" transform="translate(0 4)"/>`,tallcap:(e)=>`<path d="M31 38L36 12Q50 4 64 12L69 38Z" fill="${e.pd}"/><path d="M40 12Q50 8 60 12" fill="none" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".3"/><path d="M28 39C28 32 72 32 72 39C72 45 28 45 28 39Z" fill="${e.pl}" stroke="${e.p}" stroke-width="1.2"/><path d="M33 38l2.4 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2 2.6-2.2 2.6 2.2" fill="none" stroke="${e.p}" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" opacity=".7"/><circle cx="62" cy="35" r="2.8" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M62 33Q74 20 80 8Q77 24 65 36Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/>`,tricorn:(e)=>`<path d="M7 38Q50 24 93 38Q50 49 7 38Z" fill="${e.pd}"/><path d="M28 37C26 14 74 14 72 37Q50 31 28 37Z" fill="${e.p}"/><path d="M27.4 34.6Q50 41 72.6 34.6" fill="none" stroke="${e.t}" stroke-width="2.4"/><path d="M50 36C41 36 40 26 42 23.6Q46 21 50 20.4Q54 21 58 23.6C60 26 59 36 50 36Z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><path d="M50 35V21M45.6 34L43.6 25M54.4 34L56.4 25" fill="none" stroke="${e.td}" stroke-width="1"/>`,turban:(e)=>`<path d="M21 46C19 18 81 18 79 46C70 34 30 34 21 46Z" fill="${e.pl}"/><path d="M26 38Q50 22 74 38M23 44Q50 28 77 44" fill="none" stroke="${e.p}" stroke-width="2.4"/><path d="M50 22l2.6 4 4.6.6-3.4 3.2.9 4.6-4.7-2.4-4.7 2.4.9-4.6-3.4-3.2 4.6-.6z" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,softcap:(e)=>`<path d="M25 38C14 24 28 12 50 12C72 12 86 24 75 38Z" fill="${e.pl}"/><path d="M33 22Q50 14 67 22" fill="none" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round" opacity=".55"/><path d="M22 37Q50 27 78 37V44Q50 34 22 44Z" fill="${e.p}"/><path d="M25 38.6Q50 29.6 75 38.6" fill="none" stroke="${e.t}" stroke-width="1.4" stroke-dasharray="2.4 2" stroke-linecap="round"/><circle cx="50" cy="12.4" r="2.4" fill="${e.p}"/>`,hardhat:(e)=>`<path d="M25 40C23 10 77 10 75 40Z" fill="${ce}" stroke="${X}" stroke-width="1.4"/><path d="M50 12V37" fill="none" stroke="${X}" stroke-width="2.4"/><path d="M30 25Q36 17 44 15" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" opacity=".7"/><rect x="21.6" y="34.4" width="56.8" height="6" rx="3" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="34" cy="37.4" r="1.3" fill="${X}"/><circle cx="50" cy="37.4" r="1.3" fill="${X}"/><circle cx="66" cy="37.4" r="1.3" fill="${X}"/>`,wreath:(e)=>`<g fill="#4fae6c"><ellipse cx="28" cy="40" rx="6" ry="3.2" transform="rotate(60 28 40)"/><ellipse cx="31" cy="31" rx="6" ry="3.2" transform="rotate(30 31 31)"/><ellipse cx="40" cy="26" rx="6" ry="3.2" transform="rotate(8 40 26)"/><ellipse cx="50" cy="24" rx="6" ry="3.2"/><ellipse cx="60" cy="26" rx="6" ry="3.2" transform="rotate(-8 60 26)"/><ellipse cx="69" cy="31" rx="6" ry="3.2" transform="rotate(-30 69 31)"/><ellipse cx="72" cy="40" rx="6" ry="3.2" transform="rotate(-60 72 40)"/></g><g fill="#2f8a50"><ellipse cx="36" cy="28" rx="5" ry="2.6" transform="rotate(-20 36 28)"/><ellipse cx="64" cy="28" rx="5" ry="2.6" transform="rotate(20 64 28)"/></g><circle cx="50" cy="24" r="2.6" fill="${e.p}"/><circle cx="31" cy="32" r="2.2" fill="${e.t}"/><circle cx="69" cy="32" r="2.2" fill="${e.t}"/>`,toque:(e)=>`<path d="M26 40C22 26 34 17 50 17C66 17 78 26 74 40Z" fill="#fff" stroke="#d9deeb" stroke-width="1.2"/><path d="M36 22Q50 16 64 22M31 31Q50 24 69 31" fill="none" stroke="#e1e5f0" stroke-width="1.4" stroke-linecap="round"/><path d="M23 38Q50 29 77 38Q79 44 73 44Q50 36 27 44Q21 44 23 38Z" fill="#f3f5fb" stroke="#d9deeb" stroke-width="1.2"/><path d="M74 38Q86 38 88 48M75 41Q82 50 79 58" fill="none" stroke="#d9deeb" stroke-width="2.2" stroke-linecap="round"/><circle cx="50" cy="17.4" r="1.8" fill="${e.p}"/>`,kettle:(e)=>`<path d="M28 33C28 8 72 8 72 33Z" fill="${ce}"/><ellipse cx="50" cy="33" rx="38" ry="6.4" fill="${X}"/><path d="M34 22Q50 12 66 22" fill="none" stroke="#fff" stroke-width="2" opacity=".5"/><circle cx="50" cy="17" r="2.4" fill="${e.t}"/><path d="M28 27H72" stroke="${e.p}" stroke-width="3"/>`,cavalier:(e)=>`<path d="M63 18Q82 2 94 6Q91 26 72 30Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.4"/><path d="M66 21Q80 10 92 7" fill="none" stroke="${e.t}" stroke-width="1"/><path d="M31 36C28 12 72 12 69 36Z" fill="${e.p}"/><path d="M21 38Q23 29 31 33Q50 40 69 33Q77 29 79 38Q50 47 21 38Z" fill="${e.pd}"/><path d="M30.4 32.4Q50 38.4 69.6 32.4" fill="none" stroke="${e.t}" stroke-width="2.2"/><circle cx="62" cy="33" r="2.6" fill="${e.t}" stroke="${e.td}" stroke-width="1"/>`,cowl:(e)=>`<path d="M19 54C16 30 38 14 58 3C58 18 82 32 81 54C75 41 63 34 50 34C37 34 25 41 19 54Z" fill="${e.pd}"/><path d="M26 44Q50 30 74 44" fill="none" stroke="${e.ink}" stroke-width="2" opacity=".3"/>`,headband:(e)=>`<path d="M22 39Q50 29 78 39V44.5Q50 34.5 22 44.5Z" fill="${e.p}"/><path d="M76 40Q86 38 90 46M76 42Q88 46 88 56" fill="none" stroke="${e.p}" stroke-width="3.2" stroke-linecap="round"/><circle cx="50" cy="31.5" r="2.4" fill="${e.t}"/>`,fcap:(e)=>`<path d="M28 37C27 15 71 11 73 36Z" fill="${e.pd}"/><path d="M60 24Q78 22 94 8Q87 29 70 35Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.2"/><path d="M62 27Q79 22 92 10" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M14 33Q50 26 86 33Q76 42 50 41Q24 42 14 33Z" fill="${e.p}"/><path d="M28 33Q50 38 72 33" fill="none" stroke="${e.t}" stroke-width="1.8"/>`,sailor:(e)=>`<path d="M9 37Q50 26 91 37Q50 49 9 37Z" fill="#e8d194" stroke="#c9a867" stroke-width="1.2"/><path d="M29 36C27 15 73 15 71 36Q50 31 29 36Z" fill="#f2e0a8"/><path d="M29.4 33.2Q50 38.4 70.6 33.2" fill="none" stroke="${e.p}" stroke-width="3.4"/><path d="M36 22Q50 17 64 22M33 28Q50 22 67 28" fill="none" stroke="#d9c07a" stroke-width="1.2" stroke-linecap="round"/><path d="M14 37.6Q50 44 86 37.6" fill="none" stroke="#c9a867" stroke-width="1" opacity=".7"/>`,jester:(e)=>`<path d="M26 40C14 30 12 14 18 6C28 16 32 26 42 33Z" fill="${e.p}"/><path d="M74 40C86 30 88 14 82 6C72 16 68 26 58 33Z" fill="${e.s}" stroke="${e.sd}" stroke-width="1"/><path d="M26 40C26 28 74 28 74 40Q50 34 26 40Z" fill="${e.pd}"/><circle cx="18" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="82" cy="6" r="4" fill="${e.t}" stroke="${e.td}" stroke-width="1"/><circle cx="50" cy="31" r="3.4" fill="${e.t}"/>`,winghelm:(e)=>`<path d="M24 36Q6 31 3 14Q18 14 30 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M76 36Q94 31 97 14Q82 14 70 27Z" fill="${e.s}" stroke="${e.t}" stroke-width="1.6"/><path d="M23 47C21 23 79 23 77 47L72 39Q50 31 28 39Z" fill="#e6eaf3"/><path d="M28 39Q50 31 72 39" fill="none" stroke="${e.t}" stroke-width="3"/><path d="M26 36Q50 24 74 36" fill="none" stroke="#fff" stroke-width="2" opacity=".7"/><path d="M50 26l2.4 4.4 4.8.8-3.4 3.4.8 4.8-4.6-2.2-4.6 2.2.8-4.8-3.4-3.4 4.8-.8z" fill="${e.t}" transform="translate(0 -1)"/>`};var I="#8b5a33",et="#a6713f",y=(e)=>e,Qe={staff:"73px 82px",shield:"27px 82px",scroll:"76px 76px",hammer:"79px 84px",bow:"78px 70px",lute:"75px 70px",flask:"73px 66px",quill:"72px 82px",tome:"78px 76px",bell:"76px 62px",keys:"78px 62px",map:"77px 58px",telescope:"76px 74px",wrench:"78px 86px",spade:"76px 60px",ladle:"78px 78px",lantern:"76px 62px",seal:"76px 66px",dagger:"78px 86px",beads:"78px 62px",bird:"78px 76px",anchor:"76px 76px",marotte:"76px 62px",sword:"76px 82px"},He={staff:(e)=>y(`<circle class="glow" cx="73" cy="15" r="13" fill="${e.gl}"/><path d="M73 15V92" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><circle cx="73" cy="14" r="6.4" fill="${e.gl}" stroke="${e.t}" stroke-width="2"/><circle cx="71" cy="12" r="1.8" fill="#fff" opacity=".85"/>${k(e,73,82)}`),shield:(e)=>y(`<path class="glow" d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="none" stroke="${e.gl}" stroke-width="6"/><path d="M17 70H37V80Q37 89 27 93.5Q17 89 17 80Z" fill="${e.s}" stroke="${e.t}" stroke-width="2"/><path d="M17 70H27V93.5Q17 89 17 80Z" fill="${e.p}"/>`+F(27,79,e.t)),scroll:(e)=>y(`<g transform="rotate(-16 76 74)"><path class="glow" d="M76 38l2.4 5.4 5.7.6-4.3 3.9 1.2 5.7-5-2.9-5 2.9 1.2-5.7-4.3-3.9 5.7-.6z" fill="${e.t}"/><rect x="69.5" y="56" width="13" height="30" rx="2" fill="#fbefd0" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="56" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><ellipse cx="76" cy="86" rx="7.4" ry="2.8" fill="#f1d99b" stroke="#c9a867" stroke-width="1.2"/><path d="M72.5 63H79.5M72.5 68H79.5M72.5 73H77" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/></g>${k(e,75.5,74,4.6)}`),hammer:(e)=>y(`<path class="glow" d="M89 49l1.8 4 4.2.4-3.2 2.9.9 4.2-3.7-2.2-3.7 2.2.9-4.2-3.2-2.9 4.2-.4z" fill="${e.t}"/><path d="M78 95L82 70" stroke="${I}" stroke-width="4.4" stroke-linecap="round"/><g transform="rotate(8 81 66)"><rect x="68" y="59" width="26" height="14" rx="3.4" fill="#aab3c5" stroke="#7d879b" stroke-width="1.4"/><rect x="68" y="59" width="7" height="14" rx="3" fill="#8b95a9"/><path d="M73 61.4H90" stroke="#fff" stroke-width="1.6" stroke-linecap="round" opacity=".6"/></g>${k(e,79.4,85)}`),bow:(e)=>y(`<circle class="glow" cx="94" cy="70" r="8" fill="${e.gl}"/><path d="M74 40Q98 68 74 96" fill="none" stroke="${I}" stroke-width="4.2" stroke-linecap="round"/><path d="M74 40V96" stroke="#9aa5ba" stroke-width="1" opacity=".9"/><path d="M66 70H94" stroke="${I}" stroke-width="1.8" stroke-linecap="round"/><path d="M93 66.5L99 70L93 73.5Z" fill="${e.t}"/><path d="M66 70l-3.4-3M66 70l-3.4 3" stroke="${e.p}" stroke-width="1.8" stroke-linecap="round"/>${k(e,78,70)}`),lute:(e)=>y(`<g transform="rotate(18 76 80)"><path d="M74.2 70V44" stroke="${I}" stroke-width="3.8"/><rect x="72.6" y="38" width="6.4" height="8" rx="1.6" fill="#6d4426"/><ellipse cx="76" cy="82" rx="11.4" ry="12.6" fill="#cd8b4a" stroke="#9a5f2c" stroke-width="1.6"/><circle cx="76" cy="82" r="3.6" fill="${e.ink}"/><path d="M74.8 46V88M77.2 46V88" stroke="#fff" stroke-width=".8" opacity=".85"/></g><g class="glow"><circle cx="89" cy="54" r="2.8" fill="${e.gl}"/><path d="M91.5 54V41q4.2 1 4.4 6" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g>${k(e,75,68,4.6)}`),flask:(e)=>y(`<circle class="glow" cx="73.5" cy="78" r="17" fill="${e.gl}"/><rect x="70" y="56" width="7" height="12" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.4"/><rect x="69" y="51.5" width="9" height="5.6" rx="1.6" fill="#b7773f"/><circle cx="73.5" cy="78" r="12.4" fill="#eaf7fb" stroke="#9fc9d8" stroke-width="1.6"/><path d="M61.4 77Q73.5 72.6 85.6 77A12.2 12.2 0 0 1 61.4 77Z" fill="${e.gl}"/><circle cx="70" cy="80" r="1.8" fill="#fff" opacity=".8"/><circle cx="76.5" cy="83.5" r="1.2" fill="#fff" opacity=".8"/>${k(e,73.5,64)}`),quill:(e)=>y(`<circle class="glow" cx="92" cy="30" r="8" fill="${e.t}"/><path d="M70 88C70 62 80 40 92 30C95 50 86 72 70 88Z" fill="${e.s}" stroke="${e.td}" stroke-width="1.3"/><path d="M70 88Q80 58 92 30" fill="none" stroke="${e.td}" stroke-width="1.5"/><path d="M80 52Q86 54 89 48M77 62Q84 63 88 57" fill="none" stroke="${e.sd}" stroke-width="1.3"/><path d="M70 88l-3 5" stroke="${e.ink}" stroke-width="2" stroke-linecap="round"/>${k(e,72.4,80)}`),tome:(e)=>y(`<circle class="glow" cx="80" cy="60" r="9" fill="${e.t}"/><g transform="rotate(-12 78 76)"><rect x="65" y="63" width="25" height="24" rx="2.4" fill="${e.pd}" stroke="${e.ink}" stroke-width="1" stroke-opacity=".3"/><rect x="67.4" y="65.4" width="20" height="19" rx="1.4" fill="none" stroke="${e.t}" stroke-width="1.2"/><path d="M90 66V84" stroke="#f8efd6" stroke-width="3"/><rect x="72" y="71" width="9" height="7" rx="1.4" fill="${e.t}"/></g>${k(e,66,80,4.4)}`),bell:(e)=>y(`<g class="glow"><path d="M90 66q4 6 0 12M94 62q7 10 0 20" fill="none" stroke="${e.gl}" stroke-width="2" stroke-linecap="round"/></g><path d="M66 85C70 83 69 68 76 66C83 68 82 83 86 85Z" fill="${e.t}" stroke="${e.td}" stroke-width="1.4" stroke-linejoin="round"/><circle cx="76" cy="87.6" r="2.4" fill="${e.td}"/><rect x="73.4" y="60" width="5.2" height="6.4" rx="1.6" fill="${I}"/>${k(e,76,60,4.4)}`),keys:(e)=>y(`<circle class="glow" cx="79" cy="80" r="14" fill="${e.t}"/><circle cx="78" cy="62" r="5.6" fill="none" stroke="${e.t}" stroke-width="2.6"/><path d="M82 66L90 88M90 88L93 87M87 82L90 81" fill="none" stroke="${e.t}" stroke-width="2.6" stroke-linecap="round"/><path d="M74 66L70 84M70 84L73 85M71 78L74 78" fill="none" stroke="${e.td}" stroke-width="2.6" stroke-linecap="round"/>${k(e,78,62,4.4)}`),map:(e)=>y(`<circle class="glow" cx="81" cy="76" r="8" fill="${e.p}"/><rect x="66" y="58" width="24" height="29" rx="2" fill="#f3e2b5" stroke="#c9a867" stroke-width="1.3"/><path d="M70 66Q78 62 82 70T86 80M70 82L74 76" fill="none" stroke="#8ec7d8" stroke-width="2" stroke-linecap="round" stroke-dasharray="3 2.4"/><path d="M81 71.4l1.4 3.6 3.6 1.4-3.6 1.4-1.4 3.6-1.4-3.6-3.6-1.4 3.6-1.4z" fill="${e.p}"/>${k(e,78,58,4.4)}`),telescope:(e)=>y(`<circle class="glow" cx="76" cy="72" r="17" fill="${e.gl}"/><circle cx="76" cy="54.6" r="3.6" fill="none" stroke="${e.td}" stroke-width="2"/><path d="M73 57.4Q76 60 79 57.4" fill="none" stroke="${e.t}" stroke-width="2.4"/><circle cx="76" cy="72" r="13.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.6"/><circle cx="76" cy="72" r="10" fill="#fbefd0" stroke="${e.td}" stroke-width="1"/><path d="M66 72H86M76 62V82" stroke="${e.td}" stroke-width="1.2"/><circle cx="76" cy="72" r="5.6" fill="none" stroke="${e.td}" stroke-width="1"/><path d="M70 66.6L82 77.4" stroke="${e.p}" stroke-width="1.6" stroke-linecap="round"/><circle cx="82" cy="65.6" r="1.8" fill="${e.p}"/>${k(e,76,57,4.4)}`),wrench:(e)=>y(`<path class="glow" d="M90 52l1.6 3.6 3.8.4-2.8 2.6.8 3.8-3.4-2-3.4 2 .8-3.8-2.8-2.6 3.8-.4z" fill="${e.t}"/><path d="M79 60L71 93M79 60L87 91" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M79 60L71 93M79 60L87 91" stroke="#fff" stroke-width="1" stroke-linecap="round" opacity=".5"/><path d="M71 93l-.8 2.2M87 91l.8 2.2" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><path d="M73.4 81Q79 85 84.6 81" fill="none" stroke="#7d879b" stroke-width="1.6" stroke-linecap="round"/><circle cx="79" cy="60" r="3.4" fill="${e.t}" stroke="${e.td}" stroke-width="1.2"/>${k(e,79,63.4,4.4)}`),spade:(e)=>y(`<g class="glow"><ellipse cx="88" cy="62" rx="4.4" ry="2.4" transform="rotate(-30 88 62)" fill="#4fae6c"/><ellipse cx="91" cy="70" rx="4" ry="2.2" transform="rotate(20 91 70)" fill="#4fae6c"/></g><path d="M76 92V56" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M70 56H82" stroke="${I}" stroke-width="3.4" stroke-linecap="round"/><path d="M69.5 78H82.5V88Q76 97 69.5 88Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round"/>${k(e,76,59)}`),ladle:(e)=>y(`<g class="glow"><path d="M88 48q-3-4 0-8M93 50q-3-4 0-8" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/></g><path d="M74 94L82 62" stroke="${I}" stroke-width="4" stroke-linecap="round"/><path d="M73 58H93A10 8 0 0 1 73 58Z" fill="#aab3c5" stroke="#7d879b" stroke-width="1.3" stroke-linejoin="round" transform="rotate(-14 83 58)"/><ellipse cx="83" cy="57" rx="8" ry="2" fill="#c97b3a" transform="rotate(-14 83 57)"/>${k(e,76.4,82)}`),lantern:(e)=>y(`<circle class="glow" cx="77" cy="78" r="20" fill="#ffd84a"/><path d="M69 66Q77 52 85 66" fill="none" stroke="${e.td}" stroke-width="2.2"/><rect x="69" y="66" width="16" height="4" rx="1.6" fill="${e.t}"/><rect x="70.4" y="70" width="13.2" height="16" fill="#fff3c2" stroke="${e.td}" stroke-width="1.4"/><path d="M77 73Q81 78 77 83Q73 78 77 73Z" fill="#ffa63a"/><rect x="69" y="86" width="16" height="4" rx="1.6" fill="${e.t}"/>${k(e,77,60,4.4)}`),seal:(e)=>y(`<circle class="glow" cx="79" cy="78" r="9" fill="${e.p}"/><g transform="rotate(-10 78 74)"><rect x="66" y="64" width="26" height="18" rx="2" fill="#fff7e6" stroke="#d3bd8e" stroke-width="1.2"/><path d="M66 65L79 75L92 65" fill="none" stroke="#d3bd8e" stroke-width="1.2"/><circle cx="79" cy="75" r="4.6" fill="${e.p}" stroke="${e.pd}" stroke-width="1"/>${F(79,75,e.t).replace('d="M','transform="scale(.6) translate(52 50)" d="M')}</g>${k(e,70,82,4.4)}`),dagger:(e)=>y(`<path class="glow" d="M78 50V80" stroke="#fff" stroke-width="5" stroke-linecap="round"/><path d="M78 52L82.4 78H73.6Z" fill="#dfe5f0" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M78 56V76" stroke="#fff" stroke-width="1.2" opacity=".7"/><rect x="71" y="78" width="14" height="3.4" rx="1.6" fill="${e.t}"/><rect x="76.4" y="81" width="3.2" height="8" fill="${I}"/>${k(e,78,86)}`),beads:(e)=>y(`<g class="glow"><circle cx="78" cy="78" r="12" fill="${e.t}"/></g><g fill="${e.t}" stroke="${e.td}" stroke-width="1"><circle cx="78" cy="66" r="2.4"/><circle cx="84.4" cy="68.4" r="2.4"/><circle cx="87" cy="75" r="2.4"/><circle cx="85.6" cy="82" r="2.4"/><circle cx="80.4" cy="86.6" r="2.4"/><circle cx="73.6" cy="86.6" r="2.4"/><circle cx="68.4" cy="82" r="2.4"/><circle cx="67" cy="75" r="2.4"/><circle cx="71.6" cy="68.4" r="2.4"/></g>${k(e,78,62,4.4)}`),bird:(e)=>y(`<circle class="glow" cx="88" cy="55" r="8" fill="${e.t}"/><ellipse cx="80" cy="64" rx="9" ry="6.4" transform="rotate(-24 80 64)" fill="#8a6a4a"/><path d="M72 70L66 76L76 70Z" fill="#6f5338"/><path d="M76 66Q82 64 86 66Q82 70 78 70Z" fill="#f1e2c4"/><circle cx="87" cy="56" r="5" fill="#8a6a4a"/><path d="M91 55L96 57L91 59Z" fill="${e.t}"/><circle cx="88" cy="55" r="1.3" fill="${e.ink}"/><path d="M78 70V75" stroke="${e.t}" stroke-width="2"/><circle cx="78" cy="79" r="6.2" fill="${et}" stroke="#7a4f27" stroke-width="1.2"/>`),anchor:(e)=>y(`<path class="glow" d="M76 54l2 4.4 4.8.5-3.6 3.2 1 4.7-4.2-2.4-4.2 2.4 1-4.7-3.6-3.2 4.8-.5z" fill="${e.t}" transform="translate(11 -4)"/><circle cx="76" cy="58" r="3.4" fill="none" stroke="#aab3c5" stroke-width="2.4"/><path d="M76 61.4V90M69.6 66H82.4M65 82Q76 98 87 82" fill="none" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/><path d="M65 82L63 86M87 82L89 86" stroke="#aab3c5" stroke-width="3.4" stroke-linecap="round"/>${k(e,76,74)}`),marotte:(e)=>y(`<g class="glow"><circle cx="66" cy="40" r="3" fill="${e.t}"/><circle cx="86" cy="40" r="3" fill="${e.t}"/></g><path d="M76 94V52" stroke="${I}" stroke-width="4" stroke-linecap="round"/><circle cx="76" cy="46" r="7" fill="${e.k}" stroke="${e.kd}" stroke-width="1"/><path d="M70 42Q64 36 66 40Q68 42 71 44ZM82 42Q88 36 86 40Q84 42 81 44Z" fill="${e.p}"/><path d="M69 42C64 38 62 36 66 40ZM83 42C88 38 90 36 86 40Z" fill="none"/><circle cx="74" cy="46" r="1" fill="${e.ink}"/><circle cx="78" cy="46" r="1" fill="${e.ink}"/><path d="M73.4 49Q76 51.4 78.6 49" fill="none" stroke="${e.ink}" stroke-width="1" stroke-linecap="round"/>${k(e,76,62,4.4)}`),sword:(e)=>y(`<path class="glow" d="M76 20V76" stroke="#fff" stroke-width="8" stroke-linecap="round"/><path d="M76 17L80.4 24V76H71.6V24Z" fill="#e1e7f2" stroke="#9aa5ba" stroke-width="1.2" stroke-linejoin="round"/><path d="M76 24V74" stroke="#fff" stroke-width="1.4" opacity=".8"/><rect x="67" y="76" width="18" height="4" rx="2" fill="${e.t}"/><rect x="74.4" y="80" width="3.6" height="8" fill="${I}"/><circle cx="76.2" cy="90" r="2.4" fill="${e.t}"/>${k(e,76.2,83)}`)};var Ee=6,Qs=Object.freeze(["#fbebe0","#f8e1d2","#f5d8c5","#f1cfb8","#edc6ac","#e9bf9f"]);function $r(e,r="skins"){if(!Array.isArray(e)||e.length!==Ee)throw new oe(r,`must be a list of exactly ${Ee} #rrggbb colors`);return Object.freeze(Array.from(e,(t,o)=>Q(t,`${r}[${o}]`)))}var tt=["modern-light","modern-dark","camelot-light","camelot-dark"],rt=["disc","shield"],ot=/^[a-z0-9]{1,16}$/,Oe=200,Ae=4096,at={"modern-light":{bg:(e)=>q(e,0.8),ring:(e)=>e,width:3,line:null},"modern-dark":{bg:(e)=>A(e,"#0d1018",0.68),ring:(e)=>q(e,0.15),width:3,line:null},"camelot-light":{bg:(e)=>A("#f2e6c6",e,0.1),ring:()=>"#b98a2c",width:4.2,line:"#8a5f12"},"camelot-dark":{bg:(e)=>A("#16224c",e,0.16),ring:()=>"#e6b94c",width:4.2,line:"#ffe08a"}},Re="M12 14H88V50Q88 78 50 97Q12 78 12 50Z",st="#e5484d";function it(e){return e.replace(/[&<>"'=()]/g,(r)=>`&#${r.charCodeAt(0)};`).replace(/href/gi,(r)=>`${r[0]}&#${r.charCodeAt(1)};${r.slice(2)}`)}function lt(e,r,t,o){let{primary:a,secondary:i,trim:l}=e.colors,p=o[e.skin];return{tones:{p:a,pd:j(a,0.3),pl:q(a,0.35),pll:q(a,0.65),s:i,sd:j(i,0.16),t:l,td:j(l,0.3),k:p,kd:j(p,0.12),hr:e.hairColor,hd:j(e.hairColor,0.2),ink:v,gl:q(a,0.5)},bg:r.bg(a),ring:t?st:r.ring(a)}}function H(e,r,t=""){return r?`<g class="${e}" data-part="${e}"${t}>${r}</g>`:""}function Ms(e,r={}){let t=Ar(e),o=r.state===void 0?void 0:n(Ht,r.state,"state"),a=n(Er,r.expr??Cr[o??"idle"],"expr"),i=n(tt,r.look??"modern-light","look"),l=n(rt,r.frame??"disc","frame"),p=r.uid??"a";if(typeof p!=="string"||!ot.test(p))throw new oe("uid","must match /^[a-z0-9]{1,16}$/");let{size:c,label:S}=r;if(c!==void 0&&!(Number.isInteger(c)&&c>=1&&c<=Ae))throw new oe("size",`must be an integer up to ${Ae}`);if(S!==void 0&&(typeof S!=="string"||S.length>Oe))throw new oe("label",`must be text of at most ${Oe} characters`);let Z=r.skins===void 0?G.skins:$r(r.skins,"skins"),x=r.bare===!0,L=r.still===!0,M=at[i],{tones:u,bg:f,ring:m}=lt(t,M,o==="error",Z),d=xe({ink:v,brow:A(t.hairColor,v,0.5),dot:A(u.p,v,0.1)},a),g=Me[t.hair](u),de=t.hat==="hood"?`<path d="M17 62C12 22 88 22 83 62C81 72 72 77 66 78H34C28 77 19 72 17 62Z" fill="${u.pd}"/>`:"",E=Le[t.outfit](u),R={slim:0.8,regular:1,stout:1.3}[t.build],O=R===1?E:`<g transform="translate(${+(50-50*R).toFixed(2)} 0) scale(${R} 1)">${E}</g>`,ee=O;if(!x)ee=l==="shield"?`<g clip-path="url(#as${p})">${O}</g>`:`<clipPath id="ad${p}"><circle cx="50" cy="50" r="44.6"/></clipPath><g clip-path="url(#ad${p})">${O}</g>`;let te=M.line,Ve=l==="shield"?`<clipPath id="as${p}"><path d="${Re}"/></clipPath><path d="${Re}" fill="${f}" stroke="${m}" stroke-width="${M.width}" stroke-linejoin="round" class="ring"/>${te?`<path d="M16.5 18.5H83.5V50Q83.5 74 50 91.6Q16.5 74 16.5 50Z" fill="none" stroke="${te}" stroke-width=".9" opacity=".55"/>`:""}`:`<circle cx="50" cy="50" r="46.4" fill="${f}" stroke="${m}" stroke-width="${M.width}" class="ring"/>${te?`<circle cx="50" cy="50" r="40.6" fill="none" stroke="${te}" stroke-width=".9" opacity=".55"/>`:""}<ellipse cx="50" cy="93" rx="19" ry="2.6" fill="#000" opacity=".12"/>`,_e=`<circle cx="22.6" cy="54" r="4.2" fill="${u.k}"/><circle cx="77.4" cy="54" r="4.2" fill="${u.k}"/><ellipse cx="50" cy="51" rx="28" ry="26" fill="${u.k}"/><path d="M23 58Q50 88 77 58Q77 76 50 77Q23 76 23 58Z" fill="${u.kd}" opacity=".3"/><ellipse cx="50" cy="58.4" rx="1.7" ry="1.2" fill="${u.kd}"/>`+g.front+(t.beard==="none"?"":Ce[t.beard](u)),Ne=(x?"":H("frame",Ve))+'<g class="ch">'+H("back",g.back+de)+H("body",ee)+H("head",_e)+H("hat",Ie[t.hat](u))+H("eyes-brows",d.eyes+d.brows)+H("mouth",d.mouth)+H("fx",d.fx)+H("acc",t.accessory==="none"?"":Se[t.accessory](u))+H("prop",He[t.prop](u),` data-prop="${t.prop}"`)+"</g>"+H("state",we(u.p,j(u.p,0.1),L?o??"idle":null));return`<svg ${['xmlns="http://www.w3.org/2000/svg"','viewBox="0 0 100 100"',c===void 0?"":`width="${c}" height="${c}"`,`class="${L?"av static":"av"}"`,o===void 0&&!L?"":`data-state="${o??"idle"}"`,`data-expr="${a}"`,S===void 0?'aria-hidden="true"':`role="img" aria-label="${it(S)}"`].filter(Boolean).join(" ")}>${Ne}</svg>`.replace(/class="glow"/g,'class="glow" opacity=".3"')}function Rs(e,r){return ke(e.colors.primary,r)}var b=(e)=>`:is(.av,.av-host)[data-state=${e}]`;function Es(){let e=Object.entries(Qe).map(([r,t])=>`.av [data-prop=${r}]{transform-origin:${t}}`).join(`
2
2
  `);return`/* Generated from src/characters/css.ts by scripts/build-character-css.ts; do not edit. */
3
3
  /* State motion for composed characters. Put data-state on the <svg class="av"> or on an .av-host around it. */
4
4
  .av{overflow:visible}
@@ -44,4 +44,4 @@ ${b("sleepy")} .glow{opacity:.08}
44
44
  @keyframes av-float{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:1}}
45
45
  @media (prefers-reduced-motion:reduce){.av *{animation:none!important}.av .o-think{opacity:0!important}}
46
46
  .av.static *{animation:none!important}
47
- `}var Re=3,nt=1,ct=600,dt=/^[ -~]+$/,pt=3;function Te(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619)>>>0;return r>>>0}var ft=(e)=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function ht(e){let r=e.toLowerCase();if(!dt.test(r))return(o)=>o.includes(r);let t=new RegExp(`(?<![a-z0-9])${ft(r)}${r.length<=pt?"(?![a-z0-9])":""}`);return(o)=>t.test(o)}var kt=Object.fromEntries(Be.map((e)=>[e,F.classes[e].keywords.map(ht)]));function yt(e,r){let t=0;for(let o of kt[e])for(let[a,i]of r)if(o(a))t+=i;return t}var Pe=(e,r)=>e%r;function On(e,r=[]){let t=Te(e.name),o=[[e.displayName.toLowerCase(),Re],[e.name.toLowerCase(),Re],[e.prompt.slice(0,ct).toLowerCase(),nt]],a=0,i=[];for(let d of Be){let g=yt(d,o);if(g>a)a=g,i=[d];else if(g===a&&g>0)i.push(d)}let l=a>0?i:[...Be],p=new Set(r.map((d)=>d.class)),c=l.filter((d)=>!p.has(d)),S=c.length>0?c:l,Z=S[Pe(t,S.length)],x=W(Z);x.skin=t%6,x.build=P[Te(`build:${e.name}`)%3];let L=Object.keys(F.palettes),M=new Map(L.map((d)=>[d,0]));for(let d of r){let g=d.palette??B(d.colors);if(g)M.set(g,(M.get(g)??0)+1)}let u=Math.min(...M.values()),f=L.filter((d)=>M.get(d)===u),m=f[Pe(t,f.length)];return x.colors={...F.palettes[m]},x.palette=m,x}export{Be,Pr,Yt,Qr,F,re,ci,Mr,Hs,js,Rr,Ks,Js,eo,On};
47
+ `}var Te=3,nt=1,ct=600,dt=/^[ -~]+$/,pt=3;function Pe(e){let r=2166136261;for(let t=0;t<e.length;t++)r^=e.charCodeAt(t),r=Math.imul(r,16777619)>>>0;return r>>>0}var ft=(e)=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function ht(e){let r=e.toLowerCase();if(!dt.test(r))return(o)=>o.includes(r);let t=new RegExp(`(?<![a-z0-9])${ft(r)}${r.length<=pt?"(?![a-z0-9])":""}`);return(o)=>t.test(o)}var kt=Object.fromEntries(Ze.map((e)=>[e,G.classes[e].keywords.map(ht)]));function yt(e,r){let t=0;for(let o of kt[e])for(let[a,i]of r)if(o(a))t+=i;return t}var je=(e,r)=>e%r;function xn(e,r=[]){let t=Pe(e.name),o=[[e.displayName.toLowerCase(),Te],[e.name.toLowerCase(),Te],[e.prompt.slice(0,ct).toLowerCase(),nt]],a=0,i=[];for(let d of Ze){let g=yt(d,o);if(g>a)a=g,i=[d];else if(g===a&&g>0)i.push(d)}let l=a>0?i:[...Ze],p=new Set(r.map((d)=>d.class)),c=l.filter((d)=>!p.has(d)),S=c.length>0?c:l,Z=S[je(t,S.length)],x=W(Z);x.skin=t%6,x.build=P[Pe(`build:${e.name}`)%3];let L=Object.keys(G.palettes),M=new Map(L.map((d)=>[d,0]));for(let d of r){let g=d.palette??B(d.colors);if(g)M.set(g,(M.get(g)??0)+1)}let u=Math.min(...M.values()),f=L.filter((d)=>M.get(d)===u),m=f[je(t,f.length)];return x.colors={...G.palettes[m]},x.palette=m,x}export{Ze,Er,Ht,Cr,G,oe,vi,Ar,Ps,Qs,$r,Ms,Rs,Es,xn};
@@ -0,0 +1,2 @@
1
+ import{h,t}from"./chunk-index-2e4am3hw.js";import{Jr}from"./chunk-index-kbrg32sx.js";import{_i,ys,bs}from"./chunk-index-rh0x9rzf.js";function Wr(e){let n=Jr();if(!e)return n;let r=new Set([...e,...ys(e)]);return Object.fromEntries(Object.entries(n).filter(([s])=>r.has(s)))}var i=()=>(h("pr0mw0kc"),import("./chunk-bulk-actions-pr0mw0kc.js"));function ki(e){let n=[];if(Object.keys(Wr(e)).length>0)n.push({id:"read-all",label:t("Mark all as read"),icon:"check",run:()=>{i().then((r)=>r.markAllRead(e))}});if(_i(e).size>0)n.push({id:"clear-finished",label:t("Clear all finished threads"),icon:"trash",tone:"danger",run:()=>{i().then((r)=>r.clearAllFinished(e))}});return n.push(...Yr(e)),n}function Yr(e){if(bs(e).size===0)return[];return[{id:"clear-helpers",label:t("Clear finished temp knights"),icon:"trash",tone:"danger",run:()=>{i().then((n)=>n.clearFinishedHelpers(e))}}]}
2
+ export{Wr,ki,Yr};