@w3kits-com/plugin-opendesign 0.1.8 → 0.1.9

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 (1706) hide show
  1. package/dist/404/index.html +1 -1
  2. package/dist/404.html +1 -1
  3. package/dist/__next.$oc$slug.__PAGE__.txt +1 -1
  4. package/dist/__next.$oc$slug.txt +1 -1
  5. package/dist/__next._full.txt +1 -1
  6. package/dist/__next._head.txt +1 -1
  7. package/dist/__next._index.txt +1 -1
  8. package/dist/__next._tree.txt +1 -1
  9. package/dist/__w3kits/assets/design-systems/README.md +103 -0
  10. package/dist/__w3kits/assets/design-systems/_schema/AGENTS.md +179 -0
  11. package/dist/__w3kits/assets/design-systems/_schema/defaults.css +100 -0
  12. package/dist/__w3kits/assets/design-systems/_schema/tokens.schema.ts +275 -0
  13. package/dist/__w3kits/assets/design-systems/agentic/DESIGN.md +71 -0
  14. package/dist/__w3kits/assets/design-systems/airbnb/DESIGN.md +393 -0
  15. package/dist/__w3kits/assets/design-systems/airbnb/components.html +1373 -0
  16. package/dist/__w3kits/assets/design-systems/airbnb/tokens.css +261 -0
  17. package/dist/__w3kits/assets/design-systems/airtable/DESIGN.md +92 -0
  18. package/dist/__w3kits/assets/design-systems/ant/DESIGN.md +71 -0
  19. package/dist/__w3kits/assets/design-systems/apple/DESIGN.md +250 -0
  20. package/dist/__w3kits/assets/design-systems/apple/components.html +749 -0
  21. package/dist/__w3kits/assets/design-systems/apple/tokens.css +286 -0
  22. package/dist/__w3kits/assets/design-systems/application/DESIGN.md +71 -0
  23. package/dist/__w3kits/assets/design-systems/arc/DESIGN.md +152 -0
  24. package/dist/__w3kits/assets/design-systems/artistic/DESIGN.md +71 -0
  25. package/dist/__w3kits/assets/design-systems/atelier-zero/DESIGN.md +316 -0
  26. package/dist/__w3kits/assets/design-systems/bento/DESIGN.md +71 -0
  27. package/dist/__w3kits/assets/design-systems/binance/DESIGN.md +348 -0
  28. package/dist/__w3kits/assets/design-systems/bmw/DESIGN.md +183 -0
  29. package/dist/__w3kits/assets/design-systems/bmw-m/DESIGN.md +246 -0
  30. package/dist/__w3kits/assets/design-systems/bold/DESIGN.md +71 -0
  31. package/dist/__w3kits/assets/design-systems/brutalism/DESIGN.md +71 -0
  32. package/dist/__w3kits/assets/design-systems/bugatti/DESIGN.md +271 -0
  33. package/dist/__w3kits/assets/design-systems/cafe/DESIGN.md +71 -0
  34. package/dist/__w3kits/assets/design-systems/cal/DESIGN.md +262 -0
  35. package/dist/__w3kits/assets/design-systems/canva/DESIGN.md +157 -0
  36. package/dist/__w3kits/assets/design-systems/cisco/DESIGN.md +201 -0
  37. package/dist/__w3kits/assets/design-systems/claude/DESIGN.md +315 -0
  38. package/dist/__w3kits/assets/design-systems/clay/DESIGN.md +307 -0
  39. package/dist/__w3kits/assets/design-systems/claymorphism/DESIGN.md +71 -0
  40. package/dist/__w3kits/assets/design-systems/clean/DESIGN.md +71 -0
  41. package/dist/__w3kits/assets/design-systems/clickhouse/DESIGN.md +284 -0
  42. package/dist/__w3kits/assets/design-systems/cohere/DESIGN.md +269 -0
  43. package/dist/__w3kits/assets/design-systems/coinbase/DESIGN.md +132 -0
  44. package/dist/__w3kits/assets/design-systems/colorful/DESIGN.md +71 -0
  45. package/dist/__w3kits/assets/design-systems/composio/DESIGN.md +310 -0
  46. package/dist/__w3kits/assets/design-systems/contemporary/DESIGN.md +71 -0
  47. package/dist/__w3kits/assets/design-systems/corporate/DESIGN.md +71 -0
  48. package/dist/__w3kits/assets/design-systems/cosmic/DESIGN.md +71 -0
  49. package/dist/__w3kits/assets/design-systems/creative/DESIGN.md +71 -0
  50. package/dist/__w3kits/assets/design-systems/cursor/DESIGN.md +312 -0
  51. package/dist/__w3kits/assets/design-systems/cursor/components.html +654 -0
  52. package/dist/__w3kits/assets/design-systems/cursor/tokens.css +218 -0
  53. package/dist/__w3kits/assets/design-systems/dashboard/DESIGN.md +71 -0
  54. package/dist/__w3kits/assets/design-systems/default/DESIGN.md +62 -0
  55. package/dist/__w3kits/assets/design-systems/default/components.html +523 -0
  56. package/dist/__w3kits/assets/design-systems/default/tokens.css +200 -0
  57. package/dist/__w3kits/assets/design-systems/discord/DESIGN.md +162 -0
  58. package/dist/__w3kits/assets/design-systems/discord/components.html +359 -0
  59. package/dist/__w3kits/assets/design-systems/discord/tokens.css +125 -0
  60. package/dist/__w3kits/assets/design-systems/dithered/DESIGN.md +71 -0
  61. package/dist/__w3kits/assets/design-systems/doodle/DESIGN.md +71 -0
  62. package/dist/__w3kits/assets/design-systems/dramatic/DESIGN.md +71 -0
  63. package/dist/__w3kits/assets/design-systems/duolingo/DESIGN.md +154 -0
  64. package/dist/__w3kits/assets/design-systems/editorial/DESIGN.md +71 -0
  65. package/dist/__w3kits/assets/design-systems/elegant/DESIGN.md +71 -0
  66. package/dist/__w3kits/assets/design-systems/elevenlabs/DESIGN.md +268 -0
  67. package/dist/__w3kits/assets/design-systems/energetic/DESIGN.md +72 -0
  68. package/dist/__w3kits/assets/design-systems/enterprise/DESIGN.md +71 -0
  69. package/dist/__w3kits/assets/design-systems/expo/DESIGN.md +284 -0
  70. package/dist/__w3kits/assets/design-systems/expressive/DESIGN.md +71 -0
  71. package/dist/__w3kits/assets/design-systems/fantasy/DESIGN.md +71 -0
  72. package/dist/__w3kits/assets/design-systems/ferrari/DESIGN.md +317 -0
  73. package/dist/__w3kits/assets/design-systems/figma/DESIGN.md +223 -0
  74. package/dist/__w3kits/assets/design-systems/figma/components.html +344 -0
  75. package/dist/__w3kits/assets/design-systems/figma/tokens.css +126 -0
  76. package/dist/__w3kits/assets/design-systems/flat/DESIGN.md +71 -0
  77. package/dist/__w3kits/assets/design-systems/framer/DESIGN.md +249 -0
  78. package/dist/__w3kits/assets/design-systems/friendly/DESIGN.md +71 -0
  79. package/dist/__w3kits/assets/design-systems/futuristic/DESIGN.md +71 -0
  80. package/dist/__w3kits/assets/design-systems/github/DESIGN.md +155 -0
  81. package/dist/__w3kits/assets/design-systems/github/components.html +383 -0
  82. package/dist/__w3kits/assets/design-systems/github/tokens.css +125 -0
  83. package/dist/__w3kits/assets/design-systems/glassmorphism/DESIGN.md +71 -0
  84. package/dist/__w3kits/assets/design-systems/gradient/DESIGN.md +71 -0
  85. package/dist/__w3kits/assets/design-systems/hashicorp/DESIGN.md +281 -0
  86. package/dist/__w3kits/assets/design-systems/hud/DESIGN.md +173 -0
  87. package/dist/__w3kits/assets/design-systems/huggingface/DESIGN.md +149 -0
  88. package/dist/__w3kits/assets/design-systems/ibm/DESIGN.md +335 -0
  89. package/dist/__w3kits/assets/design-systems/intercom/DESIGN.md +149 -0
  90. package/dist/__w3kits/assets/design-systems/kami/DESIGN.md +410 -0
  91. package/dist/__w3kits/assets/design-systems/kami/components.html +601 -0
  92. package/dist/__w3kits/assets/design-systems/kami/tokens.css +272 -0
  93. package/dist/__w3kits/assets/design-systems/kraken/DESIGN.md +128 -0
  94. package/dist/__w3kits/assets/design-systems/lamborghini/DESIGN.md +291 -0
  95. package/dist/__w3kits/assets/design-systems/levels/DESIGN.md +71 -0
  96. package/dist/__w3kits/assets/design-systems/linear-app/DESIGN.md +370 -0
  97. package/dist/__w3kits/assets/design-systems/linear-app/components.html +370 -0
  98. package/dist/__w3kits/assets/design-systems/linear-app/tokens.css +130 -0
  99. package/dist/__w3kits/assets/design-systems/lingo/DESIGN.md +71 -0
  100. package/dist/__w3kits/assets/design-systems/loom/DESIGN.md +201 -0
  101. package/dist/__w3kits/assets/design-systems/lovable/DESIGN.md +301 -0
  102. package/dist/__w3kits/assets/design-systems/luxury/DESIGN.md +71 -0
  103. package/dist/__w3kits/assets/design-systems/mastercard/DESIGN.md +368 -0
  104. package/dist/__w3kits/assets/design-systems/material/DESIGN.md +71 -0
  105. package/dist/__w3kits/assets/design-systems/meta/DESIGN.md +369 -0
  106. package/dist/__w3kits/assets/design-systems/minimal/DESIGN.md +71 -0
  107. package/dist/__w3kits/assets/design-systems/minimax/DESIGN.md +260 -0
  108. package/dist/__w3kits/assets/design-systems/mintlify/DESIGN.md +329 -0
  109. package/dist/__w3kits/assets/design-systems/miro/DESIGN.md +111 -0
  110. package/dist/__w3kits/assets/design-systems/mission-control/DESIGN.md +474 -0
  111. package/dist/__w3kits/assets/design-systems/mistral-ai/DESIGN.md +264 -0
  112. package/dist/__w3kits/assets/design-systems/modern/DESIGN.md +71 -0
  113. package/dist/__w3kits/assets/design-systems/mongodb/DESIGN.md +269 -0
  114. package/dist/__w3kits/assets/design-systems/mono/DESIGN.md +71 -0
  115. package/dist/__w3kits/assets/design-systems/neobrutalism/DESIGN.md +71 -0
  116. package/dist/__w3kits/assets/design-systems/neon/DESIGN.md +71 -0
  117. package/dist/__w3kits/assets/design-systems/neumorphism/DESIGN.md +71 -0
  118. package/dist/__w3kits/assets/design-systems/nike/DESIGN.md +366 -0
  119. package/dist/__w3kits/assets/design-systems/notion/DESIGN.md +312 -0
  120. package/dist/__w3kits/assets/design-systems/notion/components.html +413 -0
  121. package/dist/__w3kits/assets/design-systems/notion/tokens.css +130 -0
  122. package/dist/__w3kits/assets/design-systems/nvidia/DESIGN.md +296 -0
  123. package/dist/__w3kits/assets/design-systems/ollama/DESIGN.md +270 -0
  124. package/dist/__w3kits/assets/design-systems/openai/DESIGN.md +140 -0
  125. package/dist/__w3kits/assets/design-systems/openai/components.html +382 -0
  126. package/dist/__w3kits/assets/design-systems/openai/tokens.css +133 -0
  127. package/dist/__w3kits/assets/design-systems/opencode-ai/DESIGN.md +284 -0
  128. package/dist/__w3kits/assets/design-systems/pacman/DESIGN.md +71 -0
  129. package/dist/__w3kits/assets/design-systems/paper/DESIGN.md +71 -0
  130. package/dist/__w3kits/assets/design-systems/perspective/DESIGN.md +71 -0
  131. package/dist/__w3kits/assets/design-systems/pinterest/DESIGN.md +233 -0
  132. package/dist/__w3kits/assets/design-systems/playstation/DESIGN.md +367 -0
  133. package/dist/__w3kits/assets/design-systems/posthog/DESIGN.md +259 -0
  134. package/dist/__w3kits/assets/design-systems/premium/DESIGN.md +71 -0
  135. package/dist/__w3kits/assets/design-systems/professional/DESIGN.md +71 -0
  136. package/dist/__w3kits/assets/design-systems/publication/DESIGN.md +71 -0
  137. package/dist/__w3kits/assets/design-systems/raycast/DESIGN.md +271 -0
  138. package/dist/__w3kits/assets/design-systems/refined/DESIGN.md +71 -0
  139. package/dist/__w3kits/assets/design-systems/renault/DESIGN.md +314 -0
  140. package/dist/__w3kits/assets/design-systems/replicate/DESIGN.md +264 -0
  141. package/dist/__w3kits/assets/design-systems/resend/DESIGN.md +306 -0
  142. package/dist/__w3kits/assets/design-systems/retro/DESIGN.md +71 -0
  143. package/dist/__w3kits/assets/design-systems/revolut/DESIGN.md +188 -0
  144. package/dist/__w3kits/assets/design-systems/runwayml/DESIGN.md +247 -0
  145. package/dist/__w3kits/assets/design-systems/sanity/DESIGN.md +360 -0
  146. package/dist/__w3kits/assets/design-systems/sentry/DESIGN.md +265 -0
  147. package/dist/__w3kits/assets/design-systems/shadcn/DESIGN.md +71 -0
  148. package/dist/__w3kits/assets/design-systems/shopify/DESIGN.md +353 -0
  149. package/dist/__w3kits/assets/design-systems/shopify/components.html +342 -0
  150. package/dist/__w3kits/assets/design-systems/shopify/tokens.css +141 -0
  151. package/dist/__w3kits/assets/design-systems/simple/DESIGN.md +71 -0
  152. package/dist/__w3kits/assets/design-systems/skeumorphism/DESIGN.md +71 -0
  153. package/dist/__w3kits/assets/design-systems/slack/DESIGN.md +363 -0
  154. package/dist/__w3kits/assets/design-systems/slack/components.html +387 -0
  155. package/dist/__w3kits/assets/design-systems/slack/tokens.css +127 -0
  156. package/dist/__w3kits/assets/design-systems/sleek/DESIGN.md +71 -0
  157. package/dist/__w3kits/assets/design-systems/spacex/DESIGN.md +197 -0
  158. package/dist/__w3kits/assets/design-systems/spacious/DESIGN.md +71 -0
  159. package/dist/__w3kits/assets/design-systems/spotify/DESIGN.md +249 -0
  160. package/dist/__w3kits/assets/design-systems/spotify/components.html +365 -0
  161. package/dist/__w3kits/assets/design-systems/spotify/tokens.css +127 -0
  162. package/dist/__w3kits/assets/design-systems/starbucks/DESIGN.md +583 -0
  163. package/dist/__w3kits/assets/design-systems/storytelling/DESIGN.md +71 -0
  164. package/dist/__w3kits/assets/design-systems/stripe/DESIGN.md +325 -0
  165. package/dist/__w3kits/assets/design-systems/stripe/components.html +1018 -0
  166. package/dist/__w3kits/assets/design-systems/stripe/tokens.css +295 -0
  167. package/dist/__w3kits/assets/design-systems/supabase/DESIGN.md +258 -0
  168. package/dist/__w3kits/assets/design-systems/superhuman/DESIGN.md +255 -0
  169. package/dist/__w3kits/assets/design-systems/tesla/DESIGN.md +289 -0
  170. package/dist/__w3kits/assets/design-systems/tetris/DESIGN.md +71 -0
  171. package/dist/__w3kits/assets/design-systems/theverge/DESIGN.md +342 -0
  172. package/dist/__w3kits/assets/design-systems/together-ai/DESIGN.md +266 -0
  173. package/dist/__w3kits/assets/design-systems/totality-festival/DESIGN.md +206 -0
  174. package/dist/__w3kits/assets/design-systems/trading-terminal/DESIGN.md +178 -0
  175. package/dist/__w3kits/assets/design-systems/uber/DESIGN.md +298 -0
  176. package/dist/__w3kits/assets/design-systems/uber/components.html +347 -0
  177. package/dist/__w3kits/assets/design-systems/uber/tokens.css +131 -0
  178. package/dist/__w3kits/assets/design-systems/urdu/DESIGN.md +1002 -0
  179. package/dist/__w3kits/assets/design-systems/vercel/DESIGN.md +313 -0
  180. package/dist/__w3kits/assets/design-systems/vercel/components.html +839 -0
  181. package/dist/__w3kits/assets/design-systems/vercel/tokens.css +270 -0
  182. package/dist/__w3kits/assets/design-systems/vibrant/DESIGN.md +71 -0
  183. package/dist/__w3kits/assets/design-systems/vintage/DESIGN.md +71 -0
  184. package/dist/__w3kits/assets/design-systems/vodafone/DESIGN.md +426 -0
  185. package/dist/__w3kits/assets/design-systems/voltagent/DESIGN.md +326 -0
  186. package/dist/__w3kits/assets/design-systems/warm-editorial/DESIGN.md +65 -0
  187. package/dist/__w3kits/assets/design-systems/warp/DESIGN.md +256 -0
  188. package/dist/__w3kits/assets/design-systems/webex/DESIGN.md +207 -0
  189. package/dist/__w3kits/assets/design-systems/webflow/DESIGN.md +95 -0
  190. package/dist/__w3kits/assets/design-systems/wechat/DESIGN.md +302 -0
  191. package/dist/__w3kits/assets/design-systems/wired/DESIGN.md +281 -0
  192. package/dist/__w3kits/assets/design-systems/wise/DESIGN.md +176 -0
  193. package/dist/__w3kits/assets/design-systems/x-ai/DESIGN.md +260 -0
  194. package/dist/__w3kits/assets/design-systems/xiaohongshu/DESIGN.md +402 -0
  195. package/dist/__w3kits/assets/design-systems/zapier/DESIGN.md +331 -0
  196. package/dist/__w3kits/assets/design-templates/AGENTS.md +34 -0
  197. package/dist/__w3kits/assets/design-templates/audio-jingle/SKILL.md +132 -0
  198. package/dist/__w3kits/assets/design-templates/audio-jingle/example.html +128 -0
  199. package/dist/__w3kits/assets/design-templates/blog-post/SKILL.md +81 -0
  200. package/dist/__w3kits/assets/design-templates/blog-post/example.html +80 -0
  201. package/dist/__w3kits/assets/design-templates/clinical-case-report/SKILL.md +209 -0
  202. package/dist/__w3kits/assets/design-templates/clinical-case-report/example.html +698 -0
  203. package/dist/__w3kits/assets/design-templates/clinical-case-report/examples/example-stemi.html +698 -0
  204. package/dist/__w3kits/assets/design-templates/clinical-case-report/references/case-formats.md +94 -0
  205. package/dist/__w3kits/assets/design-templates/clinical-case-report/references/checklist.md +41 -0
  206. package/dist/__w3kits/assets/design-templates/critique/SKILL.md +258 -0
  207. package/dist/__w3kits/assets/design-templates/critique/example.html +671 -0
  208. package/dist/__w3kits/assets/design-templates/dashboard/SKILL.md +76 -0
  209. package/dist/__w3kits/assets/design-templates/dashboard/example.html +118 -0
  210. package/dist/__w3kits/assets/design-templates/dating-web/SKILL.md +93 -0
  211. package/dist/__w3kits/assets/design-templates/dating-web/example.html +265 -0
  212. package/dist/__w3kits/assets/design-templates/dcf-valuation/SKILL.md +140 -0
  213. package/dist/__w3kits/assets/design-templates/dcf-valuation/references/sector-wacc.md +42 -0
  214. package/dist/__w3kits/assets/design-templates/digital-eguide/SKILL.md +95 -0
  215. package/dist/__w3kits/assets/design-templates/digital-eguide/example.html +204 -0
  216. package/dist/__w3kits/assets/design-templates/docs-page/SKILL.md +80 -0
  217. package/dist/__w3kits/assets/design-templates/docs-page/example.html +122 -0
  218. package/dist/__w3kits/assets/design-templates/email-marketing/SKILL.md +85 -0
  219. package/dist/__w3kits/assets/design-templates/email-marketing/example.html +159 -0
  220. package/dist/__w3kits/assets/design-templates/eng-runbook/SKILL.md +51 -0
  221. package/dist/__w3kits/assets/design-templates/eng-runbook/example.html +250 -0
  222. package/dist/__w3kits/assets/design-templates/finance-report/SKILL.md +62 -0
  223. package/dist/__w3kits/assets/design-templates/finance-report/example.html +242 -0
  224. package/dist/__w3kits/assets/design-templates/flowai-live-dashboard-template/SKILL.md +87 -0
  225. package/dist/__w3kits/assets/design-templates/flowai-live-dashboard-template/assets/template.html +387 -0
  226. package/dist/__w3kits/assets/design-templates/flowai-live-dashboard-template/example.html +13 -0
  227. package/dist/__w3kits/assets/design-templates/flowai-live-dashboard-template/references/checklist.md +35 -0
  228. package/dist/__w3kits/assets/design-templates/gamified-app/SKILL.md +109 -0
  229. package/dist/__w3kits/assets/design-templates/gamified-app/example.html +292 -0
  230. package/dist/__w3kits/assets/design-templates/github-dashboard/SKILL.md +130 -0
  231. package/dist/__w3kits/assets/design-templates/github-dashboard/example.html +473 -0
  232. package/dist/__w3kits/assets/design-templates/github-dashboard/references/README.md +10 -0
  233. package/dist/__w3kits/assets/design-templates/github-dashboard/references/artifact-example.json +15 -0
  234. package/dist/__w3kits/assets/design-templates/github-dashboard/references/example-data.json +138 -0
  235. package/dist/__w3kits/assets/design-templates/github-dashboard/references/provenance-example.json +92 -0
  236. package/dist/__w3kits/assets/design-templates/github-dashboard/references/template.html +473 -0
  237. package/dist/__w3kits/assets/design-templates/guizang-ppt/LICENSE +21 -0
  238. package/dist/__w3kits/assets/design-templates/guizang-ppt/README.en.md +119 -0
  239. package/dist/__w3kits/assets/design-templates/guizang-ppt/README.md +120 -0
  240. package/dist/__w3kits/assets/design-templates/guizang-ppt/README.pt-BR.md +121 -0
  241. package/dist/__w3kits/assets/design-templates/guizang-ppt/SKILL.md +314 -0
  242. package/dist/__w3kits/assets/design-templates/guizang-ppt/assets/example-slides.html +318 -0
  243. package/dist/__w3kits/assets/design-templates/guizang-ppt/assets/template.html +647 -0
  244. package/dist/__w3kits/assets/design-templates/guizang-ppt/references/checklist.md +265 -0
  245. package/dist/__w3kits/assets/design-templates/guizang-ppt/references/components.md +363 -0
  246. package/dist/__w3kits/assets/design-templates/guizang-ppt/references/layouts.md +630 -0
  247. package/dist/__w3kits/assets/design-templates/guizang-ppt/references/styles.md +195 -0
  248. package/dist/__w3kits/assets/design-templates/guizang-ppt/references/themes.md +122 -0
  249. package/dist/__w3kits/assets/design-templates/hr-onboarding/SKILL.md +52 -0
  250. package/dist/__w3kits/assets/design-templates/hr-onboarding/example.html +219 -0
  251. package/dist/__w3kits/assets/design-templates/html-ppt/.clawscan-allow +12 -0
  252. package/dist/__w3kits/assets/design-templates/html-ppt/LICENSE +21 -0
  253. package/dist/__w3kits/assets/design-templates/html-ppt/README.md +234 -0
  254. package/dist/__w3kits/assets/design-templates/html-ppt/README.pt-BR.md +239 -0
  255. package/dist/__w3kits/assets/design-templates/html-ppt/README.zh-CN.md +238 -0
  256. package/dist/__w3kits/assets/design-templates/html-ppt/SKILL.md +251 -0
  257. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/animations.css +138 -0
  258. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/_util.js +63 -0
  259. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/chain-react.js +41 -0
  260. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/confetti-cannon.js +49 -0
  261. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/constellation.js +44 -0
  262. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/counter-explosion.js +58 -0
  263. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/data-stream.js +45 -0
  264. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/firework.js +51 -0
  265. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/galaxy-swirl.js +33 -0
  266. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/gradient-blob.js +39 -0
  267. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/knowledge-graph.js +69 -0
  268. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/letter-explode.js +50 -0
  269. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/magnetic-field.js +40 -0
  270. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/matrix-rain.js +33 -0
  271. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/neural-net.js +75 -0
  272. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/orbit-ring.js +38 -0
  273. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/particle-burst.js +42 -0
  274. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/shockwave.js +39 -0
  275. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/sparkle-trail.js +62 -0
  276. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/starfield.js +30 -0
  277. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/typewriter-multi.js +51 -0
  278. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx/word-cascade.js +47 -0
  279. package/dist/__w3kits/assets/design-templates/html-ppt/assets/animations/fx-runtime.js +99 -0
  280. package/dist/__w3kits/assets/design-templates/html-ppt/assets/base.css +150 -0
  281. package/dist/__w3kits/assets/design-templates/html-ppt/assets/fonts.css +9 -0
  282. package/dist/__w3kits/assets/design-templates/html-ppt/assets/runtime.js +960 -0
  283. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/academic-paper.css +23 -0
  284. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/arctic-cool.css +14 -0
  285. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/aurora.css +20 -0
  286. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/bauhaus.css +16 -0
  287. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/blueprint.css +19 -0
  288. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/catppuccin-latte.css +14 -0
  289. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/catppuccin-mocha.css +14 -0
  290. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/corporate-clean.css +19 -0
  291. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/cyberpunk-neon.css +23 -0
  292. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/dracula.css +14 -0
  293. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/editorial-serif.css +18 -0
  294. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/engineering-whiteprint.css +26 -0
  295. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/glassmorphism.css +21 -0
  296. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/gruvbox-dark.css +14 -0
  297. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/japanese-minimal.css +21 -0
  298. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/magazine-bold.css +21 -0
  299. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/memphis-pop.css +20 -0
  300. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/midcentury.css +19 -0
  301. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/minimal-white.css +16 -0
  302. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/neo-brutalism.css +17 -0
  303. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/news-broadcast.css +20 -0
  304. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/nord.css +14 -0
  305. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/pitch-deck-vc.css +21 -0
  306. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/rainbow-gradient.css +16 -0
  307. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/retro-tv.css +22 -0
  308. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/rose-pine.css +14 -0
  309. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/sharp-mono.css +17 -0
  310. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/soft-pastel.css +14 -0
  311. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/solarized-light.css +14 -0
  312. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/sunset-warm.css +14 -0
  313. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/swiss-grid.css +17 -0
  314. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/terminal-green.css +18 -0
  315. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/tokyo-night.css +14 -0
  316. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/vaporwave.css +21 -0
  317. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/xiaohongshu-white.css +16 -0
  318. package/dist/__w3kits/assets/design-templates/html-ppt/assets/themes/y2k-chrome.css +20 -0
  319. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/_theme-cell.html +56 -0
  320. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/animations.png +0 -0
  321. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/hero.gif +0 -0
  322. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/layouts-live.gif +0 -0
  323. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/layouts.png +0 -0
  324. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/montage-animations.html +61 -0
  325. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/montage-layouts.html +72 -0
  326. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/montage-templates.html +72 -0
  327. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/montage-themes.html +38 -0
  328. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/presenter-mode.png +0 -0
  329. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/templates.png +0 -0
  330. package/dist/__w3kits/assets/design-templates/html-ppt/docs/readme/themes.png +0 -0
  331. package/dist/__w3kits/assets/design-templates/html-ppt/examples/demo-deck/index.html +161 -0
  332. package/dist/__w3kits/assets/design-templates/html-ppt/references/animations.md +147 -0
  333. package/dist/__w3kits/assets/design-templates/html-ppt/references/authoring-guide.md +141 -0
  334. package/dist/__w3kits/assets/design-templates/html-ppt/references/full-decks.md +98 -0
  335. package/dist/__w3kits/assets/design-templates/html-ppt/references/layouts.md +103 -0
  336. package/dist/__w3kits/assets/design-templates/html-ppt/references/presenter-mode.md +240 -0
  337. package/dist/__w3kits/assets/design-templates/html-ppt/references/themes.md +107 -0
  338. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/new-deck.sh +46 -0
  339. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/render.sh +71 -0
  340. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_01.png +0 -0
  341. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_02.png +0 -0
  342. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_03.png +0 -0
  343. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_04.png +0 -0
  344. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_05.png +0 -0
  345. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_06.png +0 -0
  346. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_07.png +0 -0
  347. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_08.png +0 -0
  348. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_09.png +0 -0
  349. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_10.png +0 -0
  350. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_11.png +0 -0
  351. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_12.png +0 -0
  352. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_13.png +0 -0
  353. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_14.png +0 -0
  354. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_15.png +0 -0
  355. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_16.png +0 -0
  356. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_17.png +0 -0
  357. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_18.png +0 -0
  358. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_19.png +0 -0
  359. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/animation-showcase/animation-showcase_20.png +0 -0
  360. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_01.png +0 -0
  361. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_02.png +0 -0
  362. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_03.png +0 -0
  363. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_04.png +0 -0
  364. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_05.png +0 -0
  365. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_06.png +0 -0
  366. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_07.png +0 -0
  367. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_08.png +0 -0
  368. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_09.png +0 -0
  369. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_10.png +0 -0
  370. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_11.png +0 -0
  371. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_12.png +0 -0
  372. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_13.png +0 -0
  373. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_14.png +0 -0
  374. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_15.png +0 -0
  375. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_16.png +0 -0
  376. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_17.png +0 -0
  377. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_18.png +0 -0
  378. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_19.png +0 -0
  379. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_20.png +0 -0
  380. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_21.png +0 -0
  381. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_22.png +0 -0
  382. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_23.png +0 -0
  383. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_24.png +0 -0
  384. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_25.png +0 -0
  385. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_26.png +0 -0
  386. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_27.png +0 -0
  387. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_28.png +0 -0
  388. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_29.png +0 -0
  389. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_30.png +0 -0
  390. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_31.png +0 -0
  391. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_32.png +0 -0
  392. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_33.png +0 -0
  393. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_34.png +0 -0
  394. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_35.png +0 -0
  395. package/dist/__w3kits/assets/design-templates/html-ppt/scripts/verify-output/theme-showcase/theme-showcase_36.png +0 -0
  396. package/dist/__w3kits/assets/design-templates/html-ppt/templates/animation-showcase.html +172 -0
  397. package/dist/__w3kits/assets/design-templates/html-ppt/templates/deck.html +69 -0
  398. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/course-module/README.md +8 -0
  399. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/course-module/index.html +189 -0
  400. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/course-module/style.css +46 -0
  401. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/README.md +11 -0
  402. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/index.html +138 -0
  403. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/dir-key-nav-minimal/style.css +60 -0
  404. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/README.md +11 -0
  405. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/index.html +180 -0
  406. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/graphify-dark-graph/style.css +54 -0
  407. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/README.md +11 -0
  408. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/index.html +199 -0
  409. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/hermes-cyber-terminal/style.css +55 -0
  410. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/README.md +11 -0
  411. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/index.html +190 -0
  412. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/knowledge-arch-blueprint/style.css +49 -0
  413. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/README.md +11 -0
  414. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/index.html +144 -0
  415. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/obsidian-claude-gradient/style.css +59 -0
  416. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/pitch-deck/README.md +9 -0
  417. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/pitch-deck/index.html +148 -0
  418. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/pitch-deck/style.css +40 -0
  419. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/README.md +102 -0
  420. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/index.html +187 -0
  421. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/presenter-mode-reveal/style.css +216 -0
  422. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/product-launch/README.md +8 -0
  423. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/product-launch/index.html +121 -0
  424. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/product-launch/style.css +39 -0
  425. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/tech-sharing/README.md +8 -0
  426. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/tech-sharing/index.html +156 -0
  427. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/tech-sharing/style.css +49 -0
  428. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/testing-safety-alert/README.md +11 -0
  429. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/testing-safety-alert/index.html +183 -0
  430. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/testing-safety-alert/style.css +62 -0
  431. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/weekly-report/README.md +8 -0
  432. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/weekly-report/index.html +127 -0
  433. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/weekly-report/style.css +55 -0
  434. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/README.md +11 -0
  435. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/index.html +147 -0
  436. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-pastel-card/style.css +66 -0
  437. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-post/README.md +9 -0
  438. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-post/index.html +133 -0
  439. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-post/style.css +47 -0
  440. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/README.md +11 -0
  441. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/index.html +187 -0
  442. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks/xhs-white-editorial/style.css +63 -0
  443. package/dist/__w3kits/assets/design-templates/html-ppt/templates/full-decks-index.html +82 -0
  444. package/dist/__w3kits/assets/design-templates/html-ppt/templates/layout-showcase.html +47 -0
  445. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/arch-diagram.html +46 -0
  446. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/big-quote.html +18 -0
  447. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/bullets.html +19 -0
  448. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/chart-bar.html +30 -0
  449. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/chart-line.html +35 -0
  450. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/chart-pie.html +36 -0
  451. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/chart-radar.html +31 -0
  452. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/code.html +33 -0
  453. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/comparison.html +47 -0
  454. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/cover.html +32 -0
  455. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/cta.html +27 -0
  456. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/diff.html +35 -0
  457. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/flow-diagram.html +33 -0
  458. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/gantt.html +29 -0
  459. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/image-grid.html +34 -0
  460. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/image-hero.html +33 -0
  461. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/kpi-grid.html +19 -0
  462. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/mindmap.html +38 -0
  463. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/process-steps.html +27 -0
  464. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/pros-cons.html +31 -0
  465. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/roadmap.html +46 -0
  466. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/section-divider.html +17 -0
  467. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/stat-highlight.html +17 -0
  468. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/table.html +33 -0
  469. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/terminal.html +35 -0
  470. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/thanks.html +21 -0
  471. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/three-column.html +18 -0
  472. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/timeline.html +32 -0
  473. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/toc.html +26 -0
  474. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/todo-checklist.html +33 -0
  475. package/dist/__w3kits/assets/design-templates/html-ppt/templates/single-page/two-column.html +39 -0
  476. package/dist/__w3kits/assets/design-templates/html-ppt/templates/theme-showcase.html +151 -0
  477. package/dist/__w3kits/assets/design-templates/html-ppt-course-module/SKILL.md +79 -0
  478. package/dist/__w3kits/assets/design-templates/html-ppt-course-module/example.html +542 -0
  479. package/dist/__w3kits/assets/design-templates/html-ppt-dir-key-nav-minimal/SKILL.md +78 -0
  480. package/dist/__w3kits/assets/design-templates/html-ppt-dir-key-nav-minimal/example.html +366 -0
  481. package/dist/__w3kits/assets/design-templates/html-ppt-graphify-dark-graph/SKILL.md +78 -0
  482. package/dist/__w3kits/assets/design-templates/html-ppt-graphify-dark-graph/example.html +402 -0
  483. package/dist/__w3kits/assets/design-templates/html-ppt-hermes-cyber-terminal/SKILL.md +78 -0
  484. package/dist/__w3kits/assets/design-templates/html-ppt-hermes-cyber-terminal/example.html +422 -0
  485. package/dist/__w3kits/assets/design-templates/html-ppt-knowledge-arch-blueprint/SKILL.md +78 -0
  486. package/dist/__w3kits/assets/design-templates/html-ppt-knowledge-arch-blueprint/example.html +407 -0
  487. package/dist/__w3kits/assets/design-templates/html-ppt-obsidian-claude-gradient/SKILL.md +78 -0
  488. package/dist/__w3kits/assets/design-templates/html-ppt-obsidian-claude-gradient/example.html +371 -0
  489. package/dist/__w3kits/assets/design-templates/html-ppt-pitch-deck/SKILL.md +79 -0
  490. package/dist/__w3kits/assets/design-templates/html-ppt-pitch-deck/example.html +495 -0
  491. package/dist/__w3kits/assets/design-templates/html-ppt-presenter-mode-reveal/SKILL.md +79 -0
  492. package/dist/__w3kits/assets/design-templates/html-ppt-presenter-mode-reveal/example.html +725 -0
  493. package/dist/__w3kits/assets/design-templates/html-ppt-product-launch/SKILL.md +78 -0
  494. package/dist/__w3kits/assets/design-templates/html-ppt-product-launch/example.html +467 -0
  495. package/dist/__w3kits/assets/design-templates/html-ppt-taste-brutalist/SKILL.md +70 -0
  496. package/dist/__w3kits/assets/design-templates/html-ppt-taste-brutalist/example.html +774 -0
  497. package/dist/__w3kits/assets/design-templates/html-ppt-taste-editorial/SKILL.md +60 -0
  498. package/dist/__w3kits/assets/design-templates/html-ppt-taste-editorial/example.html +490 -0
  499. package/dist/__w3kits/assets/design-templates/html-ppt-tech-sharing/SKILL.md +78 -0
  500. package/dist/__w3kits/assets/design-templates/html-ppt-tech-sharing/example.html +512 -0
  501. package/dist/__w3kits/assets/design-templates/html-ppt-testing-safety-alert/SKILL.md +79 -0
  502. package/dist/__w3kits/assets/design-templates/html-ppt-testing-safety-alert/example.html +413 -0
  503. package/dist/__w3kits/assets/design-templates/html-ppt-weekly-report/SKILL.md +78 -0
  504. package/dist/__w3kits/assets/design-templates/html-ppt-weekly-report/example.html +489 -0
  505. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-pastel-card/SKILL.md +79 -0
  506. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-pastel-card/example.html +381 -0
  507. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-post/SKILL.md +79 -0
  508. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-post/example.html +487 -0
  509. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-white-editorial/SKILL.md +78 -0
  510. package/dist/__w3kits/assets/design-templates/html-ppt-xhs-white-editorial/example.html +418 -0
  511. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-8-bit-orbit/LICENSE +21 -0
  512. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-8-bit-orbit/SKILL.md +93 -0
  513. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-8-bit-orbit/example.html +1640 -0
  514. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-8-bit-orbit/template.json +48 -0
  515. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-biennale-yellow/LICENSE +21 -0
  516. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-biennale-yellow/SKILL.md +93 -0
  517. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-biennale-yellow/example.html +833 -0
  518. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-biennale-yellow/template.json +49 -0
  519. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-block-frame/LICENSE +21 -0
  520. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-block-frame/SKILL.md +93 -0
  521. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-block-frame/example.html +1453 -0
  522. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-block-frame/template.json +47 -0
  523. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-blue-professional/LICENSE +21 -0
  524. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-blue-professional/SKILL.md +93 -0
  525. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-blue-professional/example.html +1423 -0
  526. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-blue-professional/template.json +44 -0
  527. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-bold-poster/LICENSE +21 -0
  528. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-bold-poster/SKILL.md +93 -0
  529. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-bold-poster/example.html +876 -0
  530. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-bold-poster/template.json +45 -0
  531. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-broadside/LICENSE +21 -0
  532. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-broadside/SKILL.md +92 -0
  533. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-broadside/example.html +2144 -0
  534. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-broadside/template.json +49 -0
  535. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-capsule/LICENSE +21 -0
  536. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-capsule/SKILL.md +92 -0
  537. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-capsule/example.html +1413 -0
  538. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-capsule/template.json +51 -0
  539. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cartesian/LICENSE +21 -0
  540. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cartesian/SKILL.md +92 -0
  541. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cartesian/example.html +1136 -0
  542. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cartesian/template.json +47 -0
  543. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cobalt-grid/LICENSE +21 -0
  544. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cobalt-grid/SKILL.md +93 -0
  545. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cobalt-grid/example.html +1205 -0
  546. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-cobalt-grid/template.json +49 -0
  547. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-coral/LICENSE +21 -0
  548. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-coral/SKILL.md +92 -0
  549. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-coral/example.html +1487 -0
  550. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-coral/template.json +45 -0
  551. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-creative-mode/LICENSE +21 -0
  552. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-creative-mode/SKILL.md +99 -0
  553. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-creative-mode/assets/deck-stage.js +619 -0
  554. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-creative-mode/example.html +636 -0
  555. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-creative-mode/template.json +47 -0
  556. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-daisy-days/LICENSE +21 -0
  557. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-daisy-days/SKILL.md +93 -0
  558. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-daisy-days/example.html +469 -0
  559. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-daisy-days/template.json +54 -0
  560. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-editorial-tri-tone/LICENSE +21 -0
  561. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-editorial-tri-tone/SKILL.md +98 -0
  562. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-editorial-tri-tone/assets/deck-stage.js +619 -0
  563. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-editorial-tri-tone/example.html +737 -0
  564. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-editorial-tri-tone/template.json +44 -0
  565. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-grove/LICENSE +21 -0
  566. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-grove/SKILL.md +92 -0
  567. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-grove/example.html +1676 -0
  568. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-grove/template.json +51 -0
  569. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-long-table/LICENSE +21 -0
  570. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-long-table/SKILL.md +92 -0
  571. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-long-table/example.html +1192 -0
  572. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-long-table/template.json +50 -0
  573. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-mat/LICENSE +21 -0
  574. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-mat/SKILL.md +92 -0
  575. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-mat/example.html +1372 -0
  576. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-mat/template.json +49 -0
  577. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-monochrome/LICENSE +21 -0
  578. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-monochrome/SKILL.md +91 -0
  579. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-monochrome/example.html +2596 -0
  580. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-monochrome/template.json +50 -0
  581. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-neo-grid-bold/LICENSE +21 -0
  582. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-neo-grid-bold/SKILL.md +99 -0
  583. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-neo-grid-bold/assets/deck-stage.js +619 -0
  584. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-neo-grid-bold/example.html +865 -0
  585. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-neo-grid-bold/template.json +47 -0
  586. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-peoples-platform/LICENSE +21 -0
  587. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-peoples-platform/SKILL.md +99 -0
  588. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-peoples-platform/assets/deck-stage.js +619 -0
  589. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-peoples-platform/example.html +825 -0
  590. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-peoples-platform/template.json +48 -0
  591. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/LICENSE +21 -0
  592. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/SKILL.md +100 -0
  593. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/assets/deck-stage.js +619 -0
  594. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/assets/styles.css +668 -0
  595. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/example.html +443 -0
  596. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pin-and-paper/template.json +46 -0
  597. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pink-script/LICENSE +21 -0
  598. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pink-script/SKILL.md +99 -0
  599. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pink-script/assets/deck-stage.js +619 -0
  600. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pink-script/example.html +658 -0
  601. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-pink-script/template.json +47 -0
  602. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-playful/LICENSE +21 -0
  603. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-playful/SKILL.md +92 -0
  604. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-playful/example.html +1355 -0
  605. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-playful/template.json +43 -0
  606. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-raw-grid/LICENSE +21 -0
  607. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-raw-grid/SKILL.md +93 -0
  608. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-raw-grid/example.html +1121 -0
  609. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-raw-grid/template.json +46 -0
  610. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-windows/LICENSE +21 -0
  611. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-windows/SKILL.md +92 -0
  612. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-windows/example.html +1287 -0
  613. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-windows/template.json +47 -0
  614. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-zine/LICENSE +21 -0
  615. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-zine/SKILL.md +93 -0
  616. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-zine/example.html +1058 -0
  617. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-retro-zine/template.json +47 -0
  618. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-sakura-chroma/LICENSE +21 -0
  619. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-sakura-chroma/SKILL.md +92 -0
  620. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-sakura-chroma/example.html +1405 -0
  621. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-sakura-chroma/template.json +54 -0
  622. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-scatterbrain/LICENSE +21 -0
  623. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-scatterbrain/SKILL.md +92 -0
  624. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-scatterbrain/example.html +1320 -0
  625. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-scatterbrain/template.json +50 -0
  626. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-signal/LICENSE +21 -0
  627. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-signal/SKILL.md +92 -0
  628. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-signal/example.html +2558 -0
  629. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-signal/template.json +50 -0
  630. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-soft-editorial/LICENSE +21 -0
  631. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-soft-editorial/SKILL.md +98 -0
  632. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-soft-editorial/assets/deck-stage.js +619 -0
  633. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-soft-editorial/example.html +1183 -0
  634. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-soft-editorial/template.json +47 -0
  635. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-stencil-tablet/LICENSE +21 -0
  636. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-stencil-tablet/SKILL.md +99 -0
  637. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-stencil-tablet/assets/deck-stage.js +619 -0
  638. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-stencil-tablet/example.html +954 -0
  639. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-stencil-tablet/template.json +52 -0
  640. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-studio/LICENSE +21 -0
  641. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-studio/SKILL.md +92 -0
  642. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-studio/example.html +1606 -0
  643. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-studio/template.json +49 -0
  644. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-vellum/LICENSE +21 -0
  645. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-vellum/SKILL.md +91 -0
  646. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-vellum/example.html +1091 -0
  647. package/dist/__w3kits/assets/design-templates/html-ppt-zhangzara-vellum/template.json +50 -0
  648. package/dist/__w3kits/assets/design-templates/hyperframes/SKILL.md +500 -0
  649. package/dist/__w3kits/assets/design-templates/hyperframes/data-in-motion.md +19 -0
  650. package/dist/__w3kits/assets/design-templates/hyperframes/house-style.md +71 -0
  651. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/bold-energetic.md +14 -0
  652. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/clean-corporate.md +14 -0
  653. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/dark-premium.md +14 -0
  654. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/jewel-rich.md +14 -0
  655. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/monochrome.md +14 -0
  656. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/nature-earth.md +14 -0
  657. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/neon-electric.md +14 -0
  658. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/pastel-soft.md +14 -0
  659. package/dist/__w3kits/assets/design-templates/hyperframes/palettes/warm-editorial.md +14 -0
  660. package/dist/__w3kits/assets/design-templates/hyperframes/patterns.md +118 -0
  661. package/dist/__w3kits/assets/design-templates/hyperframes/references/audio-reactive.md +76 -0
  662. package/dist/__w3kits/assets/design-templates/hyperframes/references/captions.md +132 -0
  663. package/dist/__w3kits/assets/design-templates/hyperframes/references/css-patterns.md +373 -0
  664. package/dist/__w3kits/assets/design-templates/hyperframes/references/dynamic-techniques.md +90 -0
  665. package/dist/__w3kits/assets/design-templates/hyperframes/references/html-in-canvas.md +146 -0
  666. package/dist/__w3kits/assets/design-templates/hyperframes/references/motion-principles.md +69 -0
  667. package/dist/__w3kits/assets/design-templates/hyperframes/references/transcript-guide.md +151 -0
  668. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/catalog.md +117 -0
  669. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-3d.md +12 -0
  670. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-blur.md +51 -0
  671. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-cover.md +43 -0
  672. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-destruction.md +95 -0
  673. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-dissolve.md +66 -0
  674. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-distortion.md +45 -0
  675. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-grid.md +10 -0
  676. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-light.md +49 -0
  677. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-mechanical.md +30 -0
  678. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-other.md +25 -0
  679. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-push.md +41 -0
  680. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-radial.md +37 -0
  681. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions/css-scale.md +24 -0
  682. package/dist/__w3kits/assets/design-templates/hyperframes/references/transitions.md +112 -0
  683. package/dist/__w3kits/assets/design-templates/hyperframes/references/tts.md +75 -0
  684. package/dist/__w3kits/assets/design-templates/hyperframes/references/typography.md +175 -0
  685. package/dist/__w3kits/assets/design-templates/hyperframes/scripts/animation-map.mjs +601 -0
  686. package/dist/__w3kits/assets/design-templates/hyperframes/scripts/contrast-report.mjs +338 -0
  687. package/dist/__w3kits/assets/design-templates/hyperframes/scripts/package-loader.mjs +269 -0
  688. package/dist/__w3kits/assets/design-templates/hyperframes/visual-styles.md +211 -0
  689. package/dist/__w3kits/assets/design-templates/ib-pitch-book/SKILL.md +161 -0
  690. package/dist/__w3kits/assets/design-templates/ib-pitch-book/assets/template.html +436 -0
  691. package/dist/__w3kits/assets/design-templates/ib-pitch-book/example.html +1181 -0
  692. package/dist/__w3kits/assets/design-templates/ib-pitch-book/references/attribution.md +35 -0
  693. package/dist/__w3kits/assets/design-templates/ib-pitch-book/references/checklist.md +39 -0
  694. package/dist/__w3kits/assets/design-templates/ib-pitch-book/references/compliance.md +60 -0
  695. package/dist/__w3kits/assets/design-templates/ib-pitch-book/references/conventions.md +36 -0
  696. package/dist/__w3kits/assets/design-templates/image-poster/SKILL.md +104 -0
  697. package/dist/__w3kits/assets/design-templates/image-poster/example.html +113 -0
  698. package/dist/__w3kits/assets/design-templates/invoice/SKILL.md +48 -0
  699. package/dist/__w3kits/assets/design-templates/invoice/example.html +214 -0
  700. package/dist/__w3kits/assets/design-templates/kami-deck/README.md +72 -0
  701. package/dist/__w3kits/assets/design-templates/kami-deck/SKILL.md +196 -0
  702. package/dist/__w3kits/assets/design-templates/kami-deck/example.html +1101 -0
  703. package/dist/__w3kits/assets/design-templates/kami-landing/README.md +69 -0
  704. package/dist/__w3kits/assets/design-templates/kami-landing/SKILL.md +234 -0
  705. package/dist/__w3kits/assets/design-templates/kami-landing/example.html +673 -0
  706. package/dist/__w3kits/assets/design-templates/kanban-board/SKILL.md +50 -0
  707. package/dist/__w3kits/assets/design-templates/kanban-board/example.html +270 -0
  708. package/dist/__w3kits/assets/design-templates/last30days/LICENSE +21 -0
  709. package/dist/__w3kits/assets/design-templates/last30days/SKILL.md +142 -0
  710. package/dist/__w3kits/assets/design-templates/last30days/references/save-html-brief.md +50 -0
  711. package/dist/__w3kits/assets/design-templates/last30days/scripts/briefing.py +264 -0
  712. package/dist/__w3kits/assets/design-templates/last30days/scripts/last30days.py +938 -0
  713. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/__init__.py +1 -0
  714. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/bird_x.py +443 -0
  715. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/bluesky.py +249 -0
  716. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/categories.py +283 -0
  717. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/chrome_cookies.py +265 -0
  718. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/cluster.py +271 -0
  719. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/competitors.py +199 -0
  720. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/cookie_extract.py +379 -0
  721. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/dates.py +120 -0
  722. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/dedupe.py +130 -0
  723. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/entity_extract.py +127 -0
  724. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/env.py +650 -0
  725. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/fanout.py +85 -0
  726. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/fusion.py +207 -0
  727. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/github.py +921 -0
  728. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/grounding.py +259 -0
  729. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/hackernews.py +301 -0
  730. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/html_render.py +674 -0
  731. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/http.py +204 -0
  732. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/instagram.py +500 -0
  733. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/log.py +28 -0
  734. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/normalize.py +499 -0
  735. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/perplexity.py +164 -0
  736. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/pinterest.py +182 -0
  737. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/pipeline.py +1069 -0
  738. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/planner.py +712 -0
  739. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/polymarket.py +786 -0
  740. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/preflight.py +119 -0
  741. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/providers.py +464 -0
  742. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/quality_nudge.py +190 -0
  743. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/query.py +117 -0
  744. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/reddit.py +703 -0
  745. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/reddit_enrich.py +322 -0
  746. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/reddit_public.py +377 -0
  747. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/relevance.py +168 -0
  748. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/render.py +1722 -0
  749. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/rerank.py +425 -0
  750. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/resolve.py +258 -0
  751. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/safari_cookies.py +182 -0
  752. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/schema.py +319 -0
  753. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/setup_wizard.py +535 -0
  754. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/signals.py +251 -0
  755. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/snippet.py +51 -0
  756. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/subproc.py +94 -0
  757. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/threads.py +224 -0
  758. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/tiktok.py +677 -0
  759. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/truthsocial.py +168 -0
  760. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/ui.py +610 -0
  761. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/LICENSE +21 -0
  762. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/bird-search.mjs +147 -0
  763. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/cookies.js +220 -0
  764. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/features.json +17 -0
  765. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/paginate-cursor.js +37 -0
  766. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/query-ids.json +20 -0
  767. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/runtime-features.js +151 -0
  768. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/runtime-query-ids.js +264 -0
  769. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-base.js +129 -0
  770. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-constants.js +50 -0
  771. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-features.js +347 -0
  772. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-search.js +157 -0
  773. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-types.js +2 -0
  774. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/lib/twitter-client-utils.js +511 -0
  775. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/vendor/bird-search/package.json +13 -0
  776. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/xai_x.py +228 -0
  777. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/xiaohongshu_api.py +162 -0
  778. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/xquik.py +227 -0
  779. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/xurl_x.py +172 -0
  780. package/dist/__w3kits/assets/design-templates/last30days/scripts/lib/youtube_yt.py +967 -0
  781. package/dist/__w3kits/assets/design-templates/last30days/scripts/store.py +787 -0
  782. package/dist/__w3kits/assets/design-templates/last30days/scripts/watchlist.py +299 -0
  783. package/dist/__w3kits/assets/design-templates/live-artifact/SKILL.md +136 -0
  784. package/dist/__w3kits/assets/design-templates/live-artifact/assets/templates/clinic-console/README.md +342 -0
  785. package/dist/__w3kits/assets/design-templates/live-artifact/assets/templates/clinic-console/data.json +165 -0
  786. package/dist/__w3kits/assets/design-templates/live-artifact/assets/templates/clinic-console/template.html +548 -0
  787. package/dist/__w3kits/assets/design-templates/live-artifact/examples/baby-health-live.html +761 -0
  788. package/dist/__w3kits/assets/design-templates/live-artifact/examples/competitor-radar-live.html +1006 -0
  789. package/dist/__w3kits/assets/design-templates/live-artifact/examples/crm-table-live.html +1174 -0
  790. package/dist/__w3kits/assets/design-templates/live-artifact/examples/crypto-dashboard.html +2316 -0
  791. package/dist/__w3kits/assets/design-templates/live-artifact/examples/monday-operator-live.html +919 -0
  792. package/dist/__w3kits/assets/design-templates/live-artifact/examples/stock-dashboard.html +2246 -0
  793. package/dist/__w3kits/assets/design-templates/live-artifact/examples/stock-portfolio-live/artifact.json +16 -0
  794. package/dist/__w3kits/assets/design-templates/live-artifact/examples/stock-portfolio-live/data.json +453 -0
  795. package/dist/__w3kits/assets/design-templates/live-artifact/examples/stock-portfolio-live/provenance.json +19 -0
  796. package/dist/__w3kits/assets/design-templates/live-artifact/examples/stock-portfolio-live/template.html +1071 -0
  797. package/dist/__w3kits/assets/design-templates/live-artifact/references/artifact-schema.md +99 -0
  798. package/dist/__w3kits/assets/design-templates/live-artifact/references/connector-policy.md +119 -0
  799. package/dist/__w3kits/assets/design-templates/live-artifact/references/refresh-contract.md +78 -0
  800. package/dist/__w3kits/assets/design-templates/live-dashboard/SKILL.md +203 -0
  801. package/dist/__w3kits/assets/design-templates/live-dashboard/assets/template.html +643 -0
  802. package/dist/__w3kits/assets/design-templates/live-dashboard/example.html +946 -0
  803. package/dist/__w3kits/assets/design-templates/live-dashboard/references/checklist.md +83 -0
  804. package/dist/__w3kits/assets/design-templates/live-dashboard/references/components.md +212 -0
  805. package/dist/__w3kits/assets/design-templates/live-dashboard/references/connectors.md +171 -0
  806. package/dist/__w3kits/assets/design-templates/live-dashboard/references/layouts.md +92 -0
  807. package/dist/__w3kits/assets/design-templates/magazine-poster/SKILL.md +88 -0
  808. package/dist/__w3kits/assets/design-templates/magazine-poster/example.html +207 -0
  809. package/dist/__w3kits/assets/design-templates/meeting-notes/SKILL.md +47 -0
  810. package/dist/__w3kits/assets/design-templates/meeting-notes/example.html +234 -0
  811. package/dist/__w3kits/assets/design-templates/mobile-app/SKILL.md +102 -0
  812. package/dist/__w3kits/assets/design-templates/mobile-app/assets/template.html +442 -0
  813. package/dist/__w3kits/assets/design-templates/mobile-app/example.html +92 -0
  814. package/dist/__w3kits/assets/design-templates/mobile-app/references/checklist.md +46 -0
  815. package/dist/__w3kits/assets/design-templates/mobile-app/references/layouts.md +312 -0
  816. package/dist/__w3kits/assets/design-templates/mobile-onboarding/SKILL.md +54 -0
  817. package/dist/__w3kits/assets/design-templates/mobile-onboarding/example.html +206 -0
  818. package/dist/__w3kits/assets/design-templates/motion-frames/SKILL.md +90 -0
  819. package/dist/__w3kits/assets/design-templates/motion-frames/example.html +221 -0
  820. package/dist/__w3kits/assets/design-templates/open-design-landing/README.md +119 -0
  821. package/dist/__w3kits/assets/design-templates/open-design-landing/SKILL.md +321 -0
  822. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/about.png +0 -0
  823. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/capabilities.png +0 -0
  824. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/cta.png +0 -0
  825. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/hero.png +0 -0
  826. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/image-manifest.json +168 -0
  827. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/imagegen-prompts.md +246 -0
  828. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/lab-1.png +0 -0
  829. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/lab-2.png +0 -0
  830. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/lab-3.png +0 -0
  831. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/lab-4.png +0 -0
  832. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/lab-5.png +0 -0
  833. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/method-1.png +0 -0
  834. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/method-2.png +0 -0
  835. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/method-3.png +0 -0
  836. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/method-4.png +0 -0
  837. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/testimonial.png +0 -0
  838. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/work-1.png +0 -0
  839. package/dist/__w3kits/assets/design-templates/open-design-landing/assets/work-2.png +0 -0
  840. package/dist/__w3kits/assets/design-templates/open-design-landing/example.html +2645 -0
  841. package/dist/__w3kits/assets/design-templates/open-design-landing/inputs.example.json +365 -0
  842. package/dist/__w3kits/assets/design-templates/open-design-landing/schema.ts +447 -0
  843. package/dist/__w3kits/assets/design-templates/open-design-landing/scripts/compose.ts +821 -0
  844. package/dist/__w3kits/assets/design-templates/open-design-landing/scripts/imagegen.ts +325 -0
  845. package/dist/__w3kits/assets/design-templates/open-design-landing/scripts/placeholder.ts +174 -0
  846. package/dist/__w3kits/assets/design-templates/open-design-landing/styles.css +1858 -0
  847. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/README.md +118 -0
  848. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/SKILL.md +222 -0
  849. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/example.html +2900 -0
  850. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/inputs.example.json +210 -0
  851. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/schema.ts +128 -0
  852. package/dist/__w3kits/assets/design-templates/open-design-landing-deck/scripts/compose.ts +1056 -0
  853. package/dist/__w3kits/assets/design-templates/orbit-general/SKILL.md +203 -0
  854. package/dist/__w3kits/assets/design-templates/orbit-general/example.html +1302 -0
  855. package/dist/__w3kits/assets/design-templates/orbit-github/SKILL.md +167 -0
  856. package/dist/__w3kits/assets/design-templates/orbit-github/example.html +770 -0
  857. package/dist/__w3kits/assets/design-templates/orbit-gmail/SKILL.md +170 -0
  858. package/dist/__w3kits/assets/design-templates/orbit-gmail/example.html +643 -0
  859. package/dist/__w3kits/assets/design-templates/orbit-linear/SKILL.md +177 -0
  860. package/dist/__w3kits/assets/design-templates/orbit-linear/example.html +571 -0
  861. package/dist/__w3kits/assets/design-templates/orbit-notion/SKILL.md +186 -0
  862. package/dist/__w3kits/assets/design-templates/orbit-notion/example.html +529 -0
  863. package/dist/__w3kits/assets/design-templates/pm-spec/SKILL.md +52 -0
  864. package/dist/__w3kits/assets/design-templates/pm-spec/example.html +248 -0
  865. package/dist/__w3kits/assets/design-templates/pricing-page/SKILL.md +79 -0
  866. package/dist/__w3kits/assets/design-templates/pricing-page/example.html +127 -0
  867. package/dist/__w3kits/assets/design-templates/replit-deck/SKILL.md +233 -0
  868. package/dist/__w3kits/assets/design-templates/replit-deck/assets/template.html +488 -0
  869. package/dist/__w3kits/assets/design-templates/replit-deck/examples/README.md +18 -0
  870. package/dist/__w3kits/assets/design-templates/replit-deck/examples/example-atlas.html +499 -0
  871. package/dist/__w3kits/assets/design-templates/replit-deck/examples/example-bluehouse.html +495 -0
  872. package/dist/__w3kits/assets/design-templates/replit-deck/examples/example-helix.html +480 -0
  873. package/dist/__w3kits/assets/design-templates/replit-deck/examples/example-holm.html +513 -0
  874. package/dist/__w3kits/assets/design-templates/replit-deck/references/checklist.md +112 -0
  875. package/dist/__w3kits/assets/design-templates/replit-deck/references/components.md +143 -0
  876. package/dist/__w3kits/assets/design-templates/replit-deck/references/layouts.md +457 -0
  877. package/dist/__w3kits/assets/design-templates/replit-deck/references/themes.md +326 -0
  878. package/dist/__w3kits/assets/design-templates/saas-landing/SKILL.md +124 -0
  879. package/dist/__w3kits/assets/design-templates/saas-landing/example.html +153 -0
  880. package/dist/__w3kits/assets/design-templates/simple-deck/SKILL.md +120 -0
  881. package/dist/__w3kits/assets/design-templates/simple-deck/assets/template.html +353 -0
  882. package/dist/__w3kits/assets/design-templates/simple-deck/example.html +141 -0
  883. package/dist/__w3kits/assets/design-templates/simple-deck/references/checklist.md +55 -0
  884. package/dist/__w3kits/assets/design-templates/simple-deck/references/layouts.md +201 -0
  885. package/dist/__w3kits/assets/design-templates/social-carousel/SKILL.md +92 -0
  886. package/dist/__w3kits/assets/design-templates/social-carousel/example.html +219 -0
  887. package/dist/__w3kits/assets/design-templates/social-media-dashboard/.preview/hero.png +0 -0
  888. package/dist/__w3kits/assets/design-templates/social-media-dashboard/SKILL.md +118 -0
  889. package/dist/__w3kits/assets/design-templates/social-media-dashboard/example.html +1534 -0
  890. package/dist/__w3kits/assets/design-templates/social-media-matrix-tracker-template/SKILL.md +107 -0
  891. package/dist/__w3kits/assets/design-templates/social-media-matrix-tracker-template/assets/template.html +1258 -0
  892. package/dist/__w3kits/assets/design-templates/social-media-matrix-tracker-template/example.html +1258 -0
  893. package/dist/__w3kits/assets/design-templates/social-media-matrix-tracker-template/references/checklist.md +25 -0
  894. package/dist/__w3kits/assets/design-templates/sprite-animation/SKILL.md +95 -0
  895. package/dist/__w3kits/assets/design-templates/sprite-animation/example.html +271 -0
  896. package/dist/__w3kits/assets/design-templates/team-okrs/SKILL.md +47 -0
  897. package/dist/__w3kits/assets/design-templates/team-okrs/example.html +207 -0
  898. package/dist/__w3kits/assets/design-templates/trading-analysis-dashboard-template/SKILL.md +78 -0
  899. package/dist/__w3kits/assets/design-templates/trading-analysis-dashboard-template/assets/template.html +284 -0
  900. package/dist/__w3kits/assets/design-templates/trading-analysis-dashboard-template/example.html +22 -0
  901. package/dist/__w3kits/assets/design-templates/trading-analysis-dashboard-template/references/checklist.md +32 -0
  902. package/dist/__w3kits/assets/design-templates/tweaks/SKILL.md +240 -0
  903. package/dist/__w3kits/assets/design-templates/tweaks/assets/wrap.html +437 -0
  904. package/dist/__w3kits/assets/design-templates/tweaks/example.html +750 -0
  905. package/dist/__w3kits/assets/design-templates/video-shortform/SKILL.md +128 -0
  906. package/dist/__w3kits/assets/design-templates/video-shortform/example.html +90 -0
  907. package/dist/__w3kits/assets/design-templates/waitlist-page/SKILL.md +229 -0
  908. package/dist/__w3kits/assets/design-templates/waitlist-page/assets/template.html +457 -0
  909. package/dist/__w3kits/assets/design-templates/waitlist-page/example.html +400 -0
  910. package/dist/__w3kits/assets/design-templates/waitlist-page/references/checklist.md +42 -0
  911. package/dist/__w3kits/assets/design-templates/web-prototype/SKILL.md +97 -0
  912. package/dist/__w3kits/assets/design-templates/web-prototype/assets/template.html +338 -0
  913. package/dist/__w3kits/assets/design-templates/web-prototype/example.html +81 -0
  914. package/dist/__w3kits/assets/design-templates/web-prototype/references/checklist.md +44 -0
  915. package/dist/__w3kits/assets/design-templates/web-prototype/references/layouts.md +247 -0
  916. package/dist/__w3kits/assets/design-templates/web-prototype-taste-brutalist/SKILL.md +61 -0
  917. package/dist/__w3kits/assets/design-templates/web-prototype-taste-brutalist/example.html +449 -0
  918. package/dist/__w3kits/assets/design-templates/web-prototype-taste-editorial/SKILL.md +60 -0
  919. package/dist/__w3kits/assets/design-templates/web-prototype-taste-editorial/example.html +392 -0
  920. package/dist/__w3kits/assets/design-templates/web-prototype-taste-soft/SKILL.md +63 -0
  921. package/dist/__w3kits/assets/design-templates/web-prototype-taste-soft/example.html +542 -0
  922. package/dist/__w3kits/assets/design-templates/weekly-update/SKILL.md +50 -0
  923. package/dist/__w3kits/assets/design-templates/weekly-update/example.html +320 -0
  924. package/dist/__w3kits/assets/design-templates/wireframe-sketch/SKILL.md +97 -0
  925. package/dist/__w3kits/assets/design-templates/wireframe-sketch/example.html +256 -0
  926. package/dist/__w3kits/assets/design-templates/x-research/SKILL.md +116 -0
  927. package/dist/__w3kits/assets/skills/8-bit-orbit-video-template/SKILL.md +73 -0
  928. package/dist/__w3kits/assets/skills/8-bit-orbit-video-template/assets/default-showcase.mp4 +0 -0
  929. package/dist/__w3kits/assets/skills/8-bit-orbit-video-template/assets/template.html +506 -0
  930. package/dist/__w3kits/assets/skills/8-bit-orbit-video-template/example.html +43 -0
  931. package/dist/__w3kits/assets/skills/8-bit-orbit-video-template/references/checklist.md +21 -0
  932. package/dist/__w3kits/assets/skills/AGENTS.md +54 -0
  933. package/dist/__w3kits/assets/skills/README.md +25 -0
  934. package/dist/__w3kits/assets/skills/ad-creative/SKILL.md +43 -0
  935. package/dist/__w3kits/assets/skills/after-hours-editorial-template/SKILL.md +79 -0
  936. package/dist/__w3kits/assets/skills/after-hours-editorial-template/assets/template.html +173 -0
  937. package/dist/__w3kits/assets/skills/after-hours-editorial-template/example.html +12 -0
  938. package/dist/__w3kits/assets/skills/after-hours-editorial-template/references/checklist.md +25 -0
  939. package/dist/__w3kits/assets/skills/agent-browser/SKILL.md +193 -0
  940. package/dist/__w3kits/assets/skills/ai-music-album/SKILL.md +43 -0
  941. package/dist/__w3kits/assets/skills/algorithmic-art/SKILL.md +44 -0
  942. package/dist/__w3kits/assets/skills/apple-hig/SKILL.md +43 -0
  943. package/dist/__w3kits/assets/skills/artifacts-builder/SKILL.md +42 -0
  944. package/dist/__w3kits/assets/skills/brainstorming/SKILL.md +43 -0
  945. package/dist/__w3kits/assets/skills/brand-guidelines/SKILL.md +42 -0
  946. package/dist/__w3kits/assets/skills/canvas-design/SKILL.md +45 -0
  947. package/dist/__w3kits/assets/skills/color-expert/SKILL.md +43 -0
  948. package/dist/__w3kits/assets/skills/competitive-ads-extractor/SKILL.md +42 -0
  949. package/dist/__w3kits/assets/skills/copywriting/SKILL.md +43 -0
  950. package/dist/__w3kits/assets/skills/creative-director/SKILL.md +43 -0
  951. package/dist/__w3kits/assets/skills/d3-visualization/SKILL.md +43 -0
  952. package/dist/__w3kits/assets/skills/design-brief/SKILL.md +252 -0
  953. package/dist/__w3kits/assets/skills/design-consultation/SKILL.md +42 -0
  954. package/dist/__w3kits/assets/skills/design-md/SKILL.md +42 -0
  955. package/dist/__w3kits/assets/skills/design-review/SKILL.md +42 -0
  956. package/dist/__w3kits/assets/skills/digits-fintech-swiss-template/SKILL.md +68 -0
  957. package/dist/__w3kits/assets/skills/digits-fintech-swiss-template/assets/template.html +111 -0
  958. package/dist/__w3kits/assets/skills/digits-fintech-swiss-template/example.html +44 -0
  959. package/dist/__w3kits/assets/skills/digits-fintech-swiss-template/references/checklist.md +23 -0
  960. package/dist/__w3kits/assets/skills/doc/SKILL.md +42 -0
  961. package/dist/__w3kits/assets/skills/docx/SKILL.md +43 -0
  962. package/dist/__w3kits/assets/skills/domain-name-brainstormer/SKILL.md +43 -0
  963. package/dist/__w3kits/assets/skills/editorial-burgundy-principles-template/SKILL.md +71 -0
  964. package/dist/__w3kits/assets/skills/editorial-burgundy-principles-template/assets/template.html +94 -0
  965. package/dist/__w3kits/assets/skills/editorial-burgundy-principles-template/example.html +49 -0
  966. package/dist/__w3kits/assets/skills/editorial-burgundy-principles-template/references/checklist.md +22 -0
  967. package/dist/__w3kits/assets/skills/enhance-prompt/SKILL.md +42 -0
  968. package/dist/__w3kits/assets/skills/fal-3d/SKILL.md +43 -0
  969. package/dist/__w3kits/assets/skills/fal-generate/SKILL.md +43 -0
  970. package/dist/__w3kits/assets/skills/fal-image-edit/SKILL.md +43 -0
  971. package/dist/__w3kits/assets/skills/fal-kling-o3/SKILL.md +42 -0
  972. package/dist/__w3kits/assets/skills/fal-lip-sync/SKILL.md +43 -0
  973. package/dist/__w3kits/assets/skills/fal-realtime/SKILL.md +42 -0
  974. package/dist/__w3kits/assets/skills/fal-restore/SKILL.md +44 -0
  975. package/dist/__w3kits/assets/skills/fal-train/SKILL.md +43 -0
  976. package/dist/__w3kits/assets/skills/fal-tryon/SKILL.md +43 -0
  977. package/dist/__w3kits/assets/skills/fal-upscale/SKILL.md +43 -0
  978. package/dist/__w3kits/assets/skills/fal-video-edit/SKILL.md +43 -0
  979. package/dist/__w3kits/assets/skills/fal-vision/SKILL.md +44 -0
  980. package/dist/__w3kits/assets/skills/faq-page/SKILL.md +113 -0
  981. package/dist/__w3kits/assets/skills/faq-page/example.html +517 -0
  982. package/dist/__w3kits/assets/skills/field-notes-editorial-template/SKILL.md +78 -0
  983. package/dist/__w3kits/assets/skills/field-notes-editorial-template/assets/template.html +287 -0
  984. package/dist/__w3kits/assets/skills/field-notes-editorial-template/example.html +138 -0
  985. package/dist/__w3kits/assets/skills/field-notes-editorial-template/references/checklist.md +28 -0
  986. package/dist/__w3kits/assets/skills/figma-code-connect-components/SKILL.md +42 -0
  987. package/dist/__w3kits/assets/skills/figma-create-design-system-rules/SKILL.md +42 -0
  988. package/dist/__w3kits/assets/skills/figma-create-new-file/SKILL.md +41 -0
  989. package/dist/__w3kits/assets/skills/figma-generate-design/SKILL.md +42 -0
  990. package/dist/__w3kits/assets/skills/figma-generate-library/SKILL.md +42 -0
  991. package/dist/__w3kits/assets/skills/figma-implement-design/SKILL.md +42 -0
  992. package/dist/__w3kits/assets/skills/figma-use/SKILL.md +42 -0
  993. package/dist/__w3kits/assets/skills/flutter-animating-apps/SKILL.md +42 -0
  994. package/dist/__w3kits/assets/skills/frontend-design/SKILL.md +43 -0
  995. package/dist/__w3kits/assets/skills/frontend-dev/SKILL.md +43 -0
  996. package/dist/__w3kits/assets/skills/frontend-skill/SKILL.md +42 -0
  997. package/dist/__w3kits/assets/skills/frontend-slides/SKILL.md +43 -0
  998. package/dist/__w3kits/assets/skills/full-page-screenshot/SKILL.md +42 -0
  999. package/dist/__w3kits/assets/skills/gif-sticker-maker/SKILL.md +43 -0
  1000. package/dist/__w3kits/assets/skills/gsap-core/SKILL.md +43 -0
  1001. package/dist/__w3kits/assets/skills/gsap-react/SKILL.md +43 -0
  1002. package/dist/__w3kits/assets/skills/gsap-scrolltrigger/SKILL.md +43 -0
  1003. package/dist/__w3kits/assets/skills/gsap-timeline/SKILL.md +42 -0
  1004. package/dist/__w3kits/assets/skills/hand-drawn-diagrams/SKILL.md +42 -0
  1005. package/dist/__w3kits/assets/skills/hatch-pet/LICENSE.txt +201 -0
  1006. package/dist/__w3kits/assets/skills/hatch-pet/README.md +56 -0
  1007. package/dist/__w3kits/assets/skills/hatch-pet/SKILL.md +355 -0
  1008. package/dist/__w3kits/assets/skills/hatch-pet/agents/openai.yaml +4 -0
  1009. package/dist/__w3kits/assets/skills/hatch-pet/references/animation-rows.md +29 -0
  1010. package/dist/__w3kits/assets/skills/hatch-pet/references/codex-pet-contract.md +35 -0
  1011. package/dist/__w3kits/assets/skills/hatch-pet/references/qa-rubric.md +60 -0
  1012. package/dist/__w3kits/assets/skills/hatch-pet/scripts/compose_atlas.py +150 -0
  1013. package/dist/__w3kits/assets/skills/hatch-pet/scripts/derive_running_left_from_running_right.py +143 -0
  1014. package/dist/__w3kits/assets/skills/hatch-pet/scripts/extract_strip_frames.py +323 -0
  1015. package/dist/__w3kits/assets/skills/hatch-pet/scripts/finalize_pet_run.py +382 -0
  1016. package/dist/__w3kits/assets/skills/hatch-pet/scripts/generate_pet_images.py +295 -0
  1017. package/dist/__w3kits/assets/skills/hatch-pet/scripts/inspect_frames.py +246 -0
  1018. package/dist/__w3kits/assets/skills/hatch-pet/scripts/make_contact_sheet.py +96 -0
  1019. package/dist/__w3kits/assets/skills/hatch-pet/scripts/package_custom_pet.py +108 -0
  1020. package/dist/__w3kits/assets/skills/hatch-pet/scripts/pet_job_status.py +117 -0
  1021. package/dist/__w3kits/assets/skills/hatch-pet/scripts/prepare_pet_run.py +674 -0
  1022. package/dist/__w3kits/assets/skills/hatch-pet/scripts/queue_pet_repairs.py +172 -0
  1023. package/dist/__w3kits/assets/skills/hatch-pet/scripts/record_imagegen_result.py +250 -0
  1024. package/dist/__w3kits/assets/skills/hatch-pet/scripts/render_animation_videos.py +134 -0
  1025. package/dist/__w3kits/assets/skills/hatch-pet/scripts/render_animation_videos.sh +5 -0
  1026. package/dist/__w3kits/assets/skills/hatch-pet/scripts/test_generate_pet_images.py +136 -0
  1027. package/dist/__w3kits/assets/skills/hatch-pet/scripts/validate_atlas.py +139 -0
  1028. package/dist/__w3kits/assets/skills/html-ppt-retro-quarterly-review/SKILL.md +79 -0
  1029. package/dist/__w3kits/assets/skills/html-ppt-retro-quarterly-review/assets/template.html +164 -0
  1030. package/dist/__w3kits/assets/skills/html-ppt-retro-quarterly-review/example.html +139 -0
  1031. package/dist/__w3kits/assets/skills/html-ppt-retro-quarterly-review/references/checklist.md +23 -0
  1032. package/dist/__w3kits/assets/skills/image-enhancer/SKILL.md +43 -0
  1033. package/dist/__w3kits/assets/skills/imagegen/SKILL.md +44 -0
  1034. package/dist/__w3kits/assets/skills/imagen/SKILL.md +43 -0
  1035. package/dist/__w3kits/assets/skills/login-flow/SKILL.md +48 -0
  1036. package/dist/__w3kits/assets/skills/login-flow/example.html +362 -0
  1037. package/dist/__w3kits/assets/skills/login-flow/references/checklist.md +19 -0
  1038. package/dist/__w3kits/assets/skills/marketing-psychology/SKILL.md +43 -0
  1039. package/dist/__w3kits/assets/skills/minimax-docx/SKILL.md +43 -0
  1040. package/dist/__w3kits/assets/skills/minimax-pdf/SKILL.md +43 -0
  1041. package/dist/__w3kits/assets/skills/nanobanana-ppt/SKILL.md +43 -0
  1042. package/dist/__w3kits/assets/skills/paywall-upgrade-cro/SKILL.md +43 -0
  1043. package/dist/__w3kits/assets/skills/pdf/SKILL.md +43 -0
  1044. package/dist/__w3kits/assets/skills/pixelbin-media/SKILL.md +43 -0
  1045. package/dist/__w3kits/assets/skills/plan-design-review/SKILL.md +42 -0
  1046. package/dist/__w3kits/assets/skills/platform-design/SKILL.md +43 -0
  1047. package/dist/__w3kits/assets/skills/pptx/SKILL.md +43 -0
  1048. package/dist/__w3kits/assets/skills/pptx-generator/SKILL.md +42 -0
  1049. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/SKILL.md +254 -0
  1050. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/references/audit-table-template.md +58 -0
  1051. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/references/font-discipline.md +363 -0
  1052. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/references/layout-discipline.md +371 -0
  1053. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/scripts/extract_pptx.py +134 -0
  1054. package/dist/__w3kits/assets/skills/pptx-html-fidelity-audit/scripts/verify_layout.py +144 -0
  1055. package/dist/__w3kits/assets/skills/release-notes-one-pager/SKILL.md +107 -0
  1056. package/dist/__w3kits/assets/skills/release-notes-one-pager/assets/template.html +342 -0
  1057. package/dist/__w3kits/assets/skills/release-notes-one-pager/example.html +156 -0
  1058. package/dist/__w3kits/assets/skills/release-notes-one-pager/references/checklist.md +41 -0
  1059. package/dist/__w3kits/assets/skills/release-notes-one-pager/references/layouts.md +299 -0
  1060. package/dist/__w3kits/assets/skills/remotion/SKILL.md +43 -0
  1061. package/dist/__w3kits/assets/skills/replicate/SKILL.md +42 -0
  1062. package/dist/__w3kits/assets/skills/screenshot/SKILL.md +42 -0
  1063. package/dist/__w3kits/assets/skills/screenshots-marketing/SKILL.md +42 -0
  1064. package/dist/__w3kits/assets/skills/shadcn-ui/SKILL.md +42 -0
  1065. package/dist/__w3kits/assets/skills/shader-dev/SKILL.md +43 -0
  1066. package/dist/__w3kits/assets/skills/slack-gif-creator/SKILL.md +42 -0
  1067. package/dist/__w3kits/assets/skills/slides/SKILL.md +42 -0
  1068. package/dist/__w3kits/assets/skills/sora/SKILL.md +43 -0
  1069. package/dist/__w3kits/assets/skills/speech/SKILL.md +42 -0
  1070. package/dist/__w3kits/assets/skills/stitch-loop/SKILL.md +42 -0
  1071. package/dist/__w3kits/assets/skills/swiftui-design/SKILL.md +43 -0
  1072. package/dist/__w3kits/assets/skills/swiss-creative-mode-template/SKILL.md +79 -0
  1073. package/dist/__w3kits/assets/skills/swiss-creative-mode-template/assets/template.html +375 -0
  1074. package/dist/__w3kits/assets/skills/swiss-creative-mode-template/example.html +70 -0
  1075. package/dist/__w3kits/assets/skills/swiss-creative-mode-template/references/checklist.md +33 -0
  1076. package/dist/__w3kits/assets/skills/swiss-user-research-video-template/SKILL.md +81 -0
  1077. package/dist/__w3kits/assets/skills/swiss-user-research-video-template/assets/template.html +265 -0
  1078. package/dist/__w3kits/assets/skills/swiss-user-research-video-template/example.html +265 -0
  1079. package/dist/__w3kits/assets/skills/swiss-user-research-video-template/references/checklist.md +24 -0
  1080. package/dist/__w3kits/assets/skills/taste-skill/SKILL.md +43 -0
  1081. package/dist/__w3kits/assets/skills/theme-factory/SKILL.md +43 -0
  1082. package/dist/__w3kits/assets/skills/threejs/SKILL.md +43 -0
  1083. package/dist/__w3kits/assets/skills/ui-skills/SKILL.md +42 -0
  1084. package/dist/__w3kits/assets/skills/ui-ux-pro-max/SKILL.md +42 -0
  1085. package/dist/__w3kits/assets/skills/venice-audio-music/SKILL.md +43 -0
  1086. package/dist/__w3kits/assets/skills/venice-audio-speech/SKILL.md +43 -0
  1087. package/dist/__w3kits/assets/skills/venice-image-edit/SKILL.md +41 -0
  1088. package/dist/__w3kits/assets/skills/venice-image-generate/SKILL.md +41 -0
  1089. package/dist/__w3kits/assets/skills/venice-video/SKILL.md +41 -0
  1090. package/dist/__w3kits/assets/skills/video-downloader/SKILL.md +42 -0
  1091. package/dist/__w3kits/assets/skills/web-artifacts-builder/SKILL.md +42 -0
  1092. package/dist/__w3kits/assets/skills/web-design-guidelines/SKILL.md +42 -0
  1093. package/dist/__w3kits/assets/skills/wpds/SKILL.md +42 -0
  1094. package/dist/__w3kits/assets/skills/youtube-clipper/SKILL.md +42 -0
  1095. package/dist/__w3kits/daemon-proxy-sw.js +45 -0
  1096. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/acp.d.ts +59 -0
  1097. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/acp.js +595 -0
  1098. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/acp.js.map +1 -0
  1099. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/active-context-routes.d.ts +5 -0
  1100. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/active-context-routes.js +64 -0
  1101. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/active-context-routes.js.map +1 -0
  1102. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/agents.d.ts +9 -0
  1103. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/agents.js +11 -0
  1104. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/agents.js.map +1 -0
  1105. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/analytics.d.ts +32 -0
  1106. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/analytics.js +140 -0
  1107. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/analytics.js.map +1 -0
  1108. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-config.d.ts +34 -0
  1109. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-config.js +305 -0
  1110. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-config.js.map +1 -0
  1111. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-version.d.ts +26 -0
  1112. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-version.js +94 -0
  1113. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/app-version.js.map +1 -0
  1114. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-manifest.d.ts +13 -0
  1115. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-manifest.js +244 -0
  1116. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-manifest.js.map +1 -0
  1117. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-stub-guard.d.ts +50 -0
  1118. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-stub-guard.js +252 -0
  1119. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/artifact-stub-guard.js.map +1 -0
  1120. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/browser-open.d.ts +16 -0
  1121. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/browser-open.js +57 -0
  1122. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/browser-open.js.map +1 -0
  1123. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/chat-routes.d.ts +5 -0
  1124. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/chat-routes.js +983 -0
  1125. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/chat-routes.js.map +1 -0
  1126. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-design-import.d.ts +4 -0
  1127. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-design-import.js +217 -0
  1128. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-design-import.js.map +1 -0
  1129. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-diagnostics.d.ts +14 -0
  1130. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-diagnostics.js +96 -0
  1131. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-diagnostics.js.map +1 -0
  1132. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-stream.d.ts +27 -0
  1133. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-stream.js +255 -0
  1134. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/claude-stream.js.map +1 -0
  1135. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cli.d.ts +2 -0
  1136. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cli.js +681 -0
  1137. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cli.js.map +1 -0
  1138. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/codex-pets.d.ts +26 -0
  1139. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/codex-pets.js +234 -0
  1140. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/codex-pets.js.map +1 -0
  1141. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/community-pets-sync.d.ts +15 -0
  1142. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/community-pets-sync.js +233 -0
  1143. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/community-pets-sync.js.map +1 -0
  1144. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectionTest.d.ts +31 -0
  1145. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectionTest.js +1252 -0
  1146. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectionTest.js.map +1 -0
  1147. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/catalog.d.ts +121 -0
  1148. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/catalog.js +102 -0
  1149. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/catalog.js.map +1 -0
  1150. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-config.d.ts +14 -0
  1151. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-config.js +101 -0
  1152. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-config.js.map +1 -0
  1153. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-curation.d.ts +2 -0
  1154. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-curation.js +120 -0
  1155. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-curation.js.map +1 -0
  1156. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-descriptions.d.ts +15 -0
  1157. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-descriptions.js +765 -0
  1158. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio-descriptions.js.map +1 -0
  1159. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio.d.ts +114 -0
  1160. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio.js +1328 -0
  1161. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/composio.js.map +1 -0
  1162. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/routes.d.ts +23 -0
  1163. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/routes.js +735 -0
  1164. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/routes.js.map +1 -0
  1165. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/service.d.ts +173 -0
  1166. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/service.js +714 -0
  1167. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/connectors/service.js.map +1 -0
  1168. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/constants.d.ts +1 -0
  1169. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/constants.js +2 -0
  1170. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/constants.js.map +1 -0
  1171. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/copilot-stream.d.ts +29 -0
  1172. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/copilot-stream.js +129 -0
  1173. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/copilot-stream.js.map +1 -0
  1174. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/craft.d.ts +11 -0
  1175. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/craft.js +47 -0
  1176. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/craft.js.map +1 -0
  1177. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-bad.d.ts +20 -0
  1178. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-bad.js +30 -0
  1179. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-bad.js.map +1 -0
  1180. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-good.d.ts +42 -0
  1181. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-good.js +52 -0
  1182. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/adapters/synthetic-good.js.map +1 -0
  1183. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/run-nightly.d.ts +24 -0
  1184. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/run-nightly.js +90 -0
  1185. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/__fixtures__/run-nightly.js.map +1 -0
  1186. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/adapter-degraded.d.ts +69 -0
  1187. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/adapter-degraded.js +110 -0
  1188. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/adapter-degraded.js.map +1 -0
  1189. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-handler.d.ts +24 -0
  1190. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-handler.js +195 -0
  1191. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-handler.js.map +1 -0
  1192. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-writer.d.ts +79 -0
  1193. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-writer.js +142 -0
  1194. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/artifact-writer.js.map +1 -0
  1195. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/config.d.ts +10 -0
  1196. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/config.js +72 -0
  1197. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/config.js.map +1 -0
  1198. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance-history.d.ts +48 -0
  1199. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance-history.js +119 -0
  1200. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance-history.js.map +1 -0
  1201. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance.d.ts +103 -0
  1202. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance.js +190 -0
  1203. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/conformance.js.map +1 -0
  1204. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/errors.d.ts +11 -0
  1205. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/errors.js +23 -0
  1206. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/errors.js.map +1 -0
  1207. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/interrupt-handler.d.ts +20 -0
  1208. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/interrupt-handler.js +110 -0
  1209. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/interrupt-handler.js.map +1 -0
  1210. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/orchestrator.d.ts +72 -0
  1211. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/orchestrator.js +806 -0
  1212. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/orchestrator.js.map +1 -0
  1213. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parser.d.ts +34 -0
  1214. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parser.js +7 -0
  1215. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parser.js.map +1 -0
  1216. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parsers/v1.d.ts +48 -0
  1217. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parsers/v1.js +526 -0
  1218. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/parsers/v1.js.map +1 -0
  1219. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/persistence.d.ts +101 -0
  1220. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/persistence.js +238 -0
  1221. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/persistence.js.map +1 -0
  1222. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/ratchet.d.ts +100 -0
  1223. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/ratchet.js +192 -0
  1224. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/ratchet.js.map +1 -0
  1225. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/rollout.d.ts +93 -0
  1226. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/rollout.js +125 -0
  1227. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/rollout.js.map +1 -0
  1228. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/run-registry.d.ts +59 -0
  1229. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/run-registry.js +58 -0
  1230. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/run-registry.js.map +1 -0
  1231. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/scoreboard.d.ts +39 -0
  1232. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/scoreboard.js +62 -0
  1233. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/scoreboard.js.map +1 -0
  1234. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/spawn-inputs.d.ts +33 -0
  1235. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/spawn-inputs.js +40 -0
  1236. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/spawn-inputs.js.map +1 -0
  1237. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/transcript.d.ts +30 -0
  1238. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/transcript.js +153 -0
  1239. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/critique/transcript.js.map +1 -0
  1240. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cwd-aliases.d.ts +22 -0
  1241. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cwd-aliases.js +131 -0
  1242. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/cwd-aliases.js.map +1 -0
  1243. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.d.ts +449 -0
  1244. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js +1142 -0
  1245. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js.map +1 -0
  1246. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy-routes.d.ts +8 -0
  1247. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy-routes.js +201 -0
  1248. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy-routes.js.map +1 -0
  1249. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy.d.ts +288 -0
  1250. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy.js +1816 -0
  1251. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/deploy.js.map +1 -0
  1252. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-preview.d.ts +12 -0
  1253. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-preview.js +603 -0
  1254. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-preview.js.map +1 -0
  1255. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-showcase.d.ts +18 -0
  1256. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-showcase.js +844 -0
  1257. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-system-showcase.js.map +1 -0
  1258. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-systems.d.ts +73 -0
  1259. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-systems.js +266 -0
  1260. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/design-systems.js.map +1 -0
  1261. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/document-preview.d.ts +26 -0
  1262. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/document-preview.js +286 -0
  1263. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/document-preview.js.map +1 -0
  1264. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/elevenlabs-voices.d.ts +10 -0
  1265. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/elevenlabs-voices.js +108 -0
  1266. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/elevenlabs-voices.js.map +1 -0
  1267. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/finalize-design.d.ts +151 -0
  1268. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/finalize-design.js +547 -0
  1269. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/finalize-design.js.map +1 -0
  1270. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/frontmatter.d.ts +10 -0
  1271. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/frontmatter.js +155 -0
  1272. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/frontmatter.js.map +1 -0
  1273. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/home-expansion.d.ts +2 -0
  1274. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/home-expansion.js +39 -0
  1275. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/home-expansion.js.map +1 -0
  1276. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/import-export-routes.d.ts +11 -0
  1277. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/import-export-routes.js +482 -0
  1278. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/import-export-routes.js.map +1 -0
  1279. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/inline-assets.d.ts +50 -0
  1280. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/inline-assets.js +332 -0
  1281. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/inline-assets.js.map +1 -0
  1282. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/json-event-stream.d.ts +8 -0
  1283. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/json-event-stream.js +405 -0
  1284. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/json-event-stream.js.map +1 -0
  1285. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-bridge.d.ts +35 -0
  1286. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-bridge.js +273 -0
  1287. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-bridge.js.map +1 -0
  1288. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-trace.d.ts +110 -0
  1289. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-trace.js +479 -0
  1290. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/langfuse-trace.js.map +1 -0
  1291. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/legacy-data-migrator.d.ts +90 -0
  1292. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/legacy-data-migrator.js +340 -0
  1293. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/legacy-data-migrator.js.map +1 -0
  1294. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/library-install.d.ts +36 -0
  1295. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/library-install.js +174 -0
  1296. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/library-install.js.map +1 -0
  1297. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/linked-dirs.d.ts +8 -0
  1298. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/linked-dirs.js +62 -0
  1299. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/linked-dirs.js.map +1 -0
  1300. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/lint-artifact.d.ts +44 -0
  1301. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/lint-artifact.js +952 -0
  1302. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/lint-artifact.js.map +1 -0
  1303. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifact-routes.d.ts +5 -0
  1304. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifact-routes.js +305 -0
  1305. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifact-routes.js.map +1 -0
  1306. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh-service.d.ts +23 -0
  1307. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh-service.js +178 -0
  1308. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh-service.js.map +1 -0
  1309. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh.d.ts +92 -0
  1310. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh.js +641 -0
  1311. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/refresh.js.map +1 -0
  1312. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/render.d.ts +15 -0
  1313. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/render.js +68 -0
  1314. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/render.js.map +1 -0
  1315. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/schema.d.ts +144 -0
  1316. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/schema.js +702 -0
  1317. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/schema.js.map +1 -0
  1318. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/store.d.ts +214 -0
  1319. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/store.js +1002 -0
  1320. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/live-artifacts/store.js.map +1 -0
  1321. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/logging/critique.d.ts +57 -0
  1322. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/logging/critique.js +30 -0
  1323. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/logging/critique.js.map +1 -0
  1324. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-config.d.ts +88 -0
  1325. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-config.js +878 -0
  1326. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-config.js.map +1 -0
  1327. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-daemon-url.d.ts +22 -0
  1328. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-daemon-url.js +44 -0
  1329. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-daemon-url.js.map +1 -0
  1330. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-install-info.d.ts +29 -0
  1331. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-install-info.js +60 -0
  1332. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-install-info.js.map +1 -0
  1333. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-live-artifacts-server.d.ts +19 -0
  1334. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-live-artifacts-server.js +238 -0
  1335. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-live-artifacts-server.js.map +1 -0
  1336. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-oauth.d.ts +155 -0
  1337. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-oauth.js +412 -0
  1338. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-oauth.js.map +1 -0
  1339. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-routes.d.ts +5 -0
  1340. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-routes.js +365 -0
  1341. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-routes.js.map +1 -0
  1342. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-tokens.d.ts +59 -0
  1343. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-tokens.js +189 -0
  1344. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp-tokens.js.map +1 -0
  1345. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp.d.ts +52 -0
  1346. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp.js +847 -0
  1347. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/mcp.js.map +1 -0
  1348. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-config.d.ts +69 -0
  1349. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-config.js +408 -0
  1350. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-config.js.map +1 -0
  1351. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-models.d.ts +31 -0
  1352. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-models.js +136 -0
  1353. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-models.js.map +1 -0
  1354. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-routes.d.ts +5 -0
  1355. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-routes.js +316 -0
  1356. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-routes.js.map +1 -0
  1357. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-tasks.d.ts +65 -0
  1358. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-tasks.js +199 -0
  1359. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media-tasks.js.map +1 -0
  1360. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media.d.ts +56 -0
  1361. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media.js +2065 -0
  1362. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/media.js.map +1 -0
  1363. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-extractions.d.ts +26 -0
  1364. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-extractions.js +233 -0
  1365. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-extractions.js.map +1 -0
  1366. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-llm.d.ts +7 -0
  1367. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-llm.js +809 -0
  1368. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory-llm.js.map +1 -0
  1369. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory.d.ts +70 -0
  1370. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory.js +654 -0
  1371. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/memory.js.map +1 -0
  1372. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/metrics/index.d.ts +51 -0
  1373. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/metrics/index.js +111 -0
  1374. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/metrics/index.js.map +1 -0
  1375. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/native-folder-dialog.d.ts +6 -0
  1376. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/native-folder-dialog.js +32 -0
  1377. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/native-folder-dialog.js.map +1 -0
  1378. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit-agent-summary.d.ts +7 -0
  1379. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit-agent-summary.js +34 -0
  1380. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit-agent-summary.js.map +1 -0
  1381. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit.d.ts +93 -0
  1382. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit.js +400 -0
  1383. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/orbit.js.map +1 -0
  1384. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/origin-validation.d.ts +21 -0
  1385. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/origin-validation.js +149 -0
  1386. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/origin-validation.js.map +1 -0
  1387. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pdf-export.d.ts +10 -0
  1388. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pdf-export.js +43 -0
  1389. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pdf-export.js.map +1 -0
  1390. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pi-rpc.d.ts +93 -0
  1391. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pi-rpc.js +475 -0
  1392. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/pi-rpc.js.map +1 -0
  1393. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-routes.d.ts +14 -0
  1394. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-routes.js +867 -0
  1395. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-routes.js.map +1 -0
  1396. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-watchers.d.ts +52 -0
  1397. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-watchers.js +162 -0
  1398. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/project-watchers.js.map +1 -0
  1399. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/projects.d.ts +90 -0
  1400. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/projects.js +1186 -0
  1401. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/projects.js.map +1 -0
  1402. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompt-templates.d.ts +24 -0
  1403. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompt-templates.js +122 -0
  1404. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompt-templates.js.map +1 -0
  1405. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/deck-framework.d.ts +38 -0
  1406. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/deck-framework.js +373 -0
  1407. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/deck-framework.js.map +1 -0
  1408. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/directions.d.ts +68 -0
  1409. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/directions.js +237 -0
  1410. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/directions.js.map +1 -0
  1411. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/discovery.d.ts +1 -0
  1412. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/discovery.js +262 -0
  1413. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/discovery.js.map +1 -0
  1414. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/media-contract.d.ts +1 -0
  1415. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/media-contract.js +359 -0
  1416. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/media-contract.js.map +1 -0
  1417. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/official-system.d.ts +11 -0
  1418. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/official-system.js +124 -0
  1419. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/official-system.js.map +1 -0
  1420. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/panel.d.ts +48 -0
  1421. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/panel.js +196 -0
  1422. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/panel.js.map +1 -0
  1423. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/research-contract.d.ts +5 -0
  1424. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/research-contract.js +52 -0
  1425. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/research-contract.js.map +1 -0
  1426. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/system.d.ts +97 -0
  1427. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/system.js +598 -0
  1428. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/prompts/system.js.map +1 -0
  1429. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/providerModels.d.ts +6 -0
  1430. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/providerModels.js +284 -0
  1431. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/providerModels.js.map +1 -0
  1432. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/qoder-stream.d.ts +13 -0
  1433. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/qoder-stream.js +162 -0
  1434. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/qoder-stream.js.map +1 -0
  1435. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/redact.d.ts +18 -0
  1436. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/redact.js +179 -0
  1437. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/redact.js.map +1 -0
  1438. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/cli-args.d.ts +5 -0
  1439. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/cli-args.js +11 -0
  1440. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/cli-args.js.map +1 -0
  1441. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/index.d.ts +14 -0
  1442. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/index.js +78 -0
  1443. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/index.js.map +1 -0
  1444. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/tavily.d.ts +19 -0
  1445. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/tavily.js +78 -0
  1446. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/research/tavily.js.map +1 -0
  1447. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/route-context-contract.d.ts +16 -0
  1448. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/route-context-contract.js +4 -0
  1449. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/route-context-contract.js.map +1 -0
  1450. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routine-routes.d.ts +37 -0
  1451. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routine-routes.js +212 -0
  1452. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routine-routes.js.map +1 -0
  1453. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routines.d.ts +100 -0
  1454. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routines.js +390 -0
  1455. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/routines.js.map +1 -0
  1456. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runs.d.ts +59 -0
  1457. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runs.js +217 -0
  1458. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runs.js.map +1 -0
  1459. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/auth.d.ts +9 -0
  1460. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/auth.js +58 -0
  1461. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/auth.js.map +1 -0
  1462. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/capabilities.d.ts +2 -0
  1463. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/capabilities.js +2 -0
  1464. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/capabilities.js.map +1 -0
  1465. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/claude.d.ts +17 -0
  1466. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/claude.js +75 -0
  1467. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/claude.js.map +1 -0
  1468. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/codex.d.ts +15 -0
  1469. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/codex.js +82 -0
  1470. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/codex.js.map +1 -0
  1471. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/copilot.d.ts +10 -0
  1472. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/copilot.js +68 -0
  1473. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/copilot.js.map +1 -0
  1474. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/cursor-agent.d.ts +16 -0
  1475. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/cursor-agent.js +46 -0
  1476. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/cursor-agent.js.map +1 -0
  1477. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/deepseek.d.ts +10 -0
  1478. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/deepseek.js +54 -0
  1479. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/deepseek.js.map +1 -0
  1480. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/devin.d.ts +10 -0
  1481. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/devin.js +43 -0
  1482. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/devin.js.map +1 -0
  1483. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/gemini.d.ts +14 -0
  1484. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/gemini.js +37 -0
  1485. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/gemini.js.map +1 -0
  1486. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/hermes.d.ts +11 -0
  1487. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/hermes.js +27 -0
  1488. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/hermes.js.map +1 -0
  1489. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kilo.d.ts +10 -0
  1490. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kilo.js +18 -0
  1491. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kilo.js.map +1 -0
  1492. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kimi.d.ts +11 -0
  1493. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kimi.js +24 -0
  1494. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kimi.js.map +1 -0
  1495. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kiro.d.ts +10 -0
  1496. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kiro.js +18 -0
  1497. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/kiro.js.map +1 -0
  1498. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/opencode.d.ts +18 -0
  1499. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/opencode.js +43 -0
  1500. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/opencode.js.map +1 -0
  1501. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/pi.d.ts +19 -0
  1502. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/pi.js +88 -0
  1503. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/pi.js.map +1 -0
  1504. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qoder.d.ts +10 -0
  1505. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qoder.js +49 -0
  1506. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qoder.js.map +1 -0
  1507. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qwen.d.ts +10 -0
  1508. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qwen.js +26 -0
  1509. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/qwen.js.map +1 -0
  1510. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/shared.d.ts +8 -0
  1511. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/shared.js +44 -0
  1512. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/shared.js.map +1 -0
  1513. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/vibe.d.ts +10 -0
  1514. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/vibe.js +18 -0
  1515. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/defs/vibe.js.map +1 -0
  1516. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/detection.d.ts +9 -0
  1517. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/detection.js +180 -0
  1518. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/detection.js.map +1 -0
  1519. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/env.d.ts +3 -0
  1520. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/env.js +38 -0
  1521. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/env.js.map +1 -0
  1522. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/executables.d.ts +8 -0
  1523. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/executables.js +155 -0
  1524. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/executables.js.map +1 -0
  1525. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/invocation.d.ts +5 -0
  1526. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/invocation.js +21 -0
  1527. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/invocation.js.map +1 -0
  1528. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/launch.d.ts +11 -0
  1529. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/launch.js +147 -0
  1530. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/launch.js.map +1 -0
  1531. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/mcp.d.ts +13 -0
  1532. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/mcp.js +13 -0
  1533. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/mcp.js.map +1 -0
  1534. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/metadata.d.ts +4 -0
  1535. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/metadata.js +90 -0
  1536. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/metadata.js.map +1 -0
  1537. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/models.d.ts +5 -0
  1538. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/models.js +43 -0
  1539. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/models.js.map +1 -0
  1540. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/paths.d.ts +2 -0
  1541. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/paths.js +22 -0
  1542. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/paths.js.map +1 -0
  1543. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/prompt-budget.d.ts +4 -0
  1544. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/prompt-budget.js +202 -0
  1545. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/prompt-budget.js.map +1 -0
  1546. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/registry.d.ts +3 -0
  1547. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/registry.js +45 -0
  1548. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/registry.js.map +1 -0
  1549. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/resolution.d.ts +1 -0
  1550. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/resolution.js +13 -0
  1551. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/resolution.js.map +1 -0
  1552. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/types.d.ts +62 -0
  1553. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/types.js +2 -0
  1554. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/runtimes/types.js.map +1 -0
  1555. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server-context.d.ts +93 -0
  1556. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server-context.js +2 -0
  1557. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server-context.js.map +1 -0
  1558. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server.d.ts +160 -0
  1559. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server.js +4384 -0
  1560. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/server.js.map +1 -0
  1561. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/index.d.ts +1 -0
  1562. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/index.js +21 -0
  1563. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/index.js.map +1 -0
  1564. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/server.d.ts +23 -0
  1565. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/server.js +175 -0
  1566. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/sidecar/server.js.map +1 -0
  1567. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/skills.d.ts +100 -0
  1568. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/skills.js +836 -0
  1569. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/skills.js.map +1 -0
  1570. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/static-resource-routes.d.ts +5 -0
  1571. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/static-resource-routes.js +593 -0
  1572. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/static-resource-routes.js.map +1 -0
  1573. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tool-tokens.d.ts +47 -0
  1574. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tool-tokens.js +131 -0
  1575. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tool-tokens.js.map +1 -0
  1576. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools/connectors.d.ts +12 -0
  1577. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools/connectors.js +124 -0
  1578. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools/connectors.js.map +1 -0
  1579. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-connectors-cli.d.ts +5 -0
  1580. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-connectors-cli.js +270 -0
  1581. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-connectors-cli.js.map +1 -0
  1582. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-live-artifacts-cli.d.ts +5 -0
  1583. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-live-artifacts-cli.js +282 -0
  1584. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/tools-live-artifacts-cli.js.map +1 -0
  1585. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/transcript-export.d.ts +16 -0
  1586. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/transcript-export.js +388 -0
  1587. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/transcript-export.js.map +1 -0
  1588. package/dist/__w3kits/webcontainer-runtime/apps/daemon/package.json +62 -0
  1589. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/browser-vfs/dist/index.d.ts +108 -0
  1590. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/browser-vfs/dist/index.d.ts.map +1 -0
  1591. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/browser-vfs/dist/index.mjs +413 -0
  1592. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/browser-vfs/package.json +12 -0
  1593. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/artifact-id.d.ts +5 -0
  1594. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/artifact-id.d.ts.map +1 -0
  1595. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/events.d.ts +250 -0
  1596. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/events.d.ts.map +1 -0
  1597. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/index.d.ts +4 -0
  1598. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/index.d.ts.map +1 -0
  1599. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/index.mjs +186 -0
  1600. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/public-params.d.ts +26 -0
  1601. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/analytics/public-params.d.ts.map +1 -0
  1602. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/app-config.d.ts +44 -0
  1603. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/app-config.d.ts.map +1 -0
  1604. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/artifacts.d.ts +34 -0
  1605. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/artifacts.d.ts.map +1 -0
  1606. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/chat.d.ts +158 -0
  1607. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/chat.d.ts.map +1 -0
  1608. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/comments.d.ts +65 -0
  1609. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/comments.d.ts.map +1 -0
  1610. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/connectionTest.d.ts +49 -0
  1611. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/connectionTest.d.ts.map +1 -0
  1612. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/connectionTest.mjs +83 -0
  1613. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/connectors.d.ts +133 -0
  1614. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/connectors.d.ts.map +1 -0
  1615. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/files.d.ts +43 -0
  1616. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/files.d.ts.map +1 -0
  1617. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/finalize.d.ts +50 -0
  1618. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/finalize.d.ts.map +1 -0
  1619. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/finalize.mjs +5 -0
  1620. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/live-artifacts.d.ts +151 -0
  1621. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/live-artifacts.d.ts.map +1 -0
  1622. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/mcp.d.ts +117 -0
  1623. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/mcp.d.ts.map +1 -0
  1624. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/memory.d.ts +233 -0
  1625. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/memory.d.ts.map +1 -0
  1626. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/orbit.d.ts +22 -0
  1627. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/orbit.d.ts.map +1 -0
  1628. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/orbit.mjs +0 -0
  1629. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/projects.d.ts +286 -0
  1630. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/projects.d.ts.map +1 -0
  1631. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/providerModels.d.ts +19 -0
  1632. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/providerModels.d.ts.map +1 -0
  1633. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/providerModels.mjs +0 -0
  1634. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/proxy.d.ts +24 -0
  1635. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/proxy.d.ts.map +1 -0
  1636. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/registry.d.ts +156 -0
  1637. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/registry.d.ts.map +1 -0
  1638. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/research.d.ts +35 -0
  1639. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/research.d.ts.map +1 -0
  1640. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/research.mjs +9 -0
  1641. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/routines.d.ts +104 -0
  1642. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/routines.d.ts.map +1 -0
  1643. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/version.d.ts +11 -0
  1644. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/api/version.d.ts.map +1 -0
  1645. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/common.d.ts +33 -0
  1646. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/common.d.ts.map +1 -0
  1647. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/critique.d.ts +344 -0
  1648. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/critique.d.ts.map +1 -0
  1649. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/critique.mjs +182 -0
  1650. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/errors.d.ts +40 -0
  1651. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/errors.d.ts.map +1 -0
  1652. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/examples.d.ts +20 -0
  1653. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/examples.d.ts.map +1 -0
  1654. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/index.d.ts +31 -0
  1655. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/index.d.ts.map +1 -0
  1656. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/index.mjs +2072 -0
  1657. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/deck-framework.d.ts +39 -0
  1658. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/deck-framework.d.ts.map +1 -0
  1659. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/directions.d.ts +69 -0
  1660. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/directions.d.ts.map +1 -0
  1661. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/discovery.d.ts +2 -0
  1662. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/discovery.d.ts.map +1 -0
  1663. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/media-contract.d.ts +2 -0
  1664. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/media-contract.d.ts.map +1 -0
  1665. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/official-system.d.ts +12 -0
  1666. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/official-system.d.ts.map +1 -0
  1667. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/system.d.ts +58 -0
  1668. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/prompts/system.d.ts.map +1 -0
  1669. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/chat.d.ts +96 -0
  1670. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/chat.d.ts.map +1 -0
  1671. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/common.d.ts +8 -0
  1672. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/common.d.ts.map +1 -0
  1673. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/proxy.d.ts +6 -0
  1674. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/sse/proxy.d.ts.map +1 -0
  1675. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/tasks.d.ts +12 -0
  1676. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/dist/tasks.d.ts.map +1 -0
  1677. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/contracts/package.json +40 -0
  1678. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/platform/dist/index.d.ts +68 -0
  1679. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/platform/dist/index.d.ts.map +1 -0
  1680. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/platform/dist/index.mjs +397 -0
  1681. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/platform/package.json +12 -0
  1682. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar/dist/index.d.ts +144 -0
  1683. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar/dist/index.d.ts.map +1 -0
  1684. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar/dist/index.mjs +412 -0
  1685. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar/package.json +12 -0
  1686. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar-proto/dist/index.d.ts +291 -0
  1687. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar-proto/dist/index.d.ts.map +1 -0
  1688. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar-proto/dist/index.mjs +315 -0
  1689. package/dist/__w3kits/webcontainer-runtime/node_modules/@open-design/sidecar-proto/package.json +12 -0
  1690. package/dist/__w3kits/webcontainer-runtime/package.json +20 -0
  1691. package/dist/__w3kits/webcontainer-runtime.json +68 -0
  1692. package/dist/_not-found/__next._full.txt +1 -1
  1693. package/dist/_not-found/__next._head.txt +1 -1
  1694. package/dist/_not-found/__next._index.txt +1 -1
  1695. package/dist/_not-found/__next._not-found.__PAGE__.txt +1 -1
  1696. package/dist/_not-found/__next._not-found.txt +1 -1
  1697. package/dist/_not-found/__next._tree.txt +1 -1
  1698. package/dist/_not-found/index.html +1 -1
  1699. package/dist/_not-found/index.txt +1 -1
  1700. package/dist/browser-daemon.js +113 -7
  1701. package/dist/index.html +1 -1
  1702. package/dist/index.txt +1 -1
  1703. package/package.json +3 -2
  1704. /package/dist/_next/static/{ptaOAJFvinIcai1ShQRcW → Jxi73Py0I4WvBhRY47OF-}/_buildManifest.js +0 -0
  1705. /package/dist/_next/static/{ptaOAJFvinIcai1ShQRcW → Jxi73Py0I4WvBhRY47OF-}/_clientMiddlewareManifest.js +0 -0
  1706. /package/dist/_next/static/{ptaOAJFvinIcai1ShQRcW → Jxi73Py0I4WvBhRY47OF-}/_ssgManifest.js +0 -0
@@ -0,0 +1,2316 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Quiver · Crypto Live Portfolio</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600;700&family=Instrument+Serif&display=swap" rel="stylesheet">
10
+ <style>
11
+ :root {
12
+ /* DeFi terminal — deeper, warmer black with crypto-native accents */
13
+ --bg: #060309; /* almost-black with magenta undertone */
14
+ --bg-grid: #0a050f;
15
+ --surface: #110815; /* card warm-dark */
16
+ --surface-2: #170a1c;
17
+ --surface-3: #1f0d28;
18
+ --surface-glow: #261034;
19
+ --line: #28163a; /* purple-tinted lines */
20
+ --line-strong: #3b1f55;
21
+ --hairline: rgba(255,0,170,0.06);
22
+
23
+ /* Ink */
24
+ --ink: #f4ecff; /* slightly warmer/violet white */
25
+ --ink-soft: #cdb8e3;
26
+ --muted: #8a7099;
27
+ --muted-2: #5b3f6e;
28
+ --dim: #2c1c3a;
29
+
30
+ /* Semantic */
31
+ --up: #00ff9d; /* matrix-neon green — terminal feel */
32
+ --up-soft: rgba(0,255,157,0.14);
33
+ --up-line: rgba(0,255,157,0.55);
34
+ --down: #ff2e6b; /* hot pink-red */
35
+ --down-soft: rgba(255,46,107,0.14);
36
+ --down-line: rgba(255,46,107,0.55);
37
+
38
+ /* Crypto-native accents */
39
+ --accent: #f7931a; /* Bitcoin orange — data highlight */
40
+ --accent-soft: rgba(247,147,26,0.14);
41
+ --magenta: #ff00aa; /* DeFi magenta — primary brand */
42
+ --magenta-soft: rgba(255,0,170,0.14);
43
+ --cyan: #00e0ff; /* electric blue — chart primary */
44
+ --cyan-soft: rgba(0,224,255,0.14);
45
+ --violet: #c084fc; /* AI / ETH band */
46
+ --violet-soft: rgba(192,132,252,0.16);
47
+ --matrix: #00ff9d; /* matrix green */
48
+ --solana: #14f195; /* SOL teal */
49
+
50
+ /* Type — heavier monospace presence for terminal/explorer feel */
51
+ --display: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
52
+ --body: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
53
+ --mono: 'JetBrains Mono', 'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
54
+ --serif: 'Instrument Serif', 'Iowan Old Style', Georgia, serif;
55
+
56
+ --r-card: 6px; /* sharper corners — engineering / terminal */
57
+ --r-pill: 999px;
58
+ --r-chip: 4px;
59
+ }
60
+
61
+ * { box-sizing: border-box; }
62
+ html, body { margin: 0; padding: 0; }
63
+ body {
64
+ background:
65
+ /* Hex grid SVG overlay — DeFi/web3 aesthetic */
66
+ url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='48' viewBox='0 0 56 48'><path d='M28 0 L52 14 L52 38 L28 52 L4 38 L4 14 Z' fill='none' stroke='%23ff00aa' stroke-opacity='0.04' stroke-width='0.7'/></svg>"),
67
+ radial-gradient(1200px 600px at 80% -10%, rgba(255,0,170,0.10), transparent 60%),
68
+ radial-gradient(900px 500px at -10% 30%, rgba(247,147,26,0.07), transparent 60%),
69
+ radial-gradient(1200px 800px at 50% 110%, rgba(0,255,157,0.05), transparent 60%),
70
+ radial-gradient(800px 400px at 100% 60%, rgba(0,224,255,0.06), transparent 60%),
71
+ var(--bg);
72
+ color: var(--ink);
73
+ font-family: var(--body);
74
+ font-size: 13.5px;
75
+ line-height: 1.5;
76
+ letter-spacing: -0.005em;
77
+ -webkit-font-smoothing: antialiased;
78
+ text-rendering: optimizeLegibility;
79
+ min-height: 100vh;
80
+ }
81
+ a { color: inherit; text-decoration: none; }
82
+ button { font-family: inherit; cursor: pointer; }
83
+
84
+ /* ─────── On-chain ribbon (crypto-specific) ─────── */
85
+ .onchain-ribbon {
86
+ border-bottom: 1px solid var(--hairline);
87
+ background:
88
+ linear-gradient(180deg, rgba(255,0,170,0.04), rgba(247,147,26,0.02)),
89
+ var(--bg-grid);
90
+ padding: 8px 28px;
91
+ display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
92
+ font-family: var(--mono); font-size: 10.5px;
93
+ color: var(--muted);
94
+ text-transform: uppercase; letter-spacing: 0.1em;
95
+ }
96
+ .onchain-ribbon .label { color: var(--muted-2); }
97
+ .onchain-ribbon .v { color: var(--ink-soft); font-weight: 500; }
98
+ .onchain-ribbon .item { display: inline-flex; gap: 6px; align-items: center; }
99
+ .onchain-ribbon .item.live::before {
100
+ content: ""; width: 6px; height: 6px; border-radius: 50%;
101
+ background: var(--matrix);
102
+ box-shadow: 0 0 8px var(--matrix);
103
+ animation: matrixBlink 1.4s ease-in-out infinite;
104
+ }
105
+ @keyframes matrixBlink {
106
+ 0%, 100% { opacity: 1; }
107
+ 50% { opacity: 0.4; }
108
+ }
109
+ .onchain-ribbon .block-h {
110
+ font-family: var(--mono); font-weight: 700; color: var(--matrix);
111
+ text-shadow: 0 0 12px rgba(0,255,157,0.4);
112
+ letter-spacing: 0.04em;
113
+ }
114
+ .onchain-ribbon .gas {
115
+ color: var(--accent);
116
+ font-weight: 600;
117
+ }
118
+ .onchain-ribbon .item .v.cyan { color: var(--cyan); }
119
+ .onchain-ribbon .item .v.magenta { color: var(--magenta); text-shadow: 0 0 8px rgba(255,0,170,0.4); }
120
+
121
+ /* ─────── Top ribbon: ticker tape ─────── */
122
+ .ticker-tape {
123
+ border-bottom: 1px solid var(--hairline);
124
+ background: linear-gradient(180deg, #0a0d14, #07090d);
125
+ overflow: hidden;
126
+ position: relative;
127
+ height: 32px;
128
+ }
129
+ .ticker-tape::before, .ticker-tape::after {
130
+ content: ""; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 2; pointer-events: none;
131
+ }
132
+ .ticker-tape::before { left: 0; background: linear-gradient(90deg, var(--bg), transparent); }
133
+ .ticker-tape::after { right: 0; background: linear-gradient(270deg, var(--bg), transparent); }
134
+ .tape {
135
+ display: inline-flex; align-items: center; height: 32px; gap: 28px; padding-right: 28px;
136
+ animation: tape 60s linear infinite;
137
+ white-space: nowrap;
138
+ font-family: var(--mono);
139
+ font-size: 11.5px;
140
+ }
141
+ .tape-item { display: inline-flex; gap: 8px; align-items: center; color: var(--muted); }
142
+ .tape-item .sym { color: var(--ink); font-weight: 600; letter-spacing: 0.02em; }
143
+ .tape-item .px { color: var(--ink-soft); }
144
+ .tape-item .pct.up { color: var(--up); }
145
+ .tape-item .pct.down { color: var(--down); }
146
+ @keyframes tape { from { transform: translateX(0); } to { transform: translateX(-50%); } }
147
+
148
+ /* ─────── App header ─────── */
149
+ header.app {
150
+ display: flex; align-items: center; justify-content: space-between;
151
+ padding: 18px 28px;
152
+ border-bottom: 1px solid var(--hairline);
153
+ background: rgba(7,9,13,0.6);
154
+ backdrop-filter: blur(18px) saturate(140%);
155
+ position: sticky; top: 0; z-index: 50;
156
+ }
157
+ .brand { display: flex; align-items: center; gap: 12px; }
158
+ .logo {
159
+ width: 30px; height: 30px;
160
+ clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
161
+ background:
162
+ radial-gradient(circle at 30% 30%, #ffb86b, transparent 55%),
163
+ conic-gradient(from 200deg, #f7931a, #ff00aa, #00e0ff, #00ff9d, #f7931a);
164
+ box-shadow: 0 0 24px rgba(255,0,170,0.4), 0 0 12px rgba(247,147,26,0.3);
165
+ filter: saturate(1.15);
166
+ }
167
+ .brand .word { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; font-size: 17px; }
168
+ .brand .pro {
169
+ font-family: var(--mono); font-size: 10px;
170
+ color: var(--magenta); border: 1px solid rgba(255,0,170,0.55);
171
+ padding: 2px 6px; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.16em;
172
+ background: var(--magenta-soft);
173
+ box-shadow: 0 0 12px rgba(255,0,170,0.2), inset 0 0 12px rgba(255,0,170,0.05);
174
+ }
175
+
176
+ .nav { display: flex; gap: 4px; margin-left: 16px; }
177
+ .nav a {
178
+ font-family: var(--mono); font-size: 12px; padding: 8px 12px; border-radius: 8px;
179
+ color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em;
180
+ }
181
+ .nav a:hover { color: var(--ink); background: var(--surface); }
182
+ .nav a.active { color: var(--ink); background: var(--surface-2); border: 1px solid var(--line); }
183
+
184
+ .head-right { display: flex; align-items: center; gap: 10px; }
185
+ .market-state {
186
+ display: inline-flex; gap: 8px; align-items: center;
187
+ padding: 6px 10px; border: 1px solid var(--line); border-radius: var(--r-pill);
188
+ font-family: var(--mono); font-size: 11px; color: var(--ink-soft);
189
+ background: var(--surface);
190
+ }
191
+ .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); position: relative; box-shadow: 0 0 8px var(--accent); }
192
+ .pulse::after {
193
+ content: ""; position: absolute; inset: -4px; border-radius: 50%;
194
+ box-shadow: 0 0 0 0 rgba(247,147,26,0.55);
195
+ animation: pulse 1.8s ease-out infinite;
196
+ }
197
+ @keyframes pulse {
198
+ 0% { box-shadow: 0 0 0 0 rgba(247,147,26,0.55); }
199
+ 70% { box-shadow: 0 0 0 12px rgba(247,147,26,0); }
200
+ 100% { box-shadow: 0 0 0 0 rgba(247,147,26,0); }
201
+ }
202
+
203
+ .search {
204
+ display: inline-flex; gap: 8px; align-items: center;
205
+ padding: 6px 10px 6px 12px; border-radius: var(--r-pill);
206
+ background: var(--surface); border: 1px solid var(--line);
207
+ color: var(--muted); font-family: var(--mono); font-size: 11.5px;
208
+ }
209
+ .search .kbd {
210
+ display: inline-flex; gap: 2px;
211
+ }
212
+ .search kbd {
213
+ font-family: var(--mono); font-size: 10px; padding: 1px 5px; border: 1px solid var(--line-strong); border-radius: 4px; color: var(--muted);
214
+ }
215
+
216
+ .avatar {
217
+ width: 30px; height: 30px; border-radius: 50%;
218
+ background:
219
+ radial-gradient(circle at 30% 30%, #fde58a, #facc15 40%, #c98a00 100%);
220
+ border: 1px solid rgba(255,255,255,0.12);
221
+ display: inline-flex; align-items: center; justify-content: center;
222
+ color: #2a1a00; font-weight: 700; font-size: 12px; letter-spacing: 0.04em;
223
+ }
224
+
225
+ /* ─────── Layout ─────── */
226
+ main {
227
+ padding: 24px 28px 60px;
228
+ display: grid;
229
+ grid-template-columns: 1fr;
230
+ gap: 18px;
231
+ max-width: 1480px; margin: 0 auto;
232
+ }
233
+
234
+ /* ─────── Hero strip ─────── */
235
+ .hero {
236
+ display: grid;
237
+ grid-template-columns: 1.6fr 1fr;
238
+ gap: 18px;
239
+ }
240
+ .card {
241
+ background: linear-gradient(180deg, var(--surface), var(--surface-2));
242
+ border: 1px solid var(--line);
243
+ border-radius: var(--r-card);
244
+ padding: 22px;
245
+ position: relative;
246
+ overflow: hidden;
247
+ box-shadow:
248
+ 0 1px 0 rgba(255,255,255,0.02) inset,
249
+ 0 0 24px rgba(255,0,170,0.04);
250
+ }
251
+ .card::after {
252
+ content: ""; position: absolute; inset: 0; pointer-events: none;
253
+ border-radius: inherit;
254
+ box-shadow: inset 0 0 0 1px rgba(255,0,170,0.02), inset 0 1px 0 rgba(255,255,255,0.03);
255
+ }
256
+ .card.glass::before {
257
+ content: ""; position: absolute; inset: 0;
258
+ background:
259
+ radial-gradient(700px 200px at 0% 0%, rgba(255,0,170,0.06), transparent 60%),
260
+ radial-gradient(600px 200px at 100% 100%, rgba(0,224,255,0.05), transparent 60%);
261
+ pointer-events: none;
262
+ }
263
+
264
+ .pf-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
265
+ .pf-meta { font-family: var(--mono); font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; }
266
+ .pf-title { font-family: var(--display); font-weight: 600; font-size: 14.5px; margin-top: 6px; color: var(--ink-soft); display: flex; gap: 8px; align-items: center; }
267
+ .pf-value {
268
+ font-family: var(--display); font-weight: 600;
269
+ font-size: 56px; line-height: 1; margin-top: 10px;
270
+ letter-spacing: -0.03em;
271
+ background: linear-gradient(180deg, #fff, #b9c1d2);
272
+ -webkit-background-clip: text; background-clip: text; color: transparent;
273
+ }
274
+ .pf-value .cents { color: var(--muted); font-weight: 500; font-size: 28px; vertical-align: 0.18em; }
275
+ .pf-deltas { display: flex; gap: 22px; margin-top: 14px; align-items: center; }
276
+ .delta {
277
+ display: inline-flex; gap: 8px; align-items: baseline;
278
+ font-family: var(--mono); font-size: 13px;
279
+ }
280
+ .delta .v { font-weight: 600; }
281
+ .delta.up .v, .delta.up .arr { color: var(--up); }
282
+ .delta.down .v, .delta.down .arr { color: var(--down); }
283
+ .delta .lbl { color: var(--muted); font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em; }
284
+
285
+ .pf-chart { margin-top: 18px; }
286
+ .pf-chart svg { width: 100%; height: 160px; display: block; }
287
+ .pf-axis { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 10.5px; color: var(--muted); margin-top: 4px; padding: 0 2px; }
288
+
289
+ .range-tabs { display: inline-flex; padding: 3px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; gap: 0; }
290
+ .range-tabs button {
291
+ border: 0; background: transparent; color: var(--muted);
292
+ font-family: var(--mono); font-size: 11px; padding: 5px 9px; border-radius: 6px; letter-spacing: 0.06em;
293
+ }
294
+ .range-tabs button.active { background: var(--surface-3); color: var(--ink); box-shadow: 0 1px 0 rgba(255,255,255,0.04); }
295
+
296
+ /* KPI strip on the right */
297
+ .kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
298
+ .kpi {
299
+ border: 1px solid var(--line);
300
+ background: var(--surface);
301
+ border-radius: 12px;
302
+ padding: 14px 14px 16px;
303
+ position: relative;
304
+ overflow: hidden;
305
+ }
306
+ .kpi .k-label { font-family: var(--mono); font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; }
307
+ .kpi .k-val { font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: -0.01em; margin-top: 6px; }
308
+ .kpi .k-sub { font-family: var(--mono); font-size: 11px; margin-top: 4px; }
309
+ .kpi.spark svg { width: 100%; height: 36px; margin-top: 6px; }
310
+ .kpi.alpha .k-val { color: var(--accent); }
311
+
312
+ /* ─────── Main grid: chart + side ─────── */
313
+ .grid-2 {
314
+ display: grid;
315
+ grid-template-columns: 1.7fr 1fr;
316
+ gap: 18px;
317
+ }
318
+
319
+ /* Chart card */
320
+ .chart-card { padding: 0; }
321
+ .chart-head {
322
+ display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
323
+ padding: 20px 22px 14px;
324
+ border-bottom: 1px solid var(--hairline);
325
+ }
326
+ .ticker {
327
+ display: flex; gap: 16px; align-items: center;
328
+ }
329
+ .ticker .icon {
330
+ width: 44px; height: 44px; border-radius: 10px;
331
+ background: linear-gradient(135deg, #76b900, #4d8400);
332
+ display: inline-flex; align-items: center; justify-content: center;
333
+ color: #0a1502; font-family: var(--display); font-weight: 700; font-size: 18px;
334
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
335
+ }
336
+ .ticker .meta { display: flex; flex-direction: column; gap: 2px; }
337
+ .ticker .sym-row { display: flex; align-items: baseline; gap: 10px; }
338
+ .ticker .sym { font-family: var(--display); font-weight: 700; font-size: 22px; letter-spacing: -0.01em; }
339
+ .ticker .ext {
340
+ font-family: var(--mono); font-size: 10.5px; color: var(--muted);
341
+ border: 1px solid var(--line); border-radius: 6px; padding: 2px 6px;
342
+ text-transform: uppercase; letter-spacing: 0.08em;
343
+ }
344
+ .ticker .ext:hover { color: var(--ink); border-color: var(--line-strong); }
345
+ .ticker .ext .ico { font-size: 9px; opacity: 0.7; margin-left: 2px; }
346
+ .ticker .name { color: var(--muted); font-size: 12.5px; }
347
+
348
+ .price-block { text-align: right; }
349
+ .px-now { font-family: var(--display); font-weight: 600; font-size: 30px; letter-spacing: -0.02em; }
350
+ .px-delta { font-family: var(--mono); font-size: 12.5px; margin-top: 2px; }
351
+
352
+ .chart-stats {
353
+ display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px;
354
+ background: var(--hairline);
355
+ border-bottom: 1px solid var(--hairline);
356
+ }
357
+ .stat { background: var(--surface); padding: 10px 16px; }
358
+ .stat .lbl { font-family: var(--mono); font-size: 9.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
359
+ .stat .val { font-family: var(--mono); font-size: 12.5px; color: var(--ink); margin-top: 2px; font-weight: 500; }
360
+
361
+ .chart-body { padding: 16px 22px 18px; }
362
+ .chart-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
363
+ .chart-tools { display: flex; gap: 6px; }
364
+ .chip {
365
+ font-family: var(--mono); font-size: 10.5px; padding: 5px 9px; border-radius: 6px;
366
+ border: 1px solid var(--line); background: var(--surface); color: var(--muted);
367
+ text-transform: uppercase; letter-spacing: 0.08em;
368
+ }
369
+ .chip.on { color: var(--cyan); border-color: rgba(34,211,238,0.4); background: var(--cyan-soft); }
370
+
371
+ .candles { width: 100%; height: 320px; display: block; }
372
+ .vol { width: 100%; height: 70px; display: block; margin-top: 2px; }
373
+
374
+ /* ─────── AI Recommendation card ─────── */
375
+ .ai-card { padding: 0; overflow: hidden; }
376
+ .ai-head {
377
+ padding: 18px 20px 14px;
378
+ background:
379
+ radial-gradient(360px 140px at 100% 0%, rgba(167,139,250,0.18), transparent 65%),
380
+ radial-gradient(280px 120px at 0% 100%, rgba(34,229,140,0.12), transparent 70%),
381
+ var(--surface-2);
382
+ border-bottom: 1px solid var(--hairline);
383
+ }
384
+ .ai-tag {
385
+ display: inline-flex; gap: 8px; align-items: center;
386
+ font-family: var(--mono); font-size: 10.5px; color: var(--violet);
387
+ text-transform: uppercase; letter-spacing: 0.14em;
388
+ }
389
+ .ai-tag::before {
390
+ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--violet);
391
+ box-shadow: 0 0 12px var(--violet);
392
+ }
393
+ .ai-headline {
394
+ font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: -0.015em;
395
+ margin-top: 10px; line-height: 1.25;
396
+ }
397
+ .ai-headline .accent {
398
+ background: linear-gradient(90deg, var(--magenta), var(--cyan), var(--matrix));
399
+ -webkit-background-clip: text; background-clip: text; color: transparent;
400
+ filter: drop-shadow(0 0 12px rgba(255,0,170,0.3));
401
+ }
402
+ .ai-sub { color: var(--ink-soft); font-size: 12.5px; margin-top: 6px; max-width: 46ch; }
403
+
404
+ .ai-stat-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border-top: 1px solid var(--hairline); }
405
+ .ai-stat { padding: 14px 16px; border-right: 1px solid var(--hairline); }
406
+ .ai-stat:last-child { border-right: 0; }
407
+ .ai-stat .lbl { font-family: var(--mono); font-size: 9.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
408
+ .ai-stat .v { font-family: var(--display); font-weight: 600; font-size: 18px; margin-top: 4px; letter-spacing: -0.01em; }
409
+ .ai-stat .v.up { color: var(--up); }
410
+ .ai-stat.conviction .bar { height: 4px; background: var(--surface-3); border-radius: 999px; margin-top: 8px; overflow: hidden; }
411
+ .ai-stat.conviction .fill { height: 100%; background: linear-gradient(90deg, var(--up), var(--cyan)); border-radius: 999px; box-shadow: 0 0 14px rgba(34,211,238,0.5); }
412
+
413
+ .ai-thesis { padding: 16px 20px; }
414
+ .ai-thesis h4 { font-family: var(--mono); font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; margin: 0 0 10px; font-weight: 500; }
415
+ .thesis-list { display: flex; flex-direction: column; gap: 10px; }
416
+ .thesis-item { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: flex-start; }
417
+ .thesis-num {
418
+ font-family: var(--mono); font-size: 10px; color: var(--accent);
419
+ border: 1px solid rgba(250,204,21,0.4); border-radius: 6px;
420
+ padding: 1px 0; width: 22px; text-align: center;
421
+ background: var(--accent-soft);
422
+ }
423
+ .thesis-text { font-size: 12.5px; color: var(--ink-soft); line-height: 1.55; }
424
+ .thesis-text strong { color: var(--ink); font-weight: 600; }
425
+
426
+ .ai-actions { display: flex; gap: 8px; padding: 14px 20px 18px; border-top: 1px solid var(--hairline); }
427
+ .btn {
428
+ flex: 1; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line);
429
+ background: var(--surface); color: var(--ink); font-family: var(--display); font-weight: 500; font-size: 12.5px;
430
+ display: inline-flex; align-items: center; justify-content: center; gap: 6px;
431
+ transition: transform 0.06s ease, border-color 0.15s ease;
432
+ }
433
+ .btn:hover { border-color: var(--line-strong); transform: translateY(-1px); }
434
+ .btn.primary {
435
+ background: linear-gradient(180deg, #2dffa0, #18b673);
436
+ color: #00200f; border-color: rgba(34,229,140,0.5);
437
+ box-shadow: 0 8px 24px rgba(34,229,140,0.25), inset 0 1px 0 rgba(255,255,255,0.35);
438
+ font-weight: 700;
439
+ }
440
+
441
+ /* ─────── Holdings table ─────── */
442
+ .panel-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--hairline); }
443
+ .panel-title { font-family: var(--display); font-weight: 600; font-size: 14.5px; letter-spacing: -0.005em; }
444
+ .panel-sub { font-family: var(--mono); font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
445
+
446
+ table.holdings { width: 100%; border-collapse: collapse; }
447
+ table.holdings th, table.holdings td {
448
+ padding: 12px 16px; text-align: left; font-size: 12.5px;
449
+ border-bottom: 1px solid var(--hairline);
450
+ }
451
+ table.holdings th {
452
+ font-family: var(--mono); font-size: 10px; color: var(--muted);
453
+ text-transform: uppercase; letter-spacing: 0.12em; font-weight: 500;
454
+ background: var(--surface);
455
+ }
456
+ table.holdings tr:last-child td { border-bottom: 0; }
457
+ table.holdings tr:hover td { background: rgba(34,211,238,0.025); }
458
+ td.num, th.num { text-align: right; font-family: var(--mono); }
459
+ .sym-cell { display: flex; align-items: center; gap: 12px; }
460
+ .sym-mark {
461
+ width: 30px; height: 30px; border-radius: 8px;
462
+ display: inline-flex; align-items: center; justify-content: center;
463
+ font-family: var(--display); font-weight: 700; font-size: 12px;
464
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
465
+ }
466
+ .sym-cell .name-block { display: flex; flex-direction: column; }
467
+ .sym-cell .sym-name { font-weight: 600; letter-spacing: -0.005em; font-size: 13px; }
468
+ .sym-cell .sym-co { font-size: 11px; color: var(--muted); }
469
+ .sym-cell a.ext-mini {
470
+ font-family: var(--mono); font-size: 10px; color: var(--muted);
471
+ margin-left: 6px;
472
+ border: 1px solid var(--line); border-radius: 5px; padding: 1px 5px;
473
+ }
474
+ .sym-cell a.ext-mini:hover { color: var(--cyan); border-color: rgba(34,211,238,0.45); }
475
+ .pl-cell { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; }
476
+ .pl-pct { font-size: 11px; opacity: 0.85; }
477
+ .pl-cell.up .pl-val, .pl-cell.up .pl-pct { color: var(--up); }
478
+ .pl-cell.down .pl-val, .pl-cell.down .pl-pct { color: var(--down); }
479
+ .alloc-bar { width: 80px; height: 4px; border-radius: 999px; background: var(--surface-3); overflow: hidden; display: inline-block; vertical-align: middle; }
480
+ .alloc-fill { height: 100%; background: linear-gradient(90deg, var(--cyan), var(--violet)); border-radius: 999px; }
481
+ .mini-spark svg { width: 70px; height: 24px; display: block; }
482
+
483
+ /* ─────── Watchlist grid ─────── */
484
+ .watch-grid {
485
+ display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
486
+ }
487
+ .watch-card {
488
+ border: 1px solid var(--line); border-radius: 12px;
489
+ background: linear-gradient(180deg, var(--surface), var(--surface-2));
490
+ padding: 14px 16px;
491
+ position: relative;
492
+ overflow: hidden;
493
+ }
494
+ .watch-card::before {
495
+ content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
496
+ background: linear-gradient(90deg, transparent, rgba(34,211,238,0.4), transparent);
497
+ opacity: 0; transition: opacity 0.2s ease;
498
+ }
499
+ .watch-card:hover::before { opacity: 1; }
500
+ .watch-card:hover { border-color: var(--line-strong); }
501
+ .watch-top { display: flex; justify-content: space-between; align-items: flex-start; }
502
+ .watch-sym { font-family: var(--display); font-weight: 700; font-size: 15px; letter-spacing: -0.01em; }
503
+ .watch-co { font-size: 11px; color: var(--muted); margin-top: 2px; }
504
+ .watch-pct {
505
+ font-family: var(--mono); font-size: 11.5px;
506
+ padding: 3px 7px; border-radius: 6px; font-weight: 600;
507
+ }
508
+ .watch-pct.up { color: var(--up); background: var(--up-soft); }
509
+ .watch-pct.down { color: var(--down); background: var(--down-soft); }
510
+ .watch-px { font-family: var(--display); font-weight: 600; font-size: 22px; margin-top: 10px; letter-spacing: -0.015em; }
511
+ .watch-spark { margin-top: 8px; }
512
+ .watch-spark svg { width: 100%; height: 40px; display: block; }
513
+ .watch-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; font-family: var(--mono); font-size: 10.5px; color: var(--muted); }
514
+ .watch-foot a { color: var(--muted); }
515
+ .watch-foot a:hover { color: var(--cyan); }
516
+
517
+ /* ─────── News / signals feed ─────── */
518
+ .news-list { display: flex; flex-direction: column; }
519
+ .news-item {
520
+ padding: 14px 20px; display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: flex-start;
521
+ border-bottom: 1px solid var(--hairline);
522
+ }
523
+ .news-item:last-child { border-bottom: 0; }
524
+ .news-time { font-family: var(--mono); font-size: 10.5px; color: var(--muted); padding-top: 2px; }
525
+ .news-body .src { font-family: var(--mono); font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
526
+ .news-body .src .tag {
527
+ color: var(--accent); border: 1px solid rgba(250,204,21,0.4); background: var(--accent-soft);
528
+ padding: 1px 5px; border-radius: 4px; margin-right: 6px;
529
+ }
530
+ .news-body .head { font-size: 13px; color: var(--ink); margin-top: 4px; line-height: 1.45; }
531
+ .news-body .head .t-up { color: var(--up); }
532
+ .news-body .head .t-down { color: var(--down); }
533
+ .news-body .syms { margin-top: 6px; display: flex; gap: 5px; flex-wrap: wrap; }
534
+ .news-body .syms .s {
535
+ font-family: var(--mono); font-size: 10px;
536
+ padding: 1px 6px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink-soft);
537
+ }
538
+ .impact { font-family: var(--mono); font-size: 10.5px; padding: 2px 7px; border-radius: 5px; }
539
+ .impact.high { color: var(--down); border: 1px solid rgba(255,79,109,0.35); background: var(--down-soft); }
540
+ .impact.pos { color: var(--up); border: 1px solid rgba(34,229,140,0.35); background: var(--up-soft); }
541
+ .impact.med { color: var(--accent); border: 1px solid rgba(250,204,21,0.35); background: var(--accent-soft); }
542
+
543
+ /* ─────── Footer ─────── */
544
+ footer.app {
545
+ margin-top: 14px; padding: 18px 28px;
546
+ border-top: 1px solid var(--hairline);
547
+ display: flex; justify-content: space-between; align-items: center;
548
+ font-family: var(--mono); font-size: 11px; color: var(--muted);
549
+ text-transform: uppercase; letter-spacing: 0.1em;
550
+ }
551
+ footer .left { display: flex; gap: 14px; align-items: center; }
552
+ footer .live { display: inline-flex; gap: 6px; align-items: center; color: var(--up); }
553
+ footer .live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--up); box-shadow: 0 0 8px var(--up); }
554
+ footer .right { display: flex; gap: 16px; }
555
+
556
+ /* Responsive */
557
+ @media (max-width: 1180px) {
558
+ .grid-2 { grid-template-columns: 1fr; }
559
+ .hero { grid-template-columns: 1fr; }
560
+ .watch-grid { grid-template-columns: repeat(2, 1fr); }
561
+ }
562
+ @media (max-width: 720px) {
563
+ main { padding: 16px; }
564
+ .chart-stats { grid-template-columns: repeat(3, 1fr); }
565
+ .ai-stat-row { grid-template-columns: 1fr; }
566
+ .ai-stat { border-right: 0; border-bottom: 1px solid var(--hairline); }
567
+ .nav, .search { display: none; }
568
+ .pf-value { font-size: 40px; }
569
+ .watch-grid { grid-template-columns: 1fr; }
570
+ }
571
+
572
+ /* small icon helpers */
573
+ .ic { width: 14px; height: 14px; display: inline-block; vertical-align: -2px; }
574
+
575
+ /* number flicker on the live price */
576
+ .flicker { animation: flicker 2.6s ease-in-out infinite; }
577
+ @keyframes flicker {
578
+ 0%, 96%, 100% { opacity: 1; }
579
+ 97% { opacity: 0.55; }
580
+ 98% { opacity: 1; }
581
+ }
582
+
583
+ /* subtle grid background under candles */
584
+ .gridlines line { stroke: rgba(255,255,255,0.04); stroke-dasharray: 2 4; }
585
+
586
+ /* ─────── Interactive layer ─────── */
587
+ /* Refresh button */
588
+ .icon-btn {
589
+ display: inline-flex; align-items: center; gap: 8px;
590
+ padding: 6px 12px; border-radius: var(--r-pill);
591
+ background: var(--surface); border: 1px solid var(--line); color: var(--ink-soft);
592
+ font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em;
593
+ transition: all 0.15s ease;
594
+ }
595
+ .icon-btn:hover { color: var(--ink); border-color: var(--line-strong); transform: translateY(-1px); }
596
+ .icon-btn.primary { color: var(--cyan); border-color: rgba(34,211,238,0.45); background: var(--cyan-soft); }
597
+ .icon-btn.primary:hover { box-shadow: 0 0 16px rgba(34,211,238,0.25); }
598
+ .icon-btn .ico { width: 13px; height: 13px; transition: transform 0.6s ease; }
599
+ .icon-btn.spin .ico { animation: spin 0.8s linear; }
600
+ @keyframes spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
601
+
602
+ /* Price flash */
603
+ .flash-up { animation: flashUp 0.9s ease-out; }
604
+ .flash-down { animation: flashDown 0.9s ease-out; }
605
+ @keyframes flashUp {
606
+ 0% { background: rgba(34,229,140,0.22); box-shadow: inset 0 0 0 1px rgba(34,229,140,0.4); }
607
+ 100% { background: transparent; box-shadow: none; }
608
+ }
609
+ @keyframes flashDown {
610
+ 0% { background: rgba(255,79,109,0.22); box-shadow: inset 0 0 0 1px rgba(255,79,109,0.4); }
611
+ 100% { background: transparent; box-shadow: none; }
612
+ }
613
+
614
+ /* AI tabs */
615
+ .ai-tabs {
616
+ display: flex; gap: 0;
617
+ padding: 0 20px;
618
+ background: var(--surface);
619
+ border-bottom: 1px solid var(--hairline);
620
+ }
621
+ .ai-tab {
622
+ background: transparent; border: 0;
623
+ padding: 12px 14px;
624
+ font-family: var(--mono); font-size: 10.5px;
625
+ color: var(--muted);
626
+ text-transform: uppercase; letter-spacing: 0.1em;
627
+ border-bottom: 2px solid transparent;
628
+ margin-bottom: -1px;
629
+ transition: color 0.15s ease, border-color 0.15s ease;
630
+ }
631
+ .ai-tab:hover { color: var(--ink-soft); }
632
+ .ai-tab.active { color: var(--violet); border-bottom-color: var(--violet); }
633
+ .ai-tab .dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-left: 6px; vertical-align: middle; }
634
+ .ai-tab .dot.bull { background: var(--up); }
635
+ .ai-tab .dot.risk { background: var(--down); }
636
+ .ai-tab .dot.amber { background: var(--accent); }
637
+ .ai-tab .dot.violet { background: var(--violet); }
638
+ .ai-panel { display: none; }
639
+ .ai-panel.active { display: block; animation: panelIn 0.25s ease; }
640
+ @keyframes panelIn { from { opacity: 0; transform: translateY(2px); } to { opacity: 1; transform: translateY(0); } }
641
+
642
+ /* AI regenerate */
643
+ .ai-regen {
644
+ display: inline-flex; align-items: center; gap: 6px;
645
+ padding: 4px 10px; border-radius: var(--r-pill);
646
+ background: rgba(167,139,250,0.1); border: 1px solid rgba(167,139,250,0.35); color: var(--violet);
647
+ font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
648
+ margin-left: 10px; cursor: pointer;
649
+ transition: all 0.15s ease;
650
+ }
651
+ .ai-regen:hover { background: rgba(167,139,250,0.18); }
652
+ .ai-regen .ico { width: 10px; height: 10px; }
653
+ .ai-regen.thinking .ico { animation: spin 0.8s linear infinite; }
654
+
655
+ .thinking-dots { display: inline-flex; gap: 3px; align-items: center; }
656
+ .thinking-dots .d { width: 4px; height: 4px; border-radius: 50%; background: var(--violet); opacity: 0.6; animation: dotpulse 1.2s ease-in-out infinite; }
657
+ .thinking-dots .d:nth-child(2) { animation-delay: 0.15s; }
658
+ .thinking-dots .d:nth-child(3) { animation-delay: 0.3s; }
659
+ @keyframes dotpulse { 0%,100% { opacity: 0.3; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1.15); } }
660
+
661
+ /* Risk / position-read / trade-plan content */
662
+ .risk-list { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px; }
663
+ .risk-row {
664
+ display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: flex-start;
665
+ padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
666
+ }
667
+ .risk-row .lvl {
668
+ font-family: var(--mono); font-size: 9.5px; padding: 3px 6px; border-radius: 5px;
669
+ text-transform: uppercase; letter-spacing: 0.1em; text-align: center; font-weight: 600;
670
+ }
671
+ .risk-row .lvl.high { color: var(--down); border: 1px solid rgba(255,79,109,0.4); background: var(--down-soft); }
672
+ .risk-row .lvl.med { color: var(--accent); border: 1px solid rgba(250,204,21,0.4); background: var(--accent-soft); }
673
+ .risk-row .lvl.low { color: var(--up); border: 1px solid rgba(34,229,140,0.4); background: var(--up-soft); }
674
+ .risk-row .body { font-size: 12.5px; color: var(--ink-soft); line-height: 1.5; }
675
+ .risk-row .body strong { color: var(--ink); }
676
+ .risk-row .prob { font-family: var(--mono); font-size: 11px; color: var(--muted); white-space: nowrap; padding-top: 2px; }
677
+
678
+ /* Trade plan stepper */
679
+ .plan-grid { padding: 16px 20px; display: flex; flex-direction: column; gap: 0; }
680
+ .plan-step { display: grid; grid-template-columns: 24px 100px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--line); align-items: center; }
681
+ .plan-step:last-child { border-bottom: 0; }
682
+ .plan-bullet { width: 22px; height: 22px; border-radius: 50%; background: var(--surface-3); border: 1px solid var(--line); display: inline-flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 10px; color: var(--muted); }
683
+ .plan-step.entry .plan-bullet { background: var(--up-soft); border-color: rgba(34,229,140,0.4); color: var(--up); }
684
+ .plan-step.stop .plan-bullet { background: var(--down-soft); border-color: rgba(255,79,109,0.4); color: var(--down); }
685
+ .plan-step.target .plan-bullet { background: var(--accent-soft); border-color: rgba(250,204,21,0.4); color: var(--accent); }
686
+ .plan-label { font-family: var(--mono); font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; }
687
+ .plan-zone { font-family: var(--mono); font-size: 12px; color: var(--ink); }
688
+ .plan-zone .px { font-weight: 600; color: var(--ink); }
689
+ .plan-zone .pct.up { color: var(--up); }
690
+ .plan-zone .pct.down { color: var(--down); }
691
+
692
+ /* Position-read facts */
693
+ .pos-read { padding: 16px 20px; }
694
+ .pos-read .pos-line { display: grid; grid-template-columns: 1fr auto; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 12.5px; }
695
+ .pos-read .pos-line:last-child { border-bottom: 0; }
696
+ .pos-read .pos-line .lbl { color: var(--muted); }
697
+ .pos-read .pos-line .val { font-family: var(--mono); color: var(--ink); }
698
+ .pos-read .pos-line .val.up { color: var(--up); }
699
+ .pos-read .pos-line .val.down { color: var(--down); }
700
+ .pos-read .pos-narr {
701
+ margin-top: 12px; padding: 12px 14px; border-radius: 8px;
702
+ background: rgba(167,139,250,0.06); border-left: 2px solid var(--violet);
703
+ color: var(--ink-soft); font-size: 12.5px; line-height: 1.55;
704
+ }
705
+ .pos-read .pos-narr .quote { font-family: var(--serif); font-style: italic; color: var(--ink); font-size: 14px; line-height: 1.4; }
706
+
707
+ /* Toast */
708
+ .toast-box {
709
+ position: fixed; bottom: 28px; right: 28px; z-index: 200;
710
+ display: flex; flex-direction: column; gap: 10px;
711
+ pointer-events: none;
712
+ }
713
+ .toast {
714
+ pointer-events: auto;
715
+ min-width: 280px; max-width: 360px;
716
+ padding: 12px 16px;
717
+ background: rgba(15,19,28,0.92);
718
+ border: 1px solid var(--line);
719
+ border-left: 3px solid var(--up);
720
+ border-radius: 10px;
721
+ backdrop-filter: blur(16px) saturate(140%);
722
+ box-shadow: 0 20px 50px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.04);
723
+ font-family: var(--body); font-size: 12.5px;
724
+ color: var(--ink);
725
+ animation: toastIn 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
726
+ transition: opacity 0.25s ease, transform 0.25s ease;
727
+ }
728
+ .toast.error { border-left-color: var(--down); }
729
+ .toast.warn { border-left-color: var(--accent); }
730
+ .toast.info { border-left-color: var(--cyan); }
731
+ .toast.violet { border-left-color: var(--violet); }
732
+ .toast .t-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
733
+ .toast .t-title { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); }
734
+ .toast .t-close { background: transparent; border: 0; color: var(--muted); font-size: 14px; padding: 0; line-height: 1; cursor: pointer; }
735
+ .toast .t-close:hover { color: var(--ink); }
736
+ .toast .t-body { margin-top: 4px; line-height: 1.4; color: var(--ink-soft); }
737
+ .toast .t-body strong { color: var(--ink); }
738
+ .toast.fade { opacity: 0; transform: translateX(20px); }
739
+ @keyframes toastIn {
740
+ from { opacity: 0; transform: translateX(20px) scale(0.96); }
741
+ to { opacity: 1; transform: translateX(0) scale(1); }
742
+ }
743
+
744
+ /* Selection highlight on switch */
745
+ .swap-highlight { animation: swapPulse 0.7s ease-out; }
746
+ @keyframes swapPulse {
747
+ 0% { box-shadow: inset 0 0 0 1px rgba(34,211,238,0.6), 0 0 0 0 rgba(34,211,238,0.5); }
748
+ 100% { box-shadow: inset 0 0 0 1px transparent, 0 0 0 12px transparent; }
749
+ }
750
+
751
+ /* clickable affordances */
752
+ table.holdings tbody tr { cursor: pointer; }
753
+ table.holdings tbody tr.active td { background: rgba(34,211,238,0.06); }
754
+ table.holdings tbody tr.active td:first-child { box-shadow: inset 3px 0 0 var(--cyan); }
755
+ .watch-card { cursor: pointer; transition: transform 0.15s ease, border-color 0.15s ease; }
756
+ .watch-card:hover { transform: translateY(-2px); }
757
+ .watch-card.active { border-color: rgba(34,211,238,0.55); box-shadow: 0 0 24px rgba(34,211,238,0.18); }
758
+ .tape-item { cursor: pointer; }
759
+ .tape-item:hover .sym { color: var(--cyan); }
760
+
761
+ .range-tabs button { cursor: pointer; }
762
+
763
+ /* Market regime mini badge inside AI head */
764
+ .regime-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
765
+ .regime-pill {
766
+ font-family: var(--mono); font-size: 10px;
767
+ padding: 4px 9px; border-radius: var(--r-pill);
768
+ border: 1px solid var(--line); background: var(--surface);
769
+ color: var(--ink-soft); letter-spacing: 0.06em;
770
+ display: inline-flex; gap: 6px; align-items: center;
771
+ }
772
+ .regime-pill .lbl { color: var(--muted); }
773
+ .regime-pill.up .v { color: var(--up); }
774
+ .regime-pill.down .v { color: var(--down); }
775
+ .regime-pill.neut .v { color: var(--accent); }
776
+ </style>
777
+ </head>
778
+ <body>
779
+
780
+ <!-- ─────── Ticker tape ─────── -->
781
+ <div class="ticker-tape">
782
+ <div class="tape">
783
+ <span class="tape-item"><span class="sym">BTC</span><span class="px">68,412</span><span class="pct up">▲ 1.84%</span></span>
784
+ <span class="tape-item"><span class="sym">ETH</span><span class="px">3,612</span><span class="pct up">▲ 2.10%</span></span>
785
+ <span class="tape-item"><span class="sym">SOL</span><span class="px">186.42</span><span class="pct up">▲ 4.62%</span></span>
786
+ <span class="tape-item"><span class="sym">BNB</span><span class="px">612.40</span><span class="pct up">▲ 0.94%</span></span>
787
+ <span class="tape-item"><span class="sym">XRP</span><span class="px">0.5824</span><span class="pct down">▼ 0.42%</span></span>
788
+ <span class="tape-item"><span class="sym">ADA</span><span class="px">0.4318</span><span class="pct up">▲ 1.20%</span></span>
789
+ <span class="tape-item"><span class="sym">DOGE</span><span class="px">0.1842</span><span class="pct up">▲ 6.84%</span></span>
790
+ <span class="tape-item"><span class="sym">AVAX</span><span class="px">36.84</span><span class="pct up">▲ 2.86%</span></span>
791
+ <span class="tape-item"><span class="sym">LINK</span><span class="px">14.92</span><span class="pct up">▲ 1.40%</span></span>
792
+ <span class="tape-item"><span class="sym">DOT</span><span class="px">7.18</span><span class="pct down">▼ 0.62%</span></span>
793
+ <span class="tape-item"><span class="sym">SUI</span><span class="px">2.18</span><span class="pct up">▲ 8.40%</span></span>
794
+ <span class="tape-item"><span class="sym">NEAR</span><span class="px">5.42</span><span class="pct up">▲ 3.20%</span></span>
795
+ <span class="tape-item"><span class="sym">TIA</span><span class="px">7.84</span><span class="pct down">▼ 1.18%</span></span>
796
+ <span class="tape-item"><span class="sym">ARB</span><span class="px">0.6420</span><span class="pct up">▲ 0.95%</span></span>
797
+ <!-- duplicate for seamless scroll -->
798
+ <span class="tape-item"><span class="sym">BTC</span><span class="px">68,412</span><span class="pct up">▲ 1.84%</span></span>
799
+ <span class="tape-item"><span class="sym">ETH</span><span class="px">3,612</span><span class="pct up">▲ 2.10%</span></span>
800
+ <span class="tape-item"><span class="sym">SOL</span><span class="px">186.42</span><span class="pct up">▲ 4.62%</span></span>
801
+ <span class="tape-item"><span class="sym">BNB</span><span class="px">612.40</span><span class="pct up">▲ 0.94%</span></span>
802
+ <span class="tape-item"><span class="sym">XRP</span><span class="px">0.5824</span><span class="pct down">▼ 0.42%</span></span>
803
+ <span class="tape-item"><span class="sym">ADA</span><span class="px">0.4318</span><span class="pct up">▲ 1.20%</span></span>
804
+ <span class="tape-item"><span class="sym">DOGE</span><span class="px">0.1842</span><span class="pct up">▲ 6.84%</span></span>
805
+ <span class="tape-item"><span class="sym">AVAX</span><span class="px">36.84</span><span class="pct up">▲ 2.86%</span></span>
806
+ <span class="tape-item"><span class="sym">LINK</span><span class="px">14.92</span><span class="pct up">▲ 1.40%</span></span>
807
+ <span class="tape-item"><span class="sym">DOT</span><span class="px">7.18</span><span class="pct down">▼ 0.62%</span></span>
808
+ <span class="tape-item"><span class="sym">SUI</span><span class="px">2.18</span><span class="pct up">▲ 8.40%</span></span>
809
+ <span class="tape-item"><span class="sym">NEAR</span><span class="px">5.42</span><span class="pct up">▲ 3.20%</span></span>
810
+ <span class="tape-item"><span class="sym">TIA</span><span class="px">7.84</span><span class="pct down">▼ 1.18%</span></span>
811
+ <span class="tape-item"><span class="sym">ARB</span><span class="px">0.6420</span><span class="pct up">▲ 0.95%</span></span>
812
+ </div>
813
+ </div>
814
+
815
+ <!-- ─────── On-chain ribbon ─────── -->
816
+ <div class="onchain-ribbon">
817
+ <span class="item live"><span class="label">Block</span><span class="block-h" id="blockH">287,418,612</span></span>
818
+ <span class="item"><span class="label">Gas</span><span class="gas">12 gwei</span><span class="label">· low</span></span>
819
+ <span class="item"><span class="label">Mempool</span><span class="v">142,840 tx</span></span>
820
+ <span class="item"><span class="label">BTC hash</span><span class="v cyan">612 EH/s</span></span>
821
+ <span class="item"><span class="label">DeFi TVL</span><span class="v magenta">$84.2B</span></span>
822
+ <span class="item"><span class="label">ETH staking</span><span class="v">28.4% (34M ETH)</span></span>
823
+ <span class="item"><span class="label">Fear &amp; Greed</span><span class="v" style="color:var(--accent)">78 · Greed</span></span>
824
+ <span class="item" style="margin-left:auto"><span class="label">Stables MC</span><span class="v">$172.8B</span></span>
825
+ </div>
826
+
827
+ <!-- ─────── Header ─────── -->
828
+ <header class="app">
829
+ <div class="brand">
830
+ <div class="logo"></div>
831
+ <div class="word">quiver</div>
832
+ <div class="pro">Crypto</div>
833
+ <nav class="nav">
834
+ <a href="#" class="active">Portfolio</a>
835
+ <a href="#">Markets</a>
836
+ <a href="#">On-chain</a>
837
+ <a href="#">DeFi</a>
838
+ <a href="#">Alerts</a>
839
+ </nav>
840
+ </div>
841
+ <div class="head-right">
842
+ <span class="market-state">
843
+ <span class="pulse"></span>
844
+ <span>24/7 markets · <span id="liveClock">14:32:18 UTC</span></span>
845
+ </span>
846
+ <span class="search">
847
+ <svg class="ic" viewBox="0 0 16 16" fill="none"><circle cx="7" cy="7" r="5" stroke="currentColor" stroke-width="1.4"/><path d="M11 11l3 3" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>
848
+ <span>Search ticker, news, analyst…</span>
849
+ <span class="kbd"><kbd>⌘</kbd><kbd>K</kbd></span>
850
+ </span>
851
+ <button class="icon-btn primary" id="refreshBtn" title="Refresh quotes & analysis">
852
+ <svg class="ico" viewBox="0 0 16 16" fill="none"><path d="M14 8a6 6 0 1 1-1.76-4.24M14 3v3.5h-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
853
+ <span>Refresh</span>
854
+ </button>
855
+ <span class="avatar">PT</span>
856
+ </div>
857
+ </header>
858
+
859
+ <main>
860
+
861
+ <!-- ─────── Hero: portfolio value + KPIs ─────── -->
862
+ <section class="hero">
863
+ <div class="card glass">
864
+ <div class="pf-head">
865
+ <div>
866
+ <div class="pf-meta">Total crypto net worth · USD</div>
867
+ <div class="pf-title">Coinbase · Ledger · MetaMask &nbsp;<span class="market-state" style="padding:3px 8px;font-size:10.5px;"><span class="pulse"></span> On-chain live</span></div>
868
+ </div>
869
+ <div class="range-tabs">
870
+ <button>24H</button>
871
+ <button>1W</button>
872
+ <button>1M</button>
873
+ <button>3M</button>
874
+ <button>6M</button>
875
+ <button class="active">1Y</button>
876
+ <button>ALL</button>
877
+ </div>
878
+ </div>
879
+
880
+ <div class="pf-value flicker">
881
+ $186,420<span class="cents">.18</span>
882
+ </div>
883
+ <div class="pf-deltas">
884
+ <span class="delta up"><span class="arr">▲</span> <span class="v">+$5,842.16</span> <span class="lbl">today · +3.23%</span></span>
885
+ <span class="delta up"><span class="arr">▲</span> <span class="v">+$112,420.18</span> <span class="lbl">all time · +151.9%</span></span>
886
+ <span class="delta"><span class="lbl" style="color:var(--muted)">vs BTC</span> <span class="v" style="color:var(--accent);">+22.4pp</span></span>
887
+ </div>
888
+
889
+ <div class="pf-chart">
890
+ <svg viewBox="0 0 880 170" preserveAspectRatio="none">
891
+ <defs>
892
+ <linearGradient id="pfGrad" x1="0" x2="0" y1="0" y2="1">
893
+ <stop offset="0%" stop-color="#22e58c" stop-opacity="0.32"/>
894
+ <stop offset="60%" stop-color="#22e58c" stop-opacity="0.06"/>
895
+ <stop offset="100%" stop-color="#22e58c" stop-opacity="0"/>
896
+ </linearGradient>
897
+ <linearGradient id="pfStroke" x1="0" x2="1" y1="0" y2="0">
898
+ <stop offset="0%" stop-color="#ff00aa"/>
899
+ <stop offset="55%" stop-color="#00e0ff"/>
900
+ <stop offset="100%" stop-color="#00ff9d"/>
901
+ </linearGradient>
902
+ <pattern id="grid" x="0" y="0" width="60" height="34" patternUnits="userSpaceOnUse">
903
+ <path d="M 60 0 L 0 0 0 34" fill="none" stroke="rgba(255,255,255,0.035)" stroke-width="1"/>
904
+ </pattern>
905
+ </defs>
906
+ <rect width="880" height="170" fill="url(#grid)"/>
907
+ <!-- Benchmark (S&P) ghost line -->
908
+ <polyline fill="none" stroke="rgba(255,255,255,0.22)" stroke-width="1.2" stroke-dasharray="3 4"
909
+ points="10,130 60,128 110,124 160,122 210,118 260,114 310,108 360,104 410,98 460,92 510,86 560,82 610,78 660,72 710,66 760,62 810,56 860,52" />
910
+ <!-- Portfolio area -->
911
+ <polygon fill="url(#pfGrad)"
912
+ points="10,150 10,128 60,124 110,116 160,118 210,108 260,114 310,98 360,90 410,96 460,80 510,72 560,76 610,60 660,54 710,46 760,40 810,32 860,28 870,28 870,150" />
913
+ <polyline fill="none" stroke="url(#pfStroke)" stroke-width="2.4" stroke-linejoin="round" stroke-linecap="round"
914
+ points="10,128 60,124 110,116 160,118 210,108 260,114 310,98 360,90 410,96 460,80 510,72 560,76 610,60 660,54 710,46 760,40 810,32 860,28" />
915
+ <!-- "Now" marker -->
916
+ <circle cx="860" cy="28" r="4" fill="#22e58c"/>
917
+ <circle cx="860" cy="28" r="9" fill="none" stroke="#22e58c" stroke-opacity="0.5"/>
918
+ <line x1="860" y1="28" x2="860" y2="160" stroke="rgba(34,229,140,0.35)" stroke-dasharray="2 3"/>
919
+ <!-- Buy markers -->
920
+ <g>
921
+ <circle cx="210" cy="108" r="3.5" fill="#facc15"/>
922
+ <circle cx="460" cy="80" r="3.5" fill="#facc15"/>
923
+ <circle cx="660" cy="54" r="3.5" fill="#facc15"/>
924
+ </g>
925
+ </svg>
926
+ <div class="pf-axis">
927
+ <span>May '24</span><span>Jul</span><span>Sep</span><span>Nov</span><span>Jan '25</span><span>Mar</span><span>Today</span>
928
+ </div>
929
+ </div>
930
+ </div>
931
+
932
+ <div class="kpis">
933
+ <div class="kpi">
934
+ <div class="k-label">24h P&L</div>
935
+ <div class="k-val" style="color:var(--up)">+$5,842.16</div>
936
+ <div class="k-sub" style="color:var(--up)">+3.23% · 9 green / 2 red</div>
937
+ </div>
938
+ <div class="kpi">
939
+ <div class="k-label">Stables · dry powder</div>
940
+ <div class="k-val">$24,180</div>
941
+ <div class="k-sub" style="color:var(--muted)">USDC 18.4k · USDT 5.78k · 4.92% APY</div>
942
+ </div>
943
+ <div class="kpi spark">
944
+ <div class="k-label">Best holding · SOL</div>
945
+ <div class="k-val" style="color:var(--up)">+812.4%</div>
946
+ <svg viewBox="0 0 200 36" preserveAspectRatio="none">
947
+ <defs><linearGradient id="sg1" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#22e58c" stop-opacity="0.4"/><stop offset="100%" stop-color="#22e58c" stop-opacity="0"/></linearGradient></defs>
948
+ <polygon fill="url(#sg1)" points="0,32 0,30 20,28 40,26 60,22 80,20 100,18 120,14 140,12 160,8 180,5 200,3 200,36 0,36"/>
949
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,30 20,28 40,26 60,22 80,20 100,18 120,14 140,12 160,8 180,5 200,3"/>
950
+ </svg>
951
+ </div>
952
+ <div class="kpi alpha">
953
+ <div class="k-label">Alpha vs BTC · YTD</div>
954
+ <div class="k-val">+22.4pp</div>
955
+ <div class="k-sub" style="color:var(--muted)">Sharpe 1.86 · Vol 64% · Max DD −34%</div>
956
+ </div>
957
+ </div>
958
+ </section>
959
+
960
+ <!-- ─────── Main grid: chart + AI rec ─────── -->
961
+ <section class="grid-2">
962
+ <!-- Chart -->
963
+ <div class="card chart-card" id="chartCard">
964
+ <div class="chart-head">
965
+ <div class="ticker">
966
+ <div class="icon" id="tkIcon" style="background:linear-gradient(135deg,#f7931a,#a35e00);color:#1a0e00;">₿</div>
967
+ <div class="meta">
968
+ <div class="sym-row">
969
+ <span class="sym" id="tkSym">BTC</span>
970
+ <a class="ext" id="tkLinkExch" href="https://www.coinbase.com/price/bitcoin" target="_blank" rel="noopener">Coinbase <span class="ico">↗</span></a>
971
+ <a class="ext" id="tkLinkYahoo" href="https://www.binance.com/en/price/bitcoin" target="_blank" rel="noopener">Binance <span class="ico">↗</span></a>
972
+ <a class="ext" id="tkLinkTV" href="https://coinmarketcap.com/currencies/bitcoin/" target="_blank" rel="noopener">CoinMarketCap <span class="ico">↗</span></a>
973
+ </div>
974
+ <div class="name" id="tkName">Bitcoin · L1 · Mkt cap $1.35T · Dominance 54.2%</div>
975
+ </div>
976
+ </div>
977
+ <div class="price-block">
978
+ <div class="px-now flicker" id="tkPx" style="color:var(--up)">$68,412</div>
979
+ <div class="px-delta" id="tkDelta" style="color:var(--up)">▲ +$1,236.40 &nbsp; +1.84% 24h</div>
980
+ </div>
981
+ </div>
982
+
983
+ <div class="chart-stats" id="tkStats">
984
+ <div class="stat"><div class="lbl">24h open</div><div class="val" data-stat="open">67,176</div></div>
985
+ <div class="stat"><div class="lbl">24h high</div><div class="val" data-stat="high">68,920</div></div>
986
+ <div class="stat"><div class="lbl">24h low</div><div class="val" data-stat="low">66,840</div></div>
987
+ <div class="stat"><div class="lbl">24h volume</div><div class="val" data-stat="vol">$28.4B</div></div>
988
+ <div class="stat"><div class="lbl">Circ supply</div><div class="val" data-stat="pe">19.74M / 21M</div></div>
989
+ <div class="stat"><div class="lbl">ATH</div><div class="val" data-stat="range52">$73,750 (Mar)</div></div>
990
+ </div>
991
+
992
+ <div class="chart-body">
993
+ <div class="chart-toolbar">
994
+ <div class="chart-tools">
995
+ <span class="chip on">Candles</span>
996
+ <span class="chip">Line</span>
997
+ <span class="chip">Volume</span>
998
+ <span class="chip">SMA 50</span>
999
+ <span class="chip">RSI</span>
1000
+ </div>
1001
+ <div class="range-tabs">
1002
+ <button>1D</button>
1003
+ <button>5D</button>
1004
+ <button class="active">1M</button>
1005
+ <button>3M</button>
1006
+ <button>1Y</button>
1007
+ <button>5Y</button>
1008
+ </div>
1009
+ </div>
1010
+
1011
+ <!-- Candlestick -->
1012
+ <svg class="candles" id="candleSvg" viewBox="0 0 880 320" preserveAspectRatio="none">
1013
+ <defs>
1014
+ <pattern id="grid2" x="0" y="0" width="80" height="40" patternUnits="userSpaceOnUse">
1015
+ <path d="M 80 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.035)" stroke-width="1"/>
1016
+ </pattern>
1017
+ </defs>
1018
+ <rect width="880" height="320" fill="url(#grid2)"/>
1019
+
1020
+ <!-- Y axis labels -->
1021
+ <g font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">
1022
+ <text x="6" y="36">940</text>
1023
+ <text x="6" y="96">900</text>
1024
+ <text x="6" y="156">860</text>
1025
+ <text x="6" y="216">820</text>
1026
+ <text x="6" y="276">780</text>
1027
+ </g>
1028
+
1029
+ <!-- SMA50 trend line -->
1030
+ <polyline fill="none" stroke="#facc15" stroke-opacity="0.55" stroke-width="1.4" stroke-dasharray="3 3"
1031
+ points="40,220 80,214 120,208 160,200 200,196 240,188 280,180 320,170 360,160 400,150 440,140 480,128 520,118 560,108 600,96 640,84 680,76 720,70 760,62 800,54 840,46"/>
1032
+
1033
+ <!-- Candles: x ranges from 40 to 840 (stride 40), 21 candles -->
1034
+ <!-- format: wick line + body rect; up = green, down = red -->
1035
+ <g>
1036
+ <!-- 1 -->
1037
+ <line x1="44" y1="248" x2="44" y2="222" stroke="#22e58c" stroke-width="1.2"/><rect x="38" y="230" width="12" height="14" fill="#22e58c"/>
1038
+ <!-- 2 -->
1039
+ <line x1="84" y1="240" x2="84" y2="208" stroke="#22e58c" stroke-width="1.2"/><rect x="78" y="216" width="12" height="20" fill="#22e58c"/>
1040
+ <!-- 3 down -->
1041
+ <line x1="124" y1="222" x2="124" y2="246" stroke="#ff4f6d" stroke-width="1.2"/><rect x="118" y="224" width="12" height="14" fill="#ff4f6d"/>
1042
+ <!-- 4 -->
1043
+ <line x1="164" y1="232" x2="164" y2="200" stroke="#22e58c" stroke-width="1.2"/><rect x="158" y="206" width="12" height="22" fill="#22e58c"/>
1044
+ <!-- 5 -->
1045
+ <line x1="204" y1="218" x2="204" y2="190" stroke="#22e58c" stroke-width="1.2"/><rect x="198" y="196" width="12" height="18" fill="#22e58c"/>
1046
+ <!-- 6 down -->
1047
+ <line x1="244" y1="200" x2="244" y2="226" stroke="#ff4f6d" stroke-width="1.2"/><rect x="238" y="204" width="12" height="16" fill="#ff4f6d"/>
1048
+ <!-- 7 -->
1049
+ <line x1="284" y1="220" x2="284" y2="184" stroke="#22e58c" stroke-width="1.2"/><rect x="278" y="190" width="12" height="22" fill="#22e58c"/>
1050
+ <!-- 8 -->
1051
+ <line x1="324" y1="200" x2="324" y2="170" stroke="#22e58c" stroke-width="1.2"/><rect x="318" y="178" width="12" height="18" fill="#22e58c"/>
1052
+ <!-- 9 down -->
1053
+ <line x1="364" y1="180" x2="364" y2="208" stroke="#ff4f6d" stroke-width="1.2"/><rect x="358" y="184" width="12" height="18" fill="#ff4f6d"/>
1054
+ <!-- 10 -->
1055
+ <line x1="404" y1="206" x2="404" y2="158" stroke="#22e58c" stroke-width="1.2"/><rect x="398" y="166" width="12" height="34" fill="#22e58c"/>
1056
+ <!-- 11 -->
1057
+ <line x1="444" y1="170" x2="444" y2="146" stroke="#22e58c" stroke-width="1.2"/><rect x="438" y="152" width="12" height="14" fill="#22e58c"/>
1058
+ <!-- 12 down -->
1059
+ <line x1="484" y1="148" x2="484" y2="174" stroke="#ff4f6d" stroke-width="1.2"/><rect x="478" y="152" width="12" height="16" fill="#ff4f6d"/>
1060
+ <!-- 13 -->
1061
+ <line x1="524" y1="166" x2="524" y2="128" stroke="#22e58c" stroke-width="1.2"/><rect x="518" y="136" width="12" height="24" fill="#22e58c"/>
1062
+ <!-- 14 -->
1063
+ <line x1="564" y1="142" x2="564" y2="116" stroke="#22e58c" stroke-width="1.2"/><rect x="558" y="124" width="12" height="14" fill="#22e58c"/>
1064
+ <!-- 15 down -->
1065
+ <line x1="604" y1="120" x2="604" y2="146" stroke="#ff4f6d" stroke-width="1.2"/><rect x="598" y="124" width="12" height="16" fill="#ff4f6d"/>
1066
+ <!-- 16 -->
1067
+ <line x1="644" y1="142" x2="644" y2="100" stroke="#22e58c" stroke-width="1.2"/><rect x="638" y="106" width="12" height="30" fill="#22e58c"/>
1068
+ <!-- 17 -->
1069
+ <line x1="684" y1="112" x2="684" y2="84" stroke="#22e58c" stroke-width="1.2"/><rect x="678" y="92" width="12" height="14" fill="#22e58c"/>
1070
+ <!-- 18 down -->
1071
+ <line x1="724" y1="84" x2="724" y2="106" stroke="#ff4f6d" stroke-width="1.2"/><rect x="718" y="86" width="12" height="14" fill="#ff4f6d"/>
1072
+ <!-- 19 -->
1073
+ <line x1="764" y1="106" x2="764" y2="68" stroke="#22e58c" stroke-width="1.2"/><rect x="758" y="74" width="12" height="26" fill="#22e58c"/>
1074
+ <!-- 20 -->
1075
+ <line x1="804" y1="80" x2="804" y2="52" stroke="#22e58c" stroke-width="1.2"/><rect x="798" y="58" width="12" height="20" fill="#22e58c"/>
1076
+ <!-- 21 (today) -->
1077
+ <line x1="844" y1="68" x2="844" y2="38" stroke="#22e58c" stroke-width="1.2"/><rect x="838" y="44" width="12" height="22" fill="#22e58c"/>
1078
+ </g>
1079
+
1080
+ <!-- Buy/sell markers from journal -->
1081
+ <g font-family="Geist Mono,monospace" font-size="10">
1082
+ <circle cx="284" cy="200" r="5" fill="#facc15"/>
1083
+ <text x="296" y="204" fill="#facc15">BUY · 60 @ 812</text>
1084
+ <circle cx="524" cy="166" r="5" fill="#facc15"/>
1085
+ <text x="536" y="170" fill="#facc15">BUY · 40 @ 845</text>
1086
+ </g>
1087
+
1088
+ <!-- Current price marker -->
1089
+ <g id="pxMarker">
1090
+ <line x1="40" y1="44" x2="844" y2="44" stroke="rgba(34,229,140,0.25)" stroke-dasharray="2 3"/>
1091
+ <rect x="836" y="36" width="40" height="18" fill="#22e58c" rx="3"/>
1092
+ <text id="pxMarkerText" x="856" y="49" font-family="Geist Mono,monospace" font-size="10" fill="#00200f" text-anchor="middle" font-weight="700">924.31</text>
1093
+ </g>
1094
+ </svg>
1095
+
1096
+ <!-- Volume -->
1097
+ <svg class="vol" id="volSvg" viewBox="0 0 880 70" preserveAspectRatio="none">
1098
+ <g>
1099
+ <rect x="38" y="50" width="12" height="20" fill="#22e58c" opacity="0.5"/>
1100
+ <rect x="78" y="44" width="12" height="26" fill="#22e58c" opacity="0.5"/>
1101
+ <rect x="118" y="48" width="12" height="22" fill="#ff4f6d" opacity="0.55"/>
1102
+ <rect x="158" y="40" width="12" height="30" fill="#22e58c" opacity="0.5"/>
1103
+ <rect x="198" y="46" width="12" height="24" fill="#22e58c" opacity="0.5"/>
1104
+ <rect x="238" y="50" width="12" height="20" fill="#ff4f6d" opacity="0.55"/>
1105
+ <rect x="278" y="36" width="12" height="34" fill="#22e58c" opacity="0.5"/>
1106
+ <rect x="318" y="42" width="12" height="28" fill="#22e58c" opacity="0.5"/>
1107
+ <rect x="358" y="44" width="12" height="26" fill="#ff4f6d" opacity="0.55"/>
1108
+ <rect x="398" y="22" width="12" height="48" fill="#22e58c" opacity="0.65"/>
1109
+ <rect x="438" y="46" width="12" height="24" fill="#22e58c" opacity="0.5"/>
1110
+ <rect x="478" y="44" width="12" height="26" fill="#ff4f6d" opacity="0.55"/>
1111
+ <rect x="518" y="30" width="12" height="40" fill="#22e58c" opacity="0.6"/>
1112
+ <rect x="558" y="44" width="12" height="26" fill="#22e58c" opacity="0.5"/>
1113
+ <rect x="598" y="46" width="12" height="24" fill="#ff4f6d" opacity="0.55"/>
1114
+ <rect x="638" y="20" width="12" height="50" fill="#22e58c" opacity="0.7"/>
1115
+ <rect x="678" y="42" width="12" height="28" fill="#22e58c" opacity="0.5"/>
1116
+ <rect x="718" y="48" width="12" height="22" fill="#ff4f6d" opacity="0.55"/>
1117
+ <rect x="758" y="26" width="12" height="44" fill="#22e58c" opacity="0.6"/>
1118
+ <rect x="798" y="34" width="12" height="36" fill="#22e58c" opacity="0.5"/>
1119
+ <rect x="838" y="14" width="12" height="56" fill="#22e58c" opacity="0.85"/>
1120
+ </g>
1121
+ <text x="6" y="14" font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">VOL</text>
1122
+ <text x="6" y="64" font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">38.4M</text>
1123
+ </svg>
1124
+ </div>
1125
+ </div>
1126
+
1127
+ <!-- AI Recommendation -->
1128
+ <div class="card ai-card">
1129
+ <div class="ai-head">
1130
+ <div style="display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;">
1131
+ <div class="ai-tag">Quiver AI · Signal #2417</div>
1132
+ <button class="ai-regen" id="regenBtn" title="Regenerate analysis">
1133
+ <svg class="ico" viewBox="0 0 16 16" fill="none"><path d="M14 8a6 6 0 1 1-1.76-4.24M14 3v3.5h-3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
1134
+ <span id="regenLabel">Regenerate</span>
1135
+ </button>
1136
+ </div>
1137
+ <div class="ai-headline" id="aiHeadline">
1138
+ <span class="accent">Rotate stables → SOL</span> on DePIN + Firedancer accelerator.
1139
+ </div>
1140
+ <div class="ai-sub" id="aiSub">
1141
+ On-chain activity is breaking out while ETF spot demand is steady. Risk-reward favors adding SOL while keeping BTC core untouched.
1142
+ </div>
1143
+ <div class="regime-row">
1144
+ <span class="regime-pill up"><span class="lbl">Trend</span><span class="v">▲ Bullish</span></span>
1145
+ <span class="regime-pill neut"><span class="lbl">Funding</span><span class="v">+0.012% 8h</span></span>
1146
+ <span class="regime-pill up"><span class="lbl">ETF flow</span><span class="v">+$418M / 5d</span></span>
1147
+ <span class="regime-pill down"><span class="lbl">Sentiment</span><span class="v">Greed 78</span></span>
1148
+ </div>
1149
+ </div>
1150
+
1151
+ <div class="ai-stat-row">
1152
+ <div class="ai-stat conviction">
1153
+ <div class="lbl">Conviction</div>
1154
+ <div class="v" style="color:var(--cyan)" id="convVal">82%</div>
1155
+ <div class="bar"><div class="fill" id="convFill" style="width:82%"></div></div>
1156
+ </div>
1157
+ <div class="ai-stat">
1158
+ <div class="lbl">3-mo target</div>
1159
+ <div class="v up">$240</div>
1160
+ <div class="lbl" style="margin-top:2px;color:var(--up)">+28.7% upside</div>
1161
+ </div>
1162
+ <div class="ai-stat">
1163
+ <div class="lbl">Suggested size</div>
1164
+ <div class="v">+45 SOL</div>
1165
+ <div class="lbl" style="margin-top:2px;color:var(--muted)">≈ $8,389 · 4.5% port</div>
1166
+ </div>
1167
+ </div>
1168
+
1169
+ <!-- Tabs -->
1170
+ <div class="ai-tabs" role="tablist">
1171
+ <button class="ai-tab active" data-tab="catalysts">Catalysts <span class="dot bull"></span></button>
1172
+ <button class="ai-tab" data-tab="risks">Risks <span class="dot risk"></span></button>
1173
+ <button class="ai-tab" data-tab="position">Position read <span class="dot violet"></span></button>
1174
+ <button class="ai-tab" data-tab="plan">Trade plan <span class="dot amber"></span></button>
1175
+ </div>
1176
+
1177
+ <!-- Catalysts panel -->
1178
+ <div class="ai-panel active" data-panel="catalysts">
1179
+ <div class="ai-thesis">
1180
+ <h4>Why now · 3 catalysts</h4>
1181
+ <div class="thesis-list">
1182
+ <div class="thesis-item">
1183
+ <div class="thesis-num">01</div>
1184
+ <div class="thesis-text"><strong>Firedancer mainnet imminent</strong> — Jump's validator client is in canary on testnet. Once live, expect a step-change in throughput narrative. Historical analogs (Sui mainnet, Sept '23) priced 28% in 14 days.</div>
1185
+ </div>
1186
+ <div class="thesis-item">
1187
+ <div class="thesis-num">02</div>
1188
+ <div class="thesis-text"><strong>DePIN flywheel printing real revenue</strong> — Helium, Render, Hivemapper combined paid <span style="color:var(--up)">$32M+</span> in last quarter. Settlement is on Solana; fee accrual is sticky.</div>
1189
+ </div>
1190
+ <div class="thesis-item">
1191
+ <div class="thesis-num">03</div>
1192
+ <div class="thesis-text"><strong>BTC ETF flows holding</strong> — net <span style="color:var(--up)">+$418M</span> over the last 5 sessions. Macro tape is risk-on; BTC dominance compressing — usually a green light for L1 rotation.</div>
1193
+ </div>
1194
+ </div>
1195
+ </div>
1196
+ </div>
1197
+
1198
+ <!-- Risks panel -->
1199
+ <div class="ai-panel" data-panel="risks">
1200
+ <div class="risk-list">
1201
+ <div class="risk-row">
1202
+ <div class="lvl high">High</div>
1203
+ <div class="body"><strong>Mainnet outage.</strong> Solana has had 6 partial halts in 2 years. A Firedancer rollout could either harden or briefly fracture the network.</div>
1204
+ <div class="prob">P 24%</div>
1205
+ </div>
1206
+ <div class="risk-row">
1207
+ <div class="lvl med">Med</div>
1208
+ <div class="body"><strong>FTX estate distributions.</strong> ~14M SOL still unlocked to creditors over 18 months. Recent prints have been absorbed; a fast-paced sale would pressure spot 8–12%.</div>
1209
+ <div class="prob">P 32%</div>
1210
+ </div>
1211
+ <div class="risk-row">
1212
+ <div class="lvl med">Med</div>
1213
+ <div class="body"><strong>L2 vs L1 narrative whipsaw.</strong> If Base/Arbitrum capture re-flips dominance, SOL beta to ETH could turn negative for a quarter.</div>
1214
+ <div class="prob">P 22%</div>
1215
+ </div>
1216
+ <div class="risk-row">
1217
+ <div class="lvl low">Low</div>
1218
+ <div class="body"><strong>Macro risk-off.</strong> Crypto beta to NDX is ~2.4. A 5% NDX correction would mark down crypto book ~12% even on unchanged thesis. Use stables ladder as buffer.</div>
1219
+ <div class="prob">P 18%</div>
1220
+ </div>
1221
+ </div>
1222
+ </div>
1223
+
1224
+ <!-- Position read panel -->
1225
+ <div class="ai-panel" data-panel="position">
1226
+ <div class="pos-read">
1227
+ <div class="pos-line"><span class="lbl">Avg cost basis · SOL</span><span class="val">$20.46 · 240 SOL</span></div>
1228
+ <div class="pos-line"><span class="lbl">Mark-to-market</span><span class="val up">$44,740 (+812.4%)</span></div>
1229
+ <div class="pos-line"><span class="lbl">Holding period</span><span class="val">692 days · earned 18.4 SOL staking</span></div>
1230
+ <div class="pos-line"><span class="lbl">Position vs target</span><span class="val">24.0% / 30% target — <span style="color:var(--up)">room to add</span></span></div>
1231
+ <div class="pos-line"><span class="lbl">Wallet</span><span class="val">Phantom · Ledger Nano X</span></div>
1232
+ <div class="pos-line"><span class="lbl">Beta to BTC</span><span class="val">1.84</span></div>
1233
+ <div class="pos-narr">
1234
+ <div class="quote">"Conviction trade in a portfolio that's already worked. Don't let recency bias trim a thesis that's strengthening on every datapoint."</div>
1235
+ Quiver AI flags <strong>+$418M ETF inflows + Firedancer testnet</strong> as the recent regime change. Funding is calm (+0.012%) — no froth — and on-chain DAU just hit a 90-day high. The cleanest add is on a <strong>−5% wick into $176</strong>; at-mkt is acceptable.
1236
+ </div>
1237
+ </div>
1238
+ </div>
1239
+
1240
+ <!-- Trade plan panel -->
1241
+ <div class="ai-panel" data-panel="plan">
1242
+ <div class="plan-grid">
1243
+ <div class="plan-step entry">
1244
+ <div class="plan-bullet">▲</div>
1245
+ <div class="plan-label">Entry zone</div>
1246
+ <div class="plan-zone"><span class="px">$182 — $190</span> &nbsp;<span class="pct up">at-mkt OK</span></div>
1247
+ </div>
1248
+ <div class="plan-step entry">
1249
+ <div class="plan-bullet">+</div>
1250
+ <div class="plan-label">Add lot 2</div>
1251
+ <div class="plan-zone"><span class="px">$176</span> on -5% wick &nbsp;<span class="pct">+30 SOL</span></div>
1252
+ </div>
1253
+ <div class="plan-step stop">
1254
+ <div class="plan-bullet">▼</div>
1255
+ <div class="plan-label">Invalidation</div>
1256
+ <div class="plan-zone"><span class="px">$162</span> daily close &nbsp;<span class="pct down">−13.0% from spot</span></div>
1257
+ </div>
1258
+ <div class="plan-step target">
1259
+ <div class="plan-bullet">①</div>
1260
+ <div class="plan-label">Target 1</div>
1261
+ <div class="plan-zone"><span class="px">$220</span> trim 25% &nbsp;<span class="pct up">+18.0%</span></div>
1262
+ </div>
1263
+ <div class="plan-step target">
1264
+ <div class="plan-bullet">②</div>
1265
+ <div class="plan-label">Target 2</div>
1266
+ <div class="plan-zone"><span class="px">$240</span> trim 25% &nbsp;<span class="pct up">+28.7%</span></div>
1267
+ </div>
1268
+ <div class="plan-step target">
1269
+ <div class="plan-bullet">③</div>
1270
+ <div class="plan-label">Cycle target</div>
1271
+ <div class="plan-zone"><span class="px">$295</span> trim 50% &nbsp;<span class="pct up">+58.2%</span></div>
1272
+ </div>
1273
+ </div>
1274
+ </div>
1275
+
1276
+ <div class="ai-actions">
1277
+ <button class="btn primary" data-action="add">+ Buy 45 SOL</button>
1278
+ <button class="btn" data-action="alert">Set price alert</button>
1279
+ <button class="btn" data-action="thesis">View on-chain thesis</button>
1280
+ </div>
1281
+ </div>
1282
+ </section>
1283
+
1284
+ <!-- ─────── Holdings ─────── -->
1285
+ <div class="card" style="padding:0;">
1286
+ <div class="panel-head">
1287
+ <div class="panel-title">Holdings · 9 wallets</div>
1288
+ <div class="panel-sub">On-chain · last sync 14:32:18 UTC</div>
1289
+ </div>
1290
+ <table class="holdings" id="holdingsTable">
1291
+ <thead>
1292
+ <tr>
1293
+ <th>Asset</th>
1294
+ <th class="num">Amount</th>
1295
+ <th class="num">Avg cost</th>
1296
+ <th class="num">Last</th>
1297
+ <th>Trend · 30d</th>
1298
+ <th class="num">Market value</th>
1299
+ <th class="num">Unrealized P&L</th>
1300
+ <th>Allocation</th>
1301
+ </tr>
1302
+ </thead>
1303
+ <tbody>
1304
+ <tr data-symbol="BTC" class="active">
1305
+ <td>
1306
+ <div class="sym-cell">
1307
+ <span class="sym-mark" style="background:linear-gradient(135deg,#f7931a,#a35e00);color:#1a0e00;">₿</span>
1308
+ <span class="name-block">
1309
+ <span class="sym-name">BTC <a class="ext-mini" href="https://www.coinbase.com/price/bitcoin" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1310
+ <span class="sym-co">Bitcoin · Ledger Nano X</span>
1311
+ </span>
1312
+ </div>
1313
+ </td>
1314
+ <td class="num">1.0842</td>
1315
+ <td class="num">28,440</td>
1316
+ <td class="num" style="color:var(--up);font-weight:600;">68,412</td>
1317
+ <td class="mini-spark">
1318
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,18 6,17 12,16 18,15 24,14 30,15 36,13 42,11 48,10 54,8 60,7 66,6 70,5"/></svg>
1319
+ </td>
1320
+ <td class="num">$74,170</td>
1321
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$43,738</span><span class="pl-pct">+143.7%</span></span></td>
1322
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:40%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">39.8%</span></td>
1323
+ </tr>
1324
+ <tr data-symbol="SOL">
1325
+ <td>
1326
+ <div class="sym-cell">
1327
+ <span class="sym-mark" style="background:linear-gradient(135deg,#14f195,#9945ff);color:#0a0020;">◎</span>
1328
+ <span class="name-block">
1329
+ <span class="sym-name">SOL <a class="ext-mini" href="https://www.coinbase.com/price/solana" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1330
+ <span class="sym-co">Solana · Phantom (staked 18.4)</span>
1331
+ </span>
1332
+ </div>
1333
+ </td>
1334
+ <td class="num">240.00</td>
1335
+ <td class="num">20.46</td>
1336
+ <td class="num" style="color:var(--up);font-weight:600;">186.42</td>
1337
+ <td class="mini-spark">
1338
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,20 6,18 12,17 18,15 24,14 30,12 36,10 42,8 48,9 54,6 60,5 66,3 70,2"/></svg>
1339
+ </td>
1340
+ <td class="num">$44,740</td>
1341
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$39,830</span><span class="pl-pct">+812.4%</span></span></td>
1342
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:24%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">24.0%</span></td>
1343
+ </tr>
1344
+ <tr data-symbol="ETH">
1345
+ <td>
1346
+ <div class="sym-cell">
1347
+ <span class="sym-mark" style="background:linear-gradient(135deg,#627eea,#3c5ed7);color:#fff;">Ξ</span>
1348
+ <span class="name-block">
1349
+ <span class="sym-name">ETH <a class="ext-mini" href="https://www.coinbase.com/price/ethereum" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1350
+ <span class="sym-co">Ethereum · MetaMask · 8.4 staked</span>
1351
+ </span>
1352
+ </div>
1353
+ </td>
1354
+ <td class="num">10.62</td>
1355
+ <td class="num">1,820</td>
1356
+ <td class="num" style="color:var(--up);font-weight:600;">3,612</td>
1357
+ <td class="mini-spark">
1358
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,17 6,16 12,17 18,15 24,14 30,15 36,12 42,11 48,12 54,9 60,8 66,7 70,6"/></svg>
1359
+ </td>
1360
+ <td class="num">$38,360</td>
1361
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$19,032</span><span class="pl-pct">+98.5%</span></span></td>
1362
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:21%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">20.6%</span></td>
1363
+ </tr>
1364
+ <tr data-symbol="LINK">
1365
+ <td>
1366
+ <div class="sym-cell">
1367
+ <span class="sym-mark" style="background:linear-gradient(135deg,#2a5ada,#1d3ea0);color:#fff;">L</span>
1368
+ <span class="name-block">
1369
+ <span class="sym-name">LINK <a class="ext-mini" href="https://www.coinbase.com/price/chainlink" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1370
+ <span class="sym-co">Chainlink · MetaMask</span>
1371
+ </span>
1372
+ </div>
1373
+ </td>
1374
+ <td class="num">680</td>
1375
+ <td class="num">8.42</td>
1376
+ <td class="num" style="color:var(--up);font-weight:600;">14.92</td>
1377
+ <td class="mini-spark">
1378
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,18 6,17 12,15 18,14 24,15 30,12 36,11 42,12 48,10 54,8 60,7 66,6 70,5"/></svg>
1379
+ </td>
1380
+ <td class="num">$10,146</td>
1381
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$4,420</span><span class="pl-pct">+77.2%</span></span></td>
1382
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:6%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">5.4%</span></td>
1383
+ </tr>
1384
+ <tr data-symbol="AVAX">
1385
+ <td>
1386
+ <div class="sym-cell">
1387
+ <span class="sym-mark" style="background:linear-gradient(135deg,#e84142,#7a0d0e);color:#fff;">A</span>
1388
+ <span class="name-block">
1389
+ <span class="sym-name">AVAX <a class="ext-mini" href="https://www.coinbase.com/price/avalanche" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1390
+ <span class="sym-co">Avalanche · Core wallet</span>
1391
+ </span>
1392
+ </div>
1393
+ </td>
1394
+ <td class="num">220</td>
1395
+ <td class="num">28.40</td>
1396
+ <td class="num" style="color:var(--up);font-weight:600;">36.84</td>
1397
+ <td class="mini-spark">
1398
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,16 6,15 12,17 18,14 24,12 30,13 36,11 42,10 48,12 54,9 60,8 66,7 70,7"/></svg>
1399
+ </td>
1400
+ <td class="num">$8,105</td>
1401
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$1,857</span><span class="pl-pct">+29.7%</span></span></td>
1402
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:5%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">4.4%</span></td>
1403
+ </tr>
1404
+ <tr data-symbol="DOT">
1405
+ <td>
1406
+ <div class="sym-cell">
1407
+ <span class="sym-mark" style="background:linear-gradient(135deg,#e6007a,#860146);color:#fff;">●</span>
1408
+ <span class="name-block">
1409
+ <span class="sym-name">DOT <a class="ext-mini" href="https://www.coinbase.com/price/polkadot" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1410
+ <span class="sym-co">Polkadot · Polkadot.js</span>
1411
+ </span>
1412
+ </div>
1413
+ </td>
1414
+ <td class="num">600</td>
1415
+ <td class="num">9.10</td>
1416
+ <td class="num" style="color:var(--down);font-weight:600;">7.18</td>
1417
+ <td class="mini-spark">
1418
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#ff4f6d" stroke-width="1.4" points="0,10 6,11 12,9 18,12 24,13 30,11 36,14 42,15 48,13 54,16 60,17 66,18 70,18"/></svg>
1419
+ </td>
1420
+ <td class="num">$4,308</td>
1421
+ <td class="num"><span class="pl-cell down"><span class="pl-val">−$1,152</span><span class="pl-pct">−21.1%</span></span></td>
1422
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:3%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">2.3%</span></td>
1423
+ </tr>
1424
+ <tr data-symbol="DOGE">
1425
+ <td>
1426
+ <div class="sym-cell">
1427
+ <span class="sym-mark" style="background:linear-gradient(135deg,#c2a633,#8a7321);color:#1a1100;">Ð</span>
1428
+ <span class="name-block">
1429
+ <span class="sym-name">DOGE <a class="ext-mini" href="https://www.coinbase.com/price/dogecoin" target="_blank" rel="noopener" onclick="event.stopPropagation()">Coinbase ↗</a></span>
1430
+ <span class="sym-co">Dogecoin · Hot wallet</span>
1431
+ </span>
1432
+ </div>
1433
+ </td>
1434
+ <td class="num">12,400</td>
1435
+ <td class="num">0.082</td>
1436
+ <td class="num" style="color:var(--up);font-weight:600;">0.1842</td>
1437
+ <td class="mini-spark">
1438
+ <svg viewBox="0 0 70 24" preserveAspectRatio="none"><polyline fill="none" stroke="#22e58c" stroke-width="1.4" points="0,20 6,18 12,17 18,15 24,18 30,14 36,12 42,15 48,10 54,8 60,7 66,5 70,4"/></svg>
1439
+ </td>
1440
+ <td class="num">$2,284</td>
1441
+ <td class="num"><span class="pl-cell up"><span class="pl-val">+$1,267</span><span class="pl-pct">+124.6%</span></span></td>
1442
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:1%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">1.2%</span></td>
1443
+ </tr>
1444
+ <tr>
1445
+ <td>
1446
+ <div class="sym-cell">
1447
+ <span class="sym-mark" style="background:linear-gradient(135deg,#2775ca,#1a4f8a);color:#fff;">$</span>
1448
+ <span class="name-block">
1449
+ <span class="sym-name">USDC stables</span>
1450
+ <span class="sym-co">Coinbase + Aave (4.92% APY)</span>
1451
+ </span>
1452
+ </div>
1453
+ </td>
1454
+ <td class="num">18,420</td>
1455
+ <td class="num">1.00</td>
1456
+ <td class="num">1.00</td>
1457
+ <td>—</td>
1458
+ <td class="num">$18,420</td>
1459
+ <td class="num"><span style="color:var(--up);font-family:var(--mono);">+$842 yield</span></td>
1460
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:9%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">9.9%</span></td>
1461
+ </tr>
1462
+ <tr>
1463
+ <td>
1464
+ <div class="sym-cell">
1465
+ <span class="sym-mark" style="background:linear-gradient(135deg,#26a17b,#136f50);color:#fff;">T</span>
1466
+ <span class="name-block">
1467
+ <span class="sym-name">USDT stables</span>
1468
+ <span class="sym-co">Tron · cold storage</span>
1469
+ </span>
1470
+ </div>
1471
+ </td>
1472
+ <td class="num">5,780</td>
1473
+ <td class="num">1.00</td>
1474
+ <td class="num">1.00</td>
1475
+ <td>—</td>
1476
+ <td class="num">$5,780</td>
1477
+ <td class="num"><span style="color:var(--muted);font-family:var(--mono);">—</span></td>
1478
+ <td><span class="alloc-bar"><span class="alloc-fill" style="width:3%"></span></span> &nbsp;<span style="font-family:var(--mono);font-size:11px;color:var(--muted)">3.1%</span></td>
1479
+ </tr>
1480
+ </tbody>
1481
+ </table>
1482
+ </div>
1483
+
1484
+ <!-- ─────── Watchlist + News two-column ─────── -->
1485
+ <section class="grid-2">
1486
+ <div class="card" style="padding:0;">
1487
+ <div class="panel-head">
1488
+ <div class="panel-title">Watchlist · L1 + L2 + DePIN</div>
1489
+ <div class="panel-sub">14 tickers · 14:32 UTC</div>
1490
+ </div>
1491
+ <div class="watch-grid" style="padding:14px;">
1492
+ <div class="watch-card">
1493
+ <div class="watch-top">
1494
+ <div><div class="watch-sym">SUI</div><div class="watch-co">Sui Network</div></div>
1495
+ <span class="watch-pct up">▲ 8.40%</span>
1496
+ </div>
1497
+ <div class="watch-px">$2.18</div>
1498
+ <div class="watch-spark">
1499
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1500
+ <defs><linearGradient id="ws1" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#22e58c" stop-opacity="0.4"/><stop offset="100%" stop-color="#22e58c" stop-opacity="0"/></linearGradient></defs>
1501
+ <polygon fill="url(#ws1)" points="0,32 0,28 20,30 40,26 60,24 80,28 100,22 120,18 140,20 160,14 180,10 200,6 200,40 0,40"/>
1502
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,28 20,30 40,26 60,24 80,28 100,22 120,18 140,20 160,14 180,10 200,6"/>
1503
+ </svg>
1504
+ </div>
1505
+ <div class="watch-foot">
1506
+ <span>Vol $812M</span>
1507
+ <a href="https://www.coinbase.com/price/sui" target="_blank" rel="noopener">Coinbase ↗</a>
1508
+ </div>
1509
+ </div>
1510
+
1511
+ <div class="watch-card">
1512
+ <div class="watch-top">
1513
+ <div><div class="watch-sym">DOGE</div><div class="watch-co">Dogecoin</div></div>
1514
+ <span class="watch-pct up">▲ 6.84%</span>
1515
+ </div>
1516
+ <div class="watch-px">$0.1842</div>
1517
+ <div class="watch-spark">
1518
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1519
+ <polygon fill="url(#ws1)" points="0,30 0,26 20,28 40,22 60,24 80,20 100,22 120,18 140,16 160,12 180,14 200,10 200,40 0,40"/>
1520
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,26 20,28 40,22 60,24 80,20 100,22 120,18 140,16 160,12 180,14 200,10"/>
1521
+ </svg>
1522
+ </div>
1523
+ <div class="watch-foot">
1524
+ <span>Vol $1.4B</span>
1525
+ <a href="https://www.coinbase.com/price/dogecoin" target="_blank" rel="noopener">Coinbase ↗</a>
1526
+ </div>
1527
+ </div>
1528
+
1529
+ <div class="watch-card">
1530
+ <div class="watch-top">
1531
+ <div><div class="watch-sym">AVAX</div><div class="watch-co">Avalanche</div></div>
1532
+ <span class="watch-pct up">▲ 2.86%</span>
1533
+ </div>
1534
+ <div class="watch-px">$36.84</div>
1535
+ <div class="watch-spark">
1536
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1537
+ <polygon fill="url(#ws1)" points="0,28 0,24 20,22 40,26 60,20 80,18 100,20 120,16 140,14 160,12 180,10 200,8 200,40 0,40"/>
1538
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,24 20,22 40,26 60,20 80,18 100,20 120,16 140,14 160,12 180,10 200,8"/>
1539
+ </svg>
1540
+ </div>
1541
+ <div class="watch-foot">
1542
+ <span>Vol $640M</span>
1543
+ <a href="https://www.coinbase.com/price/avalanche" target="_blank" rel="noopener">Coinbase ↗</a>
1544
+ </div>
1545
+ </div>
1546
+
1547
+ <div class="watch-card">
1548
+ <div class="watch-top">
1549
+ <div><div class="watch-sym">NEAR</div><div class="watch-co">NEAR Protocol</div></div>
1550
+ <span class="watch-pct up">▲ 3.20%</span>
1551
+ </div>
1552
+ <div class="watch-px">$5.42</div>
1553
+ <div class="watch-spark">
1554
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1555
+ <polygon fill="url(#ws1)" points="0,32 0,28 20,30 40,26 60,28 80,22 100,18 120,20 140,14 160,10 180,12 200,6 200,40 0,40"/>
1556
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,28 20,30 40,26 60,28 80,22 100,18 120,20 140,14 160,10 180,12 200,6"/>
1557
+ </svg>
1558
+ </div>
1559
+ <div class="watch-foot">
1560
+ <span>Vol $312M</span>
1561
+ <a href="https://www.coinbase.com/price/near-protocol" target="_blank" rel="noopener">Coinbase ↗</a>
1562
+ </div>
1563
+ </div>
1564
+
1565
+ <div class="watch-card">
1566
+ <div class="watch-top">
1567
+ <div><div class="watch-sym">TIA</div><div class="watch-co">Celestia</div></div>
1568
+ <span class="watch-pct down">▼ 1.18%</span>
1569
+ </div>
1570
+ <div class="watch-px">$7.84</div>
1571
+ <div class="watch-spark">
1572
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1573
+ <defs><linearGradient id="ws2" x1="0" x2="0" y1="0" y2="1"><stop offset="0%" stop-color="#ff4f6d" stop-opacity="0.4"/><stop offset="100%" stop-color="#ff4f6d" stop-opacity="0"/></linearGradient></defs>
1574
+ <polygon fill="url(#ws2)" points="0,10 0,14 20,12 40,16 60,14 80,18 100,20 120,18 140,22 160,24 180,28 200,30 200,40 0,40"/>
1575
+ <polyline fill="none" stroke="#ff4f6d" stroke-width="1.6" points="0,14 20,12 40,16 60,14 80,18 100,20 120,18 140,22 160,24 180,28 200,30"/>
1576
+ </svg>
1577
+ </div>
1578
+ <div class="watch-foot">
1579
+ <span>Vol $84M</span>
1580
+ <a href="https://www.coinbase.com/price/celestia" target="_blank" rel="noopener">Coinbase ↗</a>
1581
+ </div>
1582
+ </div>
1583
+
1584
+ <div class="watch-card">
1585
+ <div class="watch-top">
1586
+ <div><div class="watch-sym">ARB</div><div class="watch-co">Arbitrum</div></div>
1587
+ <span class="watch-pct up">▲ 0.95%</span>
1588
+ </div>
1589
+ <div class="watch-px">$0.6420</div>
1590
+ <div class="watch-spark">
1591
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1592
+ <polygon fill="url(#ws1)" points="0,34 0,30 20,32 40,28 60,30 80,26 100,20 120,16 140,18 160,12 180,8 200,4 200,40 0,40"/>
1593
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,30 20,32 40,28 60,30 80,26 100,20 120,16 140,18 160,12 180,8 200,4"/>
1594
+ </svg>
1595
+ </div>
1596
+ <div class="watch-foot">
1597
+ <span>Vol $186M</span>
1598
+ <a href="https://www.coinbase.com/price/arbitrum" target="_blank" rel="noopener">Coinbase ↗</a>
1599
+ </div>
1600
+ </div>
1601
+
1602
+ <div class="watch-card">
1603
+ <div class="watch-top">
1604
+ <div><div class="watch-sym">BNB</div><div class="watch-co">BNB Chain</div></div>
1605
+ <span class="watch-pct up">▲ 0.94%</span>
1606
+ </div>
1607
+ <div class="watch-px">$612.40</div>
1608
+ <div class="watch-spark">
1609
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1610
+ <polygon fill="url(#ws1)" points="0,28 0,24 20,26 40,22 60,20 80,22 100,18 120,16 140,18 160,14 180,12 200,12 200,40 0,40"/>
1611
+ <polyline fill="none" stroke="#22e58c" stroke-width="1.6" points="0,24 20,26 40,22 60,20 80,22 100,18 120,16 140,18 160,14 180,12 200,12"/>
1612
+ </svg>
1613
+ </div>
1614
+ <div class="watch-foot">
1615
+ <span>Vol $920M</span>
1616
+ <a href="https://www.coinbase.com/price/bnb" target="_blank" rel="noopener">Coinbase ↗</a>
1617
+ </div>
1618
+ </div>
1619
+
1620
+ <div class="watch-card">
1621
+ <div class="watch-top">
1622
+ <div><div class="watch-sym">XRP</div><div class="watch-co">Ripple</div></div>
1623
+ <span class="watch-pct down">▼ 0.42%</span>
1624
+ </div>
1625
+ <div class="watch-px">$0.5824</div>
1626
+ <div class="watch-spark">
1627
+ <svg viewBox="0 0 200 40" preserveAspectRatio="none">
1628
+ <polygon fill="url(#ws2)" points="0,12 0,16 20,14 40,18 60,16 80,18 100,16 120,20 140,18 160,22 180,20 200,24 200,40 0,40"/>
1629
+ <polyline fill="none" stroke="#ff4f6d" stroke-width="1.6" points="0,16 20,14 40,18 60,16 80,18 100,16 120,20 140,18 160,22 180,20 200,24"/>
1630
+ </svg>
1631
+ </div>
1632
+ <div class="watch-foot">
1633
+ <span>Vol $1.2B</span>
1634
+ <a href="https://www.coinbase.com/price/xrp" target="_blank" rel="noopener">Coinbase ↗</a>
1635
+ </div>
1636
+ </div>
1637
+ </div>
1638
+ </div>
1639
+
1640
+ <!-- News / signals feed -->
1641
+ <div class="card" style="padding:0;">
1642
+ <div class="panel-head">
1643
+ <div class="panel-title">Live signals & news</div>
1644
+ <div class="panel-sub">Filtered to your book</div>
1645
+ </div>
1646
+ <div class="news-list">
1647
+ <div class="news-item">
1648
+ <div class="news-time">14:31</div>
1649
+ <div class="news-body">
1650
+ <div class="src"><span class="tag">AI</span> On-chain anomaly</div>
1651
+ <div class="head"><span class="t-up">▲</span> Solana DEX volume rolling 7d up <strong>+62%</strong> — Jupiter + Raydium printing record fee days. Settlement layer thesis intact.</div>
1652
+ <div class="syms"><span class="s">SOL</span><span class="s">JUP</span></div>
1653
+ </div>
1654
+ <span class="impact pos">+ Bull</span>
1655
+ </div>
1656
+ <div class="news-item">
1657
+ <div class="news-time">14:18</div>
1658
+ <div class="news-body">
1659
+ <div class="src">CoinDesk</div>
1660
+ <div class="head">Spot BTC ETFs see <strong>+$418M</strong> net inflows over 5 sessions; IBIT alone takes 70%, FBTC 22%.</div>
1661
+ <div class="syms"><span class="s">BTC</span><span class="s">IBIT</span></div>
1662
+ </div>
1663
+ <span class="impact pos">+ Bull</span>
1664
+ </div>
1665
+ <div class="news-item">
1666
+ <div class="news-time">13:54</div>
1667
+ <div class="news-body">
1668
+ <div class="src">The Block</div>
1669
+ <div class="head">Firedancer canary deployment hits <strong>1.2M TPS</strong> in stress test — full mainnet rollout targeted Q4.</div>
1670
+ <div class="syms"><span class="s">SOL</span></div>
1671
+ </div>
1672
+ <span class="impact pos">+ Bull</span>
1673
+ </div>
1674
+ <div class="news-item">
1675
+ <div class="news-time">13:30</div>
1676
+ <div class="news-body">
1677
+ <div class="src"><span class="tag">AI</span> Funding tracker</div>
1678
+ <div class="head">Perp funding turning slightly positive across L1s; ETH 8h funding now <strong>+0.014%</strong>. Watch for crowding on next 5% leg.</div>
1679
+ <div class="syms"><span class="s">ETH</span><span class="s">SOL</span></div>
1680
+ </div>
1681
+ <span class="impact med">Watch</span>
1682
+ </div>
1683
+ <div class="news-item">
1684
+ <div class="news-time">12:48</div>
1685
+ <div class="news-body">
1686
+ <div class="src">Bloomberg</div>
1687
+ <div class="head">SEC granted certificate of effectiveness on <strong>spot ETH staking ETF</strong> filing — issuer confirmation expected within 7 days.</div>
1688
+ <div class="syms"><span class="s">ETH</span></div>
1689
+ </div>
1690
+ <span class="impact pos">+ Bull</span>
1691
+ </div>
1692
+ <div class="news-item">
1693
+ <div class="news-time">11:22</div>
1694
+ <div class="news-body">
1695
+ <div class="src"><span class="tag">AI</span> Whale flow</div>
1696
+ <div class="head"><span class="t-down">▼</span> 12,400 ETH moved from Genesis estate cold wallet to OKX — 6h. Possible distribution; watch order books.</div>
1697
+ <div class="syms"><span class="s">ETH</span></div>
1698
+ </div>
1699
+ <span class="impact high">High risk</span>
1700
+ </div>
1701
+ </div>
1702
+ </div>
1703
+ </section>
1704
+
1705
+ </main>
1706
+
1707
+ <!-- Toast container -->
1708
+ <div class="toast-box" id="toastBox" aria-live="polite"></div>
1709
+
1710
+ <footer class="app">
1711
+ <div class="left">
1712
+ <span class="live">On-chain feed — block 287,418,612</span>
1713
+ <span>Quotes via Coinbase + CoinGecko · Glassnode for on-chain</span>
1714
+ </div>
1715
+ <div class="right">
1716
+ <span>Quiver Crypto · v1.4.0</span>
1717
+ <span>Source: Coinbase + Phantom + Ledger linked</span>
1718
+ <span>Last sync <span id="lastSync">14:32:18 UTC</span></span>
1719
+ </div>
1720
+ </footer>
1721
+
1722
+ <script>
1723
+ (() => {
1724
+ // ─────── Ticker registry (crypto) ───────
1725
+ // Each asset carries display data + archetype for candle rendering.
1726
+ // Three external links per asset: primary exchange, secondary exchange, market data site.
1727
+ const TICKERS = {
1728
+ BTC: {
1729
+ name: 'Bitcoin', sector: 'L1 · Mkt cap $1.35T · Dominance 54.2%',
1730
+ icon: '₿', bg: 'linear-gradient(135deg,#f7931a,#a35e00)', fg: '#1a0e00',
1731
+ exch: 'Coinbase',
1732
+ links: { exch: 'https://www.coinbase.com/price/bitcoin',
1733
+ yahoo: 'https://www.binance.com/en/price/bitcoin',
1734
+ tv: 'https://coinmarketcap.com/currencies/bitcoin/' },
1735
+ px: 68412, dayChg: 1236.40, dayPct: 1.84, dir: 'up',
1736
+ open: 67176, high: 68920, low: 66840, vol: '$28.4B', pe: '19.74M / 21M', range52: '$73,750 (Mar)',
1737
+ arch: 'bull-strong'
1738
+ },
1739
+ ETH: {
1740
+ name: 'Ethereum', sector: 'L1 · Mkt cap $435B · Gas 12 gwei',
1741
+ icon: 'Ξ', bg: 'linear-gradient(135deg,#627eea,#3c5ed7)', fg: '#ffffff',
1742
+ exch: 'Coinbase',
1743
+ links: { exch: 'https://www.coinbase.com/price/ethereum',
1744
+ yahoo: 'https://www.binance.com/en/price/ethereum',
1745
+ tv: 'https://coinmarketcap.com/currencies/ethereum/' },
1746
+ px: 3612, dayChg: 74.20, dayPct: 2.10, dir: 'up',
1747
+ open: 3540, high: 3624, low: 3522, vol: '$14.2B', pe: '120.4M', range52: '$4,890 (Mar)',
1748
+ arch: 'bull-mild'
1749
+ },
1750
+ SOL: {
1751
+ name: 'Solana', sector: 'L1 · Mkt cap $87B · DePIN settlement',
1752
+ icon: '◎', bg: 'linear-gradient(135deg,#14f195,#9945ff)', fg: '#0a0020',
1753
+ exch: 'Coinbase',
1754
+ links: { exch: 'https://www.coinbase.com/price/solana',
1755
+ yahoo: 'https://www.binance.com/en/price/solana',
1756
+ tv: 'https://coinmarketcap.com/currencies/solana/' },
1757
+ px: 186.42, dayChg: 8.22, dayPct: 4.62, dir: 'up',
1758
+ open: 178.20, high: 188.40, low: 177.30, vol: '$3.8B', pe: '466.4M', range52: '$259 (Mar)',
1759
+ arch: 'bull-strong'
1760
+ },
1761
+ BNB: {
1762
+ name: 'BNB', sector: 'L1 · Mkt cap $89B · Native to BNB Chain',
1763
+ icon: 'B', bg: 'linear-gradient(135deg,#f3ba2f,#a17500)', fg: '#1a0f00',
1764
+ exch: 'Binance',
1765
+ links: { exch: 'https://www.binance.com/en/price/bnb',
1766
+ yahoo: 'https://www.coinbase.com/price/bnb',
1767
+ tv: 'https://coinmarketcap.com/currencies/bnb/' },
1768
+ px: 612.40, dayChg: 5.72, dayPct: 0.94, dir: 'up',
1769
+ open: 606.80, high: 614.20, low: 604.40, vol: '$920M', pe: '147.6M', range52: '$721 (Jun)',
1770
+ arch: 'bull-mild'
1771
+ },
1772
+ XRP: {
1773
+ name: 'XRP', sector: 'Payments · Mkt cap $33B',
1774
+ icon: 'X', bg: 'linear-gradient(135deg,#23292f,#000)', fg: '#ffffff',
1775
+ exch: 'Coinbase',
1776
+ links: { exch: 'https://www.coinbase.com/price/xrp',
1777
+ yahoo: 'https://www.binance.com/en/price/xrp',
1778
+ tv: 'https://coinmarketcap.com/currencies/xrp/' },
1779
+ px: 0.5824, dayChg: -0.0024, dayPct: -0.42, dir: 'down',
1780
+ open: 0.5848, high: 0.5896, low: 0.5780, vol: '$1.2B', pe: '56.6B', range52: '$0.74 (Jul)',
1781
+ arch: 'choppy'
1782
+ },
1783
+ ADA: {
1784
+ name: 'Cardano', sector: 'L1 · Mkt cap $15.4B',
1785
+ icon: 'A', bg: 'linear-gradient(135deg,#0033ad,#001a5e)', fg: '#ffffff',
1786
+ exch: 'Coinbase',
1787
+ links: { exch: 'https://www.coinbase.com/price/cardano',
1788
+ yahoo: 'https://www.binance.com/en/price/cardano',
1789
+ tv: 'https://coinmarketcap.com/currencies/cardano/' },
1790
+ px: 0.4318, dayChg: 0.0051, dayPct: 1.20, dir: 'up',
1791
+ open: 0.4267, high: 0.4332, low: 0.4240, vol: '$284M', pe: '35.7B', range52: '$0.81 (Mar)',
1792
+ arch: 'bull-mild'
1793
+ },
1794
+ DOGE: {
1795
+ name: 'Dogecoin', sector: 'Memecoin · Mkt cap $27B',
1796
+ icon: 'Ð', bg: 'linear-gradient(135deg,#c2a633,#8a7321)', fg: '#1a1100',
1797
+ exch: 'Coinbase',
1798
+ links: { exch: 'https://www.coinbase.com/price/dogecoin',
1799
+ yahoo: 'https://www.binance.com/en/price/dogecoin',
1800
+ tv: 'https://coinmarketcap.com/currencies/dogecoin/' },
1801
+ px: 0.1842, dayChg: 0.0118, dayPct: 6.84, dir: 'up',
1802
+ open: 0.1724, high: 0.1872, low: 0.1716, vol: '$1.4B', pe: '146.6B', range52: '$0.225 (Mar)',
1803
+ arch: 'bull-strong'
1804
+ },
1805
+ AVAX: {
1806
+ name: 'Avalanche', sector: 'L1 · Mkt cap $14.4B',
1807
+ icon: 'A', bg: 'linear-gradient(135deg,#e84142,#7a0d0e)', fg: '#ffffff',
1808
+ exch: 'Coinbase',
1809
+ links: { exch: 'https://www.coinbase.com/price/avalanche',
1810
+ yahoo: 'https://www.binance.com/en/price/avalanche',
1811
+ tv: 'https://coinmarketcap.com/currencies/avalanche/' },
1812
+ px: 36.84, dayChg: 1.02, dayPct: 2.86, dir: 'up',
1813
+ open: 35.82, high: 37.20, low: 35.40, vol: '$640M', pe: '391.2M', range52: '$58.20 (Mar)',
1814
+ arch: 'bull-mild'
1815
+ },
1816
+ LINK: {
1817
+ name: 'Chainlink', sector: 'Oracle · Mkt cap $9.0B',
1818
+ icon: 'L', bg: 'linear-gradient(135deg,#2a5ada,#1d3ea0)', fg: '#ffffff',
1819
+ exch: 'Coinbase',
1820
+ links: { exch: 'https://www.coinbase.com/price/chainlink',
1821
+ yahoo: 'https://www.binance.com/en/price/chainlink',
1822
+ tv: 'https://coinmarketcap.com/currencies/chainlink/' },
1823
+ px: 14.92, dayChg: 0.21, dayPct: 1.40, dir: 'up',
1824
+ open: 14.71, high: 14.96, low: 14.62, vol: '$248M', pe: '604.7M', range52: '$22.30 (Mar)',
1825
+ arch: 'bull-mild'
1826
+ },
1827
+ DOT: {
1828
+ name: 'Polkadot', sector: 'L0 · Mkt cap $9.6B',
1829
+ icon: '●', bg: 'linear-gradient(135deg,#e6007a,#860146)', fg: '#ffffff',
1830
+ exch: 'Coinbase',
1831
+ links: { exch: 'https://www.coinbase.com/price/polkadot',
1832
+ yahoo: 'https://www.binance.com/en/price/polkadot',
1833
+ tv: 'https://coinmarketcap.com/currencies/polkadot/' },
1834
+ px: 7.18, dayChg: -0.045, dayPct: -0.62, dir: 'down',
1835
+ open: 7.225, high: 7.26, low: 7.14, vol: '$192M', pe: '1.34B', range52: '$11.84 (Mar)',
1836
+ arch: 'bear'
1837
+ },
1838
+ SUI: {
1839
+ name: 'Sui Network', sector: 'L1 · Mkt cap $5.8B',
1840
+ icon: 'S', bg: 'linear-gradient(135deg,#4ca3df,#1a4f8a)', fg: '#ffffff',
1841
+ exch: 'Coinbase',
1842
+ links: { exch: 'https://www.coinbase.com/price/sui',
1843
+ yahoo: 'https://www.binance.com/en/price/sui',
1844
+ tv: 'https://coinmarketcap.com/currencies/sui/' },
1845
+ px: 2.18, dayChg: 0.169, dayPct: 8.40, dir: 'up',
1846
+ open: 2.011, high: 2.21, low: 1.992, vol: '$812M', pe: '2.66B', range52: '$2.21 (today)',
1847
+ arch: 'bull-strong'
1848
+ },
1849
+ NEAR: {
1850
+ name: 'NEAR Protocol', sector: 'L1 · Mkt cap $5.9B',
1851
+ icon: 'N', bg: 'linear-gradient(135deg,#000,#5f6368)', fg: '#ffffff',
1852
+ exch: 'Coinbase',
1853
+ links: { exch: 'https://www.coinbase.com/price/near-protocol',
1854
+ yahoo: 'https://www.binance.com/en/price/near-protocol',
1855
+ tv: 'https://coinmarketcap.com/currencies/near-protocol/' },
1856
+ px: 5.42, dayChg: 0.168, dayPct: 3.20, dir: 'up',
1857
+ open: 5.252, high: 5.46, low: 5.21, vol: '$312M', pe: '1.09B', range52: '$8.46 (Mar)',
1858
+ arch: 'bull-strong'
1859
+ },
1860
+ TIA: {
1861
+ name: 'Celestia', sector: 'Modular DA · Mkt cap $1.6B',
1862
+ icon: 'T', bg: 'linear-gradient(135deg,#7b2bf9,#3d0e8c)', fg: '#ffffff',
1863
+ exch: 'Binance',
1864
+ links: { exch: 'https://www.binance.com/en/price/celestia',
1865
+ yahoo: 'https://www.coinbase.com/price/celestia',
1866
+ tv: 'https://coinmarketcap.com/currencies/celestia/' },
1867
+ px: 7.84, dayChg: -0.094, dayPct: -1.18, dir: 'down',
1868
+ open: 7.934, high: 7.96, low: 7.74, vol: '$84M', pe: '204M', range52: '$20.80 (Feb)',
1869
+ arch: 'bear'
1870
+ },
1871
+ ARB: {
1872
+ name: 'Arbitrum', sector: 'L2 · Mkt cap $2.7B',
1873
+ icon: 'A', bg: 'linear-gradient(135deg,#28a0f0,#1565a8)', fg: '#ffffff',
1874
+ exch: 'Coinbase',
1875
+ links: { exch: 'https://www.coinbase.com/price/arbitrum',
1876
+ yahoo: 'https://www.binance.com/en/price/arbitrum',
1877
+ tv: 'https://coinmarketcap.com/currencies/arbitrum/' },
1878
+ px: 0.6420, dayChg: 0.006, dayPct: 0.95, dir: 'up',
1879
+ open: 0.636, high: 0.648, low: 0.632, vol: '$186M', pe: '4.21B', range52: '$2.39 (Jan)',
1880
+ arch: 'bull-mild'
1881
+ }
1882
+ };
1883
+
1884
+ // ─────── Candle templates ───────
1885
+ // Each template is a series of SVG strings rendering 21 candles + SMA line.
1886
+ // Coordinates fit the existing chart viewBox 880×320, padding-left 40.
1887
+ // Generate procedurally based on archetype for variety without bloating HTML.
1888
+ function generateCandles(arch) {
1889
+ // closes[] is 21 normalised closes (0=top of band, 1=bottom)
1890
+ let closes;
1891
+ switch (arch) {
1892
+ case 'bull-strong':
1893
+ closes = [0.78, 0.72, 0.74, 0.66, 0.62, 0.66, 0.58, 0.54, 0.58, 0.46, 0.40, 0.44, 0.36, 0.30, 0.34, 0.26, 0.22, 0.26, 0.18, 0.14, 0.10];
1894
+ break;
1895
+ case 'bull-mild':
1896
+ closes = [0.66, 0.64, 0.68, 0.60, 0.58, 0.62, 0.54, 0.52, 0.54, 0.48, 0.46, 0.50, 0.42, 0.40, 0.44, 0.36, 0.34, 0.38, 0.30, 0.28, 0.24];
1897
+ break;
1898
+ case 'choppy':
1899
+ closes = [0.42, 0.50, 0.40, 0.46, 0.54, 0.48, 0.58, 0.50, 0.56, 0.46, 0.52, 0.42, 0.50, 0.58, 0.50, 0.56, 0.48, 0.54, 0.44, 0.50, 0.46];
1900
+ break;
1901
+ case 'bear':
1902
+ closes = [0.22, 0.26, 0.30, 0.28, 0.34, 0.38, 0.36, 0.42, 0.46, 0.44, 0.50, 0.54, 0.52, 0.58, 0.62, 0.60, 0.66, 0.70, 0.68, 0.74, 0.78];
1903
+ break;
1904
+ default:
1905
+ closes = Array.from({length:21}, (_,i)=>0.5);
1906
+ }
1907
+ // map normalised position to y in [38, 248] (top=high price area)
1908
+ const yMap = (n) => 38 + n * 210;
1909
+ let parts = [];
1910
+ let prev = 0.5; // open of first bar
1911
+ let smaPts = [];
1912
+ for (let i = 0; i < closes.length; i++) {
1913
+ const x = 44 + i * 40;
1914
+ const close = closes[i];
1915
+ const open = prev;
1916
+ const yOpen = yMap(open);
1917
+ const yClose = yMap(close);
1918
+ const isUp = close < open; // close higher (lower y) = up
1919
+ const color = isUp ? '#22e58c' : '#ff4f6d';
1920
+ // wick: tiny extension above and below body
1921
+ const wickHi = Math.min(yOpen, yClose) - 6 - Math.random()*4;
1922
+ const wickLo = Math.max(yOpen, yClose) + 6 + Math.random()*4;
1923
+ const top = Math.min(yOpen, yClose);
1924
+ const bot = Math.max(yOpen, yClose);
1925
+ parts.push(`<line x1="${x}" y1="${wickHi}" x2="${x}" y2="${wickLo}" stroke="${color}" stroke-width="1.2"/>`);
1926
+ parts.push(`<rect x="${x-6}" y="${top}" width="12" height="${Math.max(2, bot-top)}" fill="${color}"/>`);
1927
+ smaPts.push(`${x},${yMap(close)+8}`);
1928
+ prev = close;
1929
+ }
1930
+ const smaLine = `<polyline fill="none" stroke="#facc15" stroke-opacity="0.55" stroke-width="1.4" stroke-dasharray="3 3" points="${smaPts.join(' ')}"/>`;
1931
+ // last close y for current px marker
1932
+ const lastY = yMap(closes[closes.length - 1]);
1933
+ return { candles: parts.join(''), sma: smaLine, lastY };
1934
+ }
1935
+
1936
+ function renderCandleSvg(arch, displayPx) {
1937
+ const { candles, sma, lastY } = generateCandles(arch);
1938
+ const inner = `
1939
+ <defs>
1940
+ <pattern id="grid2" x="0" y="0" width="80" height="40" patternUnits="userSpaceOnUse">
1941
+ <path d="M 80 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.035)" stroke-width="1"/>
1942
+ </pattern>
1943
+ </defs>
1944
+ <rect width="880" height="320" fill="url(#grid2)"/>
1945
+ <g font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">
1946
+ <text x="6" y="36">High</text>
1947
+ <text x="6" y="96">·</text>
1948
+ <text x="6" y="156">Mid</text>
1949
+ <text x="6" y="216">·</text>
1950
+ <text x="6" y="276">Low</text>
1951
+ </g>
1952
+ ${sma}
1953
+ ${candles}
1954
+ <g font-family="Geist Mono,monospace" font-size="10">
1955
+ <circle cx="284" cy="200" r="5" fill="#facc15"/>
1956
+ <text x="296" y="204" fill="#facc15">BUY · journal entry</text>
1957
+ </g>
1958
+ <g id="pxMarker">
1959
+ <line x1="40" y1="${lastY}" x2="844" y2="${lastY}" stroke="rgba(34,229,140,0.25)" stroke-dasharray="2 3"/>
1960
+ <rect x="836" y="${lastY-9}" width="40" height="18" fill="#22e58c" rx="3"/>
1961
+ <text id="pxMarkerText" x="856" y="${lastY+4}" font-family="Geist Mono,monospace" font-size="10" fill="#00200f" text-anchor="middle" font-weight="700">${displayPx}</text>
1962
+ </g>
1963
+ `;
1964
+ return inner;
1965
+ }
1966
+
1967
+ function renderVolumeSvg(arch) {
1968
+ // Rough volume pattern: amplify with archetype.
1969
+ let heights;
1970
+ if (arch === 'bull-strong') heights = [20, 26, 22, 30, 24, 20, 34, 28, 26, 48, 24, 26, 40, 26, 24, 50, 28, 22, 44, 36, 56];
1971
+ else if (arch === 'bull-mild') heights = [18, 22, 26, 24, 20, 28, 22, 24, 18, 32, 28, 24, 22, 30, 26, 20, 28, 24, 30, 26, 32];
1972
+ else if (arch === 'choppy') heights = [22, 36, 18, 42, 28, 32, 24, 38, 22, 30, 36, 22, 30, 26, 38, 22, 32, 28, 36, 22, 30];
1973
+ else if (arch === 'bear') heights = [40, 32, 36, 28, 30, 26, 24, 30, 28, 26, 32, 24, 30, 26, 22, 28, 22, 24, 22, 26, 28];
1974
+ else heights = Array.from({length: 21}, () => 24);
1975
+ const bars = heights.map((h, i) => {
1976
+ const x = 38 + i * 40;
1977
+ const y = 70 - h;
1978
+ const upish = (i % 3) !== 1; // arbitrary
1979
+ const c = upish ? '#22e58c' : '#ff4f6d';
1980
+ const op = upish ? 0.55 : 0.55;
1981
+ return `<rect x="${x}" y="${y}" width="12" height="${h}" fill="${c}" opacity="${op}"/>`;
1982
+ }).join('');
1983
+ return `<g>${bars}</g>
1984
+ <text x="6" y="14" font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">VOL</text>
1985
+ <text x="6" y="64" font-family="Geist Mono,monospace" font-size="10" fill="#6b7689">avg</text>`;
1986
+ }
1987
+
1988
+ // ─────── Toast ───────
1989
+ const toastBox = document.getElementById('toastBox');
1990
+ function toast(opts) {
1991
+ const { kind = 'info', title = 'Notice', body = '' } = (typeof opts === 'string') ? { body: opts } : opts;
1992
+ const node = document.createElement('div');
1993
+ node.className = `toast ${kind}`;
1994
+ node.innerHTML = `
1995
+ <div class="t-head">
1996
+ <span class="t-title">${title}</span>
1997
+ <button class="t-close" aria-label="Dismiss">×</button>
1998
+ </div>
1999
+ <div class="t-body">${body}</div>
2000
+ `;
2001
+ toastBox.appendChild(node);
2002
+ const close = () => {
2003
+ node.classList.add('fade');
2004
+ setTimeout(() => node.remove(), 280);
2005
+ };
2006
+ node.querySelector('.t-close').addEventListener('click', close);
2007
+ setTimeout(close, 4200);
2008
+ }
2009
+
2010
+ // ─────── Live clock + block ───────
2011
+ const clockEl = document.getElementById('liveClock');
2012
+ const lastSyncEl = document.getElementById('lastSync');
2013
+ const blockHEl = document.getElementById('blockH');
2014
+ let blockH = 287418612;
2015
+ // Block ticks roughly every 12 seconds (Ethereum-ish cadence).
2016
+ setInterval(() => {
2017
+ blockH += 1;
2018
+ if (blockHEl) blockHEl.textContent = blockH.toLocaleString('en-US');
2019
+ }, 12000);
2020
+ // Anchor to a fake market-day start so it ticks like a real session.
2021
+ let clockSeconds = 14 * 3600 + 32 * 60 + 18;
2022
+ function fmtClock(s) {
2023
+ const h = Math.floor(s / 3600);
2024
+ const m = Math.floor((s % 3600) / 60);
2025
+ const sec = s % 60;
2026
+ return `${String(h).padStart(2,'0')}:${String(m).padStart(2,'0')}:${String(sec).padStart(2,'0')} UTC`;
2027
+ }
2028
+ setInterval(() => {
2029
+ clockSeconds++;
2030
+ if (clockEl) clockEl.textContent = fmtClock(clockSeconds);
2031
+ }, 1000);
2032
+
2033
+ // ─────── Chart switcher ───────
2034
+ let activeSym = 'BTC';
2035
+ const tkIcon = document.getElementById('tkIcon');
2036
+ const tkSym = document.getElementById('tkSym');
2037
+ const tkName = document.getElementById('tkName');
2038
+ const tkPx = document.getElementById('tkPx');
2039
+ const tkDelta = document.getElementById('tkDelta');
2040
+ const tkLinkExch = document.getElementById('tkLinkExch');
2041
+ const tkLinkYahoo = document.getElementById('tkLinkYahoo');
2042
+ const tkLinkTV = document.getElementById('tkLinkTV');
2043
+ const tkStats = document.getElementById('tkStats');
2044
+ const candleSvg = document.getElementById('candleSvg');
2045
+ const volSvg = document.getElementById('volSvg');
2046
+ const chartCard = document.getElementById('chartCard');
2047
+
2048
+ // Smart precision: high-priced coins (BTC, ETH) round to whole dollars;
2049
+ // mid-priced (e.g. SOL) keep 2 decimals; sub-dollar (XRP, ADA, DOGE) use 4.
2050
+ function fmtPx(p) {
2051
+ if (p == null) return '$0.00';
2052
+ const a = Math.abs(p);
2053
+ if (a >= 1000) return '$' + p.toLocaleString('en-US', { maximumFractionDigits: 0 });
2054
+ if (a >= 1) return '$' + p.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
2055
+ return '$' + p.toLocaleString('en-US', { minimumFractionDigits: 4, maximumFractionDigits: 4 });
2056
+ }
2057
+ function fmtDelta(d) {
2058
+ const sign = d >= 0 ? '+' : '−';
2059
+ const v = Math.abs(d);
2060
+ let s;
2061
+ if (v >= 1000) s = v.toLocaleString('en-US', { maximumFractionDigits: 0 });
2062
+ else if (v >= 1) s = v.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
2063
+ else s = v.toLocaleString('en-US', { minimumFractionDigits: 4, maximumFractionDigits: 4 });
2064
+ return `${sign}$${s}`;
2065
+ }
2066
+ function fmtPct(p) {
2067
+ const sign = p >= 0 ? '+' : '−';
2068
+ return `${sign}${Math.abs(p).toFixed(2)}%`;
2069
+ }
2070
+
2071
+ function applyTicker(sym) {
2072
+ const t = TICKERS[sym];
2073
+ if (!t) return;
2074
+ activeSym = sym;
2075
+ tkIcon.textContent = t.icon;
2076
+ tkIcon.style.background = t.bg;
2077
+ tkIcon.style.color = t.fg;
2078
+ tkSym.textContent = sym;
2079
+ tkName.textContent = `${t.name} · ${t.sector}`;
2080
+ const upish = t.dir === 'up';
2081
+ tkPx.style.color = upish ? 'var(--up)' : 'var(--down)';
2082
+ tkPx.textContent = fmtPx(t.px);
2083
+ tkDelta.style.color = upish ? 'var(--up)' : 'var(--down)';
2084
+ tkDelta.innerHTML = `${upish ? '▲' : '▼'} ${fmtDelta(t.dayChg)} &nbsp; ${fmtPct(t.dayPct)} today`;
2085
+ tkLinkExch.href = t.links.exch;
2086
+ tkLinkExch.firstChild.textContent = `${t.exch} `;
2087
+ tkLinkYahoo.href = t.links.yahoo;
2088
+ tkLinkTV.href = t.links.tv;
2089
+ // Stats
2090
+ const setStat = (k, v) => {
2091
+ const el = tkStats.querySelector(`[data-stat="${k}"]`);
2092
+ if (el) el.textContent = v;
2093
+ };
2094
+ const fmtBare = (n) => {
2095
+ const a = Math.abs(n);
2096
+ if (a >= 1000) return n.toLocaleString('en-US', { maximumFractionDigits: 0 });
2097
+ if (a >= 1) return n.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
2098
+ return n.toLocaleString('en-US', { minimumFractionDigits: 4, maximumFractionDigits: 4 });
2099
+ };
2100
+ setStat('open', fmtBare(t.open));
2101
+ setStat('high', fmtBare(t.high));
2102
+ setStat('low', fmtBare(t.low));
2103
+ setStat('vol', t.vol);
2104
+ setStat('pe', t.pe);
2105
+ setStat('range52', t.range52);
2106
+ // Repaint candles and volume
2107
+ candleSvg.innerHTML = renderCandleSvg(t.arch, t.px.toFixed(2));
2108
+ volSvg.innerHTML = renderVolumeSvg(t.arch);
2109
+ // Highlight pulse
2110
+ chartCard.classList.remove('swap-highlight');
2111
+ void chartCard.offsetWidth;
2112
+ chartCard.classList.add('swap-highlight');
2113
+ // Sync holdings table active row + watchlist
2114
+ document.querySelectorAll('table.holdings tbody tr').forEach(tr => {
2115
+ const s = tr.querySelector('.sym-name');
2116
+ const m = s ? s.firstChild.textContent.trim() : '';
2117
+ tr.classList.toggle('active', m.split(' ')[0] === sym);
2118
+ });
2119
+ document.querySelectorAll('.watch-card').forEach(card => {
2120
+ const s = card.querySelector('.watch-sym');
2121
+ card.classList.toggle('active', s && s.textContent.trim() === sym);
2122
+ });
2123
+ }
2124
+
2125
+ // First-paint candle render so the svg is JS-controlled (allows variation later)
2126
+ applyTicker('BTC');
2127
+
2128
+ // ─────── Wire holdings rows ───────
2129
+ document.querySelectorAll('table.holdings tbody tr').forEach(tr => {
2130
+ const link = tr.querySelector('.sym-name a');
2131
+ if (link) link.addEventListener('click', e => e.stopPropagation());
2132
+ const symEl = tr.querySelector('.sym-name');
2133
+ if (!symEl) return;
2134
+ const sym = symEl.firstChild.textContent.trim().split(/\s+/)[0];
2135
+ if (!TICKERS[sym]) return;
2136
+ tr.addEventListener('click', () => {
2137
+ applyTicker(sym);
2138
+ toast({ kind: 'info', title: 'Switched chart', body: `Now viewing <strong>${sym}</strong> — ${TICKERS[sym].name}` });
2139
+ });
2140
+ });
2141
+
2142
+ // ─────── Wire watchlist cards ───────
2143
+ document.querySelectorAll('.watch-card').forEach(card => {
2144
+ const link = card.querySelector('.watch-foot a');
2145
+ if (link) link.addEventListener('click', e => e.stopPropagation());
2146
+ const symEl = card.querySelector('.watch-sym');
2147
+ if (!symEl) return;
2148
+ const sym = symEl.textContent.trim();
2149
+ if (!TICKERS[sym]) return;
2150
+ card.addEventListener('click', () => {
2151
+ applyTicker(sym);
2152
+ toast({ kind: 'info', title: 'Switched chart', body: `Now viewing <strong>${sym}</strong> from watchlist` });
2153
+ });
2154
+ });
2155
+
2156
+ // ─────── Wire ticker tape ───────
2157
+ document.querySelectorAll('.tape-item').forEach(item => {
2158
+ const symEl = item.querySelector('.sym');
2159
+ if (!symEl) return;
2160
+ const sym = symEl.textContent.trim();
2161
+ if (!TICKERS[sym]) return;
2162
+ item.addEventListener('click', () => {
2163
+ applyTicker(sym);
2164
+ toast({ kind: 'info', title: 'Switched chart', body: `Pinned <strong>${sym}</strong> from market tape` });
2165
+ });
2166
+ });
2167
+
2168
+ // ─────── AI tabs ───────
2169
+ document.querySelectorAll('.ai-tab').forEach(tab => {
2170
+ tab.addEventListener('click', () => {
2171
+ const target = tab.dataset.tab;
2172
+ document.querySelectorAll('.ai-tab').forEach(t => t.classList.toggle('active', t === tab));
2173
+ document.querySelectorAll('.ai-panel').forEach(p => p.classList.toggle('active', p.dataset.panel === target));
2174
+ });
2175
+ });
2176
+
2177
+ // ─────── Range tabs (visual) ───────
2178
+ document.querySelectorAll('.range-tabs').forEach(group => {
2179
+ group.addEventListener('click', e => {
2180
+ const btn = e.target.closest('button');
2181
+ if (!btn) return;
2182
+ group.querySelectorAll('button').forEach(b => b.classList.toggle('active', b === btn));
2183
+ });
2184
+ });
2185
+
2186
+ // ─────── Action buttons ───────
2187
+ document.querySelectorAll('[data-action]').forEach(btn => {
2188
+ btn.addEventListener('click', () => {
2189
+ const a = btn.dataset.action;
2190
+ if (a === 'add') {
2191
+ toast({ kind: 'info', title: 'Swap ticket', body: '<strong>SWAP 8,389 USDC → 45 SOL</strong> on Jupiter — slippage 0.3%, ready to sign.' });
2192
+ } else if (a === 'alert') {
2193
+ toast({ kind: 'warn', title: 'Alert set', body: 'On-chain alert created — <strong>SOL above $200</strong> or DEX vol &gt; $1B/day. We\'ll ping you in real time.' });
2194
+ } else if (a === 'thesis') {
2195
+ toast({ kind: 'violet', title: 'On-chain thesis', body: 'Opening full thesis with Glassnode, Artemis, and Dune dashboards.' });
2196
+ }
2197
+ });
2198
+ });
2199
+
2200
+ // ─────── Refresh ───────
2201
+ const refreshBtn = document.getElementById('refreshBtn');
2202
+ function jitter(p, magPct = 0.6) {
2203
+ // ±magPct% jitter, with up-bias on bull tickers
2204
+ const jp = (Math.random() * 2 - 1) * (magPct / 100);
2205
+ return Math.max(0.01, p * (1 + jp));
2206
+ }
2207
+ function refreshQuotes() {
2208
+ refreshBtn.classList.add('spin');
2209
+ setTimeout(() => refreshBtn.classList.remove('spin'), 900);
2210
+ // Update each ticker's price with small jitter + flash main price if ticker is active
2211
+ Object.entries(TICKERS).forEach(([sym, t]) => {
2212
+ const newPx = +(jitter(t.px, 0.45)).toFixed(2);
2213
+ const dPct = ((newPx - (t.px - t.dayChg)) / (t.px - t.dayChg)) * 100;
2214
+ const dChg = newPx - (t.px - t.dayChg);
2215
+ t.px = newPx;
2216
+ t.dayChg = +dChg.toFixed(2);
2217
+ t.dayPct = +dPct.toFixed(2);
2218
+ t.dir = t.dayChg >= 0 ? 'up' : 'down';
2219
+ });
2220
+ // Update tape
2221
+ document.querySelectorAll('.tape-item').forEach(item => {
2222
+ const symEl = item.querySelector('.sym');
2223
+ const pxEl = item.querySelector('.px');
2224
+ const pctEl = item.querySelector('.pct');
2225
+ if (!symEl || !pxEl || !pctEl) return;
2226
+ const sym = symEl.textContent.trim();
2227
+ const t = TICKERS[sym];
2228
+ if (!t) return;
2229
+ pxEl.textContent = t.px.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
2230
+ pctEl.className = 'pct ' + (t.dir === 'up' ? 'up' : 'down');
2231
+ pctEl.textContent = `${t.dir === 'up' ? '▲' : '▼'} ${Math.abs(t.dayPct).toFixed(2)}%`;
2232
+ });
2233
+ // Re-apply active ticker (refresh main chart price + delta) with flash
2234
+ const oldFlashClass = tkPx.classList.contains('flash-up') ? 'flash-up' : (tkPx.classList.contains('flash-down') ? 'flash-down' : null);
2235
+ if (oldFlashClass) tkPx.classList.remove(oldFlashClass);
2236
+ applyTicker(activeSym);
2237
+ void tkPx.offsetWidth;
2238
+ tkPx.classList.add(TICKERS[activeSym].dir === 'up' ? 'flash-up' : 'flash-down');
2239
+ // Update watchlist sparkline cards' price + pct
2240
+ document.querySelectorAll('.watch-card').forEach(card => {
2241
+ const symEl = card.querySelector('.watch-sym');
2242
+ if (!symEl) return;
2243
+ const sym = symEl.textContent.trim();
2244
+ const t = TICKERS[sym];
2245
+ if (!t) return;
2246
+ const pxEl = card.querySelector('.watch-px');
2247
+ const pctEl = card.querySelector('.watch-pct');
2248
+ if (pxEl) pxEl.textContent = fmtPx(t.px);
2249
+ if (pctEl) {
2250
+ pctEl.className = 'watch-pct ' + (t.dir === 'up' ? 'up' : 'down');
2251
+ pctEl.textContent = `${t.dir === 'up' ? '▲' : '▼'} ${Math.abs(t.dayPct).toFixed(2)}%`;
2252
+ const old = pctEl.classList.contains('flash-up') ? 'flash-up' : (pctEl.classList.contains('flash-down') ? 'flash-down' : null);
2253
+ if (old) pctEl.classList.remove(old);
2254
+ void pctEl.offsetWidth;
2255
+ pctEl.classList.add(t.dir === 'up' ? 'flash-up' : 'flash-down');
2256
+ }
2257
+ });
2258
+ // Update sync timestamps
2259
+ if (lastSyncEl) lastSyncEl.textContent = fmtClock(clockSeconds);
2260
+ toast({ kind: 'info', title: 'Quotes refreshed', body: `${Object.keys(TICKERS).length} assets updated · Coinbase + CoinGecko · ${fmtClock(clockSeconds)}` });
2261
+ }
2262
+ refreshBtn.addEventListener('click', refreshQuotes);
2263
+
2264
+ // ─────── AI regenerate ───────
2265
+ const regenBtn = document.getElementById('regenBtn');
2266
+ const regenLabel = document.getElementById('regenLabel');
2267
+ const aiHeadline = document.getElementById('aiHeadline');
2268
+ const aiSub = document.getElementById('aiSub');
2269
+ const convVal = document.getElementById('convVal');
2270
+ const convFill = document.getElementById('convFill');
2271
+
2272
+ const AI_VARIANTS = [
2273
+ {
2274
+ headline: '<span class="accent">Rotate stables → SOL</span> on DePIN + Firedancer accelerator.',
2275
+ sub: 'On-chain activity is breaking out while ETF spot demand is steady. Risk-reward favors adding SOL while keeping BTC core untouched.',
2276
+ conv: 82
2277
+ },
2278
+ {
2279
+ headline: '<span class="accent">Hold SOL</span> · target $220 first scale-out.',
2280
+ sub: 'Backlog of catalysts intact, but the move has tightened R/R. Trim 25% on a $220 print; preserve cycle exposure.',
2281
+ conv: 71
2282
+ },
2283
+ {
2284
+ headline: '<span class="accent">Add to ETH</span> ahead of staking ETF effective date.',
2285
+ sub: 'SEC certificate already issued. Issuer confirmation expected in 7 days. Spot setup mirrors BTC ETF Jan \'24 base.',
2286
+ conv: 78
2287
+ },
2288
+ {
2289
+ headline: '<span class="accent">Reduce DOGE risk</span> — funding overheated.',
2290
+ sub: '8h funding hit +0.082% — historically a reliable late-stage signal on memecoin runs. Trim 30%, redeploy to majors.',
2291
+ conv: 66
2292
+ }
2293
+ ];
2294
+ let aiIdx = 0;
2295
+ regenBtn.addEventListener('click', () => {
2296
+ if (regenBtn.classList.contains('thinking')) return;
2297
+ regenBtn.classList.add('thinking');
2298
+ regenLabel.innerHTML = `Analyzing <span class="thinking-dots"><span class="d"></span><span class="d"></span><span class="d"></span></span>`;
2299
+ setTimeout(() => {
2300
+ aiIdx = (aiIdx + 1) % AI_VARIANTS.length;
2301
+ const v = AI_VARIANTS[aiIdx];
2302
+ aiHeadline.innerHTML = v.headline;
2303
+ aiSub.textContent = v.sub;
2304
+ convVal.textContent = `${v.conv}%`;
2305
+ convFill.style.width = `${v.conv}%`;
2306
+ regenBtn.classList.remove('thinking');
2307
+ regenLabel.textContent = 'Regenerate';
2308
+ toast({ kind: 'violet', title: 'AI updated', body: 'New analysis run · Glassnode + Artemis + Dune · 412 tokens · 1.4s' });
2309
+ }, 1400);
2310
+ });
2311
+
2312
+ })();
2313
+ </script>
2314
+
2315
+ </body>
2316
+ </html>