@ttdk-design-system/library-svelte 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/AI_GUIDE.md +6518 -0
  2. package/dist/core/index.d.ts +2 -0
  3. package/dist/core/index.js +2 -0
  4. package/dist/core/tailwind-preset.cjs +62 -0
  5. package/dist/core/tailwind-preset.d.cts +63 -0
  6. package/dist/core/tailwind-preset.d.ts +74 -0
  7. package/dist/core/tailwind-preset.js +79 -0
  8. package/dist/core/theme/tokens.css +663 -0
  9. package/dist/core/types.d.ts +152 -0
  10. package/dist/core/types.js +735 -0
  11. package/dist/index.d.ts +14 -0
  12. package/dist/index.js +15 -0
  13. package/dist/tailwind-preset.cjs +62 -0
  14. package/dist/tailwind-preset.d.cts +63 -0
  15. package/dist/tailwind-preset.d.ts +74 -0
  16. package/dist/tailwind-preset.js +79 -0
  17. package/dist/types.d.ts +1 -0
  18. package/dist/types.js +1 -0
  19. package/dist/web/accordion/AI_GUIDE.md +149 -0
  20. package/dist/web/accordion/accordion.css +1 -0
  21. package/dist/web/accordion/accordion.svelte +217 -0
  22. package/dist/web/accordion/accordion.svelte.d.ts +224 -0
  23. package/dist/web/accordion/index.d.ts +2 -0
  24. package/dist/web/accordion/index.js +2 -0
  25. package/dist/web/accordion/manifest.json +351 -0
  26. package/dist/web/alert/AI_GUIDE.md +139 -0
  27. package/dist/web/alert/alert.css +1 -0
  28. package/dist/web/alert/alert.svelte +175 -0
  29. package/dist/web/alert/alert.svelte.d.ts +165 -0
  30. package/dist/web/alert/index.d.ts +2 -0
  31. package/dist/web/alert/index.js +2 -0
  32. package/dist/web/alert/manifest.json +240 -0
  33. package/dist/web/avatar/AI_GUIDE.md +118 -0
  34. package/dist/web/avatar/avatar.css +1 -0
  35. package/dist/web/avatar/avatar.svelte +108 -0
  36. package/dist/web/avatar/avatar.svelte.d.ts +147 -0
  37. package/dist/web/avatar/index.d.ts +2 -0
  38. package/dist/web/avatar/index.js +2 -0
  39. package/dist/web/avatar/manifest.json +195 -0
  40. package/dist/web/badge/AI_GUIDE.md +94 -0
  41. package/dist/web/badge/badge.css +1 -0
  42. package/dist/web/badge/badge.svelte +50 -0
  43. package/dist/web/badge/badge.svelte.d.ts +111 -0
  44. package/dist/web/badge/index.d.ts +2 -0
  45. package/dist/web/badge/index.js +2 -0
  46. package/dist/web/badge/manifest.json +141 -0
  47. package/dist/web/banner/AI_GUIDE.md +130 -0
  48. package/dist/web/banner/banner.css +1 -0
  49. package/dist/web/banner/banner.svelte +180 -0
  50. package/dist/web/banner/banner.svelte.d.ts +172 -0
  51. package/dist/web/banner/index.d.ts +2 -0
  52. package/dist/web/banner/index.js +2 -0
  53. package/dist/web/banner/manifest.json +240 -0
  54. package/dist/web/breadcrumb/AI_GUIDE.md +120 -0
  55. package/dist/web/breadcrumb/breadcrumb.css +1 -0
  56. package/dist/web/breadcrumb/breadcrumb.svelte +168 -0
  57. package/dist/web/breadcrumb/breadcrumb.svelte.d.ts +141 -0
  58. package/dist/web/breadcrumb/index.d.ts +2 -0
  59. package/dist/web/breadcrumb/index.js +2 -0
  60. package/dist/web/breadcrumb/manifest.json +225 -0
  61. package/dist/web/button/AI_GUIDE.md +121 -0
  62. package/dist/web/button/button.css +1 -0
  63. package/dist/web/button/button.svelte +154 -0
  64. package/dist/web/button/button.svelte.d.ts +159 -0
  65. package/dist/web/button/index.d.ts +2 -0
  66. package/dist/web/button/index.js +2 -0
  67. package/dist/web/button/manifest.json +177 -0
  68. package/dist/web/calendar/AI_GUIDE.md +151 -0
  69. package/dist/web/calendar/calendar.css +1 -0
  70. package/dist/web/calendar/calendar.svelte +1091 -0
  71. package/dist/web/calendar/calendar.svelte.d.ts +268 -0
  72. package/dist/web/calendar/index.d.ts +2 -0
  73. package/dist/web/calendar/index.js +2 -0
  74. package/dist/web/calendar/manifest.json +470 -0
  75. package/dist/web/card/AI_GUIDE.md +133 -0
  76. package/dist/web/card/card.css +1 -0
  77. package/dist/web/card/card.svelte +217 -0
  78. package/dist/web/card/card.svelte.d.ts +242 -0
  79. package/dist/web/card/index.d.ts +2 -0
  80. package/dist/web/card/index.js +2 -0
  81. package/dist/web/card/manifest.json +357 -0
  82. package/dist/web/checkbox/AI_GUIDE.md +146 -0
  83. package/dist/web/checkbox/checkbox.css +1 -0
  84. package/dist/web/checkbox/checkbox.svelte +131 -0
  85. package/dist/web/checkbox/checkbox.svelte.d.ts +199 -0
  86. package/dist/web/checkbox/index.d.ts +2 -0
  87. package/dist/web/checkbox/index.js +2 -0
  88. package/dist/web/checkbox/manifest.json +294 -0
  89. package/dist/web/chip/AI_GUIDE.md +186 -0
  90. package/dist/web/chip/chip.css +1 -0
  91. package/dist/web/chip/chip.svelte +113 -0
  92. package/dist/web/chip/chip.svelte.d.ts +145 -0
  93. package/dist/web/chip/index.d.ts +2 -0
  94. package/dist/web/chip/index.js +2 -0
  95. package/dist/web/chip/manifest.json +186 -0
  96. package/dist/web/dropdown/AI_GUIDE.md +167 -0
  97. package/dist/web/dropdown/dropdown.css +1 -0
  98. package/dist/web/dropdown/dropdown.svelte +844 -0
  99. package/dist/web/dropdown/dropdown.svelte.d.ts +361 -0
  100. package/dist/web/dropdown/index.d.ts +2 -0
  101. package/dist/web/dropdown/index.js +2 -0
  102. package/dist/web/dropdown/manifest.json +576 -0
  103. package/dist/web/flex/AI_GUIDE.md +113 -0
  104. package/dist/web/flex/flex-item.svelte +37 -0
  105. package/dist/web/flex/flex-item.svelte.d.ts +96 -0
  106. package/dist/web/flex/flex.css +1 -0
  107. package/dist/web/flex/flex.svelte +39 -0
  108. package/dist/web/flex/flex.svelte.d.ts +104 -0
  109. package/dist/web/flex/index.d.ts +3 -0
  110. package/dist/web/flex/index.js +3 -0
  111. package/dist/web/flex/manifest.json +162 -0
  112. package/dist/web/form/index.d.ts +1 -0
  113. package/dist/web/form/index.js +2 -0
  114. package/dist/web/grid/AI_GUIDE.md +112 -0
  115. package/dist/web/grid/grid-item.svelte +41 -0
  116. package/dist/web/grid/grid-item.svelte.d.ts +112 -0
  117. package/dist/web/grid/grid.css +1 -0
  118. package/dist/web/grid/grid.svelte +37 -0
  119. package/dist/web/grid/grid.svelte.d.ts +96 -0
  120. package/dist/web/grid/index.d.ts +3 -0
  121. package/dist/web/grid/index.js +3 -0
  122. package/dist/web/grid/manifest.json +153 -0
  123. package/dist/web/index.d.ts +58 -0
  124. package/dist/web/index.js +57 -0
  125. package/dist/web/input/AI_GUIDE.md +159 -0
  126. package/dist/web/input/index.d.ts +2 -0
  127. package/dist/web/input/index.js +2 -0
  128. package/dist/web/input/input.css +1 -0
  129. package/dist/web/input/input.svelte +283 -0
  130. package/dist/web/input/input.svelte.d.ts +283 -0
  131. package/dist/web/input/manifest.json +465 -0
  132. package/dist/web/input-number/AI_GUIDE.md +164 -0
  133. package/dist/web/input-number/index.d.ts +2 -0
  134. package/dist/web/input-number/index.js +2 -0
  135. package/dist/web/input-number/input-number.css +1 -0
  136. package/dist/web/input-number/input-number.svelte +783 -0
  137. package/dist/web/input-number/input-number.svelte.d.ts +352 -0
  138. package/dist/web/input-number/manifest.json +575 -0
  139. package/dist/web/modal/AI_GUIDE.md +171 -0
  140. package/dist/web/modal/index.d.ts +2 -0
  141. package/dist/web/modal/index.js +2 -0
  142. package/dist/web/modal/manifest.json +375 -0
  143. package/dist/web/modal/modal.css +1 -0
  144. package/dist/web/modal/modal.svelte +333 -0
  145. package/dist/web/modal/modal.svelte.d.ts +231 -0
  146. package/dist/web/pagination/AI_GUIDE.md +148 -0
  147. package/dist/web/pagination/index.d.ts +19 -0
  148. package/dist/web/pagination/index.js +19 -0
  149. package/dist/web/pagination/manifest.json +432 -0
  150. package/dist/web/pagination/pagination-content.svelte +25 -0
  151. package/dist/web/pagination/pagination-content.svelte.d.ts +36 -0
  152. package/dist/web/pagination/pagination-ellipsis.svelte +38 -0
  153. package/dist/web/pagination/pagination-ellipsis.svelte.d.ts +35 -0
  154. package/dist/web/pagination/pagination-first.svelte +105 -0
  155. package/dist/web/pagination/pagination-first.svelte.d.ts +74 -0
  156. package/dist/web/pagination/pagination-item.svelte +25 -0
  157. package/dist/web/pagination/pagination-item.svelte.d.ts +36 -0
  158. package/dist/web/pagination/pagination-last.svelte +105 -0
  159. package/dist/web/pagination/pagination-last.svelte.d.ts +74 -0
  160. package/dist/web/pagination/pagination-link.svelte +67 -0
  161. package/dist/web/pagination/pagination-link.svelte.d.ts +69 -0
  162. package/dist/web/pagination/pagination-next.svelte +99 -0
  163. package/dist/web/pagination/pagination-next.svelte.d.ts +75 -0
  164. package/dist/web/pagination/pagination-previous.svelte +99 -0
  165. package/dist/web/pagination/pagination-previous.svelte.d.ts +75 -0
  166. package/dist/web/pagination/pagination.css +1 -0
  167. package/dist/web/pagination/pagination.svelte +471 -0
  168. package/dist/web/pagination/pagination.svelte.d.ts +256 -0
  169. package/dist/web/popover/AI_GUIDE.md +163 -0
  170. package/dist/web/popover/index.d.ts +3 -0
  171. package/dist/web/popover/index.js +3 -0
  172. package/dist/web/popover/manifest.json +396 -0
  173. package/dist/web/popover/popover.css +1 -0
  174. package/dist/web/popover/popover.svelte +497 -0
  175. package/dist/web/popover/popover.svelte.d.ts +116 -0
  176. package/dist/web/radio/AI_GUIDE.md +155 -0
  177. package/dist/web/radio/index.d.ts +2 -0
  178. package/dist/web/radio/index.js +2 -0
  179. package/dist/web/radio/manifest.json +294 -0
  180. package/dist/web/radio/radio.css +1 -0
  181. package/dist/web/radio/radio.svelte +123 -0
  182. package/dist/web/radio/radio.svelte.d.ts +192 -0
  183. package/dist/web/selectbox/AI_GUIDE.md +216 -0
  184. package/dist/web/selectbox/index.d.ts +2 -0
  185. package/dist/web/selectbox/index.js +2 -0
  186. package/dist/web/selectbox/manifest.json +477 -0
  187. package/dist/web/selectbox/selectbox.css +1 -0
  188. package/dist/web/selectbox/selectbox.svelte +704 -0
  189. package/dist/web/selectbox/selectbox.svelte.d.ts +296 -0
  190. package/dist/web/sonner/AI_GUIDE.md +98 -0
  191. package/dist/web/sonner/index.d.ts +46 -0
  192. package/dist/web/sonner/index.js +64 -0
  193. package/dist/web/sonner/manifest.json +132 -0
  194. package/dist/web/sonner/sonner.css +1 -0
  195. package/dist/web/sonner/sonner.svelte +85 -0
  196. package/dist/web/sonner/sonner.svelte.d.ts +105 -0
  197. package/dist/web/table/AI_GUIDE.md +145 -0
  198. package/dist/web/table/index.d.ts +21 -0
  199. package/dist/web/table/index.js +22 -0
  200. package/dist/web/table/manifest.json +168 -0
  201. package/dist/web/table/table-body.svelte +23 -0
  202. package/dist/web/table/table-body.svelte.d.ts +36 -0
  203. package/dist/web/table/table-caption.svelte +23 -0
  204. package/dist/web/table/table-caption.svelte.d.ts +36 -0
  205. package/dist/web/table/table-cell.svelte +35 -0
  206. package/dist/web/table/table-cell.svelte.d.ts +57 -0
  207. package/dist/web/table/table-empty.svelte +56 -0
  208. package/dist/web/table/table-empty.svelte.d.ts +65 -0
  209. package/dist/web/table/table-footer.svelte +23 -0
  210. package/dist/web/table/table-footer.svelte.d.ts +36 -0
  211. package/dist/web/table/table-head.svelte +39 -0
  212. package/dist/web/table/table-head.svelte.d.ts +58 -0
  213. package/dist/web/table/table-header.svelte +23 -0
  214. package/dist/web/table/table-header.svelte.d.ts +36 -0
  215. package/dist/web/table/table-row.svelte +33 -0
  216. package/dist/web/table/table-row.svelte.d.ts +52 -0
  217. package/dist/web/table/table.css +1 -0
  218. package/dist/web/table/table.svelte +178 -0
  219. package/dist/web/table/table.svelte.d.ts +120 -0
  220. package/dist/web/tabs/AI_GUIDE.md +150 -0
  221. package/dist/web/tabs/index.d.ts +2 -0
  222. package/dist/web/tabs/index.js +2 -0
  223. package/dist/web/tabs/manifest.json +315 -0
  224. package/dist/web/tabs/tabs.css +1 -0
  225. package/dist/web/tabs/tabs.svelte +138 -0
  226. package/dist/web/tabs/tabs.svelte.d.ts +204 -0
  227. package/dist/web/text/AI_GUIDE.md +129 -0
  228. package/dist/web/text/index.d.ts +2 -0
  229. package/dist/web/text/index.js +2 -0
  230. package/dist/web/text/manifest.json +195 -0
  231. package/dist/web/text/text.css +1 -0
  232. package/dist/web/text/text.svelte +515 -0
  233. package/dist/web/text/text.svelte.d.ts +168 -0
  234. package/dist/web/textarea/AI_GUIDE.md +141 -0
  235. package/dist/web/textarea/index.d.ts +2 -0
  236. package/dist/web/textarea/index.js +2 -0
  237. package/dist/web/textarea/manifest.json +438 -0
  238. package/dist/web/textarea/textarea.css +1 -0
  239. package/dist/web/textarea/textarea.svelte +224 -0
  240. package/dist/web/textarea/textarea.svelte.d.ts +274 -0
  241. package/dist/web/tooltip/AI_GUIDE.md +110 -0
  242. package/dist/web/tooltip/index.d.ts +2 -0
  243. package/dist/web/tooltip/index.js +2 -0
  244. package/dist/web/tooltip/manifest.json +222 -0
  245. package/dist/web/tooltip/tooltip.css +1 -0
  246. package/dist/web/tooltip/tooltip.svelte +292 -0
  247. package/dist/web/tooltip/tooltip.svelte.d.ts +140 -0
  248. package/dist/webview/bottomsheet/AI_GUIDE.md +141 -0
  249. package/dist/webview/bottomsheet/bottomsheet.css +1 -0
  250. package/dist/webview/bottomsheet/bottomsheet.svelte +462 -0
  251. package/dist/webview/bottomsheet/bottomsheet.svelte.d.ts +200 -0
  252. package/dist/webview/bottomsheet/index.d.ts +4 -0
  253. package/dist/webview/bottomsheet/index.js +3 -0
  254. package/dist/webview/bottomsheet/manifest.json +377 -0
  255. package/dist/webview/button/AI_GUIDE.md +79 -0
  256. package/dist/webview/button/button-ios.css +1 -0
  257. package/dist/webview/button/button-ios.svelte +58 -0
  258. package/dist/webview/button/button-ios.svelte.d.ts +114 -0
  259. package/dist/webview/button/button-material.css +1 -0
  260. package/dist/webview/button/button-material.svelte +58 -0
  261. package/dist/webview/button/button-material.svelte.d.ts +114 -0
  262. package/dist/webview/button/index.d.ts +6 -0
  263. package/dist/webview/button/index.js +4 -0
  264. package/dist/webview/button/manifest.json +148 -0
  265. package/dist/webview/index.d.ts +6 -0
  266. package/dist/webview/index.js +6 -0
  267. package/llms.txt +6518 -0
  268. package/package.json +709 -4
  269. package/ttdk-manifest.json +10188 -0
  270. package/README.md +0 -3
@@ -0,0 +1,663 @@
1
+ /* ==========================================================================
2
+ TTDK Design System — Core Design Tokens
3
+ Design Token v4
4
+ Structure: Primitives → Mode Tokens (Light/Dark) → Sidebar → Spacing etc.
5
+ ========================================================================== */
6
+
7
+ :root {
8
+ /* ========================================================================
9
+ PRIMITIVE COLOR RAMPS
10
+ ======================================================================== */
11
+
12
+ /* Blue */
13
+ --ttdk-color-blue-50: #fafcff;
14
+ --ttdk-color-blue-100: #ecf3fe;
15
+ --ttdk-color-blue-200: #dceafe;
16
+ --ttdk-color-blue-300: #84b4fb;
17
+ --ttdk-color-blue-400: #4d93fc;
18
+ --ttdk-color-blue-500: #0968f6;
19
+ --ttdk-color-blue-600: #0049b8;
20
+ --ttdk-color-blue-700: #002a69;
21
+ --ttdk-color-blue-800: #0e192a;
22
+ --ttdk-color-blue-900: #070e17;
23
+
24
+ /* Brand Blue */
25
+ --ttdk-color-brand-blue-100: #ebf3ff;
26
+ --ttdk-color-brand-blue-200: #cee6fe;
27
+ --ttdk-color-brand-blue-300: #98cafe;
28
+ --ttdk-color-brand-blue-400: #60adfe;
29
+ --ttdk-color-brand-blue-500: #3899fe;
30
+ --ttdk-color-brand-blue-600: #1e81e8;
31
+ --ttdk-color-brand-blue-700: #1968bd;
32
+ --ttdk-color-brand-blue-800: #144e8c;
33
+ --ttdk-color-brand-blue-900: #0d3255;
34
+
35
+ /* Brand Green */
36
+ --ttdk-color-brand-green-100: #e1fbfa;
37
+ --ttdk-color-brand-green-200: #b8edea;
38
+ --ttdk-color-brand-green-300: #80dcd8;
39
+ --ttdk-color-brand-green-400: #20d6cd;
40
+ --ttdk-color-brand-green-500: #16b3ac;
41
+ --ttdk-color-brand-green-600: #128f8a;
42
+ --ttdk-color-brand-green-700: #0d6b67;
43
+ --ttdk-color-brand-green-800: #094845;
44
+ --ttdk-color-brand-green-900: #062f2d;
45
+
46
+ /* Coral */
47
+ --ttdk-color-coral-50: #fffbfa;
48
+ --ttdk-color-coral-100: #fff5eb;
49
+ --ttdk-color-coral-200: #ffead3;
50
+ --ttdk-color-coral-300: #ffc382;
51
+ --ttdk-color-coral-400: #ff8806;
52
+ --ttdk-color-coral-500: #ec7303;
53
+ --ttdk-color-coral-600: #c15100;
54
+ --ttdk-color-coral-700: #562501;
55
+ --ttdk-color-coral-800: #2f1604;
56
+ --ttdk-color-coral-900: #170b02;
57
+
58
+ /* Green */
59
+ --ttdk-color-green-50: #fafffa;
60
+ --ttdk-color-green-100: #edfded;
61
+ --ttdk-color-green-200: #e0fae0;
62
+ --ttdk-color-green-300: #a6f0a5;
63
+ --ttdk-color-green-400: #4ce160;
64
+ --ttdk-color-green-500: #3cc14e;
65
+ --ttdk-color-green-600: #288034;
66
+ --ttdk-color-green-700: #1b561a;
67
+ --ttdk-color-green-800: #0c310d;
68
+ --ttdk-color-green-900: #021d06;
69
+
70
+ /* Indigo */
71
+ --ttdk-color-indigo-50: #fafdff;
72
+ --ttdk-color-indigo-100: #ebf7ff;
73
+ --ttdk-color-indigo-200: #d3effe;
74
+ --ttdk-color-indigo-300: #80d0fd;
75
+ --ttdk-color-indigo-400: #0aa7ff;
76
+ --ttdk-color-indigo-500: #0099f0;
77
+ --ttdk-color-indigo-600: #0364ab;
78
+ --ttdk-color-indigo-700: #003c66;
79
+ --ttdk-color-indigo-800: #01243d;
80
+ --ttdk-color-indigo-900: #02121d;
81
+
82
+ /* Lime */
83
+ --ttdk-color-lime-50: #fdfffa;
84
+ --ttdk-color-lime-100: #f8fded;
85
+ --ttdk-color-lime-200: #f2fcdf;
86
+ --ttdk-color-lime-300: #ddf6aa;
87
+ --ttdk-color-lime-400: #bbed56;
88
+ --ttdk-color-lime-500: #90c821;
89
+ --ttdk-color-lime-600: #5b7d17;
90
+ --ttdk-color-lime-700: #3b5110;
91
+ --ttdk-color-lime-800: #202d06;
92
+ --ttdk-color-lime-900: #141d02;
93
+
94
+ /* Neutral */
95
+ --ttdk-color-neutral-white: #ffffff;
96
+ --ttdk-color-neutral-50: #f1f2f3;
97
+ --ttdk-color-neutral-100: #e4e5e7;
98
+ --ttdk-color-neutral-200: #cacccf;
99
+ --ttdk-color-neutral-300: #b1b5b9;
100
+ --ttdk-color-neutral-400: #969ba2;
101
+ --ttdk-color-neutral-500: #7b828a;
102
+ --ttdk-color-neutral-600: #62686f;
103
+ --ttdk-color-neutral-700: #4a4f53;
104
+ --ttdk-color-neutral-800: #313336;
105
+ --ttdk-color-neutral-900: #232323;
106
+ --ttdk-color-neutral-black: #141313;
107
+
108
+ /* Orange */
109
+ --ttdk-color-orange-50: #fffcfa;
110
+ --ttdk-color-orange-100: #ffefeb;
111
+ --ttdk-color-orange-200: #ffe1d7;
112
+ --ttdk-color-orange-300: #ffa78a;
113
+ --ttdk-color-orange-400: #ff6a38;
114
+ --ttdk-color-orange-500: #f3511b;
115
+ --ttdk-color-orange-600: #d03706;
116
+ --ttdk-color-orange-700: #5e1d08;
117
+ --ttdk-color-orange-800: #2f0e04;
118
+ --ttdk-color-orange-900: #1d0802;
119
+
120
+ /* Pink */
121
+ --ttdk-color-pink-50: #fff5fa;
122
+ --ttdk-color-pink-100: #fdedf5;
123
+ --ttdk-color-pink-200: #fcdcec;
124
+ --ttdk-color-pink-300: #f79cc8;
125
+ --ttdk-color-pink-400: #f155a0;
126
+ --ttdk-color-pink-500: #e9358b;
127
+ --ttdk-color-pink-600: #a51359;
128
+ --ttdk-color-pink-700: #4b112d;
129
+ --ttdk-color-pink-800: #36061d;
130
+ --ttdk-color-pink-900: #1d020f;
131
+
132
+ /* Purple */
133
+ --ttdk-color-purple-50: #fdfaff;
134
+ --ttdk-color-purple-100: #faf5fe;
135
+ --ttdk-color-purple-200: #efddfd;
136
+ --ttdk-color-purple-300: #cc9ef0;
137
+ --ttdk-color-purple-400: #b56bf0;
138
+ --ttdk-color-purple-500: #8935cb;
139
+ --ttdk-color-purple-600: #631f99;
140
+ --ttdk-color-purple-700: #3e135f;
141
+ --ttdk-color-purple-800: #1c042f;
142
+ --ttdk-color-purple-900: #11021d;
143
+
144
+ /* Red */
145
+ --ttdk-color-red-50: #fffafa;
146
+ --ttdk-color-red-100: #fdeded;
147
+ --ttdk-color-red-200: #ffe0e0;
148
+ --ttdk-color-red-300: #ffa0a0;
149
+ --ttdk-color-red-400: #ff5c5c;
150
+ --ttdk-color-red-500: #f02d2d;
151
+ --ttdk-color-red-600: #d50b0b;
152
+ --ttdk-color-red-700: #570303;
153
+ --ttdk-color-red-800: #2a0303;
154
+ --ttdk-color-red-900: #1d0202;
155
+
156
+ /* Skin */
157
+ --ttdk-color-skin-100: #fbe8e0;
158
+ --ttdk-color-skin-200: #ffd8be;
159
+ --ttdk-color-skin-300: #f3b398;
160
+ --ttdk-color-skin-400: #ffb1a5;
161
+ --ttdk-color-skin-500: #d88880;
162
+ --ttdk-color-skin-600: #c28f7a;
163
+ --ttdk-color-skin-700: #926b5b;
164
+ --ttdk-color-skin-800: #61483d;
165
+ --ttdk-color-skin-900: #31241e;
166
+
167
+ /* Turqoise */
168
+ --ttdk-color-turqoise-50: #effbfb;
169
+ --ttdk-color-turqoise-100: #d7f4f6;
170
+ --ttdk-color-turqoise-200: #8edfe5;
171
+ --ttdk-color-turqoise-300: #44ccd5;
172
+ --ttdk-color-turqoise-400: #1bbfca;
173
+ --ttdk-color-turqoise-500: #006f93;
174
+ --ttdk-color-turqoise-600: #07465a;
175
+ --ttdk-color-turqoise-700: #07465a;
176
+ --ttdk-color-turqoise-800: #04252f;
177
+ --ttdk-color-turqoise-900: #02161d;
178
+
179
+ /* Violet */
180
+ --ttdk-color-violet-50: #fbfaff;
181
+ --ttdk-color-violet-100: #f7f6fe;
182
+ --ttdk-color-violet-200: #e2ddfd;
183
+ --ttdk-color-violet-300: #ad9efa;
184
+ --ttdk-color-violet-400: #8770ff;
185
+ --ttdk-color-violet-500: #583aee;
186
+ --ttdk-color-violet-600: #3b1fc6;
187
+ --ttdk-color-violet-700: #271a68;
188
+ --ttdk-color-violet-800: #140f2e;
189
+ --ttdk-color-violet-900: #06021d;
190
+
191
+ /* Yellow */
192
+ --ttdk-color-yellow-50: #fffefa;
193
+ --ttdk-color-yellow-100: #fff9eb;
194
+ --ttdk-color-yellow-200: #fff8d5;
195
+ --ttdk-color-yellow-300: #ffe58a;
196
+ --ttdk-color-yellow-400: #ffcc14;
197
+ --ttdk-color-yellow-500: #eebb04;
198
+ --ttdk-color-yellow-600: #855f00;
199
+ --ttdk-color-yellow-700: #553b06;
200
+ --ttdk-color-yellow-800: #312102;
201
+ --ttdk-color-yellow-900: #1c1402;
202
+
203
+ /* Brand Aliases */
204
+ --ttdk-brand-100: var(--ttdk-color-brand-green-100);
205
+ --ttdk-brand-200: var(--ttdk-color-brand-green-200);
206
+ --ttdk-brand-300: var(--ttdk-color-brand-green-300);
207
+ --ttdk-brand-400: var(--ttdk-color-brand-green-400);
208
+ --ttdk-brand-500: var(--ttdk-color-brand-green-500);
209
+ --ttdk-brand-600: var(--ttdk-color-brand-green-600);
210
+ --ttdk-brand-700: var(--ttdk-color-brand-green-700);
211
+ --ttdk-brand-800: var(--ttdk-color-brand-green-800);
212
+ --ttdk-brand-900: var(--ttdk-color-brand-green-900);
213
+ --ttdk-brand-default: var(--ttdk-color-brand-green-500);
214
+ --ttdk-brand-strong: var(--ttdk-color-brand-green-600);
215
+ --ttdk-brand-subtle: var(--ttdk-color-brand-green-100);
216
+ --ttdk-brand-subtle-dark: var(--ttdk-color-brand-green-900);
217
+
218
+ /* Convenience */
219
+ --ttdk-color-white: var(--ttdk-color-neutral-white);
220
+ --ttdk-color-black: var(--ttdk-color-neutral-black);
221
+ /* Sidebar (not in standard ramp) */
222
+ --ttdk-color-sidebar-bg: #0a0c29;
223
+
224
+ /* ========================================================================
225
+ SEMANTIC COLOR TOKENS — LIGHT THEME
226
+ ======================================================================== */
227
+
228
+ /* Background */
229
+ --ttdk-bg-base-primary: var(--ttdk-color-neutral-white);
230
+ --ttdk-bg-card: var(--ttdk-color-neutral-white);
231
+ --ttdk-bg-inverse: var(--ttdk-color-neutral-black);
232
+ --ttdk-bg-overlay: rgba(20, 19, 19, 0.5); /* Neutral/black × Opacity/50 */
233
+ --ttdk-bg-secondary-disabled: var(--ttdk-color-neutral-50);
234
+ --ttdk-bg-status-error: var(--ttdk-color-red-500);
235
+ --ttdk-bg-status-error-strong: var(--ttdk-color-red-700);
236
+ --ttdk-bg-status-error-subtle: var(--ttdk-color-red-200);
237
+ --ttdk-bg-status-info: var(--ttdk-color-blue-500);
238
+ --ttdk-bg-status-info-strong: var(--ttdk-color-blue-700);
239
+ --ttdk-bg-status-info-subtle: var(--ttdk-color-blue-200);
240
+ --ttdk-bg-status-success: var(--ttdk-color-green-500);
241
+ --ttdk-bg-status-success-strong: var(--ttdk-color-green-700);
242
+ --ttdk-bg-status-success-subtle: var(--ttdk-color-green-200);
243
+ --ttdk-bg-status-warning: var(--ttdk-color-yellow-400);
244
+ --ttdk-bg-status-warning-strong: var(--ttdk-color-yellow-700);
245
+ --ttdk-bg-status-warning-subtle: var(--ttdk-color-yellow-200);
246
+ --ttdk-bg-stay-black: var(--ttdk-color-neutral-black);
247
+ --ttdk-bg-stay-white: var(--ttdk-color-neutral-white);
248
+ --ttdk-bg-tertiary: var(--ttdk-color-neutral-800);
249
+
250
+ /* Brand */
251
+ --ttdk-brand-brand-default: var(--ttdk-brand-default);
252
+ --ttdk-brand-brand-strong: var(--ttdk-brand-strong);
253
+ --ttdk-brand-brand-subtle: var(--ttdk-brand-subtle);
254
+
255
+ /* Shimmer & Shadow */
256
+ --ttdk-shimmer-shadow-elevation: rgba(
257
+ 20,
258
+ 19,
259
+ 19,
260
+ 0.1
261
+ ); /* Neutral/black × Opacity/10 */
262
+ --ttdk-shimmer-shadow-shimmer-base: var(--ttdk-color-neutral-100);
263
+ --ttdk-shimmer-shadow-shimmer-highlight: var(--ttdk-color-neutral-50);
264
+
265
+ /* Stroke */
266
+ --ttdk-stroke-border-focus: var(--ttdk-brand-default);
267
+ --ttdk-stroke-divider: var(--ttdk-color-neutral-200);
268
+ --ttdk-stroke-inverse: var(--ttdk-color-neutral-black);
269
+ --ttdk-stroke-status-error: var(--ttdk-color-red-500);
270
+ --ttdk-stroke-status-info: var(--ttdk-color-blue-500);
271
+ --ttdk-stroke-status-success: var(--ttdk-color-green-500);
272
+ --ttdk-stroke-status-warning: var(--ttdk-color-yellow-400);
273
+ --ttdk-stroke-stay-black: var(--ttdk-color-neutral-black);
274
+ --ttdk-stroke-stay-white: var(--ttdk-color-neutral-white);
275
+ --ttdk-stroke-strong: var(--ttdk-color-neutral-500);
276
+ --ttdk-stroke-subtle: var(--ttdk-color-neutral-100);
277
+
278
+ /* Text & Icon */
279
+ --ttdk-text-icon-disabled: var(--ttdk-color-neutral-400);
280
+ --ttdk-text-icon-inverse: var(--ttdk-color-neutral-white);
281
+ --ttdk-text-icon-primary: var(--ttdk-color-neutral-black);
282
+ --ttdk-text-icon-secondary: var(--ttdk-color-neutral-600);
283
+ --ttdk-text-icon-status-error: var(--ttdk-color-red-500);
284
+ --ttdk-text-icon-status-error-strong: var(--ttdk-color-red-700);
285
+ --ttdk-text-icon-status-info: var(--ttdk-color-blue-500);
286
+ --ttdk-text-icon-status-info-strong: var(--ttdk-color-blue-700);
287
+ --ttdk-text-icon-status-success: var(--ttdk-color-green-500);
288
+ --ttdk-text-icon-status-success-strong: var(--ttdk-color-green-700);
289
+ --ttdk-text-icon-status-warning: var(--ttdk-color-coral-400);
290
+ --ttdk-text-icon-status-warning-strong: var(--ttdk-color-yellow-700);
291
+ --ttdk-text-icon-stay-black: var(--ttdk-color-neutral-black);
292
+ --ttdk-text-icon-stay-white: var(--ttdk-color-neutral-white);
293
+
294
+ /* Chart — Categorical Data */
295
+ --ttdk-chart-categorical-data-01: var(--ttdk-color-indigo-400);
296
+ --ttdk-chart-categorical-data-02: var(--ttdk-color-violet-400);
297
+ --ttdk-chart-categorical-data-03: var(--ttdk-color-red-400);
298
+ --ttdk-chart-categorical-data-04: var(--ttdk-color-turqoise-400);
299
+ --ttdk-chart-categorical-data-05: var(--ttdk-color-orange-400);
300
+ --ttdk-chart-categorical-data-06: var(--ttdk-color-yellow-400);
301
+ --ttdk-chart-categorical-data-07: var(--ttdk-color-blue-500);
302
+ --ttdk-chart-categorical-data-08: var(--ttdk-color-pink-400);
303
+ --ttdk-chart-categorical-data-09: var(--ttdk-color-green-400);
304
+ --ttdk-chart-categorical-data-10: var(--ttdk-color-purple-400);
305
+
306
+ /* Chart — Risk */
307
+ --ttdk-chart-risk-01: var(--ttdk-color-green-600);
308
+ --ttdk-chart-risk-02: var(--ttdk-color-green-500);
309
+ --ttdk-chart-risk-03: var(--ttdk-color-lime-400);
310
+ --ttdk-chart-risk-04: var(--ttdk-color-yellow-400);
311
+ --ttdk-chart-risk-05: var(--ttdk-color-coral-400);
312
+ --ttdk-chart-risk-06: var(--ttdk-color-orange-400);
313
+ --ttdk-chart-risk-07: var(--ttdk-color-red-500);
314
+ --ttdk-chart-risk-08: var(--ttdk-color-red-600);
315
+
316
+ /* Chart — Set Data and Single Data */
317
+ --ttdk-chart-set-data-01: var(--ttdk-brand-200);
318
+ --ttdk-chart-set-data-02: var(--ttdk-brand-300);
319
+ --ttdk-chart-set-data-03: var(--ttdk-brand-400);
320
+ --ttdk-chart-set-data-04: var(--ttdk-brand-500);
321
+ --ttdk-chart-set-data-05: var(--ttdk-brand-600);
322
+ --ttdk-chart-set-data-06: var(--ttdk-brand-700);
323
+ --ttdk-chart-set-data-07: var(--ttdk-brand-800);
324
+ --ttdk-chart-single-data-primary: var(--ttdk-brand-500);
325
+
326
+ /* ========================================================================
327
+ SPACING
328
+ ======================================================================== */
329
+ --ttdk-spacing-none: 0px;
330
+ --ttdk-spacing-xxxs: 2px;
331
+ --ttdk-spacing-xxs: 4px;
332
+ --ttdk-spacing-xs: 8px;
333
+ --ttdk-spacing-sm: 12px;
334
+ --ttdk-spacing-md: 16px;
335
+ --ttdk-spacing-lg: 24px;
336
+ --ttdk-spacing-xl: 32px;
337
+ --ttdk-spacing-xxl: 48px;
338
+ --ttdk-spacing-3xl: 64px;
339
+ --ttdk-spacing-4xl: 80px;
340
+ --ttdk-spacing-5xl: 128px;
341
+ --ttdk-spacing-6xl: 256px;
342
+ --ttdk-spacing-7xl: 1000px;
343
+
344
+ --ttdk-spacing-0: var(--ttdk-spacing-none);
345
+ --ttdk-spacing-2: var(--ttdk-spacing-xxxs);
346
+ --ttdk-spacing-4: var(--ttdk-spacing-xxs);
347
+ --ttdk-spacing-8: var(--ttdk-spacing-xs);
348
+ --ttdk-spacing-12: var(--ttdk-spacing-sm);
349
+ --ttdk-spacing-16: var(--ttdk-spacing-md);
350
+ --ttdk-spacing-24: var(--ttdk-spacing-lg);
351
+ --ttdk-spacing-32: var(--ttdk-spacing-xl);
352
+ --ttdk-spacing-48: var(--ttdk-spacing-xxl);
353
+ --ttdk-spacing-64: var(--ttdk-spacing-3xl);
354
+ --ttdk-spacing-80: var(--ttdk-spacing-4xl);
355
+ --ttdk-spacing-128: var(--ttdk-spacing-5xl);
356
+ --ttdk-spacing-256: var(--ttdk-spacing-6xl);
357
+ --ttdk-spacing-1000: var(--ttdk-spacing-7xl);
358
+
359
+ /* ========================================================================
360
+ CORNER RADIUS
361
+ ======================================================================== */
362
+ --ttdk-radius-none: 0px;
363
+ --ttdk-radius-xs: 6px;
364
+ --ttdk-radius-sm: 8px;
365
+ --ttdk-radius-md: 12px;
366
+ --ttdk-radius-lg: 16px;
367
+ --ttdk-radius-xl: 24px;
368
+ --ttdk-radius-round: 50px;
369
+ --ttdk-radius-full: 9999px;
370
+
371
+ --ttdk-radius-input-none: 0px;
372
+ --ttdk-radius-input-xs: 2px;
373
+ --ttdk-radius-input-sm: 4px;
374
+ --ttdk-radius-input-md: 6px;
375
+ --ttdk-radius-input-lg: 8px;
376
+ --ttdk-radius-input-xl: 12px;
377
+ --ttdk-radius-input-2xl: 16px;
378
+ --ttdk-radius-input-round: 50px;
379
+ --ttdk-radius-input-full: 9999px;
380
+
381
+ /* ========================================================================
382
+ STROKE WIDTH
383
+ ======================================================================== */
384
+ --ttdk-stroke-width-thin: 1px;
385
+ --ttdk-stroke-width-med: 2px;
386
+ --ttdk-stroke-width-thick: 4px;
387
+
388
+ /* ========================================================================
389
+ CARD SIZE
390
+ ======================================================================== */
391
+ --ttdk-card-size-1-1: 1128px;
392
+ --ttdk-card-size-1-2: 552px;
393
+ --ttdk-card-size-1-3: 360px;
394
+ --ttdk-card-size-1-4: 264px;
395
+ --ttdk-card-size-mobile: 328px;
396
+
397
+ /* ========================================================================
398
+ SHADOWS
399
+ ======================================================================== */
400
+ --ttdk-shadow-sm: 0px 1px 10px 0px rgba(0, 0, 0, 0.08);
401
+ --ttdk-shadow-md: 0px 1px 15px 0px rgba(0, 0, 0, 0.1);
402
+ --ttdk-shadow-lg: 0px 4px 12px 0px rgba(48, 49, 53, 0.2);
403
+ --ttdk-shadow-top: 0px 4px 12px 0px rgba(48, 49, 53, 0.2);
404
+ --ttdk-shadow-bottom: 0px 4px 16px 0px rgba(0, 0, 0, 0.08);
405
+ --ttdk-shadow-right: 4px 0px 16px 0px rgba(0, 0, 0, 0.08);
406
+ --ttdk-shadow-left: -4px 0px 16px 0px rgba(0, 0, 0, 0.08);
407
+
408
+ /* ========================================================================
409
+ TYPOGRAPHY
410
+ ======================================================================== */
411
+ --ttdk-font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI",
412
+ Roboto, "Helvetica Neue", Arial, sans-serif;
413
+ --ttdk-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
414
+ monospace;
415
+
416
+ --ttdk-font-weight-regular: 400;
417
+ --ttdk-font-weight-medium: 500;
418
+ --ttdk-font-weight-semibold: 600;
419
+ --ttdk-font-weight-bold: 700;
420
+ --ttdk-font-weight-extrabold: 800;
421
+
422
+ --ttdk-font-size-9: 9px;
423
+ --ttdk-font-size-10: 10px;
424
+ --ttdk-font-size-12: 12px;
425
+ --ttdk-font-size-14: 14px;
426
+ --ttdk-font-size-16: 16px;
427
+ --ttdk-font-size-18: 18px;
428
+ --ttdk-font-size-20: 20px;
429
+ --ttdk-font-size-24: 24px;
430
+ --ttdk-font-size-32: 32px;
431
+ --ttdk-font-size-48: 48px;
432
+ --ttdk-font-size-64: 64px;
433
+
434
+ --ttdk-line-height-tight: 100%;
435
+ --ttdk-line-height-heading: 125%;
436
+ --ttdk-line-height-body: 150%;
437
+ }
438
+
439
+ /* ==========================================================================
440
+ BRAND THEME: PRIMARY BLUE
441
+ Overrides mode tokens that depend on the primary brand color.
442
+ ========================================================================== */
443
+ [data-brand="primary-blue"] {
444
+ --ttdk-brand-100: var(--ttdk-color-brand-blue-100);
445
+ --ttdk-brand-200: var(--ttdk-color-brand-blue-200);
446
+ --ttdk-brand-300: var(--ttdk-color-brand-blue-300);
447
+ --ttdk-brand-400: var(--ttdk-color-brand-blue-400);
448
+ --ttdk-brand-500: var(--ttdk-color-brand-blue-500);
449
+ --ttdk-brand-600: var(--ttdk-color-brand-blue-600);
450
+ --ttdk-brand-700: var(--ttdk-color-brand-blue-700);
451
+ --ttdk-brand-800: var(--ttdk-color-brand-blue-800);
452
+ --ttdk-brand-900: var(--ttdk-color-brand-blue-900);
453
+ --ttdk-brand-default: var(--ttdk-color-brand-blue-500);
454
+ --ttdk-brand-strong: var(--ttdk-color-brand-blue-600);
455
+ --ttdk-brand-subtle: var(--ttdk-color-brand-blue-100);
456
+ --ttdk-brand-subtle-dark: var(--ttdk-color-brand-blue-900);
457
+ }
458
+
459
+ /* ==========================================================================
460
+ SEMANTIC COLOR TOKENS — DARK THEME
461
+ ========================================================================== */
462
+ .dark,
463
+ :root.dark,
464
+ [data-theme="dark"] {
465
+ /* Background */
466
+ --ttdk-bg-base-primary: var(--ttdk-color-neutral-black);
467
+ --ttdk-bg-card: var(--ttdk-color-neutral-900);
468
+ --ttdk-bg-inverse: var(--ttdk-color-neutral-white);
469
+ --ttdk-bg-overlay: rgba(20, 19, 19, 0.1);
470
+ --ttdk-bg-secondary-disabled: var(--ttdk-color-neutral-800);
471
+ --ttdk-bg-status-error: var(--ttdk-color-red-500);
472
+ --ttdk-bg-status-error-strong: var(--ttdk-color-red-300);
473
+ --ttdk-bg-status-error-subtle: var(--ttdk-color-red-700);
474
+ --ttdk-bg-status-info: var(--ttdk-color-blue-500);
475
+ --ttdk-bg-status-info-strong: var(--ttdk-color-blue-300);
476
+ --ttdk-bg-status-info-subtle: var(--ttdk-color-blue-700);
477
+ --ttdk-bg-status-success: var(--ttdk-color-green-500);
478
+ --ttdk-bg-status-success-strong: var(--ttdk-color-green-200);
479
+ --ttdk-bg-status-success-subtle: var(--ttdk-color-green-700);
480
+ --ttdk-bg-status-warning: var(--ttdk-color-yellow-400);
481
+ --ttdk-bg-status-warning-strong: var(--ttdk-color-yellow-300);
482
+ --ttdk-bg-status-warning-subtle: var(--ttdk-color-yellow-700);
483
+ --ttdk-bg-stay-black: var(--ttdk-color-neutral-black);
484
+ --ttdk-bg-stay-white: var(--ttdk-color-neutral-white);
485
+ --ttdk-bg-tertiary: var(--ttdk-color-neutral-50);
486
+
487
+ /* Brand */
488
+ --ttdk-brand-brand-default: var(--ttdk-brand-default);
489
+ --ttdk-brand-brand-strong: var(--ttdk-brand-subtle);
490
+ --ttdk-brand-brand-subtle: var(--ttdk-brand-subtle-dark);
491
+
492
+ /* Shimmer & Shadow */
493
+ --ttdk-shimmer-shadow-elevation: rgba(255, 255, 255, 0.05);
494
+ --ttdk-shimmer-shadow-shimmer-base: var(--ttdk-color-neutral-800);
495
+ --ttdk-shimmer-shadow-shimmer-highlight: var(--ttdk-color-neutral-700);
496
+
497
+ /* Stroke */
498
+ --ttdk-stroke-border-focus: var(--ttdk-brand-default);
499
+ --ttdk-stroke-divider: var(--ttdk-color-neutral-700);
500
+ --ttdk-stroke-inverse: var(--ttdk-color-neutral-white);
501
+ --ttdk-stroke-status-error: var(--ttdk-color-red-300);
502
+ --ttdk-stroke-status-info: var(--ttdk-color-blue-300);
503
+ --ttdk-stroke-status-success: var(--ttdk-color-green-300);
504
+ --ttdk-stroke-status-warning: var(--ttdk-color-yellow-300);
505
+ --ttdk-stroke-stay-black: var(--ttdk-color-neutral-black);
506
+ --ttdk-stroke-stay-white: var(--ttdk-color-neutral-white);
507
+ --ttdk-stroke-strong: var(--ttdk-color-neutral-500);
508
+ --ttdk-stroke-subtle: var(--ttdk-color-neutral-800);
509
+
510
+ /* Text & Icon */
511
+ --ttdk-text-icon-disabled: var(--ttdk-color-neutral-500);
512
+ --ttdk-text-icon-inverse: var(--ttdk-color-neutral-black);
513
+ --ttdk-text-icon-primary: var(--ttdk-color-neutral-white);
514
+ --ttdk-text-icon-secondary: var(--ttdk-color-neutral-400);
515
+ --ttdk-text-icon-status-error: var(--ttdk-color-red-300);
516
+ --ttdk-text-icon-status-error-strong: var(--ttdk-color-red-200);
517
+ --ttdk-text-icon-status-info: var(--ttdk-color-blue-300);
518
+ --ttdk-text-icon-status-info-strong: var(--ttdk-color-blue-200);
519
+ --ttdk-text-icon-status-success: var(--ttdk-color-green-300);
520
+ --ttdk-text-icon-status-success-strong: var(--ttdk-color-green-200);
521
+ --ttdk-text-icon-status-warning: var(--ttdk-color-yellow-300);
522
+ --ttdk-text-icon-status-warning-strong: var(--ttdk-color-yellow-200);
523
+ --ttdk-text-icon-stay-black: var(--ttdk-color-neutral-black);
524
+ --ttdk-text-icon-stay-white: var(--ttdk-color-neutral-white);
525
+
526
+ /* Chart */
527
+ --ttdk-chart-categorical-data-07: var(--ttdk-color-blue-400);
528
+ --ttdk-chart-set-data-07: var(--ttdk-brand-100);
529
+ }
530
+
531
+ /* ==========================================================================
532
+ GRID UTILITY CLASSES
533
+ ========================================================================== */
534
+ :root {
535
+ --ttdk-screen-xs: 0px;
536
+ --ttdk-screen-sm: 600px;
537
+ --ttdk-screen-md: 900px;
538
+ --ttdk-screen-lg: 1200px;
539
+ --ttdk-screen-xl: 1536px;
540
+
541
+ --ttdk-grid-mobile-column: 4;
542
+ --ttdk-grid-mobile-gutter: 16px;
543
+ --ttdk-grid-mobile-margin: 16px;
544
+ --ttdk-grid-desktop-column: 12;
545
+ --ttdk-grid-desktop-gutter: 24px;
546
+ --ttdk-grid-desktop-margin: 32px;
547
+ }
548
+
549
+ .ttdk-grid-fluid {
550
+ width: 100%;
551
+ padding-left: var(--ttdk-grid-mobile-margin);
552
+ padding-right: var(--ttdk-grid-mobile-margin);
553
+ }
554
+
555
+ @media (min-width: 1440px) {
556
+ .ttdk-grid-fluid {
557
+ padding-left: var(--ttdk-grid-desktop-margin);
558
+ padding-right: var(--ttdk-grid-desktop-margin);
559
+ }
560
+ }
561
+
562
+ .ttdk-grid-fixed {
563
+ width: 100%;
564
+ max-width: var(--ttdk-card-size-1-1, 1128px);
565
+ margin-left: auto;
566
+ margin-right: auto;
567
+ padding-left: var(--ttdk-grid-mobile-margin);
568
+ padding-right: var(--ttdk-grid-mobile-margin);
569
+ }
570
+
571
+ @media (min-width: 1440px) {
572
+ .ttdk-grid-fixed {
573
+ padding-left: 0;
574
+ padding-right: 0;
575
+ }
576
+ }
577
+
578
+ .ttdk-grid-container {
579
+ display: grid;
580
+ grid-template-columns: repeat(var(--ttdk-grid-mobile-column), 1fr);
581
+ gap: var(--ttdk-grid-mobile-gutter);
582
+ }
583
+
584
+ @media (min-width: 1440px) {
585
+ .ttdk-grid-container {
586
+ grid-template-columns: repeat(var(--ttdk-grid-desktop-column), 1fr);
587
+ gap: var(--ttdk-grid-desktop-gutter);
588
+ }
589
+ }
590
+
591
+ .ttdk-col-span-1 {
592
+ grid-column: span 1;
593
+ }
594
+ .ttdk-col-span-2 {
595
+ grid-column: span 2;
596
+ }
597
+ .ttdk-col-span-3 {
598
+ grid-column: span 3;
599
+ }
600
+ .ttdk-col-span-4 {
601
+ grid-column: span 4;
602
+ }
603
+ .ttdk-col-span-5 {
604
+ grid-column: span 5;
605
+ }
606
+ .ttdk-col-span-6 {
607
+ grid-column: span 6;
608
+ }
609
+ .ttdk-col-span-7 {
610
+ grid-column: span 7;
611
+ }
612
+ .ttdk-col-span-8 {
613
+ grid-column: span 8;
614
+ }
615
+ .ttdk-col-span-9 {
616
+ grid-column: span 9;
617
+ }
618
+ .ttdk-col-span-10 {
619
+ grid-column: span 10;
620
+ }
621
+ .ttdk-col-span-11 {
622
+ grid-column: span 11;
623
+ }
624
+ .ttdk-col-span-12 {
625
+ grid-column: span 12;
626
+ }
627
+
628
+ .ttdk-col-offset-1 {
629
+ grid-column-start: 1;
630
+ }
631
+ .ttdk-col-offset-2 {
632
+ grid-column-start: 2;
633
+ }
634
+ .ttdk-col-offset-3 {
635
+ grid-column-start: 3;
636
+ }
637
+ .ttdk-col-offset-4 {
638
+ grid-column-start: 4;
639
+ }
640
+ .ttdk-col-offset-5 {
641
+ grid-column-start: 5;
642
+ }
643
+ .ttdk-col-offset-6 {
644
+ grid-column-start: 6;
645
+ }
646
+ .ttdk-col-offset-7 {
647
+ grid-column-start: 7;
648
+ }
649
+ .ttdk-col-offset-8 {
650
+ grid-column-start: 8;
651
+ }
652
+ .ttdk-col-offset-9 {
653
+ grid-column-start: 9;
654
+ }
655
+ .ttdk-col-offset-10 {
656
+ grid-column-start: 10;
657
+ }
658
+ .ttdk-col-offset-11 {
659
+ grid-column-start: 11;
660
+ }
661
+ .ttdk-col-offset-12 {
662
+ grid-column-start: 12;
663
+ }