css-is-awesome 1.1.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 (198) hide show
  1. package/AGENTS.md +343 -0
  2. package/CHANGELOG.md +1036 -0
  3. package/CLAUDE.md +9 -0
  4. package/CONTRACT.md +580 -0
  5. package/GEMINI.md +9 -0
  6. package/LICENSE +21 -0
  7. package/LICENSE-third-party +88 -0
  8. package/MIGRATION.md +312 -0
  9. package/README.md +380 -0
  10. package/ROADMAP.md +714 -0
  11. package/THEMING.md +290 -0
  12. package/THREE-TIERS.md +158 -0
  13. package/VERSIONING.md +200 -0
  14. package/_index.scss +34 -0
  15. package/api.scss +16 -0
  16. package/bin/README.md +57 -0
  17. package/bin/cia.cjs +114 -0
  18. package/bin/migrate-bootstrap.cjs +427 -0
  19. package/bin/migrate-tailwind.cjs +832 -0
  20. package/css-is-awesome.instructions.md +533 -0
  21. package/dist/css-is-awesome.core.css +598 -0
  22. package/dist/css-is-awesome.core.min.css +1 -0
  23. package/dist/css-is-awesome.css +3733 -0
  24. package/dist/css-is-awesome.min.css +1 -0
  25. package/dist/css-is-awesome.utilities.css +2445 -0
  26. package/dist/css-is-awesome.utilities.min.css +1 -0
  27. package/dist/tokens.css +508 -0
  28. package/dist/tokens.d.ts +266 -0
  29. package/dist/tokens.min.css +1 -0
  30. package/figma-tokens/README.md +57 -0
  31. package/figma-tokens/primitives-brand.scss +121 -0
  32. package/figma-tokens/semantic-dark.scss +61 -0
  33. package/figma-tokens/semantic-light.scss +61 -0
  34. package/figma-tokens/tokens.json +144 -0
  35. package/llm.txt +183 -0
  36. package/mcp/server.cjs +1495 -0
  37. package/package.json +199 -0
  38. package/public/icons/README.md +278 -0
  39. package/public/icons/arrow-right.svg +4 -0
  40. package/public/icons/check.svg +4 -0
  41. package/public/icons/chevron-down.svg +4 -0
  42. package/public/icons/close.svg +4 -0
  43. package/public/icons/core/arrow-down.svg +13 -0
  44. package/public/icons/core/arrow-left.svg +13 -0
  45. package/public/icons/core/arrow-right.svg +13 -0
  46. package/public/icons/core/arrow-up.svg +13 -0
  47. package/public/icons/core/bell.svg +13 -0
  48. package/public/icons/core/calendar.svg +15 -0
  49. package/public/icons/core/check.svg +12 -0
  50. package/public/icons/core/chevron-down.svg +12 -0
  51. package/public/icons/core/chevron-left.svg +12 -0
  52. package/public/icons/core/chevron-right.svg +12 -0
  53. package/public/icons/core/chevron-up.svg +12 -0
  54. package/public/icons/core/clock.svg +13 -0
  55. package/public/icons/core/close.svg +13 -0
  56. package/public/icons/core/copy.svg +13 -0
  57. package/public/icons/core/download.svg +14 -0
  58. package/public/icons/core/edit.svg +13 -0
  59. package/public/icons/core/error.svg +14 -0
  60. package/public/icons/core/external-link.svg +14 -0
  61. package/public/icons/core/eye-off.svg +15 -0
  62. package/public/icons/core/eye.svg +13 -0
  63. package/public/icons/core/filter.svg +12 -0
  64. package/public/icons/core/heart.svg +12 -0
  65. package/public/icons/core/help.svg +14 -0
  66. package/public/icons/core/home.svg +13 -0
  67. package/public/icons/core/info.svg +14 -0
  68. package/public/icons/core/loading.svg +12 -0
  69. package/public/icons/core/lock.svg +13 -0
  70. package/public/icons/core/mail.svg +13 -0
  71. package/public/icons/core/menu.svg +14 -0
  72. package/public/icons/core/message.svg +12 -0
  73. package/public/icons/core/minus.svg +12 -0
  74. package/public/icons/core/more-horizontal.svg +14 -0
  75. package/public/icons/core/pause.svg +13 -0
  76. package/public/icons/core/play.svg +12 -0
  77. package/public/icons/core/plus.svg +13 -0
  78. package/public/icons/core/refresh.svg +15 -0
  79. package/public/icons/core/save.svg +14 -0
  80. package/public/icons/core/search.svg +13 -0
  81. package/public/icons/core/settings.svg +13 -0
  82. package/public/icons/core/share.svg +14 -0
  83. package/public/icons/core/sort.svg +15 -0
  84. package/public/icons/core/star.svg +12 -0
  85. package/public/icons/core/success.svg +13 -0
  86. package/public/icons/core/trash.svg +16 -0
  87. package/public/icons/core/unlock.svg +13 -0
  88. package/public/icons/core/upload.svg +14 -0
  89. package/public/icons/core/user.svg +13 -0
  90. package/public/icons/core/users.svg +15 -0
  91. package/public/icons/core/warning.svg +14 -0
  92. package/public/icons/download.svg +4 -0
  93. package/public/icons/edit.svg +4 -0
  94. package/public/icons/menu.svg +4 -0
  95. package/public/icons/search.svg +4 -0
  96. package/public/theme.css +4179 -0
  97. package/public/themes/README.md +102 -0
  98. package/public/themes/boilerplate/theme.css +154 -0
  99. package/public/themes/boilerplate-dark/theme.css +171 -0
  100. package/public/themes/boilerplate-light/theme.css +171 -0
  101. package/public/themes/cupertino/theme.css +165 -0
  102. package/public/themes/cupertino-dark/theme.css +200 -0
  103. package/public/themes/cupertino-light/theme.css +227 -0
  104. package/public/themes/glass/theme.css +190 -0
  105. package/public/themes/glass-dark/theme.css +201 -0
  106. package/public/themes/glass-light/theme.css +229 -0
  107. package/public/themes/graphite/theme.css +155 -0
  108. package/public/themes/graphite-dark/theme.css +223 -0
  109. package/public/themes/graphite-light/theme.css +191 -0
  110. package/public/themes/press/theme.css +189 -0
  111. package/public/themes/press-dark/theme.css +199 -0
  112. package/public/themes/press-light/theme.css +235 -0
  113. package/public/themes/prism/theme.css +159 -0
  114. package/public/themes/prism-dark/theme.css +185 -0
  115. package/public/themes/prism-light/theme.css +188 -0
  116. package/public/themes/sketchbook/theme.css +152 -0
  117. package/public/themes/sketchbook-dark/theme.css +194 -0
  118. package/public/themes/sketchbook-light/theme.css +188 -0
  119. package/public/themes/terminal/theme.css +159 -0
  120. package/public/themes/terminal-dark/theme.css +229 -0
  121. package/public/themes/terminal-light/theme.css +152 -0
  122. package/scripts/README.md +70 -0
  123. package/scripts/icon-contract.json +67 -0
  124. package/scripts/icon-validator.js +205 -0
  125. package/scripts/prepare-dist.mjs +65 -0
  126. package/scripts/theme-a11y.js +415 -0
  127. package/scripts/theme-contract.json +171 -0
  128. package/scripts/theme-validator.js +674 -0
  129. package/scss/README.md +55 -0
  130. package/scss/_animations-utilities.scss +107 -0
  131. package/scss/_animations.scss +248 -0
  132. package/scss/_app-styles.scss +15 -0
  133. package/scss/_generator.scss +174 -0
  134. package/scss/_icons.scss +475 -0
  135. package/scss/_index.scss +17 -0
  136. package/scss/_layout.scss +597 -0
  137. package/scss/_mixins.scss +1036 -0
  138. package/scss/_system.scss +291 -0
  139. package/scss/_utilities.scss +377 -0
  140. package/scss/api.scss +61 -0
  141. package/scss/components/_accordion.scss +72 -0
  142. package/scss/components/_buttons.scss +171 -0
  143. package/scss/components/_copy-button.scss +69 -0
  144. package/scss/components/_data.scss +190 -0
  145. package/scss/components/_feedback.scss +197 -0
  146. package/scss/components/_forms.scss +272 -0
  147. package/scss/components/_index.scss +17 -0
  148. package/scss/components/_navigation.scss +186 -0
  149. package/scss/components/_overlay.scss +259 -0
  150. package/scss/components/_stepper.scss +159 -0
  151. package/scss/components/_tabs.scss +72 -0
  152. package/scss/core.scss +54 -0
  153. package/scss/examples/_theming.scss +107 -0
  154. package/scss/examples/_usage.scss +317 -0
  155. package/scss/main.scss +64 -0
  156. package/scss/recipes/README.md +110 -0
  157. package/scss/recipes/_bare-tags.scss +232 -0
  158. package/scss/recipes/_recipe-template.md +119 -0
  159. package/scss/recipes/combobox.md +509 -0
  160. package/scss/recipes/dialog.md +265 -0
  161. package/scss/recipes/print-to-pdf.md +263 -0
  162. package/scss/theme/README.md +67 -0
  163. package/scss/theme/_brand.scss +18 -0
  164. package/scss/theme/_colors-dark.scss +68 -0
  165. package/scss/theme/_colors-light.scss +70 -0
  166. package/scss/theme/_components.scss +94 -0
  167. package/scss/theme/_icons.scss +104 -0
  168. package/scss/theme/_index.scss +62 -0
  169. package/scss/theme/_shadows.scss +65 -0
  170. package/scss/theme/_shape.scss +13 -0
  171. package/scss/theme/_typography.scss +9 -0
  172. package/scss/theme/registry.json +447 -0
  173. package/scss/themes/boilerplate-dark.scss +212 -0
  174. package/scss/themes/boilerplate-light.scss +209 -0
  175. package/scss/themes/boilerplate.scss +181 -0
  176. package/scss/themes/cupertino-dark.scss +238 -0
  177. package/scss/themes/cupertino-light.scss +266 -0
  178. package/scss/themes/cupertino.scss +194 -0
  179. package/scss/themes/glass-dark.scss +238 -0
  180. package/scss/themes/glass-light.scss +266 -0
  181. package/scss/themes/glass.scss +220 -0
  182. package/scss/themes/graphite-dark.scss +260 -0
  183. package/scss/themes/graphite-light.scss +228 -0
  184. package/scss/themes/graphite.scss +182 -0
  185. package/scss/themes/press-dark.scss +237 -0
  186. package/scss/themes/press-light.scss +273 -0
  187. package/scss/themes/press.scss +241 -0
  188. package/scss/themes/prism-dark.scss +217 -0
  189. package/scss/themes/prism-light.scss +220 -0
  190. package/scss/themes/prism.scss +190 -0
  191. package/scss/themes/sketchbook-dark.scss +231 -0
  192. package/scss/themes/sketchbook-light.scss +231 -0
  193. package/scss/themes/sketchbook.scss +178 -0
  194. package/scss/themes/terminal-dark.scss +267 -0
  195. package/scss/themes/terminal-light.scss +175 -0
  196. package/scss/themes/terminal.scss +185 -0
  197. package/scss/tokens.scss +23 -0
  198. package/scss/utilities-only.scss +4 -0
@@ -0,0 +1,598 @@
1
+ :where(:root) {
2
+ --brand-primary: #3A5FCD;
3
+ --brand-primary-hover: #2E4A99;
4
+ --brand-primary-active: #1E3A8A;
5
+ --brand-secondary: #FF6B6B;
6
+ --brand-secondary-hover: #E85555;
7
+ --brand-secondary-active: #C55;
8
+ --brand-accent: #09F;
9
+ --brand-accent-hover: #0088E6;
10
+ --background-default: #FFF;
11
+ --background-subtle: #F8F6F0;
12
+ --background-navbar: #FAFAFA;
13
+ --surface-default: #FFF;
14
+ --surface-subtle: #F8F6F0;
15
+ --surface-muted: #F5F5F5;
16
+ --surface-emphasis: #E5E5E5;
17
+ --text-primary: #0f0f0f;
18
+ --text-secondary: #525252;
19
+ --text-muted: #6b6b6b;
20
+ --text-inverse: #fff;
21
+ --text-link: #384fff;
22
+ --text-link-hover: #2a3acc;
23
+ --border-default: #e5e5e5;
24
+ --border-subtle: #f5f5f5;
25
+ --border-emphasis: #d4d4d4;
26
+ --border-focus: #384fff;
27
+ --interactive-hover: rgba(0, 0, 0, 0.03);
28
+ --interactive-active: rgba(0, 0, 0, 0.06);
29
+ --action-primary-default: #3A5FCD;
30
+ --action-primary-hover: #2E4A99;
31
+ --action-primary-active: #1E3A8A;
32
+ --action-secondary-default: #FF6B6B;
33
+ --action-secondary-hover: #E85555;
34
+ --action-secondary-active: #C55;
35
+ --success-default: #10b981;
36
+ --success-hover: #059669;
37
+ --success-subtle: #ecfdf5;
38
+ --success-text: #065f46;
39
+ --warning-default: #f59e0b;
40
+ --warning-hover: #d97706;
41
+ --warning-subtle: #fffbeb;
42
+ --warning-text: #92400e;
43
+ --error-default: #DC2626;
44
+ --error-hover: #B91C1C;
45
+ --error-subtle: #FEF2F2;
46
+ --error-text: #991B1B;
47
+ --info-default: #3A5FCD;
48
+ --info-hover: #2E4A99;
49
+ --info-subtle: #EFF6FF;
50
+ --info-text: #1E3A8A;
51
+ --radius-none: 0;
52
+ --radius-sm: 0.25rem;
53
+ --radius-md: 0.375rem;
54
+ --radius-lg: 0.5rem;
55
+ --radius-xl: 0.75rem;
56
+ --radius-2xl: 1rem;
57
+ --radius-full: 9999px;
58
+ --shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
59
+ --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
60
+ --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
61
+ --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
62
+ --shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
63
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
64
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
65
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
66
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
67
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
68
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
69
+ --shadow-none: none;
70
+ --font-primary: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
71
+ --font-secondary: Georgia, Times New Roman, serif;
72
+ --font-mono: Fira Code, Consolas, Monaco, monospace;
73
+ --space-1: 0.5rem;
74
+ --space-2: 0.75rem;
75
+ --space-3: 0.875rem;
76
+ --space-4: 1rem;
77
+ --space-5: 1.5rem;
78
+ --space-6: 2rem;
79
+ --space-7: 3rem;
80
+ --space-8: 4rem;
81
+ --space-9: 6rem;
82
+ --space-0: 0;
83
+ --space-none: 0;
84
+ --space-2xs: 0.25rem;
85
+ --space-xs: var(--space-1);
86
+ --space-sm: var(--space-2);
87
+ --space-md: var(--space-4);
88
+ --space-lg: var(--space-5);
89
+ --space-xl: var(--space-6);
90
+ --space-2xl: var(--space-7);
91
+ --space-3xl: var(--space-8);
92
+ --space-4xl: var(--space-9);
93
+ --z-hide: -1;
94
+ --z-base: 0;
95
+ --z-dropdown: 1000;
96
+ --z-sticky: 1100;
97
+ --z-fixed: 1200;
98
+ --z-backdrop: 1300;
99
+ --z-modal: 1400;
100
+ --z-popover: 1500;
101
+ --z-tooltip: 1600;
102
+ --z-toast: 1700;
103
+ --font-size-1: 0.75rem;
104
+ --font-size-2: 0.875rem;
105
+ --font-size-3: 1rem;
106
+ --font-size-4: 1.125rem;
107
+ --font-size-5: 1.25rem;
108
+ --font-size-6: 1.5rem;
109
+ --font-size-7: 1.875rem;
110
+ --font-size-8: 2.25rem;
111
+ --font-size-9: 3rem;
112
+ --font-size-10: 3.75rem;
113
+ --font-size-xs: 0.75rem;
114
+ --font-size-sm: 0.875rem;
115
+ --font-size-base: 1rem;
116
+ --font-size-lg: 1.125rem;
117
+ --font-size-xl: 1.25rem;
118
+ --font-size-2xl: 1.5rem;
119
+ --font-size-3xl: 1.875rem;
120
+ --font-size-4xl: 2.25rem;
121
+ --font-size-5xl: 3rem;
122
+ --font-size-6xl: 3.75rem;
123
+ --font-weight-light: 300;
124
+ --font-weight-normal: 400;
125
+ --font-weight-medium: 500;
126
+ --font-weight-semibold: 600;
127
+ --font-weight-bold: 700;
128
+ --font-weight-black: 900;
129
+ --line-height-1: 1;
130
+ --line-height-2: 1.25;
131
+ --line-height-3: 1.375;
132
+ --line-height-4: 1.5;
133
+ --line-height-5: 1.625;
134
+ --line-height-6: 2;
135
+ --line-height-none: 1;
136
+ --line-height-tight: 1.25;
137
+ --line-height-snug: 1.375;
138
+ --line-height-normal: 1.5;
139
+ --line-height-relaxed: 1.625;
140
+ --line-height-loose: 2;
141
+ --duration-instant: 0ms;
142
+ --duration-fast: 150ms;
143
+ --duration-normal: 250ms;
144
+ --duration-slow: 400ms;
145
+ --duration-slower: 600ms;
146
+ --opacity-0: 0;
147
+ --opacity-5: 0.05;
148
+ --opacity-10: 0.1;
149
+ --opacity-20: 0.2;
150
+ --opacity-25: 0.25;
151
+ --opacity-30: 0.3;
152
+ --opacity-40: 0.4;
153
+ --opacity-50: 0.5;
154
+ --opacity-60: 0.6;
155
+ --opacity-70: 0.7;
156
+ --opacity-75: 0.75;
157
+ --opacity-80: 0.8;
158
+ --opacity-90: 0.9;
159
+ --opacity-95: 0.95;
160
+ --opacity-100: 1;
161
+ --btn-padding-y: var(--space-1, 0.5rem);
162
+ --btn-padding-x: var(--space-4, 1rem);
163
+ --btn-radius: var(--radius-md, 0.25rem);
164
+ --btn-font-weight: var(--font-weight-medium, 500);
165
+ --btn-font-size: var(--font-size-base, 1rem);
166
+ --btn-border-width: 1px;
167
+ --card-padding: var(--space-4, 1rem);
168
+ --card-radius: var(--radius-lg, 0.5rem);
169
+ --card-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
170
+ --card-border: 1px solid var(--border-default);
171
+ --input-padding-y: var(--space-1, 0.5rem);
172
+ --input-padding-x: var(--space-2, 0.75rem);
173
+ --input-radius: var(--radius-md, 0.25rem);
174
+ --input-border-width: 1px;
175
+ --alert-padding-y: var(--space-2, 0.75rem);
176
+ --alert-padding-x: var(--space-4, 1rem);
177
+ --alert-radius: var(--radius-md, 0.25rem);
178
+ --badge-padding-y: var(--space-1, 0.5rem);
179
+ --badge-padding-x: var(--space-1, 0.5rem);
180
+ --badge-radius: var(--radius-full, 9999px);
181
+ --tag-padding-y: var(--space-2xs, 0.25rem);
182
+ --tag-padding-x: var(--space-2, 0.75rem);
183
+ --tag-radius: var(--radius-md, 0.25rem);
184
+ --modal-padding: var(--space-5, 1.5rem);
185
+ --modal-radius: var(--radius-xl, 0.75rem);
186
+ --modal-shadow: var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25));
187
+ --popover-padding: var(--space-4, 1rem);
188
+ --popover-radius: var(--radius-lg, 0.5rem);
189
+ --popover-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
190
+ --tooltip-padding-y: var(--space-1, 0.5rem);
191
+ --tooltip-padding-x: var(--space-1, 0.5rem);
192
+ --tooltip-radius: var(--radius-md, 0.25rem);
193
+ --dropdown-radius: var(--radius-md, 0.25rem);
194
+ --dropdown-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
195
+ }
196
+
197
+ [data-theme=light] {
198
+ --brand-primary: #3A5FCD;
199
+ --brand-primary-hover: #2E4A99;
200
+ --brand-primary-active: #1E3A8A;
201
+ --brand-secondary: #FF6B6B;
202
+ --brand-secondary-hover: #E85555;
203
+ --brand-secondary-active: #C55;
204
+ --brand-accent: #09F;
205
+ --brand-accent-hover: #0088E6;
206
+ --background-default: #FFF;
207
+ --background-subtle: #F8F6F0;
208
+ --background-navbar: #FAFAFA;
209
+ --surface-default: #FFF;
210
+ --surface-subtle: #F8F6F0;
211
+ --surface-muted: #F5F5F5;
212
+ --surface-emphasis: #E5E5E5;
213
+ --text-primary: #0f0f0f;
214
+ --text-secondary: #525252;
215
+ --text-muted: #6b6b6b;
216
+ --text-inverse: #fff;
217
+ --text-link: #384fff;
218
+ --text-link-hover: #2a3acc;
219
+ --border-default: #e5e5e5;
220
+ --border-subtle: #f5f5f5;
221
+ --border-emphasis: #d4d4d4;
222
+ --border-focus: #384fff;
223
+ --interactive-hover: rgba(0, 0, 0, 0.03);
224
+ --interactive-active: rgba(0, 0, 0, 0.06);
225
+ --action-primary-default: #3A5FCD;
226
+ --action-primary-hover: #2E4A99;
227
+ --action-primary-active: #1E3A8A;
228
+ --action-secondary-default: #FF6B6B;
229
+ --action-secondary-hover: #E85555;
230
+ --action-secondary-active: #C55;
231
+ --success-default: #10b981;
232
+ --success-hover: #059669;
233
+ --success-subtle: #ecfdf5;
234
+ --success-text: #065f46;
235
+ --warning-default: #f59e0b;
236
+ --warning-hover: #d97706;
237
+ --warning-subtle: #fffbeb;
238
+ --warning-text: #92400e;
239
+ --error-default: #DC2626;
240
+ --error-hover: #B91C1C;
241
+ --error-subtle: #FEF2F2;
242
+ --error-text: #991B1B;
243
+ --info-default: #3A5FCD;
244
+ --info-hover: #2E4A99;
245
+ --info-subtle: #EFF6FF;
246
+ --info-text: #1E3A8A;
247
+ --radius-none: 0;
248
+ --radius-sm: 0.25rem;
249
+ --radius-md: 0.375rem;
250
+ --radius-lg: 0.5rem;
251
+ --radius-xl: 0.75rem;
252
+ --radius-2xl: 1rem;
253
+ --radius-full: 9999px;
254
+ --shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
255
+ --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
256
+ --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
257
+ --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
258
+ --shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
259
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
260
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
261
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
262
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
263
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
264
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
265
+ --shadow-none: none;
266
+ --font-primary: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
267
+ --font-secondary: Georgia, Times New Roman, serif;
268
+ --font-mono: Fira Code, Consolas, Monaco, monospace;
269
+ --space-1: 0.5rem;
270
+ --space-2: 0.75rem;
271
+ --space-3: 0.875rem;
272
+ --space-4: 1rem;
273
+ --space-5: 1.5rem;
274
+ --space-6: 2rem;
275
+ --space-7: 3rem;
276
+ --space-8: 4rem;
277
+ --space-9: 6rem;
278
+ --space-0: 0;
279
+ --space-none: 0;
280
+ --space-2xs: 0.25rem;
281
+ --space-xs: var(--space-1);
282
+ --space-sm: var(--space-2);
283
+ --space-md: var(--space-4);
284
+ --space-lg: var(--space-5);
285
+ --space-xl: var(--space-6);
286
+ --space-2xl: var(--space-7);
287
+ --space-3xl: var(--space-8);
288
+ --space-4xl: var(--space-9);
289
+ --z-hide: -1;
290
+ --z-base: 0;
291
+ --z-dropdown: 1000;
292
+ --z-sticky: 1100;
293
+ --z-fixed: 1200;
294
+ --z-backdrop: 1300;
295
+ --z-modal: 1400;
296
+ --z-popover: 1500;
297
+ --z-tooltip: 1600;
298
+ --z-toast: 1700;
299
+ --font-size-1: 0.75rem;
300
+ --font-size-2: 0.875rem;
301
+ --font-size-3: 1rem;
302
+ --font-size-4: 1.125rem;
303
+ --font-size-5: 1.25rem;
304
+ --font-size-6: 1.5rem;
305
+ --font-size-7: 1.875rem;
306
+ --font-size-8: 2.25rem;
307
+ --font-size-9: 3rem;
308
+ --font-size-10: 3.75rem;
309
+ --font-size-xs: 0.75rem;
310
+ --font-size-sm: 0.875rem;
311
+ --font-size-base: 1rem;
312
+ --font-size-lg: 1.125rem;
313
+ --font-size-xl: 1.25rem;
314
+ --font-size-2xl: 1.5rem;
315
+ --font-size-3xl: 1.875rem;
316
+ --font-size-4xl: 2.25rem;
317
+ --font-size-5xl: 3rem;
318
+ --font-size-6xl: 3.75rem;
319
+ --font-weight-light: 300;
320
+ --font-weight-normal: 400;
321
+ --font-weight-medium: 500;
322
+ --font-weight-semibold: 600;
323
+ --font-weight-bold: 700;
324
+ --font-weight-black: 900;
325
+ --line-height-1: 1;
326
+ --line-height-2: 1.25;
327
+ --line-height-3: 1.375;
328
+ --line-height-4: 1.5;
329
+ --line-height-5: 1.625;
330
+ --line-height-6: 2;
331
+ --line-height-none: 1;
332
+ --line-height-tight: 1.25;
333
+ --line-height-snug: 1.375;
334
+ --line-height-normal: 1.5;
335
+ --line-height-relaxed: 1.625;
336
+ --line-height-loose: 2;
337
+ --duration-instant: 0ms;
338
+ --duration-fast: 150ms;
339
+ --duration-normal: 250ms;
340
+ --duration-slow: 400ms;
341
+ --duration-slower: 600ms;
342
+ --opacity-0: 0;
343
+ --opacity-5: 0.05;
344
+ --opacity-10: 0.1;
345
+ --opacity-20: 0.2;
346
+ --opacity-25: 0.25;
347
+ --opacity-30: 0.3;
348
+ --opacity-40: 0.4;
349
+ --opacity-50: 0.5;
350
+ --opacity-60: 0.6;
351
+ --opacity-70: 0.7;
352
+ --opacity-75: 0.75;
353
+ --opacity-80: 0.8;
354
+ --opacity-90: 0.9;
355
+ --opacity-95: 0.95;
356
+ --opacity-100: 1;
357
+ --btn-padding-y: var(--space-1, 0.5rem);
358
+ --btn-padding-x: var(--space-4, 1rem);
359
+ --btn-radius: var(--radius-md, 0.25rem);
360
+ --btn-font-weight: var(--font-weight-medium, 500);
361
+ --btn-font-size: var(--font-size-base, 1rem);
362
+ --btn-border-width: 1px;
363
+ --card-padding: var(--space-4, 1rem);
364
+ --card-radius: var(--radius-lg, 0.5rem);
365
+ --card-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
366
+ --card-border: 1px solid var(--border-default);
367
+ --input-padding-y: var(--space-1, 0.5rem);
368
+ --input-padding-x: var(--space-2, 0.75rem);
369
+ --input-radius: var(--radius-md, 0.25rem);
370
+ --input-border-width: 1px;
371
+ --alert-padding-y: var(--space-2, 0.75rem);
372
+ --alert-padding-x: var(--space-4, 1rem);
373
+ --alert-radius: var(--radius-md, 0.25rem);
374
+ --badge-padding-y: var(--space-1, 0.5rem);
375
+ --badge-padding-x: var(--space-1, 0.5rem);
376
+ --badge-radius: var(--radius-full, 9999px);
377
+ --tag-padding-y: var(--space-2xs, 0.25rem);
378
+ --tag-padding-x: var(--space-2, 0.75rem);
379
+ --tag-radius: var(--radius-md, 0.25rem);
380
+ --modal-padding: var(--space-5, 1.5rem);
381
+ --modal-radius: var(--radius-xl, 0.75rem);
382
+ --modal-shadow: var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25));
383
+ --popover-padding: var(--space-4, 1rem);
384
+ --popover-radius: var(--radius-lg, 0.5rem);
385
+ --popover-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
386
+ --tooltip-padding-y: var(--space-1, 0.5rem);
387
+ --tooltip-padding-x: var(--space-1, 0.5rem);
388
+ --tooltip-radius: var(--radius-md, 0.25rem);
389
+ --dropdown-radius: var(--radius-md, 0.25rem);
390
+ --dropdown-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
391
+ }
392
+
393
+ [data-theme=dark] {
394
+ --background-default: #0a0a0a;
395
+ --background-subtle: #151515;
396
+ --background-navbar: #1a1a1a;
397
+ --surface-default: #151515;
398
+ --surface-subtle: #1f1f1f;
399
+ --surface-muted: #2a2a2a;
400
+ --surface-emphasis: #353535;
401
+ --text-primary: #FFF;
402
+ --text-secondary: #b8b8b8;
403
+ --text-muted: #768194;
404
+ --text-inverse: #0a0a0a;
405
+ --text-link: #09f;
406
+ --text-link-hover: #5ebbff;
407
+ --border-default: #2a2a2a;
408
+ --border-subtle: #1f1f1f;
409
+ --border-emphasis: #404040;
410
+ --border-focus: #09f;
411
+ --interactive-hover: rgba(255, 255, 255, 0.05);
412
+ --interactive-active: rgba(255, 255, 255, 0.1);
413
+ --action-primary-default: #6B8FE8;
414
+ --action-primary-hover: #8BABF5;
415
+ --action-primary-active: #3A5FCD;
416
+ --action-secondary-default: #FF8A8A;
417
+ --action-secondary-hover: #FFACAC;
418
+ --action-secondary-active: #FF6B6B;
419
+ --success-default: #34d399;
420
+ --success-hover: #10b981;
421
+ --success-subtle: #064e3b;
422
+ --success-text: #6ee7b7;
423
+ --warning-default: #fbbf24;
424
+ --warning-hover: #f59e0b;
425
+ --warning-subtle: #451a03;
426
+ --warning-text: #fcd34d;
427
+ --error-default: #f87171;
428
+ --error-hover: #ef4444;
429
+ --error-subtle: #450a0a;
430
+ --error-text: #fca5a5;
431
+ --info-default: #60a5fa;
432
+ --info-hover: #3b82f6;
433
+ --info-subtle: #172554;
434
+ --info-text: #93c5fd;
435
+ --shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
436
+ --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
437
+ --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
438
+ --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
439
+ --shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
440
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
441
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
442
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
443
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
444
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
445
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);
446
+ --shadow-none: none;
447
+ }
448
+
449
+ @media (prefers-color-scheme: dark) {
450
+ :root:not([data-theme=light]) {
451
+ --background-default: #0a0a0a;
452
+ --background-subtle: #151515;
453
+ --background-navbar: #1a1a1a;
454
+ --surface-default: #151515;
455
+ --surface-subtle: #1f1f1f;
456
+ --surface-muted: #2a2a2a;
457
+ --surface-emphasis: #353535;
458
+ --text-primary: #FFF;
459
+ --text-secondary: #b8b8b8;
460
+ --text-muted: #768194;
461
+ --text-inverse: #0a0a0a;
462
+ --text-link: #09f;
463
+ --text-link-hover: #5ebbff;
464
+ --border-default: #2a2a2a;
465
+ --border-subtle: #1f1f1f;
466
+ --border-emphasis: #404040;
467
+ --border-focus: #09f;
468
+ --interactive-hover: rgba(255, 255, 255, 0.05);
469
+ --interactive-active: rgba(255, 255, 255, 0.1);
470
+ --action-primary-default: #6B8FE8;
471
+ --action-primary-hover: #8BABF5;
472
+ --action-primary-active: #3A5FCD;
473
+ --action-secondary-default: #FF8A8A;
474
+ --action-secondary-hover: #FFACAC;
475
+ --action-secondary-active: #FF6B6B;
476
+ --success-default: #34d399;
477
+ --success-hover: #10b981;
478
+ --success-subtle: #064e3b;
479
+ --success-text: #6ee7b7;
480
+ --warning-default: #fbbf24;
481
+ --warning-hover: #f59e0b;
482
+ --warning-subtle: #451a03;
483
+ --warning-text: #fcd34d;
484
+ --error-default: #f87171;
485
+ --error-hover: #ef4444;
486
+ --error-subtle: #450a0a;
487
+ --error-text: #fca5a5;
488
+ --info-default: #60a5fa;
489
+ --info-hover: #3b82f6;
490
+ --info-subtle: #172554;
491
+ --info-text: #93c5fd;
492
+ --shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
493
+ --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
494
+ --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
495
+ --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
496
+ --shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
497
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
498
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
499
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
500
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
501
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
502
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);
503
+ --shadow-none: none;
504
+ }
505
+ }
506
+ :root {
507
+ --touch-target-min: 24px;
508
+ }
509
+
510
+ *,
511
+ *::before,
512
+ *::after {
513
+ box-sizing: border-box;
514
+ }
515
+
516
+ html {
517
+ -webkit-font-smoothing: antialiased;
518
+ -moz-osx-font-smoothing: grayscale;
519
+ }
520
+
521
+ body {
522
+ margin: 0;
523
+ font-family: var(--font-primary, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif);
524
+ font-size: var(--font-size-base, 1rem);
525
+ line-height: var(--line-height-normal, 1.5);
526
+ color: var(--text-primary, #0f0f0f);
527
+ background: var(--surface-default, #FFF);
528
+ }
529
+
530
+ h1 {
531
+ margin: 0;
532
+ padding: 0;
533
+ font: inherit;
534
+ }
535
+
536
+ h2 {
537
+ margin: 0;
538
+ padding: 0;
539
+ font: inherit;
540
+ }
541
+
542
+ h3 {
543
+ margin: 0;
544
+ padding: 0;
545
+ font: inherit;
546
+ }
547
+
548
+ h4 {
549
+ margin: 0;
550
+ padding: 0;
551
+ font: inherit;
552
+ }
553
+
554
+ h5 {
555
+ margin: 0;
556
+ padding: 0;
557
+ font: inherit;
558
+ }
559
+
560
+ h6 {
561
+ margin: 0;
562
+ padding: 0;
563
+ font: inherit;
564
+ }
565
+
566
+ input, button, select, textarea {
567
+ font: inherit;
568
+ color: inherit;
569
+ }
570
+
571
+ input:not([type=checkbox]):not([type=radio]),
572
+ select,
573
+ textarea {
574
+ width: 100%;
575
+ }
576
+
577
+ a {
578
+ color: var(--text-link, #384fff);
579
+ text-decoration: none;
580
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1);
581
+ }
582
+ @media (prefers-reduced-motion: reduce) {
583
+ a {
584
+ transition: none;
585
+ }
586
+ }
587
+ a:hover {
588
+ color: var(--text-link-hover, #2a3acc);
589
+ }
590
+
591
+ :focus-visible {
592
+ outline: 2px solid var(--border-focus, #384fff);
593
+ outline-offset: 2px;
594
+ }
595
+
596
+ :focus:not(:focus-visible) {
597
+ outline: none;
598
+ }
@@ -0,0 +1 @@
1
+ :where(:root){--brand-primary: #3A5FCD;--brand-primary-hover: #2E4A99;--brand-primary-active: #1E3A8A;--brand-secondary: #FF6B6B;--brand-secondary-hover: #E85555;--brand-secondary-active: #C55;--brand-accent: #09F;--brand-accent-hover: #0088E6;--background-default: #FFF;--background-subtle: #F8F6F0;--background-navbar: #FAFAFA;--surface-default: #FFF;--surface-subtle: #F8F6F0;--surface-muted: #F5F5F5;--surface-emphasis: #E5E5E5;--text-primary: #0f0f0f;--text-secondary: #525252;--text-muted: #6b6b6b;--text-inverse: #fff;--text-link: #384fff;--text-link-hover: #2a3acc;--border-default: #e5e5e5;--border-subtle: #f5f5f5;--border-emphasis: #d4d4d4;--border-focus: #384fff;--interactive-hover: rgba(0, 0, 0, 0.03);--interactive-active: rgba(0, 0, 0, 0.06);--action-primary-default: #3A5FCD;--action-primary-hover: #2E4A99;--action-primary-active: #1E3A8A;--action-secondary-default: #FF6B6B;--action-secondary-hover: #E85555;--action-secondary-active: #C55;--success-default: #10b981;--success-hover: #059669;--success-subtle: #ecfdf5;--success-text: #065f46;--warning-default: #f59e0b;--warning-hover: #d97706;--warning-subtle: #fffbeb;--warning-text: #92400e;--error-default: #DC2626;--error-hover: #B91C1C;--error-subtle: #FEF2F2;--error-text: #991B1B;--info-default: #3A5FCD;--info-hover: #2E4A99;--info-subtle: #EFF6FF;--info-text: #1E3A8A;--radius-none: 0;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);--shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);--shadow-none: none;--font-primary: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--font-secondary: Georgia, Times New Roman, serif;--font-mono: Fira Code, Consolas, Monaco, monospace;--space-1: 0.5rem;--space-2: 0.75rem;--space-3: 0.875rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-0: 0;--space-none: 0;--space-2xs: 0.25rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-5);--space-xl: var(--space-6);--space-2xl: var(--space-7);--space-3xl: var(--space-8);--space-4xl: var(--space-9);--z-hide: -1;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--z-toast: 1700;--font-size-1: 0.75rem;--font-size-2: 0.875rem;--font-size-3: 1rem;--font-size-4: 1.125rem;--font-size-5: 1.25rem;--font-size-6: 1.5rem;--font-size-7: 1.875rem;--font-size-8: 2.25rem;--font-size-9: 3rem;--font-size-10: 3.75rem;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--line-height-1: 1;--line-height-2: 1.25;--line-height-3: 1.375;--line-height-4: 1.5;--line-height-5: 1.625;--line-height-6: 2;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--duration-instant: 0ms;--duration-fast: 150ms;--duration-normal: 250ms;--duration-slow: 400ms;--duration-slower: 600ms;--opacity-0: 0;--opacity-5: 0.05;--opacity-10: 0.1;--opacity-20: 0.2;--opacity-25: 0.25;--opacity-30: 0.3;--opacity-40: 0.4;--opacity-50: 0.5;--opacity-60: 0.6;--opacity-70: 0.7;--opacity-75: 0.75;--opacity-80: 0.8;--opacity-90: 0.9;--opacity-95: 0.95;--opacity-100: 1;--btn-padding-y: var(--space-1, 0.5rem);--btn-padding-x: var(--space-4, 1rem);--btn-radius: var(--radius-md, 0.25rem);--btn-font-weight: var(--font-weight-medium, 500);--btn-font-size: var(--font-size-base, 1rem);--btn-border-width: 1px;--card-padding: var(--space-4, 1rem);--card-radius: var(--radius-lg, 0.5rem);--card-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));--card-border: 1px solid var(--border-default);--input-padding-y: var(--space-1, 0.5rem);--input-padding-x: var(--space-2, 0.75rem);--input-radius: var(--radius-md, 0.25rem);--input-border-width: 1px;--alert-padding-y: var(--space-2, 0.75rem);--alert-padding-x: var(--space-4, 1rem);--alert-radius: var(--radius-md, 0.25rem);--badge-padding-y: var(--space-1, 0.5rem);--badge-padding-x: var(--space-1, 0.5rem);--badge-radius: var(--radius-full, 9999px);--tag-padding-y: var(--space-2xs, 0.25rem);--tag-padding-x: var(--space-2, 0.75rem);--tag-radius: var(--radius-md, 0.25rem);--modal-padding: var(--space-5, 1.5rem);--modal-radius: var(--radius-xl, 0.75rem);--modal-shadow: var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25));--popover-padding: var(--space-4, 1rem);--popover-radius: var(--radius-lg, 0.5rem);--popover-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));--tooltip-padding-y: var(--space-1, 0.5rem);--tooltip-padding-x: var(--space-1, 0.5rem);--tooltip-radius: var(--radius-md, 0.25rem);--dropdown-radius: var(--radius-md, 0.25rem);--dropdown-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1))}[data-theme=light]{--brand-primary: #3A5FCD;--brand-primary-hover: #2E4A99;--brand-primary-active: #1E3A8A;--brand-secondary: #FF6B6B;--brand-secondary-hover: #E85555;--brand-secondary-active: #C55;--brand-accent: #09F;--brand-accent-hover: #0088E6;--background-default: #FFF;--background-subtle: #F8F6F0;--background-navbar: #FAFAFA;--surface-default: #FFF;--surface-subtle: #F8F6F0;--surface-muted: #F5F5F5;--surface-emphasis: #E5E5E5;--text-primary: #0f0f0f;--text-secondary: #525252;--text-muted: #6b6b6b;--text-inverse: #fff;--text-link: #384fff;--text-link-hover: #2a3acc;--border-default: #e5e5e5;--border-subtle: #f5f5f5;--border-emphasis: #d4d4d4;--border-focus: #384fff;--interactive-hover: rgba(0, 0, 0, 0.03);--interactive-active: rgba(0, 0, 0, 0.06);--action-primary-default: #3A5FCD;--action-primary-hover: #2E4A99;--action-primary-active: #1E3A8A;--action-secondary-default: #FF6B6B;--action-secondary-hover: #E85555;--action-secondary-active: #C55;--success-default: #10b981;--success-hover: #059669;--success-subtle: #ecfdf5;--success-text: #065f46;--warning-default: #f59e0b;--warning-hover: #d97706;--warning-subtle: #fffbeb;--warning-text: #92400e;--error-default: #DC2626;--error-hover: #B91C1C;--error-subtle: #FEF2F2;--error-text: #991B1B;--info-default: #3A5FCD;--info-hover: #2E4A99;--info-subtle: #EFF6FF;--info-text: #1E3A8A;--radius-none: 0;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);--shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);--shadow-none: none;--font-primary: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--font-secondary: Georgia, Times New Roman, serif;--font-mono: Fira Code, Consolas, Monaco, monospace;--space-1: 0.5rem;--space-2: 0.75rem;--space-3: 0.875rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-0: 0;--space-none: 0;--space-2xs: 0.25rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-5);--space-xl: var(--space-6);--space-2xl: var(--space-7);--space-3xl: var(--space-8);--space-4xl: var(--space-9);--z-hide: -1;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--z-toast: 1700;--font-size-1: 0.75rem;--font-size-2: 0.875rem;--font-size-3: 1rem;--font-size-4: 1.125rem;--font-size-5: 1.25rem;--font-size-6: 1.5rem;--font-size-7: 1.875rem;--font-size-8: 2.25rem;--font-size-9: 3rem;--font-size-10: 3.75rem;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--line-height-1: 1;--line-height-2: 1.25;--line-height-3: 1.375;--line-height-4: 1.5;--line-height-5: 1.625;--line-height-6: 2;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--duration-instant: 0ms;--duration-fast: 150ms;--duration-normal: 250ms;--duration-slow: 400ms;--duration-slower: 600ms;--opacity-0: 0;--opacity-5: 0.05;--opacity-10: 0.1;--opacity-20: 0.2;--opacity-25: 0.25;--opacity-30: 0.3;--opacity-40: 0.4;--opacity-50: 0.5;--opacity-60: 0.6;--opacity-70: 0.7;--opacity-75: 0.75;--opacity-80: 0.8;--opacity-90: 0.9;--opacity-95: 0.95;--opacity-100: 1;--btn-padding-y: var(--space-1, 0.5rem);--btn-padding-x: var(--space-4, 1rem);--btn-radius: var(--radius-md, 0.25rem);--btn-font-weight: var(--font-weight-medium, 500);--btn-font-size: var(--font-size-base, 1rem);--btn-border-width: 1px;--card-padding: var(--space-4, 1rem);--card-radius: var(--radius-lg, 0.5rem);--card-shadow: var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));--card-border: 1px solid var(--border-default);--input-padding-y: var(--space-1, 0.5rem);--input-padding-x: var(--space-2, 0.75rem);--input-radius: var(--radius-md, 0.25rem);--input-border-width: 1px;--alert-padding-y: var(--space-2, 0.75rem);--alert-padding-x: var(--space-4, 1rem);--alert-radius: var(--radius-md, 0.25rem);--badge-padding-y: var(--space-1, 0.5rem);--badge-padding-x: var(--space-1, 0.5rem);--badge-radius: var(--radius-full, 9999px);--tag-padding-y: var(--space-2xs, 0.25rem);--tag-padding-x: var(--space-2, 0.75rem);--tag-radius: var(--radius-md, 0.25rem);--modal-padding: var(--space-5, 1.5rem);--modal-radius: var(--radius-xl, 0.75rem);--modal-shadow: var(--shadow-2xl, 0 25px 50px -12px rgba(0, 0, 0, 0.25));--popover-padding: var(--space-4, 1rem);--popover-radius: var(--radius-lg, 0.5rem);--popover-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));--tooltip-padding-y: var(--space-1, 0.5rem);--tooltip-padding-x: var(--space-1, 0.5rem);--tooltip-radius: var(--radius-md, 0.25rem);--dropdown-radius: var(--radius-md, 0.25rem);--dropdown-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1))}[data-theme=dark]{--background-default: #0a0a0a;--background-subtle: #151515;--background-navbar: #1a1a1a;--surface-default: #151515;--surface-subtle: #1f1f1f;--surface-muted: #2a2a2a;--surface-emphasis: #353535;--text-primary: #FFF;--text-secondary: #b8b8b8;--text-muted: #768194;--text-inverse: #0a0a0a;--text-link: #09f;--text-link-hover: #5ebbff;--border-default: #2a2a2a;--border-subtle: #1f1f1f;--border-emphasis: #404040;--border-focus: #09f;--interactive-hover: rgba(255, 255, 255, 0.05);--interactive-active: rgba(255, 255, 255, 0.1);--action-primary-default: #6B8FE8;--action-primary-hover: #8BABF5;--action-primary-active: #3A5FCD;--action-secondary-default: #FF8A8A;--action-secondary-hover: #FFACAC;--action-secondary-active: #FF6B6B;--success-default: #34d399;--success-hover: #10b981;--success-subtle: #064e3b;--success-text: #6ee7b7;--warning-default: #fbbf24;--warning-hover: #f59e0b;--warning-subtle: #451a03;--warning-text: #fcd34d;--error-default: #f87171;--error-hover: #ef4444;--error-subtle: #450a0a;--error-text: #fca5a5;--info-default: #60a5fa;--info-hover: #3b82f6;--info-subtle: #172554;--info-text: #93c5fd;--shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);--shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.6);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);--shadow-none: none}@media(prefers-color-scheme: dark){:root:not([data-theme=light]){--background-default: #0a0a0a;--background-subtle: #151515;--background-navbar: #1a1a1a;--surface-default: #151515;--surface-subtle: #1f1f1f;--surface-muted: #2a2a2a;--surface-emphasis: #353535;--text-primary: #FFF;--text-secondary: #b8b8b8;--text-muted: #768194;--text-inverse: #0a0a0a;--text-link: #09f;--text-link-hover: #5ebbff;--border-default: #2a2a2a;--border-subtle: #1f1f1f;--border-emphasis: #404040;--border-focus: #09f;--interactive-hover: rgba(255, 255, 255, 0.05);--interactive-active: rgba(255, 255, 255, 0.1);--action-primary-default: #6B8FE8;--action-primary-hover: #8BABF5;--action-primary-active: #3A5FCD;--action-secondary-default: #FF8A8A;--action-secondary-hover: #FFACAC;--action-secondary-active: #FF6B6B;--success-default: #34d399;--success-hover: #10b981;--success-subtle: #064e3b;--success-text: #6ee7b7;--warning-default: #fbbf24;--warning-hover: #f59e0b;--warning-subtle: #451a03;--warning-text: #fcd34d;--error-default: #f87171;--error-hover: #ef4444;--error-subtle: #450a0a;--error-text: #fca5a5;--info-default: #60a5fa;--info-hover: #3b82f6;--info-subtle: #172554;--info-text: #93c5fd;--shadow-1: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);--shadow-5: 0 25px 50px -12px rgba(0, 0, 0, 0.6);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3);--shadow-none: none}}:root{--touch-target-min: 24px}*,*::before,*::after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-primary, Inter, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif);font-size:var(--font-size-base, 1rem);line-height:var(--line-height-normal, 1.5);color:var(--text-primary, #0f0f0f);background:var(--surface-default, #FFF)}h1{margin:0;padding:0;font:inherit}h2{margin:0;padding:0;font:inherit}h3{margin:0;padding:0;font:inherit}h4{margin:0;padding:0;font:inherit}h5{margin:0;padding:0;font:inherit}h6{margin:0;padding:0;font:inherit}input,button,select,textarea{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%}a{color:var(--text-link, #384fff);text-decoration:none;transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}@media(prefers-reduced-motion: reduce){a{transition:none}}a:hover{color:var(--text-link-hover, #2a3acc)}:focus-visible{outline:2px solid var(--border-focus, #384fff);outline-offset:2px}:focus:not(:focus-visible){outline:none}