@webless/agent 0.13.0 → 0.13.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/react.css CHANGED
@@ -18,6 +18,22 @@
18
18
  --as-radius-sm: 8px;
19
19
  --as-radius-md: 12px;
20
20
  --as-radius-lg: 16px;
21
+ --as-brand-mark-size: 24px;
22
+ --as-brand-mark-size-compact: 22px;
23
+ --as-brand-wordmark-header-height: 20px;
24
+ --as-brand-wordmark-header-max-width: 96px;
25
+ --as-brand-wordmark-message-height: 18px;
26
+ --as-brand-wordmark-message-max-width: 80px;
27
+ --as-brand-identity-gap: 6px;
28
+ --as-discovery-row-min-height: 46px;
29
+ --as-discovery-row-padding: 12px 16px;
30
+ --as-discovery-row-gap: 10px;
31
+ --as-discovery-row-font-size: 14px;
32
+ --as-discovery-row-font-weight: 400;
33
+ --as-discovery-row-line-height: 1.5;
34
+ --as-focus-inset-ring: inset 0 0 0 2px var(--as-brand);
35
+ --as-focus-link-padding-block: 2px;
36
+ --as-focus-link-padding-inline: 4px;
21
37
  --as-font-body:
22
38
  "Mulish",
23
39
  "Avenir Next",
@@ -39,11 +55,26 @@
39
55
  color: var(--as-text);
40
56
  -webkit-font-smoothing: antialiased;
41
57
  }
58
+ .webless-agent-root img.as-brand-logo-img {
59
+ display: block;
60
+ flex-shrink: 0;
61
+ object-fit: contain;
62
+ object-position: left center;
63
+ image-rendering: -webkit-optimize-contrast;
64
+ image-rendering: high-quality;
65
+ }
42
66
  .webless-agent-root button,
43
67
  .webless-agent-root input,
44
68
  .webless-agent-root textarea {
45
69
  font: inherit;
46
70
  }
71
+ .webless-agent-root :is(a[href], button:not(:disabled), summary) {
72
+ cursor: pointer;
73
+ }
74
+ .webless-agent-root :is(a[href], button:not(:disabled), summary) :is(*, svg) {
75
+ cursor: inherit;
76
+ pointer-events: none;
77
+ }
47
78
  @media (prefers-reduced-motion: reduce) {
48
79
  .webless-agent-root *,
49
80
  .webless-agent-root *::before,
@@ -549,65 +580,139 @@ html.webless-agent-page-shift {
549
580
 
550
581
  /* src/react/components/LearnMore/LearnMore.css */
551
582
  .learn-more {
552
- margin-top: 20px;
553
583
  width: 100%;
554
584
  min-width: 0;
555
585
  }
556
586
  .learn-more__heading {
557
- margin: 0 0 8px;
558
- color: var(--as-text-muted);
559
- font-size: 13px;
587
+ margin: 0;
588
+ font-size: 12.5px;
560
589
  font-weight: 650;
561
590
  line-height: 1.5;
562
591
  }
592
+ .learn-more__toggle {
593
+ appearance: none;
594
+ display: inline-flex;
595
+ align-items: center;
596
+ justify-content: flex-start;
597
+ gap: 4px;
598
+ min-height: 44px;
599
+ margin: 0;
600
+ padding: 10px 16px;
601
+ border: 0;
602
+ border-radius: 8px;
603
+ background: transparent;
604
+ color: var(--as-text-muted);
605
+ font: inherit;
606
+ font-size: 12.5px;
607
+ font-weight: 650;
608
+ text-align: left;
609
+ cursor: pointer;
610
+ transition: background 150ms ease, color 150ms ease;
611
+ }
612
+ .learn-more .learn-more__toggle {
613
+ width: auto;
614
+ background: transparent;
615
+ }
616
+ .learn-more .learn-more__toggle:hover {
617
+ color: var(--as-brand);
618
+ background: var(--as-brand-soft);
619
+ }
620
+ .learn-more__toggle:focus-visible {
621
+ outline: 2px solid var(--as-brand);
622
+ outline-offset: 2px;
623
+ }
624
+ .learn-more__chevron {
625
+ width: 14px;
626
+ height: 14px;
627
+ transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
628
+ }
629
+ .learn-more__toggle[aria-expanded=true] .learn-more__chevron {
630
+ transform: rotate(180deg);
631
+ }
632
+ .learn-more__panel {
633
+ display: grid;
634
+ grid-template-rows: 0fr;
635
+ visibility: hidden;
636
+ transition: grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 220ms;
637
+ }
638
+ .learn-more__panel--open {
639
+ grid-template-rows: 1fr;
640
+ visibility: visible;
641
+ transition: grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1);
642
+ }
643
+ .learn-more__panel-inner {
644
+ min-height: 0;
645
+ overflow: hidden;
646
+ }
563
647
  .learn-more__questions {
564
648
  margin: 0;
565
- padding: 0;
649
+ padding: 0 0 4px;
566
650
  list-style: none;
567
651
  }
568
652
  .learn-more__questions li {
569
653
  border-bottom: 1px solid var(--as-border);
570
654
  }
655
+ .learn-more__questions li:last-child {
656
+ border-bottom: 0;
657
+ }
571
658
  .learn-more__questions button {
572
659
  appearance: none;
573
660
  display: flex;
574
661
  align-items: center;
575
- justify-content: space-between;
576
- gap: 14px;
662
+ gap: var(--as-discovery-row-gap);
577
663
  width: 100%;
578
- min-height: 46px;
579
- padding: 12px;
664
+ min-height: var(--as-discovery-row-min-height);
665
+ padding: var(--as-discovery-row-padding);
580
666
  border: 0;
581
667
  border-radius: 6px;
582
668
  background: transparent;
583
669
  color: var(--as-text);
584
670
  text-align: left;
585
671
  font: inherit;
586
- font-size: 14px;
587
- line-height: 1.5;
672
+ font-size: var(--as-discovery-row-font-size);
673
+ font-weight: var(--as-discovery-row-font-weight);
674
+ line-height: var(--as-discovery-row-line-height);
588
675
  cursor: pointer;
589
676
  }
590
- .learn-more__questions span {
677
+ .learn-more__question-icon {
678
+ display: inline-flex;
679
+ flex: 0 0 18px;
680
+ color: var(--as-text-muted);
681
+ }
682
+ .learn-more__question-text {
591
683
  min-width: 0;
684
+ flex: 1;
592
685
  overflow-wrap: anywhere;
593
686
  }
594
- .learn-more__questions svg {
687
+ .learn-more__question-arrow {
595
688
  width: 18px;
596
689
  height: 18px;
597
690
  flex-shrink: 0;
598
- color: var(--as-brand);
691
+ color: var(--as-text-muted);
599
692
  }
600
- .learn-more__questions button:hover:not(:disabled) {
693
+ .learn-more .learn-more__questions button:hover:not(:disabled) {
601
694
  background: var(--as-brand-soft);
695
+ color: var(--as-brand);
696
+ }
697
+ .learn-more .learn-more__questions button:hover:not(:disabled) .learn-more__question-arrow {
698
+ color: var(--as-brand);
602
699
  }
603
700
  .learn-more__questions button:focus-visible {
604
- outline: 2px solid var(--as-brand);
605
- outline-offset: 2px;
701
+ outline: none;
702
+ box-shadow: var(--as-focus-inset-ring);
606
703
  }
607
704
  .learn-more__questions button:disabled {
608
705
  opacity: 0.5;
609
706
  cursor: default;
610
707
  }
708
+ @media (prefers-reduced-motion: reduce) {
709
+ .learn-more__panel {
710
+ transition: none;
711
+ }
712
+ .learn-more__chevron {
713
+ transition: none;
714
+ }
715
+ }
611
716
 
612
717
  /* src/react/components/SearchReferences/SearchReferences.css */
613
718
  .search-references {
@@ -634,22 +739,30 @@ html.webless-agent-page-shift {
634
739
  }
635
740
  .search-references__list {
636
741
  display: grid;
637
- gap: 6px;
638
742
  margin: 0;
639
743
  padding: 0;
640
744
  list-style: none;
641
745
  }
746
+ .search-references__list > li {
747
+ border-bottom: 1px solid var(--as-border);
748
+ }
749
+ .search-references__list > li:last-child {
750
+ border-bottom: 0;
751
+ }
642
752
  .search-references__source {
643
753
  display: flex;
644
754
  min-width: 0;
645
- min-height: 52px;
755
+ min-height: var(--as-discovery-row-min-height);
646
756
  box-sizing: border-box;
647
757
  align-items: center;
648
- gap: 10px;
649
- padding: 12px 0;
650
- border-bottom: 1px solid var(--as-border);
758
+ gap: var(--as-discovery-row-gap);
759
+ padding: var(--as-discovery-row-padding);
760
+ border-radius: 6px;
651
761
  background: transparent;
652
762
  color: var(--as-text);
763
+ font-size: var(--as-discovery-row-font-size);
764
+ font-weight: var(--as-discovery-row-font-weight);
765
+ line-height: var(--as-discovery-row-line-height);
653
766
  text-decoration: none;
654
767
  }
655
768
  .search-references__icon {
@@ -657,24 +770,17 @@ html.webless-agent-page-shift {
657
770
  flex: 0 0 18px;
658
771
  color: var(--as-text-muted);
659
772
  }
660
- .search-references__copy {
661
- display: grid;
773
+ .search-references__icon img {
774
+ width: 18px;
775
+ height: 18px;
776
+ border-radius: 4px;
777
+ object-fit: contain;
778
+ }
779
+ .search-references__title {
662
780
  min-width: 0;
663
781
  flex: 1;
664
- gap: 2px;
665
- }
666
- .search-references__title,
667
- .search-references__domain {
668
782
  overflow-wrap: anywhere;
669
- line-height: 1.4;
670
- }
671
- .search-references__title {
672
- font-size: 13px;
673
- font-weight: 500;
674
- }
675
- .search-references__domain {
676
- color: var(--as-text-muted);
677
- font-size: 11px;
783
+ font: inherit;
678
784
  }
679
785
  .search-references__actions {
680
786
  display: flex;
@@ -698,16 +804,23 @@ html.webless-agent-page-shift {
698
804
  overflow-wrap: anywhere;
699
805
  text-decoration: none;
700
806
  }
701
- .search-references__source[href]:hover,
702
- .search-references__cta:hover {
807
+ .search-references__list .search-references__source[href]:hover,
808
+ .search-references .search-references__cta:hover {
703
809
  background: var(--as-brand-soft);
704
810
  color: var(--as-brand);
705
811
  }
812
+ .search-references__list .search-references__source[href]:hover .search-references__row-arrow {
813
+ color: var(--as-brand);
814
+ }
706
815
  .search-references a:focus-visible,
707
816
  .search-references summary:focus-visible {
708
817
  outline: 2px solid var(--as-brand);
709
818
  outline-offset: 2px;
710
819
  }
820
+ .search-references__list .search-references__source:focus-visible {
821
+ outline: none;
822
+ box-shadow: var(--as-focus-inset-ring);
823
+ }
711
824
  .message-bubble__text:has(.search-references) {
712
825
  width: 100%;
713
826
  }
@@ -715,7 +828,7 @@ html.webless-agent-page-shift {
715
828
  .search-references__list > li {
716
829
  min-width: 0;
717
830
  }
718
- .search-references__external {
831
+ .search-references__row-arrow {
719
832
  width: 18px;
720
833
  height: 18px;
721
834
  flex-shrink: 0;
@@ -843,13 +956,17 @@ html.webless-agent-page-shift {
843
956
  }
844
957
  .composer__field {
845
958
  display: flex;
846
- align-items: center;
959
+ align-items: flex-end;
847
960
  gap: 6px;
848
961
  padding: 5px 5px 5px 14px;
849
962
  border: 1px solid var(--as-control-border, color-mix(in srgb, var(--as-text) 14%, transparent));
850
963
  border-radius: 999px;
851
964
  background: var(--as-surface);
852
965
  box-shadow: 0 1px 2px color-mix(in srgb, var(--as-text) 5%, transparent);
966
+ transition: border-radius 180ms cubic-bezier(0.22, 1, 0.36, 1);
967
+ }
968
+ .composer--multiline .composer__field {
969
+ border-radius: 20px;
853
970
  }
854
971
  .composer__field:focus-within {
855
972
  border-color: color-mix(in srgb, var(--as-brand) 42%, var(--as-border));
@@ -906,7 +1023,7 @@ html.webless-agent-page-shift {
906
1023
  outline-offset: 2px;
907
1024
  }
908
1025
  .composer--dock .composer__field {
909
- align-items: center;
1026
+ align-items: flex-end;
910
1027
  padding: 5px 5px 5px 14px;
911
1028
  background: var(--as-surface);
912
1029
  border: 1px solid var(--as-control-border, color-mix(in srgb, var(--as-text) 14%, transparent));
@@ -917,6 +1034,9 @@ html.webless-agent-page-shift {
917
1034
  border-color: color-mix(in srgb, var(--as-brand) 42%, var(--as-border));
918
1035
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--as-brand) 10%, transparent);
919
1036
  }
1037
+ .composer--dock.composer--multiline .composer__field {
1038
+ border-radius: 24px;
1039
+ }
920
1040
  .composer--dock .composer__input {
921
1041
  padding: 11px 0;
922
1042
  font-size: 15px;
@@ -1125,6 +1245,9 @@ html.webless-agent-page-shift {
1125
1245
  .composer--form .composer__sheet {
1126
1246
  animation: none;
1127
1247
  }
1248
+ .composer__field {
1249
+ transition: none;
1250
+ }
1128
1251
  .composer__send {
1129
1252
  transition: none;
1130
1253
  }
@@ -1210,7 +1333,10 @@ html.webless-agent-page-shift {
1210
1333
  color 0.15s ease;
1211
1334
  word-break: break-word;
1212
1335
  }
1213
- .followups__chip:hover:not(:disabled) {
1336
+ .followups .followups__chip {
1337
+ width: auto;
1338
+ }
1339
+ .followups .followups__chip:hover:not(:disabled) {
1214
1340
  border-color: color-mix(in srgb, var(--as-brand) 32%, var(--as-border));
1215
1341
  background: var(--as-brand-soft);
1216
1342
  color: var(--as-brand);
@@ -1570,26 +1696,25 @@ html.webless-agent-page-shift {
1570
1696
  width: 100%;
1571
1697
  max-width: 100%;
1572
1698
  }
1573
- .message-bubble__agent-row {
1574
- display: grid;
1699
+ .message-bubble__agent-stack {
1700
+ display: flex;
1575
1701
  width: 100%;
1576
- grid-template-columns: 24px minmax(0, 1fr);
1702
+ flex-direction: column;
1577
1703
  align-items: flex-start;
1578
- gap: 10px;
1704
+ gap: 8px;
1579
1705
  }
1580
1706
  .message-bubble__agent-avatar {
1581
1707
  position: relative;
1582
1708
  display: inline-flex;
1583
- width: 24px;
1584
- height: 24px;
1709
+ width: var(--as-brand-mark-size-compact);
1710
+ height: var(--as-brand-mark-size-compact);
1585
1711
  align-items: center;
1586
1712
  justify-content: center;
1587
1713
  overflow: hidden;
1588
- margin-top: 1px;
1589
1714
  border-radius: 8px;
1590
1715
  background: var(--as-surface-muted);
1591
1716
  }
1592
- .message-bubble__agent-avatar img {
1717
+ .message-bubble__agent-avatar:not(.message-bubble__agent-avatar--wide) img {
1593
1718
  position: absolute;
1594
1719
  inset: 0;
1595
1720
  width: 100%;
@@ -1598,6 +1723,28 @@ html.webless-agent-page-shift {
1598
1723
  background: var(--as-surface);
1599
1724
  object-fit: contain;
1600
1725
  }
1726
+ .message-bubble__agent-avatar--wide {
1727
+ width: auto;
1728
+ height: auto;
1729
+ min-width: 0;
1730
+ max-width: var(--as-brand-wordmark-message-max-width);
1731
+ flex-shrink: 1;
1732
+ padding: 0;
1733
+ overflow: hidden;
1734
+ border: 0;
1735
+ background: transparent;
1736
+ }
1737
+ .message-bubble__agent-avatar--wide img {
1738
+ position: static;
1739
+ display: block;
1740
+ width: auto;
1741
+ max-width: var(--as-brand-wordmark-message-max-width);
1742
+ height: var(--as-brand-wordmark-message-height);
1743
+ border-radius: 0;
1744
+ background: transparent;
1745
+ object-fit: contain;
1746
+ object-position: left center;
1747
+ }
1601
1748
  .message-bubble__text {
1602
1749
  margin: 0;
1603
1750
  padding: 10px 12px;
@@ -1626,24 +1773,35 @@ html.webless-agent-page-shift {
1626
1773
  }
1627
1774
  .message-bubble__sources {
1628
1775
  display: grid;
1629
- gap: 6px;
1776
+ gap: 0;
1630
1777
  margin: 10px 0 0;
1631
1778
  padding: 10px 0 0;
1632
1779
  border-top: 1px solid var(--as-border);
1633
1780
  list-style: none;
1634
1781
  }
1782
+ .message-bubble__sources > li {
1783
+ border-bottom: 1px solid var(--as-border);
1784
+ }
1785
+ .message-bubble__sources > li:last-child {
1786
+ border-bottom: 0;
1787
+ }
1635
1788
  .message-bubble__sources a {
1636
1789
  display: flex;
1637
1790
  min-width: 0;
1791
+ min-height: var(--as-discovery-row-min-height);
1638
1792
  align-items: center;
1639
- gap: 8px;
1793
+ gap: var(--as-discovery-row-gap);
1794
+ padding: var(--as-discovery-row-padding);
1795
+ border-radius: 6px;
1640
1796
  color: var(--as-text);
1641
- font-size: 12.5px;
1642
- font-weight: 600;
1797
+ font-size: var(--as-discovery-row-font-size);
1798
+ font-weight: var(--as-discovery-row-font-weight);
1799
+ line-height: var(--as-discovery-row-line-height);
1643
1800
  text-decoration: none;
1644
1801
  }
1645
1802
  .message-bubble__sources a:hover {
1646
1803
  color: var(--as-brand);
1804
+ background: var(--as-brand-soft);
1647
1805
  }
1648
1806
  .message-bubble__source-icon {
1649
1807
  display: grid;
@@ -1709,6 +1867,27 @@ html.webless-agent-page-shift {
1709
1867
  text-decoration: underline;
1710
1868
  text-underline-offset: 2px;
1711
1869
  }
1870
+ .message-bubble__markdown :is(a[href], [data-streamdown=link]):focus-visible {
1871
+ outline: none;
1872
+ border-radius: 4px;
1873
+ box-shadow: var(--as-focus-inset-ring);
1874
+ box-decoration-break: clone;
1875
+ -webkit-box-decoration-break: clone;
1876
+ padding: var(--as-focus-link-padding-block) var(--as-focus-link-padding-inline);
1877
+ margin: 0;
1878
+ }
1879
+ .message-bubble__markdown ul > li > :is(a[href], [data-streamdown=link]):focus-visible {
1880
+ border-radius: 6px;
1881
+ }
1882
+ .message-bubble__sources a:focus-visible {
1883
+ outline: none;
1884
+ border-radius: 6px;
1885
+ box-shadow: var(--as-focus-inset-ring);
1886
+ }
1887
+ .agent-rail .message-bubble__markdown :is(a[href], [data-streamdown=link]):focus-visible,
1888
+ .agent-rail .message-bubble__sources a:focus-visible {
1889
+ outline: none;
1890
+ }
1712
1891
  .message-bubble__markdown code {
1713
1892
  font-family:
1714
1893
  ui-monospace,
@@ -1738,10 +1917,18 @@ html.webless-agent-page-shift {
1738
1917
  color: var(--as-text-muted);
1739
1918
  }
1740
1919
  .message-bubble__speaker {
1741
- display: block;
1742
- margin-bottom: 0.25rem;
1743
- font-size: 0.75rem;
1744
- opacity: 0.75;
1920
+ margin: 0;
1921
+ font-size: 12px;
1922
+ font-weight: 650;
1923
+ letter-spacing: 0.01em;
1924
+ color: var(--as-text-muted);
1925
+ }
1926
+ .message-bubble__agent-header {
1927
+ display: inline-flex;
1928
+ max-width: 100%;
1929
+ min-height: var(--as-brand-mark-size-compact);
1930
+ align-items: center;
1931
+ gap: 4px;
1745
1932
  }
1746
1933
 
1747
1934
  /* src/react/components/MessageActions/MessageActions.css */
@@ -1844,7 +2031,7 @@ html.webless-agent-page-shift {
1844
2031
  line-height: 1.3;
1845
2032
  text-align: left;
1846
2033
  }
1847
- .agent-message-actions__menu-item:hover {
2034
+ .agent-message-actions__menu .agent-message-actions__menu-item:hover {
1848
2035
  background: var(--as-surface-muted);
1849
2036
  }
1850
2037
  .agent-message-actions__menu-item:focus-visible {
@@ -2571,6 +2758,13 @@ html.webless-agent-page-shift {
2571
2758
  .agent-rail :where(p, span, strong, button, label) {
2572
2759
  text-decoration: none;
2573
2760
  }
2761
+ .agent-rail :is(a[href], button:not(:disabled), summary) {
2762
+ cursor: pointer;
2763
+ }
2764
+ .agent-rail :is(a[href], button:not(:disabled), summary) :is(*, svg) {
2765
+ cursor: inherit;
2766
+ pointer-events: none;
2767
+ }
2574
2768
  .agent-rail:focus {
2575
2769
  outline: none;
2576
2770
  }
@@ -2602,7 +2796,7 @@ html.webless-agent-page-shift {
2602
2796
  min-width: 0;
2603
2797
  align-items: center;
2604
2798
  justify-content: center;
2605
- gap: 8px;
2799
+ gap: var(--as-brand-identity-gap);
2606
2800
  }
2607
2801
  .agent-rail__brand-label {
2608
2802
  overflow: hidden;
@@ -2624,10 +2818,10 @@ html.webless-agent-page-shift {
2624
2818
  background: var(--as-surface-muted);
2625
2819
  }
2626
2820
  .agent-rail__brand-mark {
2627
- width: 25px;
2628
- height: 25px;
2629
- flex-basis: 25px;
2630
- border-radius: 8px;
2821
+ width: var(--as-brand-mark-size);
2822
+ height: var(--as-brand-mark-size);
2823
+ flex-basis: var(--as-brand-mark-size);
2824
+ border-radius: var(--as-radius-sm);
2631
2825
  font-size: 11px;
2632
2826
  }
2633
2827
  .agent-rail__brand-logo {
@@ -2639,6 +2833,28 @@ html.webless-agent-page-shift {
2639
2833
  background: var(--as-surface);
2640
2834
  object-fit: contain;
2641
2835
  }
2836
+ .agent-rail__brand-mark--wide {
2837
+ width: auto;
2838
+ min-width: 0;
2839
+ max-width: var(--as-brand-wordmark-header-max-width);
2840
+ flex: 0 1 auto;
2841
+ flex-basis: auto;
2842
+ padding: 0;
2843
+ overflow: hidden;
2844
+ border: 0;
2845
+ background: transparent;
2846
+ }
2847
+ .agent-rail__brand-mark--wide .agent-rail__brand-logo {
2848
+ position: static;
2849
+ display: block;
2850
+ width: auto;
2851
+ max-width: var(--as-brand-wordmark-header-max-width);
2852
+ height: var(--as-brand-wordmark-header-height);
2853
+ border-radius: 0;
2854
+ background: transparent;
2855
+ object-fit: contain;
2856
+ object-position: left center;
2857
+ }
2642
2858
  .agent-rail__brand-spacer {
2643
2859
  width: 36px;
2644
2860
  height: 36px;
@@ -2721,7 +2937,7 @@ html.webless-agent-page-shift {
2721
2937
  flex-direction: column;
2722
2938
  gap: 20px;
2723
2939
  margin: 0 auto;
2724
- padding: 24px 20px 32px;
2940
+ padding: 16px 16px 32px;
2725
2941
  }
2726
2942
  .agent-rail__turn-block {
2727
2943
  display: flex;
@@ -2791,7 +3007,7 @@ html.webless-agent-page-shift {
2791
3007
  position: relative;
2792
3008
  z-index: 1;
2793
3009
  flex-shrink: 0;
2794
- padding: 13px 20px 14px;
3010
+ padding: 13px 16px 14px;
2795
3011
  border-top: 1px solid var(--as-hairline);
2796
3012
  background: var(--as-surface);
2797
3013
  }
@@ -2866,7 +3082,7 @@ html.webless-agent-page-shift {
2866
3082
  }
2867
3083
  .agent-rail__disclaimer {
2868
3084
  flex-shrink: 0;
2869
- padding: 10px 20px 8px;
3085
+ padding: 8px 16px 6px;
2870
3086
  background: var(--as-surface);
2871
3087
  }
2872
3088
  .agent-rail__disclaimer p {
@@ -2916,13 +3132,13 @@ html.webless-agent-page-shift {
2916
3132
  }
2917
3133
  .agent-rail--expanded .agent-rail__thread {
2918
3134
  max-width: 760px;
2919
- padding: 36px 24px 48px;
3135
+ padding: 24px 24px 48px;
2920
3136
  }
2921
3137
  .agent-rail--expanded .agent-rail__welcome {
2922
3138
  width: 100%;
2923
3139
  }
2924
3140
  .agent-rail--expanded .agent-rail__composer-wrap {
2925
- padding: 16px 24px 18px;
3141
+ padding: 16px 24px 16px;
2926
3142
  }
2927
3143
  .agent-rail--expanded .agent-rail__disclaimer,
2928
3144
  .agent-rail--expanded .composer,
@@ -3038,47 +3254,84 @@ html.webless-agent-page-shift {
3038
3254
  animation: none;
3039
3255
  transition: none;
3040
3256
  }
3257
+ .agent-rail__sources-panel {
3258
+ transition: none;
3259
+ }
3260
+ .agent-rail__sources-button-chevron {
3261
+ transition: none;
3262
+ }
3041
3263
  }
3042
3264
  .agent-rail__handoff {
3043
- padding: 0.625rem 1rem;
3044
- border-top: 1px solid var(--as-border);
3045
3265
  display: flex;
3046
- gap: 0.5rem;
3047
3266
  align-items: center;
3048
- justify-content: space-between;
3049
- flex-wrap: wrap;
3050
- font-size: 0.8125rem;
3267
+ gap: 10px;
3268
+ padding: 10px 16px;
3269
+ border-top: 1px solid var(--as-hairline);
3270
+ background: transparent;
3271
+ font-size: 12px;
3272
+ line-height: 1.45;
3051
3273
  color: var(--as-text-muted);
3052
3274
  }
3053
- .agent-rail__handoff p {
3275
+ .agent-rail__handoff-dot {
3276
+ flex: 0 0 auto;
3277
+ width: 6px;
3278
+ height: 6px;
3279
+ border-radius: 999px;
3280
+ background: var(--as-success);
3281
+ }
3282
+ .agent-rail__handoff-status {
3054
3283
  margin: 0;
3284
+ min-width: 0;
3285
+ flex: 1;
3055
3286
  }
3056
- .agent-rail__handoff button {
3057
- border: 0;
3058
- border-radius: 0.375rem;
3287
+ .agent-rail__handoff-status strong {
3288
+ color: var(--as-text);
3289
+ font-weight: 650;
3290
+ }
3291
+ .agent-rail__handoff-cta,
3292
+ .agent-rail__handoff-action {
3293
+ appearance: none;
3294
+ flex: 0 0 auto;
3295
+ min-height: 32px;
3296
+ padding: 6px 12px;
3297
+ border: 1px solid var(--as-border);
3298
+ border-radius: 999px;
3059
3299
  background: transparent;
3060
3300
  color: var(--as-text);
3061
- cursor: pointer;
3062
3301
  font: inherit;
3063
- font-weight: 600;
3064
- padding: 0.5rem;
3065
- min-height: 2.5rem;
3302
+ font-size: 12px;
3303
+ font-weight: 650;
3304
+ cursor: pointer;
3305
+ transition: border-color 150ms ease, background 150ms ease;
3066
3306
  }
3067
- .agent-rail__handoff button:hover {
3307
+ .agent-rail__handoff-cta:hover:not(:disabled),
3308
+ .agent-rail__handoff-action:hover:not(:disabled) {
3309
+ border-color: color-mix(in srgb, var(--as-brand) 40%, var(--as-border));
3068
3310
  background: var(--as-surface-muted);
3069
3311
  }
3070
- .agent-rail__handoff button:focus-visible {
3312
+ .agent-rail__handoff-cta:focus-visible,
3313
+ .agent-rail__handoff-action:focus-visible {
3071
3314
  outline: 2px solid var(--as-brand);
3072
3315
  outline-offset: 2px;
3073
3316
  }
3074
- .agent-rail__handoff button:disabled {
3075
- opacity: 0.5;
3317
+ .agent-rail__handoff-cta:disabled,
3318
+ .agent-rail__handoff-action:disabled {
3319
+ opacity: 0.55;
3076
3320
  cursor: default;
3077
3321
  }
3078
- .agent-rail__handoff [role=alert] {
3079
- width: 100%;
3322
+ .agent-rail__handoff-error {
3323
+ display: flex;
3324
+ flex: 1;
3325
+ align-items: center;
3326
+ justify-content: space-between;
3327
+ gap: 8px;
3080
3328
  color: var(--as-danger);
3081
3329
  }
3330
+ .agent-rail__answer-footer {
3331
+ display: flex;
3332
+ flex-direction: column;
3333
+ width: 100%;
3334
+ }
3082
3335
  .agent-rail__answer-actions {
3083
3336
  display: flex;
3084
3337
  align-items: center;
@@ -3091,18 +3344,28 @@ html.webless-agent-page-shift {
3091
3344
  }
3092
3345
  .agent-rail__sources-button {
3093
3346
  appearance: none;
3347
+ display: inline-flex;
3348
+ align-items: center;
3349
+ justify-content: flex-start;
3350
+ gap: 3px;
3094
3351
  margin-left: auto;
3095
3352
  min-height: 44px;
3096
- padding: 8px 4px;
3353
+ padding: 10px 16px;
3097
3354
  border: 0;
3098
- border-radius: 6px;
3355
+ border-radius: 8px;
3099
3356
  background: transparent;
3100
3357
  color: var(--as-text-muted);
3101
3358
  font: inherit;
3102
- font-size: 12px;
3359
+ font-size: 12.5px;
3360
+ font-weight: 650;
3103
3361
  cursor: pointer;
3362
+ transition: background 150ms ease, color 150ms ease;
3104
3363
  }
3105
- .agent-rail__sources-button:hover {
3364
+ .agent-rail__answer-actions .agent-rail__sources-button {
3365
+ width: auto;
3366
+ background: transparent;
3367
+ }
3368
+ .agent-rail__answer-actions .agent-rail__sources-button:hover {
3106
3369
  color: var(--as-brand);
3107
3370
  background: var(--as-brand-soft);
3108
3371
  }
@@ -3110,14 +3373,44 @@ html.webless-agent-page-shift {
3110
3373
  outline: 2px solid var(--as-brand);
3111
3374
  outline-offset: 2px;
3112
3375
  }
3113
- .agent-receipt-dialog__count {
3114
- margin-left: 8px;
3115
- color: var(--as-text-muted);
3116
- font-weight: 400;
3376
+ .agent-rail__sources-button-chevron {
3377
+ display: inline-flex;
3378
+ transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
3379
+ }
3380
+ .agent-rail__sources-button-chevron svg {
3381
+ width: 14px;
3382
+ height: 14px;
3383
+ }
3384
+ .agent-rail__sources-button[aria-expanded=true] .agent-rail__sources-button-chevron {
3385
+ transform: rotate(180deg);
3386
+ }
3387
+ .agent-rail__sources-panel {
3388
+ display: grid;
3389
+ width: 100%;
3390
+ grid-template-rows: 0fr;
3391
+ visibility: hidden;
3392
+ transition: grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 220ms;
3393
+ }
3394
+ .agent-rail__sources-panel--open {
3395
+ grid-template-rows: 1fr;
3396
+ visibility: visible;
3397
+ transition: grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1);
3398
+ }
3399
+ .agent-rail__sources-panel-inner {
3400
+ min-height: 0;
3401
+ overflow: hidden;
3402
+ }
3403
+ .agent-rail__sources-panel-inner > .search-references {
3404
+ margin-top: 2px;
3405
+ }
3406
+ .agent-rail .learn-more .learn-more__toggle {
3407
+ width: auto;
3408
+ background: transparent;
3409
+ padding-left: 0;
3117
3410
  }
3118
- .agent-rail__turn-block:has(.message-bubble__agent-row) > :is(.agent-rail__answer-actions, .learn-more, .search-references) {
3119
- margin-left: 34px;
3120
- width: calc(100% - 34px);
3411
+ .agent-rail .learn-more .learn-more__toggle:hover {
3412
+ color: var(--as-brand);
3413
+ background: var(--as-brand-soft);
3121
3414
  }
3122
3415
 
3123
3416
  /* src/react/components/AssistEdgeTab/AssistEdgeTab.css */
@@ -3190,10 +3483,6 @@ html.webless-agent-page-shift {
3190
3483
  border-radius: inherit;
3191
3484
  background: var(--pill-orb-from, var(--tab-fill));
3192
3485
  }
3193
- .assist-edge-tab__mark--chip > .assist-edge-tab__logo {
3194
- width: 20px;
3195
- height: 20px;
3196
- }
3197
3486
  .assist-edge-tab__custom-icon {
3198
3487
  width: 18px;
3199
3488
  height: 18px;
@@ -3387,15 +3676,16 @@ html.webless-agent-page-shift {
3387
3676
  --tab-ink: #1f2937;
3388
3677
  --tab-line: transparent;
3389
3678
  --pill-brand: var(--as-brand, #6366f1);
3679
+ --pill-accent: var(--as-border, var(--as-brand, #6366f1));
3390
3680
  --pill-fill: #ffffff;
3391
3681
  --pill-title: #1f2937;
3392
3682
  --pill-subtitle: #9ca3af;
3393
- --pill-glow-strong: color-mix(in srgb, var(--pill-brand) 40%, transparent);
3394
- --pill-glow-soft: color-mix(in srgb, var(--pill-brand) 10%, transparent);
3395
- --pill-glow-shadow: color-mix(in srgb, var(--pill-brand) 15%, transparent);
3683
+ --pill-glow-strong: color-mix(in srgb, var(--pill-accent) 40%, transparent);
3684
+ --pill-glow-soft: color-mix(in srgb, var(--pill-accent) 10%, transparent);
3685
+ --pill-glow-shadow: color-mix(in srgb, var(--pill-accent) 15%, transparent);
3396
3686
  --pill-orb-end: color-mix(in srgb, var(--pill-brand) 45%, #3b82f6);
3397
3687
  gap: 12px;
3398
- border: 1.5px solid var(--pill-brand);
3688
+ border: 1.5px solid var(--pill-accent);
3399
3689
  background-color: #ffffff;
3400
3690
  background-image: none;
3401
3691
  color: var(--pill-title);
@@ -3437,9 +3727,9 @@ html.webless-agent-page-shift {
3437
3727
  }
3438
3728
  .assist-edge-tab__mark--chip {
3439
3729
  overflow: hidden;
3440
- width: 36px;
3441
- height: 36px;
3442
- flex-basis: 36px;
3730
+ width: 48px;
3731
+ height: 48px;
3732
+ flex: 0 0 48px;
3443
3733
  border: none;
3444
3734
  border-radius: 50%;
3445
3735
  background:
@@ -3450,11 +3740,33 @@ html.webless-agent-page-shift {
3450
3740
  color: #ffffff;
3451
3741
  box-shadow: none;
3452
3742
  }
3743
+ .assist-edge-tab__mark--chip:has(> .assist-edge-tab__logo),
3744
+ .assist-edge-tab__mark--chip:has(> .assist-edge-tab__custom-icon) {
3745
+ background: var(--pill-logo-surface, #ffffff);
3746
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pill-accent, var(--pill-brand)) 24%, transparent);
3747
+ }
3748
+ .assist-edge-tab__mark--chip:has(> .assist-edge-tab__logo--wide) {
3749
+ width: auto;
3750
+ min-width: 48px;
3751
+ max-width: 120px;
3752
+ padding: 0 8px;
3753
+ border-radius: 999px;
3754
+ }
3453
3755
  .assist-edge-tab__mark--chip > svg,
3454
3756
  .assist-edge-tab__mark--chip > .assist-edge-tab__custom-icon,
3455
3757
  .assist-edge-tab__mark--chip > .assist-edge-tab__logo {
3456
3758
  position: relative;
3457
3759
  z-index: 1;
3760
+ flex-shrink: 0;
3761
+ object-fit: contain;
3762
+ object-position: center;
3763
+ }
3764
+ .assist-edge-tab__mark--chip > .assist-edge-tab__logo--chip,
3765
+ .assist-edge-tab__mark--chip > .assist-edge-tab__custom-icon--chip {
3766
+ width: auto;
3767
+ height: auto;
3768
+ max-width: 100%;
3769
+ max-height: 100%;
3458
3770
  }
3459
3771
  .assist-edge-tab__mark--chip > .assist-edge-tab__chat-spark {
3460
3772
  color: #ffffff;