opui-css 5.4.2 → 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 -367
  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 -40
  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 -12
  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 -68
  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 -179
  285. package/css/components/button.css +212 -212
  286. package/css/components/callout.css +112 -112
  287. package/css/components/card.css +116 -116
  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 -170
  294. package/css/components/form.css +146 -146
  295. package/css/components/icon-button.css +139 -139
  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 -320
  301. package/css/components/select.css +170 -170
  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 -157
  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 -68
  313. package/css/components/typography.css +580 -580
  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 -124
  319. package/dist/op.css +4 -4
  320. package/dist/op.css.map +1 -1
  321. package/dist/opui.components.css +5140 -5140
  322. package/dist/opui.components.css.map +1 -1
  323. package/dist/opui.css +5907 -5907
  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,580 +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(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
- }
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
+ }