opui-css 5.4.1 → 5.4.3

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 (328) hide show
  1. package/CHANGELOG.md +373 -361
  2. package/LICENSE +21 -21
  3. package/MIGRATING.md +138 -138
  4. package/README.md +87 -87
  5. package/astro/index.ts +46 -46
  6. package/components/AGENTS.md +247 -247
  7. package/components/Accordion/Accordion.astro +48 -48
  8. package/components/Accordion/Accordion.vue +38 -38
  9. package/components/Accordion/types.astro.ts +4 -4
  10. package/components/Accordion/types.d.vue.ts +15 -15
  11. package/components/Accordion/types.solid.ts +6 -6
  12. package/components/Accordion/types.svelte.ts +7 -7
  13. package/components/Accordion/types.ts +10 -10
  14. package/components/Anchor/Anchor.astro +49 -49
  15. package/components/Anchor/Anchor.vue +41 -41
  16. package/components/Anchor/types.astro.ts +4 -4
  17. package/components/Anchor/types.d.vue.ts +10 -10
  18. package/components/Anchor/types.solid.ts +6 -6
  19. package/components/Anchor/types.svelte.ts +7 -7
  20. package/components/Anchor/types.ts +9 -9
  21. package/components/Avatar/Avatar.astro +29 -29
  22. package/components/Avatar/Avatar.vue +24 -24
  23. package/components/Avatar/types.astro.ts +10 -10
  24. package/components/Avatar/types.d.vue.ts +12 -12
  25. package/components/Avatar/types.solid.ts +11 -11
  26. package/components/Avatar/types.svelte.ts +12 -12
  27. package/components/Avatar/types.ts +29 -29
  28. package/components/Badge/Badge.astro +51 -51
  29. package/components/Badge/Badge.vue +40 -39
  30. package/components/Badge/types.astro.ts +4 -4
  31. package/components/Badge/types.d.vue.ts +10 -10
  32. package/components/Badge/types.solid.ts +4 -4
  33. package/components/Badge/types.svelte.ts +4 -4
  34. package/components/Badge/types.ts +12 -8
  35. package/components/Button/Button.astro +36 -36
  36. package/components/Button/Button.vue +27 -27
  37. package/components/Button/types.astro.ts +6 -6
  38. package/components/Button/types.d.vue.ts +10 -10
  39. package/components/Button/types.solid.ts +8 -8
  40. package/components/Button/types.svelte.ts +6 -6
  41. package/components/Button/types.ts +16 -16
  42. package/components/ButtonGroup/ButtonGroup.astro +29 -29
  43. package/components/ButtonGroup/ButtonGroup.vue +22 -22
  44. package/components/ButtonGroup/types.astro.ts +4 -4
  45. package/components/ButtonGroup/types.d.vue.ts +10 -10
  46. package/components/ButtonGroup/types.solid.ts +4 -4
  47. package/components/ButtonGroup/types.svelte.ts +4 -4
  48. package/components/ButtonGroup/types.ts +7 -7
  49. package/components/Callout/Callout.astro +76 -76
  50. package/components/Callout/Callout.vue +63 -63
  51. package/components/Callout/types.astro.ts +4 -4
  52. package/components/Callout/types.d.vue.ts +10 -10
  53. package/components/Callout/types.solid.ts +6 -6
  54. package/components/Callout/types.svelte.ts +7 -7
  55. package/components/Callout/types.ts +10 -10
  56. package/components/Card/Card.astro +34 -34
  57. package/components/Card/Card.vue +28 -28
  58. package/components/Card/types.astro.ts +4 -4
  59. package/components/Card/types.d.vue.ts +10 -10
  60. package/components/Card/types.solid.ts +6 -6
  61. package/components/Card/types.svelte.ts +7 -7
  62. package/components/Card/types.ts +11 -11
  63. package/components/Checkbox/Checkbox.astro +46 -46
  64. package/components/Checkbox/Checkbox.vue +43 -43
  65. package/components/Checkbox/CheckboxInput.astro +16 -16
  66. package/components/Checkbox/CheckboxInput.vue +32 -32
  67. package/components/Checkbox/types.astro.ts +8 -8
  68. package/components/Checkbox/types.d.vue.ts +11 -11
  69. package/components/Checkbox/types.solid.ts +9 -9
  70. package/components/Checkbox/types.svelte.ts +12 -12
  71. package/components/Checkbox/types.ts +16 -16
  72. package/components/Chip/Chip.astro +31 -31
  73. package/components/Chip/Chip.vue +37 -37
  74. package/components/Chip/types.astro.ts +9 -9
  75. package/components/Chip/types.d.vue.ts +10 -10
  76. package/components/Chip/types.solid.ts +10 -10
  77. package/components/Chip/types.svelte.ts +14 -14
  78. package/components/Chip/types.ts +13 -13
  79. package/components/ClassicSelect/ClassicSelect.astro +60 -60
  80. package/components/ClassicSelect/ClassicSelect.vue +54 -54
  81. package/components/ClassicSelect/types.d.vue.ts +10 -10
  82. package/components/ClassicSelect/types.ts +15 -15
  83. package/components/DescriptionList/Description.astro +9 -9
  84. package/components/DescriptionList/Description.vue +12 -12
  85. package/components/DescriptionList/DescriptionList.astro +18 -18
  86. package/components/DescriptionList/DescriptionList.vue +23 -23
  87. package/components/DescriptionList/Item.astro +9 -9
  88. package/components/DescriptionList/Item.vue +12 -12
  89. package/components/DescriptionList/Term.astro +9 -9
  90. package/components/DescriptionList/Term.vue +12 -12
  91. package/components/DescriptionList/index.ts +12 -12
  92. package/components/DescriptionList/types.astro.ts +10 -10
  93. package/components/DescriptionList/types.d.vue.ts +10 -10
  94. package/components/DescriptionList/types.solid.ts +4 -4
  95. package/components/DescriptionList/types.svelte.ts +4 -4
  96. package/components/DescriptionList/types.ts +3 -3
  97. package/components/Dialog/Dialog.astro +38 -38
  98. package/components/Dialog/Dialog.vue +35 -35
  99. package/components/Dialog/types.astro.ts +4 -4
  100. package/components/Dialog/types.d.vue.ts +10 -10
  101. package/components/Dialog/types.solid.ts +8 -8
  102. package/components/Dialog/types.svelte.ts +7 -7
  103. package/components/Dialog/types.ts +10 -10
  104. package/components/Divider/Divider.astro +12 -12
  105. package/components/Divider/Divider.vue +12 -12
  106. package/components/Divider/types.astro.ts +4 -4
  107. package/components/Divider/types.d.vue.ts +6 -6
  108. package/components/Divider/types.solid.ts +4 -4
  109. package/components/Divider/types.svelte.ts +4 -4
  110. package/components/Divider/types.ts +3 -3
  111. package/components/Drawer/Drawer.astro +47 -47
  112. package/components/Drawer/Drawer.vue +46 -46
  113. package/components/Drawer/DrawerFooter.astro +11 -11
  114. package/components/Drawer/DrawerFooter.vue +16 -16
  115. package/components/Drawer/DrawerHeader.astro +27 -27
  116. package/components/Drawer/DrawerHeader.vue +36 -36
  117. package/components/Drawer/types.astro.ts +8 -8
  118. package/components/Drawer/types.d.vue.ts +31 -31
  119. package/components/Drawer/types.solid.ts +12 -12
  120. package/components/Drawer/types.svelte.ts +15 -15
  121. package/components/Drawer/types.ts +20 -20
  122. package/components/FieldDescription/FieldDescription.astro +9 -9
  123. package/components/FieldDescription/FieldDescription.vue +12 -12
  124. package/components/FieldDescription/types.astro.ts +4 -4
  125. package/components/FieldDescription/types.d.vue.ts +10 -10
  126. package/components/FieldDescription/types.solid.ts +5 -5
  127. package/components/FieldDescription/types.svelte.ts +4 -4
  128. package/components/FieldDescription/types.ts +1 -1
  129. package/components/FieldGroup/FieldGroup.astro +24 -24
  130. package/components/FieldGroup/FieldGroup.vue +25 -25
  131. package/components/FieldGroup/types.astro.ts +4 -4
  132. package/components/FieldGroup/types.d.vue.ts +12 -12
  133. package/components/FieldGroup/types.solid.ts +5 -5
  134. package/components/FieldGroup/types.svelte.ts +4 -4
  135. package/components/FieldGroup/types.ts +4 -4
  136. package/components/FieldLegend/FieldLegend.astro +11 -11
  137. package/components/FieldLegend/FieldLegend.vue +18 -18
  138. package/components/FieldLegend/types.astro.ts +6 -6
  139. package/components/FieldLegend/types.d.vue.ts +11 -11
  140. package/components/FieldLegend/types.solid.ts +5 -5
  141. package/components/FieldLegend/types.svelte.ts +6 -6
  142. package/components/FieldLegend/types.ts +1 -1
  143. package/components/FieldSet/FieldSet.astro +11 -11
  144. package/components/FieldSet/FieldSet.vue +18 -18
  145. package/components/FieldSet/types.astro.ts +6 -6
  146. package/components/FieldSet/types.d.vue.ts +11 -11
  147. package/components/FieldSet/types.solid.ts +5 -5
  148. package/components/FieldSet/types.svelte.ts +8 -8
  149. package/components/FieldSet/types.ts +5 -5
  150. package/components/Form/Form.astro +10 -10
  151. package/components/Form/Form.vue +14 -14
  152. package/components/Form/types.astro.ts +6 -6
  153. package/components/Form/types.d.vue.ts +11 -11
  154. package/components/Form/types.solid.ts +5 -5
  155. package/components/Form/types.svelte.ts +7 -7
  156. package/components/Form/types.ts +1 -1
  157. package/components/IconButton/IconButton.astro +24 -24
  158. package/components/IconButton/IconButton.vue +24 -24
  159. package/components/IconButton/types.astro.ts +6 -6
  160. package/components/IconButton/types.d.vue.ts +10 -10
  161. package/components/IconButton/types.solid.ts +8 -8
  162. package/components/IconButton/types.svelte.ts +6 -6
  163. package/components/IconButton/types.ts +16 -16
  164. package/components/List/List.astro +29 -29
  165. package/components/List/List.vue +28 -28
  166. package/components/List/types.astro.ts +4 -4
  167. package/components/List/types.d.vue.ts +10 -10
  168. package/components/List/types.solid.ts +4 -4
  169. package/components/List/types.svelte.ts +4 -4
  170. package/components/List/types.ts +7 -7
  171. package/components/ListItem/ListItem.astro +108 -108
  172. package/components/ListItem/ListItem.vue +98 -98
  173. package/components/ListItem/types.astro.ts +10 -10
  174. package/components/ListItem/types.d.vue.ts +10 -10
  175. package/components/ListItem/types.solid.ts +12 -12
  176. package/components/ListItem/types.svelte.ts +14 -14
  177. package/components/ListItem/types.ts +32 -32
  178. package/components/Progress/Progress.astro +31 -31
  179. package/components/Progress/Progress.vue +34 -34
  180. package/components/Progress/types.astro.ts +4 -4
  181. package/components/Progress/types.d.vue.ts +10 -10
  182. package/components/Progress/types.solid.ts +4 -4
  183. package/components/Progress/types.svelte.ts +4 -4
  184. package/components/Progress/types.ts +10 -10
  185. package/components/Radio/Radio.astro +44 -44
  186. package/components/Radio/Radio.vue +41 -41
  187. package/components/Radio/RadioInput.astro +7 -7
  188. package/components/Radio/RadioInput.vue +14 -14
  189. package/components/Radio/types.astro.ts +6 -6
  190. package/components/Radio/types.d.vue.ts +11 -11
  191. package/components/Radio/types.solid.ts +9 -9
  192. package/components/Radio/types.svelte.ts +12 -12
  193. package/components/Radio/types.ts +12 -12
  194. package/components/Range/Range.astro +128 -128
  195. package/components/Range/Range.vue +85 -85
  196. package/components/Range/types.ts +25 -25
  197. package/components/Select/Select.astro +108 -108
  198. package/components/Select/Select.vue +85 -85
  199. package/components/Switch/Switch.astro +76 -76
  200. package/components/Switch/Switch.vue +63 -63
  201. package/components/Switch/SwitchInput.astro +7 -7
  202. package/components/Switch/SwitchInput.vue +14 -14
  203. package/components/Switch/types.astro.ts +5 -5
  204. package/components/Switch/types.d.vue.ts +13 -13
  205. package/components/Switch/types.solid.ts +9 -9
  206. package/components/Switch/types.svelte.ts +9 -9
  207. package/components/Switch/types.ts +16 -16
  208. package/components/Table/Body.astro +11 -11
  209. package/components/Table/Body.vue +5 -5
  210. package/components/Table/Cell.astro +11 -11
  211. package/components/Table/Cell.vue +5 -5
  212. package/components/Table/Column.astro +12 -12
  213. package/components/Table/Column.vue +19 -19
  214. package/components/Table/ColumnGroup.astro +11 -11
  215. package/components/Table/ColumnGroup.vue +5 -5
  216. package/components/Table/Head.astro +11 -11
  217. package/components/Table/Head.vue +5 -5
  218. package/components/Table/HeaderCell.astro +11 -11
  219. package/components/Table/HeaderCell.vue +5 -5
  220. package/components/Table/Row.astro +11 -11
  221. package/components/Table/Row.vue +5 -5
  222. package/components/Table/Table.astro +14 -14
  223. package/components/Table/Table.vue +19 -19
  224. package/components/Table/index.ts +20 -20
  225. package/components/Table/types.astro.ts +16 -16
  226. package/components/Table/types.d.vue.ts +10 -10
  227. package/components/Table/types.solid.ts +8 -8
  228. package/components/Table/types.svelte.ts +11 -11
  229. package/components/Table/types.ts +9 -9
  230. package/components/Tabs/Tabs.astro +24 -24
  231. package/components/Tabs/Tabs.vue +20 -20
  232. package/components/Tabs/TabsItem.astro +40 -40
  233. package/components/Tabs/TabsItem.vue +39 -39
  234. package/components/Tabs/TabsPanel.astro +16 -16
  235. package/components/Tabs/TabsPanel.vue +31 -31
  236. package/components/Tabs/TabsTab.astro +15 -15
  237. package/components/Tabs/TabsTab.vue +24 -24
  238. package/components/Tabs/index.ts +14 -14
  239. package/components/Tabs/types.astro.ts +11 -11
  240. package/components/Tabs/types.d.vue.ts +31 -31
  241. package/components/Tabs/types.solid.ts +12 -12
  242. package/components/Tabs/types.svelte.ts +10 -10
  243. package/components/Tabs/types.ts +19 -19
  244. package/components/TextField/TextField.astro +124 -124
  245. package/components/TextField/TextField.vue +74 -74
  246. package/components/TextField/types.astro.ts +17 -17
  247. package/components/Textarea/Textarea.astro +118 -118
  248. package/components/Textarea/Textarea.vue +64 -64
  249. package/components/Textarea/types.astro.ts +10 -10
  250. package/components/Textarea/types.d.vue.ts +19 -19
  251. package/components/Textarea/types.solid.ts +6 -6
  252. package/components/Textarea/types.svelte.ts +21 -21
  253. package/components/Textarea/types.ts +33 -33
  254. package/components/Toast/Toast.astro +42 -42
  255. package/components/Toast/Toast.vue +48 -48
  256. package/components/ToggleButton/ToggleButton.astro +43 -43
  257. package/components/ToggleButton/ToggleButton.vue +41 -41
  258. package/components/ToggleButton/types.astro.ts +4 -4
  259. package/components/ToggleButton/types.d.vue.ts +10 -10
  260. package/components/ToggleButton/types.solid.ts +7 -7
  261. package/components/ToggleButton/types.svelte.ts +7 -7
  262. package/components/ToggleButton/types.ts +10 -10
  263. package/components/ToggleGroup/ToggleGroup.astro +42 -42
  264. package/components/ToggleGroup/ToggleGroup.vue +36 -36
  265. package/components/ToggleGroup/types.astro.ts +4 -4
  266. package/components/ToggleGroup/types.d.vue.ts +15 -15
  267. package/components/ToggleGroup/types.solid.ts +4 -4
  268. package/components/ToggleGroup/types.svelte.ts +9 -9
  269. package/components/ToggleGroup/types.ts +15 -15
  270. package/components/Tooltip/Tooltip.astro +23 -23
  271. package/components/Tooltip/Tooltip.vue +22 -22
  272. package/components/Tooltip/types.astro.ts +4 -4
  273. package/components/Tooltip/types.d.vue.ts +10 -10
  274. package/components/Tooltip/types.solid.ts +6 -6
  275. package/components/Tooltip/types.svelte.ts +7 -7
  276. package/components/Tooltip/types.ts +11 -11
  277. package/core/normalize.css +214 -214
  278. package/core/palette.css +314 -314
  279. package/core/utils.css +68 -69
  280. package/css/components/accordion.css +173 -173
  281. package/css/components/anchor.css +27 -27
  282. package/css/components/avatar.css +65 -65
  283. package/css/components/badge.css +107 -107
  284. package/css/components/button-group.css +179 -193
  285. package/css/components/button.css +212 -228
  286. package/css/components/callout.css +112 -112
  287. package/css/components/card.css +116 -115
  288. package/css/components/checkbox.css +211 -211
  289. package/css/components/chip.css +92 -92
  290. package/css/components/description-list.css +81 -81
  291. package/css/components/dialog.css +64 -64
  292. package/css/components/divider.css +20 -20
  293. package/css/components/drawer.css +170 -172
  294. package/css/components/form.css +146 -147
  295. package/css/components/icon-button.css +139 -156
  296. package/css/components/link.css +21 -21
  297. package/css/components/list.css +343 -343
  298. package/css/components/progress.css +99 -99
  299. package/css/components/radio.css +170 -170
  300. package/css/components/range.css +320 -339
  301. package/css/components/select.css +170 -171
  302. package/css/components/spinner.css +38 -38
  303. package/css/components/switch.css +270 -270
  304. package/css/components/table.css +173 -173
  305. package/css/components/tabs.css +84 -84
  306. package/css/components/text-field.css +449 -449
  307. package/css/components/text-input.css +68 -68
  308. package/css/components/textarea.css +26 -26
  309. package/css/components/toast.css +157 -160
  310. package/css/components/toggle-button.css +91 -91
  311. package/css/components/toggle-group.css +56 -56
  312. package/css/components/tooltip.css +68 -70
  313. package/css/components/typography.css +580 -585
  314. package/css/components.css +41 -41
  315. package/css/imports.css +17 -17
  316. package/css/js/checkbox.js +21 -21
  317. package/css/js/toast.js +94 -94
  318. package/css/theme.css +124 -125
  319. package/dist/op.css +4 -4
  320. package/dist/op.css.map +1 -1
  321. package/dist/opui.components.css +5140 -5219
  322. package/dist/opui.components.css.map +1 -1
  323. package/dist/opui.css +5907 -5988
  324. package/dist/opui.css.map +1 -1
  325. package/env.d.ts +14 -14
  326. package/open-props.css +6 -6
  327. package/package.json +90 -90
  328. package/vue/index.ts +54 -54
@@ -1,585 +1,580 @@
1
- @layer components.root {
2
- :where(.ui-p) {
3
- text-wrap: pretty;
4
-
5
- &.ui-small {
6
- font-size: var(--font-size-1);
7
- }
8
-
9
- &.ui-large {
10
- font-size: var(--font-size-3);
11
- }
12
- }
13
-
14
- :where(.ui-h1, .ui-h2, .ui-h3, .ui-h4, .ui-h5, .ui-h6) {
15
- color: var(--text-primary);
16
- font-weight: 700;
17
- text-wrap: pretty;
18
- }
19
-
20
- :where(.ui-h1) {
21
- font-size: var(--font-size-h1, var(--font-size-7));
22
- letter-spacing: -0.02em;
23
- line-height: 1.15;
24
- }
25
-
26
- :where(.ui-h2) {
27
- font-size: var(--font-size-h2, var(--font-size-5, 2rem));
28
- letter-spacing: -0.02em;
29
- line-height: 1.2;
30
- }
31
-
32
- :where(.ui-h3) {
33
- font-size: var(--font-size-h3, var(--font-size-4, 1.5rem));
34
- letter-spacing: -0.01em;
35
- line-height: 1.167;
36
- }
37
-
38
- :where(.ui-h4) {
39
- font-size: var(--font-size-h4, var(--font-size-3, 1.25rem));
40
- letter-spacing: -0.01em;
41
- line-height: 1.235;
42
- }
43
-
44
- :where(.ui-h5) {
45
- font-size: var(--font-size-h5, var(--font-size-2, 1.1rem));
46
- line-height: 1.334;
47
- }
48
-
49
- :where(.ui-h6) {
50
- font-size: var(--font-size-h6, var(--font-size-1, 1rem));
51
- line-height: 1;
52
- }
53
-
54
- /** Overline */
55
- :where(.ui-overline) {
56
- color: light-dark(
57
- oklch(from var(--text-muted) calc(l * 1.25) c h),
58
- oklch(from var(--text-muted) calc(l * 0.75) c h)
59
- );
60
- font-size: var(--font-size-0);
61
- font-weight: 500;
62
- letter-spacing: 0.06em;
63
- text-transform: uppercase;
64
- }
65
-
66
- :where(.ui-hgroup) {
67
- & > p {
68
- margin: 0;
69
- }
70
-
71
- & > :where(h1, h2, h3, h4, h5, h6) {
72
- margin-block: 0 0.4em;
73
- }
74
-
75
- /* First p element (overline) */
76
- & > p:first-of-type:first-child {
77
- color: light-dark(
78
- oklch(from var(--text-muted) calc(l * 1.25) c h),
79
- oklch(from var(--text-muted) calc(l * 0.75) c h)
80
- );
81
- font-size: var(--font-size-0);
82
- font-weight: 500;
83
- letter-spacing: 0.06em;
84
- text-transform: uppercase;
85
- }
86
-
87
- /* Body paragraphs after the heading */
88
- & > p:not(:first-of-type:first-child) {
89
- color: oklch(from currentColor l c h / 75%);
90
- font-size: var(--font-size-3);
91
- line-height: 1.6;
92
- }
93
-
94
- & > p + p {
95
- margin-block-start: 0.75em;
96
- }
97
- }
98
-
99
- /** Caption */
100
- :where(.ui-caption) {
101
- color: var(--text-muted);
102
- font-size: var(--font-size-0);
103
- line-height: 1.6;
104
- }
105
-
106
- /* Inline text elements — class utilities (work anywhere) */
107
- :where(.ui-u, .ui-abbr, .ui-dfn) {
108
- text-decoration: underline;
109
- text-underline-offset: 1px;
110
-
111
- @supports (-moz-appearance: none) {
112
- text-underline-offset: 2px;
113
- }
114
- }
115
-
116
- :where(.ui-abbr, .ui-dfn) {
117
- font-style: normal;
118
- text-decoration: var(--color-9) underline dotted;
119
-
120
- &[title] {
121
- cursor: help;
122
- text-underline-offset: 1px;
123
- }
124
-
125
- @supports (-moz-appearance: none) {
126
- text-underline-offset: 2px;
127
- }
128
- }
129
-
130
- :where(.ui-sup) {
131
- font-size: 0.5em;
132
- vertical-align: super;
133
- }
134
-
135
- :where(p, span).ui-small {
136
- font-size: max(0.5em, var(--font-size-0, 0.75rem));
137
- }
138
-
139
- :where(.ui-cite) {
140
- font-style: italic;
141
- }
142
-
143
- /* Code */
144
- :where(.ui-kbd) {
145
- font-family: var(--font-mono);
146
- background-color: var(--text-muted);
147
- border-color: var(--text-muted);
148
- border-radius: var(--radius-2);
149
- border-width: var(--border-size-1);
150
- color: var(--text-muted-contrast);
151
- padding: 0.1ex 0.3ex;
152
- word-break: break-word;
153
- }
154
-
155
- :where(.ui-mark) {
156
- border-radius: var(--radius-2);
157
- box-decoration-break: clone;
158
- padding: 0.1ex 0.3ex;
159
- vertical-align: baseline;
160
- }
161
-
162
- :where(.ui-s) {
163
- text-decoration: line-through;
164
- }
165
-
166
- :where(.ui-sub) {
167
- font-size: 0.75em;
168
- vertical-align: sub;
169
- }
170
-
171
- :where(.ui-del) {
172
- color: var(--color-9);
173
- text-decoration: line-through;
174
- }
175
-
176
- :where(.ui-ins) {
177
- color: var(--color-9);
178
- text-decoration: underline;
179
- text-underline-offset: 1px;
180
- }
181
-
182
- :where(.ui-var) {
183
- font-family: var(--font-mono);
184
- background-color: var(--text-muted);
185
- border-color: var(--text-muted);
186
- border-radius: var(--radius-2);
187
- border-width: var(--border-size-1);
188
- color: var(--text-muted-contrast);
189
- padding: 0.1ex 0.3ex;
190
- word-break: break-word;
191
- }
192
-
193
- :where(.ui-samp) {
194
- font-family: var(--font-mono);
195
- }
196
-
197
- /* Blockquote */
198
- :where(.ui-blockquote) {
199
- border-inline-start: var(--border-size-3) solid currentColor;
200
- padding-block: var(--size-3);
201
- padding-inline: var(--size-4);
202
-
203
- :first-child {
204
- margin-block-start: 0;
205
- }
206
-
207
- :last-child {
208
- margin-block-end: 0;
209
- }
210
-
211
- footer {
212
- color: var(--text-muted);
213
- margin-block-start: var(--size-3);
214
- }
215
- }
216
-
217
- /* Code block */
218
- :where(pre.ui-code-block) {
219
- background-color: var(--color-15);
220
- border-radius: var(--border-radius);
221
- color: var(--color-1);
222
- font-family: var(--font-mono);
223
- font-size: var(--font-size-05);
224
- max-inline-size: 100%;
225
- overflow-x: auto;
226
- padding-block: var(--size-3);
227
- padding-inline: var(--size-4);
228
- scrollbar-width: thin;
229
- white-space: pre;
230
-
231
- > code {
232
- background: none;
233
- border-radius: 0;
234
- color: inherit;
235
- font-size: inherit;
236
- padding: 0;
237
- word-break: normal;
238
- writing-mode: inherit;
239
- }
240
- }
241
- }
242
-
243
- /* Rich text */
244
- @layer components.extended {
245
- @scope (.ui-rich-text) to (.ui-not-rich-text) {
246
- a {
247
- color: var(--primary);
248
- cursor: pointer;
249
- font-size: inherit;
250
- font-weight: 700;
251
- line-height: inherit;
252
- text-decoration: underline;
253
- text-decoration-color: var(--primary);
254
- text-underline-offset: 2px;
255
-
256
- &[href] {
257
- &:hover,
258
- &:focus-visible {
259
- color: var(--primary-light);
260
- }
261
- }
262
- }
263
-
264
- /* Blockquote */
265
- blockquote {
266
- border-inline-start: var(--border-size-3) solid currentColor;
267
- font-size: inherit;
268
- line-height: inherit;
269
- padding-block: var(--size-3);
270
- padding-inline: var(--size-4);
271
-
272
- :first-child {
273
- margin-block-start: 0;
274
- }
275
-
276
- :last-child {
277
- margin-block-end: 0;
278
- }
279
-
280
- footer {
281
- color: var(--text-muted);
282
- margin-block-start: var(--size-3);
283
- }
284
- }
285
-
286
- /* Code */
287
- pre {
288
- border-radius: var(--border-radius);
289
- font-size: var(--font-size-05);
290
- margin-block: var(--size-6);
291
- max-inline-size: max-content;
292
- min-inline-size: 0;
293
- padding-block: var(--size-3);
294
- padding-inline: var(--size-4);
295
- white-space: pre;
296
- }
297
-
298
- pre:has(> code) {
299
- background-color: var(--color-15);
300
- border-radius: var(--border-radius);
301
- color: var(--color-1);
302
- max-inline-size: 100%;
303
- overflow-x: auto;
304
- scrollbar-width: thin;
305
-
306
- > code {
307
- background: none;
308
- border-radius: 0;
309
- color: inherit;
310
- font-size: inherit;
311
- padding: 0;
312
- word-break: normal;
313
- writing-mode: inherit;
314
- }
315
- }
316
-
317
- /* Text */
318
- p {
319
- font-size: inherit;
320
- line-height: inherit;
321
- margin-block: 1.25em;
322
- text-wrap: pretty;
323
- }
324
-
325
- :is(h1, h2, h3, h4, h5, h6) {
326
- color: var(--text-primary);
327
- font-weight: 700;
328
- text-wrap: pretty;
329
-
330
- & + *:not(&) {
331
- margin-block-start: 0;
332
- }
333
- }
334
-
335
- h1 {
336
- font-size: var(--font-size-h1, var(--font-size-7));
337
- letter-spacing: -0.02em;
338
- line-height: 1.1111111;
339
- margin-block: 0 0.8888889em;
340
- }
341
-
342
- h2 {
343
- font-size: var(--font-size-h2, var(--font-size-5, 2rem));
344
- letter-spacing: -0.02em;
345
- line-height: 1.3333333;
346
- margin-block: 2em 1em;
347
- }
348
-
349
- h3 {
350
- font-size: var(--font-size-h3, var(--font-size-4, 1.5rem));
351
- letter-spacing: -0.01em;
352
- line-height: 1.6;
353
- margin-block: 1.6em 0.6em;
354
- }
355
-
356
- h4 {
357
- font-size: var(--font-size-h4, var(--font-size-3, 1.25rem));
358
- letter-spacing: -0.01em;
359
- line-height: 1.5;
360
- margin-block: 1.5em 0.5em;
361
- }
362
-
363
- h5 {
364
- font-size: var(--font-size-h5, var(--font-size-2, 1.1rem));
365
- line-height: 1;
366
- margin-block: 0 var(--size-1);
367
- }
368
-
369
- h6 {
370
- font-size: var(--font-size-h6, var(--font-size-1, 1rem));
371
- line-height: 1;
372
- margin-block: 0 var(--size-1);
373
- }
374
-
375
- /** Overline */
376
- :is(.ui-overline, hgroup p:first-of-type:first-child) {
377
- color: light-dark(
378
- oklch(from var(--text-muted) calc(l * 1.25) c h),
379
- oklch(from var(--text-muted) calc(l * 0.75) c h)
380
- );
381
- font-size: var(--font-size-0);
382
- font-weight: 500;
383
- letter-spacing: 0.06em;
384
- text-transform: uppercase;
385
- }
386
-
387
- hgroup {
388
- & > p {
389
- margin: 0;
390
- }
391
-
392
- & > :where(h1, h2, h3, h4, h5, h6) {
393
- margin-block: 0 0.4em;
394
- }
395
-
396
- & + * {
397
- margin-block-start: 3em;
398
- }
399
-
400
- /* Body paragraphs after the heading */
401
- & > p:not(:first-of-type:first-child) {
402
- color: oklch(from currentColor l c h / 75%);
403
- font-size: var(--font-size-3);
404
- line-height: 1.6;
405
- }
406
-
407
- & > p + p {
408
- margin-block-start: 0.75em;
409
- }
410
- }
411
-
412
- /* Lists */
413
- ul:not([class]) {
414
- list-style-type: disc;
415
- }
416
-
417
- ol:not([class]) {
418
- list-style-type: decimal;
419
- }
420
-
421
- :where(ul, ol):not([class]) {
422
- display: grid;
423
- font-size: inherit;
424
- gap: 0.5em;
425
- line-height: inherit;
426
- margin-block-end: 1.25em;
427
- margin-block-start: 1.25em;
428
- padding-inline-start: 1.625em;
429
-
430
- li {
431
- padding-inline-start: 0.375em;
432
- }
433
- }
434
-
435
- /* Nested lists */
436
- :where(ul ul),
437
- :where(ul ol),
438
- :where(ol ul),
439
- :where(ol ol) {
440
- margin-block-end: 0.75em;
441
- margin-block-start: 0.75em;
442
- }
443
-
444
- /* Description lists */
445
- :where(dl) {
446
- font-size: inherit;
447
- line-height: inherit;
448
- margin-block-end: 1.25em;
449
- margin-block-start: 1.25em;
450
-
451
- dt {
452
- font-weight: 700;
453
- margin-block-start: 1.25em;
454
- }
455
-
456
- dd {
457
- margin-block-start: 0.5em;
458
- padding-inline-start: 1.625em;
459
- }
460
- }
461
-
462
- /* Figures */
463
- figure {
464
- display: grid;
465
- gap: var(--size-2);
466
- margin-block: var(--size-7);
467
- place-items: center;
468
-
469
- & > * {
470
- margin-block: 0;
471
- }
472
-
473
- & figcaption {
474
- font-size: var(--font-size-0);
475
- text-wrap: pretty;
476
- }
477
- }
478
-
479
- /* Remove top margin from first child */
480
- & > :first-child {
481
- margin-block-start: 0;
482
- }
483
-
484
- /* Remove bottom margin from last child */
485
- & > :last-child {
486
- margin-block-end: 0;
487
- }
488
-
489
- /* Horizontal rules */
490
- hr {
491
- & + * {
492
- margin-block-start: 0;
493
- }
494
- }
495
-
496
- /* Inline text elements */
497
- :where(ins, u, abbr, dfn) {
498
- text-decoration: underline;
499
- text-underline-offset: 1px;
500
-
501
- @supports (-moz-appearance: none) {
502
- text-underline-offset: 2px;
503
- }
504
- }
505
-
506
- :where(abbr, dfn) {
507
- font-style: normal;
508
- text-decoration: var(--color-9) underline dotted;
509
-
510
- &[title] {
511
- cursor: help;
512
- text-underline-offset: 1px;
513
- }
514
-
515
- @supports (-moz-appearance: none) {
516
- text-underline-offset: 2px;
517
- }
518
- }
519
-
520
- sup {
521
- font-size: 0.5em;
522
- vertical-align: super;
523
- }
524
-
525
- :where(del, ins) {
526
- color: var(--color-9);
527
- }
528
-
529
- small {
530
- font-size: max(0.5em, var(--font-size-0, 0.75rem));
531
- }
532
-
533
- cite {
534
- font-style: italic;
535
- }
536
-
537
- /* Code */
538
- :where(code, kbd, samp, pre) {
539
- font-family: var(--font-mono);
540
- }
541
-
542
- code {
543
- background-color: oklch(0 0 0 / 18%);
544
- border-radius: var(--border-size-3);
545
- font-size: 0.9em;
546
- padding: 0.1ex 0.3ex;
547
- }
548
-
549
- :where(kbd, var) {
550
- background-color: var(--text-muted);
551
- border-color: var(--text-muted);
552
- border-radius: var(--radius-2);
553
- border-width: var(--border-size-1);
554
- color: var(--text-muted-contrast);
555
- padding: 0.1ex 0.3ex;
556
- }
557
-
558
- :not(pre) code,
559
- kbd {
560
- word-break: break-word;
561
- }
562
-
563
- :not(pre) code {
564
- border-radius: var(--border-radius, var(--radius-2));
565
- padding: 0.5ex;
566
- writing-mode: lr;
567
- }
568
-
569
- mark {
570
- border-radius: var(--radius-2);
571
- box-decoration-break: clone;
572
- padding: 0.1ex 0.3ex;
573
- vertical-align: baseline;
574
- }
575
-
576
- s {
577
- text-decoration: line-through;
578
- }
579
-
580
- sub {
581
- font-size: 0.75em;
582
- vertical-align: sub;
583
- }
584
- }
585
- }
1
+ @layer components.root {
2
+ :where(.ui-p) {
3
+ text-wrap: pretty;
4
+
5
+ &.ui-small {
6
+ font-size: var(--font-size-1);
7
+ }
8
+
9
+ &.ui-large {
10
+ font-size: var(--font-size-3);
11
+ }
12
+ }
13
+
14
+ :where(.ui-h1, .ui-h2, .ui-h3, .ui-h4, .ui-h5, .ui-h6) {
15
+ color: var(--text-primary);
16
+ font-weight: 700;
17
+ text-wrap: pretty;
18
+ }
19
+
20
+ :where(.ui-h1) {
21
+ font-size: var(--font-size-h1, var(--font-size-7));
22
+ letter-spacing: -0.02em;
23
+ line-height: 1.15;
24
+ }
25
+
26
+ :where(.ui-h2) {
27
+ font-size: var(--font-size-h2, var(--font-size-5, 2rem));
28
+ letter-spacing: -0.02em;
29
+ line-height: 1.2;
30
+ }
31
+
32
+ :where(.ui-h3) {
33
+ font-size: var(--font-size-h3, var(--font-size-4, 1.5rem));
34
+ letter-spacing: -0.01em;
35
+ line-height: 1.167;
36
+ }
37
+
38
+ :where(.ui-h4) {
39
+ font-size: var(--font-size-h4, var(--font-size-3, 1.25rem));
40
+ letter-spacing: -0.01em;
41
+ line-height: 1.235;
42
+ }
43
+
44
+ :where(.ui-h5) {
45
+ font-size: var(--font-size-h5, var(--font-size-2, 1.1rem));
46
+ line-height: 1.334;
47
+ }
48
+
49
+ :where(.ui-h6) {
50
+ font-size: var(--font-size-h6, var(--font-size-1, 1rem));
51
+ line-height: 1;
52
+ }
53
+
54
+ /** Overline */
55
+ :where(.ui-overline) {
56
+ color: light-dark(oklch(from var(--text-muted) calc(l * 1.25) c h),
57
+ oklch(from var(--text-muted) calc(l * 0.75) c h));
58
+ font-size: var(--font-size-0);
59
+ font-weight: 500;
60
+ letter-spacing: 0.06em;
61
+ text-transform: uppercase;
62
+ }
63
+
64
+ :where(.ui-hgroup) {
65
+ &>p {
66
+ margin: 0;
67
+ }
68
+
69
+ &> :where(h1, h2, h3, h4, h5, h6) {
70
+ margin-block: 0 0.4em;
71
+ }
72
+
73
+ /* First p element (overline) */
74
+ &>p:first-of-type:first-child {
75
+ color: light-dark(oklch(from var(--text-muted) calc(l * 1.25) c h),
76
+ oklch(from var(--text-muted) calc(l * 0.75) c h));
77
+ font-size: var(--font-size-0);
78
+ font-weight: 500;
79
+ letter-spacing: 0.06em;
80
+ text-transform: uppercase;
81
+ }
82
+
83
+ /* Body paragraphs after the heading */
84
+ &>p:not(:first-of-type:first-child) {
85
+ color: oklch(from currentColor l c h / 75%);
86
+ font-size: var(--font-size-3);
87
+ line-height: 1.6;
88
+ }
89
+
90
+ &>p+p {
91
+ margin-block-start: 0.75em;
92
+ }
93
+ }
94
+
95
+ /** Caption */
96
+ :where(.ui-caption) {
97
+ color: var(--text-muted);
98
+ font-size: var(--font-size-0);
99
+ line-height: 1.6;
100
+ }
101
+
102
+ /* Inline text elements - class utilities */
103
+ :where(.ui-u, .ui-abbr, .ui-dfn) {
104
+ text-decoration: underline;
105
+ text-underline-offset: 1px;
106
+
107
+ @supports (-moz-appearance: none) {
108
+ text-underline-offset: 2px;
109
+ }
110
+ }
111
+
112
+ :where(.ui-abbr, .ui-dfn) {
113
+ font-style: normal;
114
+ text-decoration: var(--color-9) underline dotted;
115
+
116
+ &[title] {
117
+ cursor: help;
118
+ text-underline-offset: 1px;
119
+ }
120
+
121
+ @supports (-moz-appearance: none) {
122
+ text-underline-offset: 2px;
123
+ }
124
+ }
125
+
126
+ :where(.ui-sup) {
127
+ font-size: 0.5em;
128
+ vertical-align: super;
129
+ }
130
+
131
+ :where(p, span).ui-small {
132
+ font-size: max(0.5em, var(--font-size-0, 0.75rem));
133
+ }
134
+
135
+ :where(.ui-cite) {
136
+ font-style: italic;
137
+ }
138
+
139
+ /* Code */
140
+ :where(.ui-kbd) {
141
+ font-family: var(--font-mono);
142
+ background-color: var(--text-muted);
143
+ border-color: var(--text-muted);
144
+ border-radius: var(--radius-2);
145
+ border-width: var(--border-size-1);
146
+ color: var(--text-muted-contrast);
147
+ padding: 0.1ex 0.3ex;
148
+ word-break: break-word;
149
+ }
150
+
151
+ :where(.ui-mark) {
152
+ border-radius: var(--radius-2);
153
+ box-decoration-break: clone;
154
+ padding: 0.1ex 0.3ex;
155
+ vertical-align: baseline;
156
+ }
157
+
158
+ :where(.ui-s) {
159
+ text-decoration: line-through;
160
+ }
161
+
162
+ :where(.ui-sub) {
163
+ font-size: 0.75em;
164
+ vertical-align: sub;
165
+ }
166
+
167
+ :where(.ui-del) {
168
+ color: var(--color-9);
169
+ text-decoration: line-through;
170
+ }
171
+
172
+ :where(.ui-ins) {
173
+ color: var(--color-9);
174
+ text-decoration: underline;
175
+ text-underline-offset: 1px;
176
+ }
177
+
178
+ :where(.ui-var) {
179
+ font-family: var(--font-mono);
180
+ background-color: var(--text-muted);
181
+ border-color: var(--text-muted);
182
+ border-radius: var(--radius-2);
183
+ border-width: var(--border-size-1);
184
+ color: var(--text-muted-contrast);
185
+ padding: 0.1ex 0.3ex;
186
+ word-break: break-word;
187
+ }
188
+
189
+ :where(.ui-samp) {
190
+ font-family: var(--font-mono);
191
+ }
192
+
193
+ /* Blockquote */
194
+ :where(.ui-blockquote) {
195
+ border-inline-start: var(--border-size-3) solid currentColor;
196
+ padding-block: var(--size-3);
197
+ padding-inline: var(--size-4);
198
+
199
+ :first-child {
200
+ margin-block-start: 0;
201
+ }
202
+
203
+ :last-child {
204
+ margin-block-end: 0;
205
+ }
206
+
207
+ footer {
208
+ color: var(--text-muted);
209
+ margin-block-start: var(--size-3);
210
+ }
211
+ }
212
+
213
+ /* Code block */
214
+ :where(pre.ui-code-block) {
215
+ background-color: var(--color-15);
216
+ border-radius: var(--border-radius);
217
+ color: var(--color-1);
218
+ font-family: var(--font-mono);
219
+ font-size: var(--font-size-05);
220
+ max-inline-size: 100%;
221
+ overflow-x: auto;
222
+ padding-block: var(--size-3);
223
+ padding-inline: var(--size-4);
224
+ scrollbar-width: thin;
225
+ white-space: pre;
226
+
227
+ >code {
228
+ background: none;
229
+ border-radius: 0;
230
+ color: inherit;
231
+ font-size: inherit;
232
+ padding: 0;
233
+ word-break: normal;
234
+ writing-mode: inherit;
235
+ }
236
+ }
237
+ }
238
+
239
+ /* Rich text */
240
+ @layer components.extended {
241
+ @scope (.ui-rich-text) to (.ui-not-rich-text) {
242
+ a {
243
+ color: var(--primary);
244
+ cursor: pointer;
245
+ font-size: inherit;
246
+ font-weight: 700;
247
+ line-height: inherit;
248
+ text-decoration: underline;
249
+ text-decoration-color: var(--primary);
250
+ text-underline-offset: 2px;
251
+
252
+ &[href] {
253
+
254
+ &:hover,
255
+ &:focus-visible {
256
+ color: var(--primary-light);
257
+ }
258
+ }
259
+ }
260
+
261
+ /* Blockquote */
262
+ blockquote {
263
+ border-inline-start: var(--border-size-3) solid currentColor;
264
+ font-size: inherit;
265
+ line-height: inherit;
266
+ padding-block: var(--size-3);
267
+ padding-inline: var(--size-4);
268
+
269
+ :first-child {
270
+ margin-block-start: 0;
271
+ }
272
+
273
+ :last-child {
274
+ margin-block-end: 0;
275
+ }
276
+
277
+ footer {
278
+ color: var(--text-muted);
279
+ margin-block-start: var(--size-3);
280
+ }
281
+ }
282
+
283
+ /* Code */
284
+ pre {
285
+ border-radius: var(--border-radius);
286
+ font-size: var(--font-size-05);
287
+ margin-block: var(--size-6);
288
+ max-inline-size: max-content;
289
+ min-inline-size: 0;
290
+ padding-block: var(--size-3);
291
+ padding-inline: var(--size-4);
292
+ white-space: pre;
293
+ }
294
+
295
+ pre:has(> code) {
296
+ background-color: var(--color-15);
297
+ border-radius: var(--border-radius);
298
+ color: var(--color-1);
299
+ max-inline-size: 100%;
300
+ overflow-x: auto;
301
+ scrollbar-width: thin;
302
+
303
+ >code {
304
+ background: none;
305
+ border-radius: 0;
306
+ color: inherit;
307
+ font-size: inherit;
308
+ padding: 0;
309
+ word-break: normal;
310
+ writing-mode: inherit;
311
+ }
312
+ }
313
+
314
+ /* Text */
315
+ p {
316
+ font-size: inherit;
317
+ line-height: inherit;
318
+ margin-block: 1.25em;
319
+ text-wrap: pretty;
320
+ }
321
+
322
+ :is(h1, h2, h3, h4, h5, h6) {
323
+ color: var(--text-primary);
324
+ font-weight: 700;
325
+ text-wrap: pretty;
326
+
327
+ &+*:not(&) {
328
+ margin-block-start: 0;
329
+ }
330
+ }
331
+
332
+ h1 {
333
+ font-size: var(--font-size-h1, var(--font-size-7));
334
+ letter-spacing: -0.02em;
335
+ line-height: 1.1111111;
336
+ margin-block: 0 0.8888889em;
337
+ }
338
+
339
+ h2 {
340
+ font-size: var(--font-size-h2, var(--font-size-5, 2rem));
341
+ letter-spacing: -0.02em;
342
+ line-height: 1.3333333;
343
+ margin-block: 2em 1em;
344
+ }
345
+
346
+ h3 {
347
+ font-size: var(--font-size-h3, var(--font-size-4, 1.5rem));
348
+ letter-spacing: -0.01em;
349
+ line-height: 1.6;
350
+ margin-block: 1.6em 0.6em;
351
+ }
352
+
353
+ h4 {
354
+ font-size: var(--font-size-h4, var(--font-size-3, 1.25rem));
355
+ letter-spacing: -0.01em;
356
+ line-height: 1.5;
357
+ margin-block: 1.5em 0.5em;
358
+ }
359
+
360
+ h5 {
361
+ font-size: var(--font-size-h5, var(--font-size-2, 1.1rem));
362
+ line-height: 1;
363
+ margin-block: 0 var(--size-1);
364
+ }
365
+
366
+ h6 {
367
+ font-size: var(--font-size-h6, var(--font-size-1, 1rem));
368
+ line-height: 1;
369
+ margin-block: 0 var(--size-1);
370
+ }
371
+
372
+ /** Overline */
373
+ :is(.ui-overline, hgroup p:first-of-type:first-child) {
374
+ color: light-dark(oklch(from var(--text-muted) calc(l * 1.25) c h),
375
+ oklch(from var(--text-muted) calc(l * 0.75) c h));
376
+ font-size: var(--font-size-0);
377
+ font-weight: 500;
378
+ letter-spacing: 0.06em;
379
+ text-transform: uppercase;
380
+ }
381
+
382
+ hgroup {
383
+ &>p {
384
+ margin: 0;
385
+ }
386
+
387
+ &> :where(h1, h2, h3, h4, h5, h6) {
388
+ margin-block: 0 0.4em;
389
+ }
390
+
391
+ &+* {
392
+ margin-block-start: 3em;
393
+ }
394
+
395
+ /* Body paragraphs after the heading */
396
+ &>p:not(:first-of-type:first-child) {
397
+ color: oklch(from currentColor l c h / 75%);
398
+ font-size: var(--font-size-3);
399
+ line-height: 1.6;
400
+ }
401
+
402
+ &>p+p {
403
+ margin-block-start: 0.75em;
404
+ }
405
+ }
406
+
407
+ /* Lists */
408
+ ul:not([class]) {
409
+ list-style-type: disc;
410
+ }
411
+
412
+ ol:not([class]) {
413
+ list-style-type: decimal;
414
+ }
415
+
416
+ :where(ul, ol):not([class]) {
417
+ display: grid;
418
+ font-size: inherit;
419
+ gap: 0.5em;
420
+ line-height: inherit;
421
+ margin-block-end: 1.25em;
422
+ margin-block-start: 1.25em;
423
+ padding-inline-start: 1.625em;
424
+
425
+ li {
426
+ padding-inline-start: 0.375em;
427
+ }
428
+ }
429
+
430
+ /* Nested lists */
431
+ :where(ul ul),
432
+ :where(ul ol),
433
+ :where(ol ul),
434
+ :where(ol ol) {
435
+ margin-block-end: 0.75em;
436
+ margin-block-start: 0.75em;
437
+ }
438
+
439
+ /* Description lists */
440
+ :where(dl) {
441
+ font-size: inherit;
442
+ line-height: inherit;
443
+ margin-block-end: 1.25em;
444
+ margin-block-start: 1.25em;
445
+
446
+ dt {
447
+ font-weight: 700;
448
+ margin-block-start: 1.25em;
449
+ }
450
+
451
+ dd {
452
+ margin-block-start: 0.5em;
453
+ padding-inline-start: 1.625em;
454
+ }
455
+ }
456
+
457
+ /* Figures */
458
+ figure {
459
+ display: grid;
460
+ gap: var(--size-2);
461
+ margin-block: var(--size-7);
462
+ place-items: center;
463
+
464
+ &>* {
465
+ margin-block: 0;
466
+ }
467
+
468
+ & figcaption {
469
+ font-size: var(--font-size-0);
470
+ text-wrap: pretty;
471
+ }
472
+ }
473
+
474
+ /* Remove top margin from first child */
475
+ &> :first-child {
476
+ margin-block-start: 0;
477
+ }
478
+
479
+ /* Remove bottom margin from last child */
480
+ &> :last-child {
481
+ margin-block-end: 0;
482
+ }
483
+
484
+ /* Horizontal rules */
485
+ hr {
486
+ &+* {
487
+ margin-block-start: 0;
488
+ }
489
+ }
490
+
491
+ /* Inline text elements */
492
+ :where(ins, u, abbr, dfn) {
493
+ text-decoration: underline;
494
+ text-underline-offset: 1px;
495
+
496
+ @supports (-moz-appearance: none) {
497
+ text-underline-offset: 2px;
498
+ }
499
+ }
500
+
501
+ :where(abbr, dfn) {
502
+ font-style: normal;
503
+ text-decoration: var(--color-9) underline dotted;
504
+
505
+ &[title] {
506
+ cursor: help;
507
+ text-underline-offset: 1px;
508
+ }
509
+
510
+ @supports (-moz-appearance: none) {
511
+ text-underline-offset: 2px;
512
+ }
513
+ }
514
+
515
+ sup {
516
+ font-size: 0.5em;
517
+ vertical-align: super;
518
+ }
519
+
520
+ :where(del, ins) {
521
+ color: var(--color-9);
522
+ }
523
+
524
+ small {
525
+ font-size: max(0.5em, var(--font-size-0, 0.75rem));
526
+ }
527
+
528
+ cite {
529
+ font-style: italic;
530
+ }
531
+
532
+ /* Code */
533
+ :where(code, kbd, samp, pre) {
534
+ font-family: var(--font-mono);
535
+ }
536
+
537
+ code {
538
+ background-color: oklch(0 0 0 / 18%);
539
+ border-radius: var(--border-size-3);
540
+ font-size: 0.9em;
541
+ padding: 0.1ex 0.3ex;
542
+ }
543
+
544
+ :where(kbd, var) {
545
+ background-color: var(--text-muted);
546
+ border-color: var(--text-muted);
547
+ border-radius: var(--radius-2);
548
+ border-width: var(--border-size-1);
549
+ color: var(--text-muted-contrast);
550
+ padding: 0.1ex 0.3ex;
551
+ }
552
+
553
+ :not(pre) code,
554
+ kbd {
555
+ word-break: break-word;
556
+ }
557
+
558
+ :not(pre) code {
559
+ border-radius: var(--border-radius, var(--radius-2));
560
+ padding: 0.5ex;
561
+ writing-mode: lr;
562
+ }
563
+
564
+ mark {
565
+ border-radius: var(--radius-2);
566
+ box-decoration-break: clone;
567
+ padding: 0.1ex 0.3ex;
568
+ vertical-align: baseline;
569
+ }
570
+
571
+ s {
572
+ text-decoration: line-through;
573
+ }
574
+
575
+ sub {
576
+ font-size: 0.75em;
577
+ vertical-align: sub;
578
+ }
579
+ }
580
+ }