@rokkit/themes 1.1.14 → 1.1.16

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.
@@ -0,0 +1,2241 @@
1
+ /**
2
+ * @rokkit/themes - Material Theme
3
+ *
4
+ * Material Design inspired styling with elevation shadows and ripple effects.
5
+ * Use with data-style="material" wrapper.
6
+ */
7
+
8
+ /**
9
+ * Button - Material Theme Styles
10
+ *
11
+ * Material Design inspired with elevation and shadows.
12
+ */
13
+
14
+ /* =============================================================================
15
+ Default Style (filled)
16
+ ============================================================================= */
17
+
18
+ [data-style='material'] [data-button][data-style='default'][data-variant='default'],
19
+ [data-style='material'] [data-button]:not([data-style])[data-variant='default'],
20
+ [data-style='material'] [data-button][data-style='default']:not([data-variant]),
21
+ [data-style='material'] [data-button]:not([data-style]):not([data-variant]) {
22
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink-mute);
23
+ }
24
+
25
+ [data-style='material'] [data-button][data-style='default'][data-variant='primary'],
26
+ [data-style='material'] [data-button]:not([data-style])[data-variant='primary'] {
27
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);color:var(--on-primary);
28
+ }
29
+
30
+ [data-style='material'] [data-button][data-style='default'][data-variant='secondary'],
31
+ [data-style='material'] [data-button]:not([data-style])[data-variant='secondary'] {
32
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--accent);color:var(--on-primary);
33
+ }
34
+
35
+ [data-style='material'] [data-button][data-style='default'][data-variant='accent'],
36
+ [data-style='material'] [data-button]:not([data-style])[data-variant='accent'] {
37
+ background-image:none;--un-text-opacity:1;color:color-mix(in srgb, var(--color-accent-50) calc(var(--un-text-opacity) * 100%), transparent);--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--accent);
38
+ }[data-mode="dark"][data-style="material"] [data-button][data-style="default"][data-variant="accent"],[data-mode="dark"] [data-style="material"] [data-button][data-style="default"][data-variant="accent"],[data-mode="dark"][data-style="material"] [data-button]:not([data-style])[data-variant="accent"],[data-mode="dark"] [data-style="material"] [data-button]:not([data-style])[data-variant="accent"]{--un-text-opacity:1;color:color-mix(in srgb, var(--color-accent-50) calc(var(--un-text-opacity) * 100%), transparent);}
39
+
40
+ [data-style='material'] [data-button][data-style='default'][data-variant='danger'],
41
+ [data-style='material'] [data-button]:not([data-style])[data-variant='danger'] {
42
+ background-image:none;--un-text-opacity:1;color:color-mix(in srgb, var(--color-danger-50) calc(var(--un-text-opacity) * 100%), transparent);--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--danger);
43
+ }[data-mode="dark"][data-style="material"] [data-button][data-style="default"][data-variant="danger"],[data-mode="dark"] [data-style="material"] [data-button][data-style="default"][data-variant="danger"],[data-mode="dark"][data-style="material"] [data-button]:not([data-style])[data-variant="danger"],[data-mode="dark"] [data-style="material"] [data-button]:not([data-style])[data-variant="danger"]{--un-text-opacity:1;color:color-mix(in srgb, var(--color-danger-50) calc(var(--un-text-opacity) * 100%), transparent);}
44
+
45
+ /* =============================================================================
46
+ Outline Style
47
+ ============================================================================= */
48
+
49
+ [data-style='material'] [data-button][data-style='outline'][data-variant='default'],
50
+ [data-style='material'] [data-button][data-style='outline']:not([data-variant]) {
51
+ border-width:1px;background-color:transparent;border-color:var(--paper-edge);color:var(--ink-mute);
52
+ }
53
+
54
+ [data-style='material'] [data-button][data-style='outline'][data-variant='primary'] {
55
+ border-width:1px;background-color:transparent;border-color:var(--primary);color:var(--primary);
56
+ }
57
+
58
+ [data-style='material'] [data-button][data-style='outline'][data-variant='secondary'] {
59
+ border-width:1px;background-color:transparent;border-color:var(--accent);color:var(--accent);
60
+ }
61
+
62
+ [data-style='material'] [data-button][data-style='outline'][data-variant='accent'] {
63
+ border-width:1px;background-color:transparent;border-color:var(--accent);color:var(--accent);
64
+ }
65
+
66
+ [data-style='material'] [data-button][data-style='outline'][data-variant='danger'] {
67
+ border-width:1px;background-color:transparent;border-color:var(--danger);color:var(--danger);
68
+ }
69
+
70
+ /* =============================================================================
71
+ Ghost Style
72
+ ============================================================================= */
73
+
74
+ [data-style='material'] [data-button][data-style='ghost'] {
75
+ border-color:transparent;background-color:transparent;
76
+ }
77
+
78
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='default'],
79
+ [data-style='material'] [data-button][data-style='ghost']:not([data-variant]) {
80
+ color:var(--ink-mute);
81
+ }
82
+
83
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='primary'] {
84
+ color:var(--primary);
85
+ }
86
+
87
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='secondary'] {
88
+ color:var(--accent);
89
+ }
90
+
91
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='accent'] {
92
+ color:var(--accent);
93
+ }
94
+
95
+ [data-style='material'] [data-button][data-style='ghost'][data-variant='danger'] {
96
+ color:var(--danger);
97
+ }
98
+
99
+ /* =============================================================================
100
+ Gradient Style
101
+ ============================================================================= */
102
+
103
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='default'],
104
+ [data-style='material'] [data-button][data-style='gradient']:not([data-variant]) {
105
+ --un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--ink);
106
+ }
107
+
108
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='primary'] {
109
+ --un-gradient-from-position:0%;--un-gradient-from:color-mix(in srgb, var(--color-primary) calc(1 * 100%), transparent) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to);--un-gradient-to-position:100%;--un-gradient-to:color-mix(in srgb, var(--color-primary) calc(1 * 100%), transparent) var(--un-gradient-to-position);--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--on-primary);
110
+ }
111
+
112
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='secondary'] {
113
+ --un-gradient-from-position:0%;--un-gradient-from:color-mix(in srgb, var(--color-accent) calc(1 * 100%), transparent) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to);--un-gradient-to-position:100%;--un-gradient-to:color-mix(in srgb, var(--color-accent) calc(1 * 100%), transparent) var(--un-gradient-to-position);--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--on-primary);
114
+ }
115
+
116
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='accent'] {
117
+ --un-gradient-from-position:0%;--un-gradient-from:color-mix(in srgb, var(--color-accent) calc(1 * 100%), transparent) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to);--un-gradient-to-position:100%;--un-gradient-to:color-mix(in srgb, var(--color-accent) calc(1 * 100%), transparent) var(--un-gradient-to-position);--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));--un-text-opacity:1;color:color-mix(in srgb, var(--color-accent-50) calc(var(--un-text-opacity) * 100%), transparent);--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
118
+ }[data-mode="dark"][data-style="material"] [data-button][data-style="gradient"][data-variant="accent"],[data-mode="dark"] [data-style="material"] [data-button][data-style="gradient"][data-variant="accent"]{--un-text-opacity:1;color:color-mix(in srgb, var(--color-accent-50) calc(var(--un-text-opacity) * 100%), transparent);}
119
+
120
+ [data-style='material'] [data-button][data-style='gradient'][data-variant='danger'] {
121
+ --un-gradient-from-position:0%;--un-gradient-from:color-mix(in srgb, var(--color-danger) calc(1 * 100%), transparent) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to);--un-gradient-to-position:100%;--un-gradient-to:color-mix(in srgb, var(--color-danger) calc(1 * 100%), transparent) var(--un-gradient-to-position);--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));--un-text-opacity:1;color:color-mix(in srgb, var(--color-danger-50) calc(var(--un-text-opacity) * 100%), transparent);--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
122
+ }[data-mode="dark"][data-style="material"] [data-button][data-style="gradient"][data-variant="danger"],[data-mode="dark"] [data-style="material"] [data-button][data-style="gradient"][data-variant="danger"]{--un-text-opacity:1;color:color-mix(in srgb, var(--color-danger-50) calc(var(--un-text-opacity) * 100%), transparent);}
123
+
124
+ [data-style='material']
125
+ [data-button][data-style='gradient']:hover:not(:disabled):not([data-disabled]) {
126
+ filter: brightness(1.08);
127
+ --un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
128
+ }
129
+
130
+ /* =============================================================================
131
+ Link Style
132
+ ============================================================================= */
133
+
134
+ [data-style='material'] [data-button][data-style='link'][data-variant='default'],
135
+ [data-style='material'] [data-button][data-style='link']:not([data-variant]) {
136
+ color:var(--ink-mute);
137
+ }
138
+
139
+ [data-style='material'] [data-button][data-style='link'][data-variant='primary'] {
140
+ color:var(--primary);
141
+ }
142
+
143
+ [data-style='material'] [data-button][data-style='link'][data-variant='secondary'] {
144
+ color:var(--accent);
145
+ }
146
+
147
+ [data-style='material'] [data-button][data-style='link'][data-variant='accent'] {
148
+ color:var(--accent);
149
+ }
150
+
151
+ [data-style='material'] [data-button][data-style='link'][data-variant='danger'] {
152
+ color:var(--danger);
153
+ }
154
+
155
+ [data-style='material'] [data-button][data-style='link']:hover:not(:disabled):not([data-disabled]) {
156
+ color:var(--primary);
157
+ }
158
+
159
+ /* =============================================================================
160
+ Hover States
161
+ ============================================================================= */
162
+
163
+ [data-style='material']
164
+ [data-button][data-style='default']:hover:not(:disabled):not([data-disabled]),
165
+ [data-style='material'] [data-button]:not([data-style]):hover:not(:disabled):not([data-disabled]) {
166
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
167
+ }
168
+
169
+ [data-style='material']
170
+ [data-button][data-style='outline']:hover:not(:disabled):not([data-disabled]) {
171
+ background-color:var(--paper-soft);
172
+ }
173
+
174
+ [data-style='material']
175
+ [data-button][data-style='ghost']:hover:not(:disabled):not([data-disabled]) {
176
+ background-color:var(--paper-mute);
177
+ }
178
+
179
+ /* =============================================================================
180
+ Focus
181
+ ============================================================================= */
182
+
183
+ [data-style='material'] [data-button]:focus-visible {
184
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-offset-width:2px;--un-ring-color:var(--primary);
185
+ }
186
+
187
+ /* Material Theme - Form field and input styles
188
+ * Material Design outlined text field with floating label.
189
+ */
190
+
191
+ /* Form background */
192
+ [data-style='material'] [data-form-root] {
193
+ background-color:var(--paper-soft);
194
+ }
195
+
196
+ /* Field root: relative positioning for floating label */
197
+ [data-style='material'] [data-field-root] {
198
+ position:relative;gap:0;
199
+ }
200
+
201
+ /* Input root: outlined border — force transparent even in dark mode
202
+ * (prevents body[data-mode="dark"][data-style="rokkit"] bleed on comparison pages) */
203
+ [data-style='material'] [data-input-root],
204
+ [data-mode='dark'] [data-style='material'] [data-input-root] {
205
+ display:flex;align-items:center;border-width:1px;border-radius:0.25rem;background-color:transparent;padding:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;border-color:var(--paper-edge);
206
+ background-color: transparent;
207
+ background-image: none;
208
+ }
209
+
210
+ [data-style='material'] [data-input-root]:hover {
211
+ border-color:var(--ink-soft);
212
+ }
213
+
214
+ [data-style='material'] [data-input-root]:focus-within {
215
+ background-color:transparent;border-color:var(--primary);
216
+ background-image: none;
217
+ }
218
+
219
+ /* Inputs inside wrapper — also target dark-mode to prevent rokkit bleed */
220
+ [data-style='material']
221
+ [data-input-root]
222
+ input:not([type='checkbox'], [type='radio'], [type='color']),
223
+ [data-mode='dark']
224
+ [data-style='material']
225
+ [data-input-root]
226
+ input:not([type='checkbox'], [type='radio'], [type='color']),
227
+ [data-style='material'] [data-input-root] textarea,
228
+ [data-mode='dark'] [data-style='material'] [data-input-root] textarea,
229
+ [data-style='material'] [data-input-root] select,
230
+ [data-mode='dark'] [data-style='material'] [data-input-root] select {
231
+ width:100%;border-style:none;background-color:transparent;padding-left:0.75rem;padding-right:0.75rem;padding-top:0.625rem;padding-bottom:0.625rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:var(--ink);
232
+ background-color: transparent;
233
+ border-radius: 4px;
234
+ font-size: 0.875rem;
235
+ line-height: 1.25rem;
236
+ }
237
+
238
+ [data-style='material'] [data-input-root] textarea {
239
+ min-height:5rem;
240
+ }
241
+
242
+ /* Select inside input-root */
243
+ [data-style='material'] [data-input-root] [data-select-trigger] {
244
+ border-radius:0.25rem;border-style:none;background-color:transparent;padding-left:0.75rem;padding-right:0.75rem;--un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-width:0px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--ink);
245
+ font-size: 0.875rem;
246
+ }[data-style="material"] [data-input-root] [data-select-trigger]:focus{outline:2px solid transparent;outline-offset:2px;}
247
+
248
+ /* Suppress standalone select open-state ring/border when inside input-root */
249
+ [data-style='material'] [data-input-root] [data-select][data-open='true'] [data-select-trigger] {
250
+ border-style:none;--un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-width:0px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
251
+ }
252
+
253
+ /* Labels: floating label effect (exclude checkbox — uses inline label) */
254
+ [data-style='material'] [data-field-root]:not([data-field-type='checkbox']) [data-field] > label {
255
+ pointer-events:none;position:absolute;left:0.75rem;padding-left:0.25rem;padding-right:0.25rem;font-size:0.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:var(--ink-soft);
256
+ top: 50%;
257
+ transform: translateY(-50%);
258
+ z-index: 1;
259
+ }
260
+
261
+ /* Label floats up when input has focus or value */
262
+ [data-style='material']
263
+ [data-field-root]:not([data-field-type='checkbox'])
264
+ [data-field]:has([data-input-root]:focus-within)
265
+ > label,
266
+ [data-style='material']
267
+ [data-field-root]:not([data-field-type='checkbox']):not([data-field-empty='true'])
268
+ [data-field]
269
+ > label {
270
+ font-size:0.75rem;line-height:1rem;background-color:var(--paper-soft);
271
+ top: 0;
272
+ transform: translateY(-50%);
273
+ padding-inline: 0.25rem;
274
+ border-radius: 2px;
275
+ }
276
+
277
+ [data-style='material']
278
+ [data-field-root]:not([data-field-type='checkbox'])
279
+ [data-field]:has([data-input-root]:focus-within)
280
+ > label {
281
+ color:var(--primary);
282
+ }
283
+
284
+ /* Checkbox fields: inline label, centered with icon */
285
+ [data-style='material'] [data-field-type='checkbox'] [data-field] {
286
+ display:flex;flex-direction:row;align-items:center;gap:0.5rem;
287
+ }
288
+
289
+ [data-style='material'] [data-field-type='checkbox'] [data-field] > label {
290
+ font-size:0.875rem;line-height:1.25rem;color:var(--ink-mute);
291
+ }
292
+
293
+ /* Form-level labels (FormRenderer) */
294
+ [data-style='material'] [data-form-root] label {
295
+ font-size:0.875rem;line-height:1.25rem;color:var(--ink-soft);
296
+ }
297
+
298
+ /* Info field value */
299
+ [data-style='material'] [data-field-info] {
300
+ color:var(--primary);
301
+ }
302
+
303
+ /* Separator */
304
+ [data-style='material'] [data-form-separator] {
305
+ border-color:var(--paper-mute);
306
+ }
307
+
308
+ /* Disabled state */
309
+ [data-style='material'] [data-field-disabled] [data-input-root] {
310
+ cursor:not-allowed;opacity:0.6;border-color:var(--paper-mute);background-color:var(--paper-soft);
311
+ }
312
+
313
+ /* Error state */
314
+ [data-style='material'] [data-field-state='fail'] [data-input-root] {
315
+ border-color:var(--danger);
316
+ }
317
+
318
+ [data-style='material']
319
+ [data-field-root]:not([data-field-type='checkbox'])[data-field-state='fail']
320
+ [data-field]
321
+ > label {
322
+ color:var(--danger);
323
+ }
324
+
325
+ /* Description */
326
+ [data-style='material'] [data-description] {
327
+ margin-top:0.25rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;color:var(--ink-soft);
328
+ }
329
+
330
+ /* Message */
331
+ [data-style='material'] [data-message] {
332
+ margin-top:0.25rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;color:var(--danger);
333
+ }
334
+
335
+ /* Checkbox */
336
+ [data-style='material'] [data-checkbox-icon] {
337
+ font-size:1.125rem;line-height:1.75rem;color:var(--ink-soft);
338
+ }
339
+
340
+ [data-style='material']
341
+ [data-checkbox-root][data-variant='custom']:has(input:checked)
342
+ [data-checkbox-icon] {
343
+ color:var(--primary);
344
+ }
345
+
346
+ /* Placeholders */
347
+ [data-style='material'] [data-input-root] input::placeholder,
348
+ [data-style='material'] [data-input-root] textarea::placeholder {
349
+ color:var(--ink-soft);
350
+ }
351
+
352
+ /**
353
+ * Toolbar - Material Theme Styles
354
+ *
355
+ * Material Design inspired with elevation and shadows.
356
+ */
357
+
358
+ /* =============================================================================
359
+ Toolbar Container
360
+ ============================================================================= */
361
+
362
+ [data-style='material'] [data-toolbar] {
363
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);
364
+ }
365
+
366
+ /* Position-based borders removed - using shadows instead */
367
+ [data-style='material'] [data-toolbar][data-toolbar-position='top'],
368
+ [data-style='material'] [data-toolbar]:not([data-toolbar-position]) {
369
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
370
+ }
371
+
372
+ [data-style='material'] [data-toolbar][data-toolbar-position='bottom'] {
373
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
374
+ }
375
+
376
+ [data-style='material'] [data-toolbar][data-toolbar-position='left'] {
377
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
378
+ }
379
+
380
+ [data-style='material'] [data-toolbar][data-toolbar-position='right'] {
381
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
382
+ }
383
+
384
+ /* =============================================================================
385
+ Toolbar Items
386
+ ============================================================================= */
387
+
388
+ [data-style='material'] [data-toolbar-item] {
389
+ border-radius:9999px;color:var(--ink-mute);
390
+ }
391
+
392
+ [data-style='material'] [data-toolbar-item]:hover:not(:disabled):not([data-disabled='true']) {
393
+ background-image:none;background-color:var(--paper-mute);color:var(--ink);
394
+ }
395
+
396
+ [data-style='material']
397
+ [data-toolbar-item]:focus-visible:not(:disabled):not([data-disabled='true']) {
398
+ background-image:none;outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink);--un-ring-color:var(--primary);
399
+ }
400
+
401
+ /* Active/pressed state */
402
+ [data-style='material'] [data-toolbar-item][data-active='true'] {
403
+ background-image:none;background-color:var(--primary);color:var(--primary);
404
+ }
405
+
406
+ [data-style='material'] [data-toolbar-item][data-active='true']:hover:not(:disabled) {
407
+ background-image:none;background-color:var(--primary);color:var(--primary);
408
+ }
409
+
410
+ /* =============================================================================
411
+ Toolbar Icon
412
+ ============================================================================= */
413
+
414
+ [data-style='material'] [data-toolbar-item] [data-toolbar-icon] {
415
+ color:var(--ink-soft);
416
+ }
417
+
418
+ [data-style='material'] [data-toolbar-item]:hover:not(:disabled) [data-toolbar-icon] {
419
+ color:var(--ink-mute);
420
+ }
421
+
422
+ [data-style='material'] [data-toolbar-item][data-active='true'] [data-toolbar-icon] {
423
+ color:var(--primary);
424
+ }
425
+
426
+ /* =============================================================================
427
+ Separator & Divider
428
+ ============================================================================= */
429
+
430
+ [data-style='material'] [data-toolbar-separator] {
431
+ background-image:none;background-color:var(--paper-mute);
432
+ }
433
+
434
+ [data-style='material'] [data-toolbar-divider] {
435
+ background-image:none;background-color:var(--paper-mute);
436
+ }
437
+
438
+ /**
439
+ * Tabs - Material Theme Styles
440
+ *
441
+ * Material Design inspired with elevation and rounded corners.
442
+ */
443
+
444
+ /* =============================================================================
445
+ Tab List
446
+ ============================================================================= */
447
+
448
+ [data-style='material'] [data-tabs-list] {
449
+ gap:0.125rem;border-width:0px;border-top-left-radius:0.5rem;border-top-right-radius:0.5rem;padding-left:0;padding-right:0;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);
450
+ }
451
+
452
+ [data-style='material'] [data-tabs][data-position='after'] [data-tabs-list] {
453
+ border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem;
454
+ }
455
+
456
+ /* =============================================================================
457
+ Tab Triggers
458
+ ============================================================================= */
459
+
460
+ [data-style='material'] [data-tabs-trigger] {
461
+ border-top-left-radius:0.5rem;border-top-right-radius:0.5rem;background-color:transparent;color:var(--ink-soft);
462
+ }
463
+
464
+ [data-style='material'] [data-tabs][data-position='after'] [data-tabs-trigger] {
465
+ border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem;
466
+ }
467
+
468
+ [data-style='material'] [data-tabs-trigger]:hover:not(:disabled):not([data-disabled]) {
469
+ background-color:var(--paper-mute);color:var(--ink-mute);
470
+ }
471
+
472
+ /* Selected state */
473
+ [data-style='material'] [data-tabs-trigger][data-selected] {
474
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);color:var(--on-primary);
475
+ }
476
+
477
+ /* Reset rokkit gradients bleeding in from body[data-style='rokkit'] ancestor */
478
+ [data-style='material'] [data-tabs-list]:focus-within [data-tabs-trigger][data-selected] {
479
+ background-image:none;
480
+ }
481
+
482
+ [data-style='material']
483
+ [data-tabs][data-position='after']
484
+ [data-tabs-list]:focus-within
485
+ [data-tabs-trigger][data-selected] {
486
+ background-image:none;
487
+ }
488
+
489
+ [data-style='material']
490
+ [data-tabs][data-orientation='vertical']
491
+ [data-tabs-list]:focus-within
492
+ [data-tabs-trigger][data-selected] {
493
+ background-image:none;
494
+ }
495
+
496
+ [data-style='material']
497
+ [data-tabs][data-orientation='vertical'][data-position='after']
498
+ [data-tabs-list]:focus-within
499
+ [data-tabs-trigger][data-selected] {
500
+ background-image:none;
501
+ }
502
+
503
+ /* =============================================================================
504
+ Tab Icon
505
+ ============================================================================= */
506
+
507
+ [data-style='material'] [data-tabs-trigger] [data-tabs-icon] {
508
+ color:var(--ink-soft);
509
+ }
510
+
511
+ [data-style='material'] [data-tabs-trigger]:hover:not(:disabled) [data-tabs-icon] {
512
+ color:var(--ink-mute);
513
+ }
514
+
515
+ [data-style='material'] [data-tabs-trigger][data-selected] [data-tabs-icon] {
516
+ color:var(--on-primary);
517
+ }
518
+
519
+ /* =============================================================================
520
+ Tab Panel
521
+ ============================================================================= */
522
+
523
+ [data-style='material'] [data-tabs-content] {
524
+ color:var(--ink-mute);
525
+ }
526
+
527
+ /**
528
+ * Toggle - Material Theme Styles
529
+ *
530
+ * Material Design inspired with elevation and rounded corners.
531
+ */
532
+
533
+ /* =============================================================================
534
+ Toggle Container
535
+ ============================================================================= */
536
+
537
+ [data-style='material'] [data-toggle] {
538
+ border-radius:9999px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);
539
+ }
540
+
541
+ /* =============================================================================
542
+ Toggle Options
543
+ ============================================================================= */
544
+
545
+ [data-style='material'] [data-toggle-option] {
546
+ border-radius:9999px;color:var(--ink-soft);
547
+ }
548
+
549
+ [data-style='material'] [data-toggle-option]:hover:not(:disabled):not([data-disabled='true']),
550
+ [data-style='material'] [data-toggle-option]:focus:not(:disabled):not([data-disabled='true']) {
551
+ background-image:none;background-color:var(--paper-mute);color:var(--ink-mute);
552
+ }
553
+
554
+ /* Selected state */
555
+ [data-style='material'] [data-toggle-option][data-selected='true'] {
556
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);color:var(--on-primary);
557
+ }
558
+
559
+ /* =============================================================================
560
+ Toggle Icon
561
+ ============================================================================= */
562
+
563
+ [data-style='material'] [data-toggle-option] [data-toggle-icon] {
564
+ color:var(--ink-soft);
565
+ }
566
+
567
+ [data-style='material'] [data-toggle-option]:hover:not(:disabled) [data-toggle-icon],
568
+ [data-style='material'] [data-toggle-option]:focus:not(:disabled) [data-toggle-icon] {
569
+ color:var(--ink-mute);
570
+ }
571
+
572
+ [data-style='material'] [data-toggle-option][data-selected='true'] [data-toggle-icon] {
573
+ color:var(--on-primary);
574
+ }
575
+
576
+ /* =============================================================================
577
+ Button Variant — single cycling control (variant-agnostic color)
578
+ Higher specificity than the [data-toggle] container rule above, so it
579
+ neutralises the group-pill chrome and gives the single button the same
580
+ flipping icon treatment an unselected option gets.
581
+ ============================================================================= */
582
+
583
+ [data-style='material'] [data-toggle][data-toggle-variant='button'] {
584
+ border-color:transparent;background-color:transparent;color:var(--ink-soft);
585
+ background-image: none;
586
+ }
587
+
588
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled):not([data-toggle-disabled='true']),
589
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled):not([data-toggle-disabled='true']) {
590
+ background-color:var(--paper-mute);color:var(--ink-mute);
591
+ }
592
+
593
+ [data-style='material'] [data-toggle][data-toggle-variant='button'] [data-toggle-icon] {
594
+ color:var(--ink-soft);
595
+ }
596
+
597
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:hover:not(:disabled) [data-toggle-icon],
598
+ [data-style='material'] [data-toggle][data-toggle-variant='button']:focus-visible:not(:disabled) [data-toggle-icon] {
599
+ color:var(--ink-mute);
600
+ }
601
+
602
+ /**
603
+ * Switch - Material Theme Styles
604
+ */
605
+
606
+ [data-style='material'] [data-switch-track] {
607
+ background-image:none;background-color:var(--paper-mute);
608
+ }
609
+
610
+ [data-style='material'] [data-switch-thumb] {
611
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--ink-soft);
612
+ }
613
+
614
+ [data-style='material'] [data-switch]:focus-visible [data-switch-track] {
615
+ --un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-offset-width:1px;--un-ring-color:var(--primary);
616
+ }
617
+
618
+ /* On state */
619
+ [data-style='material'] [data-switch][aria-checked='true'] [data-switch-track] {
620
+ background-image:none;background-color:var(--primary);
621
+ }
622
+
623
+ [data-style='material'] [data-switch][aria-checked='true'] [data-switch-thumb] {
624
+ --un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper);
625
+ }
626
+
627
+ [data-style='material'] [data-switch-label] {
628
+ color:var(--ink-mute);
629
+ }
630
+
631
+ /**
632
+ * List - Material Theme Styles
633
+ *
634
+ * Material Design inspired with subtle elevation and ripple effects.
635
+ */
636
+
637
+ /* =============================================================================
638
+ List Container
639
+ ============================================================================= */
640
+
641
+ [data-style='material'] [data-list]:focus-within {
642
+ outline:2px solid transparent;outline-offset:2px;
643
+ }
644
+
645
+ /* =============================================================================
646
+ List Items
647
+ ============================================================================= */
648
+
649
+ [data-style='material'] [data-list] [data-list-item] {
650
+ color:var(--ink-mute);
651
+ }
652
+
653
+ [data-style='material'] [data-list] a[data-list-item],
654
+ [data-style='material'] [data-list] button[data-list-item] {
655
+ color:var(--ink-mute);
656
+ }
657
+
658
+ /* Hover and focus (keyboard navigation) */
659
+ [data-style='material']
660
+ [data-list]
661
+ [data-list-item]:hover:not(:disabled):not([data-disabled='true']),
662
+ [data-style='material']
663
+ [data-list]
664
+ [data-list-item]:focus:not(:disabled):not([data-disabled='true']) {
665
+ background-image:none;outline:2px solid transparent;outline-offset:2px;background-color:var(--paper-mute);color:var(--ink);
666
+ }
667
+
668
+ /* Active state — muted when list not focused */
669
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] {
670
+ background-image:none;background-color:var(--paper-mute);color:var(--primary);
671
+ }
672
+
673
+ /* Active state — full highlight when list has focus */
674
+ [data-style='material'] [data-list]:focus-within [data-list-item][data-active='true'] {
675
+ background-image:none;background-color:var(--primary);color:var(--primary);
676
+ }
677
+
678
+ /* Active + hover/focus */
679
+ [data-style='material'] [data-list] [data-list-item][data-active='true']:hover:not(:disabled),
680
+ [data-style='material'] [data-list] [data-list-item][data-active='true']:focus:not(:disabled) {
681
+ background-image:none;background-color:var(--primary);
682
+ }
683
+
684
+ /* =============================================================================
685
+ Item Elements
686
+ ============================================================================= */
687
+
688
+ [data-style='material'] [data-list] [data-list-item] [data-item-icon] {
689
+ color:var(--ink-soft);
690
+ }
691
+
692
+ [data-style='material'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon],
693
+ [data-style='material'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon] {
694
+ color:var(--ink-mute);
695
+ }
696
+
697
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-icon] {
698
+ color:var(--primary);
699
+ }
700
+
701
+ /* Literal / kanji icons */
702
+ [data-style='material'] [data-list] [data-list-item] [data-item-icon-literal] {
703
+ color:var(--ink-soft);
704
+ }
705
+
706
+ [data-style='material'] [data-list] [data-list-item]:hover:not(:disabled) [data-item-icon-literal],
707
+ [data-style='material'] [data-list] [data-list-item]:focus:not(:disabled) [data-item-icon-literal] {
708
+ color:var(--ink-mute);
709
+ }
710
+
711
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-icon-literal] {
712
+ color:var(--primary);
713
+ }
714
+
715
+ [data-style='material'] [data-list] [data-list-item] [data-item-description] {
716
+ color:var(--ink-soft);
717
+ }
718
+
719
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-description] {
720
+ color:var(--primary);
721
+ }
722
+
723
+ [data-style='material'] [data-list] [data-list-item] [data-item-badge] {
724
+ border-radius:9999px;background-image:none;background-color:var(--paper-mute);color:var(--ink-soft);
725
+ }
726
+
727
+ [data-style='material'] [data-list] [data-list-item][data-active='true'] [data-item-badge] {
728
+ background-image:none;background-color:var(--primary);color:var(--primary);
729
+ }
730
+
731
+ /* =============================================================================
732
+ Groups
733
+ ============================================================================= */
734
+
735
+ [data-style='material'] [data-list] [data-list-group] {
736
+ font-weight:500;color:var(--ink-soft);
737
+ }
738
+
739
+ [data-style='material'] [data-list] [data-list-group]:hover:not(:disabled),
740
+ [data-style='material'] [data-list] [data-list-group]:focus:not(:disabled) {
741
+ background-image:none;background-color:var(--paper-mute);color:var(--ink-mute);
742
+ }
743
+
744
+ /* =============================================================================
745
+ Separator
746
+ ============================================================================= */
747
+
748
+ [data-style='material'] [data-list] [data-list-separator] {
749
+ background-image:none;background-color:var(--paper-mute);
750
+ }
751
+
752
+ /* =============================================================================
753
+ Multi-Selection
754
+ ============================================================================= */
755
+
756
+ [data-style='material'] [data-list] [data-list-item][data-selected='true'] {
757
+ background-image:none;background-color:var(--primary);color:var(--primary);
758
+ }
759
+
760
+ [data-style='material'] [data-list]:focus-within [data-list-item][data-selected='true'] {
761
+ background-image:none;background-color:var(--primary);
762
+ }
763
+
764
+ [data-style='material'] [data-list] [data-list-item][data-selected='true']:hover:not(:disabled) {
765
+ background-image:none;background-color:var(--primary);
766
+ }
767
+
768
+ [data-style='material'] [data-list] [data-list-item][data-selected='true'] [data-item-icon] {
769
+ color:var(--primary);
770
+ }
771
+
772
+ /**
773
+ * Tree - Material Theme Styles
774
+ *
775
+ * Material Design inspired with subtle elevation.
776
+ */
777
+
778
+ /* =============================================================================
779
+ Tree Container
780
+ ============================================================================= */
781
+
782
+ [data-style='material'] [data-tree]:focus-within {
783
+ outline:2px solid transparent;outline-offset:2px;
784
+ }
785
+
786
+ /* =============================================================================
787
+ Tree Toggle Button
788
+ ============================================================================= */
789
+
790
+ [data-style='material'] [data-tree-toggle-btn] {
791
+ border-radius:9999px;color:var(--ink-soft);
792
+ }
793
+
794
+ [data-style='material'] [data-tree-toggle-btn]:hover {
795
+ background-image:none;background-color:var(--paper-mute);color:var(--ink-mute);
796
+ }
797
+
798
+ /* =============================================================================
799
+ Tree Item Content
800
+ ============================================================================= */
801
+
802
+ [data-style='material'] [data-tree-item-content] {
803
+ color:var(--ink-mute);
804
+ }
805
+
806
+ [data-style='material'] [data-tree-item-content]:hover:not(:disabled),
807
+ [data-style='material'] [data-tree-item-content]:focus:not(:disabled) {
808
+ background-image:none;outline:2px solid transparent;outline-offset:2px;background-color:var(--paper-mute);color:var(--ink);
809
+ }
810
+
811
+ /* Focus visible for keyboard navigation */
812
+ [data-style='material'] [data-tree-item-content]:focus-visible {
813
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-inset:inset;--un-ring-color:var(--primary);
814
+ }
815
+
816
+ /* Active/selected state */
817
+ [data-style='material'] [data-tree-item-content][data-active='true'] {
818
+ background-color:var(--primary);color:var(--primary);
819
+ }
820
+
821
+ [data-style='material'] [data-tree-item-content][data-active='true']:hover:not(:disabled) {
822
+ background-color:var(--primary);
823
+ }
824
+
825
+ /* Reset rokkit gradients bleeding in from body[data-style='rokkit'] ancestor */
826
+ [data-style='material'] [data-tree]:focus-within [data-tree-item-content][data-active='true'] {
827
+ background-image:none;
828
+ }
829
+
830
+ [data-style='material']
831
+ [data-tree]:focus-within
832
+ [data-tree-item-content][data-active='true']:hover:not(:disabled) {
833
+ background-image:none;
834
+ }
835
+
836
+ [data-style='material']
837
+ [data-tree]:not(:focus-within)
838
+ [data-tree-item-content][data-active='true'] {
839
+ background-image:none;
840
+ }
841
+
842
+ /* =============================================================================
843
+ Item Elements
844
+ ============================================================================= */
845
+
846
+ [data-style='material'] [data-tree-item-content] [data-item-icon] {
847
+ color:var(--ink-soft);
848
+ }
849
+
850
+ [data-style='material'] [data-tree-item-content]:hover:not(:disabled) [data-item-icon] {
851
+ color:var(--ink-mute);
852
+ }
853
+
854
+ [data-style='material'] [data-tree-item-content][data-active='true'] [data-item-icon] {
855
+ color:var(--primary);
856
+ }
857
+
858
+ [data-style='material'] [data-tree-item-content] [data-item-description] {
859
+ color:var(--ink-soft);
860
+ }
861
+
862
+ [data-style='material'] [data-tree-item-content][data-active='true'] [data-item-description] {
863
+ color:var(--primary);
864
+ }
865
+
866
+ [data-style='material'] [data-tree-item-content] [data-item-badge] {
867
+ border-radius:9999px;background-image:none;color:var(--ink-soft);background-color:var(--paper-mute);
868
+ }
869
+
870
+ [data-style='material'] [data-tree-item-content][data-active='true'] [data-item-badge] {
871
+ color:var(--primary);background-color:var(--primary);
872
+ }
873
+
874
+ [data-style='material']
875
+ [data-tree]:focus-within
876
+ [data-tree-item-content][data-active='true']
877
+ [data-item-badge] {
878
+ background-image:none;
879
+ }
880
+
881
+ [data-style='material']
882
+ [data-tree]:not(:focus-within)
883
+ [data-tree-item-content][data-active='true']
884
+ [data-item-badge] {
885
+ background-image:none;
886
+ }
887
+
888
+ /* =============================================================================
889
+ Multi-Selection
890
+ ============================================================================= */
891
+
892
+ [data-style='material'] [data-tree-node][data-selected='true'] [data-tree-node-row] {
893
+ background-color:var(--primary);
894
+ }
895
+
896
+ [data-style='material'] [data-tree-node][data-selected='true'] [data-tree-item-content] {
897
+ color:var(--primary);
898
+ }
899
+
900
+ [data-style='material']
901
+ [data-tree-node][data-selected='true']
902
+ [data-tree-item-content]
903
+ [data-item-icon] {
904
+ color:var(--primary);
905
+ }
906
+
907
+ /**
908
+ * Select - Material Theme Styles
909
+ *
910
+ * Material Design inspired with elevation and shadows.
911
+ */
912
+
913
+ /* =============================================================================
914
+ Trigger Button
915
+ ============================================================================= */
916
+
917
+ [data-style='material'] [data-select-trigger] {
918
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);color:var(--ink-mute);border-color:var(--paper-edge);
919
+ }
920
+
921
+ [data-style='material'] [data-select-trigger]:hover:not(:disabled) {
922
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);border-color:var(--ink-soft);
923
+ }
924
+
925
+ [data-style='material'] [data-select-trigger]:focus-visible {
926
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:var(--primary);
927
+ }
928
+
929
+ [data-style='material'] [data-select][data-open='true'] [data-select-trigger] {
930
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);border-color:var(--primary);
931
+ }
932
+
933
+ /* =============================================================================
934
+ Placeholder
935
+ ============================================================================= */
936
+
937
+ [data-style='material'] [data-select-placeholder] {
938
+ color:var(--ink-soft);
939
+ }
940
+
941
+ /* =============================================================================
942
+ Arrow
943
+ ============================================================================= */
944
+
945
+ [data-style='material'] [data-select-arrow] {
946
+ color:var(--ink-soft);
947
+ }
948
+
949
+ [data-style='material'] [data-select-trigger]:hover:not(:disabled) [data-select-arrow] {
950
+ color:var(--ink-mute);
951
+ }
952
+
953
+ /* =============================================================================
954
+ Tags (MultiSelect)
955
+ ============================================================================= */
956
+
957
+ [data-style='material'] [data-select-tag] {
958
+ border-radius:9999px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink-mute);
959
+ }
960
+
961
+ [data-style='material'] [data-select-tag-remove] {
962
+ border-radius:9999px;color:var(--ink-soft);
963
+ }
964
+
965
+ [data-style='material'] [data-select-tag-remove]:hover {
966
+ color:var(--ink);background-color:var(--paper-mute);
967
+ }
968
+
969
+ /* =============================================================================
970
+ Dropdown Panel
971
+ ============================================================================= */
972
+
973
+ [data-style='material'] [data-select-dropdown] {
974
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-mute);
975
+ }
976
+
977
+ /* =============================================================================
978
+ Options
979
+ ============================================================================= */
980
+
981
+ [data-style='material'] [data-select-option] {
982
+ color:var(--ink-mute);
983
+ }
984
+
985
+ [data-style='material'] [data-select-option]:hover:not(:disabled),
986
+ [data-style='material'] [data-select-option]:focus:not(:disabled) {
987
+ background-image:none;background-color:var(--paper-mute);color:var(--ink);
988
+ }
989
+
990
+ [data-style='material'] [data-select-option]:focus-visible {
991
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-inset:inset;--un-ring-color:var(--primary);
992
+ }
993
+
994
+ [data-style='material'] [data-select-option][data-selected='true'] {
995
+ background-image:none;background-color:var(--primary);color:var(--primary);
996
+ }
997
+
998
+ [data-style='material'] [data-select-option][data-selected='true']:hover:not(:disabled),
999
+ [data-style='material'] [data-select-option][data-selected='true']:focus:not(:disabled) {
1000
+ background-image:none;background-color:var(--primary);
1001
+ }
1002
+
1003
+ /* Reset rokkit gradients bleeding in from body[data-style='rokkit'] ancestor */
1004
+ [data-style='material']
1005
+ [data-select-dropdown]:focus-within
1006
+ [data-select-option][data-selected='true'] {
1007
+ background-image:none;
1008
+ }
1009
+
1010
+ /* Check mark */
1011
+ [data-style='material'] [data-select-check] {
1012
+ color:var(--primary);
1013
+ }
1014
+
1015
+ /* Checkbox */
1016
+ [data-style='material'] [data-select-checkbox] {
1017
+ border-radius:0.25rem;background-image:none;border-color:var(--ink-soft);background-color:var(--paper-soft);
1018
+ }
1019
+
1020
+ [data-style='material'] [data-select-checkbox][data-checked='true'] {
1021
+ background-image:none;background-color:var(--primary);border-color:var(--primary);color:var(--on-primary);
1022
+ }
1023
+
1024
+ /* Item elements */
1025
+ [data-style='material'] [data-select-option] [data-item-icon] {
1026
+ color:var(--ink-soft);
1027
+ }
1028
+
1029
+ [data-style='material'] [data-select-option]:hover:not(:disabled) [data-item-icon] {
1030
+ color:var(--ink-mute);
1031
+ }
1032
+
1033
+ [data-style='material'] [data-select-option][data-selected='true'] [data-item-icon] {
1034
+ color:var(--primary);
1035
+ }
1036
+
1037
+ [data-style='material'] [data-select-option] [data-item-description] {
1038
+ color:var(--ink-soft);
1039
+ }
1040
+
1041
+ [data-style='material'] [data-select-option][data-selected='true'] [data-item-description] {
1042
+ color:var(--primary);
1043
+ }
1044
+
1045
+ /* =============================================================================
1046
+ Groups
1047
+ ============================================================================= */
1048
+
1049
+ [data-style='material'] [data-select-group-label] {
1050
+ font-weight:500;color:var(--ink-soft);
1051
+ }
1052
+
1053
+ /* =============================================================================
1054
+ Divider
1055
+ ============================================================================= */
1056
+
1057
+ [data-style='material'] [data-select-divider] {
1058
+ background-image:none;background-color:var(--paper-mute);
1059
+ }
1060
+
1061
+ /* =============================================================================
1062
+ Filter Input
1063
+ ============================================================================= */
1064
+
1065
+ [data-style='material'] [data-select-filter] {
1066
+ background-color:var(--paper-soft);
1067
+ }
1068
+
1069
+ [data-style='material'] [data-select-filter-input] {
1070
+ border-width:1px;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--ink-mute);border-color:var(--paper-edge);background-color:var(--paper-soft);
1071
+ }
1072
+
1073
+ [data-style='material'] [data-select-filter-input]:focus {
1074
+ --un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);border-color:var(--primary);--un-ring-color:var(--primary);
1075
+ }
1076
+
1077
+ [data-style='material'] [data-select-filter-input]::placeholder {
1078
+ color:var(--ink-soft);
1079
+ }
1080
+
1081
+ [data-style='material'] [data-select-empty] {
1082
+ color:var(--ink-soft);
1083
+ }
1084
+
1085
+ /**
1086
+ * Menu - Material Theme Styles
1087
+ *
1088
+ * Material Design inspired with elevation and shadows.
1089
+ */
1090
+
1091
+ /* =============================================================================
1092
+ Menu Trigger
1093
+ ============================================================================= */
1094
+
1095
+ [data-style='material'] [data-menu-trigger] {
1096
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-edge);color:var(--ink-mute);
1097
+ }
1098
+
1099
+ [data-style='material'] [data-menu-trigger]:hover:not(:disabled) {
1100
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink);border-color:var(--ink-soft);
1101
+ }
1102
+
1103
+ [data-style='material'] [data-menu-trigger]:focus-visible {
1104
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:var(--primary);
1105
+ }
1106
+
1107
+ [data-style='material'] [data-menu][data-open='true'] [data-menu-trigger] {
1108
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);border-color:var(--primary);
1109
+ }
1110
+
1111
+ /* Trigger elements */
1112
+ [data-style='material'] [data-menu-trigger] [data-menu-icon] {
1113
+ color:var(--ink-soft);
1114
+ }
1115
+
1116
+ [data-style='material'] [data-menu-trigger]:hover:not(:disabled) [data-menu-icon] {
1117
+ color:var(--ink-mute);
1118
+ }
1119
+
1120
+ [data-style='material'] [data-menu-trigger] [data-menu-arrow] {
1121
+ color:var(--ink-soft);
1122
+ }
1123
+
1124
+ /* =============================================================================
1125
+ Menu Dropdown
1126
+ ============================================================================= */
1127
+
1128
+ [data-style='material'] [data-menu-dropdown] {
1129
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-mute);
1130
+ }
1131
+
1132
+ /* =============================================================================
1133
+ Menu Items
1134
+ ============================================================================= */
1135
+
1136
+ [data-style='material'] [data-menu-item] {
1137
+ color:var(--ink-mute);
1138
+ }
1139
+
1140
+ [data-style='material'] [data-menu-item]:hover:not(:disabled),
1141
+ [data-style='material'] [data-menu-item]:focus:not(:disabled) {
1142
+ background-image:none;outline:2px solid transparent;outline-offset:2px;background-color:var(--paper-mute);color:var(--ink);
1143
+ }
1144
+
1145
+ [data-style='material'] [data-menu-item]:focus-visible {
1146
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-inset:inset;--un-ring-color:var(--primary);
1147
+ }
1148
+
1149
+ /* Item elements */
1150
+ [data-style='material'] [data-menu-item] [data-item-icon] {
1151
+ color:var(--ink-soft);
1152
+ }
1153
+
1154
+ [data-style='material'] [data-menu-item]:hover:not(:disabled) [data-item-icon] {
1155
+ color:var(--ink-mute);
1156
+ }
1157
+
1158
+ [data-style='material'] [data-menu-item] [data-item-description] {
1159
+ color:var(--ink-soft);
1160
+ }
1161
+
1162
+ /* =============================================================================
1163
+ Groups
1164
+ ============================================================================= */
1165
+
1166
+ [data-style='material'] [data-menu-group] {
1167
+ font-weight:500;color:var(--ink-soft);
1168
+ }
1169
+
1170
+ /* =============================================================================
1171
+ Divider
1172
+ ============================================================================= */
1173
+
1174
+ [data-style='material'] [data-menu-separator] {
1175
+ background-image:none;background-color:var(--paper-mute);
1176
+ }
1177
+
1178
+ /**
1179
+ * Dropdown - Material Theme Styles
1180
+ *
1181
+ * Material Design inspired with elevation and shadows.
1182
+ */
1183
+
1184
+ [data-style='material'] [data-dropdown-trigger] {
1185
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-edge);color:var(--ink-mute);
1186
+ }
1187
+
1188
+ [data-style='material'] [data-dropdown-trigger]:hover:not(:disabled) {
1189
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink);border-color:var(--ink-soft);
1190
+ }
1191
+
1192
+ [data-style='material'] [data-dropdown-trigger]:focus-visible {
1193
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:var(--primary);
1194
+ }
1195
+
1196
+ [data-style='material'] [data-dropdown][data-open='true'] [data-dropdown-trigger] {
1197
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);border-color:var(--primary);
1198
+ }
1199
+
1200
+ [data-style='material'] [data-dropdown-trigger] [data-dropdown-icon] {
1201
+ color:var(--ink-soft);
1202
+ }
1203
+
1204
+ [data-style='material'] [data-dropdown-trigger] [data-dropdown-arrow] {
1205
+ color:var(--ink-soft);
1206
+ }
1207
+
1208
+ [data-style='material'] [data-dropdown-panel] {
1209
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-mute);
1210
+ }
1211
+
1212
+ [data-style='material'] [data-dropdown-option] {
1213
+ color:var(--ink-mute);
1214
+ }
1215
+
1216
+ [data-style='material'] [data-dropdown-option]:hover:not(:disabled),
1217
+ [data-style='material'] [data-dropdown-option]:focus:not(:disabled) {
1218
+ background-image:none;outline:2px solid transparent;outline-offset:2px;background-color:var(--paper-mute);color:var(--ink);
1219
+ }
1220
+
1221
+ [data-style='material'] [data-dropdown-option][data-active='true'] {
1222
+ background-image:none;background-color:var(--primary);color:var(--primary);
1223
+ }
1224
+
1225
+ [data-style='material'] [data-dropdown-separator] {
1226
+ background-image:none;background-color:var(--paper-mute);
1227
+ }
1228
+
1229
+ /**
1230
+ * FloatingAction - Material Theme Styles
1231
+ *
1232
+ * Material Design inspired with elevation and shadows.
1233
+ */
1234
+
1235
+ /* =============================================================================
1236
+ FAB Trigger Button
1237
+ ============================================================================= */
1238
+
1239
+ [data-style='material'] [data-fab-trigger] {
1240
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);color:var(--on-primary);
1241
+ }
1242
+
1243
+ [data-style='material'] [data-fab-trigger]:hover:not(:disabled) {
1244
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);
1245
+ transform: scale(1.05);
1246
+ }
1247
+
1248
+ [data-style='material'] [data-fab-trigger]:focus-visible {
1249
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-offset-width:2px;--un-ring-color:var(--primary);
1250
+ }
1251
+
1252
+ [data-style='material'] [data-fab][data-open='true'] [data-fab-trigger] {
1253
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-edge);color:var(--ink);
1254
+ transform: rotate(45deg);
1255
+ }
1256
+
1257
+ [data-style='material'] [data-fab][data-open='true'] [data-fab-trigger]:hover:not(:disabled) {
1258
+ background-image:none;
1259
+ }
1260
+
1261
+ /* =============================================================================
1262
+ FAB Items
1263
+ ============================================================================= */
1264
+
1265
+ [data-style='material'] [data-fab-item] {
1266
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);color:var(--ink-mute);
1267
+ }
1268
+
1269
+ [data-style='material'] [data-fab-item]:hover:not(:disabled) {
1270
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink);
1271
+ }
1272
+
1273
+ [data-style='material'] [data-fab-item]:focus-visible {
1274
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:var(--primary);
1275
+ }
1276
+
1277
+ /* Item icon */
1278
+ [data-style='material'] [data-fab-item] [data-fab-item-icon] {
1279
+ color:var(--primary);
1280
+ }
1281
+
1282
+ [data-style='material'] [data-fab-item]:hover:not(:disabled) [data-fab-item-icon] {
1283
+ color:var(--primary);
1284
+ }
1285
+
1286
+ /* =============================================================================
1287
+ Backdrop
1288
+ ============================================================================= */
1289
+
1290
+ [data-style='material'] [data-fab-backdrop] {
1291
+ background-color:color-mix(in srgb, var(--color-ink) calc(0.5 * 100%), transparent);
1292
+ }
1293
+
1294
+ /**
1295
+ * Table - Material Theme Styles
1296
+ *
1297
+ * Material Design inspired with elevation and shadows.
1298
+ */
1299
+
1300
+ /* =============================================================================
1301
+ Header
1302
+ ============================================================================= */
1303
+
1304
+ [data-style='material'] [data-table-header] th {
1305
+ border-bottom-width:1px;font-weight:500;color:var(--ink-soft);background-color:var(--paper-mute);border-color:var(--paper-edge);
1306
+ }
1307
+
1308
+ [data-style='material'] [data-table-header-cell][data-sortable='true']:hover {
1309
+ color:var(--ink);background-color:var(--paper-mute);
1310
+ }
1311
+
1312
+ [data-style='material'] [data-table-header-cell][data-sort-order='ascending'],
1313
+ [data-style='material'] [data-table-header-cell][data-sort-order='descending'] {
1314
+ color:var(--primary);
1315
+ }
1316
+
1317
+ [data-style='material'] [data-table-sort-icon] {
1318
+ color:var(--ink-soft);
1319
+ }
1320
+
1321
+ [data-style='material']
1322
+ [data-table-header-cell][data-sort-order='ascending']
1323
+ [data-table-sort-icon],
1324
+ [data-style='material']
1325
+ [data-table-header-cell][data-sort-order='descending']
1326
+ [data-table-sort-icon] {
1327
+ color:var(--primary);
1328
+ }
1329
+
1330
+ /* =============================================================================
1331
+ Caption
1332
+ ============================================================================= */
1333
+
1334
+ [data-style='material'] [data-table-caption] {
1335
+ color:var(--ink-mute);
1336
+ }
1337
+
1338
+ /* =============================================================================
1339
+ Rows
1340
+ ============================================================================= */
1341
+
1342
+ [data-style='material'] [data-table-row] {
1343
+ border-bottom-width:1px;color:var(--ink-mute);border-color:var(--paper-mute);
1344
+ }
1345
+
1346
+ [data-style='material'] [data-table-row]:hover {
1347
+ background-image:none;background-color:var(--paper-mute);
1348
+ }
1349
+
1350
+ [data-style='material'] [data-table-row]:focus {
1351
+ background-image:none;outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-inset:inset;background-color:var(--paper-mute);color:var(--ink);--un-ring-color:var(--primary);
1352
+ }
1353
+
1354
+ [data-style='material'] [data-table-row][data-selected='true'] {
1355
+ background-image:none;background-color:var(--primary);color:var(--primary);
1356
+ }
1357
+
1358
+ /* Keyboard-focused row + synthesised TreeTable group row */
1359
+ [data-style='material'] [data-table] tr[data-table-row][data-focused] {
1360
+ background-color:var(--paper-mute);
1361
+ }
1362
+
1363
+ [data-style='material'] [data-table] tr[data-table-row][data-group] {
1364
+ background-color:var(--paper-soft);color:var(--ink);
1365
+ font-weight: 500;
1366
+ }
1367
+
1368
+ /* =============================================================================
1369
+ Striped
1370
+ ============================================================================= */
1371
+
1372
+ [data-style='material'] [data-table-striped] [data-table-body] tr:nth-child(even) {
1373
+ background-color:var(--paper-soft);
1374
+ }
1375
+
1376
+ /* =============================================================================
1377
+ Empty
1378
+ ============================================================================= */
1379
+
1380
+ [data-style='material'] [data-table-empty] {
1381
+ color:var(--ink-soft);
1382
+ }
1383
+
1384
+ /* =============================================================================
1385
+ Cell Icon
1386
+ ============================================================================= */
1387
+
1388
+ [data-style='material'] [data-table-cell] [data-cell-icon] {
1389
+ color:var(--ink-soft);
1390
+ }
1391
+
1392
+ [data-style='material'] [data-table-row][data-selected='true'] [data-cell-icon] {
1393
+ color:var(--primary);
1394
+ }
1395
+
1396
+ /* =============================================================================
1397
+ Responsive Card Layout
1398
+ ============================================================================= */
1399
+
1400
+ @media (max-width: 639px) {
1401
+ [data-style='material'] [data-table-responsive] [data-table-row] {
1402
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);border-color:var(--paper-mute);
1403
+ }
1404
+
1405
+ [data-style='material'] [data-table-responsive] [data-table-cell]::before {
1406
+ color:var(--ink-soft);
1407
+ }
1408
+
1409
+ /* Disable striped alternating bg in card layout */
1410
+ [data-style='material'] [data-table-responsive][data-table-striped] [data-table-body] tr:nth-child(even) {
1411
+ background: unset;
1412
+ }
1413
+ }
1414
+
1415
+ /**
1416
+ * Grid - Material Theme Styles
1417
+ *
1418
+ * Tile borders, hover/focus effects, selection highlight.
1419
+ */
1420
+
1421
+ [data-style='material'] [data-grid-item] {
1422
+ border-color:var(--paper-edge);color:var(--ink-mute);
1423
+ }
1424
+
1425
+ [data-style='material'] [data-grid-item]:hover:not(:disabled):not([data-disabled]),
1426
+ [data-style='material'] [data-grid-item]:focus:not(:disabled):not([data-disabled]) {
1427
+ border-color:var(--ink-soft);background-color:var(--paper-mute);color:var(--ink);
1428
+ }
1429
+
1430
+ [data-style='material'] [data-grid-item][data-active] {
1431
+ border-color:var(--primary);color:var(--primary);
1432
+ }
1433
+
1434
+ [data-style='material'] [data-grid-item] [data-item-icon] {
1435
+ color:var(--ink-soft);
1436
+ }
1437
+
1438
+ [data-style='material'] [data-grid-item][data-active] [data-item-icon] {
1439
+ color:var(--primary);
1440
+ }
1441
+
1442
+ /**
1443
+ * Tooltip - Material Theme Styles
1444
+ */
1445
+
1446
+ [data-style='material'] [data-tooltip-content] {
1447
+ background-color:var(--ink);color:var(--paper);
1448
+ }
1449
+
1450
+ /**
1451
+ * SearchFilter - Material Theme Styles
1452
+ *
1453
+ * Material Design inspired with elevation and shadows.
1454
+ */
1455
+
1456
+ /* =============================================================================
1457
+ Input
1458
+ ============================================================================= */
1459
+
1460
+ [data-style='material'] [data-search-input] {
1461
+ border-width:1px;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--ink-mute);border-color:var(--paper-edge);background-color:var(--paper-soft);
1462
+ }
1463
+
1464
+ [data-style='material'] [data-search-input]:focus {
1465
+ --un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);border-color:var(--primary);--un-ring-color:var(--primary);
1466
+ }
1467
+
1468
+ [data-style='material'] [data-search-input]::placeholder {
1469
+ color:var(--ink-soft);
1470
+ }
1471
+
1472
+ /* =============================================================================
1473
+ Clear Button
1474
+ ============================================================================= */
1475
+
1476
+ [data-style='material'] [data-search-clear] {
1477
+ color:var(--ink-soft);
1478
+ }
1479
+
1480
+ [data-style='material'] [data-search-clear]:hover {
1481
+ border-radius:0.25rem;color:var(--ink-mute);background-color:var(--paper-mute);
1482
+ }
1483
+
1484
+ /* =============================================================================
1485
+ Tags
1486
+ ============================================================================= */
1487
+
1488
+ [data-style='material'] [data-search-tag] {
1489
+ border-radius:9999px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);color:var(--ink-mute);background-color:var(--paper-mute);
1490
+ }
1491
+
1492
+ [data-style='material'] [data-search-tag-remove] {
1493
+ border-radius:9999px;color:var(--ink-soft);
1494
+ }
1495
+
1496
+ [data-style='material'] [data-search-tag-remove]:hover {
1497
+ color:var(--ink);background-color:var(--paper-mute);
1498
+ }
1499
+
1500
+ /**
1501
+ * Range - Material Theme Styles
1502
+ *
1503
+ * Flat design with subtle elevation.
1504
+ */
1505
+
1506
+ /* =============================================================================
1507
+ Track
1508
+ ============================================================================= */
1509
+
1510
+ [data-style='material'] [data-range-bar] {
1511
+ background-color:var(--paper-mute);
1512
+ }
1513
+
1514
+ [data-style='material'] [data-range-selected] {
1515
+ background-image:none;background-color:var(--primary);
1516
+ }
1517
+
1518
+ /* =============================================================================
1519
+ Thumb
1520
+ ============================================================================= */
1521
+
1522
+ [data-style='material'] [data-range-thumb] {
1523
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);border-color:var(--primary);
1524
+ }
1525
+
1526
+ [data-style='material'] [data-range-thumb][data-sliding] {
1527
+ --un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
1528
+ --un-ring-width:4px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--color-primary) calc(0.25 * 100%), transparent);
1529
+ }
1530
+
1531
+ [data-style='material'] [data-range-thumb]:focus-visible {
1532
+ --un-ring-width:4px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--color-primary) calc(0.25 * 100%), transparent);
1533
+ }
1534
+
1535
+ /* =============================================================================
1536
+ Ticks
1537
+ ============================================================================= */
1538
+
1539
+ [data-style='material'] [data-range-tick] {
1540
+ color:var(--ink-soft);
1541
+ }
1542
+
1543
+ [data-style='material'] [data-tick-bar] {
1544
+ border-color:var(--ink-soft);
1545
+ }
1546
+
1547
+ [data-style='material'] [data-tick-label] {
1548
+ color:var(--ink-soft);
1549
+ }
1550
+
1551
+ /* =============================================================================
1552
+ Disabled
1553
+ ============================================================================= */
1554
+
1555
+ [data-style='material'] [data-range][data-disabled] [data-range-thumb] {
1556
+ --un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-edge);border-color:var(--paper-edge);
1557
+ }
1558
+
1559
+ [data-style='material'] [data-range][data-disabled] [data-range-selected] {
1560
+ background-color:var(--paper-edge);
1561
+ }
1562
+
1563
+ /**
1564
+ * Timeline - Material Theme Styles
1565
+ *
1566
+ * Flat design with subtle elevation.
1567
+ */
1568
+
1569
+ /* =============================================================================
1570
+ Circle
1571
+ ============================================================================= */
1572
+
1573
+ [data-style='material'] [data-timeline-circle] {
1574
+ border-color:var(--paper-edge);color:var(--ink-soft);
1575
+ }
1576
+
1577
+ [data-style='material'] [data-timeline-item][data-completed] [data-timeline-circle] {
1578
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);border-color:var(--primary);color:var(--on-primary);
1579
+ }
1580
+
1581
+ [data-style='material'] [data-timeline-item][data-active] [data-timeline-circle] {
1582
+ --un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--color-primary) calc(0.25 * 100%), transparent);border-color:var(--primary);color:var(--primary);
1583
+ }
1584
+
1585
+ /* =============================================================================
1586
+ Connector
1587
+ ============================================================================= */
1588
+
1589
+ [data-style='material'] [data-timeline-connector] {
1590
+ background-color:var(--paper-mute);
1591
+ }
1592
+
1593
+ [data-style='material'] [data-timeline-item][data-completed] [data-timeline-connector] {
1594
+ background-color:var(--primary);
1595
+ }
1596
+
1597
+ /* =============================================================================
1598
+ Body
1599
+ ============================================================================= */
1600
+
1601
+ [data-style='material'] [data-timeline-title] {
1602
+ color:var(--ink-mute);
1603
+ }
1604
+
1605
+ [data-style='material'] [data-timeline-description] {
1606
+ color:var(--ink-soft);
1607
+ }
1608
+
1609
+ /**
1610
+ * FloatingNavigation - Material Theme Styles
1611
+ *
1612
+ * Material Design inspired with elevation and shadows.
1613
+ */
1614
+
1615
+ /* =============================================================================
1616
+ Container
1617
+ ============================================================================= */
1618
+
1619
+ [data-style='material'] [data-floating-nav] {
1620
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);
1621
+ }
1622
+
1623
+ /* =============================================================================
1624
+ Header
1625
+ ============================================================================= */
1626
+
1627
+ [data-style='material'] [data-floating-nav-title] {
1628
+ color:var(--ink-soft);
1629
+ }
1630
+
1631
+ [data-style='material'] [data-floating-nav-pin] {
1632
+ color:var(--ink-soft);
1633
+ }
1634
+
1635
+ [data-style='material'] [data-floating-nav-pin]:hover {
1636
+ color:var(--primary);
1637
+ }
1638
+
1639
+ [data-style='material'] [data-floating-nav-pin][aria-pressed='true'] {
1640
+ color:var(--primary);
1641
+ }
1642
+
1643
+ /* =============================================================================
1644
+ Items
1645
+ ============================================================================= */
1646
+
1647
+ [data-style='material'] [data-floating-nav-item] {
1648
+ color:var(--ink-mute);
1649
+ }
1650
+
1651
+ [data-style='material'] [data-floating-nav-item]:hover {
1652
+ background-image:none;background-color:var(--paper-mute);color:var(--ink);
1653
+ }
1654
+
1655
+ [data-style='material'] [data-floating-nav-item][data-active] {
1656
+ background-color:color-mix(in srgb, var(--color-primary) calc(0.1 * 100%), transparent);background-image:none;color:var(--primary);
1657
+ }
1658
+
1659
+ [data-style='material'] [data-floating-nav-item]:focus-visible {
1660
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:var(--primary);
1661
+ }
1662
+
1663
+ /* Icon */
1664
+ [data-style='material'] [data-floating-nav-icon] {
1665
+ color:var(--ink-soft);
1666
+ }
1667
+
1668
+ [data-style='material'] [data-floating-nav-item]:hover [data-floating-nav-icon] {
1669
+ color:var(--primary);
1670
+ }
1671
+
1672
+ [data-style='material'] [data-floating-nav-item][data-active] [data-floating-nav-icon] {
1673
+ color:var(--primary);
1674
+ }
1675
+
1676
+ /* =============================================================================
1677
+ Active Indicator
1678
+ ============================================================================= */
1679
+
1680
+ [data-style='material'] [data-floating-nav-indicator] {
1681
+ background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);
1682
+ }
1683
+
1684
+ /* TableOfContents — Material theme */
1685
+
1686
+ [data-style='material'] [data-toc] [data-toc-label] {
1687
+ color:var(--ink-soft);
1688
+ }
1689
+
1690
+ [data-style='material'] [data-toc] [data-toc-item] {
1691
+ color:var(--ink-mute);
1692
+ }
1693
+
1694
+ [data-style='material'] [data-toc] [data-toc-item]:hover,
1695
+ [data-style='material'] [data-toc] [data-toc-item][data-toc-focused] {
1696
+ outline:2px solid transparent;outline-offset:2px;color:var(--ink);background-color:var(--paper-mute);
1697
+ }
1698
+
1699
+ [data-style='material'] [data-toc] [data-toc-item][data-toc-active] {
1700
+ color:var(--primary);border-left-color:var(--primary);
1701
+ }
1702
+
1703
+ /**
1704
+ * Card - Material Theme Styles
1705
+ *
1706
+ * Material Design inspired with elevation and shadows.
1707
+ */
1708
+
1709
+ /* =============================================================================
1710
+ Base Card Styles
1711
+ ============================================================================= */
1712
+
1713
+ [data-style='material'] [data-card] {
1714
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-edge);color:var(--ink);
1715
+ }
1716
+
1717
+ /* Interactive cards (buttons) */
1718
+ [data-style='material'] [data-card][data-card-interactive] {
1719
+ cursor: pointer;
1720
+ transition:
1721
+ box-shadow 0.2s ease,
1722
+ transform 0.2s ease;
1723
+ }
1724
+
1725
+ [data-style='material'] [data-card][data-card-interactive]:hover {
1726
+ --un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
1727
+ }
1728
+
1729
+ [data-style='material'] [data-card][data-card-interactive]:active {
1730
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
1731
+ }
1732
+
1733
+ /* =============================================================================
1734
+ Card Sections
1735
+ ============================================================================= */
1736
+
1737
+ [data-style='material'] [data-card-header] {
1738
+ border-bottom-width:1px;border-color:var(--paper-mute);
1739
+ }
1740
+
1741
+ [data-style='material'] [data-card-body] {
1742
+ color:var(--ink-mute);
1743
+ }
1744
+
1745
+ [data-style='material'] [data-card-footer] {
1746
+ border-top-width:1px;border-color:var(--paper-mute);color:var(--ink-mute);
1747
+ }
1748
+
1749
+ /* =============================================================================
1750
+ Focus States
1751
+ ============================================================================= */
1752
+
1753
+ [data-style='material'] [data-card][data-card-interactive]:focus-visible {
1754
+ outline:2px solid transparent;outline-offset:2px;--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-offset-width:2px;--un-ring-color:var(--primary);
1755
+ }
1756
+
1757
+ /* =============================================================================
1758
+ Disabled State
1759
+ ============================================================================= */
1760
+
1761
+ [data-style='material'] [data-card][data-card-interactive][data-disabled],
1762
+ [data-style='material'] [data-card][data-card-interactive]:disabled {
1763
+ cursor:not-allowed;opacity:0.5;--un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);
1764
+ }
1765
+
1766
+ /* =============================================================================
1767
+ Variants
1768
+ ============================================================================= */
1769
+
1770
+ /* Primary — tonal primary container (Material You style) */
1771
+ [data-style='material'] [data-card][data-variant='primary'] {
1772
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--primary);border-color:var(--primary);color:var(--primary);
1773
+ }
1774
+
1775
+ [data-style='material'] [data-card][data-variant='primary'] [data-card-header],
1776
+ [data-style='material'] [data-card][data-variant='primary'] [data-card-footer] {
1777
+ border-color:var(--primary);
1778
+ }
1779
+
1780
+ [data-style='material'] [data-card][data-variant='primary'] [data-card-body] {
1781
+ color:var(--primary);
1782
+ }
1783
+
1784
+ /* Secondary — tonal secondary container */
1785
+ [data-style='material'] [data-card][data-variant='secondary'] {
1786
+ border-width:1px;background-image:none;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--accent-soft);border-color:var(--accent);color:var(--accent);
1787
+ }
1788
+
1789
+ [data-style='material'] [data-card][data-variant='secondary'] [data-card-header],
1790
+ [data-style='material'] [data-card][data-variant='secondary'] [data-card-footer] {
1791
+ border-color:var(--accent-soft);
1792
+ }
1793
+
1794
+ [data-style='material'] [data-card][data-variant='secondary'] [data-card-body] {
1795
+ color:var(--accent);
1796
+ }
1797
+
1798
+ /* Tertiary — elevated surface with no color accent */
1799
+ [data-style='material'] [data-card][data-variant='tertiary'] {
1800
+ border-width:1px;background-image:none;--un-shadow:0 0 var(--un-shadow-color, rgb(0 0 0 / 0));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);border-color:var(--paper-mute);color:var(--ink-mute);
1801
+ }
1802
+
1803
+ /**
1804
+ * Frame — material theme.
1805
+ * Border + background decoration. Base file owns layout / spacing.
1806
+ */
1807
+
1808
+ [data-style='material'] [data-frame] {
1809
+ border-width:1px;background-color:var(--paper);border-color:var(--paper-edge);
1810
+ }
1811
+
1812
+ [data-style='material'] [data-frame-header] {
1813
+ border-bottom-width:1px;background-color:var(--paper-soft);border-color:var(--paper-edge);
1814
+ }
1815
+
1816
+ [data-style='material'] [data-frame-footer] {
1817
+ background-color:var(--paper);border-color:var(--paper-edge);
1818
+ border-top: 1px dashed var(--paper-edge);
1819
+ }
1820
+
1821
+ /**
1822
+ * CodeBlock — material theme.
1823
+ * Frame supplies the chrome; this adds typography + muted tokens for
1824
+ * the title row, lang chip, action buttons, and pre/code body.
1825
+ */
1826
+
1827
+ [data-style='material'] [data-code-block-icon] {
1828
+ color:var(--ink-soft);
1829
+ }
1830
+
1831
+ [data-style='material'] [data-code-block-filename] {
1832
+ font: 500 11.5px var(--font-mono);
1833
+ color:var(--ink-mute);
1834
+ }
1835
+
1836
+ [data-style='material'] [data-code-block-lang] {
1837
+ font: 500 10px var(--font-mono);
1838
+ border-width:1px;color:var(--ink-soft);border-color:var(--paper-edge);
1839
+ }
1840
+
1841
+ [data-style='material'] [data-code-block-actions] button {
1842
+ font: 500 11px var(--font-mono);
1843
+ color:var(--ink-soft);
1844
+ }
1845
+
1846
+ [data-style='material'] [data-code-block-actions] button:hover {
1847
+ background-color:var(--paper-mute);color:var(--ink);
1848
+ }
1849
+
1850
+ [data-style='material'] [data-code-block-body] pre {
1851
+ font: 400 12px/1.65 var(--font-mono);
1852
+ color:var(--ink);
1853
+ }
1854
+
1855
+ /**
1856
+ * Message - Material Theme Styles
1857
+ */
1858
+
1859
+ [data-style='material'] [data-message-root][data-type='error'] {
1860
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--error-soft);border-color:var(--error);color:var(--error);
1861
+ }
1862
+ [data-style='material'] [data-message-root][data-type='error'] [data-message-icon],
1863
+ [data-style='material'] [data-message-root][data-type='error'] [data-message-dismiss] {
1864
+ color:var(--error);
1865
+ }
1866
+
1867
+ [data-style='material'] [data-message-root][data-type='warning'] {
1868
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--warning-soft);border-color:var(--warning);color:var(--warning);
1869
+ }
1870
+ [data-style='material'] [data-message-root][data-type='warning'] [data-message-icon],
1871
+ [data-style='material'] [data-message-root][data-type='warning'] [data-message-dismiss] {
1872
+ color:var(--warning);
1873
+ }
1874
+
1875
+ [data-style='material'] [data-message-root][data-type='info'] {
1876
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--info-soft);border-color:var(--info);color:var(--info);
1877
+ }
1878
+ [data-style='material'] [data-message-root][data-type='info'] [data-message-icon],
1879
+ [data-style='material'] [data-message-root][data-type='info'] [data-message-dismiss] {
1880
+ color:var(--info);
1881
+ }
1882
+
1883
+ [data-style='material'] [data-message-root][data-type='success'] {
1884
+ --un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--success-soft);border-color:var(--success);color:var(--success);
1885
+ }
1886
+ [data-style='material'] [data-message-root][data-type='success'] [data-message-icon],
1887
+ [data-style='material'] [data-message-root][data-type='success'] [data-message-dismiss] {
1888
+ color:var(--success);
1889
+ }
1890
+
1891
+ /**
1892
+ * StatusList - Material Theme Styles
1893
+ */
1894
+
1895
+ /* ── @rokkit/ui StatusList: icon and text colors by status ── */
1896
+
1897
+ [data-style='material'] [data-status-item][data-status='pass'] span {
1898
+ color:var(--success);
1899
+ }
1900
+ [data-style='material'] [data-status-item][data-status='fail'] span {
1901
+ color:var(--error);
1902
+ }
1903
+ [data-style='material'] [data-status-item][data-status='warn'] span {
1904
+ color:var(--warning);
1905
+ }
1906
+ [data-style='material'] [data-status-item][data-status='unknown'] span {
1907
+ color:var(--paper-edge);
1908
+ }
1909
+
1910
+ [data-style='material'] [data-status-item][data-status='pass'] {
1911
+ color:var(--success);
1912
+ }
1913
+ [data-style='material'] [data-status-item][data-status='fail'] {
1914
+ color:var(--error);
1915
+ }
1916
+ [data-style='material'] [data-status-item][data-status='warn'] {
1917
+ color:var(--warning);
1918
+ }
1919
+ [data-style='material'] [data-status-item][data-status='unknown'] {
1920
+ color:var(--ink-soft);
1921
+ }
1922
+
1923
+ /* ── @rokkit/forms StatusList: group headers by severity ── */
1924
+
1925
+ [data-style='material'] [data-status-group][data-severity='error'] [data-status-header] {
1926
+ color:var(--error);
1927
+ }
1928
+ [data-style='material'] [data-status-group][data-severity='warning'] [data-status-header] {
1929
+ color:var(--warning);
1930
+ }
1931
+ [data-style='material'] [data-status-group][data-severity='info'] [data-status-header] {
1932
+ color:var(--info);
1933
+ }
1934
+ [data-style='material'] [data-status-group][data-severity='success'] [data-status-header] {
1935
+ color:var(--success);
1936
+ }
1937
+
1938
+ /* ── @rokkit/forms StatusList: item colors ── */
1939
+
1940
+ [data-style='material'] [data-status-item][data-status='error'] {
1941
+ color:var(--error);
1942
+ }
1943
+ [data-style='material'] [data-status-item][data-status='warning'] {
1944
+ color:var(--warning);
1945
+ }
1946
+ [data-style='material'] [data-status-item][data-status='info'] {
1947
+ color:var(--info);
1948
+ }
1949
+ [data-style='material'] [data-status-item][data-status='success'] {
1950
+ color:var(--success);
1951
+ }
1952
+
1953
+ /* Count badge */
1954
+ [data-style='material'] [data-status-count] {
1955
+ background-image:none;font-weight:600;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-mute);color:var(--ink-mute);
1956
+ }
1957
+
1958
+ /* StepIndicator — Material theme (elevation + subtle depth) */
1959
+
1960
+ /* ── Number circles ── */
1961
+
1962
+ [data-style='material'] [data-step-item][data-step-state='complete'] [data-step-number] {
1963
+ background-image:none;background-color:var(--primary);border-color:var(--primary);color:var(--on-primary);
1964
+ }
1965
+
1966
+ [data-style='material'] [data-step-item][data-step-state='current'] [data-step-number] {
1967
+ background-image:none;--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--color-primary) calc(0.15 * 100%), transparent);background-color:var(--paper-mute);border-color:var(--primary);color:var(--primary);
1968
+ }
1969
+
1970
+ [data-style='material'] [data-step-item][data-step-state='upcoming'] [data-step-number] {
1971
+ background-image:none;background-color:var(--paper-mute);border-color:var(--paper-mute);color:var(--ink-soft);
1972
+ }
1973
+
1974
+ /* ── Labels ── */
1975
+
1976
+ [data-style='material'] [data-step-item][data-step-state='complete'] [data-step-label] {
1977
+ background-image:none;color:var(--primary);
1978
+ }
1979
+
1980
+ [data-style='material'] [data-step-item][data-step-state='current'] [data-step-label] {
1981
+ background-image:none;font-weight:600;color:var(--ink);
1982
+ }
1983
+
1984
+ [data-style='material'] [data-step-item][data-step-state='upcoming'] [data-step-label] {
1985
+ background-image:none;color:var(--ink-soft);
1986
+ }
1987
+
1988
+ /* ── Connector lines ── */
1989
+
1990
+ [data-style='material'] [data-step-item][data-step-state='complete']::after {
1991
+ background-color:var(--primary);
1992
+ }
1993
+
1994
+ [data-style='material'] [data-step-item][data-step-state='current']::after,
1995
+ [data-style='material'] [data-step-item][data-step-state='upcoming']::after {
1996
+ background-color:var(--paper-mute);
1997
+ }
1998
+
1999
+ /**
2000
+ * Chart - Material Theme Styles
2001
+ */
2002
+
2003
+ [data-style='material'] [data-chart-axis-line],
2004
+ [data-style='material'] [data-chart-tick] line {
2005
+ stroke:var(--paper-mute);
2006
+ }
2007
+
2008
+ [data-style='material'] [data-chart-tick-label] {
2009
+ fill:var(--ink-soft);
2010
+ }
2011
+
2012
+ [data-style='material'] [data-chart-grid-line] {
2013
+ stroke:var(--paper-mute);
2014
+ stroke-opacity: 0.5;
2015
+ stroke-dasharray: 2 4;
2016
+ }
2017
+
2018
+ [data-style='material'] [data-chart-legend-label] {
2019
+ fill:var(--ink-soft);
2020
+ }
2021
+
2022
+ [data-style='material'] [data-chart-legend-item]:hover {
2023
+ color:var(--ink-mute);
2024
+ }
2025
+
2026
+ [data-style='material'] [data-plot-element='bar'][data-dimmed],
2027
+ [data-style='material'] [data-plot-element='point'][data-dimmed],
2028
+ [data-style='material'] [data-plot-element='arc'][data-dimmed],
2029
+ [data-style='material'] [data-plot-element='line'][data-dimmed],
2030
+ [data-style='material'] [data-plot-element='area'][data-dimmed] {
2031
+ opacity: 0.15;
2032
+ }
2033
+
2034
+ [data-style='material'] [data-facet-title] {
2035
+ color:var(--ink-soft);
2036
+ }
2037
+
2038
+ /**
2039
+ * Swatch — Material Theme
2040
+ * Selected: secondary outline ring. Hover/focus: primary outline ring.
2041
+ */
2042
+
2043
+ [data-style='material'] [data-swatch-item][data-selected] {
2044
+ background: transparent;
2045
+ outline-color:var(--accent);
2046
+ }
2047
+
2048
+ [data-style='material']
2049
+ [data-swatch-item]:hover:not(:disabled):not([data-disabled]):not([data-selected]),
2050
+ [data-style='material']
2051
+ [data-swatch-item]:focus-visible:not(:disabled):not([data-disabled]):not([data-selected]) {
2052
+ outline-color:var(--primary);
2053
+ }
2054
+
2055
+ [data-style='material'] [data-swatch-item][data-selected]:focus-visible {
2056
+ outline-color:var(--accent);
2057
+ outline-offset: 3px;
2058
+ }
2059
+
2060
+ /**
2061
+ * PaletteManager — Material Theme
2062
+ * Color layer for the headless base structure in base/palette-manager.css.
2063
+ */
2064
+
2065
+ /* Container */
2066
+ [data-style='material'] [data-palette-manager] {
2067
+ background-color:var(--paper);color:var(--ink);border-color:var(--paper-edge);
2068
+ }
2069
+
2070
+ /* Section labels */
2071
+ [data-style='material'] [data-palette-presets-label],
2072
+ [data-style='material'] [data-palette-custom-label] {
2073
+ color:var(--ink-mute);
2074
+ }
2075
+
2076
+ /* Presets */
2077
+ [data-style='material'] [data-palette-preset] {
2078
+ background-color:var(--paper-soft);color:var(--ink);border-color:var(--paper-edge);
2079
+ }
2080
+
2081
+ [data-style='material'] [data-palette-preset]:hover {
2082
+ background-color:var(--paper-mute);
2083
+ }
2084
+
2085
+ [data-style='material'] [data-palette-preset][data-active] {
2086
+ color:var(--primary);border-color:var(--primary);
2087
+ }
2088
+
2089
+ [data-style='material'] [data-palette-preset-swatch] {
2090
+ border-color:var(--paper-edge);
2091
+ }
2092
+
2093
+ /* Custom palettes */
2094
+ [data-style='material'] [data-palette-custom-item] {
2095
+ background-color:var(--paper-soft);color:var(--ink-mute);border-color:var(--paper-edge);
2096
+ }
2097
+
2098
+ [data-style='material'] [data-palette-custom-item]:hover {
2099
+ background-color:var(--paper-mute);color:var(--ink);
2100
+ }
2101
+
2102
+ [data-style='material'] [data-palette-custom-item][data-active] {
2103
+ color:var(--primary);border-color:var(--primary);
2104
+ }
2105
+
2106
+ /* Role rows */
2107
+ [data-style='material'] [data-palette-role-label] {
2108
+ color:var(--ink);
2109
+ }
2110
+
2111
+ /* Color pickers */
2112
+ [data-style='material'] [data-palette-color-select],
2113
+ [data-style='material'] [data-palette-color-input] {
2114
+ background-color:var(--paper-soft);color:var(--ink);border-color:var(--paper-edge);
2115
+ }
2116
+
2117
+ [data-style='material'] [data-palette-color-input]::placeholder {
2118
+ color:var(--ink-faint);
2119
+ }
2120
+
2121
+ [data-style='material'] [data-palette-color-select]:focus-visible,
2122
+ [data-style='material'] [data-palette-color-input]:focus-visible {
2123
+ outline-color:var(--focus-ring);border-color:var(--focus-ring);
2124
+ }
2125
+
2126
+ /* Hex toggle */
2127
+ [data-style='material'] [data-palette-hex-toggle] {
2128
+ background-color:var(--paper-soft);color:var(--ink-mute);border-color:var(--paper-edge);
2129
+ }
2130
+
2131
+ [data-style='material'] [data-palette-hex-toggle]:hover {
2132
+ background-color:var(--paper-mute);color:var(--ink);
2133
+ }
2134
+
2135
+ /* Shade ramp */
2136
+ [data-style='material'] [data-palette-shades] {
2137
+ border-color:var(--paper-edge);
2138
+ }
2139
+
2140
+ /* Actions — Save = secondary / outlined */
2141
+ [data-style='material'] [data-palette-save] {
2142
+ background-color:var(--paper-soft);color:var(--ink-mute);border-color:var(--paper-edge);
2143
+ }
2144
+
2145
+ [data-style='material'] [data-palette-save]:hover {
2146
+ background-color:var(--paper-mute);color:var(--ink);
2147
+ }
2148
+
2149
+ /* Actions — Apply = primary */
2150
+ [data-style='material'] [data-palette-apply] {
2151
+ background-color:var(--primary);color:var(--on-primary);border-color:var(--primary);
2152
+ }
2153
+
2154
+ [data-style='material'] [data-palette-apply]:hover {
2155
+ background-color:var(--accent);border-color:var(--accent);
2156
+ }
2157
+
2158
+ /**
2159
+ * ProgressBar - Material Theme Styles
2160
+ *
2161
+ * Default track + primary fill colors.
2162
+ */
2163
+
2164
+ [data-style='material'] [data-progress] {
2165
+ background-color:var(--paper-mute);
2166
+ }
2167
+
2168
+ [data-style='material'] [data-progress-bar] {
2169
+ background-color:var(--primary);
2170
+ }
2171
+
2172
+ /**
2173
+ * Pill - Material Theme Styles
2174
+ *
2175
+ * Muted surface chip with soft remove affordance.
2176
+ */
2177
+
2178
+ [data-style='material'] [data-pill] {
2179
+ background-color:var(--paper-mute);color:var(--ink);
2180
+ }
2181
+
2182
+ [data-style='material'] [data-pill-remove] {
2183
+ color:var(--ink-soft);
2184
+ }
2185
+
2186
+ [data-style='material'] [data-pill-remove]:hover:not(:disabled) {
2187
+ color:var(--ink);
2188
+ }
2189
+
2190
+ /**
2191
+ * Rating - Material Theme Styles
2192
+ *
2193
+ * Faint empty icons, warning-toned filled icons.
2194
+ */
2195
+
2196
+ [data-style='material'] [data-rating-icon] {
2197
+ color:var(--ink-faint);
2198
+ }
2199
+
2200
+ [data-style='material'] [data-rating-item][data-filled] [data-rating-icon] {
2201
+ color:var(--warning);
2202
+ }
2203
+
2204
+ /**
2205
+ * CommandPalette - Material Theme Styles
2206
+ *
2207
+ * Material Design inspired with elevation and shadows.
2208
+ */
2209
+
2210
+ [data-style='material'] [data-command-backdrop] {
2211
+ background: rgb(0 0 0 / 0.35);
2212
+ }
2213
+
2214
+ [data-style='material'] [data-command-palette] {
2215
+ border-width:1px;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);background-color:var(--paper-soft);border-color:var(--paper-mute);
2216
+ }
2217
+
2218
+ [data-style='material'] [data-command-input] {
2219
+ color:var(--ink);
2220
+ }[data-style='material'] [data-command-input]::placeholder{color:var(--ink-soft);}
2221
+
2222
+ [data-style='material'] [data-command-item] {
2223
+ color:var(--ink-mute);
2224
+ }
2225
+
2226
+ [data-style='material'] [data-command-item][data-active] {
2227
+ background-color:var(--primary);color:var(--on-primary);
2228
+ }
2229
+
2230
+ [data-style='material'] [data-command-shortcut] {
2231
+ color:var(--ink-soft);
2232
+ }
2233
+
2234
+ [data-style='material'] [data-command-label] {
2235
+ font-size:0.75rem;line-height:1rem;font-weight:500;color:var(--ink-soft);
2236
+ }
2237
+
2238
+ [data-style='material'] [data-command-empty] {
2239
+ color:var(--ink-soft);
2240
+ }
2241
+