WebBlock.module.css 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /* Geometry mirrors CodeBlock/TerminalBlock (12px radius, code-block surface,
  2. 16px vertical margin) so a web card, a terminal card, and a fenced code block
  3. read as one family. A source list is prose, not aligned output, so it wraps
  4. normally rather than scrolling horizontally like a terminal card's output. */
  5. .block {
  6. --dsl-web-radius: 12px;
  7. margin: 16px 0;
  8. padding: 12px 14px;
  9. color: var(--dsw-alias-label-primary);
  10. background: var(--dsw-alias-markdown-code-block);
  11. border-radius: var(--dsl-web-radius);
  12. }
  13. /* The provider answer reads as body prose above the citation list; its own
  14. MarkdownText margins are trimmed so the list sits tight under it. */
  15. .answer {
  16. margin-bottom: 8px;
  17. }
  18. .answer > :global(div) > :first-child {
  19. margin-top: 0;
  20. }
  21. .answer > :global(div) > :last-child {
  22. margin-bottom: 0;
  23. }
  24. /* The citation list: ordered so each source reads as a numbered reference. */
  25. .sources {
  26. margin: 0;
  27. padding-left: 20px;
  28. display: flex;
  29. flex-direction: column;
  30. gap: 10px;
  31. }
  32. .source {
  33. min-width: 0;
  34. }
  35. .sourceLink {
  36. color: var(--dsw-alias-state-business-primary);
  37. font-size: 14px;
  38. line-height: 20px;
  39. word-break: break-word;
  40. }
  41. .sourceLink:hover {
  42. text-decoration: underline;
  43. }
  44. .snippet {
  45. margin-top: 2px;
  46. color: var(--dsw-alias-label-secondary);
  47. font-size: 13px;
  48. line-height: 19px;
  49. word-break: break-word;
  50. }
  51. .published {
  52. margin-top: 2px;
  53. color: var(--dsw-alias-label-tertiary);
  54. font: var(--dsw-font-xs-13);
  55. }
  56. .expandItem {
  57. list-style: none;
  58. }
  59. .expand {
  60. display: block;
  61. width: 100%;
  62. padding: 0;
  63. border: none;
  64. background-color: transparent;
  65. color: var(--dsw-alias-label-tertiary);
  66. cursor: pointer;
  67. font: inherit;
  68. text-align: left;
  69. }
  70. .expand:hover {
  71. color: var(--dsw-alias-label-secondary);
  72. }
  73. .truncated {
  74. margin-top: 8px;
  75. color: var(--dsw-alias-label-tertiary);
  76. font: var(--dsw-font-xs-13);
  77. }
  78. .empty {
  79. color: var(--dsw-alias-label-secondary);
  80. font: var(--dsw-font-xs-13);
  81. }
  82. /* The fetch card is a compact summary: the URL over a status/truncation row. */
  83. .fetch {
  84. display: flex;
  85. flex-direction: column;
  86. gap: 6px;
  87. }
  88. .fetchUrl {
  89. color: var(--dsw-alias-state-business-primary);
  90. font-family: var(--ds-font-family-code);
  91. font-size: 13px;
  92. line-height: 19px;
  93. word-break: break-all;
  94. }
  95. .fetchUrl:hover {
  96. text-decoration: underline;
  97. }
  98. .fetchMeta {
  99. display: flex;
  100. align-items: baseline;
  101. gap: 12px;
  102. }
  103. .status {
  104. color: var(--dsw-alias-label-secondary);
  105. font: var(--dsw-font-xs-13);
  106. }
  107. /* The fetch card's truncation note sits inline beside the status, so it drops
  108. the search card's top margin. */
  109. .fetch .truncated {
  110. margin-top: 0;
  111. }