@tangible/ui 0.0.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 (212) hide show
  1. package/README.md +100 -0
  2. package/components/Accordion/Accordion.d.ts +22 -0
  3. package/components/Accordion/Accordion.js +192 -0
  4. package/components/Accordion/AccordionContext.d.ts +5 -0
  5. package/components/Accordion/AccordionContext.js +23 -0
  6. package/components/Accordion/index.d.ts +2 -0
  7. package/components/Accordion/index.js +1 -0
  8. package/components/Accordion/types.d.ts +61 -0
  9. package/components/Accordion/types.js +1 -0
  10. package/components/Avatar/Avatar.d.ts +11 -0
  11. package/components/Avatar/Avatar.js +67 -0
  12. package/components/Avatar/AvatarGroup.d.ts +11 -0
  13. package/components/Avatar/AvatarGroup.js +45 -0
  14. package/components/Avatar/index.d.ts +9 -0
  15. package/components/Avatar/index.js +7 -0
  16. package/components/Avatar/types.d.ts +44 -0
  17. package/components/Avatar/types.js +12 -0
  18. package/components/Button/Button.d.ts +4 -0
  19. package/components/Button/Button.js +33 -0
  20. package/components/Button/index.d.ts +2 -0
  21. package/components/Button/index.js +1 -0
  22. package/components/Button/types.d.ts +127 -0
  23. package/components/Button/types.js +1 -0
  24. package/components/Card/Card.d.ts +29 -0
  25. package/components/Card/Card.js +47 -0
  26. package/components/Card/index.d.ts +2 -0
  27. package/components/Card/index.js +1 -0
  28. package/components/Chip/Chip.d.ts +24 -0
  29. package/components/Chip/Chip.js +37 -0
  30. package/components/Chip/index.d.ts +2 -0
  31. package/components/Chip/index.js +1 -0
  32. package/components/Chips/Chips.d.ts +31 -0
  33. package/components/Chips/Chips.js +21 -0
  34. package/components/Chips/index.d.ts +2 -0
  35. package/components/Chips/index.js +1 -0
  36. package/components/ContentIndicator/ContentIndicator.d.ts +2 -0
  37. package/components/ContentIndicator/ContentIndicator.js +21 -0
  38. package/components/ContentIndicator/index.d.ts +2 -0
  39. package/components/ContentIndicator/index.js +1 -0
  40. package/components/ContentIndicator/types.d.ts +57 -0
  41. package/components/ContentIndicator/types.js +1 -0
  42. package/components/Dropdown/Dropdown.d.ts +31 -0
  43. package/components/Dropdown/Dropdown.js +219 -0
  44. package/components/Dropdown/DropdownContext.d.ts +3 -0
  45. package/components/Dropdown/DropdownContext.js +9 -0
  46. package/components/Dropdown/index.d.ts +2 -0
  47. package/components/Dropdown/index.js +1 -0
  48. package/components/Dropdown/types.d.ts +102 -0
  49. package/components/Dropdown/types.js +8 -0
  50. package/components/Icon/Icon.d.ts +22 -0
  51. package/components/Icon/Icon.js +24 -0
  52. package/components/Icon/index.d.ts +2 -0
  53. package/components/Icon/index.js +1 -0
  54. package/components/IconButton/IconButton.d.ts +2 -0
  55. package/components/IconButton/IconButton.js +50 -0
  56. package/components/IconButton/index.d.ts +2 -0
  57. package/components/IconButton/index.js +1 -0
  58. package/components/IconButton/types.d.ts +79 -0
  59. package/components/IconButton/types.js +1 -0
  60. package/components/Modal/Modal.d.ts +52 -0
  61. package/components/Modal/Modal.js +133 -0
  62. package/components/Modal/context.d.ts +6 -0
  63. package/components/Modal/context.js +9 -0
  64. package/components/Modal/index.d.ts +2 -0
  65. package/components/Modal/index.js +1 -0
  66. package/components/Notice/Notice.d.ts +93 -0
  67. package/components/Notice/Notice.js +144 -0
  68. package/components/Notice/index.d.ts +2 -0
  69. package/components/Notice/index.js +1 -0
  70. package/components/OverlapStack/OverlapStack.d.ts +44 -0
  71. package/components/OverlapStack/OverlapStack.js +41 -0
  72. package/components/OverlapStack/index.d.ts +2 -0
  73. package/components/OverlapStack/index.js +1 -0
  74. package/components/Pager/Pager.d.ts +26 -0
  75. package/components/Pager/Pager.js +151 -0
  76. package/components/Pager/index.d.ts +2 -0
  77. package/components/Pager/index.js +1 -0
  78. package/components/Progress/Progress.d.ts +2 -0
  79. package/components/Progress/Progress.js +100 -0
  80. package/components/Progress/index.d.ts +4 -0
  81. package/components/Progress/index.js +2 -0
  82. package/components/Progress/types.d.ts +251 -0
  83. package/components/Progress/types.js +1 -0
  84. package/components/Progress/useProgressSegments.d.ts +40 -0
  85. package/components/Progress/useProgressSegments.js +42 -0
  86. package/components/Rating/Rating.d.ts +32 -0
  87. package/components/Rating/Rating.js +74 -0
  88. package/components/Rating/index.d.ts +2 -0
  89. package/components/Rating/index.js +1 -0
  90. package/components/SegmentedControl/SegmentedControl.d.ts +10 -0
  91. package/components/SegmentedControl/SegmentedControl.js +183 -0
  92. package/components/SegmentedControl/SegmentedControlContext.d.ts +3 -0
  93. package/components/SegmentedControl/SegmentedControlContext.js +9 -0
  94. package/components/SegmentedControl/index.d.ts +2 -0
  95. package/components/SegmentedControl/index.js +1 -0
  96. package/components/SegmentedControl/types.d.ts +63 -0
  97. package/components/SegmentedControl/types.js +1 -0
  98. package/components/Sidebar/Sidebar.d.ts +17 -0
  99. package/components/Sidebar/Sidebar.js +107 -0
  100. package/components/Sidebar/index.d.ts +2 -0
  101. package/components/Sidebar/index.js +1 -0
  102. package/components/Sidebar/types.d.ts +65 -0
  103. package/components/Sidebar/types.js +4 -0
  104. package/components/StepIndicator/StepIndicator.d.ts +2 -0
  105. package/components/StepIndicator/StepIndicator.js +64 -0
  106. package/components/StepIndicator/index.d.ts +2 -0
  107. package/components/StepIndicator/index.js +1 -0
  108. package/components/StepIndicator/types.d.ts +68 -0
  109. package/components/StepIndicator/types.js +1 -0
  110. package/components/StepList/StepList.d.ts +12 -0
  111. package/components/StepList/StepList.js +59 -0
  112. package/components/StepList/StepListContext.d.ts +3 -0
  113. package/components/StepList/StepListContext.js +9 -0
  114. package/components/StepList/index.d.ts +2 -0
  115. package/components/StepList/index.js +1 -0
  116. package/components/StepList/types.d.ts +91 -0
  117. package/components/StepList/types.js +4 -0
  118. package/components/Table/BulkActionsBar.d.ts +12 -0
  119. package/components/Table/BulkActionsBar.js +9 -0
  120. package/components/Table/DataTable.d.ts +35 -0
  121. package/components/Table/DataTable.js +184 -0
  122. package/components/Table/Pagination.d.ts +13 -0
  123. package/components/Table/Pagination.js +13 -0
  124. package/components/Table/index.d.ts +2 -0
  125. package/components/Table/index.js +1 -0
  126. package/components/Tabs/Tabs.d.ts +23 -0
  127. package/components/Tabs/Tabs.js +309 -0
  128. package/components/Tabs/TabsContext.d.ts +3 -0
  129. package/components/Tabs/TabsContext.js +12 -0
  130. package/components/Tabs/index.d.ts +2 -0
  131. package/components/Tabs/index.js +1 -0
  132. package/components/Tabs/types.d.ts +75 -0
  133. package/components/Tabs/types.js +1 -0
  134. package/components/Toolbar/Toolbar.d.ts +18 -0
  135. package/components/Toolbar/Toolbar.js +241 -0
  136. package/components/Toolbar/index.d.ts +2 -0
  137. package/components/Toolbar/index.js +1 -0
  138. package/components/Toolbar/types.d.ts +28 -0
  139. package/components/Toolbar/types.js +1 -0
  140. package/components/Tooltip/Tooltip.d.ts +15 -0
  141. package/components/Tooltip/Tooltip.js +166 -0
  142. package/components/Tooltip/TooltipContext.d.ts +15 -0
  143. package/components/Tooltip/TooltipContext.js +25 -0
  144. package/components/Tooltip/index.d.ts +2 -0
  145. package/components/Tooltip/index.js +1 -0
  146. package/components/Tooltip/types.d.ts +85 -0
  147. package/components/Tooltip/types.js +8 -0
  148. package/components/index.d.ts +52 -0
  149. package/components/index.js +26 -0
  150. package/constants.d.ts +16 -0
  151. package/constants.js +16 -0
  152. package/icons/cred/index.d.ts +31 -0
  153. package/icons/cred/index.js +136 -0
  154. package/icons/icons.svg +155 -0
  155. package/icons/lms/index.d.ts +21 -0
  156. package/icons/lms/index.js +81 -0
  157. package/icons/manifest.json +1226 -0
  158. package/icons/player/index.d.ts +55 -0
  159. package/icons/player/index.js +268 -0
  160. package/icons/reaction/index.d.ts +79 -0
  161. package/icons/reaction/index.js +400 -0
  162. package/icons/registry.d.ts +316 -0
  163. package/icons/registry.js +163 -0
  164. package/icons/system/index.d.ts +155 -0
  165. package/icons/system/index.js +818 -0
  166. package/package.json +121 -0
  167. package/styles/all.css +1 -0
  168. package/styles/all.expanded.css +4137 -0
  169. package/styles/all.expanded.unlayered.css +4137 -0
  170. package/styles/all.unlayered.css +1 -0
  171. package/styles/components/_bundle.scss +51 -0
  172. package/styles/components/index.scss +1 -0
  173. package/styles/components/input/index.scss +248 -0
  174. package/styles/index.scss +71 -0
  175. package/styles/system/_constants.scss +12 -0
  176. package/styles/system/_motion.scss +47 -0
  177. package/styles/system/_palette-fns.scss +10 -0
  178. package/styles/system/_palettes.scss +80 -0
  179. package/styles/system/_tokens.scss +249 -0
  180. package/styles/system/index.scss +4 -0
  181. package/styles/utilities/_index.scss +373 -0
  182. package/tui-manifest.json +1858 -0
  183. package/types/index.d.ts +2 -0
  184. package/types/index.js +1 -0
  185. package/types/index.ts +2 -0
  186. package/types/sizes.d.ts +17 -0
  187. package/types/sizes.js +10 -0
  188. package/types/sizes.ts +21 -0
  189. package/types/svg.d.ts +5 -0
  190. package/types/themes.d.ts +14 -0
  191. package/types/themes.js +9 -0
  192. package/types/themes.ts +17 -0
  193. package/utils/color/contrast.d.ts +33 -0
  194. package/utils/color/contrast.js +88 -0
  195. package/utils/color-scheme.d.ts +25 -0
  196. package/utils/color-scheme.js +55 -0
  197. package/utils/compose-refs.d.ts +17 -0
  198. package/utils/compose-refs.js +38 -0
  199. package/utils/cx.d.ts +12 -0
  200. package/utils/cx.js +14 -0
  201. package/utils/focus-trap.d.ts +40 -0
  202. package/utils/focus-trap.js +93 -0
  203. package/utils/index.d.ts +10 -0
  204. package/utils/index.js +16 -0
  205. package/utils/math.d.ts +4 -0
  206. package/utils/math.js +19 -0
  207. package/utils/merge-props.d.ts +25 -0
  208. package/utils/merge-props.js +60 -0
  209. package/utils/polymorphic.d.ts +28 -0
  210. package/utils/polymorphic.js +44 -0
  211. package/utils/portal.d.ts +11 -0
  212. package/utils/portal.js +105 -0
@@ -0,0 +1,4137 @@
1
+ @keyframes tui-fadeFromOpaque {
2
+ from {
3
+ opacity: 1;
4
+ }
5
+ }
6
+ @keyframes tui-fadeToOpaque {
7
+ to {
8
+ opacity: 1;
9
+ }
10
+ }
11
+ @keyframes tui-fadeFromTransparent {
12
+ from {
13
+ opacity: 0;
14
+ }
15
+ }
16
+ @keyframes tui-fadeToTransparent {
17
+ to {
18
+ opacity: 0;
19
+ }
20
+ }
21
+ /* @tui-tokens
22
+ --tui-accordion-bg
23
+ --tui-accordion-bg-open
24
+ --tui-accordion-border
25
+ --tui-accordion-radius
26
+ --tui-accordion-padding
27
+ --tui-accordion-gap
28
+ --tui-accordion-indicator
29
+ --tui-accordion-trigger-hover
30
+ */
31
+ /* @tui-tokens
32
+ --tui-button-bg
33
+ --tui-button-fg
34
+ --tui-button-border
35
+ --tui-button-radius
36
+ --tui-button-bg-interact
37
+ --tui-button-fg-interact
38
+ --tui-button-border-interact
39
+ */
40
+ /* @tui-tokens
41
+ --tui-card-bg
42
+ --tui-card-border
43
+ --tui-card-border-interact
44
+ --tui-card-radius
45
+ --tui-card-shadow
46
+ --tui-card-shadow-interact
47
+ --tui-card-padding
48
+ --tui-card-foot-basis
49
+ */
50
+ /* @tui-tokens
51
+ --tui-modal-z
52
+ --tui-modal-max
53
+ --tui-modal-backdrop
54
+ --tui-modal-bg
55
+ --tui-modal-border
56
+ --tui-modal-radius
57
+ --tui-modal-padding
58
+ --tui-modal-shadow
59
+ */
60
+ /* @tui-tokens
61
+ --tui-notice-bg
62
+ --tui-notice-border
63
+ --tui-notice-stripe
64
+ --tui-notice-fg
65
+ --tui-notice-radius
66
+ --tui-notice-padding
67
+ --tui-notice-foot-basis
68
+ */
69
+ /* @tui-tokens
70
+ --tui-tabs-gap
71
+ --tui-tabs-list-bg
72
+ --tui-tabs-list-padding
73
+ --tui-tabs-list-radius
74
+ --tui-tabs-tab-padding
75
+ --tui-tabs-tab-radius
76
+ --tui-tabs-tab-bg
77
+ --tui-tabs-tab-fg
78
+ --tui-tabs-tab-bg-active
79
+ --tui-tabs-tab-fg-active
80
+ --tui-tabs-tab-bg-hover
81
+ --tui-tabs-tab-border
82
+ --tui-tabs-indicator
83
+ --tui-tabs-indicator-size
84
+ */
85
+
86
+ :where(.tui-interface) {
87
+ /* ========================
88
+ PRIMITIVES
89
+ ======================== */
90
+ /* Motion */
91
+ --tui-motion-duration: 200ms;
92
+ --tui-motion-timing: ease-in-out;
93
+ /* Opacity */
94
+ --tui-opacity-disabled: 0.75;
95
+ --tui-opacity-backdrop: 0.5;
96
+ /* Focus Ring (a11y) */
97
+ --tui-focus-ring-width: 2px;
98
+ --tui-focus-ring-offset: 2px;
99
+ --tui-focus-ring-color: #2563eb;
100
+ /* Border */
101
+ --tui-border-width: 1px;
102
+ /* Z-Index Layers */
103
+ --tui-layer-surface: 0;
104
+ --tui-layer-elevated: 2;
105
+ --tui-layer-overlay: 100;
106
+ --tui-layer-modal: 1000;
107
+ --tui-layer-top: 9999;
108
+ /* ========================
109
+ COLORS
110
+ ======================== */
111
+ /* Neutral: surfaces */
112
+ --tui-color-bg: #fff;
113
+ --tui-color-bg-surface: #fafafa;
114
+ --tui-color-bg-elevated: #fff;
115
+ --tui-color-bg-inverted: #111928;
116
+ --tui-color-bg-overlay: rgba(0, 0, 0, var(--tui-opacity-backdrop));
117
+ /* Neutral: text */
118
+ --tui-color-fg: #111928;
119
+ --tui-color-fg-muted: #6B7280;
120
+ --tui-color-fg-on-accent: #fff;
121
+ --tui-color-fg-inverted: #fafafa;
122
+ /* Neutral: borders/dividers */
123
+ --tui-color-border: #E5E7EB;
124
+ --tui-color-divider: #F3F4F6;
125
+ /* Primary */
126
+ --tui-theme-primary-strongest: #090949;
127
+ --tui-theme-primary-stronger: #1b2398;
128
+ --tui-theme-primary-strong: #1d35b4;
129
+ --tui-theme-primary-base: #2942d1;
130
+ --tui-theme-primary-soft: #7b93ff;
131
+ --tui-theme-primary-subtle: #c7d6ff;
132
+ --tui-theme-primary-subtlest: #e2e9ff;
133
+ /* Secondary */
134
+ --tui-theme-secondary-strongest: #111928;
135
+ --tui-theme-secondary-stronger: #202836;
136
+ --tui-theme-secondary-strong: #374151;
137
+ --tui-theme-secondary-base: #6B7280;
138
+ --tui-theme-secondary-soft: #9CA3AF;
139
+ --tui-theme-secondary-subtle: #E5E7EB;
140
+ --tui-theme-secondary-subtlest: #F3F4F6;
141
+ /* Success */
142
+ --tui-theme-success-strongest: #003008;
143
+ --tui-theme-success-stronger: #005c12;
144
+ --tui-theme-success-strong: #007017;
145
+ --tui-theme-success-base: #008a20;
146
+ --tui-theme-success-soft: #00ba37;
147
+ --tui-theme-success-subtle: #b7e7be;
148
+ --tui-theme-success-subtlest: #d8f3dc;
149
+ /* Info */
150
+ --tui-theme-info-strongest: #090949;
151
+ --tui-theme-info-stronger: #1b2398;
152
+ --tui-theme-info-strong: #1d35b4;
153
+ --tui-theme-info-base: #2942d1;
154
+ --tui-theme-info-soft: #7b93ff;
155
+ --tui-theme-info-subtle: #c7d6ff;
156
+ --tui-theme-info-subtlest: #e2e9ff;
157
+ /* Warning */
158
+ --tui-theme-warning-strongest: #362400;
159
+ --tui-theme-warning-stronger: #614200;
160
+ --tui-theme-warning-strong: #755100;
161
+ --tui-theme-warning-base: #996800;
162
+ --tui-theme-warning-soft: #dba617;
163
+ --tui-theme-warning-subtle: #f5e6ab;
164
+ --tui-theme-warning-subtlest: #f9f1d2;
165
+ /* Danger */
166
+ --tui-theme-danger-strongest: #451313;
167
+ --tui-theme-danger-stronger: #8a2424;
168
+ --tui-theme-danger-strong: #b32d2e;
169
+ --tui-theme-danger-base: #d63638;
170
+ --tui-theme-danger-soft: #f86368;
171
+ --tui-theme-danger-subtle: #facfd2;
172
+ --tui-theme-danger-subtlest: #fce3e5;
173
+ /* A11y (legacy alias - prefer --focus-ring-color) */
174
+ --tui-color-focus-ring: var(--tui-focus-ring-color);
175
+ }
176
+
177
+ :where(.tui-interface)[data-theme=dark] {
178
+ /* Backgrounds */
179
+ --tui-color-bg: #111928;
180
+ --tui-color-bg-surface: #202836;
181
+ --tui-color-bg-elevated: #374151;
182
+ --tui-color-bg-inverted: #F9FAFB;
183
+ --tui-color-bg-overlay: rgba(0, 0, 0, 0.7);
184
+ /* Text */
185
+ --tui-color-fg: #F9FAFB;
186
+ --tui-color-fg-muted: #9CA3AF;
187
+ --tui-color-fg-on-accent: #fff;
188
+ --tui-color-fg-inverted: #111928;
189
+ /* Borders */
190
+ --tui-color-border: #374151;
191
+ --tui-color-divider: #202836;
192
+ /* Theme colors - adjust for dark mode contrast */
193
+ --tui-theme-primary-base: #3858e9;
194
+ --tui-theme-primary-soft: #2942d1;
195
+ --tui-theme-primary-strong: #5373f2;
196
+ --tui-theme-primary-stronger: #7b93ff;
197
+ --tui-theme-primary-strongest: #a0b5fe;
198
+ --tui-theme-primary-subtlest: #090949;
199
+ --tui-theme-primary-subtle: #101375;
200
+ /* Secondary */
201
+ --tui-theme-secondary-subtlest: #202836;
202
+ --tui-theme-secondary-subtle: #374151;
203
+ --tui-theme-secondary-soft: #4B5563;
204
+ --tui-theme-secondary-strong: #D1D5DB;
205
+ --tui-theme-secondary-stronger: #E5E7EB;
206
+ --tui-theme-secondary-strongest: #F3F4F6;
207
+ --tui-theme-success-base: #00a32a;
208
+ --tui-theme-success-strong: #00ba37;
209
+ --tui-theme-success-stronger: #1ed14b;
210
+ --tui-theme-success-strongest: #68de7c;
211
+ --tui-theme-success-subtlest: #003008;
212
+ --tui-theme-warning-base: #bd8600;
213
+ --tui-theme-warning-strong: #dba617;
214
+ --tui-theme-warning-stronger: #f0c33c;
215
+ --tui-theme-warning-subtlest: #362400;
216
+ --tui-theme-danger-base: #e65054;
217
+ --tui-theme-danger-strong: #f86368;
218
+ --tui-theme-danger-stronger: #ff8085;
219
+ --tui-theme-danger-strongest: #ffabaf;
220
+ --tui-theme-danger-subtlest: #451313;
221
+ /* Focus ring - brighter for dark backgrounds */
222
+ --tui-focus-ring-color: #3858e9;
223
+ /* Shadows - more pronounced in dark mode */
224
+ --tui-shadow-color: 0, 0, 0;
225
+ }
226
+
227
+ @media (prefers-color-scheme: dark) {
228
+ :where(.tui-interface)[data-theme=auto] {
229
+ /* Backgrounds */
230
+ --tui-color-bg: #111928;
231
+ --tui-color-bg-surface: #202836;
232
+ --tui-color-bg-elevated: #374151;
233
+ --tui-color-bg-inverted: #F9FAFB;
234
+ --tui-color-bg-overlay: rgba(0, 0, 0, 0.7);
235
+ /* Text */
236
+ --tui-color-fg: #F9FAFB;
237
+ --tui-color-fg-muted: #9CA3AF;
238
+ --tui-color-fg-on-accent: #fff;
239
+ --tui-color-fg-inverted: #111928;
240
+ /* Borders */
241
+ --tui-color-border: #374151;
242
+ --tui-color-divider: #202836;
243
+ /* Theme colors - adjust for dark mode contrast */
244
+ --tui-theme-primary-base: #3858e9;
245
+ --tui-theme-primary-soft: #2942d1;
246
+ --tui-theme-primary-strong: #5373f2;
247
+ --tui-theme-primary-stronger: #7b93ff;
248
+ --tui-theme-primary-strongest: #a0b5fe;
249
+ --tui-theme-primary-subtlest: #090949;
250
+ --tui-theme-primary-subtle: #101375;
251
+ /* Secondary */
252
+ --tui-theme-secondary-subtlest: #202836;
253
+ --tui-theme-secondary-subtle: #374151;
254
+ --tui-theme-secondary-soft: #4B5563;
255
+ --tui-theme-secondary-strong: #D1D5DB;
256
+ --tui-theme-secondary-stronger: #E5E7EB;
257
+ --tui-theme-secondary-strongest: #F3F4F6;
258
+ --tui-theme-success-base: #00a32a;
259
+ --tui-theme-success-strong: #00ba37;
260
+ --tui-theme-success-stronger: #1ed14b;
261
+ --tui-theme-success-strongest: #68de7c;
262
+ --tui-theme-success-subtlest: #003008;
263
+ --tui-theme-warning-base: #bd8600;
264
+ --tui-theme-warning-strong: #dba617;
265
+ --tui-theme-warning-stronger: #f0c33c;
266
+ --tui-theme-warning-subtlest: #362400;
267
+ --tui-theme-danger-base: #e65054;
268
+ --tui-theme-danger-strong: #f86368;
269
+ --tui-theme-danger-stronger: #ff8085;
270
+ --tui-theme-danger-strongest: #ffabaf;
271
+ --tui-theme-danger-subtlest: #451313;
272
+ /* Focus ring - brighter for dark backgrounds */
273
+ --tui-focus-ring-color: #3858e9;
274
+ /* Shadows - more pronounced in dark mode */
275
+ --tui-shadow-color: 0, 0, 0;
276
+ }
277
+ }
278
+ .tui-interface {
279
+ --tui-spacing-base: 4px;
280
+ --tui-palette-spacing-1: calc(var(--tui-spacing-base) * 1);
281
+ --tui-palette-spacing-2: calc(var(--tui-spacing-base) * 2);
282
+ --tui-palette-spacing-3: calc(var(--tui-spacing-base) * 3);
283
+ --tui-palette-spacing-4: calc(var(--tui-spacing-base) * 4);
284
+ --tui-palette-spacing-5: calc(var(--tui-spacing-base) * 5);
285
+ --tui-palette-spacing-6: calc(var(--tui-spacing-base) * 6);
286
+ --tui-palette-spacing-8: calc(var(--tui-spacing-base) * 8);
287
+ --tui-palette-spacing-10: calc(var(--tui-spacing-base) * 10);
288
+ --tui-palette-spacing-12: calc(var(--tui-spacing-base) * 12);
289
+ --tui-palette-spacing-16: calc(var(--tui-spacing-base) * 16);
290
+ --tui-palette-spacing-20: calc(var(--tui-spacing-base) * 20);
291
+ --tui-palette-spacing-24: calc(var(--tui-spacing-base) * 24);
292
+ --tui-palette-spacing-30: calc(var(--tui-spacing-base) * 30);
293
+ --tui-palette-spacing-40: calc(var(--tui-spacing-base) * 40);
294
+ --tui-palette-spacing-50: calc(var(--tui-spacing-base) * 50);
295
+ --tui-spacing-xxs: var(--tui-palette-spacing-1);
296
+ --tui-spacing-xs: var(--tui-palette-spacing-2);
297
+ --tui-spacing-sm: var(--tui-palette-spacing-3);
298
+ --tui-spacing-md: var(--tui-palette-spacing-4);
299
+ --tui-spacing-lg: var(--tui-palette-spacing-6);
300
+ --tui-spacing-xl: var(--tui-palette-spacing-8);
301
+ --tui-spacing-xxl: var(--tui-palette-spacing-16);
302
+ --tui-fontSize-multiplier: calc(1rem / 16);
303
+ --tui-typography-size-xs: calc(12 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
304
+ --tui-typography-size-sm: calc(14 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
305
+ --tui-typography-size-md: calc(16 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
306
+ --tui-typography-size-lg: calc(20 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
307
+ --tui-typography-size-xl: calc(24 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
308
+ --tui-typography-size-xxl: calc(32 * var(--tui-fontSize-multiplier, calc(1rem / 16)));
309
+ --tui-palette-color-white: #fff;
310
+ --tui-palette-color-black: #000;
311
+ --tui-radius-xs: 2px;
312
+ --tui-radius-sm: 4px;
313
+ --tui-radius-md: 8px;
314
+ --tui-radius-lg: 12px;
315
+ --tui-font-size-base: 16px;
316
+ --tui-line: 1.5;
317
+ --tui-typography-size: var(--tui-font-size-base);
318
+ --tui-typography-line-height: 1.4;
319
+ --tui-typography-font-family: inherit;
320
+ --tui-typography-color-base: currentColor;
321
+ --tui-typography-color-contrast-high: var(--tui-color-fg);
322
+ --tui-typography-color-contrast-low: var(--tui-color-fg-muted);
323
+ --tui-typography-color-headings: var(--tui-color-fg);
324
+ --tui-shadow-color: 0, 0, 0;
325
+ --tui-shadow-xs: 0 1px 2px rgba(var(--tui-shadow-color), 0.05);
326
+ --tui-shadow-sm: 0 1px 3px rgba(var(--tui-shadow-color), 0.1),
327
+ 0 1px 2px rgba(var(--tui-shadow-color), 0.06);
328
+ --tui-shadow-md: 0 4px 6px rgba(var(--tui-shadow-color), 0.1),
329
+ 0 2px 4px rgba(var(--tui-shadow-color), 0.06);
330
+ --tui-shadow-lg: 0 10px 15px rgba(var(--tui-shadow-color), 0.1),
331
+ 0 4px 6px rgba(var(--tui-shadow-color), 0.05);
332
+ }
333
+
334
+
335
+ .tui-interface {
336
+ font-size: var(--tui-typography-size);
337
+ line-height: var(--tui-typography-line-height);
338
+ color: inherit;
339
+ }
340
+ .tui-interface[data-theme] {
341
+ color: var(--tui-color-fg);
342
+ }
343
+ .tui-interface button,
344
+ .tui-interface [type=button],
345
+ .tui-interface [type=submit],
346
+ .tui-interface [type=reset] {
347
+ box-shadow: none;
348
+ text-transform: none;
349
+ letter-spacing: normal;
350
+ }
351
+
352
+
353
+ :where(.tui-interface) .tui-accordion {
354
+ display: flex;
355
+ flex-direction: column;
356
+ gap: var(--tui-accordion-gap, var(--tui-spacing-sm));
357
+ }
358
+ :where(.tui-interface) .tui-accordion__item {
359
+ --_bg: var(--tui-accordion-bg, var(--tui-color-bg-surface));
360
+ --_bg-open: var(--tui-accordion-bg-open, var(--_bg));
361
+ --_border: var(--tui-accordion-border, var(--tui-color-border));
362
+ --_radius: var(--tui-accordion-radius, var(--tui-radius-md));
363
+ --_padding: var(--tui-accordion-padding, var(--tui-spacing-md));
364
+ --_indicator: var(--tui-accordion-indicator, currentColor);
365
+ --_trigger-hover: var(--tui-accordion-trigger-hover, var(--tui-color-bg-muted));
366
+ background-color: var(--_bg);
367
+ border: var(--tui-border-width) solid var(--_border);
368
+ border-radius: var(--_radius);
369
+ overflow: hidden;
370
+ }
371
+ :where(.tui-interface) .tui-accordion__item[data-state=open] {
372
+ --_bg: var(--_bg-open);
373
+ }
374
+ :where(.tui-interface) .tui-accordion__item[data-disabled=true] {
375
+ opacity: var(--tui-opacity-disabled);
376
+ }
377
+ :where(.tui-interface) .tui-accordion__heading {
378
+ margin: 0;
379
+ font: inherit;
380
+ }
381
+ :where(.tui-interface) .tui-accordion__trigger {
382
+ display: flex;
383
+ align-items: center;
384
+ justify-content: space-between;
385
+ gap: var(--tui-spacing-sm);
386
+ width: 100%;
387
+ padding: var(--_padding);
388
+ border: none;
389
+ border-radius: var(--_radius);
390
+ background: transparent;
391
+ color: inherit;
392
+ font: inherit;
393
+ font-weight: var(--tui-font-weight-medium, 500);
394
+ text-align: start;
395
+ cursor: pointer;
396
+ transition-property: background-color;
397
+ transition-duration: var(--tui-motion-duration);
398
+ transition-timing-function: var(--tui-motion-timing);
399
+ }
400
+ :where(.tui-interface) .tui-accordion__trigger:hover:not(:disabled) {
401
+ background-color: var(--_trigger-hover);
402
+ }
403
+ :where(.tui-interface) .tui-accordion__trigger:focus-visible {
404
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
405
+ outline-offset: calc(var(--tui-focus-ring-offset) * -1 - 1px);
406
+ z-index: 1;
407
+ }
408
+ :where(.tui-interface) .tui-accordion__trigger:disabled {
409
+ cursor: not-allowed;
410
+ }
411
+ :where(.tui-interface) .tui-accordion__trigger-content {
412
+ display: flex;
413
+ align-items: center;
414
+ gap: var(--tui-spacing-sm);
415
+ flex: 1;
416
+ min-width: 0;
417
+ }
418
+ :where(.tui-interface) .tui-accordion__indicator {
419
+ flex-shrink: 0;
420
+ color: var(--_indicator);
421
+ transition-property: transform;
422
+ transition-duration: var(--tui-motion-duration);
423
+ transition-timing-function: var(--tui-motion-timing);
424
+ }
425
+ [data-state=open] > :where(.tui-interface) .tui-accordion__indicator {
426
+ transform: rotate(180deg);
427
+ }
428
+ :where(.tui-interface) .tui-accordion__panel {
429
+ display: grid;
430
+ grid-template-rows: 0fr;
431
+ transition-property: grid-template-rows;
432
+ transition-duration: var(--tui-motion-duration);
433
+ transition-timing-function: var(--tui-motion-timing);
434
+ }
435
+ :where(.tui-interface) .tui-accordion__panel[data-state=open] {
436
+ grid-template-rows: 1fr;
437
+ }
438
+ :where(.tui-interface) .tui-accordion__panel-content {
439
+ min-height: 0;
440
+ overflow: hidden;
441
+ padding-inline: var(--_padding);
442
+ }
443
+ :where(.tui-interface) .tui-accordion__panel-content > *:first-child {
444
+ margin-block-start: 0;
445
+ }
446
+ :where(.tui-interface) .tui-accordion__panel-content > *:last-child {
447
+ margin-block-end: 0;
448
+ }
449
+ :where(.tui-interface) .tui-accordion__panel-content::after {
450
+ content: "";
451
+ display: block;
452
+ height: var(--_padding);
453
+ }
454
+ :where(.tui-interface) .tui-accordion__panel[data-state=closed] > .tui-accordion__panel-content {
455
+ animation: tui-fadeToTransparent var(--tui-motion-duration) var(--tui-motion-timing) forwards;
456
+ }
457
+ :where(.tui-interface) .tui-accordion__panel[data-state=open] > .tui-accordion__panel-content {
458
+ animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing) forwards;
459
+ }
460
+ @media (prefers-reduced-motion: reduce) {
461
+ :where(.tui-interface) .tui-accordion__panel {
462
+ transition: none;
463
+ }
464
+ :where(.tui-interface) .tui-accordion__panel-content {
465
+ transition: none;
466
+ }
467
+ :where(.tui-interface) .tui-accordion__indicator {
468
+ transition: none;
469
+ }
470
+ :where(.tui-interface) .tui-accordion__trigger {
471
+ transition: none;
472
+ }
473
+ }
474
+ :where(.tui-interface) {
475
+ --tui-avatar-palette-coral: #c62828;
476
+ --tui-avatar-palette-amber: #f59e0b;
477
+ --tui-avatar-palette-lime: #65a30d;
478
+ --tui-avatar-palette-teal: #0f766e;
479
+ --tui-avatar-palette-cyan: #0891b2;
480
+ --tui-avatar-palette-blue: #1d4ed8;
481
+ --tui-avatar-palette-violet: #6d28d9;
482
+ --tui-avatar-palette-pink: #be185d;
483
+ --tui-avatar-palette-slate: #475569;
484
+ --tui-avatar-palette-emerald: #047857;
485
+ }
486
+ :where(.tui-interface) .tui-avatar {
487
+ --_size: var(--tui-avatar-size, 2.5rem);
488
+ --_radius: var(--tui-avatar-radius, 50%);
489
+ --_bg: var(--tui-avatar-bg, var(--tui-color-bg-muted));
490
+ --_fg: var(--tui-avatar-fg, var(--tui-color-fg-inverted));
491
+ --_border: var(--tui-avatar-border, 2px solid var(--tui-color-bg));
492
+ position: relative;
493
+ display: inline-flex;
494
+ align-items: center;
495
+ justify-content: center;
496
+ width: var(--_size);
497
+ height: var(--_size);
498
+ border-radius: var(--_radius);
499
+ background-color: var(--_bg);
500
+ color: var(--_fg);
501
+ font-weight: 500;
502
+ font-size: calc(var(--_size) * 0.4);
503
+ line-height: 1;
504
+ flex-shrink: 0;
505
+ user-select: none;
506
+ }
507
+ :where(.tui-interface) .tui-avatar.is-size-xs {
508
+ --_size: var(--tui-avatar-size, 1.5rem);
509
+ }
510
+ :where(.tui-interface) .tui-avatar.is-size-sm {
511
+ --_size: var(--tui-avatar-size, 2rem);
512
+ }
513
+ :where(.tui-interface) .tui-avatar.is-size-md {
514
+ --_size: var(--tui-avatar-size, 2.5rem);
515
+ }
516
+ :where(.tui-interface) .tui-avatar.is-size-lg {
517
+ --_size: var(--tui-avatar-size, 3rem);
518
+ }
519
+ :where(.tui-interface) .tui-avatar.is-size-xl {
520
+ --_size: var(--tui-avatar-size, 4rem);
521
+ }
522
+ :where(.tui-interface) .tui-avatar.is-size-xxl {
523
+ --_size: var(--tui-avatar-size, 5rem);
524
+ }
525
+ :where(.tui-interface) .tui-avatar.is-shape-circle {
526
+ --_radius: var(--tui-avatar-radius, 50%);
527
+ }
528
+ :where(.tui-interface) .tui-avatar.is-shape-square {
529
+ --_radius: var(--tui-avatar-radius, var(--tui-radius-md));
530
+ }
531
+ :where(.tui-interface) .tui-avatar.is-color-coral {
532
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-coral));
533
+ }
534
+ :where(.tui-interface) .tui-avatar.is-color-amber {
535
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-amber));
536
+ --_fg: var(--tui-avatar-fg, var(--tui-color-fg));
537
+ }
538
+ :where(.tui-interface) .tui-avatar.is-color-lime {
539
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-lime));
540
+ }
541
+ :where(.tui-interface) .tui-avatar.is-color-teal {
542
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-teal));
543
+ }
544
+ :where(.tui-interface) .tui-avatar.is-color-cyan {
545
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-cyan));
546
+ }
547
+ :where(.tui-interface) .tui-avatar.is-color-blue {
548
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-blue));
549
+ }
550
+ :where(.tui-interface) .tui-avatar.is-color-violet {
551
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-violet));
552
+ }
553
+ :where(.tui-interface) .tui-avatar.is-color-pink {
554
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-pink));
555
+ }
556
+ :where(.tui-interface) .tui-avatar.is-color-slate {
557
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-slate));
558
+ }
559
+ :where(.tui-interface) .tui-avatar.is-color-emerald {
560
+ --_bg: var(--tui-avatar-bg, var(--tui-avatar-palette-emerald));
561
+ }
562
+ :where(.tui-interface) .tui-avatar .tui-avatar__content {
563
+ position: absolute;
564
+ inset: 0;
565
+ display: flex;
566
+ align-items: center;
567
+ justify-content: center;
568
+ border-radius: inherit;
569
+ overflow: hidden;
570
+ }
571
+ :where(.tui-interface) .tui-avatar .tui-avatar__image {
572
+ width: 100%;
573
+ height: 100%;
574
+ object-fit: cover;
575
+ }
576
+ :where(.tui-interface) .tui-avatar .tui-avatar__initials {
577
+ display: flex;
578
+ align-items: center;
579
+ justify-content: center;
580
+ text-transform: uppercase;
581
+ letter-spacing: -0.025em;
582
+ }
583
+ :where(.tui-interface) .tui-avatar .tui-avatar__placeholder {
584
+ font-size: calc(var(--_size) * 0.6);
585
+ opacity: 0.7;
586
+ }
587
+ :where(.tui-interface) .tui-avatar .tui-avatar__indicator {
588
+ --_indicator-size: calc(var(--_size) * 0.35);
589
+ --_indicator-bg: var(--tui-avatar-indicator-bg, var(--tui-theme-danger-base));
590
+ --_indicator-fg: var(--tui-avatar-indicator-fg, var(--tui-color-fg-on-accent));
591
+ position: absolute;
592
+ display: flex;
593
+ align-items: center;
594
+ justify-content: center;
595
+ min-width: var(--_indicator-size);
596
+ min-height: var(--_indicator-size);
597
+ padding: 0.15em;
598
+ font-size: calc(var(--_size) * 0.3);
599
+ line-height: 1;
600
+ background-color: var(--_indicator-bg);
601
+ color: var(--_indicator-fg);
602
+ border-radius: 50%;
603
+ border: 2px solid var(--tui-color-bg);
604
+ }
605
+ :where(.tui-interface) .tui-avatar .tui-avatar__indicator.is-position-top-left {
606
+ top: 0;
607
+ left: 0;
608
+ transform: translate(-25%, -25%);
609
+ }
610
+ :where(.tui-interface) .tui-avatar .tui-avatar__indicator.is-position-top-right {
611
+ top: 0;
612
+ right: 0;
613
+ transform: translate(25%, -25%);
614
+ }
615
+ :where(.tui-interface) .tui-avatar .tui-avatar__indicator.is-position-bottom-left {
616
+ bottom: 0;
617
+ left: 0;
618
+ transform: translate(-25%, 25%);
619
+ }
620
+ :where(.tui-interface) .tui-avatar .tui-avatar__indicator.is-position-bottom-right {
621
+ bottom: 0;
622
+ right: 0;
623
+ transform: translate(25%, 25%);
624
+ }
625
+ :where(.tui-interface) .tui-avatar.tui-avatar--overflow {
626
+ --_bg: var(--tui-avatar-overflow-bg, var(--tui-color-bg-surface));
627
+ --_fg: var(--tui-avatar-overflow-fg, var(--tui-color-fg-muted));
628
+ }
629
+ :where(.tui-interface) .tui-avatar-group {
630
+ --_gap: var(--tui-avatar-group-gap, var(--tui-spacing-xs));
631
+ display: inline-flex;
632
+ align-items: center;
633
+ gap: var(--_gap);
634
+ }
635
+ :where(.tui-interface) .tui-avatar-group.is-overlap {
636
+ --tui-overlap-stack-overlap: var(--tui-avatar-group-overlap, -0.35em);
637
+ gap: 0;
638
+ }
639
+ :where(.tui-interface) .tui-avatar-group.is-overlap .tui-avatar {
640
+ box-shadow: 0 0 0 var(--tui-avatar-group-border-width, 2px) var(--tui-avatar-group-border-color, var(--tui-color-bg-surface));
641
+ }
642
+ @media (forced-colors: active) {
643
+ :where(.tui-interface) .tui-avatar {
644
+ background-color: Canvas;
645
+ color: CanvasText;
646
+ border: 1px solid CanvasText;
647
+ }
648
+ }
649
+ :where(.tui-interface) :is(button, [type=button], [type=submit]) {
650
+ cursor: pointer;
651
+ font-family: inherit;
652
+ font-size: var(--tui-typography-size-md);
653
+ line-height: 1.4;
654
+ border: unset;
655
+ box-shadow: unset;
656
+ height: auto;
657
+ }
658
+ :where(.tui-interface) :where(a).tui-button {
659
+ text-decoration: none;
660
+ }
661
+ :where(.tui-interface) :where(a).tui-button[aria-disabled=true] {
662
+ pointer-events: none;
663
+ }
664
+ :where(.tui-interface) :where(a).tui-button:visited {
665
+ color: var(--_fg) !important;
666
+ }
667
+ .tui-interface .tui-button {
668
+ --_bg: var(--tui-button-bg, var(--tui-theme-primary-base));
669
+ --_fg: var(--tui-button-fg, var(--tui-color-fg-on-accent));
670
+ --_border: var(--tui-button-border, var(--tui-theme-primary-base));
671
+ --_radius: var(--tui-button-radius, var(--tui-radius-md));
672
+ --_bg-interact: var(--tui-button-bg-interact, var(--tui-theme-primary-stronger));
673
+ --_fg-interact: var(--tui-button-fg-interact, var(--tui-palette-color-white));
674
+ --_border-interact: var(--tui-button-border-interact, var(--tui-theme-primary-stronger));
675
+ font-size: var(--tui-typography-size-md);
676
+ font-weight: normal;
677
+ line-height: 1.4;
678
+ box-sizing: border-box;
679
+ display: inline-flex;
680
+ align-self: center;
681
+ text-align: center;
682
+ justify-content: center;
683
+ align-items: center;
684
+ padding-inline: 1.2em;
685
+ padding-block: 0.575em;
686
+ gap: 0.5em;
687
+ background-color: var(--_bg) !important;
688
+ color: var(--_fg) !important;
689
+ border-color: var(--_border) !important;
690
+ border-style: solid;
691
+ border-width: var(--tui-border-width);
692
+ border-radius: var(--_radius);
693
+ transition-duration: var(--tui-motion-duration);
694
+ transition-timing-function: var(--tui-motion-timing);
695
+ transition-property: border-color, color, background-color;
696
+ }
697
+ .tui-interface .tui-button .tui-icon {
698
+ font-size: inherit;
699
+ }
700
+ .tui-interface .tui-button:hover {
701
+ --_bg: var(--_bg-interact);
702
+ --_fg: var(--_fg-interact);
703
+ --_border: var(--_border-interact);
704
+ }
705
+ .tui-interface .tui-button:focus-visible {
706
+ --_bg: var(--_bg-interact);
707
+ --_fg: var(--_fg-interact);
708
+ --_border: var(--_border-interact);
709
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
710
+ outline-offset: var(--tui-focus-ring-offset);
711
+ }
712
+ .tui-interface .tui-button:is(:active, [aria-pressed=true]) {
713
+ --_bg: var(--_bg-interact);
714
+ --_fg: var(--tui-button-fg-active, var(--tui-color-fg-on-accent));
715
+ --_border: var(--_border-interact);
716
+ }
717
+ .tui-interface .tui-button:where(:disabled, [aria-disabled=true], .is-disabled) {
718
+ pointer-events: none;
719
+ cursor: not-allowed;
720
+ opacity: var(--tui-opacity-disabled);
721
+ }
722
+ .tui-interface .tui-button[data-loading=true] {
723
+ pointer-events: none;
724
+ }
725
+ .tui-interface .tui-button[data-loading=true] > .tui-icon:first-child {
726
+ visibility: hidden;
727
+ }
728
+ .tui-interface .tui-button[data-loading=true]::before {
729
+ content: "";
730
+ inline-size: 0.75em;
731
+ block-size: 0.75em;
732
+ border: 0.15em solid currentColor;
733
+ border-right-color: transparent;
734
+ border-radius: 50%;
735
+ display: inline-block;
736
+ animation: tui-spin 0.85s linear infinite;
737
+ }
738
+ .tui-interface .tui-button.is-width-full {
739
+ width: 100%;
740
+ }
741
+ .tui-interface .tui-button.is-size-lg {
742
+ font-size: var(--tui-typography-size-lg);
743
+ }
744
+ .tui-interface .tui-button.is-size-sm {
745
+ font-size: var(--tui-typography-size-sm);
746
+ }
747
+ .tui-interface .tui-button.is-size-xs {
748
+ --_radius: var(--tui-button-radius, var(--tui-radius-sm));
749
+ font-size: var(--tui-typography-size-xs);
750
+ padding: var(--tui-spacing-xxs);
751
+ min-width: 2em;
752
+ }
753
+ .tui-interface .tui-button.is-theme-secondary {
754
+ --_bg: var(--tui-button-bg, var(--tui-theme-secondary-subtle));
755
+ --_fg: var(--tui-button-fg, var(--tui-theme-secondary-strongest));
756
+ --_border: var(--tui-button-border, var(--tui-theme-secondary-subtle));
757
+ }
758
+ .tui-interface .tui-button.is-theme-secondary:hover, .tui-interface .tui-button.is-theme-secondary:focus-visible, .tui-interface .tui-button.is-theme-secondary:is(:active, [aria-pressed=true]) {
759
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-secondary-subtlest));
760
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-primary-base));
761
+ --_border: var(--tui-button-border-interact, var(--tui-theme-secondary-subtlest));
762
+ }
763
+ .tui-interface .tui-button.is-theme-danger {
764
+ --_bg: var(--tui-button-bg, var(--tui-theme-danger-base));
765
+ --_fg: var(--tui-button-fg, var(--tui-color-fg-on-accent));
766
+ --_border: var(--tui-button-border, var(--tui-theme-danger-base));
767
+ }
768
+ .tui-interface .tui-button.is-theme-danger:hover, .tui-interface .tui-button.is-theme-danger:focus-visible, .tui-interface .tui-button.is-theme-danger:is(:active, [aria-pressed=true]) {
769
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-danger-stronger));
770
+ --_fg: var(--tui-button-fg-interact, var(--tui-color-fg-on-accent));
771
+ --_border: var(--tui-button-border-interact, var(--tui-theme-danger-stronger));
772
+ }
773
+ .tui-interface .tui-button.is-style-outline {
774
+ --_bg: var(--tui-button-bg, transparent);
775
+ --_fg: var(--tui-button-fg, var(--tui-theme-primary-strong));
776
+ --_border: var(--tui-button-border, var(--tui-theme-primary-base));
777
+ }
778
+ .tui-interface .tui-button.is-style-outline:hover, .tui-interface .tui-button.is-style-outline:focus-visible, .tui-interface .tui-button.is-style-outline:is(:active, [aria-pressed=true]) {
779
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-primary-base));
780
+ --_fg: var(--tui-button-fg-interact, var(--tui-color-fg-on-accent));
781
+ --_border: var(--tui-button-border-interact, var(--tui-theme-primary-base));
782
+ }
783
+ .tui-interface .tui-button.is-style-outline.is-theme-secondary {
784
+ --_bg: var(--tui-button-bg, transparent);
785
+ --_fg: var(--tui-button-fg, var(--tui-color-fg));
786
+ --_border: var(--tui-button-border, var(--tui-color-border));
787
+ }
788
+ .tui-interface .tui-button.is-style-outline.is-theme-secondary:hover, .tui-interface .tui-button.is-style-outline.is-theme-secondary:focus-visible, .tui-interface .tui-button.is-style-outline.is-theme-secondary:is(:active, [aria-pressed=true]) {
789
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-secondary-subtle));
790
+ --_fg: var(--tui-button-fg-interact, var(--tui-color-fg));
791
+ --_border: var(--tui-button-border-interact, var(--tui-color-border));
792
+ }
793
+ .tui-interface .tui-button.is-style-outline.is-theme-danger {
794
+ --_bg: var(--tui-button-bg, transparent);
795
+ --_fg: var(--tui-button-fg, var(--tui-theme-danger-strong));
796
+ --_border: var(--tui-button-border, var(--tui-theme-danger-base));
797
+ }
798
+ .tui-interface .tui-button.is-style-outline.is-theme-danger:hover, .tui-interface .tui-button.is-style-outline.is-theme-danger:focus-visible, .tui-interface .tui-button.is-style-outline.is-theme-danger:is(:active, [aria-pressed=true]) {
799
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-danger-base));
800
+ --_fg: var(--tui-button-fg-interact, var(--tui-color-fg-on-accent));
801
+ --_border: var(--tui-button-border-interact, var(--tui-theme-danger-base));
802
+ }
803
+ .tui-interface .tui-button.is-style-ghost {
804
+ --_bg: var(--tui-button-bg, transparent);
805
+ --_fg: var(--tui-button-fg, var(--tui-color-fg));
806
+ --_border: transparent;
807
+ }
808
+ .tui-interface .tui-button.is-style-ghost:hover, .tui-interface .tui-button.is-style-ghost:focus-visible, .tui-interface .tui-button.is-style-ghost:is(:active, [aria-pressed=true]) {
809
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-secondary-subtle));
810
+ --_fg: var(--tui-button-fg-interact, var(--tui-color-fg));
811
+ --_border: transparent;
812
+ }
813
+ .tui-interface .tui-button.is-style-ghost.is-theme-primary {
814
+ --_fg: var(--tui-button-fg, var(--tui-theme-primary-strong));
815
+ }
816
+ .tui-interface .tui-button.is-style-ghost.is-theme-primary:hover, .tui-interface .tui-button.is-style-ghost.is-theme-primary:focus-visible, .tui-interface .tui-button.is-style-ghost.is-theme-primary:is(:active, [aria-pressed=true]) {
817
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-primary-subtlest));
818
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-primary-stronger));
819
+ }
820
+ .tui-interface .tui-button.is-style-ghost.is-theme-danger {
821
+ --_fg: var(--tui-button-fg, var(--tui-theme-danger-strong));
822
+ }
823
+ .tui-interface .tui-button.is-style-ghost.is-theme-danger:hover, .tui-interface .tui-button.is-style-ghost.is-theme-danger:focus-visible, .tui-interface .tui-button.is-style-ghost.is-theme-danger:is(:active, [aria-pressed=true]) {
824
+ --_bg: var(--tui-button-bg-interact, var(--tui-theme-danger-subtlest));
825
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-danger-stronger));
826
+ }
827
+ .tui-interface .tui-button.is-style-link {
828
+ --_bg: var(--tui-button-bg, transparent);
829
+ --_fg: var(--tui-button-fg, var(--tui-theme-primary-strong));
830
+ --_border: transparent;
831
+ border-width: 0;
832
+ padding: 0;
833
+ }
834
+ .tui-interface .tui-button.is-style-link:hover, .tui-interface .tui-button.is-style-link:focus-visible, .tui-interface .tui-button.is-style-link:is(:active, [aria-pressed=true]) {
835
+ --_bg: var(--tui-button-bg-interact, transparent);
836
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-primary-stronger));
837
+ --_border: transparent;
838
+ }
839
+ .tui-interface .tui-button.is-style-link.is-theme-secondary {
840
+ --_fg: var(--tui-button-fg, var(--tui-theme-secondary-strong));
841
+ }
842
+ .tui-interface .tui-button.is-style-link.is-theme-secondary:hover, .tui-interface .tui-button.is-style-link.is-theme-secondary:focus-visible, .tui-interface .tui-button.is-style-link.is-theme-secondary:is(:active, [aria-pressed=true]) {
843
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-secondary-strongest));
844
+ }
845
+ .tui-interface .tui-button.is-style-link.is-theme-danger {
846
+ --_fg: var(--tui-button-fg, var(--tui-theme-danger-strong));
847
+ }
848
+ .tui-interface .tui-button.is-style-link.is-theme-danger:hover, .tui-interface .tui-button.is-style-link.is-theme-danger:focus-visible, .tui-interface .tui-button.is-style-link.is-theme-danger:is(:active, [aria-pressed=true]) {
849
+ --_fg: var(--tui-button-fg-interact, var(--tui-theme-danger-strongest));
850
+ }
851
+ @media (forced-colors: active) {
852
+ .tui-interface .tui-button {
853
+ forced-color-adjust: none;
854
+ background-color: CanvasText;
855
+ color: Canvas;
856
+ border-color: CanvasText;
857
+ }
858
+ .tui-interface .tui-button:is(:hover, :active) {
859
+ background-color: Highlight;
860
+ border-color: Highlight;
861
+ }
862
+ .tui-interface .tui-button:focus-visible {
863
+ outline: 2px solid Highlight;
864
+ outline-offset: 2px;
865
+ }
866
+ .tui-interface .tui-button.is-style-link {
867
+ background-color: transparent;
868
+ color: LinkText;
869
+ border-color: transparent;
870
+ }
871
+ }
872
+ @media (prefers-reduced-motion: reduce) {
873
+ .tui-interface .tui-button {
874
+ transition: none;
875
+ }
876
+ }
877
+ .tui-interface input[type=file] {
878
+ --_bg: var(--tui-button-bg, var(--tui-theme-primary-base));
879
+ --_fg: var(--tui-button-fg, var(--tui-color-bg-surface));
880
+ --_border: var(--tui-button-border, var(--tui-theme-primary-base));
881
+ --_radius: var(--tui-button-radius, var(--tui-radius-md));
882
+ --_bg-interact: var(--tui-button-bg-interact, var(--tui-theme-primary-stronger));
883
+ --_fg-interact: var(--tui-button-fg-interact, var(--tui-color-fg-on-accent));
884
+ --_border-interact: var(--tui-button-border-interact, var(--tui-theme-primary-stronger));
885
+ }
886
+ .tui-interface input[type=file]::file-selector-button {
887
+ font-size: var(--tui-typography-size-md);
888
+ font-weight: normal;
889
+ line-height: 1.4;
890
+ display: inline-flex;
891
+ align-self: center;
892
+ text-align: center;
893
+ justify-content: center;
894
+ align-items: center;
895
+ padding-inline: 1.2em;
896
+ padding-block: 0.575em;
897
+ gap: 0.5em;
898
+ background-color: var(--_bg);
899
+ color: var(--_fg);
900
+ border: var(--tui-border-width) solid var(--_border);
901
+ border-radius: var(--_radius);
902
+ transition-duration: var(--tui-motion-duration);
903
+ transition-timing-function: var(--tui-motion-timing);
904
+ transition-property: border-color, color, background-color;
905
+ }
906
+ .tui-interface input[type=file]:hover::file-selector-button {
907
+ background-color: var(--_bg-interact);
908
+ color: var(--_fg-interact);
909
+ border-color: var(--_border-interact);
910
+ }
911
+ .tui-interface input[type=file]:focus-visible::file-selector-button {
912
+ background-color: var(--_bg-interact);
913
+ color: var(--_fg-interact);
914
+ border-color: var(--_border-interact);
915
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
916
+ outline-offset: var(--tui-focus-ring-offset);
917
+ }
918
+ .tui-interface input[type=file]:active::file-selector-button {
919
+ background-color: var(--_bg-interact);
920
+ color: var(--_fg-interact);
921
+ border-color: var(--_border-interact);
922
+ }
923
+ :where(.tui-interface) .tui-card {
924
+ --_bg: var(--tui-card-bg, var(--tui-color-bg-surface));
925
+ --_border: var(--tui-card-border, var(--tui-color-border));
926
+ --_border-interact: var(--tui-card-border-interact, var(--tui-theme-primary-base));
927
+ --_radius: var(--tui-card-radius, var(--tui-radius-md));
928
+ --_shadow: var(--tui-card-shadow, var(--tui-shadow-md));
929
+ --_shadow-interact: var(--tui-card-shadow-interact, var(--tui-shadow-sm));
930
+ --_padding: var(--tui-card-padding, var(--tui-spacing-md));
931
+ --_foot-basis: var(--tui-card-foot-basis, 500px);
932
+ box-sizing: border-box;
933
+ container-type: inline-size;
934
+ container-name: tuiCard;
935
+ position: relative;
936
+ width: 100%;
937
+ border-style: solid;
938
+ border-width: var(--tui-border-width);
939
+ border-color: var(--_border);
940
+ border-radius: var(--_radius);
941
+ background-color: var(--_bg);
942
+ }
943
+ :where(.tui-interface) .tui-card img.tui-card__media {
944
+ max-width: 100%;
945
+ }
946
+ :where(.tui-interface) .tui-card img.tui-card__media.is-flush {
947
+ border-radius: 0;
948
+ }
949
+ :where(.tui-interface) .tui-card .tui-card__media.is-flush {
950
+ margin-inline: calc(var(--_padding) * -1);
951
+ max-width: calc(100% + 2 * var(--_padding));
952
+ border-radius: 0;
953
+ }
954
+ :where(.tui-interface) .tui-card__head {
955
+ padding-block: var(--_padding);
956
+ padding-inline: var(--_padding);
957
+ width: 100%;
958
+ box-sizing: border-box;
959
+ }
960
+ :where(.tui-interface) .tui-card__head .tui-card__media.is-flush:first-child {
961
+ margin-block-start: calc(var(--_padding) * -1);
962
+ border-start-end-radius: calc(var(--_radius) - 1px);
963
+ border-start-start-radius: calc(var(--_radius) - 1px);
964
+ }
965
+ :where(.tui-interface) .tui-card__body {
966
+ padding-inline: var(--_padding);
967
+ width: 100%;
968
+ box-sizing: border-box;
969
+ }
970
+ :where(.tui-interface) .tui-card__body > *:first-child {
971
+ margin-block-start: unset;
972
+ }
973
+ :where(.tui-interface) .tui-card__body > *:last-child {
974
+ margin-block-end: unset;
975
+ }
976
+ :where(.tui-interface) .tui-card__body > p {
977
+ margin: 0;
978
+ }
979
+ :where(.tui-interface) .tui-card__body:first-child {
980
+ padding-block-start: var(--_padding);
981
+ }
982
+ :where(.tui-interface) .tui-card__body:last-child {
983
+ padding-block-end: var(--_padding);
984
+ }
985
+ :where(.tui-interface) .tui-card__foot {
986
+ padding-block: var(--_padding);
987
+ padding-inline: var(--_padding);
988
+ width: 100%;
989
+ box-sizing: border-box;
990
+ }
991
+ :where(.tui-interface) .tui-card__foot .tui-card__media.is-flush:last-child {
992
+ margin-block-end: calc(var(--_padding) * -1);
993
+ border-end-end-radius: calc(var(--_radius) - 1px);
994
+ border-end-start-radius: calc(var(--_radius) - 1px);
995
+ }
996
+ @container tuiCard (width >= 400px) {
997
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner {
998
+ display: flex;
999
+ flex-direction: row;
1000
+ align-items: center;
1001
+ gap: var(--_padding);
1002
+ }
1003
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__media.is-flush {
1004
+ object-fit: cover;
1005
+ object-position: center;
1006
+ margin-block: calc(var(--_padding) * -1);
1007
+ height: calc(100% + 2 * var(--_padding));
1008
+ }
1009
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner *:has(.tui-card__media.is-flush) {
1010
+ align-self: stretch;
1011
+ }
1012
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__head {
1013
+ padding-inline-start: var(--_padding);
1014
+ padding-block: var(--_padding);
1015
+ flex: 0 1 auto;
1016
+ }
1017
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__head:has(.tui-icon:only-child) {
1018
+ flex: 0 0 max-content;
1019
+ }
1020
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__head .tui-card__media.is-flush:first-child {
1021
+ margin-inline-end: var(--_padding);
1022
+ max-width: calc(100% + var(--_padding));
1023
+ border-start-end-radius: 0;
1024
+ border-end-start-radius: calc(var(--_radius) - 1px);
1025
+ }
1026
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__body {
1027
+ flex: 2 1 auto;
1028
+ padding-block: var(--_padding);
1029
+ }
1030
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__foot {
1031
+ width: unset;
1032
+ flex: 0 1 var(--_foot-basis);
1033
+ padding-block: var(--_padding);
1034
+ padding-inline-end: var(--_padding);
1035
+ margin-inline-start: auto;
1036
+ justify-content: flex-end;
1037
+ }
1038
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__foot .tui-card__media.is-flush:last-child {
1039
+ margin-inline-start: var(--_padding);
1040
+ max-width: calc(100% + var(--_padding));
1041
+ border-end-start-radius: 0;
1042
+ border-start-end-radius: calc(var(--_radius) - 1px);
1043
+ }
1044
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__head:not(:first-child),
1045
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__body:not(:first-child),
1046
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__foot:not(:first-child) {
1047
+ padding-inline-start: 0;
1048
+ }
1049
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__head:not(:last-child),
1050
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__body:not(:last-child),
1051
+ :where(.tui-interface) .tui-card.is-layout-inline .tui-card__inner .tui-card__foot:not(:last-child) {
1052
+ padding-inline-end: 0;
1053
+ }
1054
+ }
1055
+ :where(.tui-interface) .tui-card.has-interaction {
1056
+ transition-duration: var(--tui-motion-duration);
1057
+ transition-timing-function: var(--tui-motion-timing);
1058
+ transition-property: border-color, color, background-color;
1059
+ }
1060
+ :where(.tui-interface) .tui-card.has-interaction:hover {
1061
+ --_border: var(--_border-interact);
1062
+ }
1063
+ :where(.tui-interface) .tui-card.has-interaction:focus, :where(.tui-interface) .tui-card.has-interaction:focus-within {
1064
+ --_border: var(--_border-interact);
1065
+ }
1066
+ :where(.tui-interface) .tui-card.has-interaction:active, :where(.tui-interface) .tui-card.has-interaction.active {
1067
+ --_border: var(--tui-card-border-active, var(--tui-palette-color-gray-50));
1068
+ }
1069
+ :where(.tui-interface) .tui-card.has-interaction [disabled],
1070
+ :where(.tui-interface) .tui-card.has-interaction .disabled {
1071
+ opacity: var(--tui-opacity-disabled);
1072
+ }
1073
+ :where(.tui-interface) .tui-card.is-style-elevated {
1074
+ box-shadow: var(--_shadow);
1075
+ transition-property: border-color, color, background-color, box-shadow;
1076
+ }
1077
+ :where(.tui-interface) .tui-card.is-style-elevated:hover {
1078
+ box-shadow: var(--_shadow-interact);
1079
+ }
1080
+ :where(.tui-interface) .tui-chip {
1081
+ --_bg: var(--tui-chip-bg, var(--tui-theme-secondary-subtle));
1082
+ --_fg: var(--tui-chip-fg, var(--tui-theme-secondary-strongest));
1083
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-subtle));
1084
+ --_icon: var(--tui-chip-icon, inherit);
1085
+ --_radius: var(--tui-chip-radius, var(--tui-radius-sm));
1086
+ display: inline-flex;
1087
+ align-items: center;
1088
+ justify-content: center;
1089
+ font-weight: normal !important;
1090
+ gap: 0.25em;
1091
+ padding-inline: 0.75em;
1092
+ padding-block: 0.375em;
1093
+ background-color: var(--_bg) !important;
1094
+ color: var(--_fg) !important;
1095
+ border: var(--tui-border-width) solid var(--_border) !important;
1096
+ border-radius: var(--_radius);
1097
+ text-decoration: none;
1098
+ line-height: 1.25;
1099
+ white-space: nowrap;
1100
+ transition-duration: var(--tui-motion-duration);
1101
+ transition-timing-function: var(--tui-motion-timing);
1102
+ transition-property: border-color, color, background-color, filter;
1103
+ }
1104
+ :where(.tui-interface) .tui-chip .tui-icon {
1105
+ color: var(--_icon);
1106
+ }
1107
+ :where(.tui-interface) .tui-chip:where([aria-disabled=true], [disabled]) {
1108
+ opacity: var(--tui-opacity-disabled);
1109
+ pointer-events: none;
1110
+ }
1111
+ :where(.tui-interface) .tui-chip.is-size-xs {
1112
+ font-size: var(--tui-typography-size-xs);
1113
+ padding-inline: 0.5em;
1114
+ }
1115
+ :where(.tui-interface) .tui-chip.is-size-sm {
1116
+ font-size: var(--tui-typography-size-sm);
1117
+ }
1118
+ :where(.tui-interface) .tui-chip.is-size-md {
1119
+ font-size: var(--tui-typography-size-md);
1120
+ }
1121
+ :where(.tui-interface) .tui-chip.is-interactive, :where(.tui-interface) .tui-chip:is(a, button, [role=button]), :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]) {
1122
+ cursor: pointer;
1123
+ }
1124
+ @media (hover: hover) {
1125
+ :where(.tui-interface) .tui-chip.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1126
+ filter: brightness(0.95);
1127
+ }
1128
+ }
1129
+ :where(.tui-interface) .tui-chip.is-interactive:not(:disabled):not([aria-disabled=true]):focus-visible, :where(.tui-interface) .tui-chip:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):focus-visible, :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):focus-visible {
1130
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
1131
+ outline-offset: var(--tui-focus-ring-offset);
1132
+ }
1133
+ :where(.tui-interface) .tui-chip.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1134
+ box-shadow: 0 0 0 1px var(--_fg) inset;
1135
+ filter: brightness(0.95);
1136
+ }
1137
+ :where(.tui-interface) .tui-chip.is-interactive:is(a), :where(.tui-interface) .tui-chip:is(a, button, [role=button]):is(a), :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):is(a) {
1138
+ text-decoration: none;
1139
+ }
1140
+ :where(.tui-interface) .tui-chip.is-interactive:is(a):visited, :where(.tui-interface) .tui-chip:is(a, button, [role=button]):is(a):visited, :where(.tui-interface) .tui-chip:has(input[type=checkbox], input[type=radio]):is(a):visited {
1141
+ color: var(--_fg);
1142
+ }
1143
+ :where(.tui-interface) .tui-chip.is-theme-primary {
1144
+ --_bg: var(--tui-chip-bg, var(--tui-theme-primary-subtlest));
1145
+ --_fg: var(--tui-chip-fg, var(--tui-theme-primary-stronger));
1146
+ --_border: var(--tui-chip-border, var(--tui-theme-primary-subtlest));
1147
+ }
1148
+ :where(.tui-interface) .tui-chip.is-theme-secondary {
1149
+ --_bg: var(--tui-chip-bg, var(--tui-theme-secondary-subtle));
1150
+ --_fg: var(--tui-chip-fg, var(--tui-theme-secondary-stronger));
1151
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-subtle));
1152
+ --_icon: var(--tui-chip-icon, var(--tui-theme-secondary-base));
1153
+ }
1154
+ :where(.tui-interface) .tui-chip.is-theme-success {
1155
+ --_bg: var(--tui-chip-bg, var(--tui-theme-success-subtlest));
1156
+ --_fg: var(--tui-chip-fg, var(--tui-theme-success-stronger));
1157
+ --_border: var(--tui-chip-border, var(--tui-theme-success-subtlest));
1158
+ --_icon: var(--tui-chip-icon, var(--tui-theme-success-base));
1159
+ }
1160
+ :where(.tui-interface) .tui-chip.is-theme-warning {
1161
+ --_bg: var(--tui-chip-bg, var(--tui-theme-warning-subtlest));
1162
+ --_fg: var(--tui-chip-fg, var(--tui-theme-warning-stronger));
1163
+ --_border: var(--tui-chip-border, var(--tui-theme-warning-subtlest));
1164
+ --_icon: var(--tui-chip-icon, var(--tui-theme-warning-base));
1165
+ }
1166
+ :where(.tui-interface) .tui-chip.is-theme-danger {
1167
+ --_bg: var(--tui-chip-bg, var(--tui-theme-danger-subtlest));
1168
+ --_fg: var(--tui-chip-fg, var(--tui-theme-danger-stronger));
1169
+ --_border: var(--tui-chip-border, var(--tui-theme-danger-subtlest));
1170
+ --_icon: var(--tui-chip-icon, var(--tui-theme-danger-base));
1171
+ }
1172
+ :where(.tui-interface) .tui-chip.is-style-ghost:not(:is(a, button, [role=button])), :where(.tui-interface) .tui-chip.is-style-ghost:not(:is(:hover, :focus)) {
1173
+ --_bg: transparent;
1174
+ }
1175
+ :where(.tui-interface) .tui-chip.is-style-ghost:not(:is(:focus-visible, :active, [aria-pressed=true], .is-selected)) {
1176
+ --_border: transparent;
1177
+ }
1178
+ :where(.tui-interface) .tui-chip.is-style-outline {
1179
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1180
+ --_fg: var(--tui-chip-fg, var(--tui-theme-secondary-base));
1181
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-base));
1182
+ }
1183
+ :where(.tui-interface) .tui-chip.is-style-outline.is-theme-primary {
1184
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1185
+ --_fg: var(--tui-chip-fg, var(--tui-theme-primary-base));
1186
+ --_border: var(--tui-chip-border, var(--tui-theme-primary-base));
1187
+ }
1188
+ :where(.tui-interface) .tui-chip.is-style-outline.is-theme-secondary {
1189
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1190
+ --_fg: var(--tui-chip-fg, var(--tui-theme-secondary-strong));
1191
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-strong));
1192
+ }
1193
+ :where(.tui-interface) .tui-chip.is-style-outline.is-theme-success {
1194
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1195
+ --_fg: var(--tui-chip-fg, var(--tui-theme-success-strong));
1196
+ --_border: var(--tui-chip-border, var(--tui-theme-success-strong));
1197
+ }
1198
+ :where(.tui-interface) .tui-chip.is-style-outline.is-theme-warning {
1199
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1200
+ --_fg: var(--tui-chip-fg, var(--tui-theme-warning-base));
1201
+ --_border: var(--tui-chip-border, var(--tui-theme-warning-base));
1202
+ }
1203
+ :where(.tui-interface) .tui-chip.is-style-outline.is-theme-danger {
1204
+ --_bg: var(--tui-chip-bg, var(--tui-color-bg-surface));
1205
+ --_fg: var(--tui-chip-fg, var(--tui-theme-danger-base));
1206
+ --_border: var(--tui-chip-border, var(--tui-theme-danger-base));
1207
+ }
1208
+ :where(.tui-interface) .tui-chip.is-selected.is-style-outline {
1209
+ --_bg: var(--_border);
1210
+ --_fg: var(--tui-color-fg-on-accent);
1211
+ }
1212
+ :where(.tui-interface) .tui-chip.is-style-solid {
1213
+ --_bg: var(--tui-chip-bg, var(--tui-theme-secondary-base));
1214
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1215
+ --_icon: var(--tui-chip-icon, var(--tui-color-fg-on-accent));
1216
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-base));
1217
+ }
1218
+ @media (hover: hover) {
1219
+ :where(.tui-interface) .tui-chip.is-style-solid.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1220
+ --_bg: var(--tui-theme-secondary-strong);
1221
+ --_border: var(--tui-theme-secondary-strong);
1222
+ }
1223
+ }
1224
+ :where(.tui-interface) .tui-chip.is-style-solid.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1225
+ --_bg: var(--tui-theme-secondary-stronger);
1226
+ --_border: var(--tui-theme-secondary-stronger);
1227
+ }
1228
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary {
1229
+ --_bg: var(--tui-chip-bg, var(--tui-theme-primary-base));
1230
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1231
+ --_border: var(--tui-chip-border, var(--tui-theme-primary-base));
1232
+ }
1233
+ @media (hover: hover) {
1234
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1235
+ --_bg: var(--tui-theme-primary-strong);
1236
+ --_border: var(--tui-theme-primary-strong);
1237
+ }
1238
+ }
1239
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-primary:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1240
+ --_bg: var(--tui-theme-primary-stronger);
1241
+ --_border: var(--tui-theme-primary-stronger);
1242
+ }
1243
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary {
1244
+ --_bg: var(--tui-chip-bg, var(--tui-theme-secondary-base));
1245
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1246
+ --_border: var(--tui-chip-border, var(--tui-theme-secondary-base));
1247
+ }
1248
+ @media (hover: hover) {
1249
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1250
+ --_bg: var(--tui-theme-secondary-strong);
1251
+ --_border: var(--tui-theme-secondary-strong);
1252
+ }
1253
+ }
1254
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-secondary:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1255
+ --_bg: var(--tui-theme-secondary-stronger);
1256
+ --_border: var(--tui-theme-secondary-stronger);
1257
+ }
1258
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success {
1259
+ --_bg: var(--tui-chip-bg, var(--tui-theme-success-base));
1260
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1261
+ --_border: var(--tui-chip-border, var(--tui-theme-success-base));
1262
+ }
1263
+ @media (hover: hover) {
1264
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1265
+ --_bg: var(--tui-theme-success-strong);
1266
+ --_border: var(--tui-theme-success-strong);
1267
+ }
1268
+ }
1269
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-success:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1270
+ --_bg: var(--tui-theme-success-stronger);
1271
+ --_border: var(--tui-theme-success-stronger);
1272
+ }
1273
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning {
1274
+ --_bg: var(--tui-chip-bg, var(--tui-theme-warning-base));
1275
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1276
+ --_border: var(--tui-chip-border, var(--tui-theme-warning-base));
1277
+ }
1278
+ @media (hover: hover) {
1279
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1280
+ --_bg: var(--tui-theme-warning-strong);
1281
+ --_border: var(--tui-theme-warning-strong);
1282
+ }
1283
+ }
1284
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-warning:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1285
+ --_bg: var(--tui-theme-warning-stronger);
1286
+ --_border: var(--tui-theme-warning-stronger);
1287
+ }
1288
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger {
1289
+ --_bg: var(--tui-chip-bg, var(--tui-theme-danger-base));
1290
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg-on-accent));
1291
+ --_border: var(--tui-chip-border, var(--tui-theme-danger-base));
1292
+ }
1293
+ @media (hover: hover) {
1294
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger.is-interactive:not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:is(a, button, [role=button]):not(:disabled):not([aria-disabled=true]):hover, :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:has(input[type=checkbox], input[type=radio]):not(:disabled):not([aria-disabled=true]):hover {
1295
+ --_bg: var(--tui-theme-danger-strong);
1296
+ --_border: var(--tui-theme-danger-strong);
1297
+ }
1298
+ }
1299
+ :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger.is-interactive:is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger.is-interactive:has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:is(a, button, [role=button]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:is(a, button, [role=button]):has(input:checked), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:has(input[type=checkbox], input[type=radio]):is(:active, [aria-pressed=true], .is-selected), :where(.tui-interface) .tui-chip.is-style-solid.is-theme-danger:has(input[type=checkbox], input[type=radio]):has(input:checked) {
1300
+ --_bg: var(--tui-theme-danger-stronger);
1301
+ --_border: var(--tui-theme-danger-stronger);
1302
+ }
1303
+ :where(.tui-interface) .tui-chip.is-style-flush {
1304
+ --_bg: transparent;
1305
+ --_fg: var(--tui-chip-fg, var(--tui-color-fg));
1306
+ --_border: transparent;
1307
+ padding-inline: 0 !important;
1308
+ padding-block: 0 !important;
1309
+ border: 0 !important;
1310
+ background: transparent !important;
1311
+ filter: none !important;
1312
+ }
1313
+ :where(.tui-interface) .tui-chip.is-style-flush:hover, :where(.tui-interface) .tui-chip.is-style-flush:active {
1314
+ filter: none !important;
1315
+ }
1316
+ :where(.tui-interface) .tui-chip.is-style-flush.is-interactive, :where(.tui-interface) .tui-chip.is-style-flush:is(a, button, [role=button]) {
1317
+ text-decoration: none;
1318
+ }
1319
+ @media (hover: hover) {
1320
+ :where(.tui-interface) .tui-chip.is-style-flush.is-interactive:hover, :where(.tui-interface) .tui-chip.is-style-flush:is(a, button, [role=button]):hover {
1321
+ text-decoration: underline;
1322
+ }
1323
+ }
1324
+ :where(.tui-interface) .tui-chip.is-style-flush.is-interactive:focus-visible, :where(.tui-interface) .tui-chip.is-style-flush:is(a, button, [role=button]):focus-visible {
1325
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
1326
+ outline-offset: var(--tui-focus-ring-offset);
1327
+ }
1328
+ :where(.tui-interface) .tui-content-indicator {
1329
+ --_bg: var(--tui-content-indicator-bg, transparent);
1330
+ --_border: var(--tui-content-indicator-border, var(--tui-color-border));
1331
+ --_fg: var(--tui-content-indicator-fg, var(--tui-color-fg));
1332
+ display: inline-flex;
1333
+ }
1334
+ :where(.tui-interface) .tui-content-indicator.is-size-xs {
1335
+ font-size: 8px;
1336
+ }
1337
+ :where(.tui-interface) .tui-content-indicator.is-size-sm {
1338
+ font-size: 12px;
1339
+ }
1340
+ :where(.tui-interface) .tui-content-indicator.is-size-md {
1341
+ font-size: 16px;
1342
+ }
1343
+ :where(.tui-interface) .tui-content-indicator.is-size-lg {
1344
+ font-size: 20px;
1345
+ }
1346
+ :where(.tui-interface) .tui-content-indicator__circle {
1347
+ position: relative;
1348
+ display: grid;
1349
+ place-items: center;
1350
+ inline-size: 2em;
1351
+ block-size: 2em;
1352
+ border-radius: 50%;
1353
+ background: var(--_bg);
1354
+ border: 0.15em solid var(--_border);
1355
+ }
1356
+ :where(.tui-interface) .tui-content-indicator__circle .tui-icon {
1357
+ font-size: 1.2em;
1358
+ color: var(--_fg);
1359
+ }
1360
+ :where(.tui-interface) .tui-content-indicator.is-variant-solid .tui-content-indicator__circle {
1361
+ border: none;
1362
+ background: var(--_border);
1363
+ }
1364
+ :where(.tui-interface) .tui-content-indicator.is-variant-solid .tui-content-indicator__circle .tui-icon {
1365
+ color: var(--tui-color-fg-on-accent);
1366
+ }
1367
+ :where(.tui-interface) .tui-content-indicator.is-theme-default {
1368
+ --_border: var(--tui-color-border);
1369
+ --_fg: var(--tui-color-fg-muted);
1370
+ }
1371
+ :where(.tui-interface) .tui-content-indicator.is-theme-info {
1372
+ --_border: var(--tui-theme-info-base);
1373
+ --_fg: var(--tui-theme-info-base);
1374
+ }
1375
+ :where(.tui-interface) .tui-content-indicator.is-theme-success {
1376
+ --_border: var(--tui-theme-success-base);
1377
+ --_fg: var(--tui-theme-success-base);
1378
+ }
1379
+ :where(.tui-interface) .tui-content-indicator.is-theme-warning {
1380
+ --_border: var(--tui-theme-warning-base);
1381
+ --_fg: var(--tui-theme-warning-base);
1382
+ }
1383
+ :where(.tui-interface) .tui-content-indicator.is-theme-danger {
1384
+ --_border: var(--tui-theme-danger-base);
1385
+ --_fg: var(--tui-theme-danger-base);
1386
+ }
1387
+ :where(.tui-interface) .tui-dropdown {
1388
+ --_bg: var(--tui-dropdown-bg, var(--tui-color-bg-elevated));
1389
+ --_fg: var(--tui-dropdown-fg, var(--tui-color-fg-default));
1390
+ --_radius: var(--tui-dropdown-radius, var(--tui-radius-sm));
1391
+ --_shadow: var(--tui-dropdown-shadow, var(--tui-shadow-md));
1392
+ --_z: var(--tui-dropdown-z, var(--tui-layer-top));
1393
+ --_border: var(--tui-dropdown-border, var(--tui-color-border-default));
1394
+ --_item-bg-hover: var(--tui-dropdown-item-bg-hover, var(--tui-color-bg-subtle));
1395
+ --_item-bg-active: var(--tui-dropdown-item-bg-active, var(--tui-color-bg-muted));
1396
+ box-sizing: border-box;
1397
+ z-index: var(--_z);
1398
+ min-width: var(--tui-dropdown-min-width, 160px);
1399
+ padding: var(--tui-spacing-xxs, 4px);
1400
+ pointer-events: auto;
1401
+ background-color: var(--_bg);
1402
+ color: var(--_fg);
1403
+ border-radius: var(--_radius);
1404
+ box-shadow: var(--_shadow);
1405
+ border: 1px solid var(--_border);
1406
+ font-size: var(--tui-typography-size-sm, 14px);
1407
+ line-height: 1.4;
1408
+ animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
1409
+ }
1410
+ :where(.tui-interface) .tui-dropdown__item,
1411
+ :where(.tui-interface) .tui-dropdown .tui-button,
1412
+ :where(.tui-interface) .tui-dropdown .tui-icon-button {
1413
+ box-sizing: border-box;
1414
+ justify-content: flex-start;
1415
+ width: 100%;
1416
+ min-width: 0;
1417
+ gap: var(--tui-spacing-xs, 8px);
1418
+ padding: var(--tui-spacing-xs, 8px) var(--tui-spacing-sm, 12px);
1419
+ border-radius: var(--tui-radius-xs, 4px);
1420
+ text-align: left;
1421
+ font-weight: normal;
1422
+ --tui-button-bg: transparent;
1423
+ --tui-button-fg: inherit;
1424
+ --tui-button-border-color: transparent;
1425
+ }
1426
+ :where(.tui-interface) .tui-dropdown__item:hover, :where(.tui-interface) .tui-dropdown__item:focus-visible, :where(.tui-interface) .tui-dropdown__item[data-active],
1427
+ :where(.tui-interface) .tui-dropdown .tui-button:hover,
1428
+ :where(.tui-interface) .tui-dropdown .tui-button:focus-visible,
1429
+ :where(.tui-interface) .tui-dropdown .tui-button[data-active],
1430
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:hover,
1431
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:focus-visible,
1432
+ :where(.tui-interface) .tui-dropdown .tui-icon-button[data-active] {
1433
+ --tui-button-bg: var(--_item-bg-hover);
1434
+ --tui-button-fg: inherit;
1435
+ outline: none;
1436
+ }
1437
+ :where(.tui-interface) .tui-dropdown__item:active,
1438
+ :where(.tui-interface) .tui-dropdown .tui-button:active,
1439
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:active {
1440
+ --tui-button-bg: var(--_item-bg-active);
1441
+ }
1442
+ :where(.tui-interface) .tui-dropdown__item:disabled, :where(.tui-interface) .tui-dropdown__item[aria-disabled=true],
1443
+ :where(.tui-interface) .tui-dropdown .tui-button:disabled,
1444
+ :where(.tui-interface) .tui-dropdown .tui-button[aria-disabled=true],
1445
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:disabled,
1446
+ :where(.tui-interface) .tui-dropdown .tui-icon-button[aria-disabled=true] {
1447
+ opacity: 0.5;
1448
+ cursor: not-allowed;
1449
+ pointer-events: none;
1450
+ }
1451
+ :where(.tui-interface) .tui-dropdown .tui-icon-button {
1452
+ justify-content: center;
1453
+ }
1454
+ @media (prefers-reduced-motion: reduce) {
1455
+ :where(.tui-interface) .tui-dropdown {
1456
+ animation: none;
1457
+ }
1458
+ }
1459
+ @media (forced-colors: active) {
1460
+ :where(.tui-interface) .tui-dropdown {
1461
+ background-color: Canvas;
1462
+ color: CanvasText;
1463
+ border: 1px solid CanvasText;
1464
+ }
1465
+ :where(.tui-interface) .tui-dropdown__item:hover, :where(.tui-interface) .tui-dropdown__item:focus-visible, :where(.tui-interface) .tui-dropdown__item[data-active],
1466
+ :where(.tui-interface) .tui-dropdown .tui-button:hover,
1467
+ :where(.tui-interface) .tui-dropdown .tui-button:focus-visible,
1468
+ :where(.tui-interface) .tui-dropdown .tui-button[data-active],
1469
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:hover,
1470
+ :where(.tui-interface) .tui-dropdown .tui-icon-button:focus-visible,
1471
+ :where(.tui-interface) .tui-dropdown .tui-icon-button[data-active] {
1472
+ background-color: Highlight;
1473
+ color: HighlightText;
1474
+ forced-color-adjust: none;
1475
+ }
1476
+ }
1477
+ :where(.tui-interface) :is(label, .tui-label) {
1478
+ color: var(--tui-color-fg);
1479
+ font-weight: bold;
1480
+ font-size: var(--tui-typography-size-sm);
1481
+ }
1482
+ :where(.tui-interface) :is(.tui-input,
1483
+ input[type=text],
1484
+ input[type=email],
1485
+ input[type=url],
1486
+ input[type=password],
1487
+ input[type=search],
1488
+ input[type=number],
1489
+ input[type=tel],
1490
+ input[type=range],
1491
+ input[type=date],
1492
+ input[type=month],
1493
+ input[type=week],
1494
+ input[type=time],
1495
+ input[type=datetime],
1496
+ input[type=datetime-local],
1497
+ input[type=color],
1498
+ textarea,
1499
+ select) {
1500
+ --_bg: var(--tui-input-bg, var(--tui-color-bg));
1501
+ --_fg: var(--tui-input-fg, var(--tui-color-fg-muted));
1502
+ --_border: var(--tui-input-border, var(--tui-color-border));
1503
+ --_border-focus: var(--tui-input-border-focus, var(--tui-theme-primary-base));
1504
+ --_border-invalid: var(--tui-input-border-invalid, var(--tui-theme-danger-base));
1505
+ --_radius: var(--tui-input-radius, var(--tui-radius-md));
1506
+ font-size: var(--tui-typography-size-sm);
1507
+ font-family: inherit;
1508
+ box-sizing: content-box;
1509
+ border: var(--tui-border-width) solid var(--_border);
1510
+ border-radius: var(--_radius);
1511
+ appearance: none;
1512
+ background-color: var(--_bg);
1513
+ color: var(--_fg);
1514
+ height: calc(2em - 2 * var(--tui-border-width));
1515
+ padding-inline: 0.5em;
1516
+ padding-block: 0;
1517
+ min-width: 1px;
1518
+ transition-duration: var(--tui-motion-duration);
1519
+ transition-timing-function: var(--tui-motion-timing);
1520
+ transition-property: border-color, color, background-color;
1521
+ }
1522
+ :where(.tui-interface) :is(.tui-input,
1523
+ input[type=text],
1524
+ input[type=email],
1525
+ input[type=url],
1526
+ input[type=password],
1527
+ input[type=search],
1528
+ input[type=number],
1529
+ input[type=tel],
1530
+ input[type=range],
1531
+ input[type=date],
1532
+ input[type=month],
1533
+ input[type=week],
1534
+ input[type=time],
1535
+ input[type=datetime],
1536
+ input[type=datetime-local],
1537
+ input[type=color],
1538
+ textarea,
1539
+ select):focus-visible {
1540
+ --_border: var(--_border-focus);
1541
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
1542
+ outline-offset: var(--tui-focus-ring-offset);
1543
+ }
1544
+ :where(.tui-interface) :is(.tui-input,
1545
+ input[type=text],
1546
+ input[type=email],
1547
+ input[type=url],
1548
+ input[type=password],
1549
+ input[type=search],
1550
+ input[type=number],
1551
+ input[type=tel],
1552
+ input[type=range],
1553
+ input[type=date],
1554
+ input[type=month],
1555
+ input[type=week],
1556
+ input[type=time],
1557
+ input[type=datetime],
1558
+ input[type=datetime-local],
1559
+ input[type=color],
1560
+ textarea,
1561
+ select)[disabled] {
1562
+ opacity: var(--tui-opacity-disabled);
1563
+ cursor: not-allowed;
1564
+ }
1565
+ :where(.tui-interface) :is(.tui-input,
1566
+ input[type=text],
1567
+ input[type=email],
1568
+ input[type=url],
1569
+ input[type=password],
1570
+ input[type=search],
1571
+ input[type=number],
1572
+ input[type=tel],
1573
+ input[type=range],
1574
+ input[type=date],
1575
+ input[type=month],
1576
+ input[type=week],
1577
+ input[type=time],
1578
+ input[type=datetime],
1579
+ input[type=datetime-local],
1580
+ input[type=color],
1581
+ textarea,
1582
+ select):invalid {
1583
+ --_border: var(--_border-invalid);
1584
+ }
1585
+ :where(.tui-interface) :is(input[type=search], input[type=search].tui-input) {
1586
+ padding-inline-start: 2.5em !important;
1587
+ background-image: url('data:image/svg+xml;utf8,<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 16a8 8 0 1 1 8-8 8.009 8.009 0 0 1-8 8ZM8 2a6 6 0 1 0 6 6 6.006 6.006 0 0 0-6-6ZM19 20a1 1 0 0 1-.707-.293l-4-4a1 1 0 0 1 1.414-1.414l4 4A1 1 0 0 1 19 20Z" fill="%231F2A37"/></svg>');
1588
+ background-repeat: no-repeat;
1589
+ background-position: 0.75em 50%;
1590
+ background-size: 1em;
1591
+ }
1592
+ :where(.tui-interface) :is(select, select.tui-input) {
1593
+ padding-inline-end: 2.5em !important;
1594
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAxMSAxMCI+PHBhdGggZmlsbD0iIzExMTkyOCIgZD0iTTUuNTExIDcuNWEuOTM5LjkzOSAwIDAgMS0uNjM2LS4yNDRsLTMuNi0zLjMyNmEuODMzLjgzMyAwIDAgMS0uMjAyLS4yNy43NzguNzc4IDAgMCAxLS4wMDYtLjY0My44My44MyAwIDAgMSAuMTk3LS4yNzMuOTA5LjkwOSAwIDAgMSAuMjk1LS4xODIuOTY1Ljk2NSAwIDAgMSAuNjk2LjAwNmMuMTEuMDQzLjIxLjEwNi4yOTIuMTg2bDIuOTY0IDIuNzM4IDIuOTY0LTIuNzM4YS45NC45NCAwIDAgMSAuNjMzLS4yMzRjLjIzNi4wMDIuNDYyLjA5LjYyOC4yNDRhLjgwMS44MDEgMCAwIDEgLjI2NC41OC44LjggMCAwIDEtLjI1My41ODZsLTMuNiAzLjMyNmEuOTM5LjkzOSAwIDAgMS0uNjM2LjI0NFoiLz48L3N2Zz4=");
1595
+ background-repeat: no-repeat;
1596
+ background-position: calc(100% - 0.75em) 50%;
1597
+ background-size: 1em;
1598
+ }
1599
+ :where(.tui-interface) .tui-inline-choice {
1600
+ --_accent: var(--tui-input-accent, var(--tui-theme-primary-base));
1601
+ display: flex;
1602
+ align-items: center;
1603
+ gap: var(--tui-spacing-xs);
1604
+ }
1605
+ :where(.tui-interface) .tui-inline-choice input[type=radio],
1606
+ :where(.tui-interface) .tui-inline-choice input[type=checkbox] {
1607
+ font-size: 1.15em;
1608
+ width: 1em;
1609
+ height: 1em;
1610
+ flex: 0 0 1em;
1611
+ margin: 0;
1612
+ }
1613
+ :where(.tui-interface) .tui-inline-choice input[type=radio]:checked,
1614
+ :where(.tui-interface) .tui-inline-choice input[type=checkbox]:checked {
1615
+ accent-color: var(--_accent);
1616
+ }
1617
+ :where(.tui-interface) .tui-inline-choice label {
1618
+ font-weight: unset;
1619
+ line-height: 1.25em;
1620
+ font-size: var(--tui-typography-size-sm);
1621
+ }
1622
+ :where(.tui-interface) .tui-toggle {
1623
+ --_accent: var(--tui-input-accent, var(--tui-theme-primary-base));
1624
+ --_track-off: var(--tui-palette-color-gray-300);
1625
+ }
1626
+ :where(.tui-interface) .tui-toggle input[type=checkbox] {
1627
+ position: absolute;
1628
+ width: 1px;
1629
+ height: 1px;
1630
+ padding: 0;
1631
+ margin: -1px;
1632
+ overflow: hidden;
1633
+ clip: rect(0, 0, 0, 0);
1634
+ border: 0;
1635
+ }
1636
+ :where(.tui-interface) .tui-toggle input[type=checkbox] + label {
1637
+ display: inline-flex;
1638
+ align-items: center;
1639
+ gap: var(--tui-spacing-xs);
1640
+ font-weight: unset;
1641
+ line-height: 1.25em;
1642
+ font-size: var(--tui-typography-size-sm);
1643
+ }
1644
+ :where(.tui-interface) .tui-toggle input[type=checkbox] + label[for]::before {
1645
+ content: "";
1646
+ display: inline-flex;
1647
+ cursor: pointer;
1648
+ width: 2.8575em;
1649
+ height: 1.4285em;
1650
+ border-radius: 9999px;
1651
+ border: var(--tui-border-width) solid var(--_track-off);
1652
+ background-color: var(--_track-off);
1653
+ vertical-align: middle;
1654
+ background-image: radial-gradient(circle, currentcolor 0%, currentcolor 52.25%, rgba(255, 255, 255, 0) 52.25%, rgba(255, 255, 255, 0) 100%);
1655
+ color: var(--tui-color-bg);
1656
+ background-size: 1.4285em;
1657
+ background-repeat: no-repeat;
1658
+ background-position: 0 50%;
1659
+ transition-duration: var(--tui-motion-duration);
1660
+ transition-timing-function: var(--tui-motion-timing);
1661
+ transition-property: background-position, color, background-color;
1662
+ }
1663
+ :where(.tui-interface) .tui-toggle input[type=checkbox]:checked + label[for]::before {
1664
+ background-position: 100% 50%;
1665
+ background-color: var(--_accent);
1666
+ border-color: var(--_accent);
1667
+ }
1668
+ :where(.tui-interface) .tui-toggle input[type=checkbox]:focus-visible + label[for]::before {
1669
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
1670
+ outline-offset: var(--tui-focus-ring-offset);
1671
+ }
1672
+ :where(.tui-interface) input[type=number] {
1673
+ padding-inline-end: 0.25em;
1674
+ }
1675
+ :where(.tui-interface) input[type=file] {
1676
+ --_bg: var(--tui-input-bg, var(--tui-color-bg));
1677
+ --_fg: var(--tui-input-fg, var(--tui-color-fg-muted));
1678
+ --_border: var(--tui-input-border, var(--tui-color-border));
1679
+ --_radius: var(--tui-input-radius, var(--tui-radius-md));
1680
+ font-size: var(--tui-typography-size-sm);
1681
+ font-family: inherit;
1682
+ box-sizing: content-box;
1683
+ border: var(--tui-border-width) solid var(--_border);
1684
+ border-radius: var(--_radius);
1685
+ background-color: var(--_bg);
1686
+ color: var(--_fg);
1687
+ padding: 0.5em;
1688
+ min-width: 1px;
1689
+ cursor: pointer;
1690
+ }
1691
+ :where(.tui-interface) .tui-icon {
1692
+ display: inline-flex;
1693
+ vertical-align: -0.125em;
1694
+ line-height: 1;
1695
+ }
1696
+ :where(.tui-interface) .tui-icon.is-size-xs {
1697
+ font-size: var(--tui-icon-size-xs, var(--tui-typography-size-xs));
1698
+ }
1699
+ :where(.tui-interface) .tui-icon.is-size-sm {
1700
+ font-size: var(--tui-icon-size-sm, var(--tui-typography-size-sm));
1701
+ }
1702
+ :where(.tui-interface) .tui-icon.is-size-md {
1703
+ font-size: var(--tui-icon-size-md, var(--tui-typography-size-md));
1704
+ }
1705
+ :where(.tui-interface) .tui-icon.is-size-lg {
1706
+ font-size: var(--tui-icon-size-lg, var(--tui-typography-size-lg));
1707
+ }
1708
+ :where(.tui-interface) .tui-icon.is-size-xl {
1709
+ font-size: var(--tui-icon-size-xl, var(--tui-typography-size-xl));
1710
+ }
1711
+ :where(.tui-interface) .tui-icon.is-size-xxl {
1712
+ font-size: var(--tui-icon-size-xxl, var(--tui-typography-size-xxl));
1713
+ }
1714
+ :where(.tui-interface) .tui-icon svg {
1715
+ width: 1em;
1716
+ height: 1em;
1717
+ fill: currentColor;
1718
+ }
1719
+ .tui-interface .tui-icon-button {
1720
+ --_bg: var(--tui-icon-button-bg, transparent);
1721
+ --_fg: var(--tui-icon-button-fg, var(--tui-color-fg));
1722
+ --_border: var(--tui-icon-button-border, transparent);
1723
+ --_radius: var(--tui-icon-button-radius, var(--tui-radius-md));
1724
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-secondary-subtle));
1725
+ --_fg-interact: var(--tui-icon-button-fg-interact, var(--tui-color-fg));
1726
+ appearance: none;
1727
+ border: none;
1728
+ background: none;
1729
+ padding: 0;
1730
+ margin: 0;
1731
+ font: inherit;
1732
+ cursor: pointer;
1733
+ text-decoration: none;
1734
+ display: inline-flex;
1735
+ align-items: center;
1736
+ justify-content: center;
1737
+ position: relative;
1738
+ width: 2rem;
1739
+ height: 2rem;
1740
+ background-color: var(--_bg);
1741
+ color: var(--_fg);
1742
+ border: var(--tui-border-width) solid var(--_border);
1743
+ border-radius: var(--_radius);
1744
+ transition-duration: var(--tui-motion-duration);
1745
+ transition-timing-function: var(--tui-motion-timing);
1746
+ transition-property: background-color, color, border-color;
1747
+ }
1748
+ .tui-interface .tui-icon-button .tui-icon {
1749
+ font-size: 1rem;
1750
+ }
1751
+ .tui-interface .tui-icon-button:hover {
1752
+ --_bg: var(--_bg-interact);
1753
+ --_fg: var(--_fg-interact);
1754
+ }
1755
+ .tui-interface .tui-icon-button:focus-visible {
1756
+ --_bg: var(--_bg-interact);
1757
+ --_fg: var(--_fg-interact);
1758
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
1759
+ outline-offset: var(--tui-focus-ring-offset);
1760
+ }
1761
+ .tui-interface .tui-icon-button:is(:active, [aria-pressed=true]) {
1762
+ --_bg: var(--_bg-interact);
1763
+ --_fg: var(--_fg-interact);
1764
+ }
1765
+ .tui-interface .tui-icon-button:where(:disabled, [aria-disabled=true], .is-disabled) {
1766
+ pointer-events: none;
1767
+ cursor: not-allowed;
1768
+ opacity: var(--tui-opacity-disabled);
1769
+ }
1770
+ .tui-interface .tui-icon-button.is-size-xs {
1771
+ width: 1.5rem;
1772
+ height: 1.5rem;
1773
+ --_radius: var(--tui-icon-button-radius, var(--tui-radius-sm));
1774
+ }
1775
+ .tui-interface .tui-icon-button.is-size-xs .tui-icon {
1776
+ font-size: 0.75rem;
1777
+ }
1778
+ .tui-interface .tui-icon-button.is-size-md {
1779
+ width: 2.5rem;
1780
+ height: 2.5rem;
1781
+ }
1782
+ .tui-interface .tui-icon-button.is-size-md .tui-icon {
1783
+ font-size: 1.25rem;
1784
+ }
1785
+ .tui-interface .tui-icon-button.is-size-lg {
1786
+ width: 3rem;
1787
+ height: 3rem;
1788
+ }
1789
+ .tui-interface .tui-icon-button.is-size-lg .tui-icon {
1790
+ font-size: 1.5rem;
1791
+ }
1792
+ .tui-interface .tui-icon-button.is-theme-primary {
1793
+ --_fg: var(--tui-icon-button-fg, var(--tui-theme-primary-base));
1794
+ --_fg-interact: var(--tui-icon-button-fg-interact, var(--tui-theme-primary-strong));
1795
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-primary-subtlest));
1796
+ }
1797
+ .tui-interface .tui-icon-button.is-theme-danger {
1798
+ --_fg: var(--tui-icon-button-fg, var(--tui-theme-danger-base));
1799
+ --_fg-interact: var(--tui-icon-button-fg-interact, var(--tui-theme-danger-strong));
1800
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-danger-subtlest));
1801
+ }
1802
+ .tui-interface .tui-icon-button.is-style-outline {
1803
+ --_border: var(--tui-icon-button-border, var(--tui-color-border));
1804
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-secondary-subtle));
1805
+ }
1806
+ .tui-interface .tui-icon-button.is-style-outline.is-theme-primary {
1807
+ --_border: var(--tui-icon-button-border, var(--tui-theme-primary-base));
1808
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-primary-subtlest));
1809
+ --_fg-interact: var(--tui-icon-button-fg-interact, var(--tui-theme-primary-strong));
1810
+ }
1811
+ .tui-interface .tui-icon-button.is-style-outline.is-theme-danger {
1812
+ --_border: var(--tui-icon-button-border, var(--tui-theme-danger-base));
1813
+ --_bg-interact: var(--tui-icon-button-bg-interact, var(--tui-theme-danger-subtlest));
1814
+ --_fg-interact: var(--tui-icon-button-fg-interact, var(--tui-theme-danger-strong));
1815
+ }
1816
+ .tui-interface .tui-icon-button.is-style-solid {
1817
+ --_bg: var(--tui-icon-button-bg, var(--tui-theme-secondary-subtle));
1818
+ --_fg: var(--tui-icon-button-fg, var(--tui-color-fg));
1819
+ }
1820
+ .tui-interface .tui-icon-button.is-style-solid:hover, .tui-interface .tui-icon-button.is-style-solid:focus-visible, .tui-interface .tui-icon-button.is-style-solid:is(:active, [aria-pressed=true]) {
1821
+ --_bg: var(--tui-icon-button-bg-interact, var(--tui-theme-secondary-soft));
1822
+ }
1823
+ .tui-interface .tui-icon-button.is-style-solid.is-theme-primary {
1824
+ --_bg: var(--tui-icon-button-bg, var(--tui-theme-primary-base));
1825
+ --_fg: var(--tui-icon-button-fg, var(--tui-color-fg-on-accent));
1826
+ }
1827
+ .tui-interface .tui-icon-button.is-style-solid.is-theme-primary:hover, .tui-interface .tui-icon-button.is-style-solid.is-theme-primary:focus-visible, .tui-interface .tui-icon-button.is-style-solid.is-theme-primary:is(:active, [aria-pressed=true]) {
1828
+ --_bg: var(--tui-icon-button-bg-interact, var(--tui-theme-primary-stronger));
1829
+ }
1830
+ .tui-interface .tui-icon-button.is-style-solid.is-theme-danger {
1831
+ --_bg: var(--tui-icon-button-bg, var(--tui-theme-danger-base));
1832
+ --_fg: var(--tui-icon-button-fg, var(--tui-color-fg-on-accent));
1833
+ }
1834
+ .tui-interface .tui-icon-button.is-style-solid.is-theme-danger:hover, .tui-interface .tui-icon-button.is-style-solid.is-theme-danger:focus-visible, .tui-interface .tui-icon-button.is-style-solid.is-theme-danger:is(:active, [aria-pressed=true]) {
1835
+ --_bg: var(--tui-icon-button-bg-interact, var(--tui-theme-danger-stronger));
1836
+ }
1837
+ .tui-interface .tui-icon-button[aria-busy=true] {
1838
+ pointer-events: none;
1839
+ }
1840
+ .tui-interface .tui-icon-button[aria-busy=true] .tui-icon {
1841
+ visibility: hidden;
1842
+ }
1843
+ .tui-interface .tui-icon-button__spinner {
1844
+ position: absolute;
1845
+ width: 1em;
1846
+ height: 1em;
1847
+ border: 0.15em solid currentColor;
1848
+ border-right-color: transparent;
1849
+ border-radius: 50%;
1850
+ animation: tui-spin 0.85s linear infinite;
1851
+ }
1852
+ @media (forced-colors: active) {
1853
+ .tui-icon-button {
1854
+ forced-color-adjust: none;
1855
+ background-color: Canvas;
1856
+ color: CanvasText;
1857
+ border-color: CanvasText;
1858
+ }
1859
+ .tui-icon-button:is(:hover, :active) {
1860
+ background-color: Highlight;
1861
+ color: Canvas;
1862
+ }
1863
+ .tui-icon-button:focus-visible {
1864
+ outline: 2px solid Highlight;
1865
+ outline-offset: 2px;
1866
+ }
1867
+ }
1868
+ @media (prefers-reduced-motion: reduce) {
1869
+ .tui-icon-button {
1870
+ transition: none;
1871
+ }
1872
+ .tui-icon-button__spinner {
1873
+ animation: none;
1874
+ }
1875
+ }
1876
+ .tui-modal {
1877
+ --_z: var(--tui-modal-z, var(--tui-layer-modal, 1000));
1878
+ --_backdrop: var(--tui-modal-backdrop, var(--tui-color-bg-overlay));
1879
+ position: fixed;
1880
+ inset: 0;
1881
+ z-index: var(--_z);
1882
+ pointer-events: auto;
1883
+ display: flex;
1884
+ justify-content: center;
1885
+ align-items: flex-start;
1886
+ overflow: auto;
1887
+ padding-block: 1rem;
1888
+ }
1889
+ .tui-modal__backdrop {
1890
+ position: fixed;
1891
+ inset: 0;
1892
+ background: var(--_backdrop);
1893
+ transition: opacity var(--tui-motion-duration) var(--tui-motion-timing);
1894
+ opacity: 0;
1895
+ }
1896
+ .tui-modal[data-state=open] .tui-modal__backdrop {
1897
+ opacity: 1;
1898
+ }
1899
+ .tui-modal__dialog .tui-modal__close {
1900
+ position: absolute;
1901
+ top: var(--tui-spacing-sm);
1902
+ inset-inline-end: var(--tui-spacing-sm);
1903
+ z-index: 2;
1904
+ }
1905
+ .tui-modal__dialog {
1906
+ --_max: var(--tui-modal-max, 720px);
1907
+ --_bg: var(--tui-modal-bg, var(--tui-color-bg-surface));
1908
+ --_border: var(--tui-modal-border, var(--tui-color-border));
1909
+ --_radius: var(--tui-modal-radius, var(--tui-radius-lg));
1910
+ --_padding: var(--tui-modal-padding, var(--tui-spacing-md));
1911
+ --_shadow: var(--tui-modal-shadow, var(--tui-shadow-lg));
1912
+ position: relative;
1913
+ width: 100%;
1914
+ max-inline-size: min(100vw - 2rem, var(--_max));
1915
+ max-block-size: calc(100dvh - 2rem);
1916
+ margin-block: auto;
1917
+ overflow: hidden;
1918
+ display: flex;
1919
+ flex-direction: column;
1920
+ --_min-body: 8rem;
1921
+ --_min-head: 0rem;
1922
+ --_min-foot: 0rem;
1923
+ min-block-size: calc(var(--_min-body) + var(--_min-head) + var(--_min-foot));
1924
+ }
1925
+ .tui-modal__dialog:has(> .tui-modal__head) {
1926
+ --_min-head: 4rem;
1927
+ }
1928
+ .tui-modal__dialog:has(> .tui-modal__foot) {
1929
+ --_min-foot: 4rem;
1930
+ }
1931
+ .tui-modal__dialog {
1932
+ box-sizing: border-box;
1933
+ border-style: solid;
1934
+ border-width: var(--tui-border-width);
1935
+ border-color: var(--_border);
1936
+ border-radius: var(--_radius);
1937
+ background-color: var(--_bg);
1938
+ box-shadow: var(--_shadow);
1939
+ }
1940
+ .tui-modal__dialog .tui-modal__body {
1941
+ flex: 1 1 auto;
1942
+ min-height: 4.5rem;
1943
+ display: flex;
1944
+ flex-direction: column;
1945
+ }
1946
+ .tui-modal__dialog .tui-modal__body:first-child .tui-modal__body-inner {
1947
+ padding-block-start: var(--_padding);
1948
+ }
1949
+ .tui-modal__dialog .tui-modal__body:last-child .tui-modal__body-inner {
1950
+ padding-block-end: var(--_padding);
1951
+ }
1952
+ .tui-modal__dialog .tui-modal__body-inner {
1953
+ flex: 1 1 auto;
1954
+ overflow: auto;
1955
+ padding-inline: var(--_padding);
1956
+ }
1957
+ .tui-modal__dialog .tui-modal__body-inner > *:first-child {
1958
+ margin-block-start: unset;
1959
+ }
1960
+ .tui-modal__dialog .tui-modal__body-inner > *:last-child {
1961
+ margin-block-end: unset;
1962
+ }
1963
+ .tui-modal__dialog .tui-modal__body-inner > p {
1964
+ margin: 0;
1965
+ }
1966
+ .tui-modal__dialog .tui-modal__head {
1967
+ padding-block: var(--_padding);
1968
+ padding-inline: var(--_padding);
1969
+ width: 100%;
1970
+ box-sizing: border-box;
1971
+ }
1972
+ .tui-modal__dialog .tui-modal__foot {
1973
+ padding-block: var(--_padding);
1974
+ padding-inline: var(--_padding);
1975
+ width: 100%;
1976
+ box-sizing: border-box;
1977
+ }
1978
+ .tui-modal__dialog.is-size-sm {
1979
+ --_max: var(--tui-modal-max, 480px);
1980
+ }
1981
+ .tui-modal__dialog.is-size-md {
1982
+ --_max: var(--tui-modal-max, 720px);
1983
+ }
1984
+ .tui-modal__dialog.is-size-lg {
1985
+ --_max: var(--tui-modal-max, 960px);
1986
+ }
1987
+ .tui-modal__dialog.is-sticky-head .tui-modal__head {
1988
+ position: sticky;
1989
+ top: 0;
1990
+ background: inherit;
1991
+ z-index: 1;
1992
+ }
1993
+ .tui-modal__dialog.is-sticky-foot .tui-modal__foot {
1994
+ position: sticky;
1995
+ bottom: 0;
1996
+ background: inherit;
1997
+ z-index: 1;
1998
+ }
1999
+ @media (prefers-reduced-motion: no-preference) {
2000
+ .tui-modal__dialog {
2001
+ transform: translateY(4px);
2002
+ opacity: 0;
2003
+ transition: transform var(--tui-motion-duration) var(--tui-motion-timing), opacity var(--tui-motion-duration) var(--tui-motion-timing);
2004
+ }
2005
+ .tui-modal[data-state=open] .tui-modal__dialog {
2006
+ transform: none;
2007
+ opacity: 1;
2008
+ }
2009
+ }
2010
+ @media (forced-colors: active) {
2011
+ .tui-modal__dialog {
2012
+ border: 2px solid CanvasText;
2013
+ }
2014
+ .tui-modal__backdrop {
2015
+ background: GrayText;
2016
+ opacity: 0.5;
2017
+ }
2018
+ }
2019
+ .tui-modal-open {
2020
+ overflow: hidden;
2021
+ }
2022
+ :where(.tui-interface) .tui-notice {
2023
+ --_bg: var(--tui-notice-bg, var(--tui-color-bg-muted));
2024
+ --_border: var(--tui-notice-border, transparent);
2025
+ --_stripe: var(--tui-notice-stripe, var(--tui-theme-primary-base));
2026
+ --_fg: var(--tui-notice-fg, inherit);
2027
+ --_radius: var(--tui-notice-radius, var(--tui-radius-md));
2028
+ --_padding: var(--tui-notice-padding, var(--tui-spacing-sm));
2029
+ --_foot-basis: var(--tui-notice-foot-basis, 500px);
2030
+ --_gap: var(--tui-spacing-sm);
2031
+ box-sizing: border-box;
2032
+ container-type: inline-size;
2033
+ container-name: tuiNotice;
2034
+ position: relative;
2035
+ width: 100%;
2036
+ border-style: solid;
2037
+ border-width: var(--tui-border-width);
2038
+ border-color: var(--_border);
2039
+ border-radius: var(--_radius);
2040
+ background-color: var(--_bg);
2041
+ color: var(--_fg);
2042
+ }
2043
+ :where(.tui-interface) .tui-notice__inner {
2044
+ display: flex;
2045
+ flex-direction: column;
2046
+ }
2047
+ :where(.tui-interface) .tui-notice__icon {
2048
+ flex: 0 0 auto;
2049
+ display: inline-flex;
2050
+ align-items: center;
2051
+ justify-content: center;
2052
+ line-height: 0;
2053
+ font-size: var(--tui-typography-size-xl);
2054
+ }
2055
+ :where(.tui-interface) .tui-notice__title {
2056
+ flex: 1 1 auto;
2057
+ margin: 0;
2058
+ font-weight: var(--tui-font-weight-semibold, 600);
2059
+ }
2060
+ :where(.tui-interface) .tui-notice__head {
2061
+ padding-block: var(--_padding);
2062
+ padding-inline: var(--_padding);
2063
+ width: 100%;
2064
+ box-sizing: border-box;
2065
+ display: flex;
2066
+ align-items: center;
2067
+ gap: var(--_gap);
2068
+ }
2069
+ :where(.tui-interface) .tui-notice__body {
2070
+ padding-inline: var(--_padding);
2071
+ width: 100%;
2072
+ box-sizing: border-box;
2073
+ }
2074
+ :where(.tui-interface) .tui-notice__body > *:first-child {
2075
+ margin-block-start: unset;
2076
+ }
2077
+ :where(.tui-interface) .tui-notice__body > *:last-child {
2078
+ margin-block-end: unset;
2079
+ }
2080
+ :where(.tui-interface) .tui-notice__body > p {
2081
+ margin: 0;
2082
+ }
2083
+ :where(.tui-interface) .tui-notice__body:first-child {
2084
+ padding-block-start: var(--_padding);
2085
+ }
2086
+ :where(.tui-interface) .tui-notice__body:last-child {
2087
+ padding-block-end: var(--_padding);
2088
+ }
2089
+ :where(.tui-interface) .tui-notice__foot {
2090
+ padding-block: var(--_padding);
2091
+ padding-inline: var(--_padding);
2092
+ width: 100%;
2093
+ box-sizing: border-box;
2094
+ }
2095
+ :where(.tui-interface) .tui-notice.is-layout-inline {
2096
+ display: flex;
2097
+ align-items: center;
2098
+ }
2099
+ @container tuiNotice (width >= 400px) {
2100
+ :where(.tui-interface) .tui-notice.is-layout-inline {
2101
+ display: flex;
2102
+ align-items: center;
2103
+ }
2104
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner {
2105
+ display: flex;
2106
+ flex-direction: row;
2107
+ align-items: center;
2108
+ gap: var(--_padding);
2109
+ flex: 1 1 auto;
2110
+ }
2111
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__head {
2112
+ padding-inline-start: var(--_padding);
2113
+ padding-block: var(--_padding);
2114
+ flex: 0 1 auto;
2115
+ }
2116
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__head:has(.tui-icon:only-child) {
2117
+ flex: 0 0 max-content;
2118
+ }
2119
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__body {
2120
+ flex: 2 1 auto;
2121
+ padding-block: var(--_padding);
2122
+ }
2123
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__foot {
2124
+ width: unset;
2125
+ flex: 0 1 var(--_foot-basis);
2126
+ padding-block: var(--_padding);
2127
+ padding-inline-end: var(--_padding);
2128
+ margin-inline-start: auto;
2129
+ justify-content: flex-end;
2130
+ }
2131
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__head:not(:first-child),
2132
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__body:not(:first-child),
2133
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__foot:not(:first-child) {
2134
+ padding-inline-start: 0;
2135
+ }
2136
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__head:not(:last-child),
2137
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__body:not(:last-child),
2138
+ :where(.tui-interface) .tui-notice.is-layout-inline .tui-notice__inner .tui-notice__foot:not(:last-child) {
2139
+ padding-inline-end: 0;
2140
+ }
2141
+ }
2142
+ :where(.tui-interface) .tui-notice.is-dismissible .tui-notice__inner {
2143
+ padding-inline-end: calc(var(--_padding) + 2rem);
2144
+ }
2145
+ @container tuiNotice (width >= 400px) {
2146
+ :where(.tui-interface) .tui-notice.is-layout-inline.is-dismissible .tui-notice__inner {
2147
+ padding-inline-end: 0;
2148
+ }
2149
+ :where(.tui-interface) .tui-notice.is-layout-inline.is-dismissible .tui-notice__inner .tui-notice__head:last-child,
2150
+ :where(.tui-interface) .tui-notice.is-layout-inline.is-dismissible .tui-notice__inner .tui-notice__body:last-child,
2151
+ :where(.tui-interface) .tui-notice.is-layout-inline.is-dismissible .tui-notice__inner .tui-notice__foot:last-child {
2152
+ padding-inline-end: 0;
2153
+ }
2154
+ }
2155
+ :where(.tui-interface) .tui-notice.has-stripe {
2156
+ border-inline-start-width: 4px;
2157
+ border-inline-start-color: var(--_stripe);
2158
+ }
2159
+ :where(.tui-interface) .tui-notice.is-theme-info {
2160
+ --_bg: var(--tui-notice-bg, var(--tui-theme-primary-subtlest));
2161
+ --_stripe: var(--tui-notice-stripe, var(--tui-theme-primary-base));
2162
+ }
2163
+ :where(.tui-interface) .tui-notice.is-theme-success {
2164
+ --_bg: var(--tui-notice-bg, var(--tui-theme-success-subtlest));
2165
+ --_stripe: var(--tui-notice-stripe, var(--tui-theme-success-base));
2166
+ }
2167
+ :where(.tui-interface) .tui-notice.is-theme-warning {
2168
+ --_bg: var(--tui-notice-bg, var(--tui-theme-warning-subtlest));
2169
+ --_stripe: var(--tui-notice-stripe, var(--tui-theme-warning-base));
2170
+ }
2171
+ :where(.tui-interface) .tui-notice.is-theme-danger {
2172
+ --_bg: var(--tui-notice-bg, var(--tui-theme-danger-subtlest));
2173
+ --_stripe: var(--tui-notice-stripe, var(--tui-theme-danger-base));
2174
+ }
2175
+ :where(.tui-interface) .tui-notice.is-style-elevated {
2176
+ box-shadow: var(--tui-shadow-md);
2177
+ }
2178
+ :where(.tui-interface) .tui-notice.has-interaction {
2179
+ cursor: pointer;
2180
+ transition-property: background-color, border-color, box-shadow;
2181
+ transition-duration: var(--tui-motion-duration);
2182
+ transition-timing-function: var(--tui-motion-timing);
2183
+ }
2184
+ :where(.tui-interface) .tui-notice.has-interaction:hover {
2185
+ --_bg: var(--tui-color-bg-muted);
2186
+ }
2187
+ :where(.tui-interface) .tui-notice.has-interaction:focus-visible {
2188
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2189
+ outline-offset: var(--tui-focus-ring-offset);
2190
+ }
2191
+ :where(.tui-interface) .tui-notice.is-focusable:focus-visible {
2192
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2193
+ outline-offset: var(--tui-focus-ring-offset);
2194
+ }
2195
+ :where(.tui-interface) .tui-notice.is-disabled {
2196
+ opacity: var(--tui-opacity-disabled);
2197
+ pointer-events: none;
2198
+ }
2199
+ :where(.tui-interface) .tui-notice.is-exiting-collapse {
2200
+ display: grid;
2201
+ animation: tui-noticeExitCollapse 200ms var(--tui-motion-timing) forwards;
2202
+ }
2203
+ :where(.tui-interface) .tui-notice.is-exiting-collapse .tui-notice__inner {
2204
+ min-height: 0;
2205
+ overflow: hidden;
2206
+ }
2207
+ :where(.tui-interface) .tui-notice.is-exiting-fade {
2208
+ animation: tui-noticeExitFade 200ms var(--tui-motion-timing) forwards;
2209
+ }
2210
+ @media (prefers-reduced-motion: reduce) {
2211
+ :where(.tui-interface) .tui-notice.is-exiting-collapse, :where(.tui-interface) .tui-notice.is-exiting-fade {
2212
+ animation: none;
2213
+ opacity: 0;
2214
+ }
2215
+ }
2216
+ @keyframes tui-noticeExitCollapse {
2217
+ 0% {
2218
+ grid-template-rows: 1fr;
2219
+ opacity: 1;
2220
+ }
2221
+ 100% {
2222
+ grid-template-rows: 0fr;
2223
+ opacity: 0;
2224
+ }
2225
+ }
2226
+ @keyframes tui-noticeExitFade {
2227
+ 0% {
2228
+ opacity: 1;
2229
+ transform: scale(1);
2230
+ }
2231
+ 100% {
2232
+ opacity: 0;
2233
+ transform: scale(0.95);
2234
+ }
2235
+ }
2236
+ .tui-notice .tui-notice__dismiss {
2237
+ position: absolute;
2238
+ inset-block-start: var(--tui-notice-padding, var(--tui-spacing-sm));
2239
+ inset-inline-end: var(--tui-notice-padding, var(--tui-spacing-sm));
2240
+ }
2241
+ .tui-notice.is-layout-inline .tui-notice__dismiss {
2242
+ position: static;
2243
+ flex-shrink: 0;
2244
+ align-self: center;
2245
+ margin-inline-start: var(--tui-spacing-sm);
2246
+ margin-inline-end: var(--tui-notice-padding, var(--tui-spacing-sm));
2247
+ }
2248
+ :where(.tui-interface) .tui-overlap-stack {
2249
+ display: inline-flex;
2250
+ align-items: center;
2251
+ }
2252
+ :where(.tui-interface) .tui-overlap-stack__item {
2253
+ position: relative;
2254
+ display: inline-flex;
2255
+ }
2256
+ :where(.tui-interface) .tui-overlap-stack__item:not(:first-child) {
2257
+ margin-inline-start: var(--tui-overlap-stack-overlap, -0.5rem);
2258
+ }
2259
+ :where(.tui-interface) .tui-overlap-stack__item.is-framed {
2260
+ --_radius: var(--tui-overlap-stack-item-radius, var(--tui-radius-full));
2261
+ --_border-width: var(--tui-overlap-stack-border-width, 0);
2262
+ --_border-color: var(--tui-overlap-stack-border-color, var(--tui-color-bg-surface));
2263
+ overflow: hidden;
2264
+ border-radius: var(--_radius);
2265
+ border: var(--_border-width) solid var(--_border-color);
2266
+ }
2267
+ :where(.tui-interface) .tui-overlap-stack__overflow {
2268
+ --_bg: var(--tui-overlap-stack-overflow-bg, var(--tui-color-bg-muted));
2269
+ --_fg: var(--tui-overlap-stack-overflow-fg, var(--tui-color-fg-muted));
2270
+ display: inline-flex;
2271
+ align-items: center;
2272
+ justify-content: center;
2273
+ min-width: 1.5rem;
2274
+ min-height: 1.5rem;
2275
+ padding-inline: 0.25rem;
2276
+ border-radius: var(--tui-radius-full);
2277
+ background-color: var(--_bg);
2278
+ color: var(--_fg);
2279
+ font-size: 0.75rem;
2280
+ font-weight: 500;
2281
+ }
2282
+ @media (forced-colors: active) {
2283
+ :where(.tui-interface) .tui-overlap-stack__overflow {
2284
+ border: 1px solid CanvasText;
2285
+ }
2286
+ }
2287
+ .tui-pager {
2288
+ display: flex;
2289
+ flex-wrap: wrap;
2290
+ align-items: center;
2291
+ justify-content: space-between;
2292
+ gap: var(--tui-pager-gap, var(--tui-spacing-md));
2293
+ padding-block: var(--tui-spacing-md);
2294
+ }
2295
+ .tui-pager__nav {
2296
+ display: flex;
2297
+ align-items: center;
2298
+ gap: 0;
2299
+ }
2300
+ .tui-pager__nav .tui-pager__item,
2301
+ .tui-pager__nav .tui-pager__ellipsis {
2302
+ --_border: var(--tui-button-border, var(--tui-color-border));
2303
+ border-color: var(--_border) !important;
2304
+ font-size: var(--tui-typography-size-sm);
2305
+ padding-inline: 0.85em;
2306
+ padding-block: 0.4em;
2307
+ }
2308
+ .tui-pager__nav .tui-pager__item:not(:first-child),
2309
+ .tui-pager__nav .tui-pager__ellipsis:not(:first-child) {
2310
+ border-start-start-radius: 0;
2311
+ border-end-start-radius: 0;
2312
+ border-inline-start-width: 0;
2313
+ }
2314
+ .tui-pager__nav .tui-pager__item:not(:last-child),
2315
+ .tui-pager__nav .tui-pager__ellipsis:not(:last-child) {
2316
+ border-start-end-radius: 0;
2317
+ border-end-end-radius: 0;
2318
+ }
2319
+ .tui-pager__nav .tui-pager__ellipsis {
2320
+ display: inline-flex;
2321
+ align-items: center;
2322
+ justify-content: center;
2323
+ border: var(--tui-border-width) solid var(--_border);
2324
+ background: transparent;
2325
+ color: var(--tui-color-fg-muted);
2326
+ border-radius: var(--tui-radius-sm);
2327
+ cursor: default;
2328
+ user-select: none;
2329
+ }
2330
+ .tui-pager__info {
2331
+ display: flex;
2332
+ align-items: center;
2333
+ gap: var(--tui-spacing-sm);
2334
+ margin-inline-start: auto;
2335
+ }
2336
+ .tui-pager__page-size-label {
2337
+ display: flex;
2338
+ align-items: center;
2339
+ gap: var(--tui-spacing-xs);
2340
+ }
2341
+ :where(.tui-interface) .tui-rating {
2342
+ --_active: var(--tui-rating-active, var(--tui-theme-warning-base));
2343
+ --_inactive: var(--tui-rating-inactive, var(--tui-color-fg-muted));
2344
+ --_scale: var(--tui-rating-scale, 2);
2345
+ display: inline-flex;
2346
+ align-items: center;
2347
+ }
2348
+ :where(.tui-interface) .tui-rating.is-size-sm {
2349
+ font-size: calc(var(--tui-typography-size-sm) * var(--_scale));
2350
+ }
2351
+ :where(.tui-interface) .tui-rating.is-size-md {
2352
+ font-size: calc(var(--tui-typography-size-md) * var(--_scale));
2353
+ }
2354
+ :where(.tui-interface) .tui-rating.is-size-lg {
2355
+ font-size: calc(var(--tui-typography-size-lg) * var(--_scale));
2356
+ }
2357
+ :where(.tui-interface) .tui-rating.is-size-xl {
2358
+ font-size: calc(var(--tui-typography-size-xl) * var(--_scale));
2359
+ }
2360
+ :where(.tui-interface) .tui-rating.is-theme-primary {
2361
+ --_active: var(--tui-rating-active, var(--tui-theme-primary-base));
2362
+ }
2363
+ :where(.tui-interface) .tui-rating.is-theme-secondary {
2364
+ --_active: var(--tui-rating-active, var(--tui-theme-secondary-base));
2365
+ }
2366
+ :where(.tui-interface) .tui-rating.is-theme-success {
2367
+ --_active: var(--tui-rating-active, var(--tui-theme-success-base));
2368
+ }
2369
+ :where(.tui-interface) .tui-rating.is-theme-warning {
2370
+ --_active: var(--tui-rating-active, var(--tui-theme-warning-base));
2371
+ }
2372
+ :where(.tui-interface) .tui-rating.is-theme-danger {
2373
+ --_active: var(--tui-rating-active, var(--tui-theme-danger-base));
2374
+ }
2375
+ :where(.tui-interface) .tui-rating.is-disabled {
2376
+ opacity: var(--tui-opacity-disabled);
2377
+ pointer-events: none;
2378
+ }
2379
+ :where(.tui-interface) .tui-rating .tui-rating__item {
2380
+ line-height: 1;
2381
+ max-height: 1em;
2382
+ }
2383
+ :where(.tui-interface) .tui-rating label.tui-rating__star {
2384
+ cursor: pointer;
2385
+ }
2386
+ :where(.tui-interface) .tui-rating .tui-rating__item:has(input:focus-visible) label.tui-rating__star {
2387
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2388
+ outline-offset: var(--tui-focus-ring-offset);
2389
+ border-radius: var(--tui-radius-sm);
2390
+ }
2391
+ :where(.tui-interface) .tui-rating .tui-rating__star {
2392
+ display: inline-flex;
2393
+ align-items: center;
2394
+ justify-content: center;
2395
+ font-size: inherit;
2396
+ color: var(--_inactive) !important;
2397
+ }
2398
+ :where(.tui-interface) .tui-rating .tui-rating__star .tui-icon {
2399
+ flex: 0 0 auto;
2400
+ font-size: inherit;
2401
+ }
2402
+ @media (hover: hover) {
2403
+ :where(.tui-interface) .tui-rating .tui-rating__star:hover {
2404
+ filter: brightness(0.95);
2405
+ }
2406
+ }
2407
+ :where(.tui-interface) .tui-rating .tui-rating__star.is-active {
2408
+ color: var(--_active) !important;
2409
+ }
2410
+ :where(.tui-interface) .tui-progress {
2411
+ --_track: var(--tui-progress-track, var(--tui-color-border));
2412
+ --_fill: var(--tui-progress-fill, var(--tui-theme-primary-base));
2413
+ --_label: var(--tui-progress-label, var(--tui-color-fg));
2414
+ --_radius: var(--tui-progress-radius, var(--tui-radius-md));
2415
+ --tui-progress-value: 0;
2416
+ --tui-progress-max: 100;
2417
+ --_pct: calc((var(--tui-progress-value) / var(--tui-progress-max)) * 100);
2418
+ color: var(--_label);
2419
+ }
2420
+ :where(.tui-interface) .tui-progress.is-size-xs {
2421
+ font-size: var(--tui-typography-size-xs);
2422
+ }
2423
+ :where(.tui-interface) .tui-progress.is-size-sm {
2424
+ font-size: var(--tui-typography-size-sm);
2425
+ }
2426
+ :where(.tui-interface) .tui-progress.is-size-md {
2427
+ font-size: var(--tui-typography-size-md);
2428
+ }
2429
+ :where(.tui-interface) .tui-progress.is-size-lg {
2430
+ font-size: var(--tui-typography-size-lg);
2431
+ }
2432
+ :where(.tui-interface) .tui-progress.is-mode-line .tui-progress__track {
2433
+ position: relative;
2434
+ inline-size: 100%;
2435
+ block-size: 1em;
2436
+ background: var(--_track) !important;
2437
+ border-radius: var(--_radius);
2438
+ overflow: clip;
2439
+ }
2440
+ :where(.tui-interface) .tui-progress.is-mode-line .tui-progress__bar {
2441
+ block-size: 100%;
2442
+ inline-size: calc(var(--_pct) * 1%);
2443
+ background: var(--_fill) !important;
2444
+ border-radius: var(--_radius);
2445
+ transition: inline-size var(--tui-motion-duration) var(--tui-motion-timing);
2446
+ }
2447
+ :where(.tui-interface) .tui-progress.is-mode-line .tui-progress__label-wrapper {
2448
+ position: absolute;
2449
+ font-size: 1em;
2450
+ line-height: 1;
2451
+ inset: 0;
2452
+ display: grid;
2453
+ grid-template-columns: 1fr minmax(max-content, calc(100% - var(--_pct) * 1%));
2454
+ transition: grid-template-columns var(--tui-motion-duration) var(--tui-motion-timing);
2455
+ }
2456
+ :where(.tui-interface) .tui-progress.is-mode-line .tui-progress__label.is-inside {
2457
+ pointer-events: none;
2458
+ min-width: max-content;
2459
+ font-weight: bold;
2460
+ background: color-mix(in oklab, var(--_track) 50%, transparent);
2461
+ border-radius: var(--_radius);
2462
+ padding-inline: 0.5em;
2463
+ grid-column: 2;
2464
+ }
2465
+ :where(.tui-interface) .tui-progress.is-mode-circle .tui-progress__circle {
2466
+ position: relative;
2467
+ inline-size: 2em;
2468
+ }
2469
+ :where(.tui-interface) .tui-progress.is-mode-circle .tui-progress__circle__bar {
2470
+ aspect-ratio: 1;
2471
+ background: conic-gradient(var(--_fill) calc(var(--_pct) * 1%), var(--_track) 0) !important;
2472
+ -webkit-mask: radial-gradient(closest-side, transparent 78%, #000 0);
2473
+ mask: radial-gradient(closest-side, transparent 78%, #000 0);
2474
+ border-radius: 50%;
2475
+ }
2476
+ :where(.tui-interface) .tui-progress.is-mode-circle .tui-progress__label.is-inside {
2477
+ position: absolute;
2478
+ inset: 0;
2479
+ display: grid;
2480
+ place-items: center;
2481
+ font-size: 0.5em;
2482
+ font-weight: bold;
2483
+ pointer-events: none;
2484
+ }
2485
+ :where(.tui-interface) .tui-progress.is-mode-circle.is-variant-solid .tui-progress__circle__bar {
2486
+ -webkit-mask: none;
2487
+ mask: none;
2488
+ }
2489
+ :where(.tui-interface) .tui-progress .tui-progress__label {
2490
+ font-weight: 600;
2491
+ white-space: nowrap;
2492
+ }
2493
+ :where(.tui-interface) .tui-progress .tui-progress__label.is-end {
2494
+ color: var(--tui-color-fg-muted);
2495
+ }
2496
+ :where(.tui-interface) .tui-progress .tui-progress__labels {
2497
+ display: flex;
2498
+ justify-content: space-between;
2499
+ align-items: baseline;
2500
+ gap: var(--tui-spacing-md);
2501
+ }
2502
+ :where(.tui-interface) .tui-progress.is-label-above .tui-progress__labels {
2503
+ margin-block-end: var(--tui-spacing-xs);
2504
+ }
2505
+ :where(.tui-interface) .tui-progress.is-label-below .tui-progress__labels {
2506
+ margin-block-start: var(--tui-spacing-xs);
2507
+ }
2508
+ :where(.tui-interface) .tui-progress .tui-progress__inline {
2509
+ display: flex;
2510
+ align-items: center;
2511
+ gap: var(--tui-spacing-xs);
2512
+ }
2513
+ :where(.tui-interface) .tui-progress .tui-progress__inline .tui-progress__track {
2514
+ flex: 1;
2515
+ }
2516
+ :where(.tui-interface) .tui-progress.is-segmented {
2517
+ --_z1: var(--tui-progress-z1-fill, var(--tui-theme-primary-base));
2518
+ --_z2: var(--tui-progress-z2-fill, var(--tui-theme-warning-base));
2519
+ --_z3: var(--tui-progress-z3-fill, var(--tui-theme-success-base));
2520
+ --_z4: var(--tui-progress-z4-fill, var(--tui-theme-danger-base));
2521
+ --_z5: var(--tui-progress-z5-fill, var(--tui-theme-info-base));
2522
+ }
2523
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__track {
2524
+ display: flex;
2525
+ }
2526
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar {
2527
+ flex-shrink: 0;
2528
+ block-size: 100%;
2529
+ inline-size: var(--tui-segment-width);
2530
+ transition: inline-size var(--tui-motion-duration) var(--tui-motion-timing);
2531
+ }
2532
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar:first-child {
2533
+ border-radius: var(--_radius) 0 0 var(--_radius);
2534
+ }
2535
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar:not(:first-child):not(:last-child) {
2536
+ border-radius: 0;
2537
+ }
2538
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar:last-child {
2539
+ border-radius: 0 var(--_radius) var(--_radius) 0;
2540
+ }
2541
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar:only-child {
2542
+ border-radius: var(--_radius);
2543
+ }
2544
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar.is-z1 {
2545
+ background: var(--_z1) !important;
2546
+ }
2547
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar.is-z2 {
2548
+ background: var(--_z2) !important;
2549
+ }
2550
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar.is-z3 {
2551
+ background: var(--_z3) !important;
2552
+ }
2553
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar.is-z4 {
2554
+ background: var(--_z4) !important;
2555
+ }
2556
+ :where(.tui-interface) .tui-progress.is-segmented.is-mode-line .tui-progress__bar.is-z5 {
2557
+ background: var(--_z5) !important;
2558
+ }
2559
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-labels {
2560
+ display: flex;
2561
+ gap: var(--tui-spacing-md);
2562
+ margin-block-start: var(--tui-spacing-xs);
2563
+ }
2564
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label {
2565
+ display: inline-flex;
2566
+ gap: 0.35em;
2567
+ font-weight: 600;
2568
+ }
2569
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label.is-z1 {
2570
+ color: var(--_z1);
2571
+ }
2572
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label.is-z2 {
2573
+ color: var(--_z2);
2574
+ }
2575
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label.is-z3 {
2576
+ color: var(--_z3);
2577
+ }
2578
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label.is-z4 {
2579
+ color: var(--_z4);
2580
+ }
2581
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label.is-z5 {
2582
+ color: var(--_z5);
2583
+ }
2584
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label-text {
2585
+ font-weight: 600;
2586
+ }
2587
+ :where(.tui-interface) .tui-progress.is-segmented .tui-progress__segment-label-value {
2588
+ font-weight: 600;
2589
+ }
2590
+ :where(.tui-interface) .tui-progress.is-indeterminate.is-mode-line .tui-progress__bar {
2591
+ animation: tui-progress-indeterminate 2s ease-in-out infinite backwards;
2592
+ }
2593
+ :where(.tui-interface) .tui-progress.is-indeterminate.is-mode-circle .tui-progress__circle__bar {
2594
+ animation: tui-progress-spin 1s linear infinite;
2595
+ background: conic-gradient(var(--_fill) 25%, var(--_track) 0) !important;
2596
+ }
2597
+ @media (prefers-reduced-motion: reduce) {
2598
+ :where(.tui-interface) .tui-progress.is-indeterminate.is-mode-line .tui-progress__bar {
2599
+ animation: none;
2600
+ inline-size: 50%;
2601
+ }
2602
+ :where(.tui-interface) .tui-progress.is-indeterminate.is-mode-circle .tui-progress__circle__bar {
2603
+ animation: none;
2604
+ }
2605
+ :where(.tui-interface) .tui-progress .tui-progress__bar {
2606
+ transition: none;
2607
+ }
2608
+ }
2609
+ @keyframes tui-progress-indeterminate {
2610
+ 0% {
2611
+ inline-size: 25%;
2612
+ transform: translateX(-100%);
2613
+ }
2614
+ 30% {
2615
+ inline-size: 60%;
2616
+ }
2617
+ 100% {
2618
+ inline-size: 25%;
2619
+ transform: translateX(420%);
2620
+ }
2621
+ }
2622
+ @keyframes tui-progress-spin {
2623
+ to {
2624
+ transform: rotate(1turn);
2625
+ }
2626
+ }
2627
+ :where(.tui-interface) .tui-segmented {
2628
+ --_gap: var(--tui-segmented-gap, var(--tui-spacing-xs));
2629
+ --_padding: var(--tui-segmented-padding, var(--tui-spacing-xs));
2630
+ --_radius: var(--tui-segmented-radius, var(--tui-radius-lg));
2631
+ --_bg: var(--tui-segmented-bg, var(--tui-color-bg-muted));
2632
+ --_border: var(--tui-segmented-border, transparent);
2633
+ display: inline-flex;
2634
+ flex-wrap: wrap;
2635
+ gap: var(--_gap);
2636
+ padding: var(--_padding);
2637
+ background: var(--_bg);
2638
+ border: var(--tui-border-width) solid var(--_border);
2639
+ border-radius: var(--_radius);
2640
+ }
2641
+ :where(.tui-interface) .tui-segmented.is-vertical {
2642
+ flex-direction: column;
2643
+ }
2644
+ :where(.tui-interface) .tui-segmented[aria-disabled=true] {
2645
+ opacity: var(--tui-opacity-disabled);
2646
+ }
2647
+ :where(.tui-interface) .tui-segmented.is-variant-outline {
2648
+ --_bg: transparent;
2649
+ --_border: var(--tui-segmented-border, var(--tui-color-border));
2650
+ }
2651
+ :where(.tui-interface) .tui-segmented.is-variant-underline {
2652
+ --_bg: transparent;
2653
+ --_padding: 0;
2654
+ --_gap: var(--tui-segmented-gap, var(--tui-spacing-md));
2655
+ border-radius: 0;
2656
+ }
2657
+ .tui-interface .tui-segmented__item {
2658
+ --_item-padding: var(--tui-segmented-item-padding, var(--tui-spacing-sm) var(--tui-spacing-md));
2659
+ --_item-radius: var(--tui-segmented-item-radius, var(--tui-radius-md));
2660
+ --_item-bg: transparent;
2661
+ --_item-fg: var(--tui-segmented-item-fg, var(--tui-color-fg-muted));
2662
+ --_item-bg-active: var(--tui-segmented-item-bg-active, var(--tui-theme-primary-base));
2663
+ --_item-fg-active: var(--tui-segmented-item-fg-active, var(--tui-color-fg-on-accent));
2664
+ --_item-bg-hover: color-mix(in srgb, var(--tui-color-fg) 8%, transparent);
2665
+ display: inline-flex;
2666
+ align-items: center;
2667
+ justify-content: center;
2668
+ gap: var(--tui-spacing-xs);
2669
+ padding: var(--_item-padding);
2670
+ border: none;
2671
+ border-radius: var(--_item-radius);
2672
+ background: var(--_item-bg);
2673
+ color: var(--_item-fg);
2674
+ font: inherit;
2675
+ font-size: var(--tui-font-size-sm);
2676
+ font-weight: var(--tui-font-weight-medium, 500);
2677
+ line-height: var(--tui-line-height-tight);
2678
+ white-space: nowrap;
2679
+ cursor: pointer;
2680
+ transition-property: background-color, color;
2681
+ transition-duration: var(--tui-motion-duration);
2682
+ transition-timing-function: var(--tui-motion-timing);
2683
+ }
2684
+ .tui-interface .tui-segmented__item:hover:not([aria-disabled=true]):not([aria-checked=true]) {
2685
+ background: var(--_item-bg-hover);
2686
+ color: var(--tui-color-fg);
2687
+ }
2688
+ .tui-interface .tui-segmented__item:focus-visible {
2689
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2690
+ outline-offset: var(--tui-focus-ring-offset);
2691
+ z-index: 1;
2692
+ }
2693
+ .tui-interface .tui-segmented__item[aria-checked=true] {
2694
+ background: var(--_item-bg-active);
2695
+ color: var(--_item-fg-active);
2696
+ }
2697
+ .tui-interface .tui-segmented__item[aria-disabled=true] {
2698
+ cursor: not-allowed;
2699
+ }
2700
+ .tui-interface .tui-segmented.is-variant-outline .tui-segmented__item {
2701
+ --_item-radius: var(--tui-segmented-item-radius, var(--tui-radius-full));
2702
+ border: var(--tui-border-width) solid var(--tui-color-border);
2703
+ }
2704
+ .tui-interface .tui-segmented.is-variant-outline .tui-segmented__item[aria-checked=true] {
2705
+ border-color: var(--tui-theme-primary-base);
2706
+ background: var(--tui-theme-primary-subtlest);
2707
+ color: var(--tui-theme-primary-strong);
2708
+ }
2709
+ .tui-interface .tui-segmented.is-variant-underline .tui-segmented__item {
2710
+ --_item-radius: 0;
2711
+ --_item-fg: var(--tui-segmented-item-fg, var(--tui-color-fg));
2712
+ --_indicator: var(--tui-segmented-indicator, var(--tui-theme-primary-base));
2713
+ --_indicator-size: var(--tui-segmented-indicator-size, 2px);
2714
+ position: relative;
2715
+ padding-bottom: calc(var(--tui-spacing-sm) + var(--_indicator-size));
2716
+ }
2717
+ .tui-interface .tui-segmented.is-variant-underline .tui-segmented__item::after {
2718
+ content: "";
2719
+ position: absolute;
2720
+ left: 0;
2721
+ right: 0;
2722
+ bottom: 0;
2723
+ height: var(--_indicator-size);
2724
+ background: transparent;
2725
+ transition: background-color var(--tui-motion-duration) var(--tui-motion-timing);
2726
+ }
2727
+ .tui-interface .tui-segmented.is-variant-underline .tui-segmented__item[aria-checked=true] {
2728
+ background: transparent;
2729
+ color: var(--tui-color-fg);
2730
+ font-weight: var(--tui-font-weight-semibold, 600);
2731
+ }
2732
+ .tui-interface .tui-segmented.is-variant-underline .tui-segmented__item[aria-checked=true]::after {
2733
+ background: var(--_indicator);
2734
+ }
2735
+ .tui-interface .tui-segmented.is-size-sm .tui-segmented__item {
2736
+ --_item-padding: var(--tui-spacing-xs) var(--tui-spacing-sm);
2737
+ font-size: var(--tui-font-size-xs);
2738
+ }
2739
+ :where(.tui-interface) .tui-segmented__item-icon {
2740
+ display: inline-flex;
2741
+ align-items: center;
2742
+ justify-content: center;
2743
+ flex-shrink: 0;
2744
+ line-height: 1;
2745
+ font-style: normal;
2746
+ font-family: inherit;
2747
+ min-width: 1em;
2748
+ min-height: 1em;
2749
+ }
2750
+ :where(.tui-interface) .tui-segmented__item-label {
2751
+ min-width: 0;
2752
+ }
2753
+ @media (prefers-reduced-motion: reduce) {
2754
+ .tui-interface .tui-segmented__item {
2755
+ transition: none;
2756
+ }
2757
+ }
2758
+ @media (forced-colors: active) {
2759
+ .tui-interface .tui-segmented__item[aria-checked=true] {
2760
+ forced-color-adjust: none;
2761
+ background: Highlight;
2762
+ color: HighlightText;
2763
+ }
2764
+ .tui-interface .tui-segmented__item:focus-visible {
2765
+ outline: 2px solid CanvasText;
2766
+ }
2767
+ }
2768
+ :where(.tui-interface) .tui-sidebar {
2769
+ --_width: var(--tui-sidebar-width, 320px);
2770
+ --_bg: var(--tui-sidebar-bg, var(--tui-color-bg-surface));
2771
+ --_border: var(--tui-sidebar-border, var(--tui-color-border));
2772
+ --_padding: var(--tui-sidebar-padding, var(--tui-spacing-md));
2773
+ width: var(--_width);
2774
+ max-width: 100%;
2775
+ background-color: var(--_bg);
2776
+ display: flex;
2777
+ flex-direction: column;
2778
+ height: 100%;
2779
+ overflow: hidden;
2780
+ }
2781
+ :where(.tui-interface) .tui-sidebar[data-position=left] {
2782
+ border-right: var(--tui-border-width) solid var(--_border);
2783
+ }
2784
+ :where(.tui-interface) .tui-sidebar[data-position=right] {
2785
+ border-left: var(--tui-border-width) solid var(--_border);
2786
+ }
2787
+ :where(.tui-interface) .tui-sidebar:focus-visible {
2788
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2789
+ outline-offset: calc(var(--tui-focus-ring-offset) * -1);
2790
+ }
2791
+ :where(.tui-interface) .tui-sidebar__header {
2792
+ flex-shrink: 0;
2793
+ padding: var(--_padding);
2794
+ border-bottom: var(--tui-border-width) solid var(--_border);
2795
+ display: flex;
2796
+ flex-direction: column;
2797
+ gap: var(--tui-spacing-sm);
2798
+ }
2799
+ :where(.tui-interface) .tui-sidebar__header h1, :where(.tui-interface) .tui-sidebar__header h2, :where(.tui-interface) .tui-sidebar__header h3, :where(.tui-interface) .tui-sidebar__header h4, :where(.tui-interface) .tui-sidebar__header h5, :where(.tui-interface) .tui-sidebar__header h6 {
2800
+ margin: 0;
2801
+ }
2802
+ :where(.tui-interface) .tui-sidebar__nav {
2803
+ flex: 1;
2804
+ overflow-y: auto;
2805
+ padding: var(--_padding);
2806
+ }
2807
+ :where(.tui-interface) .tui-sidebar-drawer {
2808
+ --_z: var(--tui-sidebar-z, var(--tui-layer-modal, 1000));
2809
+ position: fixed;
2810
+ inset: 0;
2811
+ z-index: var(--_z);
2812
+ display: flex;
2813
+ }
2814
+ :where(.tui-interface) .tui-sidebar-drawer[data-position=right] {
2815
+ justify-content: flex-end;
2816
+ }
2817
+ :where(.tui-interface) .tui-sidebar-drawer__backdrop {
2818
+ position: absolute;
2819
+ inset: 0;
2820
+ background-color: var(--tui-color-bg-overlay, rgba(0, 0, 0, 0.5));
2821
+ animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
2822
+ }
2823
+ :where(.tui-interface) .tui-sidebar-drawer__panel {
2824
+ position: relative;
2825
+ z-index: 1;
2826
+ max-width: 90vw;
2827
+ height: 100%;
2828
+ }
2829
+ [data-position=left] > :where(.tui-interface) .tui-sidebar-drawer__panel {
2830
+ animation: tui-slideInFromLeft var(--tui-motion-duration) var(--tui-motion-timing);
2831
+ }
2832
+ [data-position=right] > :where(.tui-interface) .tui-sidebar-drawer__panel {
2833
+ animation: tui-slideInFromRight var(--tui-motion-duration) var(--tui-motion-timing);
2834
+ }
2835
+ :where(.tui-interface) .tui-sidebar-drawer__panel .tui-sidebar {
2836
+ height: 100%;
2837
+ border-left: none;
2838
+ border-right: none;
2839
+ }
2840
+ @keyframes tui-slideInFromLeft {
2841
+ from {
2842
+ transform: translateX(-100%);
2843
+ }
2844
+ to {
2845
+ transform: translateX(0);
2846
+ }
2847
+ }
2848
+ @keyframes tui-slideInFromRight {
2849
+ from {
2850
+ transform: translateX(100%);
2851
+ }
2852
+ to {
2853
+ transform: translateX(0);
2854
+ }
2855
+ }
2856
+ body.tui-sidebar-drawer-open {
2857
+ overflow: hidden;
2858
+ }
2859
+ @media (prefers-reduced-motion: reduce) {
2860
+ :where(.tui-interface) .tui-sidebar-drawer__backdrop,
2861
+ :where(.tui-interface) .tui-sidebar-drawer__panel {
2862
+ animation: none;
2863
+ }
2864
+ }
2865
+ :where(.tui-interface) .tui-step-indicator {
2866
+ display: inline-flex;
2867
+ }
2868
+ :where(.tui-interface) .tui-step-indicator.is-size-xs .tui-progress {
2869
+ font-size: 8px;
2870
+ }
2871
+ :where(.tui-interface) .tui-step-indicator.is-size-sm .tui-progress {
2872
+ font-size: 12px;
2873
+ }
2874
+ :where(.tui-interface) .tui-step-indicator.is-size-md .tui-progress {
2875
+ font-size: 16px;
2876
+ }
2877
+ :where(.tui-interface) .tui-step-indicator.is-size-lg .tui-progress {
2878
+ font-size: 20px;
2879
+ }
2880
+ :where(.tui-interface) .tui-step-indicator.is-status-locked.has-icon .tui-progress__circle__bar, :where(.tui-interface) .tui-step-indicator.is-status-not-started.has-icon .tui-progress__circle__bar {
2881
+ background: var(--tui-progress-track, var(--tui-color-border)) !important;
2882
+ }
2883
+ :where(.tui-interface) .tui-step-indicator .tui-progress.is-mode-circle .tui-progress__label.is-inside {
2884
+ font-size: 1.2em;
2885
+ }
2886
+ :where(.tui-interface) .tui-step-indicator__value {
2887
+ font-size: 0.5em;
2888
+ font-weight: var(--tui-font-weight-bold, 700);
2889
+ }
2890
+ :where(.tui-interface) .tui-step-indicator.is-status-not-started.has-icon .tui-icon {
2891
+ color: var(--tui-color-fg-muted);
2892
+ }
2893
+ :where(.tui-interface) .tui-step-indicator.is-status-in-progress.has-icon .tui-icon {
2894
+ color: var(--tui-theme-primary-base);
2895
+ }
2896
+ :where(.tui-interface) .tui-step-indicator.is-status-complete .tui-progress__circle__bar {
2897
+ background: var(--tui-theme-success-base) !important;
2898
+ }
2899
+ :where(.tui-interface) .tui-step-indicator.is-status-complete .tui-icon {
2900
+ color: var(--tui-color-fg-on-accent);
2901
+ }
2902
+ :where(.tui-interface) .tui-step-indicator.is-status-locked {
2903
+ --tui-progress-track: var(--tui-color-border);
2904
+ }
2905
+ :where(.tui-interface) .tui-step-indicator.is-status-locked .tui-icon {
2906
+ color: var(--tui-color-fg-muted);
2907
+ }
2908
+ :where(.tui-interface) .tui-steplist__list {
2909
+ --_gap: var(--tui-steplist-gap, var(--tui-spacing-xs));
2910
+ list-style: none;
2911
+ margin: 0;
2912
+ padding: 0;
2913
+ display: flex;
2914
+ flex-direction: column;
2915
+ gap: var(--_gap);
2916
+ }
2917
+ :where(.tui-interface) .tui-steplist__item {
2918
+ --_padding: var(--tui-steplist-padding, var(--tui-spacing-sm));
2919
+ --_radius: var(--tui-steplist-radius, var(--tui-radius-sm));
2920
+ --_current-bg: var(--tui-steplist-current-bg, var(--tui-theme-primary-subtlest));
2921
+ --_current-border: var(--tui-steplist-current-border, var(--tui-theme-primary-base));
2922
+ --_hover-bg: var(--tui-steplist-hover-bg, var(--tui-color-bg-muted));
2923
+ display: flex;
2924
+ align-items: flex-start;
2925
+ gap: var(--tui-spacing-sm);
2926
+ width: 100%;
2927
+ padding: var(--_padding);
2928
+ padding-inline-start: calc(var(--_padding) - 3px);
2929
+ border: none;
2930
+ border-left: 3px solid transparent;
2931
+ border-radius: var(--_radius);
2932
+ background: transparent;
2933
+ color: inherit;
2934
+ font: inherit;
2935
+ text-align: start;
2936
+ text-decoration: none;
2937
+ cursor: pointer;
2938
+ transition-property: background-color, border-color;
2939
+ transition-duration: var(--tui-motion-duration);
2940
+ transition-timing-function: var(--tui-motion-timing);
2941
+ }
2942
+ :where(.tui-interface) .tui-steplist__item:hover:not([aria-disabled=true]):not(:disabled) {
2943
+ background-color: var(--_hover-bg);
2944
+ }
2945
+ :where(.tui-interface) .tui-steplist__item:focus-visible {
2946
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
2947
+ outline-offset: var(--tui-focus-ring-offset);
2948
+ z-index: 1;
2949
+ }
2950
+ :where(.tui-interface) .tui-steplist__item.is-current, :where(.tui-interface) .tui-steplist__item[aria-current] {
2951
+ background-color: var(--_current-bg);
2952
+ border-left-color: var(--_current-border);
2953
+ }
2954
+ :where(.tui-interface) .tui-steplist__item.is-disabled, :where(.tui-interface) .tui-steplist__item[aria-disabled=true], :where(.tui-interface) .tui-steplist__item:disabled {
2955
+ cursor: not-allowed;
2956
+ opacity: var(--tui-opacity-disabled);
2957
+ }
2958
+ :where(.tui-interface) .tui-steplist__indicator {
2959
+ flex-shrink: 0;
2960
+ margin-top: 0.325em;
2961
+ }
2962
+ :where(.tui-interface) .tui-steplist__content {
2963
+ flex: 1;
2964
+ min-width: 0;
2965
+ line-height: var(--tui-line-height-normal, 1.5);
2966
+ }
2967
+ @media (prefers-reduced-motion: reduce) {
2968
+ :where(.tui-interface) .tui-steplist__item {
2969
+ transition: none;
2970
+ }
2971
+ }
2972
+ :where(.tui-interface) .tui-table {
2973
+ --_border: var(--tui-table-border, var(--tui-color-border));
2974
+ --_bg: var(--tui-table-bg, transparent);
2975
+ --_bg-head: var(--tui-table-bg-head, var(--tui-color-bg-surface));
2976
+ --_fg: var(--tui-table-fg, var(--tui-color-fg));
2977
+ --_padding: var(--tui-table-padding, var(--tui-spacing-sm));
2978
+ font-size: var(--tui-typography-size-md);
2979
+ width: 100%;
2980
+ border-collapse: collapse;
2981
+ border-bottom: var(--tui-border-width) solid var(--_border);
2982
+ background: var(--_bg);
2983
+ }
2984
+ :where(.tui-interface) .tui-table__bulkActions {
2985
+ display: flex;
2986
+ align-items: center;
2987
+ gap: var(--tui-spacing-sm);
2988
+ padding-inline: var(--_padding);
2989
+ padding-block: var(--_padding);
2990
+ }
2991
+ :where(.tui-interface) .tui-table__sortButton {
2992
+ padding: unset;
2993
+ display: inline-flex;
2994
+ gap: 0.5em;
2995
+ color: inherit;
2996
+ background-color: transparent;
2997
+ text-transform: inherit;
2998
+ font-size: inherit;
2999
+ font-weight: inherit;
3000
+ border-radius: var(--tui-radius-sm);
3001
+ }
3002
+ :where(.tui-interface) .tui-table__sortButton:focus-visible {
3003
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3004
+ outline-offset: var(--tui-focus-ring-offset);
3005
+ }
3006
+ :where(.tui-interface) .tui-table__sortButton__icon {
3007
+ min-width: 1em;
3008
+ }
3009
+ :where(.tui-interface) .tui-table input[type=checkbox] {
3010
+ accent-color: var(--tui-theme-primary-base);
3011
+ }
3012
+ :where(.tui-interface) .tui-table input[type=checkbox]:focus-visible {
3013
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3014
+ outline-offset: var(--tui-focus-ring-offset);
3015
+ }
3016
+ :where(.tui-interface) .tui-table .tui-table__row.is-selected td,
3017
+ :where(.tui-interface) .tui-table .tui-table__row.is-selected .tui-table__cell--body {
3018
+ background-color: var(--tui-color-bg-surface-alt);
3019
+ }
3020
+ :where(.tui-interface) .tui-table .tui-table__row.is-selected td:first-child,
3021
+ :where(.tui-interface) .tui-table .tui-table__row.is-selected .tui-table__cell--body:first-child {
3022
+ box-shadow: inset 3px 0 0 var(--tui-theme-primary-base);
3023
+ }
3024
+ :where(.tui-interface) .tui-table__head, :where(.tui-interface) .tui-table__foot,
3025
+ :where(.tui-interface) .tui-table thead,
3026
+ :where(.tui-interface) .tui-table tfoot {
3027
+ text-align: left;
3028
+ }
3029
+ :where(.tui-interface) .tui-table__head .tui-table__cell,
3030
+ :where(.tui-interface) .tui-table__head th,
3031
+ :where(.tui-interface) .tui-table__head td, :where(.tui-interface) .tui-table__foot .tui-table__cell,
3032
+ :where(.tui-interface) .tui-table__foot th,
3033
+ :where(.tui-interface) .tui-table__foot td,
3034
+ :where(.tui-interface) .tui-table thead .tui-table__cell,
3035
+ :where(.tui-interface) .tui-table thead th,
3036
+ :where(.tui-interface) .tui-table thead td,
3037
+ :where(.tui-interface) .tui-table tfoot .tui-table__cell,
3038
+ :where(.tui-interface) .tui-table tfoot th,
3039
+ :where(.tui-interface) .tui-table tfoot td {
3040
+ color: var(--_fg);
3041
+ background-color: var(--_bg-head);
3042
+ text-transform: uppercase;
3043
+ font-size: var(--tui-typography-size-sm);
3044
+ }
3045
+ :where(.tui-interface) .tui-table__body .tui-table__cell,
3046
+ :where(.tui-interface) .tui-table__body th,
3047
+ :where(.tui-interface) .tui-table__body td, :where(.tui-interface) .tui-table__foot .tui-table__cell,
3048
+ :where(.tui-interface) .tui-table__foot th,
3049
+ :where(.tui-interface) .tui-table__foot td,
3050
+ :where(.tui-interface) .tui-table tbody .tui-table__cell,
3051
+ :where(.tui-interface) .tui-table tbody th,
3052
+ :where(.tui-interface) .tui-table tbody td,
3053
+ :where(.tui-interface) .tui-table tfoot .tui-table__cell,
3054
+ :where(.tui-interface) .tui-table tfoot th,
3055
+ :where(.tui-interface) .tui-table tfoot td {
3056
+ border-top: var(--tui-border-width) solid var(--_border);
3057
+ }
3058
+ :where(.tui-interface) .tui-table__cell,
3059
+ :where(.tui-interface) .tui-table th,
3060
+ :where(.tui-interface) .tui-table td {
3061
+ padding-inline: var(--_padding);
3062
+ padding-block: var(--_padding);
3063
+ }
3064
+ :where(.tui-interface) .tui-table .tui-button {
3065
+ min-width: max-content;
3066
+ }
3067
+ :where(.tui-interface) .tui-table-container {
3068
+ overflow-x: auto;
3069
+ -webkit-overflow-scrolling: touch;
3070
+ }
3071
+ :where(.tui-interface) .tui-tabs {
3072
+ display: flex;
3073
+ flex-direction: column;
3074
+ gap: var(--tui-spacing-md);
3075
+ }
3076
+ :where(.tui-interface) .tui-tabs[data-orientation=vertical] {
3077
+ flex-direction: row;
3078
+ align-items: flex-start;
3079
+ }
3080
+ :where(.tui-interface) .tui-tabs[data-orientation=vertical] .tui-tabs__list {
3081
+ flex-direction: column;
3082
+ align-items: stretch;
3083
+ flex-wrap: nowrap;
3084
+ }
3085
+ :where(.tui-interface) .tui-tabs__list {
3086
+ display: flex;
3087
+ flex-wrap: wrap;
3088
+ gap: var(--tui-tabs-gap, var(--tui-spacing-xs));
3089
+ align-items: center;
3090
+ }
3091
+ [data-variant=pill] :where(.tui-interface) .tui-tabs__list {
3092
+ background: var(--tui-tabs-list-bg, var(--tui-color-bg-muted));
3093
+ padding: var(--tui-tabs-list-padding, var(--tui-spacing-xs));
3094
+ border-radius: var(--tui-tabs-list-radius, var(--tui-radius-lg));
3095
+ }
3096
+ [data-variant=underline] :where(.tui-interface) .tui-tabs__list {
3097
+ gap: var(--tui-tabs-gap, var(--tui-spacing-md));
3098
+ border-block-end: var(--tui-border-width) solid var(--tui-color-border);
3099
+ }
3100
+ [data-variant=outline] :where(.tui-interface) .tui-tabs__list {
3101
+ gap: var(--tui-tabs-gap, var(--tui-spacing-xs));
3102
+ }
3103
+ .tui-interface .tui-tabs__tab {
3104
+ --_bg: var(--tui-tabs-tab-bg, transparent);
3105
+ --_fg: var(--tui-tabs-tab-fg, var(--tui-color-fg-muted));
3106
+ --_border: var(--tui-tabs-tab-border, transparent);
3107
+ --_bg-active: var(--tui-tabs-tab-bg-active, var(--tui-theme-primary-base, currentColor));
3108
+ --_fg-active: var(--tui-tabs-tab-fg-active, var(--tui-color-fg-on-accent, #fff));
3109
+ --_bg-hover: var(--tui-tabs-tab-bg-hover, var(--tui-color-bg-muted));
3110
+ --_indicator: var(--tui-tabs-indicator, var(--tui-theme-primary-base, currentColor));
3111
+ --_indicator-size: var(--tui-tabs-indicator-size, 2px);
3112
+ --_padding: var(--tui-tabs-tab-padding, var(--tui-spacing-sm) var(--tui-spacing-md));
3113
+ --_radius: var(--tui-tabs-tab-radius, var(--tui-radius-md));
3114
+ display: inline-flex;
3115
+ align-items: center;
3116
+ justify-content: center;
3117
+ gap: var(--tui-spacing-xs);
3118
+ padding: var(--_padding);
3119
+ border: none;
3120
+ border-radius: var(--_radius);
3121
+ background: var(--_bg);
3122
+ color: var(--_fg);
3123
+ font: inherit;
3124
+ font-size: var(--tui-font-size-sm);
3125
+ font-weight: var(--tui-font-weight-medium, 500);
3126
+ line-height: var(--tui-line-height-tight);
3127
+ text-decoration: none;
3128
+ white-space: nowrap;
3129
+ cursor: pointer;
3130
+ transition-property: background-color, color, border-color;
3131
+ transition-duration: var(--tui-motion-duration);
3132
+ transition-timing-function: var(--tui-motion-timing);
3133
+ }
3134
+ .tui-interface .tui-tabs__tab:hover:not(:disabled):not([data-state=active]) {
3135
+ background: var(--_bg-hover);
3136
+ color: var(--tui-color-fg);
3137
+ }
3138
+ .tui-interface .tui-tabs__tab:focus-visible {
3139
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3140
+ outline-offset: var(--tui-focus-ring-offset);
3141
+ z-index: 1;
3142
+ }
3143
+ .tui-interface .tui-tabs__tab:disabled {
3144
+ opacity: var(--tui-opacity-disabled);
3145
+ cursor: not-allowed;
3146
+ }
3147
+ :where(.tui-interface) .tui-tabs__tab-label {
3148
+ min-width: 0;
3149
+ }
3150
+ .tui-interface [data-variant=pill] .tui-tabs__tab {
3151
+ --_radius: var(--tui-tabs-tab-radius, var(--tui-radius-md));
3152
+ --_bg-hover: var(--tui-tabs-tab-bg-hover, color-mix(in srgb, var(--tui-color-fg) 8%, transparent));
3153
+ }
3154
+ .tui-interface [data-variant=pill] .tui-tabs__tab[data-state=active] {
3155
+ background: var(--_bg-active);
3156
+ color: var(--_fg-active);
3157
+ }
3158
+ .tui-interface [data-variant=underline] .tui-tabs__tab {
3159
+ --_padding: var(--tui-tabs-tab-padding, var(--tui-spacing-sm) var(--tui-spacing-xs));
3160
+ --_radius: 0;
3161
+ --_bg-hover: transparent;
3162
+ position: relative;
3163
+ margin-block-end: calc(var(--tui-border-width) * -1);
3164
+ border-bottom: var(--_indicator-size) solid transparent;
3165
+ border-radius: 0;
3166
+ }
3167
+ .tui-interface [data-variant=underline] .tui-tabs__tab:hover:not(:disabled):not([data-state=active]) {
3168
+ color: var(--tui-color-fg);
3169
+ }
3170
+ .tui-interface [data-variant=underline] .tui-tabs__tab[data-state=active] {
3171
+ color: var(--tui-color-fg);
3172
+ border-bottom-color: var(--_indicator);
3173
+ }
3174
+ .tui-interface [data-variant=underline] .tui-tabs__tab:focus-visible {
3175
+ outline-offset: calc(var(--tui-focus-ring-offset) * -1);
3176
+ }
3177
+ .tui-interface [data-variant=outline] .tui-tabs__tab {
3178
+ --_radius: var(--tui-tabs-tab-radius, var(--tui-radius-full));
3179
+ --_border: var(--tui-tabs-tab-border, var(--tui-color-border));
3180
+ --_bg-hover: var(--tui-tabs-tab-bg-hover, var(--tui-color-bg-muted));
3181
+ border: var(--tui-border-width) solid var(--_border);
3182
+ }
3183
+ .tui-interface [data-variant=outline] .tui-tabs__tab[data-state=active] {
3184
+ --_border: var(--tui-theme-primary-base, currentColor);
3185
+ color: var(--tui-theme-primary-strong, currentColor);
3186
+ background: var(--tui-theme-primary-subtlest, transparent);
3187
+ }
3188
+ :where(.tui-interface) .tui-tabs__panel[data-state=inactive] {
3189
+ display: none;
3190
+ }
3191
+ :where(.tui-interface) .tui-tabs__panel:focus-visible {
3192
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3193
+ outline-offset: var(--tui-focus-ring-offset);
3194
+ }
3195
+ :where(.tui-interface) .tui-tabs__panel > *:first-child {
3196
+ margin-block-start: 0;
3197
+ }
3198
+ :where(.tui-interface) .tui-tabs__panel > *:last-child {
3199
+ margin-block-end: 0;
3200
+ }
3201
+ @media (prefers-reduced-motion: reduce) {
3202
+ :where(.tui-interface) .tui-tabs__tab {
3203
+ transition: none;
3204
+ }
3205
+ }
3206
+ @media (forced-colors: active) {
3207
+ .tui-interface .tui-tabs__tab[data-state=active] {
3208
+ forced-color-adjust: none;
3209
+ background: Highlight;
3210
+ color: HighlightText;
3211
+ }
3212
+ .tui-interface .tui-tabs__tab:focus-visible {
3213
+ outline: 2px solid CanvasText;
3214
+ }
3215
+ .tui-interface [data-variant=underline] .tui-tabs__tab[data-state=active] {
3216
+ background: transparent;
3217
+ color: CanvasText;
3218
+ border-bottom-color: Highlight;
3219
+ border-bottom-width: 3px;
3220
+ }
3221
+ .tui-interface [data-variant=outline] .tui-tabs__tab {
3222
+ border-color: CanvasText;
3223
+ }
3224
+ .tui-interface [data-variant=outline] .tui-tabs__tab[data-state=active] {
3225
+ background: transparent;
3226
+ color: CanvasText;
3227
+ border-color: Highlight;
3228
+ border-width: 2px;
3229
+ }
3230
+ }
3231
+ :where(.tui-interface) .tui-toolbar {
3232
+ --_gap: var(--tui-toolbar-gap, var(--tui-spacing-sm));
3233
+ --_padding: var(--tui-toolbar-padding, 0);
3234
+ display: flex;
3235
+ align-items: center;
3236
+ gap: var(--_gap);
3237
+ padding: var(--_padding);
3238
+ }
3239
+ :where(.tui-interface) .tui-toolbar[aria-orientation=vertical] {
3240
+ flex-direction: column;
3241
+ align-items: stretch;
3242
+ }
3243
+ :where(.tui-interface) .tui-toolbar [data-tui-toolbar-item][aria-disabled=true],
3244
+ :where(.tui-interface) .tui-toolbar [data-tui-toolbar-item]:disabled {
3245
+ pointer-events: none;
3246
+ }
3247
+ :where(.tui-interface) .tui-toolbar [data-tui-toolbar-item]:focus-visible {
3248
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3249
+ outline-offset: var(--tui-focus-ring-offset);
3250
+ }
3251
+ .tui-toolbar__group {
3252
+ display: flex;
3253
+ align-items: center;
3254
+ gap: var(--_gap);
3255
+ }
3256
+ .tui-toolbar[aria-orientation=vertical] .tui-toolbar__group {
3257
+ flex-direction: column;
3258
+ align-items: stretch;
3259
+ }
3260
+ :where(.tui-interface) .tui-tooltip {
3261
+ --_bg: var(--tui-tooltip-bg, var(--tui-color-bg-inverted));
3262
+ --_fg: var(--tui-tooltip-fg, var(--tui-color-fg-inverted));
3263
+ --_radius: var(--tui-tooltip-radius, var(--tui-radius-xs));
3264
+ --_z: var(--tui-tooltip-z, var(--tui-layer-top));
3265
+ z-index: var(--_z);
3266
+ width: max-content;
3267
+ max-width: min(250px, 100vw - 2 * var(--tui-spacing-xs, 8px));
3268
+ padding: 0.27em 0.54em;
3269
+ pointer-events: auto;
3270
+ background-color: var(--_bg);
3271
+ color: var(--_fg);
3272
+ border-radius: var(--_radius);
3273
+ font-size: var(--tui-typography-size-xs, 11px);
3274
+ line-height: 1.4;
3275
+ animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
3276
+ }
3277
+ :where(.tui-interface) [data-tooltip-open]:focus-visible {
3278
+ outline: var(--tui-focus-ring-width) solid var(--tui-focus-ring-color);
3279
+ outline-offset: var(--tui-focus-ring-offset);
3280
+ }
3281
+ @media (prefers-reduced-motion: reduce) {
3282
+ :where(.tui-interface) .tui-tooltip {
3283
+ animation: none;
3284
+ }
3285
+ }
3286
+ @media (forced-colors: active) {
3287
+ :where(.tui-interface) .tui-tooltip {
3288
+ background-color: Canvas;
3289
+ color: CanvasText;
3290
+ border: 1px solid CanvasText;
3291
+ }
3292
+ }
3293
+
3294
+
3295
+ .tui-interface .tui-visually-hidden, .tui-interface .tui-visually-hidden--focusable:not(:focus):not(:focus-within):not(:active) {
3296
+ position: absolute !important;
3297
+ width: 1px !important;
3298
+ height: 1px !important;
3299
+ padding: 0 !important;
3300
+ margin: -1px !important;
3301
+ overflow: hidden !important;
3302
+ white-space: nowrap !important;
3303
+ clip: rect(0, 0, 0, 0) !important;
3304
+ clip-path: inset(50%) !important;
3305
+ border: 0 !important;
3306
+ }
3307
+ .tui-interface .tui-position-static {
3308
+ position: static !important;
3309
+ }
3310
+ .tui-interface .tui-position-relative {
3311
+ position: relative !important;
3312
+ }
3313
+ .tui-interface .tui-position-absolute {
3314
+ position: absolute !important;
3315
+ }
3316
+ .tui-interface .tui-stretched-link-container {
3317
+ position: relative !important;
3318
+ }
3319
+ .tui-interface .tui-stretched-link::after {
3320
+ content: "" !important;
3321
+ position: absolute !important;
3322
+ inset: 0 !important;
3323
+ }
3324
+ .tui-interface .tui-hidden {
3325
+ display: none !important;
3326
+ }
3327
+ .tui-interface .is-layer-surface {
3328
+ z-index: var(--tui-layer-surface) !important;
3329
+ }
3330
+ .tui-interface .is-layer-elevated {
3331
+ z-index: var(--tui-layer-elevated) !important;
3332
+ }
3333
+ .tui-interface .is-layer-overlay {
3334
+ z-index: var(--tui-layer-overlay) !important;
3335
+ }
3336
+ .tui-interface .is-layer-modal {
3337
+ z-index: var(--tui-layer-modal) !important;
3338
+ }
3339
+ .tui-interface .is-layer-top {
3340
+ z-index: var(--tui-layer-top) !important;
3341
+ }
3342
+ .tui-interface .tui-margin-none {
3343
+ margin: 0 !important;
3344
+ }
3345
+ .tui-interface .tui-margin-block-none {
3346
+ margin-block: 0 !important;
3347
+ }
3348
+ .tui-interface .tui-margin-block-start-none {
3349
+ margin-block-start: 0 !important;
3350
+ }
3351
+ .tui-interface .tui-margin-block-end-none {
3352
+ margin-block-end: 0 !important;
3353
+ }
3354
+ .tui-interface .tui-margin-inline-none {
3355
+ margin-inline: 0 !important;
3356
+ }
3357
+ .tui-interface .tui-margin-inline-start-none {
3358
+ margin-inline-start: 0 !important;
3359
+ }
3360
+ .tui-interface .tui-margin-inline-end-none {
3361
+ margin-inline-end: 0 !important;
3362
+ }
3363
+ .tui-interface .tui-margin-auto {
3364
+ margin: auto !important;
3365
+ }
3366
+ .tui-interface .tui-margin-block-auto {
3367
+ margin-block: auto !important;
3368
+ }
3369
+ .tui-interface .tui-margin-block-start-auto {
3370
+ margin-block-start: auto !important;
3371
+ }
3372
+ .tui-interface .tui-margin-block-end-auto {
3373
+ margin-block-end: auto !important;
3374
+ }
3375
+ .tui-interface .tui-margin-inline-auto {
3376
+ margin-inline: auto !important;
3377
+ }
3378
+ .tui-interface .tui-margin-inline-start-auto {
3379
+ margin-inline-start: auto !important;
3380
+ }
3381
+ .tui-interface .tui-margin-inline-end-auto {
3382
+ margin-inline-end: auto !important;
3383
+ }
3384
+ .tui-interface .tui-margin-xxs {
3385
+ margin: var(--tui-spacing-xxs) !important;
3386
+ }
3387
+ .tui-interface .tui-margin-block-xxs {
3388
+ margin-block: var(--tui-spacing-xxs) !important;
3389
+ }
3390
+ .tui-interface .tui-margin-block-start-xxs {
3391
+ margin-block-start: var(--tui-spacing-xxs) !important;
3392
+ }
3393
+ .tui-interface .tui-margin-block-end-xxs {
3394
+ margin-block-end: var(--tui-spacing-xxs) !important;
3395
+ }
3396
+ .tui-interface .tui-margin-inline-xxs {
3397
+ margin-inline: var(--tui-spacing-xxs) !important;
3398
+ }
3399
+ .tui-interface .tui-margin-inline-start-xxs {
3400
+ margin-inline-start: var(--tui-spacing-xxs) !important;
3401
+ }
3402
+ .tui-interface .tui-margin-inline-end-xxs {
3403
+ margin-inline-end: var(--tui-spacing-xxs) !important;
3404
+ }
3405
+ .tui-interface .tui-margin-xs {
3406
+ margin: var(--tui-spacing-xs) !important;
3407
+ }
3408
+ .tui-interface .tui-margin-block-xs {
3409
+ margin-block: var(--tui-spacing-xs) !important;
3410
+ }
3411
+ .tui-interface .tui-margin-block-start-xs {
3412
+ margin-block-start: var(--tui-spacing-xs) !important;
3413
+ }
3414
+ .tui-interface .tui-margin-block-end-xs {
3415
+ margin-block-end: var(--tui-spacing-xs) !important;
3416
+ }
3417
+ .tui-interface .tui-margin-inline-xs {
3418
+ margin-inline: var(--tui-spacing-xs) !important;
3419
+ }
3420
+ .tui-interface .tui-margin-inline-start-xs {
3421
+ margin-inline-start: var(--tui-spacing-xs) !important;
3422
+ }
3423
+ .tui-interface .tui-margin-inline-end-xs {
3424
+ margin-inline-end: var(--tui-spacing-xs) !important;
3425
+ }
3426
+ .tui-interface .tui-margin-sm {
3427
+ margin: var(--tui-spacing-sm) !important;
3428
+ }
3429
+ .tui-interface .tui-margin-block-sm {
3430
+ margin-block: var(--tui-spacing-sm) !important;
3431
+ }
3432
+ .tui-interface .tui-margin-block-start-sm {
3433
+ margin-block-start: var(--tui-spacing-sm) !important;
3434
+ }
3435
+ .tui-interface .tui-margin-block-end-sm {
3436
+ margin-block-end: var(--tui-spacing-sm) !important;
3437
+ }
3438
+ .tui-interface .tui-margin-inline-sm {
3439
+ margin-inline: var(--tui-spacing-sm) !important;
3440
+ }
3441
+ .tui-interface .tui-margin-inline-start-sm {
3442
+ margin-inline-start: var(--tui-spacing-sm) !important;
3443
+ }
3444
+ .tui-interface .tui-margin-inline-end-sm {
3445
+ margin-inline-end: var(--tui-spacing-sm) !important;
3446
+ }
3447
+ .tui-interface .tui-margin-md {
3448
+ margin: var(--tui-spacing-md) !important;
3449
+ }
3450
+ .tui-interface .tui-margin-block-md {
3451
+ margin-block: var(--tui-spacing-md) !important;
3452
+ }
3453
+ .tui-interface .tui-margin-block-start-md {
3454
+ margin-block-start: var(--tui-spacing-md) !important;
3455
+ }
3456
+ .tui-interface .tui-margin-block-end-md {
3457
+ margin-block-end: var(--tui-spacing-md) !important;
3458
+ }
3459
+ .tui-interface .tui-margin-inline-md {
3460
+ margin-inline: var(--tui-spacing-md) !important;
3461
+ }
3462
+ .tui-interface .tui-margin-inline-start-md {
3463
+ margin-inline-start: var(--tui-spacing-md) !important;
3464
+ }
3465
+ .tui-interface .tui-margin-inline-end-md {
3466
+ margin-inline-end: var(--tui-spacing-md) !important;
3467
+ }
3468
+ .tui-interface .tui-margin-lg {
3469
+ margin: var(--tui-spacing-lg) !important;
3470
+ }
3471
+ .tui-interface .tui-margin-block-lg {
3472
+ margin-block: var(--tui-spacing-lg) !important;
3473
+ }
3474
+ .tui-interface .tui-margin-block-start-lg {
3475
+ margin-block-start: var(--tui-spacing-lg) !important;
3476
+ }
3477
+ .tui-interface .tui-margin-block-end-lg {
3478
+ margin-block-end: var(--tui-spacing-lg) !important;
3479
+ }
3480
+ .tui-interface .tui-margin-inline-lg {
3481
+ margin-inline: var(--tui-spacing-lg) !important;
3482
+ }
3483
+ .tui-interface .tui-margin-inline-start-lg {
3484
+ margin-inline-start: var(--tui-spacing-lg) !important;
3485
+ }
3486
+ .tui-interface .tui-margin-inline-end-lg {
3487
+ margin-inline-end: var(--tui-spacing-lg) !important;
3488
+ }
3489
+ .tui-interface .tui-margin-xl {
3490
+ margin: var(--tui-spacing-xl) !important;
3491
+ }
3492
+ .tui-interface .tui-margin-block-xl {
3493
+ margin-block: var(--tui-spacing-xl) !important;
3494
+ }
3495
+ .tui-interface .tui-margin-block-start-xl {
3496
+ margin-block-start: var(--tui-spacing-xl) !important;
3497
+ }
3498
+ .tui-interface .tui-margin-block-end-xl {
3499
+ margin-block-end: var(--tui-spacing-xl) !important;
3500
+ }
3501
+ .tui-interface .tui-margin-inline-xl {
3502
+ margin-inline: var(--tui-spacing-xl) !important;
3503
+ }
3504
+ .tui-interface .tui-margin-inline-start-xl {
3505
+ margin-inline-start: var(--tui-spacing-xl) !important;
3506
+ }
3507
+ .tui-interface .tui-margin-inline-end-xl {
3508
+ margin-inline-end: var(--tui-spacing-xl) !important;
3509
+ }
3510
+ .tui-interface .tui-margin-xxl {
3511
+ margin: var(--tui-spacing-xxl) !important;
3512
+ }
3513
+ .tui-interface .tui-margin-block-xxl {
3514
+ margin-block: var(--tui-spacing-xxl) !important;
3515
+ }
3516
+ .tui-interface .tui-margin-block-start-xxl {
3517
+ margin-block-start: var(--tui-spacing-xxl) !important;
3518
+ }
3519
+ .tui-interface .tui-margin-block-end-xxl {
3520
+ margin-block-end: var(--tui-spacing-xxl) !important;
3521
+ }
3522
+ .tui-interface .tui-margin-inline-xxl {
3523
+ margin-inline: var(--tui-spacing-xxl) !important;
3524
+ }
3525
+ .tui-interface .tui-margin-inline-start-xxl {
3526
+ margin-inline-start: var(--tui-spacing-xxl) !important;
3527
+ }
3528
+ .tui-interface .tui-margin-inline-end-xxl {
3529
+ margin-inline-end: var(--tui-spacing-xxl) !important;
3530
+ }
3531
+ .tui-interface .tui-padding-none {
3532
+ padding: 0 !important;
3533
+ }
3534
+ .tui-interface .tui-padding-block-none {
3535
+ padding-block: 0 !important;
3536
+ }
3537
+ .tui-interface .tui-padding-block-start-none {
3538
+ padding-block-start: 0 !important;
3539
+ }
3540
+ .tui-interface .tui-padding-block-end-none {
3541
+ padding-block-end: 0 !important;
3542
+ }
3543
+ .tui-interface .tui-padding-inline-none {
3544
+ padding-inline: 0 !important;
3545
+ }
3546
+ .tui-interface .tui-padding-inline-start-none {
3547
+ padding-inline-start: 0 !important;
3548
+ }
3549
+ .tui-interface .tui-padding-inline-end-none {
3550
+ padding-inline-end: 0 !important;
3551
+ }
3552
+ .tui-interface .tui-padding-xxs {
3553
+ padding: var(--tui-spacing-xxs) !important;
3554
+ }
3555
+ .tui-interface .tui-padding-block-xxs {
3556
+ padding-block: var(--tui-spacing-xxs) !important;
3557
+ }
3558
+ .tui-interface .tui-padding-block-start-xxs {
3559
+ padding-block-start: var(--tui-spacing-xxs) !important;
3560
+ }
3561
+ .tui-interface .tui-padding-block-end-xxs {
3562
+ padding-block-end: var(--tui-spacing-xxs) !important;
3563
+ }
3564
+ .tui-interface .tui-padding-inline-xxs {
3565
+ padding-inline: var(--tui-spacing-xxs) !important;
3566
+ }
3567
+ .tui-interface .tui-padding-inline-start-xxs {
3568
+ padding-inline-start: var(--tui-spacing-xxs) !important;
3569
+ }
3570
+ .tui-interface .tui-padding-inline-end-xxs {
3571
+ padding-inline-end: var(--tui-spacing-xxs) !important;
3572
+ }
3573
+ .tui-interface .tui-padding-xs {
3574
+ padding: var(--tui-spacing-xs) !important;
3575
+ }
3576
+ .tui-interface .tui-padding-block-xs {
3577
+ padding-block: var(--tui-spacing-xs) !important;
3578
+ }
3579
+ .tui-interface .tui-padding-block-start-xs {
3580
+ padding-block-start: var(--tui-spacing-xs) !important;
3581
+ }
3582
+ .tui-interface .tui-padding-block-end-xs {
3583
+ padding-block-end: var(--tui-spacing-xs) !important;
3584
+ }
3585
+ .tui-interface .tui-padding-inline-xs {
3586
+ padding-inline: var(--tui-spacing-xs) !important;
3587
+ }
3588
+ .tui-interface .tui-padding-inline-start-xs {
3589
+ padding-inline-start: var(--tui-spacing-xs) !important;
3590
+ }
3591
+ .tui-interface .tui-padding-inline-end-xs {
3592
+ padding-inline-end: var(--tui-spacing-xs) !important;
3593
+ }
3594
+ .tui-interface .tui-padding-sm {
3595
+ padding: var(--tui-spacing-sm) !important;
3596
+ }
3597
+ .tui-interface .tui-padding-block-sm {
3598
+ padding-block: var(--tui-spacing-sm) !important;
3599
+ }
3600
+ .tui-interface .tui-padding-block-start-sm {
3601
+ padding-block-start: var(--tui-spacing-sm) !important;
3602
+ }
3603
+ .tui-interface .tui-padding-block-end-sm {
3604
+ padding-block-end: var(--tui-spacing-sm) !important;
3605
+ }
3606
+ .tui-interface .tui-padding-inline-sm {
3607
+ padding-inline: var(--tui-spacing-sm) !important;
3608
+ }
3609
+ .tui-interface .tui-padding-inline-start-sm {
3610
+ padding-inline-start: var(--tui-spacing-sm) !important;
3611
+ }
3612
+ .tui-interface .tui-padding-inline-end-sm {
3613
+ padding-inline-end: var(--tui-spacing-sm) !important;
3614
+ }
3615
+ .tui-interface .tui-padding-md {
3616
+ padding: var(--tui-spacing-md) !important;
3617
+ }
3618
+ .tui-interface .tui-padding-block-md {
3619
+ padding-block: var(--tui-spacing-md) !important;
3620
+ }
3621
+ .tui-interface .tui-padding-block-start-md {
3622
+ padding-block-start: var(--tui-spacing-md) !important;
3623
+ }
3624
+ .tui-interface .tui-padding-block-end-md {
3625
+ padding-block-end: var(--tui-spacing-md) !important;
3626
+ }
3627
+ .tui-interface .tui-padding-inline-md {
3628
+ padding-inline: var(--tui-spacing-md) !important;
3629
+ }
3630
+ .tui-interface .tui-padding-inline-start-md {
3631
+ padding-inline-start: var(--tui-spacing-md) !important;
3632
+ }
3633
+ .tui-interface .tui-padding-inline-end-md {
3634
+ padding-inline-end: var(--tui-spacing-md) !important;
3635
+ }
3636
+ .tui-interface .tui-padding-lg {
3637
+ padding: var(--tui-spacing-lg) !important;
3638
+ }
3639
+ .tui-interface .tui-padding-block-lg {
3640
+ padding-block: var(--tui-spacing-lg) !important;
3641
+ }
3642
+ .tui-interface .tui-padding-block-start-lg {
3643
+ padding-block-start: var(--tui-spacing-lg) !important;
3644
+ }
3645
+ .tui-interface .tui-padding-block-end-lg {
3646
+ padding-block-end: var(--tui-spacing-lg) !important;
3647
+ }
3648
+ .tui-interface .tui-padding-inline-lg {
3649
+ padding-inline: var(--tui-spacing-lg) !important;
3650
+ }
3651
+ .tui-interface .tui-padding-inline-start-lg {
3652
+ padding-inline-start: var(--tui-spacing-lg) !important;
3653
+ }
3654
+ .tui-interface .tui-padding-inline-end-lg {
3655
+ padding-inline-end: var(--tui-spacing-lg) !important;
3656
+ }
3657
+ .tui-interface .tui-padding-xl {
3658
+ padding: var(--tui-spacing-xl) !important;
3659
+ }
3660
+ .tui-interface .tui-padding-block-xl {
3661
+ padding-block: var(--tui-spacing-xl) !important;
3662
+ }
3663
+ .tui-interface .tui-padding-block-start-xl {
3664
+ padding-block-start: var(--tui-spacing-xl) !important;
3665
+ }
3666
+ .tui-interface .tui-padding-block-end-xl {
3667
+ padding-block-end: var(--tui-spacing-xl) !important;
3668
+ }
3669
+ .tui-interface .tui-padding-inline-xl {
3670
+ padding-inline: var(--tui-spacing-xl) !important;
3671
+ }
3672
+ .tui-interface .tui-padding-inline-start-xl {
3673
+ padding-inline-start: var(--tui-spacing-xl) !important;
3674
+ }
3675
+ .tui-interface .tui-padding-inline-end-xl {
3676
+ padding-inline-end: var(--tui-spacing-xl) !important;
3677
+ }
3678
+ .tui-interface .tui-padding-xxl {
3679
+ padding: var(--tui-spacing-xxl) !important;
3680
+ }
3681
+ .tui-interface .tui-padding-block-xxl {
3682
+ padding-block: var(--tui-spacing-xxl) !important;
3683
+ }
3684
+ .tui-interface .tui-padding-block-start-xxl {
3685
+ padding-block-start: var(--tui-spacing-xxl) !important;
3686
+ }
3687
+ .tui-interface .tui-padding-block-end-xxl {
3688
+ padding-block-end: var(--tui-spacing-xxl) !important;
3689
+ }
3690
+ .tui-interface .tui-padding-inline-xxl {
3691
+ padding-inline: var(--tui-spacing-xxl) !important;
3692
+ }
3693
+ .tui-interface .tui-padding-inline-start-xxl {
3694
+ padding-inline-start: var(--tui-spacing-xxl) !important;
3695
+ }
3696
+ .tui-interface .tui-padding-inline-end-xxl {
3697
+ padding-inline-end: var(--tui-spacing-xxl) !important;
3698
+ }
3699
+ .tui-interface .tui-container {
3700
+ container-name: var(--tui-container-name, tuiContainer) !important;
3701
+ container-type: inline-size !important;
3702
+ }
3703
+ .tui-interface .tui-container--size {
3704
+ container-name: var(--tui-container-name, tuiContainer) !important;
3705
+ container-type: size !important;
3706
+ }
3707
+ .tui-interface .tui-grid,
3708
+ .tui-interface .tui-flex,
3709
+ .tui-interface .tui-stack,
3710
+ .tui-interface .tui-inline-flex {
3711
+ --tui-gap-inline: var(--tui-spacing-md);
3712
+ --tui-gap-block: var(--tui-spacing-md);
3713
+ }
3714
+ .tui-interface .tui-grid {
3715
+ display: grid !important;
3716
+ grid-template-columns: repeat(var(--tui-grid-cols, 1), minmax(0, 1fr));
3717
+ column-gap: var(--tui-gap-inline);
3718
+ row-gap: var(--tui-gap-block);
3719
+ }
3720
+ .tui-interface .tui-grid--cols-1 {
3721
+ --tui-grid-cols: 1;
3722
+ }
3723
+ .tui-interface .tui-grid--cols-2 {
3724
+ --tui-grid-cols: 2;
3725
+ }
3726
+ .tui-interface .tui-grid--cols-3 {
3727
+ --tui-grid-cols: 3;
3728
+ }
3729
+ .tui-interface .tui-grid--cols-4 {
3730
+ --tui-grid-cols: 4;
3731
+ }
3732
+ .tui-interface .tui-grid--cols-5 {
3733
+ --tui-grid-cols: 5;
3734
+ }
3735
+ .tui-interface .tui-grid--cols-6 {
3736
+ --tui-grid-cols: 6;
3737
+ }
3738
+ .tui-interface .tui-grid--cols-7 {
3739
+ --tui-grid-cols: 7;
3740
+ }
3741
+ .tui-interface .tui-grid--cols-8 {
3742
+ --tui-grid-cols: 8;
3743
+ }
3744
+ .tui-interface .tui-grid--cols-9 {
3745
+ --tui-grid-cols: 9;
3746
+ }
3747
+ .tui-interface .tui-grid--cols-10 {
3748
+ --tui-grid-cols: 10;
3749
+ }
3750
+ .tui-interface .tui-grid--cols-11 {
3751
+ --tui-grid-cols: 11;
3752
+ }
3753
+ .tui-interface .tui-grid--cols-12 {
3754
+ --tui-grid-cols: 12;
3755
+ }
3756
+ .tui-interface .tui-grid--auto {
3757
+ grid-template-columns: repeat(auto-fit, minmax(var(--tui-grid-min, 12rem), 1fr));
3758
+ }
3759
+ .tui-interface .tui-col-span-full {
3760
+ grid-column: 1/-1;
3761
+ }
3762
+ .tui-interface .tui-col-span-1 {
3763
+ grid-column: span 1/span 1;
3764
+ }
3765
+ .tui-interface .tui-col-span-2 {
3766
+ grid-column: span 2/span 2;
3767
+ }
3768
+ .tui-interface .tui-col-span-3 {
3769
+ grid-column: span 3/span 3;
3770
+ }
3771
+ .tui-interface .tui-col-span-4 {
3772
+ grid-column: span 4/span 4;
3773
+ }
3774
+ .tui-interface .tui-col-span-5 {
3775
+ grid-column: span 5/span 5;
3776
+ }
3777
+ .tui-interface .tui-col-span-6 {
3778
+ grid-column: span 6/span 6;
3779
+ }
3780
+ .tui-interface .tui-col-span-7 {
3781
+ grid-column: span 7/span 7;
3782
+ }
3783
+ .tui-interface .tui-col-span-8 {
3784
+ grid-column: span 8/span 8;
3785
+ }
3786
+ .tui-interface .tui-col-span-9 {
3787
+ grid-column: span 9/span 9;
3788
+ }
3789
+ .tui-interface .tui-col-span-10 {
3790
+ grid-column: span 10/span 10;
3791
+ }
3792
+ .tui-interface .tui-col-span-11 {
3793
+ grid-column: span 11/span 11;
3794
+ }
3795
+ .tui-interface .tui-col-span-12 {
3796
+ grid-column: span 12/span 12;
3797
+ }
3798
+ .tui-interface .tui-row-span-full {
3799
+ grid-row: 1/-1;
3800
+ }
3801
+ .tui-interface .tui-row-span-1 {
3802
+ grid-row: span 1/span 1;
3803
+ }
3804
+ .tui-interface .tui-row-span-2 {
3805
+ grid-row: span 2/span 2;
3806
+ }
3807
+ .tui-interface .tui-row-span-3 {
3808
+ grid-row: span 3/span 3;
3809
+ }
3810
+ .tui-interface .tui-row-span-4 {
3811
+ grid-row: span 4/span 4;
3812
+ }
3813
+ .tui-interface .tui-row-span-5 {
3814
+ grid-row: span 5/span 5;
3815
+ }
3816
+ .tui-interface .tui-row-span-6 {
3817
+ grid-row: span 6/span 6;
3818
+ }
3819
+ .tui-interface .tui-row-span-7 {
3820
+ grid-row: span 7/span 7;
3821
+ }
3822
+ .tui-interface .tui-row-span-8 {
3823
+ grid-row: span 8/span 8;
3824
+ }
3825
+ .tui-interface .tui-row-span-9 {
3826
+ grid-row: span 9/span 9;
3827
+ }
3828
+ .tui-interface .tui-row-span-10 {
3829
+ grid-row: span 10/span 10;
3830
+ }
3831
+ .tui-interface .tui-row-span-11 {
3832
+ grid-row: span 11/span 11;
3833
+ }
3834
+ .tui-interface .tui-row-span-12 {
3835
+ grid-row: span 12/span 12;
3836
+ }
3837
+ .tui-interface .tui-flex {
3838
+ display: flex !important;
3839
+ row-gap: var(--tui-gap-block);
3840
+ column-gap: var(--tui-gap-inline);
3841
+ }
3842
+ .tui-interface .tui-flex.is-wrap {
3843
+ flex-wrap: wrap !important;
3844
+ }
3845
+ .tui-interface .tui-flex.is-nowrap {
3846
+ flex-wrap: nowrap !important;
3847
+ }
3848
+ .tui-interface .tui-flex > * {
3849
+ min-width: 0;
3850
+ }
3851
+ .tui-interface .tui-inline-flex {
3852
+ display: inline-flex !important;
3853
+ row-gap: var(--tui-gap-block);
3854
+ column-gap: var(--tui-gap-inline);
3855
+ }
3856
+ .tui-interface .tui-stack {
3857
+ display: flex !important;
3858
+ flex-direction: column;
3859
+ row-gap: var(--tui-gap-block);
3860
+ }
3861
+ .tui-interface .tui-stack > * {
3862
+ min-height: 0;
3863
+ }
3864
+ .tui-interface .is-align-stretch {
3865
+ align-items: stretch;
3866
+ }
3867
+ .tui-interface .is-align-start {
3868
+ align-items: start;
3869
+ }
3870
+ .tui-interface .is-align-center {
3871
+ align-items: center;
3872
+ }
3873
+ .tui-interface .is-align-end {
3874
+ align-items: end;
3875
+ }
3876
+ .tui-interface .is-justify-start {
3877
+ justify-content: flex-start;
3878
+ }
3879
+ .tui-interface .is-justify-center {
3880
+ justify-content: center;
3881
+ }
3882
+ .tui-interface .is-justify-end {
3883
+ justify-content: flex-end;
3884
+ }
3885
+ .tui-interface .is-justify-between {
3886
+ justify-content: space-between;
3887
+ }
3888
+ .tui-interface .is-justify-around {
3889
+ justify-content: space-around;
3890
+ }
3891
+ .tui-interface .is-justify-evenly {
3892
+ justify-content: space-evenly;
3893
+ }
3894
+ .tui-interface .is-align-self-start {
3895
+ align-self: start;
3896
+ }
3897
+ .tui-interface .is-align-self-center {
3898
+ align-self: center;
3899
+ }
3900
+ .tui-interface .is-align-self-end {
3901
+ align-self: end;
3902
+ }
3903
+ .tui-interface .is-align-self-stretch {
3904
+ align-self: stretch;
3905
+ }
3906
+ .tui-interface .is-place-start {
3907
+ place-items: start;
3908
+ }
3909
+ .tui-interface .is-place-center {
3910
+ place-items: center;
3911
+ }
3912
+ .tui-interface .is-place-end {
3913
+ place-items: end;
3914
+ }
3915
+ .tui-interface ul.tui-grid,
3916
+ .tui-interface ul.tui-stack,
3917
+ .tui-interface ul.tui-inline-flex,
3918
+ .tui-interface ul.tui-flex {
3919
+ list-style: none !important;
3920
+ padding: 0 !important;
3921
+ margin: 0 !important;
3922
+ }
3923
+ .tui-interface ul.tui-grid > li,
3924
+ .tui-interface ul.tui-stack > li,
3925
+ .tui-interface ul.tui-inline-flex > li,
3926
+ .tui-interface ul.tui-flex > li {
3927
+ list-style: none !important;
3928
+ }
3929
+ .tui-interface .is-density-none {
3930
+ --tui-gap-inline: 0;
3931
+ --tui-gap-block: 0;
3932
+ }
3933
+ .tui-interface .is-density-inline-none {
3934
+ --tui-gap-inline: 0;
3935
+ }
3936
+ .tui-interface .is-density-block-none {
3937
+ --tui-gap-block: 0;
3938
+ }
3939
+ .tui-interface .is-density-xxs {
3940
+ --tui-gap-inline: var(--tui-spacing-xxs);
3941
+ --tui-gap-block: var(--tui-spacing-xxs);
3942
+ }
3943
+ .tui-interface .is-density-inline-xxs {
3944
+ --tui-gap-inline: var(--tui-spacing-xxs);
3945
+ }
3946
+ .tui-interface .is-density-block-xxs {
3947
+ --tui-gap-block: var(--tui-spacing-xxs);
3948
+ }
3949
+ .tui-interface .is-density-xs {
3950
+ --tui-gap-inline: var(--tui-spacing-xs);
3951
+ --tui-gap-block: var(--tui-spacing-xs);
3952
+ }
3953
+ .tui-interface .is-density-inline-xs {
3954
+ --tui-gap-inline: var(--tui-spacing-xs);
3955
+ }
3956
+ .tui-interface .is-density-block-xs {
3957
+ --tui-gap-block: var(--tui-spacing-xs);
3958
+ }
3959
+ .tui-interface .is-density-sm {
3960
+ --tui-gap-inline: var(--tui-spacing-sm);
3961
+ --tui-gap-block: var(--tui-spacing-sm);
3962
+ }
3963
+ .tui-interface .is-density-inline-sm {
3964
+ --tui-gap-inline: var(--tui-spacing-sm);
3965
+ }
3966
+ .tui-interface .is-density-block-sm {
3967
+ --tui-gap-block: var(--tui-spacing-sm);
3968
+ }
3969
+ .tui-interface .is-density-md {
3970
+ --tui-gap-inline: var(--tui-spacing-md);
3971
+ --tui-gap-block: var(--tui-spacing-md);
3972
+ }
3973
+ .tui-interface .is-density-inline-md {
3974
+ --tui-gap-inline: var(--tui-spacing-md);
3975
+ }
3976
+ .tui-interface .is-density-block-md {
3977
+ --tui-gap-block: var(--tui-spacing-md);
3978
+ }
3979
+ .tui-interface .is-density-lg {
3980
+ --tui-gap-inline: var(--tui-spacing-lg);
3981
+ --tui-gap-block: var(--tui-spacing-lg);
3982
+ }
3983
+ .tui-interface .is-density-inline-lg {
3984
+ --tui-gap-inline: var(--tui-spacing-lg);
3985
+ }
3986
+ .tui-interface .is-density-block-lg {
3987
+ --tui-gap-block: var(--tui-spacing-lg);
3988
+ }
3989
+ .tui-interface .is-density-xl {
3990
+ --tui-gap-inline: var(--tui-spacing-xl);
3991
+ --tui-gap-block: var(--tui-spacing-xl);
3992
+ }
3993
+ .tui-interface .is-density-inline-xl {
3994
+ --tui-gap-inline: var(--tui-spacing-xl);
3995
+ }
3996
+ .tui-interface .is-density-block-xl {
3997
+ --tui-gap-block: var(--tui-spacing-xl);
3998
+ }
3999
+ .tui-interface .is-density-xxl {
4000
+ --tui-gap-inline: var(--tui-spacing-xxl);
4001
+ --tui-gap-block: var(--tui-spacing-xxl);
4002
+ }
4003
+ .tui-interface .is-density-inline-xxl {
4004
+ --tui-gap-inline: var(--tui-spacing-xxl);
4005
+ }
4006
+ .tui-interface .is-density-block-xxl {
4007
+ --tui-gap-block: var(--tui-spacing-xxl);
4008
+ }
4009
+ .tui-interface .tui-text-xxs {
4010
+ font-size: var(--tui-typography-size-xxs) !important;
4011
+ }
4012
+ .tui-interface .tui-text-xs {
4013
+ font-size: var(--tui-typography-size-xs) !important;
4014
+ }
4015
+ .tui-interface .tui-text-sm {
4016
+ font-size: var(--tui-typography-size-sm) !important;
4017
+ }
4018
+ .tui-interface .tui-text-md {
4019
+ font-size: var(--tui-typography-size-md) !important;
4020
+ }
4021
+ .tui-interface .tui-text-lg {
4022
+ font-size: var(--tui-typography-size-lg) !important;
4023
+ }
4024
+ .tui-interface .tui-text-xl {
4025
+ font-size: var(--tui-typography-size-xl) !important;
4026
+ }
4027
+ .tui-interface .tui-text-xxl {
4028
+ font-size: var(--tui-typography-size-xxl) !important;
4029
+ }
4030
+ .tui-interface .tui-text-bold {
4031
+ font-weight: var(--tui-typography-weight-bold, 700) !important;
4032
+ }
4033
+ .tui-interface .tui-text-normal {
4034
+ font-weight: var(--tui-typography-weight-normal, 400) !important;
4035
+ }
4036
+ .tui-interface .tui-text-primary {
4037
+ color: var(--tui-theme-primary-base) !important;
4038
+ }
4039
+ .tui-interface .tui-text-secondary {
4040
+ color: var(--tui-theme-secondary-base) !important;
4041
+ }
4042
+ .tui-interface .tui-text-info {
4043
+ color: var(--tui-theme-info-base) !important;
4044
+ }
4045
+ .tui-interface .tui-text-warning {
4046
+ color: var(--tui-theme-warning-base) !important;
4047
+ }
4048
+ .tui-interface .tui-text-danger {
4049
+ color: var(--tui-theme-danger-base) !important;
4050
+ }
4051
+ .tui-interface .tui-text-success {
4052
+ color: var(--tui-theme-success-base) !important;
4053
+ }
4054
+ .tui-interface .tui-text-white {
4055
+ color: var(--tui-palette-color-white);
4056
+ }
4057
+ .tui-interface .tui-text-contrast-high {
4058
+ color: var(--tui-typography-color-contrast-high);
4059
+ }
4060
+ .tui-interface .tui-text-contrast-low {
4061
+ color: var(--tui-typography-color-contrast-low);
4062
+ }
4063
+ .tui-interface .tui-rounded-none {
4064
+ border-radius: 0 !important;
4065
+ }
4066
+ .tui-interface .tui-rounded-xs {
4067
+ border-radius: var(--tui-radius-xs) !important;
4068
+ }
4069
+ .tui-interface .tui-rounded-sm {
4070
+ border-radius: var(--tui-radius-sm) !important;
4071
+ }
4072
+ .tui-interface .tui-rounded-md {
4073
+ border-radius: var(--tui-radius-md) !important;
4074
+ }
4075
+ .tui-interface .tui-rounded-lg {
4076
+ border-radius: var(--tui-radius-lg) !important;
4077
+ }
4078
+ .tui-interface .tui-rounded-xl {
4079
+ border-radius: var(--tui-radius-xl) !important;
4080
+ }
4081
+ .tui-interface .tui-rounded-full {
4082
+ border-radius: 9999px !important;
4083
+ }
4084
+ .tui-interface .tui-border {
4085
+ border-width: var(--tui-border-width, 1px) !important;
4086
+ border-style: solid !important;
4087
+ border-color: currentColor !important;
4088
+ }
4089
+ .tui-interface .tui-border-0 {
4090
+ border: 0 !important;
4091
+ }
4092
+ .tui-interface .tui-border-t {
4093
+ border-top-width: var(--tui-border-width, 1px) !important;
4094
+ border-top-style: solid !important;
4095
+ }
4096
+ .tui-interface .tui-border-b {
4097
+ border-bottom-width: var(--tui-border-width, 1px) !important;
4098
+ border-bottom-style: solid !important;
4099
+ }
4100
+ .tui-interface .tui-border-l {
4101
+ border-left-width: var(--tui-border-width, 1px) !important;
4102
+ border-left-style: solid !important;
4103
+ }
4104
+ .tui-interface .tui-border-r {
4105
+ border-right-width: var(--tui-border-width, 1px) !important;
4106
+ border-right-style: solid !important;
4107
+ }
4108
+ .tui-interface .tui-border-primary {
4109
+ border-color: var(--tui-theme-primary-border, var(--tui-theme-primary-base)) !important;
4110
+ }
4111
+ .tui-interface .tui-border-secondary {
4112
+ border-color: var(--tui-theme-secondary-border, var(--tui-theme-secondary-base)) !important;
4113
+ }
4114
+ .tui-interface .tui-border-info {
4115
+ border-color: var(--tui-theme-info-border, var(--tui-theme-info-base)) !important;
4116
+ }
4117
+ .tui-interface .tui-border-warning {
4118
+ border-color: var(--tui-theme-warning-border, var(--tui-theme-warning-base)) !important;
4119
+ }
4120
+ .tui-interface .tui-border-danger {
4121
+ border-color: var(--tui-theme-danger-border, var(--tui-theme-danger-base)) !important;
4122
+ }
4123
+ .tui-interface .tui-border-success {
4124
+ border-color: var(--tui-theme-success-border, var(--tui-theme-success-base)) !important;
4125
+ }
4126
+ .tui-interface .tui-border-contrast-high {
4127
+ border-color: var(--tui-border-color-contrast-high, var(--tui-typography-color-contrast-high)) !important;
4128
+ }
4129
+ .tui-interface .tui-border-contrast-low {
4130
+ border-color: var(--tui-border-color-contrast-low, var(--tui-typography-color-contrast-low)) !important;
4131
+ }
4132
+
4133
+ @keyframes tui-spin {
4134
+ to {
4135
+ transform: rotate(1turn);
4136
+ }
4137
+ }