@planningcenter/topbar 12.3.0 → 12.4.0-qa-958.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/topbar.css CHANGED
@@ -504,30 +504,502 @@ Caused by products overriding .topbar-wrap’s z-index.
504
504
  max-height: calc(100% - var(--topbar-height) - var(--t-spacing-3));
505
505
  }
506
506
 
507
+ .searchButton-fYa5- {
508
+ display: inline-flex;
509
+ align-items: center;
510
+ justify-content: center;
511
+ flex-shrink: 0;
512
+ width: var(--topbar-nav-link-height);
513
+ height: var(--topbar-nav-link-height);
514
+ padding: 0;
515
+ margin-right: var(--t-spacing-half);
516
+ background-color: var(--topbar-nav-link-background-color-active);
517
+ color: var(--topbar-nav-link-font-color);
518
+ border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);
519
+ border-radius: var(--topbar-nav-link-border-radius);
520
+ cursor: pointer;
521
+ transition: var(--topbar-nav-link-transition);
522
+ }
523
+
524
+ /* Sits bare in the small topbar's header, the same target as the avatar's. */
525
+ .searchButton-fYa5-.mobile-ksZyA {
526
+ width: var(--t-container-size-xl);
527
+ height: var(--t-container-size-xl);
528
+ margin-right: 0;
529
+ background-color: transparent;
530
+ color: var(--t-text-color-headline);
531
+ border: 0;
532
+ border-radius: 0;
533
+ }
534
+
535
+ .modal-NR3TO {
536
+ height: 640px;
537
+ max-height: calc(100vh - var(--t-spacing-3) * 2);
538
+ /* Keeps the results panel's background inside the rounded corners. */
539
+ overflow: hidden;
540
+ border: var(--t-border-width) solid var(--t-border-color);
541
+ }
542
+
543
+ /*
544
+ * On a phone, fill the screen rather than float at a desktop height, with
545
+ * tighter padding inside. The search field, product select and results panel
546
+ * read the padding from --product-search-padding. Result rows and headings
547
+ * pad themselves by --product-search-row-inset, narrower here so the
548
+ * highlight sits closer to the content, and the panel's sides take that off
549
+ * to line their images and text up with the search icon.
550
+ */
551
+ .modal-NR3TO.mobile-4e5rC {
552
+ --product-search-padding: var(--t-spacing-2);
553
+ --product-search-row-inset: var(--t-spacing-1);
554
+ --product-search-results-inset: calc(
555
+ var(--product-search-padding) - var(--product-search-row-inset)
556
+ );
557
+
558
+ height: calc(100vh - var(--t-spacing-3) * 2);
559
+ padding-block-start: var(--product-search-padding);
560
+ }
561
+
562
+ /* Lines the title and close button up with the search field below. */
563
+ .header-c3SLe {
564
+ padding-inline: var(--product-search-padding, var(--t-spacing-3));
565
+ margin-block-end: var(--t-spacing-1);
566
+ }
567
+
568
+ /* Fits mobile Safari's visible viewport, between its toolbars. */
569
+ @supports (height: 100dvh) {
570
+ .modal-NR3TO {
571
+ max-height: calc(100dvh - var(--t-spacing-3) * 2);
572
+ }
573
+
574
+ .modal-NR3TO.mobile-4e5rC {
575
+ height: calc(100dvh - var(--t-spacing-3) * 2);
576
+ }
577
+ }
578
+
579
+ /*
580
+ * Tapestry only takes a class for the dialog, so on a phone its overlay and
581
+ * frame are reached through it: both narrow their margins to 8px, and the
582
+ * frame fills the dynamic viewport, which follows Safari's toolbars as they
583
+ * show and hide. The dialog stretches to fill the frame.
584
+ *
585
+ * Mobile Safari draws the keyboard over the page without shrinking 100dvh,
586
+ * so while it's open the frame sizes to the visible viewport instead. A
587
+ * bottom margin the keyboard's height keeps the overlay's centering above it.
588
+ */
589
+ @supports selector(:has(*)) {
590
+ .tds-modal-overlay:has(.mobile-4e5rC) {
591
+ --tds-modal-min-margin-block: var(--t-spacing-1);
592
+ }
593
+
594
+ .tds-modal-frame:has(> .mobile-4e5rC) {
595
+ --tds-modal-edge-margin-inline: var(--t-spacing-1);
596
+
597
+ height: calc(100vh - var(--t-spacing-1) * 2);
598
+ height: calc(
599
+ var(--visual-viewport-height, 100dvh) - var(--t-spacing-1) * 2
600
+ );
601
+ margin-block-end: calc(100dvh - var(--visual-viewport-height, 100dvh));
602
+ }
603
+
604
+ .modal-NR3TO.mobile-4e5rC {
605
+ height: auto;
606
+ max-height: none;
607
+ }
608
+ }
609
+
507
610
  .visuallyHidden-C28ju {
508
611
  position: absolute;
509
612
  width: 1px;
510
613
  height: 1px;
511
614
  overflow: hidden;
512
- clip: rect(0 0 0 0);
615
+ clip-path: inset(50%);
513
616
  white-space: nowrap;
514
617
  }
515
618
 
516
- /* Placeholder until design lands: just enough to tell which product is selected. */
517
- .tab-lQLDx[aria-selected="true"] {
518
- background-color: var(--t-fill-color-interaction);
519
- color: var(--t-text-color-inverted);
619
+ /* Scrolls the results under the product picker, tabs or dropdown. */
620
+ @property --scroll-shadow-offset {
621
+ syntax: "<length>";
622
+ inherits: false;
623
+ initial-value: 0px;
624
+ }
625
+
626
+ @keyframes scroll-shadow-slide-RlHcf {
627
+ to {
628
+ --scroll-shadow-offset: 12px;
629
+ }
630
+ }
631
+
632
+ .panel-HlF7S {
633
+ --scroll-shadow-cover: var(--t-surface-color-card);
634
+ --scroll-shadow: color-mix(
635
+ in srgb,
636
+ var(--t-fill-color-transparency-dark-static-010) 55%,
637
+ transparent
638
+ );
639
+
640
+ flex: 1;
641
+ min-height: 0;
642
+ padding: var(--product-search-padding, var(--t-spacing-3))
643
+ var(
644
+ --product-search-results-inset,
645
+ var(--product-search-padding, var(--t-spacing-3))
646
+ );
647
+ /* Lets results lay out by the panel's width rather than the viewport's. */
648
+ container-type: inline-size;
649
+ scroll-padding-block: var(--product-search-padding, var(--t-spacing-3));
650
+ overflow-y: auto;
651
+ overscroll-behavior: contain;
652
+ background:
653
+ linear-gradient(transparent, var(--scroll-shadow-cover) 28px) bottom /
654
+ 100% 48px no-repeat local,
655
+ radial-gradient(
656
+ farthest-side at 50% 100%,
657
+ var(--scroll-shadow),
658
+ transparent
659
+ )
660
+ left 0 bottom calc(var(--scroll-shadow-offset) * -1) / 100% 12px
661
+ no-repeat scroll;
662
+ animation: scroll-shadow-slide-RlHcf linear both;
663
+ animation-range: calc(100% - 48px) 100%;
664
+ animation-timeline: scroll(self);
665
+ }
666
+
667
+ .container-YDdM1 {
668
+ display: flex;
669
+ flex-shrink: 0;
670
+ flex-wrap: wrap;
671
+ gap: var(--t-spacing-1);
672
+ padding: var(--t-spacing-1) var(--t-spacing-1-half);
673
+ margin: 0;
674
+ list-style: none;
675
+ border-top: var(--t-border-width) solid var(--t-border-color);
676
+ }
677
+
678
+ .hint-017Rd {
679
+ display: flex;
680
+ flex-shrink: 0;
681
+ align-items: center;
682
+ gap: var(--t-spacing-1);
683
+ padding: var(--t-spacing-half) var(--t-spacing-1);
684
+ border-radius: var(--t-border-radius-lg);
685
+ transition: background-color var(--t-duration-500) var(--t-ease-out);
686
+ color: var(--t-text-color-placeholder);
687
+ font-size: var(--t-font-size-sm);
688
+ }
689
+
690
+ .keycap-ENJM2 {
691
+ --keycap-size: 24px;
692
+ --keycap-padding: 4px;
693
+
694
+ display: inline-flex;
695
+ align-items: center;
696
+ justify-content: center;
697
+ width: var(--keycap-size);
698
+ height: var(--keycap-size);
699
+ padding: var(--keycap-padding);
700
+ background-color: var(--t-fill-color-neutral-070);
701
+ color: var(--t-text-color-placeholder);
702
+ font-family: inherit;
703
+ font-size: calc(var(--keycap-size) - var(--keycap-padding) * 2);
520
704
  font-weight: var(--t-font-weight-semibold);
705
+ border-radius: var(--t-border-radius-md);
706
+ }
707
+
708
+ .keycap-ENJM2 svg {
709
+ flex-shrink: 0;
710
+ width: 1.4em;
711
+ width: 2cap;
712
+ height: 1.4em;
713
+ height: 2cap;
714
+ stroke-width: 2;
715
+ }
716
+
717
+ .copied-DUFa1 {
718
+ background-color: var(--t-fill-color-status-success-ghost);
719
+ transition: none;
521
720
  }
522
721
 
523
- /* Placeholder until design lands: just enough to see which result is highlighted. */
524
- .result-WCnxr {
722
+ .icon-XKLvN {
723
+ position: relative;
525
724
  display: block;
725
+ flex-shrink: 0;
526
726
  }
527
727
 
528
- .result-WCnxr[aria-selected="true"] {
529
- background-color: var(--t-fill-color-interaction);
530
- color: var(--t-text-color-inverted);
728
+ .icon-XKLvN::before {
729
+ content: "";
730
+ position: absolute;
731
+ inset: 12.5%;
732
+ background-color: hsl(0, 0%, 100%);
733
+ border-radius: 20%;
734
+ }
735
+
736
+ .squircle-JCHr6 {
737
+ position: absolute;
738
+ inset: 0;
739
+ mask-size: 100%;
740
+ }
741
+
742
+ .picker-iuzzj {
743
+ flex-shrink: 0;
744
+ padding: 0 var(--product-search-padding, var(--t-spacing-3)) var(--t-spacing-2);
745
+ }
746
+
747
+ .option--7LXg {
748
+ display: inline-flex;
749
+ align-items: center;
750
+ gap: var(--t-spacing-1);
751
+ }
752
+
753
+ .tablist-7ASvc {
754
+ display: flex;
755
+ flex-shrink: 0;
756
+ gap: var(--t-spacing-half);
757
+ padding-inline: var(--t-spacing-2);
758
+ padding-top: var(--t-spacing-2);
759
+ border-bottom: var(--t-border-width) solid var(--t-border-color);
760
+ }
761
+
762
+ .tab-dz8ki {
763
+ position: relative;
764
+ display: inline-flex;
765
+ align-items: center;
766
+ justify-content: center;
767
+ gap: var(--t-spacing-1);
768
+ min-width: 48px;
769
+ height: 40px;
770
+ padding: 0 var(--t-spacing-2);
771
+ margin-bottom: calc(var(--t-border-width) * -1);
772
+ background-color: var(--t-fill-color-neutral-070);
773
+ color: var(--t-text-color-secondary);
774
+ font-size: var(--t-font-size-md);
775
+ border: var(--t-border-width) solid transparent;
776
+ border-bottom-color: var(--t-border-color);
777
+ border-radius: var(--t-border-radius-md) var(--t-border-radius-md) 0 0;
778
+ cursor: pointer;
779
+ }
780
+
781
+ .tab-dz8ki:hover {
782
+ background-color: var(--t-fill-color-neutral-060);
783
+ }
784
+
785
+ .tab-dz8ki:focus-visible {
786
+ z-index: 1;
787
+ outline: none;
788
+ }
789
+
790
+ .tab-dz8ki:focus-visible::after {
791
+ content: "";
792
+ position: absolute;
793
+ /* Measured from inside the tab's border, so step out past it too. */
794
+ inset: calc((var(--t-focus-ring-offset) + var(--t-border-width)) * -1);
795
+ border-radius: calc(var(--t-border-radius-md) + var(--t-focus-ring-offset));
796
+ box-shadow: 0 0 0 var(--t-focus-ring-width) var(--t-focus-ring-color);
797
+ pointer-events: none;
798
+ }
799
+
800
+ .tab-dz8ki[aria-selected="true"] {
801
+ background-color: var(--t-surface-color-card);
802
+ border-color: var(--t-border-color);
803
+ border-bottom-color: var(--t-surface-color-card);
804
+ cursor: default;
805
+ }
806
+
807
+ .result-Thq2C {
808
+ display: flex;
809
+ align-items: center;
810
+ gap: 12px;
811
+ min-height: 56px;
812
+ padding: var(--t-spacing-1) var(--product-search-row-inset, 12px);
813
+ color: var(--t-text-color);
814
+ text-decoration: none;
815
+ border-radius: var(--t-border-radius-lg);
816
+ /* Taps get the highlight below instead of the browser's grey flash. */
817
+ -webkit-tap-highlight-color: transparent;
818
+ }
819
+
820
+ .result-Thq2C:hover,
821
+ .result-Thq2C:focus,
822
+ .result-Thq2C:active,
823
+ .result-Thq2C:visited {
824
+ color: var(--t-text-color);
825
+ text-decoration: none;
826
+ }
827
+
828
+ .result-Thq2C[aria-selected="true"],
829
+ .result-Thq2C:active {
830
+ background-color: var(--t-fill-color-button-interaction-ghost-hover);
831
+ }
832
+
833
+ .title-KYUEn {
834
+ flex-shrink: 0;
835
+ max-width: 60%;
836
+ overflow: hidden;
837
+ font-size: var(--t-font-size-lg);
838
+ text-overflow: ellipsis;
839
+ white-space: nowrap;
840
+ }
841
+
842
+ .subtitle-R2haq {
843
+ min-width: 0;
844
+ overflow: hidden;
845
+ color: var(--t-text-color-secondary);
846
+ font-size: var(--t-font-size-sm);
847
+ text-overflow: ellipsis;
848
+ white-space: nowrap;
849
+ }
850
+
851
+ .image-KVDor {
852
+ --result-image-size: 32px;
853
+
854
+ position: relative;
855
+ flex-shrink: 0;
856
+ width: var(--result-image-size);
857
+ height: var(--result-image-size);
858
+ }
859
+
860
+ .avatar-6Gh62,
861
+ .photo-FZR3Q {
862
+ display: block;
863
+ width: 100%;
864
+ height: 100%;
865
+ object-fit: cover;
866
+ }
867
+
868
+ .avatar-6Gh62 {
869
+ border-radius: 50%;
870
+ }
871
+
872
+ .photo-FZR3Q {
873
+ border-radius: var(--t-border-radius-md);
874
+ }
875
+
876
+ .badge-trUKt {
877
+ position: absolute;
878
+ right: -4px;
879
+ bottom: -4px;
880
+ filter: drop-shadow(0 1px 1px var(--t-fill-color-transparency-dark-static-010));
881
+ }
882
+
883
+
884
+ /*
885
+ * Too narrow for the title and meta to share a line, as on a phone, so they
886
+ * stack beside a smaller image.
887
+ */
888
+ @container (max-width: 480px) {
889
+ .result-Thq2C {
890
+ display: grid;
891
+ grid-template-columns: auto minmax(0, 1fr);
892
+ align-content: center;
893
+ gap: 0 12px;
894
+ }
895
+
896
+ .image-KVDor {
897
+ --result-image-size: 28px;
898
+
899
+ grid-row: span 2;
900
+ align-self: center;
901
+ }
902
+
903
+ .title-KYUEn {
904
+ max-width: none;
905
+ }
906
+ }
907
+
908
+ .message-1-PP- {
909
+ margin: 0;
910
+ padding-block: var(--t-spacing-5);
911
+ color: var(--t-text-color-secondary);
912
+ text-align: center;
913
+ }
914
+
915
+ .heading-LioUF {
916
+ padding: var(--t-spacing-1) var(--product-search-row-inset, 12px);
917
+ color: var(--t-text-color-secondary);
918
+ font-size: var(--t-font-size-sm);
919
+ }
920
+
921
+ .heading-LioUF:not(:first-child) {
922
+ margin-top: var(--t-spacing-2);
923
+ }
924
+
925
+ .header-sXEyG {
926
+ display: flex;
927
+ flex-shrink: 0;
928
+ align-items: center;
929
+ gap: var(--t-spacing-1);
930
+ padding: 0 var(--product-search-padding, var(--t-spacing-3)) var(--t-spacing-2);
931
+ cursor: text;
932
+ }
933
+
934
+ /*
935
+ * A field of its own, styled like the product select below it, with the
936
+ * search icon inset to line up with the select's logomark. The icon is 4px
937
+ * wider than the logomark, so a narrower gap lines the text up too.
938
+ */
939
+ .bordered-mWkCy {
940
+ gap: var(--t-spacing-half);
941
+ min-height: var(--t-container-size-lg);
942
+ padding: 0 var(--t-spacing-1);
943
+ margin: 0 var(--product-search-padding, var(--t-spacing-3)) var(--t-spacing-1);
944
+ background-color: var(--t-form-background-color);
945
+ border: var(--t-form-border-width) solid var(--t-form-border-color);
946
+ border-radius: var(--t-form-border-radius);
947
+ transition: border-color var(--t-duration-300) var(--t-ease-in-out);
948
+ }
949
+
950
+ .bordered-mWkCy:focus-within {
951
+ border-color: var(--t-form-border-color-hover);
952
+ }
953
+
954
+ .bordered-mWkCy .input-YQkTC {
955
+ font-size: var(--t-font-size-lg);
956
+ }
957
+
958
+ .input-YQkTC {
959
+ flex: 1;
960
+ min-width: 0;
961
+ padding: 0;
962
+ background: none;
963
+ color: var(--t-text-color);
964
+ font: inherit;
965
+ font-size: var(--t-font-size-xl);
966
+ border: 0;
967
+ outline: none;
968
+ }
969
+
970
+ .input-YQkTC::placeholder {
971
+ color: var(--t-text-color-placeholder);
972
+ }
973
+
974
+ .input-YQkTC::-webkit-search-cancel-button {
975
+ appearance: none;
976
+ }
977
+
978
+ .clearButton-9Yh9w {
979
+ --clear-button-size: 20px;
980
+
981
+ display: inline-flex;
982
+ align-items: center;
983
+ justify-content: center;
984
+ flex-shrink: 0;
985
+ width: var(--clear-button-size);
986
+ height: var(--clear-button-size);
987
+ padding: 0;
988
+ background: var(--t-fill-color-neutral-030);
989
+ color: #fff;
990
+ border: 0;
991
+ border-radius: var(--t-border-radius-round);
992
+ cursor: pointer;
993
+ transition: var(--topbar-slight-transition-background);
994
+ }
995
+
996
+ .clearButton-9Yh9w:hover {
997
+ background-color: var(--t-fill-color-neutral-040);
998
+ }
999
+
1000
+ .clearButton-9Yh9w svg {
1001
+ height: calc(var(--clear-button-size) * 0.65);
1002
+ width: calc(var(--clear-button-size) * 0.65);
531
1003
  }
532
1004
 
533
1005
  .route--8BWe {
@@ -576,6 +1048,9 @@ Caused by products overriding .topbar-wrap’s z-index.
576
1048
  }
577
1049
 
578
1050
  .trigger-wrap-Jd-KR {
1051
+ /* Lets the trigger shrink, truncating the org name, when the nav runs out
1052
+ of room */
1053
+ min-width: 0;
579
1054
  margin-left: var(--t-spacing-1);
580
1055
  position: relative;
581
1056
  white-space: nowrap;
@@ -591,6 +1066,7 @@ Caused by products overriding .topbar-wrap’s z-index.
591
1066
  border: var(--t-border-width) solid var(--topbar-nav-link-border-color-active);
592
1067
  border-radius: var(--topbar-nav-link-border-radius);
593
1068
  min-width: var(--t-container-size-md);
1069
+ max-width: 100%;
594
1070
  transition: var(--topbar-nav-link-transition);
595
1071
  display: flex;
596
1072
  align-items: center;
@@ -601,6 +1077,7 @@ Caused by products overriding .topbar-wrap’s z-index.
601
1077
  }
602
1078
 
603
1079
  .trigger-WgRT5 svg {
1080
+ flex-shrink: 0;
604
1081
  transition: transform var(--topbar-slight-transition);
605
1082
  /* Negative margin ensures button is a circle when orgname isn’t visible */
606
1083
  margin-left: calc(var(--t-spacing-1) * -1);
@@ -915,13 +1392,35 @@ Caused by products overriding .topbar-wrap’s z-index.
915
1392
  background-color: var(--t-fill-color-button-interaction-outline-active);
916
1393
  }
917
1394
 
1395
+ /*
1396
+ * Spaces the header's buttons on the right. Each is the same touch target;
1397
+ * the padding keeps the avatar, and the title's width, where they were
1398
+ * before search joined it.
1399
+ */
1400
+ .actions-INQ7- {
1401
+ display: flex;
1402
+ flex-shrink: 0;
1403
+ align-items: center;
1404
+ padding-inline: var(--t-spacing-1-half) var(--t-spacing-1);
1405
+ }
1406
+
918
1407
  .profile-button-a2WO2 {
1408
+ display: flex;
1409
+ align-items: center;
1410
+ justify-content: center;
1411
+ width: var(--t-container-size-xl);
1412
+ height: var(--t-container-size-xl);
1413
+ padding: 0;
919
1414
  background-color: transparent;
920
1415
  border-width: 0;
921
- padding: var(--t-spacing-2);
922
1416
  appearance: none;
923
1417
  }
924
1418
 
1419
+ /* Centers the avatar in its target, without its own leading margin. */
1420
+ .profile-button-a2WO2 > div {
1421
+ margin-left: 0;
1422
+ }
1423
+
925
1424
  .debug-pco-resource-sLteM {
926
1425
  display: flex;
927
1426
  flex-direction: column;
@@ -1139,12 +1638,12 @@ Caused by products overriding .topbar-wrap’s z-index.
1139
1638
  display: block;
1140
1639
  }
1141
1640
  }
1142
- .color-mode-switcher-modes-u-bic svg path {
1143
- stroke: var(--t-icon-color-dim);
1641
+ .color-mode-switcher-modes-u-bic svg {
1642
+ color: var(--t-icon-color-dim);
1144
1643
  }
1145
1644
  .color-mode-switcher-modes-u-bic label,
1146
- .color-mode-switcher-modes-u-bic svg path {
1147
- transition-property: color, background-color, stroke;
1645
+ .color-mode-switcher-modes-u-bic svg {
1646
+ transition-property: color, background-color;
1148
1647
  transition-duration: 0.1s;
1149
1648
  transition-timing-function: linear;
1150
1649
  }
@@ -1152,8 +1651,8 @@ Caused by products overriding .topbar-wrap’s z-index.
1152
1651
  color: var(--t-text-color-status-info);
1153
1652
  background-color: var(--t-fill-color-status-info-ghost);
1154
1653
  }
1155
- .color-mode-switcher-modes-u-bic label:has(input:checked) svg path {
1156
- stroke: var(--t-icon-color-status-info);
1654
+ .color-mode-switcher-modes-u-bic label:has(input:checked) svg {
1655
+ color: var(--t-icon-color-status-info);
1157
1656
  }
1158
1657
  .toolbar-KHJR5 {
1159
1658
  display: flex;
@@ -1411,4 +1910,70 @@ Caused by products overriding .topbar-wrap’s z-index.
1411
1910
  color: var(--t-icon-color-status-neutral-secondary);
1412
1911
  }
1413
1912
 
1913
+ .button-2NVI1 {
1914
+ --local-ask-ai-gradient: linear-gradient(
1915
+ 163.5deg,
1916
+ var(--t-fill-color-tag-teal-040) 0%,
1917
+ var(--t-fill-color-tag-blue-040) 35.27%,
1918
+ var(--t-fill-color-tag-purple-040) 65.62%,
1919
+ var(--t-fill-color-tag-orange-040) 100%
1920
+ );
1921
+
1922
+ position: relative;
1923
+ display: inline-flex;
1924
+ align-items: center;
1925
+ justify-content: center;
1926
+ gap: var(--t-spacing-half);
1927
+ height: var(--t-container-size-md);
1928
+ padding: 0 var(--t-spacing-1);
1929
+ border: var(--t-border-width) solid transparent;
1930
+ border-radius: var(--t-border-radius-md);
1931
+ background:
1932
+ linear-gradient(
1933
+ var(--t-fill-color-button-neutral-outline),
1934
+ var(--t-fill-color-button-neutral-outline)
1935
+ )
1936
+ padding-box,
1937
+ var(--local-ask-ai-gradient) border-box;
1938
+ overflow: hidden;
1939
+ cursor: pointer;
1940
+ font: inherit;
1941
+ appearance: none;
1942
+ -webkit-appearance: none;
1943
+ }
1944
+
1945
+ .button-2NVI1::before {
1946
+ content: "";
1947
+ position: absolute;
1948
+ inset: 0;
1949
+ background-image: var(--local-ask-ai-gradient);
1950
+ opacity: 0;
1951
+ pointer-events: none;
1952
+ }
1953
+
1954
+ .button-2NVI1:hover::before {
1955
+ opacity: 0.15;
1956
+ }
1957
+
1958
+ .button-2NVI1:active::before {
1959
+ opacity: 0.25;
1960
+ }
1961
+
1962
+ .button-2NVI1:focus-visible {
1963
+ outline: var(--t-focus-ring-outline);
1964
+ outline-offset: var(--t-focus-ring-offset);
1965
+ }
1966
+
1967
+ .sparkle-ruJGP {
1968
+ position: relative;
1969
+ flex-shrink: 0;
1970
+ }
1971
+
1972
+ .label-4NUGB {
1973
+ position: relative;
1974
+ font-size: var(--t-font-size-sm);
1975
+ line-height: 1.35;
1976
+ color: var(--t-text-color);
1977
+ }
1978
+
1414
1979
  /*# sourceMappingURL=topbar.css.map */