@rokkit/themes 1.1.15 → 1.1.17

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