treesap 0.0.2 → 0.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 (85) hide show
  1. package/dist/cli.d.ts +3 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +137 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/components/BaseHead.d.ts +5 -0
  6. package/dist/components/BaseHead.d.ts.map +1 -0
  7. package/dist/components/BaseHead.js +161 -0
  8. package/dist/components/BaseHead.js.map +1 -0
  9. package/dist/components/SimpleLivePreview.d.ts +7 -0
  10. package/dist/components/SimpleLivePreview.d.ts.map +1 -0
  11. package/dist/components/SimpleLivePreview.js +7 -0
  12. package/dist/components/SimpleLivePreview.js.map +1 -0
  13. package/dist/components/Terminal.d.ts +7 -0
  14. package/dist/components/Terminal.d.ts.map +1 -0
  15. package/dist/components/Terminal.js +8 -0
  16. package/dist/components/Terminal.js.map +1 -0
  17. package/dist/components/VoiceRecorder.d.ts +4 -0
  18. package/dist/components/VoiceRecorder.d.ts.map +1 -0
  19. package/dist/components/VoiceRecorder.js +5 -0
  20. package/dist/components/VoiceRecorder.js.map +1 -0
  21. package/dist/components/icons/GeminiLogo.d.ts +7 -0
  22. package/dist/components/icons/GeminiLogo.d.ts.map +1 -0
  23. package/dist/components/icons/GeminiLogo.js +5 -0
  24. package/dist/components/icons/GeminiLogo.js.map +1 -0
  25. package/dist/components/icons/OllamaLogo.d.ts +2 -0
  26. package/dist/components/icons/OllamaLogo.d.ts.map +1 -0
  27. package/dist/components/icons/OllamaLogo.js +5 -0
  28. package/dist/components/icons/OllamaLogo.js.map +1 -0
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +9 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/layouts/Layout.d.ts +8 -0
  34. package/dist/layouts/Layout.d.ts.map +1 -0
  35. package/dist/layouts/Layout.js +16 -0
  36. package/dist/layouts/Layout.js.map +1 -0
  37. package/dist/layouts/NotFoundLayout.d.ts +2 -0
  38. package/dist/layouts/NotFoundLayout.d.ts.map +1 -0
  39. package/dist/layouts/NotFoundLayout.js +6 -0
  40. package/dist/layouts/NotFoundLayout.js.map +1 -0
  41. package/dist/pages/Home.d.ts +7 -0
  42. package/dist/pages/Home.d.ts.map +1 -0
  43. package/dist/pages/Home.js +8 -0
  44. package/dist/pages/Home.js.map +1 -0
  45. package/dist/server.d.ts +11 -0
  46. package/dist/server.d.ts.map +1 -0
  47. package/dist/server.js +333 -0
  48. package/dist/server.js.map +1 -0
  49. package/dist/services/dev-server.d.ts +29 -0
  50. package/dist/services/dev-server.d.ts.map +1 -0
  51. package/dist/services/dev-server.js +201 -0
  52. package/dist/services/dev-server.js.map +1 -0
  53. package/dist/services/terminal.d.ts +22 -0
  54. package/dist/services/terminal.d.ts.map +1 -0
  55. package/dist/services/terminal.js +133 -0
  56. package/dist/services/terminal.js.map +1 -0
  57. package/dist/static/components/SimpleLivePreview.js +270 -0
  58. package/dist/static/components/Terminal.js +244 -0
  59. package/dist/static/favicon.svg +14 -0
  60. package/dist/static/signals/LivePreviewSignal.js +71 -0
  61. package/dist/static/styles/main.css +1400 -0
  62. package/package.json +58 -7
  63. package/src/cli.ts +155 -0
  64. package/src/components/BaseHead.ts +164 -0
  65. package/src/components/SimpleLivePreview.tsx +81 -0
  66. package/src/components/Terminal.tsx +34 -0
  67. package/src/components/VoiceRecorder.tsx +33 -0
  68. package/src/components/icons/GeminiLogo.tsx +10 -0
  69. package/src/components/icons/OllamaLogo.tsx +5 -0
  70. package/src/index.tsx +11 -0
  71. package/src/layouts/Layout.tsx +34 -0
  72. package/src/layouts/NotFoundLayout.tsx +15 -0
  73. package/src/pages/Home.tsx +27 -0
  74. package/src/server.tsx +399 -0
  75. package/src/services/dev-server.ts +234 -0
  76. package/src/services/terminal.ts +165 -0
  77. package/src/static/components/SimpleLivePreview.js +270 -0
  78. package/src/static/components/Terminal.js +244 -0
  79. package/src/static/favicon.svg +14 -0
  80. package/src/static/signals/LivePreviewSignal.js +71 -0
  81. package/src/static/styles/main.css +1400 -0
  82. package/src/styles/input.css +3 -0
  83. package/tailwind.config.ts +12 -0
  84. package/tsconfig.json +37 -0
  85. package/README.md +0 -1
@@ -0,0 +1,1400 @@
1
+ *, ::before, ::after {
2
+ --tw-border-spacing-x: 0;
3
+ --tw-border-spacing-y: 0;
4
+ --tw-translate-x: 0;
5
+ --tw-translate-y: 0;
6
+ --tw-rotate: 0;
7
+ --tw-skew-x: 0;
8
+ --tw-skew-y: 0;
9
+ --tw-scale-x: 1;
10
+ --tw-scale-y: 1;
11
+ --tw-pan-x: ;
12
+ --tw-pan-y: ;
13
+ --tw-pinch-zoom: ;
14
+ --tw-scroll-snap-strictness: proximity;
15
+ --tw-gradient-from-position: ;
16
+ --tw-gradient-via-position: ;
17
+ --tw-gradient-to-position: ;
18
+ --tw-ordinal: ;
19
+ --tw-slashed-zero: ;
20
+ --tw-numeric-figure: ;
21
+ --tw-numeric-spacing: ;
22
+ --tw-numeric-fraction: ;
23
+ --tw-ring-inset: ;
24
+ --tw-ring-offset-width: 0px;
25
+ --tw-ring-offset-color: #fff;
26
+ --tw-ring-color: rgb(59 130 246 / 0.5);
27
+ --tw-ring-offset-shadow: 0 0 #0000;
28
+ --tw-ring-shadow: 0 0 #0000;
29
+ --tw-shadow: 0 0 #0000;
30
+ --tw-shadow-colored: 0 0 #0000;
31
+ --tw-blur: ;
32
+ --tw-brightness: ;
33
+ --tw-contrast: ;
34
+ --tw-grayscale: ;
35
+ --tw-hue-rotate: ;
36
+ --tw-invert: ;
37
+ --tw-saturate: ;
38
+ --tw-sepia: ;
39
+ --tw-drop-shadow: ;
40
+ --tw-backdrop-blur: ;
41
+ --tw-backdrop-brightness: ;
42
+ --tw-backdrop-contrast: ;
43
+ --tw-backdrop-grayscale: ;
44
+ --tw-backdrop-hue-rotate: ;
45
+ --tw-backdrop-invert: ;
46
+ --tw-backdrop-opacity: ;
47
+ --tw-backdrop-saturate: ;
48
+ --tw-backdrop-sepia: ;
49
+ --tw-contain-size: ;
50
+ --tw-contain-layout: ;
51
+ --tw-contain-paint: ;
52
+ --tw-contain-style: ;
53
+ }
54
+
55
+ ::backdrop {
56
+ --tw-border-spacing-x: 0;
57
+ --tw-border-spacing-y: 0;
58
+ --tw-translate-x: 0;
59
+ --tw-translate-y: 0;
60
+ --tw-rotate: 0;
61
+ --tw-skew-x: 0;
62
+ --tw-skew-y: 0;
63
+ --tw-scale-x: 1;
64
+ --tw-scale-y: 1;
65
+ --tw-pan-x: ;
66
+ --tw-pan-y: ;
67
+ --tw-pinch-zoom: ;
68
+ --tw-scroll-snap-strictness: proximity;
69
+ --tw-gradient-from-position: ;
70
+ --tw-gradient-via-position: ;
71
+ --tw-gradient-to-position: ;
72
+ --tw-ordinal: ;
73
+ --tw-slashed-zero: ;
74
+ --tw-numeric-figure: ;
75
+ --tw-numeric-spacing: ;
76
+ --tw-numeric-fraction: ;
77
+ --tw-ring-inset: ;
78
+ --tw-ring-offset-width: 0px;
79
+ --tw-ring-offset-color: #fff;
80
+ --tw-ring-color: rgb(59 130 246 / 0.5);
81
+ --tw-ring-offset-shadow: 0 0 #0000;
82
+ --tw-ring-shadow: 0 0 #0000;
83
+ --tw-shadow: 0 0 #0000;
84
+ --tw-shadow-colored: 0 0 #0000;
85
+ --tw-blur: ;
86
+ --tw-brightness: ;
87
+ --tw-contrast: ;
88
+ --tw-grayscale: ;
89
+ --tw-hue-rotate: ;
90
+ --tw-invert: ;
91
+ --tw-saturate: ;
92
+ --tw-sepia: ;
93
+ --tw-drop-shadow: ;
94
+ --tw-backdrop-blur: ;
95
+ --tw-backdrop-brightness: ;
96
+ --tw-backdrop-contrast: ;
97
+ --tw-backdrop-grayscale: ;
98
+ --tw-backdrop-hue-rotate: ;
99
+ --tw-backdrop-invert: ;
100
+ --tw-backdrop-opacity: ;
101
+ --tw-backdrop-saturate: ;
102
+ --tw-backdrop-sepia: ;
103
+ --tw-contain-size: ;
104
+ --tw-contain-layout: ;
105
+ --tw-contain-paint: ;
106
+ --tw-contain-style: ;
107
+ }
108
+
109
+ /*
110
+ ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
111
+ */
112
+
113
+ /*
114
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
115
+ 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
116
+ */
117
+
118
+ *,
119
+ ::before,
120
+ ::after {
121
+ box-sizing: border-box;
122
+ /* 1 */
123
+ border-width: 0;
124
+ /* 2 */
125
+ border-style: solid;
126
+ /* 2 */
127
+ border-color: #e5e7eb;
128
+ /* 2 */
129
+ }
130
+
131
+ ::before,
132
+ ::after {
133
+ --tw-content: '';
134
+ }
135
+
136
+ /*
137
+ 1. Use a consistent sensible line-height in all browsers.
138
+ 2. Prevent adjustments of font size after orientation changes in iOS.
139
+ 3. Use a more readable tab size.
140
+ 4. Use the user's configured `sans` font-family by default.
141
+ 5. Use the user's configured `sans` font-feature-settings by default.
142
+ 6. Use the user's configured `sans` font-variation-settings by default.
143
+ 7. Disable tap highlights on iOS
144
+ */
145
+
146
+ html,
147
+ :host {
148
+ line-height: 1.5;
149
+ /* 1 */
150
+ -webkit-text-size-adjust: 100%;
151
+ /* 2 */
152
+ -moz-tab-size: 4;
153
+ /* 3 */
154
+ -o-tab-size: 4;
155
+ tab-size: 4;
156
+ /* 3 */
157
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
158
+ /* 4 */
159
+ font-feature-settings: normal;
160
+ /* 5 */
161
+ font-variation-settings: normal;
162
+ /* 6 */
163
+ -webkit-tap-highlight-color: transparent;
164
+ /* 7 */
165
+ }
166
+
167
+ /*
168
+ 1. Remove the margin in all browsers.
169
+ 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
170
+ */
171
+
172
+ body {
173
+ margin: 0;
174
+ /* 1 */
175
+ line-height: inherit;
176
+ /* 2 */
177
+ }
178
+
179
+ /*
180
+ 1. Add the correct height in Firefox.
181
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
182
+ 3. Ensure horizontal rules are visible by default.
183
+ */
184
+
185
+ hr {
186
+ height: 0;
187
+ /* 1 */
188
+ color: inherit;
189
+ /* 2 */
190
+ border-top-width: 1px;
191
+ /* 3 */
192
+ }
193
+
194
+ /*
195
+ Add the correct text decoration in Chrome, Edge, and Safari.
196
+ */
197
+
198
+ abbr:where([title]) {
199
+ -webkit-text-decoration: underline dotted;
200
+ text-decoration: underline dotted;
201
+ }
202
+
203
+ /*
204
+ Remove the default font size and weight for headings.
205
+ */
206
+
207
+ h1,
208
+ h2,
209
+ h3,
210
+ h4,
211
+ h5,
212
+ h6 {
213
+ font-size: inherit;
214
+ font-weight: inherit;
215
+ }
216
+
217
+ /*
218
+ Reset links to optimize for opt-in styling instead of opt-out.
219
+ */
220
+
221
+ a {
222
+ color: inherit;
223
+ text-decoration: inherit;
224
+ }
225
+
226
+ /*
227
+ Add the correct font weight in Edge and Safari.
228
+ */
229
+
230
+ b,
231
+ strong {
232
+ font-weight: bolder;
233
+ }
234
+
235
+ /*
236
+ 1. Use the user's configured `mono` font-family by default.
237
+ 2. Use the user's configured `mono` font-feature-settings by default.
238
+ 3. Use the user's configured `mono` font-variation-settings by default.
239
+ 4. Correct the odd `em` font sizing in all browsers.
240
+ */
241
+
242
+ code,
243
+ kbd,
244
+ samp,
245
+ pre {
246
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
247
+ /* 1 */
248
+ font-feature-settings: normal;
249
+ /* 2 */
250
+ font-variation-settings: normal;
251
+ /* 3 */
252
+ font-size: 1em;
253
+ /* 4 */
254
+ }
255
+
256
+ /*
257
+ Add the correct font size in all browsers.
258
+ */
259
+
260
+ small {
261
+ font-size: 80%;
262
+ }
263
+
264
+ /*
265
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
266
+ */
267
+
268
+ sub,
269
+ sup {
270
+ font-size: 75%;
271
+ line-height: 0;
272
+ position: relative;
273
+ vertical-align: baseline;
274
+ }
275
+
276
+ sub {
277
+ bottom: -0.25em;
278
+ }
279
+
280
+ sup {
281
+ top: -0.5em;
282
+ }
283
+
284
+ /*
285
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
286
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
287
+ 3. Remove gaps between table borders by default.
288
+ */
289
+
290
+ table {
291
+ text-indent: 0;
292
+ /* 1 */
293
+ border-color: inherit;
294
+ /* 2 */
295
+ border-collapse: collapse;
296
+ /* 3 */
297
+ }
298
+
299
+ /*
300
+ 1. Change the font styles in all browsers.
301
+ 2. Remove the margin in Firefox and Safari.
302
+ 3. Remove default padding in all browsers.
303
+ */
304
+
305
+ button,
306
+ input,
307
+ optgroup,
308
+ select,
309
+ textarea {
310
+ font-family: inherit;
311
+ /* 1 */
312
+ font-feature-settings: inherit;
313
+ /* 1 */
314
+ font-variation-settings: inherit;
315
+ /* 1 */
316
+ font-size: 100%;
317
+ /* 1 */
318
+ font-weight: inherit;
319
+ /* 1 */
320
+ line-height: inherit;
321
+ /* 1 */
322
+ letter-spacing: inherit;
323
+ /* 1 */
324
+ color: inherit;
325
+ /* 1 */
326
+ margin: 0;
327
+ /* 2 */
328
+ padding: 0;
329
+ /* 3 */
330
+ }
331
+
332
+ /*
333
+ Remove the inheritance of text transform in Edge and Firefox.
334
+ */
335
+
336
+ button,
337
+ select {
338
+ text-transform: none;
339
+ }
340
+
341
+ /*
342
+ 1. Correct the inability to style clickable types in iOS and Safari.
343
+ 2. Remove default button styles.
344
+ */
345
+
346
+ button,
347
+ input:where([type='button']),
348
+ input:where([type='reset']),
349
+ input:where([type='submit']) {
350
+ -webkit-appearance: button;
351
+ /* 1 */
352
+ background-color: transparent;
353
+ /* 2 */
354
+ background-image: none;
355
+ /* 2 */
356
+ }
357
+
358
+ /*
359
+ Use the modern Firefox focus style for all focusable elements.
360
+ */
361
+
362
+ :-moz-focusring {
363
+ outline: auto;
364
+ }
365
+
366
+ /*
367
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
368
+ */
369
+
370
+ :-moz-ui-invalid {
371
+ box-shadow: none;
372
+ }
373
+
374
+ /*
375
+ Add the correct vertical alignment in Chrome and Firefox.
376
+ */
377
+
378
+ progress {
379
+ vertical-align: baseline;
380
+ }
381
+
382
+ /*
383
+ Correct the cursor style of increment and decrement buttons in Safari.
384
+ */
385
+
386
+ ::-webkit-inner-spin-button,
387
+ ::-webkit-outer-spin-button {
388
+ height: auto;
389
+ }
390
+
391
+ /*
392
+ 1. Correct the odd appearance in Chrome and Safari.
393
+ 2. Correct the outline style in Safari.
394
+ */
395
+
396
+ [type='search'] {
397
+ -webkit-appearance: textfield;
398
+ /* 1 */
399
+ outline-offset: -2px;
400
+ /* 2 */
401
+ }
402
+
403
+ /*
404
+ Remove the inner padding in Chrome and Safari on macOS.
405
+ */
406
+
407
+ ::-webkit-search-decoration {
408
+ -webkit-appearance: none;
409
+ }
410
+
411
+ /*
412
+ 1. Correct the inability to style clickable types in iOS and Safari.
413
+ 2. Change font properties to `inherit` in Safari.
414
+ */
415
+
416
+ ::-webkit-file-upload-button {
417
+ -webkit-appearance: button;
418
+ /* 1 */
419
+ font: inherit;
420
+ /* 2 */
421
+ }
422
+
423
+ /*
424
+ Add the correct display in Chrome and Safari.
425
+ */
426
+
427
+ summary {
428
+ display: list-item;
429
+ }
430
+
431
+ /*
432
+ Removes the default spacing and border for appropriate elements.
433
+ */
434
+
435
+ blockquote,
436
+ dl,
437
+ dd,
438
+ h1,
439
+ h2,
440
+ h3,
441
+ h4,
442
+ h5,
443
+ h6,
444
+ hr,
445
+ figure,
446
+ p,
447
+ pre {
448
+ margin: 0;
449
+ }
450
+
451
+ fieldset {
452
+ margin: 0;
453
+ padding: 0;
454
+ }
455
+
456
+ legend {
457
+ padding: 0;
458
+ }
459
+
460
+ ol,
461
+ ul,
462
+ menu {
463
+ list-style: none;
464
+ margin: 0;
465
+ padding: 0;
466
+ }
467
+
468
+ /*
469
+ Reset default styling for dialogs.
470
+ */
471
+
472
+ dialog {
473
+ padding: 0;
474
+ }
475
+
476
+ /*
477
+ Prevent resizing textareas horizontally by default.
478
+ */
479
+
480
+ textarea {
481
+ resize: vertical;
482
+ }
483
+
484
+ /*
485
+ 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
486
+ 2. Set the default placeholder color to the user's configured gray 400 color.
487
+ */
488
+
489
+ input::-moz-placeholder, textarea::-moz-placeholder {
490
+ opacity: 1;
491
+ /* 1 */
492
+ color: #9ca3af;
493
+ /* 2 */
494
+ }
495
+
496
+ input::placeholder,
497
+ textarea::placeholder {
498
+ opacity: 1;
499
+ /* 1 */
500
+ color: #9ca3af;
501
+ /* 2 */
502
+ }
503
+
504
+ /*
505
+ Set the default cursor for buttons.
506
+ */
507
+
508
+ button,
509
+ [role="button"] {
510
+ cursor: pointer;
511
+ }
512
+
513
+ /*
514
+ Make sure disabled buttons don't get the pointer cursor.
515
+ */
516
+
517
+ :disabled {
518
+ cursor: default;
519
+ }
520
+
521
+ /*
522
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
523
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
524
+ This can trigger a poorly considered lint error in some tools but is included by design.
525
+ */
526
+
527
+ img,
528
+ svg,
529
+ video,
530
+ canvas,
531
+ audio,
532
+ iframe,
533
+ embed,
534
+ object {
535
+ display: block;
536
+ /* 1 */
537
+ vertical-align: middle;
538
+ /* 2 */
539
+ }
540
+
541
+ /*
542
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
543
+ */
544
+
545
+ img,
546
+ video {
547
+ max-width: 100%;
548
+ height: auto;
549
+ }
550
+
551
+ /* Make elements with the HTML hidden attribute stay hidden by default */
552
+
553
+ [hidden]:where(:not([hidden="until-found"])) {
554
+ display: none;
555
+ }
556
+
557
+ .container {
558
+ width: 100%;
559
+ }
560
+
561
+ @media (min-width: 640px) {
562
+ .container {
563
+ max-width: 640px;
564
+ }
565
+ }
566
+
567
+ @media (min-width: 768px) {
568
+ .container {
569
+ max-width: 768px;
570
+ }
571
+ }
572
+
573
+ @media (min-width: 1024px) {
574
+ .container {
575
+ max-width: 1024px;
576
+ }
577
+ }
578
+
579
+ @media (min-width: 1280px) {
580
+ .container {
581
+ max-width: 1280px;
582
+ }
583
+ }
584
+
585
+ @media (min-width: 1536px) {
586
+ .container {
587
+ max-width: 1536px;
588
+ }
589
+ }
590
+
591
+ .prose {
592
+ color: var(--tw-prose-body);
593
+ max-width: 65ch;
594
+ }
595
+
596
+ .prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
597
+ margin-top: 1.25em;
598
+ margin-bottom: 1.25em;
599
+ }
600
+
601
+ .prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
602
+ color: var(--tw-prose-lead);
603
+ font-size: 1.25em;
604
+ line-height: 1.6;
605
+ margin-top: 1.2em;
606
+ margin-bottom: 1.2em;
607
+ }
608
+
609
+ .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
610
+ color: var(--tw-prose-links);
611
+ text-decoration: underline;
612
+ font-weight: 500;
613
+ }
614
+
615
+ .prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
616
+ color: var(--tw-prose-bold);
617
+ font-weight: 600;
618
+ }
619
+
620
+ .prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
621
+ color: inherit;
622
+ }
623
+
624
+ .prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
625
+ color: inherit;
626
+ }
627
+
628
+ .prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
629
+ color: inherit;
630
+ }
631
+
632
+ .prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
633
+ list-style-type: decimal;
634
+ margin-top: 1.25em;
635
+ margin-bottom: 1.25em;
636
+ padding-inline-start: 1.625em;
637
+ }
638
+
639
+ .prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
640
+ list-style-type: upper-alpha;
641
+ }
642
+
643
+ .prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
644
+ list-style-type: lower-alpha;
645
+ }
646
+
647
+ .prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
648
+ list-style-type: upper-alpha;
649
+ }
650
+
651
+ .prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
652
+ list-style-type: lower-alpha;
653
+ }
654
+
655
+ .prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
656
+ list-style-type: upper-roman;
657
+ }
658
+
659
+ .prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
660
+ list-style-type: lower-roman;
661
+ }
662
+
663
+ .prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
664
+ list-style-type: upper-roman;
665
+ }
666
+
667
+ .prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
668
+ list-style-type: lower-roman;
669
+ }
670
+
671
+ .prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
672
+ list-style-type: decimal;
673
+ }
674
+
675
+ .prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
676
+ list-style-type: disc;
677
+ margin-top: 1.25em;
678
+ margin-bottom: 1.25em;
679
+ padding-inline-start: 1.625em;
680
+ }
681
+
682
+ .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
683
+ font-weight: 400;
684
+ color: var(--tw-prose-counters);
685
+ }
686
+
687
+ .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
688
+ color: var(--tw-prose-bullets);
689
+ }
690
+
691
+ .prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
692
+ color: var(--tw-prose-headings);
693
+ font-weight: 600;
694
+ margin-top: 1.25em;
695
+ }
696
+
697
+ .prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
698
+ border-color: var(--tw-prose-hr);
699
+ border-top-width: 1px;
700
+ margin-top: 3em;
701
+ margin-bottom: 3em;
702
+ }
703
+
704
+ .prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
705
+ font-weight: 500;
706
+ font-style: italic;
707
+ color: var(--tw-prose-quotes);
708
+ border-inline-start-width: 0.25rem;
709
+ border-inline-start-color: var(--tw-prose-quote-borders);
710
+ quotes: "\201C""\201D""\2018""\2019";
711
+ margin-top: 1.6em;
712
+ margin-bottom: 1.6em;
713
+ padding-inline-start: 1em;
714
+ }
715
+
716
+ .prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
717
+ content: open-quote;
718
+ }
719
+
720
+ .prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
721
+ content: close-quote;
722
+ }
723
+
724
+ .prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
725
+ color: var(--tw-prose-headings);
726
+ font-weight: 800;
727
+ font-size: 2.25em;
728
+ margin-top: 0;
729
+ margin-bottom: 0.8888889em;
730
+ line-height: 1.1111111;
731
+ }
732
+
733
+ .prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
734
+ font-weight: 900;
735
+ color: inherit;
736
+ }
737
+
738
+ .prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
739
+ color: var(--tw-prose-headings);
740
+ font-weight: 700;
741
+ font-size: 1.5em;
742
+ margin-top: 2em;
743
+ margin-bottom: 1em;
744
+ line-height: 1.3333333;
745
+ }
746
+
747
+ .prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
748
+ font-weight: 800;
749
+ color: inherit;
750
+ }
751
+
752
+ .prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
753
+ color: var(--tw-prose-headings);
754
+ font-weight: 600;
755
+ font-size: 1.25em;
756
+ margin-top: 1.6em;
757
+ margin-bottom: 0.6em;
758
+ line-height: 1.6;
759
+ }
760
+
761
+ .prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
762
+ font-weight: 700;
763
+ color: inherit;
764
+ }
765
+
766
+ .prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
767
+ color: var(--tw-prose-headings);
768
+ font-weight: 600;
769
+ margin-top: 1.5em;
770
+ margin-bottom: 0.5em;
771
+ line-height: 1.5;
772
+ }
773
+
774
+ .prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
775
+ font-weight: 700;
776
+ color: inherit;
777
+ }
778
+
779
+ .prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
780
+ margin-top: 2em;
781
+ margin-bottom: 2em;
782
+ }
783
+
784
+ .prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
785
+ display: block;
786
+ margin-top: 2em;
787
+ margin-bottom: 2em;
788
+ }
789
+
790
+ .prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
791
+ margin-top: 2em;
792
+ margin-bottom: 2em;
793
+ }
794
+
795
+ .prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
796
+ font-weight: 500;
797
+ font-family: inherit;
798
+ color: var(--tw-prose-kbd);
799
+ box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
800
+ font-size: 0.875em;
801
+ border-radius: 0.3125rem;
802
+ padding-top: 0.1875em;
803
+ padding-inline-end: 0.375em;
804
+ padding-bottom: 0.1875em;
805
+ padding-inline-start: 0.375em;
806
+ }
807
+
808
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
809
+ color: var(--tw-prose-code);
810
+ font-weight: 600;
811
+ font-size: 0.875em;
812
+ }
813
+
814
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
815
+ content: "`";
816
+ }
817
+
818
+ .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
819
+ content: "`";
820
+ }
821
+
822
+ .prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
823
+ color: inherit;
824
+ }
825
+
826
+ .prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
827
+ color: inherit;
828
+ }
829
+
830
+ .prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
831
+ color: inherit;
832
+ font-size: 0.875em;
833
+ }
834
+
835
+ .prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
836
+ color: inherit;
837
+ font-size: 0.9em;
838
+ }
839
+
840
+ .prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
841
+ color: inherit;
842
+ }
843
+
844
+ .prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
845
+ color: inherit;
846
+ }
847
+
848
+ .prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
849
+ color: inherit;
850
+ }
851
+
852
+ .prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
853
+ color: var(--tw-prose-pre-code);
854
+ background-color: var(--tw-prose-pre-bg);
855
+ overflow-x: auto;
856
+ font-weight: 400;
857
+ font-size: 0.875em;
858
+ line-height: 1.7142857;
859
+ margin-top: 1.7142857em;
860
+ margin-bottom: 1.7142857em;
861
+ border-radius: 0.375rem;
862
+ padding-top: 0.8571429em;
863
+ padding-inline-end: 1.1428571em;
864
+ padding-bottom: 0.8571429em;
865
+ padding-inline-start: 1.1428571em;
866
+ }
867
+
868
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
869
+ background-color: transparent;
870
+ border-width: 0;
871
+ border-radius: 0;
872
+ padding: 0;
873
+ font-weight: inherit;
874
+ color: inherit;
875
+ font-size: inherit;
876
+ font-family: inherit;
877
+ line-height: inherit;
878
+ }
879
+
880
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
881
+ content: none;
882
+ }
883
+
884
+ .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
885
+ content: none;
886
+ }
887
+
888
+ .prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
889
+ width: 100%;
890
+ table-layout: auto;
891
+ margin-top: 2em;
892
+ margin-bottom: 2em;
893
+ font-size: 0.875em;
894
+ line-height: 1.7142857;
895
+ }
896
+
897
+ .prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
898
+ border-bottom-width: 1px;
899
+ border-bottom-color: var(--tw-prose-th-borders);
900
+ }
901
+
902
+ .prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
903
+ color: var(--tw-prose-headings);
904
+ font-weight: 600;
905
+ vertical-align: bottom;
906
+ padding-inline-end: 0.5714286em;
907
+ padding-bottom: 0.5714286em;
908
+ padding-inline-start: 0.5714286em;
909
+ }
910
+
911
+ .prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
912
+ border-bottom-width: 1px;
913
+ border-bottom-color: var(--tw-prose-td-borders);
914
+ }
915
+
916
+ .prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
917
+ border-bottom-width: 0;
918
+ }
919
+
920
+ .prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
921
+ vertical-align: baseline;
922
+ }
923
+
924
+ .prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
925
+ border-top-width: 1px;
926
+ border-top-color: var(--tw-prose-th-borders);
927
+ }
928
+
929
+ .prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
930
+ vertical-align: top;
931
+ }
932
+
933
+ .prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
934
+ text-align: start;
935
+ }
936
+
937
+ .prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
938
+ margin-top: 0;
939
+ margin-bottom: 0;
940
+ }
941
+
942
+ .prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
943
+ color: var(--tw-prose-captions);
944
+ font-size: 0.875em;
945
+ line-height: 1.4285714;
946
+ margin-top: 0.8571429em;
947
+ }
948
+
949
+ .prose {
950
+ --tw-prose-body: #374151;
951
+ --tw-prose-headings: #111827;
952
+ --tw-prose-lead: #4b5563;
953
+ --tw-prose-links: #111827;
954
+ --tw-prose-bold: #111827;
955
+ --tw-prose-counters: #6b7280;
956
+ --tw-prose-bullets: #d1d5db;
957
+ --tw-prose-hr: #e5e7eb;
958
+ --tw-prose-quotes: #111827;
959
+ --tw-prose-quote-borders: #e5e7eb;
960
+ --tw-prose-captions: #6b7280;
961
+ --tw-prose-kbd: #111827;
962
+ --tw-prose-kbd-shadows: 17 24 39;
963
+ --tw-prose-code: #111827;
964
+ --tw-prose-pre-code: #e5e7eb;
965
+ --tw-prose-pre-bg: #1f2937;
966
+ --tw-prose-th-borders: #d1d5db;
967
+ --tw-prose-td-borders: #e5e7eb;
968
+ --tw-prose-invert-body: #d1d5db;
969
+ --tw-prose-invert-headings: #fff;
970
+ --tw-prose-invert-lead: #9ca3af;
971
+ --tw-prose-invert-links: #fff;
972
+ --tw-prose-invert-bold: #fff;
973
+ --tw-prose-invert-counters: #9ca3af;
974
+ --tw-prose-invert-bullets: #4b5563;
975
+ --tw-prose-invert-hr: #374151;
976
+ --tw-prose-invert-quotes: #f3f4f6;
977
+ --tw-prose-invert-quote-borders: #374151;
978
+ --tw-prose-invert-captions: #9ca3af;
979
+ --tw-prose-invert-kbd: #fff;
980
+ --tw-prose-invert-kbd-shadows: 255 255 255;
981
+ --tw-prose-invert-code: #fff;
982
+ --tw-prose-invert-pre-code: #d1d5db;
983
+ --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
984
+ --tw-prose-invert-th-borders: #4b5563;
985
+ --tw-prose-invert-td-borders: #374151;
986
+ font-size: 1rem;
987
+ line-height: 1.75;
988
+ }
989
+
990
+ .prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
991
+ margin-top: 0;
992
+ margin-bottom: 0;
993
+ }
994
+
995
+ .prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
996
+ margin-top: 0.5em;
997
+ margin-bottom: 0.5em;
998
+ }
999
+
1000
+ .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1001
+ padding-inline-start: 0.375em;
1002
+ }
1003
+
1004
+ .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1005
+ padding-inline-start: 0.375em;
1006
+ }
1007
+
1008
+ .prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1009
+ margin-top: 0.75em;
1010
+ margin-bottom: 0.75em;
1011
+ }
1012
+
1013
+ .prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1014
+ margin-top: 1.25em;
1015
+ }
1016
+
1017
+ .prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1018
+ margin-bottom: 1.25em;
1019
+ }
1020
+
1021
+ .prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1022
+ margin-top: 1.25em;
1023
+ }
1024
+
1025
+ .prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1026
+ margin-bottom: 1.25em;
1027
+ }
1028
+
1029
+ .prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1030
+ margin-top: 0.75em;
1031
+ margin-bottom: 0.75em;
1032
+ }
1033
+
1034
+ .prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1035
+ margin-top: 1.25em;
1036
+ margin-bottom: 1.25em;
1037
+ }
1038
+
1039
+ .prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1040
+ margin-top: 0.5em;
1041
+ padding-inline-start: 1.625em;
1042
+ }
1043
+
1044
+ .prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1045
+ margin-top: 0;
1046
+ }
1047
+
1048
+ .prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1049
+ margin-top: 0;
1050
+ }
1051
+
1052
+ .prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1053
+ margin-top: 0;
1054
+ }
1055
+
1056
+ .prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1057
+ margin-top: 0;
1058
+ }
1059
+
1060
+ .prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1061
+ padding-inline-start: 0;
1062
+ }
1063
+
1064
+ .prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1065
+ padding-inline-end: 0;
1066
+ }
1067
+
1068
+ .prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1069
+ padding-top: 0.5714286em;
1070
+ padding-inline-end: 0.5714286em;
1071
+ padding-bottom: 0.5714286em;
1072
+ padding-inline-start: 0.5714286em;
1073
+ }
1074
+
1075
+ .prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1076
+ padding-inline-start: 0;
1077
+ }
1078
+
1079
+ .prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1080
+ padding-inline-end: 0;
1081
+ }
1082
+
1083
+ .prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1084
+ margin-top: 2em;
1085
+ margin-bottom: 2em;
1086
+ }
1087
+
1088
+ .prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1089
+ margin-top: 0;
1090
+ }
1091
+
1092
+ .prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1093
+ margin-bottom: 0;
1094
+ }
1095
+
1096
+ .visible {
1097
+ visibility: visible;
1098
+ }
1099
+
1100
+ .static {
1101
+ position: static;
1102
+ }
1103
+
1104
+ .absolute {
1105
+ position: absolute;
1106
+ }
1107
+
1108
+ .relative {
1109
+ position: relative;
1110
+ }
1111
+
1112
+ .mb-8 {
1113
+ margin-bottom: 2rem;
1114
+ }
1115
+
1116
+ .ml-0 {
1117
+ margin-left: 0px;
1118
+ }
1119
+
1120
+ .ml-2 {
1121
+ margin-left: 0.5rem;
1122
+ }
1123
+
1124
+ .mr-3 {
1125
+ margin-right: 0.75rem;
1126
+ }
1127
+
1128
+ .block {
1129
+ display: block;
1130
+ }
1131
+
1132
+ .flex {
1133
+ display: flex;
1134
+ }
1135
+
1136
+ .hidden {
1137
+ display: none;
1138
+ }
1139
+
1140
+ .h-10 {
1141
+ height: 2.5rem;
1142
+ }
1143
+
1144
+ .h-full {
1145
+ height: 100%;
1146
+ }
1147
+
1148
+ .h-screen {
1149
+ height: 100vh;
1150
+ }
1151
+
1152
+ .min-h-screen {
1153
+ min-height: 100vh;
1154
+ }
1155
+
1156
+ .w-10 {
1157
+ width: 2.5rem;
1158
+ }
1159
+
1160
+ .w-2\/5 {
1161
+ width: 40%;
1162
+ }
1163
+
1164
+ .w-full {
1165
+ width: 100%;
1166
+ }
1167
+
1168
+ .flex-1 {
1169
+ flex: 1 1 0%;
1170
+ }
1171
+
1172
+ .flex-shrink-0 {
1173
+ flex-shrink: 0;
1174
+ }
1175
+
1176
+ @keyframes spin {
1177
+ to {
1178
+ transform: rotate(360deg);
1179
+ }
1180
+ }
1181
+
1182
+ .animate-spin {
1183
+ animation: spin 1s linear infinite;
1184
+ }
1185
+
1186
+ .resize {
1187
+ resize: both;
1188
+ }
1189
+
1190
+ .flex-col {
1191
+ flex-direction: column;
1192
+ }
1193
+
1194
+ .items-center {
1195
+ align-items: center;
1196
+ }
1197
+
1198
+ .justify-center {
1199
+ justify-content: center;
1200
+ }
1201
+
1202
+ .gap-2 {
1203
+ gap: 0.5rem;
1204
+ }
1205
+
1206
+ .overflow-hidden {
1207
+ overflow: hidden;
1208
+ }
1209
+
1210
+ .rounded-full {
1211
+ border-radius: 9999px;
1212
+ }
1213
+
1214
+ .rounded-md {
1215
+ border-radius: 0.375rem;
1216
+ }
1217
+
1218
+ .border {
1219
+ border-width: 1px;
1220
+ }
1221
+
1222
+ .border-0 {
1223
+ border-width: 0px;
1224
+ }
1225
+
1226
+ .border-b {
1227
+ border-bottom-width: 1px;
1228
+ }
1229
+
1230
+ .border-r {
1231
+ border-right-width: 1px;
1232
+ }
1233
+
1234
+ .border-gray-200 {
1235
+ --tw-border-opacity: 1;
1236
+ border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
1237
+ }
1238
+
1239
+ .border-gray-300 {
1240
+ --tw-border-opacity: 1;
1241
+ border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
1242
+ }
1243
+
1244
+ .bg-black {
1245
+ --tw-bg-opacity: 1;
1246
+ background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
1247
+ }
1248
+
1249
+ .bg-gray-50 {
1250
+ --tw-bg-opacity: 1;
1251
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
1252
+ }
1253
+
1254
+ .bg-gray-900 {
1255
+ --tw-bg-opacity: 1;
1256
+ background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
1257
+ }
1258
+
1259
+ .bg-transparent {
1260
+ background-color: transparent;
1261
+ }
1262
+
1263
+ .bg-white {
1264
+ --tw-bg-opacity: 1;
1265
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
1266
+ }
1267
+
1268
+ .p-1 {
1269
+ padding: 0.25rem;
1270
+ }
1271
+
1272
+ .p-2 {
1273
+ padding: 0.5rem;
1274
+ }
1275
+
1276
+ .p-3 {
1277
+ padding: 0.75rem;
1278
+ }
1279
+
1280
+ .px-4 {
1281
+ padding-left: 1rem;
1282
+ padding-right: 1rem;
1283
+ }
1284
+
1285
+ .py-2 {
1286
+ padding-top: 0.5rem;
1287
+ padding-bottom: 0.5rem;
1288
+ }
1289
+
1290
+ .font-sans {
1291
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
1292
+ }
1293
+
1294
+ .text-4xl {
1295
+ font-size: 2.25rem;
1296
+ line-height: 2.5rem;
1297
+ }
1298
+
1299
+ .text-sm {
1300
+ font-size: 0.875rem;
1301
+ line-height: 1.25rem;
1302
+ }
1303
+
1304
+ .font-bold {
1305
+ font-weight: 700;
1306
+ }
1307
+
1308
+ .italic {
1309
+ font-style: italic;
1310
+ }
1311
+
1312
+ .leading-tight {
1313
+ line-height: 1.25;
1314
+ }
1315
+
1316
+ .text-gray-400 {
1317
+ --tw-text-opacity: 1;
1318
+ color: rgb(156 163 175 / var(--tw-text-opacity, 1));
1319
+ }
1320
+
1321
+ .text-gray-600 {
1322
+ --tw-text-opacity: 1;
1323
+ color: rgb(75 85 99 / var(--tw-text-opacity, 1));
1324
+ }
1325
+
1326
+ .text-gray-700 {
1327
+ --tw-text-opacity: 1;
1328
+ color: rgb(55 65 81 / var(--tw-text-opacity, 1));
1329
+ }
1330
+
1331
+ .text-white {
1332
+ --tw-text-opacity: 1;
1333
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
1334
+ }
1335
+
1336
+ .filter {
1337
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1338
+ }
1339
+
1340
+ .transition-all {
1341
+ transition-property: all;
1342
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1343
+ transition-duration: 150ms;
1344
+ }
1345
+
1346
+ .transition-colors {
1347
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1348
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1349
+ transition-duration: 150ms;
1350
+ }
1351
+
1352
+ .duration-300 {
1353
+ transition-duration: 300ms;
1354
+ }
1355
+
1356
+ .focus-within\:border-blue-500:focus-within {
1357
+ --tw-border-opacity: 1;
1358
+ border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
1359
+ }
1360
+
1361
+ .focus-within\:bg-white:focus-within {
1362
+ --tw-bg-opacity: 1;
1363
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
1364
+ }
1365
+
1366
+ .focus-within\:ring-1:focus-within {
1367
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1368
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1369
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1370
+ }
1371
+
1372
+ .focus-within\:ring-blue-500:focus-within {
1373
+ --tw-ring-opacity: 1;
1374
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
1375
+ }
1376
+
1377
+ .hover\:border-gray-400:hover {
1378
+ --tw-border-opacity: 1;
1379
+ border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
1380
+ }
1381
+
1382
+ .hover\:bg-gray-100:hover {
1383
+ --tw-bg-opacity: 1;
1384
+ background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
1385
+ }
1386
+
1387
+ .hover\:bg-gray-800:hover {
1388
+ --tw-bg-opacity: 1;
1389
+ background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
1390
+ }
1391
+
1392
+ .hover\:bg-white:hover {
1393
+ --tw-bg-opacity: 1;
1394
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
1395
+ }
1396
+
1397
+ .focus\:outline-none:focus {
1398
+ outline: 2px solid transparent;
1399
+ outline-offset: 2px;
1400
+ }