ghostykit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,8 +958,11 @@
844
958
  .piloto .pb-4 {
845
959
  padding-bottom: calc(var(--spacing) * 4);
846
960
  }
847
- .piloto .pb-\[8vh\] {
848
- padding-bottom: 8vh;
961
+ .piloto .pb-\[10vh\] {
962
+ padding-bottom: 10vh;
963
+ }
964
+ .piloto .pl-2 {
965
+ padding-left: calc(var(--spacing) * 2);
849
966
  }
850
967
  .piloto .pl-2\.5 {
851
968
  padding-left: calc(var(--spacing) * 2.5);
@@ -863,7 +980,10 @@
863
980
  text-align: left;
864
981
  }
865
982
  .piloto .font-mono {
866
- font-family: var(--piloto-font-mono);
983
+ font-family: var(--font-mono);
984
+ }
985
+ .piloto .font-sans {
986
+ font-family: var(--font-sans);
867
987
  }
868
988
  .piloto .text-2xl {
869
989
  font-size: var(--text-2xl);
@@ -905,9 +1025,6 @@
905
1025
  .piloto .text-\[13px\] {
906
1026
  font-size: 13px;
907
1027
  }
908
- .piloto .text-\[15px\] {
909
- font-size: 15px;
910
- }
911
1028
  .piloto .leading-6 {
912
1029
  --tw-leading: calc(var(--spacing) * 6);
913
1030
  line-height: calc(var(--spacing) * 6);
@@ -924,6 +1041,10 @@
924
1041
  --tw-leading: var(--leading-tight);
925
1042
  line-height: var(--leading-tight);
926
1043
  }
1044
+ .piloto .font-extrabold {
1045
+ --tw-font-weight: var(--font-weight-extrabold);
1046
+ font-weight: var(--font-weight-extrabold);
1047
+ }
927
1048
  .piloto .font-medium {
928
1049
  --tw-font-weight: var(--font-weight-medium);
929
1050
  font-weight: var(--font-weight-medium);
@@ -932,6 +1053,10 @@
932
1053
  --tw-font-weight: var(--font-weight-semibold);
933
1054
  font-weight: var(--font-weight-semibold);
934
1055
  }
1056
+ .piloto .tracking-tight {
1057
+ --tw-tracking: var(--tracking-tight);
1058
+ letter-spacing: var(--tracking-tight);
1059
+ }
935
1060
  .piloto .break-words {
936
1061
  overflow-wrap: break-word;
937
1062
  }
@@ -950,20 +1075,29 @@
950
1075
  .piloto .whitespace-pre-wrap {
951
1076
  white-space: pre-wrap;
952
1077
  }
1078
+ .piloto .text-\(--piloto-user-text\) {
1079
+ color: var(--piloto-user-text);
1080
+ }
953
1081
  .piloto .text-\[var\(--sdm-c\,inherit\)\] {
954
1082
  color: var(--sdm-c,inherit);
955
1083
  }
956
- .piloto .text-brand-600 {
957
- 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);
958
1092
  }
959
1093
  .piloto .text-muted-foreground {
960
- color: var(--piloto-text-3);
1094
+ color: var(--color-muted-foreground);
961
1095
  }
962
1096
  .piloto .text-primary {
963
- color: var(--piloto-accent-strong);
1097
+ color: var(--color-primary);
964
1098
  }
965
1099
  .piloto .text-primary-foreground {
966
- color: var(--piloto-on-accent);
1100
+ color: var(--color-primary-foreground);
967
1101
  }
968
1102
  .piloto .text-red-600 {
969
1103
  color: var(--color-red-600);
@@ -975,25 +1109,31 @@
975
1109
  color: var(--color-red-800);
976
1110
  }
977
1111
  .piloto .text-text-danger {
978
- color: var(--piloto-danger);
1112
+ color: var(--color-text-danger);
1113
+ }
1114
+ .piloto .text-text-disabled {
1115
+ color: var(--color-text-disabled);
979
1116
  }
980
1117
  .piloto .text-text-info {
981
- color: var(--piloto-accent-strong);
1118
+ color: var(--color-text-info);
982
1119
  }
983
1120
  .piloto .text-text-inverse {
984
- color: var(--piloto-text-inverse);
1121
+ color: var(--color-text-inverse);
985
1122
  }
986
1123
  .piloto .text-text-primary {
987
- color: var(--piloto-text);
1124
+ color: var(--color-text-primary);
988
1125
  }
989
1126
  .piloto .text-text-secondary {
990
- color: var(--piloto-text-2);
1127
+ color: var(--color-text-secondary);
991
1128
  }
992
1129
  .piloto .text-text-success {
993
- color: var(--piloto-success);
1130
+ color: var(--color-text-success);
994
1131
  }
995
1132
  .piloto .text-text-tertiary {
996
- color: var(--piloto-text-3);
1133
+ color: var(--color-text-tertiary);
1134
+ }
1135
+ .piloto .text-white {
1136
+ color: var(--color-white);
997
1137
  }
998
1138
  .piloto .lowercase {
999
1139
  text-transform: lowercase;
@@ -1027,8 +1167,12 @@
1027
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));
1028
1168
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1029
1169
  }
1030
- .piloto .shadow-\(--piloto-shadow-card\) {
1031
- --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));
1032
1176
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1033
1177
  }
1034
1178
  .piloto .shadow-lg {
@@ -1039,6 +1183,13 @@
1039
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));
1040
1184
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1041
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
+ }
1042
1193
  .piloto .filter {
1043
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,);
1044
1195
  }
@@ -1072,6 +1223,11 @@
1072
1223
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1073
1224
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1074
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
+ }
1075
1231
  .piloto .transition-transform {
1076
1232
  transition-property: transform, translate, scale, rotate;
1077
1233
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1107,12 +1263,15 @@
1107
1263
  .piloto .\[counter-reset\:line\] {
1108
1264
  counter-reset: line;
1109
1265
  }
1266
+ .piloto .ring-inset {
1267
+ --tw-ring-inset: inset;
1268
+ }
1110
1269
  @media (hover: hover) {
1111
1270
  .piloto .group-hover\:block:is(:where(.group):hover *) {
1112
1271
  display: block;
1113
1272
  }
1114
1273
  .piloto .group-hover\:text-text-primary:is(:where(.group):hover *) {
1115
- color: var(--piloto-text);
1274
+ color: var(--color-text-primary);
1116
1275
  }
1117
1276
  .piloto .group-hover\:opacity-100:is(:where(.group):hover *) {
1118
1277
  opacity: 100%;
@@ -1122,7 +1281,7 @@
1122
1281
  }
1123
1282
  }
1124
1283
  .piloto .placeholder\:text-text-tertiary::placeholder {
1125
- color: var(--piloto-text-3);
1284
+ color: var(--color-text-tertiary);
1126
1285
  }
1127
1286
  .piloto .before\:mr-4::before {
1128
1287
  content: var(--tw-content);
@@ -1142,7 +1301,7 @@
1142
1301
  }
1143
1302
  .piloto .before\:font-mono::before {
1144
1303
  content: var(--tw-content);
1145
- font-family: var(--piloto-font-mono);
1304
+ font-family: var(--font-mono);
1146
1305
  }
1147
1306
  .piloto .before\:text-\[13px\]::before {
1148
1307
  content: var(--tw-content);
@@ -1150,9 +1309,9 @@
1150
1309
  }
1151
1310
  .piloto .before\:text-muted-foreground\/50::before {
1152
1311
  content: var(--tw-content);
1153
- color: var(--piloto-text-3);
1312
+ color: var(--color-muted-foreground);
1154
1313
  @supports (color: color-mix(in lab, red, red)) {
1155
- color: color-mix(in oklab, var(--piloto-text-3) 50%, transparent);
1314
+ color: color-mix(in oklab, var(--color-muted-foreground) 50%, transparent);
1156
1315
  }
1157
1316
  }
1158
1317
  .piloto .before\:content-\[counter\(line\)\]::before {
@@ -1168,49 +1327,85 @@
1168
1327
  content: var(--tw-content);
1169
1328
  counter-increment: line;
1170
1329
  }
1330
+ .piloto .focus-within\:border-brand-300:focus-within {
1331
+ border-color: var(--color-brand-300);
1332
+ }
1171
1333
  @media (hover: hover) {
1172
1334
  .piloto .hover\:border-border-primary:hover {
1173
- border-color: var(--piloto-border);
1335
+ border-color: var(--color-border-primary);
1174
1336
  }
1175
1337
  .piloto .hover\:border-brand-300:hover {
1176
- border-color: var(--piloto-accent-soft);
1338
+ border-color: var(--color-brand-300);
1177
1339
  }
1178
1340
  .piloto .hover\:border-text-tertiary:hover {
1179
- border-color: var(--piloto-text-3);
1341
+ border-color: var(--color-text-tertiary);
1180
1342
  }
1181
1343
  .piloto .hover\:bg-background:hover {
1182
- background-color: var(--piloto-bg);
1344
+ background-color: var(--color-background);
1183
1345
  }
1184
1346
  .piloto .hover\:bg-background-inverse:hover {
1185
- background-color: var(--piloto-inverse);
1347
+ background-color: var(--color-background-inverse);
1186
1348
  }
1187
1349
  .piloto .hover\:bg-background-secondary:hover {
1188
- 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
+ }
1189
1381
  }
1190
1382
  .piloto .hover\:bg-muted:hover {
1191
- background-color: var(--piloto-surface);
1383
+ background-color: var(--color-muted);
1192
1384
  }
1193
1385
  .piloto .hover\:bg-muted\/40:hover {
1194
- background-color: var(--piloto-surface);
1386
+ background-color: var(--color-muted);
1195
1387
  }
1196
1388
  @supports (color: color-mix(in lab, red, red)) {
1197
1389
  .piloto .hover\:bg-muted\/40:hover {
1198
- background-color: color-mix(in oklab, var(--piloto-surface) 40%, transparent);
1390
+ background-color: color-mix(in oklab, var(--color-muted) 40%, transparent);
1199
1391
  }
1200
1392
  }
1201
1393
  .piloto .hover\:bg-primary\/90:hover {
1202
- background-color: var(--piloto-accent-strong);
1394
+ background-color: var(--color-primary);
1203
1395
  }
1204
1396
  @supports (color: color-mix(in lab, red, red)) {
1205
1397
  .piloto .hover\:bg-primary\/90:hover {
1206
- background-color: color-mix(in oklab, var(--piloto-accent-strong) 90%, transparent);
1398
+ background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
1207
1399
  }
1208
1400
  }
1401
+ .piloto .hover\:text-dark:hover {
1402
+ color: var(--color-dark);
1403
+ }
1209
1404
  .piloto .hover\:text-foreground:hover {
1210
- color: var(--piloto-text);
1405
+ color: var(--color-foreground);
1211
1406
  }
1212
1407
  .piloto .hover\:text-text-primary:hover {
1213
- color: var(--piloto-text);
1408
+ color: var(--color-text-primary);
1214
1409
  }
1215
1410
  .piloto .hover\:underline:hover {
1216
1411
  text-decoration-line: underline;
@@ -1222,30 +1417,43 @@
1222
1417
  .piloto .focus-visible\:opacity-100:focus-visible {
1223
1418
  opacity: 100%;
1224
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
+ }
1225
1430
  .piloto .disabled\:cursor-not-allowed:disabled {
1226
1431
  cursor: not-allowed;
1227
1432
  }
1228
1433
  .piloto .disabled\:opacity-30:disabled {
1229
1434
  opacity: 30%;
1230
1435
  }
1436
+ .piloto .disabled\:opacity-40:disabled {
1437
+ opacity: 40%;
1438
+ }
1231
1439
  .piloto .disabled\:opacity-50:disabled {
1232
1440
  opacity: 50%;
1233
1441
  }
1234
1442
  @supports (backdrop-filter: var(--tw)) {
1235
1443
  .piloto .supports-\[backdrop-filter\]\:bg-background\/70 {
1236
- background-color: var(--piloto-bg);
1444
+ background-color: var(--color-background);
1237
1445
  }
1238
1446
  @supports (color: color-mix(in lab, red, red)) {
1239
1447
  .piloto .supports-\[backdrop-filter\]\:bg-background\/70 {
1240
- background-color: color-mix(in oklab, var(--piloto-bg) 70%, transparent);
1448
+ background-color: color-mix(in oklab, var(--color-background) 70%, transparent);
1241
1449
  }
1242
1450
  }
1243
1451
  .piloto .supports-\[backdrop-filter\]\:bg-sidebar\/70 {
1244
- background-color: var(--piloto-surface);
1452
+ background-color: var(--color-sidebar);
1245
1453
  }
1246
1454
  @supports (color: color-mix(in lab, red, red)) {
1247
1455
  .piloto .supports-\[backdrop-filter\]\:bg-sidebar\/70 {
1248
- background-color: color-mix(in oklab, var(--piloto-surface) 70%, transparent);
1456
+ background-color: color-mix(in oklab, var(--color-sidebar) 70%, transparent);
1249
1457
  }
1250
1458
  }
1251
1459
  .piloto .supports-\[backdrop-filter\]\:backdrop-blur {
@@ -1259,6 +1467,14 @@
1259
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,);
1260
1468
  }
1261
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
+ }
1262
1478
  @media (prefers-color-scheme: dark) {
1263
1479
  .piloto .dark\:bg-\[var\(--shiki-dark-bg\,var\(--sdm-bg\,inherit\)\)\] {
1264
1480
  background-color: var(--shiki-dark-bg,var(--sdm-bg,inherit));
@@ -1270,12 +1486,27 @@
1270
1486
  color: var(--shiki-dark,var(--sdm-c,inherit));
1271
1487
  }
1272
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
+ }
1273
1495
  .piloto .\[\&_svg\]\:h-auto svg {
1274
1496
  height: auto;
1275
1497
  }
1276
1498
  .piloto .\[\&_svg\]\:w-auto svg {
1277
1499
  width: auto;
1278
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
+ }
1279
1510
  .piloto .\[\&_thead\]\:sticky thead {
1280
1511
  position: sticky;
1281
1512
  }
@@ -1377,6 +1608,10 @@
1377
1608
  syntax: "*";
1378
1609
  inherits: false;
1379
1610
  }
1611
+ @property --tw-tracking {
1612
+ syntax: "*";
1613
+ inherits: false;
1614
+ }
1380
1615
  @property --tw-ordinal {
1381
1616
  syntax: "*";
1382
1617
  inherits: false;
@@ -1564,6 +1799,11 @@
1564
1799
  initial-value: "";
1565
1800
  inherits: false;
1566
1801
  }
1802
+ @property --tw-outline-style {
1803
+ syntax: "*";
1804
+ inherits: false;
1805
+ initial-value: solid;
1806
+ }
1567
1807
  @keyframes spin {
1568
1808
  to {
1569
1809
  transform: rotate(360deg);
@@ -1574,6 +1814,16 @@
1574
1814
  opacity: 0.5;
1575
1815
  }
1576
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
+ }
1577
1827
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1578
1828
  .piloto *, .piloto ::before, .piloto ::after, .piloto ::backdrop {
1579
1829
  --tw-translate-x: 0;
@@ -1590,6 +1840,7 @@
1590
1840
  --tw-border-style: solid;
1591
1841
  --tw-leading: initial;
1592
1842
  --tw-font-weight: initial;
1843
+ --tw-tracking: initial;
1593
1844
  --tw-ordinal: initial;
1594
1845
  --tw-slashed-zero: initial;
1595
1846
  --tw-numeric-figure: initial;
@@ -1634,6 +1885,7 @@
1634
1885
  --tw-duration: initial;
1635
1886
  --tw-ease: initial;
1636
1887
  --tw-content: "";
1888
+ --tw-outline-style: solid;
1637
1889
  }
1638
1890
  }
1639
1891
 
@@ -1641,140 +1893,140 @@
1641
1893
  /* ─────────────────────────────────────────────────────────────────────────────
1642
1894
  Piloto UI — la piel.
1643
1895
 
1644
- La idea: el agente es tu copiloto, y la cabina tiene su vocabulario. Tinta
1645
- sobre papel, contornos gruesos y sombras duras (nada de difuminados ni
1646
- degradados). Todo lo demás calla para que hable UNA pieza: el pase de
1647
- 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.
1648
1901
 
1649
- Todo color, radio, sombra y grosor es una variable `--piloto-*`. Tres pieles
1650
- 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
1651
1903
  oscuro (`data-theme="dark"`, o `auto` siguiendo al sistema).
1652
1904
  ───────────────────────────────────────────────────────────────────────────── */
1653
1905
 
1654
1906
  .piloto {
1655
- /* Tipografía. Las fuentes no se descargan solas: `ghostykit/fonts.css` las trae. */
1656
- --piloto-font: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1657
- --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;
1658
1910
  --piloto-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1659
- --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;
1660
1913
 
1661
- /* 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`). */
1662
1918
  --piloto-bg: #ffffff;
1663
- --piloto-surface: #f4f4fb;
1664
- --piloto-surface-2: #e7e7f2;
1919
+ --piloto-surface: #f6f6fa;
1920
+ --piloto-surface-2: #e9ebef;
1921
+ --piloto-surface-hover: #fafafd;
1665
1922
  --piloto-text: #191a20;
1666
- --piloto-text-2: #474956;
1667
- --piloto-text-3: #7d7f8c;
1923
+ --piloto-text-2: #4b5563;
1924
+ --piloto-text-3: #81838e;
1668
1925
  --piloto-text-disabled: #b6b6ba;
1669
1926
  --piloto-text-inverse: #ffffff;
1670
1927
  --piloto-inverse: #191a20;
1671
- --piloto-border: #191a20;
1672
- --piloto-border-2: #e3e3ec;
1673
- --piloto-accent: #8483e0;
1674
- --piloto-accent-strong: #6564cf;
1675
- --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;
1676
1934
  --piloto-on-accent: #ffffff;
1677
- --piloto-success: #3f9a62;
1678
- --piloto-success-soft: #c9ecd5;
1679
- --piloto-danger: #d64545;
1680
- --piloto-danger-soft: #fbd9d6;
1935
+ --piloto-success: #7fbe60;
1936
+ --piloto-danger: #ed695f;
1681
1937
  --piloto-warning: #ffd36e;
1682
1938
  --piloto-warning-ink: #191a20;
1683
- --piloto-focus: #6564cf;
1684
- --piloto-user-bubble: #dcdcfa;
1939
+ --piloto-focus: #8483e0;
1940
+ --piloto-user-bubble: #f0f0f4;
1685
1941
  --piloto-user-text: #191a20;
1686
- --piloto-shadow-color: #191a20;
1942
+ --piloto-composer-bg: #ffffff;
1687
1943
 
1688
- /* Forma. */
1689
- --piloto-radius-bubble: 14px;
1690
- --piloto-radius-card: 14px;
1691
- --piloto-radius-input: 18px;
1692
- --piloto-radius-button: 10px;
1693
- --piloto-border-width: 2px;
1694
- --piloto-hairline: 1px;
1695
- --piloto-shadow-card: 4px 4px 0 var(--piloto-shadow-color);
1696
- --piloto-shadow-input: 4px 4px 0 var(--piloto-shadow-color);
1697
- --piloto-shadow-hero: 6px 6px 0 var(--piloto-shadow-color);
1698
- --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;
1699
1955
 
1700
1956
  position: relative;
1701
1957
  display: flex;
1702
1958
  flex-direction: column;
1703
1959
  height: 100%;
1704
1960
  min-height: 0;
1961
+ min-width: 0;
1705
1962
  width: 100%;
1706
1963
  background: var(--piloto-bg);
1707
1964
  color: var(--piloto-text);
1708
1965
  font-family: var(--piloto-font);
1709
- font-size: var(--piloto-font-size);
1710
- line-height: 1.55;
1966
+ line-height: 1.5;
1711
1967
  -webkit-font-smoothing: antialiased;
1712
1968
  isolation: isolate;
1713
1969
  }
1714
1970
 
1715
- /* ── Ghosty, oscuro: la sombra dura se vuelve lavanda (negro sobre negro no se ve). ── */
1971
+ /* ── Ghosty, oscuro (los valores del widget oscuro de gs) ── */
1716
1972
  .piloto[data-theme="dark"] {
1717
- --piloto-bg: #15161c;
1718
- --piloto-surface: #1f2029;
1719
- --piloto-surface-2: #2b2c38;
1720
- --piloto-text: #eeeef4;
1721
- --piloto-text-2: #b9bac6;
1722
- --piloto-text-3: #858796;
1723
- --piloto-text-disabled: #575966;
1724
- --piloto-text-inverse: #15161c;
1725
- --piloto-inverse: #eeeef4;
1726
- --piloto-border: #eeeef4;
1727
- --piloto-border-2: #2b2c38;
1728
- --piloto-accent: #9998ef;
1729
- --piloto-accent-strong: #aeadf5;
1730
- --piloto-accent-soft: #33335a;
1731
- --piloto-on-accent: #15161c;
1732
- --piloto-success: #6fcf92;
1733
- --piloto-success-soft: #1d3a2a;
1734
- --piloto-danger: #ff7b72;
1735
- --piloto-danger-soft: #42201f;
1736
- --piloto-focus: #aeadf5;
1737
- --piloto-user-bubble: #33335a;
1738
- --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);
1739
1990
  --piloto-shadow-color: #8483e0;
1740
1991
  }
1741
1992
 
1742
- /* ── EasyBits: morado y ámbar, brutalista, nace oscuro. ── */
1993
+ /* ── EasyBits: morado y ámbar, contornos negros y sombras duras (brutalista). ── */
1743
1994
  .piloto[data-skin="easybits"] {
1744
- --piloto-font-display: "Big Shoulders Stencil Display", Impact, sans-serif;
1745
- --piloto-bg: #fffdf7;
1995
+ --piloto-rem: 16px;
1996
+ --piloto-font: "Satoshi", "Inter", ui-sans-serif, system-ui, sans-serif;
1997
+ --piloto-bg: #ffffff;
1746
1998
  --piloto-surface: #f6f1ff;
1747
1999
  --piloto-surface-2: #ece3ff;
2000
+ --piloto-surface-hover: #faf7ff;
1748
2001
  --piloto-text: #0b0b0f;
1749
2002
  --piloto-text-2: #3d3a48;
1750
2003
  --piloto-text-3: #75707f;
1751
- --piloto-text-inverse: #ffffff;
1752
2004
  --piloto-inverse: #0b0b0f;
1753
2005
  --piloto-border: #0b0b0f;
1754
2006
  --piloto-border-2: #e6e0f2;
2007
+ --piloto-accent-100: #f6f1ff;
2008
+ --piloto-accent-soft: #a78bfa;
1755
2009
  --piloto-accent: #7c3aed;
1756
2010
  --piloto-accent-strong: #6d28d9;
1757
- --piloto-accent-soft: #ede4ff;
1758
- --piloto-on-accent: #ffffff;
1759
2011
  --piloto-warning: #fbbf24;
1760
2012
  --piloto-warning-ink: #0b0b0f;
1761
2013
  --piloto-focus: #9870ed;
1762
- --piloto-user-bubble: #7c3aed;
1763
- --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;
1764
2022
  --piloto-shadow-color: #0b0b0f;
1765
- --piloto-radius-bubble: 4px;
1766
- --piloto-radius-card: 4px;
1767
- --piloto-radius-input: 6px;
1768
- --piloto-radius-button: 4px;
1769
- --piloto-border-width: 3px;
1770
- --piloto-shadow-card: 5px 5px 0 var(--piloto-shadow-color);
1771
- --piloto-shadow-input: 5px 5px 0 #7c3aed;
1772
- --piloto-shadow-hero: 7px 7px 0 #fbbf24;
2023
+ --piloto-shadow-hero: 6px 6px 0 #7c3aed;
1773
2024
  }
1774
2025
  .piloto[data-skin="easybits"][data-theme="dark"] {
1775
2026
  --piloto-bg: #0b0b0f;
1776
2027
  --piloto-surface: #16141f;
1777
2028
  --piloto-surface-2: #241f33;
2029
+ --piloto-surface-hover: #1c1928;
1778
2030
  --piloto-text: #f6f4fb;
1779
2031
  --piloto-text-2: #c5c0d3;
1780
2032
  --piloto-text-3: #8d879c;
@@ -1783,150 +2035,148 @@
1783
2035
  --piloto-inverse: #f6f4fb;
1784
2036
  --piloto-border: #f6f4fb;
1785
2037
  --piloto-border-2: #241f33;
2038
+ --piloto-accent-soft: #c4b5fd;
1786
2039
  --piloto-accent: #8b5cf6;
1787
2040
  --piloto-accent-strong: #a78bfa;
1788
- --piloto-accent-soft: #2a1d4d;
1789
- --piloto-on-accent: #ffffff;
1790
- --piloto-success: #4ade80;
1791
- --piloto-success-soft: #14321f;
1792
- --piloto-danger: #f87171;
1793
- --piloto-danger-soft: #3b1515;
1794
- --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;
1795
2045
  --piloto-shadow-color: #7c3aed;
1796
- --piloto-shadow-input: 5px 5px 0 #7c3aed;
1797
- --piloto-shadow-hero: 7px 7px 0 #fbbf24;
2046
+ --piloto-shadow-hero: 6px 6px 0 #fbbf24;
1798
2047
  }
1799
2048
 
1800
- /* ── 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. ── */
1801
2050
  .piloto[data-skin="neutral"] {
2051
+ --piloto-rem: 16px;
1802
2052
  --piloto-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1803
- --piloto-font-display: ui-sans-serif, system-ui, sans-serif;
1804
2053
  --piloto-bg: #ffffff;
1805
2054
  --piloto-surface: #f5f5f4;
1806
2055
  --piloto-surface-2: #e7e5e4;
2056
+ --piloto-surface-hover: #fafaf9;
1807
2057
  --piloto-text: #1c1917;
1808
2058
  --piloto-text-2: #44403c;
1809
2059
  --piloto-text-3: #78716c;
1810
2060
  --piloto-inverse: #1c1917;
1811
- --piloto-border: #1c1917;
1812
- --piloto-border-2: #e7e5e4;
2061
+ --piloto-border: #e7e5e4;
2062
+ --piloto-border-2: #f5f5f4;
2063
+ --piloto-accent-100: #fafaf9;
2064
+ --piloto-accent-soft: #a8a29e;
1813
2065
  --piloto-accent: #1c1917;
1814
2066
  --piloto-accent-strong: #1c1917;
1815
- --piloto-accent-soft: #e7e5e4;
1816
- --piloto-on-accent: #ffffff;
1817
2067
  --piloto-warning: #f5f5f4;
1818
- --piloto-warning-ink: #1c1917;
1819
2068
  --piloto-focus: #2563eb;
1820
2069
  --piloto-user-bubble: #f5f5f4;
1821
- --piloto-user-text: #1c1917;
1822
- --piloto-shadow-color: #d6d3d1;
1823
2070
  --piloto-radius-bubble: 10px;
1824
- --piloto-radius-card: 10px;
1825
- --piloto-radius-input: 12px;
2071
+ --piloto-radius-input: 14px;
2072
+ --piloto-radius-card: 12px;
1826
2073
  --piloto-radius-button: 8px;
1827
- --piloto-border-width: 1px;
1828
- --piloto-shadow-card: 0 0 0 transparent;
1829
- --piloto-shadow-input: 3px 3px 0 var(--piloto-shadow-color);
1830
- --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;
1831
2078
  }
1832
2079
  .piloto[data-skin="neutral"][data-theme="dark"] {
1833
2080
  --piloto-bg: #171615;
1834
2081
  --piloto-surface: #22201f;
1835
2082
  --piloto-surface-2: #2e2b29;
2083
+ --piloto-surface-hover: #1d1b1a;
1836
2084
  --piloto-text: #f5f5f4;
1837
2085
  --piloto-text-2: #d6d3d1;
1838
2086
  --piloto-text-3: #a8a29e;
1839
2087
  --piloto-text-disabled: #57534e;
1840
2088
  --piloto-text-inverse: #171615;
1841
2089
  --piloto-inverse: #f5f5f4;
1842
- --piloto-border: #a8a29e;
1843
- --piloto-border-2: #2e2b29;
2090
+ --piloto-border: #2e2b29;
2091
+ --piloto-border-2: #22201f;
1844
2092
  --piloto-accent: #f5f5f4;
1845
2093
  --piloto-accent-strong: #f5f5f4;
1846
- --piloto-accent-soft: #2e2b29;
1847
2094
  --piloto-on-accent: #171615;
1848
2095
  --piloto-warning: #22201f;
1849
2096
  --piloto-warning-ink: #f5f5f4;
1850
- --piloto-success: #86efac;
1851
- --piloto-success-soft: #1c3326;
1852
- --piloto-danger: #fca5a5;
1853
- --piloto-danger-soft: #3f1d1d;
1854
2097
  --piloto-user-bubble: #2e2b29;
1855
2098
  --piloto-user-text: #f5f5f4;
2099
+ --piloto-composer-bg: #171615;
1856
2100
  --piloto-shadow-color: #000000;
2101
+ --piloto-shadow-hero: 4px 4px 0 #000000;
1857
2102
  }
1858
2103
 
1859
- /* `theme="auto"`: el oscuro de cada piel, siguiendo al sistema. */
1860
2104
  @media (prefers-color-scheme: dark) {
1861
- .piloto[data-theme="auto"] {
1862
- --piloto-bg: #15161c;
1863
- --piloto-surface: #1f2029;
1864
- --piloto-surface-2: #2b2c38;
1865
- --piloto-text: #eeeef4;
1866
- --piloto-text-2: #b9bac6;
1867
- --piloto-text-3: #858796;
1868
- --piloto-text-disabled: #575966;
1869
- --piloto-text-inverse: #15161c;
1870
- --piloto-inverse: #eeeef4;
1871
- --piloto-border: #eeeef4;
1872
- --piloto-border-2: #2b2c38;
1873
- --piloto-accent: #9998ef;
1874
- --piloto-accent-strong: #aeadf5;
1875
- --piloto-accent-soft: #33335a;
1876
- --piloto-on-accent: #15161c;
1877
- --piloto-success: #6fcf92;
1878
- --piloto-success-soft: #1d3a2a;
1879
- --piloto-danger: #ff7b72;
1880
- --piloto-danger-soft: #42201f;
1881
- --piloto-focus: #aeadf5;
1882
- --piloto-user-bubble: #33335a;
1883
- --piloto-user-text: #eeeef4;
1884
- --piloto-shadow-color: #8483e0;
1885
- }
1886
- .piloto[data-skin="easybits"][data-theme="auto"] {
1887
- --piloto-bg: #0b0b0f;
1888
- --piloto-surface: #16141f;
1889
- --piloto-surface-2: #241f33;
1890
- --piloto-text: #f6f4fb;
1891
- --piloto-text-2: #c5c0d3;
1892
- --piloto-text-3: #8d879c;
1893
- --piloto-text-inverse: #0b0b0f;
1894
- --piloto-inverse: #f6f4fb;
1895
- --piloto-border: #f6f4fb;
1896
- --piloto-border-2: #241f33;
1897
- --piloto-accent: #8b5cf6;
1898
- --piloto-accent-strong: #a78bfa;
1899
- --piloto-accent-soft: #2a1d4d;
1900
- --piloto-success: #4ade80;
1901
- --piloto-success-soft: #14321f;
1902
- --piloto-danger: #f87171;
1903
- --piloto-danger-soft: #3b1515;
1904
- --piloto-shadow-color: #7c3aed;
1905
- }
1906
- .piloto[data-skin="neutral"][data-theme="auto"] {
1907
- --piloto-bg: #171615;
1908
- --piloto-surface: #22201f;
1909
- --piloto-surface-2: #2e2b29;
1910
- --piloto-text: #f5f5f4;
1911
- --piloto-text-2: #d6d3d1;
1912
- --piloto-text-3: #a8a29e;
1913
- --piloto-text-inverse: #171615;
1914
- --piloto-inverse: #f5f5f4;
1915
- --piloto-border: #a8a29e;
1916
- --piloto-border-2: #2e2b29;
1917
- --piloto-accent: #f5f5f4;
1918
- --piloto-accent-strong: #f5f5f4;
1919
- --piloto-accent-soft: #2e2b29;
1920
- --piloto-on-accent: #171615;
1921
- --piloto-warning: #22201f;
1922
- --piloto-warning-ink: #f5f5f4;
1923
- --piloto-user-bubble: #2e2b29;
1924
- --piloto-user-text: #f5f5f4;
1925
- --piloto-shadow-color: #000000;
1926
- }
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
+ }
1927
2172
  }
1928
2173
 
1929
- /* ── 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. */
1930
2180
  .piloto *,
1931
2181
  .piloto *::before,
1932
2182
  .piloto *::after {
@@ -1935,15 +2185,33 @@
1935
2185
  margin: 0;
1936
2186
  padding: 0;
1937
2187
  }
1938
- .piloto button,
1939
- .piloto input,
1940
2188
  .piloto textarea,
1941
- .piloto select {
2189
+ .piloto input,
2190
+ .piloto select,
2191
+ .piloto button {
2192
+ -webkit-appearance: none;
2193
+ appearance: none;
1942
2194
  font: inherit;
1943
2195
  color: inherit;
1944
- background: transparent;
1945
2196
  letter-spacing: inherit;
1946
- }
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; }
1947
2215
  .piloto button { cursor: pointer; }
1948
2216
  .piloto button:disabled { cursor: default; }
1949
2217
  .piloto ul,
@@ -1954,48 +2222,87 @@
1954
2222
  .piloto svg { display: inline-block; flex-shrink: 0; vertical-align: middle; }
1955
2223
  .piloto a { color: inherit; text-decoration: inherit; }
1956
2224
  .piloto summary { list-style: revert; }
1957
- .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; }
1958
2228
  .piloto [hidden] { display: none !important; }
1959
2229
 
1960
- /* ── El marco ─────────────────────────────────────────────────────────────── */
1961
- .piloto .piloto-column,
1962
- .piloto .piloto-dock { max-width: var(--piloto-max-width); }
1963
- .piloto .piloto-agent { max-width: min(100%, 68ch); }
1964
- .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); }
1965
2237
 
1966
- /* Tu mensaje: una pieza sólida de color, sin sombra (la sombra es de lo que se toca). */
1967
- .piloto .piloto-bubble-user {
1968
- background: var(--piloto-user-bubble);
1969
- color: var(--piloto-user-text);
1970
- border: var(--piloto-hairline) solid color-mix(in srgb, var(--piloto-border) 22%, transparent);
1971
- }
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
1972
2263
 
1973
- /* La caja de escribir: contorno grueso y sombra dura. Al enfocar, la sombra se corre: «listo». */
1974
- .piloto .piloto-composer {
1975
- background: var(--piloto-bg);
1976
- border: var(--piloto-border-width) solid var(--piloto-border);
1977
- box-shadow: var(--piloto-shadow-input);
1978
- transition: box-shadow 120ms ease-out, transform 120ms ease-out;
1979
- }
1980
- .piloto .piloto-composer:focus-within { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 var(--piloto-accent); }
1981
- .piloto[data-skin="neutral"] .piloto-composer:focus-within { transform: none; box-shadow: 0 0 0 3px var(--piloto-accent-soft); }
1982
- .piloto .piloto-textarea::placeholder { color: var(--piloto-text-3); }
1983
- /* El foco de la caja lo dice su sombra; el anillo va en los botones. */
1984
- .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; }
1985
2274
 
1986
- .piloto .piloto-send {
1987
- background: var(--piloto-surface-2);
1988
- color: var(--piloto-text-disabled);
1989
- border: var(--piloto-border-width) solid transparent;
1990
- }
1991
- .piloto .piloto-send[data-ready] {
1992
- background: var(--piloto-accent);
1993
- color: var(--piloto-on-accent);
1994
- 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);
1995
2285
  }
1996
- .piloto .piloto-send[data-ready]:hover { background: var(--piloto-accent-strong); }
1997
- .piloto .piloto-send[data-ready]:active { transform: translate(1px, 1px); }
1998
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 ─────────────────────────────────── */
1999
2306
  /* Botones con peso: presionarlos los hunde en su sombra. */
2000
2307
  .piloto .piloto-btn {
2001
2308
  display: inline-flex;
@@ -2005,7 +2312,7 @@
2005
2312
  min-height: 40px;
2006
2313
  padding: 0 1.1em;
2007
2314
  border-radius: var(--piloto-radius-button);
2008
- border: var(--piloto-border-width) solid var(--piloto-border);
2315
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2009
2316
  font-weight: 650;
2010
2317
  font-size: 0.94em;
2011
2318
  transition: transform 90ms ease-out, box-shadow 90ms ease-out, background-color 120ms;
@@ -2021,81 +2328,6 @@
2021
2328
  .piloto .piloto-btn-quiet { background: var(--piloto-bg); color: var(--piloto-text); }
2022
2329
  .piloto .piloto-btn-quiet:not(:disabled):hover { background: var(--piloto-surface); }
2023
2330
  .piloto .piloto-btn[aria-busy] { animation: piloto-blink 0.8s steps(2, jump-none) infinite; }
2024
- .piloto .piloto-primary { background: var(--piloto-accent); color: var(--piloto-on-accent); }
2025
- .piloto .piloto-secondary { background: var(--piloto-surface); color: var(--piloto-text); border: var(--piloto-hairline) solid var(--piloto-border-2); }
2026
-
2027
- /* Los pasos: en vivo, renglones sueltos; al cerrar el turno la misma vista se vuelve tarjeta. */
2028
- .piloto .piloto-steps {
2029
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2030
- background: var(--piloto-bg);
2031
- }
2032
- .piloto .piloto-steps:hover { border-color: var(--piloto-border); }
2033
- .piloto .piloto-steps[data-live] { border-color: transparent; background: transparent; }
2034
- .piloto .piloto-step-detail { color: var(--piloto-text-3); margin-left: 0.6em; }
2035
- .piloto .piloto-step { animation: piloto-step-in 220ms cubic-bezier(0.2, 0.9, 0.3, 1.3) both; }
2036
-
2037
- /* La narración: casillas palomeadas de una lista de verificación. */
2038
- .piloto .piloto-narration > li > span:first-child {
2039
- border: var(--piloto-hairline) solid var(--piloto-accent);
2040
- border-radius: 4px;
2041
- background: var(--piloto-accent-soft);
2042
- color: var(--piloto-accent-strong);
2043
- }
2044
-
2045
- /* Opciones de respuesta: botones de ancho completo con contorno. */
2046
- .piloto .piloto-option {
2047
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2048
- border-radius: var(--piloto-radius-button);
2049
- }
2050
- .piloto .piloto-option:hover { border-color: var(--piloto-border); background: var(--piloto-surface); }
2051
- .piloto .piloto-suggestion {
2052
- border: var(--piloto-border-width) solid var(--piloto-border-2);
2053
- }
2054
- .piloto .piloto-suggestion:hover { border-color: var(--piloto-border); color: var(--piloto-text); }
2055
-
2056
- .piloto .piloto-reference {
2057
- border: var(--piloto-hairline) solid var(--piloto-accent);
2058
- background: var(--piloto-accent-soft);
2059
- }
2060
-
2061
- .piloto .piloto-to-bottom { border: var(--piloto-border-width) solid var(--piloto-border); background: var(--piloto-bg); color: var(--piloto-text); }
2062
-
2063
- .piloto .piloto-menu { border: var(--piloto-border-width) solid var(--piloto-border); box-shadow: var(--piloto-shadow-card); }
2064
- .piloto .piloto-drop { background: color-mix(in srgb, var(--piloto-bg) 86%, transparent); }
2065
- .piloto .piloto-dialog { border: var(--piloto-border-width) solid var(--piloto-border); box-shadow: var(--piloto-shadow-hero); }
2066
- .piloto .piloto-avatar-default {
2067
- display: block;
2068
- width: 48px;
2069
- height: 48px;
2070
- border-radius: 50%;
2071
- background: var(--piloto-accent);
2072
- border: var(--piloto-border-width) solid var(--piloto-border);
2073
- box-shadow: 3px 3px 0 var(--piloto-shadow-color);
2074
- }
2075
- .piloto .piloto-welcome > div {
2076
- font-family: var(--piloto-font-display);
2077
- font-weight: 800;
2078
- font-size: clamp(30px, 5vw, 44px);
2079
- line-height: 1;
2080
- letter-spacing: 0.01em;
2081
- max-width: 18ch;
2082
- }
2083
- .piloto .piloto-wait-time { margin-left: 0.7em; color: var(--piloto-text-3); font-variant-numeric: tabular-nums; }
2084
- .piloto .piloto-system-note { border: var(--piloto-hairline) solid var(--piloto-border-2); }
2085
-
2086
- /* Pensando: tres luces de cabina que se encienden por turno, sin suavizado (steps). */
2087
- .piloto .piloto-typing { display: flex; gap: 5px; }
2088
- .piloto .piloto-typing-dot {
2089
- width: 9px;
2090
- height: 9px;
2091
- border-radius: 2px;
2092
- border: var(--piloto-hairline) solid var(--piloto-border);
2093
- background: var(--piloto-surface-2);
2094
- animation: piloto-lamp 1.2s steps(1, end) infinite;
2095
- }
2096
- .piloto .piloto-typing-dot:nth-child(2) { animation-delay: 0.4s; }
2097
- .piloto .piloto-typing-dot:nth-child(3) { animation-delay: 0.8s; }
2098
- .piloto .piloto-rec-dot { background: var(--piloto-danger); animation: piloto-blink 1s steps(2, jump-none) infinite; }
2099
2331
 
2100
2332
  /* ── El pase de permiso (la pieza héroe) ───────────────────────────────────── */
2101
2333
  .piloto .piloto-ticket {
@@ -2103,7 +2335,7 @@
2103
2335
  max-width: min(100%, 560px);
2104
2336
  background: var(--piloto-bg);
2105
2337
  color: var(--piloto-text);
2106
- border: var(--piloto-border-width) solid var(--piloto-border);
2338
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2107
2339
  border-radius: var(--piloto-radius-card);
2108
2340
  box-shadow: var(--piloto-shadow-hero);
2109
2341
  animation: piloto-ticket-in 340ms cubic-bezier(0.2, 0.9, 0.25, 1.25) both;
@@ -2117,7 +2349,7 @@
2117
2349
  height: 38px;
2118
2350
  flex-shrink: 0;
2119
2351
  border-radius: 50%;
2120
- border: var(--piloto-border-width) solid currentColor;
2352
+ border: var(--piloto-ticket-border) solid currentColor;
2121
2353
  background: var(--piloto-bg);
2122
2354
  color: var(--piloto-text);
2123
2355
  }
@@ -2128,7 +2360,7 @@
2128
2360
  margin-top: 6px;
2129
2361
  padding: 1px 7px;
2130
2362
  border-radius: 4px;
2131
- border: var(--piloto-hairline) solid currentColor;
2363
+ border: 1px solid currentColor;
2132
2364
  font-family: var(--piloto-font-mono);
2133
2365
  font-size: 0.78em;
2134
2366
  opacity: 0.85;
@@ -2137,7 +2369,7 @@
2137
2369
  .piloto .piloto-ticket-tear {
2138
2370
  position: relative;
2139
2371
  height: 0;
2140
- border-top: var(--piloto-border-width) dashed var(--piloto-border);
2372
+ border-top: var(--piloto-ticket-border) dashed var(--piloto-text);
2141
2373
  }
2142
2374
  .piloto .piloto-ticket-tear::before,
2143
2375
  .piloto .piloto-ticket-tear::after {
@@ -2148,7 +2380,7 @@
2148
2380
  height: 16px;
2149
2381
  border-radius: 50%;
2150
2382
  background: var(--piloto-bg);
2151
- border: var(--piloto-border-width) solid var(--piloto-border);
2383
+ border: var(--piloto-ticket-border) solid var(--piloto-text);
2152
2384
  }
2153
2385
  .piloto .piloto-ticket-tear::before { left: -10px; }
2154
2386
  .piloto .piloto-ticket-tear::after { right: -10px; }
@@ -2167,7 +2399,7 @@
2167
2399
  }
2168
2400
  .piloto .piloto-ticket[data-urgent] .piloto-ticket-clock { color: var(--piloto-danger); }
2169
2401
  /* La mecha: lo que queda, una barra sólida que se consume. */
2170
- .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); }
2171
2403
  .piloto .piloto-fuse > span {
2172
2404
  display: block;
2173
2405
  height: 100%;
@@ -2219,72 +2451,7 @@
2219
2451
  .piloto .piloto-decision strong { color: var(--piloto-text); font-weight: 650; }
2220
2452
  .piloto .piloto-decision-detail { color: var(--piloto-text-3); }
2221
2453
 
2222
- /* ── Markdown de las respuestas (Streamdown) ── */
2223
- .piloto .piloto-md { line-height: 1.62; color: var(--piloto-text); }
2224
- .piloto .piloto-md p { margin: 0 0 0.8rem 0; }
2225
- .piloto .piloto-md p:last-child { margin-bottom: 0; }
2226
- .piloto .piloto-md h1,
2227
- .piloto .piloto-md h2,
2228
- .piloto .piloto-md h3,
2229
- .piloto .piloto-md h4 { margin: 1.1rem 0 0.45rem 0; font-weight: 750; line-height: 1.25; text-wrap: balance; }
2230
- .piloto .piloto-md h1 { font-size: 1.4em; }
2231
- .piloto .piloto-md h2 { font-size: 1.22em; }
2232
- .piloto .piloto-md h3 { font-size: 1.08em; }
2233
- .piloto .piloto-md h1:first-child,
2234
- .piloto .piloto-md h2:first-child,
2235
- .piloto .piloto-md h3:first-child { margin-top: 0; }
2236
- .piloto .piloto-md ul,
2237
- .piloto .piloto-md ol { margin: 0.5rem 0 0.8rem; padding: 0; }
2238
- .piloto .piloto-md ol { counter-reset: piloto-list 0; }
2239
- .piloto .piloto-md li { position: relative; padding-left: 1.4rem; margin: 0 0 0.3rem 0; }
2240
- .piloto .piloto-md ul > li::before {
2241
- content: "";
2242
- position: absolute;
2243
- left: 0.3rem;
2244
- top: 0.62em;
2245
- width: 6px;
2246
- height: 6px;
2247
- background: var(--piloto-accent);
2248
- border-radius: 1px;
2249
- }
2250
- .piloto .piloto-md ol > li { counter-increment: piloto-list 1; }
2251
- .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; }
2252
- .piloto .piloto-md strong { font-weight: 700; }
2253
- .piloto .piloto-md em { font-style: italic; }
2254
- .piloto .piloto-md a {
2255
- color: var(--piloto-text);
2256
- text-decoration: underline;
2257
- text-decoration-color: var(--piloto-accent);
2258
- text-decoration-thickness: 2px;
2259
- text-underline-offset: 3px;
2260
- }
2261
- .piloto .piloto-md a:hover { background: var(--piloto-accent-soft); }
2262
- .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); }
2263
- .piloto .piloto-md pre { max-width: 100%; overflow-x: auto; font-family: var(--piloto-font-mono); font-size: 0.85em; }
2264
- .piloto .piloto-md blockquote { border-left: 3px solid var(--piloto-accent); padding-left: 0.85rem; color: var(--piloto-text-2); margin: 0.6rem 0; }
2265
- .piloto .piloto-md hr { border-top: var(--piloto-border-width) solid var(--piloto-border-2); margin: 1.2rem 0; }
2266
- .piloto .piloto-md table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-variant-numeric: tabular-nums; }
2267
- .piloto .piloto-md th { font-weight: 700; text-align: left; background: var(--piloto-surface); }
2268
- .piloto .piloto-md th,
2269
- .piloto .piloto-md td { border: var(--piloto-hairline) solid var(--piloto-border-2); padding: 0.4rem 0.7rem; }
2270
- .piloto .piloto-md img { max-width: 100%; height: auto; border-radius: 6px; }
2271
- .piloto .piloto-md [data-streamdown="code-block"],
2272
- .piloto .piloto-md [data-streamdown="table-wrapper"] {
2273
- margin: 0.8rem 0;
2274
- border: var(--piloto-border-width) solid var(--piloto-border-2) !important;
2275
- border-radius: calc(var(--piloto-radius-card) - 4px) !important;
2276
- box-shadow: none !important;
2277
- }
2278
2454
 
2279
- /* ── Movimiento: sólo lo que responde o dice «sigo vivo». Se apaga con reduce-motion. ── */
2280
- @keyframes piloto-chunk { from { opacity: 0; } }
2281
- @keyframes piloto-fade-up { from { opacity: 0; transform: translateY(4px); } }
2282
- @keyframes piloto-step-in { from { opacity: 0; transform: translateX(-6px); } }
2283
- @keyframes piloto-lamp { 0% { background: var(--piloto-accent); } 33%, 100% { background: var(--piloto-surface-2); } }
2284
- @keyframes piloto-blink { 50% { opacity: 0.35; } }
2285
- @keyframes piloto-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.5; } }
2286
- @keyframes piloto-pop { from { transform: scale(0); } }
2287
- @keyframes piloto-ellipsis { 0% { opacity: 0; } 20%, 80% { opacity: 1; } 100% { opacity: 0; } }
2288
2455
  @keyframes piloto-ticket-in {
2289
2456
  from { opacity: 0; transform: translate(6px, 6px); box-shadow: 0 0 0 var(--piloto-shadow-color); }
2290
2457
  }
@@ -2293,26 +2460,9 @@
2293
2460
  70% { opacity: 1; transform: translateY(-50%) rotate(-8deg) scale(0.94); }
2294
2461
  100% { opacity: 1; transform: translateY(-50%) rotate(-9deg) scale(1); }
2295
2462
  }
2296
- @keyframes piloto-claw-dip { 0%, 55%, 100% { transform: translateY(0); } 15%, 25% { transform: translateY(2.5px); } 40% { transform: translateY(0); } }
2297
- @keyframes piloto-claw-l { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(-16deg); } }
2298
- @keyframes piloto-claw-r { 0%, 15%, 50%, 100% { transform: rotate(0); } 25%, 40% { transform: rotate(16deg); } }
2299
2463
 
2300
- .piloto .piloto-chunk-in { animation: piloto-chunk 400ms linear both; }
2301
- .piloto .piloto-fade-up { animation: piloto-fade-up 0.25s ease-out both; }
2302
- .piloto .piloto-pulse { animation: piloto-pulse 1.1s ease-in-out infinite; }
2303
- .piloto .piloto-pop { animation: piloto-pop 0.25s ease-out both; }
2304
- .piloto .piloto-ellipsis { animation: piloto-ellipsis 1.4s linear infinite; }
2305
-
2306
- /* La garra: baja, cierra, sube con el premio, suelta y descansa. */
2307
- .piloto .piloto-claw { overflow: visible; }
2308
- .piloto .piloto-claw-rig,
2309
- .piloto .piloto-claw-l,
2310
- .piloto .piloto-claw-r { transform-box: fill-box; }
2311
- .piloto .piloto-claw-l { transform-origin: 100% 0; }
2312
- .piloto .piloto-claw-r { transform-origin: 0 0; }
2313
- .piloto .piloto-claw .piloto-claw-rig { animation: piloto-claw-dip 2.4s ease-in-out infinite both; }
2314
- .piloto .piloto-claw .piloto-claw-l { animation: piloto-claw-l 2.4s ease-in-out infinite both; }
2315
- .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; } }
2316
2466
 
2317
2467
  @media (prefers-reduced-motion: reduce) {
2318
2468
  .piloto *,
@@ -2322,7 +2472,6 @@
2322
2472
  animation-iteration-count: 1 !important;
2323
2473
  transition-duration: 0.01ms !important;
2324
2474
  }
2325
- .piloto .piloto-typing-dot:first-child { background: var(--piloto-accent); }
2326
2475
  }
2327
2476
 
2328
2477
  /* Teléfono: el pase ocupa el ancho y sus botones también. */