wiki-viewer 1.14.1 → 1.14.2

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 (384) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/index.html +1 -1
  61. package/.next/standalone/.next/server/app/index.rsc +1 -1
  62. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  68. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  69. package/.next/standalone/.next/server/pages/404.html +1 -1
  70. package/.next/standalone/.next/server/pages/500.html +1 -1
  71. package/.next/standalone/package.json +1 -1
  72. package/bin/postbuild.js +21 -0
  73. package/package.json +1 -1
  74. package/.next/standalone/.github/workflows/publish.yml +0 -37
  75. package/.next/standalone/.handoffs/archive/handoff-20260612-113332.md +0 -98
  76. package/.next/standalone/.handoffs/archive/handoff-20260612-141032.md +0 -73
  77. package/.next/standalone/.pi/ownership.json +0 -3
  78. package/.next/standalone/AGENTS.md +0 -114
  79. package/.next/standalone/DESIGN.md +0 -521
  80. package/.next/standalone/README.md +0 -821
  81. package/.next/standalone/TODO.md +0 -20
  82. package/.next/standalone/agents/bootstrap-prompt.md +0 -14
  83. package/.next/standalone/agents/wiki-viewer-skill/SKILL.md +0 -456
  84. package/.next/standalone/bin/postbuild.js +0 -78
  85. package/.next/standalone/bin/wiki-viewer.js +0 -922
  86. package/.next/standalone/certificates/localhost-key.pem +0 -28
  87. package/.next/standalone/certificates/localhost.pem +0 -24
  88. package/.next/standalone/docs/agent-collab-plan.md +0 -1615
  89. package/.next/standalone/docs/agent-collab-v2-plan.md +0 -771
  90. package/.next/standalone/docs/agent-fs-plan.md +0 -232
  91. package/.next/standalone/docs/editorial-skin-spec.md +0 -242
  92. package/.next/standalone/docs/file-vs-collab-authority.md +0 -124
  93. package/.next/standalone/docs/mobile-readiness-spec.md +0 -229
  94. package/.next/standalone/docs/workspacing-plan.md +0 -364
  95. package/.next/standalone/packages/wiki-viewer-mcp/README.md +0 -195
  96. package/.next/standalone/packages/wiki-viewer-mcp/bench-e2e.mjs +0 -166
  97. package/.next/standalone/packages/wiki-viewer-mcp/bench-latency.mjs +0 -87
  98. package/.next/standalone/packages/wiki-viewer-mcp/bench-payload.mjs +0 -45
  99. package/.next/standalone/packages/wiki-viewer-mcp/dist/http-client.js +0 -331
  100. package/.next/standalone/packages/wiki-viewer-mcp/dist/index.js +0 -531
  101. package/.next/standalone/packages/wiki-viewer-mcp/dist/register.js +0 -94
  102. package/.next/standalone/packages/wiki-viewer-mcp/dist/state-cache.js +0 -28
  103. package/.next/standalone/packages/wiki-viewer-mcp/package-lock.json +0 -1716
  104. package/.next/standalone/packages/wiki-viewer-mcp/package.json +0 -41
  105. package/.next/standalone/packages/wiki-viewer-mcp/src/http-client.ts +0 -459
  106. package/.next/standalone/packages/wiki-viewer-mcp/src/index.ts +0 -638
  107. package/.next/standalone/packages/wiki-viewer-mcp/src/register.ts +0 -144
  108. package/.next/standalone/packages/wiki-viewer-mcp/src/state-cache.ts +0 -55
  109. package/.next/standalone/packages/wiki-viewer-mcp/tsconfig.json +0 -19
  110. package/.next/standalone/pnpm-lock.yaml +0 -6697
  111. package/.next/standalone/pnpm-workspace.yaml +0 -8
  112. package/.next/standalone/postcss.config.mjs +0 -2
  113. package/.next/standalone/src/app/api/agent/activity/route.ts +0 -59
  114. package/.next/standalone/src/app/api/agent/admin/agents/[agentId]/revoke/route.ts +0 -40
  115. package/.next/standalone/src/app/api/agent/admin/agents/route.ts +0 -33
  116. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/approve/route.ts +0 -83
  117. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/deny/route.ts +0 -36
  118. package/.next/standalone/src/app/api/agent/admin/registrations/route.ts +0 -27
  119. package/.next/standalone/src/app/api/agent/events/[...path]/route.ts +0 -148
  120. package/.next/standalone/src/app/api/agent/files/[...path]/route.ts +0 -219
  121. package/.next/standalone/src/app/api/agent/fs/file/[...path]/route.ts +0 -446
  122. package/.next/standalone/src/app/api/agent/fs/ls/[[...path]]/route.ts +0 -152
  123. package/.next/standalone/src/app/api/agent/fs/move/route.ts +0 -130
  124. package/.next/standalone/src/app/api/agent/fs/search/route.ts +0 -272
  125. package/.next/standalone/src/app/api/agent/internal/span/route.ts +0 -121
  126. package/.next/standalone/src/app/api/agent/register/[regId]/route.ts +0 -50
  127. package/.next/standalone/src/app/api/agent/register/route.ts +0 -118
  128. package/.next/standalone/src/app/api/agent/settings/route.ts +0 -34
  129. package/.next/standalone/src/app/api/agent/settings/token/regenerate/route.ts +0 -20
  130. package/.next/standalone/src/app/api/agent/sidecar/[...path]/route.ts +0 -53
  131. package/.next/standalone/src/app/api/agents/install/route.ts +0 -143
  132. package/.next/standalone/src/app/api/agents/skill/route.ts +0 -20
  133. package/.next/standalone/src/app/api/agents/skill.tar.gz/route.ts +0 -87
  134. package/.next/standalone/src/app/api/app-proxy/[...path]/route.ts +0 -247
  135. package/.next/standalone/src/app/api/assets/[...path]/route.ts +0 -75
  136. package/.next/standalone/src/app/api/auth/[...all]/route.ts +0 -7
  137. package/.next/standalone/src/app/api/owner/init/route.ts +0 -14
  138. package/.next/standalone/src/app/api/share/[token]/route.ts +0 -269
  139. package/.next/standalone/src/app/api/share/route.ts +0 -127
  140. package/.next/standalone/src/app/api/system/admins/route.ts +0 -103
  141. package/.next/standalone/src/app/api/system/auth-config/route.ts +0 -22
  142. package/.next/standalone/src/app/api/system/auth-settings/route.ts +0 -86
  143. package/.next/standalone/src/app/api/system/browse/route.ts +0 -82
  144. package/.next/standalone/src/app/api/system/clear-root/route.ts +0 -16
  145. package/.next/standalone/src/app/api/system/config/route.ts +0 -14
  146. package/.next/standalone/src/app/api/system/pins/route.ts +0 -38
  147. package/.next/standalone/src/app/api/system/reveal/route.ts +0 -36
  148. package/.next/standalone/src/app/api/system/root-status/route.ts +0 -13
  149. package/.next/standalone/src/app/api/system/set-root/route.ts +0 -53
  150. package/.next/standalone/src/app/api/system/users/route.ts +0 -120
  151. package/.next/standalone/src/app/api/system/workspaces/[id]/open/route.ts +0 -34
  152. package/.next/standalone/src/app/api/system/workspaces/[id]/refresh/route.ts +0 -32
  153. package/.next/standalone/src/app/api/system/workspaces/[id]/route.ts +0 -78
  154. package/.next/standalone/src/app/api/system/workspaces/route.ts +0 -128
  155. package/.next/standalone/src/app/api/upload/[...path]/route.ts +0 -85
  156. package/.next/standalone/src/app/api/wiki/app/route.ts +0 -60
  157. package/.next/standalone/src/app/api/wiki/backlinks/route.ts +0 -29
  158. package/.next/standalone/src/app/api/wiki/content/route.ts +0 -159
  159. package/.next/standalone/src/app/api/wiki/download/route.ts +0 -100
  160. package/.next/standalone/src/app/api/wiki/file/route.ts +0 -57
  161. package/.next/standalone/src/app/api/wiki/folder/route.ts +0 -34
  162. package/.next/standalone/src/app/api/wiki/git-branches/route.ts +0 -32
  163. package/.next/standalone/src/app/api/wiki/git-checkout/route.ts +0 -45
  164. package/.next/standalone/src/app/api/wiki/git-diff/route.ts +0 -33
  165. package/.next/standalone/src/app/api/wiki/git-file-info/route.ts +0 -27
  166. package/.next/standalone/src/app/api/wiki/git-history/route.ts +0 -27
  167. package/.next/standalone/src/app/api/wiki/git-pull/route.ts +0 -48
  168. package/.next/standalone/src/app/api/wiki/move/route.ts +0 -61
  169. package/.next/standalone/src/app/api/wiki/new-file/route.ts +0 -56
  170. package/.next/standalone/src/app/api/wiki/outlinks/route.ts +0 -76
  171. package/.next/standalone/src/app/api/wiki/page/route.ts +0 -92
  172. package/.next/standalone/src/app/api/wiki/presence/route.ts +0 -56
  173. package/.next/standalone/src/app/api/wiki/route.ts +0 -116
  174. package/.next/standalone/src/app/api/wiki/search/route.ts +0 -44
  175. package/.next/standalone/src/app/api/wiki/slugs/route.ts +0 -54
  176. package/.next/standalone/src/app/api/wiki/upload/route.ts +0 -95
  177. package/.next/standalone/src/app/api/wiki/watch/route.ts +0 -67
  178. package/.next/standalone/src/app/globals.css +0 -1249
  179. package/.next/standalone/src/app/icon.svg +0 -11
  180. package/.next/standalone/src/app/layout.tsx +0 -78
  181. package/.next/standalone/src/app/manifest.ts +0 -30
  182. package/.next/standalone/src/app/page.tsx +0 -3260
  183. package/.next/standalone/src/app/s/[token]/page.tsx +0 -357
  184. package/.next/standalone/src/app/signin/page.tsx +0 -16
  185. package/.next/standalone/src/app/signin/signin-form.tsx +0 -238
  186. package/.next/standalone/src/components/ai-panel/activity-row.tsx +0 -284
  187. package/.next/standalone/src/components/ai-panel/ai-panel.tsx +0 -311
  188. package/.next/standalone/src/components/ai-panel/token-section.tsx +0 -313
  189. package/.next/standalone/src/components/auth-settings-sheet.tsx +0 -474
  190. package/.next/standalone/src/components/confirm-dialog.tsx +0 -56
  191. package/.next/standalone/src/components/dir-picker.tsx +0 -606
  192. package/.next/standalone/src/components/editor/backlinks-panel.tsx +0 -139
  193. package/.next/standalone/src/components/editor/bubble-menu.tsx +0 -346
  194. package/.next/standalone/src/components/editor/callout-extension.ts +0 -36
  195. package/.next/standalone/src/components/editor/comment-pip.tsx +0 -56
  196. package/.next/standalone/src/components/editor/comment-thread.tsx +0 -254
  197. package/.next/standalone/src/components/editor/csv-viewer.tsx +0 -379
  198. package/.next/standalone/src/components/editor/document-outline.tsx +0 -230
  199. package/.next/standalone/src/components/editor/editor-toolbar.tsx +0 -564
  200. package/.next/standalone/src/components/editor/editor.tsx +0 -1327
  201. package/.next/standalone/src/components/editor/extensions/drag-handle.ts +0 -325
  202. package/.next/standalone/src/components/editor/extensions/heading-anchors.ts +0 -55
  203. package/.next/standalone/src/components/editor/extensions/proof-span.ts +0 -60
  204. package/.next/standalone/src/components/editor/extensions/resizable-image.tsx +0 -159
  205. package/.next/standalone/src/components/editor/extensions.ts +0 -150
  206. package/.next/standalone/src/components/editor/file-fallback-viewer.tsx +0 -75
  207. package/.next/standalone/src/components/editor/folder-index.tsx +0 -236
  208. package/.next/standalone/src/components/editor/google-doc-viewer.tsx +0 -73
  209. package/.next/standalone/src/components/editor/image-viewer.tsx +0 -57
  210. package/.next/standalone/src/components/editor/large-file-gate.tsx +0 -108
  211. package/.next/standalone/src/components/editor/link-popover.tsx +0 -111
  212. package/.next/standalone/src/components/editor/media-popover.tsx +0 -212
  213. package/.next/standalone/src/components/editor/media-viewer.tsx +0 -70
  214. package/.next/standalone/src/components/editor/mermaid-viewer.tsx +0 -286
  215. package/.next/standalone/src/components/editor/node-app-viewer.tsx +0 -328
  216. package/.next/standalone/src/components/editor/notebook-viewer.tsx +0 -371
  217. package/.next/standalone/src/components/editor/office/docx-viewer.tsx +0 -93
  218. package/.next/standalone/src/components/editor/office/office-chrome.tsx +0 -83
  219. package/.next/standalone/src/components/editor/office/pptx-viewer.tsx +0 -104
  220. package/.next/standalone/src/components/editor/office/xlsx-viewer.tsx +0 -192
  221. package/.next/standalone/src/components/editor/pdf-viewer.tsx +0 -32
  222. package/.next/standalone/src/components/editor/proof-span-popover.tsx +0 -162
  223. package/.next/standalone/src/components/editor/slash-commands.tsx +0 -629
  224. package/.next/standalone/src/components/editor/source-viewer.tsx +0 -289
  225. package/.next/standalone/src/components/editor/suggest-edit-popover.tsx +0 -229
  226. package/.next/standalone/src/components/editor/suggestion-card.tsx +0 -206
  227. package/.next/standalone/src/components/editor/table-menu.tsx +0 -232
  228. package/.next/standalone/src/components/editor/view-mode-comment-button.tsx +0 -77
  229. package/.next/standalone/src/components/editor/website-viewer.tsx +0 -75
  230. package/.next/standalone/src/components/editor/wiki-link-create-dialog.tsx +0 -189
  231. package/.next/standalone/src/components/editor/wiki-link-decorator.ts +0 -79
  232. package/.next/standalone/src/components/editor/wiki-link-extension.ts +0 -120
  233. package/.next/standalone/src/components/editor/wiki-link-picker.tsx +0 -250
  234. package/.next/standalone/src/components/layout/viewer-toolbar.tsx +0 -54
  235. package/.next/standalone/src/components/search/search-command-dialog.tsx +0 -246
  236. package/.next/standalone/src/components/search/sidebar-search-box.tsx +0 -121
  237. package/.next/standalone/src/components/search/snippet-text.tsx +0 -48
  238. package/.next/standalone/src/components/share-dialog.tsx +0 -307
  239. package/.next/standalone/src/components/theme-provider.tsx +0 -16
  240. package/.next/standalone/src/components/theme-toggle.tsx +0 -24
  241. package/.next/standalone/src/components/ui/badge.tsx +0 -35
  242. package/.next/standalone/src/components/ui/button.tsx +0 -56
  243. package/.next/standalone/src/components/ui/card.tsx +0 -63
  244. package/.next/standalone/src/components/ui/collapsible.tsx +0 -9
  245. package/.next/standalone/src/components/ui/command.tsx +0 -151
  246. package/.next/standalone/src/components/ui/context-menu.tsx +0 -191
  247. package/.next/standalone/src/components/ui/dialog.tsx +0 -119
  248. package/.next/standalone/src/components/ui/dropdown-menu.tsx +0 -194
  249. package/.next/standalone/src/components/ui/input.tsx +0 -22
  250. package/.next/standalone/src/components/ui/label.tsx +0 -25
  251. package/.next/standalone/src/components/ui/popover.tsx +0 -33
  252. package/.next/standalone/src/components/ui/scroll-area.tsx +0 -47
  253. package/.next/standalone/src/components/ui/select.tsx +0 -156
  254. package/.next/standalone/src/components/ui/separator.tsx +0 -30
  255. package/.next/standalone/src/components/ui/sheet.tsx +0 -140
  256. package/.next/standalone/src/components/ui/skeleton.tsx +0 -15
  257. package/.next/standalone/src/components/ui/switch.tsx +0 -28
  258. package/.next/standalone/src/components/ui/tabs.tsx +0 -54
  259. package/.next/standalone/src/components/ui/textarea.tsx +0 -21
  260. package/.next/standalone/src/components/ui/tip.tsx +0 -23
  261. package/.next/standalone/src/components/ui/toggle-group.tsx +0 -41
  262. package/.next/standalone/src/components/ui/tooltip.tsx +0 -27
  263. package/.next/standalone/src/components/view-width-toggle.tsx +0 -70
  264. package/.next/standalone/src/components/wiki/frontmatter-header.tsx +0 -164
  265. package/.next/standalone/src/hooks/use-is-mobile.ts +0 -14
  266. package/.next/standalone/src/lib/app-runner.ts +0 -272
  267. package/.next/standalone/src/lib/auth/admin.ts +0 -120
  268. package/.next/standalone/src/lib/auth/allowlist.ts +0 -50
  269. package/.next/standalone/src/lib/auth/client.ts +0 -4
  270. package/.next/standalone/src/lib/auth/csrf.ts +0 -68
  271. package/.next/standalone/src/lib/auth/server.ts +0 -215
  272. package/.next/standalone/src/lib/cabinets/tree.ts +0 -75
  273. package/.next/standalone/src/lib/config.ts +0 -114
  274. package/.next/standalone/src/lib/embeds/detect.ts +0 -142
  275. package/.next/standalone/src/lib/git-secrets.ts +0 -65
  276. package/.next/standalone/src/lib/git.ts +0 -503
  277. package/.next/standalone/src/lib/google/detect.ts +0 -107
  278. package/.next/standalone/src/lib/markdown/parse-frontmatter.ts +0 -104
  279. package/.next/standalone/src/lib/markdown/remark-wikilinks.ts +0 -100
  280. package/.next/standalone/src/lib/markdown/sanitize-schema.ts +0 -106
  281. package/.next/standalone/src/lib/markdown/to-html.ts +0 -282
  282. package/.next/standalone/src/lib/markdown/to-markdown.ts +0 -252
  283. package/.next/standalone/src/lib/proof/activity-shared.ts +0 -31
  284. package/.next/standalone/src/lib/proof/activity.ts +0 -74
  285. package/.next/standalone/src/lib/proof/audit.ts +0 -88
  286. package/.next/standalone/src/lib/proof/auth.ts +0 -143
  287. package/.next/standalone/src/lib/proof/block-refs.ts +0 -133
  288. package/.next/standalone/src/lib/proof/blocks.ts +0 -73
  289. package/.next/standalone/src/lib/proof/client-auth.ts +0 -23
  290. package/.next/standalone/src/lib/proof/collab-state.ts +0 -81
  291. package/.next/standalone/src/lib/proof/event-bus.ts +0 -47
  292. package/.next/standalone/src/lib/proof/file-lock.ts +0 -43
  293. package/.next/standalone/src/lib/proof/glob.ts +0 -51
  294. package/.next/standalone/src/lib/proof/idempotency.ts +0 -37
  295. package/.next/standalone/src/lib/proof/lease.ts +0 -117
  296. package/.next/standalone/src/lib/proof/mutex.ts +0 -36
  297. package/.next/standalone/src/lib/proof/ops-applier.ts +0 -727
  298. package/.next/standalone/src/lib/proof/owner-auth.ts +0 -2
  299. package/.next/standalone/src/lib/proof/pending.ts +0 -97
  300. package/.next/standalone/src/lib/proof/proof-span.ts +0 -141
  301. package/.next/standalone/src/lib/proof/rate-limit.ts +0 -53
  302. package/.next/standalone/src/lib/proof/raw-fs.ts +0 -197
  303. package/.next/standalone/src/lib/proof/register-rate-limit.ts +0 -53
  304. package/.next/standalone/src/lib/proof/registry.ts +0 -195
  305. package/.next/standalone/src/lib/proof/sidecar.ts +0 -103
  306. package/.next/standalone/src/lib/proof/suggest-capture.ts +0 -69
  307. package/.next/standalone/src/lib/proof/types.ts +0 -182
  308. package/.next/standalone/src/lib/proof-config.ts +0 -14
  309. package/.next/standalone/src/lib/root-dir.ts +0 -35
  310. package/.next/standalone/src/lib/search/indexable-exts.ts +0 -25
  311. package/.next/standalone/src/lib/search/indexer.ts +0 -634
  312. package/.next/standalone/src/lib/search/sanitize.ts +0 -35
  313. package/.next/standalone/src/lib/search/search-db.ts +0 -57
  314. package/.next/standalone/src/lib/search/watcher-pool.ts +0 -79
  315. package/.next/standalone/src/lib/shared-docs/db.ts +0 -177
  316. package/.next/standalone/src/lib/toast.ts +0 -9
  317. package/.next/standalone/src/lib/utils.ts +0 -6
  318. package/.next/standalone/src/lib/wiki-helpers.ts +0 -36
  319. package/.next/standalone/src/lib/workspace-client.ts +0 -82
  320. package/.next/standalone/src/lib/workspace-context.ts +0 -173
  321. package/.next/standalone/src/lib/workspaces.ts +0 -400
  322. package/.next/standalone/src/middleware.ts +0 -44
  323. package/.next/standalone/src/stores/ai-panel-store.ts +0 -79
  324. package/.next/standalone/src/stores/editor-store.ts +0 -439
  325. package/.next/standalone/src/stores/pin-store.ts +0 -56
  326. package/.next/standalone/src/stores/proof-store.ts +0 -124
  327. package/.next/standalone/src/stores/recent-store.ts +0 -51
  328. package/.next/standalone/src/stores/search-store.ts +0 -104
  329. package/.next/standalone/src/stores/show-hidden-store.ts +0 -26
  330. package/.next/standalone/src/stores/sidebar-width-store.ts +0 -39
  331. package/.next/standalone/src/stores/skin-store.ts +0 -42
  332. package/.next/standalone/src/stores/tree-store.ts +0 -52
  333. package/.next/standalone/src/stores/view-width-store.ts +0 -101
  334. package/.next/standalone/src/stores/wiki-slugs-store.ts +0 -75
  335. package/.next/standalone/src/tests/proof/activity-aggregator.test.ts +0 -146
  336. package/.next/standalone/src/tests/proof/admin-create-user.test.ts +0 -43
  337. package/.next/standalone/src/tests/proof/agent-fs.test.ts +0 -973
  338. package/.next/standalone/src/tests/proof/agent-ownership.test.ts +0 -140
  339. package/.next/standalone/src/tests/proof/agent-workspace-scope.test.ts +0 -134
  340. package/.next/standalone/src/tests/proof/agents-install.test.ts +0 -110
  341. package/.next/standalone/src/tests/proof/bench-write.ts +0 -179
  342. package/.next/standalone/src/tests/proof/better-auth.test.ts +0 -68
  343. package/.next/standalone/src/tests/proof/block-refs.test.ts +0 -108
  344. package/.next/standalone/src/tests/proof/blocks.test.ts +0 -92
  345. package/.next/standalone/src/tests/proof/collab-state.test.ts +0 -501
  346. package/.next/standalone/src/tests/proof/comments-ops.test.ts +0 -177
  347. package/.next/standalone/src/tests/proof/editor-roundtrip.test.ts +0 -85
  348. package/.next/standalone/src/tests/proof/external-edit.test.ts +0 -58
  349. package/.next/standalone/src/tests/proof/file-lock.test.ts +0 -80
  350. package/.next/standalone/src/tests/proof/git-branches-checkout.test.ts +0 -136
  351. package/.next/standalone/src/tests/proof/git-read-features.test.ts +0 -473
  352. package/.next/standalone/src/tests/proof/git-secrets.test.ts +0 -138
  353. package/.next/standalone/src/tests/proof/git-sparse.test.ts +0 -257
  354. package/.next/standalone/src/tests/proof/git-workspace.test.ts +0 -135
  355. package/.next/standalone/src/tests/proof/git.test.ts +0 -243
  356. package/.next/standalone/src/tests/proof/glob.test.ts +0 -82
  357. package/.next/standalone/src/tests/proof/helpers/auth-session.ts +0 -27
  358. package/.next/standalone/src/tests/proof/markdown-to-html.test.ts +0 -46
  359. package/.next/standalone/src/tests/proof/ops-applier.test.ts +0 -368
  360. package/.next/standalone/src/tests/proof/owner-init.test.ts +0 -2
  361. package/.next/standalone/src/tests/proof/parse-frontmatter.test.ts +0 -60
  362. package/.next/standalone/src/tests/proof/preload.ts +0 -21
  363. package/.next/standalone/src/tests/proof/proof-span.test.ts +0 -98
  364. package/.next/standalone/src/tests/proof/rate-limit.test.ts +0 -54
  365. package/.next/standalone/src/tests/proof/readonly-enforcement.test.ts +0 -161
  366. package/.next/standalone/src/tests/proof/reconcile-sidecar.test.ts +0 -195
  367. package/.next/standalone/src/tests/proof/registration-flow.test.ts +0 -330
  368. package/.next/standalone/src/tests/proof/registry.test.ts +0 -169
  369. package/.next/standalone/src/tests/proof/routes.test.ts +0 -516
  370. package/.next/standalone/src/tests/proof/search-index.test.ts +0 -376
  371. package/.next/standalone/src/tests/proof/sidecar-lifecycle.test.ts +0 -177
  372. package/.next/standalone/src/tests/proof/sidecar-trim.test.ts +0 -58
  373. package/.next/standalone/src/tests/proof/suggestion-ops.test.ts +0 -280
  374. package/.next/standalone/src/tests/proof/wiki-content-put.test.ts +0 -140
  375. package/.next/standalone/src/tests/proof/wiki-routes-auth.test.ts +0 -208
  376. package/.next/standalone/src/tests/proof/workspace-isolation.test.ts +0 -87
  377. package/.next/standalone/src/tests/proof/workspaces-api.test.ts +0 -227
  378. package/.next/standalone/src/types/index.ts +0 -47
  379. package/.next/standalone/tailwind.config.ts +0 -191
  380. package/.next/standalone/tsconfig.json +0 -41
  381. package/.next/standalone/tsconfig.tsbuildinfo +0 -1
  382. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_buildManifest.js +0 -0
  383. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_clientMiddlewareManifest.js +0 -0
  384. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_ssgManifest.js +0 -0
@@ -1,521 +0,0 @@
1
- ---
2
- version: alpha
3
- name: ElevenLabs
4
- description: A voice-AI brand whose marketing surfaces read like a quietly editorial print magazine. The base canvas is off-white (`#f5f5f5`) holding warm near-black ink (`#292524`); the brand voltage is photographic, not chromatic — soft pastel atmospheric gradient orbs (mint → peach → lavender → sky) drift through the page as the only "color" moments. Display runs Waldenburg Light at weight 300 — the editorial signature. Inter carries body, navigation, captions. CTAs are subtle: a near-black ink pill is the primary, a transparent outline is the secondary. The brand trusts atmospheric photography and modest type weights to do all of the brand work; there is no neon accent, no saturated CTA color, no developer-tools dark canvas.
5
-
6
- colors:
7
- primary: "#292524"
8
- primary-active: "#0c0a09"
9
- ink: "#0c0a09"
10
- body: "#4e4e4e"
11
- body-strong: "#292524"
12
- muted: "#777169"
13
- muted-soft: "#a8a29e"
14
- hairline: "#e7e5e4"
15
- hairline-soft: "#f0efed"
16
- hairline-strong: "#d6d3d1"
17
- canvas: "#f5f5f5"
18
- canvas-soft: "#fafafa"
19
- canvas-deep: "#0c0a09"
20
- surface-card: "#ffffff"
21
- surface-strong: "#f0efed"
22
- surface-dark: "#0c0a09"
23
- surface-dark-elevated: "#1c1917"
24
- on-primary: "#ffffff"
25
- on-dark: "#ffffff"
26
- on-dark-soft: "#a8a29e"
27
- gradient-mint: "#a7e5d3"
28
- gradient-peach: "#f4c5a8"
29
- gradient-lavender: "#c8b8e0"
30
- gradient-sky: "#a8c8e8"
31
- gradient-rose: "#e8b8c4"
32
- semantic-error: "#dc2626"
33
- semantic-success: "#16a34a"
34
-
35
- typography:
36
- display-mega:
37
- fontFamily: "'Waldenburg', 'Times New Roman', serif"
38
- fontSize: 64px
39
- fontWeight: 300
40
- lineHeight: 1.05
41
- letterSpacing: -1.92px
42
- display-xl:
43
- fontFamily: "'Waldenburg', serif"
44
- fontSize: 48px
45
- fontWeight: 300
46
- lineHeight: 1.08
47
- letterSpacing: -0.96px
48
- display-lg:
49
- fontFamily: "'Waldenburg', serif"
50
- fontSize: 36px
51
- fontWeight: 300
52
- lineHeight: 1.17
53
- letterSpacing: -0.36px
54
- display-md:
55
- fontFamily: "'Waldenburg', serif"
56
- fontSize: 32px
57
- fontWeight: 300
58
- lineHeight: 1.13
59
- letterSpacing: -0.32px
60
- display-sm:
61
- fontFamily: "'Waldenburg', serif"
62
- fontSize: 24px
63
- fontWeight: 300
64
- lineHeight: 1.2
65
- letterSpacing: 0
66
- title-md:
67
- fontFamily: "'Inter', sans-serif"
68
- fontSize: 20px
69
- fontWeight: 500
70
- lineHeight: 1.35
71
- letterSpacing: 0
72
- title-sm:
73
- fontFamily: "'Inter', sans-serif"
74
- fontSize: 18px
75
- fontWeight: 500
76
- lineHeight: 1.44
77
- letterSpacing: 0.18px
78
- body-md:
79
- fontFamily: "'Inter', sans-serif"
80
- fontSize: 16px
81
- fontWeight: 400
82
- lineHeight: 1.5
83
- letterSpacing: 0.16px
84
- body-strong:
85
- fontFamily: "'Inter', sans-serif"
86
- fontSize: 16px
87
- fontWeight: 500
88
- lineHeight: 1.5
89
- letterSpacing: 0.16px
90
- body-sm:
91
- fontFamily: "'Inter', sans-serif"
92
- fontSize: 15px
93
- fontWeight: 400
94
- lineHeight: 1.47
95
- letterSpacing: 0.15px
96
- caption:
97
- fontFamily: "'Inter', sans-serif"
98
- fontSize: 14px
99
- fontWeight: 400
100
- lineHeight: 1.5
101
- letterSpacing: 0
102
- caption-uppercase:
103
- fontFamily: "'Inter', sans-serif"
104
- fontSize: 12px
105
- fontWeight: 600
106
- lineHeight: 1.4
107
- letterSpacing: 0.96px
108
- textTransform: uppercase
109
- button:
110
- fontFamily: "'Inter', sans-serif"
111
- fontSize: 15px
112
- fontWeight: 500
113
- lineHeight: 1.0
114
- letterSpacing: 0
115
- nav-link:
116
- fontFamily: "'Inter', sans-serif"
117
- fontSize: 15px
118
- fontWeight: 500
119
- lineHeight: 1.4
120
- letterSpacing: 0
121
-
122
- rounded:
123
- none: 0px
124
- xs: 4px
125
- sm: 6px
126
- md: 8px
127
- lg: 12px
128
- xl: 16px
129
- xxl: 24px
130
- pill: 9999px
131
- full: 9999px
132
-
133
- spacing:
134
- xxs: 4px
135
- xs: 8px
136
- sm: 12px
137
- base: 16px
138
- md: 20px
139
- lg: 24px
140
- xl: 32px
141
- xxl: 48px
142
- section: 96px
143
-
144
- components:
145
- top-nav:
146
- backgroundColor: "{colors.canvas}"
147
- textColor: "{colors.ink}"
148
- typography: "{typography.nav-link}"
149
- height: 64px
150
- button-primary:
151
- backgroundColor: "{colors.primary}"
152
- textColor: "{colors.on-primary}"
153
- typography: "{typography.button}"
154
- rounded: "{rounded.pill}"
155
- padding: 10px 20px
156
- height: 40px
157
- button-primary-active:
158
- backgroundColor: "{colors.primary-active}"
159
- textColor: "{colors.on-primary}"
160
- rounded: "{rounded.pill}"
161
- button-outline:
162
- backgroundColor: transparent
163
- textColor: "{colors.ink}"
164
- typography: "{typography.button}"
165
- rounded: "{rounded.pill}"
166
- padding: 9px 19px
167
- height: 40px
168
- button-tertiary-text:
169
- backgroundColor: transparent
170
- textColor: "{colors.ink}"
171
- typography: "{typography.button}"
172
- hero-band:
173
- backgroundColor: "{colors.canvas}"
174
- textColor: "{colors.ink}"
175
- typography: "{typography.display-mega}"
176
- padding: 96px
177
- gradient-orb-card:
178
- backgroundColor: "{colors.canvas-soft}"
179
- textColor: "{colors.ink}"
180
- rounded: "{rounded.xxl}"
181
- padding: 32px
182
- feature-card:
183
- backgroundColor: "{colors.surface-card}"
184
- textColor: "{colors.ink}"
185
- typography: "{typography.title-md}"
186
- rounded: "{rounded.xl}"
187
- padding: 24px
188
- product-card-stack:
189
- backgroundColor: "{colors.surface-card}"
190
- textColor: "{colors.ink}"
191
- typography: "{typography.body-md}"
192
- rounded: "{rounded.xl}"
193
- padding: 0
194
- voice-row:
195
- backgroundColor: transparent
196
- textColor: "{colors.ink}"
197
- typography: "{typography.body-md}"
198
- padding: 12px 0
199
- voice-icon-circular:
200
- backgroundColor: "{colors.surface-strong}"
201
- rounded: "{rounded.full}"
202
- size: 32px
203
- pricing-tier-card:
204
- backgroundColor: "{colors.surface-card}"
205
- textColor: "{colors.ink}"
206
- typography: "{typography.body-md}"
207
- rounded: "{rounded.xl}"
208
- padding: 32px
209
- pricing-tier-featured:
210
- backgroundColor: "{colors.surface-dark}"
211
- textColor: "{colors.on-dark}"
212
- typography: "{typography.body-md}"
213
- rounded: "{rounded.xl}"
214
- padding: 32px
215
- text-input:
216
- backgroundColor: "{colors.surface-card}"
217
- textColor: "{colors.ink}"
218
- typography: "{typography.body-md}"
219
- rounded: "{rounded.md}"
220
- padding: 12px 16px
221
- height: 44px
222
- badge-pill:
223
- backgroundColor: "{colors.surface-strong}"
224
- textColor: "{colors.ink}"
225
- typography: "{typography.caption-uppercase}"
226
- rounded: "{rounded.pill}"
227
- padding: 4px 10px
228
- cta-band:
229
- backgroundColor: "{colors.canvas}"
230
- textColor: "{colors.ink}"
231
- typography: "{typography.display-lg}"
232
- padding: 96px
233
- testimonial-card:
234
- backgroundColor: "{colors.surface-card}"
235
- textColor: "{colors.body}"
236
- typography: "{typography.body-md}"
237
- rounded: "{rounded.xl}"
238
- padding: 32px
239
- audio-waveform-card:
240
- backgroundColor: "{colors.surface-card}"
241
- textColor: "{colors.ink}"
242
- rounded: "{rounded.xl}"
243
- padding: 24px
244
- footer:
245
- backgroundColor: "{colors.canvas}"
246
- textColor: "{colors.body}"
247
- typography: "{typography.body-sm}"
248
- padding: 64px 48px
249
- footer-link:
250
- backgroundColor: transparent
251
- textColor: "{colors.body}"
252
- typography: "{typography.body-sm}"
253
- segmented-control:
254
- backgroundColor: "{colors.surface-dark-elevated}"
255
- textColor: "{colors.on-dark-soft}"
256
- typography: "{typography.nav-link}"
257
- rounded: "{rounded.lg}"
258
- padding: 4px
259
- segmented-control-item-active:
260
- backgroundColor: "{colors.surface-card}"
261
- textColor: "{colors.ink}"
262
- rounded: "{rounded.md}"
263
- ---
264
-
265
- ## Overview
266
-
267
- ElevenLabs reads like a quietly editorial print magazine that happens to be a voice-AI product. The base canvas is off-white `{colors.canvas}` (#f5f5f5) holding warm near-black ink `{colors.ink}` (#0c0a09). The brand voltage is **photographic, not chromatic**: soft pastel atmospheric gradient orbs (mint, peach, lavender, sky, rose) drift through the page as the only "color" moments. There is no neon accent, no saturated CTA color, no dark-canvas dev-tools atmosphere.
268
-
269
- Type pairs **Waldenburg Light** (custom serif at weight 300) for display with **Inter** for body, navigation, captions. The display weight at 300 is the editorial signature — never bold, never heavy.
270
-
271
- CTAs are subtle: a near-black ink pill (`{component.button-primary}`) is the primary, a transparent outline (`{component.button-outline}`) is the secondary. The brand trusts atmospheric photography and modest type weights to carry brand work.
272
-
273
- **Key Characteristics:**
274
- - Off-white canvas, warm near-black ink. No saturated CTA color.
275
- - Single primary action: ink pill at `{rounded.pill}`. Atmospheric gradients carry visual brand voltage.
276
- - Display runs Waldenburg Light at weight 300 — editorial magazine voice.
277
- - Body runs Inter at 400 with subtle letter-spacing (+0.15-0.18px).
278
- - Pastel gradient orbs (5 tokens: mint, peach, lavender, sky, rose) used as atmospheric brand decoration only.
279
- - Soft pill geometry (`{rounded.pill}` for CTAs, `{rounded.xl}` for cards).
280
- - 96px section rhythm.
281
-
282
- ## Colors
283
-
284
- ### Brand & Accent
285
- - **Ink Primary** (`{colors.primary}` — #292524): The primary action color — warm near-black pill. Used scarcely.
286
- - **Ink Primary Active** (`{colors.primary-active}` — #0c0a09): Press state.
287
-
288
- ### Surface
289
- - **Canvas** (`{colors.canvas}` — #f5f5f5): Off-white page floor.
290
- - **Canvas Soft** (`{colors.canvas-soft}` — #fafafa): Lighter band for subtle alternating sections.
291
- - **Canvas Deep** (`{colors.canvas-deep}` — #0c0a09): Same as ink — used for the rare dark-mode hero (Agents page).
292
- - **Surface Card** (`{colors.surface-card}` — #ffffff): Pure white card.
293
- - **Surface Strong** (`{colors.surface-strong}` — #f0efed): Badges, voice-icon plates.
294
- - **Surface Dark** (`{colors.surface-dark}` — #0c0a09): Dark hero/CTA band canvas.
295
- - **Surface Dark Elevated** (`{colors.surface-dark-elevated}` — #1c1917): Cards on dark canvas.
296
-
297
- ### Hairlines
298
- - **Hairline** (`{colors.hairline}` — #e7e5e4): Default 1px divider.
299
- - **Hairline Soft** (`{colors.hairline-soft}` — #f0efed): Lighter divider.
300
- - **Hairline Strong** (`{colors.hairline-strong}` — #d6d3d1): Stronger panel outline.
301
-
302
- ### Text
303
- - **Ink** (`{colors.ink}` — #0c0a09): Display, primary text.
304
- - **Body** (`{colors.body}` — #4e4e4e): Default running-text.
305
- - **Body Strong** (`{colors.body-strong}` — #292524): Same as primary — emphasis.
306
- - **Muted** (`{colors.muted}` — #777169): Sub-titles.
307
- - **Muted Soft** (`{colors.muted-soft}` — #a8a29e): Disabled text.
308
- - **On Primary** (`{colors.on-primary}` — #ffffff): White text on ink pill.
309
- - **On Dark** (`{colors.on-dark}` — #ffffff): White text on dark hero.
310
- - **On Dark Soft** (`{colors.on-dark-soft}` — #a8a29e): Muted off-white on dark.
311
-
312
- ### Atmospheric Gradient Stops (signature)
313
- - **Gradient Mint** (`{colors.gradient-mint}` — #a7e5d3): Mint green orb.
314
- - **Gradient Peach** (`{colors.gradient-peach}` — #f4c5a8): Peach orb.
315
- - **Gradient Lavender** (`{colors.gradient-lavender}` — #c8b8e0): Lavender orb.
316
- - **Gradient Sky** (`{colors.gradient-sky}` — #a8c8e8): Sky-blue orb.
317
- - **Gradient Rose** (`{colors.gradient-rose}` — #e8b8c4): Rose orb.
318
-
319
- These appear ONLY as soft radial-gradient atmospheric orbs inside `{component.gradient-orb-card}` and as background atmospheric blooms behind hero copy. Never as button fills, never as text colors.
320
-
321
- ### Semantic
322
- - **Success** (`{colors.semantic-success}` — #16a34a): Confirmation.
323
- - **Error** (`{colors.semantic-error}` — #dc2626): Validation errors.
324
-
325
- ## Typography
326
-
327
- ### Font Family
328
- **Waldenburg Light** is the licensed display serif at weight 300. **Inter** carries body, navigation, captions, and buttons. Fallback: `'Times New Roman', serif` for Waldenburg, `sans-serif` for Inter.
329
-
330
- ### Hierarchy
331
-
332
- | Token | Size | Weight | Line Height | Letter Spacing | Use |
333
- |---|---|---|---|---|---|
334
- | `{typography.display-mega}` | 64px | 300 | 1.05 | -1.92px | Homepage hero h1 |
335
- | `{typography.display-xl}` | 48px | 300 | 1.08 | -0.96px | Subsidiary heroes |
336
- | `{typography.display-lg}` | 36px | 300 | 1.17 | -0.36px | Section heads |
337
- | `{typography.display-md}` | 32px | 300 | 1.13 | -0.32px | Sub-section heads |
338
- | `{typography.display-sm}` | 24px | 300 | 1.2 | 0 | Card group titles |
339
- | `{typography.title-md}` | 20px | 500 | 1.35 | 0 | Component titles — Inter |
340
- | `{typography.title-sm}` | 18px | 500 | 1.44 | 0.18px | List labels |
341
- | `{typography.body-md}` | 16px | 400 | 1.5 | 0.16px | Default body — Inter |
342
- | `{typography.body-strong}` | 16px | 500 | 1.5 | 0.16px | Emphasized body |
343
- | `{typography.body-sm}` | 15px | 400 | 1.47 | 0.15px | Footer body |
344
- | `{typography.caption}` | 14px | 400 | 1.5 | 0 | Photo captions |
345
- | `{typography.caption-uppercase}` | 12px | 600 | 1.4 | 0.96px | Section labels, badges |
346
- | `{typography.button}` | 15px | 500 | 1.0 | 0 | CTA pill |
347
- | `{typography.nav-link}` | 15px | 500 | 1.4 | 0 | Top-nav menu |
348
-
349
- ### Principles
350
- - **Display weight stays at 300.** Waldenburg Light is the editorial signature. Never bold display copy.
351
- - **Subtle letter-spacing on body.** Inter at +0.15-0.18px tracking — slightly looser than default Inter for a more editorial feel.
352
- - **Negative letter-spacing on display.** Waldenburg pulls -0.32px to -1.92px tighter on display sizes.
353
-
354
- ### Note on Font Substitutes
355
- Waldenburg is licensed. Open-source substitute: **EB Garamond** at weight 300 (slightly more humanist) or **GT Sectra** (closer to Waldenburg's modernity). Use Inter directly for body — it's the same family ElevenLabs uses.
356
-
357
- ## Layout
358
-
359
- ### Spacing System
360
- - **Base unit:** 4px.
361
- - **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.base}` 16px · `{spacing.md}` 20px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 96px.
362
- - **Section padding:** 96px.
363
-
364
- ### Grid & Container
365
- - Max content width: ~1200px.
366
- - Editorial body: 12-column grid.
367
- - Feature card grids: 2-up at desktop for hero splits, 3-up for benefit grids.
368
- - Footer: 5-column at desktop.
369
-
370
- ### Whitespace Philosophy
371
- Generous editorial pacing — print-magazine feel. 96px between bands; cards inside bands sit close (16-24px gap). The atmospheric gradient orbs occupy generous breathing space without competing with copy.
372
-
373
- ## Elevation & Depth
374
-
375
- The system uses **hairline + soft drop**. Cards float above the off-white canvas via 1px hairlines and a single subtle shadow tier. Atmospheric depth comes from gradient orbs.
376
-
377
- | Level | Treatment | Use |
378
- |---|---|---|
379
- | Flat (canvas) | `{colors.canvas}` (#f5f5f5) | Body bands, footer |
380
- | Card | `{colors.surface-card}` (#ffffff) | Content cards |
381
- | Hairline border | 1px `{colors.hairline}` | Card outlines |
382
- | Soft drop | `0 4px 16px rgba(0, 0, 0, 0.04)` | Hovered cards (single shadow tier) |
383
- | Gradient orb | Radial gradient with one of `{colors.gradient-*}` | Atmospheric depth — never a card surface |
384
-
385
- ### Decorative Depth
386
- - **Pastel gradient orbs** are the brand's strongest atmospheric pattern. Soft radial blooms in mint, peach, lavender, sky, or rose drift through hero bands and feature sections without containing any content — they are pure atmosphere.
387
-
388
- ## Shapes
389
-
390
- ### Border Radius Scale
391
-
392
- | Token | Value | Use |
393
- |---|---|---|
394
- | `{rounded.none}` | 0px | Reserved |
395
- | `{rounded.xs}` | 4px | Inline tags |
396
- | `{rounded.sm}` | 6px | Compact rows |
397
- | `{rounded.md}` | 8px | Form inputs |
398
- | `{rounded.lg}` | 12px | Compact cards |
399
- | `{rounded.xl}` | 16px | Feature cards, pricing tiers |
400
- | `{rounded.xxl}` | 24px | Gradient orb cards (extra-soft) |
401
- | `{rounded.pill}` | 9999px | All CTA buttons, badges |
402
- | `{rounded.full}` | 9999px | Voice icon circles, avatars |
403
-
404
- ## Components
405
-
406
- ### Top Navigation
407
-
408
- **`top-nav`** — Background `{colors.canvas}`, text `{colors.ink}`, height 64px. Layout: ElevenLabs wordmark left, primary horizontal menu (Creative / Agents / Video / Pricing / Enterprise / Docs), Sign In + "Try free" primary CTA right.
409
-
410
- ### Buttons
411
-
412
- **`button-primary`** — Near-black ink pill. Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}` (15px / 500), padding 10px × 20px, height 40px, rounded `{rounded.pill}`.
413
-
414
- **`button-primary-active`** — Press state. Background `{colors.primary-active}`.
415
-
416
- **`button-outline`** — Transparent pill with 1px ink border. Background transparent, text `{colors.ink}`, 1px `{colors.hairline-strong}` border.
417
-
418
- **`button-tertiary-text`** — Inline ink text link.
419
-
420
- ### Hero & Atmospheric
421
-
422
- **`hero-band`** — Background `{colors.canvas}`, full-width display headline in `{typography.display-mega}` (64px / 300 / -1.92px), subhead in `{typography.body-md}`, two CTAs, and an atmospheric gradient orb behind the centered headline.
423
-
424
- **`gradient-orb-card`** — A large card with a soft radial-gradient orb behind centered display copy. Background `{colors.canvas-soft}`, rounded `{rounded.xxl}` (24px), padding 32px. Each variant uses one of the five gradient tokens (`gradient-mint`, `gradient-peach`, `gradient-lavender`, `gradient-sky`, `gradient-rose`).
425
-
426
- **`audio-waveform-card`** — A waveform visualization card. Background `{colors.surface-card}`, rounded `{rounded.xl}`, padding 24px. Holds a play button + waveform glyph + voice metadata.
427
-
428
- ### Cards
429
-
430
- **`feature-card`** — 2-up or 3-up grids. Background `{colors.surface-card}`, text `{colors.ink}`, rounded `{rounded.xl}`, padding 24px, 1px hairline border.
431
-
432
- **`product-card-stack`** — Stacked product preview cards. Background `{colors.surface-card}`, rounded `{rounded.xl}`, no padding (children fill the card edge-to-edge).
433
-
434
- **`testimonial-card`** — Quote card. Background `{colors.surface-card}`, text `{colors.body}`, rounded `{rounded.xl}`, padding 32px.
435
-
436
- ### Voice Library
437
-
438
- **`voice-row`** — Horizontal row in voice list. Background transparent, 1px hairline divider. Layout: 32px circular voice icon (`{component.voice-icon-circular}`) left, voice name + accent stack, optional preview button right.
439
-
440
- **`voice-icon-circular`** — Background `{colors.surface-strong}`, rounded `{rounded.full}`, 32px diameter. Holds initials or voice glyph.
441
-
442
- ### Pricing
443
-
444
- **`pricing-tier-card`** — Background `{colors.surface-card}`, rounded `{rounded.xl}`, padding 32px, 1px hairline border.
445
-
446
- **`pricing-tier-featured`** — Featured tier inverts. Background `{colors.surface-dark}`, text `{colors.on-dark}`. Same shape, dark inversion.
447
-
448
- ### Forms & Tags
449
-
450
- **`text-input`** — Background `{colors.surface-card}`, text `{colors.ink}`, rounded `{rounded.md}` (8px), padding 12px × 16px, height 44px, 1px `{colors.hairline-strong}` border. On focus, border thickens to 2px ink.
451
-
452
- **`badge-pill`** — Background `{colors.surface-strong}`, text `{colors.ink}`, type `{typography.caption-uppercase}`, rounded `{rounded.pill}`, padding 4px × 10px.
453
-
454
- ### CTA / Footer
455
-
456
- **`cta-band`** — Pre-footer. Background `{colors.canvas}`, centered display headline in `{typography.display-lg}`, single ink pill CTA. 96px padding.
457
-
458
- **`footer`** — Closing footer. Background `{colors.canvas}`, text `{colors.body}`. 5-column link list. 64×48px padding.
459
-
460
- **`footer-link`** — Background transparent, text `{colors.body}`, type `{typography.body-sm}`.
461
-
462
- ### Navigation & Controls
463
-
464
- **`segmented-control`** (Tabs / Toggle Group) — Container background `{colors.surface-dark-elevated}` (or `{colors.surface-strong}` on light canvas), rounded `{rounded.lg}` (12px), with 4px padding. Inactive text is muted `{colors.on-dark-soft}` and normal case.
465
-
466
- **`segmented-control-item-active`** — The active trigger is a high-contrast pill inside the container. Background `{colors.surface-card}` (white), text `{colors.ink}`, typography `{typography.nav-link}` (15px / 500), rounded `{rounded.md}` (8px). No uppercase, no extended tracking.
467
-
468
- ## Do's and Don'ts
469
-
470
- ### Do
471
- - Reserve `{colors.primary}` (ink pill) for primary CTAs.
472
- - Use Waldenburg Light at weight 300 for every display headline. Never bold.
473
- - Use Inter at +0.15-0.18px tracking for body — the editorial dialect.
474
- - Use atmospheric gradient orbs (mint/peach/lavender/sky/rose) as decoration only.
475
- - Use the pill shape for every CTA and badge.
476
-
477
- ### Don't
478
- - Don't introduce a saturated brand action color. Ink pill is the only CTA color.
479
- - Don't bold display copy. Display sits at weight 300 — bolding shifts the brand voice from editorial to consumer-marketing.
480
- - Don't use gradient orbs as button fills, text colors, or component backgrounds. They are pure atmosphere.
481
- - Don't use sharp `{rounded.none}` (0px) on CTAs. Pill geometry is the brand button.
482
- - Don't drop body Inter to weight 300 to match Waldenburg — body stays at 400/500 for legibility.
483
- - Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual product CTAs.
484
- - Don't force uppercase on tab triggers or segmented controls. Tabs should remain normal case with `md` or `lg` rounding. Reserve uppercase pill styling strictly for small badges.
485
-
486
- ## Responsive Behavior
487
-
488
- ### Breakpoints
489
-
490
- | Name | Width | Key Changes |
491
- |---|---|---|
492
- | Mobile | < 640px | Hero h1 64→32px; feature cards 1-up; nav hamburger; gradient orbs shrink. |
493
- | Tablet | 640–1024px | Hero h1 48px; feature cards 2-up. |
494
- | Desktop | 1024–1280px | Full hero h1 64px; feature cards 3-up. |
495
- | Wide | > 1280px | Content caps at 1200px. |
496
-
497
- ### Touch Targets
498
- - Primary pill at 40px height — at WCAG AA, padded for AAA.
499
- - Voice icon circles 32px — padded row creates effective 48px tap zone.
500
-
501
- ### Collapsing Strategy
502
- - Top nav switches to hamburger below 768px.
503
- - Feature grid: 3-up → 2-up → 1-up.
504
- - Gradient orbs reduce diameter at every breakpoint but never disappear.
505
-
506
- ## Iteration Guide
507
-
508
- 1. Focus on a single component at a time.
509
- 2. CTAs default to `{rounded.pill}`. Cards use `{rounded.xl}` (16px).
510
- 3. Variants live as separate entries.
511
- 4. Use `{token.refs}` everywhere — never inline hex.
512
- 5. Hover state never documented.
513
- 6. Waldenburg 300 for display, Inter 400/500 for body.
514
- 7. Gradient orbs scoped to atmospheric decoration.
515
-
516
- ## Known Gaps
517
-
518
- - Waldenburg is a licensed typeface; EB Garamond / GT Sectra are documented substitutes.
519
- - Animation timings (orb drift, waveform pulse, hero entrance) out of scope.
520
- - In-product surfaces (voice library editor, agent playground) only partially captured via marketing mockups.
521
- - Form validation states beyond focus not visible on captured surfaces.