howone 0.1.28 → 0.1.30

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 (224) hide show
  1. package/package.json +1 -1
  2. package/templates/vite/.howone/skills/hallmark/SKILL.md +48 -42
  3. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +12 -6
  4. package/templates/vite/.howone/skills/hallmark/references/assets.md +7 -0
  5. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +19 -10
  6. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +1 -1
  7. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +1 -1
  8. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +1 -1
  9. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +1 -1
  10. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +1 -1
  11. package/templates/vite/.howone/skills/hallmark/references/components/n11-mega-menu.md +40 -0
  12. package/templates/vite/.howone/skills/hallmark/references/components/n12-banner-retract.md +34 -0
  13. package/templates/vite/.howone/skills/hallmark/references/components/n13-inline-cmdk-pill.md +39 -0
  14. package/templates/vite/.howone/skills/hallmark/references/components/n1b-saas-three-section.md +35 -0
  15. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +1 -1
  16. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +2 -2
  17. package/templates/vite/.howone/skills/hallmark/references/copy.md +8 -8
  18. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +2 -2
  19. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +50 -12
  20. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +1 -1
  21. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +11 -7
  22. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +6 -4
  23. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +10 -6
  24. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +15 -10
  25. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +13 -12
  26. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +2 -1
  27. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +4 -3
  28. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +3 -1
  29. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +1 -1
  30. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +1 -1
  31. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +1 -3
  32. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +12 -12
  33. package/templates/vite/.howone/skills/hallmark/references/responsive.md +8 -8
  34. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +72 -85
  35. package/templates/vite/.howone/skills/hallmark/references/structure.md +9 -13
  36. package/templates/vite/.howone/skills/hallmark/references/study.md +40 -17
  37. package/templates/vite/.howone/skills/hallmark/references/themes/carnival.md +301 -0
  38. package/templates/vite/.howone/skills/hallmark/references/themes/cobalt.md +146 -0
  39. package/templates/vite/.howone/skills/hallmark/references/themes/hum.md +403 -0
  40. package/templates/vite/.howone/skills/hallmark/references/themes/lumen.md +478 -0
  41. package/templates/vite/.howone/skills/hallmark/references/typography.md +3 -3
  42. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +1 -1
  43. package/templates/vite/.howone/skills/howone/03-sdk/07-ai-action-calls.md +28 -86
  44. package/templates/vite/.howone/skills/howone/03-sdk/09-workflow-execute-sse.md +105 -0
  45. package/templates/vite/.howone/skills/howone/04-ai/03-ai-sdk-handoff.md +15 -13
  46. package/templates/vite/.howone/skills/howone/SKILL.md +2 -2
  47. package/templates/vite/package.json +1 -1
  48. package/templates/vite/.howone/skills/hallmark/LICENSE +0 -21
  49. package/templates/vite/.howone/skills/hallmark/README.md +0 -147
  50. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +0 -201
  51. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +0 -186
  52. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  53. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  54. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  55. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  56. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  57. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  58. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  59. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  60. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +0 -176
  61. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +0 -364
  62. package/templates/vite/.howone/skills/hallmark/package.json +0 -36
  63. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  64. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +0 -71
  65. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +0 -64
  66. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +0 -240
  67. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +0 -65
  68. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +0 -105
  69. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +0 -250
  70. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +0 -64
  71. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +0 -131
  72. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +0 -240
  73. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +0 -67
  74. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +0 -86
  75. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +0 -262
  76. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +0 -63
  77. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +0 -167
  78. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +0 -457
  79. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +0 -65
  80. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +0 -159
  81. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +0 -288
  82. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +0 -64
  83. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +0 -146
  84. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +0 -484
  85. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +0 -64
  86. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +0 -116
  87. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +0 -354
  88. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +0 -638
  89. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +0 -515
  90. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +0 -515
  91. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +0 -608
  92. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +0 -587
  93. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +0 -157
  94. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  95. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  96. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  97. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  98. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  99. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  100. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  101. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  102. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  103. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  104. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  105. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  106. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  107. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  108. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  109. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  110. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  111. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  112. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  113. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  114. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  115. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  116. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +0 -77
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +0 -238
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +0 -110
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +0 -326
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +0 -134
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +0 -262
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +0 -30
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +0 -17
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +0 -56
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +0 -160
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +0 -29
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +0 -63
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +0 -72
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +0 -374
  131. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +0 -52
  132. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +0 -29
  133. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +0 -61
  134. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +0 -193
  135. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +0 -66
  136. package/templates/vite/.howone/skills/hallmark/site/css/base.css +0 -194
  137. package/templates/vite/.howone/skills/hallmark/site/css/components.css +0 -4886
  138. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +0 -2072
  139. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +0 -1129
  140. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +0 -475
  141. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +0 -1584
  142. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +0 -96
  143. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +0 -344
  144. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +0 -103
  145. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +0 -1103
  146. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +0 -83
  147. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +0 -368
  148. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +0 -133
  149. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +0 -1062
  150. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +0 -97
  151. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +0 -84
  152. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +0 -446
  153. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +0 -1087
  154. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +0 -101
  155. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +0 -359
  156. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +0 -1168
  157. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +0 -81
  158. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +0 -5
  159. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +0 -5
  160. package/templates/vite/.howone/skills/hallmark/site/index.html +0 -1043
  161. package/templates/vite/.howone/skills/hallmark/site/js/main.js +0 -1175
  162. package/templates/vite/.howone/skills/hallmark/vercel.json +0 -6
  163. package/templates/vite/.howone/skills/impeccable/SKILL.md +0 -168
  164. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +0 -101
  165. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +0 -190
  166. package/templates/vite/.howone/skills/impeccable/reference/animate.md +0 -175
  167. package/templates/vite/.howone/skills/impeccable/reference/audit.md +0 -133
  168. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +0 -113
  169. package/templates/vite/.howone/skills/impeccable/reference/brand.md +0 -118
  170. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +0 -174
  171. package/templates/vite/.howone/skills/impeccable/reference/codex.md +0 -105
  172. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +0 -106
  173. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +0 -105
  174. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +0 -154
  175. package/templates/vite/.howone/skills/impeccable/reference/craft.md +0 -123
  176. package/templates/vite/.howone/skills/impeccable/reference/critique.md +0 -273
  177. package/templates/vite/.howone/skills/impeccable/reference/delight.md +0 -302
  178. package/templates/vite/.howone/skills/impeccable/reference/distill.md +0 -111
  179. package/templates/vite/.howone/skills/impeccable/reference/document.md +0 -427
  180. package/templates/vite/.howone/skills/impeccable/reference/extract.md +0 -69
  181. package/templates/vite/.howone/skills/impeccable/reference/harden.md +0 -347
  182. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +0 -234
  183. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +0 -195
  184. package/templates/vite/.howone/skills/impeccable/reference/layout.md +0 -141
  185. package/templates/vite/.howone/skills/impeccable/reference/live.md +0 -622
  186. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +0 -109
  187. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +0 -234
  188. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +0 -258
  189. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +0 -130
  190. package/templates/vite/.howone/skills/impeccable/reference/personas.md +0 -179
  191. package/templates/vite/.howone/skills/impeccable/reference/polish.md +0 -242
  192. package/templates/vite/.howone/skills/impeccable/reference/product.md +0 -62
  193. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +0 -99
  194. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +0 -114
  195. package/templates/vite/.howone/skills/impeccable/reference/shape.md +0 -165
  196. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +0 -100
  197. package/templates/vite/.howone/skills/impeccable/reference/teach.md +0 -156
  198. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +0 -124
  199. package/templates/vite/.howone/skills/impeccable/reference/typography.md +0 -159
  200. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +0 -107
  201. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
  202. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +0 -94
  203. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +0 -242
  204. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +0 -820
  205. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +0 -198
  206. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +0 -21
  207. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +0 -110
  208. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +0 -69
  209. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +0 -595
  210. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +0 -123
  211. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +0 -4860
  212. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +0 -75
  213. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +0 -18
  214. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +0 -446
  215. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +0 -200
  216. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +0 -48
  217. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +0 -838
  218. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +0 -254
  219. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +0 -47
  220. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +0 -632
  221. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +0 -247
  222. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +0 -141
  223. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
  224. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +0 -214
@@ -1,288 +0,0 @@
1
- /* Hallmark · macrostructure: Index-First · F4 sidebar-toc knobs: width=12rem, sticky=true, numbered=00-04
2
- * theme: Plain · accent: deep-ink-blue ~2% (used as section-num + one rule)
3
- * enrichment: none (typography only — restraint is the credibility signal)
4
- * studied: no · context: skipped, inferred (personal / portfolio domain) · v0.6.0
5
- */
6
-
7
- :root {
8
- --color-paper: oklch(100% 0 0);
9
- --color-paper-2: oklch(98% 0.005 240);
10
- --color-rule: oklch(88% 0.006 240);
11
- --color-ink: oklch(18% 0.012 245);
12
- --color-ink-soft: oklch(48% 0.014 245);
13
- --color-ink-muted: oklch(70% 0.014 245);
14
- --color-accent: oklch(36% 0.18 248);
15
-
16
- --font-display: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
17
- --font-body: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
18
- --font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
19
-
20
- --space-3xs: 0.25rem;
21
- --space-2xs: 0.5rem;
22
- --space-xs: 0.75rem;
23
- --space-sm: 1rem;
24
- --space-md: 1.5rem;
25
- --space-lg: 2rem;
26
- --space-xl: 3rem;
27
- --space-2xl: 4.5rem;
28
- --space-3xl: 6.5rem;
29
-
30
- --measure-prose: 60ch;
31
-
32
- --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
33
- --dur-micro: 120ms;
34
- }
35
-
36
- * { box-sizing: border-box; }
37
- html, body { overflow-x: clip; }
38
-
39
- body {
40
- margin: 0;
41
- background: var(--color-paper);
42
- color: var(--color-ink);
43
- font-family: var(--font-body);
44
- font-size: 1rem;
45
- line-height: 1.55;
46
- -webkit-font-smoothing: antialiased;
47
- }
48
-
49
- .page {
50
- display: grid;
51
- grid-template-columns: 14rem 1fr;
52
- gap: var(--space-3xl);
53
- max-width: 76rem;
54
- margin: 0 auto;
55
- padding: var(--space-2xl) var(--space-lg) var(--space-3xl);
56
- }
57
-
58
- /* Sidebar TOC */
59
- .toc {
60
- position: sticky;
61
- top: var(--space-2xl);
62
- align-self: start;
63
- height: fit-content;
64
- }
65
-
66
- .toc__brand {
67
- font-family: var(--font-display);
68
- font-size: 0.875rem;
69
- letter-spacing: 0.06em;
70
- text-transform: uppercase;
71
- color: var(--color-ink);
72
- margin: 0 0 var(--space-3xs);
73
- }
74
-
75
- .toc__role {
76
- font-family: var(--font-mono);
77
- font-size: 0.75rem;
78
- letter-spacing: 0.04em;
79
- color: var(--color-ink-soft);
80
- margin: 0 0 var(--space-xl);
81
- display: block;
82
- }
83
-
84
- .toc__list {
85
- list-style: none;
86
- padding: 0;
87
- margin: 0 0 var(--space-xl);
88
- display: grid;
89
- gap: var(--space-2xs);
90
- border-block-start: 1px solid var(--color-rule);
91
- padding-block-start: var(--space-md);
92
- }
93
-
94
- .toc__list a {
95
- display: grid;
96
- grid-template-columns: 3.25ch 1fr;
97
- gap: var(--space-sm);
98
- font-family: var(--font-mono);
99
- font-size: 0.8125rem;
100
- letter-spacing: 0.02em;
101
- color: var(--color-ink-soft);
102
- text-decoration: none;
103
- padding: var(--space-3xs) 0;
104
- transition: color var(--dur-micro) var(--ease-out);
105
- }
106
-
107
- .toc__list a:hover, .toc__list a:focus-visible { color: var(--color-accent); }
108
- .toc__list a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
109
-
110
- .toc__list .num { color: var(--color-accent); }
111
-
112
- .toc__meta {
113
- font-family: var(--font-mono);
114
- font-size: 0.6875rem;
115
- letter-spacing: 0.04em;
116
- color: var(--color-ink-muted);
117
- border-block-start: 1px solid var(--color-rule);
118
- padding-block-start: var(--space-sm);
119
- display: grid;
120
- gap: var(--space-3xs);
121
- }
122
-
123
- /* Main content column */
124
- .main { min-width: 0; max-width: 56rem; }
125
-
126
- .section {
127
- margin-block-end: var(--space-3xl);
128
- scroll-margin-top: var(--space-2xl);
129
- }
130
-
131
- .section:first-of-type { margin-block-start: 0; }
132
-
133
- .section__num {
134
- font-family: var(--font-mono);
135
- font-size: 0.75rem;
136
- letter-spacing: 0.12em;
137
- text-transform: uppercase;
138
- color: var(--color-accent);
139
- margin: 0 0 var(--space-md);
140
- }
141
-
142
- .section__head {
143
- font-family: var(--font-display);
144
- font-size: clamp(2rem, 4vw, 3rem);
145
- font-weight: 600;
146
- line-height: 1.05;
147
- letter-spacing: -0.025em;
148
- margin: 0 0 var(--space-lg);
149
- color: var(--color-ink);
150
- }
151
-
152
- .section__head--lede { font-size: clamp(2.5rem, 5vw, 4rem); }
153
-
154
- .section__body {
155
- font-size: 1.0625rem;
156
- line-height: 1.6;
157
- color: var(--color-ink);
158
- max-width: var(--measure-prose);
159
- }
160
-
161
- .section__body p { margin: 0 0 var(--space-md); }
162
- .section__body p:last-child { margin-block-end: 0; }
163
- .section__body strong { color: var(--color-accent); font-weight: 500; }
164
-
165
- /* Tabular work history */
166
- .years {
167
- width: 100%;
168
- border-collapse: collapse;
169
- font-size: 0.9375rem;
170
- font-variant-numeric: tabular-nums;
171
- }
172
-
173
- .years thead th {
174
- text-align: start;
175
- padding: var(--space-2xs) var(--space-md) var(--space-2xs) 0;
176
- font-family: var(--font-mono);
177
- font-size: 0.75rem;
178
- letter-spacing: 0.06em;
179
- text-transform: uppercase;
180
- color: var(--color-ink-soft);
181
- font-weight: 400;
182
- border-block-end: 1px solid var(--color-rule);
183
- }
184
-
185
- .years tbody td {
186
- padding: var(--space-md) var(--space-md) var(--space-md) 0;
187
- border-block-end: 1px solid var(--color-rule);
188
- vertical-align: baseline;
189
- color: var(--color-ink);
190
- }
191
-
192
- .years td:first-child {
193
- font-family: var(--font-mono);
194
- color: var(--color-ink-soft);
195
- width: 12ch;
196
- }
197
-
198
- .years td:nth-child(2) {
199
- font-weight: 500;
200
- width: 18ch;
201
- }
202
-
203
- .years td:last-child { color: var(--color-ink-soft); }
204
-
205
- /* Writing list */
206
- .writing {
207
- list-style: none;
208
- padding: 0;
209
- margin: 0;
210
- display: grid;
211
- gap: var(--space-md);
212
- }
213
-
214
- .writing li {
215
- display: grid;
216
- grid-template-columns: 8ch 1fr;
217
- gap: var(--space-md);
218
- align-items: baseline;
219
- border-block-end: 1px solid var(--color-rule);
220
- padding-block-end: var(--space-md);
221
- }
222
-
223
- .writing li:last-child { border-block-end: none; padding-block-end: 0; }
224
-
225
- .writing__date {
226
- font-family: var(--font-mono);
227
- font-size: 0.8125rem;
228
- color: var(--color-ink-soft);
229
- font-variant-numeric: tabular-nums;
230
- }
231
-
232
- .writing a {
233
- color: var(--color-ink);
234
- text-decoration: none;
235
- border-block-end: 1px solid var(--color-rule);
236
- padding-block-end: 1px;
237
- transition: color var(--dur-micro) var(--ease-out),
238
- border-color var(--dur-micro) var(--ease-out);
239
- }
240
-
241
- .writing a:hover, .writing a:focus-visible {
242
- color: var(--color-accent);
243
- border-color: var(--color-accent);
244
- }
245
-
246
- .writing a:focus-visible {
247
- outline: 2px solid var(--color-accent);
248
- outline-offset: 4px;
249
- }
250
-
251
- .writing__sub {
252
- display: block;
253
- font-size: 0.875rem;
254
- color: var(--color-ink-soft);
255
- margin-block-start: var(--space-3xs);
256
- }
257
-
258
- /* Contact */
259
- .contact {
260
- display: grid;
261
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
262
- gap: var(--space-md);
263
- font-family: var(--font-mono);
264
- font-size: 0.875rem;
265
- }
266
-
267
- .contact__row {
268
- border: 1px solid var(--color-rule);
269
- padding: var(--space-md);
270
- display: grid;
271
- gap: var(--space-2xs);
272
- }
273
-
274
- .contact__label { color: var(--color-ink-soft); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
275
- .contact__value a { color: var(--color-ink); text-decoration: none; transition: color var(--dur-micro) var(--ease-out); }
276
- .contact__value a:hover, .contact__value a:focus-visible { color: var(--color-accent); }
277
- .contact__value a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
278
-
279
- @media (max-width: 64rem) {
280
- .page { grid-template-columns: 1fr; gap: var(--space-2xl); }
281
- .toc { position: static; border-block-end: 1px solid var(--color-rule); padding-block-end: var(--space-lg); }
282
- }
283
-
284
- @media (max-width: 40rem) {
285
- .page { padding: var(--space-xl) var(--space-md) var(--space-2xl); }
286
- .years td:first-child { width: 10ch; }
287
- .writing li { grid-template-columns: 1fr; }
288
- }
@@ -1,64 +0,0 @@
1
- # Test 07 v2 — Foundry (SOC2 / ISO27001 compliance)
2
-
3
- ## The prompt (verbatim, same as v1)
4
-
5
- > "Build a landing page for Foundry — SOC2 and ISO 27001 compliance automation for B2B SaaS. Show: how many companies got compliant, what it costs, who uses it. Audience: founders + CTOs. Tone: technical but trustworthy."
6
-
7
- ## Step 0 · Pre-flight
8
-
9
- > *"No pre-flight signals — proceeding with full Hallmark stack."*
10
-
11
- ## Step 1 · Design-context gate — fully answered
12
-
13
- Audience, use, tone all explicit.
14
-
15
- ## Step 2.5 · Project memory rotation
16
-
17
- > *"Previous run on this brief picked Stat-Led + Plain + none. Picking from {Bento Grid, Workbench, Marquee Hero} for the macro this time — Bento Grid wins because the brief says 'show how many · what it costs · who uses it' (three different signals; Bento is the macro built to carry multiple parallel proofs)."*
18
- >
19
- > *"Theme rotation: Plain (light · display-heavy · cool-deep-ink-blue) → Newsprint (light · roman-serif · warm-deep-red). Differs on display style and accent hue. Passes."*
20
-
21
- ## Step 3 · Visual ruleset loaded
22
-
23
- `macrostructures.md` (Bento Grid), `component-cookbook.md` (F1 bento knobs, big-stat tile, logo-grid tile, pricing-card tile, testimonial-card tile, FAQ teaser), `typography.md` (Newsprint pairing — Source Serif Pro display + Geist body), `color.md` (Newsprint palette — warm cream paper, warm-deep-red accent), `microinteractions.md` (default-on for SaaS — counter on stat tile, focus-visible on CTAs, hover-rule on tier card), `anti-patterns.md`.
24
-
25
- ## Step 4 · Hero enrichment
26
-
27
- > *"Enrichment: Tier-A pure-CSS logo wall (8 monochrome wordmarks set as `<svg>` text marks). No real customer logos (placeholder), no Lottie, no Midjourney. The Bento accommodates a logo grid as one tile rather than a separate section."*
28
-
29
- ## Step 5 · Preview
30
-
31
- ```markdown
32
- **Hallmark · v0.6.0**
33
-
34
- - **Macrostructure** · Bento Grid
35
- - **Theme** · Newsprint (warm-cream paper · Source Serif Pro display · warm-deep-red accent ~3%)
36
- - **Enrichment** · Tier-A pure-CSS logo grid (8 wordmark placeholders, mono)
37
- - **Sections** · Masthead · Hero (left-bias) · 6-tile Bento (stat · logos · pricing · testimonial · features · FAQ teaser) · CTA strip · Colophon
38
- - **Motion** · counter on hero stat · pulse-once on featured tier (2 primitives)
39
- - **Slop test** · 38 / 38 ✓
40
- - **Diversification** · differs from v1 (Stat-Led/Plain) on macrostructure + display style + accent hue
41
- ```
42
-
43
- ## Step 6 · Macrostructure stamp
44
-
45
- ```
46
- /* Hallmark · macrostructure: Bento Grid · F1 bento knobs: tiles=6, spans=irregular, accent=corner-only
47
- * theme: Newsprint · accent: warm-deep-red ~3% · enrichment: tier-A CSS logo grid (8 mono wordmarks)
48
- * studied: no · context: explicit · v0.6.0
49
- */
50
- ```
51
-
52
- ## What changed vs v1
53
-
54
- - **Macro:** Stat-Led → Bento Grid. v1 led with "847" sized at 22 rem and structured the rest as a 9-section linear SaaS page; v2 places the 847 inside a bento tile alongside five other parallel proofs (logos, pricing, testimonial, features, FAQ). Same data, different choreography.
55
- - **Theme:** Plain → Newsprint. v1's pure-white #fff with deep ink-blue becomes warm-cream with warm-deep-red. The page reads less Klim-Type-Foundry and more *NYT Cooking* — still trustworthy, less austere.
56
- - **Enrichment:** v1 had no enrichment (typography-only Stat-Led); v2 adds a Tier-A logo grid as one bento tile. Compliance pages need social proof, and a logo wall does that without a separate section.
57
- - **Section count:** v1 had 9 linear sections (logos · stats · features · testimonials · pricing · FAQ · CTA · footer); v2 collapses into 6 bento tiles + a CTA strip + a colophon.
58
-
59
- ## What stayed the same
60
-
61
- - Brand: Foundry, SOC2/ISO27001 automation.
62
- - The "847 companies" anchor stat.
63
- - Three-tier pricing.
64
- - Slop test: 38 / 38 ✓.
@@ -1,146 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <title>Foundry — SOC 2 &amp; ISO 27001 compliance for B2B SaaS</title>
7
- <meta name="description" content="847 companies passed audit using Foundry. Average time to compliant: thirty-one days." />
8
- <link rel="preconnect" href="https://fonts.googleapis.com" />
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
- <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400&family=Geist:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" />
11
- <link rel="stylesheet" href="style.css" />
12
- </head>
13
- <body>
14
- <main class="page">
15
- <header class="masthead">
16
- <span>est. 2024 · Lisbon &amp; New York</span>
17
- <span class="masthead__brand">Foundry<span class="dot">.</span></span>
18
- <nav class="masthead__nav">
19
- <a href="#bento">Proof</a>
20
- <a href="#bento">Pricing</a>
21
- <a href="#">Docs</a>
22
- <a href="#">Sign in</a>
23
- </nav>
24
- </header>
25
-
26
- <section class="hero">
27
- <div class="hero__copy">
28
- <p class="hero__eyebrow">SOC 2 · ISO 27001 · automated</p>
29
- <h1 class="hero__head">Compliance, ground out in <em>days</em>, not in months.</h1>
30
- <p class="hero__sub">
31
- Foundry runs the controls, the evidence collection, and the audit timeline for B2B SaaS
32
- teams that don't have a security org yet. Founders open accounts on Tuesdays and pass audit
33
- by month-end. The proof is below.
34
- </p>
35
- <div class="hero__cta">
36
- <a class="btn btn--primary" href="#">14-day trial <span aria-hidden="true">→</span></a>
37
- <a class="btn" href="#">Talk to sales</a>
38
- </div>
39
- </div>
40
- <aside class="hero__pull">
41
- <p class="hero__pull-quote">
42
- "We passed Type II in seven weeks with one engineer halftime. The auditor accepted ninety
43
- per cent of the evidence Foundry assembled with no edits."
44
- </p>
45
- <p class="hero__pull-attr">— Matt H., CTO at Tracejam · 18-person team</p>
46
- </aside>
47
- </section>
48
-
49
- <section class="bento" id="bento">
50
- <article class="tile tile--stat" aria-labelledby="stat-h">
51
- <span class="tile__corner" aria-hidden="true"></span>
52
- <p class="tile__label" id="stat-h">Companies audited</p>
53
- <p class="tile__stat">847<span class="tile__stat-dot">.</span></p>
54
- <p class="tile__stat-cap">
55
- companies passed audit using Foundry. Average time to compliant: thirty-one days, against
56
- an industry average of nine months.
57
- </p>
58
- </article>
59
-
60
- <article class="tile tile--logos" aria-labelledby="logos-h">
61
- <p class="tile__label" id="logos-h">In production at</p>
62
- <p class="tile__body">Eight wordmarks. Logos shown with consent. Full customer list in the trust report.</p>
63
- <ul class="logos" role="list">
64
- <li class="logos__item">Tracejam<span class="dot">.</span></li>
65
- <li class="logos__item">Maple <span class="dot">·</span></li>
66
- <li class="logos__item">Knot</li>
67
- <li class="logos__item">Tide<span class="dot">/</span></li>
68
- <li class="logos__item">Streampipe</li>
69
- <li class="logos__item">Cohort</li>
70
- <li class="logos__item">Meridian</li>
71
- <li class="logos__item">Anya<span class="dot">.</span>dev</li>
72
- </ul>
73
- </article>
74
-
75
- <article class="tile tile--pricing" aria-labelledby="price-h">
76
- <p class="tile__label" id="price-h">Three plans, one price each</p>
77
- <div class="tiers">
78
- <div class="tier-card">
79
- <p class="tier-card__name">Starter</p>
80
- <p class="tier-card__price">$299 <span class="tier-card__per">/ mo</span></p>
81
- </div>
82
- <div class="tier-card tier-card--feature">
83
- <p class="tier-card__name">Team</p>
84
- <p class="tier-card__price">$899 <span class="tier-card__per">/ mo</span></p>
85
- </div>
86
- <div class="tier-card">
87
- <p class="tier-card__name">Scale</p>
88
- <p class="tier-card__price">Custom</p>
89
- </div>
90
- </div>
91
- <p class="tile__body" style="margin-top: var(--space-sm);">
92
- Audit fee included. No per-seat. No annual lock. Cancel any month.
93
- </p>
94
- </article>
95
-
96
- <article class="tile tile--testimonial">
97
- <p class="tile__label">From a customer</p>
98
- <p class="tile__quote">
99
- "We told the auditor 'use Foundry, the evidence is in there.' She did. The audit closed
100
- on schedule. That has never happened to me before."
101
- </p>
102
- <p class="tile__attr">— <strong>Sara V.</strong>, founder, 9-person fintech</p>
103
- </article>
104
-
105
- <article class="tile tile--features">
106
- <p class="tile__label">What's automated</p>
107
- <h3 class="tile__head">Eighty-six controls, evidenced on a schedule.</h3>
108
- <ul class="feat-list">
109
- <li><span class="num">01.</span><span>Access reviews quarterly. Slack-prompted. One-click sign-off.</span></li>
110
- <li><span class="num">02.</span><span>Vulnerability scans on every deploy. Severity-routed.</span></li>
111
- <li><span class="num">03.</span><span>Vendor security review with one-page risk memo per vendor.</span></li>
112
- <li><span class="num">04.</span><span>Incident response playbook with on-call rotation prefilled.</span></li>
113
- <li><span class="num">05.</span><span>Code review evidence pulled from GitHub, GitLab, Bitbucket.</span></li>
114
- <li><span class="num">06.</span><span>Backups verified weekly. Restore tested monthly.</span></li>
115
- </ul>
116
- </article>
117
-
118
- <article class="tile tile--faq">
119
- <p class="tile__label">FAQ</p>
120
- <h3 class="tile__head">The eight questions everyone asks first.</h3>
121
- <ul class="faq-list">
122
- <li><a href="#">Do we need to switch auditor?</a></li>
123
- <li><a href="#">How long does Type I take?</a></li>
124
- <li><a href="#">Can we add ISO 27001 later?</a></li>
125
- <li><a href="#">Does Foundry produce the policies?</a></li>
126
- <li><a href="#">What about HIPAA, GDPR?</a></li>
127
- <li><a href="#">Do you offer a trust portal?</a></li>
128
- </ul>
129
- </article>
130
- </section>
131
-
132
- <section class="cta-strip">
133
- <h2 class="cta-strip__head">Start the trial. <em>Cancel before the first invoice if it's not ready.</em></h2>
134
- <div class="cta-strip__cta">
135
- <a class="btn btn--primary" href="#">Open an account</a>
136
- <a class="btn" href="#">Book a demo</a>
137
- </div>
138
- </section>
139
-
140
- <footer class="colophon">
141
- <span>Foundry · SOC 2 Type II · ISO 27001 · GDPR (DPA available on request)</span>
142
- <span><a href="#">trust report</a> · <a href="#">docs</a> · <a href="#">status</a> · <a href="#">contact</a></span>
143
- </footer>
144
- </main>
145
- </body>
146
- </html>