spirewise 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +0 -15
  2. package/bin/cli.js +65 -37
  3. package/install.sh +3 -3
  4. package/package.json +2 -4
  5. package/skills/README.md +0 -1
  6. package/skills/ai-agent-os-design-system/README.md +105 -0
  7. package/skills/ai-agent-os-design-system/SKILL.md +195 -0
  8. package/skills/ai-agent-os-design-system/accessibility-system.md +67 -0
  9. package/skills/ai-agent-os-design-system/color-system.md +102 -0
  10. package/skills/ai-agent-os-design-system/component-library.md +147 -0
  11. package/skills/ai-agent-os-design-system/design-principles.md +79 -0
  12. package/skills/ai-agent-os-design-system/example-page-structures.md +93 -0
  13. package/skills/ai-agent-os-design-system/layout-system.md +74 -0
  14. package/skills/ai-agent-os-design-system/motion-system.md +85 -0
  15. package/skills/ai-agent-os-design-system/spacing-system.md +87 -0
  16. package/skills/ai-agent-os-design-system/typography-system.md +91 -0
  17. package/skills/ai-agent-os-design-system/website-generation-rules.md +192 -0
  18. package/skills/ai-dark-futuristic-design-system/README.md +91 -0
  19. package/skills/ai-dark-futuristic-design-system/SKILL.md +179 -0
  20. package/skills/ai-dark-futuristic-design-system/accessibility-system.md +61 -0
  21. package/skills/ai-dark-futuristic-design-system/color-system.md +99 -0
  22. package/skills/ai-dark-futuristic-design-system/component-library.md +140 -0
  23. package/skills/ai-dark-futuristic-design-system/design-principles.md +66 -0
  24. package/skills/ai-dark-futuristic-design-system/example-page-structures.md +124 -0
  25. package/skills/ai-dark-futuristic-design-system/layout-system.md +85 -0
  26. package/skills/ai-dark-futuristic-design-system/motion-system.md +76 -0
  27. package/skills/ai-dark-futuristic-design-system/spacing-system.md +73 -0
  28. package/skills/ai-dark-futuristic-design-system/typography-system.md +89 -0
  29. package/skills/ai-dark-futuristic-design-system/website-generation-rules.md +220 -0
  30. package/skills/apple-premium-minimal-design-system/README.md +95 -0
  31. package/skills/apple-premium-minimal-design-system/SKILL.md +166 -0
  32. package/skills/apple-premium-minimal-design-system/accessibility-system.md +60 -0
  33. package/skills/apple-premium-minimal-design-system/color-system.md +100 -0
  34. package/skills/apple-premium-minimal-design-system/component-library.md +136 -0
  35. package/skills/apple-premium-minimal-design-system/design-principles.md +65 -0
  36. package/skills/apple-premium-minimal-design-system/example-page-structures.md +90 -0
  37. package/skills/apple-premium-minimal-design-system/layout-system.md +89 -0
  38. package/skills/apple-premium-minimal-design-system/motion-system.md +75 -0
  39. package/skills/apple-premium-minimal-design-system/spacing-system.md +73 -0
  40. package/skills/apple-premium-minimal-design-system/typography-system.md +86 -0
  41. package/skills/apple-premium-minimal-design-system/website-generation-rules.md +207 -0
  42. package/skills/bento-grid-design-system/README.md +97 -0
  43. package/skills/bento-grid-design-system/SKILL.md +185 -0
  44. package/skills/bento-grid-design-system/accessibility-system.md +54 -0
  45. package/skills/bento-grid-design-system/color-system.md +98 -0
  46. package/skills/bento-grid-design-system/component-library.md +138 -0
  47. package/skills/bento-grid-design-system/design-principles.md +72 -0
  48. package/skills/bento-grid-design-system/example-page-structures.md +91 -0
  49. package/skills/bento-grid-design-system/layout-system.md +93 -0
  50. package/skills/bento-grid-design-system/motion-system.md +81 -0
  51. package/skills/bento-grid-design-system/spacing-system.md +77 -0
  52. package/skills/bento-grid-design-system/typography-system.md +85 -0
  53. package/skills/bento-grid-design-system/website-generation-rules.md +193 -0
  54. package/skills/brutalist-tech-design-system/README.md +100 -0
  55. package/skills/brutalist-tech-design-system/SKILL.md +185 -0
  56. package/skills/brutalist-tech-design-system/accessibility-system.md +61 -0
  57. package/skills/brutalist-tech-design-system/color-system.md +101 -0
  58. package/skills/brutalist-tech-design-system/component-library.md +117 -0
  59. package/skills/brutalist-tech-design-system/design-principles.md +73 -0
  60. package/skills/brutalist-tech-design-system/example-page-structures.md +92 -0
  61. package/skills/brutalist-tech-design-system/layout-system.md +74 -0
  62. package/skills/brutalist-tech-design-system/motion-system.md +80 -0
  63. package/skills/brutalist-tech-design-system/spacing-system.md +86 -0
  64. package/skills/brutalist-tech-design-system/typography-system.md +94 -0
  65. package/skills/brutalist-tech-design-system/website-generation-rules.md +195 -0
  66. package/skills/crunchbase-profile-generator/README.md +64 -0
  67. package/skills/crunchbase-profile-generator/SKILL.md +189 -0
  68. package/skills/editorial-luxury-design-system/README.md +98 -0
  69. package/skills/editorial-luxury-design-system/SKILL.md +187 -0
  70. package/skills/editorial-luxury-design-system/accessibility-system.md +63 -0
  71. package/skills/editorial-luxury-design-system/color-system.md +95 -0
  72. package/skills/editorial-luxury-design-system/component-library.md +131 -0
  73. package/skills/editorial-luxury-design-system/design-principles.md +77 -0
  74. package/skills/editorial-luxury-design-system/example-page-structures.md +94 -0
  75. package/skills/editorial-luxury-design-system/layout-system.md +80 -0
  76. package/skills/editorial-luxury-design-system/motion-system.md +82 -0
  77. package/skills/editorial-luxury-design-system/spacing-system.md +77 -0
  78. package/skills/editorial-luxury-design-system/typography-system.md +107 -0
  79. package/skills/editorial-luxury-design-system/website-generation-rules.md +194 -0
  80. package/skills/enterprise-data-viz-design-system/README.md +98 -0
  81. package/skills/enterprise-data-viz-design-system/SKILL.md +195 -0
  82. package/skills/enterprise-data-viz-design-system/accessibility-system.md +68 -0
  83. package/skills/enterprise-data-viz-design-system/color-system.md +112 -0
  84. package/skills/enterprise-data-viz-design-system/component-library.md +142 -0
  85. package/skills/enterprise-data-viz-design-system/design-principles.md +75 -0
  86. package/skills/enterprise-data-viz-design-system/example-page-structures.md +89 -0
  87. package/skills/enterprise-data-viz-design-system/layout-system.md +75 -0
  88. package/skills/enterprise-data-viz-design-system/motion-system.md +86 -0
  89. package/skills/enterprise-data-viz-design-system/spacing-system.md +85 -0
  90. package/skills/enterprise-data-viz-design-system/typography-system.md +100 -0
  91. package/skills/enterprise-data-viz-design-system/website-generation-rules.md +196 -0
  92. package/skills/f6s-copywriting/README.md +16 -6
  93. package/skills/f6s-copywriting/SKILL.md +162 -46
  94. package/skills/glassmorphism-design-system/README.md +98 -0
  95. package/skills/glassmorphism-design-system/SKILL.md +190 -0
  96. package/skills/glassmorphism-design-system/accessibility-system.md +62 -0
  97. package/skills/glassmorphism-design-system/color-system.md +128 -0
  98. package/skills/glassmorphism-design-system/component-library.md +120 -0
  99. package/skills/glassmorphism-design-system/design-principles.md +77 -0
  100. package/skills/glassmorphism-design-system/example-page-structures.md +92 -0
  101. package/skills/glassmorphism-design-system/layout-system.md +81 -0
  102. package/skills/glassmorphism-design-system/motion-system.md +86 -0
  103. package/skills/glassmorphism-design-system/spacing-system.md +73 -0
  104. package/skills/glassmorphism-design-system/typography-system.md +90 -0
  105. package/skills/glassmorphism-design-system/website-generation-rules.md +195 -0
  106. package/skills/linkedin-copywriting/README.md +15 -8
  107. package/skills/linkedin-copywriting/SKILL.md +129 -51
  108. package/skills/motion-storytelling-design-system/README.md +100 -0
  109. package/skills/motion-storytelling-design-system/SKILL.md +191 -0
  110. package/skills/motion-storytelling-design-system/accessibility-system.md +71 -0
  111. package/skills/motion-storytelling-design-system/color-system.md +101 -0
  112. package/skills/motion-storytelling-design-system/component-library.md +122 -0
  113. package/skills/motion-storytelling-design-system/design-principles.md +81 -0
  114. package/skills/motion-storytelling-design-system/example-page-structures.md +91 -0
  115. package/skills/motion-storytelling-design-system/layout-system.md +79 -0
  116. package/skills/motion-storytelling-design-system/motion-system.md +116 -0
  117. package/skills/motion-storytelling-design-system/spacing-system.md +83 -0
  118. package/skills/motion-storytelling-design-system/typography-system.md +89 -0
  119. package/skills/motion-storytelling-design-system/website-generation-rules.md +200 -0
  120. package/skills/nvidia-inception-idea-booster/README.md +43 -24
  121. package/skills/nvidia-inception-idea-booster/SKILL.md +260 -116
  122. package/skills/nvidia-inception-starter/README.md +6 -5
  123. package/skills/nvidia-inception-starter/SKILL.md +80 -43
  124. package/skills/nvidia-product-inventor/README.md +44 -37
  125. package/skills/nvidia-product-inventor/SKILL.md +265 -227
  126. package/skills/nvidia-startup-idea-founder/README.md +66 -26
  127. package/skills/nvidia-startup-idea-founder/SKILL.md +245 -189
  128. package/skills/product-demo-first-design-system/README.md +96 -0
  129. package/skills/product-demo-first-design-system/SKILL.md +185 -0
  130. package/skills/product-demo-first-design-system/accessibility-system.md +58 -0
  131. package/skills/product-demo-first-design-system/color-system.md +109 -0
  132. package/skills/product-demo-first-design-system/component-library.md +142 -0
  133. package/skills/product-demo-first-design-system/design-principles.md +66 -0
  134. package/skills/product-demo-first-design-system/example-page-structures.md +95 -0
  135. package/skills/product-demo-first-design-system/layout-system.md +76 -0
  136. package/skills/product-demo-first-design-system/motion-system.md +82 -0
  137. package/skills/product-demo-first-design-system/spacing-system.md +74 -0
  138. package/skills/product-demo-first-design-system/typography-system.md +87 -0
  139. package/skills/product-demo-first-design-system/website-generation-rules.md +194 -0
  140. package/skills/website-design-skills/01-proof/README.md +0 -47
  141. package/skills/website-design-skills/01-proof/SKILL.md +0 -303
  142. package/skills/website-design-skills/02-kajabi/README.md +0 -42
  143. package/skills/website-design-skills/02-kajabi/SKILL.md +0 -272
  144. package/skills/website-design-skills/03-lattice/README.md +0 -42
  145. package/skills/website-design-skills/03-lattice/SKILL.md +0 -271
  146. package/skills/website-design-skills/04-petal/README.md +0 -42
  147. package/skills/website-design-skills/04-petal/SKILL.md +0 -271
  148. package/skills/website-design-skills/05-dropbox-sign/README.md +0 -42
  149. package/skills/website-design-skills/05-dropbox-sign/SKILL.md +0 -271
  150. package/skills/website-design-skills/06-distributional/README.md +0 -42
  151. package/skills/website-design-skills/06-distributional/SKILL.md +0 -271
  152. package/skills/website-design-skills/07-appcues/README.md +0 -42
  153. package/skills/website-design-skills/07-appcues/SKILL.md +0 -271
  154. package/skills/website-design-skills/08-memberstack/README.md +0 -42
  155. package/skills/website-design-skills/08-memberstack/SKILL.md +0 -271
  156. package/skills/website-design-skills/09-flank/README.md +0 -42
  157. package/skills/website-design-skills/09-flank/SKILL.md +0 -275
  158. package/skills/website-design-skills/10-slidebean/README.md +0 -42
  159. package/skills/website-design-skills/10-slidebean/SKILL.md +0 -275
  160. package/skills/website-design-skills/11-formstack/README.md +0 -42
  161. package/skills/website-design-skills/11-formstack/SKILL.md +0 -275
  162. package/skills/website-design-skills/12-thalamus/README.md +0 -42
  163. package/skills/website-design-skills/12-thalamus/SKILL.md +0 -275
  164. package/skills/website-design-skills/13-grow/README.md +0 -42
  165. package/skills/website-design-skills/13-grow/SKILL.md +0 -275
  166. package/skills/website-design-skills/14-gemnote/README.md +0 -42
  167. package/skills/website-design-skills/14-gemnote/SKILL.md +0 -275
  168. package/skills/website-design-skills/15-draftbit/README.md +0 -42
  169. package/skills/website-design-skills/15-draftbit/SKILL.md +0 -275
  170. package/skills/website-design-skills/16-payman/README.md +0 -42
  171. package/skills/website-design-skills/16-payman/SKILL.md +0 -273
  172. package/skills/website-design-skills/17-effortel/README.md +0 -42
  173. package/skills/website-design-skills/17-effortel/SKILL.md +0 -272
  174. package/skills/website-design-skills/18-adopt/README.md +0 -42
  175. package/skills/website-design-skills/18-adopt/SKILL.md +0 -273
  176. package/skills/website-design-skills/19-kraftful/README.md +0 -42
  177. package/skills/website-design-skills/19-kraftful/SKILL.md +0 -273
  178. package/skills/website-design-skills/20-greenhouse/README.md +0 -42
  179. package/skills/website-design-skills/20-greenhouse/SKILL.md +0 -273
  180. package/skills/website-design-skills/21-weavy/README.md +0 -42
  181. package/skills/website-design-skills/21-weavy/SKILL.md +0 -273
  182. package/skills/website-design-skills/22-safetykit/README.md +0 -42
  183. package/skills/website-design-skills/22-safetykit/SKILL.md +0 -273
  184. package/skills/website-design-skills/23-modulify/README.md +0 -42
  185. package/skills/website-design-skills/23-modulify/SKILL.md +0 -270
  186. package/skills/website-design-skills/24-realm/README.md +0 -42
  187. package/skills/website-design-skills/24-realm/SKILL.md +0 -270
  188. package/skills/website-design-skills/25-modyfi/README.md +0 -42
  189. package/skills/website-design-skills/25-modyfi/SKILL.md +0 -269
  190. package/skills/website-design-skills/26-altitude/README.md +0 -42
  191. package/skills/website-design-skills/26-altitude/SKILL.md +0 -270
  192. package/skills/website-design-skills/27-way/README.md +0 -42
  193. package/skills/website-design-skills/27-way/SKILL.md +0 -270
  194. package/skills/website-design-skills/28-zentail/README.md +0 -42
  195. package/skills/website-design-skills/28-zentail/SKILL.md +0 -270
  196. package/skills/website-design-skills/29-zams/README.md +0 -42
  197. package/skills/website-design-skills/29-zams/SKILL.md +0 -270
  198. package/skills/website-design-skills/30-user-interviews/README.md +0 -44
  199. package/skills/website-design-skills/30-user-interviews/SKILL.md +0 -273
  200. package/skills/website-design-skills/31-bland/README.md +0 -44
  201. package/skills/website-design-skills/31-bland/SKILL.md +0 -273
  202. package/skills/website-design-skills/32-nauto/README.md +0 -44
  203. package/skills/website-design-skills/32-nauto/SKILL.md +0 -273
  204. package/skills/website-design-skills/33-bill/README.md +0 -44
  205. package/skills/website-design-skills/33-bill/SKILL.md +0 -273
  206. package/skills/website-design-skills/34-localyzer/README.md +0 -44
  207. package/skills/website-design-skills/34-localyzer/SKILL.md +0 -273
  208. package/skills/website-design-skills/35-jasper/README.md +0 -44
  209. package/skills/website-design-skills/35-jasper/SKILL.md +0 -273
  210. package/skills/website-design-skills/README.md +0 -108
@@ -0,0 +1,54 @@
1
+ # Accessibility System — Bento Grid
2
+
3
+ Bento layouts add a11y risk around **reading order, link-wrapped tiles, and dense grids**.
4
+ This system bakes WCAG 2.1 AA into the look, including the tile/grid patterns.
5
+
6
+ ## Color & contrast
7
+ - **Body text ≥ 4.5:1**, large/UI text **≥ 3:1**, on the tile's real surface — check
8
+ light tiles (`--tile`), accent tiles (`--text-on-accent` on `--grad-accent`), and dark
9
+ tiles (`--text-on-dark` on `--tile-dark`). Use `--text-secondary`/`--text-muted` for
10
+ content; never `--text-faint` for real text.
11
+ - **Non-text contrast ≥ 3:1** for tile hairlines that carry meaning, icons, focus rings.
12
+ - **Don't encode meaning in color alone** — status pairs color with an icon/label; the
13
+ highlighted pricing tile says "Most popular" in text, not just color.
14
+ - **Gradient/low-contrast text banned for body**; `--grad-text` only on large hero display.
15
+
16
+ ## Reading order & structure (key for grids)
17
+ - **DOM order = reading order.** Author tiles in a sensible reading order; `grid-auto-flow:
18
+ dense` may move tiles *visually*, so verify the DOM order still makes sense (anchor →
19
+ supporting) for screen readers and keyboard users. Avoid large visual/DOM mismatches.
20
+ - One `<h1>` per page; each tile with a title uses a real heading (`<h3>`/`<h4>`) so the
21
+ page has a coherent outline. Landmarks: `<header><nav><main id="main"><section><footer>`.
22
+ - A bento that's a list of similar items can be a `<ul>` of `<li>` tiles for semantics.
23
+
24
+ ## Tiles as links/controls
25
+ - A clickable tile should wrap its content in a single `<a href>` (or be a `<button>`),
26
+ containing a real heading — not a div with a click handler. One primary link per tile
27
+ (avoid nested interactive elements that confuse focus order).
28
+ - Every interactive tile/element has **visible focus**: `:focus-visible { outline:2px
29
+ solid var(--ring); outline-offset:2px }`. Never bare `outline:none`.
30
+ - **Keyboard:** all tiles/controls reachable and operable; logical tab order; no traps
31
+ (except intended modal focus-trap with ESC). **Skip link** to `#main` first in DOM.
32
+
33
+ ## Media & motion
34
+ - Informative tile media has meaningful **`alt`**; decorative visuals (spotlight glows,
35
+ faint gradients, mock chrome) are `aria-hidden`/`alt=""`.
36
+ - Honor `prefers-reduced-motion` (see motion-system): tiles appear in final state; no
37
+ spotlight/parallax/marquee; metric count-ups render final value in DOM.
38
+ - No flashing > 3×/sec; no autoplaying audio.
39
+
40
+ ## Forms
41
+ - Programmatic `<label>` per input (placeholders aren't labels); `<fieldset><legend>` for
42
+ groups; errors in text + `aria-describedby`, focus to first error.
43
+
44
+ ## Touch & responsive
45
+ - **Tap targets ≥ 44×44px** (incl. small tiles acting as links). The grid reflows
46
+ 6→4→2→1 columns; no horizontal scroll at 320px; 200% zoom OK; pinch-zoom not disabled.
47
+
48
+ ## Checklist (run before finishing)
49
+ 1. Text/icons meet AA contrast on light, accent, **and** dark tiles.
50
+ 2. DOM/reading order is sensible despite `dense` flow; tiles use real headings; landmarks + one H1.
51
+ 3. Clickable tiles are real links/buttons wrapping a heading; visible focus; keyboard-complete; skip link.
52
+ 4. Informative tile media has alt; decorative hidden; reduced-motion honored.
53
+ 5. Labelled, error-accessible forms.
54
+ 6. 44px targets; grid reflows to single column at 320px; 200% zoom; zoom not disabled.
@@ -0,0 +1,98 @@
1
+ # Color System — Bento Grid
2
+
3
+ A versatile palette built around **tiles**: a calm canvas, soft tile surfaces with gentle
4
+ elevation and faint per-tile gradients, one restrained accent, and accessible text. Ships
5
+ **light by default** with a **dark base** included — the bento system works in both.
6
+ Sections separate via panels + grid gaps + tile surfaces — **never borders**. Override
7
+ only `--accent-*` to rebrand. Contrast: body ≥ 4.5:1, large/secondary ≥ 3:1.
8
+
9
+ ## Tokens (`:root`) — light base (default)
10
+
11
+ ```css
12
+ :root {
13
+ /* ---- Canvas + section panels ---- */
14
+ --bg-canvas: #f6f7f9; /* page background (tiles float on this) */
15
+ --bg-white: #ffffff; /* white section panel */
16
+ --bg-muted: #eef0f4; /* alternate section panel */
17
+
18
+ /* ---- Tile surfaces (the bento cards) ---- */
19
+ --tile: #ffffff; /* default tile */
20
+ --tile-alt: #f3f5f8; /* secondary tile (for contrast within a grid) */
21
+ --tile-accent: #f1f0ff; /* highlight/CTA tile (accent-tinted) */
22
+ --tile-dark: #0e1116; /* a "dark feature" tile on a light page (media/code) */
23
+ --tile-glass: rgba(255,255,255,0.7); /* glass tile (sparingly) */
24
+
25
+ /* ---- Text ramp ---- */
26
+ --text-primary: #0c0e14;
27
+ --text-secondary: #3b4250;
28
+ --text-muted: #6a7283;
29
+ --text-faint: #9aa1b0; /* decorative/disabled — non-essential only */
30
+ --text-on-accent: #ffffff;
31
+ --text-on-dark: #e7eaf0; /* text inside --tile-dark */
32
+
33
+ /* ---- Borders / hairlines (tile edges/inputs — NOT between sections) ---- */
34
+ --border-subtle: rgba(12,14,20,0.06);
35
+ --border-default: rgba(12,14,20,0.10);
36
+ --border-strong: rgba(12,14,20,0.16);
37
+ --ring: #6d5efc; /* focus ring */
38
+
39
+ /* ---- Accent ---- */
40
+ --accent: #6d5efc; /* violet-indigo — primary actions/links/highlights */
41
+ --accent-hover: #7d70ff;
42
+ --accent-press: #5a4ce6;
43
+ --accent-2: #18b4c9; /* teal — secondary highlight */
44
+ --accent-soft: rgba(109,94,252,0.10);
45
+
46
+ /* ---- Semantic ---- */
47
+ --success: #1aa35a; --success-soft: rgba(26,163,90,0.12);
48
+ --warning: #b4690e; --warning-soft: rgba(180,105,14,0.12);
49
+ --error: #d92d3c; --error-soft: rgba(217,45,60,0.12);
50
+ --info: #6d5efc; --info-soft: rgba(109,94,252,0.12);
51
+
52
+ /* ---- Gradients (faint, per-tile accents) ---- */
53
+ --grad-tile: linear-gradient(160deg, #ffffff 0%, #f3f2ff 100%); /* subtle tile sheen */
54
+ --grad-accent: linear-gradient(135deg, #6d5efc 0%, #18b4c9 100%); /* accent/CTA tile */
55
+ --grad-spot: radial-gradient(70% 80% at 30% 0%, rgba(109,94,252,0.14) 0%, transparent 60%);
56
+ --grad-text: linear-gradient(90deg, #0c0e14 0%, #6d5efc 100%);
57
+
58
+ /* ---- Elevation (tiles float gently) ---- */
59
+ --shadow-sm: 0 1px 2px rgba(12,14,20,0.05);
60
+ --shadow-md: 0 8px 24px rgba(12,14,20,0.08);
61
+ --shadow-lg: 0 24px 56px rgba(12,14,20,0.12);
62
+ --shadow-tile: 0 2px 6px rgba(12,14,20,0.05), 0 16px 40px rgba(12,14,20,0.06);
63
+ }
64
+ ```
65
+
66
+ ## Palette roles
67
+
68
+ - **Canvas + panels** (`--bg-*`): full-bleed section fills; alternate `--bg-canvas`/
69
+ `--bg-muted`/white between sections to separate by color — **never a border**.
70
+ - **Tile surfaces** (`--tile*`): the bento cards. Mix `--tile`, `--tile-alt`, an
71
+ accent-tinted `--tile-accent`, and an occasional **dark feature tile** (`--tile-dark`
72
+ with `--text-on-dark`) to vary the grid. All use `--shadow-tile` + large radius.
73
+ - **Text** (`--text-*`): primary tile titles, secondary tile body, muted meta. Use
74
+ `--text-on-dark` inside dark tiles. Never `--text-faint` for real content.
75
+ - **Borders** (`--border-*`): hairline tile edges/inputs only — not section dividers.
76
+ - **Accent** (`--accent*`): primary CTA, links, and 1–2 highlight tiles per section
77
+ (e.g., the CTA tile via `--grad-accent`). `--accent-2` for secondary highlights.
78
+ - **Gradients** (`--grad-*`): `--grad-tile` as a faint sheen on a few tiles; `--grad-spot`
79
+ behind a hero bento; `--grad-accent` on the CTA/highlight tile; `--grad-text` on one
80
+ hero phrase. Subtle, not on every tile.
81
+ - **Success / Warning / Error / Info**: status, badges, validation only.
82
+
83
+ ## Usage rules
84
+
85
+ 1. **Vary tiles, not chaos.** Within a grid, alternate `--tile`/`--tile-alt` and add **one**
86
+ accent or dark tile for focus — keep it cohesive.
87
+ 2. **Separate sections with panels + gaps + tile surfaces, not lines.** Mandatory.
88
+ 3. **Faint gradients only.** At most a couple of subtly-gradient tiles per section; never
89
+ rainbow or every-tile-gradient (anti-pattern).
90
+ 4. **Consistent elevation/radius** across tiles so the grid reads as one set.
91
+ 5. **Check contrast** on light tiles, accent tiles, and dark tiles (`--text-on-dark`).
92
+
93
+ ## Optional dark base
94
+
95
+ `[data-theme="dark"]`: `--bg-canvas:#070809; --bg-white:#0e1014; --bg-muted:#14171d;
96
+ --tile:#12151c; --tile-alt:#0e1116; --tile-accent:#171a2e; --text-primary:#f4f6fb;
97
+ --text-secondary:#c4cad6; --text-muted:#8a92a6; --accent:#8b7bff;` and re-verify
98
+ contrast. Bento works equally well dark; **light is the default identity.**
@@ -0,0 +1,138 @@
1
+ # Component Library — Bento Grid
2
+
3
+ Specs for the 17 required components **plus the Bento Grid engine and Bento Tile
4
+ variants** that define this system. Each: purpose, anatomy, tokens, states, responsive +
5
+ a11y. Semantic HTML; shared tokens; **no borders between sections** (tile surfaces +
6
+ grid gaps separate ideas; whitespace/panels separate sections).
7
+
8
+ Shared primitives:
9
+
10
+ ```css
11
+ .btn { display:inline-flex; align-items:center; gap: var(--space-2);
12
+ font-weight:600; font-size:.9375rem; padding: var(--space-3) var(--space-6);
13
+ border-radius: var(--radius-pill); border:1px solid transparent; cursor:pointer;
14
+ transition: transform .15s ease, background .2s ease, box-shadow .2s ease; }
15
+ .btn:active { transform: translateY(1px); }
16
+ .btn-primary { background: var(--accent); color: var(--text-on-accent); }
17
+ .btn-primary:hover { background: var(--accent-hover); }
18
+ .btn-secondary { background: var(--tile-alt); color: var(--text-primary);
19
+ border-color: var(--border-default); }
20
+ :where(a,button,input,[tabindex]):focus-visible { outline:2px solid var(--ring);
21
+ outline-offset:2px; border-radius: var(--radius-sm); }
22
+ ```
23
+
24
+ ## ★ Bento Grid (the signature) — see layout-system for the engine
25
+ ```css
26
+ .bento { display:grid; grid-template-columns:repeat(6,1fr);
27
+ grid-auto-rows:var(--bento-row); gap:var(--bento-gap); grid-auto-flow:dense; }
28
+ .tile { background: var(--tile); border:1px solid var(--border-subtle);
29
+ border-radius: var(--radius-tile); padding: var(--tile-pad);
30
+ box-shadow: var(--shadow-tile); display:flex; flex-direction:column; gap: var(--stack);
31
+ position:relative; overflow:hidden; transition: transform .2s ease, box-shadow .2s ease; }
32
+ .tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
33
+ .tile--alt { background: var(--tile-alt); }
34
+ .tile--accent { background: var(--grad-accent); color: var(--text-on-accent); }
35
+ .tile--dark { background: var(--tile-dark); color: var(--text-on-dark); }
36
+ .tile--glass { background: var(--tile-glass); backdrop-filter: blur(12px); }
37
+ ```
38
+ Each section's bento has **one anchor tile + varied-span supporting tiles**, one idea per
39
+ tile, mixed content types. Tiles are keyboard/focus accessible if interactive
40
+ (link-wrapped tile → `<a class="tile">` with a real heading inside).
41
+
42
+ ## ★ Bento Tile variants
43
+ - **Feature tile** — icon + title + short body (+ optional mini visual). The workhorse.
44
+ - **Metric tile** — big tabular-nums number + label (stat).
45
+ - **Media tile** — image/clip filling the tile (`object-fit:cover`), title overlaid.
46
+ - **Code tile** — `--tile-dark`, mono snippet + filename/copy (a mini Code Preview).
47
+ - **Quote tile** — short testimonial + avatar/name (a mini testimonial).
48
+ - **Integration tile** — a logo + name (small `t-1x1`/`t-2x1`).
49
+ - **CTA tile** — `--tile--accent` with headline + button (the section's primary action).
50
+ - **List tile** — a compact checklist (e.g., "What's included").
51
+
52
+ ---
53
+
54
+ ## 1. Navbar (+ dropdown/mega-menu + breadcrumb)
55
+ Sticky glass bar. Logo · nav links · primary CTA + "Sign in" · mobile hamburger.
56
+ **Extensionless hrefs** (`/platform`). **Dropdown/mega-menu** (vanilla JS) opens a
57
+ multi-column panel — itself often a mini bento of link tiles. Mobile: full-screen
58
+ overlay, accordion, focus-trap, ESC. **Breadcrumb** on deep pages. a11y:
59
+ `aria-haspopup/expanded`, `aria-current="page"`.
60
+
61
+ ## 2. Hero
62
+ Layout HB-A (hero bento) or HB-B (split + bento). Eyebrow · H1 (optional `--grad-text`
63
+ on one word) · lead · CTA pair, plus a **bento** of an anchor tile (product/headline) +
64
+ small stat/logo/CTA tiles. One H1, one primary CTA. `--grad-spot` behind. Decorative glow `aria-hidden`.
65
+
66
+ ## 3. Feature Grid → **Capabilities bento**
67
+ Layout FB-A/FB-B. A bento of **Feature tiles** with one anchor feature (`t-3x2`) and
68
+ supporting tiles of mixed content. Hover lift. This is the core feature section.
69
+
70
+ ## 4. Bento Grid (component)
71
+ The reusable grid + tile set above — used by most sections. Always anchor + varied spans,
72
+ one idea per tile, real content (no empty/filler tiles).
73
+
74
+ ## 5. Testimonials
75
+ **Quote tiles** in a bento (one large featured quote `t-3x2` + small quote tiles), or a
76
+ 3-up quote grid. `<blockquote>` + `<cite>`; carousel optional with prev/next.
77
+
78
+ ## 6. Logos Section → **Logo bento**
79
+ Integration/customer logos as small **Integration tiles** + one "why teams choose us"
80
+ anchor tile; or a simple monochrome logo row. Logos `<img alt="Company">`.
81
+
82
+ ## 7. Pricing
83
+ Layout P-A/P-B. Tiers as tiles (price tabular-nums, feature list, CTA); highlighted tier
84
+ `--tile--accent`/ring + "Most popular"; monthly/annual toggle. a11y: real `role="switch"`/radio.
85
+
86
+ ## 8. FAQ
87
+ Accordion (Q-A) or **FAQ-as-tiles** (Q-B: each Q/A a tile). Accordion: `<button>` +
88
+ collapsible answer, height/opacity animation. a11y: `aria-expanded`/`aria-controls`.
89
+
90
+ ## 9. CTA → **CTA tile band**
91
+ A prominent **CTA tile** (`--tile--accent`, `--grad-accent`) with headline + primary
92
+ button (+ secondary text link), full-width or anchoring a small bento. `--section-y-lg`, no border.
93
+
94
+ ## 10. Footer
95
+ FT-A: brand · 4–6 link columns · legal · locale/social. Muted text, generous space, soft
96
+ panel; columns can be light tiles. `<footer>`, `<nav>` link lists.
97
+
98
+ ## 11. Dashboard Preview
99
+ A product screenshot/app shell inside a large **Media/Dashboard tile** (anchor), with
100
+ real-looking data, soft elevation, optional parallax. Decorative → `aria-hidden`;
101
+ informative → alt text.
102
+
103
+ ## 12. Agent Workflow Section
104
+ Steps as connected tiles (Plan → Retrieve → Act → Verify), or one anchor tile showing the
105
+ agent + small step tiles. Animate sequential reveal. a11y: `<ol>` text equivalent.
106
+
107
+ ## 13. Code Preview → **Code tile**
108
+ `--tile--dark` mono snippet with filename tab + copy button (+ optional language tabs).
109
+ Low-saturation syntax tint. `<pre><code>`; copy `aria-label`.
110
+
111
+ ## 14. Terminal Preview
112
+ A dark **Code tile** styled as a terminal (header + prompt lines; optional typewriter →
113
+ final state under reduced motion). Real text, not an image.
114
+
115
+ ## 15. Trust Section → **Stat bento**
116
+ **Metric tiles** (big tabular-nums numbers + muted labels; count-up on reveal, final
117
+ value in DOM) + one wide quote/logo band tile (`t-6x1`). Accent on numbers only.
118
+
119
+ ## 16. Security Section
120
+ Compliance badges (SOC 2/ISO/GDPR/HIPAA) + assurances (encryption, SSO/SAML, audit logs)
121
+ as small **List/Feature tiles** + a "Read security docs" link. Badges have alt text.
122
+
123
+ ## 17. Enterprise Section
124
+ "Built for enterprise" bento: SSO/RBAC/SLAs/VPC value props as tiles + a "Talk to sales"
125
+ **CTA tile** + optional logo bento. Soft panels, no border.
126
+
127
+ ---
128
+
129
+ ## Component rules
130
+ - **Bento-first:** prefer composing sections as bentos with an anchor + varied spans;
131
+ one idea per tile; vary content types; never empty/filler tiles.
132
+ - Compose from shared `.btn`/`.tile`/tokens — no bespoke colors/radii per component.
133
+ - Every interactive tile/element has hover **and** `:focus-visible`; link-tiles wrap a
134
+ real heading; tiles are keyboard navigable.
135
+ - Every component reflows to fewer columns / single column by `md`/`sm` (grid engine).
136
+ - Decorative visuals `aria-hidden`; informative tile media has meaningful `alt`.
137
+ - Restraint: ≤ a couple of subtly-gradient/accent tiles per section; hairlines only on
138
+ tiles/inputs — **never between page sections**.
@@ -0,0 +1,72 @@
1
+ # Design Principles — Bento Grid
2
+
3
+ The philosophy distilled from bento-led leaders (Apple product pages, Linear, Vercel,
4
+ Raycast, Resend, Notion) and modern AI sites (OpenAI, Anthropic, Perplexity, Cursor).
5
+
6
+ ## The one-sentence philosophy
7
+
8
+ **Package every idea into a tile.** A bento page is a designed mosaic of self-contained
9
+ cards of varied size — each holding one thought — arranged so the page reads as a clean,
10
+ scannable, premium box of modules.
11
+
12
+ ## Core principles
13
+
14
+ 1. **Bento as the default layout.** Prefer an asymmetric grid of tiles over plain
15
+ stacked rows. Most sections are a bento grid.
16
+ 2. **One idea per tile.** A tile holds a single, complete thought (feature + visual,
17
+ metric, quote, code, media, integration). If a tile says two things, split it.
18
+ 3. **Span = importance.** Bigger tiles carry the more important idea; small tiles carry
19
+ supporting facts. Every section has **one anchor tile** that dominates.
20
+ 4. **Varied spans, intentional rhythm.** Mix 1×1, 2×1, 1×2, 2×2 tiles into a balanced
21
+ composition — never a monotonous uniform grid, never random chaos.
22
+ 5. **The grid replaces dividers.** Separation between ideas comes from grid gaps and
23
+ tile surfaces; separation between **sections** comes from whitespace and panels —
24
+ **never borders**.
25
+ 6. **Calm canvas, characterful tiles.** The page is quiet; each tile can carry its own
26
+ small personality (a faint gradient, an icon, a mini visual) without overwhelming.
27
+ 7. **Soft, rounded, elevated.** Large radii + gentle elevation make tiles feel tactile
28
+ and modern (Apple bento). Consistent radius/shadow across all tiles.
29
+ 8. **Scannable first, deep second.** A visitor should grasp a section by skimming tile
30
+ titles; detail lives inside the tile for those who look closer.
31
+ 9. **Quiet motion brings tiles alive.** Staggered reveals, subtle hover lift, optional
32
+ pointer spotlight — motion animates tiles, not the page. Honor `prefers-reduced-motion`.
33
+ 10. **Consistency over novelty.** Reuse tile variants + tokens everywhere; a coherent
34
+ tile system beats bespoke one-offs.
35
+
36
+ ## Visual-hierarchy laws
37
+
38
+ - **One H1 per page.** Within a bento section, the **anchor tile** is the focal point.
39
+ - **Size + position = hierarchy:** the largest/top-left-ish tile reads first; arrange so
40
+ the eye flows anchor → supporting tiles.
41
+ - **Contrast ladder:** primary text, secondary, muted — readable (AA). Tile titles are
42
+ primary; tile body secondary; tile meta muted.
43
+ - **One primary CTA per viewport**, often as its own accent **CTA tile** within the grid.
44
+ - **Group by the grid + tile surface**, not by boxes/borders around sections.
45
+ - **Accent = importance.** Reserve the accent for the primary action and 1–2 highlight
46
+ tiles per section — not every tile.
47
+
48
+ ## Bento composition recipes
49
+
50
+ - **Anchor + satellites:** one 2×2 (or 2×1) anchor + four 1×1 tiles around it.
51
+ - **Feature trio + wide stat:** three 1×1 feature tiles + one 3×1 metric/quote band.
52
+ - **Hero bento:** big 2×2 product/headline tile + small tiles (stat, logo, CTA) beside.
53
+ - **Mosaic:** 6–9 tiles of mixed spans for a dense capabilities overview.
54
+ - Keep one clear anchor per recipe; vary tile content types (text, media, metric, code).
55
+
56
+ ## Reference cues (what each does well)
57
+
58
+ - **Apple (product bento):** rounded elevated tiles, big anchor + small detail tiles,
59
+ generous gaps, calm background.
60
+ - **Linear / Raycast:** dark bento of feature tiles with subtle gradients + mini visuals.
61
+ - **Vercel / Resend:** crisp modular tiles mixing code, metrics, and product shots.
62
+ - **Notion / Cron:** friendly rounded tiles, clear one-idea-per-tile structure.
63
+
64
+ ## Do / Don't
65
+
66
+ **Do:** design the grid (anchor + varied spans) · one idea per tile · consistent radius/
67
+ elevation · mix content types across tiles · calm canvas · one accent · gaps + panels to
68
+ separate · real tile content · graceful mobile reflow.
69
+
70
+ **Don't:** monotonous uniform grids with no anchor · empty/filler tiles · two ideas in
71
+ one tile · borders between sections · heavy gradients on every tile · glass overload ·
72
+ tiny low-contrast text · motion that distracts · stock "AI brain" clichés.
@@ -0,0 +1,91 @@
1
+ # Example Page Structures — Bento Grid
2
+
3
+ Ready-to-assemble, **bento-led** page blueprints. Each section names a layout (see
4
+ `layout-system.md`) and components/tiles (see `component-library.md`). Most sections are
5
+ bento grids with **one anchor tile + varied-span supporting tiles**, one idea per tile.
6
+ No borders between sections (separate by whitespace + alternating panels + tile surfaces).
7
+
8
+ Legend: `HB-* / FB-* / MB-* / P-* / C-* / Q-* / FT-*` layouts · tiles/components by name.
9
+
10
+ ## MANDATORY: 15+ page site map (≈20), 10+ sections/page, clean URLs
11
+
12
+ Always ship a **full multipage website with 15+ pages (≈20)** — never a single landing
13
+ page. Every page carries **at least 10 sections (≈12)**, **no borders/dividers between
14
+ sections**, pure HTML/CSS/vanilla JS, **extensionless URLs**. Required 20-page map:
15
+
16
+ ```
17
+ / Home /customers Customers
18
+ /platform Platform /case-studies Case Studies
19
+ /solutions Solutions /developers Developers
20
+ /products Products /docs Documentation ← + DOC-A subpages
21
+ /features Features /about About
22
+ /ai-agents AI Agents /careers Careers
23
+ /enterprise Enterprise /blog Blog ← + article pages
24
+ /security Security /contact Contact
25
+ /pricing Pricing /partners Partners
26
+ /resources Resources /faq FAQ
27
+ ```
28
+
29
+ Each blueprint below is a **10-section** skeleton — extend toward 12, never fewer than
30
+ 10. Every page must include: **Hero (bento) · Feature Sections (bento) · Product
31
+ Highlights · Trust Signals · Testimonials · Use Cases · Statistics (stat bento) ·
32
+ Integrations · CTA (CTA tile) · Footer.**
33
+
34
+ ---
35
+
36
+ ## 1. Home (default)
37
+ 1. **Navbar** (glass, dropdowns) — extensionless links
38
+ 2. **Hero bento** `HB-A` — anchor tile (H1 + product/headline) + stat tile + logo tile + **CTA tile**
39
+ 3. **Logo bento** `MB-B` — trusted-by logos as tiles
40
+ 4. **Capabilities bento** `FB-A` — anchor feature `t-3x2` + supporting feature tiles (core)
41
+ 5. **Anchor + satellites** `FB-B` — a second capability cluster (different content mix)
42
+ 6. **Stat bento** `MB-A` — metric tiles + wide quote band
43
+ 7. **Testimonials** — featured quote tile + small quote tiles
44
+ 8. **Integrations bento** — integration tiles + "why" anchor tile
45
+ 9. **Pricing** `P-A` (or teaser) — tiers as tiles
46
+ 10. **CTA tile band** `C-A` + **Footer** `FT-A`
47
+
48
+ ## 2. Platform / Product
49
+ 1. Navbar · 2. **Hero bento** `HB-B` · 3. **Capabilities bento** `FB-A` · 4. **Dashboard
50
+ tile** (anchor media) · 5. **Anchor + satellites** `FB-B` · 6. **Code tile** bento · 7.
51
+ Use Cases bento · 8. **Stat bento** · 9. Testimonials · 10. CTA tile + Footer
52
+
53
+ ## 3. Features
54
+ 1. Navbar · 2. Hero bento · 3.–8. several **capabilities bentos** (`FB-A`/`FB-B`), each a
55
+ different anchor feature + supporting tiles (vary text/media/metric/code tiles) · 9.
56
+ Integrations bento · 10. CTA tile + Footer
57
+
58
+ ## 4. Developers / Documentation
59
+ - **Developers:** Navbar · **Hero bento** with **Code/Terminal tile** anchor · Logo bento
60
+ · **Code tile** bento (SDK snippets) · Capabilities bento · Use Cases · Stat bento · CTA
61
+ tile ("Read docs" + "Get API key") · Footer (≥10).
62
+ - **Docs:** Layout `DOC-A` three-pane; callouts as tiles; inline Code tiles; breadcrumb.
63
+
64
+ ## 5. Enterprise / Security
65
+ 1. Navbar · 2. Hero bento (outcome-led) · 3. Logo bento · 4. Capabilities bento · 5.
66
+ **Enterprise bento** (SSO/RBAC/SLAs/VPC tiles + CTA tile) · 6. **Security** (compliance
67
+ tiles) · 7. **Stat bento**/ROI · 8. Testimonials (exec) · 9. CTA tile (demo/contact) · 10. Footer
68
+
69
+ ## 6. Pricing
70
+ 1. Navbar · 2. Hero (short + toggle) · 3. **Pricing** `P-A/P-B` tiles · 4. Feature
71
+ comparison (bento of "what's included" tiles) · 5. **Enterprise** band tile · 6. Logo
72
+ bento · 7. **Stat bento** · 8. Testimonials · 9. **FAQ-as-tiles** `Q-B` · 10. CTA tile + Footer
73
+
74
+ ## 7. Content pages (About, Careers, Customers, Case Studies, Blog, Partners, Resources, Contact, FAQ)
75
+ Reach **≥10 sections** by composing bentos: Hero bento → body bentos (values tiles,
76
+ timeline, open-role tiles, customer-logo bento, case-study anchor + result tiles, article
77
+ tiles, partner-tier tiles, resource tiles, contact form) → Trust Signals → Testimonials →
78
+ Stat bento → Integrations → CTA tile → Footer.
79
+
80
+ ---
81
+
82
+ ## Assembly notes
83
+ - **Scale is mandatory:** 15+ pages, **≥10 sections each**, **most as bento grids**. Never
84
+ a single page, a thin page, or a monotonous uniform grid.
85
+ - **Every bento has one anchor tile + varied spans**, one idea per tile, mixed content
86
+ types, **real content** (no empty/filler tiles).
87
+ - **No borders/dividers between sections** — whitespace + alternating panels + tile
88
+ surfaces. One bento (one theme) per section.
89
+ - Vary the content types across tiles (text, media, metric, code, quote, logo, CTA) so
90
+ each grid feels rich, not repetitive.
91
+ - Reflow gracefully: 6→4→2→1 columns; spanning tiles collapse predictably on mobile.
@@ -0,0 +1,93 @@
1
+ # Layout & Grid System — Bento Grid
2
+
3
+ The heart of this system: a **bento grid engine** (CSS Grid, no libraries) plus the
4
+ canonical bento section layouts. Tiles span columns/rows; the grid reflows gracefully.
5
+ **No borders between sections.**
6
+
7
+ ## Bento grid engine
8
+
9
+ A 12-ish column grid where tiles claim spans. Use a 6-column desktop grid (clean for
10
+ 1–6 spans) with `grid-auto-flow: dense` to pack tiles.
11
+
12
+ ```css
13
+ .bento {
14
+ display: grid;
15
+ grid-template-columns: repeat(6, 1fr);
16
+ grid-auto-rows: var(--bento-row);
17
+ gap: var(--bento-gap);
18
+ grid-auto-flow: dense;
19
+ }
20
+ /* Span utilities (col x row) */
21
+ .t-2x1 { grid-column: span 2; } /* small wide */
22
+ .t-3x1 { grid-column: span 3; } /* half-width band */
23
+ .t-2x2 { grid-column: span 2; grid-row: span 2; }/* square anchor */
24
+ .t-3x2 { grid-column: span 3; grid-row: span 2; }/* large anchor */
25
+ .t-4x2 { grid-column: span 4; grid-row: span 2; }/* hero anchor */
26
+ .t-6x1 { grid-column: span 6; } /* full-width band */
27
+ .t-1x1 { grid-column: span 1; } /* small (rare on 6-col) */
28
+
29
+ /* Tablet → 4 columns, Mobile → 2 then 1 */
30
+ @media (max-width: 1024px){
31
+ .bento { grid-template-columns: repeat(4, 1fr); }
32
+ .t-4x2,.t-3x2,.t-6x1 { grid-column: span 4; }
33
+ .t-3x1 { grid-column: span 2; }
34
+ }
35
+ @media (max-width: 680px){
36
+ .bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: auto; }
37
+ .t-2x2,.t-3x2,.t-4x2,.t-6x1,.t-3x1 { grid-column: span 2; grid-row: auto; }
38
+ .t-2x1,.t-1x1 { grid-column: span 1; }
39
+ }
40
+ @media (max-width: 460px){
41
+ .bento { grid-template-columns: 1fr; }
42
+ .bento > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
43
+ }
44
+ ```
45
+
46
+ **Rule:** every bento section has **one anchor tile** (`t-3x2`/`t-4x2`/`t-2x2`) plus
47
+ varied supporting spans. Use `dense` flow so smaller tiles fill gaps tidily.
48
+
49
+ ## Canonical bento section layouts
50
+
51
+ ### Hero
52
+ - **HB-A Hero bento (default):** a big **anchor tile** (`t-4x2`, the headline/product)
53
+ + small tiles (a stat, a logo strip, a "Get started" **CTA tile**) filling the row.
54
+ - **HB-B Hero split + bento:** centered eyebrow→H1→lead→CTA on top, then a bento row of
55
+ feature/metric tiles below.
56
+
57
+ ### Feature
58
+ - **FB-A Capabilities bento:** 6–9 feature tiles of mixed spans; one `t-3x2` anchor
59
+ feature + small feature tiles; vary content (text, mini visual, code, metric).
60
+ - **FB-B Anchor + satellites:** one `t-2x2`/`t-3x2` anchor + four `t-2x1`/`t-1x1` tiles.
61
+ - **FB-C Alternating bentos:** stacked bento rows, each led by a different anchor.
62
+
63
+ ### Metrics / Social proof
64
+ - **MB-A Stat bento:** 3–4 metric tiles + one wide quote/logo band (`t-6x1`).
65
+ - **MB-B Logo bento:** integration/customer logos as small tiles + one "why" anchor tile.
66
+
67
+ ### Pricing / CTA / FAQ / Footer
68
+ - **P-A 3-tier** (middle highlighted) — tiers as tiles; toggle above. **P-B 2-tier +
69
+ enterprise** band tile.
70
+ - **C-A CTA tile band:** a full-width accent **CTA tile** (`--grad-accent`) inside a
71
+ section, or a small bento ending with a prominent CTA tile. `--section-y-lg`, no border.
72
+ - **Q-A Accordion FAQ** (`--container-md`) or **Q-B FAQ-as-tiles** (each Q/A a tile).
73
+ - **FT-A Mega footer** (brand + 4–6 link columns + legal); **FT-B minimal**.
74
+
75
+ ### Dashboard / Docs
76
+ - **D-A Dashboard tile:** a product screenshot/app shell inside a large anchor tile.
77
+ - **DOC-A Three-pane docs:** nav · prose (`--container-md`) · TOC; callouts can be tiles.
78
+
79
+ ## Composition rules
80
+
81
+ 1. **Separate sections by panel + space, NEVER borders.** Alternate `--bg-canvas`/
82
+ `--bg-muted`/white; `.section{border:0}`; no `<hr>`. Tiles' own surfaces handle
83
+ *intra*-section separation.
84
+ 2. **Every bento has one anchor tile + varied spans.** No monotonous uniform grids; no
85
+ empty/filler tiles. One idea per tile.
86
+ 3. **Vary tile content types** across a grid (text, media, metric, code, quote, logo, CTA).
87
+ 4. **Full-bleed panel, contained grid:** sections span edge-to-edge; inner `.container`/
88
+ `.container--wide` constrains the bento.
89
+ 5. **At least 10 sections per page**, and **15+ pages**; most sections are bentos. Never thin.
90
+ 6. **Rhythm:** Hero bento → logos/trust → capabilities bento → metrics bento →
91
+ testimonials → integrations bento → pricing → FAQ → CTA tile → footer.
92
+ 7. **Reflow gracefully:** 6→4→2→1 columns; spanning tiles collapse predictably (engine
93
+ above). The mosaic stays tidy at every breakpoint.
@@ -0,0 +1,81 @@
1
+ # Motion System — Bento Grid
2
+
3
+ Motion brings the **tiles** to life: staggered reveals as a grid scrolls in, subtle hover
4
+ lift, an optional pointer spotlight, and small in-tile content micro-interactions. The
5
+ page stays calm; tiles do the moving. Everything degrades under `prefers-reduced-motion`.
6
+
7
+ Distilled from Apple bento reveals, Linear/Raycast tile hovers, and OpenAI/Anthropic/
8
+ Perplexity/Cursor restraint.
9
+
10
+ ## Tokens
11
+
12
+ ```css
13
+ :root {
14
+ --dur-fast: 140ms; --dur-base: 240ms; --dur-slow: 380ms; --dur-slower: 620ms;
15
+ --ease-out: cubic-bezier(0.2, 1, 0.3, 1);
16
+ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
17
+ }
18
+ ```
19
+
20
+ ## Principles
21
+ 1. **Animate tiles, not the page.** Focal motion is the grid revealing + tile hovers.
22
+ 2. **Short + eased** (140–380ms); reserve 620ms for big anchor-tile reveals.
23
+ 3. **Move a little:** translate 8–18px, hover lift 2–3px, scale ≤1.02.
24
+ 4. **One focal animation per viewport.** Stagger, don't stampede.
25
+ 5. **Cheap props only** (`transform`/`opacity`).
26
+
27
+ ## Patterns (tile-centric)
28
+
29
+ - **Grid reveal (signature):** tiles start `opacity:0; translateY(16px)` → `.in` via
30
+ `IntersectionObserver`, `--dur-slow` `--ease-out`, **staggered ~60–80ms** in DOM order
31
+ so the bento assembles. Reveal once.
32
+ - **Tile hover:** `translateY(-3px)` + shadow `--shadow-tile`→`--shadow-lg` + a faint
33
+ `--grad-tile`/`--grad-spot` brighten over `--dur-base`. Anchor/media tiles can scale
34
+ inner media 1.0→1.03.
35
+ - **Pointer spotlight (optional):** a soft radial glow follows the cursor inside a tile
36
+ (CSS custom props updated on `pointermove`); desktop only, off for touch/reduced motion.
37
+ - **In-tile micro-interactions:** copy-button check swap, toggle slide, number count-up
38
+ on a metric tile, code-tile cursor blink, small chart draw.
39
+ - **CTA tile pulse:** a very subtle one-time glow on the accent CTA tile when revealed.
40
+ - **Nav on scroll:** glass blur + faint shadow after ~24px scroll.
41
+ - **Section/page transitions:** soft cross-fade + small rise; no harsh wipes.
42
+ - **Marquee (logo bento):** slow, linear, pausable, duplicated track.
43
+
44
+ ## Reduced motion (required)
45
+
46
+ ```css
47
+ @media (prefers-reduced-motion: reduce) {
48
+ *, *::before, *::after { animation-duration:.001ms !important;
49
+ animation-iteration-count:1 !important; transition-duration:.001ms !important;
50
+ scroll-behavior:auto !important; }
51
+ }
52
+ ```
53
+ Under reduced motion: tiles appear in final state immediately; disable spotlight/parallax/
54
+ marquee/typewriter; metric tiles show final value (count-up skipped). Hover lift may stay
55
+ (it's instant) but no large transforms.
56
+
57
+ ## Minimal vanilla helpers
58
+
59
+ ```js
60
+ // staggered bento reveal
61
+ const io = new IntersectionObserver((es)=>es.forEach((e,i)=>{ if(e.isIntersecting){
62
+ e.target.style.transitionDelay = `${Math.min(i*70, 320)}ms`;
63
+ e.target.classList.add('in'); io.unobserve(e.target);} }, {threshold:.15}));
64
+ document.querySelectorAll('.bento > .tile').forEach(t=>{ t.setAttribute('data-reveal',''); io.observe(t); });
65
+
66
+ // optional pointer spotlight
67
+ document.querySelectorAll('.tile[data-spot]').forEach(t=>{
68
+ t.addEventListener('pointermove', e=>{ const r=t.getBoundingClientRect();
69
+ t.style.setProperty('--mx', `${e.clientX-r.left}px`);
70
+ t.style.setProperty('--my', `${e.clientY-r.top}px`); });
71
+ });
72
+ ```
73
+ ```css
74
+ [data-reveal]{ opacity:0; transform: translateY(16px);
75
+ transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
76
+ [data-reveal].in{ opacity:1; transform:none; }
77
+ .tile[data-spot]::before{ content:""; position:absolute; inset:0; pointer-events:none;
78
+ background: radial-gradient(180px 180px at var(--mx) var(--my), var(--accent-soft), transparent 60%);
79
+ opacity:0; transition: opacity var(--dur-base) ease; }
80
+ .tile[data-spot]:hover::before{ opacity:1; }
81
+ ```