howone 0.1.19 → 0.1.22

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 (293) hide show
  1. package/package.json +1 -1
  2. package/templates/vite/.howone/skills/hallmark/LICENSE +21 -0
  3. package/templates/vite/.howone/skills/hallmark/README.md +147 -0
  4. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +201 -0
  5. package/templates/vite/.howone/skills/hallmark/SKILL.md +551 -0
  6. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +186 -0
  7. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  8. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  9. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  10. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  11. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  12. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  13. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  14. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  15. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +176 -0
  16. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +364 -0
  17. package/templates/vite/.howone/skills/hallmark/package.json +36 -0
  18. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +412 -0
  19. package/templates/vite/.howone/skills/hallmark/references/assets.md +399 -0
  20. package/templates/vite/.howone/skills/hallmark/references/color.md +95 -0
  21. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +256 -0
  22. package/templates/vite/.howone/skills/hallmark/references/components/c1-outlined-chip.md +12 -0
  23. package/templates/vite/.howone/skills/hallmark/references/components/c2-inline-form-as-cta.md +16 -0
  24. package/templates/vite/.howone/skills/hallmark/references/components/c3-typographic-link.md +8 -0
  25. package/templates/vite/.howone/skills/hallmark/references/components/c4-sticky-bottom-bar.md +16 -0
  26. package/templates/vite/.howone/skills/hallmark/references/components/f1-bento-grid.md +20 -0
  27. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +20 -0
  28. package/templates/vite/.howone/skills/hallmark/references/components/f3-tabular-spec-sheet.md +11 -0
  29. package/templates/vite/.howone/skills/hallmark/references/components/f4-step-sequence.md +11 -0
  30. package/templates/vite/.howone/skills/hallmark/references/components/f5-annotated-screenshot.md +11 -0
  31. package/templates/vite/.howone/skills/hallmark/references/components/f6-product-card-grid.md +41 -0
  32. package/templates/vite/.howone/skills/hallmark/references/components/ft1-mast-headed.md +13 -0
  33. package/templates/vite/.howone/skills/hallmark/references/components/ft2-inline-rule-single-line.md +10 -0
  34. package/templates/vite/.howone/skills/hallmark/references/components/ft3-index-style-category-list.md +12 -0
  35. package/templates/vite/.howone/skills/hallmark/references/components/ft4-dense-typographic.md +10 -0
  36. package/templates/vite/.howone/skills/hallmark/references/components/ft5-statement.md +21 -0
  37. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +19 -0
  38. package/templates/vite/.howone/skills/hallmark/references/components/ft7-newsletter-first.md +27 -0
  39. package/templates/vite/.howone/skills/hallmark/references/components/ft8-marquee-scroll.md +25 -0
  40. package/templates/vite/.howone/skills/hallmark/references/components/h1-marquee.md +15 -0
  41. package/templates/vite/.howone/skills/hallmark/references/components/h2-split-diptych.md +15 -0
  42. package/templates/vite/.howone/skills/hallmark/references/components/h3-quote-led.md +11 -0
  43. package/templates/vite/.howone/skills/hallmark/references/components/h4-stat-led.md +14 -0
  44. package/templates/vite/.howone/skills/hallmark/references/components/h5-letter-hero.md +11 -0
  45. package/templates/vite/.howone/skills/hallmark/references/components/h6-photographic-fold.md +16 -0
  46. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +27 -0
  47. package/templates/vite/.howone/skills/hallmark/references/components/h8-mockup-split-browser-framed.md +23 -0
  48. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +27 -0
  49. package/templates/vite/.howone/skills/hallmark/references/components/n1-wordmark-2-links.md +12 -0
  50. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +19 -0
  51. package/templates/vite/.howone/skills/hallmark/references/components/n2-floating-chip.md +14 -0
  52. package/templates/vite/.howone/skills/hallmark/references/components/n3-side-rail.md +14 -0
  53. package/templates/vite/.howone/skills/hallmark/references/components/n4-hidden-behind-k.md +9 -0
  54. package/templates/vite/.howone/skills/hallmark/references/components/n5-floating-pill.md +28 -0
  55. package/templates/vite/.howone/skills/hallmark/references/components/n6-newspaper-masthead.md +24 -0
  56. package/templates/vite/.howone/skills/hallmark/references/components/n7-brutal-slab.md +22 -0
  57. package/templates/vite/.howone/skills/hallmark/references/components/n8-terminal-command.md +21 -0
  58. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +17 -0
  59. package/templates/vite/.howone/skills/hallmark/references/components/s1-left-margin-numbered.md +15 -0
  60. package/templates/vite/.howone/skills/hallmark/references/components/s2-hanging.md +13 -0
  61. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +19 -0
  62. package/templates/vite/.howone/skills/hallmark/references/components/s4-inline-no-break.md +11 -0
  63. package/templates/vite/.howone/skills/hallmark/references/components/s5-bottom-anchored.md +13 -0
  64. package/templates/vite/.howone/skills/hallmark/references/components/t1-pull-quote-with-marginalia.md +12 -0
  65. package/templates/vite/.howone/skills/hallmark/references/components/t2-logo-wall-hairline.md +19 -0
  66. package/templates/vite/.howone/skills/hallmark/references/components/t3-single-huge-quote.md +11 -0
  67. package/templates/vite/.howone/skills/hallmark/references/components/t4-numbered-stat-strip.md +14 -0
  68. package/templates/vite/.howone/skills/hallmark/references/contract.md +24 -0
  69. package/templates/vite/.howone/skills/hallmark/references/copy.md +182 -0
  70. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +626 -0
  71. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +329 -0
  72. package/templates/vite/.howone/skills/hallmark/references/design-md.md +116 -0
  73. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +328 -0
  74. package/templates/vite/.howone/skills/hallmark/references/floating-nav.md +89 -0
  75. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +65 -0
  76. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +70 -0
  77. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +67 -0
  78. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +65 -0
  79. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +474 -0
  80. package/templates/vite/.howone/skills/hallmark/references/imagery-kit.md +170 -0
  81. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +207 -0
  82. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +111 -0
  83. package/templates/vite/.howone/skills/hallmark/references/macrostructures/01-bento-grid.md +35 -0
  84. package/templates/vite/.howone/skills/hallmark/references/macrostructures/02-long-document.md +34 -0
  85. package/templates/vite/.howone/skills/hallmark/references/macrostructures/03-marquee-hero.md +31 -0
  86. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +32 -0
  87. package/templates/vite/.howone/skills/hallmark/references/macrostructures/05-workbench.md +32 -0
  88. package/templates/vite/.howone/skills/hallmark/references/macrostructures/06-conversational-faq.md +33 -0
  89. package/templates/vite/.howone/skills/hallmark/references/macrostructures/07-manifesto.md +32 -0
  90. package/templates/vite/.howone/skills/hallmark/references/macrostructures/08-photographic.md +34 -0
  91. package/templates/vite/.howone/skills/hallmark/references/macrostructures/09-quote-led.md +32 -0
  92. package/templates/vite/.howone/skills/hallmark/references/macrostructures/10-specimen.md +32 -0
  93. package/templates/vite/.howone/skills/hallmark/references/macrostructures/11-catalogue.md +23 -0
  94. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +23 -0
  95. package/templates/vite/.howone/skills/hallmark/references/macrostructures/13-index-first.md +23 -0
  96. package/templates/vite/.howone/skills/hallmark/references/macrostructures/14-narrative-workflow.md +23 -0
  97. package/templates/vite/.howone/skills/hallmark/references/macrostructures/15-split-studio.md +23 -0
  98. package/templates/vite/.howone/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -0
  99. package/templates/vite/.howone/skills/hallmark/references/macrostructures/17-type-specimen.md +23 -0
  100. package/templates/vite/.howone/skills/hallmark/references/macrostructures/18-portfolio-grid.md +23 -0
  101. package/templates/vite/.howone/skills/hallmark/references/macrostructures/19-map-diagram.md +23 -0
  102. package/templates/vite/.howone/skills/hallmark/references/macrostructures/20-ecosystem-index.md +23 -0
  103. package/templates/vite/.howone/skills/hallmark/references/macrostructures/21-component-playground.md +23 -0
  104. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +89 -0
  105. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +260 -0
  106. package/templates/vite/.howone/skills/hallmark/references/motion.md +109 -0
  107. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +49 -0
  108. package/templates/vite/.howone/skills/hallmark/references/responsive.md +138 -0
  109. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +205 -0
  110. package/templates/vite/.howone/skills/hallmark/references/structure.md +164 -0
  111. package/templates/vite/.howone/skills/hallmark/references/study.md +486 -0
  112. package/templates/vite/.howone/skills/hallmark/references/typography.md +243 -0
  113. package/templates/vite/.howone/skills/hallmark/references/verbs/audit.md +25 -0
  114. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +269 -0
  115. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  116. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +71 -0
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +64 -0
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +240 -0
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +65 -0
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +105 -0
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +250 -0
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +64 -0
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +131 -0
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +240 -0
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +67 -0
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +86 -0
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +262 -0
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +63 -0
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +167 -0
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +457 -0
  131. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +65 -0
  132. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +159 -0
  133. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +288 -0
  134. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +64 -0
  135. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +146 -0
  136. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +484 -0
  137. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +64 -0
  138. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +116 -0
  139. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +354 -0
  140. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +638 -0
  141. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +515 -0
  142. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +515 -0
  143. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +608 -0
  144. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +587 -0
  145. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +157 -0
  146. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  147. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  148. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  149. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  150. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  151. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  152. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  153. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  154. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  155. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  156. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  157. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  158. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  159. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  160. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  161. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  162. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  163. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  164. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  165. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  166. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  167. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  168. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  169. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +77 -0
  170. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +238 -0
  171. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +110 -0
  172. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +326 -0
  173. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +134 -0
  174. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +262 -0
  175. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +30 -0
  176. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +17 -0
  177. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +56 -0
  178. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +160 -0
  179. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +29 -0
  180. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +63 -0
  181. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +72 -0
  182. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +374 -0
  183. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +52 -0
  184. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +29 -0
  185. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +61 -0
  186. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +193 -0
  187. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +66 -0
  188. package/templates/vite/.howone/skills/hallmark/site/css/base.css +194 -0
  189. package/templates/vite/.howone/skills/hallmark/site/css/components.css +4886 -0
  190. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +2072 -0
  191. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +1129 -0
  192. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +475 -0
  193. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +1584 -0
  194. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +96 -0
  195. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +344 -0
  196. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +103 -0
  197. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +1103 -0
  198. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +83 -0
  199. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +368 -0
  200. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +133 -0
  201. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +1062 -0
  202. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +97 -0
  203. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +84 -0
  204. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +446 -0
  205. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +1087 -0
  206. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +101 -0
  207. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +359 -0
  208. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +1168 -0
  209. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +81 -0
  210. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +5 -0
  211. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +5 -0
  212. package/templates/vite/.howone/skills/hallmark/site/index.html +1043 -0
  213. package/templates/vite/.howone/skills/hallmark/site/js/main.js +1175 -0
  214. package/templates/vite/.howone/skills/hallmark/vercel.json +6 -0
  215. package/templates/vite/.howone/skills/howone-sdk/01-architect/01-app-generation.md +101 -0
  216. package/templates/vite/.howone/skills/howone-sdk/02-database/01-schema-design.md +147 -0
  217. package/templates/vite/.howone/skills/howone-sdk/02-database/02-schema-operations.md +96 -0
  218. package/templates/vite/.howone/skills/howone-sdk/02-database/03-data-access-patterns.md +172 -0
  219. package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/01-client-setup.md +3 -3
  220. package/templates/vite/.howone/skills/howone-sdk/{references/04-auth.md → 03-sdk/03-auth.md} +120 -3
  221. package/templates/vite/.howone/skills/howone-sdk/04-ai/.gitkeep +1 -0
  222. package/templates/vite/.howone/skills/howone-sdk/SKILL.md +67 -93
  223. package/templates/vite/.howone/skills/howone-sdk/agents/openai.yaml +3 -3
  224. package/templates/vite/.howone/skills/impeccable/SKILL.md +168 -0
  225. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
  226. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +190 -0
  227. package/templates/vite/.howone/skills/impeccable/reference/animate.md +175 -0
  228. package/templates/vite/.howone/skills/impeccable/reference/audit.md +133 -0
  229. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +113 -0
  230. package/templates/vite/.howone/skills/impeccable/reference/brand.md +118 -0
  231. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +174 -0
  232. package/templates/vite/.howone/skills/impeccable/reference/codex.md +105 -0
  233. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +106 -0
  234. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +105 -0
  235. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +154 -0
  236. package/templates/vite/.howone/skills/impeccable/reference/craft.md +123 -0
  237. package/templates/vite/.howone/skills/impeccable/reference/critique.md +273 -0
  238. package/templates/vite/.howone/skills/impeccable/reference/delight.md +302 -0
  239. package/templates/vite/.howone/skills/impeccable/reference/distill.md +111 -0
  240. package/templates/vite/.howone/skills/impeccable/reference/document.md +427 -0
  241. package/templates/vite/.howone/skills/impeccable/reference/extract.md +69 -0
  242. package/templates/vite/.howone/skills/impeccable/reference/harden.md +347 -0
  243. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +234 -0
  244. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +195 -0
  245. package/templates/vite/.howone/skills/impeccable/reference/layout.md +141 -0
  246. package/templates/vite/.howone/skills/impeccable/reference/live.md +622 -0
  247. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +109 -0
  248. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +234 -0
  249. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +258 -0
  250. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +130 -0
  251. package/templates/vite/.howone/skills/impeccable/reference/personas.md +179 -0
  252. package/templates/vite/.howone/skills/impeccable/reference/polish.md +242 -0
  253. package/templates/vite/.howone/skills/impeccable/reference/product.md +62 -0
  254. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +99 -0
  255. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +114 -0
  256. package/templates/vite/.howone/skills/impeccable/reference/shape.md +165 -0
  257. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +100 -0
  258. package/templates/vite/.howone/skills/impeccable/reference/teach.md +156 -0
  259. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +124 -0
  260. package/templates/vite/.howone/skills/impeccable/reference/typography.md +159 -0
  261. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +107 -0
  262. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  263. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +94 -0
  264. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +242 -0
  265. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +820 -0
  266. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +198 -0
  267. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +21 -0
  268. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  269. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +69 -0
  270. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +595 -0
  271. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +123 -0
  272. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +4860 -0
  273. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +75 -0
  274. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +18 -0
  275. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +446 -0
  276. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +200 -0
  277. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +48 -0
  278. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +838 -0
  279. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +254 -0
  280. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +47 -0
  281. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +632 -0
  282. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +247 -0
  283. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +141 -0
  284. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  285. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +214 -0
  286. package/templates/vite/AGENTS.md +2 -3
  287. package/templates/vite/package.json +1 -1
  288. /package/templates/vite/.howone/skills/howone-sdk/{references/08-manifest-codegen.md → 01-architect/02-manifest-codegen.md} +0 -0
  289. /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/02-entity-operations.md +0 -0
  290. /package/templates/vite/.howone/skills/howone-sdk/{references/06-react-integration.md → 03-sdk/04-react-integration.md} +0 -0
  291. /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/05-file-upload.md +0 -0
  292. /package/templates/vite/.howone/skills/howone-sdk/{references/07-raw-http.md → 03-sdk/06-raw-http.md} +0 -0
  293. /package/templates/vite/.howone/skills/howone-sdk/{references/03-ai-actions.md → 03-sdk/07-ai-action-calls.md} +0 -0
@@ -0,0 +1,96 @@
1
+ /* Hallmark · tokens · genre: atmospheric · theme: Bloom (dark)
2
+ * Paper band: dark · Display style: italic-serif (Fraunces) · Accent hue: warm amber-bloom 75°
3
+ */
4
+
5
+ :root {
6
+ color-scheme: dark;
7
+
8
+ /* — Type ----------------------------------------------------------- */
9
+ --font-display: "Fraunces", "Iowan Old Style", "Apple Garamond", Georgia, serif;
10
+ --font-body: "Geist", ui-sans-serif, system-ui, sans-serif;
11
+ --font-outlier: "Geist Mono", ui-monospace, "SFMono-Regular", monospace;
12
+
13
+ /* — Type scale (1.25 ratio · base 16px) ---------------------------- */
14
+ --text-xs: 0.75rem;
15
+ --text-sm: 0.875rem;
16
+ --text-base: 1rem;
17
+ --text-md: 1.125rem;
18
+ --text-lg: 1.375rem;
19
+ --text-xl: 1.75rem;
20
+ --text-2xl: 2.25rem;
21
+ --text-3xl: 3rem;
22
+ --text-4xl: 4rem;
23
+ --text-display: clamp(3rem, 8vw + 0.5rem, 8.5rem);
24
+ --text-marquee: clamp(2.5rem, 7vw, 6.5rem);
25
+ --text-figure: clamp(4rem, 12vw + 0.5rem, 11rem);
26
+
27
+ /* — Colour (OKLCH; midnight-violet paper · amber-bloom accent) ----- */
28
+ --color-paper: oklch(10.0% 0.018 285); /* deep midnight violet */
29
+ --color-paper-2: oklch(13.5% 0.020 285);
30
+ --color-paper-3: oklch(17.5% 0.024 285);
31
+ --color-paper-tint: oklch(22.0% 0.028 285);
32
+ --color-rule: oklch(24.0% 0.020 285);
33
+ --color-rule-2: oklch(32.0% 0.022 285);
34
+
35
+ --color-ink: oklch(98.0% 0.010 80); /* warm bone */
36
+ --color-ink-2: oklch(80.0% 0.012 80);
37
+ --color-muted: oklch(60.0% 0.014 80);
38
+ --color-muted-2: oklch(48.0% 0.014 75);
39
+
40
+ --color-accent: oklch(80.0% 0.180 75); /* amber bloom */
41
+ --color-accent-2: oklch(86.0% 0.140 80); /* lighter bloom */
42
+ --color-accent-deep: oklch(62.0% 0.180 50); /* deep ember */
43
+ --color-accent-cool: oklch(70.0% 0.150 250); /* studio cyan, single-use */
44
+
45
+ --color-glow: oklch(78% 0.20 70 / 0.30);
46
+ --color-glow-soft: oklch(80% 0.18 75 / 0.18);
47
+
48
+ --color-focus: oklch(82% 0.180 75);
49
+
50
+ /* — Spacing (4 pt scale, role-named) ------------------------------- */
51
+ --space-3xs: 0.125rem;
52
+ --space-2xs: 0.25rem;
53
+ --space-xs: 0.5rem;
54
+ --space-sm: 0.75rem;
55
+ --space-md: 1rem;
56
+ --space-lg: 1.5rem;
57
+ --space-xl: 2.5rem;
58
+ --space-2xl: 4rem;
59
+ --space-3xl: 6rem;
60
+ --space-4xl: 9rem;
61
+
62
+ /* — Rules + radii -------------------------------------------------- */
63
+ --rule-hair: 1px;
64
+ --rule-thick: 2px;
65
+ --radius-sm: 6px;
66
+ --radius-md: 12px;
67
+ --radius-lg: 18px;
68
+ --radius-xl: 28px;
69
+ --radius-pill: 999px;
70
+
71
+ /* — Motion --------------------------------------------------------- */
72
+ --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
73
+ --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
74
+ --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
75
+
76
+ --dur-micro: 120ms;
77
+ --dur-short: 240ms;
78
+ --dur-mid: 520ms;
79
+ --dur-long: 760ms;
80
+ --dur-marquee: 48s;
81
+ --dur-breath: 6.5s;
82
+ --dur-aperture: 9s;
83
+
84
+ /* — z-index (six-level scale) -------------------------------------- */
85
+ --z-base: 1;
86
+ --z-raised: 10;
87
+ --z-dropdown: 100;
88
+ --z-sticky: 200;
89
+ --z-modal: 400;
90
+ --z-toast: 500;
91
+ --z-tooltip: 600;
92
+
93
+ /* — Page layout ---------------------------------------------------- */
94
+ --page-gutter: clamp(1.25rem, 4vw, 4rem);
95
+ --page-max: 78rem;
96
+ }
@@ -0,0 +1,344 @@
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, viewport-fit=cover" />
6
+ <title>Hyperlane / 26 — A one-night developer summit · Brooklyn · Oct 17, 2026</title>
7
+ <meta name="description" content="Twelve hours. Eight talks. Four live product launches. Brooklyn, October 17, 2026. Public list opens September 9." />
8
+ <meta name="theme-color" content="#1a120c" />
9
+
10
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
11
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
12
+ <link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;700;800;900&family=Inter:wght@400;500;600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
13
+
14
+ <link rel="stylesheet" href="tokens.css" />
15
+ <link rel="stylesheet" href="styles.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <!-- ambient blooms (atmospheric backdrop) -->
20
+ <div class="ambient" aria-hidden="true">
21
+ <div class="bloom bloom--1"></div>
22
+ <div class="bloom bloom--2"></div>
23
+ <div class="grain"></div>
24
+ </div>
25
+
26
+ <!-- skip link for keyboard users -->
27
+ <a class="skip" href="#main">Skip to content</a>
28
+
29
+ <!-- ─── nav · N5 floating pill ────────────────────────────── -->
30
+ <header class="nav" data-state="rest">
31
+ <div class="nav__inner">
32
+ <a class="nav__brand" href="#top" aria-label="Hyperlane 2026 · home">
33
+ <span class="nav__brand-dot" aria-hidden="true"></span>
34
+ <span class="nav__brand-text">Hyperlane<span class="nav__brand-num">/26</span></span>
35
+ </a>
36
+ <nav class="nav__links" aria-label="Primary">
37
+ <a href="#format">Format</a>
38
+ <a href="#why">Why</a>
39
+ <a href="#program">Programme</a>
40
+ <a href="#faq">FAQ</a>
41
+ </nav>
42
+ <a class="nav__cta" href="#rsvp">
43
+ <span>Join the list</span>
44
+ <span class="nav__cta-arrow" aria-hidden="true">→</span>
45
+ </a>
46
+ </div>
47
+ </header>
48
+
49
+ <main id="main">
50
+
51
+ <!-- ─── hero · Marquee Hero + HP3 cursor-spotlight ──────── -->
52
+ <section class="hero" id="top" aria-labelledby="hero-h">
53
+ <div class="hero__spotlight" aria-hidden="true"></div>
54
+
55
+ <div class="hero__rail">
56
+ <span class="hero__rail-dot" aria-hidden="true"></span>
57
+ <span>HYPERLANE / 26 — a developer summit · public list opens 09 Sep</span>
58
+ </div>
59
+
60
+ <h1 class="hero__display" id="hero-h">
61
+ <span class="hero__line">For engineers</span>
62
+ <span class="hero__line">who ship</span>
63
+ <span class="hero__line"><em>after dark.</em></span>
64
+ </h1>
65
+
66
+ <div class="hero__meta">
67
+ <div class="hero__meta-cell">
68
+ <span class="hero__label">When</span>
69
+ <span class="hero__value">Sat 17 Oct 2026 · 7 PM</span>
70
+ </div>
71
+ <div class="hero__meta-cell hero__meta-cell--mid">
72
+ <span class="hero__label">To liftoff</span>
73
+ <span class="hero__value tnum" id="countdown" data-target="2026-10-17T19:00:00-04:00">— —</span>
74
+ </div>
75
+ <div class="hero__meta-cell hero__meta-cell--end">
76
+ <span class="hero__label">Where</span>
77
+ <span class="hero__value">Brooklyn · 480 cap</span>
78
+ </div>
79
+ </div>
80
+ </section>
81
+
82
+ <!-- ─── format band · spec sheet ────────────────────────── -->
83
+ <section class="format" id="format" aria-labelledby="format-h">
84
+ <header class="section-head">
85
+ <p class="section-eyebrow"><span class="num tnum">01</span> · Format</p>
86
+ <h2 class="section-h" id="format-h">A single night, end to end.</h2>
87
+ </header>
88
+
89
+ <ol class="format__schedule" aria-label="Schedule">
90
+ <li class="format__row">
91
+ <span class="format__time tnum">7:00 <small>PM</small></span>
92
+ <span class="format__label">Doors</span>
93
+ <span class="format__note">soft open · drinks · introductions in the foyer</span>
94
+ </li>
95
+ <li class="format__row">
96
+ <span class="format__time tnum">8:30 <small>PM</small></span>
97
+ <span class="format__label">Programme</span>
98
+ <span class="format__note">eight talks · four live launches · running until 1 AM</span>
99
+ </li>
100
+ <li class="format__row">
101
+ <span class="format__time tnum">11:00 <small>PM</small></span>
102
+ <span class="format__label">Workshop</span>
103
+ <span class="format__note">a hands-on session in the side room · 40 seats only</span>
104
+ </li>
105
+ <li class="format__row">
106
+ <span class="format__time tnum">1:00 <small>AM</small></span>
107
+ <span class="format__label">Late</span>
108
+ <span class="format__note">closing DJ · open until four · room is yours</span>
109
+ </li>
110
+ <li class="format__row format__row--reveal">
111
+ <span class="format__time tnum">— —</span>
112
+ <span class="format__label">Address</span>
113
+ <span class="format__note">released 48 hours before to ticketed guests · Williamsburg waterfront</span>
114
+ </li>
115
+ </ol>
116
+
117
+ <div class="format__cta">
118
+ <a class="cta cta--primary cta--lg" href="#rsvp">
119
+ <span>Save your spot</span>
120
+ <span aria-hidden="true">→</span>
121
+ </a>
122
+ <p class="format__cta-note tnum">— Wave 01 of 3 · 480 cap · public list opens 09 Sep 2026</p>
123
+ </div>
124
+ </section>
125
+
126
+ <!-- ─── why · pitch ────────────────────────────────────── -->
127
+ <section class="why" id="why" aria-labelledby="why-h">
128
+ <header class="section-head">
129
+ <p class="section-eyebrow"><span class="num tnum">02</span> · Why</p>
130
+ <h2 class="section-h" id="why-h">A room for the people still building things at 2 AM.</h2>
131
+ </header>
132
+
133
+ <div class="why__body">
134
+ <p class="why__lead">
135
+ Twelve hours. Eight talks. Four live launches. Four hundred and eighty engineers, designers, founders, infra people, ML people, the frontend people who keep telling you the framework isn't done yet. Show up at seven. Leave when the sun does.
136
+ </p>
137
+ <p>
138
+ The conference circuit is fine. But the launches that matter — the new database, the new compiler, the next thing you'll be writing against in March — those don't happen on big stages. They happen in small rooms, late, when the ten people who actually shipped the thing are still around to answer questions.
139
+ </p>
140
+ <p>
141
+ Hyperlane is a room for that. <em>No badges. No pitches. No panels.</em> Talks short enough to remember (twelve to eighteen minutes). Live demos you can interrupt. Closing DJ.
142
+ </p>
143
+ <p class="why__signoff">— Brooklyn. October. The list opens in September.</p>
144
+ </div>
145
+ </section>
146
+
147
+ <!-- ─── programme grid · Wave 01 ───────────────────────── -->
148
+ <section class="program" id="program" aria-labelledby="program-h">
149
+ <header class="section-head">
150
+ <p class="section-eyebrow"><span class="num tnum">03</span> · Programme · Wave 01</p>
151
+ <h2 class="section-h" id="program-h">Six of twelve slots announced.</h2>
152
+ <p class="section-note">Wave 02 reveals 09 Sep · final programme 30 Sep · launches stay sealed until the night.</p>
153
+ </header>
154
+
155
+ <ul class="program__grid">
156
+ <li class="card card--keynote">
157
+ <p class="card__time tnum">8:30 PM</p>
158
+ <p class="card__type">Opening keynote</p>
159
+ <h3 class="card__h">A short talk on shipping under constraint.</h3>
160
+ <p class="card__sub">Twelve minutes. From an engineer who's released compilers to production for the last decade.</p>
161
+ <p class="card__name">— announced soon</p>
162
+ </li>
163
+
164
+ <li class="card card--launch">
165
+ <p class="card__time tnum">9:00 PM</p>
166
+ <p class="card__type">Live launch · 01</p>
167
+ <h3 class="card__h">A new way to ship developer tools.</h3>
168
+ <p class="card__sub">First public demo. Press embargo lifts at the door.</p>
169
+ <p class="card__name">— sealed until the night</p>
170
+ </li>
171
+
172
+ <li class="card card--talk">
173
+ <p class="card__time tnum">9:45 PM</p>
174
+ <p class="card__type">Talk</p>
175
+ <h3 class="card__h">Live coding · forty-five minutes · no slides.</h3>
176
+ <p class="card__sub">A working session, in front of the room, on a real production codebase.</p>
177
+ <p class="card__name">— announced soon</p>
178
+ </li>
179
+
180
+ <li class="card card--tba">
181
+ <p class="card__time tnum">10:30 PM</p>
182
+ <p class="card__type">Wave 02</p>
183
+ <h3 class="card__h">Reveal · 09 Sep 2026.</h3>
184
+ <p class="card__sub">A speaker we're glad to have. The third name we're announcing first.</p>
185
+ <p class="card__name">TBA</p>
186
+ </li>
187
+
188
+ <li class="card card--launch">
189
+ <p class="card__time tnum">11:30 PM</p>
190
+ <p class="card__type">Live launch · 02</p>
191
+ <h3 class="card__h">Open-source. Day one. The repo opens during the demo.</h3>
192
+ <p class="card__sub">Bring a laptop if you'd like to follow along.</p>
193
+ <p class="card__name">— sealed until the night</p>
194
+ </li>
195
+
196
+ <li class="card card--closing">
197
+ <p class="card__time tnum">12:30 AM</p>
198
+ <p class="card__type">Closing</p>
199
+ <h3 class="card__h">Eight engineers · one sentence each.</h3>
200
+ <p class="card__sub">Then dancing. The DJ takes over at one.</p>
201
+ <p class="card__name">— announced soon</p>
202
+ </li>
203
+ </ul>
204
+ </section>
205
+
206
+ <!-- ─── rsvp · join the list ───────────────────────────── -->
207
+ <section class="rsvp" id="rsvp" aria-labelledby="rsvp-h">
208
+ <div class="rsvp__inner">
209
+ <p class="section-eyebrow"><span class="num tnum">04</span> · Tickets</p>
210
+ <h2 class="rsvp__h" id="rsvp-h">Two emails. One night.</h2>
211
+ <p class="rsvp__lead">
212
+ Join the public list and get early access to Wave 01 tickets when they open on 09 Sep. We send the address two days before doors and a final note 24 hours out — that's it.
213
+ </p>
214
+
215
+ <form class="rsvp__form" id="rsvp-form" novalidate>
216
+ <div class="rsvp__row">
217
+ <label class="rsvp__field">
218
+ <span class="rsvp__field-label">Email</span>
219
+ <input
220
+ type="email"
221
+ name="email"
222
+ id="rsvp-email"
223
+ autocomplete="email"
224
+ placeholder="you@studio.work"
225
+ required
226
+ aria-describedby="rsvp-help"
227
+ />
228
+ </label>
229
+ <button class="cta cta--primary cta--lg" type="submit" data-state="default">
230
+ <span class="cta__label">Get on the list</span>
231
+ <span class="cta__arrow" aria-hidden="true">→</span>
232
+ </button>
233
+ </div>
234
+ <p class="rsvp__help" id="rsvp-help">
235
+ <span class="tnum">Wave 01 · $140</span> · <span class="tnum">Wave 02 · $180</span> · <span class="tnum">Wave 03 · $220</span> at the door, capacity permitting.
236
+ </p>
237
+ <output class="rsvp__success" for="rsvp-email" aria-live="polite"></output>
238
+ </form>
239
+ </div>
240
+ </section>
241
+
242
+ <!-- ─── FAQ · conversational ───────────────────────────── -->
243
+ <section class="faq" id="faq" aria-labelledby="faq-h">
244
+ <header class="section-head">
245
+ <p class="section-eyebrow"><span class="num tnum">05</span> · Questions</p>
246
+ <h2 class="section-h" id="faq-h">A few honest answers.</h2>
247
+ </header>
248
+
249
+ <div class="faq__list">
250
+ <details class="faq__item">
251
+ <summary>
252
+ <span>What exactly is Hyperlane?</span>
253
+ <span class="faq__chev" aria-hidden="true">+</span>
254
+ </summary>
255
+ <div class="faq__a">
256
+ <p>One night, twelve hours, eight programmed slots. Four of those slots are live product launches — first public demos, with the team that built it taking questions afterward. Talks are short (twelve to eighteen minutes). No panels. No badges. The room itself is the after-show.</p>
257
+ </div>
258
+ </details>
259
+
260
+ <details class="faq__item">
261
+ <summary>
262
+ <span>Who comes?</span>
263
+ <span class="faq__chev" aria-hidden="true">+</span>
264
+ </summary>
265
+ <div class="faq__a">
266
+ <p>Roughly: half engineers, a quarter designers, a quarter everything adjacent — founders, ML researchers, devrel, technical writers. The list is public; the seats are not. Tickets are not transferable.</p>
267
+ </div>
268
+ </details>
269
+
270
+ <details class="faq__item">
271
+ <summary>
272
+ <span>Where is it, exactly?</span>
273
+ <span class="faq__chev" aria-hidden="true">+</span>
274
+ </summary>
275
+ <div class="faq__a">
276
+ <p>A warehouse on the Williamsburg waterfront. We release the address forty-eight hours before doors, to ticketed guests only. There are real reasons.</p>
277
+ </div>
278
+ </details>
279
+
280
+ <details class="faq__item">
281
+ <summary>
282
+ <span>How much?</span>
283
+ <span class="faq__chev" aria-hidden="true">+</span>
284
+ </summary>
285
+ <div class="faq__a">
286
+ <p>Three waves. Wave 01 (early list, you're reading this) opens at <span class="tnum">$140</span>. Wave 02 at <span class="tnum">$180</span>. Wave 03 at the door, capacity permitting, <span class="tnum">$220</span>. We don't do tiers, comp lists, or sponsorship seats.</p>
287
+ </div>
288
+ </details>
289
+
290
+ <details class="faq__item">
291
+ <summary>
292
+ <span>Is it recorded?</span>
293
+ <span class="faq__chev" aria-hidden="true">+</span>
294
+ </summary>
295
+ <div class="faq__a">
296
+ <p>Talks are recorded and released thirty days after the event. The launches and live demos are not streamed and not recorded — you have to be in the room.</p>
297
+ </div>
298
+ </details>
299
+
300
+ <details class="faq__item">
301
+ <summary>
302
+ <span>Refunds?</span>
303
+ <span class="faq__chev" aria-hidden="true">+</span>
304
+ </summary>
305
+ <div class="faq__a">
306
+ <p>Up to seven days before doors. After that we'll move your seat to the waitlist and credit you toward the next room.</p>
307
+ </div>
308
+ </details>
309
+
310
+ <details class="faq__item">
311
+ <summary>
312
+ <span>I'd like to launch something. Can I?</span>
313
+ <span class="faq__chev" aria-hidden="true">+</span>
314
+ </summary>
315
+ <div class="faq__a">
316
+ <p>Maybe. Two of the four launch slots are still open. Email <a href="mailto:launches@hyperlane.events">launches@hyperlane.events</a> with what you're shipping and we'll write back. We are not a sponsorship channel; the slot has to be a real launch.</p>
317
+ </div>
318
+ </details>
319
+ </div>
320
+ </section>
321
+
322
+ </main>
323
+
324
+ <!-- ─── footer · Ft5 statement ──────────────────────────── -->
325
+ <footer class="footer">
326
+ <div class="footer__inner">
327
+ <p class="footer__statement">
328
+ <em>Built late. Shipped live.</em> One room a year — for the people who'd be coding tonight anyway.
329
+ </p>
330
+ <div class="footer__meta">
331
+ <p class="footer__line tnum">Hyperlane / 26 · 17 Oct 2026 · Brooklyn · 7 PM</p>
332
+ <ul class="footer__links">
333
+ <li><a href="#main">Top</a></li>
334
+ <li><a href="#program">Programme</a></li>
335
+ <li><a href="#rsvp">List</a></li>
336
+ <li><a href="mailto:hello@hyperlane.events">hello@hyperlane.events</a></li>
337
+ </ul>
338
+ </div>
339
+ </div>
340
+ </footer>
341
+
342
+ <script src="script.js" defer></script>
343
+ </body>
344
+ </html>
@@ -0,0 +1,103 @@
1
+ /* Hallmark · script.js
2
+ * scoped behaviours: HP3 cursor-spotlight (hero only) · countdown · form silent-success
3
+ */
4
+
5
+ (() => {
6
+ "use strict";
7
+
8
+ const reduced =
9
+ window.matchMedia &&
10
+ window.matchMedia("(prefers-reduced-motion: reduce)").matches;
11
+
12
+ /* ── HP3 cursor spotlight · scoped to hero only ────────── */
13
+ const hero = document.querySelector(".hero");
14
+ if (hero && !reduced) {
15
+ let raf = 0;
16
+ let pendingX = 0;
17
+ let pendingY = 0;
18
+ const apply = () => {
19
+ raf = 0;
20
+ hero.style.setProperty("--mx", `${pendingX}px`);
21
+ hero.style.setProperty("--my", `${pendingY}px`);
22
+ };
23
+ hero.addEventListener("pointermove", (e) => {
24
+ const r = hero.getBoundingClientRect();
25
+ pendingX = e.clientX - r.left;
26
+ pendingY = e.clientY - r.top;
27
+ if (!raf) raf = requestAnimationFrame(apply);
28
+ });
29
+ }
30
+
31
+ /* ── live countdown to event start ─────────────────────── */
32
+ const cd = document.getElementById("countdown");
33
+ if (cd && cd.dataset.target) {
34
+ const target = new Date(cd.dataset.target).getTime();
35
+ if (!Number.isNaN(target)) {
36
+ const tick = () => {
37
+ let diff = target - Date.now();
38
+ if (diff <= 0) {
39
+ cd.textContent = "live";
40
+ return false;
41
+ }
42
+ const d = Math.floor(diff / 86_400_000); diff -= d * 86_400_000;
43
+ const h = Math.floor(diff / 3_600_000); diff -= h * 3_600_000;
44
+ const m = Math.floor(diff / 60_000); diff -= m * 60_000;
45
+ const s = Math.floor(diff / 1000);
46
+ cd.textContent =
47
+ `${d}d ${String(h).padStart(2, "0")}h ` +
48
+ `${String(m).padStart(2, "0")}m ${String(s).padStart(2, "0")}s`;
49
+ return true;
50
+ };
51
+ tick();
52
+ setInterval(() => { tick(); }, 1000);
53
+ }
54
+ }
55
+
56
+ /* ── nav state on scroll (sticky pill polish) ──────────── */
57
+ const nav = document.querySelector(".nav");
58
+ if (nav) {
59
+ let lastState = "rest";
60
+ const onScroll = () => {
61
+ const next = window.scrollY > 24 ? "scrolled" : "rest";
62
+ if (next !== lastState) {
63
+ nav.dataset.state = next;
64
+ lastState = next;
65
+ }
66
+ };
67
+ onScroll();
68
+ window.addEventListener("scroll", onScroll, { passive: true });
69
+ }
70
+
71
+ /* ── form silent-success (optimistic, no toast) ────────── */
72
+ const form = document.getElementById("rsvp-form");
73
+ if (form) {
74
+ const button = form.querySelector("button[type='submit']");
75
+ const success = form.querySelector(".rsvp__success");
76
+ const input = form.querySelector("input[type='email']");
77
+
78
+ form.addEventListener("submit", (e) => {
79
+ e.preventDefault();
80
+ if (!input || !input.value || !input.checkValidity()) {
81
+ input?.focus();
82
+ return;
83
+ }
84
+ if (button) {
85
+ button.dataset.state = "loading";
86
+ button.querySelector(".cta__label").textContent = "Joining…";
87
+ }
88
+ // simulated; wire to real endpoint when available
89
+ setTimeout(() => {
90
+ if (button) {
91
+ button.dataset.state = "success";
92
+ button.querySelector(".cta__label").textContent = "On the list";
93
+ button.querySelector(".cta__arrow").textContent = "✓";
94
+ }
95
+ if (success) {
96
+ success.dataset.state = "ok";
97
+ success.textContent = `You're on the list, ${input.value}. Wave 01 opens 09 Sep — we'll write first.`;
98
+ }
99
+ input.disabled = true;
100
+ }, 480);
101
+ });
102
+ }
103
+ })();