ghostykit 0.2.1 → 0.3.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.
package/dist/styles.css CHANGED
@@ -2,41 +2,88 @@
2
2
  /* ── Utilidades (Tailwind v4, encerradas en .piloto) ── */
3
3
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
4
4
  .piloto {
5
+ --font-sans: var(--piloto-font);
6
+ --font-mono: var(--piloto-font-mono);
5
7
  --color-red-50: oklch(97.1% 0.013 17.38);
6
8
  --color-red-100: oklch(93.6% 0.032 17.717);
9
+ --color-red-500: oklch(63.7% 0.237 25.331);
7
10
  --color-red-600: oklch(57.7% 0.245 27.325);
8
11
  --color-red-700: oklch(50.5% 0.213 27.518);
9
12
  --color-red-800: oklch(44.4% 0.177 26.899);
10
13
  --color-black: #000;
11
- --spacing: 0.25rem;
12
- --container-md: 28rem;
13
- --container-3xl: 48rem;
14
- --text-xs: 0.75rem;
14
+ --color-white: #fff;
15
+ --spacing: calc(0.25 * var(--piloto-rem));
16
+ --container-md: calc(28 * var(--piloto-rem));
17
+ --container-xl: calc(36 * var(--piloto-rem));
18
+ --container-3xl: calc(48 * var(--piloto-rem));
19
+ --text-xs: calc(0.75 * var(--piloto-rem));
15
20
  --text-xs--line-height: calc(1 / 0.75);
16
- --text-sm: 0.875rem;
21
+ --text-sm: calc(0.875 * var(--piloto-rem));
17
22
  --text-sm--line-height: calc(1.25 / 0.875);
18
- --text-base: 1rem;
23
+ --text-base: calc(1 * var(--piloto-rem));
19
24
  --text-base--line-height: calc(1.5 / 1);
20
- --text-lg: 1.125rem;
25
+ --text-lg: calc(1.125 * var(--piloto-rem));
21
26
  --text-lg--line-height: calc(1.75 / 1.125);
22
- --text-xl: 1.25rem;
27
+ --text-xl: calc(1.25 * var(--piloto-rem));
23
28
  --text-xl--line-height: calc(1.75 / 1.25);
24
- --text-2xl: 1.5rem;
29
+ --text-2xl: calc(1.5 * var(--piloto-rem));
25
30
  --text-2xl--line-height: calc(2 / 1.5);
26
- --text-3xl: 1.875rem;
31
+ --text-3xl: calc(1.875 * var(--piloto-rem));
27
32
  --text-3xl--line-height: calc(2.25 / 1.875);
28
33
  --font-weight-medium: 500;
29
34
  --font-weight-semibold: 600;
35
+ --font-weight-extrabold: 800;
36
+ --tracking-tight: -0.025em;
30
37
  --leading-tight: 1.25;
31
- --radius-md: 0.375rem;
32
- --radius-lg: 0.5rem;
33
- --radius-xl: 0.75rem;
38
+ --radius-md: calc(0.375 * var(--piloto-rem));
39
+ --radius-lg: calc(0.5 * var(--piloto-rem));
40
+ --radius-xl: calc(0.75 * var(--piloto-rem));
41
+ --radius-2xl: calc(1 * var(--piloto-rem));
42
+ --radius-3xl: calc(1.5 * var(--piloto-rem));
34
43
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
35
44
  --animate-spin: spin 1s linear infinite;
36
45
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
46
+ --animate-bounce: bounce 1s infinite;
37
47
  --blur-sm: 8px;
38
48
  --default-transition-duration: 150ms;
39
49
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
50
+ --color-dark: var(--piloto-text);
51
+ --color-metal: var(--piloto-text-2);
52
+ --color-irongray: var(--piloto-text-3);
53
+ --color-outlines: var(--piloto-border);
54
+ --color-surfaceHover: var(--piloto-surface-hover);
55
+ --color-brand-100: var(--piloto-accent-100);
56
+ --color-brand-300: var(--piloto-accent-soft);
57
+ --color-brand-500: var(--piloto-accent);
58
+ --color-brand-600: var(--piloto-accent-strong);
59
+ --color-ring-info: var(--piloto-focus);
60
+ --color-text-primary: var(--piloto-text);
61
+ --color-text-secondary: var(--piloto-text-2);
62
+ --color-text-tertiary: var(--piloto-text-3);
63
+ --color-text-disabled: var(--piloto-text-disabled);
64
+ --color-text-inverse: var(--piloto-text-inverse);
65
+ --color-text-info: var(--piloto-accent-strong);
66
+ --color-text-success: var(--piloto-success);
67
+ --color-text-danger: var(--piloto-danger);
68
+ --color-background-primary: var(--piloto-bg);
69
+ --color-background-secondary: var(--piloto-surface);
70
+ --color-background-tertiary: var(--piloto-surface-2);
71
+ --color-background-inverse: var(--piloto-inverse);
72
+ --color-background-disabled: var(--piloto-surface-2);
73
+ --color-background-success: var(--piloto-success);
74
+ --color-border-primary: var(--piloto-border);
75
+ --color-border-secondary: var(--piloto-border-2);
76
+ --color-background: var(--piloto-bg);
77
+ --color-foreground: var(--piloto-text);
78
+ --color-muted: var(--piloto-surface);
79
+ --color-muted-foreground: var(--piloto-text-3);
80
+ --color-border: var(--piloto-border);
81
+ --color-sidebar: var(--piloto-surface);
82
+ --color-primary: var(--piloto-accent-strong);
83
+ --color-primary-foreground: var(--piloto-on-accent);
84
+ }
85
+ .piloto .\@container {
86
+ container-type: inline-size;
40
87
  }
41
88
  .piloto .pointer-events-auto {
42
89
  pointer-events: auto;
@@ -133,25 +180,22 @@
133
180
  .piloto .z-50 {
134
181
  z-index: 50;
135
182
  }
136
- .piloto .z-\[1000\] {
137
- z-index: 1000;
138
- }
139
183
  .piloto .container {
140
184
  width: 100%;
141
185
  @media (width >= 40rem) {
142
- max-width: 40rem;
186
+ max-width: calc(40 * var(--piloto-rem));
143
187
  }
144
188
  @media (width >= 48rem) {
145
- max-width: 48rem;
189
+ max-width: calc(48 * var(--piloto-rem));
146
190
  }
147
191
  @media (width >= 64rem) {
148
- max-width: 64rem;
192
+ max-width: calc(64 * var(--piloto-rem));
149
193
  }
150
194
  @media (width >= 80rem) {
151
- max-width: 80rem;
195
+ max-width: calc(80 * var(--piloto-rem));
152
196
  }
153
197
  @media (width >= 96rem) {
154
- max-width: 96rem;
198
+ max-width: calc(96 * var(--piloto-rem));
155
199
  }
156
200
  }
157
201
  .piloto .mx-4 {
@@ -318,7 +362,7 @@
318
362
  max-height: calc(var(--spacing) * 80);
319
363
  }
320
364
  .piloto .max-h-\[min\(70vh\,40rem\)\] {
321
- max-height: min(70vh, 40rem);
365
+ max-height: min(70vh, calc(40 * var(--piloto-rem)));
322
366
  }
323
367
  .piloto .min-h-0 {
324
368
  min-height: 0px;
@@ -329,8 +373,8 @@
329
373
  .piloto .min-h-\[24px\] {
330
374
  min-height: 24px;
331
375
  }
332
- .piloto .min-h-\[40vh\] {
333
- min-height: 40vh;
376
+ .piloto .min-h-\[50vh\] {
377
+ min-height: 50vh;
334
378
  }
335
379
  .piloto .min-h-\[200px\] {
336
380
  min-height: 200px;
@@ -396,7 +440,7 @@
396
440
  max-width: calc(var(--spacing) * 56);
397
441
  }
398
442
  .piloto .max-w-\[16rem\] {
399
- max-width: 16rem;
443
+ max-width: calc(16 * var(--piloto-rem));
400
444
  }
401
445
  .piloto .max-w-\[75\%\] {
402
446
  max-width: 75%;
@@ -404,8 +448,11 @@
404
448
  .piloto .max-w-\[80\%\] {
405
449
  max-width: 80%;
406
450
  }
407
- .piloto .max-w-\[92\%\] {
408
- max-width: 92%;
451
+ .piloto .max-w-\[90\%\] {
452
+ max-width: 90%;
453
+ }
454
+ .piloto .max-w-\[784px\] {
455
+ max-width: 784px;
409
456
  }
410
457
  .piloto .max-w-full {
411
458
  max-width: 100%;
@@ -413,6 +460,9 @@
413
460
  .piloto .max-w-md {
414
461
  max-width: var(--container-md);
415
462
  }
463
+ .piloto .max-w-xl {
464
+ max-width: var(--container-xl);
465
+ }
416
466
  .piloto .min-w-0 {
417
467
  min-width: 0px;
418
468
  }
@@ -447,6 +497,9 @@
447
497
  .piloto .transform {
448
498
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
449
499
  }
500
+ .piloto .animate-bounce {
501
+ animation: var(--animate-bounce);
502
+ }
450
503
  .piloto .animate-pulse {
451
504
  animation: var(--animate-pulse);
452
505
  }
@@ -480,6 +533,9 @@
480
533
  .piloto .place-items-center {
481
534
  place-items: center;
482
535
  }
536
+ .piloto .items-baseline {
537
+ align-items: baseline;
538
+ }
483
539
  .piloto .items-center {
484
540
  align-items: center;
485
541
  }
@@ -489,6 +545,9 @@
489
545
  .piloto .items-start {
490
546
  align-items: flex-start;
491
547
  }
548
+ .piloto .\[justify-content\:safe_center\] {
549
+ justify-content: safe center;
550
+ }
492
551
  .piloto .justify-between {
493
552
  justify-content: space-between;
494
553
  }
@@ -546,7 +605,7 @@
546
605
  border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
547
606
  }
548
607
  .piloto :where(.divide-border > :not(:last-child)) {
549
- border-color: var(--piloto-border-2);
608
+ border-color: var(--color-border);
550
609
  }
551
610
  .piloto .truncate {
552
611
  overflow: hidden;
@@ -569,20 +628,20 @@
569
628
  overflow-y: auto;
570
629
  }
571
630
  .piloto .rounded {
572
- border-radius: 0.25rem;
631
+ border-radius: calc(0.25 * var(--piloto-rem));
573
632
  }
574
633
  .piloto .rounded-\(--piloto-radius-bubble\) {
575
634
  border-radius: var(--piloto-radius-bubble);
576
635
  }
577
- .piloto .rounded-\(--piloto-radius-button\) {
578
- border-radius: var(--piloto-radius-button);
579
- }
580
- .piloto .rounded-\(--piloto-radius-card\) {
581
- border-radius: var(--piloto-radius-card);
582
- }
583
636
  .piloto .rounded-\(--piloto-radius-input\) {
584
637
  border-radius: var(--piloto-radius-input);
585
638
  }
639
+ .piloto .rounded-2xl {
640
+ border-radius: var(--radius-2xl);
641
+ }
642
+ .piloto .rounded-3xl {
643
+ border-radius: var(--radius-3xl);
644
+ }
586
645
  .piloto .rounded-full {
587
646
  border-radius: calc(infinity * 1px);
588
647
  }
@@ -599,6 +658,10 @@
599
658
  border-style: var(--tw-border-style);
600
659
  border-width: 1px;
601
660
  }
661
+ .piloto .border-\(length\:--piloto-border-width\) {
662
+ border-style: var(--tw-border-style);
663
+ border-width: var(--piloto-border-width);
664
+ }
602
665
  .piloto .border-2 {
603
666
  border-style: var(--tw-border-style);
604
667
  border-width: 2px;
@@ -620,28 +683,49 @@
620
683
  border-style: dashed;
621
684
  }
622
685
  .piloto .border-border {
623
- border-color: var(--piloto-border-2);
686
+ border-color: var(--color-border);
624
687
  }
625
688
  .piloto .border-border-primary {
626
- border-color: var(--piloto-border);
689
+ border-color: var(--color-border-primary);
627
690
  }
628
691
  .piloto .border-border-secondary {
629
- border-color: var(--piloto-border-2);
692
+ border-color: var(--color-border-secondary);
630
693
  }
631
694
  .piloto .border-brand-500 {
632
- border-color: var(--piloto-accent);
695
+ border-color: var(--color-brand-500);
696
+ }
697
+ .piloto .border-brand-500\/40 {
698
+ border-color: var(--color-brand-500);
699
+ @supports (color: color-mix(in lab, red, red)) {
700
+ border-color: color-mix(in oklab, var(--color-brand-500) 40%, transparent);
701
+ }
633
702
  }
634
703
  .piloto .border-current {
635
704
  border-color: currentcolor;
636
705
  }
637
706
  .piloto .border-muted-foreground\/30 {
638
- border-color: var(--piloto-text-3);
707
+ border-color: var(--color-muted-foreground);
639
708
  @supports (color: color-mix(in lab, red, red)) {
640
- border-color: color-mix(in oklab, var(--piloto-text-3) 30%, transparent);
709
+ border-color: color-mix(in oklab, var(--color-muted-foreground) 30%, transparent);
641
710
  }
642
711
  }
712
+ .piloto .border-outlines {
713
+ border-color: var(--color-outlines);
714
+ }
643
715
  .piloto .border-sidebar {
644
- border-color: var(--piloto-surface);
716
+ border-color: var(--color-sidebar);
717
+ }
718
+ .piloto .border-transparent {
719
+ border-color: transparent;
720
+ }
721
+ .piloto .border-t-transparent {
722
+ border-top-color: transparent;
723
+ }
724
+ .piloto .bg-\(--piloto-composer-bg\) {
725
+ background-color: var(--piloto-composer-bg);
726
+ }
727
+ .piloto .bg-\(--piloto-user-bubble\) {
728
+ background-color: var(--piloto-user-bubble);
645
729
  }
646
730
  .piloto .bg-\[var\(--sdm-bg\,inherit\)\] {
647
731
  background-color: var(--sdm-bg,inherit);
@@ -650,51 +734,66 @@
650
734
  background-color: var(--sdm-tbg);
651
735
  }
652
736
  .piloto .bg-background {
653
- background-color: var(--piloto-bg);
737
+ background-color: var(--color-background);
738
+ }
739
+ .piloto .bg-background-disabled {
740
+ background-color: var(--color-background-disabled);
654
741
  }
655
742
  .piloto .bg-background-inverse\/80 {
656
- background-color: var(--piloto-inverse);
743
+ background-color: var(--color-background-inverse);
657
744
  @supports (color: color-mix(in lab, red, red)) {
658
- background-color: color-mix(in oklab, var(--piloto-inverse) 80%, transparent);
745
+ background-color: color-mix(in oklab, var(--color-background-inverse) 80%, transparent);
659
746
  }
660
747
  }
661
748
  .piloto .bg-background-primary {
662
- background-color: var(--piloto-bg);
749
+ background-color: var(--color-background-primary);
750
+ }
751
+ .piloto .bg-background-primary\/80 {
752
+ background-color: var(--color-background-primary);
753
+ @supports (color: color-mix(in lab, red, red)) {
754
+ background-color: color-mix(in oklab, var(--color-background-primary) 80%, transparent);
755
+ }
663
756
  }
664
757
  .piloto .bg-background-secondary {
665
- background-color: var(--piloto-surface);
758
+ background-color: var(--color-background-secondary);
759
+ }
760
+ .piloto .bg-background-secondary\/40 {
761
+ background-color: var(--color-background-secondary);
762
+ @supports (color: color-mix(in lab, red, red)) {
763
+ background-color: color-mix(in oklab, var(--color-background-secondary) 40%, transparent);
764
+ }
666
765
  }
667
766
  .piloto .bg-background-secondary\/50 {
668
- background-color: var(--piloto-surface);
767
+ background-color: var(--color-background-secondary);
669
768
  @supports (color: color-mix(in lab, red, red)) {
670
- background-color: color-mix(in oklab, var(--piloto-surface) 50%, transparent);
769
+ background-color: color-mix(in oklab, var(--color-background-secondary) 50%, transparent);
671
770
  }
672
771
  }
673
772
  .piloto .bg-background-success {
674
- background-color: var(--piloto-success);
773
+ background-color: var(--color-background-success);
675
774
  }
676
775
  .piloto .bg-background\/50 {
677
- background-color: var(--piloto-bg);
776
+ background-color: var(--color-background);
678
777
  @supports (color: color-mix(in lab, red, red)) {
679
- background-color: color-mix(in oklab, var(--piloto-bg) 50%, transparent);
778
+ background-color: color-mix(in oklab, var(--color-background) 50%, transparent);
680
779
  }
681
780
  }
682
781
  .piloto .bg-background\/80 {
683
- background-color: var(--piloto-bg);
782
+ background-color: var(--color-background);
684
783
  @supports (color: color-mix(in lab, red, red)) {
685
- background-color: color-mix(in oklab, var(--piloto-bg) 80%, transparent);
784
+ background-color: color-mix(in oklab, var(--color-background) 80%, transparent);
686
785
  }
687
786
  }
688
787
  .piloto .bg-background\/90 {
689
- background-color: var(--piloto-bg);
788
+ background-color: var(--color-background);
690
789
  @supports (color: color-mix(in lab, red, red)) {
691
- background-color: color-mix(in oklab, var(--piloto-bg) 90%, transparent);
790
+ background-color: color-mix(in oklab, var(--color-background) 90%, transparent);
692
791
  }
693
792
  }
694
793
  .piloto .bg-background\/95 {
695
- background-color: var(--piloto-bg);
794
+ background-color: var(--color-background);
696
795
  @supports (color: color-mix(in lab, red, red)) {
697
- background-color: color-mix(in oklab, var(--piloto-bg) 95%, transparent);
796
+ background-color: color-mix(in oklab, var(--color-background) 95%, transparent);
698
797
  }
699
798
  }
700
799
  .piloto .bg-black\/10 {
@@ -710,25 +809,40 @@
710
809
  }
711
810
  }
712
811
  .piloto .bg-border-primary {
713
- background-color: var(--piloto-border);
812
+ background-color: var(--color-border-primary);
813
+ }
814
+ .piloto .bg-brand-500 {
815
+ background-color: var(--color-brand-500);
816
+ }
817
+ .piloto .bg-brand-500\/10 {
818
+ background-color: var(--color-brand-500);
819
+ @supports (color: color-mix(in lab, red, red)) {
820
+ background-color: color-mix(in oklab, var(--color-brand-500) 10%, transparent);
821
+ }
714
822
  }
715
823
  .piloto .bg-brand-500\/15 {
716
- background-color: var(--piloto-accent);
824
+ background-color: var(--color-brand-500);
717
825
  @supports (color: color-mix(in lab, red, red)) {
718
- background-color: color-mix(in oklab, var(--piloto-accent) 15%, transparent);
826
+ background-color: color-mix(in oklab, var(--color-brand-500) 15%, transparent);
827
+ }
828
+ }
829
+ .piloto .bg-irongray\/10 {
830
+ background-color: var(--color-irongray);
831
+ @supports (color: color-mix(in lab, red, red)) {
832
+ background-color: color-mix(in oklab, var(--color-irongray) 10%, transparent);
719
833
  }
720
834
  }
721
835
  .piloto .bg-muted {
722
- background-color: var(--piloto-surface);
836
+ background-color: var(--color-muted);
723
837
  }
724
838
  .piloto .bg-muted\/80 {
725
- background-color: var(--piloto-surface);
839
+ background-color: var(--color-muted);
726
840
  @supports (color: color-mix(in lab, red, red)) {
727
- background-color: color-mix(in oklab, var(--piloto-surface) 80%, transparent);
841
+ background-color: color-mix(in oklab, var(--color-muted) 80%, transparent);
728
842
  }
729
843
  }
730
844
  .piloto .bg-primary {
731
- background-color: var(--piloto-accent-strong);
845
+ background-color: var(--color-primary);
732
846
  }
733
847
  .piloto .bg-red-50 {
734
848
  background-color: var(--color-red-50);
@@ -736,25 +850,28 @@
736
850
  .piloto .bg-red-100 {
737
851
  background-color: var(--color-red-100);
738
852
  }
853
+ .piloto .bg-red-500 {
854
+ background-color: var(--color-red-500);
855
+ }
739
856
  .piloto .bg-sidebar {
740
- background-color: var(--piloto-surface);
857
+ background-color: var(--color-sidebar);
741
858
  }
742
859
  .piloto .bg-sidebar\/80 {
743
- background-color: var(--piloto-surface);
860
+ background-color: var(--color-sidebar);
744
861
  @supports (color: color-mix(in lab, red, red)) {
745
- background-color: color-mix(in oklab, var(--piloto-surface) 80%, transparent);
862
+ background-color: color-mix(in oklab, var(--color-sidebar) 80%, transparent);
746
863
  }
747
864
  }
748
865
  .piloto .bg-text-danger {
749
- background-color: var(--piloto-danger);
866
+ background-color: var(--color-text-danger);
750
867
  }
751
868
  .piloto .bg-text-primary {
752
- background-color: var(--piloto-text);
869
+ background-color: var(--color-text-primary);
753
870
  }
754
871
  .piloto .bg-text-secondary\/70 {
755
- background-color: var(--piloto-text-2);
872
+ background-color: var(--color-text-secondary);
756
873
  @supports (color: color-mix(in lab, red, red)) {
757
- background-color: color-mix(in oklab, var(--piloto-text-2) 70%, transparent);
874
+ background-color: color-mix(in oklab, var(--color-text-secondary) 70%, transparent);
758
875
  }
759
876
  }
760
877
  .piloto .bg-transparent {
@@ -826,9 +943,6 @@
826
943
  .piloto .py-3 {
827
944
  padding-block: calc(var(--spacing) * 3);
828
945
  }
829
- .piloto .py-6 {
830
- padding-block: calc(var(--spacing) * 6);
831
- }
832
946
  .piloto .py-8 {
833
947
  padding-block: calc(var(--spacing) * 8);
834
948
  }
@@ -844,6 +958,12 @@
844
958
  .piloto .pb-4 {
845
959
  padding-bottom: calc(var(--spacing) * 4);
846
960
  }
961
+ .piloto .pb-\[10vh\] {
962
+ padding-bottom: 10vh;
963
+ }
964
+ .piloto .pl-2 {
965
+ padding-left: calc(var(--spacing) * 2);
966
+ }
847
967
  .piloto .pl-2\.5 {
848
968
  padding-left: calc(var(--spacing) * 2.5);
849
969
  }
@@ -860,7 +980,10 @@
860
980
  text-align: left;
861
981
  }
862
982
  .piloto .font-mono {
863
- font-family: var(--piloto-font-mono);
983
+ font-family: var(--font-mono);
984
+ }
985
+ .piloto .font-sans {
986
+ font-family: var(--font-sans);
864
987
  }
865
988
  .piloto .text-2xl {
866
989
  font-size: var(--text-2xl);
@@ -902,9 +1025,6 @@
902
1025
  .piloto .text-\[13px\] {
903
1026
  font-size: 13px;
904
1027
  }
905
- .piloto .text-\[15px\] {
906
- font-size: 15px;
907
- }
908
1028
  .piloto .leading-6 {
909
1029
  --tw-leading: calc(var(--spacing) * 6);
910
1030
  line-height: calc(var(--spacing) * 6);
@@ -921,6 +1041,10 @@
921
1041
  --tw-leading: var(--leading-tight);
922
1042
  line-height: var(--leading-tight);
923
1043
  }
1044
+ .piloto .font-extrabold {
1045
+ --tw-font-weight: var(--font-weight-extrabold);
1046
+ font-weight: var(--font-weight-extrabold);
1047
+ }
924
1048
  .piloto .font-medium {
925
1049
  --tw-font-weight: var(--font-weight-medium);
926
1050
  font-weight: var(--font-weight-medium);
@@ -929,6 +1053,10 @@
929
1053
  --tw-font-weight: var(--font-weight-semibold);
930
1054
  font-weight: var(--font-weight-semibold);
931
1055
  }
1056
+ .piloto .tracking-tight {
1057
+ --tw-tracking: var(--tracking-tight);
1058
+ letter-spacing: var(--tracking-tight);
1059
+ }
932
1060
  .piloto .break-words {
933
1061
  overflow-wrap: break-word;
934
1062
  }
@@ -947,20 +1075,29 @@
947
1075
  .piloto .whitespace-pre-wrap {
948
1076
  white-space: pre-wrap;
949
1077
  }
1078
+ .piloto .text-\(--piloto-user-text\) {
1079
+ color: var(--piloto-user-text);
1080
+ }
950
1081
  .piloto .text-\[var\(--sdm-c\,inherit\)\] {
951
1082
  color: var(--sdm-c,inherit);
952
1083
  }
953
- .piloto .text-brand-600 {
954
- color: var(--piloto-accent-strong);
1084
+ .piloto .text-brand-500 {
1085
+ color: var(--color-brand-500);
1086
+ }
1087
+ .piloto .text-dark {
1088
+ color: var(--color-dark);
1089
+ }
1090
+ .piloto .text-metal {
1091
+ color: var(--color-metal);
955
1092
  }
956
1093
  .piloto .text-muted-foreground {
957
- color: var(--piloto-text-3);
1094
+ color: var(--color-muted-foreground);
958
1095
  }
959
1096
  .piloto .text-primary {
960
- color: var(--piloto-accent-strong);
1097
+ color: var(--color-primary);
961
1098
  }
962
1099
  .piloto .text-primary-foreground {
963
- color: var(--piloto-on-accent);
1100
+ color: var(--color-primary-foreground);
964
1101
  }
965
1102
  .piloto .text-red-600 {
966
1103
  color: var(--color-red-600);
@@ -972,25 +1109,31 @@
972
1109
  color: var(--color-red-800);
973
1110
  }
974
1111
  .piloto .text-text-danger {
975
- color: var(--piloto-danger);
1112
+ color: var(--color-text-danger);
1113
+ }
1114
+ .piloto .text-text-disabled {
1115
+ color: var(--color-text-disabled);
976
1116
  }
977
1117
  .piloto .text-text-info {
978
- color: var(--piloto-accent-strong);
1118
+ color: var(--color-text-info);
979
1119
  }
980
1120
  .piloto .text-text-inverse {
981
- color: var(--piloto-text-inverse);
1121
+ color: var(--color-text-inverse);
982
1122
  }
983
1123
  .piloto .text-text-primary {
984
- color: var(--piloto-text);
1124
+ color: var(--color-text-primary);
985
1125
  }
986
1126
  .piloto .text-text-secondary {
987
- color: var(--piloto-text-2);
1127
+ color: var(--color-text-secondary);
988
1128
  }
989
1129
  .piloto .text-text-success {
990
- color: var(--piloto-success);
1130
+ color: var(--color-text-success);
991
1131
  }
992
1132
  .piloto .text-text-tertiary {
993
- color: var(--piloto-text-3);
1133
+ color: var(--color-text-tertiary);
1134
+ }
1135
+ .piloto .text-white {
1136
+ color: var(--color-white);
994
1137
  }
995
1138
  .piloto .lowercase {
996
1139
  text-transform: lowercase;
@@ -1024,8 +1167,12 @@
1024
1167
  --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));
1025
1168
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1026
1169
  }
1027
- .piloto .shadow-\(--piloto-shadow-card\) {
1028
- --tw-shadow: var(--piloto-shadow-card);
1170
+ .piloto .shadow-\(--piloto-shadow-input\) {
1171
+ --tw-shadow: var(--piloto-shadow-input);
1172
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1173
+ }
1174
+ .piloto .shadow-2xl {
1175
+ --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
1029
1176
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1030
1177
  }
1031
1178
  .piloto .shadow-lg {
@@ -1036,6 +1183,13 @@
1036
1183
  --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));
1037
1184
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1038
1185
  }
1186
+ .piloto .ring-2 {
1187
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1188
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1189
+ }
1190
+ .piloto .ring-ring-info {
1191
+ --tw-ring-color: var(--color-ring-info);
1192
+ }
1039
1193
  .piloto .filter {
1040
1194
  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,);
1041
1195
  }
@@ -1069,6 +1223,11 @@
1069
1223
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1070
1224
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1071
1225
  }
1226
+ .piloto .transition-shadow {
1227
+ transition-property: box-shadow;
1228
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1229
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1230
+ }
1072
1231
  .piloto .transition-transform {
1073
1232
  transition-property: transform, translate, scale, rotate;
1074
1233
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1104,12 +1263,15 @@
1104
1263
  .piloto .\[counter-reset\:line\] {
1105
1264
  counter-reset: line;
1106
1265
  }
1266
+ .piloto .ring-inset {
1267
+ --tw-ring-inset: inset;
1268
+ }
1107
1269
  @media (hover: hover) {
1108
1270
  .piloto .group-hover\:block:is(:where(.group):hover *) {
1109
1271
  display: block;
1110
1272
  }
1111
1273
  .piloto .group-hover\:text-text-primary:is(:where(.group):hover *) {
1112
- color: var(--piloto-text);
1274
+ color: var(--color-text-primary);
1113
1275
  }
1114
1276
  .piloto .group-hover\:opacity-100:is(:where(.group):hover *) {
1115
1277
  opacity: 100%;
@@ -1119,7 +1281,7 @@
1119
1281
  }
1120
1282
  }
1121
1283
  .piloto .placeholder\:text-text-tertiary::placeholder {
1122
- color: var(--piloto-text-3);
1284
+ color: var(--color-text-tertiary);
1123
1285
  }
1124
1286
  .piloto .before\:mr-4::before {
1125
1287
  content: var(--tw-content);
@@ -1139,7 +1301,7 @@
1139
1301
  }
1140
1302
  .piloto .before\:font-mono::before {
1141
1303
  content: var(--tw-content);
1142
- font-family: var(--piloto-font-mono);
1304
+ font-family: var(--font-mono);
1143
1305
  }
1144
1306
  .piloto .before\:text-\[13px\]::before {
1145
1307
  content: var(--tw-content);
@@ -1147,9 +1309,9 @@
1147
1309
  }
1148
1310
  .piloto .before\:text-muted-foreground\/50::before {
1149
1311
  content: var(--tw-content);
1150
- color: var(--piloto-text-3);
1312
+ color: var(--color-muted-foreground);
1151
1313
  @supports (color: color-mix(in lab, red, red)) {
1152
- color: color-mix(in oklab, var(--piloto-text-3) 50%, transparent);
1314
+ color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);
1153
1315
  }
1154
1316
  }
1155
1317
  .piloto .before\:content-\[counter\(line\)\]::before {
@@ -1165,49 +1327,85 @@
1165
1327
  content: var(--tw-content);
1166
1328
  counter-increment: line;
1167
1329
  }
1330
+ .piloto .focus-within\:border-brand-300:focus-within {
1331
+ border-color: var(--color-brand-300);
1332
+ }
1168
1333
  @media (hover: hover) {
1169
1334
  .piloto .hover\:border-border-primary:hover {
1170
- border-color: var(--piloto-border);
1335
+ border-color: var(--color-border-primary);
1171
1336
  }
1172
1337
  .piloto .hover\:border-brand-300:hover {
1173
- border-color: var(--piloto-accent-soft);
1338
+ border-color: var(--color-brand-300);
1174
1339
  }
1175
1340
  .piloto .hover\:border-text-tertiary:hover {
1176
- border-color: var(--piloto-text-3);
1341
+ border-color: var(--color-text-tertiary);
1177
1342
  }
1178
1343
  .piloto .hover\:bg-background:hover {
1179
- background-color: var(--piloto-bg);
1344
+ background-color: var(--color-background);
1180
1345
  }
1181
1346
  .piloto .hover\:bg-background-inverse:hover {
1182
- background-color: var(--piloto-inverse);
1347
+ background-color: var(--color-background-inverse);
1183
1348
  }
1184
1349
  .piloto .hover\:bg-background-secondary:hover {
1185
- background-color: var(--piloto-surface);
1350
+ background-color: var(--color-background-secondary);
1351
+ }
1352
+ .piloto .hover\:bg-background-secondary\/60:hover {
1353
+ background-color: var(--color-background-secondary);
1354
+ }
1355
+ @supports (color: color-mix(in lab, red, red)) {
1356
+ .piloto .hover\:bg-background-secondary\/60:hover {
1357
+ background-color: color-mix(in oklab, var(--color-background-secondary) 60%, transparent);
1358
+ }
1359
+ }
1360
+ .piloto .hover\:bg-background-tertiary:hover {
1361
+ background-color: var(--color-background-tertiary);
1362
+ }
1363
+ .piloto .hover\:bg-black\/5:hover {
1364
+ background-color: color-mix(in srgb, #000 5%, transparent);
1365
+ }
1366
+ @supports (color: color-mix(in lab, red, red)) {
1367
+ .piloto .hover\:bg-black\/5:hover {
1368
+ background-color: color-mix(in oklab, var(--color-black) 5%, transparent);
1369
+ }
1370
+ }
1371
+ .piloto .hover\:bg-brand-600:hover {
1372
+ background-color: var(--color-brand-600);
1373
+ }
1374
+ .piloto .hover\:bg-irongray\/20:hover {
1375
+ background-color: var(--color-irongray);
1376
+ }
1377
+ @supports (color: color-mix(in lab, red, red)) {
1378
+ .piloto .hover\:bg-irongray\/20:hover {
1379
+ background-color: color-mix(in oklab, var(--color-irongray) 20%, transparent);
1380
+ }
1186
1381
  }
1187
1382
  .piloto .hover\:bg-muted:hover {
1188
- background-color: var(--piloto-surface);
1383
+ background-color: var(--color-muted);
1189
1384
  }
1190
1385
  .piloto .hover\:bg-muted\/40:hover {
1191
- background-color: var(--piloto-surface);
1386
+ background-color: var(--color-muted);
1192
1387
  }
1193
1388
  @supports (color: color-mix(in lab, red, red)) {
1194
1389
  .piloto .hover\:bg-muted\/40:hover {
1195
- background-color: color-mix(in oklab, var(--piloto-surface) 40%, transparent);
1390
+ background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);
1196
1391
  }
1197
1392
  }
1198
1393
  .piloto .hover\:bg-primary\/90:hover {
1199
- background-color: var(--piloto-accent-strong);
1394
+ background-color: var(--color-primary);
1200
1395
  }
1201
1396
  @supports (color: color-mix(in lab, red, red)) {
1202
1397
  .piloto .hover\:bg-primary\/90:hover {
1203
- background-color: color-mix(in oklab, var(--piloto-accent-strong) 90%, transparent);
1398
+ background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
1204
1399
  }
1205
1400
  }
1401
+ .piloto .hover\:text-dark:hover {
1402
+ color: var(--color-dark);
1403
+ }
1206
1404
  .piloto .hover\:text-foreground:hover {
1207
- color: var(--piloto-text);
1405
+ color: var(--color-foreground);
1208
1406
  }
1209
1407
  .piloto .hover\:text-text-primary:hover {
1210
- color: var(--piloto-text);
1408
+ color: var(--color-text-primary);
1211
1409
  }
1212
1410
  .piloto .hover\:underline:hover {
1213
1411
  text-decoration-line: underline;
@@ -1219,30 +1417,43 @@
1219
1417
  .piloto .focus-visible\:opacity-100:focus-visible {
1220
1418
  opacity: 100%;
1221
1419
  }
1420
+ .piloto .focus-visible\:outline-2:focus-visible {
1421
+ outline-style: var(--tw-outline-style);
1422
+ outline-width: 2px;
1423
+ }
1424
+ .piloto .focus-visible\:outline-offset-2:focus-visible {
1425
+ outline-offset: 2px;
1426
+ }
1427
+ .piloto .focus-visible\:outline-brand-600:focus-visible {
1428
+ outline-color: var(--color-brand-600);
1429
+ }
1222
1430
  .piloto .disabled\:cursor-not-allowed:disabled {
1223
1431
  cursor: not-allowed;
1224
1432
  }
1225
1433
  .piloto .disabled\:opacity-30:disabled {
1226
1434
  opacity: 30%;
1227
1435
  }
1436
+ .piloto .disabled\:opacity-40:disabled {
1437
+ opacity: 40%;
1438
+ }
1228
1439
  .piloto .disabled\:opacity-50:disabled {
1229
1440
  opacity: 50%;
1230
1441
  }
1231
1442
  @supports (backdrop-filter: var(--tw)) {
1232
1443
  .piloto .supports-\[backdrop-filter\]\:bg-background\/70 {
1233
- background-color: var(--piloto-bg);
1444
+ background-color: var(--color-background);
1234
1445
  }
1235
1446
  @supports (color: color-mix(in lab, red, red)) {
1236
1447
  .piloto .supports-\[backdrop-filter\]\:bg-background\/70 {
1237
- background-color: color-mix(in oklab, var(--piloto-bg) 70%, transparent);
1448
+ background-color: color-mix(in oklab, var(--color-background) 70%, transparent);
1238
1449
  }
1239
1450
  }
1240
1451
  .piloto .supports-\[backdrop-filter\]\:bg-sidebar\/70 {
1241
- background-color: var(--piloto-surface);
1452
+ background-color: var(--color-sidebar);
1242
1453
  }
1243
1454
  @supports (color: color-mix(in lab, red, red)) {
1244
1455
  .piloto .supports-\[backdrop-filter\]\:bg-sidebar\/70 {
1245
- background-color: color-mix(in oklab, var(--piloto-surface) 70%, transparent);
1456
+ background-color: color-mix(in oklab, var(--color-sidebar) 70%, transparent);
1246
1457
  }
1247
1458
  }
1248
1459
  .piloto .supports-\[backdrop-filter\]\:backdrop-blur {
@@ -1256,6 +1467,14 @@
1256
1467
  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,);
1257
1468
  }
1258
1469
  }
1470
+ @media (width >= 40rem) {
1471
+ .piloto .sm\:px-6 {
1472
+ padding-inline: calc(var(--spacing) * 6);
1473
+ }
1474
+ .piloto .sm\:pb-6 {
1475
+ padding-bottom: calc(var(--spacing) * 6);
1476
+ }
1477
+ }
1259
1478
  @media (prefers-color-scheme: dark) {
1260
1479
  .piloto .dark\:bg-\[var\(--shiki-dark-bg\,var\(--sdm-bg\,inherit\)\)\] {
1261
1480
  background-color: var(--shiki-dark-bg,var(--sdm-bg,inherit));
@@ -1267,12 +1486,27 @@
1267
1486
  color: var(--shiki-dark,var(--sdm-c,inherit));
1268
1487
  }
1269
1488
  }
1489
+ .piloto .\[\&_pre\]\:max-w-full pre {
1490
+ max-width: 100%;
1491
+ }
1492
+ .piloto .\[\&_pre\]\:overflow-x-auto pre {
1493
+ overflow-x: auto;
1494
+ }
1270
1495
  .piloto .\[\&_svg\]\:h-auto svg {
1271
1496
  height: auto;
1272
1497
  }
1273
1498
  .piloto .\[\&_svg\]\:w-auto svg {
1274
1499
  width: auto;
1275
1500
  }
1501
+ .piloto .\[\&_table\]\:block table {
1502
+ display: block;
1503
+ }
1504
+ .piloto .\[\&_table\]\:max-w-full table {
1505
+ max-width: 100%;
1506
+ }
1507
+ .piloto .\[\&_table\]\:overflow-x-auto table {
1508
+ overflow-x: auto;
1509
+ }
1276
1510
  .piloto .\[\&_thead\]\:sticky thead {
1277
1511
  position: sticky;
1278
1512
  }
@@ -1374,6 +1608,10 @@
1374
1608
  syntax: "*";
1375
1609
  inherits: false;
1376
1610
  }
1611
+ @property --tw-tracking {
1612
+ syntax: "*";
1613
+ inherits: false;
1614
+ }
1377
1615
  @property --tw-ordinal {
1378
1616
  syntax: "*";
1379
1617
  inherits: false;
@@ -1561,6 +1799,11 @@
1561
1799
  initial-value: "";
1562
1800
  inherits: false;
1563
1801
  }
1802
+ @property --tw-outline-style {
1803
+ syntax: "*";
1804
+ inherits: false;
1805
+ initial-value: solid;
1806
+ }
1564
1807
  @keyframes spin {
1565
1808
  to {
1566
1809
  transform: rotate(360deg);
@@ -1571,6 +1814,16 @@
1571
1814
  opacity: 0.5;
1572
1815
  }
1573
1816
  }
1817
+ @keyframes bounce {
1818
+ 0%, 100% {
1819
+ transform: translateY(-25%);
1820
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1821
+ }
1822
+ 50% {
1823
+ transform: none;
1824
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1825
+ }
1826
+ }
1574
1827
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1575
1828
  .piloto *, .piloto ::before, .piloto ::after, .piloto ::backdrop {
1576
1829
  --tw-translate-x: 0;
@@ -1587,6 +1840,7 @@
1587
1840
  --tw-border-style: solid;
1588
1841
  --tw-leading: initial;
1589
1842
  --tw-font-weight: initial;
1843
+ --tw-tracking: initial;
1590
1844
  --tw-ordinal: initial;
1591
1845
  --tw-slashed-zero: initial;
1592
1846
  --tw-numeric-figure: initial;
@@ -1631,6 +1885,7 @@
1631
1885
  --tw-duration: initial;
1632
1886
  --tw-ease: initial;
1633
1887
  --tw-content: "";
1888
+ --tw-outline-style: solid;
1634
1889
  }
1635
1890
  }
1636
1891
 
@@ -1638,141 +1893,140 @@
1638
1893
  /* ─────────────────────────────────────────────────────────────────────────────
1639
1894
  Piloto UI — la piel.
1640
1895
 
1641
- La idea: el agente es tu copiloto, y la cabina tiene su vocabulario. Tinta
1642
- sobre papel, contornos gruesos y sombras duras (nada de difuminados ni
1643
- degradados). Todo lo demás calla para que hable UNA pieza: el pase de
1644
- permiso, con su mecha que se consume y el sello que cae al contestar.
1896
+ El chat es el de Ghosty Studio (`/c`): mismas piezas, mismas clases, mismos
1897
+ valores. Aquí viven (1) las variables `--piloto-*`, cuyos valores de casa son
1898
+ los de gs, (2) el CSS propio de gs que no es utilidad (`.ghosty-md`,
1899
+ `.gs-prosa`, la garra, los puntitos), (3) el blindaje contra el CSS de la app
1900
+ anfitriona y (4) la pieza nueva: el pase de permiso.
1645
1901
 
1646
- Todo color, radio, sombra y grosor es una variable `--piloto-*`. Tres pieles
1647
- de casa por `data-skin`: ghosty (default), easybits y neutral; cada una con su
1902
+ Pieles por `data-skin`: ghosty (default), easybits y neutral; cada una con su
1648
1903
  oscuro (`data-theme="dark"`, o `auto` siguiendo al sistema).
1649
1904
  ───────────────────────────────────────────────────────────────────────────── */
1650
1905
 
1651
1906
  .piloto {
1652
- /* Tipografía. Las fuentes no se descargan solas: `ghostykit/fonts.css` las trae. */
1653
- --piloto-font: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1654
- --piloto-font-display: "Big Shoulders Stencil Display", "Schibsted Grotesk", Impact, "Arial Narrow", sans-serif;
1907
+ --piloto-font: "Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
1908
+ /* La prosa de las respuestas: serif, como claude.ai (en Apple sale New York). */
1909
+ --piloto-font-prose: ui-serif, "New York", "Iowan Old Style", Georgia, Cambria, "Times New Roman", serif;
1655
1910
  --piloto-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1656
- --piloto-font-size: 15px;
1911
+ /* El reloj y el sello del pase de permiso. */
1912
+ --piloto-font-display: "Big Shoulders Stencil Display", Impact, "Arial Narrow", sans-serif;
1657
1913
 
1658
- /* Ghosty: papel blanco, tinta casi negra, lavanda y mantequilla. */
1914
+ /* La unidad de las medidas (lo que vale 1rem dentro de Piloto). Ghosty corre a 18 px. */
1915
+ --piloto-rem: 18px;
1916
+
1917
+ /* Ghosty (los tokens de gs `app.css`). */
1659
1918
  --piloto-bg: #ffffff;
1660
- --piloto-surface: #f4f4fb;
1661
- --piloto-surface-2: #e7e7f2;
1919
+ --piloto-surface: #f6f6fa;
1920
+ --piloto-surface-2: #e9ebef;
1921
+ --piloto-surface-hover: #fafafd;
1662
1922
  --piloto-text: #191a20;
1663
- --piloto-text-2: #474956;
1664
- --piloto-text-3: #7d7f8c;
1923
+ --piloto-text-2: #4b5563;
1924
+ --piloto-text-3: #81838e;
1665
1925
  --piloto-text-disabled: #b6b6ba;
1666
1926
  --piloto-text-inverse: #ffffff;
1667
1927
  --piloto-inverse: #191a20;
1668
- --piloto-border: #191a20;
1669
- --piloto-border-2: #e3e3ec;
1670
- --piloto-accent: #8483e0;
1671
- --piloto-accent-strong: #6564cf;
1672
- --piloto-accent-soft: #dcdcfa;
1928
+ --piloto-border: #e1e3e7;
1929
+ --piloto-border-2: #e9ebef;
1930
+ --piloto-accent-100: #f5f5fc;
1931
+ --piloto-accent-soft: #aeadef;
1932
+ --piloto-accent: #9a99ea;
1933
+ --piloto-accent-strong: #8483e0;
1673
1934
  --piloto-on-accent: #ffffff;
1674
- --piloto-success: #3f9a62;
1675
- --piloto-success-soft: #c9ecd5;
1676
- --piloto-danger: #d64545;
1677
- --piloto-danger-soft: #fbd9d6;
1935
+ --piloto-success: #7fbe60;
1936
+ --piloto-danger: #ed695f;
1678
1937
  --piloto-warning: #ffd36e;
1679
1938
  --piloto-warning-ink: #191a20;
1680
- --piloto-focus: #6564cf;
1681
- --piloto-user-bubble: #dcdcfa;
1939
+ --piloto-focus: #8483e0;
1940
+ --piloto-user-bubble: #f0f0f4;
1682
1941
  --piloto-user-text: #191a20;
1683
- --piloto-shadow-color: #191a20;
1942
+ --piloto-composer-bg: #ffffff;
1684
1943
 
1685
- /* Forma. */
1686
- --piloto-radius-bubble: 14px;
1687
- --piloto-radius-card: 14px;
1688
- --piloto-radius-input: 18px;
1689
- --piloto-radius-button: 10px;
1690
- --piloto-border-width: 2px;
1691
- --piloto-hairline: 1px;
1692
- --piloto-shadow-card: 4px 4px 0 var(--piloto-shadow-color);
1693
- --piloto-shadow-input: 4px 4px 0 var(--piloto-shadow-color);
1694
- --piloto-shadow-hero: 6px 6px 0 var(--piloto-shadow-color);
1695
- --piloto-max-width: 760px;
1944
+ /* Forma (los valores de gs). */
1945
+ --piloto-radius-bubble: 12px;
1946
+ --piloto-radius-input: 24px;
1947
+ --piloto-radius-card: 16px;
1948
+ --piloto-radius-button: 12px;
1949
+ --piloto-border-width: 1px;
1950
+ --piloto-shadow-input: 0 12px 32px -16px rgb(25 26 32 / 0.25);
1951
+ --piloto-shadow-color: #191a20;
1952
+ /* El pase de permiso es lo único con sombra dura. */
1953
+ --piloto-shadow-hero: 5px 5px 0 var(--piloto-shadow-color);
1954
+ --piloto-ticket-border: 2px;
1696
1955
 
1697
1956
  position: relative;
1698
1957
  display: flex;
1699
1958
  flex-direction: column;
1700
1959
  height: 100%;
1701
1960
  min-height: 0;
1961
+ min-width: 0;
1702
1962
  width: 100%;
1703
1963
  background: var(--piloto-bg);
1704
1964
  color: var(--piloto-text);
1705
1965
  font-family: var(--piloto-font);
1706
- font-size: var(--piloto-font-size);
1707
- line-height: 1.55;
1966
+ line-height: 1.5;
1708
1967
  -webkit-font-smoothing: antialiased;
1709
1968
  isolation: isolate;
1710
- container-type: inline-size;
1711
1969
  }
1712
1970
 
1713
- /* ── Ghosty, oscuro: la sombra dura se vuelve lavanda (negro sobre negro no se ve). ── */
1971
+ /* ── Ghosty, oscuro (los valores del widget oscuro de gs) ── */
1714
1972
  .piloto[data-theme="dark"] {
1715
- --piloto-bg: #15161c;
1716
- --piloto-surface: #1f2029;
1717
- --piloto-surface-2: #2b2c38;
1718
- --piloto-text: #eeeef4;
1719
- --piloto-text-2: #b9bac6;
1720
- --piloto-text-3: #858796;
1721
- --piloto-text-disabled: #575966;
1722
- --piloto-text-inverse: #15161c;
1723
- --piloto-inverse: #eeeef4;
1724
- --piloto-border: #eeeef4;
1725
- --piloto-border-2: #2b2c38;
1726
- --piloto-accent: #9998ef;
1727
- --piloto-accent-strong: #aeadf5;
1728
- --piloto-accent-soft: #33335a;
1729
- --piloto-on-accent: #15161c;
1730
- --piloto-success: #6fcf92;
1731
- --piloto-success-soft: #1d3a2a;
1732
- --piloto-danger: #ff7b72;
1733
- --piloto-danger-soft: #42201f;
1734
- --piloto-focus: #aeadf5;
1735
- --piloto-user-bubble: #33335a;
1736
- --piloto-user-text: #eeeef4;
1973
+ color-scheme: dark;
1974
+ --piloto-bg: #16171d;
1975
+ --piloto-surface: #1e1f26;
1976
+ --piloto-surface-2: #2a2b33;
1977
+ --piloto-surface-hover: #22232a;
1978
+ --piloto-text: #ececf1;
1979
+ --piloto-text-2: #b6b6ba;
1980
+ --piloto-text-3: #81838e;
1981
+ --piloto-text-disabled: #5b5d66;
1982
+ --piloto-text-inverse: #16171d;
1983
+ --piloto-inverse: #ececf1;
1984
+ --piloto-border: #2c2d36;
1985
+ --piloto-border-2: #24252d;
1986
+ --piloto-user-bubble: #2a2b33;
1987
+ --piloto-user-text: #ececf1;
1988
+ --piloto-composer-bg: #16171d;
1989
+ --piloto-shadow-input: 0 12px 32px -16px rgb(0 0 0 / 0.6);
1737
1990
  --piloto-shadow-color: #8483e0;
1738
1991
  }
1739
1992
 
1740
- /* ── EasyBits: morado y ámbar, brutalista, nace oscuro. ── */
1993
+ /* ── EasyBits: morado y ámbar, contornos negros y sombras duras (brutalista). ── */
1741
1994
  .piloto[data-skin="easybits"] {
1742
- --piloto-font-display: "Big Shoulders Stencil Display", Impact, sans-serif;
1743
- --piloto-bg: #fffdf7;
1995
+ --piloto-rem: 16px;
1996
+ --piloto-font: "Satoshi", "Inter", ui-sans-serif, system-ui, sans-serif;
1997
+ --piloto-bg: #ffffff;
1744
1998
  --piloto-surface: #f6f1ff;
1745
1999
  --piloto-surface-2: #ece3ff;
2000
+ --piloto-surface-hover: #faf7ff;
1746
2001
  --piloto-text: #0b0b0f;
1747
2002
  --piloto-text-2: #3d3a48;
1748
2003
  --piloto-text-3: #75707f;
1749
- --piloto-text-inverse: #ffffff;
1750
2004
  --piloto-inverse: #0b0b0f;
1751
2005
  --piloto-border: #0b0b0f;
1752
2006
  --piloto-border-2: #e6e0f2;
2007
+ --piloto-accent-100: #f6f1ff;
2008
+ --piloto-accent-soft: #a78bfa;
1753
2009
  --piloto-accent: #7c3aed;
1754
2010
  --piloto-accent-strong: #6d28d9;
1755
- --piloto-accent-soft: #ede4ff;
1756
- --piloto-on-accent: #ffffff;
1757
2011
  --piloto-warning: #fbbf24;
1758
2012
  --piloto-warning-ink: #0b0b0f;
1759
2013
  --piloto-focus: #9870ed;
1760
- --piloto-user-bubble: #7c3aed;
1761
- --piloto-user-text: #ffffff;
2014
+ --piloto-user-bubble: #ede4ff;
2015
+ --piloto-user-text: #0b0b0f;
2016
+ --piloto-radius-bubble: 10px;
2017
+ --piloto-radius-input: 12px;
2018
+ --piloto-radius-card: 12px;
2019
+ --piloto-radius-button: 8px;
2020
+ --piloto-border-width: 2px;
2021
+ --piloto-shadow-input: 4px 4px 0 #0b0b0f;
1762
2022
  --piloto-shadow-color: #0b0b0f;
1763
- --piloto-radius-bubble: 4px;
1764
- --piloto-radius-card: 4px;
1765
- --piloto-radius-input: 6px;
1766
- --piloto-radius-button: 4px;
1767
- --piloto-border-width: 3px;
1768
- --piloto-shadow-card: 5px 5px 0 var(--piloto-shadow-color);
1769
- --piloto-shadow-input: 5px 5px 0 #7c3aed;
1770
- --piloto-shadow-hero: 7px 7px 0 #fbbf24;
2023
+ --piloto-shadow-hero: 6px 6px 0 #7c3aed;
1771
2024
  }
1772
2025
  .piloto[data-skin="easybits"][data-theme="dark"] {
1773
2026
  --piloto-bg: #0b0b0f;
1774
2027
  --piloto-surface: #16141f;
1775
2028
  --piloto-surface-2: #241f33;
2029
+ --piloto-surface-hover: #1c1928;
1776
2030
  --piloto-text: #f6f4fb;
1777
2031
  --piloto-text-2: #c5c0d3;
1778
2032
  --piloto-text-3: #8d879c;
@@ -1781,150 +2035,148 @@
1781
2035
  --piloto-inverse: #f6f4fb;
1782
2036
  --piloto-border: #f6f4fb;
1783
2037
  --piloto-border-2: #241f33;
2038
+ --piloto-accent-soft: #c4b5fd;
1784
2039
  --piloto-accent: #8b5cf6;
1785
2040
  --piloto-accent-strong: #a78bfa;
1786
- --piloto-accent-soft: #2a1d4d;
1787
- --piloto-on-accent: #ffffff;
1788
- --piloto-success: #4ade80;
1789
- --piloto-success-soft: #14321f;
1790
- --piloto-danger: #f87171;
1791
- --piloto-danger-soft: #3b1515;
1792
- --piloto-user-bubble: #7c3aed;
2041
+ --piloto-user-bubble: #2a1d4d;
2042
+ --piloto-user-text: #f6f4fb;
2043
+ --piloto-composer-bg: #0b0b0f;
2044
+ --piloto-shadow-input: 4px 4px 0 #7c3aed;
1793
2045
  --piloto-shadow-color: #7c3aed;
1794
- --piloto-shadow-input: 5px 5px 0 #7c3aed;
1795
- --piloto-shadow-hero: 7px 7px 0 #fbbf24;
2046
+ --piloto-shadow-hero: 6px 6px 0 #fbbf24;
1796
2047
  }
1797
2048
 
1798
- /* ── Neutral: grafito monocromo, contorno fino; para apps con su propia marca fuerte. ── */
2049
+ /* ── Neutral: grafito, sin color de marca; para apps con su propia identidad fuerte. ── */
1799
2050
  .piloto[data-skin="neutral"] {
2051
+ --piloto-rem: 16px;
1800
2052
  --piloto-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1801
- --piloto-font-display: ui-sans-serif, system-ui, sans-serif;
1802
2053
  --piloto-bg: #ffffff;
1803
2054
  --piloto-surface: #f5f5f4;
1804
2055
  --piloto-surface-2: #e7e5e4;
2056
+ --piloto-surface-hover: #fafaf9;
1805
2057
  --piloto-text: #1c1917;
1806
2058
  --piloto-text-2: #44403c;
1807
2059
  --piloto-text-3: #78716c;
1808
2060
  --piloto-inverse: #1c1917;
1809
- --piloto-border: #1c1917;
1810
- --piloto-border-2: #e7e5e4;
2061
+ --piloto-border: #e7e5e4;
2062
+ --piloto-border-2: #f5f5f4;
2063
+ --piloto-accent-100: #fafaf9;
2064
+ --piloto-accent-soft: #a8a29e;
1811
2065
  --piloto-accent: #1c1917;
1812
2066
  --piloto-accent-strong: #1c1917;
1813
- --piloto-accent-soft: #e7e5e4;
1814
- --piloto-on-accent: #ffffff;
1815
2067
  --piloto-warning: #f5f5f4;
1816
- --piloto-warning-ink: #1c1917;
1817
2068
  --piloto-focus: #2563eb;
1818
2069
  --piloto-user-bubble: #f5f5f4;
1819
- --piloto-user-text: #1c1917;
1820
- --piloto-shadow-color: #d6d3d1;
1821
2070
  --piloto-radius-bubble: 10px;
1822
- --piloto-radius-card: 10px;
1823
- --piloto-radius-input: 12px;
2071
+ --piloto-radius-input: 14px;
2072
+ --piloto-radius-card: 12px;
1824
2073
  --piloto-radius-button: 8px;
1825
- --piloto-border-width: 1px;
1826
- --piloto-shadow-card: 0 0 0 transparent;
1827
- --piloto-shadow-input: 3px 3px 0 var(--piloto-shadow-color);
1828
- --piloto-shadow-hero: 4px 4px 0 var(--piloto-shadow-color);
2074
+ --piloto-shadow-input: 0 1px 2px rgb(0 0 0 / 0.06);
2075
+ --piloto-shadow-color: #d6d3d1;
2076
+ --piloto-shadow-hero: 4px 4px 0 #d6d3d1;
2077
+ --piloto-ticket-border: 1px;
1829
2078
  }
1830
2079
  .piloto[data-skin="neutral"][data-theme="dark"] {
1831
2080
  --piloto-bg: #171615;
1832
2081
  --piloto-surface: #22201f;
1833
2082
  --piloto-surface-2: #2e2b29;
2083
+ --piloto-surface-hover: #1d1b1a;
1834
2084
  --piloto-text: #f5f5f4;
1835
2085
  --piloto-text-2: #d6d3d1;
1836
2086
  --piloto-text-3: #a8a29e;
1837
2087
  --piloto-text-disabled: #57534e;
1838
2088
  --piloto-text-inverse: #171615;
1839
2089
  --piloto-inverse: #f5f5f4;
1840
- --piloto-border: #a8a29e;
1841
- --piloto-border-2: #2e2b29;
2090
+ --piloto-border: #2e2b29;
2091
+ --piloto-border-2: #22201f;
1842
2092
  --piloto-accent: #f5f5f4;
1843
2093
  --piloto-accent-strong: #f5f5f4;
1844
- --piloto-accent-soft: #2e2b29;
1845
2094
  --piloto-on-accent: #171615;
1846
2095
  --piloto-warning: #22201f;
1847
2096
  --piloto-warning-ink: #f5f5f4;
1848
- --piloto-success: #86efac;
1849
- --piloto-success-soft: #1c3326;
1850
- --piloto-danger: #fca5a5;
1851
- --piloto-danger-soft: #3f1d1d;
1852
2097
  --piloto-user-bubble: #2e2b29;
1853
2098
  --piloto-user-text: #f5f5f4;
2099
+ --piloto-composer-bg: #171615;
1854
2100
  --piloto-shadow-color: #000000;
2101
+ --piloto-shadow-hero: 4px 4px 0 #000000;
1855
2102
  }
1856
2103
 
1857
- /* `theme="auto"`: el oscuro de cada piel, siguiendo al sistema. */
1858
2104
  @media (prefers-color-scheme: dark) {
1859
- .piloto[data-theme="auto"] {
1860
- --piloto-bg: #15161c;
1861
- --piloto-surface: #1f2029;
1862
- --piloto-surface-2: #2b2c38;
1863
- --piloto-text: #eeeef4;
1864
- --piloto-text-2: #b9bac6;
1865
- --piloto-text-3: #858796;
1866
- --piloto-text-disabled: #575966;
1867
- --piloto-text-inverse: #15161c;
1868
- --piloto-inverse: #eeeef4;
1869
- --piloto-border: #eeeef4;
1870
- --piloto-border-2: #2b2c38;
1871
- --piloto-accent: #9998ef;
1872
- --piloto-accent-strong: #aeadf5;
1873
- --piloto-accent-soft: #33335a;
1874
- --piloto-on-accent: #15161c;
1875
- --piloto-success: #6fcf92;
1876
- --piloto-success-soft: #1d3a2a;
1877
- --piloto-danger: #ff7b72;
1878
- --piloto-danger-soft: #42201f;
1879
- --piloto-focus: #aeadf5;
1880
- --piloto-user-bubble: #33335a;
1881
- --piloto-user-text: #eeeef4;
1882
- --piloto-shadow-color: #8483e0;
1883
- }
1884
- .piloto[data-skin="easybits"][data-theme="auto"] {
1885
- --piloto-bg: #0b0b0f;
1886
- --piloto-surface: #16141f;
1887
- --piloto-surface-2: #241f33;
1888
- --piloto-text: #f6f4fb;
1889
- --piloto-text-2: #c5c0d3;
1890
- --piloto-text-3: #8d879c;
1891
- --piloto-text-inverse: #0b0b0f;
1892
- --piloto-inverse: #f6f4fb;
1893
- --piloto-border: #f6f4fb;
1894
- --piloto-border-2: #241f33;
1895
- --piloto-accent: #8b5cf6;
1896
- --piloto-accent-strong: #a78bfa;
1897
- --piloto-accent-soft: #2a1d4d;
1898
- --piloto-success: #4ade80;
1899
- --piloto-success-soft: #14321f;
1900
- --piloto-danger: #f87171;
1901
- --piloto-danger-soft: #3b1515;
1902
- --piloto-shadow-color: #7c3aed;
1903
- }
1904
- .piloto[data-skin="neutral"][data-theme="auto"] {
1905
- --piloto-bg: #171615;
1906
- --piloto-surface: #22201f;
1907
- --piloto-surface-2: #2e2b29;
1908
- --piloto-text: #f5f5f4;
1909
- --piloto-text-2: #d6d3d1;
1910
- --piloto-text-3: #a8a29e;
1911
- --piloto-text-inverse: #171615;
1912
- --piloto-inverse: #f5f5f4;
1913
- --piloto-border: #a8a29e;
1914
- --piloto-border-2: #2e2b29;
1915
- --piloto-accent: #f5f5f4;
1916
- --piloto-accent-strong: #f5f5f4;
1917
- --piloto-accent-soft: #2e2b29;
1918
- --piloto-on-accent: #171615;
1919
- --piloto-warning: #22201f;
1920
- --piloto-warning-ink: #f5f5f4;
1921
- --piloto-user-bubble: #2e2b29;
1922
- --piloto-user-text: #f5f5f4;
1923
- --piloto-shadow-color: #000000;
1924
- }
2105
+ .piloto[data-theme="auto"] {
2106
+ color-scheme: dark;
2107
+ --piloto-bg: #16171d;
2108
+ --piloto-surface: #1e1f26;
2109
+ --piloto-surface-2: #2a2b33;
2110
+ --piloto-surface-hover: #22232a;
2111
+ --piloto-text: #ececf1;
2112
+ --piloto-text-2: #b6b6ba;
2113
+ --piloto-text-3: #81838e;
2114
+ --piloto-text-disabled: #5b5d66;
2115
+ --piloto-text-inverse: #16171d;
2116
+ --piloto-inverse: #ececf1;
2117
+ --piloto-border: #2c2d36;
2118
+ --piloto-border-2: #24252d;
2119
+ --piloto-user-bubble: #2a2b33;
2120
+ --piloto-user-text: #ececf1;
2121
+ --piloto-composer-bg: #16171d;
2122
+ --piloto-shadow-input: 0 12px 32px -16px rgb(0 0 0 / 0.6);
2123
+ --piloto-shadow-color: #8483e0;
2124
+ }
2125
+ .piloto[data-skin="easybits"][data-theme="auto"] {
2126
+ --piloto-bg: #0b0b0f;
2127
+ --piloto-surface: #16141f;
2128
+ --piloto-surface-2: #241f33;
2129
+ --piloto-surface-hover: #1c1928;
2130
+ --piloto-text: #f6f4fb;
2131
+ --piloto-text-2: #c5c0d3;
2132
+ --piloto-text-3: #8d879c;
2133
+ --piloto-text-disabled: #4f4a5c;
2134
+ --piloto-text-inverse: #0b0b0f;
2135
+ --piloto-inverse: #f6f4fb;
2136
+ --piloto-border: #f6f4fb;
2137
+ --piloto-border-2: #241f33;
2138
+ --piloto-accent-soft: #c4b5fd;
2139
+ --piloto-accent: #8b5cf6;
2140
+ --piloto-accent-strong: #a78bfa;
2141
+ --piloto-user-bubble: #2a1d4d;
2142
+ --piloto-user-text: #f6f4fb;
2143
+ --piloto-composer-bg: #0b0b0f;
2144
+ --piloto-shadow-input: 4px 4px 0 #7c3aed;
2145
+ --piloto-shadow-color: #7c3aed;
2146
+ --piloto-shadow-hero: 6px 6px 0 #fbbf24;
2147
+ }
2148
+ .piloto[data-skin="neutral"][data-theme="auto"] {
2149
+ --piloto-bg: #171615;
2150
+ --piloto-surface: #22201f;
2151
+ --piloto-surface-2: #2e2b29;
2152
+ --piloto-surface-hover: #1d1b1a;
2153
+ --piloto-text: #f5f5f4;
2154
+ --piloto-text-2: #d6d3d1;
2155
+ --piloto-text-3: #a8a29e;
2156
+ --piloto-text-disabled: #57534e;
2157
+ --piloto-text-inverse: #171615;
2158
+ --piloto-inverse: #f5f5f4;
2159
+ --piloto-border: #2e2b29;
2160
+ --piloto-border-2: #22201f;
2161
+ --piloto-accent: #f5f5f4;
2162
+ --piloto-accent-strong: #f5f5f4;
2163
+ --piloto-on-accent: #171615;
2164
+ --piloto-warning: #22201f;
2165
+ --piloto-warning-ink: #f5f5f4;
2166
+ --piloto-user-bubble: #2e2b29;
2167
+ --piloto-user-text: #f5f5f4;
2168
+ --piloto-composer-bg: #171615;
2169
+ --piloto-shadow-color: #000000;
2170
+ --piloto-shadow-hero: 4px 4px 0 #000000;
2171
+ }
1925
2172
  }
1926
2173
 
1927
- /* ── Reset con alcance: sólo dentro de Piloto, para apps sin Tailwind o con otro. ── */
2174
+ /* ── Reset con alcance y BLINDAJE contra el CSS de la app anfitriona ──────────
2175
+ Apps con Tailwind 3 + @tailwindcss/forms (EasyBits) pintan TODO textarea/input
2176
+ con borde, fondo blanco, padding y un anillo al enfocar (`textarea:focus`).
2177
+ Dentro de Piloto eso no aplica: el campo no tiene caja propia, la caja es la
2178
+ tarjeta. Las utilidades de Piloto (`.piloto .px-1`) siguen ganando porque
2179
+ pesan más que estos selectores. */
1928
2180
  .piloto *,
1929
2181
  .piloto *::before,
1930
2182
  .piloto *::after {
@@ -1933,15 +2185,33 @@
1933
2185
  margin: 0;
1934
2186
  padding: 0;
1935
2187
  }
1936
- .piloto button,
1937
- .piloto input,
1938
2188
  .piloto textarea,
1939
- .piloto select {
2189
+ .piloto input,
2190
+ .piloto select,
2191
+ .piloto button {
2192
+ -webkit-appearance: none;
2193
+ appearance: none;
1940
2194
  font: inherit;
1941
2195
  color: inherit;
1942
- background: transparent;
1943
2196
  letter-spacing: inherit;
1944
- }
2197
+ background-color: transparent;
2198
+ background-image: none;
2199
+ border-radius: 0;
2200
+ box-shadow: none;
2201
+ }
2202
+ .piloto textarea:focus,
2203
+ .piloto textarea:focus-visible,
2204
+ .piloto input:focus,
2205
+ .piloto input:focus-visible,
2206
+ .piloto select:focus {
2207
+ outline: none;
2208
+ box-shadow: none;
2209
+ border-color: transparent;
2210
+ --tw-ring-shadow: 0 0 #0000;
2211
+ --tw-ring-offset-shadow: 0 0 #0000;
2212
+ --tw-ring-color: transparent;
2213
+ }
2214
+ .piloto input[type="file"] { display: none; }
1945
2215
  .piloto button { cursor: pointer; }
1946
2216
  .piloto button:disabled { cursor: default; }
1947
2217
  .piloto ul,
@@ -1952,48 +2222,87 @@
1952
2222
  .piloto svg { display: inline-block; flex-shrink: 0; vertical-align: middle; }
1953
2223
  .piloto a { color: inherit; text-decoration: inherit; }
1954
2224
  .piloto summary { list-style: revert; }
1955
- .piloto :focus-visible { outline: 3px solid var(--piloto-focus); outline-offset: 2px; }
2225
+ .piloto h1,
2226
+ .piloto h2,
2227
+ .piloto h3 { font-size: inherit; font-weight: inherit; }
1956
2228
  .piloto [hidden] { display: none !important; }
1957
2229
 
1958
- /* ── El marco ─────────────────────────────────────────────────────────────── */
1959
- .piloto .piloto-column,
1960
- .piloto .piloto-dock { max-width: var(--piloto-max-width); }
1961
- .piloto .piloto-agent { max-width: min(100%, 68ch); }
1962
- .piloto .piloto-scroll { scrollbar-width: thin; scrollbar-color: var(--piloto-border-2) transparent; }
2230
+ /* ── CSS de Ghosty Studio (gs `app.css`), tal cual ────────────────────────── */
2231
+ /* Barra de desplazamiento fina y del color de los bordes. */
2232
+ .piloto .gs-scroll { scrollbar-width: thin; scrollbar-color: var(--piloto-border) transparent; }
2233
+ .piloto .gs-scroll::-webkit-scrollbar { width: 8px; height: 8px; }
2234
+ .piloto .gs-scroll::-webkit-scrollbar-track { background: transparent; }
2235
+ .piloto .gs-scroll::-webkit-scrollbar-thumb { background-color: var(--piloto-border); border-radius: 9999px; border: 2px solid transparent; background-clip: content-box; }
2236
+ .piloto .gs-scroll:hover::-webkit-scrollbar-thumb { background-color: var(--piloto-text-3); }
1963
2237
 
1964
- /* Tu mensaje: una pieza sólida de color, sin sombra (la sombra es de lo que se toca). */
1965
- .piloto .piloto-bubble-user {
1966
- background: var(--piloto-user-bubble);
1967
- color: var(--piloto-user-text);
1968
- border: var(--piloto-hairline) solid color-mix(in srgb, var(--piloto-border) 22%, transparent);
1969
- }
2238
+ /* Markdown de gs. */
2239
+ .piloto .ghosty-md { line-height: 1.5; font-size: calc(0.875 * var(--piloto-rem)); }
2240
+ .piloto .ghosty-md p { margin: 0 0 calc(0.75 * var(--piloto-rem)) 0; }
2241
+ .piloto .ghosty-md p:last-child { margin-bottom: 0; }
2242
+ .piloto .ghosty-md h1, .piloto .ghosty-md h2, .piloto .ghosty-md h3 { margin: calc(0.75 * var(--piloto-rem)) 0 calc(0.5 * var(--piloto-rem)) 0; font-weight: 600; }
2243
+ .piloto .ghosty-md h1:first-child, .piloto .ghosty-md h2:first-child, .piloto .ghosty-md h3:first-child { margin-top: 0; }
2244
+ .piloto .ghosty-md ul, .piloto .ghosty-md ol { padding-left: 0; margin: calc(0.5 * var(--piloto-rem)) 0; list-style: none; }
2245
+ .piloto .ghosty-md ul:first-child, .piloto .ghosty-md ol:first-child { margin-top: 0; }
2246
+ .piloto .ghosty-md ul:last-child, .piloto .ghosty-md ol:last-child { margin-bottom: 0; }
2247
+ .piloto .ghosty-md ol { counter-reset: list-counter 0; }
2248
+ .piloto .ghosty-md li { position: relative; padding-left: calc(1.25 * var(--piloto-rem)); margin: 0 0 calc(0.25 * var(--piloto-rem)) 0; line-height: 1.5; }
2249
+ .piloto .ghosty-md li:last-child { margin-bottom: 0; }
2250
+ .piloto .ghosty-md ul > li::before { content: "•"; position: absolute; left: calc(0.25 * var(--piloto-rem)); color: var(--piloto-text-3); }
2251
+ .piloto .ghosty-md ol > li { counter-increment: list-counter 1; }
2252
+ .piloto .ghosty-md ol > li::before { content: counter(list-counter) "."; position: absolute; left: 0; color: var(--piloto-text-3); font-weight: 500; }
2253
+ .piloto .ghosty-md strong { font-weight: 600; }
2254
+ .piloto .ghosty-md em { font-style: italic; }
2255
+ .piloto .ghosty-md a { color: var(--piloto-accent-strong); text-decoration: underline; text-underline-offset: 2px; }
2256
+ .piloto .ghosty-md code { background: var(--piloto-surface-2); color: var(--piloto-text); padding: calc(0.1 * var(--piloto-rem)) calc(0.35 * var(--piloto-rem)); border-radius: calc(0.25 * var(--piloto-rem)); font-size: calc(0.8125 * var(--piloto-rem)); font-family: var(--piloto-font-mono); }
2257
+ .piloto .ghosty-md pre { background: var(--piloto-surface); border: 1px solid var(--piloto-border); color: var(--piloto-text); padding: calc(0.75 * var(--piloto-rem)); border-radius: calc(0.5 * var(--piloto-rem)); font-size: calc(0.8125 * var(--piloto-rem)); font-family: var(--piloto-font-mono); overflow-x: auto; margin: calc(0.5 * var(--piloto-rem)) 0; }
2258
+ .piloto .ghosty-md pre:last-child { margin-bottom: 0; }
2259
+ .piloto .ghosty-md pre code { background: none; padding: 0; color: inherit; }
2260
+ .piloto .ghosty-md blockquote { border-left: 2px solid var(--piloto-border); padding-left: calc(0.75 * var(--piloto-rem)); color: var(--piloto-text-3); margin: calc(0.5 * var(--piloto-rem)) 0; }
2261
+ .piloto .ghosty-md img { max-width: 100%; height: auto; display: block; margin: calc(0.5 * var(--piloto-rem)) 0; border-radius: calc(0.5 * var(--piloto-rem)); border: 1px solid var(--piloto-border); }
2262
+ /* El hilo del CRM (drawer del tablero, /crm): la burbuja del agente es blanca (o ámbar si
1970
2263
 
1971
- /* La caja de escribir: contorno grueso y sombra dura. Al enfocar, la sombra se corre: «listo». */
1972
- .piloto .piloto-composer {
1973
- background: var(--piloto-bg);
1974
- border: var(--piloto-border-width) solid var(--piloto-border);
1975
- box-shadow: var(--piloto-shadow-input);
1976
- transition: box-shadow 120ms ease-out, transform 120ms ease-out;
1977
- }
1978
- .piloto .piloto-composer:focus-within { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--piloto-accent); }
1979
- .piloto[data-skin="neutral"] .piloto-composer:focus-within { transform: none; box-shadow: 0 0 0 3px var(--piloto-accent-soft); }
1980
- .piloto .piloto-textarea::placeholder { color: var(--piloto-text-3); }
1981
- /* El foco de la caja lo dice su sombra; el anillo va en los botones. */
1982
- .piloto .piloto-textarea:focus-visible { outline: none; }
2264
+ /* La prosa de las respuestas: serif 16/24 (claude.ai usa su serif). La narración, igual, un punto menor. */
2265
+ .piloto .gs-prosa .ghosty-md,
2266
+ .piloto .gs-narracion { font-family: var(--piloto-font-prose); font-size: 16px; line-height: 24px; }
2267
+ .piloto .gs-narracion { font-size: 15px; line-height: 22px; }
2268
+ .piloto .gs-prosa .ghosty-md li { line-height: 24px; }
2269
+ .piloto .gs-prosa .ghosty-md p { margin-bottom: calc(0.9 * var(--piloto-rem)); }
2270
+ .piloto .gs-prosa .ghosty-md p:last-child { margin-bottom: 0; }
2271
+ .piloto .piloto-narration-text code { background: var(--piloto-surface-2); padding: calc(0.05 * var(--piloto-rem)) calc(0.3 * var(--piloto-rem)); border-radius: calc(0.25 * var(--piloto-rem)); font-size: 0.85em; font-family: var(--piloto-font-mono); }
2272
+ .piloto .piloto-narration-text strong { font-weight: 600; color: var(--piloto-text); }
2273
+ .piloto .piloto-narration-text a { color: var(--piloto-accent-strong); text-decoration: underline; text-underline-offset: 2px; }
1983
2274
 
1984
- .piloto .piloto-send {
1985
- background: var(--piloto-surface-2);
1986
- color: var(--piloto-text-disabled);
1987
- border: var(--piloto-border-width) solid transparent;
1988
- }
1989
- .piloto .piloto-send[data-ready] {
1990
- background: var(--piloto-accent);
1991
- color: var(--piloto-on-accent);
1992
- border-color: var(--piloto-border);
2275
+ /* Cada tramo del texto al ritmo (`TextAtPace`) y los pasos que entran. */
2276
+ @keyframes gs-tramo { from { opacity: 0; } }
2277
+ @keyframes gs-paso-in { from { opacity: 0; transform: translateY(3px); } }
2278
+ .piloto .gs-paso-in { animation: gs-paso-in 0.3s ease-out both; }
2279
+
2280
+ /* Puntitos de «escribiendo»: el rebote de siempre en el color de marca. */
2281
+ .piloto .gc-typing-dot {
2282
+ background-color: var(--piloto-accent);
2283
+ animation-duration: 900ms;
2284
+ animation-delay: calc(var(--i, 0) * 150ms);
1993
2285
  }
1994
- .piloto .piloto-send[data-ready]:hover { background: var(--piloto-accent-strong); }
1995
- .piloto .piloto-send[data-ready]:active { transform: translate(1px, 1px); }
1996
2286
 
2287
+ /* La garra: baja, cierra, sube con el premio, suelta y descansa; en bucle. */
2288
+ .piloto .gs-garra { overflow: visible; }
2289
+ .piloto .gs-garra-rig,
2290
+ .piloto .gs-garra-l,
2291
+ .piloto .gs-garra-r { transform-box: fill-box; }
2292
+ .piloto .gs-garra-l { transform-origin: 100% 0; }
2293
+ .piloto .gs-garra-r { transform-origin: 0 0; }
2294
+ .piloto .gs-garra .gs-garra-rig { animation: gs-garra-dip 2.4s ease-in-out infinite both; }
2295
+ .piloto .gs-garra .gs-garra-l { animation: gs-garra-l 2.4s ease-in-out infinite both; }
2296
+ .piloto .gs-garra .gs-garra-r { animation: gs-garra-r 2.4s ease-in-out infinite both; }
2297
+ @keyframes gs-garra-dip { 0%, 55%, 100% { transform: translateY(0); } 15%, 25% { transform: translateY(2.5px); } 40% { transform: translateY(0); } }
2298
+ @keyframes gs-garra-l { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(-16deg); } }
2299
+ @keyframes gs-garra-r { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(16deg); } }
2300
+
2301
+ /* El bloque de código y la tabla de Streamdown, con el borde de la piel. */
2302
+ .piloto .ghosty-md [data-streamdown="code-block"],
2303
+ .piloto .ghosty-md [data-streamdown="table-wrapper"] { margin: calc(0.75 * var(--piloto-rem)) 0; }
2304
+
2305
+ /* ── La pieza nueva: el pase de permiso ─────────────────────────────────── */
1997
2306
  /* Botones con peso: presionarlos los hunde en su sombra. */
1998
2307
  .piloto .piloto-btn {
1999
2308
  display: inline-flex;
@@ -2003,7 +2312,7 @@
2003
2312
  min-height: 40px;
2004
2313
  padding: 0 1.1em;
2005
2314
  border-radius: var(--piloto-radius-button);
2006
- border: var(--piloto-border-width) solid var(--piloto-border);
2315
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2007
2316
  font-weight: 650;
2008
2317
  font-size: 0.94em;
2009
2318
  transition: transform 90ms ease-out, box-shadow 90ms ease-out, background-color 120ms;
@@ -2019,114 +2328,6 @@
2019
2328
  .piloto .piloto-btn-quiet { background: var(--piloto-bg); color: var(--piloto-text); }
2020
2329
  .piloto .piloto-btn-quiet:not(:disabled):hover { background: var(--piloto-surface); }
2021
2330
  .piloto .piloto-btn[aria-busy] { animation: piloto-blink 0.8s steps(2, jump-none) infinite; }
2022
- .piloto .piloto-primary { background: var(--piloto-accent); color: var(--piloto-on-accent); }
2023
- .piloto .piloto-secondary { background: var(--piloto-surface); color: var(--piloto-text); border: var(--piloto-hairline) solid var(--piloto-border-2); }
2024
-
2025
- /* Los pasos: en vivo, renglones sueltos; al cerrar el turno la misma vista se vuelve tarjeta. */
2026
- .piloto .piloto-steps {
2027
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2028
- background: var(--piloto-bg);
2029
- }
2030
- .piloto .piloto-steps:hover { border-color: var(--piloto-border); }
2031
- .piloto .piloto-steps[data-live] { border-color: transparent; background: transparent; }
2032
- .piloto .piloto-step-detail { color: var(--piloto-text-3); margin-left: 0.6em; }
2033
- .piloto .piloto-step { animation: piloto-step-in 220ms cubic-bezier(0.2, 0.9, 0.3, 1.3) both; }
2034
-
2035
- /* La narración: casillas palomeadas de una lista de verificación. */
2036
- .piloto .piloto-narration > li > span:first-child {
2037
- border: var(--piloto-hairline) solid var(--piloto-accent);
2038
- border-radius: 4px;
2039
- background: var(--piloto-accent-soft);
2040
- color: var(--piloto-accent-strong);
2041
- }
2042
-
2043
- /* Opciones de respuesta: botones de ancho completo con contorno. */
2044
- .piloto .piloto-option {
2045
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2046
- border-radius: var(--piloto-radius-button);
2047
- }
2048
- .piloto .piloto-option:hover { border-color: var(--piloto-border); background: var(--piloto-surface); }
2049
- .piloto .piloto-suggestion {
2050
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2051
- }
2052
- .piloto .piloto-suggestion:hover { border-color: var(--piloto-border); color: var(--piloto-text); }
2053
-
2054
- .piloto .piloto-reference {
2055
- border: var(--piloto-hairline) solid var(--piloto-accent);
2056
- background: var(--piloto-accent-soft);
2057
- }
2058
-
2059
- .piloto .piloto-to-bottom { border: var(--piloto-border-width) solid var(--piloto-border); background: var(--piloto-bg); color: var(--piloto-text); }
2060
-
2061
- .piloto .piloto-menu { border: var(--piloto-border-width) solid var(--piloto-border); box-shadow: var(--piloto-shadow-card); }
2062
- .piloto .piloto-drop { background: color-mix(in srgb, var(--piloto-bg) 86%, transparent); }
2063
- .piloto .piloto-dialog { border: var(--piloto-border-width) solid var(--piloto-border); box-shadow: var(--piloto-shadow-hero); }
2064
- .piloto .piloto-avatar-default {
2065
- display: block;
2066
- width: 48px;
2067
- height: 48px;
2068
- border-radius: 50%;
2069
- background: var(--piloto-accent);
2070
- border: var(--piloto-border-width) solid var(--piloto-border);
2071
- box-shadow: 3px 3px 0 var(--piloto-shadow-color);
2072
- }
2073
- /* El estado vacío: si no cabe, se desplaza (nunca recorta el saludo ni la sombra del composer). */
2074
- .piloto .piloto-empty {
2075
- position: relative;
2076
- display: flex;
2077
- flex-direction: column;
2078
- flex: 1 1 auto;
2079
- min-height: 0;
2080
- overflow-y: auto;
2081
- padding: 16px 16px 24px;
2082
- }
2083
- .piloto .piloto-empty-inner {
2084
- margin: auto 0;
2085
- width: 100%;
2086
- display: flex;
2087
- flex-direction: column;
2088
- align-items: center;
2089
- padding-bottom: 6vh;
2090
- }
2091
- .piloto .piloto-welcome-text {
2092
- font-family: var(--piloto-font-display);
2093
- font-weight: 800;
2094
- /* Al ancho del CONTENEDOR (un panel lateral no es la ventana). */
2095
- font-size: clamp(26px, 8cqi, 44px);
2096
- line-height: 1;
2097
- letter-spacing: 0.01em;
2098
- max-width: 18ch;
2099
- color: var(--piloto-text);
2100
- text-wrap: balance;
2101
- }
2102
- .piloto .piloto-welcome-text[data-long] {
2103
- font-family: var(--piloto-font);
2104
- font-weight: 600;
2105
- font-size: clamp(16px, 4.2cqi, 19px);
2106
- line-height: 1.45;
2107
- letter-spacing: 0;
2108
- max-width: 44ch;
2109
- color: var(--piloto-text-2);
2110
- }
2111
- .piloto .piloto-narration-text code { background: var(--piloto-surface-2); padding: 0.05rem 0.3rem; border-radius: 4px; font-size: 0.88em; font-family: var(--piloto-font-mono); }
2112
- .piloto .piloto-narration-text strong { font-weight: 700; color: var(--piloto-text); }
2113
- .piloto .piloto-narration-text a { text-decoration: underline; text-decoration-color: var(--piloto-accent); text-underline-offset: 2px; }
2114
- .piloto .piloto-wait-time { margin-left: 0.7em; color: var(--piloto-text-3); font-variant-numeric: tabular-nums; }
2115
- .piloto .piloto-system-note { border: var(--piloto-hairline) solid var(--piloto-border-2); }
2116
-
2117
- /* Pensando: tres luces de cabina que se encienden por turno, sin suavizado (steps). */
2118
- .piloto .piloto-typing { display: flex; gap: 5px; }
2119
- .piloto .piloto-typing-dot {
2120
- width: 9px;
2121
- height: 9px;
2122
- border-radius: 2px;
2123
- border: var(--piloto-hairline) solid var(--piloto-border);
2124
- background: var(--piloto-surface-2);
2125
- animation: piloto-lamp 1.2s steps(1, end) infinite;
2126
- }
2127
- .piloto .piloto-typing-dot:nth-child(2) { animation-delay: 0.4s; }
2128
- .piloto .piloto-typing-dot:nth-child(3) { animation-delay: 0.8s; }
2129
- .piloto .piloto-rec-dot { background: var(--piloto-danger); animation: piloto-blink 1s steps(2, jump-none) infinite; }
2130
2331
 
2131
2332
  /* ── El pase de permiso (la pieza héroe) ───────────────────────────────────── */
2132
2333
  .piloto .piloto-ticket {
@@ -2134,7 +2335,7 @@
2134
2335
  max-width: min(100%, 560px);
2135
2336
  background: var(--piloto-bg);
2136
2337
  color: var(--piloto-text);
2137
- border: var(--piloto-border-width) solid var(--piloto-border);
2338
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2138
2339
  border-radius: var(--piloto-radius-card);
2139
2340
  box-shadow: var(--piloto-shadow-hero);
2140
2341
  animation: piloto-ticket-in 340ms cubic-bezier(0.2, 0.9, 0.25, 1.25) both;
@@ -2148,7 +2349,7 @@
2148
2349
  height: 38px;
2149
2350
  flex-shrink: 0;
2150
2351
  border-radius: 50%;
2151
- border: var(--piloto-border-width) solid currentColor;
2352
+ border: var(--piloto-ticket-border) solid currentColor;
2152
2353
  background: var(--piloto-bg);
2153
2354
  color: var(--piloto-text);
2154
2355
  }
@@ -2159,7 +2360,7 @@
2159
2360
  margin-top: 6px;
2160
2361
  padding: 1px 7px;
2161
2362
  border-radius: 4px;
2162
- border: var(--piloto-hairline) solid currentColor;
2363
+ border: 1px solid currentColor;
2163
2364
  font-family: var(--piloto-font-mono);
2164
2365
  font-size: 0.78em;
2165
2366
  opacity: 0.85;
@@ -2168,7 +2369,7 @@
2168
2369
  .piloto .piloto-ticket-tear {
2169
2370
  position: relative;
2170
2371
  height: 0;
2171
- border-top: var(--piloto-border-width) dashed var(--piloto-border);
2372
+ border-top: var(--piloto-ticket-border) dashed var(--piloto-text);
2172
2373
  }
2173
2374
  .piloto .piloto-ticket-tear::before,
2174
2375
  .piloto .piloto-ticket-tear::after {
@@ -2179,7 +2380,7 @@
2179
2380
  height: 16px;
2180
2381
  border-radius: 50%;
2181
2382
  background: var(--piloto-bg);
2182
- border: var(--piloto-border-width) solid var(--piloto-border);
2383
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2183
2384
  }
2184
2385
  .piloto .piloto-ticket-tear::before { left: -10px; }
2185
2386
  .piloto .piloto-ticket-tear::after { right: -10px; }
@@ -2198,7 +2399,7 @@
2198
2399
  }
2199
2400
  .piloto .piloto-ticket[data-urgent] .piloto-ticket-clock { color: var(--piloto-danger); }
2200
2401
  /* La mecha: lo que queda, una barra sólida que se consume. */
2201
- .piloto .piloto-fuse { height: 8px; background: var(--piloto-surface-2); border-top: var(--piloto-border-width) solid var(--piloto-border); }
2402
+ .piloto .piloto-fuse { height: 8px; background: var(--piloto-surface-2); border-top: var(--piloto-ticket-border) solid var(--piloto-text); }
2202
2403
  .piloto .piloto-fuse > span {
2203
2404
  display: block;
2204
2405
  height: 100%;
@@ -2250,72 +2451,7 @@
2250
2451
  .piloto .piloto-decision strong { color: var(--piloto-text); font-weight: 650; }
2251
2452
  .piloto .piloto-decision-detail { color: var(--piloto-text-3); }
2252
2453
 
2253
- /* ── Markdown de las respuestas (Streamdown) ── */
2254
- .piloto .piloto-md { line-height: 1.62; color: var(--piloto-text); }
2255
- .piloto .piloto-md p { margin: 0 0 0.8rem 0; }
2256
- .piloto .piloto-md p:last-child { margin-bottom: 0; }
2257
- .piloto .piloto-md h1,
2258
- .piloto .piloto-md h2,
2259
- .piloto .piloto-md h3,
2260
- .piloto .piloto-md h4 { margin: 1.1rem 0 0.45rem 0; font-weight: 750; line-height: 1.25; text-wrap: balance; }
2261
- .piloto .piloto-md h1 { font-size: 1.4em; }
2262
- .piloto .piloto-md h2 { font-size: 1.22em; }
2263
- .piloto .piloto-md h3 { font-size: 1.08em; }
2264
- .piloto .piloto-md h1:first-child,
2265
- .piloto .piloto-md h2:first-child,
2266
- .piloto .piloto-md h3:first-child { margin-top: 0; }
2267
- .piloto .piloto-md ul,
2268
- .piloto .piloto-md ol { margin: 0.5rem 0 0.8rem; padding: 0; }
2269
- .piloto .piloto-md ol { counter-reset: piloto-list 0; }
2270
- .piloto .piloto-md li { position: relative; padding-left: 1.4rem; margin: 0 0 0.3rem 0; }
2271
- .piloto .piloto-md ul > li::before {
2272
- content: "";
2273
- position: absolute;
2274
- left: 0.3rem;
2275
- top: 0.62em;
2276
- width: 6px;
2277
- height: 6px;
2278
- background: var(--piloto-accent);
2279
- border-radius: 1px;
2280
- }
2281
- .piloto .piloto-md ol > li { counter-increment: piloto-list 1; }
2282
- .piloto .piloto-md ol > li::before { content: counter(piloto-list) "."; position: absolute; left: 0; color: var(--piloto-text-3); font-weight: 650; font-variant-numeric: tabular-nums; }
2283
- .piloto .piloto-md strong { font-weight: 700; }
2284
- .piloto .piloto-md em { font-style: italic; }
2285
- .piloto .piloto-md a {
2286
- color: var(--piloto-text);
2287
- text-decoration: underline;
2288
- text-decoration-color: var(--piloto-accent);
2289
- text-decoration-thickness: 2px;
2290
- text-underline-offset: 3px;
2291
- }
2292
- .piloto .piloto-md a:hover { background: var(--piloto-accent-soft); }
2293
- .piloto .piloto-md :not(pre) > code { background: var(--piloto-surface-2); padding: 0.1rem 0.35rem; border-radius: 4px; font-size: 0.86em; font-family: var(--piloto-font-mono); }
2294
- .piloto .piloto-md pre { max-width: 100%; overflow-x: auto; font-family: var(--piloto-font-mono); font-size: 0.85em; }
2295
- .piloto .piloto-md blockquote { border-left: 3px solid var(--piloto-accent); padding-left: 0.85rem; color: var(--piloto-text-2); margin: 0.6rem 0; }
2296
- .piloto .piloto-md hr { border-top: var(--piloto-border-width) solid var(--piloto-border-2); margin: 1.2rem 0; }
2297
- .piloto .piloto-md table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-variant-numeric: tabular-nums; }
2298
- .piloto .piloto-md th { font-weight: 700; text-align: left; background: var(--piloto-surface); }
2299
- .piloto .piloto-md th,
2300
- .piloto .piloto-md td { border: var(--piloto-hairline) solid var(--piloto-border-2); padding: 0.4rem 0.7rem; }
2301
- .piloto .piloto-md img { max-width: 100%; height: auto; border-radius: 6px; }
2302
- .piloto .piloto-md [data-streamdown="code-block"],
2303
- .piloto .piloto-md [data-streamdown="table-wrapper"] {
2304
- margin: 0.8rem 0;
2305
- border: var(--piloto-border-width) solid var(--piloto-border-2) !important;
2306
- border-radius: calc(var(--piloto-radius-card) - 4px) !important;
2307
- box-shadow: none !important;
2308
- }
2309
2454
 
2310
- /* ── Movimiento: sólo lo que responde o dice «sigo vivo». Se apaga con reduce-motion. ── */
2311
- @keyframes piloto-chunk { from { opacity: 0; } }
2312
- @keyframes piloto-fade-up { from { opacity: 0; transform: translateY(4px); } }
2313
- @keyframes piloto-step-in { from { opacity: 0; transform: translateX(-6px); } }
2314
- @keyframes piloto-lamp { 0% { background: var(--piloto-accent); } 33%, 100% { background: var(--piloto-surface-2); } }
2315
- @keyframes piloto-blink { 50% { opacity: 0.35; } }
2316
- @keyframes piloto-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.5; } }
2317
- @keyframes piloto-pop { from { transform: scale(0); } }
2318
- @keyframes piloto-ellipsis { 0% { opacity: 0; } 20%, 80% { opacity: 1; } 100% { opacity: 0; } }
2319
2455
  @keyframes piloto-ticket-in {
2320
2456
  from { opacity: 0; transform: translate(6px, 6px); box-shadow: 0 0 0 var(--piloto-shadow-color); }
2321
2457
  }
@@ -2324,26 +2460,9 @@
2324
2460
  70% { opacity: 1; transform: translateY(-50%) rotate(-8deg) scale(0.94); }
2325
2461
  100% { opacity: 1; transform: translateY(-50%) rotate(-9deg) scale(1); }
2326
2462
  }
2327
- @keyframes piloto-claw-dip { 0%, 55%, 100% { transform: translateY(0); } 15%, 25% { transform: translateY(2.5px); } 40% { transform: translateY(0); } }
2328
- @keyframes piloto-claw-l { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(-16deg); } }
2329
- @keyframes piloto-claw-r { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(16deg); } }
2330
2463
 
2331
- .piloto .piloto-chunk-in { animation: piloto-chunk 400ms linear both; }
2332
- .piloto .piloto-fade-up { animation: piloto-fade-up 0.25s ease-out both; }
2333
- .piloto .piloto-pulse { animation: piloto-pulse 1.1s ease-in-out infinite; }
2334
- .piloto .piloto-pop { animation: piloto-pop 0.25s ease-out both; }
2335
- .piloto .piloto-ellipsis { animation: piloto-ellipsis 1.4s linear infinite; }
2336
-
2337
- /* La garra: baja, cierra, sube con el premio, suelta y descansa. */
2338
- .piloto .piloto-claw { overflow: visible; }
2339
- .piloto .piloto-claw-rig,
2340
- .piloto .piloto-claw-l,
2341
- .piloto .piloto-claw-r { transform-box: fill-box; }
2342
- .piloto .piloto-claw-l { transform-origin: 100% 0; }
2343
- .piloto .piloto-claw-r { transform-origin: 0 0; }
2344
- .piloto .piloto-claw .piloto-claw-rig { animation: piloto-claw-dip 2.4s ease-in-out infinite both; }
2345
- .piloto .piloto-claw .piloto-claw-l { animation: piloto-claw-l 2.4s ease-in-out infinite both; }
2346
- .piloto .piloto-claw .piloto-claw-r { animation: piloto-claw-r 2.4s ease-in-out infinite both; }
2464
+ @keyframes piloto-fade-up { from { opacity: 0; transform: translateY(4px); } }
2465
+ @keyframes piloto-blink { 50% { opacity: 0.35; } }
2347
2466
 
2348
2467
  @media (prefers-reduced-motion: reduce) {
2349
2468
  .piloto *,
@@ -2353,7 +2472,6 @@
2353
2472
  animation-iteration-count: 1 !important;
2354
2473
  transition-duration: 0.01ms !important;
2355
2474
  }
2356
- .piloto .piloto-typing-dot:first-child { background: var(--piloto-accent); }
2357
2475
  }
2358
2476
 
2359
2477
  /* Teléfono: el pase ocupa el ancho y sus botones también. */