create-gardener 2.0.8 → 2.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 (82) hide show
  1. package/README.md +328 -140
  2. package/package.json +1 -1
  3. package/template/build/backend/controllers/gardener/addComponent.d.ts +8 -0
  4. package/template/build/backend/controllers/gardener/addComponent.d.ts.map +1 -0
  5. package/template/build/backend/controllers/gardener/addComponent.js +19 -0
  6. package/template/build/backend/controllers/gardener/addComponent.js.map +1 -0
  7. package/template/build/backend/controllers/gardener/addPage.d.ts +3 -0
  8. package/template/build/backend/controllers/gardener/addPage.d.ts.map +1 -0
  9. package/template/build/backend/controllers/gardener/addPage.js +76 -0
  10. package/template/build/backend/controllers/gardener/addPage.js.map +1 -0
  11. package/template/build/backend/controllers/gardener/createStatic.d.ts +3 -0
  12. package/template/build/backend/controllers/gardener/createStatic.d.ts.map +1 -0
  13. package/template/build/backend/controllers/gardener/createStatic.js +61 -0
  14. package/template/build/backend/controllers/gardener/createStatic.js.map +1 -0
  15. package/template/build/backend/controllers/gardener/imageOptimiser.d.ts +3 -0
  16. package/template/build/backend/controllers/gardener/imageOptimiser.d.ts.map +1 -0
  17. package/template/build/backend/controllers/gardener/imageOptimiser.js +54 -0
  18. package/template/build/backend/controllers/gardener/imageOptimiser.js.map +1 -0
  19. package/template/build/backend/controllers/gardener/index.d.ts +6 -0
  20. package/template/build/backend/controllers/gardener/index.d.ts.map +1 -0
  21. package/template/build/backend/controllers/gardener/index.js +6 -0
  22. package/template/build/backend/controllers/gardener/index.js.map +1 -0
  23. package/template/build/backend/controllers/gardener/saveTemplate.d.ts +3 -0
  24. package/template/build/backend/controllers/gardener/saveTemplate.d.ts.map +1 -0
  25. package/template/build/backend/controllers/gardener/saveTemplate.js +36 -0
  26. package/template/build/backend/controllers/gardener/saveTemplate.js.map +1 -0
  27. package/template/build/backend/libs/generateWebp.d.ts +2 -0
  28. package/template/build/backend/libs/generateWebp.d.ts.map +1 -0
  29. package/template/build/backend/libs/generateWebp.js +18 -0
  30. package/template/build/backend/libs/generateWebp.js.map +1 -0
  31. package/template/build/backend/routes/gardener.route.d.ts +4 -0
  32. package/template/build/backend/routes/gardener.route.d.ts.map +1 -0
  33. package/template/build/backend/routes/gardener.route.js +13 -0
  34. package/template/build/backend/routes/gardener.route.js.map +1 -0
  35. package/template/build/backend/server.d.ts +2 -0
  36. package/template/build/backend/server.d.ts.map +1 -0
  37. package/template/build/backend/server.js +20 -0
  38. package/template/build/backend/server.js.map +1 -0
  39. package/template/build/frontend/assets/favicon.png +0 -0
  40. package/template/build/frontend/assets/gardener.jpg +0 -0
  41. package/template/build/frontend/static/cache/favicon_500x500.webp +0 -0
  42. package/template/build/frontend/static/cache/favicon_50x50.webp +0 -0
  43. package/template/build/frontend/static/cache/gardener_500x500.webp +0 -0
  44. package/template/build/frontend/static/cache/gardener_50x50.webp +0 -0
  45. package/template/build/frontend/static/components/copybtn.js +86 -0
  46. package/template/build/frontend/static/components/nonui/api.js +39 -0
  47. package/template/build/frontend/static/components/nonui/navigation.js +59 -0
  48. package/template/build/frontend/static/components/notification.js +67 -0
  49. package/template/build/frontend/static/gardener.js +89 -0
  50. package/template/build/frontend/static/gardener.test.js +364 -0
  51. package/template/build/frontend/static/gardenerConfig.js +1 -0
  52. package/template/build/frontend/static/gardenerDev.js +499 -0
  53. package/template/build/frontend/static/global.js +4 -0
  54. package/template/build/frontend/static/pages/pages._.js +20 -0
  55. package/template/build/frontend/static/style.css +2 -0
  56. package/template/build/frontend/static/style2.css +26 -0
  57. package/template/build/frontend/static/zod.js +8 -0
  58. package/template/build/frontend/style.css +1045 -0
  59. package/template/build/frontend/tailwind.css +1 -0
  60. package/template/build/frontend/views/_.ejs +121 -0
  61. package/template/build/frontend/views/partials/icons/clipboard.ejs +1 -0
  62. package/template/build/frontend/views/partials/icons/clipboardok.ejs +1 -0
  63. package/template/src/backend/controllers/gardener/addPage.ts +30 -24
  64. package/template/src/backend/controllers/gardener/createStatic.ts +1 -0
  65. package/template/src/backend/controllers/gardener/saveTemplate.ts +1 -1
  66. package/template/src/backend/libs/generateWebp.ts +0 -2
  67. package/template/src/frontend/static/cache/gardener_100x100.webp +0 -0
  68. package/template/src/frontend/static/components/copybtn.js +16 -3
  69. package/template/src/frontend/static/components/footer.js +33 -0
  70. package/template/src/frontend/static/components/gardener/errorBox.js +47 -0
  71. package/template/src/frontend/static/components/gardener/hotReloadbtn.js +82 -0
  72. package/template/src/frontend/static/components/gardener/pageOverlayBtn.js +138 -0
  73. package/template/src/frontend/static/components/gardener/parserWindow.js +159 -0
  74. package/template/src/frontend/static/components/nonui/api.js +15 -2
  75. package/template/src/frontend/static/gardener.js +129 -58
  76. package/template/src/frontend/static/gardenerDev.js +65 -399
  77. package/template/src/frontend/static/global.js +1 -1
  78. package/template/src/frontend/static/pages/pages._.js +5 -0
  79. package/template/src/frontend/static/style.css +101 -1
  80. package/template/src/frontend/static/style2.css +2 -2
  81. package/template/src/frontend/static/pages/pages._al.js +0 -2
  82. package/template/src/frontend/static/pages/pages._new.js +0 -2
@@ -0,0 +1,1045 @@
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
7
+ 'Noto Color Emoji';
8
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
9
+ monospace;
10
+ --color-red-300: oklch(80.8% 0.114 19.571);
11
+ --color-green-200: oklch(92.5% 0.084 155.995);
12
+ --color-green-300: oklch(87.1% 0.15 154.449);
13
+ --color-green-500: oklch(72.3% 0.219 149.579);
14
+ --color-emerald-50: oklch(97.9% 0.021 166.113);
15
+ --color-emerald-300: oklch(84.5% 0.143 164.978);
16
+ --color-cyan-50: oklch(98.4% 0.019 200.873);
17
+ --color-blue-400: oklch(70.7% 0.165 254.624);
18
+ --color-blue-800: oklch(42.4% 0.199 265.638);
19
+ --color-slate-100: oklch(96.8% 0.007 247.896);
20
+ --color-slate-200: oklch(92.9% 0.013 255.508);
21
+ --color-slate-300: oklch(86.9% 0.022 252.894);
22
+ --color-slate-500: oklch(55.4% 0.046 257.417);
23
+ --color-slate-600: oklch(44.6% 0.043 257.281);
24
+ --color-slate-700: oklch(37.2% 0.044 257.287);
25
+ --color-slate-800: oklch(27.9% 0.041 260.031);
26
+ --color-slate-900: oklch(20.8% 0.042 265.755);
27
+ --color-gray-200: oklch(92.8% 0.006 264.531);
28
+ --color-gray-500: oklch(55.1% 0.027 264.364);
29
+ --color-gray-900: oklch(21% 0.034 264.665);
30
+ --color-black: #000;
31
+ --color-white: #fff;
32
+ --spacing: 0.25rem;
33
+ --container-sm: 24rem;
34
+ --container-2xl: 42rem;
35
+ --container-7xl: 80rem;
36
+ --text-sm: 0.875rem;
37
+ --text-sm--line-height: calc(1.25 / 0.875);
38
+ --text-lg: 1.125rem;
39
+ --text-lg--line-height: calc(1.75 / 1.125);
40
+ --text-xl: 1.25rem;
41
+ --text-xl--line-height: calc(1.75 / 1.25);
42
+ --text-2xl: 1.5rem;
43
+ --text-2xl--line-height: calc(2 / 1.5);
44
+ --text-3xl: 1.875rem;
45
+ --text-3xl--line-height: calc(2.25 / 1.875);
46
+ --text-4xl: 2.25rem;
47
+ --text-4xl--line-height: calc(2.5 / 2.25);
48
+ --text-5xl: 3rem;
49
+ --text-5xl--line-height: 1;
50
+ --font-weight-medium: 500;
51
+ --font-weight-semibold: 600;
52
+ --font-weight-bold: 700;
53
+ --tracking-wide: 0.025em;
54
+ --leading-relaxed: 1.625;
55
+ --radius-md: 0.375rem;
56
+ --radius-lg: 0.5rem;
57
+ --radius-xl: 0.75rem;
58
+ --radius-2xl: 1rem;
59
+ --radius-3xl: 1.5rem;
60
+ --blur-md: 12px;
61
+ --default-transition-duration: 150ms;
62
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
63
+ --default-font-family: var(--font-sans);
64
+ --default-mono-font-family: var(--font-mono);
65
+ }
66
+ }
67
+ @layer base {
68
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
69
+ box-sizing: border-box;
70
+ margin: 0;
71
+ padding: 0;
72
+ border: 0 solid;
73
+ }
74
+ html, :host {
75
+ line-height: 1.5;
76
+ -webkit-text-size-adjust: 100%;
77
+ tab-size: 4;
78
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
79
+ font-feature-settings: var(--default-font-feature-settings, normal);
80
+ font-variation-settings: var(--default-font-variation-settings, normal);
81
+ -webkit-tap-highlight-color: transparent;
82
+ }
83
+ hr {
84
+ height: 0;
85
+ color: inherit;
86
+ border-top-width: 1px;
87
+ }
88
+ abbr:where([title]) {
89
+ -webkit-text-decoration: underline dotted;
90
+ text-decoration: underline dotted;
91
+ }
92
+ h1, h2, h3, h4, h5, h6 {
93
+ font-size: inherit;
94
+ font-weight: inherit;
95
+ }
96
+ a {
97
+ color: inherit;
98
+ -webkit-text-decoration: inherit;
99
+ text-decoration: inherit;
100
+ }
101
+ b, strong {
102
+ font-weight: bolder;
103
+ }
104
+ code, kbd, samp, pre {
105
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
106
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
107
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
108
+ font-size: 1em;
109
+ }
110
+ small {
111
+ font-size: 80%;
112
+ }
113
+ sub, sup {
114
+ font-size: 75%;
115
+ line-height: 0;
116
+ position: relative;
117
+ vertical-align: baseline;
118
+ }
119
+ sub {
120
+ bottom: -0.25em;
121
+ }
122
+ sup {
123
+ top: -0.5em;
124
+ }
125
+ table {
126
+ text-indent: 0;
127
+ border-color: inherit;
128
+ border-collapse: collapse;
129
+ }
130
+ :-moz-focusring {
131
+ outline: auto;
132
+ }
133
+ progress {
134
+ vertical-align: baseline;
135
+ }
136
+ summary {
137
+ display: list-item;
138
+ }
139
+ ol, ul, menu {
140
+ list-style: none;
141
+ }
142
+ img, svg, video, canvas, audio, iframe, embed, object {
143
+ display: block;
144
+ vertical-align: middle;
145
+ }
146
+ img, video {
147
+ max-width: 100%;
148
+ height: auto;
149
+ }
150
+ button, input, select, optgroup, textarea, ::file-selector-button {
151
+ font: inherit;
152
+ font-feature-settings: inherit;
153
+ font-variation-settings: inherit;
154
+ letter-spacing: inherit;
155
+ color: inherit;
156
+ border-radius: 0;
157
+ background-color: transparent;
158
+ opacity: 1;
159
+ }
160
+ :where(select:is([multiple], [size])) optgroup {
161
+ font-weight: bolder;
162
+ }
163
+ :where(select:is([multiple], [size])) optgroup option {
164
+ padding-inline-start: 20px;
165
+ }
166
+ ::file-selector-button {
167
+ margin-inline-end: 4px;
168
+ }
169
+ ::placeholder {
170
+ opacity: 1;
171
+ }
172
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
173
+ ::placeholder {
174
+ color: currentcolor;
175
+ @supports (color: color-mix(in lab, red, red)) {
176
+ color: color-mix(in oklab, currentcolor 50%, transparent);
177
+ }
178
+ }
179
+ }
180
+ textarea {
181
+ resize: vertical;
182
+ }
183
+ ::-webkit-search-decoration {
184
+ -webkit-appearance: none;
185
+ }
186
+ ::-webkit-date-and-time-value {
187
+ min-height: 1lh;
188
+ text-align: inherit;
189
+ }
190
+ ::-webkit-datetime-edit {
191
+ display: inline-flex;
192
+ }
193
+ ::-webkit-datetime-edit-fields-wrapper {
194
+ padding: 0;
195
+ }
196
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
197
+ padding-block: 0;
198
+ }
199
+ ::-webkit-calendar-picker-indicator {
200
+ line-height: 1;
201
+ }
202
+ :-moz-ui-invalid {
203
+ box-shadow: none;
204
+ }
205
+ button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
206
+ appearance: button;
207
+ }
208
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
209
+ height: auto;
210
+ }
211
+ [hidden]:where(:not([hidden='until-found'])) {
212
+ display: none !important;
213
+ }
214
+ }
215
+ @layer utilities {
216
+ .visible {
217
+ visibility: visible;
218
+ }
219
+ .absolute {
220
+ position: absolute;
221
+ }
222
+ .fixed {
223
+ position: fixed;
224
+ }
225
+ .static {
226
+ position: static;
227
+ }
228
+ .top-0 {
229
+ top: calc(var(--spacing) * 0);
230
+ }
231
+ .top-1\/4 {
232
+ top: calc(1/4 * 100%);
233
+ }
234
+ .top-2\/5 {
235
+ top: calc(2/5 * 100%);
236
+ }
237
+ .top-\[-60px\] {
238
+ top: -60px;
239
+ }
240
+ .right-0 {
241
+ right: calc(var(--spacing) * 0);
242
+ }
243
+ .right-2 {
244
+ right: calc(var(--spacing) * 2);
245
+ }
246
+ .bottom-0 {
247
+ bottom: calc(var(--spacing) * 0);
248
+ }
249
+ .bottom-22 {
250
+ bottom: calc(var(--spacing) * 22);
251
+ }
252
+ .left-0 {
253
+ left: calc(var(--spacing) * 0);
254
+ }
255
+ .left-1\/4 {
256
+ left: calc(1/4 * 100%);
257
+ }
258
+ .left-2\/5 {
259
+ left: calc(2/5 * 100%);
260
+ }
261
+ .left-\[100vw\] {
262
+ left: 100vw;
263
+ }
264
+ .z-50 {
265
+ z-index: 50;
266
+ }
267
+ .z-90 {
268
+ z-index: 90;
269
+ }
270
+ .z-100 {
271
+ z-index: 100;
272
+ }
273
+ .mx-auto {
274
+ margin-inline: auto;
275
+ }
276
+ .my-1 {
277
+ margin-block: calc(var(--spacing) * 1);
278
+ }
279
+ .mt-3 {
280
+ margin-top: calc(var(--spacing) * 3);
281
+ }
282
+ .mt-4 {
283
+ margin-top: calc(var(--spacing) * 4);
284
+ }
285
+ .mt-5 {
286
+ margin-top: calc(var(--spacing) * 5);
287
+ }
288
+ .box-border {
289
+ box-sizing: border-box;
290
+ }
291
+ .block {
292
+ display: block;
293
+ }
294
+ .flex {
295
+ display: flex;
296
+ }
297
+ .grid {
298
+ display: grid;
299
+ }
300
+ .inline-block {
301
+ display: inline-block;
302
+ }
303
+ .h-2\/4 {
304
+ height: calc(2/4 * 100%);
305
+ }
306
+ .h-8 {
307
+ height: calc(var(--spacing) * 8);
308
+ }
309
+ .h-15 {
310
+ height: calc(var(--spacing) * 15);
311
+ }
312
+ .h-\[90vh\] {
313
+ height: 90vh;
314
+ }
315
+ .h-screen {
316
+ height: 100vh;
317
+ }
318
+ .min-h-100 {
319
+ min-height: calc(var(--spacing) * 100);
320
+ }
321
+ .w-2\/4 {
322
+ width: calc(2/4 * 100%);
323
+ }
324
+ .w-3\/4 {
325
+ width: calc(3/4 * 100%);
326
+ }
327
+ .w-15 {
328
+ width: calc(var(--spacing) * 15);
329
+ }
330
+ .w-64 {
331
+ width: calc(var(--spacing) * 64);
332
+ }
333
+ .w-90 {
334
+ width: calc(var(--spacing) * 90);
335
+ }
336
+ .w-500 {
337
+ width: calc(var(--spacing) * 500);
338
+ }
339
+ .w-full {
340
+ width: 100%;
341
+ }
342
+ .w-screen {
343
+ width: 100vw;
344
+ }
345
+ .max-w-2xl {
346
+ max-width: var(--container-2xl);
347
+ }
348
+ .max-w-7xl {
349
+ max-width: var(--container-7xl);
350
+ }
351
+ .max-w-sm {
352
+ max-width: var(--container-sm);
353
+ }
354
+ .min-w-100 {
355
+ min-width: calc(var(--spacing) * 100);
356
+ }
357
+ .flex-1 {
358
+ flex: 1;
359
+ }
360
+ .transform {
361
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
362
+ }
363
+ .cursor-pointer {
364
+ cursor: pointer;
365
+ }
366
+ .list-inside {
367
+ list-style-position: inside;
368
+ }
369
+ .list-decimal {
370
+ list-style-type: decimal;
371
+ }
372
+ .list-disc {
373
+ list-style-type: disc;
374
+ }
375
+ .flex-col {
376
+ flex-direction: column;
377
+ }
378
+ .items-center {
379
+ align-items: center;
380
+ }
381
+ .justify-around {
382
+ justify-content: space-around;
383
+ }
384
+ .justify-between {
385
+ justify-content: space-between;
386
+ }
387
+ .justify-center {
388
+ justify-content: center;
389
+ }
390
+ .gap-2 {
391
+ gap: calc(var(--spacing) * 2);
392
+ }
393
+ .gap-4 {
394
+ gap: calc(var(--spacing) * 4);
395
+ }
396
+ .gap-8 {
397
+ gap: calc(var(--spacing) * 8);
398
+ }
399
+ .gap-10 {
400
+ gap: calc(var(--spacing) * 10);
401
+ }
402
+ .gap-12 {
403
+ gap: calc(var(--spacing) * 12);
404
+ }
405
+ .space-y-2 {
406
+ :where(& > :not(:last-child)) {
407
+ --tw-space-y-reverse: 0;
408
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
409
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
410
+ }
411
+ }
412
+ .space-y-3 {
413
+ :where(& > :not(:last-child)) {
414
+ --tw-space-y-reverse: 0;
415
+ margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
416
+ margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
417
+ }
418
+ }
419
+ .space-y-4 {
420
+ :where(& > :not(:last-child)) {
421
+ --tw-space-y-reverse: 0;
422
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
423
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
424
+ }
425
+ }
426
+ .space-y-5 {
427
+ :where(& > :not(:last-child)) {
428
+ --tw-space-y-reverse: 0;
429
+ margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
430
+ margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
431
+ }
432
+ }
433
+ .space-y-6 {
434
+ :where(& > :not(:last-child)) {
435
+ --tw-space-y-reverse: 0;
436
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
437
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
438
+ }
439
+ }
440
+ .space-y-10 {
441
+ :where(& > :not(:last-child)) {
442
+ --tw-space-y-reverse: 0;
443
+ margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
444
+ margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
445
+ }
446
+ }
447
+ .space-y-20 {
448
+ :where(& > :not(:last-child)) {
449
+ --tw-space-y-reverse: 0;
450
+ margin-block-start: calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));
451
+ margin-block-end: calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)));
452
+ }
453
+ }
454
+ .space-x-1 {
455
+ :where(& > :not(:last-child)) {
456
+ --tw-space-x-reverse: 0;
457
+ margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
458
+ margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
459
+ }
460
+ }
461
+ .overflow-scroll {
462
+ overflow: scroll;
463
+ }
464
+ .overflow-x-auto {
465
+ overflow-x: auto;
466
+ }
467
+ .rounded {
468
+ border-radius: 0.25rem;
469
+ }
470
+ .rounded-2xl {
471
+ border-radius: var(--radius-2xl);
472
+ }
473
+ .rounded-3xl {
474
+ border-radius: var(--radius-3xl);
475
+ }
476
+ .rounded-full {
477
+ border-radius: calc(infinity * 1px);
478
+ }
479
+ .rounded-lg {
480
+ border-radius: var(--radius-lg);
481
+ }
482
+ .rounded-md {
483
+ border-radius: var(--radius-md);
484
+ }
485
+ .rounded-xl {
486
+ border-radius: var(--radius-xl);
487
+ }
488
+ .rounded-t-lg {
489
+ border-top-left-radius: var(--radius-lg);
490
+ border-top-right-radius: var(--radius-lg);
491
+ }
492
+ .border {
493
+ border-style: var(--tw-border-style);
494
+ border-width: 1px;
495
+ }
496
+ .border-2 {
497
+ border-style: var(--tw-border-style);
498
+ border-width: 2px;
499
+ }
500
+ .border-t {
501
+ border-top-style: var(--tw-border-style);
502
+ border-top-width: 1px;
503
+ }
504
+ .border-b-1 {
505
+ border-bottom-style: var(--tw-border-style);
506
+ border-bottom-width: 1px;
507
+ }
508
+ .border-black {
509
+ border-color: var(--color-black);
510
+ }
511
+ .border-gray-900 {
512
+ border-color: var(--color-gray-900);
513
+ }
514
+ .border-slate-200 {
515
+ border-color: var(--color-slate-200);
516
+ }
517
+ .border-slate-300 {
518
+ border-color: var(--color-slate-300);
519
+ }
520
+ .bg-\[\#2e7d32\] {
521
+ background-color: #2e7d32;
522
+ }
523
+ .bg-\[\#d32f2f\] {
524
+ background-color: #d32f2f;
525
+ }
526
+ .bg-\[\#ed6c02\] {
527
+ background-color: #ed6c02;
528
+ }
529
+ .bg-blue-400 {
530
+ background-color: var(--color-blue-400);
531
+ }
532
+ .bg-gray-200 {
533
+ background-color: var(--color-gray-200);
534
+ }
535
+ .bg-gray-500 {
536
+ background-color: var(--color-gray-500);
537
+ }
538
+ .bg-green-200 {
539
+ background-color: var(--color-green-200);
540
+ }
541
+ .bg-green-300 {
542
+ background-color: var(--color-green-300);
543
+ }
544
+ .bg-red-300 {
545
+ background-color: var(--color-red-300);
546
+ }
547
+ .bg-slate-100 {
548
+ background-color: var(--color-slate-100);
549
+ }
550
+ .bg-slate-900 {
551
+ background-color: var(--color-slate-900);
552
+ }
553
+ .bg-white {
554
+ background-color: var(--color-white);
555
+ }
556
+ .bg-gradient-to-br {
557
+ --tw-gradient-position: to bottom right in oklab;
558
+ background-image: linear-gradient(var(--tw-gradient-stops));
559
+ }
560
+ .from-emerald-50 {
561
+ --tw-gradient-from: var(--color-emerald-50);
562
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
563
+ }
564
+ .to-cyan-50 {
565
+ --tw-gradient-to: var(--color-cyan-50);
566
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
567
+ }
568
+ .p-1 {
569
+ padding: calc(var(--spacing) * 1);
570
+ }
571
+ .p-2 {
572
+ padding: calc(var(--spacing) * 2);
573
+ }
574
+ .p-3 {
575
+ padding: calc(var(--spacing) * 3);
576
+ }
577
+ .p-4 {
578
+ padding: calc(var(--spacing) * 4);
579
+ }
580
+ .p-5 {
581
+ padding: calc(var(--spacing) * 5);
582
+ }
583
+ .p-6 {
584
+ padding: calc(var(--spacing) * 6);
585
+ }
586
+ .p-8 {
587
+ padding: calc(var(--spacing) * 8);
588
+ }
589
+ .p-10 {
590
+ padding: calc(var(--spacing) * 10);
591
+ }
592
+ .px-2 {
593
+ padding-inline: calc(var(--spacing) * 2);
594
+ }
595
+ .px-4 {
596
+ padding-inline: calc(var(--spacing) * 4);
597
+ }
598
+ .px-5 {
599
+ padding-inline: calc(var(--spacing) * 5);
600
+ }
601
+ .px-6 {
602
+ padding-inline: calc(var(--spacing) * 6);
603
+ }
604
+ .py-1 {
605
+ padding-block: calc(var(--spacing) * 1);
606
+ }
607
+ .py-3 {
608
+ padding-block: calc(var(--spacing) * 3);
609
+ }
610
+ .py-12 {
611
+ padding-block: calc(var(--spacing) * 12);
612
+ }
613
+ .pb-1\.5 {
614
+ padding-bottom: calc(var(--spacing) * 1.5);
615
+ }
616
+ .text-center {
617
+ text-align: center;
618
+ }
619
+ .text-left {
620
+ text-align: left;
621
+ }
622
+ .text-right {
623
+ text-align: right;
624
+ }
625
+ .font-mono {
626
+ font-family: var(--font-mono);
627
+ }
628
+ .text-2xl {
629
+ font-size: var(--text-2xl);
630
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
631
+ }
632
+ .text-3xl {
633
+ font-size: var(--text-3xl);
634
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
635
+ }
636
+ .text-4xl {
637
+ font-size: var(--text-4xl);
638
+ line-height: var(--tw-leading, var(--text-4xl--line-height));
639
+ }
640
+ .text-5xl {
641
+ font-size: var(--text-5xl);
642
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
643
+ }
644
+ .text-lg {
645
+ font-size: var(--text-lg);
646
+ line-height: var(--tw-leading, var(--text-lg--line-height));
647
+ }
648
+ .text-sm {
649
+ font-size: var(--text-sm);
650
+ line-height: var(--tw-leading, var(--text-sm--line-height));
651
+ }
652
+ .text-xl {
653
+ font-size: var(--text-xl);
654
+ line-height: var(--tw-leading, var(--text-xl--line-height));
655
+ }
656
+ .leading-relaxed {
657
+ --tw-leading: var(--leading-relaxed);
658
+ line-height: var(--leading-relaxed);
659
+ }
660
+ .font-bold {
661
+ --tw-font-weight: var(--font-weight-bold);
662
+ font-weight: var(--font-weight-bold);
663
+ }
664
+ .font-medium {
665
+ --tw-font-weight: var(--font-weight-medium);
666
+ font-weight: var(--font-weight-medium);
667
+ }
668
+ .font-semibold {
669
+ --tw-font-weight: var(--font-weight-semibold);
670
+ font-weight: var(--font-weight-semibold);
671
+ }
672
+ .tracking-wide {
673
+ --tw-tracking: var(--tracking-wide);
674
+ letter-spacing: var(--tracking-wide);
675
+ }
676
+ .text-black {
677
+ color: var(--color-black);
678
+ }
679
+ .text-blue-800 {
680
+ color: var(--color-blue-800);
681
+ }
682
+ .text-emerald-300 {
683
+ color: var(--color-emerald-300);
684
+ }
685
+ .text-green-500 {
686
+ color: var(--color-green-500);
687
+ }
688
+ .text-slate-100 {
689
+ color: var(--color-slate-100);
690
+ }
691
+ .text-slate-500 {
692
+ color: var(--color-slate-500);
693
+ }
694
+ .text-slate-600 {
695
+ color: var(--color-slate-600);
696
+ }
697
+ .text-slate-700 {
698
+ color: var(--color-slate-700);
699
+ }
700
+ .text-slate-800 {
701
+ color: var(--color-slate-800);
702
+ }
703
+ .text-white {
704
+ color: var(--color-white);
705
+ }
706
+ .shadow {
707
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
708
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
709
+ }
710
+ .shadow-2xl {
711
+ --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
712
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
713
+ }
714
+ .shadow-\[30px_0_60px_15px_rgb\(0\,0\,0\)\] {
715
+ --tw-shadow: 30px 0 60px 15px var(--tw-shadow-color, rgb(0,0,0));
716
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
717
+ }
718
+ .shadow-xl {
719
+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
720
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
721
+ }
722
+ .backdrop-blur-md {
723
+ --tw-backdrop-blur: blur(var(--blur-md));
724
+ -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
725
+ backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
726
+ }
727
+ .transition {
728
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
729
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
730
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
731
+ }
732
+ .transition-all {
733
+ transition-property: all;
734
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
735
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
736
+ }
737
+ .outline-none {
738
+ --tw-outline-style: none;
739
+ outline-style: none;
740
+ }
741
+ .hover\:cursor-pointer {
742
+ &:hover {
743
+ @media (hover: hover) {
744
+ cursor: pointer;
745
+ }
746
+ }
747
+ }
748
+ .hover\:bg-green-300 {
749
+ &:hover {
750
+ @media (hover: hover) {
751
+ background-color: var(--color-green-300);
752
+ }
753
+ }
754
+ }
755
+ .md\:right-\[60px\] {
756
+ @media (width >= 48rem) {
757
+ right: 60px;
758
+ }
759
+ }
760
+ .md\:left-auto {
761
+ @media (width >= 48rem) {
762
+ left: auto;
763
+ }
764
+ }
765
+ .md\:grid-cols-2 {
766
+ @media (width >= 48rem) {
767
+ grid-template-columns: repeat(2, minmax(0, 1fr));
768
+ }
769
+ }
770
+ .lg\:w-80 {
771
+ @media (width >= 64rem) {
772
+ width: calc(var(--spacing) * 80);
773
+ }
774
+ }
775
+ .lg\:grid-cols-2 {
776
+ @media (width >= 64rem) {
777
+ grid-template-columns: repeat(2, minmax(0, 1fr));
778
+ }
779
+ }
780
+ .lg\:flex-row {
781
+ @media (width >= 64rem) {
782
+ flex-direction: row;
783
+ }
784
+ }
785
+ .lg\:p-12 {
786
+ @media (width >= 64rem) {
787
+ padding: calc(var(--spacing) * 12);
788
+ }
789
+ }
790
+ .lg\:p-16 {
791
+ @media (width >= 64rem) {
792
+ padding: calc(var(--spacing) * 16);
793
+ }
794
+ }
795
+ .lg\:text-left {
796
+ @media (width >= 64rem) {
797
+ text-align: left;
798
+ }
799
+ }
800
+ .lg\:text-5xl {
801
+ @media (width >= 64rem) {
802
+ font-size: var(--text-5xl);
803
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
804
+ }
805
+ }
806
+ }
807
+ @property --tw-rotate-x {
808
+ syntax: "*";
809
+ inherits: false;
810
+ }
811
+ @property --tw-rotate-y {
812
+ syntax: "*";
813
+ inherits: false;
814
+ }
815
+ @property --tw-rotate-z {
816
+ syntax: "*";
817
+ inherits: false;
818
+ }
819
+ @property --tw-skew-x {
820
+ syntax: "*";
821
+ inherits: false;
822
+ }
823
+ @property --tw-skew-y {
824
+ syntax: "*";
825
+ inherits: false;
826
+ }
827
+ @property --tw-space-y-reverse {
828
+ syntax: "*";
829
+ inherits: false;
830
+ initial-value: 0;
831
+ }
832
+ @property --tw-space-x-reverse {
833
+ syntax: "*";
834
+ inherits: false;
835
+ initial-value: 0;
836
+ }
837
+ @property --tw-border-style {
838
+ syntax: "*";
839
+ inherits: false;
840
+ initial-value: solid;
841
+ }
842
+ @property --tw-gradient-position {
843
+ syntax: "*";
844
+ inherits: false;
845
+ }
846
+ @property --tw-gradient-from {
847
+ syntax: "<color>";
848
+ inherits: false;
849
+ initial-value: #0000;
850
+ }
851
+ @property --tw-gradient-via {
852
+ syntax: "<color>";
853
+ inherits: false;
854
+ initial-value: #0000;
855
+ }
856
+ @property --tw-gradient-to {
857
+ syntax: "<color>";
858
+ inherits: false;
859
+ initial-value: #0000;
860
+ }
861
+ @property --tw-gradient-stops {
862
+ syntax: "*";
863
+ inherits: false;
864
+ }
865
+ @property --tw-gradient-via-stops {
866
+ syntax: "*";
867
+ inherits: false;
868
+ }
869
+ @property --tw-gradient-from-position {
870
+ syntax: "<length-percentage>";
871
+ inherits: false;
872
+ initial-value: 0%;
873
+ }
874
+ @property --tw-gradient-via-position {
875
+ syntax: "<length-percentage>";
876
+ inherits: false;
877
+ initial-value: 50%;
878
+ }
879
+ @property --tw-gradient-to-position {
880
+ syntax: "<length-percentage>";
881
+ inherits: false;
882
+ initial-value: 100%;
883
+ }
884
+ @property --tw-leading {
885
+ syntax: "*";
886
+ inherits: false;
887
+ }
888
+ @property --tw-font-weight {
889
+ syntax: "*";
890
+ inherits: false;
891
+ }
892
+ @property --tw-tracking {
893
+ syntax: "*";
894
+ inherits: false;
895
+ }
896
+ @property --tw-shadow {
897
+ syntax: "*";
898
+ inherits: false;
899
+ initial-value: 0 0 #0000;
900
+ }
901
+ @property --tw-shadow-color {
902
+ syntax: "*";
903
+ inherits: false;
904
+ }
905
+ @property --tw-shadow-alpha {
906
+ syntax: "<percentage>";
907
+ inherits: false;
908
+ initial-value: 100%;
909
+ }
910
+ @property --tw-inset-shadow {
911
+ syntax: "*";
912
+ inherits: false;
913
+ initial-value: 0 0 #0000;
914
+ }
915
+ @property --tw-inset-shadow-color {
916
+ syntax: "*";
917
+ inherits: false;
918
+ }
919
+ @property --tw-inset-shadow-alpha {
920
+ syntax: "<percentage>";
921
+ inherits: false;
922
+ initial-value: 100%;
923
+ }
924
+ @property --tw-ring-color {
925
+ syntax: "*";
926
+ inherits: false;
927
+ }
928
+ @property --tw-ring-shadow {
929
+ syntax: "*";
930
+ inherits: false;
931
+ initial-value: 0 0 #0000;
932
+ }
933
+ @property --tw-inset-ring-color {
934
+ syntax: "*";
935
+ inherits: false;
936
+ }
937
+ @property --tw-inset-ring-shadow {
938
+ syntax: "*";
939
+ inherits: false;
940
+ initial-value: 0 0 #0000;
941
+ }
942
+ @property --tw-ring-inset {
943
+ syntax: "*";
944
+ inherits: false;
945
+ }
946
+ @property --tw-ring-offset-width {
947
+ syntax: "<length>";
948
+ inherits: false;
949
+ initial-value: 0px;
950
+ }
951
+ @property --tw-ring-offset-color {
952
+ syntax: "*";
953
+ inherits: false;
954
+ initial-value: #fff;
955
+ }
956
+ @property --tw-ring-offset-shadow {
957
+ syntax: "*";
958
+ inherits: false;
959
+ initial-value: 0 0 #0000;
960
+ }
961
+ @property --tw-backdrop-blur {
962
+ syntax: "*";
963
+ inherits: false;
964
+ }
965
+ @property --tw-backdrop-brightness {
966
+ syntax: "*";
967
+ inherits: false;
968
+ }
969
+ @property --tw-backdrop-contrast {
970
+ syntax: "*";
971
+ inherits: false;
972
+ }
973
+ @property --tw-backdrop-grayscale {
974
+ syntax: "*";
975
+ inherits: false;
976
+ }
977
+ @property --tw-backdrop-hue-rotate {
978
+ syntax: "*";
979
+ inherits: false;
980
+ }
981
+ @property --tw-backdrop-invert {
982
+ syntax: "*";
983
+ inherits: false;
984
+ }
985
+ @property --tw-backdrop-opacity {
986
+ syntax: "*";
987
+ inherits: false;
988
+ }
989
+ @property --tw-backdrop-saturate {
990
+ syntax: "*";
991
+ inherits: false;
992
+ }
993
+ @property --tw-backdrop-sepia {
994
+ syntax: "*";
995
+ inherits: false;
996
+ }
997
+ @layer properties {
998
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
999
+ *, ::before, ::after, ::backdrop {
1000
+ --tw-rotate-x: initial;
1001
+ --tw-rotate-y: initial;
1002
+ --tw-rotate-z: initial;
1003
+ --tw-skew-x: initial;
1004
+ --tw-skew-y: initial;
1005
+ --tw-space-y-reverse: 0;
1006
+ --tw-space-x-reverse: 0;
1007
+ --tw-border-style: solid;
1008
+ --tw-gradient-position: initial;
1009
+ --tw-gradient-from: #0000;
1010
+ --tw-gradient-via: #0000;
1011
+ --tw-gradient-to: #0000;
1012
+ --tw-gradient-stops: initial;
1013
+ --tw-gradient-via-stops: initial;
1014
+ --tw-gradient-from-position: 0%;
1015
+ --tw-gradient-via-position: 50%;
1016
+ --tw-gradient-to-position: 100%;
1017
+ --tw-leading: initial;
1018
+ --tw-font-weight: initial;
1019
+ --tw-tracking: initial;
1020
+ --tw-shadow: 0 0 #0000;
1021
+ --tw-shadow-color: initial;
1022
+ --tw-shadow-alpha: 100%;
1023
+ --tw-inset-shadow: 0 0 #0000;
1024
+ --tw-inset-shadow-color: initial;
1025
+ --tw-inset-shadow-alpha: 100%;
1026
+ --tw-ring-color: initial;
1027
+ --tw-ring-shadow: 0 0 #0000;
1028
+ --tw-inset-ring-color: initial;
1029
+ --tw-inset-ring-shadow: 0 0 #0000;
1030
+ --tw-ring-inset: initial;
1031
+ --tw-ring-offset-width: 0px;
1032
+ --tw-ring-offset-color: #fff;
1033
+ --tw-ring-offset-shadow: 0 0 #0000;
1034
+ --tw-backdrop-blur: initial;
1035
+ --tw-backdrop-brightness: initial;
1036
+ --tw-backdrop-contrast: initial;
1037
+ --tw-backdrop-grayscale: initial;
1038
+ --tw-backdrop-hue-rotate: initial;
1039
+ --tw-backdrop-invert: initial;
1040
+ --tw-backdrop-opacity: initial;
1041
+ --tw-backdrop-saturate: initial;
1042
+ --tw-backdrop-sepia: initial;
1043
+ }
1044
+ }
1045
+ }