create-agntcms-app 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +39 -0
  2. package/dist/index.mjs +297 -0
  3. package/dist/template/.claude/settings.json +6 -0
  4. package/dist/template/.claude/skills/.gitkeep +0 -0
  5. package/dist/template/.claude-plugin/channel/server.mjs +254 -0
  6. package/dist/template/.claude-plugin/channel/server.ts +369 -0
  7. package/dist/template/.claude-plugin/plugin.json +17 -0
  8. package/dist/template/.mcp.json +8 -0
  9. package/dist/template/BRAND.md +49 -0
  10. package/dist/template/CLAUDE.md +157 -0
  11. package/dist/template/agntcms/config.ts +49 -0
  12. package/dist/template/agntcms/sections/ArticleBody/component.tsx +32 -0
  13. package/dist/template/agntcms/sections/ArticleBody/index.ts +10 -0
  14. package/dist/template/agntcms/sections/ArticleBody/schema.ts +5 -0
  15. package/dist/template/agntcms/sections/ArticleHero/component.tsx +87 -0
  16. package/dist/template/agntcms/sections/ArticleHero/index.ts +10 -0
  17. package/dist/template/agntcms/sections/ArticleHero/schema.ts +12 -0
  18. package/dist/template/agntcms/sections/Banner/component.tsx +83 -0
  19. package/dist/template/agntcms/sections/Banner/index.ts +10 -0
  20. package/dist/template/agntcms/sections/Banner/schema.ts +9 -0
  21. package/dist/template/agntcms/sections/BlogIndex/component.tsx +173 -0
  22. package/dist/template/agntcms/sections/BlogIndex/index.ts +10 -0
  23. package/dist/template/agntcms/sections/BlogIndex/schema.ts +33 -0
  24. package/dist/template/agntcms/sections/BlogIndexHeader/component.tsx +44 -0
  25. package/dist/template/agntcms/sections/BlogIndexHeader/index.ts +10 -0
  26. package/dist/template/agntcms/sections/BlogIndexHeader/schema.ts +8 -0
  27. package/dist/template/agntcms/sections/BlogPostBody/component.tsx +50 -0
  28. package/dist/template/agntcms/sections/BlogPostBody/index.ts +10 -0
  29. package/dist/template/agntcms/sections/BlogPostBody/schema.ts +10 -0
  30. package/dist/template/agntcms/sections/BlogPostHero/component.tsx +88 -0
  31. package/dist/template/agntcms/sections/BlogPostHero/index.ts +10 -0
  32. package/dist/template/agntcms/sections/BlogPostHero/schema.ts +35 -0
  33. package/dist/template/agntcms/sections/CaseStudies/component.tsx +92 -0
  34. package/dist/template/agntcms/sections/CaseStudies/index.ts +10 -0
  35. package/dist/template/agntcms/sections/CaseStudies/schema.ts +17 -0
  36. package/dist/template/agntcms/sections/ContactForm/component.tsx +119 -0
  37. package/dist/template/agntcms/sections/ContactForm/index.ts +10 -0
  38. package/dist/template/agntcms/sections/ContactForm/schema.ts +15 -0
  39. package/dist/template/agntcms/sections/DocsArticle/component.tsx +266 -0
  40. package/dist/template/agntcms/sections/DocsArticle/index.ts +10 -0
  41. package/dist/template/agntcms/sections/DocsArticle/schema.ts +33 -0
  42. package/dist/template/agntcms/sections/FAQ/component.tsx +57 -0
  43. package/dist/template/agntcms/sections/FAQ/index.ts +10 -0
  44. package/dist/template/agntcms/sections/FAQ/schema.ts +11 -0
  45. package/dist/template/agntcms/sections/FeatureGrid/component.tsx +117 -0
  46. package/dist/template/agntcms/sections/FeatureGrid/index.ts +10 -0
  47. package/dist/template/agntcms/sections/FeatureGrid/schema.ts +21 -0
  48. package/dist/template/agntcms/sections/FeaturedArticles/component.tsx +99 -0
  49. package/dist/template/agntcms/sections/FeaturedArticles/index.ts +10 -0
  50. package/dist/template/agntcms/sections/FeaturedArticles/schema.ts +17 -0
  51. package/dist/template/agntcms/sections/GettingStarted/component.tsx +116 -0
  52. package/dist/template/agntcms/sections/GettingStarted/index.ts +10 -0
  53. package/dist/template/agntcms/sections/GettingStarted/schema.ts +11 -0
  54. package/dist/template/agntcms/sections/Hero/component.tsx +148 -0
  55. package/dist/template/agntcms/sections/Hero/index.ts +10 -0
  56. package/dist/template/agntcms/sections/Hero/schema.ts +16 -0
  57. package/dist/template/agntcms/sections/HowItWorks/component.tsx +57 -0
  58. package/dist/template/agntcms/sections/HowItWorks/index.ts +10 -0
  59. package/dist/template/agntcms/sections/HowItWorks/schema.ts +11 -0
  60. package/dist/template/agntcms/sections/ImageText/component.tsx +110 -0
  61. package/dist/template/agntcms/sections/ImageText/index.ts +10 -0
  62. package/dist/template/agntcms/sections/ImageText/schema.ts +14 -0
  63. package/dist/template/agntcms/sections/LogoStrip/component.tsx +37 -0
  64. package/dist/template/agntcms/sections/LogoStrip/index.ts +10 -0
  65. package/dist/template/agntcms/sections/LogoStrip/schema.ts +6 -0
  66. package/dist/template/agntcms/sections/Newsletter/component.tsx +48 -0
  67. package/dist/template/agntcms/sections/Newsletter/index.ts +10 -0
  68. package/dist/template/agntcms/sections/Newsletter/schema.ts +8 -0
  69. package/dist/template/agntcms/sections/OpenSource/component.tsx +99 -0
  70. package/dist/template/agntcms/sections/OpenSource/index.ts +10 -0
  71. package/dist/template/agntcms/sections/OpenSource/schema.ts +13 -0
  72. package/dist/template/agntcms/sections/PainAnswer/component.tsx +81 -0
  73. package/dist/template/agntcms/sections/PainAnswer/index.ts +10 -0
  74. package/dist/template/agntcms/sections/PainAnswer/schema.ts +15 -0
  75. package/dist/template/agntcms/sections/PricingPlans/component.tsx +100 -0
  76. package/dist/template/agntcms/sections/PricingPlans/index.ts +10 -0
  77. package/dist/template/agntcms/sections/PricingPlans/schema.ts +13 -0
  78. package/dist/template/agntcms/sections/Problem/component.tsx +49 -0
  79. package/dist/template/agntcms/sections/Problem/index.ts +10 -0
  80. package/dist/template/agntcms/sections/Problem/schema.ts +12 -0
  81. package/dist/template/agntcms/sections/SiteFooter/component.tsx +88 -0
  82. package/dist/template/agntcms/sections/SiteFooter/index.ts +10 -0
  83. package/dist/template/agntcms/sections/SiteFooter/schema.ts +13 -0
  84. package/dist/template/agntcms/sections/SiteHeader/component.tsx +99 -0
  85. package/dist/template/agntcms/sections/SiteHeader/index.ts +10 -0
  86. package/dist/template/agntcms/sections/SiteHeader/schema.ts +14 -0
  87. package/dist/template/agntcms/sections/SiteMeta/component.tsx +26 -0
  88. package/dist/template/agntcms/sections/SiteMeta/index.ts +13 -0
  89. package/dist/template/agntcms/sections/SiteMeta/schema.ts +18 -0
  90. package/dist/template/agntcms/sections/TabbedFeatures/component.tsx +120 -0
  91. package/dist/template/agntcms/sections/TabbedFeatures/index.ts +10 -0
  92. package/dist/template/agntcms/sections/TabbedFeatures/schema.ts +13 -0
  93. package/dist/template/agntcms/sections/TeamGrid/component.tsx +77 -0
  94. package/dist/template/agntcms/sections/TeamGrid/index.ts +10 -0
  95. package/dist/template/agntcms/sections/TeamGrid/schema.ts +14 -0
  96. package/dist/template/agntcms/sections/Testimonials/component.tsx +76 -0
  97. package/dist/template/agntcms/sections/Testimonials/index.ts +10 -0
  98. package/dist/template/agntcms/sections/Testimonials/schema.ts +12 -0
  99. package/dist/template/agntcms/sections/WhatIsBuilt/component.tsx +86 -0
  100. package/dist/template/agntcms/sections/WhatIsBuilt/index.ts +10 -0
  101. package/dist/template/agntcms/sections/WhatIsBuilt/schema.ts +20 -0
  102. package/dist/template/agntcms/site-meta.ts +81 -0
  103. package/dist/template/app/[[...slug]]/page.tsx +123 -0
  104. package/dist/template/app/admin/AdminPageClient.tsx +77 -0
  105. package/dist/template/app/admin/AdminPageDynamic.tsx +24 -0
  106. package/dist/template/app/admin/page.tsx +14 -0
  107. package/dist/template/app/api/agntcms/_shared.ts +80 -0
  108. package/dist/template/app/api/agntcms/assets/route.ts +11 -0
  109. package/dist/template/app/api/agntcms/assets/upload/route.ts +11 -0
  110. package/dist/template/app/api/agntcms/draft/discard/route.ts +12 -0
  111. package/dist/template/app/api/agntcms/draft/list/route.ts +11 -0
  112. package/dist/template/app/api/agntcms/draft/publish/route.ts +11 -0
  113. package/dist/template/app/api/agntcms/draft/reorder/route.ts +10 -0
  114. package/dist/template/app/api/agntcms/draft/save/route.ts +11 -0
  115. package/dist/template/app/api/agntcms/events/route.ts +12 -0
  116. package/dist/template/app/api/agntcms/forms/delete/route.ts +17 -0
  117. package/dist/template/app/api/agntcms/forms/list/route.ts +24 -0
  118. package/dist/template/app/api/agntcms/forms/read/route.ts +23 -0
  119. package/dist/template/app/api/agntcms/forms/submit/route.ts +17 -0
  120. package/dist/template/app/api/agntcms/global/delete/route.ts +13 -0
  121. package/dist/template/app/api/agntcms/global/history/route.ts +10 -0
  122. package/dist/template/app/api/agntcms/global/list/route.ts +14 -0
  123. package/dist/template/app/api/agntcms/global/read/route.ts +11 -0
  124. package/dist/template/app/api/agntcms/global/rollback/route.ts +10 -0
  125. package/dist/template/app/api/agntcms/global/save/route.ts +14 -0
  126. package/dist/template/app/api/agntcms/mcp/route.ts +12 -0
  127. package/dist/template/app/api/agntcms/page/delete/route.ts +10 -0
  128. package/dist/template/app/api/agntcms/page/duplicate/route.ts +11 -0
  129. package/dist/template/app/api/agntcms/page/history/route.ts +10 -0
  130. package/dist/template/app/api/agntcms/page/list/route.ts +10 -0
  131. package/dist/template/app/api/agntcms/page/read/route.ts +11 -0
  132. package/dist/template/app/api/agntcms/page/rename/route.ts +10 -0
  133. package/dist/template/app/api/agntcms/page/rollback/route.ts +10 -0
  134. package/dist/template/app/api/agntcms/page/unpublish/route.ts +11 -0
  135. package/dist/template/app/api/agntcms/preview/enter/route.ts +13 -0
  136. package/dist/template/app/api/agntcms/preview/exit/route.ts +10 -0
  137. package/dist/template/app/api/agntcms/preview/issue/route.ts +12 -0
  138. package/dist/template/app/api/agntcms/template/list/route.ts +15 -0
  139. package/dist/template/app/apple-icon.svg +9 -0
  140. package/dist/template/app/icon.svg +9 -0
  141. package/dist/template/app/layout.tsx +107 -0
  142. package/dist/template/app/not-found.tsx +75 -0
  143. package/dist/template/app/robots.ts +33 -0
  144. package/dist/template/app/sitemap.ts +49 -0
  145. package/dist/template/content/globals/site-footer.json +53 -0
  146. package/dist/template/content/globals/site-header.json +18 -0
  147. package/dist/template/content/globals/site-meta.json +13 -0
  148. package/dist/template/content/pages/404.json +34 -0
  149. package/dist/template/content/pages/about.json +307 -0
  150. package/dist/template/content/pages/article-editor.json +61 -0
  151. package/dist/template/content/pages/article-schemas.json +61 -0
  152. package/dist/template/content/pages/blog.json +162 -0
  153. package/dist/template/content/pages/contact.json +29 -0
  154. package/dist/template/content/pages/home.json +243 -0
  155. package/dist/template/content/pages/pricing.json +219 -0
  156. package/dist/template/content/pages/services.json +177 -0
  157. package/dist/template/fonts/Satoshi-Medium.woff2 +0 -0
  158. package/dist/template/fonts/Satoshi-Regular.woff2 +0 -0
  159. package/dist/template/next.config.ts +6 -0
  160. package/dist/template/package.json +36 -0
  161. package/dist/template/postcss.config.mjs +5 -0
  162. package/dist/template/public/assets/.gitkeep +0 -0
  163. package/dist/template/public/assets/0418d7ed21f57e7b9e0546725c92b8419daeaa355675d9070fab0c2013cf1524.jpg +0 -0
  164. package/dist/template/public/assets/0d0475f21aa96435a8ed3cdb2fddcc6278492e76ae842f569432454f4d33631a.jpg +0 -0
  165. package/dist/template/public/assets/27457a1adee2372030d9876b0d52c44d46be98843999935eaef2526b9b961f12.jpg +0 -0
  166. package/dist/template/public/assets/3855d91192f0c6120b01427b78ef84e52baa9f4b5a17d4271e41c1bfd95a5b0c.jpg +0 -0
  167. package/dist/template/public/assets/3b3b90c5084635b746be673ede92a328f002f5621a42c9a5cb89c5e2435652cb.jpg +0 -0
  168. package/dist/template/public/assets/3e76165a78fd3e7b8ed1e93dee50803ae11110c756c8c1c89229a2dec2bc0abf.jpg +0 -0
  169. package/dist/template/public/assets/4a3e28f85dc850c347ea0fd931696aa936a6bd45f193e7f1c9328b5896fb272c.jpg +0 -0
  170. package/dist/template/public/assets/579f67d5fd4c9106c6cdf2ef29f50df934ad0fc2b7849bac1e1cfb1e3f92303b.jpg +0 -0
  171. package/dist/template/public/assets/5b95209269661bb60fb250f1da682e05b9efa64dd42f350608b299e6bf1f2f35.jpg +0 -0
  172. package/dist/template/public/assets/5e04b46f8317ef95a7ddf85aedfe5c098a755f05056325d0251eccf95ce51172.jpg +0 -0
  173. package/dist/template/public/assets/6167a9164be2cf1183bdfdd4946bf9b908570e79e92a2380c25f0bb702422bbd.jpg +0 -0
  174. package/dist/template/public/assets/75e723ec316de28247924e5dfb73a4b266e10de605e749f150883d280ed8ed16.jpg +0 -0
  175. package/dist/template/public/assets/816a11e6a7245feaf51bbebf09d1bda3f125b334bc24fc3b8f47b5380a7b4294.jpg +0 -0
  176. package/dist/template/public/assets/81eba6f5654b8746a9b0cba1a9521a67f2b4afaaefc7c88d66dfab1461270d8f.jpg +0 -0
  177. package/dist/template/public/assets/82a2ce9e49361098f77a28755779dc5a7c026831cbd135175749c1304e21dacc.jpg +0 -0
  178. package/dist/template/public/assets/8d7b02ba277ba56bdafdbd47b01f7df6d993c714b4dc2305eb65a1307c09647d.jpg +0 -0
  179. package/dist/template/public/assets/b303185b471678e4d62f678a1549ee26022f4745407d08cae44ecb1c25352293.jpg +0 -0
  180. package/dist/template/public/assets/b69b49169c11546100d6dd5280073bc0d84cbbcc6d33fa01ecf6a5866fa42237.jpg +0 -0
  181. package/dist/template/public/assets/c4d2f0d1a310e457ac722a399693652e3c86c55b294243d5ffc679394e12f9d1.jpg +0 -0
  182. package/dist/template/public/assets/cae09f4729f8a348b67267c2f2a550be0f3bfa420689afe1a5cf8b7e2b146238.png +0 -0
  183. package/dist/template/public/assets/cb3acf58b57417a4b26474ba04c096af7103c4320ed2f4f3683f79d7670a055c.jpg +0 -0
  184. package/dist/template/public/assets/d5a0701b2d156284e0ce851cd2534ec632db34f91fbcbee3b8a7784d45ce78d2.jpg +0 -0
  185. package/dist/template/public/assets/d6ef1c3f48b0e488521794fb60701da1fd2c3a1621d6ac5f17ccfd4909d3be60.jpg +0 -0
  186. package/dist/template/public/assets/de249ff9be2539cf0d1ce092de3c57001839b6c3e14fcee3fc31a7b7673ae007.jpg +0 -0
  187. package/dist/template/public/assets/eac45438956be187b010e24b3289757aa00f227c190d49ee99fea510552dd2ba.jpg +0 -0
  188. package/dist/template/public/assets/f8b9200065b5436c6a88361839edc2b89be88d3037c84a80d3ee95c32891510b.jpg +0 -0
  189. package/dist/template/public/assets/placeholder.png +0 -0
  190. package/dist/template/public/brand/mark.svg +6 -0
  191. package/dist/template/public/brand/wordmark-light.svg +6 -0
  192. package/dist/template/public/brand/wordmark.svg +6 -0
  193. package/dist/template/styles/globals.css +69 -0
  194. package/dist/template/styles/theme.css +492 -0
  195. package/dist/template/styles/typography.css +469 -0
  196. package/dist/template/tsconfig.json +30 -0
  197. package/package.json +30 -0
@@ -0,0 +1,492 @@
1
+ /* ============================================================
2
+ * agntcms — design tokens. Light theme, warm + monochrome.
3
+ * Teal is opt-in only.
4
+ *
5
+ * The @theme block maps :root tokens onto Tailwind utility names
6
+ * so utility classes like `bg-paper`, `text-ink`, `border-hairline`,
7
+ * `bg-bg-primary` all render the bright surface.
8
+ * ============================================================ */
9
+
10
+ :root {
11
+ /* ---------- Color: warm neutrals ---------- */
12
+ --paper: #FAF7F2;
13
+ --paper-2: #F3EFE8;
14
+ --paper-3: #ECE7DE;
15
+ --hairline: #E2DCD0;
16
+ --hairline-2: #D6CFC0;
17
+
18
+ /* ---------- Color: ink ---------- */
19
+ --ink: #1A1714;
20
+ --ink-2: #3D3833;
21
+ --ink-3: #6B635A;
22
+ --ink-4: #9A9088;
23
+
24
+ /* ---------- Color: brand (opt-in only) ---------- */
25
+ --teal: #2DD4BF;
26
+ --teal-ink: #0F766E;
27
+ --teal-tint: #D6F5EE;
28
+ --teal-deep: #134E4A;
29
+ --caret: #14B8A6;
30
+
31
+ /* ---------- Color: semantic ---------- */
32
+ --success: #3F6B4E;
33
+ --success-tint: #E4EBE2;
34
+ --warn: #8C6233;
35
+ --warn-tint: #EFE6D7;
36
+ --danger: #8B3A3A;
37
+ --danger-tint: #EEDADA;
38
+ --info: var(--ink-2);
39
+ --info-tint: var(--paper-2);
40
+
41
+ /* ---------- Foreground / background aliases ---------- */
42
+ --bg: var(--paper);
43
+ --bg-raised: #FFFFFF;
44
+ --bg-sunken: var(--paper-2);
45
+ --bg-code: var(--paper-3);
46
+
47
+ --fg: var(--ink);
48
+ --fg-muted: var(--ink-2);
49
+ --fg-subtle: var(--ink-3);
50
+ --fg-faint: var(--ink-4);
51
+
52
+ --border: var(--hairline);
53
+ --border-strong:var(--hairline-2);
54
+
55
+ /* ---------- Type families ---------- */
56
+ --font-sans: var(--font-inter-tight, 'Inter Tight'), ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
57
+ --font-mono: var(--font-jetbrains-mono, 'JetBrains Mono'), ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
58
+ --font-display: var(--font-inter-tight, 'Inter Tight'), ui-sans-serif, system-ui, sans-serif;
59
+
60
+ /* ---------- Type scale ---------- */
61
+ --fs-xs: 12px;
62
+ --fs-sm: 14px;
63
+ --fs-base: 16px;
64
+ --fs-md: 18px;
65
+ --fs-lg: 20px;
66
+ --fs-xl: 24px;
67
+ --fs-2xl: 30px;
68
+ --fs-3xl: 38px;
69
+ --fs-4xl: 48px;
70
+ --fs-5xl: 64px;
71
+ --fs-6xl: 80px;
72
+
73
+ /* ---------- Line heights ---------- */
74
+ --lh-tight: 1.05;
75
+ --lh-snug: 1.2;
76
+ --lh-normal: 1.5;
77
+ --lh-loose: 1.65;
78
+
79
+ /* ---------- Letter spacing ---------- */
80
+ --tracking-tighter: -0.03em;
81
+ --tracking-tight: -0.015em;
82
+ --tracking-normal: 0;
83
+ --tracking-wide: 0.07em;
84
+ --tracking-mono: -0.01em;
85
+
86
+ /* ---------- Spacing (4px base) ---------- */
87
+ --s-0: 0;
88
+ --s-1: 4px;
89
+ --s-2: 8px;
90
+ --s-3: 12px;
91
+ --s-4: 16px;
92
+ --s-5: 20px;
93
+ --s-6: 24px;
94
+ --s-8: 32px;
95
+ --s-10: 40px;
96
+ --s-12: 48px;
97
+ --s-16: 64px;
98
+ --s-20: 80px;
99
+ --s-24: 96px;
100
+ --s-32: 128px;
101
+
102
+ /* ---------- Radii ---------- */
103
+ --r-xs: 0;
104
+ --r-sm: 2px;
105
+ --r-md: 2px;
106
+ --r-lg: 4px;
107
+ --r-xl: 4px;
108
+ --r-2xl: 6px;
109
+ --r-pill: 999px;
110
+
111
+ /* ---------- Shadows (two steps only) ---------- */
112
+ --shadow-xs: 0 1px 0 0 rgba(26, 23, 20, 0.04);
113
+ --shadow-sm: 0 1px 2px 0 rgba(26, 23, 20, 0.06), 0 1px 1px 0 rgba(26, 23, 20, 0.04);
114
+ --shadow-md: var(--shadow-sm);
115
+ --shadow-lg: var(--shadow-sm);
116
+ --shadow-xl: var(--shadow-sm);
117
+ --shadow-teal: 0 0 0 4px rgba(45, 212, 191, 0.18);
118
+
119
+ /* ---------- Motion ---------- */
120
+ --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
121
+ --ease-in-out:cubic-bezier(0.65, 0, 0.35, 1);
122
+ --dur-fast: 120ms;
123
+ --dur-base: 200ms;
124
+ --dur-slow: 320ms;
125
+
126
+ /* ---------- Layout ---------- */
127
+ --container-narrow: 720px;
128
+ --container: 1080px;
129
+ --container-wide: 1280px;
130
+ }
131
+
132
+ @theme {
133
+ /* ================================================================
134
+ FONT FAMILY — map Tailwind utilities onto bundle tokens.
135
+ The `--font-inter`, `--font-jetbrains-mono` CSS variables come
136
+ from `next/font` in app/layout.tsx (Inter Tight is loaded via
137
+ next/font as Inter for variable parity; both faces resolve to
138
+ Inter Tight on the body class). The bundle's `--font-display`
139
+ and `--font-sans` are both Inter Tight.
140
+ ================================================================ */
141
+ --font-body: var(--font-inter-tight, 'Inter Tight'), ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
142
+ --font-display: var(--font-inter-tight, 'Inter Tight'), ui-sans-serif, system-ui, sans-serif;
143
+ --font-mono: var(--font-jetbrains-mono, 'JetBrains Mono'), ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
144
+ --font-essay: var(--font-source-serif, 'Source Serif 4'), Newsreader, Georgia, serif;
145
+
146
+ /* ================================================================
147
+ FONT SIZE — bundle-driven scale exposed as Tailwind text-* tokens.
148
+ ================================================================ */
149
+ --text-xs: var(--fs-xs);
150
+ --text-xs--line-height: 1.5;
151
+ --text-sm: var(--fs-sm);
152
+ --text-sm--line-height: 1.5;
153
+ --text-md: var(--fs-md);
154
+ --text-md--line-height: 1.65;
155
+ --text-lg: var(--fs-lg);
156
+ --text-lg--line-height: 1.55;
157
+ --text-xl: var(--fs-xl);
158
+ --text-xl--line-height: 1.4;
159
+
160
+ --text-display-xs: var(--fs-2xl);
161
+ --text-display-xs--line-height: 1.2;
162
+ --text-display-sm: var(--fs-3xl);
163
+ --text-display-sm--line-height: 1.15;
164
+ --text-display-md: var(--fs-4xl);
165
+ --text-display-md--line-height: 1.1;
166
+ --text-display-md--letter-spacing: -0.02em;
167
+ --text-display-lg: var(--fs-5xl);
168
+ --text-display-lg--line-height: 1.05;
169
+ --text-display-lg--letter-spacing: -0.03em;
170
+ --text-display-xl: var(--fs-6xl);
171
+ --text-display-xl--line-height: 1.05;
172
+ --text-display-xl--letter-spacing: -0.03em;
173
+ --text-display-2xl: 96px;
174
+ --text-display-2xl--line-height: 1.05;
175
+ --text-display-2xl--letter-spacing: -0.03em;
176
+
177
+ /* ================================================================
178
+ LAYOUT
179
+ ================================================================ */
180
+ --max-width-container: var(--container-wide);
181
+ --max-width-container-narrow: var(--container-narrow);
182
+ --max-width-container-default: var(--container);
183
+ --max-width-container-wide: var(--container-wide);
184
+
185
+ --breakpoint-xxs: 320px;
186
+ --breakpoint-xs: 600px;
187
+
188
+ /* ================================================================
189
+ RADIUS
190
+ ================================================================ */
191
+ --radius-none: 0px;
192
+ --radius-xs: var(--r-xs);
193
+ --radius-sm: var(--r-sm);
194
+ --radius-DEFAULT: var(--r-md);
195
+ --radius-md: var(--r-md);
196
+ --radius-lg: var(--r-lg);
197
+ --radius-xl: var(--r-xl);
198
+ --radius-2xl: var(--r-2xl);
199
+ --radius-3xl: 8px;
200
+ --radius-full: var(--r-pill);
201
+
202
+ /* ================================================================
203
+ SHADOW
204
+ ================================================================ */
205
+ --shadow-xs: var(--shadow-xs);
206
+ --shadow-sm: var(--shadow-sm);
207
+ --shadow-md: var(--shadow-sm);
208
+ --shadow-lg: var(--shadow-sm);
209
+ --shadow-xl: var(--shadow-sm);
210
+
211
+ /* ================================================================
212
+ ANIMATIONS
213
+ ================================================================ */
214
+ --animate-marquee: marquee 60s linear infinite;
215
+ --animate-caret-blink: caret-blink 1.1s steps(2) infinite;
216
+
217
+ @keyframes marquee {
218
+ 0% { transform: translateX(0); }
219
+ 100% { transform: translateX(-100%); }
220
+ }
221
+ @keyframes caret-blink {
222
+ 50% { opacity: 0; }
223
+ }
224
+
225
+ /* ================================================================
226
+ BASE COLORS — bundle tokens exposed as Tailwind utilities.
227
+ ================================================================ */
228
+ --color-transparent: rgb(0 0 0 / 0);
229
+ --color-white: rgb(255 255 255);
230
+ --color-black: rgb(0 0 0);
231
+
232
+ /* Bundle-native palette utilities */
233
+ --color-paper: var(--paper);
234
+ --color-paper-2: var(--paper-2);
235
+ --color-paper-3: var(--paper-3);
236
+ --color-hairline: var(--hairline);
237
+ --color-hairline-2: var(--hairline-2);
238
+ --color-ink: var(--ink);
239
+ --color-ink-2: var(--ink-2);
240
+ --color-ink-3: var(--ink-3);
241
+ --color-ink-4: var(--ink-4);
242
+ --color-teal: var(--teal);
243
+ --color-teal-ink: var(--teal-ink);
244
+ --color-teal-tint: var(--teal-tint);
245
+ --color-teal-deep: var(--teal-deep);
246
+ --color-caret: var(--caret);
247
+
248
+ /* Semantic earth tones */
249
+ --color-success-tint: var(--success-tint);
250
+ --color-warn: var(--warn);
251
+ --color-warn-tint: var(--warn-tint);
252
+ --color-danger: var(--danger);
253
+ --color-danger-tint: var(--danger-tint);
254
+
255
+ /* ================================================================
256
+ SEMANTIC TOKENS — wired to bundle palette.
257
+ Existing utility classes (text-text-primary, bg-bg-primary,
258
+ border-border-primary, etc.) continue to work but now render
259
+ with the bright paper/ink scheme.
260
+ ================================================================ */
261
+
262
+ /* TEXT */
263
+ --color-text-white: #FFFFFF;
264
+ --color-text-primary: var(--ink);
265
+ --color-text-secondary: var(--ink-2);
266
+ --color-text-secondary_hover: var(--ink);
267
+ --color-text-tertiary: var(--ink-3);
268
+ --color-text-tertiary_hover: var(--ink-2);
269
+ --color-text-quaternary: var(--ink-4);
270
+ --color-text-disabled: var(--ink-4);
271
+ --color-text-placeholder: var(--ink-4);
272
+ --color-text-placeholder_subtle: var(--ink-4);
273
+ --color-text-primary_on-brand: var(--paper);
274
+ --color-text-secondary_on-brand: var(--paper-2);
275
+ --color-text-tertiary_on-brand: var(--paper-2);
276
+ --color-text-quaternary_on-brand: var(--paper-2);
277
+ --color-text-brand-primary: var(--teal-ink);
278
+ --color-text-brand-secondary: var(--teal-deep);
279
+ --color-text-brand-secondary_hover: var(--teal-ink);
280
+ --color-text-brand-tertiary: var(--teal-ink);
281
+ --color-text-brand-tertiary_alt: var(--ink);
282
+ --color-text-error-primary: var(--danger);
283
+ --color-text-error-primary_hover: var(--danger);
284
+ --color-text-warning-primary: var(--warn);
285
+ --color-text-success-primary: var(--success);
286
+
287
+ /* BORDERS */
288
+ --color-border-primary: var(--hairline);
289
+ --color-border-secondary: var(--hairline);
290
+ --color-border-secondary_alt: var(--hairline);
291
+ --color-border-tertiary: var(--hairline-2);
292
+ --color-border-error: var(--danger);
293
+ --color-border-error_subtle: var(--danger);
294
+ --color-border-disabled: var(--hairline);
295
+ --color-border-disabled_subtle: var(--hairline);
296
+ --color-border-brand: var(--ink);
297
+ --color-border-brand_alt: var(--ink-2);
298
+
299
+ /* FOREGROUND (icons, decorative) */
300
+ --color-fg-white: #FFFFFF;
301
+ --color-fg-primary: var(--ink);
302
+ --color-fg-secondary: var(--ink-2);
303
+ --color-fg-secondary_hover: var(--ink);
304
+ --color-fg-tertiary: var(--ink-3);
305
+ --color-fg-tertiary_hover: var(--ink-2);
306
+ --color-fg-quaternary: var(--ink-4);
307
+ --color-fg-quaternary_hover: var(--ink-3);
308
+ --color-fg-error-primary: var(--danger);
309
+ --color-fg-error-secondary: var(--danger);
310
+ --color-fg-success-primary: var(--success);
311
+ --color-fg-success-secondary: var(--success);
312
+ --color-fg-warning-primary: var(--warn);
313
+ --color-fg-warning-secondary: var(--warn);
314
+ --color-fg-disabled: var(--ink-4);
315
+ --color-fg-disabled_subtle: var(--ink-4);
316
+ --color-fg-brand-primary: var(--teal-ink);
317
+ --color-fg-brand-primary_alt: var(--teal-ink);
318
+ --color-fg-brand-secondary: var(--teal-deep);
319
+ --color-fg-brand-secondary_alt: var(--ink-2);
320
+ --color-fg-brand-secondary_hover: var(--ink);
321
+
322
+ /* BACKGROUND */
323
+ --color-bg-primary: var(--paper);
324
+ --color-bg-primary-solid: var(--paper);
325
+ --color-bg-primary_alt: var(--paper);
326
+ --color-bg-primary_hover: var(--paper-2);
327
+ --color-bg-secondary: var(--paper-2);
328
+ --color-bg-secondary-solid: var(--paper-2);
329
+ --color-bg-secondary_subtle: var(--paper-2);
330
+ --color-bg-secondary_hover: var(--paper-3);
331
+ --color-bg-secondary_alt: var(--paper-2);
332
+ --color-bg-tertiary: var(--paper-3);
333
+ --color-bg-quaternary: var(--paper-3);
334
+ --color-bg-error-primary: var(--danger-tint);
335
+ --color-bg-error-secondary: var(--danger-tint);
336
+ --color-bg-error-solid: var(--danger);
337
+ --color-bg-error-solid_hover: var(--danger);
338
+ --color-bg-warning-primary: var(--warn-tint);
339
+ --color-bg-warning-secondary: var(--warn-tint);
340
+ --color-bg-warning-solid: var(--warn);
341
+ --color-bg-success-primary: var(--success-tint);
342
+ --color-bg-success-secondary: var(--success-tint);
343
+ --color-bg-success-solid: var(--success);
344
+ --color-bg-disabled: var(--paper-2);
345
+ --color-bg-disabled_subtle: var(--paper-2);
346
+ --color-bg-active: var(--paper-2);
347
+ --color-bg-overlay: rgba(26, 23, 20, 0.5);
348
+ --color-bg-brand-primary: var(--teal-tint);
349
+ --color-bg-brand-primary_alt: var(--paper-2);
350
+ --color-bg-brand-secondary: var(--teal-tint);
351
+ --color-bg-brand-solid: var(--ink);
352
+ --color-bg-brand-solid_hover: var(--ink-2);
353
+ --color-bg-brand-section: var(--ink);
354
+ --color-bg-brand-section_subtle: var(--paper-2);
355
+
356
+ /* INK / inverted surfaces — banner-style sections render dark
357
+ * even on this bright theme. */
358
+ --color-bg-ink: var(--ink);
359
+ --color-bg-ink-2: var(--ink-2);
360
+
361
+ /* FOCUS RING */
362
+ --color-focus-ring: var(--ink);
363
+ --color-focus-ring-error: var(--danger);
364
+
365
+ /* ================================================================
366
+ COMPONENT-SPECIFIC COLORS — mapped to ink scheme.
367
+ ================================================================ */
368
+ --color-avatar-bg: var(--paper-3);
369
+ --color-avatar-contrast-border: rgba(26, 23, 20, 0.08);
370
+ --color-avatar-profile-photo-border: var(--paper);
371
+ --color-avatar-styles-bg-neutral: var(--paper-3);
372
+ --color-button-destructive-primary-icon: var(--danger);
373
+ --color-button-destructive-primary-icon_hover: var(--danger);
374
+ --color-button-primary-icon: var(--paper);
375
+ --color-button-primary-icon_hover: var(--paper);
376
+ --color-featured-icon-light-fg-brand: var(--teal-ink);
377
+ --color-featured-icon-light-fg-error: var(--danger);
378
+ --color-featured-icon-light-fg-gray: var(--ink-3);
379
+ --color-featured-icon-light-fg-success: var(--success);
380
+ --color-featured-icon-light-fg-warning: var(--warn);
381
+ --color-icon-fg-brand: var(--teal-ink);
382
+ --color-icon-fg-brand_on-brand: var(--paper);
383
+ --color-toggle-border: var(--hairline);
384
+ --color-toggle-button-fg_disabled: var(--ink-4);
385
+ --color-toggle-slim-border_pressed-hover: var(--color-transparent);
386
+ --color-toggle-slim-border_pressed: var(--color-transparent);
387
+ --color-tooltip-supporting-text: var(--ink-3);
388
+ --color-text-editor-icon-fg: var(--ink-3);
389
+ --color-text-editor-icon-fg_active: var(--ink);
390
+
391
+ /* ================================================================
392
+ PROPERTY ALIASES — background-color-*
393
+ ================================================================ */
394
+ --background-color-primary: var(--color-bg-primary);
395
+ --background-color-primary-solid: var(--color-bg-primary-solid);
396
+ --background-color-primary_alt: var(--color-bg-primary_alt);
397
+ --background-color-primary_hover: var(--color-bg-primary_hover);
398
+ --background-color-secondary: var(--color-bg-secondary);
399
+ --background-color-secondary-solid: var(--color-bg-secondary-solid);
400
+ --background-color-secondary_alt: var(--color-bg-secondary_alt);
401
+ --background-color-secondary_hover: var(--color-bg-secondary_hover);
402
+ --background-color-secondary_subtle: var(--color-bg-secondary_subtle);
403
+ --background-color-tertiary: var(--color-bg-tertiary);
404
+ --background-color-quaternary: var(--color-bg-quaternary);
405
+ --background-color-active: var(--color-bg-active);
406
+ --background-color-disabled: var(--color-bg-disabled);
407
+ --background-color-disabled_subtle: var(--color-bg-disabled_subtle);
408
+ --background-color-overlay: var(--color-bg-overlay);
409
+ --background-color-brand-primary: var(--color-bg-brand-primary);
410
+ --background-color-brand-primary_alt: var(--color-bg-brand-primary_alt);
411
+ --background-color-brand-secondary: var(--color-bg-brand-secondary);
412
+ --background-color-brand-solid: var(--color-bg-brand-solid);
413
+ --background-color-brand-solid_hover: var(--color-bg-brand-solid_hover);
414
+ --background-color-brand-section: var(--color-bg-brand-section);
415
+ --background-color-brand-section_subtle: var(--color-bg-brand-section_subtle);
416
+ --background-color-error-primary: var(--color-bg-error-primary);
417
+ --background-color-error-secondary: var(--color-bg-error-secondary);
418
+ --background-color-error-solid: var(--color-bg-error-solid);
419
+ --background-color-error-solid_hover: var(--color-bg-error-solid_hover);
420
+ --background-color-warning-primary: var(--color-bg-warning-primary);
421
+ --background-color-warning-secondary: var(--color-bg-warning-secondary);
422
+ --background-color-warning-solid: var(--color-bg-warning-solid);
423
+ --background-color-success-primary: var(--color-bg-success-primary);
424
+ --background-color-success-secondary: var(--color-bg-success-secondary);
425
+ --background-color-success-solid: var(--color-bg-success-solid);
426
+ --background-color-border-tertiary: var(--color-border-tertiary);
427
+ --background-color-border-brand: var(--color-border-brand);
428
+ --background-color-border-brand_alt: var(--color-border-brand_alt);
429
+
430
+ /* ================================================================
431
+ PROPERTY ALIASES — text-color-*
432
+ ================================================================ */
433
+ --text-color-primary: var(--color-text-primary);
434
+ --text-color-primary_on-brand: var(--color-text-primary_on-brand);
435
+ --text-color-secondary: var(--color-text-secondary);
436
+ --text-color-secondary_hover: var(--color-text-secondary_hover);
437
+ --text-color-secondary_on-brand: var(--color-text-secondary_on-brand);
438
+ --text-color-tertiary: var(--color-text-tertiary);
439
+ --text-color-tertiary_hover: var(--color-text-tertiary_hover);
440
+ --text-color-tertiary_on-brand: var(--color-text-tertiary_on-brand);
441
+ --text-color-quaternary: var(--color-text-quaternary);
442
+ --text-color-quaternary_on-brand: var(--color-text-quaternary_on-brand);
443
+ --text-color-disabled: var(--color-text-disabled);
444
+ --text-color-placeholder: var(--color-text-placeholder);
445
+ --text-color-placeholder_subtle: var(--color-text-placeholder_subtle);
446
+ --text-color-brand-primary: var(--color-text-brand-primary);
447
+ --text-color-brand-secondary: var(--color-text-brand-secondary);
448
+ --text-color-brand-secondary_hover: var(--color-text-brand-secondary_hover);
449
+ --text-color-brand-tertiary: var(--color-text-brand-tertiary);
450
+ --text-color-brand-tertiary_alt: var(--color-text-brand-tertiary_alt);
451
+ --text-color-error-primary: var(--color-text-error-primary);
452
+ --text-color-error-primary_hover: var(--color-text-error-primary_hover);
453
+ --text-color-warning-primary: var(--color-text-warning-primary);
454
+ --text-color-success-primary: var(--color-text-success-primary);
455
+ --text-color-tooltip-supporting-text: var(--color-tooltip-supporting-text);
456
+
457
+ /* ================================================================
458
+ PROPERTY ALIASES — border-color-*
459
+ ================================================================ */
460
+ --border-color-primary: var(--color-border-primary);
461
+ --border-color-secondary: var(--color-border-secondary);
462
+ --border-color-secondary_alt: var(--color-border-secondary_alt);
463
+ --border-color-tertiary: var(--color-border-tertiary);
464
+ --border-color-disabled: var(--color-border-disabled);
465
+ --border-color-disabled_subtle: var(--color-border-disabled_subtle);
466
+ --border-color-error: var(--color-border-error);
467
+ --border-color-error_subtle: var(--color-border-error_subtle);
468
+ --border-color-brand: var(--color-border-brand);
469
+ --border-color-brand_alt: var(--color-border-brand_alt);
470
+ --border-color-brand-solid: var(--color-bg-brand-solid);
471
+ --border-color-brand-solid_hover: var(--color-bg-brand-solid_hover);
472
+
473
+ /* ================================================================
474
+ PROPERTY ALIASES — ring / outline
475
+ ================================================================ */
476
+ --ring-color-primary: var(--color-border-primary);
477
+ --ring-color-secondary: var(--color-border-secondary);
478
+ --ring-color-secondary_alt: var(--color-border-secondary_alt);
479
+ --ring-color-tertiary: var(--color-border-tertiary);
480
+ --ring-color-error: var(--color-border-error);
481
+ --ring-color-disabled: var(--color-border-disabled);
482
+ --ring-color-brand: var(--color-border-brand);
483
+ --ring-color-brand-solid: var(--color-bg-brand-solid);
484
+ --ring-color-brand_alt: var(--color-border-brand_alt);
485
+ --outline-color-primary: var(--color-border-primary);
486
+ --outline-color-secondary: var(--color-border-secondary);
487
+ --outline-color-tertiary: var(--color-border-tertiary);
488
+ --outline-color-error: var(--color-border-error);
489
+ --outline-color-brand: var(--color-border-brand);
490
+ --outline-color-brand-solid: var(--color-bg-brand-solid);
491
+ --outline-color-brand_alt: var(--color-border-brand_alt);
492
+ }