@seekbuddy/dsh-ui 0.0.0-stage → 0.2.0-beta.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.
Files changed (213) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/LICENSE +22 -0
  3. package/README.md +175 -2
  4. package/README.zh.md +176 -0
  5. package/THIRD_PARTY_NOTICES.md +42 -0
  6. package/UPSTREAM.md +59 -0
  7. package/dist/blocks.js +1617 -0
  8. package/dist/chunks/chunk-23KOEBWJ.js +104 -0
  9. package/dist/chunks/chunk-6SGSJ5KW.js +57 -0
  10. package/dist/chunks/chunk-7NH2UOZO.js +155 -0
  11. package/dist/chunks/chunk-7SKW4S35.js +66 -0
  12. package/dist/chunks/chunk-B3EEK7A2.js +408 -0
  13. package/dist/chunks/chunk-CEBTQO6W.js +24 -0
  14. package/dist/chunks/chunk-ENKPNYOB.js +26 -0
  15. package/dist/chunks/chunk-EWAZFWLW.js +27 -0
  16. package/dist/chunks/chunk-F352IICS.js +57 -0
  17. package/dist/chunks/chunk-FFJ6TCCF.js +31 -0
  18. package/dist/chunks/chunk-FZXK4LTI.js +129 -0
  19. package/dist/chunks/chunk-JA3XDLIA.js +1115 -0
  20. package/dist/chunks/chunk-L7XALG4J.js +36 -0
  21. package/dist/chunks/chunk-OCAQFVT3.js +3172 -0
  22. package/dist/chunks/chunk-RAXDA2PT.js +202 -0
  23. package/dist/chunks/chunk-RNVSCTW7.js +24 -0
  24. package/dist/chunks/chunk-RZOP2PFC.js +152 -0
  25. package/dist/chunks/chunk-SN6RSUWC.js +61 -0
  26. package/dist/chunks/chunk-SNVSQWCU.js +22 -0
  27. package/dist/chunks/chunk-SO3DCAWG.js +170 -0
  28. package/dist/chunks/chunk-UAEFKTV3.js +144 -0
  29. package/dist/chunks/chunk-UGEORMLD.js +89 -0
  30. package/dist/chunks/chunk-W6FLI3AK.js +112 -0
  31. package/dist/chunks/chunk-WX46TSKP.js +328 -0
  32. package/dist/chunks/chunk-XL33IPCV.js +261 -0
  33. package/dist/chunks/chunk-XW4L4ZGL.js +967 -0
  34. package/dist/chunks/chunk-YOBY6PSL.js +850 -0
  35. package/dist/chunks/chunk-ZA47FP7C.js +7 -0
  36. package/dist/icons.js +859 -0
  37. package/dist/index.js +1675 -0
  38. package/dist/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  39. package/dist/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  40. package/dist/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  41. package/dist/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  42. package/dist/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  43. package/dist/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  44. package/dist/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  45. package/dist/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  46. package/dist/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  47. package/dist/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  48. package/dist/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  49. package/dist/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  50. package/dist/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  51. package/dist/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  52. package/dist/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  53. package/dist/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  54. package/dist/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  55. package/dist/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  56. package/dist/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  57. package/dist/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  58. package/dist/katex.css +1 -0
  59. package/dist/katex.css.d.ts +2 -0
  60. package/dist/markdown.js +225 -0
  61. package/dist/meta.json +7575 -0
  62. package/dist/root-inputs.json +86 -0
  63. package/dist/seekbuddy-card.js +7 -0
  64. package/dist/seekbuddy-empty.js +8 -0
  65. package/dist/seekbuddy-internal/DangerButton.js +7 -0
  66. package/dist/seekbuddy-internal/Mark.js +7 -0
  67. package/dist/seekbuddy-internal/Message.js +10 -0
  68. package/dist/seekbuddy-internal/Pagination.js +9 -0
  69. package/dist/seekbuddy-internal/StatusBadge.js +7 -0
  70. package/dist/seekbuddy-internal/SubtleButton.js +7 -0
  71. package/dist/seekbuddy-internal/Switch.js +7 -0
  72. package/dist/seekbuddy-internal/Upload.js +7 -0
  73. package/dist/seekbuddy-internal/date/Calendar.js +8 -0
  74. package/dist/seekbuddy-internal/date/DatePicker.js +9 -0
  75. package/dist/seekbuddy-internal/date/DateRangePicker.js +9 -0
  76. package/dist/seekbuddy-internal/date/TimePicker.js +8 -0
  77. package/dist/seekbuddy-internal/date/fields.js +16 -0
  78. package/dist/seekbuddy-internal/qr/QrCode.js +7 -0
  79. package/dist/seekbuddy-spinner.js +7 -0
  80. package/dist/seekbuddy-tabs.js +7 -0
  81. package/dist/seekbuddy-timeline.js +8 -0
  82. package/dist/seekbuddy.js +89 -0
  83. package/dist/theme-bootstrap.js +13 -0
  84. package/dist/theme.js +37 -0
  85. package/dist/tokens.css +974 -0
  86. package/dist/tokens.css.d.ts +2 -0
  87. package/dist/types/AnimatedRows.d.ts +45 -0
  88. package/dist/types/Button.d.ts +18 -0
  89. package/dist/types/Checkbox.d.ts +19 -0
  90. package/dist/types/CodeFileIcon.d.ts +11 -0
  91. package/dist/types/CodeToolbar.d.ts +29 -0
  92. package/dist/types/CommandText.d.ts +15 -0
  93. package/dist/types/ConfigField.d.ts +32 -0
  94. package/dist/types/ConnectionIndicator.d.ts +25 -0
  95. package/dist/types/DetailDocument.d.ts +77 -0
  96. package/dist/types/DiffBlock.d.ts +51 -0
  97. package/dist/types/DisclosureRow.d.ts +37 -0
  98. package/dist/types/DraggableImage.d.ts +18 -0
  99. package/dist/types/FileTypeIcon.d.ts +42 -0
  100. package/dist/types/FoldToggle.d.ts +19 -0
  101. package/dist/types/HoverCard.d.ts +44 -0
  102. package/dist/types/HoverCardGroup.d.ts +24 -0
  103. package/dist/types/ImageLightbox.d.ts +29 -0
  104. package/dist/types/ImagePreview.d.ts +11 -0
  105. package/dist/types/InlineEditor.d.ts +22 -0
  106. package/dist/types/Input.d.ts +11 -0
  107. package/dist/types/JsonTree.d.ts +58 -0
  108. package/dist/types/LinkIcon.d.ts +33 -0
  109. package/dist/types/Menu.d.ts +163 -0
  110. package/dist/types/MenuGroup.d.ts +21 -0
  111. package/dist/types/MenuSurface.d.ts +24 -0
  112. package/dist/types/Modal.d.ts +43 -0
  113. package/dist/types/PermissionIcon.d.ts +50 -0
  114. package/dist/types/Pill.d.ts +12 -0
  115. package/dist/types/QuotePreview.d.ts +23 -0
  116. package/dist/types/ReadBlock.d.ts +47 -0
  117. package/dist/types/ReferenceIcon.d.ts +20 -0
  118. package/dist/types/RiskConfirmation.d.ts +19 -0
  119. package/dist/types/SearchBlock.d.ts +71 -0
  120. package/dist/types/SegmentedControl.d.ts +34 -0
  121. package/dist/types/SegmentedTabs.d.ts +27 -0
  122. package/dist/types/ShortcutKeys.d.ts +10 -0
  123. package/dist/types/SiteGlyph.d.ts +24 -0
  124. package/dist/types/StateDot.d.ts +19 -0
  125. package/dist/types/Switch.d.ts +19 -0
  126. package/dist/types/Tag.d.ts +31 -0
  127. package/dist/types/TerminalBlock.d.ts +85 -0
  128. package/dist/types/TextShimmer.d.ts +22 -0
  129. package/dist/types/Toast.d.ts +48 -0
  130. package/dist/types/Tooltip.d.ts +69 -0
  131. package/dist/types/UserMessageBubble.d.ts +10 -0
  132. package/dist/types/WebBlock.d.ts +60 -0
  133. package/dist/types/ZoomControls.d.ts +26 -0
  134. package/dist/types/ansi.d.ts +16 -0
  135. package/dist/types/blocks.d.ts +21 -0
  136. package/dist/types/clipboard.d.ts +8 -0
  137. package/dist/types/code-file-icon-artwork.d.ts +53 -0
  138. package/dist/types/code-file-types.d.ts +29 -0
  139. package/dist/types/code-highlighting.d.ts +11 -0
  140. package/dist/types/css-modules.d.ts +6 -0
  141. package/dist/types/darwin-desktop.d.ts +8 -0
  142. package/dist/types/document-zoom.d.ts +16 -0
  143. package/dist/types/file-drag-actions.d.ts +36 -0
  144. package/dist/types/file-size.d.ts +7 -0
  145. package/dist/types/focus.d.ts +15 -0
  146. package/dist/types/guide-artwork.d.ts +14 -0
  147. package/dist/types/head-tail-cap.d.ts +22 -0
  148. package/dist/types/icons/artwork.d.ts +421 -0
  149. package/dist/types/icons/index.d.ts +397 -0
  150. package/dist/types/icons/props.d.ts +8 -0
  151. package/dist/types/icons/shared-artwork.d.ts +36 -0
  152. package/dist/types/icons.d.ts +6 -0
  153. package/dist/types/image-drag.d.ts +16 -0
  154. package/dist/types/index.d.ts +71 -0
  155. package/dist/types/input-modality.d.ts +18 -0
  156. package/dist/types/keyboard-composition.d.ts +10 -0
  157. package/dist/types/markdown/CodeBlock.d.ts +34 -0
  158. package/dist/types/markdown/JsonBlock.d.ts +7 -0
  159. package/dist/types/markdown/MarkdownDelegate.d.ts +68 -0
  160. package/dist/types/markdown/MarkdownText.d.ts +54 -0
  161. package/dist/types/markdown/cjkFriendlyStrong.d.ts +8 -0
  162. package/dist/types/markdown/file-link.d.ts +22 -0
  163. package/dist/types/markdown/highlight.d.ts +169 -0
  164. package/dist/types/markdown/incremental.d.ts +79 -0
  165. package/dist/types/markdown/katex.d.ts +18 -0
  166. package/dist/types/markdown/local-image-syntax.d.ts +9 -0
  167. package/dist/types/markdown/mathCompatibility.d.ts +10 -0
  168. package/dist/types/markdown/parse.d.ts +24 -0
  169. package/dist/types/markdown/plain-text.d.ts +21 -0
  170. package/dist/types/markdown/quote-text.d.ts +7 -0
  171. package/dist/types/markdown/render.d.ts +145 -0
  172. package/dist/types/markdown/useViewportHighlighting.d.ts +10 -0
  173. package/dist/types/markdown/windows-path-destinations.d.ts +10 -0
  174. package/dist/types/markdown.d.ts +12 -0
  175. package/dist/types/overlay-top-margin.d.ts +14 -0
  176. package/dist/types/plugin-artwork.d.ts +16 -0
  177. package/dist/types/pointer-grace.d.ts +21 -0
  178. package/dist/types/rank-by-name.d.ts +21 -0
  179. package/dist/types/relative-time.d.ts +22 -0
  180. package/dist/types/seekbuddy/Card.d.ts +28 -0
  181. package/dist/types/seekbuddy/DangerButton.d.ts +31 -0
  182. package/dist/types/seekbuddy/Empty.d.ts +34 -0
  183. package/dist/types/seekbuddy/Mark.d.ts +27 -0
  184. package/dist/types/seekbuddy/Message.d.ts +52 -0
  185. package/dist/types/seekbuddy/Pagination.d.ts +66 -0
  186. package/dist/types/seekbuddy/Spinner.d.ts +20 -0
  187. package/dist/types/seekbuddy/StatusBadge.d.ts +33 -0
  188. package/dist/types/seekbuddy/SubtleButton.d.ts +30 -0
  189. package/dist/types/seekbuddy/Switch.d.ts +36 -0
  190. package/dist/types/seekbuddy/Tabs.d.ts +49 -0
  191. package/dist/types/seekbuddy/Timeline.d.ts +42 -0
  192. package/dist/types/seekbuddy/Upload.d.ts +101 -0
  193. package/dist/types/seekbuddy/date/Calendar.d.ts +94 -0
  194. package/dist/types/seekbuddy/date/DatePicker.d.ts +29 -0
  195. package/dist/types/seekbuddy/date/DateRangePicker.d.ts +41 -0
  196. package/dist/types/seekbuddy/date/TimePicker.d.ts +35 -0
  197. package/dist/types/seekbuddy/date/date.d.ts +79 -0
  198. package/dist/types/seekbuddy/date/fields.d.ts +45 -0
  199. package/dist/types/seekbuddy/index.d.ts +49 -0
  200. package/dist/types/seekbuddy/qr/QrCode.d.ts +37 -0
  201. package/dist/types/seekbuddy/qr/qr.d.ts +38 -0
  202. package/dist/types/theme-bootstrap.d.ts +3 -0
  203. package/dist/types/theme-core.d.ts +14 -0
  204. package/dist/types/theme.d.ts +4 -0
  205. package/dist/types/tooltip-placement.d.ts +34 -0
  206. package/dist/types/use-clipboard-copy.d.ts +13 -0
  207. package/dist/types/useAnchoredMaxHeight.d.ts +13 -0
  208. package/dist/types/useAnchoredPosition.d.ts +35 -0
  209. package/dist/types/useDismissOnOutsidePointer.d.ts +10 -0
  210. package/dist/types/useModalLayer.d.ts +26 -0
  211. package/dist/types/useRowDragPreview.d.ts +19 -0
  212. package/dist/types/user-text.d.ts +31 -0
  213. package/package.json +151 -4
@@ -0,0 +1,974 @@
1
+ /* Base variables referenced by the token sheets and component CSS but defined
2
+ * upstream (deepsuite theme/global.css) — supplied here so the composite
3
+ * --dsw-font-* variables resolve and motion rides the upstream curve. Code
4
+ * font stack deliberately omits a bare `monospace` tail (Windows CJK falls
5
+ * back to SimSun otherwise). */
6
+ :root {
7
+ --dsh-font-family-text-default:
8
+ -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei',
9
+ 'Helvetica Neue', Helvetica, Arial, sans-serif;
10
+ --dsw-font-family: var(--dsh-font-family-text-default);
11
+ --dsw-font-family-brand: 'Montserrat', var(--dsh-font-family-text-default);
12
+ --dsh-font-family-code-default:
13
+ 'SF Mono', 'JetBrains Mono', 'Fira Code', Consolas, 'Liberation Mono', Menlo, Courier, 'PingFang SC',
14
+ 'Microsoft YaHei';
15
+ --ds-font-family-code: var(--dsh-font-family-code-default);
16
+ --ds-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
17
+ --ds-transition-duration: 0.2s;
18
+ --ds-transition-duration-fast: 0.1s;
19
+ --ds-transition-duration-slow: 0.3s;
20
+ --dsw-radius-xs: 4px;
21
+ --dsw-radius-sm: 8px;
22
+ --dsw-radius-md: 12px;
23
+ --dsw-radius-lg: 16px;
24
+ --dsw-radius-xl: 20px;
25
+ --dsw-radius-panel: 28px;
26
+ }
27
+
28
+ /* User font lists (--dsh-font-family-text/-code, written on body by the theme
29
+ * boot script and ThemePresenter) lead the built-in stacks. An unset list
30
+ * falls back to the built-in stack itself; the repeated families are inert. */
31
+ body {
32
+ --dsw-font-family:
33
+ var(--dsh-font-family-text, var(--dsh-font-family-text-default)), var(--dsh-font-family-text-default);
34
+ --ds-font-family-code:
35
+ var(--dsh-font-family-code, var(--dsh-font-family-code-default)), var(--dsh-font-family-code-default);
36
+ --dsw-alias-settings-card-fill: var(--dsw-alias-bg-layer-2);
37
+ --dsw-alias-settings-card-stroke: var(--dsw-alias-border-l4);
38
+ }
39
+
40
+ [data-dsh-automatic-focus]:focus,
41
+ [data-dsh-automatic-focus]:focus:focus-visible {
42
+ outline: none;
43
+ }
44
+
45
+ /* Smooth corner curvature for every rounded surface. Inside the support
46
+ * guard, all corners curve along superellipse(1.5) — between a circular arc
47
+ * (round = superellipse(1)) and a squircle (superellipse(2)) — instead of the
48
+ * default arc; engines without corner-shape keep circular corners because the
49
+ * token and the rule exist only inside the guard.
50
+ *
51
+ * corner-shape does not inherit, so the universal selector applies the token
52
+ * to elements and their ::before/::after; other pseudo-elements (for example
53
+ * the ::-webkit-scrollbar parts) stay circular.
54
+ *
55
+ * Full-round shapes opt out where they are declared: a superellipse deforms a
56
+ * circle into a squircle and squares off capsule ends, so every effectively
57
+ * uncapped radius (50%, 100%, or a pill radius far above the box size) pairs
58
+ * `corner-shape: round` with its `border-radius` in the owning component
59
+ * sheet. The corner-shape stylesheet spec enforces that pairing. */
60
+ @supports (corner-shape: superellipse(1.5)) {
61
+ :root {
62
+ --dsw-corner-shape: superellipse(1.5);
63
+ }
64
+
65
+ *,
66
+ *::before,
67
+ *::after {
68
+ corner-shape: var(--dsw-corner-shape);
69
+ }
70
+ }
71
+
72
+ /* Figma font-weight 510 (an SF Pro variable-font weight) always renders as
73
+ font-weight: 500 in this UI — non-variable webfonts snap intermediate
74
+ weights unpredictably across platforms. */
75
+ body {
76
+ --dsw-static-amber-100: rgb(254, 245, 231);
77
+ --dsw-static-amber-400: rgb(247, 173, 49);
78
+ --dsw-static-amber-500: rgb(245, 158, 11);
79
+ --dsw-static-amber-600: rgb(221, 134, 41);
80
+ --dsw-static-amber-900: rgb(39, 36, 31);
81
+ --dsw-static-blue-100: rgb(219, 234, 254);
82
+ --dsw-static-blue-300: rgb(147, 197, 253);
83
+ --dsw-static-blue-400: rgb(96, 165, 250);
84
+ --dsw-static-blue-450: rgb(77, 147, 248);
85
+ --dsw-static-blue-500: rgb(59, 130, 246);
86
+ --dsw-static-blue-50: rgb(239, 246, 255);
87
+ --dsw-static-blue-50p: rgb(234, 243, 255);
88
+ --dsw-static-blue-600: rgb(37, 99, 235);
89
+ --dsw-static-blue-75: rgb(229, 240, 255);
90
+ --dsw-static-blue-800: rgb(30, 64, 175);
91
+ --dsw-static-blue-900: rgb(14, 48, 116);
92
+ --dsw-static-blue-950: rgb(23, 37, 84);
93
+ --dsw-static-deepseek-100: rgb(228, 237, 253);
94
+ --dsw-static-deepseek-200: rgb(211, 226, 255);
95
+ --dsw-static-deepseek-300: rgb(183, 200, 254);
96
+ /* Brightened from the platform rgb(103, 158, 254) at the designer's request: legibility on the dark toast surface. */
97
+ --dsw-static-deepseek-400: rgb(122, 170, 255);
98
+ --dsw-static-deepseek-450: rgb(86, 134, 254);
99
+ --dsw-static-deepseek-500: rgb(65, 118, 230);
100
+ --dsw-static-deepseek-50: rgb(237, 243, 254);
101
+ --dsw-static-deepseek-600: rgb(72, 104, 178);
102
+ --dsw-static-deepseek-700-delete: rgb(47, 76, 143);
103
+ --dsw-static-deepseek-800: rgb(52, 65, 91);
104
+ --dsw-static-deepseek-900: rgb(40, 49, 66);
105
+ --dsw-static-green-100: rgb(230, 250, 237);
106
+ --dsw-static-green-400: rgb(78, 209, 126);
107
+ --dsw-static-green-500: rgb(34, 197, 94);
108
+ --dsw-static-green-500-a08: rgb(34 197 94 / 8%);
109
+ --dsw-static-green-500-a12: rgb(34 197 94 / 12%);
110
+ --dsw-static-green-900: rgb(35, 60, 44);
111
+ --dsw-static-neutral-00: rgb(255, 255, 255);
112
+ --dsw-static-neutral-1000: rgb(0, 0, 0);
113
+ --dsw-static-neutral-100: rgb(245, 245, 245);
114
+ --dsw-static-neutral-150: rgb(237, 237, 237);
115
+ --dsw-static-neutral-200: rgb(229, 229, 229);
116
+ --dsw-static-neutral-250: rgb(220, 220, 220);
117
+ --dsw-static-neutral-300: rgb(212, 212, 212);
118
+ --dsw-static-neutral-400: rgb(162, 164, 166);
119
+ --dsw-static-neutral-500: rgb(127, 130, 135);
120
+ --dsw-static-neutral-50: rgb(250, 250, 250);
121
+ --dsw-static-neutral-550: rgb(101, 103, 107);
122
+ --dsw-static-neutral-600: rgb(84, 85, 87);
123
+ --dsw-static-neutral-700: rgb(60, 60, 61);
124
+ --dsw-static-neutral-800: rgb(41, 41, 41);
125
+ --dsw-static-neutral-850: rgb(33, 33, 35);
126
+ --dsw-static-neutral-900: rgb(15, 15, 15);
127
+ --dsw-static-neutral-bluish-00: rgb(255, 255, 255);
128
+ --dsw-static-neutral-bluish-1000: rgb(15, 17, 21);
129
+ --dsw-static-neutral-bluish-100: rgb(235, 238, 242);
130
+ --dsw-static-neutral-bluish-150: rgb(233, 236, 242);
131
+ --dsw-static-neutral-bluish-200: rgb(225, 229, 238);
132
+ --dsw-static-neutral-bluish-300: rgb(207, 211, 214);
133
+ --dsw-static-neutral-bluish-310: rgb(202, 210, 219);
134
+ --dsw-static-neutral-bluish-400: rgb(173, 178, 184);
135
+ --dsw-static-neutral-bluish-500: rgb(151, 157, 166);
136
+ --dsw-static-neutral-bluish-50: rgb(249, 250, 251);
137
+ --dsw-static-neutral-bluish-55: rgb(245, 247, 250);
138
+ --dsw-static-neutral-bluish-600: rgb(129, 133, 140);
139
+ --dsw-static-neutral-bluish-60: rgb(245, 246, 247);
140
+ --dsw-static-neutral-bluish-700: rgb(97, 102, 107);
141
+ --dsw-static-neutral-bluish-750: rgb(67, 69, 74);
142
+ --dsw-static-neutral-bluish-75: rgb(241, 243, 245);
143
+ --dsw-static-neutral-bluish-800: rgb(53, 54, 56);
144
+ --dsw-static-neutral-bluish-850: rgb(44, 44, 46);
145
+ --dsw-static-neutral-bluish-875: rgb(35, 35, 36);
146
+ --dsw-static-neutral-bluish-900: rgb(27, 27, 28);
147
+ --dsw-static-neutral-bluish-90: rgb(237, 240, 244);
148
+ --dsw-static-neutral-bluish-950: rgb(21, 21, 23);
149
+ --dsw-static-red-100: rgb(254, 226, 226);
150
+ --dsw-static-red-400: rgb(242, 90, 90);
151
+ --dsw-static-red-400-a12: rgb(242 90 90 / 12%);
152
+ --dsw-static-red-500: rgb(239, 68, 68);
153
+ --dsw-static-red-50: rgb(254, 242, 242);
154
+ --dsw-static-red-600: rgb(236, 19, 19);
155
+ --dsw-static-red-600-a08: rgb(236 19 19 / 8%);
156
+ --dsw-static-red-900: rgb(87, 12, 12);
157
+ --dsw-static-violet-400: rgb(167, 139, 250);
158
+ --dsw-static-violet-600: rgb(124, 58, 237);
159
+ }
160
+
161
+ body[data-ds-dark-theme] {
162
+ --dsw-static-amber-100: rgb(254, 245, 231);
163
+ --dsw-static-amber-400: rgb(247, 173, 49);
164
+ --dsw-static-amber-500: rgb(245, 158, 11);
165
+ --dsw-static-amber-600: rgb(221, 134, 41);
166
+ --dsw-static-amber-900: rgb(39, 36, 31);
167
+ --dsw-static-blue-100: rgb(219, 234, 254);
168
+ --dsw-static-blue-300: rgb(147, 197, 253);
169
+ --dsw-static-blue-400: rgb(96, 165, 250);
170
+ --dsw-static-blue-450: rgb(77, 147, 248);
171
+ --dsw-static-blue-500: rgb(59, 130, 246);
172
+ --dsw-static-blue-50: rgb(239, 246, 255);
173
+ --dsw-static-blue-50p: rgb(234, 243, 255);
174
+ --dsw-static-blue-600: rgb(37, 99, 235);
175
+ --dsw-static-blue-75: rgb(229, 240, 255);
176
+ --dsw-static-blue-800: rgb(30, 64, 175);
177
+ --dsw-static-blue-900: rgb(14, 48, 116);
178
+ --dsw-static-blue-950: rgb(23, 37, 84);
179
+ --dsw-static-deepseek-100: rgb(228, 237, 253);
180
+ --dsw-static-deepseek-200: rgb(211, 226, 255);
181
+ --dsw-static-deepseek-300: rgb(183, 200, 254);
182
+ /* Brightened from the platform rgb(103, 158, 254) at the designer's request: legibility on the dark toast surface. */
183
+ --dsw-static-deepseek-400: rgb(122, 170, 255);
184
+ --dsw-static-deepseek-450: rgb(86, 134, 254);
185
+ --dsw-static-deepseek-500: rgb(65, 118, 230);
186
+ --dsw-static-deepseek-50: rgb(237, 243, 254);
187
+ --dsw-static-deepseek-600: rgb(72, 104, 178);
188
+ --dsw-static-deepseek-700-delete: rgb(47, 76, 143);
189
+ --dsw-static-deepseek-800: rgb(52, 65, 91);
190
+ --dsw-static-deepseek-900: rgb(40, 49, 66);
191
+ --dsw-static-green-100: rgb(230, 250, 237);
192
+ --dsw-static-green-400: rgb(78, 209, 126);
193
+ --dsw-static-green-500: rgb(34, 197, 94);
194
+ --dsw-static-green-500-a08: rgb(34 197 94 / 8%);
195
+ --dsw-static-green-500-a12: rgb(34 197 94 / 12%);
196
+ --dsw-static-green-900: rgb(35, 60, 44);
197
+ --dsw-static-neutral-00: rgb(255, 255, 255);
198
+ --dsw-static-neutral-1000: rgb(0, 0, 0);
199
+ --dsw-static-neutral-100: rgb(245, 245, 245);
200
+ --dsw-static-neutral-150: rgb(237, 237, 237);
201
+ --dsw-static-neutral-200: rgb(229, 229, 229);
202
+ --dsw-static-neutral-250: rgb(220, 220, 220);
203
+ --dsw-static-neutral-300: rgb(212, 212, 212);
204
+ --dsw-static-neutral-400: rgb(162, 164, 166);
205
+ --dsw-static-neutral-500: rgb(127, 130, 135);
206
+ --dsw-static-neutral-50: rgb(250, 250, 250);
207
+ --dsw-static-neutral-550: rgb(101, 103, 107);
208
+ --dsw-static-neutral-600: rgb(84, 85, 87);
209
+ --dsw-static-neutral-700: rgb(60, 60, 61);
210
+ --dsw-static-neutral-800: rgb(41, 41, 41);
211
+ --dsw-static-neutral-850: rgb(33, 33, 35);
212
+ --dsw-static-neutral-900: rgb(15, 15, 15);
213
+ --dsw-static-neutral-bluish-00: rgb(255, 255, 255);
214
+ --dsw-static-neutral-bluish-1000: rgb(15, 17, 21);
215
+ --dsw-static-neutral-bluish-100: rgb(235, 238, 242);
216
+ --dsw-static-neutral-bluish-150: rgb(233, 236, 242);
217
+ --dsw-static-neutral-bluish-200: rgb(225, 229, 238);
218
+ --dsw-static-neutral-bluish-300: rgb(207, 211, 214);
219
+ --dsw-static-neutral-bluish-310: rgb(202, 210, 219);
220
+ --dsw-static-neutral-bluish-400: rgb(173, 178, 184);
221
+ --dsw-static-neutral-bluish-500: rgb(151, 157, 166);
222
+ --dsw-static-neutral-bluish-50: rgb(249, 250, 251);
223
+ --dsw-static-neutral-bluish-55: rgb(245, 247, 250);
224
+ --dsw-static-neutral-bluish-600: rgb(129, 133, 140);
225
+ --dsw-static-neutral-bluish-60: rgb(249, 250, 251);
226
+ --dsw-static-neutral-bluish-700: rgb(97, 102, 107);
227
+ --dsw-static-neutral-bluish-750: rgb(67, 69, 74);
228
+ --dsw-static-neutral-bluish-75: rgb(241, 243, 245);
229
+ --dsw-static-neutral-bluish-800: rgb(53, 54, 56);
230
+ --dsw-static-neutral-bluish-850: rgb(44, 44, 46);
231
+ --dsw-static-neutral-bluish-875: rgb(35, 35, 36);
232
+ --dsw-static-neutral-bluish-900: rgb(27, 27, 28);
233
+ --dsw-static-neutral-bluish-90: rgb(237, 240, 244);
234
+ --dsw-static-neutral-bluish-950: rgb(21, 21, 23);
235
+ --dsw-static-red-100: rgb(254, 226, 226);
236
+ --dsw-static-red-400: rgb(242, 90, 90);
237
+ --dsw-static-red-400-a12: rgb(242 90 90 / 12%);
238
+ --dsw-static-red-500: rgb(239, 68, 68);
239
+ --dsw-static-red-50: rgb(254, 242, 242);
240
+ --dsw-static-red-600: rgb(236, 19, 19);
241
+ --dsw-static-red-600-a08: rgb(236 19 19 / 8%);
242
+ --dsw-static-red-900: rgb(87, 12, 12);
243
+ --dsw-static-violet-400: rgb(167, 139, 250);
244
+ --dsw-static-violet-600: rgb(124, 58, 237);
245
+ }
246
+
247
+ body {
248
+ --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-00);
249
+ --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-100);
250
+ --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);
251
+ --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-700);
252
+ --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-00);
253
+ --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-00);
254
+ --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-00);
255
+ --dsw-alias-bg-mask-1: rgba(0, 0, 0, 0.24);
256
+ --dsw-alias-bg-mask-2: rgba(0, 0, 0, 0.12);
257
+ --dsw-alias-bg-mask-3: rgba(0, 0, 0, 0.48);
258
+ --dsw-alias-bg-mask-photo: rgba(0, 0, 0, 0.88);
259
+ --dsw-alias-bg-mask-drop: rgba(255, 255, 255, 0.7);
260
+ --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-60);
261
+ --dsw-alias-bg-multi-select: var(--dsw-static-neutral-bluish-60);
262
+ --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-150);
263
+ --dsw-alias-bg-skeleton: rgba(0, 0, 0, 0.04);
264
+ --dsw-alias-border-inverted2: rgba(0, 0, 0, 0);
265
+ --dsw-alias-border-inverted: rgba(0, 0, 0, 0);
266
+ --dsw-alias-border-l1: rgba(0, 0, 0, 0.04);
267
+ --dsw-alias-border-l2-darkmode-thin: rgba(0, 0, 0, 0.1);
268
+ --dsw-alias-border-l2: rgba(0, 0, 0, 0.1);
269
+ --dsw-alias-border-l3: rgba(0, 0, 0, 0.12);
270
+ --dsw-alias-border-l4: rgba(0, 0, 0, 0.16);
271
+ --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-1000);
272
+ --dsw-alias-brand-primary-new-colorprimary-new-color: rgb(65, 118, 230);
273
+ --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-1000);
274
+ --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-1000);
275
+ --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-700);
276
+ --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-00);
277
+ --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-00);
278
+ --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-75);
279
+ --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-500);
280
+ --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-100);
281
+ --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-150);
282
+ --dsw-alias-button-info-fill: var(--dsw-static-deepseek-500);
283
+ --dsw-alias-button-info-hover: var(--dsw-static-deepseek-400);
284
+ --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-100);
285
+ --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);
286
+ --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-750);
287
+ --dsw-alias-button-tool-bar-fill-invisible: rgba(31, 31, 31, 0.36);
288
+ --dsw-alias-button-tool-bar-fill: rgba(84, 85, 87, 0.5);
289
+ --dsw-alias-button-tool-bar-hover: rgba(84, 85, 87, 0.6);
290
+ --dsw-alias-illustration-background: var(--dsw-static-neutral-bluish-55);
291
+ --dsw-alias-illustration-backing: var(--dsw-static-neutral-bluish-310);
292
+ --dsw-alias-illustration-detail: var(--dsw-static-neutral-bluish-310);
293
+ --dsw-alias-illustration-inset: var(--dsw-alias-illustration-surface);
294
+ --dsw-alias-illustration-shadow: var(--dsw-alias-illustration-surface);
295
+ --dsw-alias-illustration-surface: var(--dsw-static-neutral-bluish-90);
296
+ --dsw-alias-interactive-bg-active: rgba(38, 49, 72, 0.1);
297
+ --dsw-alias-interactive-bg-hover-accent: rgba(38, 49, 72, 0.14);
298
+ --dsw-alias-interactive-bg-hover-danger: rgba(236, 19, 19, 0.05);
299
+ --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-75);
300
+ --dsw-alias-interactive-bg-hover: rgba(38, 49, 72, 0.06);
301
+ --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-400);
302
+ --dsw-alias-label-deep-diving: color-mix(in srgb, var(--dsw-static-deepseek-500) 70%, var(--dsw-static-blue-950));
303
+ --dsw-alias-label-deep-diving-shimmer: color-mix(
304
+ in srgb,
305
+ var(--dsw-static-deepseek-500) 30%,
306
+ var(--dsw-static-blue-950)
307
+ );
308
+ --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-200);
309
+ --dsw-alias-label-primary-bluish: var(--dsw-static-blue-900);
310
+ --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-950);
311
+ --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-00);
312
+ --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-00);
313
+ --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-1000);
314
+ --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-700);
315
+ --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-1000) 30%, transparent);
316
+ --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-600);
317
+ --dsw-alias-menu-icon: var(--dsw-static-neutral-bluish-800);
318
+ --dsw-alias-link: var(--dsw-static-deepseek-500);
319
+ --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-100);
320
+ --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-50);
321
+ --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-50);
322
+ --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-00);
323
+ --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-75);
324
+ --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-50);
325
+ --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-60);
326
+ --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-75);
327
+ --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-200);
328
+ --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-200);
329
+ --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-300);
330
+ --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-300);
331
+ --dsw-alias-state-business-primary: var(--dsw-static-deepseek-500);
332
+ --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-100);
333
+ --dsw-alias-code-diff-added: var(--dsw-static-green-500-a08);
334
+ --dsw-alias-code-diff-deleted: var(--dsw-static-red-600-a08);
335
+ --dsw-alias-file-diff-added-bg: rgb(230, 244, 231);
336
+ --dsw-alias-file-diff-added-gutter: rgb(237, 247, 237);
337
+ --dsw-alias-file-diff-added-marker: rgb(1, 162, 65);
338
+ --dsw-alias-file-diff-deleted-bg: rgb(252, 230, 226);
339
+ --dsw-alias-file-diff-deleted-gutter: rgb(253, 236, 233);
340
+ --dsw-alias-file-diff-deleted-marker: rgb(186, 39, 35);
341
+ --dsw-alias-state-done-primary: var(--dsw-static-violet-600);
342
+ --dsw-alias-state-error-primary: var(--dsw-static-red-600);
343
+ --dsw-alias-state-error-secondary: var(--dsw-static-red-400);
344
+ --dsw-alias-state-idle-primary: var(--dsw-static-neutral-300);
345
+ --dsw-alias-state-success-primary: var(--dsw-static-green-500);
346
+ --dsw-alias-state-success-secondary: var(--dsw-static-green-400);
347
+ --dsw-alias-state-success-tertiary: var(--dsw-static-green-100);
348
+ --dsw-alias-state-warn-label: var(--dsw-static-amber-600);
349
+ --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);
350
+ --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);
351
+ --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-100);
352
+ --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-00);
353
+ --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-800);
354
+ --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);
355
+ --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-850);
356
+ --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);
357
+ --dsw-alias-turn-trigger-bg: var(--dsw-alias-markdown-code-block);
358
+ --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-hover);
359
+ --dsw-specific-bubble-highlight: var(--dsw-static-deepseek-200);
360
+ --dsw-specific-bubble: var(--dsw-static-deepseek-50);
361
+ --dsw-specific-input-major: var(--dsw-static-neutral-bluish-00);
362
+ --dsw-specific-login-input: var(--dsw-static-neutral-bluish-50);
363
+ --dsw-menu-surface-fill: rgba(252, 253, 254, 0.7);
364
+ --dsw-alias-menu-group-header-fill: rgba(248, 249, 250, 0.94);
365
+ --dsw-specific-menu: var(--dsw-menu-surface-fill);
366
+ --dsw-specific-selector: var(--dsw-static-neutral-bluish-60);
367
+ --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-50);
368
+ --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-deepseek-100);
369
+ --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-100);
370
+ --dsw-specific-tip: var(--dsw-static-neutral-bluish-60);
371
+
372
+ background-color: var(--dsw-alias-bg-base);
373
+ }
374
+
375
+ body[data-ds-dark-theme] {
376
+ --dsw-alias-bg-base: var(--dsw-static-neutral-bluish-950);
377
+ --dsw-alias-bg-document-preview: var(--dsw-static-neutral-bluish-950);
378
+ --dsw-alias-bg-document-selection: color-mix(in srgb, var(--dsw-static-blue-500) 40%, transparent);
379
+ --dsw-alias-label-document-preview: var(--dsw-static-neutral-bluish-300);
380
+ --dsw-alias-bg-layer-1: var(--dsw-static-neutral-bluish-875);
381
+ --dsw-alias-bg-layer-2: var(--dsw-static-neutral-bluish-850);
382
+ --dsw-alias-bg-layer-3: var(--dsw-static-neutral-bluish-800);
383
+ --dsw-alias-bg-mask-1: rgba(0, 0, 0, 0.5);
384
+ --dsw-alias-bg-mask-2: rgba(0, 0, 0, 0.2);
385
+ --dsw-alias-bg-mask-3: rgba(0, 0, 0, 0.48);
386
+ --dsw-alias-bg-mask-photo: rgba(0, 0, 0, 0.88);
387
+ --dsw-alias-bg-mask-drop: rgba(39, 39, 48, 0.7);
388
+ --dsw-alias-bg-module-platform: var(--dsw-static-neutral-bluish-800);
389
+ --dsw-alias-bg-multi-select: var(--dsw-static-neutral-850);
390
+ --dsw-alias-bg-overlay: var(--dsw-static-neutral-bluish-700);
391
+ --dsw-alias-bg-skeleton: rgba(255, 255, 255, 0.08);
392
+ --dsw-alias-border-inverted2: rgba(255, 255, 255, 0.08);
393
+ --dsw-alias-border-inverted: rgba(255, 255, 255, 0.06);
394
+ --dsw-alias-border-l1: rgba(255, 255, 255, 0.06);
395
+ --dsw-alias-border-l2-darkmode-thin: rgba(255, 255, 255, 0.06);
396
+ --dsw-alias-border-l2: rgba(255, 255, 255, 0.12);
397
+ --dsw-alias-border-l3: rgba(255, 255, 255, 0.16);
398
+ --dsw-alias-border-l4: rgba(255, 255, 255, 0.2);
399
+ --dsw-alias-brand-primary-invert: var(--dsw-static-neutral-bluish-50);
400
+ --dsw-alias-brand-primary-new-colorprimary-new-color: var(--dsw-static-deepseek-450);
401
+ --dsw-alias-brand-primary: var(--dsw-static-neutral-bluish-50);
402
+ --dsw-alias-brand-text: var(--dsw-static-neutral-bluish-50);
403
+ --dsw-alias-button-contrast-fill: var(--dsw-static-neutral-bluish-50);
404
+ --dsw-alias-button-elevated-fill: var(--dsw-static-neutral-bluish-750);
405
+ --dsw-alias-button-floating-fill: var(--dsw-static-neutral-bluish-850);
406
+ --dsw-alias-button-floating-hover: var(--dsw-static-neutral-bluish-800);
407
+ --dsw-alias-button-ghost-active-border: var(--dsw-static-neutral-bluish-600);
408
+ --dsw-alias-button-ghost-active-fill: var(--dsw-static-neutral-bluish-750);
409
+ --dsw-alias-button-ghost-active-hover: var(--dsw-static-neutral-bluish-700);
410
+ --dsw-alias-button-info-fill: var(--dsw-static-deepseek-400);
411
+ --dsw-alias-button-info-hover: var(--dsw-static-deepseek-500);
412
+ --dsw-alias-button-primary-dimmed: var(--dsw-static-neutral-bluish-750);
413
+ --dsw-alias-button-primary-fill: var(--dsw-alias-brand-primary);
414
+ --dsw-alias-button-primary-hover: var(--dsw-static-neutral-bluish-100);
415
+ --dsw-alias-button-tool-bar-fill-invisible: rgba(31, 31, 31, 0.36);
416
+ --dsw-alias-button-tool-bar-fill: rgba(84, 85, 87, 0.5);
417
+ --dsw-alias-button-tool-bar-hover: rgba(84, 85, 87, 0.6);
418
+ --dsw-alias-illustration-background: var(--dsw-static-neutral-bluish-850);
419
+ --dsw-alias-illustration-backing: var(--dsw-static-neutral-bluish-750);
420
+ --dsw-alias-illustration-detail: var(--dsw-static-neutral-bluish-600);
421
+ --dsw-alias-illustration-inset: var(--dsw-alias-illustration-backing);
422
+ --dsw-alias-illustration-shadow: var(--dsw-alias-illustration-backing);
423
+ --dsw-alias-illustration-surface: var(--dsw-static-neutral-bluish-700);
424
+ --dsw-alias-interactive-bg-active: rgba(255, 255, 255, 0.14);
425
+ --dsw-alias-interactive-bg-hover-accent: rgba(255, 255, 255, 0.24);
426
+ --dsw-alias-interactive-bg-hover-danger: rgba(242, 90, 90, 0.15);
427
+ --dsw-alias-interactive-bg-hover-solid: var(--dsw-static-neutral-bluish-800);
428
+ --dsw-alias-interactive-bg-hover: rgba(255, 255, 255, 0.08);
429
+ --dsw-alias-label-caption: var(--dsw-static-neutral-bluish-600);
430
+ --dsw-alias-label-deep-diving: color-mix(
431
+ in srgb,
432
+ var(--dsw-static-deepseek-450) 55%,
433
+ var(--dsw-static-neutral-bluish-400)
434
+ );
435
+ --dsw-alias-label-deep-diving-shimmer: color-mix(
436
+ in srgb,
437
+ var(--dsw-static-blue-300) 65%,
438
+ var(--dsw-static-deepseek-400)
439
+ );
440
+ --dsw-alias-label-dimmed: var(--dsw-static-neutral-bluish-750);
441
+ --dsw-alias-label-primary-bluish: var(--dsw-static-neutral-bluish-50);
442
+ --dsw-alias-label-primary-dimmed: var(--dsw-static-neutral-bluish-100);
443
+ --dsw-alias-label-primary-foreground: var(--dsw-static-neutral-bluish-1000);
444
+ --dsw-alias-label-primary-inverted: var(--dsw-static-neutral-bluish-800);
445
+ --dsw-alias-label-primary: var(--dsw-static-neutral-bluish-50);
446
+ --dsw-alias-label-secondary: var(--dsw-static-neutral-bluish-300);
447
+ --dsw-alias-label-shimmer: color-mix(in srgb, var(--dsw-static-neutral-00) 45%, transparent);
448
+ --dsw-alias-label-tertiary: var(--dsw-static-neutral-bluish-400);
449
+ --dsw-alias-menu-icon: var(--dsw-alias-label-primary-dimmed);
450
+ --dsw-alias-link: var(--dsw-static-deepseek-400);
451
+ --dsw-alias-markdown-citation: var(--dsw-static-neutral-bluish-800);
452
+ --dsw-alias-markdown-code-block-banner: var(--dsw-static-neutral-bluish-850);
453
+ --dsw-alias-markdown-code-block: var(--dsw-static-neutral-bluish-900);
454
+ --dsw-alias-markdown-code-segment-selected: var(--dsw-static-neutral-bluish-800);
455
+ --dsw-alias-markdown-code-segment-unselected: var(--dsw-static-neutral-bluish-900);
456
+ --dsw-alias-markdown-inline-code: var(--dsw-static-neutral-800);
457
+ --dsw-alias-markdown-placeholder: var(--dsw-static-neutral-bluish-850);
458
+ --dsw-alias-markdown-tag: var(--dsw-static-neutral-bluish-850);
459
+ --dsw-alias-scrollbar-bg-l1: var(--dsw-static-neutral-700);
460
+ --dsw-alias-scrollbar-bg-l2: var(--dsw-static-neutral-600);
461
+ --dsw-alias-scrollbar-hover-l1: var(--dsw-static-neutral-600);
462
+ --dsw-alias-scrollbar-hover-l2: var(--dsw-static-neutral-550);
463
+ --dsw-alias-state-business-primary: var(--dsw-static-deepseek-400);
464
+ --dsw-alias-state-business-tertiary: var(--dsw-static-deepseek-800);
465
+ --dsw-alias-code-diff-added: var(--dsw-static-green-500-a12);
466
+ --dsw-alias-code-diff-deleted: var(--dsw-static-red-400-a12);
467
+ --dsw-alias-file-diff-added-bg: rgb(31, 49, 36);
468
+ --dsw-alias-file-diff-added-gutter: rgb(19, 32, 22);
469
+ --dsw-alias-file-diff-added-marker: rgb(65, 201, 119);
470
+ --dsw-alias-file-diff-deleted-bg: rgb(60, 31, 27);
471
+ --dsw-alias-file-diff-deleted-gutter: rgb(40, 19, 14);
472
+ --dsw-alias-file-diff-deleted-marker: rgb(250, 66, 62);
473
+ --dsw-alias-state-done-primary: var(--dsw-static-violet-400);
474
+ --dsw-alias-state-error-primary: var(--dsw-static-red-400);
475
+ --dsw-alias-state-error-secondary: var(--dsw-static-red-400);
476
+ --dsw-alias-state-idle-primary: var(--dsw-static-neutral-600);
477
+ --dsw-alias-state-success-primary: var(--dsw-static-green-500);
478
+ --dsw-alias-state-success-secondary: var(--dsw-static-green-400);
479
+ --dsw-alias-state-success-tertiary: var(--dsw-static-green-900);
480
+ --dsw-alias-state-warn-label: var(--dsw-static-amber-600);
481
+ --dsw-alias-state-warn-primary: var(--dsw-static-amber-500);
482
+ --dsw-alias-state-warn-secondary: var(--dsw-static-amber-400);
483
+ --dsw-alias-state-warn-tertiary: var(--dsw-static-amber-900);
484
+ --dsw-alias-switch-thumb: var(--dsw-static-neutral-bluish-400);
485
+ --dsw-alias-toast-bg: var(--dsw-static-neutral-bluish-750);
486
+ --dsw-alias-toast-label: var(--dsw-static-neutral-bluish-00);
487
+ --dsw-alias-turn-trigger-bg: var(--dsw-alias-interactive-bg-hover);
488
+ --dsw-alias-turn-trigger-bg-hover: var(--dsw-alias-interactive-bg-active);
489
+ --dsw-alias-tooltip-bg: var(--dsw-static-neutral-bluish-750);
490
+ --dsw-alias-tooltip-key-bg: color-mix(in srgb, var(--dsw-alias-tooltip-bg), white 18%);
491
+ --dsw-specific-bubble-highlight: var(--dsw-static-neutral-bluish-750);
492
+ --dsw-specific-bubble: var(--dsw-static-neutral-bluish-850);
493
+ --dsw-specific-input-major: var(--dsw-static-neutral-bluish-850);
494
+ --dsw-specific-login-input: var(--dsw-static-neutral-bluish-900);
495
+ --dsw-menu-surface-fill: rgba(48, 49, 54, 0.64);
496
+ --dsw-alias-menu-group-header-fill: rgba(48, 49, 54, 0.94);
497
+ --dsw-specific-menu: var(--dsw-menu-surface-fill);
498
+ --dsw-specific-selector: var(--dsw-static-neutral-bluish-800);
499
+ --dsw-specific-sidebar-fill: var(--dsw-static-neutral-bluish-900);
500
+ --dsw-specific-sidebar-nav-item-active-accent: var(--dsw-static-neutral-bluish-800);
501
+ --dsw-specific-sidebar-nav-item-active: var(--dsw-static-neutral-bluish-750);
502
+ --dsw-specific-tip: var(--dsw-static-neutral-bluish-800);
503
+ }
504
+
505
+ /* Overlays without MenuSurface's opaque backing cannot blur page content over
506
+ * native vibrancy reliably, so their fill stays nearly opaque on macOS. */
507
+ html[data-platform='darwin'] body {
508
+ --dsw-specific-menu: rgba(248, 249, 250, 0.94);
509
+ }
510
+
511
+ html[data-platform='darwin'] body[data-ds-dark-theme] {
512
+ --dsw-specific-menu: rgba(48, 49, 54, 0.94);
513
+ }
514
+
515
+ /* Components own offsets; dense tables and toolbars may keep a 1px ring. */
516
+ :root {
517
+ --dsw-focus-ring-width: 2px;
518
+ }
519
+
520
+ /* The fallback names the colour and the standard width, never the style: a control that
521
+ * disables its outline keeps `none` and paints nothing. Without the width, Chromium's
522
+ * unnamed ring stayed at `auto 1px` while every declared ring used the standard geometry.
523
+ * Declared rings also read this color, including rings on descendants and pseudo-elements. */
524
+ :focus-visible {
525
+ outline-color: var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));
526
+ outline-width: var(--dsw-focus-ring-width);
527
+ }
528
+
529
+ /* ui-primitives/input-modality publishes the attribute. Editable controls keep
530
+ * their focus feedback on click; other controls reveal rings on keyboard
531
+ * navigation. Only ring paint is suppressed, not elevation or selected borders. */
532
+ html[data-input-modality='pointer'] body :focus-visible:not(:read-write) {
533
+ --dsw-focus-ring-color: transparent;
534
+ outline-color: transparent;
535
+ }
536
+
537
+ /* Onboarding palette and themed materials; card geometry and animation belong to the feature. */
538
+ body {
539
+ --dsw-alias-onboarding-accent: rgb(57, 100, 254);
540
+ --dsw-gradient-onboarding-violet-stops: #2a2fb6 33.102%, #8b76f6 50.954%, #c5c0ff 85.326%, #2a2fb6;
541
+ --dsw-gradient-onboarding-blue-stops: #3964fe 18.75%, #398efe 51.78%, #6dccff 86.252%, #3964fe;
542
+ --dsw-gradient-onboarding-cyan-stops: #0293b4 21.154%, #2dc8eb 50.954%, #aff0ff 85.326%, #0293b4;
543
+ --dsw-alias-onboarding-card-fill: color-mix(in srgb, var(--dsw-static-neutral-bluish-00) 80%, transparent);
544
+ --dsw-alias-onboarding-secondary-fill: var(--dsw-static-neutral-bluish-00);
545
+ --dsw-alias-onboarding-checkbox-border: color-mix(in srgb, var(--dsw-static-neutral-bluish-1000) 20%, transparent);
546
+ }
547
+
548
+ body[data-ds-dark-theme] {
549
+ --dsw-alias-onboarding-card-fill: color-mix(in srgb, var(--dsw-static-neutral-bluish-850) 80%, transparent);
550
+ --dsw-alias-onboarding-secondary-fill: rgb(72, 73, 76);
551
+ --dsw-alias-onboarding-checkbox-border: var(--dsw-alias-border-l2);
552
+ }
553
+
554
+ /* Scrollbar skin: the sole consumer of the four --dsw-alias-scrollbar-*
555
+ * tokens. Without it every scrolling region renders the UA scrollbar, which
556
+ * ignores the theme — a light native bar over the dark palette.
557
+ *
558
+ * The rules sit on `body`, not `html`: design-platform.css declares the
559
+ * --dsw-alias-* tokens on `body` (and the dark overrides on
560
+ * `body[data-ds-dark-theme]`), and custom properties only inherit downward,
561
+ * so an `html` rule resolves them to the guaranteed-invalid value and
562
+ * `scrollbar-color` falls back to `auto`.
563
+ *
564
+ * Surfaces pick their elevation by rebinding --dsh-scrollbar-thumb{,-hover}:
565
+ * the l1 pair here is the base-surface default, and an elevated surface
566
+ * (menu, popover, dialog) rebinds to the l2 pair on its own container. A
567
+ * scroll container may also rebind the three geometry variables below. */
568
+
569
+ body {
570
+ --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l1);
571
+ --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l1);
572
+ --dsh-scrollbar-thumb-border: 0px;
573
+ --dsh-scrollbar-track-margin: 0px;
574
+ /* The WebKit bar's layout width, mirrored by the ::-webkit-scrollbar rule
575
+ below. A surface that must align itself beside a space-consuming bar
576
+ (ConversationRoot's overlay composer seat) reads this instead of
577
+ hardcoding the number. */
578
+ --dsh-scrollbar-width: 5px;
579
+ }
580
+
581
+ /* The two paths are mutually exclusive, and the gate is load-bearing rather
582
+ than defensive. A non-`auto` `scrollbar-width` or `scrollbar-color` makes
583
+ Chromium and Safari drop every `::-webkit-scrollbar*` rule for that
584
+ element, including `::-webkit-scrollbar-thumb:hover` — measured in chromium
585
+ as a `::-webkit-scrollbar` width taking effect on its own and being
586
+ ignored as soon as `scrollbar-width: thin` is added. Declaring both
587
+ unconditionally therefore leaves the hover tokens with no rendering at all,
588
+ because the engines that implement the hover pseudo-element are exactly the
589
+ ones the standard properties silence, and Firefox has no hover
590
+ pseudo-element to fall back on.
591
+
592
+ `not selector(::-webkit-scrollbar)` is true only where the pseudo-element
593
+ is unimplemented, so Firefox takes the standard path and WebKit-based
594
+ engines take the pseudo-element path. An engine too old for the
595
+ `selector()` function makes the condition invalid, which evaluates false
596
+ and selects the pseudo-element path — the correct side for the pre-16.4
597
+ Safari that is the realistic case. */
598
+ @supports not selector(::-webkit-scrollbar) {
599
+ /* Declared on every element rather than inherited from `body`. Inheriting
600
+ would pass down the COLOUR already substituted at `body`, so a descendant
601
+ rebinding --dsh-scrollbar-thumb could not change it; re-declaring makes
602
+ each element substitute the variable as it sees it, which is what gives
603
+ an elevated surface a working rebind. `scrollbar-width` is not an
604
+ inherited property at all, so it needs the per-element declaration
605
+ regardless.
606
+
607
+ No hover counterpart exists on this path: `scrollbar-color` states one
608
+ thumb colour and the engine derives its own hover treatment. */
609
+ body,
610
+ body * {
611
+ scrollbar-width: thin;
612
+ scrollbar-color: var(--dsh-scrollbar-thumb) transparent;
613
+ }
614
+ }
615
+
616
+ /* Not gated in turn: an engine that does not implement these pseudo-elements
617
+ drops the rules as unknown selectors, so the gate would only restate what
618
+ selector matching already does. Not inherited either, hence the unscoped
619
+ selectors. */
620
+ ::-webkit-scrollbar {
621
+ width: var(--dsh-scrollbar-width);
622
+ height: var(--dsh-scrollbar-width);
623
+ }
624
+
625
+ /* Track stays transparent so the thumb reads against whatever surface scrolls
626
+ under it; only the thumb carries a token colour. */
627
+ ::-webkit-scrollbar-track {
628
+ margin-block: var(--dsh-scrollbar-track-margin);
629
+ background: transparent;
630
+ }
631
+
632
+ ::-webkit-scrollbar-thumb {
633
+ border: var(--dsh-scrollbar-thumb-border) solid transparent;
634
+ border-radius: 999px;
635
+ corner-shape: round;
636
+ background: var(--dsh-scrollbar-thumb);
637
+ background-clip: content-box;
638
+ }
639
+
640
+ @media (hover: hover) {
641
+ ::-webkit-scrollbar-thumb:hover {
642
+ background-color: var(--dsh-scrollbar-thumb-hover);
643
+ }
644
+ }
645
+
646
+ /* Both scrollbars meeting in a corner: no separate token, so the corner
647
+ matches the transparent track rather than the UA's opaque default. */
648
+ ::-webkit-scrollbar-corner {
649
+ background: transparent;
650
+ }
651
+
652
+ body {
653
+ --dsw-linear-gradient-think: linear-gradient(180deg, #fff 20.19%, rgba(255, 255, 255, 0) 100%);
654
+ --dsw-linear-think-select: linear-gradient(180deg, #f5f6f7 20.19%, rgba(245, 246, 247, 0) 100%);
655
+ /* 阴影 */
656
+ --dsw-shadow-lv1: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
657
+ --dsw-shadow-lv1-blur: 0 4px 12px 0 rgba(0, 0, 0, 0.02);
658
+ --dsw-shadow-lv2: 0 4px 12px 0 rgba(0, 0, 0, 0.02), 0 2px 8px 0 rgba(0, 0, 0, 0.04);
659
+ --dsw-shadow-lv3: 0 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 4px 0 rgba(0, 0, 0, 0.02), 0 12px 32px 0 rgba(0, 0, 0, 0.08);
660
+ /* Elevation:浮层/面板/面型按钮的描边+投影三件套。0.5px 发丝描边画在
661
+ box-shadow 里(组件配 border: 0,不占布局),叠两层极淡柔光;深色主题下
662
+ 柔光几乎不可见,由描边承担分离。描边颜色经 --dsw-elevation-stroke-color
663
+ 间接,组件可重绑(菜单面重绑最浅的 l1、输入框重绑 l2,输入框的
664
+ workspace-trigger 态置 transparent 只保留柔光)。soft 供输入框:更大
665
+ 模糊、更低透明度的柔光。默认色只声明在 body 上,让表面的重绑沿继承
666
+ 传给真正消费投影的后代。 */
667
+ --dsw-elevation-stroke-color: var(--dsw-alias-border-l4);
668
+ /* Blocking masks dim the page; menu backgrounds retain their blur. */
669
+ --dsw-mask-blur: none;
670
+ --dsw-menu-backdrop-filter: blur(40px) saturate(150%);
671
+ }
672
+
673
+ body[data-ds-dark-theme] [data-menu-material] {
674
+ --dsw-elevation-stroke-color: var(--dsw-alias-border-l3);
675
+ }
676
+
677
+ /* 派生 elevation 值逐元素声明而非从 body 继承:继承传下来的是在 body 上就
678
+ 已替换完 var() 的值,组件重绑 --dsw-elevation-stroke-color 将无法进入
679
+ var(--dsw-elevation-*);逐元素声明让每个元素按自己看到的描边色重新替换
680
+ (同 scrollbar.css 对 --dsh-scrollbar-thumb 的处理)。 */
681
+ body,
682
+ body * {
683
+ --dsw-elevation-stroke: 0 0 0 0.5px var(--dsw-elevation-stroke-color);
684
+ --dsw-elevation-panel: var(--dsw-elevation-stroke), 0 3px 8px 0 rgba(0, 0, 0, 0.03), 0 0 16px 0 rgba(0, 0, 0, 0.02);
685
+ --dsw-elevation-prominent:
686
+ var(--dsw-elevation-stroke), 0 3px 8px 0 rgba(0, 0, 0, 0.04), 0 0 20px 0 rgba(0, 0, 0, 0.05);
687
+ --dsw-elevation-soft: var(--dsw-elevation-stroke), 0 4px 16px 0 rgba(0, 0, 0, 0.03), 0 0 24px 0 rgba(0, 0, 0, 0.03);
688
+ }
689
+
690
+ body[data-ds-dark-theme] {
691
+ --dsw-linear-gradient-think: linear-gradient(180deg, #151517 20.19%, rgba(21, 21, 23, 0) 100%);
692
+ --dsw-linear-think-select: linear-gradient(180deg, #232325 20.19%, rgba(35, 35, 37, 0) 100%);
693
+ }
694
+
695
+ /* ---------- 字体 ---------- */
696
+ /* 由 @deepseek-figma-plugin/custom-variable-name 插件导出 */
697
+ /* Markdown 阶梯整体按 0.875(正文 16 → 14)等比缩放,四舍五入到整数像素;
698
+ 重新从 Figma 导出时需要保留这一缩放。 */
699
+ /* Bootstrap and ThemePresenter set the integer content size on body (10–22px,
700
+ default 14px). Headings and body variants share its pixel delta. Secondary
701
+ text uses size − 1 through 14px, then size − 2: 10→9, 14→13, 15→13, 22→20.
702
+ max(13px, ...) selects the delta, not a font-size floor. Small typography keeps a
703
+ fixed size; code typography follows the separate code size setting. */
704
+ body {
705
+ --dsh-content-font-delta: calc(var(--dsh-content-font-size, 14px) - 14px);
706
+ --dsh-content-font-size-secondary: min(
707
+ calc(var(--dsh-content-font-size, 14px) - 1px),
708
+ max(13px, calc(var(--dsh-content-font-size, 14px) - 2px))
709
+ );
710
+ --dsh-content-font-delta-secondary: calc(var(--dsh-content-font-size-secondary) - 13px);
711
+ /* Code size setting (--dsh-code-font-size, integer px 10–16, default 11)
712
+ is the code-block size; inline code and the small tool variant move by
713
+ the same increment. */
714
+ --dsh-code-font-delta: calc(var(--dsh-code-font-size, 11px) - 11px);
715
+
716
+ --dsw-font-markdown-h1: 700 calc(21px + var(--dsh-content-font-delta)) / calc(30px + var(--dsh-content-font-delta))
717
+ var(--dsw-font-family);
718
+ --dsw-font-markdown-h1-font-family: var(--dsw-font-family);
719
+ --dsw-font-markdown-h1-font-weight: 700;
720
+ --dsw-font-markdown-h1-line-height: calc(30px + var(--dsh-content-font-delta));
721
+ --dsw-font-markdown-h1-font-size: calc(21px + var(--dsh-content-font-delta));
722
+ --dsw-font-markdown-h1-font-style: normal;
723
+
724
+ --dsw-font-markdown-h2: 700 calc(19px + var(--dsh-content-font-delta)) / calc(28px + var(--dsh-content-font-delta))
725
+ var(--dsw-font-family);
726
+ --dsw-font-markdown-h2-font-family: var(--dsw-font-family);
727
+ --dsw-font-markdown-h2-font-weight: 700;
728
+ --dsw-font-markdown-h2-line-height: calc(28px + var(--dsh-content-font-delta));
729
+ --dsw-font-markdown-h2-font-size: calc(19px + var(--dsh-content-font-delta));
730
+ --dsw-font-markdown-h2-font-style: normal;
731
+
732
+ --dsw-font-markdown-h3: 700 calc(18px + var(--dsh-content-font-delta)) / calc(26px + var(--dsh-content-font-delta))
733
+ var(--dsw-font-family);
734
+ --dsw-font-markdown-h3-font-family: var(--dsw-font-family);
735
+ --dsw-font-markdown-h3-font-weight: 700;
736
+ --dsw-font-markdown-h3-line-height: calc(26px + var(--dsh-content-font-delta));
737
+ --dsw-font-markdown-h3-font-size: calc(18px + var(--dsh-content-font-delta));
738
+ --dsw-font-markdown-h3-font-style: normal;
739
+
740
+ --dsw-font-markdown-h4: 600 var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta))
741
+ var(--dsw-font-family);
742
+ --dsw-font-markdown-h4-font-family: var(--dsw-font-family);
743
+ --dsw-font-markdown-h4-font-weight: 600;
744
+ --dsw-font-markdown-h4-line-height: calc(24px + var(--dsh-content-font-delta));
745
+ --dsw-font-markdown-h4-font-size: var(--dsh-content-font-size, 14px);
746
+ --dsw-font-markdown-h4-font-style: normal;
747
+
748
+ --dsw-font-markdown-base: var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta))
749
+ var(--dsw-font-family);
750
+ --dsw-font-markdown-base-font-family: var(--dsw-font-family);
751
+ --dsw-font-markdown-base-font-weight: 400;
752
+ --dsw-font-markdown-base-line-height: calc(24px + var(--dsh-content-font-delta));
753
+ --dsw-font-markdown-base-font-size: var(--dsh-content-font-size, 14px);
754
+ --dsw-font-markdown-base-font-style: normal;
755
+
756
+ --dsw-font-markdown-base-strong: 600 var(--dsh-content-font-size, 14px) / calc(24px + var(--dsh-content-font-delta))
757
+ var(--dsw-font-family);
758
+ --dsw-font-markdown-base-strong-font-family: var(--dsw-font-family);
759
+ --dsw-font-markdown-base-strong-font-weight: 600;
760
+ --dsw-font-markdown-base-strong-line-height: calc(24px + var(--dsh-content-font-delta));
761
+ --dsw-font-markdown-base-strong-font-size: var(--dsh-content-font-size, 14px);
762
+ --dsw-font-markdown-base-strong-font-style: normal;
763
+
764
+ --dsw-font-markdown-base-italic: italic var(--dsh-content-font-size, 14px) /
765
+ calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
766
+ --dsw-font-markdown-base-italic-font-family: var(--dsw-font-family);
767
+ --dsw-font-markdown-base-italic-font-weight: 400;
768
+ --dsw-font-markdown-base-italic-line-height: calc(24px + var(--dsh-content-font-delta));
769
+ --dsw-font-markdown-base-italic-font-size: var(--dsh-content-font-size, 14px);
770
+ --dsw-font-markdown-base-italic-font-style: italic;
771
+
772
+ --dsw-font-markdown-base-strong-italic: italic 600 var(--dsh-content-font-size, 14px) /
773
+ calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);
774
+ --dsw-font-markdown-base-strong-italic-font-family: var(--dsw-font-family);
775
+ --dsw-font-markdown-base-strong-italic-font-weight: 600;
776
+ --dsw-font-markdown-base-strong-italic-line-height: calc(24px + var(--dsh-content-font-delta));
777
+ --dsw-font-markdown-base-strong-italic-font-size: var(--dsh-content-font-size, 14px);
778
+ --dsw-font-markdown-base-strong-italic-font-style: italic;
779
+
780
+ --dsw-font-markdown-table: var(--dsh-content-font-size-secondary, 13px)/calc(
781
+ 22px + var(--dsh-content-font-delta-secondary, 0px)
782
+ )
783
+ var(--dsw-font-family);
784
+ --dsw-font-markdown-table-font-family: var(--dsw-font-family);
785
+ --dsw-font-markdown-table-font-weight: 400;
786
+ --dsw-font-markdown-table-line-height: calc(22px + var(--dsh-content-font-delta-secondary, 0px));
787
+ --dsw-font-markdown-table-font-size: var(--dsh-content-font-size-secondary, 13px);
788
+ --dsw-font-markdown-table-font-style: normal;
789
+
790
+ --dsw-font-markdown-table-head: 500
791
+ var(--dsh-content-font-size-secondary, 13px)/calc(22px + var(--dsh-content-font-delta-secondary, 0px))
792
+ var(--dsw-font-family);
793
+ --dsw-font-markdown-table-head-font-family: var(--dsw-font-family);
794
+ --dsw-font-markdown-table-head-font-weight: 500;
795
+ --dsw-font-markdown-table-head-line-height: calc(22px + var(--dsh-content-font-delta-secondary, 0px));
796
+ --dsw-font-markdown-table-head-font-size: var(--dsh-content-font-size-secondary, 13px);
797
+ --dsw-font-markdown-table-head-font-style: normal;
798
+
799
+ --dsw-font-markdown-small: 12px/20px var(--dsw-font-family);
800
+ --dsw-font-markdown-small-font-family: var(--dsw-font-family);
801
+ --dsw-font-markdown-small-font-weight: 400;
802
+ --dsw-font-markdown-small-line-height: 20px;
803
+ --dsw-font-markdown-small-font-size: 12px;
804
+ --dsw-font-markdown-small-font-style: normal;
805
+
806
+ --dsw-font-markdown-small-strong: 600 12px/20px var(--dsw-font-family);
807
+ --dsw-font-markdown-small-strong-font-family: var(--dsw-font-family);
808
+ --dsw-font-markdown-small-strong-font-weight: 600;
809
+ --dsw-font-markdown-small-strong-line-height: 20px;
810
+ --dsw-font-markdown-small-strong-font-size: 12px;
811
+ --dsw-font-markdown-small-strong-font-style: normal;
812
+
813
+ --dsw-font-markdown-small-italic: italic 12px/20px var(--dsw-font-family);
814
+ --dsw-font-markdown-small-italic-font-family: var(--dsw-font-family);
815
+ --dsw-font-markdown-small-italic-font-weight: 400;
816
+ --dsw-font-markdown-small-italic-line-height: 20px;
817
+ --dsw-font-markdown-small-italic-font-size: 12px;
818
+ --dsw-font-markdown-small-italic-font-style: italic;
819
+
820
+ --dsw-font-markdown-small-strong-italic: italic 600 12px/20px var(--dsw-font-family);
821
+ --dsw-font-markdown-small-strong-italic-font-family: var(--dsw-font-family);
822
+ --dsw-font-markdown-small-strong-italic-font-weight: 600;
823
+ --dsw-font-markdown-small-strong-italic-line-height: 20px;
824
+ --dsw-font-markdown-small-strong-italic-font-size: 12px;
825
+ --dsw-font-markdown-small-strong-italic-font-style: italic;
826
+
827
+ --dsw-font-markdown-code: calc(12px + var(--dsh-code-font-delta)) / calc(19px + var(--dsh-code-font-delta))
828
+ var(--ds-font-family-code);
829
+ --dsw-font-markdown-code-font-family: var(--ds-font-family-code);
830
+ --dsw-font-markdown-code-font-weight: 400;
831
+ --dsw-font-markdown-code-line-height: calc(19px + var(--dsh-code-font-delta));
832
+ --dsw-font-markdown-code-font-size: calc(12px + var(--dsh-code-font-delta));
833
+ --dsw-font-markdown-code-font-style: normal;
834
+
835
+ --dsw-font-markdown-code-block: var(--dsh-code-font-size, 11px) / calc(19px + var(--dsh-code-font-delta))
836
+ var(--ds-font-family-code);
837
+ --dsw-font-markdown-code-block-font-family: var(--ds-font-family-code);
838
+ --dsw-font-markdown-code-block-font-weight: 400;
839
+ --dsw-font-markdown-code-block-line-height: calc(19px + var(--dsh-code-font-delta));
840
+ --dsw-font-markdown-code-block-font-size: var(--dsh-code-font-size, 11px);
841
+ --dsw-font-markdown-code-block-font-style: normal;
842
+
843
+ /* 手工补充(非插件导出):tool row 展开卡片内的小号 code 字体。 */
844
+ --dsw-font-markdown-code-block-small: var(--dsh-code-font-size, 11px) / calc(16px + var(--dsh-code-font-delta))
845
+ var(--ds-font-family-code);
846
+ --dsw-font-markdown-code-block-small-font-family: var(--ds-font-family-code);
847
+ --dsw-font-markdown-code-block-small-font-weight: 400;
848
+ --dsw-font-markdown-code-block-small-line-height: calc(16px + var(--dsh-code-font-delta));
849
+ --dsw-font-markdown-code-block-small-font-size: var(--dsh-code-font-size, 11px);
850
+ --dsw-font-markdown-code-block-small-font-style: normal;
851
+
852
+ --dsw-font-xl-24: 600 24px/32px var(--dsw-font-family);
853
+ --dsw-font-xl-24-font-family: var(--dsw-font-family);
854
+ --dsw-font-xl-24-font-weight: 600;
855
+ --dsw-font-xl-24-line-height: 32px;
856
+ --dsw-font-xl-24-font-size: 24px;
857
+ --dsw-font-xl-24-font-style: normal;
858
+
859
+ --dsw-font-l-20: 500 20px/28px var(--dsw-font-family);
860
+ --dsw-font-l-20-font-family: var(--dsw-font-family);
861
+ --dsw-font-l-20-font-weight: 500;
862
+ --dsw-font-l-20-line-height: 28px;
863
+ --dsw-font-l-20-font-size: 20px;
864
+ --dsw-font-l-20-font-style: normal;
865
+
866
+ --dsw-font-m-18: 500 16px/28px var(--dsw-font-family);
867
+ --dsw-font-m-18-font-family: var(--dsw-font-family);
868
+ --dsw-font-m-18-font-weight: 500;
869
+ --dsw-font-m-18-line-height: 28px;
870
+ --dsw-font-m-18-font-size: 16px;
871
+ --dsw-font-m-18-font-style: normal;
872
+
873
+ --dsw-font-base-16: 16px/24px var(--dsw-font-family);
874
+ --dsw-font-base-16-font-family: var(--dsw-font-family);
875
+ --dsw-font-base-16-font-weight: 400;
876
+ --dsw-font-base-16-line-height: 24px;
877
+ --dsw-font-base-16-font-size: 16px;
878
+ --dsw-font-base-16-font-style: normal;
879
+
880
+ --dsw-font-base-strong-16: 500 16px/24px var(--dsw-font-family);
881
+ --dsw-font-base-strong-16-font-family: var(--dsw-font-family);
882
+ --dsw-font-base-strong-16-font-weight: 500;
883
+ --dsw-font-base-strong-16-line-height: 24px;
884
+ --dsw-font-base-strong-16-font-size: 16px;
885
+ --dsw-font-base-strong-16-font-style: normal;
886
+
887
+ --dsw-font-s-14: 14px/22px var(--dsw-font-family);
888
+ --dsw-font-s-14-font-family: var(--dsw-font-family);
889
+ --dsw-font-s-14-font-weight: 400;
890
+ --dsw-font-s-14-line-height: 22px;
891
+ --dsw-font-s-14-font-size: 14px;
892
+ --dsw-font-s-14-font-style: normal;
893
+
894
+ --dsw-font-s-strong-14: 500 14px/22px var(--dsw-font-family);
895
+ --dsw-font-s-strong-14-font-family: var(--dsw-font-family);
896
+ --dsw-font-s-strong-14-font-weight: 500;
897
+ --dsw-font-s-strong-14-line-height: 22px;
898
+ --dsw-font-s-strong-14-font-size: 14px;
899
+ --dsw-font-s-strong-14-font-style: normal;
900
+
901
+ --dsw-font-xs-13: 13px/20px var(--dsw-font-family);
902
+ --dsw-font-xs-13-font-family: var(--dsw-font-family);
903
+ --dsw-font-xs-13-font-weight: 400;
904
+ --dsw-font-xs-13-line-height: 20px;
905
+ --dsw-font-xs-13-font-size: 13px;
906
+ --dsw-font-xs-13-font-style: normal;
907
+
908
+ --dsw-font-xs-strong-13: 500 13px/20px var(--dsw-font-family);
909
+ --dsw-font-xs-strong-13-font-family: var(--dsw-font-family);
910
+ --dsw-font-xs-strong-13-font-weight: 500;
911
+ --dsw-font-xs-strong-13-line-height: 20px;
912
+ --dsw-font-xs-strong-13-font-size: 13px;
913
+ --dsw-font-xs-strong-13-font-style: normal;
914
+
915
+ --dsw-font-xxs-12: 12px/18px var(--dsw-font-family);
916
+ --dsw-font-xxs-12-font-family: var(--dsw-font-family);
917
+ --dsw-font-xxs-12-font-weight: 400;
918
+ --dsw-font-xxs-12-line-height: 18px;
919
+ --dsw-font-xxs-12-font-size: 12px;
920
+ --dsw-font-xxs-12-font-style: normal;
921
+
922
+ --dsw-font-xxs-strong-12: 500 12px/18px var(--dsw-font-family);
923
+ --dsw-font-xxs-strong-12-font-family: var(--dsw-font-family);
924
+ --dsw-font-xxs-strong-12-font-weight: 500;
925
+ --dsw-font-xxs-strong-12-line-height: 18px;
926
+ --dsw-font-xxs-strong-12-font-size: 12px;
927
+ --dsw-font-xxs-strong-12-font-style: normal;
928
+
929
+ --dsw-font-xxxs-11: 11px/14px var(--dsw-font-family);
930
+ --dsw-font-xxxs-11-font-family: var(--dsw-font-family);
931
+ --dsw-font-xxxs-11-font-weight: 400;
932
+ --dsw-font-xxxs-11-line-height: 14px;
933
+ --dsw-font-xxxs-11-font-size: 11px;
934
+ --dsw-font-xxxs-11-font-style: normal;
935
+
936
+ --dsw-font-xxxs-strong-11: 500 11px/14px var(--dsw-font-family);
937
+ --dsw-font-xxxs-strong-11-font-family: var(--dsw-font-family);
938
+ --dsw-font-xxxs-strong-11-font-weight: 500;
939
+ --dsw-font-xxxs-strong-11-line-height: 14px;
940
+ --dsw-font-xxxs-strong-11-font-size: 11px;
941
+ --dsw-font-xxxs-strong-11-font-style: normal;
942
+ }
943
+
944
+ /* Syntax-highlight token palette: the values behind shiki's css-variables
945
+ theme (--shiki-* custom properties emitted by the ui-primitives CodeBlock).
946
+ Light values on :root, dark overrides on the body attribute — the same
947
+ cascade as every other token sheet. Background/foreground deliberately
948
+ alias the markdown code-block tokens so highlighted and plain blocks agree. */
949
+
950
+ :root {
951
+ --shiki-foreground: var(--dsw-alias-label-primary);
952
+ --shiki-background: var(--dsw-alias-markdown-code-block);
953
+ --shiki-token-constant: #1c7ed6;
954
+ --shiki-token-string: #2f9e44;
955
+ --shiki-token-comment: #868e96;
956
+ --shiki-token-keyword: #d6336c;
957
+ --shiki-token-parameter: #e8590c;
958
+ --shiki-token-function: #6741d9;
959
+ --shiki-token-string-expression: #2b8a3e;
960
+ --shiki-token-punctuation: #495057;
961
+ --shiki-token-link: #1971c2;
962
+ }
963
+
964
+ body[data-ds-dark-theme] {
965
+ --shiki-token-constant: #4dabf7;
966
+ --shiki-token-string: #69db7c;
967
+ --shiki-token-comment: #adb5bd;
968
+ --shiki-token-keyword: #faa2c1;
969
+ --shiki-token-parameter: #ffa94d;
970
+ --shiki-token-function: #b197fc;
971
+ --shiki-token-string-expression: #8ce99a;
972
+ --shiki-token-punctuation: #ced4da;
973
+ --shiki-token-link: #74c0fc;
974
+ }