howone 0.1.20 → 0.1.23

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 (298) hide show
  1. package/package.json +1 -1
  2. package/templates/nextjs/lib/sdk.ts +3 -0
  3. package/templates/vite/.howone/skills/hallmark/LICENSE +21 -0
  4. package/templates/vite/.howone/skills/hallmark/README.md +147 -0
  5. package/templates/vite/.howone/skills/hallmark/ROADMAP.md +201 -0
  6. package/templates/vite/.howone/skills/hallmark/SKILL.md +551 -0
  7. package/templates/vite/.howone/skills/hallmark/docs/recipes.md +186 -0
  8. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
  9. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
  10. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
  11. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
  12. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
  13. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
  14. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
  15. package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
  16. package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +176 -0
  17. package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +364 -0
  18. package/templates/vite/.howone/skills/hallmark/package.json +36 -0
  19. package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +412 -0
  20. package/templates/vite/.howone/skills/hallmark/references/assets.md +399 -0
  21. package/templates/vite/.howone/skills/hallmark/references/color.md +95 -0
  22. package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +256 -0
  23. package/templates/vite/.howone/skills/hallmark/references/components/c1-outlined-chip.md +12 -0
  24. package/templates/vite/.howone/skills/hallmark/references/components/c2-inline-form-as-cta.md +16 -0
  25. package/templates/vite/.howone/skills/hallmark/references/components/c3-typographic-link.md +8 -0
  26. package/templates/vite/.howone/skills/hallmark/references/components/c4-sticky-bottom-bar.md +16 -0
  27. package/templates/vite/.howone/skills/hallmark/references/components/f1-bento-grid.md +20 -0
  28. package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +20 -0
  29. package/templates/vite/.howone/skills/hallmark/references/components/f3-tabular-spec-sheet.md +11 -0
  30. package/templates/vite/.howone/skills/hallmark/references/components/f4-step-sequence.md +11 -0
  31. package/templates/vite/.howone/skills/hallmark/references/components/f5-annotated-screenshot.md +11 -0
  32. package/templates/vite/.howone/skills/hallmark/references/components/f6-product-card-grid.md +41 -0
  33. package/templates/vite/.howone/skills/hallmark/references/components/ft1-mast-headed.md +13 -0
  34. package/templates/vite/.howone/skills/hallmark/references/components/ft2-inline-rule-single-line.md +10 -0
  35. package/templates/vite/.howone/skills/hallmark/references/components/ft3-index-style-category-list.md +12 -0
  36. package/templates/vite/.howone/skills/hallmark/references/components/ft4-dense-typographic.md +10 -0
  37. package/templates/vite/.howone/skills/hallmark/references/components/ft5-statement.md +21 -0
  38. package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +19 -0
  39. package/templates/vite/.howone/skills/hallmark/references/components/ft7-newsletter-first.md +27 -0
  40. package/templates/vite/.howone/skills/hallmark/references/components/ft8-marquee-scroll.md +25 -0
  41. package/templates/vite/.howone/skills/hallmark/references/components/h1-marquee.md +15 -0
  42. package/templates/vite/.howone/skills/hallmark/references/components/h2-split-diptych.md +15 -0
  43. package/templates/vite/.howone/skills/hallmark/references/components/h3-quote-led.md +11 -0
  44. package/templates/vite/.howone/skills/hallmark/references/components/h4-stat-led.md +14 -0
  45. package/templates/vite/.howone/skills/hallmark/references/components/h5-letter-hero.md +11 -0
  46. package/templates/vite/.howone/skills/hallmark/references/components/h6-photographic-fold.md +16 -0
  47. package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +27 -0
  48. package/templates/vite/.howone/skills/hallmark/references/components/h8-mockup-split-browser-framed.md +23 -0
  49. package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +27 -0
  50. package/templates/vite/.howone/skills/hallmark/references/components/n1-wordmark-2-links.md +12 -0
  51. package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +19 -0
  52. package/templates/vite/.howone/skills/hallmark/references/components/n2-floating-chip.md +14 -0
  53. package/templates/vite/.howone/skills/hallmark/references/components/n3-side-rail.md +14 -0
  54. package/templates/vite/.howone/skills/hallmark/references/components/n4-hidden-behind-k.md +9 -0
  55. package/templates/vite/.howone/skills/hallmark/references/components/n5-floating-pill.md +28 -0
  56. package/templates/vite/.howone/skills/hallmark/references/components/n6-newspaper-masthead.md +24 -0
  57. package/templates/vite/.howone/skills/hallmark/references/components/n7-brutal-slab.md +22 -0
  58. package/templates/vite/.howone/skills/hallmark/references/components/n8-terminal-command.md +21 -0
  59. package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +17 -0
  60. package/templates/vite/.howone/skills/hallmark/references/components/s1-left-margin-numbered.md +15 -0
  61. package/templates/vite/.howone/skills/hallmark/references/components/s2-hanging.md +13 -0
  62. package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +19 -0
  63. package/templates/vite/.howone/skills/hallmark/references/components/s4-inline-no-break.md +11 -0
  64. package/templates/vite/.howone/skills/hallmark/references/components/s5-bottom-anchored.md +13 -0
  65. package/templates/vite/.howone/skills/hallmark/references/components/t1-pull-quote-with-marginalia.md +12 -0
  66. package/templates/vite/.howone/skills/hallmark/references/components/t2-logo-wall-hairline.md +19 -0
  67. package/templates/vite/.howone/skills/hallmark/references/components/t3-single-huge-quote.md +11 -0
  68. package/templates/vite/.howone/skills/hallmark/references/components/t4-numbered-stat-strip.md +14 -0
  69. package/templates/vite/.howone/skills/hallmark/references/contract.md +24 -0
  70. package/templates/vite/.howone/skills/hallmark/references/copy.md +182 -0
  71. package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +626 -0
  72. package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +329 -0
  73. package/templates/vite/.howone/skills/hallmark/references/design-md.md +116 -0
  74. package/templates/vite/.howone/skills/hallmark/references/export-formats.md +328 -0
  75. package/templates/vite/.howone/skills/hallmark/references/floating-nav.md +89 -0
  76. package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +65 -0
  77. package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +70 -0
  78. package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +67 -0
  79. package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +65 -0
  80. package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +474 -0
  81. package/templates/vite/.howone/skills/hallmark/references/imagery-kit.md +170 -0
  82. package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +207 -0
  83. package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +111 -0
  84. package/templates/vite/.howone/skills/hallmark/references/macrostructures/01-bento-grid.md +35 -0
  85. package/templates/vite/.howone/skills/hallmark/references/macrostructures/02-long-document.md +34 -0
  86. package/templates/vite/.howone/skills/hallmark/references/macrostructures/03-marquee-hero.md +31 -0
  87. package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +32 -0
  88. package/templates/vite/.howone/skills/hallmark/references/macrostructures/05-workbench.md +32 -0
  89. package/templates/vite/.howone/skills/hallmark/references/macrostructures/06-conversational-faq.md +33 -0
  90. package/templates/vite/.howone/skills/hallmark/references/macrostructures/07-manifesto.md +32 -0
  91. package/templates/vite/.howone/skills/hallmark/references/macrostructures/08-photographic.md +34 -0
  92. package/templates/vite/.howone/skills/hallmark/references/macrostructures/09-quote-led.md +32 -0
  93. package/templates/vite/.howone/skills/hallmark/references/macrostructures/10-specimen.md +32 -0
  94. package/templates/vite/.howone/skills/hallmark/references/macrostructures/11-catalogue.md +23 -0
  95. package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +23 -0
  96. package/templates/vite/.howone/skills/hallmark/references/macrostructures/13-index-first.md +23 -0
  97. package/templates/vite/.howone/skills/hallmark/references/macrostructures/14-narrative-workflow.md +23 -0
  98. package/templates/vite/.howone/skills/hallmark/references/macrostructures/15-split-studio.md +23 -0
  99. package/templates/vite/.howone/skills/hallmark/references/macrostructures/16-feature-stack.md +23 -0
  100. package/templates/vite/.howone/skills/hallmark/references/macrostructures/17-type-specimen.md +23 -0
  101. package/templates/vite/.howone/skills/hallmark/references/macrostructures/18-portfolio-grid.md +23 -0
  102. package/templates/vite/.howone/skills/hallmark/references/macrostructures/19-map-diagram.md +23 -0
  103. package/templates/vite/.howone/skills/hallmark/references/macrostructures/20-ecosystem-index.md +23 -0
  104. package/templates/vite/.howone/skills/hallmark/references/macrostructures/21-component-playground.md +23 -0
  105. package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +89 -0
  106. package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +260 -0
  107. package/templates/vite/.howone/skills/hallmark/references/motion.md +109 -0
  108. package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +49 -0
  109. package/templates/vite/.howone/skills/hallmark/references/responsive.md +138 -0
  110. package/templates/vite/.howone/skills/hallmark/references/slop-test.md +205 -0
  111. package/templates/vite/.howone/skills/hallmark/references/structure.md +164 -0
  112. package/templates/vite/.howone/skills/hallmark/references/study.md +486 -0
  113. package/templates/vite/.howone/skills/hallmark/references/typography.md +243 -0
  114. package/templates/vite/.howone/skills/hallmark/references/verbs/audit.md +25 -0
  115. package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +269 -0
  116. package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
  117. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +71 -0
  118. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +64 -0
  119. package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +240 -0
  120. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +65 -0
  121. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +105 -0
  122. package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +250 -0
  123. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +64 -0
  124. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +131 -0
  125. package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +240 -0
  126. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +67 -0
  127. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +86 -0
  128. package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +262 -0
  129. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +63 -0
  130. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +167 -0
  131. package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +457 -0
  132. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +65 -0
  133. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +159 -0
  134. package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +288 -0
  135. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +64 -0
  136. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +146 -0
  137. package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +484 -0
  138. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +64 -0
  139. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +116 -0
  140. package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +354 -0
  141. package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +638 -0
  142. package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +515 -0
  143. package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +515 -0
  144. package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +608 -0
  145. package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +587 -0
  146. package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +157 -0
  147. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
  148. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
  149. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
  150. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
  151. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
  152. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
  153. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
  154. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
  155. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
  156. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
  157. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
  158. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
  159. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
  160. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
  161. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
  162. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
  163. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
  164. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
  165. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
  166. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
  167. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
  168. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
  169. package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
  170. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +77 -0
  171. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +238 -0
  172. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +110 -0
  173. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +326 -0
  174. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +134 -0
  175. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +262 -0
  176. package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +30 -0
  177. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +17 -0
  178. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +56 -0
  179. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +160 -0
  180. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +29 -0
  181. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +63 -0
  182. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +72 -0
  183. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +374 -0
  184. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +52 -0
  185. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +29 -0
  186. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +61 -0
  187. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +193 -0
  188. package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +66 -0
  189. package/templates/vite/.howone/skills/hallmark/site/css/base.css +194 -0
  190. package/templates/vite/.howone/skills/hallmark/site/css/components.css +4886 -0
  191. package/templates/vite/.howone/skills/hallmark/site/css/sections.css +2072 -0
  192. package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +1129 -0
  193. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +475 -0
  194. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +1584 -0
  195. package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +96 -0
  196. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +344 -0
  197. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +103 -0
  198. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +1103 -0
  199. package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +83 -0
  200. package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +368 -0
  201. package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +133 -0
  202. package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +1062 -0
  203. package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +97 -0
  204. package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +84 -0
  205. package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +446 -0
  206. package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +1087 -0
  207. package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +101 -0
  208. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +359 -0
  209. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +1168 -0
  210. package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +81 -0
  211. package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +5 -0
  212. package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +5 -0
  213. package/templates/vite/.howone/skills/hallmark/site/index.html +1043 -0
  214. package/templates/vite/.howone/skills/hallmark/site/js/main.js +1175 -0
  215. package/templates/vite/.howone/skills/hallmark/vercel.json +6 -0
  216. package/templates/vite/.howone/skills/howone-sdk/01-architect/01-app-generation.md +126 -0
  217. package/templates/vite/.howone/skills/howone-sdk/{references/08-manifest-codegen.md → 01-architect/02-manifest-codegen.md} +31 -19
  218. package/templates/vite/.howone/skills/howone-sdk/02-database/01-schema-design.md +147 -0
  219. package/templates/vite/.howone/skills/howone-sdk/02-database/02-schema-operations.md +96 -0
  220. package/templates/vite/.howone/skills/howone-sdk/02-database/03-data-access-patterns.md +172 -0
  221. package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/01-client-setup.md +3 -3
  222. package/templates/vite/.howone/skills/howone-sdk/{references/04-auth.md → 03-sdk/03-auth.md} +120 -3
  223. package/templates/vite/.howone/skills/howone-sdk/{references/06-react-integration.md → 03-sdk/04-react-integration.md} +2 -4
  224. package/templates/vite/.howone/skills/howone-sdk/{references/03-ai-actions.md → 03-sdk/07-ai-action-calls.md} +31 -34
  225. package/templates/vite/.howone/skills/howone-sdk/04-ai/.gitkeep +1 -0
  226. package/templates/vite/.howone/skills/howone-sdk/04-ai/01-ai-capability-architecture.md +142 -0
  227. package/templates/vite/.howone/skills/howone-sdk/04-ai/02-workflow-contract-rules.md +169 -0
  228. package/templates/vite/.howone/skills/howone-sdk/04-ai/03-ai-sdk-handoff.md +80 -0
  229. package/templates/vite/.howone/skills/howone-sdk/SKILL.md +118 -93
  230. package/templates/vite/.howone/skills/howone-sdk/agents/openai.yaml +3 -3
  231. package/templates/vite/.howone/skills/impeccable/SKILL.md +168 -0
  232. package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +101 -0
  233. package/templates/vite/.howone/skills/impeccable/reference/adapt.md +190 -0
  234. package/templates/vite/.howone/skills/impeccable/reference/animate.md +175 -0
  235. package/templates/vite/.howone/skills/impeccable/reference/audit.md +133 -0
  236. package/templates/vite/.howone/skills/impeccable/reference/bolder.md +113 -0
  237. package/templates/vite/.howone/skills/impeccable/reference/brand.md +118 -0
  238. package/templates/vite/.howone/skills/impeccable/reference/clarify.md +174 -0
  239. package/templates/vite/.howone/skills/impeccable/reference/codex.md +105 -0
  240. package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +106 -0
  241. package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +105 -0
  242. package/templates/vite/.howone/skills/impeccable/reference/colorize.md +154 -0
  243. package/templates/vite/.howone/skills/impeccable/reference/craft.md +123 -0
  244. package/templates/vite/.howone/skills/impeccable/reference/critique.md +273 -0
  245. package/templates/vite/.howone/skills/impeccable/reference/delight.md +302 -0
  246. package/templates/vite/.howone/skills/impeccable/reference/distill.md +111 -0
  247. package/templates/vite/.howone/skills/impeccable/reference/document.md +427 -0
  248. package/templates/vite/.howone/skills/impeccable/reference/extract.md +69 -0
  249. package/templates/vite/.howone/skills/impeccable/reference/harden.md +347 -0
  250. package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +234 -0
  251. package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +195 -0
  252. package/templates/vite/.howone/skills/impeccable/reference/layout.md +141 -0
  253. package/templates/vite/.howone/skills/impeccable/reference/live.md +622 -0
  254. package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +109 -0
  255. package/templates/vite/.howone/skills/impeccable/reference/onboard.md +234 -0
  256. package/templates/vite/.howone/skills/impeccable/reference/optimize.md +258 -0
  257. package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +130 -0
  258. package/templates/vite/.howone/skills/impeccable/reference/personas.md +179 -0
  259. package/templates/vite/.howone/skills/impeccable/reference/polish.md +242 -0
  260. package/templates/vite/.howone/skills/impeccable/reference/product.md +62 -0
  261. package/templates/vite/.howone/skills/impeccable/reference/quieter.md +99 -0
  262. package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +114 -0
  263. package/templates/vite/.howone/skills/impeccable/reference/shape.md +165 -0
  264. package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +100 -0
  265. package/templates/vite/.howone/skills/impeccable/reference/teach.md +156 -0
  266. package/templates/vite/.howone/skills/impeccable/reference/typeset.md +124 -0
  267. package/templates/vite/.howone/skills/impeccable/reference/typography.md +159 -0
  268. package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +107 -0
  269. package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  270. package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +94 -0
  271. package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +242 -0
  272. package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +820 -0
  273. package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +198 -0
  274. package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +21 -0
  275. package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  276. package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +69 -0
  277. package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +595 -0
  278. package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +123 -0
  279. package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +4860 -0
  280. package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +75 -0
  281. package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +18 -0
  282. package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +446 -0
  283. package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +200 -0
  284. package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +48 -0
  285. package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +838 -0
  286. package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +254 -0
  287. package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +47 -0
  288. package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +632 -0
  289. package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +247 -0
  290. package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +141 -0
  291. package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  292. package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +214 -0
  293. package/templates/vite/AGENTS.md +2 -12
  294. package/templates/vite/package.json +1 -1
  295. package/templates/vite/src/lib/sdk.ts +3 -0
  296. /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/02-entity-operations.md +0 -0
  297. /package/templates/vite/.howone/skills/howone-sdk/{references → 03-sdk}/05-file-upload.md +0 -0
  298. /package/templates/vite/.howone/skills/howone-sdk/{references/07-raw-http.md → 03-sdk/06-raw-http.md} +0 -0
@@ -0,0 +1,193 @@
1
+ /* Hallmark · macrostructure: Specimen · H4 hero knobs: number-column=margin, alignment=left-bias
2
+ * theme: Specimen · accent: warm-orange ~3% · enrichment: none (typography only)
3
+ * studied: yes · DNA-source: user reference (Aperture-style portfolio) · paid-fonts: not confirmed (free pairing applied)
4
+ */
5
+
6
+ :root {
7
+ --color-paper: oklch(96% 0.018 80);
8
+ --color-paper-2: oklch(93% 0.020 80);
9
+ --color-rule: oklch(82% 0.020 75);
10
+ --color-ink: oklch(20% 0.014 60);
11
+ --color-ink-soft: oklch(45% 0.016 60);
12
+ --color-ink-muted: oklch(64% 0.016 60);
13
+ --color-accent: oklch(64% 0.13 45);
14
+
15
+ --font-display: "Fraunces", "EB Garamond", "Cormorant Garamond", Georgia, serif;
16
+ --font-body: "Geist", "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
17
+
18
+ --space-2xs: 0.5rem;
19
+ --space-xs: 0.75rem;
20
+ --space-sm: 1rem;
21
+ --space-md: 1.5rem;
22
+ --space-lg: 2rem;
23
+ --space-xl: 3rem;
24
+ --space-2xl: 4.5rem;
25
+ --space-3xl: 6.5rem;
26
+ --space-4xl: 9rem;
27
+
28
+ --measure-prose: 60ch;
29
+ --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
30
+ --dur-micro: 180ms;
31
+ }
32
+
33
+ * { box-sizing: border-box; }
34
+ html, body { overflow-x: clip; }
35
+
36
+ body {
37
+ margin: 0;
38
+ background: var(--color-paper);
39
+ color: var(--color-ink);
40
+ font-family: var(--font-body);
41
+ font-size: 1rem;
42
+ line-height: 1.55;
43
+ -webkit-font-smoothing: antialiased;
44
+ }
45
+
46
+ .page {
47
+ max-width: 64rem;
48
+ margin: 0 auto;
49
+ padding: var(--space-4xl) var(--space-lg) var(--space-2xl);
50
+ }
51
+
52
+ /* Masthead — italic-serif name in the top-left margin */
53
+ .masthead {
54
+ margin-block-end: var(--space-4xl);
55
+ }
56
+
57
+ .masthead__brand {
58
+ font-family: var(--font-display);
59
+ font-style: italic;
60
+ font-weight: 400;
61
+ font-variation-settings: "opsz" 144;
62
+ font-size: clamp(4rem, 9vw, 7.5rem);
63
+ line-height: 0.92;
64
+ letter-spacing: -0.04em;
65
+ margin: 0 0 var(--space-md);
66
+ color: var(--color-ink);
67
+ }
68
+
69
+ .masthead__brand-em { color: var(--color-accent); font-style: italic; }
70
+
71
+ .masthead__sub {
72
+ font-family: var(--font-body);
73
+ font-size: 0.875rem;
74
+ font-weight: 400;
75
+ letter-spacing: 0.04em;
76
+ color: var(--color-ink-soft);
77
+ text-transform: uppercase;
78
+ margin: 0;
79
+ max-width: 60ch;
80
+ }
81
+
82
+ /* Works — numbered project list */
83
+ .works {
84
+ list-style: none;
85
+ padding: 0;
86
+ margin: 0;
87
+ border-block-start: 1px solid var(--color-rule);
88
+ }
89
+
90
+ .work {
91
+ display: grid;
92
+ grid-template-columns: 6rem 1fr;
93
+ gap: var(--space-lg);
94
+ align-items: baseline;
95
+ padding: var(--space-2xl) 0;
96
+ border-block-end: 1px solid var(--color-rule);
97
+ position: relative;
98
+ transition: background var(--dur-micro) var(--ease-out);
99
+ }
100
+
101
+ .work:hover { background: var(--color-paper-2); }
102
+
103
+ .work__num {
104
+ font-family: var(--font-body);
105
+ font-size: 0.75rem;
106
+ font-weight: 500;
107
+ letter-spacing: 0.16em;
108
+ color: var(--color-ink-muted);
109
+ text-transform: uppercase;
110
+ font-variant-numeric: tabular-nums;
111
+ align-self: start;
112
+ padding-block-start: 0.6em;
113
+ transition: color var(--dur-micro) var(--ease-out);
114
+ }
115
+
116
+ .work:hover .work__num { color: var(--color-ink); }
117
+
118
+ /* Active state — the warm-orange accent on one row only */
119
+ .work--active .work__num { color: var(--color-accent); }
120
+
121
+ .work__name {
122
+ font-family: var(--font-display);
123
+ font-style: italic;
124
+ font-weight: 400;
125
+ font-variation-settings: "opsz" 72;
126
+ font-size: clamp(1.75rem, 3vw, 2.5rem);
127
+ line-height: 1.1;
128
+ letter-spacing: -0.015em;
129
+ margin: 0 0 var(--space-2xs);
130
+ color: var(--color-ink);
131
+ }
132
+
133
+ .work__desc {
134
+ font-family: var(--font-body);
135
+ font-size: 0.9375rem;
136
+ line-height: 1.5;
137
+ color: var(--color-ink-soft);
138
+ margin: 0;
139
+ max-width: var(--measure-prose);
140
+ }
141
+
142
+ /* Colophon — single line, small caps */
143
+ .colophon {
144
+ margin-block-start: var(--space-3xl);
145
+ padding-block-start: var(--space-md);
146
+ border-block-start: 1px solid var(--color-rule);
147
+ display: flex;
148
+ flex-wrap: wrap;
149
+ gap: var(--space-sm) var(--space-xl);
150
+ font-family: var(--font-body);
151
+ font-size: 0.8125rem; /* bumped from screenshot's 11px to comfortable 13px */
152
+ font-weight: 400;
153
+ letter-spacing: 0.06em;
154
+ text-transform: uppercase;
155
+ color: var(--color-ink-soft);
156
+ }
157
+
158
+ .colophon__brand {
159
+ font-family: var(--font-display);
160
+ font-style: italic;
161
+ font-size: 1rem;
162
+ letter-spacing: 0;
163
+ text-transform: none;
164
+ color: var(--color-ink);
165
+ }
166
+
167
+ .colophon a {
168
+ color: var(--color-ink-soft);
169
+ text-decoration: none;
170
+ border-block-end: 1px solid transparent;
171
+ padding-block-end: 1px;
172
+ transition: color var(--dur-micro) var(--ease-out),
173
+ border-color var(--dur-micro) var(--ease-out);
174
+ }
175
+
176
+ .colophon a:hover, .colophon a:focus-visible {
177
+ color: var(--color-accent);
178
+ border-block-end-color: var(--color-accent);
179
+ }
180
+
181
+ .colophon a:focus-visible {
182
+ outline: 2px solid var(--color-accent);
183
+ outline-offset: 4px;
184
+ }
185
+
186
+ @media (max-width: 48rem) {
187
+ .page { padding: var(--space-2xl) var(--space-md) var(--space-xl); }
188
+ .work { grid-template-columns: 4rem 1fr; gap: var(--space-md); padding: var(--space-xl) 0; }
189
+ }
190
+
191
+ @media (prefers-reduced-motion: reduce) {
192
+ .work, .work__num, .colophon a { transition: none; }
193
+ }
@@ -0,0 +1,66 @@
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>Coelho Studio — product design for early-stage Lisbon companies</title>
7
+ <meta name="description" content="A small product-design studio in Lisbon. Three people, six current projects, mostly working with early-stage companies." />
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=Fraunces:ital,opsz,wght@0,9..144,400;1,9..144,400;1,9..144,500&family=Geist:wght@400;500&display=swap" />
11
+ <link rel="stylesheet" href="output.css" />
12
+ </head>
13
+ <body>
14
+ <main class="page">
15
+ <header class="masthead">
16
+ <h1 class="masthead__brand">Coelho<span class="masthead__brand-em">,</span></h1>
17
+ <p class="masthead__sub">Product design · Lisbon · est. 2024 · three of us · six projects this year</p>
18
+ </header>
19
+
20
+ <ul class="works" role="list">
21
+ <li class="work">
22
+ <span class="work__num">01</span>
23
+ <h2 class="work__name">Tide</h2>
24
+ <p class="work__desc">Indie-podcast hosting platform · brand &amp; product design · 2024 — present</p>
25
+ </li>
26
+
27
+ <li class="work work--active">
28
+ <span class="work__num">02</span>
29
+ <h2 class="work__name">Maple Street Bread</h2>
30
+ <p class="work__desc">A small artisan bakery's identity, signage, and packaging · 2025 · active</p>
31
+ </li>
32
+
33
+ <li class="work">
34
+ <span class="work__num">03</span>
35
+ <h2 class="work__name">Foundry</h2>
36
+ <p class="work__desc">SOC 2 / ISO 27001 compliance SaaS · brand, marketing site, in-app patterns · 2025</p>
37
+ </li>
38
+
39
+ <li class="work">
40
+ <span class="work__num">04</span>
41
+ <h2 class="work__name">Meridian</h2>
42
+ <p class="work__desc">Environmental-products studio · manifesto site · 2025</p>
43
+ </li>
44
+
45
+ <li class="work">
46
+ <span class="work__num">05</span>
47
+ <h2 class="work__name">Cohort</h2>
48
+ <p class="work__desc">Cohort-based courses platform · brand &amp; product · 2024–2025</p>
49
+ </li>
50
+
51
+ <li class="work">
52
+ <span class="work__num">06</span>
53
+ <h2 class="work__name">Tracejam</h2>
54
+ <p class="work__desc">Distributed-tracing SaaS · brand, landing page, in-app dashboard · 2024</p>
55
+ </li>
56
+ </ul>
57
+
58
+ <footer class="colophon">
59
+ <span class="colophon__brand">Coelho</span>
60
+ <span>Lisbon · 2026</span>
61
+ <span><a href="mailto:hello@coelho.studio">hello@coelho.studio</a></span>
62
+ <span><a href="#">cv</a> · <a href="#">notes</a> · <a href="#">case studies</a></span>
63
+ </footer>
64
+ </main>
65
+ </body>
66
+ </html>
@@ -0,0 +1,194 @@
1
+ /* Hallmark — base: fonts, reset, body */
2
+
3
+ /* — Google Fonts — all theme display & alt faces ——————————— */
4
+ @import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Instrument+Serif:ital@0;1&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Crimson+Pro:ital,wght@0,200..900;1,200..900&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&family=DM+Serif+Display:ital@0;1&family=Anton&family=Space+Grotesk:wght@300;400;500;600;700&family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..700&family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,500;0,600;1,400&family=JetBrains+Mono:ital,wght@0,400;0,500;0,700;1,400&display=swap");
5
+
6
+ /* — Reset ———————————————————————————————————————————— */
7
+ *, *::before, *::after { box-sizing: border-box; }
8
+
9
+ html { -webkit-text-size-adjust: 100%; }
10
+
11
+ body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
12
+ margin: 0;
13
+ }
14
+
15
+ img, picture, svg, video { display: block; max-width: 100%; height: auto; }
16
+
17
+ button, input, select, textarea {
18
+ font: inherit;
19
+ color: inherit;
20
+ }
21
+
22
+ button { background: none; border: 0; padding: 0; cursor: pointer; }
23
+
24
+ a { color: inherit; text-decoration: none; }
25
+
26
+ ul, ol { margin: 0; padding: 0; list-style: none; }
27
+
28
+ :focus { outline: none; }
29
+ :focus-visible {
30
+ outline: 2px solid var(--color-focus);
31
+ outline-offset: 3px;
32
+ border-radius: 2px;
33
+ }
34
+
35
+ /* — Theme transitions — targeted so type swap feels intentional —— */
36
+ html,
37
+ body,
38
+ .nav,
39
+ .opening__title,
40
+ .opening__sub,
41
+ .section__title,
42
+ .spec__name,
43
+ .spec__rule,
44
+ .tell,
45
+ .tell__viz,
46
+ .tell__meta,
47
+ .tell__name,
48
+ .tell__why,
49
+ .step__head,
50
+ .step__sub,
51
+ .install__body,
52
+ .foot,
53
+ .code,
54
+ .swatch,
55
+ .section__head,
56
+ .vs,
57
+ .vs__col,
58
+ .vs__caption,
59
+ hr.rule,
60
+ .themer,
61
+ .themer__btn {
62
+ transition:
63
+ background-color var(--dur-short) var(--ease-out),
64
+ color var(--dur-short) var(--ease-out),
65
+ border-color var(--dur-short) var(--ease-out);
66
+ }
67
+
68
+ /* — Body ————————————————————————————————————————————— */
69
+ html {
70
+ background: var(--color-paper);
71
+ color: var(--color-ink);
72
+ /* Hard stop on horizontal overflow at the root. `clip` (not `hidden`)
73
+ so descendants with `position: sticky` keep working. */
74
+ overflow-x: clip;
75
+ }
76
+
77
+ body {
78
+ font-family: var(--font-body);
79
+ font-weight: 400;
80
+ font-size: var(--text-base);
81
+ line-height: var(--lh-relaxed);
82
+ letter-spacing: var(--tracking-normal);
83
+ font-feature-settings: "ss01", "ss02", "cv01";
84
+ -webkit-font-smoothing: antialiased;
85
+ -moz-osx-font-smoothing: grayscale;
86
+ min-height: 100dvh;
87
+ padding-inline: max(var(--page-gutter), env(safe-area-inset-left));
88
+ padding-block-end: env(safe-area-inset-bottom);
89
+ overflow-x: clip;
90
+ }
91
+
92
+ /* Long-word safety: hero display headlines must break inside long
93
+ words on narrow viewports rather than push the layout wider than
94
+ the viewport. Critical for hyphenated brand-style words like
95
+ "AI-generated" in uppercase / heavy display faces. */
96
+ .hero__display,
97
+ .section__title,
98
+ .skill-row__title {
99
+ overflow-wrap: anywhere;
100
+ min-width: 0;
101
+ }
102
+
103
+ /* — Selection ——————————————————————————————————————— */
104
+ ::selection {
105
+ background: var(--color-accent);
106
+ color: var(--color-paper);
107
+ }
108
+
109
+ /* — Typography primitives ——————————————————————————— */
110
+ h1, h2, h3, h4 {
111
+ font-family: var(--font-display);
112
+ font-weight: var(--display-weight, 400);
113
+ font-style: var(--display-style, normal);
114
+ line-height: var(--lh-tight);
115
+ letter-spacing: var(--tracking-display);
116
+ color: var(--color-ink);
117
+ font-optical-sizing: auto;
118
+ font-variation-settings:
119
+ "opsz" var(--display-optical, 48),
120
+ "SOFT" var(--display-soft, 0);
121
+ }
122
+
123
+ h1 { font-size: var(--text-display); }
124
+ h2 { font-size: var(--text-display-s); }
125
+ h3 { font-size: var(--text-xl); font-weight: 500; line-height: var(--lh-snug); letter-spacing: var(--tracking-tight); font-style: normal; font-variation-settings: normal; }
126
+ h4 { font-size: var(--text-md); font-weight: 500; line-height: var(--lh-snug); letter-spacing: var(--tracking-tight); font-style: normal; font-variation-settings: normal; }
127
+
128
+ p { max-width: var(--measure); }
129
+
130
+ strong { font-weight: 500; }
131
+
132
+ em { font-style: italic; }
133
+
134
+ code, kbd, samp, pre {
135
+ font-family: var(--font-mono);
136
+ font-size: 0.9em;
137
+ font-feature-settings: "tnum";
138
+ }
139
+
140
+ /* — Utility: label (small caps numbering) —————————— */
141
+ .label {
142
+ font-family: var(--font-label);
143
+ font-size: var(--text-xs);
144
+ font-weight: 400;
145
+ letter-spacing: var(--tracking-label);
146
+ text-transform: uppercase;
147
+ color: var(--color-muted);
148
+ }
149
+
150
+ /* — Utility: rule (hairline divider) ———————————————— */
151
+ .rule {
152
+ border: 0;
153
+ border-top: var(--rule-hair) solid var(--color-rule);
154
+ margin: 0;
155
+ }
156
+
157
+ .rule-strong {
158
+ border-top-color: var(--color-rule-2);
159
+ border-top-width: var(--rule-fine);
160
+ }
161
+
162
+ /* — Utility: serif (editorial emphasis) ———————————— */
163
+ .serif {
164
+ font-family: var(--font-serif);
165
+ font-weight: 400;
166
+ font-optical-sizing: auto;
167
+ font-variant-numeric: oldstyle-nums;
168
+ }
169
+
170
+ .serif-italic {
171
+ font-family: var(--font-serif);
172
+ font-style: italic;
173
+ font-weight: 400;
174
+ }
175
+
176
+ /* — Utility: tabular numbers ————————————————————————— */
177
+ .tnum { font-variant-numeric: tabular-nums; }
178
+
179
+ /* — Utility: container ————————————————————————————————— */
180
+ .container {
181
+ max-width: var(--page-max);
182
+ margin-inline: auto;
183
+ width: 100%;
184
+ }
185
+
186
+ /* — Orange square (the accent mark) ——————————————————— */
187
+ .mark {
188
+ display: inline-block;
189
+ width: 0.55em;
190
+ height: 0.55em;
191
+ background: var(--color-accent);
192
+ vertical-align: 0.04em;
193
+ transition: background-color var(--dur-short) var(--ease-out);
194
+ }