@testsmith/api-spector 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1827 @@
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(147 197 253 / 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(147 197 253 / 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
+ ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
109
+ *//*
110
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
111
+ 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
112
+ */
113
+
114
+ *,
115
+ ::before,
116
+ ::after {
117
+ box-sizing: border-box; /* 1 */
118
+ border-width: 0; /* 2 */
119
+ border-style: solid; /* 2 */
120
+ border-color: #e5e7eb; /* 2 */
121
+ }
122
+
123
+ ::before,
124
+ ::after {
125
+ --tw-content: '';
126
+ }
127
+
128
+ /*
129
+ 1. Use a consistent sensible line-height in all browsers.
130
+ 2. Prevent adjustments of font size after orientation changes in iOS.
131
+ 3. Use a more readable tab size.
132
+ 4. Use the user's configured `sans` font-family by default.
133
+ 5. Use the user's configured `sans` font-feature-settings by default.
134
+ 6. Use the user's configured `sans` font-variation-settings by default.
135
+ 7. Disable tap highlights on iOS
136
+ */
137
+
138
+ html,
139
+ :host {
140
+ line-height: 1.5; /* 1 */
141
+ -webkit-text-size-adjust: 100%; /* 2 */
142
+ -moz-tab-size: 4; /* 3 */
143
+ -o-tab-size: 4;
144
+ tab-size: 4; /* 3 */
145
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
146
+ font-feature-settings: normal; /* 5 */
147
+ font-variation-settings: normal; /* 6 */
148
+ -webkit-tap-highlight-color: transparent; /* 7 */
149
+ }
150
+
151
+ /*
152
+ 1. Remove the margin in all browsers.
153
+ 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
154
+ */
155
+
156
+ body {
157
+ margin: 0; /* 1 */
158
+ line-height: inherit; /* 2 */
159
+ }
160
+
161
+ /*
162
+ 1. Add the correct height in Firefox.
163
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
164
+ 3. Ensure horizontal rules are visible by default.
165
+ */
166
+
167
+ hr {
168
+ height: 0; /* 1 */
169
+ color: inherit; /* 2 */
170
+ border-top-width: 1px; /* 3 */
171
+ }
172
+
173
+ /*
174
+ Add the correct text decoration in Chrome, Edge, and Safari.
175
+ */
176
+
177
+ abbr:where([title]) {
178
+ -webkit-text-decoration: underline dotted;
179
+ text-decoration: underline dotted;
180
+ }
181
+
182
+ /*
183
+ Remove the default font size and weight for headings.
184
+ */
185
+
186
+ h1,
187
+ h2,
188
+ h3,
189
+ h4,
190
+ h5,
191
+ h6 {
192
+ font-size: inherit;
193
+ font-weight: inherit;
194
+ }
195
+
196
+ /*
197
+ Reset links to optimize for opt-in styling instead of opt-out.
198
+ */
199
+
200
+ a {
201
+ color: inherit;
202
+ text-decoration: inherit;
203
+ }
204
+
205
+ /*
206
+ Add the correct font weight in Edge and Safari.
207
+ */
208
+
209
+ b,
210
+ strong {
211
+ font-weight: bolder;
212
+ }
213
+
214
+ /*
215
+ 1. Use the user's configured `mono` font-family by default.
216
+ 2. Use the user's configured `mono` font-feature-settings by default.
217
+ 3. Use the user's configured `mono` font-variation-settings by default.
218
+ 4. Correct the odd `em` font sizing in all browsers.
219
+ */
220
+
221
+ code,
222
+ kbd,
223
+ samp,
224
+ pre {
225
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
226
+ font-feature-settings: normal; /* 2 */
227
+ font-variation-settings: normal; /* 3 */
228
+ font-size: 1em; /* 4 */
229
+ }
230
+
231
+ /*
232
+ Add the correct font size in all browsers.
233
+ */
234
+
235
+ small {
236
+ font-size: 80%;
237
+ }
238
+
239
+ /*
240
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
241
+ */
242
+
243
+ sub,
244
+ sup {
245
+ font-size: 75%;
246
+ line-height: 0;
247
+ position: relative;
248
+ vertical-align: baseline;
249
+ }
250
+
251
+ sub {
252
+ bottom: -0.25em;
253
+ }
254
+
255
+ sup {
256
+ top: -0.5em;
257
+ }
258
+
259
+ /*
260
+ 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)
261
+ 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)
262
+ 3. Remove gaps between table borders by default.
263
+ */
264
+
265
+ table {
266
+ text-indent: 0; /* 1 */
267
+ border-color: inherit; /* 2 */
268
+ border-collapse: collapse; /* 3 */
269
+ }
270
+
271
+ /*
272
+ 1. Change the font styles in all browsers.
273
+ 2. Remove the margin in Firefox and Safari.
274
+ 3. Remove default padding in all browsers.
275
+ */
276
+
277
+ button,
278
+ input,
279
+ optgroup,
280
+ select,
281
+ textarea {
282
+ font-family: inherit; /* 1 */
283
+ font-feature-settings: inherit; /* 1 */
284
+ font-variation-settings: inherit; /* 1 */
285
+ font-size: 100%; /* 1 */
286
+ font-weight: inherit; /* 1 */
287
+ line-height: inherit; /* 1 */
288
+ letter-spacing: inherit; /* 1 */
289
+ color: inherit; /* 1 */
290
+ margin: 0; /* 2 */
291
+ padding: 0; /* 3 */
292
+ }
293
+
294
+ /*
295
+ Remove the inheritance of text transform in Edge and Firefox.
296
+ */
297
+
298
+ button,
299
+ select {
300
+ text-transform: none;
301
+ }
302
+
303
+ /*
304
+ 1. Correct the inability to style clickable types in iOS and Safari.
305
+ 2. Remove default button styles.
306
+ */
307
+
308
+ button,
309
+ input:where([type='button']),
310
+ input:where([type='reset']),
311
+ input:where([type='submit']) {
312
+ -webkit-appearance: button; /* 1 */
313
+ background-color: transparent; /* 2 */
314
+ background-image: none; /* 2 */
315
+ }
316
+
317
+ /*
318
+ Use the modern Firefox focus style for all focusable elements.
319
+ */
320
+
321
+ :-moz-focusring {
322
+ outline: auto;
323
+ }
324
+
325
+ /*
326
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
327
+ */
328
+
329
+ :-moz-ui-invalid {
330
+ box-shadow: none;
331
+ }
332
+
333
+ /*
334
+ Add the correct vertical alignment in Chrome and Firefox.
335
+ */
336
+
337
+ progress {
338
+ vertical-align: baseline;
339
+ }
340
+
341
+ /*
342
+ Correct the cursor style of increment and decrement buttons in Safari.
343
+ */
344
+
345
+ ::-webkit-inner-spin-button,
346
+ ::-webkit-outer-spin-button {
347
+ height: auto;
348
+ }
349
+
350
+ /*
351
+ 1. Correct the odd appearance in Chrome and Safari.
352
+ 2. Correct the outline style in Safari.
353
+ */
354
+
355
+ [type='search'] {
356
+ -webkit-appearance: textfield; /* 1 */
357
+ outline-offset: -2px; /* 2 */
358
+ }
359
+
360
+ /*
361
+ Remove the inner padding in Chrome and Safari on macOS.
362
+ */
363
+
364
+ ::-webkit-search-decoration {
365
+ -webkit-appearance: none;
366
+ }
367
+
368
+ /*
369
+ 1. Correct the inability to style clickable types in iOS and Safari.
370
+ 2. Change font properties to `inherit` in Safari.
371
+ */
372
+
373
+ ::-webkit-file-upload-button {
374
+ -webkit-appearance: button; /* 1 */
375
+ font: inherit; /* 2 */
376
+ }
377
+
378
+ /*
379
+ Add the correct display in Chrome and Safari.
380
+ */
381
+
382
+ summary {
383
+ display: list-item;
384
+ }
385
+
386
+ /*
387
+ Removes the default spacing and border for appropriate elements.
388
+ */
389
+
390
+ blockquote,
391
+ dl,
392
+ dd,
393
+ h1,
394
+ h2,
395
+ h3,
396
+ h4,
397
+ h5,
398
+ h6,
399
+ hr,
400
+ figure,
401
+ p,
402
+ pre {
403
+ margin: 0;
404
+ }
405
+
406
+ fieldset {
407
+ margin: 0;
408
+ padding: 0;
409
+ }
410
+
411
+ legend {
412
+ padding: 0;
413
+ }
414
+
415
+ ol,
416
+ ul,
417
+ menu {
418
+ list-style: none;
419
+ margin: 0;
420
+ padding: 0;
421
+ }
422
+
423
+ /*
424
+ Reset default styling for dialogs.
425
+ */
426
+ dialog {
427
+ padding: 0;
428
+ }
429
+
430
+ /*
431
+ Prevent resizing textareas horizontally by default.
432
+ */
433
+
434
+ textarea {
435
+ resize: vertical;
436
+ }
437
+
438
+ /*
439
+ 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
440
+ 2. Set the default placeholder color to the user's configured gray 400 color.
441
+ */
442
+
443
+ input::-moz-placeholder, textarea::-moz-placeholder {
444
+ opacity: 1; /* 1 */
445
+ color: #9ca3af; /* 2 */
446
+ }
447
+
448
+ input::placeholder,
449
+ textarea::placeholder {
450
+ opacity: 1; /* 1 */
451
+ color: #9ca3af; /* 2 */
452
+ }
453
+
454
+ /*
455
+ Set the default cursor for buttons.
456
+ */
457
+
458
+ button,
459
+ [role="button"] {
460
+ cursor: pointer;
461
+ }
462
+
463
+ /*
464
+ Make sure disabled buttons don't get the pointer cursor.
465
+ */
466
+ :disabled {
467
+ cursor: default;
468
+ }
469
+
470
+ /*
471
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
472
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
473
+ This can trigger a poorly considered lint error in some tools but is included by design.
474
+ */
475
+
476
+ img,
477
+ svg,
478
+ video,
479
+ canvas,
480
+ audio,
481
+ iframe,
482
+ embed,
483
+ object {
484
+ display: block; /* 1 */
485
+ vertical-align: middle; /* 2 */
486
+ }
487
+
488
+ /*
489
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
490
+ */
491
+
492
+ img,
493
+ video {
494
+ max-width: 100%;
495
+ height: auto;
496
+ }
497
+
498
+ /* Make elements with the HTML hidden attribute stay hidden by default */
499
+ [hidden]:where(:not([hidden="until-found"])) {
500
+ display: none;
501
+ }
502
+ .sr-only {
503
+ position: absolute;
504
+ width: 1px;
505
+ height: 1px;
506
+ padding: 0;
507
+ margin: -1px;
508
+ overflow: hidden;
509
+ clip: rect(0, 0, 0, 0);
510
+ white-space: nowrap;
511
+ border-width: 0;
512
+ }
513
+ .visible {
514
+ visibility: visible;
515
+ }
516
+ .static {
517
+ position: static;
518
+ }
519
+ .fixed {
520
+ position: fixed;
521
+ }
522
+ .absolute {
523
+ position: absolute;
524
+ }
525
+ .relative {
526
+ position: relative;
527
+ }
528
+ .sticky {
529
+ position: sticky;
530
+ }
531
+ .inset-0 {
532
+ inset: 0px;
533
+ }
534
+ .left-0 {
535
+ left: 0px;
536
+ }
537
+ .right-0 {
538
+ right: 0px;
539
+ }
540
+ .right-1 {
541
+ right: 0.25rem;
542
+ }
543
+ .top-0 {
544
+ top: 0px;
545
+ }
546
+ .top-1 {
547
+ top: 0.25rem;
548
+ }
549
+ .top-full {
550
+ top: 100%;
551
+ }
552
+ .z-50 {
553
+ z-index: 50;
554
+ }
555
+ .z-\[200\] {
556
+ z-index: 200;
557
+ }
558
+ .z-\[60\] {
559
+ z-index: 60;
560
+ }
561
+ .mx-0\.5 {
562
+ margin-left: 0.125rem;
563
+ margin-right: 0.125rem;
564
+ }
565
+ .mx-1 {
566
+ margin-left: 0.25rem;
567
+ margin-right: 0.25rem;
568
+ }
569
+ .mx-3 {
570
+ margin-left: 0.75rem;
571
+ margin-right: 0.75rem;
572
+ }
573
+ .mx-4 {
574
+ margin-left: 1rem;
575
+ margin-right: 1rem;
576
+ }
577
+ .mx-auto {
578
+ margin-left: auto;
579
+ margin-right: auto;
580
+ }
581
+ .my-2 {
582
+ margin-top: 0.5rem;
583
+ margin-bottom: 0.5rem;
584
+ }
585
+ .-mb-px {
586
+ margin-bottom: -1px;
587
+ }
588
+ .mb-1 {
589
+ margin-bottom: 0.25rem;
590
+ }
591
+ .mb-1\.5 {
592
+ margin-bottom: 0.375rem;
593
+ }
594
+ .mb-2 {
595
+ margin-bottom: 0.5rem;
596
+ }
597
+ .ml-0\.5 {
598
+ margin-left: 0.125rem;
599
+ }
600
+ .ml-1 {
601
+ margin-left: 0.25rem;
602
+ }
603
+ .ml-1\.5 {
604
+ margin-left: 0.375rem;
605
+ }
606
+ .ml-2 {
607
+ margin-left: 0.5rem;
608
+ }
609
+ .ml-4 {
610
+ margin-left: 1rem;
611
+ }
612
+ .ml-auto {
613
+ margin-left: auto;
614
+ }
615
+ .mr-1 {
616
+ margin-right: 0.25rem;
617
+ }
618
+ .mt-0\.5 {
619
+ margin-top: 0.125rem;
620
+ }
621
+ .mt-1 {
622
+ margin-top: 0.25rem;
623
+ }
624
+ .mt-2 {
625
+ margin-top: 0.5rem;
626
+ }
627
+ .mt-4 {
628
+ margin-top: 1rem;
629
+ }
630
+ .mt-px {
631
+ margin-top: 1px;
632
+ }
633
+ .block {
634
+ display: block;
635
+ }
636
+ .inline-block {
637
+ display: inline-block;
638
+ }
639
+ .inline {
640
+ display: inline;
641
+ }
642
+ .flex {
643
+ display: flex;
644
+ }
645
+ .table {
646
+ display: table;
647
+ }
648
+ .grid {
649
+ display: grid;
650
+ }
651
+ .contents {
652
+ display: contents;
653
+ }
654
+ .hidden {
655
+ display: none;
656
+ }
657
+ .h-1\.5 {
658
+ height: 0.375rem;
659
+ }
660
+ .h-10 {
661
+ height: 2.5rem;
662
+ }
663
+ .h-2 {
664
+ height: 0.5rem;
665
+ }
666
+ .h-24 {
667
+ height: 6rem;
668
+ }
669
+ .h-3 {
670
+ height: 0.75rem;
671
+ }
672
+ .h-3\.5 {
673
+ height: 0.875rem;
674
+ }
675
+ .h-4 {
676
+ height: 1rem;
677
+ }
678
+ .h-7 {
679
+ height: 1.75rem;
680
+ }
681
+ .h-full {
682
+ height: 100%;
683
+ }
684
+ .h-screen {
685
+ height: 100vh;
686
+ }
687
+ .max-h-44 {
688
+ max-height: 11rem;
689
+ }
690
+ .max-h-80 {
691
+ max-height: 20rem;
692
+ }
693
+ .max-h-\[45vh\] {
694
+ max-height: 45vh;
695
+ }
696
+ .max-h-\[70vh\] {
697
+ max-height: 70vh;
698
+ }
699
+ .max-h-\[80vh\] {
700
+ max-height: 80vh;
701
+ }
702
+ .min-h-0 {
703
+ min-height: 0px;
704
+ }
705
+ .min-h-\[160px\] {
706
+ min-height: 160px;
707
+ }
708
+ .w-1\.5 {
709
+ width: 0.375rem;
710
+ }
711
+ .w-10 {
712
+ width: 2.5rem;
713
+ }
714
+ .w-12 {
715
+ width: 3rem;
716
+ }
717
+ .w-14 {
718
+ width: 3.5rem;
719
+ }
720
+ .w-16 {
721
+ width: 4rem;
722
+ }
723
+ .w-2 {
724
+ width: 0.5rem;
725
+ }
726
+ .w-20 {
727
+ width: 5rem;
728
+ }
729
+ .w-24 {
730
+ width: 6rem;
731
+ }
732
+ .w-28 {
733
+ width: 7rem;
734
+ }
735
+ .w-3 {
736
+ width: 0.75rem;
737
+ }
738
+ .w-3\.5 {
739
+ width: 0.875rem;
740
+ }
741
+ .w-32 {
742
+ width: 8rem;
743
+ }
744
+ .w-36 {
745
+ width: 9rem;
746
+ }
747
+ .w-4 {
748
+ width: 1rem;
749
+ }
750
+ .w-44 {
751
+ width: 11rem;
752
+ }
753
+ .w-48 {
754
+ width: 12rem;
755
+ }
756
+ .w-5 {
757
+ width: 1.25rem;
758
+ }
759
+ .w-52 {
760
+ width: 13rem;
761
+ }
762
+ .w-56 {
763
+ width: 14rem;
764
+ }
765
+ .w-6 {
766
+ width: 1.5rem;
767
+ }
768
+ .w-64 {
769
+ width: 16rem;
770
+ }
771
+ .w-7 {
772
+ width: 1.75rem;
773
+ }
774
+ .w-8 {
775
+ width: 2rem;
776
+ }
777
+ .w-\[420px\] {
778
+ width: 420px;
779
+ }
780
+ .w-\[480px\] {
781
+ width: 480px;
782
+ }
783
+ .w-\[500px\] {
784
+ width: 500px;
785
+ }
786
+ .w-\[520px\] {
787
+ width: 520px;
788
+ }
789
+ .w-\[560px\] {
790
+ width: 560px;
791
+ }
792
+ .w-\[680px\] {
793
+ width: 680px;
794
+ }
795
+ .w-\[780px\] {
796
+ width: 780px;
797
+ }
798
+ .w-full {
799
+ width: 100%;
800
+ }
801
+ .w-px {
802
+ width: 1px;
803
+ }
804
+ .min-w-0 {
805
+ min-width: 0px;
806
+ }
807
+ .min-w-\[100px\] {
808
+ min-width: 100px;
809
+ }
810
+ .min-w-\[120px\] {
811
+ min-width: 120px;
812
+ }
813
+ .min-w-\[160px\] {
814
+ min-width: 160px;
815
+ }
816
+ .min-w-\[220px\] {
817
+ min-width: 220px;
818
+ }
819
+ .min-w-\[240px\] {
820
+ min-width: 240px;
821
+ }
822
+ .min-w-\[72px\] {
823
+ min-width: 72px;
824
+ }
825
+ .max-w-4xl {
826
+ max-width: 56rem;
827
+ }
828
+ .max-w-\[120px\] {
829
+ max-width: 120px;
830
+ }
831
+ .max-w-\[140px\] {
832
+ max-width: 140px;
833
+ }
834
+ .max-w-\[180px\] {
835
+ max-width: 180px;
836
+ }
837
+ .max-w-\[200px\] {
838
+ max-width: 200px;
839
+ }
840
+ .max-w-\[260px\] {
841
+ max-width: 260px;
842
+ }
843
+ .max-w-\[420px\] {
844
+ max-width: 420px;
845
+ }
846
+ .max-w-\[60px\] {
847
+ max-width: 60px;
848
+ }
849
+ .max-w-\[64px\] {
850
+ max-width: 64px;
851
+ }
852
+ .max-w-sm {
853
+ max-width: 24rem;
854
+ }
855
+ .max-w-xs {
856
+ max-width: 20rem;
857
+ }
858
+ .flex-1 {
859
+ flex: 1 1 0%;
860
+ }
861
+ .flex-shrink-0 {
862
+ flex-shrink: 0;
863
+ }
864
+ .shrink-0 {
865
+ flex-shrink: 0;
866
+ }
867
+ .border-collapse {
868
+ border-collapse: collapse;
869
+ }
870
+ .transform {
871
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
872
+ }
873
+ @keyframes pulse {
874
+
875
+ 50% {
876
+ opacity: .5;
877
+ }
878
+ }
879
+ .animate-pulse {
880
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
881
+ }
882
+ .cursor-default {
883
+ cursor: default;
884
+ }
885
+ .cursor-pointer {
886
+ cursor: pointer;
887
+ }
888
+ .select-none {
889
+ -webkit-user-select: none;
890
+ -moz-user-select: none;
891
+ user-select: none;
892
+ }
893
+ .select-all {
894
+ -webkit-user-select: all;
895
+ -moz-user-select: all;
896
+ user-select: all;
897
+ }
898
+ .resize-none {
899
+ resize: none;
900
+ }
901
+ .resize-y {
902
+ resize: vertical;
903
+ }
904
+ .grid-cols-2 {
905
+ grid-template-columns: repeat(2, minmax(0, 1fr));
906
+ }
907
+ .flex-col {
908
+ flex-direction: column;
909
+ }
910
+ .flex-wrap {
911
+ flex-wrap: wrap;
912
+ }
913
+ .items-start {
914
+ align-items: flex-start;
915
+ }
916
+ .items-end {
917
+ align-items: flex-end;
918
+ }
919
+ .items-center {
920
+ align-items: center;
921
+ }
922
+ .items-baseline {
923
+ align-items: baseline;
924
+ }
925
+ .justify-end {
926
+ justify-content: flex-end;
927
+ }
928
+ .justify-center {
929
+ justify-content: center;
930
+ }
931
+ .justify-between {
932
+ justify-content: space-between;
933
+ }
934
+ .gap-0 {
935
+ gap: 0px;
936
+ }
937
+ .gap-0\.5 {
938
+ gap: 0.125rem;
939
+ }
940
+ .gap-1 {
941
+ gap: 0.25rem;
942
+ }
943
+ .gap-1\.5 {
944
+ gap: 0.375rem;
945
+ }
946
+ .gap-2 {
947
+ gap: 0.5rem;
948
+ }
949
+ .gap-3 {
950
+ gap: 0.75rem;
951
+ }
952
+ .gap-4 {
953
+ gap: 1rem;
954
+ }
955
+ .gap-6 {
956
+ gap: 1.5rem;
957
+ }
958
+ .space-y-1 > :not([hidden]) ~ :not([hidden]) {
959
+ --tw-space-y-reverse: 0;
960
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
961
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
962
+ }
963
+ .self-end {
964
+ align-self: flex-end;
965
+ }
966
+ .overflow-auto {
967
+ overflow: auto;
968
+ }
969
+ .overflow-hidden {
970
+ overflow: hidden;
971
+ }
972
+ .overflow-x-auto {
973
+ overflow-x: auto;
974
+ }
975
+ .overflow-y-auto {
976
+ overflow-y: auto;
977
+ }
978
+ .overflow-x-hidden {
979
+ overflow-x: hidden;
980
+ }
981
+ .truncate {
982
+ overflow: hidden;
983
+ text-overflow: ellipsis;
984
+ white-space: nowrap;
985
+ }
986
+ .whitespace-nowrap {
987
+ white-space: nowrap;
988
+ }
989
+ .whitespace-pre-wrap {
990
+ white-space: pre-wrap;
991
+ }
992
+ .break-all {
993
+ word-break: break-all;
994
+ }
995
+ .rounded {
996
+ border-radius: 0.25rem;
997
+ }
998
+ .rounded-full {
999
+ border-radius: 9999px;
1000
+ }
1001
+ .rounded-lg {
1002
+ border-radius: 0.5rem;
1003
+ }
1004
+ .rounded-sm {
1005
+ border-radius: 0.125rem;
1006
+ }
1007
+ .rounded-xl {
1008
+ border-radius: 0.75rem;
1009
+ }
1010
+ .rounded-r {
1011
+ border-top-right-radius: 0.25rem;
1012
+ border-bottom-right-radius: 0.25rem;
1013
+ }
1014
+ .border {
1015
+ border-width: 1px;
1016
+ }
1017
+ .border-x {
1018
+ border-left-width: 1px;
1019
+ border-right-width: 1px;
1020
+ }
1021
+ .border-b {
1022
+ border-bottom-width: 1px;
1023
+ }
1024
+ .border-b-2 {
1025
+ border-bottom-width: 2px;
1026
+ }
1027
+ .border-l {
1028
+ border-left-width: 1px;
1029
+ }
1030
+ .border-l-2 {
1031
+ border-left-width: 2px;
1032
+ }
1033
+ .border-r {
1034
+ border-right-width: 1px;
1035
+ }
1036
+ .border-t {
1037
+ border-top-width: 1px;
1038
+ }
1039
+ .border-blue-500 {
1040
+ border-color: var(--ts-blue-500);
1041
+ }
1042
+ .border-blue-700 {
1043
+ border-color: var(--ts-blue-700);
1044
+ }
1045
+ .border-blue-800 {
1046
+ --tw-border-opacity: 1;
1047
+ border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
1048
+ }
1049
+ .border-blue-800\/40 {
1050
+ border-color: rgb(30 64 175 / 0.4);
1051
+ }
1052
+ .border-blue-800\/50 {
1053
+ border-color: rgb(30 64 175 / 0.5);
1054
+ }
1055
+ .border-emerald-700 {
1056
+ --tw-border-opacity: 1;
1057
+ border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
1058
+ }
1059
+ .border-emerald-800 {
1060
+ border-color: var(--ts-green-800);
1061
+ }
1062
+ .border-red-600 {
1063
+ --tw-border-opacity: 1;
1064
+ border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
1065
+ }
1066
+ .border-red-700 {
1067
+ --tw-border-opacity: 1;
1068
+ border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
1069
+ }
1070
+ .border-red-700\/50 {
1071
+ border-color: rgb(185 28 28 / 0.5);
1072
+ }
1073
+ .border-red-800 {
1074
+ --tw-border-opacity: 1;
1075
+ border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
1076
+ }
1077
+ .border-red-800\/50 {
1078
+ border-color: rgb(153 27 27 / 0.5);
1079
+ }
1080
+ .border-red-800\/60 {
1081
+ border-color: rgb(153 27 27 / 0.6);
1082
+ }
1083
+ .border-surface-700 {
1084
+ border-color: var(--surface-700);
1085
+ }
1086
+ .border-surface-800 {
1087
+ border-color: var(--surface-800);
1088
+ }
1089
+ .border-transparent {
1090
+ border-color: transparent;
1091
+ }
1092
+ .border-yellow-800 {
1093
+ --tw-border-opacity: 1;
1094
+ border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
1095
+ }
1096
+ .border-b-blue-500 {
1097
+ border-bottom-color: var(--ts-blue-500);
1098
+ }
1099
+ .bg-amber-400 {
1100
+ --tw-bg-opacity: 1;
1101
+ background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
1102
+ }
1103
+ .bg-amber-700 {
1104
+ --tw-bg-opacity: 1;
1105
+ background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
1106
+ }
1107
+ .bg-black\/50 {
1108
+ background-color: rgb(0 0 0 / 0.5);
1109
+ }
1110
+ .bg-black\/60 {
1111
+ background-color: rgb(0 0 0 / 0.6);
1112
+ }
1113
+ .bg-blue-400 {
1114
+ background-color: var(--ts-blue-400);
1115
+ }
1116
+ .bg-blue-600 {
1117
+ background-color: var(--ts-blue-600);
1118
+ }
1119
+ .bg-blue-700 {
1120
+ background-color: var(--ts-blue-700);
1121
+ }
1122
+ .bg-blue-900\/20 {
1123
+ background-color: rgb(30 58 138 / 0.2);
1124
+ }
1125
+ .bg-blue-900\/30 {
1126
+ background-color: rgb(30 58 138 / 0.3);
1127
+ }
1128
+ .bg-blue-900\/50 {
1129
+ background-color: rgb(30 58 138 / 0.5);
1130
+ }
1131
+ .bg-blue-950\/40 {
1132
+ background-color: rgb(23 37 84 / 0.4);
1133
+ }
1134
+ .bg-blue-950\/50 {
1135
+ background-color: rgb(23 37 84 / 0.5);
1136
+ }
1137
+ .bg-cyan-700 {
1138
+ --tw-bg-opacity: 1;
1139
+ background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
1140
+ }
1141
+ .bg-emerald-400 {
1142
+ background-color: var(--ts-green-400);
1143
+ }
1144
+ .bg-emerald-500 {
1145
+ --tw-bg-opacity: 1;
1146
+ background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
1147
+ }
1148
+ .bg-emerald-700 {
1149
+ --tw-bg-opacity: 1;
1150
+ background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
1151
+ }
1152
+ .bg-emerald-950\/30 {
1153
+ background-color: rgb(2 44 34 / 0.3);
1154
+ }
1155
+ .bg-orange-500 {
1156
+ --tw-bg-opacity: 1;
1157
+ background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
1158
+ }
1159
+ .bg-red-500 {
1160
+ --tw-bg-opacity: 1;
1161
+ background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
1162
+ }
1163
+ .bg-red-700 {
1164
+ --tw-bg-opacity: 1;
1165
+ background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
1166
+ }
1167
+ .bg-red-800 {
1168
+ --tw-bg-opacity: 1;
1169
+ background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
1170
+ }
1171
+ .bg-red-900\/20 {
1172
+ background-color: rgb(127 29 29 / 0.2);
1173
+ }
1174
+ .bg-red-900\/30 {
1175
+ background-color: rgb(127 29 29 / 0.3);
1176
+ }
1177
+ .bg-red-900\/40 {
1178
+ background-color: rgb(127 29 29 / 0.4);
1179
+ }
1180
+ .bg-red-900\/50 {
1181
+ background-color: rgb(127 29 29 / 0.5);
1182
+ }
1183
+ .bg-red-950 {
1184
+ --tw-bg-opacity: 1;
1185
+ background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
1186
+ }
1187
+ .bg-red-950\/20 {
1188
+ background-color: rgb(69 10 10 / 0.2);
1189
+ }
1190
+ .bg-red-950\/30 {
1191
+ background-color: rgb(69 10 10 / 0.3);
1192
+ }
1193
+ .bg-red-950\/50 {
1194
+ background-color: rgb(69 10 10 / 0.5);
1195
+ }
1196
+ .bg-surface-700 {
1197
+ background-color: var(--surface-700);
1198
+ }
1199
+ .bg-surface-800 {
1200
+ background-color: var(--surface-800);
1201
+ }
1202
+ .bg-surface-900 {
1203
+ background-color: var(--surface-900);
1204
+ }
1205
+ .bg-surface-950 {
1206
+ background-color: var(--surface-950);
1207
+ }
1208
+ .bg-transparent {
1209
+ background-color: transparent;
1210
+ }
1211
+ .bg-yellow-950 {
1212
+ --tw-bg-opacity: 1;
1213
+ background-color: rgb(66 32 6 / var(--tw-bg-opacity, 1));
1214
+ }
1215
+ .p-0\.5 {
1216
+ padding: 0.125rem;
1217
+ }
1218
+ .p-2 {
1219
+ padding: 0.5rem;
1220
+ }
1221
+ .p-3 {
1222
+ padding: 0.75rem;
1223
+ }
1224
+ .p-4 {
1225
+ padding: 1rem;
1226
+ }
1227
+ .p-5 {
1228
+ padding: 1.25rem;
1229
+ }
1230
+ .p-6 {
1231
+ padding: 1.5rem;
1232
+ }
1233
+ .p-8 {
1234
+ padding: 2rem;
1235
+ }
1236
+ .px-0\.5 {
1237
+ padding-left: 0.125rem;
1238
+ padding-right: 0.125rem;
1239
+ }
1240
+ .px-1 {
1241
+ padding-left: 0.25rem;
1242
+ padding-right: 0.25rem;
1243
+ }
1244
+ .px-1\.5 {
1245
+ padding-left: 0.375rem;
1246
+ padding-right: 0.375rem;
1247
+ }
1248
+ .px-2 {
1249
+ padding-left: 0.5rem;
1250
+ padding-right: 0.5rem;
1251
+ }
1252
+ .px-2\.5 {
1253
+ padding-left: 0.625rem;
1254
+ padding-right: 0.625rem;
1255
+ }
1256
+ .px-3 {
1257
+ padding-left: 0.75rem;
1258
+ padding-right: 0.75rem;
1259
+ }
1260
+ .px-4 {
1261
+ padding-left: 1rem;
1262
+ padding-right: 1rem;
1263
+ }
1264
+ .px-5 {
1265
+ padding-left: 1.25rem;
1266
+ padding-right: 1.25rem;
1267
+ }
1268
+ .px-6 {
1269
+ padding-left: 1.5rem;
1270
+ padding-right: 1.5rem;
1271
+ }
1272
+ .py-0\.5 {
1273
+ padding-top: 0.125rem;
1274
+ padding-bottom: 0.125rem;
1275
+ }
1276
+ .py-1 {
1277
+ padding-top: 0.25rem;
1278
+ padding-bottom: 0.25rem;
1279
+ }
1280
+ .py-1\.5 {
1281
+ padding-top: 0.375rem;
1282
+ padding-bottom: 0.375rem;
1283
+ }
1284
+ .py-2 {
1285
+ padding-top: 0.5rem;
1286
+ padding-bottom: 0.5rem;
1287
+ }
1288
+ .py-2\.5 {
1289
+ padding-top: 0.625rem;
1290
+ padding-bottom: 0.625rem;
1291
+ }
1292
+ .py-3 {
1293
+ padding-top: 0.75rem;
1294
+ padding-bottom: 0.75rem;
1295
+ }
1296
+ .py-4 {
1297
+ padding-top: 1rem;
1298
+ padding-bottom: 1rem;
1299
+ }
1300
+ .py-6 {
1301
+ padding-top: 1.5rem;
1302
+ padding-bottom: 1.5rem;
1303
+ }
1304
+ .py-8 {
1305
+ padding-top: 2rem;
1306
+ padding-bottom: 2rem;
1307
+ }
1308
+ .py-px {
1309
+ padding-top: 1px;
1310
+ padding-bottom: 1px;
1311
+ }
1312
+ .pb-1 {
1313
+ padding-bottom: 0.25rem;
1314
+ }
1315
+ .pb-1\.5 {
1316
+ padding-bottom: 0.375rem;
1317
+ }
1318
+ .pb-2 {
1319
+ padding-bottom: 0.5rem;
1320
+ }
1321
+ .pb-3 {
1322
+ padding-bottom: 0.75rem;
1323
+ }
1324
+ .pl-1 {
1325
+ padding-left: 0.25rem;
1326
+ }
1327
+ .pl-2 {
1328
+ padding-left: 0.5rem;
1329
+ }
1330
+ .pr-1 {
1331
+ padding-right: 0.25rem;
1332
+ }
1333
+ .pr-2 {
1334
+ padding-right: 0.5rem;
1335
+ }
1336
+ .pr-4 {
1337
+ padding-right: 1rem;
1338
+ }
1339
+ .pt-1 {
1340
+ padding-top: 0.25rem;
1341
+ }
1342
+ .pt-16 {
1343
+ padding-top: 4rem;
1344
+ }
1345
+ .pt-20 {
1346
+ padding-top: 5rem;
1347
+ }
1348
+ .pt-3 {
1349
+ padding-top: 0.75rem;
1350
+ }
1351
+ .pt-\[20vh\] {
1352
+ padding-top: 20vh;
1353
+ }
1354
+ .text-left {
1355
+ text-align: left;
1356
+ }
1357
+ .text-center {
1358
+ text-align: center;
1359
+ }
1360
+ .text-right {
1361
+ text-align: right;
1362
+ }
1363
+ .align-top {
1364
+ vertical-align: top;
1365
+ }
1366
+ .font-mono {
1367
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1368
+ }
1369
+ .font-sans {
1370
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
1371
+ }
1372
+ .text-2xl {
1373
+ font-size: 1.5rem;
1374
+ line-height: 2rem;
1375
+ }
1376
+ .text-4xl {
1377
+ font-size: 2.25rem;
1378
+ line-height: 2.5rem;
1379
+ }
1380
+ .text-\[10px\] {
1381
+ font-size: 10px;
1382
+ }
1383
+ .text-\[11px\] {
1384
+ font-size: 11px;
1385
+ }
1386
+ .text-\[9px\] {
1387
+ font-size: 9px;
1388
+ }
1389
+ .text-base {
1390
+ font-size: 1rem;
1391
+ line-height: 1.5rem;
1392
+ }
1393
+ .text-lg {
1394
+ font-size: 1.125rem;
1395
+ line-height: 1.75rem;
1396
+ }
1397
+ .text-sm {
1398
+ font-size: 0.875rem;
1399
+ line-height: 1.25rem;
1400
+ }
1401
+ .text-xs {
1402
+ font-size: 0.75rem;
1403
+ line-height: 1rem;
1404
+ }
1405
+ .font-bold {
1406
+ font-weight: 700;
1407
+ }
1408
+ .font-medium {
1409
+ font-weight: 500;
1410
+ }
1411
+ .font-normal {
1412
+ font-weight: 400;
1413
+ }
1414
+ .font-semibold {
1415
+ font-weight: 600;
1416
+ }
1417
+ .uppercase {
1418
+ text-transform: uppercase;
1419
+ }
1420
+ .capitalize {
1421
+ text-transform: capitalize;
1422
+ }
1423
+ .normal-case {
1424
+ text-transform: none;
1425
+ }
1426
+ .italic {
1427
+ font-style: italic;
1428
+ }
1429
+ .leading-4 {
1430
+ line-height: 1rem;
1431
+ }
1432
+ .leading-5 {
1433
+ line-height: 1.25rem;
1434
+ }
1435
+ .leading-none {
1436
+ line-height: 1;
1437
+ }
1438
+ .leading-relaxed {
1439
+ line-height: 1.625;
1440
+ }
1441
+ .tracking-normal {
1442
+ letter-spacing: 0em;
1443
+ }
1444
+ .tracking-wide {
1445
+ letter-spacing: 0.025em;
1446
+ }
1447
+ .tracking-wider {
1448
+ letter-spacing: 0.05em;
1449
+ }
1450
+ .tracking-widest {
1451
+ letter-spacing: 0.1em;
1452
+ }
1453
+ .text-\[var\(--text-primary\)\] {
1454
+ color: var(--text-primary);
1455
+ }
1456
+ .text-amber-300 {
1457
+ --tw-text-opacity: 1;
1458
+ color: rgb(252 211 77 / var(--tw-text-opacity, 1));
1459
+ }
1460
+ .text-amber-400 {
1461
+ --tw-text-opacity: 1;
1462
+ color: rgb(251 191 36 / var(--tw-text-opacity, 1));
1463
+ }
1464
+ .text-amber-600 {
1465
+ --tw-text-opacity: 1;
1466
+ color: rgb(217 119 6 / var(--tw-text-opacity, 1));
1467
+ }
1468
+ .text-blue-200 {
1469
+ --tw-text-opacity: 1;
1470
+ color: rgb(191 219 254 / var(--tw-text-opacity, 1));
1471
+ }
1472
+ .text-blue-300 {
1473
+ --tw-text-opacity: 1;
1474
+ color: rgb(147 197 253 / var(--tw-text-opacity, 1));
1475
+ }
1476
+ .text-blue-400 {
1477
+ color: var(--ts-blue-400);
1478
+ }
1479
+ .text-blue-500 {
1480
+ color: var(--ts-blue-500);
1481
+ }
1482
+ .text-cyan-200 {
1483
+ --tw-text-opacity: 1;
1484
+ color: rgb(165 243 252 / var(--tw-text-opacity, 1));
1485
+ }
1486
+ .text-cyan-400 {
1487
+ --tw-text-opacity: 1;
1488
+ color: rgb(34 211 238 / var(--tw-text-opacity, 1));
1489
+ }
1490
+ .text-emerald-300 {
1491
+ --tw-text-opacity: 1;
1492
+ color: rgb(110 231 183 / var(--tw-text-opacity, 1));
1493
+ }
1494
+ .text-emerald-400 {
1495
+ color: var(--ts-green-400);
1496
+ }
1497
+ .text-emerald-500 {
1498
+ --tw-text-opacity: 1;
1499
+ color: rgb(16 185 129 / var(--tw-text-opacity, 1));
1500
+ }
1501
+ .text-gray-400 {
1502
+ --tw-text-opacity: 1;
1503
+ color: rgb(156 163 175 / var(--tw-text-opacity, 1));
1504
+ }
1505
+ .text-orange-400 {
1506
+ --tw-text-opacity: 1;
1507
+ color: rgb(251 146 60 / var(--tw-text-opacity, 1));
1508
+ }
1509
+ .text-purple-400 {
1510
+ --tw-text-opacity: 1;
1511
+ color: rgb(192 132 252 / var(--tw-text-opacity, 1));
1512
+ }
1513
+ .text-red-200 {
1514
+ --tw-text-opacity: 1;
1515
+ color: rgb(254 202 202 / var(--tw-text-opacity, 1));
1516
+ }
1517
+ .text-red-300 {
1518
+ --tw-text-opacity: 1;
1519
+ color: rgb(252 165 165 / var(--tw-text-opacity, 1));
1520
+ }
1521
+ .text-red-400 {
1522
+ --tw-text-opacity: 1;
1523
+ color: rgb(248 113 113 / var(--tw-text-opacity, 1));
1524
+ }
1525
+ .text-red-500 {
1526
+ --tw-text-opacity: 1;
1527
+ color: rgb(239 68 68 / var(--tw-text-opacity, 1));
1528
+ }
1529
+ .text-surface-100 {
1530
+ color: var(--surface-100);
1531
+ }
1532
+ .text-surface-200 {
1533
+ color: var(--surface-200);
1534
+ }
1535
+ .text-surface-400 {
1536
+ color: var(--surface-400);
1537
+ }
1538
+ .text-surface-500 {
1539
+ color: var(--surface-500);
1540
+ }
1541
+ .text-surface-700 {
1542
+ color: var(--surface-700);
1543
+ }
1544
+ .text-white {
1545
+ --tw-text-opacity: 1;
1546
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
1547
+ }
1548
+ .placeholder-surface-700::-moz-placeholder {
1549
+ color: var(--surface-700);
1550
+ }
1551
+ .placeholder-surface-700::placeholder {
1552
+ color: var(--surface-700);
1553
+ }
1554
+ .accent-blue-500 {
1555
+ accent-color: var(--ts-blue-500);
1556
+ }
1557
+ .opacity-0 {
1558
+ opacity: 0;
1559
+ }
1560
+ .opacity-30 {
1561
+ opacity: 0.3;
1562
+ }
1563
+ .shadow-2xl {
1564
+ --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
1565
+ --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
1566
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1567
+ }
1568
+ .shadow-xl {
1569
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
1570
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
1571
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1572
+ }
1573
+ .ring-1 {
1574
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1575
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1576
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1577
+ }
1578
+ .ring-red-500 {
1579
+ --tw-ring-opacity: 1;
1580
+ --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
1581
+ }
1582
+ .filter {
1583
+ 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);
1584
+ }
1585
+ .transition-all {
1586
+ transition-property: all;
1587
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1588
+ transition-duration: 150ms;
1589
+ }
1590
+ .transition-colors {
1591
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1592
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1593
+ transition-duration: 150ms;
1594
+ }
1595
+ .transition-opacity {
1596
+ transition-property: opacity;
1597
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1598
+ transition-duration: 150ms;
1599
+ }
1600
+ .ease-in-out {
1601
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1602
+ }
1603
+
1604
+ /* ─── Testsmith brand tokens ────────────────────────────────────────────────── */
1605
+ :root {
1606
+ /* Blue (#205d96) scale */
1607
+ --ts-blue-400: #6aa3c8;
1608
+ --ts-blue-500: #3d7fb2;
1609
+ --ts-blue-600: #205d96;
1610
+ --ts-blue-700: #1a4e7e;
1611
+
1612
+ /* Green (#9fc93c) scale */
1613
+ --ts-green-400: #9fc93c;
1614
+ --ts-green-800: #4a5e1d;
1615
+ --ts-green-900: #2d3a12;
1616
+
1617
+ /* Drag region height */
1618
+ --drag-region: 28px;
1619
+ }
1620
+
1621
+ /* ─── Dark theme (default) ─────────────────────────────────────────────────── */
1622
+ /* Charcoal-purple scale — lifted from near-black to a comfortable slate */
1623
+ :root {
1624
+ --surface-50: #f0eff4;
1625
+ --surface-100: #dddce3;
1626
+ --surface-200: #c4c2cb;
1627
+ --surface-400: #9d9aa8;
1628
+ --surface-500: #7a7785;
1629
+ --surface-700: #615e6d;
1630
+ --surface-800: #3d3b48;
1631
+ --surface-900: #312f3b;
1632
+ --surface-950: #272630;
1633
+ --text-primary: #e4e3ea;
1634
+ --text-muted: #9d9aa8;
1635
+
1636
+ --bg-app: #272630;
1637
+ --border: #3d3b48;
1638
+ }
1639
+
1640
+ /* ─── Light theme ──────────────────────────────────────────────────────────── */
1641
+ /* Warm stone scale — pulled down from near-white to a readable grey-paper */
1642
+ :root.light {
1643
+ --surface-50: #272630;
1644
+ --surface-100: #312f3b;
1645
+ --surface-200: #3d3b48;
1646
+ --surface-400: #615e6d;
1647
+ --surface-500: #716e7b;
1648
+ --surface-700: #908e9a;
1649
+ --surface-800: #c4c2cb;
1650
+ --surface-900: #d5d3dc;
1651
+ --surface-950: #e2e0e9;
1652
+ --text-primary: #1c1b24;
1653
+ --text-muted: #615e6d;
1654
+
1655
+ --bg-app: #e2e0e9;
1656
+ --border: #c4c2cb;
1657
+
1658
+ /* Green: darken for legibility on light background (#9fc93c → ~35% lightness) */
1659
+ --ts-green-400: #567818;
1660
+ }
1661
+
1662
+ * { box-sizing: border-box; }
1663
+
1664
+ body {
1665
+ margin: 0;
1666
+ padding: 0;
1667
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
1668
+ font-size: 13px;
1669
+ background: var(--bg-app);
1670
+ color: var(--text-primary);
1671
+ overflow: hidden;
1672
+ }
1673
+
1674
+ .drag-region { -webkit-app-region: drag; height: var(--drag-region); }
1675
+ .no-drag { -webkit-app-region: no-drag; }
1676
+
1677
+ ::-webkit-scrollbar { width: 6px; height: 6px; }
1678
+ ::-webkit-scrollbar-track { background: transparent; }
1679
+ ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
1680
+
1681
+ .cm-editor { height: 100%; }
1682
+ .cm-scroller { overflow: auto; }
1683
+
1684
+ /* ─── Light mode: re-map white to readable primary text ───────────────────── */
1685
+ /* In dark mode "text-white" means "foreground text". In light mode it becomes */
1686
+ /* invisible (white-on-white). Override to the semantic primary text color. */
1687
+ :root.light .text-white,
1688
+ :root.light .hover\:text-white:hover {
1689
+ color: var(--text-primary) !important;
1690
+ }
1691
+ /* Exception: coloured action buttons must keep white text regardless */
1692
+ :root.light .bg-blue-500,
1693
+ :root.light .bg-blue-600,
1694
+ :root.light .bg-blue-700,
1695
+ :root.light .hover\:bg-blue-500:hover,
1696
+ :root.light .hover\:bg-blue-600:hover,
1697
+ :root.light .bg-emerald-600,
1698
+ :root.light .bg-red-600,
1699
+ :root.light .bg-amber-600,
1700
+ :root.light .bg-orange-600 {
1701
+ color: #ffffff !important;
1702
+ }
1703
+ /* Inputs & textareas need dark placeholder text in light mode */
1704
+ :root.light input::-moz-placeholder, :root.light textarea::-moz-placeholder {
1705
+ color: var(--text-muted) !important;
1706
+ opacity: 1;
1707
+ }
1708
+ :root.light input::placeholder,
1709
+ :root.light textarea::placeholder {
1710
+ color: var(--text-muted) !important;
1711
+ opacity: 1;
1712
+ }
1713
+ /* Ensure surface-800 interactive backgrounds are clearly visible in light mode */
1714
+ :root.light .bg-surface-800 {
1715
+ background-color: var(--surface-800);
1716
+ }
1717
+ /* Option elements inherit white bg from OS in light mode – ensure readable text */
1718
+ :root.light option {
1719
+ color: #1c1b24;
1720
+ background: #d5d3dc;
1721
+ }
1722
+
1723
+ /* ─── Light mode: semantic status colors ────────────────────────────────────── */
1724
+ /* Red — errors, failures */
1725
+ :root.light .text-red-300 { color: #b91c1c !important; } /* red-700 */
1726
+ :root.light .text-red-400 { color: #dc2626 !important; } /* red-600 */
1727
+ :root.light .text-red-500 { color: #991b1b !important; } /* red-800 */
1728
+ :root.light .bg-red-900\/30 { background-color: #fee2e2 !important; } /* red-100 */
1729
+ :root.light .bg-red-900\/20 { background-color: #fef2f2 !important; } /* red-50 */
1730
+ :root.light .border-red-700 { border-color: #fca5a5 !important; } /* red-300 */
1731
+ :root.light .border-red-800 { border-color: #fca5a5 !important; } /* red-300 */
1732
+
1733
+ /* Emerald — success, passed tests, diff additions */
1734
+ :root.light .text-emerald-300 { color: #15803d !important; } /* green-700 */
1735
+ :root.light .text-emerald-400 { color: #16a34a !important; } /* green-600 */
1736
+ :root.light .bg-emerald-900\/20 { background-color: #f0fdf4 !important; } /* green-50 */
1737
+ :root.light .bg-emerald-900\/30 { background-color: #dcfce7 !important; } /* green-100 */
1738
+ :root.light .border-emerald-800 { border-color: #86efac !important; } /* green-300 */
1739
+ :root.light .border-emerald-700 { border-color: #86efac !important; } /* green-300 */
1740
+
1741
+ /* Amber — warnings */
1742
+ :root.light .text-amber-300 { color: #b45309 !important; } /* amber-700 */
1743
+ :root.light .text-amber-400 { color: #d97706 !important; } /* amber-500 */ .last\:border-0:last-child {
1744
+ border-width: 0px;
1745
+ } .hover\:border-blue-500:hover {
1746
+ border-color: var(--ts-blue-500);
1747
+ } .hover\:border-surface-500:hover {
1748
+ border-color: var(--surface-500);
1749
+ } .hover\:bg-blue-500:hover {
1750
+ background-color: var(--ts-blue-500);
1751
+ } .hover\:bg-blue-600:hover {
1752
+ background-color: var(--ts-blue-600);
1753
+ } .hover\:bg-emerald-600:hover {
1754
+ --tw-bg-opacity: 1;
1755
+ background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
1756
+ } .hover\:bg-red-600:hover {
1757
+ --tw-bg-opacity: 1;
1758
+ background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
1759
+ } .hover\:bg-red-800:hover {
1760
+ --tw-bg-opacity: 1;
1761
+ background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
1762
+ } .hover\:bg-red-900\/40:hover {
1763
+ background-color: rgb(127 29 29 / 0.4);
1764
+ } .hover\:bg-red-950\/50:hover {
1765
+ background-color: rgb(69 10 10 / 0.5);
1766
+ } .hover\:bg-surface-700:hover {
1767
+ background-color: var(--surface-700);
1768
+ } .hover\:bg-surface-800:hover {
1769
+ background-color: var(--surface-800);
1770
+ } .hover\:text-\[var\(--text-primary\)\]:hover {
1771
+ color: var(--text-primary);
1772
+ } .hover\:text-blue-300:hover {
1773
+ --tw-text-opacity: 1;
1774
+ color: rgb(147 197 253 / var(--tw-text-opacity, 1));
1775
+ } .hover\:text-blue-400:hover {
1776
+ color: var(--ts-blue-400);
1777
+ } .hover\:text-emerald-400:hover {
1778
+ color: var(--ts-green-400);
1779
+ } .hover\:text-red-300:hover {
1780
+ --tw-text-opacity: 1;
1781
+ color: rgb(252 165 165 / var(--tw-text-opacity, 1));
1782
+ } .hover\:text-red-400:hover {
1783
+ --tw-text-opacity: 1;
1784
+ color: rgb(248 113 113 / var(--tw-text-opacity, 1));
1785
+ } .hover\:text-surface-200:hover {
1786
+ color: var(--surface-200);
1787
+ } .hover\:text-surface-400:hover {
1788
+ color: var(--surface-400);
1789
+ } .hover\:text-white:hover {
1790
+ --tw-text-opacity: 1;
1791
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
1792
+ } .focus\:border-blue-500:focus {
1793
+ border-color: var(--ts-blue-500);
1794
+ } .focus\:outline-none:focus {
1795
+ outline: 2px solid transparent;
1796
+ outline-offset: 2px;
1797
+ } .focus\:ring-1:focus {
1798
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1799
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1800
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1801
+ } .focus\:ring-blue-500:focus {
1802
+ --tw-ring-color: var(--ts-blue-500);
1803
+ } .focus\:ring-red-500:focus {
1804
+ --tw-ring-opacity: 1;
1805
+ --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
1806
+ } .disabled\:bg-surface-700:disabled {
1807
+ background-color: var(--surface-700);
1808
+ } .disabled\:bg-surface-800:disabled {
1809
+ background-color: var(--surface-800);
1810
+ } .disabled\:text-surface-400:disabled {
1811
+ color: var(--surface-400);
1812
+ } .disabled\:text-surface-500:disabled {
1813
+ color: var(--surface-500);
1814
+ } .disabled\:opacity-30:disabled {
1815
+ opacity: 0.3;
1816
+ } .disabled\:opacity-40:disabled {
1817
+ opacity: 0.4;
1818
+ } .disabled\:opacity-50:disabled {
1819
+ opacity: 0.5;
1820
+ } .group:hover .group-hover\:opacity-100 {
1821
+ opacity: 1;
1822
+ } @media (min-width: 1024px) {
1823
+
1824
+ .lg\:block {
1825
+ display: block;
1826
+ }
1827
+ }