@hexclave/next 1.0.3 → 1.0.5

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 (837) hide show
  1. package/dist/components/api-key-dialogs.d.ts +1 -1
  2. package/dist/components/api-key-dialogs.js.map +1 -1
  3. package/dist/components/api-key-table.d.ts +1 -1
  4. package/dist/components/api-key-table.js.map +1 -1
  5. package/dist/components/credential-sign-in.js.map +1 -1
  6. package/dist/components/credential-sign-up.js.map +1 -1
  7. package/dist/components/elements/form-warning.js.map +1 -1
  8. package/dist/components/elements/maybe-full-page.js.map +1 -1
  9. package/dist/components/elements/separator-with-text.js.map +1 -1
  10. package/dist/components/elements/sidebar-layout.js.map +1 -1
  11. package/dist/components/elements/ssr-layout-effect.js.map +1 -1
  12. package/dist/components/elements/user-avatar.js.map +1 -1
  13. package/dist/components/link.js.map +1 -1
  14. package/dist/components/magic-link-sign-in.js +2 -2
  15. package/dist/components/magic-link-sign-in.js.map +1 -1
  16. package/dist/components/message-cards/known-error-message-card.js +2 -2
  17. package/dist/components/message-cards/known-error-message-card.js.map +1 -1
  18. package/dist/components/message-cards/message-card.js.map +1 -1
  19. package/dist/components/message-cards/predefined-message-card.js +9 -9
  20. package/dist/components/message-cards/predefined-message-card.js.map +1 -1
  21. package/dist/components/oauth-button-group.js +2 -2
  22. package/dist/components/oauth-button-group.js.map +1 -1
  23. package/dist/components/oauth-button.js +2 -2
  24. package/dist/components/oauth-button.js.map +1 -1
  25. package/dist/components/passkey-button.js +2 -2
  26. package/dist/components/passkey-button.js.map +1 -1
  27. package/dist/components/profile-image-editor.js.map +1 -1
  28. package/dist/components/selected-team-switcher.d.ts +1 -1
  29. package/dist/components/selected-team-switcher.js.map +1 -1
  30. package/dist/components/team-icon.d.ts +1 -1
  31. package/dist/components/team-icon.js.map +1 -1
  32. package/dist/components/team-switcher.d.ts +1 -1
  33. package/dist/components/team-switcher.js.map +1 -1
  34. package/dist/components/use-in-iframe.js.map +1 -1
  35. package/dist/components/user-button.js.map +1 -1
  36. package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  37. package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  38. package/dist/components-page/account-settings/editable-text.js.map +1 -1
  39. package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  40. package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  41. package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  42. package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  43. package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  44. package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  45. package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  46. package/dist/components-page/account-settings/page-layout.js.map +1 -1
  47. package/dist/components-page/account-settings/payments/payments-page.d.ts +1 -1
  48. package/dist/components-page/account-settings/payments/payments-page.js.map +1 -1
  49. package/dist/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  50. package/dist/components-page/account-settings/payments/payments-panel.js +3 -3
  51. package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
  52. package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  53. package/dist/components-page/account-settings/section.js.map +1 -1
  54. package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  55. package/dist/components-page/account-settings/settings/settings-page.js.map +1 -1
  56. package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  57. package/dist/components-page/account-settings/teams/leave-team-section.d.ts +1 -1
  58. package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  59. package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  60. package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  61. package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  62. package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +1 -1
  63. package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  64. package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +1 -1
  65. package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  66. package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +1 -1
  67. package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  68. package/dist/components-page/account-settings/teams/team-page.d.ts +1 -1
  69. package/dist/components-page/account-settings/teams/team-page.js.map +1 -1
  70. package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +1 -1
  71. package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  72. package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +1 -1
  73. package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  74. package/dist/components-page/account-settings.js.map +1 -1
  75. package/dist/components-page/auth-page.d.ts.map +1 -1
  76. package/dist/components-page/auth-page.js +55 -10
  77. package/dist/components-page/auth-page.js.map +1 -1
  78. package/dist/components-page/cli-auth-confirm.js +3 -3
  79. package/dist/components-page/cli-auth-confirm.js.map +1 -1
  80. package/dist/components-page/cli-auth-confirm.test.js +4 -4
  81. package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
  82. package/dist/components-page/email-verification.js +4 -4
  83. package/dist/components-page/email-verification.js.map +1 -1
  84. package/dist/components-page/error-page.js +9 -9
  85. package/dist/components-page/error-page.js.map +1 -1
  86. package/dist/components-page/forgot-password.js +4 -4
  87. package/dist/components-page/forgot-password.js.map +1 -1
  88. package/dist/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +4 -4
  89. package/dist/components-page/hexclave-handler-client.d.ts.map +1 -0
  90. package/dist/components-page/{stack-handler-client.js → hexclave-handler-client.js} +19 -18
  91. package/dist/components-page/hexclave-handler-client.js.map +1 -0
  92. package/dist/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  93. package/dist/components-page/hexclave-handler.d.ts.map +1 -0
  94. package/dist/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  95. package/dist/components-page/hexclave-handler.js.map +1 -0
  96. package/dist/components-page/magic-link-callback.js +7 -7
  97. package/dist/components-page/magic-link-callback.js.map +1 -1
  98. package/dist/components-page/mfa.js +4 -4
  99. package/dist/components-page/mfa.js.map +1 -1
  100. package/dist/components-page/oauth-callback.js +3 -3
  101. package/dist/components-page/oauth-callback.js.map +1 -1
  102. package/dist/components-page/onboarding.js +3 -3
  103. package/dist/components-page/onboarding.js.map +1 -1
  104. package/dist/components-page/password-reset.js +8 -8
  105. package/dist/components-page/password-reset.js.map +1 -1
  106. package/dist/components-page/sign-in.js.map +1 -1
  107. package/dist/components-page/sign-out.d.ts +1 -0
  108. package/dist/components-page/sign-out.d.ts.map +1 -1
  109. package/dist/components-page/sign-out.js +11 -5
  110. package/dist/components-page/sign-out.js.map +1 -1
  111. package/dist/components-page/sign-up.js.map +1 -1
  112. package/dist/components-page/team-creation.js.map +1 -1
  113. package/dist/components-page/team-invitation.js +16 -16
  114. package/dist/components-page/team-invitation.js.map +1 -1
  115. package/dist/dev-tool/dev-tool-core.d.ts +1 -1
  116. package/dist/dev-tool/dev-tool-core.js +11 -11
  117. package/dist/dev-tool/dev-tool-core.js.map +1 -1
  118. package/dist/dev-tool/dev-tool-styles.d.ts +1 -1
  119. package/dist/dev-tool/dev-tool-styles.js +371 -371
  120. package/dist/dev-tool/dev-tool-styles.js.map +1 -1
  121. package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -1
  122. package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  123. package/dist/dev-tool/index.d.ts +4 -4
  124. package/dist/dev-tool/index.js +4 -4
  125. package/dist/dev-tool/index.js.map +1 -1
  126. package/dist/esm/components/api-key-dialogs.d.ts +1 -1
  127. package/dist/esm/components/api-key-dialogs.js.map +1 -1
  128. package/dist/esm/components/api-key-table.d.ts +1 -1
  129. package/dist/esm/components/api-key-table.js.map +1 -1
  130. package/dist/esm/components/credential-sign-in.js.map +1 -1
  131. package/dist/esm/components/credential-sign-up.js.map +1 -1
  132. package/dist/esm/components/elements/form-warning.js.map +1 -1
  133. package/dist/esm/components/elements/maybe-full-page.js.map +1 -1
  134. package/dist/esm/components/elements/separator-with-text.js.map +1 -1
  135. package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
  136. package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -1
  137. package/dist/esm/components/elements/user-avatar.js.map +1 -1
  138. package/dist/esm/components/link.js.map +1 -1
  139. package/dist/esm/components/magic-link-sign-in.js +2 -2
  140. package/dist/esm/components/magic-link-sign-in.js.map +1 -1
  141. package/dist/esm/components/message-cards/known-error-message-card.js +2 -2
  142. package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
  143. package/dist/esm/components/message-cards/message-card.js.map +1 -1
  144. package/dist/esm/components/message-cards/predefined-message-card.js +9 -9
  145. package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
  146. package/dist/esm/components/oauth-button-group.js +2 -2
  147. package/dist/esm/components/oauth-button-group.js.map +1 -1
  148. package/dist/esm/components/oauth-button.js +2 -2
  149. package/dist/esm/components/oauth-button.js.map +1 -1
  150. package/dist/esm/components/passkey-button.js +2 -2
  151. package/dist/esm/components/passkey-button.js.map +1 -1
  152. package/dist/esm/components/profile-image-editor.js.map +1 -1
  153. package/dist/esm/components/selected-team-switcher.js.map +1 -1
  154. package/dist/esm/components/team-icon.js.map +1 -1
  155. package/dist/esm/components/team-switcher.js.map +1 -1
  156. package/dist/esm/components/use-in-iframe.js.map +1 -1
  157. package/dist/esm/components/user-button.js.map +1 -1
  158. package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
  159. package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
  160. package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
  161. package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -1
  162. package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
  163. package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
  164. package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
  165. package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
  166. package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
  167. package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
  168. package/dist/esm/components-page/account-settings/page-layout.js.map +1 -1
  169. package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -1
  170. package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +1 -1
  171. package/dist/esm/components-page/account-settings/payments/payments-panel.js +3 -3
  172. package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
  173. package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -1
  174. package/dist/esm/components-page/account-settings/section.js.map +1 -1
  175. package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
  176. package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -1
  177. package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
  178. package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
  179. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +1 -1
  180. package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
  181. package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
  182. package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -1
  183. package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
  184. package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
  185. package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -1
  186. package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -1
  187. package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -1
  188. package/dist/esm/components-page/account-settings.js.map +1 -1
  189. package/dist/esm/components-page/auth-page.d.ts.map +1 -1
  190. package/dist/esm/components-page/auth-page.js +56 -11
  191. package/dist/esm/components-page/auth-page.js.map +1 -1
  192. package/dist/esm/components-page/cli-auth-confirm.js +3 -3
  193. package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
  194. package/dist/esm/components-page/cli-auth-confirm.test.js +4 -4
  195. package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
  196. package/dist/esm/components-page/email-verification.js +4 -4
  197. package/dist/esm/components-page/email-verification.js.map +1 -1
  198. package/dist/esm/components-page/error-page.js +9 -9
  199. package/dist/esm/components-page/error-page.js.map +1 -1
  200. package/dist/esm/components-page/forgot-password.js +4 -4
  201. package/dist/esm/components-page/forgot-password.js.map +1 -1
  202. package/dist/esm/components-page/{stack-handler-client.d.ts → hexclave-handler-client.d.ts} +4 -4
  203. package/dist/esm/components-page/hexclave-handler-client.d.ts.map +1 -0
  204. package/dist/esm/components-page/{stack-handler-client.js → hexclave-handler-client.js} +17 -16
  205. package/dist/esm/components-page/hexclave-handler-client.js.map +1 -0
  206. package/dist/esm/components-page/{stack-handler.d.ts → hexclave-handler.d.ts} +5 -5
  207. package/dist/esm/components-page/hexclave-handler.d.ts.map +1 -0
  208. package/dist/esm/components-page/{stack-handler.js → hexclave-handler.js} +4 -4
  209. package/dist/esm/components-page/hexclave-handler.js.map +1 -0
  210. package/dist/esm/components-page/magic-link-callback.js +7 -7
  211. package/dist/esm/components-page/magic-link-callback.js.map +1 -1
  212. package/dist/esm/components-page/mfa.js +4 -4
  213. package/dist/esm/components-page/mfa.js.map +1 -1
  214. package/dist/esm/components-page/oauth-callback.js +3 -3
  215. package/dist/esm/components-page/oauth-callback.js.map +1 -1
  216. package/dist/esm/components-page/onboarding.js +3 -3
  217. package/dist/esm/components-page/onboarding.js.map +1 -1
  218. package/dist/esm/components-page/password-reset.js +8 -8
  219. package/dist/esm/components-page/password-reset.js.map +1 -1
  220. package/dist/esm/components-page/sign-in.js.map +1 -1
  221. package/dist/esm/components-page/sign-out.d.ts +1 -0
  222. package/dist/esm/components-page/sign-out.d.ts.map +1 -1
  223. package/dist/esm/components-page/sign-out.js +11 -5
  224. package/dist/esm/components-page/sign-out.js.map +1 -1
  225. package/dist/esm/components-page/sign-up.js.map +1 -1
  226. package/dist/esm/components-page/team-creation.js.map +1 -1
  227. package/dist/esm/components-page/team-invitation.js +16 -16
  228. package/dist/esm/components-page/team-invitation.js.map +1 -1
  229. package/dist/esm/dev-tool/dev-tool-core.d.ts +1 -1
  230. package/dist/esm/dev-tool/dev-tool-core.js +10 -10
  231. package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
  232. package/dist/esm/dev-tool/dev-tool-styles.d.ts +1 -1
  233. package/dist/esm/dev-tool/dev-tool-styles.js +371 -371
  234. package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -1
  235. package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -1
  236. package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -1
  237. package/dist/esm/dev-tool/index.d.ts +4 -4
  238. package/dist/esm/dev-tool/index.js +4 -4
  239. package/dist/esm/dev-tool/index.js.map +1 -1
  240. package/dist/esm/generated/global-css.d.ts +1 -1
  241. package/dist/esm/generated/global-css.js +1 -1
  242. package/dist/esm/generated/global-css.js.map +1 -1
  243. package/dist/esm/generated/quetzal-translations.js.map +1 -1
  244. package/dist/esm/index.d.ts +4 -4
  245. package/dist/esm/index.js +3 -3
  246. package/dist/esm/integrations/convex/component/convex.config.js.map +1 -1
  247. package/dist/esm/integrations/convex.js +1 -1
  248. package/dist/esm/integrations/convex.js.map +1 -1
  249. package/dist/esm/lib/auth.js.map +1 -1
  250. package/dist/esm/lib/auth.test.js.map +1 -1
  251. package/dist/esm/lib/cookie.js +2 -2
  252. package/dist/esm/lib/cookie.js.map +1 -1
  253. package/dist/esm/lib/env.js.map +1 -1
  254. package/dist/{lib/stack-app → esm/lib/hexclave-app}/api-keys/index.d.ts +2 -2
  255. package/dist/esm/lib/hexclave-app/api-keys/index.d.ts.map +1 -0
  256. package/dist/esm/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  257. package/dist/esm/lib/hexclave-app/api-keys/index.js.map +1 -0
  258. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  259. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  260. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +7 -7
  261. package/dist/esm/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  262. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  263. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  264. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +13 -13
  265. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  266. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +23 -30
  267. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  268. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  269. package/dist/esm/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  270. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/common.d.ts +4 -4
  271. package/dist/esm/lib/hexclave-app/apps/implementations/common.d.ts.map +1 -0
  272. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/common.js +7 -7
  273. package/dist/esm/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  274. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  275. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.d.ts.map +1 -0
  276. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  277. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  278. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  279. package/dist/esm/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  280. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  281. package/dist/esm/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  282. package/dist/esm/lib/hexclave-app/apps/implementations/index.js +27 -0
  283. package/dist/esm/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  284. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  285. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
  286. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  287. package/dist/esm/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  288. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  289. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.d.ts.map +1 -0
  290. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +6 -6
  291. package/dist/esm/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  292. package/dist/{lib/stack-app → esm/lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  293. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
  294. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  295. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  296. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  297. package/dist/esm/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  298. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  299. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.d.ts.map +1 -0
  300. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  301. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  302. package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  303. package/dist/esm/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  304. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  305. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.d.ts.map +1 -0
  306. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +3 -3
  307. package/dist/esm/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  308. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  309. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.d.ts.map +1 -0
  310. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +3 -3
  311. package/dist/esm/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  312. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +1 -1
  313. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.d.ts.map +1 -0
  314. package/dist/esm/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +3 -3
  315. package/dist/esm/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  316. package/dist/esm/lib/{stack-app → hexclave-app}/common.d.ts +7 -7
  317. package/dist/esm/lib/hexclave-app/common.d.ts.map +1 -0
  318. package/dist/esm/lib/hexclave-app/common.js +7 -0
  319. package/dist/esm/lib/hexclave-app/common.js.map +1 -0
  320. package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  321. package/dist/esm/lib/hexclave-app/connected-accounts/index.d.ts.map +1 -0
  322. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  323. package/dist/esm/lib/hexclave-app/contact-channels/index.d.ts.map +1 -0
  324. package/dist/esm/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  325. package/dist/esm/lib/hexclave-app/contact-channels/index.js.map +1 -0
  326. package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  327. package/dist/esm/lib/hexclave-app/customers/index.d.ts.map +1 -0
  328. package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  329. package/dist/esm/lib/hexclave-app/data-vault/index.d.ts.map +1 -0
  330. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email/index.d.ts +1 -1
  331. package/dist/esm/lib/hexclave-app/email/index.d.ts.map +1 -0
  332. package/dist/{lib/stack-app → esm/lib/hexclave-app}/email-templates/index.d.ts +1 -1
  333. package/dist/esm/lib/hexclave-app/email-templates/index.d.ts.map +1 -0
  334. package/dist/esm/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  335. package/dist/esm/lib/hexclave-app/email-templates/index.js.map +1 -0
  336. package/dist/esm/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  337. package/dist/esm/lib/{stack-app → hexclave-app}/index.js +2 -2
  338. package/dist/{lib/stack-app → esm/lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  339. package/dist/esm/lib/hexclave-app/internal-api-keys/index.d.ts.map +1 -0
  340. package/dist/esm/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  341. package/dist/esm/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  342. package/dist/{lib/stack-app → esm/lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  343. package/dist/esm/lib/hexclave-app/notification-categories/index.d.ts.map +1 -0
  344. package/dist/{lib/stack-app → esm/lib/hexclave-app}/permissions/index.d.ts +1 -1
  345. package/dist/esm/lib/hexclave-app/permissions/index.d.ts.map +1 -0
  346. package/dist/esm/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  347. package/dist/esm/lib/hexclave-app/permissions/index.js.map +1 -0
  348. package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  349. package/dist/esm/lib/hexclave-app/project-configs/index.d.ts.map +1 -0
  350. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  351. package/dist/esm/lib/hexclave-app/projects/index.d.ts.map +1 -0
  352. package/dist/esm/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  353. package/dist/esm/lib/hexclave-app/projects/index.js.map +1 -0
  354. package/dist/{lib/stack-app → esm/lib/hexclave-app}/session-replays/index.d.ts +1 -1
  355. package/dist/esm/lib/hexclave-app/session-replays/index.d.ts.map +1 -0
  356. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  357. package/dist/esm/lib/hexclave-app/teams/index.d.ts.map +1 -0
  358. package/dist/esm/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  359. package/dist/esm/lib/hexclave-app/teams/index.js.map +1 -0
  360. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  361. package/dist/esm/lib/hexclave-app/url-targets.d.ts.map +1 -0
  362. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  363. package/dist/esm/lib/hexclave-app/url-targets.js.map +1 -0
  364. package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  365. package/dist/esm/lib/hexclave-app/url-targets.test.js.map +1 -0
  366. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  367. package/dist/esm/lib/hexclave-app/users/index.d.ts.map +1 -0
  368. package/dist/esm/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  369. package/dist/esm/lib/hexclave-app/users/index.js.map +1 -0
  370. package/dist/esm/lib/hooks.d.ts +1 -1
  371. package/dist/esm/lib/hooks.js +9 -9
  372. package/dist/esm/lib/hooks.js.map +1 -1
  373. package/dist/esm/lib/translations.js.map +1 -1
  374. package/dist/esm/providers/hexclave-context.d.ts +11 -0
  375. package/dist/esm/providers/hexclave-context.d.ts.map +1 -0
  376. package/dist/esm/providers/hexclave-context.js +12 -0
  377. package/dist/esm/providers/hexclave-context.js.map +1 -0
  378. package/dist/esm/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  379. package/dist/esm/providers/hexclave-provider-client.d.ts.map +1 -0
  380. package/dist/esm/providers/hexclave-provider-client.js +30 -0
  381. package/dist/esm/providers/hexclave-provider-client.js.map +1 -0
  382. package/dist/esm/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +3 -3
  383. package/dist/esm/providers/hexclave-provider.d.ts.map +1 -0
  384. package/dist/esm/providers/{stack-provider.js → hexclave-provider.js} +6 -6
  385. package/dist/esm/providers/hexclave-provider.js.map +1 -0
  386. package/dist/esm/providers/theme-provider.js.map +1 -1
  387. package/dist/esm/providers/translation-provider-client.js.map +1 -1
  388. package/dist/esm/providers/translation-provider.js.map +1 -1
  389. package/dist/esm/tanstack-start-server-context.d.ts +1 -1
  390. package/dist/esm/utils/browser-script.js.map +1 -1
  391. package/dist/esm/utils/constants.js.map +1 -1
  392. package/dist/esm/utils/url.js.map +1 -1
  393. package/dist/generated/global-css.d.ts +1 -1
  394. package/dist/generated/global-css.js +1 -1
  395. package/dist/generated/global-css.js.map +1 -1
  396. package/dist/generated/quetzal-translations.js.map +1 -1
  397. package/dist/index.d.ts +18 -18
  398. package/dist/index.js +9 -9
  399. package/dist/integrations/convex/component/convex.config.d.ts +2 -2
  400. package/dist/integrations/convex/component/convex.config.d.ts.map +1 -1
  401. package/dist/integrations/convex/component/convex.config.js.map +1 -1
  402. package/dist/integrations/convex.js +2 -2
  403. package/dist/integrations/convex.js.map +1 -1
  404. package/dist/lib/auth.js.map +1 -1
  405. package/dist/lib/auth.test.js.map +1 -1
  406. package/dist/lib/cookie.js +2 -2
  407. package/dist/lib/cookie.js.map +1 -1
  408. package/dist/lib/env.js.map +1 -1
  409. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts +2 -2
  410. package/dist/{esm/lib/stack-app → lib/hexclave-app}/api-keys/index.d.ts.map +1 -1
  411. package/dist/lib/{stack-app → hexclave-app}/api-keys/index.js +1 -1
  412. package/dist/lib/hexclave-app/api-keys/index.js.map +1 -0
  413. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.d.ts +6 -6
  414. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
  415. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/admin-app-impl.js +5 -5
  416. package/dist/lib/hexclave-app/apps/implementations/admin-app-impl.js.map +1 -0
  417. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.js +2 -2
  418. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.js.map +1 -0
  419. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.d.ts +13 -13
  420. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.d.ts.map +1 -0
  421. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.js +22 -29
  422. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.js.map +1 -0
  423. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.js +1 -1
  424. package/dist/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
  425. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts +4 -4
  426. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/common.d.ts.map +1 -1
  427. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/common.js +6 -6
  428. package/dist/lib/hexclave-app/apps/implementations/common.js.map +1 -0
  429. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.d.ts +1 -1
  430. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/event-tracker.d.ts.map +1 -1
  431. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.js +1 -1
  432. package/dist/lib/hexclave-app/apps/implementations/event-tracker.js.map +1 -0
  433. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.js +1 -1
  434. package/dist/lib/hexclave-app/apps/implementations/event-tracker.test.js.map +1 -0
  435. package/dist/lib/hexclave-app/apps/implementations/index.d.ts +9 -0
  436. package/dist/lib/hexclave-app/apps/implementations/index.d.ts.map +1 -0
  437. package/dist/lib/hexclave-app/apps/implementations/index.js +31 -0
  438. package/dist/lib/hexclave-app/apps/implementations/index.js.map +1 -0
  439. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.d.ts +1 -1
  440. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/redirect-page-urls.d.ts.map +1 -1
  441. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/redirect-page-urls.js +1 -1
  442. package/dist/lib/hexclave-app/apps/implementations/redirect-page-urls.js.map +1 -0
  443. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.d.ts +4 -4
  444. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/server-app-impl.d.ts.map +1 -1
  445. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/server-app-impl.js +5 -5
  446. package/dist/lib/hexclave-app/apps/implementations/server-app-impl.js.map +1 -0
  447. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts +1 -1
  448. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-refresh-subscription.d.ts.map +1 -1
  449. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.js +1 -1
  450. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.js.map +1 -0
  451. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.js +1 -1
  452. package/dist/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
  453. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.d.ts +1 -1
  454. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/implementations/session-replay.d.ts.map +1 -1
  455. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.js +1 -1
  456. package/dist/lib/hexclave-app/apps/implementations/session-replay.js.map +1 -0
  457. package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.js +1 -1
  458. package/dist/lib/hexclave-app/apps/implementations/session-replay.test.js.map +1 -0
  459. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.d.ts +1 -1
  460. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/admin-app.d.ts.map +1 -1
  461. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/admin-app.js +2 -2
  462. package/dist/lib/hexclave-app/apps/interfaces/admin-app.js.map +1 -0
  463. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.d.ts +4 -4
  464. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/client-app.d.ts.map +1 -1
  465. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/client-app.js +2 -2
  466. package/dist/lib/hexclave-app/apps/interfaces/client-app.js.map +1 -0
  467. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.d.ts +2 -2
  468. package/dist/{esm/lib/stack-app → lib/hexclave-app}/apps/interfaces/server-app.d.ts.map +1 -1
  469. package/dist/lib/{stack-app → hexclave-app}/apps/interfaces/server-app.js +2 -2
  470. package/dist/lib/hexclave-app/apps/interfaces/server-app.js.map +1 -0
  471. package/dist/lib/{stack-app → hexclave-app}/common.d.ts +8 -8
  472. package/dist/{esm/lib/stack-app → lib/hexclave-app}/common.d.ts.map +1 -1
  473. package/dist/lib/hexclave-app/common.js +9 -0
  474. package/dist/lib/hexclave-app/common.js.map +1 -0
  475. package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.d.ts +1 -1
  476. package/dist/{esm/lib/stack-app → lib/hexclave-app}/connected-accounts/index.d.ts.map +1 -1
  477. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.d.ts +1 -1
  478. package/dist/{esm/lib/stack-app → lib/hexclave-app}/contact-channels/index.d.ts.map +1 -1
  479. package/dist/lib/{stack-app → hexclave-app}/contact-channels/index.js +1 -1
  480. package/dist/lib/hexclave-app/contact-channels/index.js.map +1 -0
  481. package/dist/lib/{stack-app → hexclave-app}/customers/index.d.ts +1 -1
  482. package/dist/{esm/lib/stack-app → lib/hexclave-app}/customers/index.d.ts.map +1 -1
  483. package/dist/lib/{stack-app → hexclave-app}/data-vault/index.d.ts +1 -1
  484. package/dist/{esm/lib/stack-app → lib/hexclave-app}/data-vault/index.d.ts.map +1 -1
  485. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts +1 -1
  486. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email/index.d.ts.map +1 -1
  487. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts +1 -1
  488. package/dist/{esm/lib/stack-app → lib/hexclave-app}/email-templates/index.d.ts.map +1 -1
  489. package/dist/lib/{stack-app → hexclave-app}/email-templates/index.js +1 -1
  490. package/dist/lib/hexclave-app/email-templates/index.js.map +1 -0
  491. package/dist/lib/{stack-app → hexclave-app}/index.d.ts +2 -2
  492. package/dist/lib/{stack-app → hexclave-app}/index.js +2 -2
  493. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts +1 -1
  494. package/dist/{esm/lib/stack-app → lib/hexclave-app}/internal-api-keys/index.d.ts.map +1 -1
  495. package/dist/lib/{stack-app → hexclave-app}/internal-api-keys/index.js +1 -1
  496. package/dist/lib/hexclave-app/internal-api-keys/index.js.map +1 -0
  497. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts +1 -1
  498. package/dist/{esm/lib/stack-app → lib/hexclave-app}/notification-categories/index.d.ts.map +1 -1
  499. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts +1 -1
  500. package/dist/{esm/lib/stack-app → lib/hexclave-app}/permissions/index.d.ts.map +1 -1
  501. package/dist/lib/{stack-app → hexclave-app}/permissions/index.js +1 -1
  502. package/dist/lib/hexclave-app/permissions/index.js.map +1 -0
  503. package/dist/lib/{stack-app → hexclave-app}/project-configs/index.d.ts +1 -1
  504. package/dist/{esm/lib/stack-app → lib/hexclave-app}/project-configs/index.d.ts.map +1 -1
  505. package/dist/lib/{stack-app → hexclave-app}/projects/index.d.ts +1 -1
  506. package/dist/{esm/lib/stack-app → lib/hexclave-app}/projects/index.d.ts.map +1 -1
  507. package/dist/lib/{stack-app → hexclave-app}/projects/index.js +1 -1
  508. package/dist/lib/hexclave-app/projects/index.js.map +1 -0
  509. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts +1 -1
  510. package/dist/{esm/lib/stack-app → lib/hexclave-app}/session-replays/index.d.ts.map +1 -1
  511. package/dist/lib/{stack-app → hexclave-app}/teams/index.d.ts +1 -1
  512. package/dist/{esm/lib/stack-app → lib/hexclave-app}/teams/index.d.ts.map +1 -1
  513. package/dist/lib/{stack-app → hexclave-app}/teams/index.js +1 -1
  514. package/dist/lib/hexclave-app/teams/index.js.map +1 -0
  515. package/dist/lib/{stack-app → hexclave-app}/url-targets.d.ts +1 -1
  516. package/dist/{esm/lib/stack-app → lib/hexclave-app}/url-targets.d.ts.map +1 -1
  517. package/dist/lib/{stack-app → hexclave-app}/url-targets.js +2 -2
  518. package/dist/lib/hexclave-app/url-targets.js.map +1 -0
  519. package/dist/lib/{stack-app → hexclave-app}/url-targets.test.js +1 -1
  520. package/dist/lib/hexclave-app/url-targets.test.js.map +1 -0
  521. package/dist/lib/{stack-app → hexclave-app}/users/index.d.ts +1 -1
  522. package/dist/{esm/lib/stack-app → lib/hexclave-app}/users/index.d.ts.map +1 -1
  523. package/dist/lib/{stack-app → hexclave-app}/users/index.js +1 -1
  524. package/dist/lib/hexclave-app/users/index.js.map +1 -0
  525. package/dist/lib/hooks.d.ts +3 -3
  526. package/dist/lib/hooks.d.ts.map +1 -1
  527. package/dist/lib/hooks.js +9 -9
  528. package/dist/lib/hooks.js.map +1 -1
  529. package/dist/lib/translations.js.map +1 -1
  530. package/dist/providers/hexclave-context.d.ts +11 -0
  531. package/dist/providers/hexclave-context.d.ts.map +1 -0
  532. package/dist/providers/hexclave-context.js +15 -0
  533. package/dist/providers/hexclave-context.js.map +1 -0
  534. package/dist/providers/{stack-provider-client.d.ts → hexclave-provider-client.d.ts} +5 -5
  535. package/dist/providers/hexclave-provider-client.d.ts.map +1 -0
  536. package/dist/providers/{stack-provider-client.js → hexclave-provider-client.js} +9 -9
  537. package/dist/providers/hexclave-provider-client.js.map +1 -0
  538. package/dist/providers/{stack-provider.d.ts → hexclave-provider.d.ts} +5 -5
  539. package/dist/providers/hexclave-provider.d.ts.map +1 -0
  540. package/dist/providers/{stack-provider.js → hexclave-provider.js} +6 -6
  541. package/dist/providers/hexclave-provider.js.map +1 -0
  542. package/dist/providers/theme-provider.js.map +1 -1
  543. package/dist/providers/translation-provider-client.js.map +1 -1
  544. package/dist/providers/translation-provider.js.map +1 -1
  545. package/dist/{storage-kTmOAWHW.d.ts → storage-CKzvsBxG.d.ts} +18 -18
  546. package/dist/{storage-kTmOAWHW.d.ts.map → storage-CKzvsBxG.d.ts.map} +1 -1
  547. package/dist/tanstack-start-server-context.d.ts +1 -1
  548. package/dist/utils/browser-script.js.map +1 -1
  549. package/dist/utils/constants.js.map +1 -1
  550. package/dist/utils/url.js.map +1 -1
  551. package/package.json +6 -5
  552. package/src/components/api-key-dialogs.tsx +173 -0
  553. package/src/components/api-key-table.tsx +127 -0
  554. package/src/components/credential-sign-in.tsx +83 -0
  555. package/src/components/credential-sign-up.tsx +108 -0
  556. package/src/components/elements/form-warning.tsx +17 -0
  557. package/src/components/elements/maybe-full-page.tsx +60 -0
  558. package/src/components/elements/separator-with-text.tsx +22 -0
  559. package/src/components/elements/sidebar-layout.tsx +136 -0
  560. package/src/components/elements/ssr-layout-effect.tsx +24 -0
  561. package/src/components/elements/user-avatar.tsx +32 -0
  562. package/src/components/link.tsx +40 -0
  563. package/src/components/magic-link-sign-in.tsx +143 -0
  564. package/src/components/message-cards/known-error-message-card.tsx +33 -0
  565. package/src/components/message-cards/message-card.tsx +46 -0
  566. package/src/components/message-cards/predefined-message-card.tsx +88 -0
  567. package/src/components/oauth-button-group.tsx +35 -0
  568. package/src/components/oauth-button.tsx +222 -0
  569. package/src/components/passkey-button.tsx +43 -0
  570. package/src/components/profile-image-editor.tsx +194 -0
  571. package/src/components/selected-team-switcher.tsx +97 -0
  572. package/src/components/team-icon.tsx +30 -0
  573. package/src/components/team-switcher.tsx +191 -0
  574. package/src/components/use-in-iframe.tsx +18 -0
  575. package/src/components/user-button.tsx +157 -0
  576. package/src/components-page/account-settings/active-sessions/active-sessions-page.tsx +238 -0
  577. package/src/components-page/account-settings/api-keys/api-keys-page.tsx +157 -0
  578. package/src/components-page/account-settings/editable-text.tsx +53 -0
  579. package/src/components-page/account-settings/email-and-auth/email-and-auth-page.tsx +24 -0
  580. package/src/components-page/account-settings/email-and-auth/emails-section.tsx +201 -0
  581. package/src/components-page/account-settings/email-and-auth/mfa-section.tsx +139 -0
  582. package/src/components-page/account-settings/email-and-auth/otp-section.tsx +102 -0
  583. package/src/components-page/account-settings/email-and-auth/passkey-section.tsx +112 -0
  584. package/src/components-page/account-settings/email-and-auth/password-section.tsx +174 -0
  585. package/src/components-page/account-settings/notifications/notifications-page.tsx +44 -0
  586. package/src/components-page/account-settings/page-layout.tsx +11 -0
  587. package/src/components-page/account-settings/payments/payments-page.tsx +73 -0
  588. package/src/components-page/account-settings/payments/payments-panel.tsx +543 -0
  589. package/src/components-page/account-settings/profile-page/profile-page.tsx +61 -0
  590. package/src/components-page/account-settings/section.tsx +26 -0
  591. package/src/components-page/account-settings/settings/delete-account-section.tsx +85 -0
  592. package/src/components-page/account-settings/settings/settings-page.tsx +19 -0
  593. package/src/components-page/account-settings/settings/sign-out-section.tsx +40 -0
  594. package/src/components-page/account-settings/teams/leave-team-section.tsx +57 -0
  595. package/src/components-page/account-settings/teams/team-api-keys-section.tsx +74 -0
  596. package/src/components-page/account-settings/teams/team-creation-page.tsx +92 -0
  597. package/src/components-page/account-settings/teams/team-display-name-section.tsx +31 -0
  598. package/src/components-page/account-settings/teams/team-member-invitation-section.tsx +128 -0
  599. package/src/components-page/account-settings/teams/team-member-list-section.tsx +59 -0
  600. package/src/components-page/account-settings/teams/team-page.tsx +28 -0
  601. package/src/components-page/account-settings/teams/team-profile-image-section.tsx +33 -0
  602. package/src/components-page/account-settings/teams/team-profile-user-section.tsx +29 -0
  603. package/src/components-page/account-settings.tsx +343 -0
  604. package/src/components-page/auth-page.tsx +206 -0
  605. package/src/components-page/cli-auth-confirm.test.tsx +204 -0
  606. package/src/components-page/cli-auth-confirm.tsx +278 -0
  607. package/src/components-page/email-verification.tsx +76 -0
  608. package/src/components-page/error-page.tsx +105 -0
  609. package/src/components-page/forgot-password.tsx +105 -0
  610. package/src/components-page/hexclave-handler-client.tsx +325 -0
  611. package/src/components-page/hexclave-handler.tsx +48 -0
  612. package/src/components-page/magic-link-callback.tsx +92 -0
  613. package/src/components-page/mfa.tsx +222 -0
  614. package/src/components-page/oauth-callback.tsx +78 -0
  615. package/src/components-page/onboarding.tsx +176 -0
  616. package/src/components-page/password-reset.tsx +185 -0
  617. package/src/components-page/section.tsx +27 -0
  618. package/src/components-page/sign-in.tsx +34 -0
  619. package/src/components-page/sign-out.tsx +37 -0
  620. package/src/components-page/sign-up.tsx +24 -0
  621. package/src/components-page/team-creation.tsx +78 -0
  622. package/src/components-page/team-invitation.tsx +150 -0
  623. package/src/dev-tool/dev-tool-core.ts +2460 -0
  624. package/src/dev-tool/dev-tool-styles.ts +2758 -0
  625. package/src/dev-tool/dev-tool-trigger-position.test.ts +113 -0
  626. package/src/dev-tool/dev-tool-trigger-position.ts +109 -0
  627. package/src/dev-tool/index.ts +149 -0
  628. package/src/generated/.gitignore +3 -0
  629. package/src/generated/quetzal-translations.ts +4312 -0
  630. package/src/global.css +13 -0
  631. package/src/global.d.ts +5 -0
  632. package/src/index.ts +39 -0
  633. package/src/integrations/convex/component/README.md +74 -0
  634. package/src/integrations/convex/component/convex.config.ts +9 -0
  635. package/src/integrations/convex.ts +28 -0
  636. package/src/lib/auth.test.ts +67 -0
  637. package/src/lib/auth.ts +175 -0
  638. package/src/lib/cookie.ts +421 -0
  639. package/src/lib/env.ts +93 -0
  640. package/src/lib/hexclave-app/api-keys/index.ts +73 -0
  641. package/src/lib/hexclave-app/apps/implementations/admin-app-impl.ts +1261 -0
  642. package/src/lib/hexclave-app/apps/implementations/client-app-impl.cross-domain.test.ts +141 -0
  643. package/src/lib/hexclave-app/apps/implementations/client-app-impl.oauth-prefetch.test.ts +36 -0
  644. package/src/lib/hexclave-app/apps/implementations/client-app-impl.ts +3912 -0
  645. package/src/lib/hexclave-app/apps/implementations/common.ts +244 -0
  646. package/src/lib/hexclave-app/apps/implementations/event-tracker.test.ts +105 -0
  647. package/src/lib/hexclave-app/apps/implementations/event-tracker.ts +306 -0
  648. package/src/lib/hexclave-app/apps/implementations/index.ts +35 -0
  649. package/src/lib/hexclave-app/apps/implementations/redirect-page-urls.ts +342 -0
  650. package/src/lib/hexclave-app/apps/implementations/server-app-impl.ts +1619 -0
  651. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.test.ts +106 -0
  652. package/src/lib/hexclave-app/apps/implementations/session-refresh-subscription.ts +52 -0
  653. package/src/lib/hexclave-app/apps/implementations/session-replay.test.ts +33 -0
  654. package/src/lib/hexclave-app/apps/implementations/session-replay.ts +356 -0
  655. package/src/lib/hexclave-app/apps/index.ts +40 -0
  656. package/src/lib/hexclave-app/apps/interfaces/admin-app.ts +192 -0
  657. package/src/lib/hexclave-app/apps/interfaces/client-app.ts +180 -0
  658. package/src/lib/hexclave-app/apps/interfaces/server-app.ts +129 -0
  659. package/src/lib/hexclave-app/common.ts +216 -0
  660. package/src/lib/hexclave-app/connected-accounts/index.ts +49 -0
  661. package/src/lib/hexclave-app/contact-channels/index.ts +80 -0
  662. package/src/lib/hexclave-app/customers/index.ts +158 -0
  663. package/src/lib/hexclave-app/data-vault/index.ts +12 -0
  664. package/src/lib/hexclave-app/email/index.ts +280 -0
  665. package/src/lib/hexclave-app/email-templates/index.ts +24 -0
  666. package/src/lib/hexclave-app/index.ts +146 -0
  667. package/src/lib/hexclave-app/internal-api-keys/index.ts +55 -0
  668. package/src/lib/hexclave-app/notification-categories/index.ts +12 -0
  669. package/src/lib/hexclave-app/permissions/index.ts +75 -0
  670. package/src/lib/hexclave-app/project-configs/index.ts +103 -0
  671. package/src/lib/hexclave-app/projects/index.ts +236 -0
  672. package/src/lib/hexclave-app/session-replays/index.ts +72 -0
  673. package/src/lib/hexclave-app/teams/index.ts +206 -0
  674. package/src/lib/hexclave-app/url-targets.test.ts +253 -0
  675. package/src/lib/hexclave-app/url-targets.ts +395 -0
  676. package/src/lib/hexclave-app/users/index.ts +523 -0
  677. package/src/lib/hooks.tsx +63 -0
  678. package/src/lib/translations.tsx +23 -0
  679. package/src/providers/hexclave-context.tsx +20 -0
  680. package/src/providers/hexclave-provider-client.tsx +39 -0
  681. package/src/providers/hexclave-provider.tsx +48 -0
  682. package/src/providers/theme-provider.tsx +121 -0
  683. package/src/providers/translation-provider-client.tsx +35 -0
  684. package/src/providers/translation-provider.tsx +25 -0
  685. package/src/tanstack-start-server-context.d.ts +13 -0
  686. package/src/utils/browser-script.tsx +135 -0
  687. package/src/utils/constants.tsx +58 -0
  688. package/src/utils/url.ts +24 -0
  689. package/dist/components-page/stack-handler-client.d.ts.map +0 -1
  690. package/dist/components-page/stack-handler-client.js.map +0 -1
  691. package/dist/components-page/stack-handler.d.ts.map +0 -1
  692. package/dist/components-page/stack-handler.js.map +0 -1
  693. package/dist/esm/components-page/stack-handler-client.d.ts.map +0 -1
  694. package/dist/esm/components-page/stack-handler-client.js.map +0 -1
  695. package/dist/esm/components-page/stack-handler.d.ts.map +0 -1
  696. package/dist/esm/components-page/stack-handler.js.map +0 -1
  697. package/dist/esm/lib/stack-app/api-keys/index.js.map +0 -1
  698. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  699. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  700. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  701. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  702. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  703. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  704. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +0 -1
  705. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  706. package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  707. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts +0 -9
  708. package/dist/esm/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  709. package/dist/esm/lib/stack-app/apps/implementations/index.js +0 -27
  710. package/dist/esm/lib/stack-app/apps/implementations/index.js.map +0 -1
  711. package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  712. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  713. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  714. package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  715. package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  716. package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  717. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  718. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  719. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  720. package/dist/esm/lib/stack-app/common.js +0 -7
  721. package/dist/esm/lib/stack-app/common.js.map +0 -1
  722. package/dist/esm/lib/stack-app/contact-channels/index.js.map +0 -1
  723. package/dist/esm/lib/stack-app/email-templates/index.js.map +0 -1
  724. package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +0 -1
  725. package/dist/esm/lib/stack-app/permissions/index.js.map +0 -1
  726. package/dist/esm/lib/stack-app/projects/index.js.map +0 -1
  727. package/dist/esm/lib/stack-app/teams/index.js.map +0 -1
  728. package/dist/esm/lib/stack-app/url-targets.js.map +0 -1
  729. package/dist/esm/lib/stack-app/url-targets.test.js.map +0 -1
  730. package/dist/esm/lib/stack-app/users/index.js.map +0 -1
  731. package/dist/esm/providers/stack-context.d.ts +0 -11
  732. package/dist/esm/providers/stack-context.d.ts.map +0 -1
  733. package/dist/esm/providers/stack-context.js +0 -12
  734. package/dist/esm/providers/stack-context.js.map +0 -1
  735. package/dist/esm/providers/stack-provider-client.d.ts.map +0 -1
  736. package/dist/esm/providers/stack-provider-client.js +0 -30
  737. package/dist/esm/providers/stack-provider-client.js.map +0 -1
  738. package/dist/esm/providers/stack-provider.d.ts.map +0 -1
  739. package/dist/esm/providers/stack-provider.js.map +0 -1
  740. package/dist/lib/stack-app/api-keys/index.d.ts.map +0 -1
  741. package/dist/lib/stack-app/api-keys/index.js.map +0 -1
  742. package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +0 -1
  743. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +0 -1
  744. package/dist/lib/stack-app/apps/implementations/client-app-impl.cross-domain.test.js.map +0 -1
  745. package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +0 -1
  746. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +0 -1
  747. package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +0 -1
  748. package/dist/lib/stack-app/apps/implementations/common.d.ts.map +0 -1
  749. package/dist/lib/stack-app/apps/implementations/common.js.map +0 -1
  750. package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts.map +0 -1
  751. package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +0 -1
  752. package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +0 -1
  753. package/dist/lib/stack-app/apps/implementations/index.d.ts +0 -9
  754. package/dist/lib/stack-app/apps/implementations/index.d.ts.map +0 -1
  755. package/dist/lib/stack-app/apps/implementations/index.js +0 -31
  756. package/dist/lib/stack-app/apps/implementations/index.js.map +0 -1
  757. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +0 -1
  758. package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +0 -1
  759. package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +0 -1
  760. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +0 -1
  761. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +0 -1
  762. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +0 -1
  763. package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +0 -1
  764. package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +0 -1
  765. package/dist/lib/stack-app/apps/implementations/session-replay.js.map +0 -1
  766. package/dist/lib/stack-app/apps/implementations/session-replay.test.js.map +0 -1
  767. package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +0 -1
  768. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +0 -1
  769. package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +0 -1
  770. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +0 -1
  771. package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +0 -1
  772. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +0 -1
  773. package/dist/lib/stack-app/common.d.ts.map +0 -1
  774. package/dist/lib/stack-app/common.js +0 -9
  775. package/dist/lib/stack-app/common.js.map +0 -1
  776. package/dist/lib/stack-app/connected-accounts/index.d.ts.map +0 -1
  777. package/dist/lib/stack-app/contact-channels/index.d.ts.map +0 -1
  778. package/dist/lib/stack-app/contact-channels/index.js.map +0 -1
  779. package/dist/lib/stack-app/customers/index.d.ts.map +0 -1
  780. package/dist/lib/stack-app/data-vault/index.d.ts.map +0 -1
  781. package/dist/lib/stack-app/email/index.d.ts.map +0 -1
  782. package/dist/lib/stack-app/email-templates/index.d.ts.map +0 -1
  783. package/dist/lib/stack-app/email-templates/index.js.map +0 -1
  784. package/dist/lib/stack-app/internal-api-keys/index.d.ts.map +0 -1
  785. package/dist/lib/stack-app/internal-api-keys/index.js.map +0 -1
  786. package/dist/lib/stack-app/notification-categories/index.d.ts.map +0 -1
  787. package/dist/lib/stack-app/permissions/index.d.ts.map +0 -1
  788. package/dist/lib/stack-app/permissions/index.js.map +0 -1
  789. package/dist/lib/stack-app/project-configs/index.d.ts.map +0 -1
  790. package/dist/lib/stack-app/projects/index.d.ts.map +0 -1
  791. package/dist/lib/stack-app/projects/index.js.map +0 -1
  792. package/dist/lib/stack-app/session-replays/index.d.ts.map +0 -1
  793. package/dist/lib/stack-app/teams/index.d.ts.map +0 -1
  794. package/dist/lib/stack-app/teams/index.js.map +0 -1
  795. package/dist/lib/stack-app/url-targets.d.ts.map +0 -1
  796. package/dist/lib/stack-app/url-targets.js.map +0 -1
  797. package/dist/lib/stack-app/url-targets.test.js.map +0 -1
  798. package/dist/lib/stack-app/users/index.d.ts.map +0 -1
  799. package/dist/lib/stack-app/users/index.js.map +0 -1
  800. package/dist/providers/stack-context.d.ts +0 -11
  801. package/dist/providers/stack-context.d.ts.map +0 -1
  802. package/dist/providers/stack-context.js +0 -15
  803. package/dist/providers/stack-context.js.map +0 -1
  804. package/dist/providers/stack-provider-client.d.ts.map +0 -1
  805. package/dist/providers/stack-provider-client.js.map +0 -1
  806. package/dist/providers/stack-provider.d.ts.map +0 -1
  807. package/dist/providers/stack-provider.js.map +0 -1
  808. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  809. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  810. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  811. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  812. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  813. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  814. /package/dist/esm/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  815. /package/dist/esm/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  816. /package/dist/esm/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  817. /package/dist/esm/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  818. /package/dist/esm/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  819. /package/dist/esm/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  820. /package/dist/esm/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  821. /package/dist/esm/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  822. /package/dist/esm/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
  823. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.cross-domain.test.d.ts +0 -0
  824. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +0 -0
  825. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/event-tracker.test.d.ts +0 -0
  826. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-refresh-subscription.test.d.ts +0 -0
  827. /package/dist/lib/{stack-app → hexclave-app}/apps/implementations/session-replay.test.d.ts +0 -0
  828. /package/dist/lib/{stack-app → hexclave-app}/apps/index.d.ts +0 -0
  829. /package/dist/lib/{stack-app → hexclave-app}/apps/index.js +0 -0
  830. /package/dist/lib/{stack-app → hexclave-app}/connected-accounts/index.js +0 -0
  831. /package/dist/lib/{stack-app → hexclave-app}/customers/index.js +0 -0
  832. /package/dist/lib/{stack-app → hexclave-app}/data-vault/index.js +0 -0
  833. /package/dist/lib/{stack-app → hexclave-app}/email/index.js +0 -0
  834. /package/dist/lib/{stack-app → hexclave-app}/notification-categories/index.js +0 -0
  835. /package/dist/lib/{stack-app → hexclave-app}/project-configs/index.js +0 -0
  836. /package/dist/lib/{stack-app → hexclave-app}/session-replays/index.js +0 -0
  837. /package/dist/lib/{stack-app → hexclave-app}/url-targets.test.d.ts +0 -0
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
3
  //#region src/dev-tool/dev-tool-styles.ts
4
4
  const devToolCSS = `
5
- .stack-devtool {
5
+ .hexclave-devtool {
6
6
  --sdt-bg: #0a0a0b;
7
7
  --sdt-bg-elevated: #141416;
8
8
  --sdt-bg-hover: #1c1c1f;
@@ -43,12 +43,12 @@ const devToolCSS = `
43
43
  box-sizing: border-box;
44
44
  }
45
45
 
46
- .stack-devtool *, .stack-devtool *::before, .stack-devtool *::after {
46
+ .hexclave-devtool *, .hexclave-devtool *::before, .hexclave-devtool *::after {
47
47
  box-sizing: border-box;
48
48
  }
49
49
 
50
50
  /* Trigger pill */
51
- .stack-devtool .sdt-trigger {
51
+ .hexclave-devtool .sdt-trigger {
52
52
  position: fixed;
53
53
  z-index: 2147483647;
54
54
  display: flex;
@@ -67,21 +67,21 @@ const devToolCSS = `
67
67
  touch-action: none;
68
68
  }
69
69
 
70
- .stack-devtool .sdt-trigger-position-animated {
70
+ .hexclave-devtool .sdt-trigger-position-animated {
71
71
  transition: left 0.14s cubic-bezier(0.2, 0.8, 0.2, 1), top 0.14s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
72
72
  }
73
73
 
74
- .stack-devtool .sdt-trigger:hover {
74
+ .hexclave-devtool .sdt-trigger:hover {
75
75
  background: var(--sdt-bg-hover);
76
76
  border-color: var(--sdt-accent);
77
77
  box-shadow: var(--sdt-trigger-shadow), 0 0 0 1px var(--sdt-accent);
78
78
  }
79
79
 
80
- .stack-devtool .sdt-trigger:active {
80
+ .hexclave-devtool .sdt-trigger:active {
81
81
  cursor: grabbing;
82
82
  }
83
83
 
84
- .stack-devtool .sdt-trigger-logo {
84
+ .hexclave-devtool .sdt-trigger-logo {
85
85
  width: 22px;
86
86
  height: 22px;
87
87
  border-radius: 6px;
@@ -94,7 +94,7 @@ const devToolCSS = `
94
94
  }
95
95
 
96
96
  /* Panel overlay */
97
- .stack-devtool .sdt-panel {
97
+ .hexclave-devtool .sdt-panel {
98
98
  position: fixed;
99
99
  bottom: 60px;
100
100
  right: 16px;
@@ -112,7 +112,7 @@ const devToolCSS = `
112
112
  overflow: visible;
113
113
  }
114
114
 
115
- .stack-devtool .sdt-panel-geometry-animated {
115
+ .hexclave-devtool .sdt-panel-geometry-animated {
116
116
  transition: width 0.18s cubic-bezier(0.2, 0.8, 0.2, 1),
117
117
  height 0.18s cubic-bezier(0.2, 0.8, 0.2, 1),
118
118
  right 0.18s cubic-bezier(0.2, 0.8, 0.2, 1),
@@ -121,7 +121,7 @@ const devToolCSS = `
121
121
  border-color 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
122
122
  }
123
123
 
124
- .stack-devtool .sdt-panel-fullscreen {
124
+ .hexclave-devtool .sdt-panel-fullscreen {
125
125
  right: 0;
126
126
  bottom: 0;
127
127
  width: 100vw;
@@ -132,7 +132,7 @@ const devToolCSS = `
132
132
  border-radius: 0;
133
133
  }
134
134
 
135
- .stack-devtool .sdt-panel-inner {
135
+ .hexclave-devtool .sdt-panel-inner {
136
136
  display: flex;
137
137
  flex-direction: column;
138
138
  width: 100%;
@@ -142,11 +142,11 @@ const devToolCSS = `
142
142
  animation: sdt-panel-enter 0.2s ease-out;
143
143
  }
144
144
 
145
- .stack-devtool .sdt-panel-fullscreen .sdt-panel-inner {
145
+ .hexclave-devtool .sdt-panel-fullscreen .sdt-panel-inner {
146
146
  border-radius: 0;
147
147
  }
148
148
 
149
- .stack-devtool .sdt-panel-fullscreen .sdt-resize-handle {
149
+ .hexclave-devtool .sdt-panel-fullscreen .sdt-resize-handle {
150
150
  display: none;
151
151
  }
152
152
 
@@ -161,7 +161,7 @@ const devToolCSS = `
161
161
  }
162
162
  }
163
163
 
164
- .stack-devtool .sdt-panel-exiting {
164
+ .hexclave-devtool .sdt-panel-exiting {
165
165
  animation: sdt-panel-exit 0.15s ease-in forwards;
166
166
  }
167
167
 
@@ -177,7 +177,7 @@ const devToolCSS = `
177
177
  }
178
178
 
179
179
  /* Tab bar */
180
- .stack-devtool .sdt-tabbar {
180
+ .hexclave-devtool .sdt-tabbar {
181
181
  position: relative;
182
182
  display: flex;
183
183
  align-items: center;
@@ -190,7 +190,7 @@ const devToolCSS = `
190
190
  overflow-x: auto;
191
191
  }
192
192
 
193
- .stack-devtool .sdt-panel-fullscreen .sdt-tabbar {
193
+ .hexclave-devtool .sdt-panel-fullscreen .sdt-tabbar {
194
194
  position: absolute;
195
195
  top: 8px;
196
196
  left: 8px;
@@ -202,7 +202,7 @@ const devToolCSS = `
202
202
  box-shadow: var(--sdt-trigger-shadow);
203
203
  }
204
204
 
205
- .stack-devtool .sdt-tab-indicator {
205
+ .hexclave-devtool .sdt-tab-indicator {
206
206
  position: absolute;
207
207
  top: 6px;
208
208
  left: 0;
@@ -215,7 +215,7 @@ const devToolCSS = `
215
215
  z-index: 0;
216
216
  }
217
217
 
218
- .stack-devtool .sdt-tab {
218
+ .hexclave-devtool .sdt-tab {
219
219
  position: relative;
220
220
  z-index: 1;
221
221
  display: flex;
@@ -236,15 +236,15 @@ const devToolCSS = `
236
236
  outline: none;
237
237
  }
238
238
 
239
- .stack-devtool .sdt-tab:hover {
239
+ .hexclave-devtool .sdt-tab:hover {
240
240
  color: var(--sdt-text);
241
241
  }
242
242
 
243
- .stack-devtool .sdt-tab[data-active="true"] {
243
+ .hexclave-devtool .sdt-tab[data-active="true"] {
244
244
  color: var(--sdt-text);
245
245
  }
246
246
 
247
- .stack-devtool .sdt-tab-icon {
247
+ .hexclave-devtool .sdt-tab-icon {
248
248
  width: 14px;
249
249
  height: 14px;
250
250
  display: flex;
@@ -253,18 +253,18 @@ const devToolCSS = `
253
253
  flex-shrink: 0;
254
254
  }
255
255
 
256
- .stack-devtool .sdt-tabbar-spacer {
256
+ .hexclave-devtool .sdt-tabbar-spacer {
257
257
  flex: 1;
258
258
  }
259
259
 
260
- .stack-devtool .sdt-tabbar-actions {
260
+ .hexclave-devtool .sdt-tabbar-actions {
261
261
  display: flex;
262
262
  align-items: center;
263
263
  gap: 4px;
264
264
  flex-shrink: 0;
265
265
  }
266
266
 
267
- .stack-devtool .sdt-docs-link {
267
+ .hexclave-devtool .sdt-docs-link {
268
268
  display: inline-flex;
269
269
  align-items: center;
270
270
  gap: 4px;
@@ -281,19 +281,19 @@ const devToolCSS = `
281
281
  transition: color 0.15s ease, background 0.15s ease;
282
282
  }
283
283
 
284
- .stack-devtool .sdt-docs-link:hover {
284
+ .hexclave-devtool .sdt-docs-link:hover {
285
285
  color: var(--sdt-text);
286
286
  background: var(--sdt-bg-hover);
287
287
  }
288
288
 
289
- .stack-devtool .sdt-docs-link-icon {
289
+ .hexclave-devtool .sdt-docs-link-icon {
290
290
  display: flex;
291
291
  width: 13px;
292
292
  height: 13px;
293
293
  line-height: 0;
294
294
  }
295
295
 
296
- .stack-devtool .sdt-close-btn {
296
+ .hexclave-devtool .sdt-close-btn {
297
297
  display: flex;
298
298
  align-items: center;
299
299
  justify-content: center;
@@ -308,32 +308,32 @@ const devToolCSS = `
308
308
  flex-shrink: 0;
309
309
  }
310
310
 
311
- .stack-devtool .sdt-close-btn:hover {
311
+ .hexclave-devtool .sdt-close-btn:hover {
312
312
  color: var(--sdt-text);
313
313
  background: var(--sdt-bg-hover);
314
314
  }
315
315
 
316
316
  /* Tab content area */
317
- .stack-devtool .sdt-content {
317
+ .hexclave-devtool .sdt-content {
318
318
  flex: 1;
319
319
  position: relative;
320
320
  overflow: hidden;
321
321
  min-height: 0;
322
322
  }
323
323
 
324
- .stack-devtool .sdt-panel-fullscreen .sdt-content {
324
+ .hexclave-devtool .sdt-panel-fullscreen .sdt-content {
325
325
  position: absolute;
326
326
  inset: 0;
327
327
  width: 100%;
328
328
  height: 100%;
329
329
  }
330
330
 
331
- .stack-devtool .sdt-tab-layers {
331
+ .hexclave-devtool .sdt-tab-layers {
332
332
  position: absolute;
333
333
  inset: 0;
334
334
  }
335
335
 
336
- .stack-devtool .sdt-tab-pane {
336
+ .hexclave-devtool .sdt-tab-pane {
337
337
  position: absolute;
338
338
  inset: 0;
339
339
  overflow-y: auto;
@@ -343,12 +343,12 @@ const devToolCSS = `
343
343
  pointer-events: none;
344
344
  }
345
345
 
346
- .stack-devtool .sdt-tab-pane-iframe {
346
+ .hexclave-devtool .sdt-tab-pane-iframe {
347
347
  padding: 0;
348
348
  overflow: hidden;
349
349
  }
350
350
 
351
- .stack-devtool .sdt-tab-pane-active {
351
+ .hexclave-devtool .sdt-tab-pane-active {
352
352
  visibility: visible;
353
353
  pointer-events: auto;
354
354
  animation: sdt-tab-fade-in 0.15s ease-out;
@@ -365,22 +365,22 @@ const devToolCSS = `
365
365
  }
366
366
  }
367
367
 
368
- .stack-devtool .sdt-tab-pane::-webkit-scrollbar {
368
+ .hexclave-devtool .sdt-tab-pane::-webkit-scrollbar {
369
369
  width: 6px;
370
370
  }
371
371
 
372
- .stack-devtool .sdt-tab-pane::-webkit-scrollbar-track {
372
+ .hexclave-devtool .sdt-tab-pane::-webkit-scrollbar-track {
373
373
  background: transparent;
374
374
  }
375
375
 
376
- .stack-devtool .sdt-tab-pane::-webkit-scrollbar-thumb {
376
+ .hexclave-devtool .sdt-tab-pane::-webkit-scrollbar-thumb {
377
377
  background: var(--sdt-border);
378
378
  border-radius: 3px;
379
379
  }
380
380
 
381
381
  /* ===== Overview tab — single column ===== */
382
382
 
383
- .stack-devtool .sdt-ov {
383
+ .hexclave-devtool .sdt-ov {
384
384
  display: flex;
385
385
  flex-direction: column;
386
386
  gap: 10px;
@@ -389,7 +389,7 @@ const devToolCSS = `
389
389
  }
390
390
 
391
391
  /* Card base */
392
- .stack-devtool .sdt-ov-card {
392
+ .hexclave-devtool .sdt-ov-card {
393
393
  background: var(--sdt-bg-elevated);
394
394
  border: 1px solid var(--sdt-border-subtle);
395
395
  border-radius: 12px;
@@ -402,11 +402,11 @@ const devToolCSS = `
402
402
  min-width: 0;
403
403
  }
404
404
 
405
- .stack-devtool .sdt-ov-card-hero {
405
+ .hexclave-devtool .sdt-ov-card-hero {
406
406
  background: linear-gradient(135deg, rgba(99,102,241,0.04) 0%, transparent 50%), var(--sdt-bg-elevated);
407
407
  }
408
408
 
409
- .stack-devtool .sdt-ov-label {
409
+ .hexclave-devtool .sdt-ov-label {
410
410
  font-size: 9px;
411
411
  font-weight: 700;
412
412
  text-transform: uppercase;
@@ -415,14 +415,14 @@ const devToolCSS = `
415
415
  margin-bottom: 10px;
416
416
  }
417
417
 
418
- .stack-devtool .sdt-ov-user-row {
418
+ .hexclave-devtool .sdt-ov-user-row {
419
419
  display: flex;
420
420
  align-items: center;
421
421
  gap: 14px;
422
422
  margin-bottom: 14px;
423
423
  }
424
424
 
425
- .stack-devtool .sdt-ov-avatar {
425
+ .hexclave-devtool .sdt-ov-avatar {
426
426
  width: 52px;
427
427
  height: 52px;
428
428
  border-radius: 50%;
@@ -438,25 +438,25 @@ const devToolCSS = `
438
438
  overflow: hidden;
439
439
  }
440
440
 
441
- .stack-devtool .sdt-ov-avatar-active {
441
+ .hexclave-devtool .sdt-ov-avatar-active {
442
442
  background: var(--sdt-accent-muted);
443
443
  color: var(--sdt-accent);
444
444
  border-color: rgba(99,102,241,0.3);
445
445
  }
446
446
 
447
- .stack-devtool .sdt-ov-avatar img {
447
+ .hexclave-devtool .sdt-ov-avatar img {
448
448
  width: 100%;
449
449
  height: 100%;
450
450
  object-fit: cover;
451
451
  border-radius: 50%;
452
452
  }
453
453
 
454
- .stack-devtool .sdt-ov-user-meta {
454
+ .hexclave-devtool .sdt-ov-user-meta {
455
455
  min-width: 0;
456
456
  flex: 1;
457
457
  }
458
458
 
459
- .stack-devtool .sdt-ov-user-name {
459
+ .hexclave-devtool .sdt-ov-user-name {
460
460
  font-size: 16px;
461
461
  font-weight: 700;
462
462
  color: var(--sdt-text);
@@ -466,7 +466,7 @@ const devToolCSS = `
466
466
  white-space: nowrap;
467
467
  }
468
468
 
469
- .stack-devtool .sdt-ov-user-email {
469
+ .hexclave-devtool .sdt-ov-user-email {
470
470
  font-size: 12px;
471
471
  font-family: var(--sdt-font-mono);
472
472
  color: var(--sdt-text-secondary);
@@ -476,7 +476,7 @@ const devToolCSS = `
476
476
  white-space: nowrap;
477
477
  }
478
478
 
479
- .stack-devtool .sdt-ov-auth-indicator {
479
+ .hexclave-devtool .sdt-ov-auth-indicator {
480
480
  display: flex;
481
481
  align-items: center;
482
482
  gap: 5px;
@@ -486,7 +486,7 @@ const devToolCSS = `
486
486
  color: var(--sdt-success);
487
487
  }
488
488
 
489
- .stack-devtool .sdt-ov-auth-indicator::before {
489
+ .hexclave-devtool .sdt-ov-auth-indicator::before {
490
490
  content: '';
491
491
  width: 6px;
492
492
  height: 6px;
@@ -496,14 +496,14 @@ const devToolCSS = `
496
496
  }
497
497
 
498
498
  /* Actions */
499
- .stack-devtool .sdt-ov-actions {
499
+ .hexclave-devtool .sdt-ov-actions {
500
500
  display: flex;
501
501
  flex-wrap: wrap;
502
502
  gap: 6px;
503
503
  margin-top: 4px;
504
504
  }
505
505
 
506
- .stack-devtool .sdt-ov-btn {
506
+ .hexclave-devtool .sdt-ov-btn {
507
507
  height: 30px;
508
508
  padding: 0 12px;
509
509
  border-radius: 6px;
@@ -515,30 +515,30 @@ const devToolCSS = `
515
515
  transition: all 0.15s ease;
516
516
  white-space: nowrap;
517
517
  }
518
- .stack-devtool .sdt-ov-btn:disabled { opacity: 0.4; cursor: not-allowed; }
518
+ .hexclave-devtool .sdt-ov-btn:disabled { opacity: 0.4; cursor: not-allowed; }
519
519
 
520
- .stack-devtool .sdt-ov-btn-primary {
520
+ .hexclave-devtool .sdt-ov-btn-primary {
521
521
  background: var(--sdt-accent);
522
522
  color: #fff;
523
523
  }
524
- .stack-devtool .sdt-ov-btn-primary:hover { background: var(--sdt-accent-hover); }
524
+ .hexclave-devtool .sdt-ov-btn-primary:hover { background: var(--sdt-accent-hover); }
525
525
 
526
- .stack-devtool .sdt-ov-btn-secondary {
526
+ .hexclave-devtool .sdt-ov-btn-secondary {
527
527
  background: var(--sdt-bg-hover);
528
528
  color: var(--sdt-text);
529
529
  }
530
- .stack-devtool .sdt-ov-btn-secondary:hover { background: var(--sdt-bg-active); }
530
+ .hexclave-devtool .sdt-ov-btn-secondary:hover { background: var(--sdt-bg-active); }
531
531
 
532
- .stack-devtool .sdt-ov-btn-danger {
532
+ .hexclave-devtool .sdt-ov-btn-danger {
533
533
  background: var(--sdt-error-muted);
534
534
  color: var(--sdt-error);
535
535
  border: 1px solid rgba(239, 68, 68, 0.15);
536
536
  }
537
- .stack-devtool .sdt-ov-btn-danger:hover { background: rgba(239, 68, 68, 0.2); }
537
+ .hexclave-devtool .sdt-ov-btn-danger:hover { background: rgba(239, 68, 68, 0.2); }
538
538
 
539
- .stack-devtool .sdt-ov-btn-wide { flex: 1; }
539
+ .hexclave-devtool .sdt-ov-btn-wide { flex: 1; }
540
540
 
541
- .stack-devtool .sdt-ov-email-input {
541
+ .hexclave-devtool .sdt-ov-email-input {
542
542
  display: flex;
543
543
  flex: 1 1 180px;
544
544
  border: 1px solid var(--sdt-border-subtle);
@@ -547,11 +547,11 @@ const devToolCSS = `
547
547
  background: var(--sdt-bg);
548
548
  transition: border-color 0.15s ease;
549
549
  }
550
- .stack-devtool .sdt-ov-email-input:focus-within {
550
+ .hexclave-devtool .sdt-ov-email-input:focus-within {
551
551
  border-color: var(--sdt-accent);
552
552
  box-shadow: 0 0 0 2px var(--sdt-accent-muted);
553
553
  }
554
- .stack-devtool .sdt-ov-email-input input {
554
+ .hexclave-devtool .sdt-ov-email-input input {
555
555
  flex: 1;
556
556
  height: 28px;
557
557
  padding: 0 8px;
@@ -563,8 +563,8 @@ const devToolCSS = `
563
563
  outline: none;
564
564
  min-width: 0;
565
565
  }
566
- .stack-devtool .sdt-ov-email-input input::placeholder { color: var(--sdt-text-tertiary); }
567
- .stack-devtool .sdt-ov-email-input button {
566
+ .hexclave-devtool .sdt-ov-email-input input::placeholder { color: var(--sdt-text-tertiary); }
567
+ .hexclave-devtool .sdt-ov-email-input button {
568
568
  width: 28px;
569
569
  height: 28px;
570
570
  display: flex;
@@ -578,31 +578,31 @@ const devToolCSS = `
578
578
  flex-shrink: 0;
579
579
  font-family: var(--sdt-font);
580
580
  }
581
- .stack-devtool .sdt-ov-email-input button:hover { background: var(--sdt-accent-muted); }
582
- .stack-devtool .sdt-ov-email-input button:disabled { opacity: 0.3; cursor: not-allowed; }
581
+ .hexclave-devtool .sdt-ov-email-input button:hover { background: var(--sdt-accent-muted); }
582
+ .hexclave-devtool .sdt-ov-email-input button:disabled { opacity: 0.3; cursor: not-allowed; }
583
583
 
584
- .stack-devtool .sdt-ov-toast {
584
+ .hexclave-devtool .sdt-ov-toast {
585
585
  font-size: 11px;
586
586
  padding: 5px 10px;
587
587
  border-radius: 6px;
588
588
  margin-top: 8px;
589
589
  line-height: 1.4;
590
590
  }
591
- .stack-devtool .sdt-ov-toast-success { background: var(--sdt-success-muted); color: var(--sdt-success); }
592
- .stack-devtool .sdt-ov-toast-error { background: var(--sdt-error-muted); color: var(--sdt-error); }
591
+ .hexclave-devtool .sdt-ov-toast-success { background: var(--sdt-success-muted); color: var(--sdt-success); }
592
+ .hexclave-devtool .sdt-ov-toast-error { background: var(--sdt-error-muted); color: var(--sdt-error); }
593
593
 
594
594
  /* --- Auth methods card --- */
595
- .stack-devtool .sdt-ov-card-auth {
595
+ .hexclave-devtool .sdt-ov-card-auth {
596
596
  padding: 14px 16px;
597
597
  }
598
598
 
599
- .stack-devtool .sdt-ov-auth-grid {
599
+ .hexclave-devtool .sdt-ov-auth-grid {
600
600
  display: flex;
601
601
  flex-wrap: wrap;
602
602
  gap: 4px;
603
603
  }
604
604
 
605
- .stack-devtool .sdt-ov-method {
605
+ .hexclave-devtool .sdt-ov-method {
606
606
  display: flex;
607
607
  align-items: center;
608
608
  gap: 5px;
@@ -615,28 +615,28 @@ const devToolCSS = `
615
615
  transition: all 0.15s ease;
616
616
  }
617
617
 
618
- .stack-devtool .sdt-ov-method-on {
618
+ .hexclave-devtool .sdt-ov-method-on {
619
619
  color: var(--sdt-text);
620
620
  background: var(--sdt-success-muted);
621
621
  border-color: rgba(34, 197, 94, 0.12);
622
622
  }
623
623
 
624
- .stack-devtool .sdt-ov-method-off {
624
+ .hexclave-devtool .sdt-ov-method-off {
625
625
  color: var(--sdt-text-tertiary);
626
626
  opacity: 0.5;
627
627
  border-style: dashed;
628
628
  }
629
629
 
630
- .stack-devtool .sdt-ov-method-oauth {
630
+ .hexclave-devtool .sdt-ov-method-oauth {
631
631
  text-transform: capitalize;
632
632
  }
633
633
 
634
- .stack-devtool .sdt-ov-method-warn {
634
+ .hexclave-devtool .sdt-ov-method-warn {
635
635
  color: var(--sdt-warning);
636
636
  border-color: rgba(234, 179, 8, 0.2);
637
637
  }
638
638
 
639
- .stack-devtool .sdt-ov-skeleton-pill {
639
+ .hexclave-devtool .sdt-ov-skeleton-pill {
640
640
  width: 64px;
641
641
  height: 26px;
642
642
  border-radius: 6px;
@@ -651,12 +651,12 @@ const devToolCSS = `
651
651
  }
652
652
 
653
653
  /* --- Setup checklist card (only shown when something is incomplete) --- */
654
- .stack-devtool .sdt-ov-card-checks {
654
+ .hexclave-devtool .sdt-ov-card-checks {
655
655
  padding: 14px 16px;
656
656
  border-color: rgba(234, 179, 8, 0.25);
657
657
  }
658
658
 
659
- .stack-devtool .sdt-ov-checks-header {
659
+ .hexclave-devtool .sdt-ov-checks-header {
660
660
  display: flex;
661
661
  align-items: center;
662
662
  justify-content: space-between;
@@ -664,24 +664,24 @@ const devToolCSS = `
664
664
  margin-bottom: 8px;
665
665
  }
666
666
 
667
- .stack-devtool .sdt-ov-checks-badge {
667
+ .hexclave-devtool .sdt-ov-checks-badge {
668
668
  font-size: 10px;
669
669
  font-weight: 700;
670
670
  padding: 1px 6px;
671
671
  border-radius: 4px;
672
672
  }
673
673
 
674
- .stack-devtool .sdt-ov-checks-badge-ok {
674
+ .hexclave-devtool .sdt-ov-checks-badge-ok {
675
675
  background: var(--sdt-success-muted);
676
676
  color: var(--sdt-success);
677
677
  }
678
678
 
679
- .stack-devtool .sdt-ov-checks-badge-warn {
679
+ .hexclave-devtool .sdt-ov-checks-badge-warn {
680
680
  background: var(--sdt-warning-muted);
681
681
  color: var(--sdt-warning);
682
682
  }
683
683
 
684
- .stack-devtool .sdt-ov-checks-bar {
684
+ .hexclave-devtool .sdt-ov-checks-bar {
685
685
  height: 3px;
686
686
  border-radius: 2px;
687
687
  background: var(--sdt-border-subtle);
@@ -689,14 +689,14 @@ const devToolCSS = `
689
689
  overflow: hidden;
690
690
  }
691
691
 
692
- .stack-devtool .sdt-ov-checks-bar-fill {
692
+ .hexclave-devtool .sdt-ov-checks-bar-fill {
693
693
  height: 100%;
694
694
  border-radius: 2px;
695
695
  background: var(--sdt-warning);
696
696
  transition: width 0.4s ease;
697
697
  }
698
698
 
699
- .stack-devtool .sdt-ov-setup-row {
699
+ .hexclave-devtool .sdt-ov-setup-row {
700
700
  display: flex;
701
701
  align-items: center;
702
702
  gap: 8px;
@@ -705,31 +705,31 @@ const devToolCSS = `
705
705
  border-bottom: 1px solid var(--sdt-border-subtle);
706
706
  }
707
707
 
708
- .stack-devtool .sdt-ov-setup-row:last-child { border-bottom: none; }
708
+ .hexclave-devtool .sdt-ov-setup-row:last-child { border-bottom: none; }
709
709
 
710
- .stack-devtool .sdt-ov-setup-dot {
710
+ .hexclave-devtool .sdt-ov-setup-dot {
711
711
  width: 7px;
712
712
  height: 7px;
713
713
  border-radius: 50%;
714
714
  flex-shrink: 0;
715
715
  }
716
716
 
717
- .stack-devtool .sdt-ov-setup-dot-ok { background: var(--sdt-success); }
718
- .stack-devtool .sdt-ov-setup-dot-warn { background: var(--sdt-warning); }
717
+ .hexclave-devtool .sdt-ov-setup-dot-ok { background: var(--sdt-success); }
718
+ .hexclave-devtool .sdt-ov-setup-dot-warn { background: var(--sdt-warning); }
719
719
 
720
- .stack-devtool .sdt-ov-setup-label {
720
+ .hexclave-devtool .sdt-ov-setup-label {
721
721
  color: var(--sdt-text);
722
722
  font-size: 12px;
723
723
  }
724
724
 
725
- .stack-devtool .sdt-ov-setup-hint {
725
+ .hexclave-devtool .sdt-ov-setup-hint {
726
726
  margin-left: auto;
727
727
  font-size: 11px;
728
728
  color: var(--sdt-text-tertiary);
729
729
  }
730
730
 
731
731
  /* Status badges (shared across tabs) */
732
- .stack-devtool .sdt-badge {
732
+ .hexclave-devtool .sdt-badge {
733
733
  display: inline-flex;
734
734
  align-items: center;
735
735
  gap: 4px;
@@ -738,21 +738,21 @@ const devToolCSS = `
738
738
  font-size: 11px;
739
739
  font-weight: 500;
740
740
  }
741
- .stack-devtool .sdt-badge-success { background: var(--sdt-success-muted); color: var(--sdt-success); }
742
- .stack-devtool .sdt-badge-warning { background: var(--sdt-warning-muted); color: var(--sdt-warning); }
743
- .stack-devtool .sdt-badge-error { background: var(--sdt-error-muted); color: var(--sdt-error); }
744
- .stack-devtool .sdt-badge-info { background: var(--sdt-info-muted); color: var(--sdt-info); }
741
+ .hexclave-devtool .sdt-badge-success { background: var(--sdt-success-muted); color: var(--sdt-success); }
742
+ .hexclave-devtool .sdt-badge-warning { background: var(--sdt-warning-muted); color: var(--sdt-warning); }
743
+ .hexclave-devtool .sdt-badge-error { background: var(--sdt-error-muted); color: var(--sdt-error); }
744
+ .hexclave-devtool .sdt-badge-info { background: var(--sdt-info-muted); color: var(--sdt-info); }
745
745
 
746
746
  /* ===== Components / Pages tab ===== */
747
747
 
748
- .stack-devtool .sdt-pg-layout {
748
+ .hexclave-devtool .sdt-pg-layout {
749
749
  display: flex;
750
750
  height: calc(100% + 32px);
751
751
  margin: -16px;
752
752
  }
753
753
 
754
754
  /* --- Sidebar --- */
755
- .stack-devtool .sdt-pg-sidebar {
755
+ .hexclave-devtool .sdt-pg-sidebar {
756
756
  width: 250px;
757
757
  flex-shrink: 0;
758
758
  border-right: 1px solid var(--sdt-border);
@@ -761,7 +761,7 @@ const devToolCSS = `
761
761
  overflow: hidden;
762
762
  }
763
763
 
764
- .stack-devtool .sdt-pg-sidebar-head {
764
+ .hexclave-devtool .sdt-pg-sidebar-head {
765
765
  display: flex;
766
766
  align-items: center;
767
767
  gap: 6px;
@@ -769,7 +769,7 @@ const devToolCSS = `
769
769
  flex-shrink: 0;
770
770
  }
771
771
 
772
- .stack-devtool .sdt-pg-sidebar-title {
772
+ .hexclave-devtool .sdt-pg-sidebar-title {
773
773
  font-size: 10px;
774
774
  font-weight: 700;
775
775
  letter-spacing: 1px;
@@ -777,7 +777,7 @@ const devToolCSS = `
777
777
  color: var(--sdt-text-tertiary);
778
778
  }
779
779
 
780
- .stack-devtool .sdt-pg-sidebar-count {
780
+ .hexclave-devtool .sdt-pg-sidebar-count {
781
781
  font-size: 10px;
782
782
  font-weight: 700;
783
783
  color: var(--sdt-text-tertiary);
@@ -787,7 +787,7 @@ const devToolCSS = `
787
787
  line-height: 18px;
788
788
  }
789
789
 
790
- .stack-devtool .sdt-pg-sidebar-warn {
790
+ .hexclave-devtool .sdt-pg-sidebar-warn {
791
791
  margin-left: auto;
792
792
  font-size: 10px;
793
793
  font-weight: 700;
@@ -798,14 +798,14 @@ const devToolCSS = `
798
798
  line-height: 18px;
799
799
  }
800
800
 
801
- .stack-devtool .sdt-pg-list {
801
+ .hexclave-devtool .sdt-pg-list {
802
802
  flex: 1;
803
803
  overflow-y: auto;
804
804
  padding: 0 6px 6px;
805
805
  }
806
806
 
807
807
  /* --- List item --- */
808
- .stack-devtool .sdt-pg-item {
808
+ .hexclave-devtool .sdt-pg-item {
809
809
  display: flex;
810
810
  align-items: center;
811
811
  gap: 8px;
@@ -818,33 +818,33 @@ const devToolCSS = `
818
818
  position: relative;
819
819
  }
820
820
 
821
- .stack-devtool .sdt-pg-item:hover {
821
+ .hexclave-devtool .sdt-pg-item:hover {
822
822
  background: var(--sdt-bg-hover);
823
823
  }
824
824
 
825
- .stack-devtool .sdt-pg-item[data-selected="true"] {
825
+ .hexclave-devtool .sdt-pg-item[data-selected="true"] {
826
826
  background: var(--sdt-accent-muted);
827
827
  }
828
828
 
829
- .stack-devtool .sdt-pg-item[data-selected="true"] .sdt-pg-item-label {
829
+ .hexclave-devtool .sdt-pg-item[data-selected="true"] .sdt-pg-item-label {
830
830
  color: var(--sdt-accent-hover);
831
831
  font-weight: 600;
832
832
  }
833
833
 
834
- .stack-devtool .sdt-pg-item-dot {
834
+ .hexclave-devtool .sdt-pg-item-dot {
835
835
  width: 6px;
836
836
  height: 6px;
837
837
  border-radius: 50%;
838
838
  flex-shrink: 0;
839
839
  }
840
- .stack-devtool .sdt-pg-item-dot-handler { background: var(--sdt-info); }
841
- .stack-devtool .sdt-pg-item-dot-custom { background: var(--sdt-success); }
842
- .stack-devtool .sdt-pg-item-dot-warn {
840
+ .hexclave-devtool .sdt-pg-item-dot-handler { background: var(--sdt-info); }
841
+ .hexclave-devtool .sdt-pg-item-dot-custom { background: var(--sdt-success); }
842
+ .hexclave-devtool .sdt-pg-item-dot-warn {
843
843
  background: var(--sdt-warning);
844
844
  box-shadow: 0 0 6px rgba(234, 179, 8, 0.4);
845
845
  }
846
846
 
847
- .stack-devtool .sdt-pg-item-label {
847
+ .hexclave-devtool .sdt-pg-item-label {
848
848
  flex: 1;
849
849
  min-width: 0;
850
850
  overflow: hidden;
@@ -853,7 +853,7 @@ const devToolCSS = `
853
853
  }
854
854
 
855
855
  /* --- Badges --- */
856
- .stack-devtool .sdt-pg-badge {
856
+ .hexclave-devtool .sdt-pg-badge {
857
857
  display: inline-flex;
858
858
  align-items: center;
859
859
  height: 20px;
@@ -866,10 +866,10 @@ const devToolCSS = `
866
866
  line-height: 1;
867
867
  }
868
868
 
869
- .stack-devtool .sdt-pg-badge-outdated { background: var(--sdt-warning-muted); color: var(--sdt-warning); }
869
+ .hexclave-devtool .sdt-pg-badge-outdated { background: var(--sdt-warning-muted); color: var(--sdt-warning); }
870
870
 
871
871
  /* --- Empty state --- */
872
- .stack-devtool .sdt-pg-empty {
872
+ .hexclave-devtool .sdt-pg-empty {
873
873
  flex: 1;
874
874
  display: flex;
875
875
  flex-direction: column;
@@ -879,25 +879,25 @@ const devToolCSS = `
879
879
  text-align: center;
880
880
  }
881
881
 
882
- .stack-devtool .sdt-pg-empty-icon {
882
+ .hexclave-devtool .sdt-pg-empty-icon {
883
883
  color: var(--sdt-text-tertiary);
884
884
  opacity: 0.35;
885
885
  margin-bottom: 4px;
886
886
  }
887
887
 
888
- .stack-devtool .sdt-pg-empty-text {
888
+ .hexclave-devtool .sdt-pg-empty-text {
889
889
  font-size: 14px;
890
890
  font-weight: 600;
891
891
  color: var(--sdt-text-secondary);
892
892
  }
893
893
 
894
- .stack-devtool .sdt-pg-empty-sub {
894
+ .hexclave-devtool .sdt-pg-empty-sub {
895
895
  font-size: 12px;
896
896
  color: var(--sdt-text-tertiary);
897
897
  }
898
898
 
899
899
  /* --- Main panel --- */
900
- .stack-devtool .sdt-pg-main {
900
+ .hexclave-devtool .sdt-pg-main {
901
901
  flex: 1;
902
902
  overflow-y: auto;
903
903
  padding: 16px 18px;
@@ -906,34 +906,34 @@ const devToolCSS = `
906
906
  }
907
907
 
908
908
  /* --- Detail view --- */
909
- .stack-devtool .sdt-pg-detail {
909
+ .hexclave-devtool .sdt-pg-detail {
910
910
  display: flex;
911
911
  flex-direction: column;
912
912
  gap: 12px;
913
913
  }
914
914
 
915
915
  /* Header */
916
- .stack-devtool .sdt-pg-header {
916
+ .hexclave-devtool .sdt-pg-header {
917
917
  display: flex;
918
918
  flex-direction: column;
919
919
  gap: 4px;
920
920
  }
921
921
 
922
- .stack-devtool .sdt-pg-header-top {
922
+ .hexclave-devtool .sdt-pg-header-top {
923
923
  display: flex;
924
924
  align-items: center;
925
925
  gap: 8px;
926
926
  flex-wrap: wrap;
927
927
  }
928
928
 
929
- .stack-devtool .sdt-pg-title {
929
+ .hexclave-devtool .sdt-pg-title {
930
930
  font-size: 15px;
931
931
  font-weight: 700;
932
932
  margin: 0;
933
933
  color: var(--sdt-text);
934
934
  }
935
935
 
936
- .stack-devtool .sdt-pg-title-url {
936
+ .hexclave-devtool .sdt-pg-title-url {
937
937
  min-width: 0;
938
938
  max-width: 280px;
939
939
  color: var(--sdt-text-tertiary);
@@ -945,24 +945,24 @@ const devToolCSS = `
945
945
  text-decoration: none;
946
946
  }
947
947
 
948
- .stack-devtool .sdt-pg-title-url:hover {
948
+ .hexclave-devtool .sdt-pg-title-url:hover {
949
949
  color: var(--sdt-accent);
950
950
  }
951
951
 
952
- .stack-devtool .sdt-pg-subtitle {
952
+ .hexclave-devtool .sdt-pg-subtitle {
953
953
  font-size: 12px;
954
954
  color: var(--sdt-text-secondary);
955
955
  line-height: 1.4;
956
956
  }
957
957
 
958
- .stack-devtool .sdt-pg-code-inline {
958
+ .hexclave-devtool .sdt-pg-code-inline {
959
959
  display: flex;
960
960
  align-items: center;
961
961
  gap: 8px;
962
962
  margin-top: 4px;
963
963
  }
964
964
 
965
- .stack-devtool .sdt-pg-code {
965
+ .hexclave-devtool .sdt-pg-code {
966
966
  flex: 1;
967
967
  min-width: 0;
968
968
  font-family: var(--sdt-font-mono);
@@ -975,7 +975,7 @@ const devToolCSS = `
975
975
  }
976
976
 
977
977
  /* --- Copy button --- */
978
- .stack-devtool .sdt-pg-copy-btn {
978
+ .hexclave-devtool .sdt-pg-copy-btn {
979
979
  height: 26px;
980
980
  padding: 0 10px;
981
981
  border-radius: 6px;
@@ -991,7 +991,7 @@ const devToolCSS = `
991
991
  white-space: nowrap;
992
992
  }
993
993
 
994
- .stack-devtool .sdt-pg-open-btn {
994
+ .hexclave-devtool .sdt-pg-open-btn {
995
995
  display: inline-flex;
996
996
  align-items: center;
997
997
  justify-content: center;
@@ -1001,24 +1001,24 @@ const devToolCSS = `
1001
1001
  font-size: 12px;
1002
1002
  }
1003
1003
 
1004
- .stack-devtool .sdt-pg-open-btn svg {
1004
+ .hexclave-devtool .sdt-pg-open-btn svg {
1005
1005
  flex-shrink: 0;
1006
1006
  }
1007
1007
 
1008
- .stack-devtool .sdt-pg-copy-btn:hover {
1008
+ .hexclave-devtool .sdt-pg-copy-btn:hover {
1009
1009
  background: var(--sdt-bg-hover);
1010
1010
  color: var(--sdt-text);
1011
1011
  border-color: var(--sdt-accent);
1012
1012
  }
1013
1013
 
1014
- .stack-devtool .sdt-pg-copy-btn-ok {
1014
+ .hexclave-devtool .sdt-pg-copy-btn-ok {
1015
1015
  border-color: rgba(34, 197, 94, 0.3);
1016
1016
  color: var(--sdt-success);
1017
1017
  background: var(--sdt-success-muted);
1018
1018
  }
1019
1019
 
1020
1020
  /* --- Update banner --- */
1021
- .stack-devtool .sdt-pg-update-banner {
1021
+ .hexclave-devtool .sdt-pg-update-banner {
1022
1022
  display: flex;
1023
1023
  align-items: flex-start;
1024
1024
  gap: 10px;
@@ -1028,7 +1028,7 @@ const devToolCSS = `
1028
1028
  border-radius: 10px;
1029
1029
  }
1030
1030
 
1031
- .stack-devtool .sdt-pg-update-banner-icon {
1031
+ .hexclave-devtool .sdt-pg-update-banner-icon {
1032
1032
  width: 22px;
1033
1033
  height: 22px;
1034
1034
  border-radius: 50%;
@@ -1043,60 +1043,60 @@ const devToolCSS = `
1043
1043
  margin-top: 1px;
1044
1044
  }
1045
1045
 
1046
- .stack-devtool .sdt-pg-update-banner-body {
1046
+ .hexclave-devtool .sdt-pg-update-banner-body {
1047
1047
  flex: 1;
1048
1048
  min-width: 0;
1049
1049
  }
1050
1050
 
1051
- .stack-devtool .sdt-pg-update-banner-title {
1051
+ .hexclave-devtool .sdt-pg-update-banner-title {
1052
1052
  font-size: 13px;
1053
1053
  font-weight: 700;
1054
1054
  color: var(--sdt-warning);
1055
1055
  margin-bottom: 2px;
1056
1056
  }
1057
1057
 
1058
- .stack-devtool .sdt-pg-update-banner-text {
1058
+ .hexclave-devtool .sdt-pg-update-banner-text {
1059
1059
  font-size: 12px;
1060
1060
  color: var(--sdt-text-secondary);
1061
1061
  line-height: 1.5;
1062
1062
  }
1063
1063
 
1064
- .stack-devtool .sdt-pg-update-banner-text strong {
1064
+ .hexclave-devtool .sdt-pg-update-banner-text strong {
1065
1065
  color: var(--sdt-text);
1066
1066
  font-weight: 600;
1067
1067
  }
1068
1068
 
1069
1069
  /* --- Sections (changelog, prompt) --- */
1070
- .stack-devtool .sdt-pg-section {
1070
+ .hexclave-devtool .sdt-pg-section {
1071
1071
  border: 1px solid var(--sdt-border-subtle);
1072
1072
  border-radius: 10px;
1073
1073
  padding: 12px 14px;
1074
1074
  background: var(--sdt-bg-elevated);
1075
1075
  }
1076
1076
 
1077
- .stack-devtool .sdt-pg-section-warn {
1077
+ .hexclave-devtool .sdt-pg-section-warn {
1078
1078
  border-color: rgba(234, 179, 8, 0.25);
1079
1079
  background: rgba(234, 179, 8, 0.03);
1080
1080
  }
1081
1081
 
1082
- .stack-devtool .sdt-pg-section-label {
1082
+ .hexclave-devtool .sdt-pg-section-label {
1083
1083
  font-size: 12px;
1084
1084
  font-weight: 500;
1085
1085
  color: var(--sdt-text-secondary);
1086
1086
  margin-bottom: 8px;
1087
1087
  }
1088
1088
 
1089
- .stack-devtool .sdt-pg-section-warn .sdt-pg-section-label {
1089
+ .hexclave-devtool .sdt-pg-section-warn .sdt-pg-section-label {
1090
1090
  color: var(--sdt-warning);
1091
1091
  }
1092
1092
 
1093
- .stack-devtool .sdt-pg-section-footer {
1093
+ .hexclave-devtool .sdt-pg-section-footer {
1094
1094
  display: flex;
1095
1095
  margin-top: 8px;
1096
1096
  }
1097
1097
 
1098
1098
  /* Changelog list */
1099
- .stack-devtool .sdt-pg-changelog-list {
1099
+ .hexclave-devtool .sdt-pg-changelog-list {
1100
1100
  list-style: none;
1101
1101
  margin: 0;
1102
1102
  padding: 0;
@@ -1105,7 +1105,7 @@ const devToolCSS = `
1105
1105
  gap: 4px;
1106
1106
  }
1107
1107
 
1108
- .stack-devtool .sdt-pg-changelog-item {
1108
+ .hexclave-devtool .sdt-pg-changelog-item {
1109
1109
  display: flex;
1110
1110
  align-items: flex-start;
1111
1111
  gap: 8px;
@@ -1114,14 +1114,14 @@ const devToolCSS = `
1114
1114
  line-height: 1.5;
1115
1115
  }
1116
1116
 
1117
- .stack-devtool .sdt-pg-changelog-bullet {
1117
+ .hexclave-devtool .sdt-pg-changelog-bullet {
1118
1118
  flex-shrink: 0;
1119
1119
  font-size: 12px;
1120
1120
  line-height: 1.5;
1121
1121
  }
1122
1122
 
1123
1123
  /* Pre block */
1124
- .stack-devtool .sdt-pg-pre {
1124
+ .hexclave-devtool .sdt-pg-pre {
1125
1125
  font-family: var(--sdt-font-mono);
1126
1126
  font-size: 11px;
1127
1127
  line-height: 1.6;
@@ -1137,32 +1137,32 @@ const devToolCSS = `
1137
1137
  border: 1px solid var(--sdt-border-subtle);
1138
1138
  }
1139
1139
 
1140
- .stack-devtool .sdt-preview-loading,
1141
- .stack-devtool .sdt-preview-unavailable {
1140
+ .hexclave-devtool .sdt-preview-loading,
1141
+ .hexclave-devtool .sdt-preview-unavailable {
1142
1142
  font-size: 12px;
1143
1143
  color: var(--sdt-text-secondary);
1144
1144
  line-height: 1.5;
1145
1145
  }
1146
1146
 
1147
- .stack-devtool .sdt-preview-error {
1147
+ .hexclave-devtool .sdt-preview-error {
1148
1148
  font-size: 12px;
1149
1149
  color: var(--sdt-error);
1150
1150
  line-height: 1.5;
1151
1151
  }
1152
1152
 
1153
- .stack-devtool .sdt-preview-code {
1153
+ .hexclave-devtool .sdt-preview-code {
1154
1154
  font-family: var(--sdt-font-mono);
1155
1155
  font-size: 11px;
1156
1156
  color: var(--sdt-text);
1157
1157
  }
1158
1158
 
1159
- .stack-devtool .sdt-props-table {
1159
+ .hexclave-devtool .sdt-props-table {
1160
1160
  width: 100%;
1161
1161
  border-collapse: collapse;
1162
1162
  font-size: 12px;
1163
1163
  }
1164
1164
 
1165
- .stack-devtool .sdt-props-table th {
1165
+ .hexclave-devtool .sdt-props-table th {
1166
1166
  text-align: left;
1167
1167
  font-weight: 600;
1168
1168
  color: var(--sdt-text-tertiary);
@@ -1173,24 +1173,24 @@ const devToolCSS = `
1173
1173
  letter-spacing: 0.5px;
1174
1174
  }
1175
1175
 
1176
- .stack-devtool .sdt-props-table td {
1176
+ .hexclave-devtool .sdt-props-table td {
1177
1177
  padding: 6px 8px;
1178
1178
  border-bottom: 1px solid var(--sdt-border-subtle);
1179
1179
  color: var(--sdt-text);
1180
1180
  }
1181
1181
 
1182
- .stack-devtool .sdt-props-table td:first-child {
1182
+ .hexclave-devtool .sdt-props-table td:first-child {
1183
1183
  font-family: var(--sdt-font-mono);
1184
1184
  color: var(--sdt-accent-hover);
1185
1185
  }
1186
1186
 
1187
- .stack-devtool .sdt-props-table td:last-child {
1187
+ .hexclave-devtool .sdt-props-table td:last-child {
1188
1188
  font-family: var(--sdt-font-mono);
1189
1189
  color: var(--sdt-text-secondary);
1190
1190
  }
1191
1191
 
1192
1192
  /* Iframe tabs */
1193
- .stack-devtool .sdt-iframe-container {
1193
+ .hexclave-devtool .sdt-iframe-container {
1194
1194
  position: relative;
1195
1195
  flex: 1;
1196
1196
  min-height: 0;
@@ -1200,7 +1200,7 @@ const devToolCSS = `
1200
1200
  flex-direction: column;
1201
1201
  }
1202
1202
 
1203
- .stack-devtool .sdt-iframe-toolbar {
1203
+ .hexclave-devtool .sdt-iframe-toolbar {
1204
1204
  position: absolute;
1205
1205
  top: 8px;
1206
1206
  right: 8px;
@@ -1213,12 +1213,12 @@ const devToolCSS = `
1213
1213
  padding: 0;
1214
1214
  }
1215
1215
 
1216
- .stack-devtool .sdt-panel-fullscreen .sdt-iframe-toolbar {
1216
+ .hexclave-devtool .sdt-panel-fullscreen .sdt-iframe-toolbar {
1217
1217
  top: 60px;
1218
1218
  right: 12px;
1219
1219
  }
1220
1220
 
1221
- .stack-devtool .sdt-iframe-open-link {
1221
+ .hexclave-devtool .sdt-iframe-open-link {
1222
1222
  display: inline-flex;
1223
1223
  align-items: center;
1224
1224
  min-height: 28px;
@@ -1234,11 +1234,11 @@ const devToolCSS = `
1234
1234
  text-decoration: none;
1235
1235
  }
1236
1236
 
1237
- .stack-devtool .sdt-iframe-open-link:hover {
1237
+ .hexclave-devtool .sdt-iframe-open-link:hover {
1238
1238
  color: var(--sdt-text);
1239
1239
  }
1240
1240
 
1241
- .stack-devtool .sdt-iframe-container iframe {
1241
+ .hexclave-devtool .sdt-iframe-container iframe {
1242
1242
  flex: 1;
1243
1243
  min-height: 0;
1244
1244
  width: 100%;
@@ -1248,7 +1248,7 @@ const devToolCSS = `
1248
1248
  border-radius: 0;
1249
1249
  }
1250
1250
 
1251
- .stack-devtool .sdt-iframe-loading {
1251
+ .hexclave-devtool .sdt-iframe-loading {
1252
1252
  flex: 1;
1253
1253
  display: flex;
1254
1254
  align-items: center;
@@ -1257,7 +1257,7 @@ const devToolCSS = `
1257
1257
  font-size: 13px;
1258
1258
  }
1259
1259
 
1260
- .stack-devtool .sdt-iframe-error {
1260
+ .hexclave-devtool .sdt-iframe-error {
1261
1261
  flex: 1;
1262
1262
  display: flex;
1263
1263
  flex-direction: column;
@@ -1268,7 +1268,7 @@ const devToolCSS = `
1268
1268
  font-size: 13px;
1269
1269
  }
1270
1270
 
1271
- .stack-devtool .sdt-iframe-error-btn {
1271
+ .hexclave-devtool .sdt-iframe-error-btn {
1272
1272
  padding: 6px 16px;
1273
1273
  background: var(--sdt-accent);
1274
1274
  color: white;
@@ -1281,24 +1281,24 @@ const devToolCSS = `
1281
1281
  transition: background 0.15s ease;
1282
1282
  }
1283
1283
 
1284
- .stack-devtool .sdt-iframe-error-btn:hover {
1284
+ .hexclave-devtool .sdt-iframe-error-btn:hover {
1285
1285
  background: var(--sdt-accent-hover);
1286
1286
  }
1287
1287
 
1288
1288
  /* Shared content fade animation */
1289
- .stack-devtool .sdt-tab-content-fade {
1289
+ .hexclave-devtool .sdt-tab-content-fade {
1290
1290
  animation: sdt-tab-fade-in 0.15s ease-out;
1291
1291
  }
1292
1292
 
1293
1293
  /* Console tab */
1294
- .stack-devtool .sdt-console-panel {
1294
+ .hexclave-devtool .sdt-console-panel {
1295
1295
  display: flex;
1296
1296
  flex-direction: column;
1297
1297
  height: 100%;
1298
1298
  min-height: 0;
1299
1299
  }
1300
1300
 
1301
- .stack-devtool .sdt-console-header {
1301
+ .hexclave-devtool .sdt-console-header {
1302
1302
  display: flex;
1303
1303
  align-items: center;
1304
1304
  justify-content: space-between;
@@ -1307,13 +1307,13 @@ const devToolCSS = `
1307
1307
  flex-shrink: 0;
1308
1308
  }
1309
1309
 
1310
- .stack-devtool .sdt-console-title {
1310
+ .hexclave-devtool .sdt-console-title {
1311
1311
  color: var(--sdt-text);
1312
1312
  font-size: 13px;
1313
1313
  font-weight: 600;
1314
1314
  }
1315
1315
 
1316
- .stack-devtool .sdt-console-actions {
1316
+ .hexclave-devtool .sdt-console-actions {
1317
1317
  display: flex;
1318
1318
  align-items: center;
1319
1319
  gap: 6px;
@@ -1321,7 +1321,7 @@ const devToolCSS = `
1321
1321
  justify-content: flex-end;
1322
1322
  }
1323
1323
 
1324
- .stack-devtool .sdt-console-action-btn {
1324
+ .hexclave-devtool .sdt-console-action-btn {
1325
1325
  display: inline-flex;
1326
1326
  align-items: center;
1327
1327
  justify-content: center;
@@ -1341,23 +1341,23 @@ const devToolCSS = `
1341
1341
  white-space: nowrap;
1342
1342
  }
1343
1343
 
1344
- .stack-devtool .sdt-console-action-btn:hover {
1344
+ .hexclave-devtool .sdt-console-action-btn:hover {
1345
1345
  color: var(--sdt-text);
1346
1346
  background: var(--sdt-bg-hover);
1347
1347
  border-color: var(--sdt-border);
1348
1348
  }
1349
1349
 
1350
- .stack-devtool .sdt-console-action-btn svg {
1350
+ .hexclave-devtool .sdt-console-action-btn svg {
1351
1351
  flex-shrink: 0;
1352
1352
  }
1353
1353
 
1354
- .stack-devtool .sdt-console-log-scroll {
1354
+ .hexclave-devtool .sdt-console-log-scroll {
1355
1355
  flex: 1;
1356
1356
  min-height: 0;
1357
1357
  overflow: auto;
1358
1358
  }
1359
1359
 
1360
- .stack-devtool .sdt-console-tabs {
1360
+ .hexclave-devtool .sdt-console-tabs {
1361
1361
  position: relative;
1362
1362
  display: flex;
1363
1363
  flex: 1;
@@ -1367,7 +1367,7 @@ const devToolCSS = `
1367
1367
  padding: 2px;
1368
1368
  }
1369
1369
 
1370
- .stack-devtool .sdt-console-tab-indicator {
1370
+ .hexclave-devtool .sdt-console-tab-indicator {
1371
1371
  position: absolute;
1372
1372
  top: 2px;
1373
1373
  left: 0;
@@ -1379,7 +1379,7 @@ const devToolCSS = `
1379
1379
  z-index: 0;
1380
1380
  }
1381
1381
 
1382
- .stack-devtool .sdt-console-tab {
1382
+ .hexclave-devtool .sdt-console-tab {
1383
1383
  position: relative;
1384
1384
  z-index: 1;
1385
1385
  flex: 1;
@@ -1396,21 +1396,21 @@ const devToolCSS = `
1396
1396
  text-align: center;
1397
1397
  }
1398
1398
 
1399
- .stack-devtool .sdt-console-tab:hover {
1399
+ .hexclave-devtool .sdt-console-tab:hover {
1400
1400
  color: var(--sdt-text);
1401
1401
  }
1402
1402
 
1403
- .stack-devtool .sdt-console-tab[data-active="true"] {
1403
+ .hexclave-devtool .sdt-console-tab[data-active="true"] {
1404
1404
  color: var(--sdt-text);
1405
1405
  }
1406
1406
 
1407
- .stack-devtool .sdt-log-list {
1407
+ .hexclave-devtool .sdt-log-list {
1408
1408
  display: flex;
1409
1409
  flex-direction: column;
1410
1410
  gap: 4px;
1411
1411
  }
1412
1412
 
1413
- .stack-devtool .sdt-log-load-hint {
1413
+ .hexclave-devtool .sdt-log-load-hint {
1414
1414
  padding: 8px 10px;
1415
1415
  color: var(--sdt-text-tertiary);
1416
1416
  font-family: var(--sdt-font);
@@ -1418,7 +1418,7 @@ const devToolCSS = `
1418
1418
  text-align: center;
1419
1419
  }
1420
1420
 
1421
- .stack-devtool .sdt-log-item {
1421
+ .hexclave-devtool .sdt-log-item {
1422
1422
  display: flex;
1423
1423
  align-items: flex-start;
1424
1424
  gap: 8px;
@@ -1430,13 +1430,13 @@ const devToolCSS = `
1430
1430
  font-family: var(--sdt-font-mono);
1431
1431
  }
1432
1432
 
1433
- .stack-devtool .sdt-log-time {
1433
+ .hexclave-devtool .sdt-log-time {
1434
1434
  color: var(--sdt-text-tertiary);
1435
1435
  flex-shrink: 0;
1436
1436
  font-size: 11px;
1437
1437
  }
1438
1438
 
1439
- .stack-devtool .sdt-log-type {
1439
+ .hexclave-devtool .sdt-log-type {
1440
1440
  padding: 1px 6px;
1441
1441
  border-radius: 4px;
1442
1442
  font-size: 10px;
@@ -1445,13 +1445,13 @@ const devToolCSS = `
1445
1445
  flex-shrink: 0;
1446
1446
  }
1447
1447
 
1448
- .stack-devtool .sdt-log-message {
1448
+ .hexclave-devtool .sdt-log-message {
1449
1449
  flex: 1;
1450
1450
  color: var(--sdt-text);
1451
1451
  word-break: break-all;
1452
1452
  }
1453
1453
 
1454
- .stack-devtool .sdt-log-method {
1454
+ .hexclave-devtool .sdt-log-method {
1455
1455
  padding: 1px 6px;
1456
1456
  border-radius: 4px;
1457
1457
  font-size: 10px;
@@ -1459,40 +1459,40 @@ const devToolCSS = `
1459
1459
  flex-shrink: 0;
1460
1460
  }
1461
1461
 
1462
- .stack-devtool .sdt-log-method-get {
1462
+ .hexclave-devtool .sdt-log-method-get {
1463
1463
  background: var(--sdt-info-muted);
1464
1464
  color: var(--sdt-info);
1465
1465
  }
1466
1466
 
1467
- .stack-devtool .sdt-log-method-post {
1467
+ .hexclave-devtool .sdt-log-method-post {
1468
1468
  background: var(--sdt-success-muted);
1469
1469
  color: var(--sdt-success);
1470
1470
  }
1471
1471
 
1472
- .stack-devtool .sdt-log-method-put, .stack-devtool .sdt-log-method-patch {
1472
+ .hexclave-devtool .sdt-log-method-put, .hexclave-devtool .sdt-log-method-patch {
1473
1473
  background: var(--sdt-warning-muted);
1474
1474
  color: var(--sdt-warning);
1475
1475
  }
1476
1476
 
1477
- .stack-devtool .sdt-log-method-delete {
1477
+ .hexclave-devtool .sdt-log-method-delete {
1478
1478
  background: var(--sdt-error-muted);
1479
1479
  color: var(--sdt-error);
1480
1480
  }
1481
1481
 
1482
- .stack-devtool .sdt-log-status {
1482
+ .hexclave-devtool .sdt-log-status {
1483
1483
  font-size: 11px;
1484
1484
  flex-shrink: 0;
1485
1485
  }
1486
1486
 
1487
- .stack-devtool .sdt-log-status-ok {
1487
+ .hexclave-devtool .sdt-log-status-ok {
1488
1488
  color: var(--sdt-success);
1489
1489
  }
1490
1490
 
1491
- .stack-devtool .sdt-log-status-err {
1491
+ .hexclave-devtool .sdt-log-status-err {
1492
1492
  color: var(--sdt-error);
1493
1493
  }
1494
1494
 
1495
- .stack-devtool .sdt-log-url {
1495
+ .hexclave-devtool .sdt-log-url {
1496
1496
  flex: 1;
1497
1497
  color: var(--sdt-text);
1498
1498
  overflow: hidden;
@@ -1500,7 +1500,7 @@ const devToolCSS = `
1500
1500
  white-space: nowrap;
1501
1501
  }
1502
1502
 
1503
- .stack-devtool .sdt-empty-state {
1503
+ .hexclave-devtool .sdt-empty-state {
1504
1504
  display: flex;
1505
1505
  flex-direction: column;
1506
1506
  align-items: center;
@@ -1513,54 +1513,54 @@ const devToolCSS = `
1513
1513
  gap: 4px;
1514
1514
  }
1515
1515
 
1516
- .stack-devtool .sdt-empty-state-icon {
1516
+ .hexclave-devtool .sdt-empty-state-icon {
1517
1517
  font-size: 24px;
1518
1518
  margin-bottom: 8px;
1519
1519
  opacity: 0.5;
1520
1520
  }
1521
1521
 
1522
1522
  /* Config info table */
1523
- .stack-devtool .sdt-config-table {
1523
+ .hexclave-devtool .sdt-config-table {
1524
1524
  width: 100%;
1525
1525
  border-collapse: collapse;
1526
1526
  }
1527
1527
 
1528
- .stack-devtool .sdt-config-table td {
1528
+ .hexclave-devtool .sdt-config-table td {
1529
1529
  padding: 8px 10px;
1530
1530
  border-bottom: 1px solid var(--sdt-border-subtle);
1531
1531
  font-size: 12px;
1532
1532
  }
1533
1533
 
1534
- .stack-devtool .sdt-config-table td:first-child {
1534
+ .hexclave-devtool .sdt-config-table td:first-child {
1535
1535
  color: var(--sdt-text-secondary);
1536
1536
  width: 160px;
1537
1537
  font-weight: 500;
1538
1538
  }
1539
1539
 
1540
- .stack-devtool .sdt-config-table td:last-child {
1540
+ .hexclave-devtool .sdt-config-table td:last-child {
1541
1541
  color: var(--sdt-text);
1542
1542
  font-family: var(--sdt-font-mono);
1543
1543
  word-break: break-all;
1544
1544
  }
1545
1545
 
1546
- .stack-devtool .sdt-config-table td .sdt-config-link {
1546
+ .hexclave-devtool .sdt-config-table td .sdt-config-link {
1547
1547
  font-family: inherit;
1548
1548
  color: var(--sdt-accent);
1549
1549
  text-decoration: underline;
1550
1550
  text-underline-offset: 2px;
1551
1551
  }
1552
1552
 
1553
- .stack-devtool .sdt-config-table td .sdt-config-link:hover {
1553
+ .hexclave-devtool .sdt-config-table td .sdt-config-link:hover {
1554
1554
  color: var(--sdt-text);
1555
1555
  }
1556
1556
 
1557
- .stack-devtool .sdt-config-muted {
1557
+ .hexclave-devtool .sdt-config-muted {
1558
1558
  color: var(--sdt-text-tertiary);
1559
1559
  font-style: italic;
1560
1560
  }
1561
1561
 
1562
1562
  /* Resize handle */
1563
- .stack-devtool .sdt-resize-handle {
1563
+ .hexclave-devtool .sdt-resize-handle {
1564
1564
  position: absolute;
1565
1565
  top: 0;
1566
1566
  left: -4px;
@@ -1570,7 +1570,7 @@ const devToolCSS = `
1570
1570
  z-index: 10;
1571
1571
  }
1572
1572
 
1573
- .stack-devtool .sdt-resize-handle::after {
1573
+ .hexclave-devtool .sdt-resize-handle::after {
1574
1574
  content: '';
1575
1575
  position: absolute;
1576
1576
  top: 50%;
@@ -1583,12 +1583,12 @@ const devToolCSS = `
1583
1583
  transition: background 0.15s ease;
1584
1584
  }
1585
1585
 
1586
- .stack-devtool .sdt-resize-handle:hover::after,
1587
- .stack-devtool .sdt-resize-handle:active::after {
1586
+ .hexclave-devtool .sdt-resize-handle:hover::after,
1587
+ .hexclave-devtool .sdt-resize-handle:active::after {
1588
1588
  background: var(--sdt-accent);
1589
1589
  }
1590
1590
 
1591
- .stack-devtool .sdt-resize-handle-top {
1591
+ .hexclave-devtool .sdt-resize-handle-top {
1592
1592
  position: absolute;
1593
1593
  top: -4px;
1594
1594
  left: 0;
@@ -1598,7 +1598,7 @@ const devToolCSS = `
1598
1598
  z-index: 10;
1599
1599
  }
1600
1600
 
1601
- .stack-devtool .sdt-resize-handle-top::after {
1601
+ .hexclave-devtool .sdt-resize-handle-top::after {
1602
1602
  content: '';
1603
1603
  position: absolute;
1604
1604
  left: 50%;
@@ -1611,12 +1611,12 @@ const devToolCSS = `
1611
1611
  transition: background 0.15s ease;
1612
1612
  }
1613
1613
 
1614
- .stack-devtool .sdt-resize-handle-top:hover::after,
1615
- .stack-devtool .sdt-resize-handle-top:active::after {
1614
+ .hexclave-devtool .sdt-resize-handle-top:hover::after,
1615
+ .hexclave-devtool .sdt-resize-handle-top:active::after {
1616
1616
  background: var(--sdt-accent);
1617
1617
  }
1618
1618
 
1619
- .stack-devtool .sdt-resize-handle-corner {
1619
+ .hexclave-devtool .sdt-resize-handle-corner {
1620
1620
  position: absolute;
1621
1621
  top: -6px;
1622
1622
  left: -6px;
@@ -1626,7 +1626,7 @@ const devToolCSS = `
1626
1626
  z-index: 11;
1627
1627
  }
1628
1628
 
1629
- .stack-devtool .sdt-resize-handle-corner::after {
1629
+ .hexclave-devtool .sdt-resize-handle-corner::after {
1630
1630
  content: '';
1631
1631
  position: absolute;
1632
1632
  bottom: 4px;
@@ -1638,12 +1638,12 @@ const devToolCSS = `
1638
1638
  transition: background 0.15s ease;
1639
1639
  }
1640
1640
 
1641
- .stack-devtool .sdt-resize-handle-corner:hover::after,
1642
- .stack-devtool .sdt-resize-handle-corner:active::after {
1641
+ .hexclave-devtool .sdt-resize-handle-corner:hover::after,
1642
+ .hexclave-devtool .sdt-resize-handle-corner:active::after {
1643
1643
  background: var(--sdt-accent);
1644
1644
  }
1645
1645
 
1646
- .stack-devtool .sdt-no-components {
1646
+ .hexclave-devtool .sdt-no-components {
1647
1647
  display: flex;
1648
1648
  flex-direction: column;
1649
1649
  align-items: center;
@@ -1656,33 +1656,33 @@ const devToolCSS = `
1656
1656
  }
1657
1657
 
1658
1658
  /* Support tab */
1659
- .stack-devtool .sdt-support-tab {
1659
+ .hexclave-devtool .sdt-support-tab {
1660
1660
  display: flex;
1661
1661
  flex-direction: column;
1662
1662
  height: calc(100% + 32px);
1663
1663
  margin: -16px;
1664
1664
  }
1665
1665
 
1666
- .stack-devtool .sdt-support-feedback-pane {
1666
+ .hexclave-devtool .sdt-support-feedback-pane {
1667
1667
  padding: 20px;
1668
1668
  height: 100%;
1669
1669
  overflow-y: auto;
1670
1670
  }
1671
1671
 
1672
1672
  /* Form layout */
1673
- .stack-devtool .sdt-support-form {
1673
+ .hexclave-devtool .sdt-support-form {
1674
1674
  display: flex;
1675
1675
  flex-direction: column;
1676
1676
  gap: 14px;
1677
1677
  }
1678
1678
 
1679
1679
  /* Type cards */
1680
- .stack-devtool .sdt-support-type-cards {
1680
+ .hexclave-devtool .sdt-support-type-cards {
1681
1681
  display: flex;
1682
1682
  gap: 8px;
1683
1683
  }
1684
1684
 
1685
- .stack-devtool .sdt-support-type-card {
1685
+ .hexclave-devtool .sdt-support-type-card {
1686
1686
  flex: 1;
1687
1687
  display: flex;
1688
1688
  align-items: center;
@@ -1700,41 +1700,41 @@ const devToolCSS = `
1700
1700
  transition: all 0.15s ease;
1701
1701
  }
1702
1702
 
1703
- .stack-devtool .sdt-support-type-card svg {
1703
+ .hexclave-devtool .sdt-support-type-card svg {
1704
1704
  flex-shrink: 0;
1705
1705
  opacity: 0.6;
1706
1706
  transition: opacity 0.15s ease;
1707
1707
  }
1708
1708
 
1709
- .stack-devtool .sdt-support-type-card:hover {
1709
+ .hexclave-devtool .sdt-support-type-card:hover {
1710
1710
  background: var(--sdt-bg-hover);
1711
1711
  border-color: var(--sdt-border);
1712
1712
  color: var(--sdt-text);
1713
1713
  }
1714
1714
 
1715
- .stack-devtool .sdt-support-type-card:hover svg {
1715
+ .hexclave-devtool .sdt-support-type-card:hover svg {
1716
1716
  opacity: 1;
1717
1717
  }
1718
1718
 
1719
- .stack-devtool .sdt-support-type-card-active {
1719
+ .hexclave-devtool .sdt-support-type-card-active {
1720
1720
  border-color: var(--sdt-accent);
1721
1721
  background: var(--sdt-accent-muted);
1722
1722
  color: var(--sdt-text);
1723
1723
  }
1724
1724
 
1725
- .stack-devtool .sdt-support-type-card-active svg {
1725
+ .hexclave-devtool .sdt-support-type-card-active svg {
1726
1726
  opacity: 1;
1727
1727
  color: var(--sdt-accent);
1728
1728
  }
1729
1729
 
1730
1730
  /* Field group */
1731
- .stack-devtool .sdt-support-field {
1731
+ .hexclave-devtool .sdt-support-field {
1732
1732
  display: flex;
1733
1733
  flex-direction: column;
1734
1734
  gap: 5px;
1735
1735
  }
1736
1736
 
1737
- .stack-devtool .sdt-support-label {
1737
+ .hexclave-devtool .sdt-support-label {
1738
1738
  font-size: 11px;
1739
1739
  font-weight: 600;
1740
1740
  color: var(--sdt-text-secondary);
@@ -1745,7 +1745,7 @@ const devToolCSS = `
1745
1745
  gap: 6px;
1746
1746
  }
1747
1747
 
1748
- .stack-devtool .sdt-support-optional {
1748
+ .hexclave-devtool .sdt-support-optional {
1749
1749
  font-size: 10px;
1750
1750
  font-weight: 400;
1751
1751
  color: var(--sdt-text-tertiary);
@@ -1754,8 +1754,8 @@ const devToolCSS = `
1754
1754
  }
1755
1755
 
1756
1756
  /* Inputs */
1757
- .stack-devtool .sdt-support-input,
1758
- .stack-devtool .sdt-support-textarea {
1757
+ .hexclave-devtool .sdt-support-input,
1758
+ .hexclave-devtool .sdt-support-textarea {
1759
1759
  width: 100%;
1760
1760
  padding: 9px 12px;
1761
1761
  background: var(--sdt-bg);
@@ -1768,25 +1768,25 @@ const devToolCSS = `
1768
1768
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
1769
1769
  }
1770
1770
 
1771
- .stack-devtool .sdt-support-input::placeholder,
1772
- .stack-devtool .sdt-support-textarea::placeholder {
1771
+ .hexclave-devtool .sdt-support-input::placeholder,
1772
+ .hexclave-devtool .sdt-support-textarea::placeholder {
1773
1773
  color: var(--sdt-text-tertiary);
1774
1774
  }
1775
1775
 
1776
- .stack-devtool .sdt-support-input:focus,
1777
- .stack-devtool .sdt-support-textarea:focus {
1776
+ .hexclave-devtool .sdt-support-input:focus,
1777
+ .hexclave-devtool .sdt-support-textarea:focus {
1778
1778
  border-color: var(--sdt-accent);
1779
1779
  box-shadow: 0 0 0 3px var(--sdt-accent-muted);
1780
1780
  }
1781
1781
 
1782
- .stack-devtool .sdt-support-textarea {
1782
+ .hexclave-devtool .sdt-support-textarea {
1783
1783
  resize: vertical;
1784
1784
  min-height: 100px;
1785
1785
  line-height: 1.6;
1786
1786
  }
1787
1787
 
1788
1788
  /* Submit button */
1789
- .stack-devtool .sdt-support-submit {
1789
+ .hexclave-devtool .sdt-support-submit {
1790
1790
  width: 100%;
1791
1791
  display: inline-flex;
1792
1792
  align-items: center;
@@ -1806,24 +1806,24 @@ const devToolCSS = `
1806
1806
  box-shadow: 0 1px 3px rgba(99, 102, 241, 0.3);
1807
1807
  }
1808
1808
 
1809
- .stack-devtool .sdt-support-submit:hover:not(:disabled) {
1809
+ .hexclave-devtool .sdt-support-submit:hover:not(:disabled) {
1810
1810
  background: var(--sdt-accent-hover);
1811
1811
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.4);
1812
1812
  transform: translateY(-1px);
1813
1813
  }
1814
1814
 
1815
- .stack-devtool .sdt-support-submit:active:not(:disabled) {
1815
+ .hexclave-devtool .sdt-support-submit:active:not(:disabled) {
1816
1816
  transform: translateY(0);
1817
1817
  box-shadow: 0 1px 2px rgba(99, 102, 241, 0.2);
1818
1818
  }
1819
1819
 
1820
- .stack-devtool .sdt-support-submit:disabled {
1820
+ .hexclave-devtool .sdt-support-submit:disabled {
1821
1821
  opacity: 0.4;
1822
1822
  cursor: not-allowed;
1823
1823
  box-shadow: none;
1824
1824
  }
1825
1825
 
1826
- .stack-devtool .sdt-support-submit svg {
1826
+ .hexclave-devtool .sdt-support-submit svg {
1827
1827
  flex-shrink: 0;
1828
1828
  }
1829
1829
 
@@ -1831,12 +1831,12 @@ const devToolCSS = `
1831
1831
  to { transform: rotate(360deg); }
1832
1832
  }
1833
1833
 
1834
- .stack-devtool .sdt-support-spinner {
1834
+ .hexclave-devtool .sdt-support-spinner {
1835
1835
  animation: sdt-spin 1s linear infinite;
1836
1836
  }
1837
1837
 
1838
1838
  /* Status screens (success / error) */
1839
- .stack-devtool .sdt-support-status {
1839
+ .hexclave-devtool .sdt-support-status {
1840
1840
  display: flex;
1841
1841
  flex-direction: column;
1842
1842
  align-items: center;
@@ -1846,17 +1846,17 @@ const devToolCSS = `
1846
1846
  gap: 6px;
1847
1847
  }
1848
1848
 
1849
- .stack-devtool .sdt-support-status-success {
1849
+ .hexclave-devtool .sdt-support-status-success {
1850
1850
  background: linear-gradient(180deg, var(--sdt-success-muted), transparent 80%);
1851
1851
  border: 1px solid rgba(34, 197, 94, 0.15);
1852
1852
  }
1853
1853
 
1854
- .stack-devtool .sdt-support-status-error {
1854
+ .hexclave-devtool .sdt-support-status-error {
1855
1855
  background: linear-gradient(180deg, var(--sdt-error-muted), transparent 80%);
1856
1856
  border: 1px solid rgba(239, 68, 68, 0.15);
1857
1857
  }
1858
1858
 
1859
- .stack-devtool .sdt-support-status-icon {
1859
+ .hexclave-devtool .sdt-support-status-icon {
1860
1860
  width: 40px;
1861
1861
  height: 40px;
1862
1862
  border-radius: 50%;
@@ -1866,25 +1866,25 @@ const devToolCSS = `
1866
1866
  margin-bottom: 6px;
1867
1867
  }
1868
1868
 
1869
- .stack-devtool .sdt-support-status-success .sdt-support-status-icon {
1869
+ .hexclave-devtool .sdt-support-status-success .sdt-support-status-icon {
1870
1870
  background: rgba(34, 197, 94, 0.15);
1871
1871
  color: var(--sdt-success);
1872
1872
  box-shadow: 0 0 20px rgba(34, 197, 94, 0.1);
1873
1873
  }
1874
1874
 
1875
- .stack-devtool .sdt-support-status-error .sdt-support-status-icon {
1875
+ .hexclave-devtool .sdt-support-status-error .sdt-support-status-icon {
1876
1876
  background: rgba(239, 68, 68, 0.15);
1877
1877
  color: var(--sdt-error);
1878
1878
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.1);
1879
1879
  }
1880
1880
 
1881
- .stack-devtool .sdt-support-status-title {
1881
+ .hexclave-devtool .sdt-support-status-title {
1882
1882
  font-size: 14px;
1883
1883
  font-weight: 600;
1884
1884
  color: var(--sdt-text);
1885
1885
  }
1886
1886
 
1887
- .stack-devtool .sdt-support-status-msg {
1887
+ .hexclave-devtool .sdt-support-status-msg {
1888
1888
  font-size: 12px;
1889
1889
  color: var(--sdt-text-secondary);
1890
1890
  line-height: 1.5;
@@ -1892,12 +1892,12 @@ const devToolCSS = `
1892
1892
  }
1893
1893
 
1894
1894
  /* Support channels */
1895
- .stack-devtool .sdt-support-channels {
1895
+ .hexclave-devtool .sdt-support-channels {
1896
1896
  display: flex;
1897
1897
  gap: 8px;
1898
1898
  }
1899
1899
 
1900
- .stack-devtool .sdt-support-channel {
1900
+ .hexclave-devtool .sdt-support-channel {
1901
1901
  flex: 1;
1902
1902
  display: flex;
1903
1903
  align-items: center;
@@ -1914,25 +1914,25 @@ const devToolCSS = `
1914
1914
  transition: all 0.15s ease;
1915
1915
  }
1916
1916
 
1917
- .stack-devtool .sdt-support-channel:hover {
1917
+ .hexclave-devtool .sdt-support-channel:hover {
1918
1918
  background: var(--sdt-bg-hover);
1919
1919
  border-color: var(--sdt-border);
1920
1920
  color: var(--sdt-text);
1921
1921
  }
1922
1922
 
1923
- .stack-devtool .sdt-support-channel svg {
1923
+ .hexclave-devtool .sdt-support-channel svg {
1924
1924
  flex-shrink: 0;
1925
1925
  opacity: 0.6;
1926
1926
  transition: opacity 0.15s ease;
1927
1927
  }
1928
1928
 
1929
- .stack-devtool .sdt-support-channel:hover svg {
1929
+ .hexclave-devtool .sdt-support-channel:hover svg {
1930
1930
  opacity: 1;
1931
1931
  }
1932
1932
 
1933
1933
  /* --- Light theme: system preference fallback --- */
1934
1934
  @media (prefers-color-scheme: light) {
1935
- .stack-devtool {
1935
+ .hexclave-devtool {
1936
1936
  --sdt-bg: #ffffff;
1937
1937
  --sdt-bg-elevated: #f8f8fa;
1938
1938
  --sdt-bg-hover: #f0f0f3;
@@ -1961,7 +1961,7 @@ const devToolCSS = `
1961
1961
  }
1962
1962
 
1963
1963
  /* Export dialog — positioned inside the dev tool panel */
1964
- .stack-devtool .sdt-share-overlay {
1964
+ .hexclave-devtool .sdt-share-overlay {
1965
1965
  position: absolute;
1966
1966
  inset: 0;
1967
1967
  z-index: 20;
@@ -1973,7 +1973,7 @@ const devToolCSS = `
1973
1973
  border-radius: var(--sdt-radius-lg);
1974
1974
  }
1975
1975
 
1976
- .stack-devtool .sdt-share-dialog {
1976
+ .hexclave-devtool .sdt-share-dialog {
1977
1977
  width: 380px;
1978
1978
  max-width: calc(100% - 32px);
1979
1979
  background: var(--sdt-bg);
@@ -1986,19 +1986,19 @@ const devToolCSS = `
1986
1986
  gap: 16px;
1987
1987
  }
1988
1988
 
1989
- .stack-devtool .sdt-share-header {
1989
+ .hexclave-devtool .sdt-share-header {
1990
1990
  display: flex;
1991
1991
  align-items: center;
1992
1992
  justify-content: space-between;
1993
1993
  }
1994
1994
 
1995
- .stack-devtool .sdt-share-title {
1995
+ .hexclave-devtool .sdt-share-title {
1996
1996
  font-size: 14px;
1997
1997
  font-weight: 600;
1998
1998
  color: var(--sdt-text);
1999
1999
  }
2000
2000
 
2001
- .stack-devtool .sdt-share-status {
2001
+ .hexclave-devtool .sdt-share-status {
2002
2002
  display: flex;
2003
2003
  align-items: center;
2004
2004
  justify-content: center;
@@ -2008,19 +2008,19 @@ const devToolCSS = `
2008
2008
  font-size: 13px;
2009
2009
  }
2010
2010
 
2011
- .stack-devtool .sdt-share-url-row {
2011
+ .hexclave-devtool .sdt-share-url-row {
2012
2012
  display: flex;
2013
2013
  gap: 6px;
2014
2014
  align-items: center;
2015
2015
  }
2016
2016
 
2017
- .stack-devtool .sdt-share-url-row .sdt-support-input {
2017
+ .hexclave-devtool .sdt-share-url-row .sdt-support-input {
2018
2018
  flex: 1;
2019
2019
  font-family: var(--sdt-font-mono);
2020
2020
  font-size: 12px;
2021
2021
  }
2022
2022
 
2023
- .stack-devtool .sdt-share-copy-btn {
2023
+ .hexclave-devtool .sdt-share-copy-btn {
2024
2024
  display: flex;
2025
2025
  align-items: center;
2026
2026
  justify-content: center;
@@ -2035,17 +2035,17 @@ const devToolCSS = `
2035
2035
  transition: all 0.15s ease;
2036
2036
  }
2037
2037
 
2038
- .stack-devtool .sdt-share-copy-btn:hover {
2038
+ .hexclave-devtool .sdt-share-copy-btn:hover {
2039
2039
  background: var(--sdt-bg-hover);
2040
2040
  color: var(--sdt-text);
2041
2041
  }
2042
2042
 
2043
- .stack-devtool .sdt-share-actions {
2043
+ .hexclave-devtool .sdt-share-actions {
2044
2044
  display: flex;
2045
2045
  gap: 8px;
2046
2046
  }
2047
2047
 
2048
- .stack-devtool .sdt-share-action-btn {
2048
+ .hexclave-devtool .sdt-share-action-btn {
2049
2049
  flex: 1;
2050
2050
  display: flex;
2051
2051
  align-items: center;
@@ -2064,47 +2064,47 @@ const devToolCSS = `
2064
2064
  transition: all 0.15s ease;
2065
2065
  }
2066
2066
 
2067
- .stack-devtool .sdt-share-action-btn:hover {
2067
+ .hexclave-devtool .sdt-share-action-btn:hover {
2068
2068
  background: var(--sdt-bg-hover);
2069
2069
  border-color: var(--sdt-border);
2070
2070
  color: var(--sdt-text);
2071
2071
  }
2072
2072
 
2073
- .stack-devtool .sdt-share-action-btn svg {
2073
+ .hexclave-devtool .sdt-share-action-btn svg {
2074
2074
  flex-shrink: 0;
2075
2075
  opacity: 0.7;
2076
2076
  }
2077
2077
 
2078
- .stack-devtool .sdt-share-action-btn:hover svg {
2078
+ .hexclave-devtool .sdt-share-action-btn:hover svg {
2079
2079
  opacity: 1;
2080
2080
  }
2081
2081
 
2082
- .stack-devtool .sdt-share-action-btn-accent {
2082
+ .hexclave-devtool .sdt-share-action-btn-accent {
2083
2083
  background: var(--sdt-accent);
2084
2084
  border-color: var(--sdt-accent);
2085
2085
  color: white;
2086
2086
  }
2087
2087
 
2088
- .stack-devtool .sdt-share-action-btn-accent:hover {
2088
+ .hexclave-devtool .sdt-share-action-btn-accent:hover {
2089
2089
  background: var(--sdt-accent-hover);
2090
2090
  border-color: var(--sdt-accent-hover);
2091
2091
  color: white;
2092
2092
  }
2093
2093
 
2094
- .stack-devtool .sdt-share-action-btn-accent svg {
2094
+ .hexclave-devtool .sdt-share-action-btn-accent svg {
2095
2095
  opacity: 1;
2096
2096
  }
2097
2097
 
2098
2098
  /* --- AI Chat tab --- */
2099
2099
 
2100
- .stack-devtool .sdt-ai-container {
2100
+ .hexclave-devtool .sdt-ai-container {
2101
2101
  display: flex;
2102
2102
  flex-direction: column;
2103
2103
  height: 100%;
2104
2104
  overflow: hidden;
2105
2105
  }
2106
2106
 
2107
- .stack-devtool .sdt-ai-messages {
2107
+ .hexclave-devtool .sdt-ai-messages {
2108
2108
  flex: 1;
2109
2109
  overflow-y: auto;
2110
2110
  overflow-x: hidden;
@@ -2112,7 +2112,7 @@ const devToolCSS = `
2112
2112
  scroll-behavior: smooth;
2113
2113
  }
2114
2114
 
2115
- .stack-devtool .sdt-ai-message-list {
2115
+ .hexclave-devtool .sdt-ai-message-list {
2116
2116
  display: flex;
2117
2117
  flex-direction: column;
2118
2118
  gap: 16px;
@@ -2120,7 +2120,7 @@ const devToolCSS = `
2120
2120
 
2121
2121
  /* --- Empty state --- */
2122
2122
 
2123
- .stack-devtool .sdt-ai-empty {
2123
+ .hexclave-devtool .sdt-ai-empty {
2124
2124
  display: flex;
2125
2125
  flex-direction: column;
2126
2126
  align-items: center;
@@ -2131,7 +2131,7 @@ const devToolCSS = `
2131
2131
  text-align: center;
2132
2132
  }
2133
2133
 
2134
- .stack-devtool .sdt-ai-empty-icon {
2134
+ .hexclave-devtool .sdt-ai-empty-icon {
2135
2135
  width: 48px;
2136
2136
  height: 48px;
2137
2137
  border-radius: 50%;
@@ -2143,20 +2143,20 @@ const devToolCSS = `
2143
2143
  margin-bottom: 4px;
2144
2144
  }
2145
2145
 
2146
- .stack-devtool .sdt-ai-empty-title {
2146
+ .hexclave-devtool .sdt-ai-empty-title {
2147
2147
  font-size: 16px;
2148
2148
  font-weight: 600;
2149
2149
  color: var(--sdt-text);
2150
2150
  }
2151
2151
 
2152
- .stack-devtool .sdt-ai-empty-desc {
2152
+ .hexclave-devtool .sdt-ai-empty-desc {
2153
2153
  font-size: 12px;
2154
2154
  color: var(--sdt-text-secondary);
2155
2155
  max-width: 320px;
2156
2156
  line-height: 1.5;
2157
2157
  }
2158
2158
 
2159
- .stack-devtool .sdt-ai-suggestions {
2159
+ .hexclave-devtool .sdt-ai-suggestions {
2160
2160
  display: flex;
2161
2161
  flex-direction: column;
2162
2162
  gap: 6px;
@@ -2165,7 +2165,7 @@ const devToolCSS = `
2165
2165
  max-width: 340px;
2166
2166
  }
2167
2167
 
2168
- .stack-devtool .sdt-ai-suggestion {
2168
+ .hexclave-devtool .sdt-ai-suggestion {
2169
2169
  display: flex;
2170
2170
  align-items: center;
2171
2171
  gap: 10px;
@@ -2182,34 +2182,34 @@ const devToolCSS = `
2182
2182
  line-height: 1.4;
2183
2183
  }
2184
2184
 
2185
- .stack-devtool .sdt-ai-suggestion:hover {
2185
+ .hexclave-devtool .sdt-ai-suggestion:hover {
2186
2186
  background: var(--sdt-bg-hover);
2187
2187
  border-color: var(--sdt-border);
2188
2188
  color: var(--sdt-text);
2189
2189
  }
2190
2190
 
2191
- .stack-devtool .sdt-ai-suggestion-icon {
2191
+ .hexclave-devtool .sdt-ai-suggestion-icon {
2192
2192
  font-size: 14px;
2193
2193
  flex-shrink: 0;
2194
2194
  }
2195
2195
 
2196
2196
  /* --- Messages --- */
2197
2197
 
2198
- .stack-devtool .sdt-ai-msg {
2198
+ .hexclave-devtool .sdt-ai-msg {
2199
2199
  display: flex;
2200
2200
  gap: 10px;
2201
2201
  align-items: flex-start;
2202
2202
  }
2203
2203
 
2204
- .stack-devtool .sdt-ai-msg-user {
2204
+ .hexclave-devtool .sdt-ai-msg-user {
2205
2205
  justify-content: flex-end;
2206
2206
  }
2207
2207
 
2208
- .stack-devtool .sdt-ai-msg-assistant {
2208
+ .hexclave-devtool .sdt-ai-msg-assistant {
2209
2209
  justify-content: flex-start;
2210
2210
  }
2211
2211
 
2212
- .stack-devtool .sdt-ai-avatar {
2212
+ .hexclave-devtool .sdt-ai-avatar {
2213
2213
  width: 26px;
2214
2214
  height: 26px;
2215
2215
  border-radius: 50%;
@@ -2220,30 +2220,30 @@ const devToolCSS = `
2220
2220
  margin-top: 2px;
2221
2221
  }
2222
2222
 
2223
- .stack-devtool .sdt-ai-avatar-user {
2223
+ .hexclave-devtool .sdt-ai-avatar-user {
2224
2224
  background: var(--sdt-info-muted);
2225
2225
  color: var(--sdt-info);
2226
2226
  order: 2;
2227
2227
  }
2228
2228
 
2229
- .stack-devtool .sdt-ai-avatar-assistant {
2229
+ .hexclave-devtool .sdt-ai-avatar-assistant {
2230
2230
  background: var(--sdt-accent-muted);
2231
2231
  color: var(--sdt-accent);
2232
2232
  }
2233
2233
 
2234
- .stack-devtool .sdt-ai-bubble {
2234
+ .hexclave-devtool .sdt-ai-bubble {
2235
2235
  min-width: 0;
2236
2236
  max-width: 85%;
2237
2237
  border-radius: var(--sdt-radius-lg);
2238
2238
  padding: 10px 14px;
2239
2239
  }
2240
2240
 
2241
- .stack-devtool .sdt-ai-bubble-user {
2241
+ .hexclave-devtool .sdt-ai-bubble-user {
2242
2242
  background: var(--sdt-info-muted);
2243
2243
  border: 1px solid rgba(59, 130, 246, 0.1);
2244
2244
  }
2245
2245
 
2246
- .stack-devtool .sdt-ai-bubble-user p {
2246
+ .hexclave-devtool .sdt-ai-bubble-user p {
2247
2247
  font-size: 13px;
2248
2248
  line-height: 1.55;
2249
2249
  color: var(--sdt-text);
@@ -2251,21 +2251,21 @@ const devToolCSS = `
2251
2251
  word-break: break-word;
2252
2252
  }
2253
2253
 
2254
- .stack-devtool .sdt-ai-bubble-assistant {
2254
+ .hexclave-devtool .sdt-ai-bubble-assistant {
2255
2255
  background: var(--sdt-bg-elevated);
2256
2256
  border: 1px solid var(--sdt-border-subtle);
2257
2257
  }
2258
2258
 
2259
2259
  /* --- Thinking dots --- */
2260
2260
 
2261
- .stack-devtool .sdt-ai-thinking {
2261
+ .hexclave-devtool .sdt-ai-thinking {
2262
2262
  display: flex;
2263
2263
  align-items: center;
2264
2264
  gap: 4px;
2265
2265
  padding: 4px 0;
2266
2266
  }
2267
2267
 
2268
- .stack-devtool .sdt-ai-thinking-dot {
2268
+ .hexclave-devtool .sdt-ai-thinking-dot {
2269
2269
  width: 5px;
2270
2270
  height: 5px;
2271
2271
  border-radius: 50%;
@@ -2274,15 +2274,15 @@ const devToolCSS = `
2274
2274
  animation: sdt-ai-pulse 1.2s ease-in-out infinite;
2275
2275
  }
2276
2276
 
2277
- .stack-devtool .sdt-ai-thinking-dot:nth-child(2) { animation-delay: 0.15s; }
2278
- .stack-devtool .sdt-ai-thinking-dot:nth-child(3) { animation-delay: 0.3s; }
2277
+ .hexclave-devtool .sdt-ai-thinking-dot:nth-child(2) { animation-delay: 0.15s; }
2278
+ .hexclave-devtool .sdt-ai-thinking-dot:nth-child(3) { animation-delay: 0.3s; }
2279
2279
 
2280
2280
  @keyframes sdt-ai-pulse {
2281
2281
  0%, 80%, 100% { opacity: 0.3; transform: scale(0.85); }
2282
2282
  40% { opacity: 1; transform: scale(1.1); }
2283
2283
  }
2284
2284
 
2285
- .stack-devtool .sdt-ai-streaming-indicator {
2285
+ .hexclave-devtool .sdt-ai-streaming-indicator {
2286
2286
  display: flex;
2287
2287
  align-items: center;
2288
2288
  gap: 3px;
@@ -2291,7 +2291,7 @@ const devToolCSS = `
2291
2291
 
2292
2292
  /* --- Markdown content inside assistant bubble --- */
2293
2293
 
2294
- .stack-devtool .sdt-ai-paragraph {
2294
+ .hexclave-devtool .sdt-ai-paragraph {
2295
2295
  font-size: 13px;
2296
2296
  line-height: 1.6;
2297
2297
  color: var(--sdt-text);
@@ -2299,14 +2299,14 @@ const devToolCSS = `
2299
2299
  word-break: break-word;
2300
2300
  }
2301
2301
 
2302
- .stack-devtool .sdt-ai-paragraph:last-child { margin-bottom: 0; }
2302
+ .hexclave-devtool .sdt-ai-paragraph:last-child { margin-bottom: 0; }
2303
2303
 
2304
- .stack-devtool .sdt-ai-bold {
2304
+ .hexclave-devtool .sdt-ai-bold {
2305
2305
  font-weight: 600;
2306
2306
  color: var(--sdt-text);
2307
2307
  }
2308
2308
 
2309
- .stack-devtool .sdt-ai-inline-code {
2309
+ .hexclave-devtool .sdt-ai-inline-code {
2310
2310
  display: inline;
2311
2311
  padding: 1.5px 5px;
2312
2312
  border-radius: 4px;
@@ -2317,32 +2317,32 @@ const devToolCSS = `
2317
2317
  border: 1px solid var(--sdt-border-subtle);
2318
2318
  }
2319
2319
 
2320
- .stack-devtool .sdt-ai-link {
2320
+ .hexclave-devtool .sdt-ai-link {
2321
2321
  color: var(--sdt-info);
2322
2322
  text-decoration: none;
2323
2323
  transition: color 0.1s;
2324
2324
  }
2325
2325
 
2326
- .stack-devtool .sdt-ai-link:hover {
2326
+ .hexclave-devtool .sdt-ai-link:hover {
2327
2327
  color: var(--sdt-accent-hover);
2328
2328
  text-decoration: underline;
2329
2329
  text-underline-offset: 2px;
2330
2330
  }
2331
2331
 
2332
- .stack-devtool .sdt-ai-heading {
2332
+ .hexclave-devtool .sdt-ai-heading {
2333
2333
  font-weight: 600;
2334
2334
  color: var(--sdt-text);
2335
2335
  margin: 12px 0 6px;
2336
2336
  line-height: 1.35;
2337
2337
  }
2338
2338
 
2339
- .stack-devtool .sdt-ai-heading:first-child { margin-top: 0; }
2339
+ .hexclave-devtool .sdt-ai-heading:first-child { margin-top: 0; }
2340
2340
 
2341
- .stack-devtool .sdt-ai-bubble-assistant h1.sdt-ai-heading { font-size: 15px; }
2342
- .stack-devtool .sdt-ai-bubble-assistant h2.sdt-ai-heading { font-size: 13.5px; }
2343
- .stack-devtool .sdt-ai-bubble-assistant h3.sdt-ai-heading { font-size: 13px; }
2341
+ .hexclave-devtool .sdt-ai-bubble-assistant h1.sdt-ai-heading { font-size: 15px; }
2342
+ .hexclave-devtool .sdt-ai-bubble-assistant h2.sdt-ai-heading { font-size: 13.5px; }
2343
+ .hexclave-devtool .sdt-ai-bubble-assistant h3.sdt-ai-heading { font-size: 13px; }
2344
2344
 
2345
- .stack-devtool .sdt-ai-list {
2345
+ .hexclave-devtool .sdt-ai-list {
2346
2346
  font-size: 13px;
2347
2347
  line-height: 1.6;
2348
2348
  color: var(--sdt-text);
@@ -2350,40 +2350,40 @@ const devToolCSS = `
2350
2350
  padding-left: 20px;
2351
2351
  }
2352
2352
 
2353
- .stack-devtool .sdt-ai-list:last-child { margin-bottom: 0; }
2353
+ .hexclave-devtool .sdt-ai-list:last-child { margin-bottom: 0; }
2354
2354
 
2355
- .stack-devtool .sdt-ai-list li {
2355
+ .hexclave-devtool .sdt-ai-list li {
2356
2356
  margin-bottom: 3px;
2357
2357
  padding-left: 2px;
2358
2358
  }
2359
2359
 
2360
- .stack-devtool .sdt-ai-list li::marker {
2360
+ .hexclave-devtool .sdt-ai-list li::marker {
2361
2361
  color: var(--sdt-text-tertiary);
2362
2362
  }
2363
2363
 
2364
- .stack-devtool .sdt-ai-list-ordered {
2364
+ .hexclave-devtool .sdt-ai-list-ordered {
2365
2365
  list-style-type: decimal;
2366
2366
  }
2367
2367
 
2368
- .stack-devtool .sdt-ai-tools {
2368
+ .hexclave-devtool .sdt-ai-tools {
2369
2369
  display: flex;
2370
2370
  flex-direction: column;
2371
2371
  gap: 6px;
2372
2372
  margin: 6px 0;
2373
2373
  }
2374
2374
 
2375
- .stack-devtool .sdt-ai-part-text {
2375
+ .hexclave-devtool .sdt-ai-part-text {
2376
2376
  margin: 6px 0;
2377
2377
  }
2378
2378
 
2379
- .stack-devtool .sdt-ai-tool-card {
2379
+ .hexclave-devtool .sdt-ai-tool-card {
2380
2380
  border: 1px solid var(--sdt-border-subtle);
2381
2381
  border-radius: var(--sdt-radius);
2382
2382
  background: var(--sdt-bg-subtle);
2383
2383
  overflow: hidden;
2384
2384
  }
2385
2385
 
2386
- .stack-devtool .sdt-ai-tool-header {
2386
+ .hexclave-devtool .sdt-ai-tool-header {
2387
2387
  width: 100%;
2388
2388
  border: none;
2389
2389
  background: transparent;
@@ -2397,39 +2397,39 @@ const devToolCSS = `
2397
2397
  font-family: var(--sdt-font);
2398
2398
  }
2399
2399
 
2400
- .stack-devtool .sdt-ai-tool-header:hover {
2400
+ .hexclave-devtool .sdt-ai-tool-header:hover {
2401
2401
  background: var(--sdt-bg-hover);
2402
2402
  }
2403
2403
 
2404
- .stack-devtool .sdt-ai-tool-name {
2404
+ .hexclave-devtool .sdt-ai-tool-name {
2405
2405
  font-size: 12px;
2406
2406
  font-weight: 600;
2407
2407
  color: var(--sdt-text);
2408
2408
  flex: 1;
2409
2409
  }
2410
2410
 
2411
- .stack-devtool .sdt-ai-tool-status {
2411
+ .hexclave-devtool .sdt-ai-tool-status {
2412
2412
  font-size: 10px;
2413
2413
  text-transform: uppercase;
2414
2414
  letter-spacing: 0.4px;
2415
2415
  font-weight: 600;
2416
2416
  }
2417
2417
 
2418
- .stack-devtool .sdt-ai-tool-status-running { color: var(--sdt-warning); }
2419
- .stack-devtool .sdt-ai-tool-status-success { color: var(--sdt-success); }
2420
- .stack-devtool .sdt-ai-tool-status-error { color: var(--sdt-error); }
2418
+ .hexclave-devtool .sdt-ai-tool-status-running { color: var(--sdt-warning); }
2419
+ .hexclave-devtool .sdt-ai-tool-status-success { color: var(--sdt-success); }
2420
+ .hexclave-devtool .sdt-ai-tool-status-error { color: var(--sdt-error); }
2421
2421
 
2422
- .stack-devtool .sdt-ai-tool-chevron {
2422
+ .hexclave-devtool .sdt-ai-tool-chevron {
2423
2423
  color: var(--sdt-text-tertiary);
2424
2424
  font-size: 10px;
2425
2425
  transition: transform 0.15s ease;
2426
2426
  }
2427
2427
 
2428
- .stack-devtool .sdt-ai-tool-chevron-open {
2428
+ .hexclave-devtool .sdt-ai-tool-chevron-open {
2429
2429
  transform: rotate(180deg);
2430
2430
  }
2431
2431
 
2432
- .stack-devtool .sdt-ai-tool-body {
2432
+ .hexclave-devtool .sdt-ai-tool-body {
2433
2433
  border-top: 1px solid var(--sdt-border-subtle);
2434
2434
  padding: 8px 10px;
2435
2435
  display: flex;
@@ -2437,7 +2437,7 @@ const devToolCSS = `
2437
2437
  gap: 6px;
2438
2438
  }
2439
2439
 
2440
- .stack-devtool .sdt-ai-tool-label {
2440
+ .hexclave-devtool .sdt-ai-tool-label {
2441
2441
  font-size: 10px;
2442
2442
  text-transform: uppercase;
2443
2443
  letter-spacing: 0.4px;
@@ -2445,7 +2445,7 @@ const devToolCSS = `
2445
2445
  font-weight: 600;
2446
2446
  }
2447
2447
 
2448
- .stack-devtool .sdt-ai-tool-pre {
2448
+ .hexclave-devtool .sdt-ai-tool-pre {
2449
2449
  margin: 0;
2450
2450
  padding: 8px;
2451
2451
  border: 1px solid var(--sdt-border-subtle);
@@ -2460,12 +2460,12 @@ const devToolCSS = `
2460
2460
  word-break: break-word;
2461
2461
  }
2462
2462
 
2463
- .stack-devtool .sdt-ai-tool-running {
2463
+ .hexclave-devtool .sdt-ai-tool-running {
2464
2464
  font-size: 11px;
2465
2465
  color: var(--sdt-text-secondary);
2466
2466
  }
2467
2467
 
2468
- .stack-devtool .sdt-ai-blockquote {
2468
+ .hexclave-devtool .sdt-ai-blockquote {
2469
2469
  border-left: 3px solid var(--sdt-accent);
2470
2470
  padding-left: 12px;
2471
2471
  margin: 8px 0;
@@ -2474,7 +2474,7 @@ const devToolCSS = `
2474
2474
  font-style: italic;
2475
2475
  }
2476
2476
 
2477
- .stack-devtool .sdt-ai-hr {
2477
+ .hexclave-devtool .sdt-ai-hr {
2478
2478
  border: none;
2479
2479
  border-top: 1px solid var(--sdt-border-subtle);
2480
2480
  margin: 12px 0;
@@ -2482,7 +2482,7 @@ const devToolCSS = `
2482
2482
 
2483
2483
  /* --- Code blocks --- */
2484
2484
 
2485
- .stack-devtool .sdt-ai-code-block {
2485
+ .hexclave-devtool .sdt-ai-code-block {
2486
2486
  border-radius: var(--sdt-radius);
2487
2487
  overflow: hidden;
2488
2488
  margin: 8px 0;
@@ -2490,9 +2490,9 @@ const devToolCSS = `
2490
2490
  background: var(--sdt-bg-subtle);
2491
2491
  }
2492
2492
 
2493
- .stack-devtool .sdt-ai-code-block:last-child { margin-bottom: 0; }
2493
+ .hexclave-devtool .sdt-ai-code-block:last-child { margin-bottom: 0; }
2494
2494
 
2495
- .stack-devtool .sdt-ai-code-header {
2495
+ .hexclave-devtool .sdt-ai-code-header {
2496
2496
  display: flex;
2497
2497
  align-items: center;
2498
2498
  justify-content: space-between;
@@ -2501,7 +2501,7 @@ const devToolCSS = `
2501
2501
  background: var(--sdt-bg);
2502
2502
  }
2503
2503
 
2504
- .stack-devtool .sdt-ai-code-lang {
2504
+ .hexclave-devtool .sdt-ai-code-lang {
2505
2505
  font-size: 9px;
2506
2506
  font-weight: 600;
2507
2507
  text-transform: uppercase;
@@ -2510,7 +2510,7 @@ const devToolCSS = `
2510
2510
  font-family: var(--sdt-font);
2511
2511
  }
2512
2512
 
2513
- .stack-devtool .sdt-ai-copy-btn {
2513
+ .hexclave-devtool .sdt-ai-copy-btn {
2514
2514
  display: flex;
2515
2515
  align-items: center;
2516
2516
  justify-content: center;
@@ -2526,16 +2526,16 @@ const devToolCSS = `
2526
2526
  transition: all 0.15s ease;
2527
2527
  }
2528
2528
 
2529
- .stack-devtool .sdt-ai-copy-btn:hover {
2529
+ .hexclave-devtool .sdt-ai-copy-btn:hover {
2530
2530
  background: var(--sdt-bg-hover);
2531
2531
  color: var(--sdt-text);
2532
2532
  }
2533
2533
 
2534
- .stack-devtool .sdt-ai-copy-btn-copied {
2534
+ .hexclave-devtool .sdt-ai-copy-btn-copied {
2535
2535
  color: var(--sdt-success) !important;
2536
2536
  }
2537
2537
 
2538
- .stack-devtool .sdt-ai-code-pre {
2538
+ .hexclave-devtool .sdt-ai-code-pre {
2539
2539
  margin: 0;
2540
2540
  padding: 10px 12px;
2541
2541
  overflow-x: auto;
@@ -2545,7 +2545,7 @@ const devToolCSS = `
2545
2545
  color: var(--sdt-text);
2546
2546
  }
2547
2547
 
2548
- .stack-devtool .sdt-ai-code-pre code {
2548
+ .hexclave-devtool .sdt-ai-code-pre code {
2549
2549
  font-family: inherit;
2550
2550
  background: none;
2551
2551
  border: none;
@@ -2554,7 +2554,7 @@ const devToolCSS = `
2554
2554
 
2555
2555
  /* --- Error --- */
2556
2556
 
2557
- .stack-devtool .sdt-ai-error {
2557
+ .hexclave-devtool .sdt-ai-error {
2558
2558
  display: flex;
2559
2559
  align-items: flex-start;
2560
2560
  gap: 8px;
@@ -2570,7 +2570,7 @@ const devToolCSS = `
2570
2570
 
2571
2571
  /* --- Input area --- */
2572
2572
 
2573
- .stack-devtool .sdt-ai-input-area {
2573
+ .hexclave-devtool .sdt-ai-input-area {
2574
2574
  flex-shrink: 0;
2575
2575
  display: flex;
2576
2576
  align-items: center;
@@ -2580,7 +2580,7 @@ const devToolCSS = `
2580
2580
  background: var(--sdt-bg);
2581
2581
  }
2582
2582
 
2583
- .stack-devtool .sdt-ai-new-chat {
2583
+ .hexclave-devtool .sdt-ai-new-chat {
2584
2584
  display: flex;
2585
2585
  align-items: center;
2586
2586
  justify-content: center;
@@ -2596,13 +2596,13 @@ const devToolCSS = `
2596
2596
  font-family: var(--sdt-font);
2597
2597
  }
2598
2598
 
2599
- .stack-devtool .sdt-ai-new-chat:hover {
2599
+ .hexclave-devtool .sdt-ai-new-chat:hover {
2600
2600
  background: var(--sdt-bg-hover);
2601
2601
  border-color: var(--sdt-border);
2602
2602
  color: var(--sdt-text);
2603
2603
  }
2604
2604
 
2605
- .stack-devtool .sdt-ai-input-wrapper {
2605
+ .hexclave-devtool .sdt-ai-input-wrapper {
2606
2606
  flex: 1;
2607
2607
  display: flex;
2608
2608
  align-items: center;
@@ -2614,12 +2614,12 @@ const devToolCSS = `
2614
2614
  transition: border-color 0.15s ease;
2615
2615
  }
2616
2616
 
2617
- .stack-devtool .sdt-ai-input-wrapper:focus-within {
2617
+ .hexclave-devtool .sdt-ai-input-wrapper:focus-within {
2618
2618
  border-color: var(--sdt-accent);
2619
2619
  box-shadow: 0 0 0 2px var(--sdt-accent-muted);
2620
2620
  }
2621
2621
 
2622
- .stack-devtool .sdt-ai-input {
2622
+ .hexclave-devtool .sdt-ai-input {
2623
2623
  flex: 1;
2624
2624
  background: transparent;
2625
2625
  border: none;
@@ -2631,15 +2631,15 @@ const devToolCSS = `
2631
2631
  min-width: 0;
2632
2632
  }
2633
2633
 
2634
- .stack-devtool .sdt-ai-input::placeholder {
2634
+ .hexclave-devtool .sdt-ai-input::placeholder {
2635
2635
  color: var(--sdt-text-tertiary);
2636
2636
  }
2637
2637
 
2638
- .stack-devtool .sdt-ai-input:disabled {
2638
+ .hexclave-devtool .sdt-ai-input:disabled {
2639
2639
  opacity: 0.5;
2640
2640
  }
2641
2641
 
2642
- .stack-devtool .sdt-ai-send-btn {
2642
+ .hexclave-devtool .sdt-ai-send-btn {
2643
2643
  display: flex;
2644
2644
  align-items: center;
2645
2645
  justify-content: center;
@@ -2655,24 +2655,24 @@ const devToolCSS = `
2655
2655
  font-family: var(--sdt-font);
2656
2656
  }
2657
2657
 
2658
- .stack-devtool .sdt-ai-send-btn-active {
2658
+ .hexclave-devtool .sdt-ai-send-btn-active {
2659
2659
  background: var(--sdt-accent);
2660
2660
  color: white;
2661
2661
  cursor: pointer;
2662
2662
  }
2663
2663
 
2664
- .stack-devtool .sdt-ai-send-btn-active:hover {
2664
+ .hexclave-devtool .sdt-ai-send-btn-active:hover {
2665
2665
  background: var(--sdt-accent-hover);
2666
2666
  }
2667
2667
 
2668
- .stack-devtool .sdt-ai-stop-btn,
2669
- .stack-devtool .sdt-ai-stop-btn:hover {
2668
+ .hexclave-devtool .sdt-ai-stop-btn,
2669
+ .hexclave-devtool .sdt-ai-stop-btn:hover {
2670
2670
  background: var(--sdt-error);
2671
2671
  color: white;
2672
2672
  }
2673
2673
 
2674
2674
  /* Accessible focus indicator for keyboard navigation */
2675
- .stack-devtool .sdt-tab:focus-visible {
2675
+ .hexclave-devtool .sdt-tab:focus-visible {
2676
2676
  outline: 2px solid var(--sdt-accent);
2677
2677
  outline-offset: -2px;
2678
2678
  border-radius: var(--sdt-radius);
@@ -2680,24 +2680,24 @@ const devToolCSS = `
2680
2680
 
2681
2681
  /* Reduced motion: disable animations for users who prefer it */
2682
2682
  @media (prefers-reduced-motion: reduce) {
2683
- .stack-devtool .sdt-panel-inner,
2684
- .stack-devtool .sdt-panel-exiting,
2685
- .stack-devtool .sdt-tab-content,
2686
- .stack-devtool .sdt-ov-pulse-dot,
2687
- .stack-devtool .sdt-ov-skeleton-pill,
2688
- .stack-devtool .sdt-support-spinner,
2689
- .stack-devtool .sdt-ai-thinking-dot {
2683
+ .hexclave-devtool .sdt-panel-inner,
2684
+ .hexclave-devtool .sdt-panel-exiting,
2685
+ .hexclave-devtool .sdt-tab-content,
2686
+ .hexclave-devtool .sdt-ov-pulse-dot,
2687
+ .hexclave-devtool .sdt-ov-skeleton-pill,
2688
+ .hexclave-devtool .sdt-support-spinner,
2689
+ .hexclave-devtool .sdt-ai-thinking-dot {
2690
2690
  animation: none !important;
2691
2691
  }
2692
2692
 
2693
- .stack-devtool .sdt-tab-indicator,
2694
- .stack-devtool .sdt-tab {
2693
+ .hexclave-devtool .sdt-tab-indicator,
2694
+ .hexclave-devtool .sdt-tab {
2695
2695
  transition: none !important;
2696
2696
  }
2697
2697
  }
2698
2698
 
2699
2699
  /* --- Stack theme explicit overrides (take priority over system preference) --- */
2700
- html:has(head > [data-stack-theme="light"]) .stack-devtool {
2700
+ html:has(head > [data-stack-theme="light"]) .hexclave-devtool {
2701
2701
  --sdt-bg: #ffffff;
2702
2702
  --sdt-bg-elevated: #f8f8fa;
2703
2703
  --sdt-bg-hover: #f0f0f3;
@@ -2724,7 +2724,7 @@ const devToolCSS = `
2724
2724
  --sdt-trigger-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.06);
2725
2725
  }
2726
2726
 
2727
- html:has(head > [data-stack-theme="dark"]) .stack-devtool {
2727
+ html:has(head > [data-stack-theme="dark"]) .hexclave-devtool {
2728
2728
  --sdt-bg: #0a0a0b;
2729
2729
  --sdt-bg-elevated: #141416;
2730
2730
  --sdt-bg-hover: #1c1c1f;