@palate/cli 0.0.0-stage → 0.0.1

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 (1222) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +151 -2
  3. package/bin/palate.mjs +894 -0
  4. package/kb/anatomy/data-table.md +24 -0
  5. package/kb/anatomy/empty-state.md +16 -0
  6. package/kb/anatomy/filter-toolbar.md +19 -0
  7. package/kb/anatomy/meter.md +16 -0
  8. package/kb/anatomy/product-window.md +18 -0
  9. package/kb/anatomy/settings-page.md +18 -0
  10. package/kb/anatomy/status-indicator.md +17 -0
  11. package/kb/anatomy/toast-undo.md +16 -0
  12. package/kb/bench/briefs.json +618 -0
  13. package/kb/craft/SOURCES.md +48 -0
  14. package/kb/craft/creativity.md +55 -0
  15. package/kb/craft/details.md +75 -0
  16. package/kb/craft/landing-demos.md +46 -0
  17. package/kb/craft/mistakes.md +73 -0
  18. package/kb/craft/motion.md +53 -0
  19. package/kb/craft/principles.md +68 -0
  20. package/kb/index/discovery.json +1 -0
  21. package/kb/inspiration/index.json +79 -0
  22. package/kb/moves/animated-comparison-table.md +58 -0
  23. package/kb/moves/before-after-slider.md +58 -0
  24. package/kb/moves/bento-live-tiles.md +57 -0
  25. package/kb/moves/calm-motion-system.md +63 -0
  26. package/kb/moves/canvas-grain.md +58 -0
  27. package/kb/moves/changelog-as-magazine.md +56 -0
  28. package/kb/moves/code-drawn-diagram.md +56 -0
  29. package/kb/moves/colophon.md +54 -0
  30. package/kb/moves/command-palette-site-nav.md +58 -0
  31. package/kb/moves/confetti-free-celebration.md +58 -0
  32. package/kb/moves/console-easter-egg.md +57 -0
  33. package/kb/moves/copy-confirmation.md +57 -0
  34. package/kb/moves/cursor-reactive-light.md +57 -0
  35. package/kb/moves/dark-band-contrast-section.md +55 -0
  36. package/kb/moves/designed-dark-mode.md +58 -0
  37. package/kb/moves/duotone-photography.md +55 -0
  38. package/kb/moves/editorial-drop-cap.md +58 -0
  39. package/kb/moves/editorial-grid-pull-quotes.md +55 -0
  40. package/kb/moves/engraving-colour-lens.md +64 -0
  41. package/kb/moves/explorable-control.md +57 -0
  42. package/kb/moves/feature-films-on-painted-stages.md +58 -0
  43. package/kb/moves/first-win-onboarding.md +59 -0
  44. package/kb/moves/footer-live-status.md +56 -0
  45. package/kb/moves/footer-rewards-the-end.md +58 -0
  46. package/kb/moves/generative-brand-pattern.md +55 -0
  47. package/kb/moves/gentle-error-nudge.md +59 -0
  48. package/kb/moves/halftone-dot-imagery.md +55 -0
  49. package/kb/moves/hand-drawn-annotations.md +55 -0
  50. package/kb/moves/hero-paints-itself-in.md +65 -0
  51. package/kb/moves/honest-progress-narration.md +58 -0
  52. package/kb/moves/honest-testimonial-wall.md +57 -0
  53. package/kb/moves/inline-sparklines-in-copy.md +57 -0
  54. package/kb/moves/inspect-our-taste.md +58 -0
  55. package/kb/moves/interactive-pricing-calculator.md +59 -0
  56. package/kb/moves/isometric-illustration-system.md +56 -0
  57. package/kb/moves/kinetic-variable-type.md +57 -0
  58. package/kb/moves/konami-secret.md +59 -0
  59. package/kb/moves/layered-paper-depth.md +56 -0
  60. package/kb/moves/lightweight-3d-object-hero.md +59 -0
  61. package/kb/moves/line-engraving-from-image.md +63 -0
  62. package/kb/moves/link-preview-peek.md +57 -0
  63. package/kb/moves/live-data-ticker.md +61 -0
  64. package/kb/moves/made-with-proof.md +51 -0
  65. package/kb/moves/magnetic-buttons.md +55 -0
  66. package/kb/moves/marquee-done-right.md +58 -0
  67. package/kb/moves/moves.yaml +450 -0
  68. package/kb/moves/museum-painting-backdrop.md +59 -0
  69. package/kb/moves/one-colour-brand-world.md +56 -0
  70. package/kb/moves/playful-404.md +58 -0
  71. package/kb/moves/pointer-highlight-word.md +56 -0
  72. package/kb/moves/product-in-context.md +56 -0
  73. package/kb/moves/real-world-data.md +58 -0
  74. package/kb/moves/referral-reward-reveal.md +59 -0
  75. package/kb/moves/riso-print-texture.md +57 -0
  76. package/kb/moves/screenshot-detail-crops.md +56 -0
  77. package/kb/moves/scroll-progress-chapters.md +57 -0
  78. package/kb/moves/scroll-scrubbed-product-film.md +62 -0
  79. package/kb/moves/self-playing-product-demo.md +61 -0
  80. package/kb/moves/shape-continuity-morph.md +58 -0
  81. package/kb/moves/sliding-nav-indicator.md +58 -0
  82. package/kb/moves/sticky-scroll-story.md +56 -0
  83. package/kb/moves/story-led-long-scroll.md +56 -0
  84. package/kb/moves/tactile-button.md +63 -0
  85. package/kb/moves/technical-drawing-lines.md +57 -0
  86. package/kb/moves/time-of-day-theming.md +56 -0
  87. package/kb/moves/tiny-game-easter-egg.md +60 -0
  88. package/kb/moves/type-decode-reveal.md +57 -0
  89. package/kb/moves/typographic-numeral-hero.md +58 -0
  90. package/kb/moves/view-transitions-between-pages.md +57 -0
  91. package/kb/moves/waitlist-position-live.md +60 -0
  92. package/kb/patterns/app-team-members.md +27 -0
  93. package/kb/patterns/chat-agent-approvals.md +31 -0
  94. package/kb/patterns/commerce-product-page.md +34 -0
  95. package/kb/patterns/dashboard-entity-table.md +37 -0
  96. package/kb/patterns/dashboard-home-today.md +24 -0
  97. package/kb/patterns/docs-api-reference.md +31 -0
  98. package/kb/patterns/marketing-product-led-landing.md +30 -0
  99. package/kb/patterns/mobile-daily-checklist.md +26 -0
  100. package/kb/references/index.json +1 -0
  101. package/kb/references/thumbs/004c5e9072.jpg +0 -0
  102. package/kb/references/thumbs/008915eb21.jpg +0 -0
  103. package/kb/references/thumbs/0098cf66c2.jpg +0 -0
  104. package/kb/references/thumbs/012e61b31f.jpg +0 -0
  105. package/kb/references/thumbs/014d4e46fc.jpg +0 -0
  106. package/kb/references/thumbs/01e54f394a.jpg +0 -0
  107. package/kb/references/thumbs/01e99a579c.jpg +0 -0
  108. package/kb/references/thumbs/01fd014575.jpg +0 -0
  109. package/kb/references/thumbs/022778ca72.jpg +0 -0
  110. package/kb/references/thumbs/02717bf1e1.jpg +0 -0
  111. package/kb/references/thumbs/02a5cfdbe9.jpg +0 -0
  112. package/kb/references/thumbs/02c9823f8d.jpg +0 -0
  113. package/kb/references/thumbs/02f3974613.jpg +0 -0
  114. package/kb/references/thumbs/032427f1ce.jpg +0 -0
  115. package/kb/references/thumbs/03ba677d07.jpg +0 -0
  116. package/kb/references/thumbs/04f2476cfe.jpg +0 -0
  117. package/kb/references/thumbs/0563e7c52e.jpg +0 -0
  118. package/kb/references/thumbs/05fa6b8eef.jpg +0 -0
  119. package/kb/references/thumbs/065bce1517.jpg +0 -0
  120. package/kb/references/thumbs/06c017f113.jpg +0 -0
  121. package/kb/references/thumbs/0770e2d8d3.jpg +0 -0
  122. package/kb/references/thumbs/078a26c4cb.jpg +0 -0
  123. package/kb/references/thumbs/08679b6e84.jpg +0 -0
  124. package/kb/references/thumbs/088c45a34c.jpg +0 -0
  125. package/kb/references/thumbs/089e9fd4e4.jpg +0 -0
  126. package/kb/references/thumbs/08f773231e.jpg +0 -0
  127. package/kb/references/thumbs/093ca3e2e3.jpg +0 -0
  128. package/kb/references/thumbs/0963320f74.jpg +0 -0
  129. package/kb/references/thumbs/09fc1ded85.jpg +0 -0
  130. package/kb/references/thumbs/0a368f3963.jpg +0 -0
  131. package/kb/references/thumbs/0a9e0e5201.jpg +0 -0
  132. package/kb/references/thumbs/0aace67ee7.jpg +0 -0
  133. package/kb/references/thumbs/0b61ecf793.jpg +0 -0
  134. package/kb/references/thumbs/0bde18ae09.jpg +0 -0
  135. package/kb/references/thumbs/0bf7ee8143.jpg +0 -0
  136. package/kb/references/thumbs/0ca20a13e0.jpg +0 -0
  137. package/kb/references/thumbs/0cdc0198c4.jpg +0 -0
  138. package/kb/references/thumbs/0cf9790b28.jpg +0 -0
  139. package/kb/references/thumbs/0d0202904b.jpg +0 -0
  140. package/kb/references/thumbs/0d053aba18.jpg +0 -0
  141. package/kb/references/thumbs/0d0c2c13d2.jpg +0 -0
  142. package/kb/references/thumbs/0d30be99b0.jpg +0 -0
  143. package/kb/references/thumbs/0d503da1b7.jpg +0 -0
  144. package/kb/references/thumbs/0ddad7b740.jpg +0 -0
  145. package/kb/references/thumbs/0e0a148101.jpg +0 -0
  146. package/kb/references/thumbs/0e401b6b75.jpg +0 -0
  147. package/kb/references/thumbs/0e8f32ba0f.jpg +0 -0
  148. package/kb/references/thumbs/0ef1966a7d.jpg +0 -0
  149. package/kb/references/thumbs/0efd416d11.jpg +0 -0
  150. package/kb/references/thumbs/0f3af263ae.jpg +0 -0
  151. package/kb/references/thumbs/0f9644c3a5.jpg +0 -0
  152. package/kb/references/thumbs/1020552737.jpg +0 -0
  153. package/kb/references/thumbs/1037626587.jpg +0 -0
  154. package/kb/references/thumbs/10512b7e94.jpg +0 -0
  155. package/kb/references/thumbs/106dc4a7b5.jpg +0 -0
  156. package/kb/references/thumbs/108943f6f7.jpg +0 -0
  157. package/kb/references/thumbs/10a5551d51.jpg +0 -0
  158. package/kb/references/thumbs/10dd01076c.jpg +0 -0
  159. package/kb/references/thumbs/11b06e39da.jpg +0 -0
  160. package/kb/references/thumbs/11baa1ec83.jpg +0 -0
  161. package/kb/references/thumbs/11bbe12167.jpg +0 -0
  162. package/kb/references/thumbs/11ca37feb8.jpg +0 -0
  163. package/kb/references/thumbs/11f14d3f12.jpg +0 -0
  164. package/kb/references/thumbs/124530ceb5.jpg +0 -0
  165. package/kb/references/thumbs/1276402336.jpg +0 -0
  166. package/kb/references/thumbs/1280e5c9d6.jpg +0 -0
  167. package/kb/references/thumbs/12cac0d172.jpg +0 -0
  168. package/kb/references/thumbs/138be6623a.jpg +0 -0
  169. package/kb/references/thumbs/13a0c544d1.jpg +0 -0
  170. package/kb/references/thumbs/13a32cb94c.jpg +0 -0
  171. package/kb/references/thumbs/144035d641.jpg +0 -0
  172. package/kb/references/thumbs/1457e41924.jpg +0 -0
  173. package/kb/references/thumbs/14972e3a86.jpg +0 -0
  174. package/kb/references/thumbs/15a47f2e4c.jpg +0 -0
  175. package/kb/references/thumbs/15aa15d22e.jpg +0 -0
  176. package/kb/references/thumbs/160dcd24b7.jpg +0 -0
  177. package/kb/references/thumbs/1610978529.jpg +0 -0
  178. package/kb/references/thumbs/16db30ba37.jpg +0 -0
  179. package/kb/references/thumbs/16f19ae4f3.jpg +0 -0
  180. package/kb/references/thumbs/16f758b03f.jpg +0 -0
  181. package/kb/references/thumbs/1748e5b751.jpg +0 -0
  182. package/kb/references/thumbs/175d0b0e69.jpg +0 -0
  183. package/kb/references/thumbs/178f571a36.jpg +0 -0
  184. package/kb/references/thumbs/17c43dc025.jpg +0 -0
  185. package/kb/references/thumbs/17c7f05b50.jpg +0 -0
  186. package/kb/references/thumbs/17f97e61dd.jpg +0 -0
  187. package/kb/references/thumbs/1804e17365.jpg +0 -0
  188. package/kb/references/thumbs/195c162ed1.jpg +0 -0
  189. package/kb/references/thumbs/19e3699c29.jpg +0 -0
  190. package/kb/references/thumbs/1a48e0a4d5.jpg +0 -0
  191. package/kb/references/thumbs/1a6cda265e.jpg +0 -0
  192. package/kb/references/thumbs/1a7e012091.jpg +0 -0
  193. package/kb/references/thumbs/1a9173a172.jpg +0 -0
  194. package/kb/references/thumbs/1b34a6b4d2.jpg +0 -0
  195. package/kb/references/thumbs/1b5284f3b2.jpg +0 -0
  196. package/kb/references/thumbs/1b93fbd6d3.jpg +0 -0
  197. package/kb/references/thumbs/1c6728fef6.jpg +0 -0
  198. package/kb/references/thumbs/1c6f101618.jpg +0 -0
  199. package/kb/references/thumbs/1cf7011a94.jpg +0 -0
  200. package/kb/references/thumbs/1d1769e539.jpg +0 -0
  201. package/kb/references/thumbs/1d1fd23199.jpg +0 -0
  202. package/kb/references/thumbs/1d7b6602ac.jpg +0 -0
  203. package/kb/references/thumbs/1dbbc61b9e.jpg +0 -0
  204. package/kb/references/thumbs/1dbdd6d21d.jpg +0 -0
  205. package/kb/references/thumbs/1dd873744b.jpg +0 -0
  206. package/kb/references/thumbs/1df4dd7cf9.jpg +0 -0
  207. package/kb/references/thumbs/1ece8c35b8.jpg +0 -0
  208. package/kb/references/thumbs/1f0e5b9aa4.jpg +0 -0
  209. package/kb/references/thumbs/1f1419651b.jpg +0 -0
  210. package/kb/references/thumbs/1f2a6da92d.jpg +0 -0
  211. package/kb/references/thumbs/1f651f33c0.jpg +0 -0
  212. package/kb/references/thumbs/1f8b697d18.jpg +0 -0
  213. package/kb/references/thumbs/1fee3824cd.jpg +0 -0
  214. package/kb/references/thumbs/1ff7757853.jpg +0 -0
  215. package/kb/references/thumbs/2043182f01.jpg +0 -0
  216. package/kb/references/thumbs/2059dabcd5.jpg +0 -0
  217. package/kb/references/thumbs/209d9dbb95.jpg +0 -0
  218. package/kb/references/thumbs/20d8923554.jpg +0 -0
  219. package/kb/references/thumbs/210dd3b671.jpg +0 -0
  220. package/kb/references/thumbs/2120719116.jpg +0 -0
  221. package/kb/references/thumbs/21a7384429.jpg +0 -0
  222. package/kb/references/thumbs/225f187391.jpg +0 -0
  223. package/kb/references/thumbs/230caf7dd2.jpg +0 -0
  224. package/kb/references/thumbs/235afad355.jpg +0 -0
  225. package/kb/references/thumbs/2378066687.jpg +0 -0
  226. package/kb/references/thumbs/241faf68a1.jpg +0 -0
  227. package/kb/references/thumbs/24d9f1a9b9.jpg +0 -0
  228. package/kb/references/thumbs/2505c8b9a0.jpg +0 -0
  229. package/kb/references/thumbs/25593638ca.jpg +0 -0
  230. package/kb/references/thumbs/25dd454f18.jpg +0 -0
  231. package/kb/references/thumbs/2602e123e2.jpg +0 -0
  232. package/kb/references/thumbs/26095c0b11.jpg +0 -0
  233. package/kb/references/thumbs/26260d6238.jpg +0 -0
  234. package/kb/references/thumbs/26bba21836.jpg +0 -0
  235. package/kb/references/thumbs/26bde3520b.jpg +0 -0
  236. package/kb/references/thumbs/272e22067c.jpg +0 -0
  237. package/kb/references/thumbs/27421b3226.jpg +0 -0
  238. package/kb/references/thumbs/2769ebca41.jpg +0 -0
  239. package/kb/references/thumbs/27e2f6e8b0.jpg +0 -0
  240. package/kb/references/thumbs/28432ba373.jpg +0 -0
  241. package/kb/references/thumbs/2846626f19.jpg +0 -0
  242. package/kb/references/thumbs/28750e821e.jpg +0 -0
  243. package/kb/references/thumbs/289481230f.jpg +0 -0
  244. package/kb/references/thumbs/2897967408.jpg +0 -0
  245. package/kb/references/thumbs/28c0a5fa17.jpg +0 -0
  246. package/kb/references/thumbs/28c181fba5.jpg +0 -0
  247. package/kb/references/thumbs/29806f539f.jpg +0 -0
  248. package/kb/references/thumbs/2997f56ee7.jpg +0 -0
  249. package/kb/references/thumbs/29b34a10fb.jpg +0 -0
  250. package/kb/references/thumbs/29bd78cdb4.jpg +0 -0
  251. package/kb/references/thumbs/29c8c6c22a.jpg +0 -0
  252. package/kb/references/thumbs/2ac23f7fae.jpg +0 -0
  253. package/kb/references/thumbs/2b76e13f79.jpg +0 -0
  254. package/kb/references/thumbs/2b84226479.jpg +0 -0
  255. package/kb/references/thumbs/2bf2dbf737.jpg +0 -0
  256. package/kb/references/thumbs/2bf89abbf6.jpg +0 -0
  257. package/kb/references/thumbs/2c562cd534.jpg +0 -0
  258. package/kb/references/thumbs/2cfe9d48c4.jpg +0 -0
  259. package/kb/references/thumbs/2d49f19b27.jpg +0 -0
  260. package/kb/references/thumbs/2dc8670da7.jpg +0 -0
  261. package/kb/references/thumbs/2de947c469.jpg +0 -0
  262. package/kb/references/thumbs/2e075ca79f.jpg +0 -0
  263. package/kb/references/thumbs/2eb0820e6b.jpg +0 -0
  264. package/kb/references/thumbs/2ec56a9dc0.jpg +0 -0
  265. package/kb/references/thumbs/30bb4ad607.jpg +0 -0
  266. package/kb/references/thumbs/30d19b8444.jpg +0 -0
  267. package/kb/references/thumbs/3173c71d73.jpg +0 -0
  268. package/kb/references/thumbs/31e59e4518.jpg +0 -0
  269. package/kb/references/thumbs/322b8960e8.jpg +0 -0
  270. package/kb/references/thumbs/325c9be6f4.jpg +0 -0
  271. package/kb/references/thumbs/3273338982.jpg +0 -0
  272. package/kb/references/thumbs/32f8387f38.jpg +0 -0
  273. package/kb/references/thumbs/332f6b74c3.jpg +0 -0
  274. package/kb/references/thumbs/334b146b6a.jpg +0 -0
  275. package/kb/references/thumbs/339abd60e4.jpg +0 -0
  276. package/kb/references/thumbs/33e88ec295.jpg +0 -0
  277. package/kb/references/thumbs/340931b5d4.jpg +0 -0
  278. package/kb/references/thumbs/34165a93bd.jpg +0 -0
  279. package/kb/references/thumbs/34d0575dd7.jpg +0 -0
  280. package/kb/references/thumbs/3549e75f0a.jpg +0 -0
  281. package/kb/references/thumbs/35827f1561.jpg +0 -0
  282. package/kb/references/thumbs/37c50280ec.jpg +0 -0
  283. package/kb/references/thumbs/37e66ecf11.jpg +0 -0
  284. package/kb/references/thumbs/3841a04fdc.jpg +0 -0
  285. package/kb/references/thumbs/38490c088f.jpg +0 -0
  286. package/kb/references/thumbs/3850319e9f.jpg +0 -0
  287. package/kb/references/thumbs/3856a64166.jpg +0 -0
  288. package/kb/references/thumbs/3881f211c2.jpg +0 -0
  289. package/kb/references/thumbs/38c7dde2f3.jpg +0 -0
  290. package/kb/references/thumbs/38ce9e486c.jpg +0 -0
  291. package/kb/references/thumbs/390ea8e01b.jpg +0 -0
  292. package/kb/references/thumbs/391b7fc27c.jpg +0 -0
  293. package/kb/references/thumbs/395f7214dc.jpg +0 -0
  294. package/kb/references/thumbs/39e81a5db2.jpg +0 -0
  295. package/kb/references/thumbs/3a67c8d655.jpg +0 -0
  296. package/kb/references/thumbs/3a89c25e3b.jpg +0 -0
  297. package/kb/references/thumbs/3aa0837542.jpg +0 -0
  298. package/kb/references/thumbs/3aae18aa8a.jpg +0 -0
  299. package/kb/references/thumbs/3bdbe767db.jpg +0 -0
  300. package/kb/references/thumbs/3c0616fc7f.jpg +0 -0
  301. package/kb/references/thumbs/3c18e9db1d.jpg +0 -0
  302. package/kb/references/thumbs/3c5a14076c.jpg +0 -0
  303. package/kb/references/thumbs/3ca9ec15c6.jpg +0 -0
  304. package/kb/references/thumbs/3d7756fd35.jpg +0 -0
  305. package/kb/references/thumbs/3dd45bd33d.jpg +0 -0
  306. package/kb/references/thumbs/3de72d5414.jpg +0 -0
  307. package/kb/references/thumbs/3dede597af.jpg +0 -0
  308. package/kb/references/thumbs/3ea948619e.jpg +0 -0
  309. package/kb/references/thumbs/402c12054c.jpg +0 -0
  310. package/kb/references/thumbs/403ab4af90.jpg +0 -0
  311. package/kb/references/thumbs/40773a8c63.jpg +0 -0
  312. package/kb/references/thumbs/407d9583db.jpg +0 -0
  313. package/kb/references/thumbs/415dc1d84c.jpg +0 -0
  314. package/kb/references/thumbs/420b676a4f.jpg +0 -0
  315. package/kb/references/thumbs/42a1ee85eb.jpg +0 -0
  316. package/kb/references/thumbs/43059221aa.jpg +0 -0
  317. package/kb/references/thumbs/432fa0d22c.jpg +0 -0
  318. package/kb/references/thumbs/43826f20e3.jpg +0 -0
  319. package/kb/references/thumbs/43ac55c98a.jpg +0 -0
  320. package/kb/references/thumbs/43d098f3c3.jpg +0 -0
  321. package/kb/references/thumbs/4449d80c2c.jpg +0 -0
  322. package/kb/references/thumbs/44625727dc.jpg +0 -0
  323. package/kb/references/thumbs/4482bb87a1.jpg +0 -0
  324. package/kb/references/thumbs/44b078acdc.jpg +0 -0
  325. package/kb/references/thumbs/44d0305850.jpg +0 -0
  326. package/kb/references/thumbs/456bb6b59e.jpg +0 -0
  327. package/kb/references/thumbs/45df73ce48.jpg +0 -0
  328. package/kb/references/thumbs/45edb45d87.jpg +0 -0
  329. package/kb/references/thumbs/4671d57cd5.jpg +0 -0
  330. package/kb/references/thumbs/46cc108518.jpg +0 -0
  331. package/kb/references/thumbs/470022e614.jpg +0 -0
  332. package/kb/references/thumbs/4719a669ce.jpg +0 -0
  333. package/kb/references/thumbs/47404f5ad4.jpg +0 -0
  334. package/kb/references/thumbs/479d3eb977.jpg +0 -0
  335. package/kb/references/thumbs/479ed92ceb.jpg +0 -0
  336. package/kb/references/thumbs/47baed50c7.jpg +0 -0
  337. package/kb/references/thumbs/47fdcfd7b0.jpg +0 -0
  338. package/kb/references/thumbs/48fd5e94c5.jpg +0 -0
  339. package/kb/references/thumbs/493807917b.jpg +0 -0
  340. package/kb/references/thumbs/49a1c67293.jpg +0 -0
  341. package/kb/references/thumbs/49e2d7fafe.jpg +0 -0
  342. package/kb/references/thumbs/49f540fcb6.jpg +0 -0
  343. package/kb/references/thumbs/4a67ec4028.jpg +0 -0
  344. package/kb/references/thumbs/4a93275b04.jpg +0 -0
  345. package/kb/references/thumbs/4aae6f52da.jpg +0 -0
  346. package/kb/references/thumbs/4b1bae66bd.jpg +0 -0
  347. package/kb/references/thumbs/4b75da15a9.jpg +0 -0
  348. package/kb/references/thumbs/4b77789b88.jpg +0 -0
  349. package/kb/references/thumbs/4bc2f3f3a4.jpg +0 -0
  350. package/kb/references/thumbs/4c48f27b88.jpg +0 -0
  351. package/kb/references/thumbs/4c52bd8bfb.jpg +0 -0
  352. package/kb/references/thumbs/4c9b4acc60.jpg +0 -0
  353. package/kb/references/thumbs/4cbf0752d4.jpg +0 -0
  354. package/kb/references/thumbs/4cd2672517.jpg +0 -0
  355. package/kb/references/thumbs/4dd22a8181.jpg +0 -0
  356. package/kb/references/thumbs/4ee3447314.jpg +0 -0
  357. package/kb/references/thumbs/4ef29c8144.jpg +0 -0
  358. package/kb/references/thumbs/4f82fadfd6.jpg +0 -0
  359. package/kb/references/thumbs/4fc9b643d8.jpg +0 -0
  360. package/kb/references/thumbs/50549524b0.jpg +0 -0
  361. package/kb/references/thumbs/509a615883.jpg +0 -0
  362. package/kb/references/thumbs/50c03ef855.jpg +0 -0
  363. package/kb/references/thumbs/50cf9acad6.jpg +0 -0
  364. package/kb/references/thumbs/51131b025c.jpg +0 -0
  365. package/kb/references/thumbs/51da1124f0.jpg +0 -0
  366. package/kb/references/thumbs/524d5e7288.jpg +0 -0
  367. package/kb/references/thumbs/5251247c81.jpg +0 -0
  368. package/kb/references/thumbs/526b91b7ec.jpg +0 -0
  369. package/kb/references/thumbs/52f02f6c2e.jpg +0 -0
  370. package/kb/references/thumbs/530ab530dc.jpg +0 -0
  371. package/kb/references/thumbs/5335ee4404.jpg +0 -0
  372. package/kb/references/thumbs/5385b90939.jpg +0 -0
  373. package/kb/references/thumbs/53c54654cc.jpg +0 -0
  374. package/kb/references/thumbs/5420794c6c.jpg +0 -0
  375. package/kb/references/thumbs/542a9dce8b.jpg +0 -0
  376. package/kb/references/thumbs/5571530a5f.jpg +0 -0
  377. package/kb/references/thumbs/56cc68d804.jpg +0 -0
  378. package/kb/references/thumbs/577b7f7c44.jpg +0 -0
  379. package/kb/references/thumbs/57adf8f1bb.jpg +0 -0
  380. package/kb/references/thumbs/57c5f5e3a6.jpg +0 -0
  381. package/kb/references/thumbs/57ffe4e839.jpg +0 -0
  382. package/kb/references/thumbs/5817dfc7d6.jpg +0 -0
  383. package/kb/references/thumbs/581a182a7a.jpg +0 -0
  384. package/kb/references/thumbs/58807679c8.jpg +0 -0
  385. package/kb/references/thumbs/589a1d9111.jpg +0 -0
  386. package/kb/references/thumbs/59167391ab.jpg +0 -0
  387. package/kb/references/thumbs/5a70420166.jpg +0 -0
  388. package/kb/references/thumbs/5b10df1b8d.jpg +0 -0
  389. package/kb/references/thumbs/5b7a712fdb.jpg +0 -0
  390. package/kb/references/thumbs/5bc46b92ad.jpg +0 -0
  391. package/kb/references/thumbs/5c0546a120.jpg +0 -0
  392. package/kb/references/thumbs/5c2b6125a8.jpg +0 -0
  393. package/kb/references/thumbs/5c536b9e42.jpg +0 -0
  394. package/kb/references/thumbs/5c8e441d30.jpg +0 -0
  395. package/kb/references/thumbs/5cb6f1baa5.jpg +0 -0
  396. package/kb/references/thumbs/5ce6c1f21e.jpg +0 -0
  397. package/kb/references/thumbs/5cef052c0a.jpg +0 -0
  398. package/kb/references/thumbs/5d08438209.jpg +0 -0
  399. package/kb/references/thumbs/5d0f9af9b0.jpg +0 -0
  400. package/kb/references/thumbs/5d300ed332.jpg +0 -0
  401. package/kb/references/thumbs/5d708a4794.jpg +0 -0
  402. package/kb/references/thumbs/5de8826a98.jpg +0 -0
  403. package/kb/references/thumbs/5df7bff22c.jpg +0 -0
  404. package/kb/references/thumbs/5e087d0f00.jpg +0 -0
  405. package/kb/references/thumbs/5e44e70ca0.jpg +0 -0
  406. package/kb/references/thumbs/5eff5d80ce.jpg +0 -0
  407. package/kb/references/thumbs/5f015c96b1.jpg +0 -0
  408. package/kb/references/thumbs/5f3289b7c4.jpg +0 -0
  409. package/kb/references/thumbs/5f830c40eb.jpg +0 -0
  410. package/kb/references/thumbs/60c4c3527b.jpg +0 -0
  411. package/kb/references/thumbs/60e9e594dd.jpg +0 -0
  412. package/kb/references/thumbs/615421d7be.jpg +0 -0
  413. package/kb/references/thumbs/6176e4004f.jpg +0 -0
  414. package/kb/references/thumbs/61f0fe5e06.jpg +0 -0
  415. package/kb/references/thumbs/6213785db4.jpg +0 -0
  416. package/kb/references/thumbs/62a670ae09.jpg +0 -0
  417. package/kb/references/thumbs/63cc12981b.jpg +0 -0
  418. package/kb/references/thumbs/641f15cc71.jpg +0 -0
  419. package/kb/references/thumbs/642ab2081d.jpg +0 -0
  420. package/kb/references/thumbs/644a59bf6e.jpg +0 -0
  421. package/kb/references/thumbs/644da8a8e3.jpg +0 -0
  422. package/kb/references/thumbs/6458986897.jpg +0 -0
  423. package/kb/references/thumbs/64cfbd7b93.jpg +0 -0
  424. package/kb/references/thumbs/661a57686a.jpg +0 -0
  425. package/kb/references/thumbs/66355a813a.jpg +0 -0
  426. package/kb/references/thumbs/664396dd44.jpg +0 -0
  427. package/kb/references/thumbs/66d832d65f.jpg +0 -0
  428. package/kb/references/thumbs/66de9e9833.jpg +0 -0
  429. package/kb/references/thumbs/6750964fd9.jpg +0 -0
  430. package/kb/references/thumbs/67c7164832.jpg +0 -0
  431. package/kb/references/thumbs/681600b6cd.jpg +0 -0
  432. package/kb/references/thumbs/682e75afe4.jpg +0 -0
  433. package/kb/references/thumbs/69274bc952.jpg +0 -0
  434. package/kb/references/thumbs/696ec08c52.jpg +0 -0
  435. package/kb/references/thumbs/69760111cc.jpg +0 -0
  436. package/kb/references/thumbs/697e32664f.jpg +0 -0
  437. package/kb/references/thumbs/69df92544b.jpg +0 -0
  438. package/kb/references/thumbs/69e48c5229.jpg +0 -0
  439. package/kb/references/thumbs/6a5fb75de1.jpg +0 -0
  440. package/kb/references/thumbs/6a7389e472.jpg +0 -0
  441. package/kb/references/thumbs/6a9b041e02.jpg +0 -0
  442. package/kb/references/thumbs/6ab2fa93ee.jpg +0 -0
  443. package/kb/references/thumbs/6ae3400319.jpg +0 -0
  444. package/kb/references/thumbs/6b21344bf3.jpg +0 -0
  445. package/kb/references/thumbs/6bd1b67a8a.jpg +0 -0
  446. package/kb/references/thumbs/6c99156c4f.jpg +0 -0
  447. package/kb/references/thumbs/6cc9b65384.jpg +0 -0
  448. package/kb/references/thumbs/6d15830a73.jpg +0 -0
  449. package/kb/references/thumbs/6d4c33d180.jpg +0 -0
  450. package/kb/references/thumbs/6e36815799.jpg +0 -0
  451. package/kb/references/thumbs/6eddb9cbfc.jpg +0 -0
  452. package/kb/references/thumbs/6f97968a7c.jpg +0 -0
  453. package/kb/references/thumbs/6fa0716a7d.jpg +0 -0
  454. package/kb/references/thumbs/6facd57184.jpg +0 -0
  455. package/kb/references/thumbs/6fd57b785a.jpg +0 -0
  456. package/kb/references/thumbs/700b3cb185.jpg +0 -0
  457. package/kb/references/thumbs/71197443fa.jpg +0 -0
  458. package/kb/references/thumbs/72082bc9ee.jpg +0 -0
  459. package/kb/references/thumbs/72453db479.jpg +0 -0
  460. package/kb/references/thumbs/72cd64d500.jpg +0 -0
  461. package/kb/references/thumbs/72d1e75283.jpg +0 -0
  462. package/kb/references/thumbs/72e13f7f5b.jpg +0 -0
  463. package/kb/references/thumbs/7459f8e644.jpg +0 -0
  464. package/kb/references/thumbs/7470d55c79.jpg +0 -0
  465. package/kb/references/thumbs/74c468f02a.jpg +0 -0
  466. package/kb/references/thumbs/74fed6eb77.jpg +0 -0
  467. package/kb/references/thumbs/756e05080d.jpg +0 -0
  468. package/kb/references/thumbs/75df7e5f49.jpg +0 -0
  469. package/kb/references/thumbs/76226da6ef.jpg +0 -0
  470. package/kb/references/thumbs/76a34aa056.jpg +0 -0
  471. package/kb/references/thumbs/76c7076589.jpg +0 -0
  472. package/kb/references/thumbs/76cccc396c.jpg +0 -0
  473. package/kb/references/thumbs/774654789f.jpg +0 -0
  474. package/kb/references/thumbs/7746cc494d.jpg +0 -0
  475. package/kb/references/thumbs/7766e36aa3.jpg +0 -0
  476. package/kb/references/thumbs/78049331ef.jpg +0 -0
  477. package/kb/references/thumbs/78808a0ca5.jpg +0 -0
  478. package/kb/references/thumbs/7890b0a310.jpg +0 -0
  479. package/kb/references/thumbs/78911975e6.jpg +0 -0
  480. package/kb/references/thumbs/78d289d5a0.jpg +0 -0
  481. package/kb/references/thumbs/794126267e.jpg +0 -0
  482. package/kb/references/thumbs/7976eb9025.jpg +0 -0
  483. package/kb/references/thumbs/798519ec7c.jpg +0 -0
  484. package/kb/references/thumbs/7a6cc5eecc.jpg +0 -0
  485. package/kb/references/thumbs/7ac8a7cd4a.jpg +0 -0
  486. package/kb/references/thumbs/7b1341d61d.jpg +0 -0
  487. package/kb/references/thumbs/7b9c4031e3.jpg +0 -0
  488. package/kb/references/thumbs/7ba5ad3779.jpg +0 -0
  489. package/kb/references/thumbs/7be6eb2bd0.jpg +0 -0
  490. package/kb/references/thumbs/7c30864f5d.jpg +0 -0
  491. package/kb/references/thumbs/7c379b5e17.jpg +0 -0
  492. package/kb/references/thumbs/7c4050eb02.jpg +0 -0
  493. package/kb/references/thumbs/7ca47b3221.jpg +0 -0
  494. package/kb/references/thumbs/7d43516bd7.jpg +0 -0
  495. package/kb/references/thumbs/7da9dbb98a.jpg +0 -0
  496. package/kb/references/thumbs/7ddda8f57c.jpg +0 -0
  497. package/kb/references/thumbs/7ece6d215c.jpg +0 -0
  498. package/kb/references/thumbs/7eebf029de.jpg +0 -0
  499. package/kb/references/thumbs/7f45483c15.jpg +0 -0
  500. package/kb/references/thumbs/7fde06eaa5.jpg +0 -0
  501. package/kb/references/thumbs/80407b97e9.jpg +0 -0
  502. package/kb/references/thumbs/80f0a6cf4b.jpg +0 -0
  503. package/kb/references/thumbs/8118b451b8.jpg +0 -0
  504. package/kb/references/thumbs/816baed4a8.jpg +0 -0
  505. package/kb/references/thumbs/817d2d15d9.jpg +0 -0
  506. package/kb/references/thumbs/8260cb430d.jpg +0 -0
  507. package/kb/references/thumbs/827b562899.jpg +0 -0
  508. package/kb/references/thumbs/8293cf1e92.jpg +0 -0
  509. package/kb/references/thumbs/8294653169.jpg +0 -0
  510. package/kb/references/thumbs/83061f871f.jpg +0 -0
  511. package/kb/references/thumbs/833df778ca.jpg +0 -0
  512. package/kb/references/thumbs/83d3acaafc.jpg +0 -0
  513. package/kb/references/thumbs/844c6efeff.jpg +0 -0
  514. package/kb/references/thumbs/84563d482a.jpg +0 -0
  515. package/kb/references/thumbs/848082dd94.jpg +0 -0
  516. package/kb/references/thumbs/8494b1da94.jpg +0 -0
  517. package/kb/references/thumbs/84b71014be.jpg +0 -0
  518. package/kb/references/thumbs/84be4a5f3c.jpg +0 -0
  519. package/kb/references/thumbs/84fd0fd25a.jpg +0 -0
  520. package/kb/references/thumbs/853e488e22.jpg +0 -0
  521. package/kb/references/thumbs/858c91585d.jpg +0 -0
  522. package/kb/references/thumbs/85903e8fe9.jpg +0 -0
  523. package/kb/references/thumbs/86597d43fd.jpg +0 -0
  524. package/kb/references/thumbs/866eb99500.jpg +0 -0
  525. package/kb/references/thumbs/86ac050340.jpg +0 -0
  526. package/kb/references/thumbs/86afec7b64.jpg +0 -0
  527. package/kb/references/thumbs/87238127f5.jpg +0 -0
  528. package/kb/references/thumbs/87321df792.jpg +0 -0
  529. package/kb/references/thumbs/87460f70cd.jpg +0 -0
  530. package/kb/references/thumbs/8770dfeaec.jpg +0 -0
  531. package/kb/references/thumbs/8798451a8c.jpg +0 -0
  532. package/kb/references/thumbs/87da1f34a3.jpg +0 -0
  533. package/kb/references/thumbs/882cdf8c05.jpg +0 -0
  534. package/kb/references/thumbs/8839f4106f.jpg +0 -0
  535. package/kb/references/thumbs/8844455212.jpg +0 -0
  536. package/kb/references/thumbs/88abba0497.jpg +0 -0
  537. package/kb/references/thumbs/88b372435d.jpg +0 -0
  538. package/kb/references/thumbs/88bd4f35fa.jpg +0 -0
  539. package/kb/references/thumbs/88c71a075e.jpg +0 -0
  540. package/kb/references/thumbs/892e5f048e.jpg +0 -0
  541. package/kb/references/thumbs/893cc8e920.jpg +0 -0
  542. package/kb/references/thumbs/896c198814.jpg +0 -0
  543. package/kb/references/thumbs/8a8e22f756.jpg +0 -0
  544. package/kb/references/thumbs/8a9d8a35cb.jpg +0 -0
  545. package/kb/references/thumbs/8ab1d67fec.jpg +0 -0
  546. package/kb/references/thumbs/8ab201fe12.jpg +0 -0
  547. package/kb/references/thumbs/8ac372c102.jpg +0 -0
  548. package/kb/references/thumbs/8b15736d62.jpg +0 -0
  549. package/kb/references/thumbs/8b1d8d6a05.jpg +0 -0
  550. package/kb/references/thumbs/8bb6050e20.jpg +0 -0
  551. package/kb/references/thumbs/8c6c9d1577.jpg +0 -0
  552. package/kb/references/thumbs/8d337851e0.jpg +0 -0
  553. package/kb/references/thumbs/8d44b33cc5.jpg +0 -0
  554. package/kb/references/thumbs/8d4536ff3b.jpg +0 -0
  555. package/kb/references/thumbs/8d9b99454a.jpg +0 -0
  556. package/kb/references/thumbs/8dda2303ff.jpg +0 -0
  557. package/kb/references/thumbs/8dec722d62.jpg +0 -0
  558. package/kb/references/thumbs/8e0ea4ca74.jpg +0 -0
  559. package/kb/references/thumbs/8ebba84d69.jpg +0 -0
  560. package/kb/references/thumbs/8ef09140c0.jpg +0 -0
  561. package/kb/references/thumbs/8f2928a1b0.jpg +0 -0
  562. package/kb/references/thumbs/8f88f9ddba.jpg +0 -0
  563. package/kb/references/thumbs/8fa4451009.jpg +0 -0
  564. package/kb/references/thumbs/90109b0e02.jpg +0 -0
  565. package/kb/references/thumbs/90e854e5c9.jpg +0 -0
  566. package/kb/references/thumbs/914e79f893.jpg +0 -0
  567. package/kb/references/thumbs/9161369197.jpg +0 -0
  568. package/kb/references/thumbs/9165c87d6f.jpg +0 -0
  569. package/kb/references/thumbs/9193f6558a.jpg +0 -0
  570. package/kb/references/thumbs/91ac7df877.jpg +0 -0
  571. package/kb/references/thumbs/9216bd4931.jpg +0 -0
  572. package/kb/references/thumbs/922ae8a26a.jpg +0 -0
  573. package/kb/references/thumbs/92a70e6867.jpg +0 -0
  574. package/kb/references/thumbs/92c77ece22.jpg +0 -0
  575. package/kb/references/thumbs/92e5914fbf.jpg +0 -0
  576. package/kb/references/thumbs/92ee36419a.jpg +0 -0
  577. package/kb/references/thumbs/94153a60b0.jpg +0 -0
  578. package/kb/references/thumbs/9449666640.jpg +0 -0
  579. package/kb/references/thumbs/944be6a646.jpg +0 -0
  580. package/kb/references/thumbs/945831476e.jpg +0 -0
  581. package/kb/references/thumbs/94c1af82f4.jpg +0 -0
  582. package/kb/references/thumbs/9599d6d589.jpg +0 -0
  583. package/kb/references/thumbs/960710f4cf.jpg +0 -0
  584. package/kb/references/thumbs/9608f12d64.jpg +0 -0
  585. package/kb/references/thumbs/962dabfaa0.jpg +0 -0
  586. package/kb/references/thumbs/965a3a95c6.jpg +0 -0
  587. package/kb/references/thumbs/9672ed5ae4.jpg +0 -0
  588. package/kb/references/thumbs/96891ae9c1.jpg +0 -0
  589. package/kb/references/thumbs/96e1907c99.jpg +0 -0
  590. package/kb/references/thumbs/96f25b6578.jpg +0 -0
  591. package/kb/references/thumbs/97211df9ae.jpg +0 -0
  592. package/kb/references/thumbs/9769d763a5.jpg +0 -0
  593. package/kb/references/thumbs/9792bd6d05.jpg +0 -0
  594. package/kb/references/thumbs/97d2837e3e.jpg +0 -0
  595. package/kb/references/thumbs/97d90d1d85.jpg +0 -0
  596. package/kb/references/thumbs/97fcd5774a.jpg +0 -0
  597. package/kb/references/thumbs/980f68564e.jpg +0 -0
  598. package/kb/references/thumbs/98511fb393.jpg +0 -0
  599. package/kb/references/thumbs/98f8fa694d.jpg +0 -0
  600. package/kb/references/thumbs/9a42c6bb97.jpg +0 -0
  601. package/kb/references/thumbs/9ab3600a06.jpg +0 -0
  602. package/kb/references/thumbs/9ab48d9130.jpg +0 -0
  603. package/kb/references/thumbs/9ad519197d.jpg +0 -0
  604. package/kb/references/thumbs/9b1382c657.jpg +0 -0
  605. package/kb/references/thumbs/9b6cc1e077.jpg +0 -0
  606. package/kb/references/thumbs/9beede8480.jpg +0 -0
  607. package/kb/references/thumbs/9bf8976952.jpg +0 -0
  608. package/kb/references/thumbs/9cace7b75a.jpg +0 -0
  609. package/kb/references/thumbs/9cdcc5745e.jpg +0 -0
  610. package/kb/references/thumbs/9d0b269074.jpg +0 -0
  611. package/kb/references/thumbs/9d41788b48.jpg +0 -0
  612. package/kb/references/thumbs/9d475bd6af.jpg +0 -0
  613. package/kb/references/thumbs/9e6bc543d0.jpg +0 -0
  614. package/kb/references/thumbs/9ed0e0a206.jpg +0 -0
  615. package/kb/references/thumbs/9ef538de13.jpg +0 -0
  616. package/kb/references/thumbs/9efc373ab4.jpg +0 -0
  617. package/kb/references/thumbs/9f4a939fa5.jpg +0 -0
  618. package/kb/references/thumbs/9f8d12d7b9.jpg +0 -0
  619. package/kb/references/thumbs/9fd5e3efa7.jpg +0 -0
  620. package/kb/references/thumbs/a0a9b9c572.jpg +0 -0
  621. package/kb/references/thumbs/a29ca9b185.jpg +0 -0
  622. package/kb/references/thumbs/a2a42884af.jpg +0 -0
  623. package/kb/references/thumbs/a2f5064e34.jpg +0 -0
  624. package/kb/references/thumbs/a3112ce672.jpg +0 -0
  625. package/kb/references/thumbs/a3437736d1.jpg +0 -0
  626. package/kb/references/thumbs/a372667e76.jpg +0 -0
  627. package/kb/references/thumbs/a39bae94e9.jpg +0 -0
  628. package/kb/references/thumbs/a3fc75d94c.jpg +0 -0
  629. package/kb/references/thumbs/a440487631.jpg +0 -0
  630. package/kb/references/thumbs/a4993d5fb5.jpg +0 -0
  631. package/kb/references/thumbs/a500476a86.jpg +0 -0
  632. package/kb/references/thumbs/a55506bf46.jpg +0 -0
  633. package/kb/references/thumbs/a59a5f9843.jpg +0 -0
  634. package/kb/references/thumbs/a5bce0eede.jpg +0 -0
  635. package/kb/references/thumbs/a5d921e1f0.jpg +0 -0
  636. package/kb/references/thumbs/a5e19d4637.jpg +0 -0
  637. package/kb/references/thumbs/a5f92b97d5.jpg +0 -0
  638. package/kb/references/thumbs/a6562c210a.jpg +0 -0
  639. package/kb/references/thumbs/a6f61a8d09.jpg +0 -0
  640. package/kb/references/thumbs/a719fdf663.jpg +0 -0
  641. package/kb/references/thumbs/a724e5442f.jpg +0 -0
  642. package/kb/references/thumbs/a852b4319f.jpg +0 -0
  643. package/kb/references/thumbs/a896c08448.jpg +0 -0
  644. package/kb/references/thumbs/a8d190a4b8.jpg +0 -0
  645. package/kb/references/thumbs/a8dcdd57d7.jpg +0 -0
  646. package/kb/references/thumbs/a951347e18.jpg +0 -0
  647. package/kb/references/thumbs/a9a1a0bf7d.jpg +0 -0
  648. package/kb/references/thumbs/a9b72986a8.jpg +0 -0
  649. package/kb/references/thumbs/aa11555ba8.jpg +0 -0
  650. package/kb/references/thumbs/aa4aab9093.jpg +0 -0
  651. package/kb/references/thumbs/aa89b96658.jpg +0 -0
  652. package/kb/references/thumbs/aaeb3739b6.jpg +0 -0
  653. package/kb/references/thumbs/ab25a608ec.jpg +0 -0
  654. package/kb/references/thumbs/ab34b62268.jpg +0 -0
  655. package/kb/references/thumbs/ab3b0217bb.jpg +0 -0
  656. package/kb/references/thumbs/ac70c04afb.jpg +0 -0
  657. package/kb/references/thumbs/ace0879117.jpg +0 -0
  658. package/kb/references/thumbs/ad0515ae55.jpg +0 -0
  659. package/kb/references/thumbs/ad66b25b47.jpg +0 -0
  660. package/kb/references/thumbs/ad68229d2f.jpg +0 -0
  661. package/kb/references/thumbs/add6480693.jpg +0 -0
  662. package/kb/references/thumbs/ae5b8c3b8c.jpg +0 -0
  663. package/kb/references/thumbs/ae81247b47.jpg +0 -0
  664. package/kb/references/thumbs/af8aa54379.jpg +0 -0
  665. package/kb/references/thumbs/afa80dedd4.jpg +0 -0
  666. package/kb/references/thumbs/afe04d730f.jpg +0 -0
  667. package/kb/references/thumbs/b09a7dc315.jpg +0 -0
  668. package/kb/references/thumbs/b0c02629f6.jpg +0 -0
  669. package/kb/references/thumbs/b1cb4f91de.jpg +0 -0
  670. package/kb/references/thumbs/b1d4c13c92.jpg +0 -0
  671. package/kb/references/thumbs/b20eef86db.jpg +0 -0
  672. package/kb/references/thumbs/b3136ccdde.jpg +0 -0
  673. package/kb/references/thumbs/b3f5e8d7dd.jpg +0 -0
  674. package/kb/references/thumbs/b44adb81c9.jpg +0 -0
  675. package/kb/references/thumbs/b457a5894b.jpg +0 -0
  676. package/kb/references/thumbs/b461281e0f.jpg +0 -0
  677. package/kb/references/thumbs/b4942644f0.jpg +0 -0
  678. package/kb/references/thumbs/b49f8eccad.jpg +0 -0
  679. package/kb/references/thumbs/b56c69be23.jpg +0 -0
  680. package/kb/references/thumbs/b59786b33c.jpg +0 -0
  681. package/kb/references/thumbs/b5d368ce5a.jpg +0 -0
  682. package/kb/references/thumbs/b5eb442406.jpg +0 -0
  683. package/kb/references/thumbs/b7fdabf4ab.jpg +0 -0
  684. package/kb/references/thumbs/b88ee8d235.jpg +0 -0
  685. package/kb/references/thumbs/b8a4e5be8a.jpg +0 -0
  686. package/kb/references/thumbs/b8c85b661c.jpg +0 -0
  687. package/kb/references/thumbs/ba1b8e7435.jpg +0 -0
  688. package/kb/references/thumbs/ba9a593eed.jpg +0 -0
  689. package/kb/references/thumbs/baa7afc201.jpg +0 -0
  690. package/kb/references/thumbs/baf74398f7.jpg +0 -0
  691. package/kb/references/thumbs/bb3e947c10.jpg +0 -0
  692. package/kb/references/thumbs/bb4c1bb7c1.jpg +0 -0
  693. package/kb/references/thumbs/bbaa25cc8a.jpg +0 -0
  694. package/kb/references/thumbs/bc7e7f88cc.jpg +0 -0
  695. package/kb/references/thumbs/bc9d5b58f5.jpg +0 -0
  696. package/kb/references/thumbs/bcc99a51f7.jpg +0 -0
  697. package/kb/references/thumbs/bce13dd1c1.jpg +0 -0
  698. package/kb/references/thumbs/bd079a6130.jpg +0 -0
  699. package/kb/references/thumbs/bd2d70dda7.jpg +0 -0
  700. package/kb/references/thumbs/bd5895c5f2.jpg +0 -0
  701. package/kb/references/thumbs/bde8e31d62.jpg +0 -0
  702. package/kb/references/thumbs/be084e78f3.jpg +0 -0
  703. package/kb/references/thumbs/be94f170c8.jpg +0 -0
  704. package/kb/references/thumbs/bed33654f7.jpg +0 -0
  705. package/kb/references/thumbs/beeb9a0c18.jpg +0 -0
  706. package/kb/references/thumbs/bef42094dc.jpg +0 -0
  707. package/kb/references/thumbs/bf625496fa.jpg +0 -0
  708. package/kb/references/thumbs/bf771f1398.jpg +0 -0
  709. package/kb/references/thumbs/c0ddefa3d9.jpg +0 -0
  710. package/kb/references/thumbs/c0f01e536e.jpg +0 -0
  711. package/kb/references/thumbs/c1d592b678.jpg +0 -0
  712. package/kb/references/thumbs/c1e83e1b3e.jpg +0 -0
  713. package/kb/references/thumbs/c2168f8096.jpg +0 -0
  714. package/kb/references/thumbs/c249cd6b17.jpg +0 -0
  715. package/kb/references/thumbs/c2e3d4feed.jpg +0 -0
  716. package/kb/references/thumbs/c3cec01df1.jpg +0 -0
  717. package/kb/references/thumbs/c47bedb42d.jpg +0 -0
  718. package/kb/references/thumbs/c4b03b4680.jpg +0 -0
  719. package/kb/references/thumbs/c4e6d18ec3.jpg +0 -0
  720. package/kb/references/thumbs/c5477e2877.jpg +0 -0
  721. package/kb/references/thumbs/c566794674.jpg +0 -0
  722. package/kb/references/thumbs/c5b945afbb.jpg +0 -0
  723. package/kb/references/thumbs/c5e4659497.jpg +0 -0
  724. package/kb/references/thumbs/c622786702.jpg +0 -0
  725. package/kb/references/thumbs/c6250649ca.jpg +0 -0
  726. package/kb/references/thumbs/c6261a9526.jpg +0 -0
  727. package/kb/references/thumbs/c62e609076.jpg +0 -0
  728. package/kb/references/thumbs/c6602d3e85.jpg +0 -0
  729. package/kb/references/thumbs/c6c1a16e40.jpg +0 -0
  730. package/kb/references/thumbs/c77f932157.jpg +0 -0
  731. package/kb/references/thumbs/c79788f01e.jpg +0 -0
  732. package/kb/references/thumbs/c7a511ad1e.jpg +0 -0
  733. package/kb/references/thumbs/c7acfbc3c8.jpg +0 -0
  734. package/kb/references/thumbs/c7bb6d1bb8.jpg +0 -0
  735. package/kb/references/thumbs/c829eadcb9.jpg +0 -0
  736. package/kb/references/thumbs/c891fd9d85.jpg +0 -0
  737. package/kb/references/thumbs/c89f812ee3.jpg +0 -0
  738. package/kb/references/thumbs/c8a85b9f61.jpg +0 -0
  739. package/kb/references/thumbs/c8fdf85c9a.jpg +0 -0
  740. package/kb/references/thumbs/c961ac1031.jpg +0 -0
  741. package/kb/references/thumbs/c9fd3f88d8.jpg +0 -0
  742. package/kb/references/thumbs/ca0d6399c3.jpg +0 -0
  743. package/kb/references/thumbs/ca316c83e4.jpg +0 -0
  744. package/kb/references/thumbs/ca3b93aa0d.jpg +0 -0
  745. package/kb/references/thumbs/cb0596a85b.jpg +0 -0
  746. package/kb/references/thumbs/cb95a5c3ef.jpg +0 -0
  747. package/kb/references/thumbs/cbe238b656.jpg +0 -0
  748. package/kb/references/thumbs/cbf530e608.jpg +0 -0
  749. package/kb/references/thumbs/cc173494ec.jpg +0 -0
  750. package/kb/references/thumbs/ccb664bddf.jpg +0 -0
  751. package/kb/references/thumbs/ccf69d36cd.jpg +0 -0
  752. package/kb/references/thumbs/ccf759db42.jpg +0 -0
  753. package/kb/references/thumbs/cd2a285807.jpg +0 -0
  754. package/kb/references/thumbs/cd4a24a8ca.jpg +0 -0
  755. package/kb/references/thumbs/cdb3fe8938.jpg +0 -0
  756. package/kb/references/thumbs/cdce1b9bc6.jpg +0 -0
  757. package/kb/references/thumbs/cde3aa761a.jpg +0 -0
  758. package/kb/references/thumbs/ce9d5cd9c2.jpg +0 -0
  759. package/kb/references/thumbs/ceb01f8a34.jpg +0 -0
  760. package/kb/references/thumbs/cee15c98d0.jpg +0 -0
  761. package/kb/references/thumbs/cf6944ddae.jpg +0 -0
  762. package/kb/references/thumbs/d15dd21cd8.jpg +0 -0
  763. package/kb/references/thumbs/d1633bf2ed.jpg +0 -0
  764. package/kb/references/thumbs/d16a838000.jpg +0 -0
  765. package/kb/references/thumbs/d1cf87e9f0.jpg +0 -0
  766. package/kb/references/thumbs/d32511d913.jpg +0 -0
  767. package/kb/references/thumbs/d327e9dedd.jpg +0 -0
  768. package/kb/references/thumbs/d35bf6c85e.jpg +0 -0
  769. package/kb/references/thumbs/d37afc9d61.jpg +0 -0
  770. package/kb/references/thumbs/d3b66655c7.jpg +0 -0
  771. package/kb/references/thumbs/d40b4172b6.jpg +0 -0
  772. package/kb/references/thumbs/d4c40d1824.jpg +0 -0
  773. package/kb/references/thumbs/d4cb55a4b6.jpg +0 -0
  774. package/kb/references/thumbs/d4f0c30f7e.jpg +0 -0
  775. package/kb/references/thumbs/d51cce3ae5.jpg +0 -0
  776. package/kb/references/thumbs/d52948f9ba.jpg +0 -0
  777. package/kb/references/thumbs/d62bd3cba4.jpg +0 -0
  778. package/kb/references/thumbs/d668a21c92.jpg +0 -0
  779. package/kb/references/thumbs/d685072c52.jpg +0 -0
  780. package/kb/references/thumbs/d6d7b96093.jpg +0 -0
  781. package/kb/references/thumbs/d7cd874b21.jpg +0 -0
  782. package/kb/references/thumbs/d7e111736a.jpg +0 -0
  783. package/kb/references/thumbs/d88325f832.jpg +0 -0
  784. package/kb/references/thumbs/d9272ded76.jpg +0 -0
  785. package/kb/references/thumbs/d962e7c654.jpg +0 -0
  786. package/kb/references/thumbs/d97f000ee2.jpg +0 -0
  787. package/kb/references/thumbs/d9c1ae2543.jpg +0 -0
  788. package/kb/references/thumbs/d9ccb3cac8.jpg +0 -0
  789. package/kb/references/thumbs/da99019680.jpg +0 -0
  790. package/kb/references/thumbs/da9b8bc615.jpg +0 -0
  791. package/kb/references/thumbs/daafbee2c1.jpg +0 -0
  792. package/kb/references/thumbs/db0f11f143.jpg +0 -0
  793. package/kb/references/thumbs/db5dd367f5.jpg +0 -0
  794. package/kb/references/thumbs/db69677866.jpg +0 -0
  795. package/kb/references/thumbs/db87c1956e.jpg +0 -0
  796. package/kb/references/thumbs/dbb86d8bda.jpg +0 -0
  797. package/kb/references/thumbs/dbd3a8ff2a.jpg +0 -0
  798. package/kb/references/thumbs/dbdf4b2794.jpg +0 -0
  799. package/kb/references/thumbs/dd4c19b4b1.jpg +0 -0
  800. package/kb/references/thumbs/dd98d9f6fa.jpg +0 -0
  801. package/kb/references/thumbs/ddb00e3b6a.jpg +0 -0
  802. package/kb/references/thumbs/dde3541a5c.jpg +0 -0
  803. package/kb/references/thumbs/de2a4da502.jpg +0 -0
  804. package/kb/references/thumbs/de4c387a66.jpg +0 -0
  805. package/kb/references/thumbs/de5618fa82.jpg +0 -0
  806. package/kb/references/thumbs/de6bec2538.jpg +0 -0
  807. package/kb/references/thumbs/dea13cbb1f.jpg +0 -0
  808. package/kb/references/thumbs/deff9202aa.jpg +0 -0
  809. package/kb/references/thumbs/df12835f8d.jpg +0 -0
  810. package/kb/references/thumbs/df57acbb3d.jpg +0 -0
  811. package/kb/references/thumbs/df8265009e.jpg +0 -0
  812. package/kb/references/thumbs/dfc99a1e8e.jpg +0 -0
  813. package/kb/references/thumbs/dfc9fde460.jpg +0 -0
  814. package/kb/references/thumbs/e038348eee.jpg +0 -0
  815. package/kb/references/thumbs/e04c2ae1d5.jpg +0 -0
  816. package/kb/references/thumbs/e070345c43.jpg +0 -0
  817. package/kb/references/thumbs/e0a0c84d47.jpg +0 -0
  818. package/kb/references/thumbs/e0af1e6b9e.jpg +0 -0
  819. package/kb/references/thumbs/e1025942c4.jpg +0 -0
  820. package/kb/references/thumbs/e11b6f5b82.jpg +0 -0
  821. package/kb/references/thumbs/e1553de3fc.jpg +0 -0
  822. package/kb/references/thumbs/e162ebe7cd.jpg +0 -0
  823. package/kb/references/thumbs/e1f1e531d8.jpg +0 -0
  824. package/kb/references/thumbs/e20842e5c9.jpg +0 -0
  825. package/kb/references/thumbs/e24e7d949b.jpg +0 -0
  826. package/kb/references/thumbs/e2a3e5d10a.jpg +0 -0
  827. package/kb/references/thumbs/e2de02615a.jpg +0 -0
  828. package/kb/references/thumbs/e305dad7dd.jpg +0 -0
  829. package/kb/references/thumbs/e52e3ef97f.jpg +0 -0
  830. package/kb/references/thumbs/e570e92d06.jpg +0 -0
  831. package/kb/references/thumbs/e583932fb9.jpg +0 -0
  832. package/kb/references/thumbs/e5da3c038f.jpg +0 -0
  833. package/kb/references/thumbs/e657634af3.jpg +0 -0
  834. package/kb/references/thumbs/e67946e3e1.jpg +0 -0
  835. package/kb/references/thumbs/e69e0f3639.jpg +0 -0
  836. package/kb/references/thumbs/e6ebe66031.jpg +0 -0
  837. package/kb/references/thumbs/e7db9563c9.jpg +0 -0
  838. package/kb/references/thumbs/e84a4c3b7b.jpg +0 -0
  839. package/kb/references/thumbs/e84cf52c27.jpg +0 -0
  840. package/kb/references/thumbs/e8707cf6e8.jpg +0 -0
  841. package/kb/references/thumbs/e888890b40.jpg +0 -0
  842. package/kb/references/thumbs/e8a502b418.jpg +0 -0
  843. package/kb/references/thumbs/e8ba68371d.jpg +0 -0
  844. package/kb/references/thumbs/e9098f54cc.jpg +0 -0
  845. package/kb/references/thumbs/e9144deae9.jpg +0 -0
  846. package/kb/references/thumbs/e93e98d757.jpg +0 -0
  847. package/kb/references/thumbs/e9762dd435.jpg +0 -0
  848. package/kb/references/thumbs/e9db4544c8.jpg +0 -0
  849. package/kb/references/thumbs/e9ddffeacd.jpg +0 -0
  850. package/kb/references/thumbs/e9e2cf1d7e.jpg +0 -0
  851. package/kb/references/thumbs/ea1e23e623.jpg +0 -0
  852. package/kb/references/thumbs/ea41200f5e.jpg +0 -0
  853. package/kb/references/thumbs/eaf4916e1a.jpg +0 -0
  854. package/kb/references/thumbs/eb2c505fc8.jpg +0 -0
  855. package/kb/references/thumbs/eb47943693.jpg +0 -0
  856. package/kb/references/thumbs/eb4ffd6625.jpg +0 -0
  857. package/kb/references/thumbs/eb82ac0a4d.jpg +0 -0
  858. package/kb/references/thumbs/ebeb345ade.jpg +0 -0
  859. package/kb/references/thumbs/ec4e2aba0a.jpg +0 -0
  860. package/kb/references/thumbs/ed683bc9f7.jpg +0 -0
  861. package/kb/references/thumbs/ed9e236a84.jpg +0 -0
  862. package/kb/references/thumbs/ee45e1caea.jpg +0 -0
  863. package/kb/references/thumbs/ee50bbf2e7.jpg +0 -0
  864. package/kb/references/thumbs/eed6ad3b7b.jpg +0 -0
  865. package/kb/references/thumbs/eee247fd70.jpg +0 -0
  866. package/kb/references/thumbs/ef87b6cb99.jpg +0 -0
  867. package/kb/references/thumbs/ef87dccf04.jpg +0 -0
  868. package/kb/references/thumbs/ef941bba1e.jpg +0 -0
  869. package/kb/references/thumbs/effc14fb2c.jpg +0 -0
  870. package/kb/references/thumbs/f04aa5a191.jpg +0 -0
  871. package/kb/references/thumbs/f13f12485f.jpg +0 -0
  872. package/kb/references/thumbs/f16a5c0fd4.jpg +0 -0
  873. package/kb/references/thumbs/f1ba7a7a8f.jpg +0 -0
  874. package/kb/references/thumbs/f1bc4c9c19.jpg +0 -0
  875. package/kb/references/thumbs/f1ee827878.jpg +0 -0
  876. package/kb/references/thumbs/f21736aeff.jpg +0 -0
  877. package/kb/references/thumbs/f22bc41213.jpg +0 -0
  878. package/kb/references/thumbs/f266aaffcc.jpg +0 -0
  879. package/kb/references/thumbs/f2c0ed0d65.jpg +0 -0
  880. package/kb/references/thumbs/f32ac710fd.jpg +0 -0
  881. package/kb/references/thumbs/f32b697ff6.jpg +0 -0
  882. package/kb/references/thumbs/f39c883904.jpg +0 -0
  883. package/kb/references/thumbs/f3b9d55e6e.jpg +0 -0
  884. package/kb/references/thumbs/f3c1763e14.jpg +0 -0
  885. package/kb/references/thumbs/f40853fd43.jpg +0 -0
  886. package/kb/references/thumbs/f4fd07dc4d.jpg +0 -0
  887. package/kb/references/thumbs/f50b756ee5.jpg +0 -0
  888. package/kb/references/thumbs/f51272e9b3.jpg +0 -0
  889. package/kb/references/thumbs/f538895eee.jpg +0 -0
  890. package/kb/references/thumbs/f5d28081b5.jpg +0 -0
  891. package/kb/references/thumbs/f6046c9501.jpg +0 -0
  892. package/kb/references/thumbs/f62e4af316.jpg +0 -0
  893. package/kb/references/thumbs/f6f6bffeb8.jpg +0 -0
  894. package/kb/references/thumbs/f736e00af6.jpg +0 -0
  895. package/kb/references/thumbs/f7932da47d.jpg +0 -0
  896. package/kb/references/thumbs/f879e118ca.jpg +0 -0
  897. package/kb/references/thumbs/f88257215d.jpg +0 -0
  898. package/kb/references/thumbs/f88c45a6d7.jpg +0 -0
  899. package/kb/references/thumbs/f89a7b646e.jpg +0 -0
  900. package/kb/references/thumbs/f8a1e7a274.jpg +0 -0
  901. package/kb/references/thumbs/f9183cf2b6.jpg +0 -0
  902. package/kb/references/thumbs/f995de5ce9.jpg +0 -0
  903. package/kb/references/thumbs/f9ada2c3e1.jpg +0 -0
  904. package/kb/references/thumbs/f9d4616f89.jpg +0 -0
  905. package/kb/references/thumbs/f9f4307bb0.jpg +0 -0
  906. package/kb/references/thumbs/fa070122c7.jpg +0 -0
  907. package/kb/references/thumbs/fa29cc1369.jpg +0 -0
  908. package/kb/references/thumbs/fa791a4dab.jpg +0 -0
  909. package/kb/references/thumbs/fa8060509e.jpg +0 -0
  910. package/kb/references/thumbs/fafeed4003.jpg +0 -0
  911. package/kb/references/thumbs/fb1c024f38.jpg +0 -0
  912. package/kb/references/thumbs/fb77aa28b3.jpg +0 -0
  913. package/kb/references/thumbs/fb9f7f1966.jpg +0 -0
  914. package/kb/references/thumbs/fba8a8c2da.jpg +0 -0
  915. package/kb/references/thumbs/fce2754c36.jpg +0 -0
  916. package/kb/references/thumbs/fce2fb83df.jpg +0 -0
  917. package/kb/references/thumbs/fd4c51bb47.jpg +0 -0
  918. package/kb/references/thumbs/fd8c269817.jpg +0 -0
  919. package/kb/references/thumbs/fdb7b250ca.jpg +0 -0
  920. package/kb/references/thumbs/fe18088de8.jpg +0 -0
  921. package/kb/references/thumbs/fe4f742ba7.jpg +0 -0
  922. package/kb/references/thumbs/fe64742ce7.jpg +0 -0
  923. package/kb/references/thumbs/feb5d62161.jpg +0 -0
  924. package/kb/references/thumbs/fed21b3e98.jpg +0 -0
  925. package/kb/references/thumbs/fed2205951.jpg +0 -0
  926. package/kb/references/thumbs/ffdacf1715.jpg +0 -0
  927. package/kb/sections/_buttons.md +93 -0
  928. package/kb/sections/_finish.md +325 -0
  929. package/kb/sections/about-founder-note.md +85 -0
  930. package/kb/sections/about-team-roster.md +86 -0
  931. package/kb/sections/alternating-rows-live-tiles.md +110 -0
  932. package/kb/sections/annotated-product-shot.md +105 -0
  933. package/kb/sections/asymmetric-bento-dominant.md +114 -0
  934. package/kb/sections/before-after-features.md +104 -0
  935. package/kb/sections/before-after-repair.md +107 -0
  936. package/kb/sections/bento-lead-tile.md +112 -0
  937. package/kb/sections/book-a-slot-honest.md +116 -0
  938. package/kb/sections/capability-prompt-ledger.md +68 -0
  939. package/kb/sections/case-study-band.md +113 -0
  940. package/kb/sections/centred-stack-hero.md +107 -0
  941. package/kb/sections/closing-demo-final-state.md +81 -0
  942. package/kb/sections/closing-full-bleed-line-and-form.md +86 -0
  943. package/kb/sections/closing-result-previewed.md +88 -0
  944. package/kb/sections/closing-three-real-steps.md +87 -0
  945. package/kb/sections/command-reference-table.md +70 -0
  946. package/kb/sections/comparison-old-way-bars.md +88 -0
  947. package/kb/sections/comparison-same-task-two-ways.md +88 -0
  948. package/kb/sections/day-of-the-place.md +102 -0
  949. package/kb/sections/docs-reading-rail.md +88 -0
  950. package/kb/sections/editorial-columns-hero.md +107 -0
  951. package/kb/sections/editorial-essay-pull-quote.md +112 -0
  952. package/kb/sections/events-calendar-list.md +107 -0
  953. package/kb/sections/explorable-control-demo.md +102 -0
  954. package/kb/sections/faq-open-answers-editorial.md +85 -0
  955. package/kb/sections/faq-ruled-accordion-aside.md +87 -0
  956. package/kb/sections/footer-closing-scene.md +84 -0
  957. package/kb/sections/footer-editorial-sitemap.md +85 -0
  958. package/kb/sections/footer-minimal-credits.md +80 -0
  959. package/kb/sections/full-bleed-image-band.md +103 -0
  960. package/kb/sections/full-bleed-image-hero.md +105 -0
  961. package/kb/sections/gallery-first-hero.md +109 -0
  962. package/kb/sections/horizontal-scroll-strip.md +101 -0
  963. package/kb/sections/how-i-work-own-voice.md +111 -0
  964. package/kb/sections/how-it-works-in-place.md +109 -0
  965. package/kb/sections/impact-numbers-sourced.md +109 -0
  966. package/kb/sections/install-steps-per-agent.md +77 -0
  967. package/kb/sections/masonry-real-work.md +109 -0
  968. package/kb/sections/numbered-editorial-columns.md +105 -0
  969. package/kb/sections/object-first-hero.md +106 -0
  970. package/kb/sections/object-timeline.md +105 -0
  971. package/kb/sections/one-huge-number.md +100 -0
  972. package/kb/sections/one-person-story.md +103 -0
  973. package/kb/sections/order-ahead-ticket.md +119 -0
  974. package/kb/sections/press-strip-quoted.md +106 -0
  975. package/kb/sections/pricing-comparison-table-sticky.md +94 -0
  976. package/kb/sections/pricing-free-pro-upgrade-moment.md +85 -0
  977. package/kb/sections/pricing-plan-beside-product.md +88 -0
  978. package/kb/sections/pricing-plans-ledger.md +94 -0
  979. package/kb/sections/pricing-usage-calculator.md +93 -0
  980. package/kb/sections/printed-menu-card.md +110 -0
  981. package/kb/sections/process-happening.md +102 -0
  982. package/kb/sections/project-index-ruled.md +106 -0
  983. package/kb/sections/proof-logo-cloud-with-reasons.md +82 -0
  984. package/kb/sections/proof-measured-numbers.md +88 -0
  985. package/kb/sections/proof-output-wall.md +84 -0
  986. package/kb/sections/proof-single-honest-quote.md +81 -0
  987. package/kb/sections/resources-searchable-list.md +110 -0
  988. package/kb/sections/rooms-and-rates.md +107 -0
  989. package/kb/sections/ruled-facts-table.md +108 -0
  990. package/kb/sections/ruled-list-pinned-visual.md +107 -0
  991. package/kb/sections/scroll-scrubbed-product-demo.md +103 -0
  992. package/kb/sections/self-playing-run-demo.md +104 -0
  993. package/kb/sections/services-price-ledger.md +106 -0
  994. package/kb/sections/signup-form-with-next-steps.md +86 -0
  995. package/kb/sections/signup-waitlist-place-in-line.md +90 -0
  996. package/kb/sections/spec-sheet-features.md +108 -0
  997. package/kb/sections/split-hero-live-object.md +108 -0
  998. package/kb/sections/sticky-feature-narrative.md +104 -0
  999. package/kb/sections/todays-board-hero.md +112 -0
  1000. package/kb/sections/touchable-tool-hero.md +111 -0
  1001. package/kb/sections/typographic-statement-hero.md +99 -0
  1002. package/kb/sections/visit-hours-map.md +110 -0
  1003. package/kb/sections/ways-to-help-honest.md +115 -0
  1004. package/kb/sources/design-reference.md +991 -0
  1005. package/kb/sources/product-and-docs.md +37 -0
  1006. package/kb/systems/1win/DESIGN.md +463 -0
  1007. package/kb/systems/LICENSE-awesome-design-md +21 -0
  1008. package/kb/systems/README.md +7 -0
  1009. package/kb/systems/airbnb/DESIGN.md +545 -0
  1010. package/kb/systems/airtable/DESIGN.md +554 -0
  1011. package/kb/systems/aljazeera/DESIGN.md +594 -0
  1012. package/kb/systems/apple/DESIGN.md +562 -0
  1013. package/kb/systems/binance/DESIGN.md +634 -0
  1014. package/kb/systems/bmw/DESIGN.md +544 -0
  1015. package/kb/systems/bmw-m/DESIGN.md +503 -0
  1016. package/kb/systems/bugatti/DESIGN.md +454 -0
  1017. package/kb/systems/cal/DESIGN.md +542 -0
  1018. package/kb/systems/categories.json +87 -0
  1019. package/kb/systems/claude/DESIGN.md +589 -0
  1020. package/kb/systems/clay/DESIGN.md +541 -0
  1021. package/kb/systems/clickhouse/DESIGN.md +544 -0
  1022. package/kb/systems/cohere/DESIGN.md +451 -0
  1023. package/kb/systems/coinbase/DESIGN.md +570 -0
  1024. package/kb/systems/composio/DESIGN.md +506 -0
  1025. package/kb/systems/cursor/DESIGN.md +537 -0
  1026. package/kb/systems/dell-1996/DESIGN.md +632 -0
  1027. package/kb/systems/dji/DESIGN.md +882 -0
  1028. package/kb/systems/elevenlabs/DESIGN.md +504 -0
  1029. package/kb/systems/expo/DESIGN.md +526 -0
  1030. package/kb/systems/ferrari/DESIGN.md +531 -0
  1031. package/kb/systems/figma/DESIGN.md +578 -0
  1032. package/kb/systems/framer/DESIGN.md +544 -0
  1033. package/kb/systems/hashicorp/DESIGN.md +575 -0
  1034. package/kb/systems/hp/DESIGN.md +670 -0
  1035. package/kb/systems/ibm/DESIGN.md +550 -0
  1036. package/kb/systems/intercom/DESIGN.md +546 -0
  1037. package/kb/systems/jobright/DESIGN.md +525 -0
  1038. package/kb/systems/kraken/DESIGN.md +125 -0
  1039. package/kb/systems/lamborghini/DESIGN.md +288 -0
  1040. package/kb/systems/linear.app/DESIGN.md +548 -0
  1041. package/kb/systems/lovable/DESIGN.md +298 -0
  1042. package/kb/systems/mastercard/DESIGN.md +365 -0
  1043. package/kb/systems/mercury/DESIGN.md +568 -0
  1044. package/kb/systems/meta/DESIGN.md +683 -0
  1045. package/kb/systems/minimax/DESIGN.md +746 -0
  1046. package/kb/systems/mintlify/DESIGN.md +852 -0
  1047. package/kb/systems/miro/DESIGN.md +825 -0
  1048. package/kb/systems/mistral.ai/DESIGN.md +773 -0
  1049. package/kb/systems/mongodb/DESIGN.md +767 -0
  1050. package/kb/systems/mydealz/DESIGN.md +551 -0
  1051. package/kb/systems/nerdwallet/DESIGN.md +722 -0
  1052. package/kb/systems/nike/DESIGN.md +575 -0
  1053. package/kb/systems/nintendo-2001/DESIGN.md +649 -0
  1054. package/kb/systems/notion/DESIGN.md +821 -0
  1055. package/kb/systems/nvidia/DESIGN.md +640 -0
  1056. package/kb/systems/ollama/DESIGN.md +539 -0
  1057. package/kb/systems/opencode.ai/DESIGN.md +521 -0
  1058. package/kb/systems/oracle/DESIGN.md +778 -0
  1059. package/kb/systems/oura/DESIGN.md +616 -0
  1060. package/kb/systems/pinterest/DESIGN.md +597 -0
  1061. package/kb/systems/playstation/DESIGN.md +661 -0
  1062. package/kb/systems/posthog/DESIGN.md +690 -0
  1063. package/kb/systems/raycast/DESIGN.md +669 -0
  1064. package/kb/systems/renault/DESIGN.md +589 -0
  1065. package/kb/systems/replicate/DESIGN.md +616 -0
  1066. package/kb/systems/resend/DESIGN.md +585 -0
  1067. package/kb/systems/revolut/DESIGN.md +636 -0
  1068. package/kb/systems/runwayml/DESIGN.md +244 -0
  1069. package/kb/systems/sanity/DESIGN.md +357 -0
  1070. package/kb/systems/sap/DESIGN.md +639 -0
  1071. package/kb/systems/sentry/DESIGN.md +551 -0
  1072. package/kb/systems/shopify/DESIGN.md +516 -0
  1073. package/kb/systems/slack/DESIGN.md +482 -0
  1074. package/kb/systems/spacex/DESIGN.md +363 -0
  1075. package/kb/systems/spotify/DESIGN.md +246 -0
  1076. package/kb/systems/starbucks/DESIGN.md +580 -0
  1077. package/kb/systems/stripe/DESIGN.md +487 -0
  1078. package/kb/systems/supabase/DESIGN.md +462 -0
  1079. package/kb/systems/superhuman/DESIGN.md +448 -0
  1080. package/kb/systems/tesla/DESIGN.md +286 -0
  1081. package/kb/systems/theverge/DESIGN.md +339 -0
  1082. package/kb/systems/together.ai/DESIGN.md +633 -0
  1083. package/kb/systems/uber/DESIGN.md +636 -0
  1084. package/kb/systems/vercel/DESIGN.md +736 -0
  1085. package/kb/systems/vodafone/DESIGN.md +538 -0
  1086. package/kb/systems/voltagent/DESIGN.md +521 -0
  1087. package/kb/systems/warp/DESIGN.md +526 -0
  1088. package/kb/systems/webflow/DESIGN.md +588 -0
  1089. package/kb/systems/wired/DESIGN.md +497 -0
  1090. package/kb/systems/wise/DESIGN.md +544 -0
  1091. package/kb/systems/x.ai/DESIGN.md +465 -0
  1092. package/kb/systems/zapier/DESIGN.md +537 -0
  1093. package/kb/taste/garvit-by-job.md +46 -0
  1094. package/kb/taste/garvit-portfolio.md +94 -0
  1095. package/kb/universal/color-roles.md +26 -0
  1096. package/kb/universal/copy.md +16 -0
  1097. package/kb/universal/details.md +31 -0
  1098. package/kb/universal/first-screen.md +30 -0
  1099. package/kb/universal/fit-the-codebase.md +29 -0
  1100. package/kb/universal/layout-width.md +28 -0
  1101. package/kb/universal/motion-feedback.md +23 -0
  1102. package/kb/universal/signature.md +29 -0
  1103. package/kb/universal/states.md +17 -0
  1104. package/kb/universal/type-app.md +33 -0
  1105. package/kb/universal/type-marketing.md +28 -0
  1106. package/package.json +36 -4
  1107. package/scripts/pack-assets.mjs +48 -0
  1108. package/skill/palate/SKILL.md +261 -0
  1109. package/src/auth-recheck.mjs +4 -0
  1110. package/src/auth.mjs +416 -0
  1111. package/src/capture.mjs +182 -0
  1112. package/src/catalog/classify.mjs +96 -0
  1113. package/src/catalog/curated.mjs +128 -0
  1114. package/src/catalog/index-build.mjs +67 -0
  1115. package/src/catalog/literal.mjs +146 -0
  1116. package/src/catalog/store.mjs +40 -0
  1117. package/src/catalog/vibrant.mjs +126 -0
  1118. package/src/check.mjs +93 -0
  1119. package/src/concept.mjs +157 -0
  1120. package/src/context.mjs +226 -0
  1121. package/src/copy.mjs +188 -0
  1122. package/src/devserver.mjs +135 -0
  1123. package/src/fontgenre.mjs +44 -0
  1124. package/src/guard-agents.mjs +213 -0
  1125. package/src/guard.mjs +377 -0
  1126. package/src/kb.mjs +91 -0
  1127. package/src/look.mjs +312 -0
  1128. package/src/loop/ambition.mjs +620 -0
  1129. package/src/loop/animate.mjs +70 -0
  1130. package/src/loop/artdirection.mjs +264 -0
  1131. package/src/loop/bench.mjs +184 -0
  1132. package/src/loop/benchpick.mjs +155 -0
  1133. package/src/loop/blueprint.mjs +620 -0
  1134. package/src/loop/board.html +180 -0
  1135. package/src/loop/build.mjs +393 -0
  1136. package/src/loop/buttons.mjs +413 -0
  1137. package/src/loop/common.mjs +206 -0
  1138. package/src/loop/cost.mjs +63 -0
  1139. package/src/loop/craft.mjs +152 -0
  1140. package/src/loop/craftchecks.mjs +148 -0
  1141. package/src/loop/critique.mjs +393 -0
  1142. package/src/loop/details.mjs +225 -0
  1143. package/src/loop/direction.html +168 -0
  1144. package/src/loop/direction.mjs +256 -0
  1145. package/src/loop/directions.json +8 -0
  1146. package/src/loop/explore.mjs +219 -0
  1147. package/src/loop/fail.mjs +110 -0
  1148. package/src/loop/fix.mjs +194 -0
  1149. package/src/loop/floor.mjs +677 -0
  1150. package/src/loop/forget.mjs +52 -0
  1151. package/src/loop/gate.mjs +1053 -0
  1152. package/src/loop/grid.html +123 -0
  1153. package/src/loop/growth.mjs +118 -0
  1154. package/src/loop/icons.mjs +109 -0
  1155. package/src/loop/imagery.mjs +1280 -0
  1156. package/src/loop/judge-api.mjs +245 -0
  1157. package/src/loop/judge.mjs +167 -0
  1158. package/src/loop/layouts.mjs +492 -0
  1159. package/src/loop/library.mjs +82 -0
  1160. package/src/loop/lookplan.mjs +182 -0
  1161. package/src/loop/lookvec.mjs +645 -0
  1162. package/src/loop/match.mjs +923 -0
  1163. package/src/loop/matched.mjs +26 -0
  1164. package/src/loop/myrefs.mjs +151 -0
  1165. package/src/loop/pick.mjs +213 -0
  1166. package/src/loop/picker.html +118 -0
  1167. package/src/loop/plan.mjs +289 -0
  1168. package/src/loop/polish.mjs +39 -0
  1169. package/src/loop/research-learn.mjs +41 -0
  1170. package/src/loop/research.mjs +1130 -0
  1171. package/src/loop/rulereview.mjs +146 -0
  1172. package/src/loop/rules-board.html +199 -0
  1173. package/src/loop/rules.mjs +939 -0
  1174. package/src/loop/similar.mjs +276 -0
  1175. package/src/loop/states-source.mjs +258 -0
  1176. package/src/loop/states.mjs +1547 -0
  1177. package/src/loop/stats.mjs +78 -0
  1178. package/src/loop/taste.mjs +81 -0
  1179. package/src/loop/timeline.mjs +149 -0
  1180. package/src/loop/variants.mjs +228 -0
  1181. package/src/loop/vary.mjs +249 -0
  1182. package/src/mcp/server.mjs +1246 -0
  1183. package/src/motion.mjs +207 -0
  1184. package/src/moves.mjs +242 -0
  1185. package/src/novelty.mjs +116 -0
  1186. package/src/page-ambition.js +181 -0
  1187. package/src/page-craft.js +724 -0
  1188. package/src/page-details.js +415 -0
  1189. package/src/page-devices.js +365 -0
  1190. package/src/page-fingerprint.js +281 -0
  1191. package/src/page-gate.js +1307 -0
  1192. package/src/page-look.js +698 -0
  1193. package/src/page-metrics.js +78 -0
  1194. package/src/page-principles.js +1167 -0
  1195. package/src/page-rules.js +308 -0
  1196. package/src/page-sections.js +211 -0
  1197. package/src/page-states.js +703 -0
  1198. package/src/paths.mjs +13 -0
  1199. package/src/png.mjs +107 -0
  1200. package/src/point/auto.mjs +224 -0
  1201. package/src/point/locate.mjs +114 -0
  1202. package/src/point/overlay.js +1516 -0
  1203. package/src/point/server.mjs +1122 -0
  1204. package/src/point/trail.mjs +219 -0
  1205. package/src/pool.mjs +80 -0
  1206. package/src/principles.mjs +279 -0
  1207. package/src/refs.mjs +299 -0
  1208. package/src/robots.mjs +145 -0
  1209. package/src/sections.mjs +210 -0
  1210. package/src/shoot.mjs +235 -0
  1211. package/src/systems/apply.mjs +355 -0
  1212. package/src/systems/load.mjs +251 -0
  1213. package/src/systems/pick.mjs +213 -0
  1214. package/templates/vite-react-tw/index.html +12 -0
  1215. package/templates/vite-react-tw/package.json +25 -0
  1216. package/templates/vite-react-tw/src/App.tsx +3 -0
  1217. package/templates/vite-react-tw/src/index.css +1 -0
  1218. package/templates/vite-react-tw/src/main.tsx +10 -0
  1219. package/templates/vite-react-tw/tsconfig.app.json +26 -0
  1220. package/templates/vite-react-tw/tsconfig.json +7 -0
  1221. package/templates/vite-react-tw/tsconfig.node.json +23 -0
  1222. package/templates/vite-react-tw/vite.config.ts +8 -0
@@ -0,0 +1,325 @@
1
+ ---
2
+ title: The shared finishing standard for every section archetype
3
+ ---
4
+
5
+ # Finish: the shared standard
6
+
7
+ Every archetype in `kb/sections/` points here instead of repeating these recipes. They are the difference between a layout that is right and a page that looks finished. Values are starting points tuned for a 16–17px body; keep the ratios when the project's scale differs. When the project already has tokens for any of this, use the project's tokens and keep the rule.
8
+
9
+ **This is craft, not a look.** How a shadow is built, how radii nest, how a button behaves: those hold everywhere. The page's look (its ground, its type, its texture, its header, its buttons, its imagery) is not here: it comes from the product's own research and the blueprint, and it must differ from palate's recent pages. A page that is cream paper with grain, a serif headline, a framed product card and a pill button top right because those are "palate's defaults" has failed, however well it is finished. The colour values below are placeholders to show the roles, not a palette.
10
+
11
+ ## Tokens the archetypes refer to
12
+
13
+ ```css
14
+ :root {
15
+ /* spacing: one scale, nothing off it (P12) */
16
+ --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
17
+ --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
18
+
19
+ /* type: one ratio (here ×1.25 from 16), each size has a job */
20
+ --t-caption: 13px; /* credits, footnotes, units */
21
+ --t-small: 14px; /* secondary UI, labels */
22
+ --t-body: 16px; /* 17–18px on reading-heavy pages */
23
+ --t-lead: 20px; /* the paragraph under a headline */
24
+ --t-h3: 25px;
25
+ --t-h2: clamp(32px, 2.2vw + 18px, 48px);
26
+ --t-display: clamp(44px, 5.2vw + 12px, 88px);
27
+ --t-giant: clamp(96px, 14vw, 240px); /* one per page at most: a numeral or a statement */
28
+
29
+ /* layout */
30
+ --container: 1240px; /* 1200–1280 */
31
+ --gutter: 24px; /* 12-column grid at 1440 */
32
+ --page-x: clamp(16px, 4vw, 48px); /* side padding; 16–20px at 390 */
33
+
34
+ /* radius scale: three steps plus pill (P27) */
35
+ --r-sm: 6px; --r-md: 12px; --r-lg: 20px; --r-pill: 999px;
36
+
37
+ /* colour roles: ink is the text colour, everything tints from it */
38
+ --ink: oklch(22% 0.02 260);
39
+ --ink-2: color-mix(in oklab, var(--ink) 72%, var(--paper)); /* secondary text */
40
+ --ink-3: color-mix(in oklab, var(--ink) 52%, var(--paper)); /* tertiary, still ≥ 4.5:1 on paper: check */
41
+ --paper: oklch(98.5% 0.006 85); /* page ground: a placeholder. The blueprint decides it from the product (white, a colour, a dark ground, a photograph, a warm stock); no default */
42
+ --paper-2: color-mix(in oklab, var(--paper) 94%, var(--ink)); /* second surface tone */
43
+ --surface: color-mix(in oklab, var(--paper) 60%, white); /* raised cards sit lighter than the ground */
44
+ --brand: oklch(55% 0.17 250);
45
+ --on-brand: white;
46
+ --focus: var(--brand);
47
+ }
48
+ ```
49
+
50
+ Section archetypes say "h2", "lead", "`--s-7`", "`--r-lg`" and mean these.
51
+
52
+ ## Raised surfaces: the layered shadow
53
+
54
+ One shadow is a smudge. Real depth is a tight contact shadow plus a soft ambient one, tinted with the ink colour so it belongs to the palette (grey shadows on a warm paper look dirty, M34). Three levels only (P29): resting, raised, floating.
55
+
56
+ ```css
57
+ :root {
58
+ --sh-tint: var(--ink);
59
+ --shadow-1: /* resting: cards that sit on the page */
60
+ 0 0 0 1px color-mix(in oklab, var(--sh-tint) 7%, transparent),
61
+ 0 1px 2px color-mix(in oklab, var(--sh-tint) 8%, transparent),
62
+ 0 2px 6px -2px color-mix(in oklab, var(--sh-tint) 8%, transparent);
63
+ --shadow-2: /* raised: the product frame, the dominant tile */
64
+ 0 0 0 1px color-mix(in oklab, var(--sh-tint) 7%, transparent),
65
+ 0 2px 4px -2px color-mix(in oklab, var(--sh-tint) 12%, transparent),
66
+ 0 16px 32px -12px color-mix(in oklab, var(--sh-tint) 18%, transparent);
67
+ --shadow-3: /* floating: menus, popovers, the hero object lifted off a photo */
68
+ 0 0 0 1px color-mix(in oklab, var(--sh-tint) 8%, transparent),
69
+ 0 4px 8px -4px color-mix(in oklab, var(--sh-tint) 14%, transparent),
70
+ 0 32px 64px -16px color-mix(in oklab, var(--sh-tint) 26%, transparent);
71
+ }
72
+ /* On a coloured band, tint the shadow with that band's darkest shade, not the page ink. */
73
+ .band-brand { --sh-tint: color-mix(in oklab, var(--brand), black 55%); }
74
+ ```
75
+
76
+ - The first layer (`0 0 0 1px`) replaces a border: do not add a `border` as well (that is two edges, M36).
77
+ - Negative spread on the big layer keeps the shadow under the object instead of haloing its sides.
78
+ - **Dark surfaces:** shadows barely read on dark. Separate by lightness (each level about 4% L lighter) plus a top highlight: `box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 0 0 1px rgb(255 255 255 / .08), 0 16px 32px -12px rgb(0 0 0 / .5);`
79
+ - Not every surface is raised. Text columns, ruled lists and image bands are flat; a page where every box has a shadow has no depth at all.
80
+
81
+ ### The product frame
82
+
83
+ How product UI built in code is presented (heroes, demos, feature tiles). No traffic-light dots, no fake URL bar (M19, L03).
84
+
85
+ ```css
86
+ .product-frame {
87
+ border-radius: var(--r-lg); /* 16–20 */
88
+ background: var(--surface);
89
+ box-shadow: var(--shadow-2);
90
+ overflow: clip;
91
+ padding: 0; /* the UI inside owns its padding */
92
+ }
93
+ .product-frame > .chrome { /* the product's own top bar, skeletonised (L02) */
94
+ height: 40px; display: flex; align-items: center; gap: var(--s-2); padding-inline: var(--s-4);
95
+ border-bottom: 1px solid var(--hairline);
96
+ }
97
+ ```
98
+
99
+ Inside: real labels and data from the project, unimportant chrome reduced to soft bars (`background: var(--paper-2); border-radius: var(--r-sm); height: 8px`), and one thing that happens. Text inside the frame must be readable at 100% on desktop (P40): if it is not, crop tighter and scale up.
100
+
101
+ ## Product frames
102
+
103
+ How a product window, a screenshot or a device sits in a hero or a section. The recipe for the frame itself is above; this is about its size and its edges.
104
+
105
+ - Size: the window takes about two thirds of its stage's width (never under half in a hero). A small window floating in the middle with a margin all round reads as a thumbnail, not a product (the floor's FRAME_SMALL).
106
+ - Bleed: it runs off one edge of the section. In a split hero, the right edge to the viewport; under a centred lockup, the bottom edge into the next band. The section clips it (`overflow-x: clip` or `overflow: clip`), so the page never scrolls sideways.
107
+ - Only filler bleeds. What the edge cuts is secondary UI: the end of a sidebar, extra rows, the older half of a chart. The part the words talk about sits fully in view. If the edge would cut it, move the content inside the frame, not the edge.
108
+ - One frame style per page: the same radius, the same edge (a shadow or a 1px border, not both) and the same shadow level on every window, screenshot and device. A second style only for a different kind of object (a phone beside a desktop window), and then still the same shadow.
109
+ - Real screenshots follow the same rules as code-built UI: real data, readable at 100%, no fake browser chrome, no glow behind.
110
+
111
+ ## Bento grids
112
+
113
+ A bento is a hierarchy, not a grid of boxes.
114
+
115
+ - One lead tile. It spans two columns or two rows and carries the section's main point; the other tiles support it. Equal tiles say every point is equal; then use a list (BENTO_FLAT).
116
+ - Neighbours contrast. Two tiles that touch differ in size, surface or content type: a picture beside text, a figure beside a fragment, a light tile beside the inverted one. Never two identical tiles side by side (BENTO_TWINS).
117
+ - One inverted tile per grid: exactly one tile on the inverse ground (dark on a light page, light on a dark page), as the accent on the supporting point that matters most. Alternating light and dark is noise (INVERT_OVERUSE). A grid where every tile is dark is a dark system, not an accent, and that is fine.
118
+ - A figure sits close under its words. Never pin it to the tile's bottom with an empty band above it; give spare height to a picture pinned to the bottom edge instead (TILE_VOID).
119
+ - Never cut real words. A tile may crop decorative filler at its edge (a UI fragment, a pattern, a photo); a heading, a sentence or a number stays whole inside the padding (WORDS_CUT fails it).
120
+ - One radius, one gap (`--s-4`), one tile padding (`--s-5`) across the grid; nested frames inside tiles follow radius nesting.
121
+ - Motion: at most one motion per tile, at most one tile moving on its own, entrances staggered 60–90ms apart. All of it off under `prefers-reduced-motion: reduce`, with each tile in its finished state.
122
+ - At 390: the lead tile first, the rest in order of importance, full width; two short tiles may pair only if both still read.
123
+
124
+ ## Buttons
125
+
126
+ How a button looks is not here: it is the page's **button language**, chosen per product in the blueprint (`look.buttons`) from a library of languages in `_buttons.md` (an underlined line in the display face, a stamped ticket, a tracked outline, a keycap, a big pill, a tinted button, a price inside the button…). palate writes `.btn-primary` and `.btn-secondary` for it into the tokens. Use those two classes everywhere; a section never invents its own button, and never falls back to a filled box with an underlined link because that is the habit.
127
+
128
+ What every language keeps, whatever it looks like:
129
+
130
+ - **One primary per view** (P09). It is the heaviest action in the section, and in the hero it outweighs the header's action. Any second action is quieter: the language's secondary, never a second primary of equal weight.
131
+ - **Labels name the action and its object** ("Pre-order the box", "Install the CLI", "Ask about your date"), never "Get started" or "Learn more" (M09). An arrow only when the action goes somewhere.
132
+ - **States**: hover, pressed (a 1px sink or a closing offset), `:focus-visible` (a 2px outline in the focus colour, offset 2px, or 4px for a text action), disabled (half opacity, `not-allowed`, no press), loading (keeps its label, adds a spinner after 150ms, D02).
133
+ - **Contrast**: the label at 4.5:1 or more on its own fill (or on the ground, for a text action or an outline); an outline's edge at 3:1 against what's behind it. On a photograph, a calm area or a scrim under it.
134
+ - **Tap area**: 44px or more on every action. A compact button keeps its look and grows its hit area with a pseudo-element; a text action gets the height from its box, not from padding you can see.
135
+ - **One height per row** (never two sizes side by side), and the same language in the hero, the plans, the forms and the closing.
136
+ - **Motion**: 160ms ease-out on hover and press; under `prefers-reduced-motion: reduce`, no movement, only the colour change.
137
+ - **No gradients, no glossy top highlight**: they read as software chrome on most products, and the user's rules may forbid them.
138
+
139
+ ## Hairlines
140
+
141
+ ```css
142
+ :root {
143
+ --hairline: color-mix(in oklab, var(--ink) 12%, transparent); /* dividers, ruled lists, frames */
144
+ --hairline-strong: color-mix(in oklab, var(--ink) 22%, transparent); /* inputs, secondary buttons, table heads */
145
+ }
146
+ hr, .rule { border: 0; border-top: 1px solid var(--hairline); }
147
+ ```
148
+
149
+ - Always 1px, always tinted from the ink (or from the band's colour on a coloured band), never `#e5e5e5` (P28, M34). Two hairline tokens for the whole site.
150
+ - A rule is a structural line: use it to separate rows in a list or a table, and to set a section's top edge in an editorial layout. Never stack a rule against a background change or a card edge (M28).
151
+ - Rules in ruled lists run the full width of the list column, including under the number or label; they do not stop at the text.
152
+
153
+ ## Radius nesting
154
+
155
+ Inner radius = outer radius − the padding between them (M35, P27). When the padding is equal to or larger than the outer radius, the inner radius is small (2–6px), not zero and not equal.
156
+
157
+ | Outer | Padding | Inner |
158
+ |---|---|---|
159
+ | 20 (`--r-lg`) | 8 | 12 |
160
+ | 20 | 12 | 8 |
161
+ | 12 (`--r-md`) | 4 | 8 |
162
+ | 12 | 16 | 4 |
163
+ | pill | 4 | pill |
164
+
165
+ ```css
166
+ .frame { --r: var(--r-lg); --pad: 8px; border-radius: var(--r); padding: var(--pad); }
167
+ .frame > * { border-radius: max(4px, calc(var(--r) - var(--pad))); }
168
+ ```
169
+
170
+ Images inside a card with no padding inherit the card's radius through `overflow: clip`; do not round the image separately.
171
+
172
+ ## Numbers
173
+
174
+ - Numbers that are compared, aligned in columns or that change (prices, tables, timers, counters, stats) get tabular figures **in the body face**: `font-variant-numeric: tabular-nums lining-nums;` (P25, D11). Check the face has `tnum`; some faces change numeral shapes when it is on.
175
+ - Monospace only for real code, IDs, hashes, timestamps in logs and measured technical values shown as the machine prints them (`p95 182 ms` in a trace). Not for stats, prices, labels or section numbers (M18).
176
+ - A non-breaking space between number and unit (`12 min`), a thin space or the locale's separator for thousands, one decimal rule per context (D12). Units step down to small size and secondary colour beside a big figure, on the same baseline.
177
+ - Never count up on scroll (M11). Show the final value.
178
+ - Every number on a marketing page has a source the project can name: a footnote, a date, a link. If it has none, it is not shown.
179
+
180
+ ## Section rhythm
181
+
182
+ - Two section spacings, set by role, never case by case (P14):
183
+ ```css
184
+ :root { --section: clamp(72px, 7vw + 24px, 128px); --section-tight: clamp(48px, 4vw + 16px, 80px); }
185
+ ```
186
+ `--section` between unrelated sections; `--section-tight` where one section continues the last (a demo straight under its hero, a stat after the claim it backs).
187
+ - Two sections on the same background share one gap, not two paddings added together. Use `padding-block` on sections with their own ground and `margin-block` (which collapses) or a single spacer when grounds match.
188
+ - Inside a section: heading to its content `--s-7` (48), heading to its lead `--s-4`–`--s-5`, lead to buttons `--s-6`. More space above a heading than below it (P13).
189
+ - No band inside a section taller than 160px with nothing in it (P38). If the layout leaves a hole, the layout is wrong; do not fill it with a decorative blob.
190
+
191
+ ## Background planning
192
+
193
+ Plan the page's grounds before building sections. A page is a sequence of bands, and the eye reads the band changes as chapters.
194
+
195
+ - At least two surface tones (`--paper` and `--paper-2`, 3–6% apart in lightness), or one material or imagery band (a full-bleed photograph, a painted stage, a dark inverted band, a textured band). Never one flat colour top to bottom.
196
+ - Change ground at role boundaries (hero → product, product → story, story → pricing, pricing → closing): 2–4 changes per page. Not a zebra: alternating every section is as flat as never changing.
197
+ - One inverted band at most (ink ground, paper text) and usually near the end (closing or a single statement). Darken by the brand's darkest shade, not `#000`.
198
+ - Write the plan into the brief as a line, e.g. `paper · paper-2 (demo) · photo band · paper · ink (closing) · paper (footer)`.
199
+ - A band change never sits directly against a card edge or a rule (M28): leave at least `--s-8` inside the band before the first raised surface.
200
+
201
+ ## Textures in code
202
+
203
+ Texture is for material bands, image stages and illustration grounds, and only when the product's own material calls for it (paper for a bindery, speckle for a pottery, nothing for most software). It is not a default finish: a page with no texture is normal. Never over body text, forms or product UI. Static: no animated grain.
204
+
205
+ ### Grain (fine noise, 3–6%)
206
+
207
+ ```css
208
+ .grain { position: relative; isolation: isolate; }
209
+ .grain::after {
210
+ content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit;
211
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
212
+ opacity: .05; /* 0.03–0.06 on flat grounds; 0.3–0.45 with overlay on paintings (see move canvas-grain) */
213
+ mix-blend-mode: multiply; /* light grounds; use screen on dark grounds, overlay on photographs */
214
+ }
215
+ ```
216
+
217
+ ### Paper fibre
218
+
219
+ Stretched turbulence reads as fibres; a second, coarse layer gives the uneven mottling of real paper.
220
+
221
+ ```css
222
+ .paper {
223
+ background-color: var(--paper);
224
+ background-image:
225
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .32' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)' opacity='.5'/%3E%3C/svg%3E"),
226
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='.35'/%3E%3C/svg%3E");
227
+ background-blend-mode: multiply, multiply;
228
+ }
229
+ ```
230
+
231
+ Tune so the fibre is only visible at 200% zoom on a calibrated screen. If you can see it at arm's length, halve it.
232
+
233
+ ### Halftone
234
+
235
+ Dots on a grid, sized by a gradient. Good for an illustration ground, a band edge or a printed feel (pairs with moves `halftone-dot-imagery` and `riso-print-texture`).
236
+
237
+ ```css
238
+ .halftone {
239
+ --dot: color-mix(in oklab, var(--ink) 18%, transparent);
240
+ background: radial-gradient(circle, var(--dot) 0 1.1px, transparent 1.5px) 0 0 / 7px 7px;
241
+ -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 85%);
242
+ mask-image: linear-gradient(to bottom, #000 0%, transparent 85%);
243
+ }
244
+ ```
245
+
246
+ For a halftone of a photograph, do it at build time (sharp/canvas threshold into dots) or with an SVG filter on a small image; never ship a full-colour photo and a dot overlay that fight.
247
+
248
+ ## Image treatment
249
+
250
+ - **One treatment for every photograph on the page.** Either duotone (two colours from the palette) or tone-matched (the same grade applied to all: white balance, contrast and saturation brought together). Mixed treatments make a page look assembled from stock.
251
+ - **Duotone** (pairs with move `duotone-photography`):
252
+ ```html
253
+ <svg width="0" height="0" aria-hidden="true" style="position:absolute">
254
+ <filter id="duo" color-interpolation-filters="sRGB">
255
+ <feColorMatrix type="matrix" values=".33 .33 .33 0 0 .33 .33 .33 0 0 .33 .33 .33 0 0 0 0 0 1 0"/>
256
+ <!-- shadows → ink (r .09 g .10 b .16), highlights → paper (r .98 g .97 b .94) -->
257
+ <feComponentTransfer>
258
+ <feFuncR type="table" tableValues=".09 .98"/>
259
+ <feFuncG type="table" tableValues=".10 .97"/>
260
+ <feFuncB type="table" tableValues=".16 .94"/>
261
+ </feComponentTransfer>
262
+ </filter>
263
+ </svg>
264
+ <img class="duo" src="…" alt="…" width="1600" height="1067" style="filter:url(#duo)">
265
+ ```
266
+ Better still: bake it at build time so the file is small and the filter costs nothing.
267
+ - **Tone-matched**: `filter: saturate(.86) contrast(1.04) sepia(.06);` on all photos, or the same LUT applied at build time. Check side by side: skin tones and whites should agree across images.
268
+ - **Crops**: pick two aspect ratios for the page (for example 3:2 for bands, 4:5 for portraits) and crop to them; set `width`/`height` so nothing shifts; `object-fit: cover` with a deliberate `object-position` on the subject.
269
+ - **Credits** in caption size, secondary colour, under the image or inside its bottom corner on a scrim: `Photo: Name, Source (licence)`. A painting's caption gives artist, title, year and collection. Credits are not optional for anything you did not make.
270
+ - **Never** stock "team at a laptop", generated people, or a photo that is not of this product, its makers, its users or its subject (M47). If the project has no real images, choose an archetype with `imagery: type`, `texture`, `illustration` or `product-ui`.
271
+ - Text over a photo sits on a scrim (`linear-gradient(to top, color-mix(in oklab, var(--ink) 70%, transparent), transparent 60%)`) or in a calm area of the picture, and passes 4.5:1 at every crop (P36).
272
+
273
+ ## Type details
274
+
275
+ - **Two faces at most**: a display face with character and a quiet text face, or one family used well. Two or three weights (P19).
276
+ - **Optical sizes**: `font-optical-sizing: auto;` on variable faces with an `opsz` axis; for display sizes in a face without one, use its Display cut.
277
+ - **Tracking by size** (P20, P21):
278
+
279
+ | Size | Tracking |
280
+ |---|---|
281
+ | ≤ 13px | +0.01em |
282
+ | 14–24px | 0 |
283
+ | 25–47px | −0.015em |
284
+ | 48–71px | −0.025em |
285
+ | 72–119px | −0.03em |
286
+ | 120px + | −0.035em to −0.04em |
287
+ | Caps labels ≤ 20px | +0.06em to +0.1em |
288
+
289
+ - **Leading**: display 0.95–1.05, h2 1.1, h3 1.2, body 1.5–1.6, captions 1.4 (P18).
290
+ - **Wrapping**: `text-wrap: balance` on headings (up to 6 lines), `text-wrap: pretty` on paragraphs and captions (P24, M31). Paragraphs `max-width: 62ch` (P17).
291
+ - **Hanging punctuation**: opening quotes and bullets hang into the margin so the text edge stays straight.
292
+ ```css
293
+ blockquote, .pull-quote { hanging-punctuation: first allow-end last; } /* Safari only */
294
+ .hang { margin-left: -0.42em; } /* elsewhere: wrap the opening “ in <span class="hang">; tune per face */
295
+ ```
296
+ - **Punctuation**: curly quotes, `…`, en dash for ranges (2–4), em dash or spaced en dash for breaks, `×` for dimensions, `→` only for links that go somewhere (M32).
297
+ - **Small caps and figures**: `font-variant-caps: all-small-caps` for acronyms in running text if the face has them; oldstyle figures (`onum`) in long editorial prose, lining tabular figures everywhere numbers are compared.
298
+ - **Emphasis** comes from size, weight and the line break. No gradient text, no single accented word (M02, M14).
299
+
300
+ ## Motion defaults
301
+
302
+ - Ease-out `cubic-bezier(.23,1,.32,1)` for things that enter or respond; 160–240ms for UI, 400–700ms for a section's one moment.
303
+ - Nothing in the first viewport starts at `opacity: 0` (M45). Reveal only below the fold, and not every section the same way (M44).
304
+ - One loud moment per two sections at most (L17). Everything that loops pauses off screen, while hovered or focused, and under `prefers-reduced-motion: reduce` shows its finished state.
305
+
306
+ ## Logos and icons in demos and mockups
307
+
308
+ - **Placeholder company logos** (a product mockup's integrations list, a fictional customer's workspace, a benchmark demo): take them from Hugeicons' free placeholder logos (https://hugeicons.com/logos: "free placeholder company logos for your next design mockup"). Copy the SVG you need into the project when you use it; palate doesn't bundle them. They look like real, well-drawn marks without being any real company's.
309
+ - **Never as proof.** On a real product's page, placeholder logos must not appear as "trusted by", customers or press: that's inventing customers. Real logos there only when the project has them, in their official colours (the user's rules R5, R6).
310
+ - **Never draw a fake logo** or a fake object (a barcode card, a stamped receipt) to stand in for something real.
311
+ - **Icons:** the project's own set first. With none, Hugeicons' free icons (MIT: keep the licence notice with the source files) or lucide, one set, one size and one stroke per page.
312
+
313
+ ## Phone rules (390)
314
+
315
+ - Side padding 16–20px; nothing scrolls the page sideways. Check `document.documentElement.scrollWidth === innerWidth`.
316
+ - Display type steps down to 40–48px (the giant numeral to 96–120px); h2 to 28–32px; body stays 16–17px.
317
+ - Order follows meaning, not the desktop's left-to-right: the headline, then the object it describes, then the supporting text; a split's visual moves under its words unless the visual is the point.
318
+ - The first screen (812px tall) shows the headline, the primary action and the top of the product object. A hero taller than 1.4 screens on phone is too tall.
319
+ - Wide product UI does not shrink to unreadable: crop to the part that matters, scale it to at least 1:1 text, or let it scroll inside its frame with a visible edge.
320
+ - Horizontal strips are allowed inside a section: `overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px;` with the next item peeking at least 24px, and no scrollbar hiding on desktop.
321
+ - Sticky and scroll-scrubbed sequences become plain stacked content: each step a static frame with its text.
322
+ - Wide photographs re-crop to 4:5 or 1:1 around the subject (`<picture>` with a phone source) instead of becoming a thin strip.
323
+ - Hover-only reveals become visible by default; tap targets 44px; inputs 16px text.
324
+ - Use `100svh`, never `100vh`, for anything sized to the screen.
325
+ - Section spacing steps down to 56–80px; two spacings still.
@@ -0,0 +1,85 @@
1
+ ---
2
+ id: about-founder-note
3
+ name: A signed note from the people behind it
4
+ kind: about
5
+ shape: editorial-columns
6
+ layout: "a short first-person letter in a readable text column, beside a real photo of the founder(s) at work; signed, dated, with a way to write back"
7
+ fits: [crafted, honest, warm, editorial, launch, waitlist, community, nonprofit, calm, quiet, local, food, sustainability, heritage]
8
+ avoid: [enterprise-compliance, data-dense-tool, government, serious-news]
9
+ needs: ["a real note (150–300 words) from a named founder or small team", "a real photo of them, ideally doing the work", "a way to reach them (email or handle)"]
10
+ imagery: photo
11
+ density: balanced
12
+ moves: [duotone-photography, honest-testimonial-wall]
13
+ effort: s
14
+ ---
15
+
16
+ ## When it's right
17
+
18
+ Early products, small studios, independent makers and nonprofits, where who made it is part of why you'd trust it. A first-person note (why this exists, what they care about, what they won't do) replaces borrowed proof when there are no customers yet; it's the honest alternative the move `honest-testimonial-wall` recommends for products in preview. Not for large companies where a founder letter reads as PR, or regulated contexts that need a formal "About".
19
+
20
+ ## Structure
21
+
22
+ ```
23
+ 1440 ─ container 1200
24
+ ┌──────────────────────────────────────────────────────────────────────────┐
25
+ │ ┌ photo (cols 1–5) ──────────────┐ ┌ note (cols 7–11) ───────────────┐ │
26
+ │ │ │ │ H2 "Why we're building this" │ │
27
+ │ │ real photo of the founder │ │ │ │
28
+ │ │ at the bench / desk / kiln, │ │ I spent six years fixing other │ │ ← letter, lead size (`--t-lead`), 60ch
29
+ │ │ 4:5, their hands in the work │ │ people's onboarding… (3–4 short │ │
30
+ │ │ │ │ paragraphs) │ │
31
+ │ │ │ │ │ │
32
+ │ └────────────────────────────────┘ │ What we won't do: sell your │ │
33
+ │ Ana in the Porto studio, Oct 2026 │ data, add ads, lock your files. │ │
34
+ │ │ │ │
35
+ │ │ ~ Ana Ruiz (signature) │ │ ← signature + name + role
36
+ │ │ Founder · ana@acme.com │ │
37
+ │ └─────────────────────────────────┘ │
38
+ └──────────────────────────────────────────────────────────────────────────┘
39
+ ```
40
+
41
+ ```
42
+ 390
43
+ photo, full content width, 4:5 cropped to face/hands, caption
44
+ H2
45
+ note (body, 3–4 short paragraphs)
46
+ signature, name, email
47
+ ```
48
+
49
+ At 390 the photo comes first so the reader knows who is talking, then the note in one column.
50
+
51
+ ## Finish
52
+
53
+ - Photo 5 columns, 4:5, small or no radius (a photograph, not a card), inset 1px outline at 6% (D20), caption under it in small secondary (who, where, when). No filters that fight the page's palette; duotone only if the page uses it elsewhere (`duotone-photography`).
54
+ - The note's column top aligns with the photo's top (P04). Heading h2; letter in lead size (`--t-lead`) (18–20px), line-height 1.6, max 60ch, paragraphs 16px apart, `text-wrap: pretty`.
55
+ - One short "what we won't do" or "what we promise" paragraph set in weight 600 lead words, so a skimmer gets the promise.
56
+ - Signature: a real scanned signature as SVG (40–56px tall, ink colour = primary text) or the name in the display face; then name body 600, role and email small secondary. Email is a link.
57
+ - No quote marks around the letter; it's a letter, not a testimonial.
58
+
59
+ ## Content
60
+
61
+ - Written by the founder in first person, in their voice; edited for length, not turned into marketing. Specific origin (the moment the problem was felt), what's different, what they won't do.
62
+ - Dated or seasoned ("Written October 2026") if it refers to the present.
63
+ - The photo is of them, real, recent. Never stock, never AI-generated.
64
+ - A real address to write back to, which someone reads.
65
+
66
+ ## States and motion
67
+
68
+ - Static. The signature may draw itself once on entering view (stroke-dashoffset, 1.2s); final state under reduced motion and no JS.
69
+ - Image lazy-loaded with fixed aspect ratio.
70
+
71
+ ## Pitfalls
72
+
73
+ - A corporate "Our mission" paragraph in first-person plural with no name.
74
+ - A headshot against a grey backdrop when a photo of them working exists.
75
+ - Long letters: over 300 words, people stop.
76
+ - A cursive font faking a signature.
77
+
78
+ ## Floor checks
79
+
80
+ - Is there a real photo of the person or people behind the product?
81
+ - Is the note signed with a real name and role?
82
+ - Is the note written in first person with specific details rather than generic mission language?
83
+ - Is the text in a readable column (comfortable line length, left-aligned)?
84
+ - Is there a direct way to contact the author?
85
+ - Do the photo and the note align at the top, with no large empty area beside either?
@@ -0,0 +1,86 @@
1
+ ---
2
+ id: about-team-roster
3
+ name: The team as a ruled roster, with the work they did
4
+ kind: about
5
+ shape: list-ruled
6
+ layout: "one large real photo of the team or the place on top; under it a ruled roster, one row per person: small photo, name, role, one real thing they made here, where they are, a link"
7
+ fits: [agency, crafted, editorial, community, honest, saas, developer, nonprofit, portfolio, warm, b2b, local]
8
+ avoid: [crisis, data-dense-tool, playful-kids]
9
+ needs: ["3–20 real team members who agreed to be listed", "a real photo of each (or consistent illustrated portraits if the brand uses them)", "one real thing each person made or owns"]
10
+ imagery: photo
11
+ density: balanced
12
+ effort: m
13
+ ---
14
+
15
+ ## When it's right
16
+
17
+ Studios, agencies and small product teams where the people are the product or a reason to trust it. The stock team grid (square headshots, name, title, three social icons) says nothing about who does what. A ruled roster reads like the credits of a film: each row says what this person actually made here, which is the information a buyer or candidate wants. The large photo on top shows the team together or the place where the work happens. Not for large companies (link to a careers page instead) or teams that don't want to be named.
18
+
19
+ ## Structure
20
+
21
+ ```
22
+ 1440 ─ container 1200
23
+ ┌──────────────────────────────────────────────────────────────────────────┐
24
+ │ H2 "Who makes it" We're hiring: 2 → │
25
+ │ ┌──────────────────────────────────────────────────────────────────────┐ │
26
+ │ │ one real photo: the team at work / the studio / the workshop, 21:9 │ │
27
+ │ └──────────────────────────────────────────────────────────────────────┘ │
28
+ │ The Porto studio, October 2026 │
29
+ │ ──────────────────────────────────────────────────────────────────────── │
30
+ │ (●) Ana Ruiz Founder, design Drew the first engine; runs taste Porto ↗ │
31
+ │ ──────────────────────────────────────────────────────────────────────── │
32
+ │ (●) Tom Hale Engineering Built the renderer that makes pages Lisbon ↗│
33
+ │ ──────────────────────────────────────────────────────────────────────── │
34
+ │ (●) Mei Lin Support Answers every email within a day Remote ↗│
35
+ │ ──────────────────────────────────────────────────────────────────────── │
36
+ └──────────────────────────────────────────────────────────────────────────┘
37
+ cols: photo+name 1–3 | role 4–5 | what they made 6–10 | place 11 | link 12
38
+ ```
39
+
40
+ ```
41
+ 390
42
+ H2, hiring link
43
+ photo full width (cropped 4:3)
44
+ rows: (●) name / role
45
+ what they made (2 lines max)
46
+ place · link
47
+ ```
48
+
49
+ At 390 each row becomes a compact block: avatar 40px beside name and role, then the "made" line, then place and link in small type. Hairlines stay.
50
+
51
+ ## Finish
52
+
53
+ - Big photo: content width, 21:9 at 1440 (4:3 at 390), small or no radius, caption small secondary. It is the section's focal point.
54
+ - Roster rows: 64–72px at 1440, hairline between (`_finish.md` hairlines), columns aligned across rows (P35). Avatar 40px circle, real photo (D32), one shape for everyone; illustrated portraits only if every person has one in the same hand.
55
+ - Name body 600 primary; role body secondary; "what they made" body primary (it's the content); place small secondary; link an arrow icon with a 44px hit area and an accessible name ("Ana Ruiz on GitHub").
56
+ - Rows sorted by something meaningful (team, or when they joined), stated if not obvious.
57
+ - Hiring link (only if hiring) as a text link with a real count, on the heading's baseline at the right.
58
+
59
+ ## Content
60
+
61
+ - Every person agreed to be listed with their photo, name and line.
62
+ - "What they made" is concrete and true ("Built the renderer"), written or approved by them, not a personality line ("Coffee lover").
63
+ - One link per person to a place they actually use, or none.
64
+ - The big photo is real and recent. No stock, no AI-generated team.
65
+
66
+ ## States and motion
67
+
68
+ - Static. Row hover (fine pointer): background tint one step; the avatar can show a second photo at work (crossfade 150ms) if the team has them.
69
+ - Images lazy-loaded with fixed sizes.
70
+ - Long names and roles wrap within their column without breaking the row's alignment.
71
+
72
+ ## Pitfalls
73
+
74
+ - Square headshot grid with titles and three social icons each.
75
+ - Personality lines instead of work.
76
+ - Mixed photo styles (studio portrait, selfie, illustration) in one list.
77
+ - A team page with people who've left.
78
+
79
+ ## Floor checks
80
+
81
+ - Is each person shown with a real photo, full name and role?
82
+ - Does each person's row say a concrete thing they made or own?
83
+ - Are the roster's columns aligned across rows, divided by hairlines?
84
+ - Is there one larger real photo of the team or place that leads the section?
85
+ - Are all portraits in one consistent style and shape?
86
+ - At 390, does each person's entry stay readable without sideways scrolling?
@@ -0,0 +1,110 @@
1
+ ---
2
+ id: alternating-rows-live-tiles
3
+ name: Alternating rows, each with a live tile
4
+ kind: features
5
+ shape: stacked-rows
6
+ layout: "2–4 rows; words 5/12 and a live product tile 7/12, sides alternate per row; each tile performs its feature once; rows differ in tile height and content"
7
+ fits: [saas, developer, ai, productivity, b2b, technical, honest, crafted]
8
+ avoid: [luxury, fashion, heritage, crisis, food, portfolio]
9
+ needs: ["2–4 features that each have a visible moment in the product", "real labels and data for each moment"]
10
+ imagery: product-ui
11
+ density: balanced
12
+ effort: m
13
+ moves: [self-playing-product-demo, screenshot-detail-crops, calm-motion-system]
14
+ ---
15
+
16
+ ## When it's right
17
+
18
+ The product has two to four features that each change something you can see on screen: a filter narrows a list, a draft becomes a review, a failing check turns green. Each row names one feature and shows that exact moment in a small piece of working UI beside it, so the section reads like a sequence of proofs rather than a list of claims (L07). Alternating sides keeps the eye moving down the page in a gentle zigzag.
19
+
20
+ It only works when the rows are not clones. The tiles differ in what they show (a list, a diff, a chart, a form) and in height, so the section has a rhythm instead of a template. Not for more than four features (use `ruled-list-pinned-visual` or `spec-sheet-features`), or for features with nothing to show (use `numbered-editorial-columns`). If one feature matters far more than the rest, use `sticky-feature-narrative` or give it its own `self-playing-run-demo`.
21
+
22
+ ## Structure
23
+
24
+ ```
25
+ 1440 ─ container 1240, 12 cols, gutter 24
26
+ ┌──────────────────────────────────────────────────────────────────────────────┐
27
+ │ H2 cols 1–7, plain, one line or two │
28
+ │ lead cols 1–6, ink-2 │
29
+ │ --s-8 │
30
+ │ ┌ cols 1–5 ─────────────┐ ┌ cols 6–12 ──────────────────────────────────┐ │
31
+ │ │ h3 feature name │ │ live tile (product frame, r-lg, shadow-1) │ │ row A: tile 420 tall
32
+ │ │ 2–3 lines, ink-2, 40ch │ │ a list narrows as a filter chip is applied │ │
33
+ │ │ link to docs → │ │ │ │
34
+ │ └────────────────────────┘ └─────────────────────────────────────────────┘ │
35
+ │ --s-9 between rows │
36
+ │ ┌ cols 1–7 ───────────────────────────────────┐ ┌ cols 8–12 ─────────────┐ │
37
+ │ │ live tile: a diff resolves, two lines │ │ h3 feature name │ │ row B: tile 320 tall,
38
+ │ │ change colour, a check appears │ │ 2–3 lines, ink-2 │ │ sides swapped
39
+ │ └──────────────────────────────────────────────┘ └────────────────────────┘ │
40
+ │ │
41
+ │ ┌ cols 1–5 ─────────────┐ ┌ cols 6–12, bleeds right to viewport ──────────────
42
+ │ │ h3 feature name │ │ live tile: a chart draws its last week │ row C: tile 480 tall,
43
+ │ │ 2–3 lines │ │ │ may bleed
44
+ │ └────────────────────────┘ └─────────────────────────────────────────────────
45
+ └──────────────────────────────────────────────────────────────────────────────┘
46
+ words are top-aligned to the tile's first line of content, not vertically centred
47
+ ```
48
+
49
+ ```
50
+ 390 ─ one column, side padding 16
51
+ ┌──────────────────────────────┐
52
+ │ H2 28–32px │
53
+ │ lead │
54
+ │ h3 feature A │
55
+ │ 2–3 lines │
56
+ │ ┌ tile A, full width ──────┐ │ ← 280–360 tall, cropped to the working part
57
+ │ └──────────────────────────┘ │
58
+ │ --s-8 │
59
+ │ h3 feature B │ ← words always before their tile on phone
60
+ │ ┌ tile B ──────────────────┐ │
61
+ │ └──────────────────────────┘ │
62
+ └──────────────────────────────┘
63
+ ```
64
+
65
+ At 390 every row becomes words then tile, regardless of desktop side, so the reader always meets the claim before the proof. Tiles go full width inside the gutter (a bleeding tile bleeds right only), are 280–360px tall, and crop to their working part: text inside stays at 12px or more. Rows are `--s-8` apart.
66
+
67
+ ## Finish
68
+
69
+ - Row gap `--s-9` (96) at 1440, `--s-8` at 390; heading block to the first row `--s-8`. The column gap between words and tile is `--s-7`.
70
+ - Tile widths alternate between 7/12 and 7/12 mirrored; one row may take the bleed treatment from `split-hero-live-object` for variety. Tile heights differ by at least 80px between neighbouring rows.
71
+ - Feature names: h3 (`--t-h3`), weight 600, tracking −0.015em. Body: `--t-body`, `--ink-2`, `max-width: 40ch`. No eyebrow above each h3 (M16); no icon chip (M04).
72
+ - Tiles: the product frame from `_finish.md` at resting depth (`--shadow-1`, `--r-lg`), no fake chrome; the dominant row may use `--shadow-2`. Inner elements nest radii (outer 20, padding 12 → inner 8). Unimportant chrome is skeleton bars.
73
+ - Ground: the section sits on `--paper-2` when the hero above is on `--paper`, so tiles (on `--surface`) lift off it without heavier shadows.
74
+ - Optional link per row: a text link with underline offset `.2em`, `--t-small`, to the feature's docs. Never a button per row.
75
+
76
+ ## Content
77
+
78
+ - Heading: what these features add up to, in one plain sentence ("Everything a review needs, in the pull request").
79
+ - Each row: a feature name that says what happens ("Filters that remember the team"), then two or three sentences: what the user does, what changes, why it matters.
80
+ - Each tile: the product moment for that feature, with the project's real field names and believable records. One thing changes in it; the rest is still.
81
+ - Order rows by how often a new user meets them, not by how impressive they are.
82
+ - No numbers in tiles that pose as results ("+43% faster") unless the project can source them.
83
+
84
+ ## States and motion
85
+
86
+ - Server render shows each tile in its finished state (the filtered list, the resolved diff), never empty.
87
+ - When a tile is 40% in view, it plays its one change once (600–1200ms, ease-out `cubic-bezier(.23,1,.32,1)`), then holds. A small replay on hover or focus is allowed; no loops by default.
88
+ - Only one tile animates at a time; different rows use different kinds of change (a list filter, a colour state, a chart draw), not the same fade-up (M44, L17).
89
+ - Reduced motion: finished state, no play. No JS: finished state.
90
+ - Long feature names wrap to two lines; the words column stays top-aligned with the tile.
91
+
92
+ ## Pitfalls
93
+
94
+ - The "heading left + two cards" template: rows of equal height, each with a generic card on one side (M21).
95
+ - Words vertically centred against a tall tile, leaving holes above and below the text.
96
+ - Every tile the same screenshot crop with a different caption: the reader stops looking after row two.
97
+ - Tiles as `<img>` screenshots in browser frames (M19, L01).
98
+ - Five or more rows: the zigzag becomes a slog; switch archetype.
99
+ - On phone, the tile coming before its words on alternate rows.
100
+
101
+ ## Floor checks
102
+
103
+ - Does every row pair its words with a piece of product UI that shows that specific feature?
104
+ - Do neighbouring rows put their tiles on opposite sides at 1440?
105
+ - Do the tiles differ visibly from each other in content and height, rather than repeating one card template?
106
+ - Is the text inside each tile readable at 100% zoom?
107
+ - Are the words in each row aligned to the top of their tile, with no empty band taller than 160px beside them?
108
+ - Where a tile bleeds off an edge, is the cut part secondary UI (extra rows, a sidebar's end), with every heading, sentence and number in the tile whole?
109
+ - Is the section free of icon chips and eyebrow labels above each feature name?
110
+ - At 390, does every feature's name and text come before its tile?