ui-style-kit-css 2.2.0 → 2.4.0

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 (122) hide show
  1. package/CHANGELOG.md +77 -1
  2. package/CONTRIBUTING.md +8 -1
  3. package/README.md +171 -53
  4. package/STYLE-MAP.md +28 -5
  5. package/dist/assets/bauhaus-barlow-OFL.txt +93 -0
  6. package/dist/assets/bauhaus-barlow-semibold.ttf +0 -0
  7. package/dist/assets/bauhaus-barlow.ttf +0 -0
  8. package/dist/assets/bauhaus-condensed-OFL.txt +93 -0
  9. package/dist/assets/bauhaus-condensed-bold.ttf +0 -0
  10. package/dist/assets/bauhaus-condensed-extrabold.ttf +0 -0
  11. package/dist/assets/bento-manrope-OFL.txt +93 -0
  12. package/dist/assets/bento-manrope.ttf +0 -0
  13. package/dist/assets/clay-grain.png +0 -0
  14. package/dist/assets/clay-rounded-OFL.txt +93 -0
  15. package/dist/assets/clay-rounded.ttf +0 -0
  16. package/dist/assets/neo-noir-corner-dark.png +0 -0
  17. package/dist/assets/neo-noir-corner-light.png +0 -0
  18. package/dist/assets/neo-noir-texture-dark.png +0 -0
  19. package/dist/assets/neo-noir-texture-light.png +0 -0
  20. package/dist/assets/organic-display-OFL.txt +93 -0
  21. package/dist/assets/organic-display.ttf +0 -0
  22. package/dist/assets/organic-icons-LICENSE.txt +21 -0
  23. package/dist/assets/organic-sans-OFL.txt +93 -0
  24. package/dist/assets/organic-sans.ttf +0 -0
  25. package/dist/ui-style-kit.css +55604 -6525
  26. package/dist/ui-style-kit.min.css +2 -2
  27. package/dist/ui-style-kit.visual.css +55443 -6942
  28. package/dist/ui-style-kit.visual.min.css +2 -2
  29. package/dist/ui-style-kit.with-bridge.css +55646 -6551
  30. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  31. package/dist/visual/art-deco.css +7318 -0
  32. package/dist/visual/bauhaus.css +2 -2961
  33. package/dist/visual/bento.css +2 -2980
  34. package/dist/visual/brutalism.css +2679 -352
  35. package/dist/visual/clay.css +5 -0
  36. package/dist/visual/cyberpunk.css +4482 -781
  37. package/dist/visual/data-terminal.css +6182 -0
  38. package/dist/visual/editorial-luxe.css +6450 -0
  39. package/dist/visual/industrial-utility.css +7259 -0
  40. package/dist/visual/maximalist.css +4080 -1025
  41. package/dist/visual/minimal-saas.css +3305 -888
  42. package/dist/visual/neo-noir.css +5 -0
  43. package/dist/visual/neumorphism.css +3582 -975
  44. package/dist/visual/organic-modern.css +5 -0
  45. package/dist/visual/paper-editorial.css +7074 -0
  46. package/dist/visual/retro-glass.css +4426 -760
  47. package/dist/visual/retrofuturism.css +3676 -875
  48. package/dist/visual/tactile.css +4568 -1036
  49. package/dist/visual/technical-blueprint.css +6713 -0
  50. package/dist/visual/y2k.css +3672 -753
  51. package/docs/ART-DECO.md +80 -0
  52. package/docs/BAUHAUS.md +152 -0
  53. package/docs/BENTO.md +121 -0
  54. package/docs/CLAY.md +127 -0
  55. package/docs/DEMO-SHOWCASE.md +65 -0
  56. package/docs/ECOSYSTEM.md +9 -5
  57. package/docs/EDITORIAL-LUX.md +75 -0
  58. package/docs/INDUSTRIAL-UTILITY.md +131 -0
  59. package/docs/NATIVE-ELEMENTS.md +23 -17
  60. package/docs/NEO-NOIR.md +94 -0
  61. package/docs/ORGANIC-MODERN.md +91 -0
  62. package/docs/PAPER-EDITORIAL.md +63 -0
  63. package/docs/PUBLISHING.md +36 -11
  64. package/docs/RELEASE-2.4.0.md +88 -0
  65. package/docs/RETRO-GLASS.md +105 -0
  66. package/docs/STYLE-GUIDE.md +68 -13
  67. package/docs/TACTILE.md +38 -0
  68. package/docs/TECHNICAL-BLUEPRINT.md +60 -0
  69. package/docs/TOKENS.md +90 -4
  70. package/docs/superpowers/plans/2026-08-29-preset-identity-system-refinement.md +649 -0
  71. package/docs/superpowers/plans/2026-09-04-library-wide-theme-fallback-and-fidelity.md +331 -0
  72. package/docs/superpowers/specs/2026-08-29-preset-identity-system-refinement-design.md +212 -0
  73. package/docs/superpowers/specs/2026-09-04-library-wide-theme-fallback-and-fidelity-design.md +113 -0
  74. package/manifest.json +769 -20
  75. package/package.json +79 -14
  76. package/styles/art-deco.css +2068 -0
  77. package/styles/assets/bauhaus-barlow-OFL.txt +93 -0
  78. package/styles/assets/bauhaus-barlow-semibold.ttf +0 -0
  79. package/styles/assets/bauhaus-barlow.ttf +0 -0
  80. package/styles/assets/bauhaus-condensed-OFL.txt +93 -0
  81. package/styles/assets/bauhaus-condensed-bold.ttf +0 -0
  82. package/styles/assets/bauhaus-condensed-extrabold.ttf +0 -0
  83. package/styles/assets/bento-manrope-OFL.txt +93 -0
  84. package/styles/assets/bento-manrope.ttf +0 -0
  85. package/styles/assets/clay-grain.png +0 -0
  86. package/styles/assets/clay-rounded-OFL.txt +93 -0
  87. package/styles/assets/clay-rounded.ttf +0 -0
  88. package/styles/assets/neo-noir-corner-dark.png +0 -0
  89. package/styles/assets/neo-noir-corner-light.png +0 -0
  90. package/styles/assets/neo-noir-texture-dark.png +0 -0
  91. package/styles/assets/neo-noir-texture-light.png +0 -0
  92. package/styles/assets/organic-display-OFL.txt +93 -0
  93. package/styles/assets/organic-display.ttf +0 -0
  94. package/styles/assets/organic-icons-LICENSE.txt +21 -0
  95. package/styles/assets/organic-sans-OFL.txt +93 -0
  96. package/styles/assets/organic-sans.ttf +0 -0
  97. package/styles/bauhaus.css +1092 -87
  98. package/styles/bento.css +1413 -86
  99. package/styles/brutalism.css +493 -10
  100. package/styles/clay.css +1927 -0
  101. package/styles/compat-layout.css +1 -2
  102. package/styles/components.css +698 -33
  103. package/styles/content-overflow.css +434 -9
  104. package/styles/cyberpunk.css +2082 -46
  105. package/styles/data-terminal.css +1795 -0
  106. package/styles/editorial-luxe.css +1251 -0
  107. package/styles/industrial-utility.css +2449 -0
  108. package/styles/interactive-surface-bridge.css +40 -24
  109. package/styles/interactive-surface-theme.css +31 -13
  110. package/styles/maximalist.css +1410 -94
  111. package/styles/minimal-saas.css +675 -73
  112. package/styles/native-elements.css +396 -168
  113. package/styles/neo-noir.css +1332 -0
  114. package/styles/neumorphism.css +1155 -52
  115. package/styles/organic-modern.css +1353 -0
  116. package/styles/paper-editorial.css +1724 -0
  117. package/styles/retro-glass.css +870 -42
  118. package/styles/retrofuturism.css +1173 -55
  119. package/styles/tactile.css +2018 -84
  120. package/styles/technical-blueprint.css +1337 -0
  121. package/styles/theme-colors.css +796 -5
  122. package/styles/y2k.css +1182 -40
package/styles/bento.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /* =========================================================
2
2
  UI Style Kit CSS — Bento UI Theme System
3
- Includes 10 color schemes, light/dark/contrast modes,
3
+ Includes 20 color schemes, light/dark/contrast modes,
4
4
  component classes, native element coverage, and CSS-only
5
5
  accessibility presentation helpers.
6
6
 
@@ -15,20 +15,30 @@
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
17
 
18
+ @font-face {
19
+ font-family: "Bento Manrope";
20
+ src: url("./assets/bento-manrope.ttf") format("truetype");
21
+ font-style: normal;
22
+ font-weight: 200 800;
23
+ font-display: swap;
24
+ }
25
+
18
26
  @layer ui-style-kit.bento {
19
27
  :root {
20
- --bento-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
21
- --bento-font-display: Inter, ui-sans-serif, system-ui, sans-serif;
28
+ --bento-font-sans: "Bento Manrope", ui-sans-serif, system-ui, sans-serif;
29
+ --bento-font-display: var(--bento-font-sans);
22
30
  --bento-font-body: var(--bento-font-sans);
23
31
  --bento-font-heading: var(--bento-font-display);
24
32
  --bento-font-control: var(--bento-font-display);
25
33
  --bento-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
26
- --bento-radius-xs: .25rem;
27
- --bento-radius-sm: .5rem;
28
- --bento-radius-md: 1rem;
29
- --bento-radius-lg: 1.75rem;
30
- --bento-radius-xl: calc(1.75rem + .5rem);
34
+ --bento-radius-xs: .375rem;
35
+ --bento-radius-sm: .625rem;
36
+ --bento-radius-md: .75rem;
37
+ --bento-radius-lg: 1rem;
38
+ --bento-radius-xl: 1.5rem;
31
39
  --bento-radius-pill: 999px;
40
+ --bento-control-radius: .75rem;
41
+ --bento-tile-radius: 1.5rem;
32
42
  --bento-space-1: .25rem;
33
43
  --bento-space-2: .5rem;
34
44
  --bento-space-3: .75rem;
@@ -42,15 +52,61 @@
42
52
 
43
53
  [data-ui="bento"][data-mode="light"] {
44
54
  color-scheme: light;
45
- --bento-panel-alpha: .98;
46
- --bento-panel-soft-alpha: .78;
47
- --bento-border-alpha: .58;
48
- --bento-shadow-alpha: .12;
49
- --bento-focus-alpha: .34;
55
+ --bento-fallback-bg-rgb: 247 244 252;
56
+ --bento-fallback-surface-rgb: 255 255 255;
57
+ --bento-fallback-surface-strong-rgb: 252 250 255;
58
+ --bento-fallback-surface-soft-rgb: 233 226 246;
59
+ --bento-fallback-text-rgb: 36 26 58;
60
+ --bento-fallback-text-muted-rgb: 103 92 121;
61
+ --bento-fallback-border-rgb: 207 197 227;
62
+ --bento-fallback-primary-rgb: 101 82 184;
63
+ --bento-fallback-primary-hover-rgb: 75 59 152;
64
+ --bento-fallback-primary-text-rgb: 255 255 255;
65
+ --bento-fallback-secondary-rgb: 105 82 163;
66
+ --bento-fallback-secondary-hover-rgb: 81 63 129;
67
+ --bento-fallback-secondary-text-rgb: 255 255 255;
68
+ --bento-fallback-accent-rgb: 196 156 232;
69
+ --bento-fallback-accent-text-rgb: 0 0 0;
70
+ --bento-fallback-success-rgb: 62 122 98;
71
+ --bento-fallback-success-text-rgb: 255 255 255;
72
+ --bento-fallback-warning-rgb: 152 100 0;
73
+ --bento-fallback-warning-text-rgb: 255 255 255;
74
+ --bento-fallback-danger-rgb: 168 58 96;
75
+ --bento-fallback-danger-text-rgb: 255 255 255;
76
+ --bento-fallback-link-rgb: 75 59 152;
77
+ --bento-fallback-focus-rgb: 141 117 209;
78
+ --bento-panel-alpha: .96;
79
+ --bento-panel-soft-alpha: .72;
80
+ --bento-border-alpha: .38;
81
+ --bento-shadow-alpha: .14;
82
+ --bento-focus-alpha: .32;
50
83
  }
51
84
 
52
85
  [data-ui="bento"][data-mode="dark"] {
53
86
  color-scheme: dark;
87
+ --bento-fallback-bg-rgb: 18 13 29;
88
+ --bento-fallback-surface-rgb: 28 21 43;
89
+ --bento-fallback-surface-strong-rgb: 42 32 64;
90
+ --bento-fallback-surface-soft-rgb: 23 17 34;
91
+ --bento-fallback-text-rgb: 245 240 255;
92
+ --bento-fallback-text-muted-rgb: 196 184 217;
93
+ --bento-fallback-border-rgb: 93 79 120;
94
+ --bento-fallback-primary-rgb: 169 148 242;
95
+ --bento-fallback-primary-hover-rgb: 196 181 255;
96
+ --bento-fallback-primary-text-rgb: 0 0 0;
97
+ --bento-fallback-secondary-rgb: 209 183 245;
98
+ --bento-fallback-secondary-hover-rgb: 229 213 255;
99
+ --bento-fallback-secondary-text-rgb: 0 0 0;
100
+ --bento-fallback-accent-rgb: 231 198 255;
101
+ --bento-fallback-accent-text-rgb: 0 0 0;
102
+ --bento-fallback-success-rgb: 145 223 184;
103
+ --bento-fallback-success-text-rgb: 0 0 0;
104
+ --bento-fallback-warning-rgb: 255 210 122;
105
+ --bento-fallback-warning-text-rgb: 0 0 0;
106
+ --bento-fallback-danger-rgb: 255 153 183;
107
+ --bento-fallback-danger-text-rgb: 0 0 0;
108
+ --bento-fallback-link-rgb: 209 183 245;
109
+ --bento-fallback-focus-rgb: 209 183 245;
54
110
  --bento-panel-alpha: .92;
55
111
  --bento-panel-soft-alpha: .64;
56
112
  --bento-border-alpha: .52;
@@ -60,6 +116,29 @@
60
116
 
61
117
  [data-ui="bento"][data-mode="contrast"] {
62
118
  color-scheme: dark;
119
+ --bento-fallback-bg-rgb: 0 0 0;
120
+ --bento-fallback-surface-rgb: 12 7 20;
121
+ --bento-fallback-surface-strong-rgb: 26 16 40;
122
+ --bento-fallback-surface-soft-rgb: 0 0 0;
123
+ --bento-fallback-text-rgb: 255 255 255;
124
+ --bento-fallback-text-muted-rgb: 247 240 255;
125
+ --bento-fallback-border-rgb: 255 255 255;
126
+ --bento-fallback-primary-rgb: 184 156 255;
127
+ --bento-fallback-primary-hover-rgb: 255 255 255;
128
+ --bento-fallback-primary-text-rgb: 0 0 0;
129
+ --bento-fallback-secondary-rgb: 113 255 226;
130
+ --bento-fallback-secondary-hover-rgb: 255 255 255;
131
+ --bento-fallback-secondary-text-rgb: 0 0 0;
132
+ --bento-fallback-accent-rgb: 255 208 242;
133
+ --bento-fallback-accent-text-rgb: 0 0 0;
134
+ --bento-fallback-success-rgb: 0 255 144;
135
+ --bento-fallback-success-text-rgb: 0 0 0;
136
+ --bento-fallback-warning-rgb: 255 212 0;
137
+ --bento-fallback-warning-text-rgb: 0 0 0;
138
+ --bento-fallback-danger-rgb: 255 102 139;
139
+ --bento-fallback-danger-text-rgb: 0 0 0;
140
+ --bento-fallback-link-rgb: 201 181 255;
141
+ --bento-fallback-focus-rgb: 255 255 255;
63
142
  --bento-panel-alpha: 1;
64
143
  --bento-panel-soft-alpha: .92;
65
144
  --bento-border-alpha: 1;
@@ -67,8 +146,8 @@
67
146
  --bento-focus-alpha: .72;
68
147
  }
69
148
 
149
+ /** Preserves direct aliases for static extraction when a scheme is selected. */
70
150
  [data-ui="bento"][data-theme][data-mode] {
71
- /* Shared scheme aliases preserve the existing prefixed token API. */
72
151
  --bento-bg-rgb: var(--usk-bg-rgb);
73
152
  --bento-surface-rgb: var(--usk-surface-rgb);
74
153
  --bento-surface-strong-rgb: var(--usk-surface-strong-rgb);
@@ -83,15 +162,43 @@
83
162
  --bento-secondary-hover-rgb: var(--usk-secondary-hover-rgb);
84
163
  --bento-secondary-text-rgb: var(--usk-secondary-text-rgb);
85
164
  --bento-accent-rgb: var(--usk-accent-rgb);
86
- --bento-success-rgb: var(--usk-success-rgb);
87
- --bento-warning-rgb: var(--usk-warning-rgb);
88
- --bento-danger-rgb: var(--usk-danger-rgb);
89
- --bento-link-rgb: var(--usk-link-rgb);
90
165
  --bento-accent-text-rgb: var(--usk-accent-text-rgb);
166
+ --bento-success-rgb: var(--usk-success-rgb);
91
167
  --bento-success-text-rgb: var(--usk-success-text-rgb);
168
+ --bento-warning-rgb: var(--usk-warning-rgb);
92
169
  --bento-warning-text-rgb: var(--usk-warning-text-rgb);
170
+ --bento-danger-rgb: var(--usk-danger-rgb);
93
171
  --bento-danger-text-rgb: var(--usk-danger-text-rgb);
172
+ --bento-link-rgb: var(--usk-link-rgb);
94
173
  --bento-focus-rgb: var(--usk-focus-rgb);
174
+ }
175
+
176
+ [data-ui="bento"][data-mode] {
177
+ --usk-native-bg: var(--bento-bg);
178
+ /* Explicit schemes win; reference colors are used only when no scheme exists. */
179
+ --bento-bg-rgb: var(--usk-bg-rgb, var(--bento-fallback-bg-rgb));
180
+ --bento-surface-rgb: var(--usk-surface-rgb, var(--bento-fallback-surface-rgb));
181
+ --bento-surface-strong-rgb: var(--usk-surface-strong-rgb, var(--bento-fallback-surface-strong-rgb));
182
+ --bento-surface-soft-rgb: var(--usk-surface-soft-rgb, var(--bento-fallback-surface-soft-rgb));
183
+ --bento-text-rgb: var(--usk-text-rgb, var(--bento-fallback-text-rgb));
184
+ --bento-text-muted-rgb: var(--usk-text-muted-rgb, var(--bento-fallback-text-muted-rgb));
185
+ --bento-border-rgb: var(--usk-border-rgb, var(--bento-fallback-border-rgb));
186
+ --bento-primary-rgb: var(--usk-primary-rgb, var(--bento-fallback-primary-rgb));
187
+ --bento-primary-hover-rgb: var(--usk-primary-hover-rgb, var(--bento-fallback-primary-hover-rgb));
188
+ --bento-primary-text-rgb: var(--usk-primary-text-rgb, var(--bento-fallback-primary-text-rgb));
189
+ --bento-secondary-rgb: var(--usk-secondary-rgb, var(--bento-fallback-secondary-rgb));
190
+ --bento-secondary-hover-rgb: var(--usk-secondary-hover-rgb, var(--bento-fallback-secondary-hover-rgb));
191
+ --bento-secondary-text-rgb: var(--usk-secondary-text-rgb, var(--bento-fallback-secondary-text-rgb));
192
+ --bento-accent-rgb: var(--usk-accent-rgb, var(--bento-fallback-accent-rgb));
193
+ --bento-accent-text-rgb: var(--usk-accent-text-rgb, var(--bento-fallback-accent-text-rgb));
194
+ --bento-success-rgb: var(--usk-success-rgb, var(--bento-fallback-success-rgb));
195
+ --bento-success-text-rgb: var(--usk-success-text-rgb, var(--bento-fallback-success-text-rgb));
196
+ --bento-warning-rgb: var(--usk-warning-rgb, var(--bento-fallback-warning-rgb));
197
+ --bento-warning-text-rgb: var(--usk-warning-text-rgb, var(--bento-fallback-warning-text-rgb));
198
+ --bento-danger-rgb: var(--usk-danger-rgb, var(--bento-fallback-danger-rgb));
199
+ --bento-danger-text-rgb: var(--usk-danger-text-rgb, var(--bento-fallback-danger-text-rgb));
200
+ --bento-link-rgb: var(--usk-link-rgb, var(--bento-fallback-link-rgb));
201
+ --bento-focus-rgb: var(--usk-focus-rgb, var(--bento-fallback-focus-rgb));
95
202
  /* Native fallback selectors inherit visual identity through shared tokens. */
96
203
  --usk-native-surface: var(--bento-surface);
97
204
  --usk-native-surface-strong: var(--bento-surface-strong);
@@ -114,14 +221,65 @@
114
221
  --usk-native-font-control: var(--bento-font-control);
115
222
  --usk-native-font-mono: var(--bento-font-mono);
116
223
  --usk-native-radius-sm: var(--bento-radius-sm);
117
- --usk-native-radius: var(--bento-radius-md);
118
- --usk-native-radius-lg: var(--bento-radius-lg);
224
+ --usk-native-radius: var(--bento-control-radius);
225
+ --usk-native-radius-lg: var(--bento-tile-radius);
119
226
  --usk-native-shadow: var(--bento-shadow-sm, none);
120
227
  --usk-native-shadow-md: var(--bento-shadow-md, var(--usk-native-shadow));
121
228
  --usk-native-focus-ring: var(--bento-focus-ring, 0 0 0 3px rgb(var(--bento-focus-rgb) / .28));
122
229
  --usk-native-border-width: 1px;
123
230
  --usk-native-field-gap: .5rem;
124
- --usk-native-panel-padding: var(--bento-space-5);
231
+ --usk-native-panel-padding: var(--bento-space-6);
232
+ --usk-native-control-min-block-size: 2.75rem;
233
+ --usk-native-control-padding-block: .68rem;
234
+ --usk-native-control-padding-inline: 1rem;
235
+ --usk-native-subcontrol-padding-block: .55rem;
236
+ --usk-native-subcontrol-padding-inline: .85rem;
237
+ --usk-native-choice-size: 1.25rem;
238
+ --usk-native-choice-background: var(--bento-control-bg);
239
+ --usk-native-choice-border: 1px solid var(--bento-border);
240
+ --usk-native-checkbox-radius: .375rem;
241
+ --usk-native-radio-radius: 50%;
242
+ --usk-native-choice-shadow: 0 .2rem .55rem rgb(var(--bento-text-rgb) / .12), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .7);
243
+ --usk-native-choice-checked-background: var(--bento-primary);
244
+ --usk-native-choice-mark-color: var(--bento-on-primary);
245
+ --usk-native-select-indicator-image: linear-gradient(30deg, transparent 50%, var(--bento-primary) 50%), linear-gradient(150deg, var(--bento-primary) 50%, transparent 50%);
246
+ --usk-native-select-indicator-size: 0.38rem 0.38rem, 0.38rem 0.38rem;
247
+ --usk-native-select-indicator-position: calc(100% - 1.08rem) 50%, calc(100% - 0.78rem) 50%;
248
+ --usk-native-select-padding-inline-end: 2.4rem;
249
+ --usk-native-range-track-size: .6rem;
250
+ --usk-native-range-track-background: var(--bento-surface-soft);
251
+ --usk-native-range-track-border: 0 solid transparent;
252
+ --usk-native-range-track-radius: 999px;
253
+ --usk-native-range-track-shadow: inset 0 1px 2px rgb(var(--bento-text-rgb) / .12);
254
+ --usk-native-range-progress-background: var(--bento-primary);
255
+ --usk-native-range-thumb-size: 1.35rem;
256
+ --usk-native-range-thumb-background: var(--bento-surface-strong);
257
+ --usk-native-range-thumb-border: 1px solid rgb(var(--bento-primary-rgb) / .28);
258
+ --usk-native-range-thumb-radius: .5rem;
259
+ --usk-native-range-thumb-shadow: 0 .35rem .8rem rgb(var(--bento-text-rgb) / .18), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .78);
260
+ --usk-native-progress-size: .6rem;
261
+ --usk-native-progress-track-background: var(--bento-surface-soft);
262
+ --usk-native-progress-track-border: 0 solid transparent;
263
+ --usk-native-progress-track-radius: 999px;
264
+ --usk-native-progress-track-shadow: inset 0 1px 2px rgb(var(--bento-text-rgb) / .12);
265
+ --usk-native-progress-value-background: var(--bento-primary);
266
+ --usk-native-progress-value-radius: inherit;
267
+ --usk-native-progress-value-shadow: none;
268
+ --usk-native-meter-optimum-background: var(--bento-success);
269
+ --usk-native-meter-suboptimum-background: var(--bento-warning);
270
+ --usk-native-meter-critical-background: var(--bento-danger);
271
+ --usk-native-file-button-background: var(--bento-primary);
272
+ --usk-native-file-button-border: 1px solid rgb(var(--bento-primary-rgb) / .24);
273
+ --usk-native-file-button-radius: var(--bento-radius-md);
274
+ --usk-native-file-button-shadow: 0 .3rem .7rem rgb(var(--bento-primary-rgb) / .18);
275
+ --usk-native-color-swatch-border: 1px solid var(--bento-border);
276
+ --usk-native-color-swatch-radius: var(--bento-radius-md);
277
+ --usk-native-indicator-opacity: 0.77;
278
+ --usk-native-indicator-filter: none;
279
+ --usk-native-scrollbar-size: .8rem;
280
+ --usk-native-scrollbar-track: var(--bento-surface-soft);
281
+ --usk-native-scrollbar-thumb: var(--bento-primary);
282
+ --usk-native-scrollbar-radius: var(--bento-radius-pill);
125
283
  --bento-bg: rgb(var(--bento-bg-rgb));
126
284
  --bento-surface: rgb(var(--bento-surface-rgb) / var(--bento-panel-alpha));
127
285
  --bento-surface-strong: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
@@ -131,7 +289,7 @@
131
289
  --bento-fg: var(--bento-text);
132
290
  --bento-surface-fg: var(--bento-text);
133
291
  --bento-muted: var(--bento-text-muted);
134
- --bento-border: rgb(var(--bento-border-rgb) / var(--bento-border-alpha));
292
+ --bento-border: rgb(var(--bento-border-rgb) / max(var(--bento-border-alpha), var(--usk-border-min-alpha)));
135
293
  --bento-control-fg: var(--bento-text);
136
294
  --bento-primary: rgb(var(--bento-primary-rgb));
137
295
  --bento-primary-hover: rgb(var(--bento-primary-hover-rgb));
@@ -152,15 +310,26 @@
152
310
  --bento-link: rgb(var(--bento-link-rgb));
153
311
  --bento-focus: rgb(var(--bento-focus-rgb));
154
312
  --bento-focus-ring: 0 0 0 3px rgb(var(--bento-focus-rgb) / var(--bento-focus-alpha));
313
+ --bento-shadow-sm: 0 .35rem 1rem rgb(var(--bento-text-rgb) / calc(var(--bento-shadow-alpha) * .72)), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .58);
314
+ --bento-shadow-md: 0 .95rem 2.35rem rgb(var(--bento-text-rgb) / var(--bento-shadow-alpha)), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .62);
315
+ --bento-tile-edge: rgb(var(--bento-border-rgb) / calc(var(--bento-border-alpha) * .34));
316
+ --bento-tile-shadow: 0 .85rem 2.2rem rgb(var(--bento-text-rgb) / calc(var(--bento-shadow-alpha) * .82)), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .68);
155
317
  --bento-theme-bg-size: auto;
156
- --bento-theme-bg: radial-gradient(circle at 0% 0%, rgb(var(--bento-primary-rgb) / .16), transparent 32rem), radial-gradient(circle at 100% 0%, rgb(var(--bento-accent-rgb) / .12), transparent 30rem), radial-gradient(circle at 50% 100%, rgb(var(--bento-secondary-rgb) / .10), transparent 34rem), var(--bento-bg);
157
- --bento-card-bg: linear-gradient(135deg, rgb(var(--bento-primary-rgb) / .10), rgb(var(--bento-accent-rgb) / .055) 42%, rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)) 100%), var(--bento-surface);
158
- --bento-control-bg: linear-gradient(180deg, rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)), rgb(var(--bento-surface-soft-rgb) / var(--bento-panel-soft-alpha)));
318
+ --bento-theme-bg: radial-gradient(circle at 18% 8%, rgb(var(--bento-primary-rgb) / .10), transparent 30rem), radial-gradient(circle at 88% 4%, rgb(var(--bento-accent-rgb) / .10), transparent 28rem), linear-gradient(180deg, rgb(var(--bento-primary-rgb) / .035), transparent 32rem), var(--bento-bg);
319
+ --bento-card-bg: linear-gradient(145deg, rgb(var(--bento-primary-rgb) / .12), rgb(var(--bento-accent-rgb) / .07)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
320
+ --bento-control-bg: linear-gradient(180deg, rgb(var(--bento-primary-rgb) / .045), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)));
321
+ --bento-tile-primary-bg: linear-gradient(145deg, rgb(var(--bento-primary-rgb) / .16), rgb(var(--bento-primary-rgb) / .06)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
322
+ --bento-tile-accent-bg: linear-gradient(145deg, rgb(var(--bento-accent-rgb) / .15), rgb(var(--bento-primary-rgb) / .05)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
323
+ --bento-tile-secondary-bg: linear-gradient(145deg, rgb(var(--bento-secondary-rgb) / .14), rgb(var(--bento-accent-rgb) / .05)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
159
324
  --bento-spinner-track: rgb(var(--bento-border-rgb) / max(.28, calc(var(--bento-border-alpha) * .7)));
160
325
  --bento-spinner-stroke: var(--bento-primary);
161
326
  --bento-spinner-accent: var(--bento-accent);
162
327
  }
163
328
 
329
+ @supports (color: color-mix(in srgb, black, white)) {
330
+ [data-ui="bento"][data-mode] { --bento-border: color-mix(in srgb, rgb(var(--bento-border-rgb) / max(var(--bento-border-alpha), var(--usk-border-min-alpha))), var(--bento-text) var(--usk-border-text-mix)); }
331
+ }
332
+
164
333
 
165
334
 
166
335
 
@@ -197,7 +366,7 @@
197
366
 
198
367
  [data-ui="bento"] {
199
368
  min-height: 100vh;
200
- background: radial-gradient(circle at 20% 5%, rgb(var(--bento-accent-rgb) / .18), transparent 26rem), radial-gradient(circle at 85% 0%, rgb(var(--bento-secondary-rgb) / .12), transparent 24rem), var(--bento-bg);
369
+ background: var(--bento-bg);
201
370
  color: var(--bento-text);
202
371
  font-family: var(--bento-font-body);
203
372
  line-height: 1.5;
@@ -210,7 +379,7 @@
210
379
  [data-ui="bento"] *::before,
211
380
  [data-ui="bento"] *::after { box-sizing: border-box; }
212
381
 
213
- [data-ui="bento"][data-theme][data-mode] { background: var(--bento-theme-bg); background-size: var(--bento-theme-bg-size); }
382
+ [data-ui="bento"][data-mode] { background: var(--bento-theme-bg); background-size: var(--bento-theme-bg-size); }
214
383
 
215
384
  .bento-page { min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); }
216
385
  .bento-container { width: min(100% - 2rem, 1200px); margin-inline: auto; }
@@ -225,10 +394,10 @@
225
394
  ========================================================= */
226
395
 
227
396
  .bento-title, .bento-heading, .bento-kicker, .bento-button, .bento-badge, .bento-nav-link { font-family: var(--bento-font-heading); }
228
- .bento-title { margin: 0; color: var(--bento-text); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -0.055em; }
229
- .bento-heading { margin: 0; color: var(--bento-text); font-size: clamp(1.2rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -0.03em; }
397
+ .bento-title { margin: 0; color: var(--bento-text); font-size: clamp(2.1rem, 5.5vw, 3.9rem); font-weight: 800; line-height: 1.02; letter-spacing: -.045em; }
398
+ .bento-heading { margin: 0; color: var(--bento-text); font-size: clamp(1.25rem, 2.75vw, 2.1rem); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; }
230
399
  .bento-kicker { margin: 0; color: var(--bento-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
231
- .bento-subtitle, .bento-copy { margin: 0; color: var(--bento-text-muted); line-height: 1.65; }
400
+ .bento-subtitle, .bento-copy { margin: 0; color: var(--bento-text-muted); line-height: 1.55; }
232
401
  .bento-text-muted { color: var(--bento-text-muted); }
233
402
  .bento-divider { width: 100%; height: 1px; border: 0; background: var(--bento-border); }
234
403
 
@@ -238,19 +407,19 @@
238
407
 
239
408
  .bento-surface, .bento-card, .bento-panel, .bento-toolbar, .bento-table-wrap {
240
409
  position: relative;
241
- background: linear-gradient(135deg, rgb(var(--bento-primary-rgb) / .08), transparent 36%), linear-gradient(180deg, rgb(255 255 255 / .08), rgb(255 255 255 / 0)), var(--bento-surface);
410
+ background: var(--bento-card-bg);
242
411
  color: var(--bento-text);
243
- border: 1px solid var(--bento-border);
244
- border-radius: var(--bento-radius-lg);
245
- box-shadow: 0 16px 40px rgb(0 0 0 / var(--bento-shadow-alpha));
412
+ border: 1px solid var(--bento-tile-edge);
413
+ border-radius: var(--bento-tile-radius);
414
+ box-shadow: var(--bento-tile-shadow);
246
415
  transition: transform var(--bento-transition-base), box-shadow var(--bento-transition-base), border-color var(--bento-transition-base), background var(--bento-transition-base);
247
416
  }
248
417
  .bento-card, .bento-panel { padding: var(--bento-space-6); }
249
418
  .bento-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--bento-space-4); padding: var(--bento-space-4); }
250
- .bento-surface-sm { border-radius: var(--bento-radius-md); box-shadow: 0 6px 18px rgb(0 0 0 / calc(var(--bento-shadow-alpha) * .72)); }
251
- .bento-surface-lg { border-radius: var(--bento-radius-xl); box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--bento-shadow-alpha) + .08)); }
252
- .bento-well, .bento-inset { background: var(--bento-surface-soft); color: var(--bento-text); border: 1px solid rgb(var(--bento-border-rgb) / calc(var(--bento-border-alpha) * .7)); border-radius: var(--bento-radius-md); padding: var(--bento-space-5); box-shadow: inset 0 1px 3px rgb(0 0 0 / .08); }
253
- .bento-hover-lift:hover { transform: translateY(-3px) scale(1.005); box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--bento-shadow-alpha) + .12)); }
419
+ .bento-surface-sm { border-radius: var(--bento-radius-md); box-shadow: var(--bento-shadow-sm); }
420
+ .bento-surface-lg { border-radius: var(--bento-radius-xl); box-shadow: 0 1rem 2.5rem rgb(var(--bento-text-rgb) / calc(var(--bento-shadow-alpha) + .04)); }
421
+ .bento-well, .bento-inset { background: var(--bento-tile-secondary-bg); color: var(--bento-text); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-lg); padding: var(--bento-space-5); box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .72), inset 0 -1px 2px rgb(var(--bento-text-rgb) / .08); }
422
+ .bento-hover-lift:hover { transform: translateY(-2px); box-shadow: 0 1.1rem 2.4rem rgb(var(--bento-text-rgb) / calc(var(--bento-shadow-alpha) + .06)); }
254
423
 
255
424
  /* =========================================================
256
425
  Buttons
@@ -258,26 +427,26 @@
258
427
 
259
428
  .bento-button, .bento-icon-button {
260
429
  appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: var(--bento-space-2);
261
- min-height: 2.75rem; padding: .75rem 1.1rem; background: var(--bento-surface); color: var(--bento-text);
262
- border: 1px solid var(--bento-border); border-radius: var(--bento-radius-md); box-shadow: 0 6px 18px rgb(0 0 0 / var(--bento-shadow-alpha));
430
+ min-height: 2.75rem; padding: .7rem 1.1rem; background: var(--bento-control-bg); color: var(--bento-text);
431
+ border: 1px solid var(--bento-border); border-radius: var(--bento-control-radius); box-shadow: var(--bento-shadow-sm);
263
432
  font: inherit; font-weight: 800; line-height: 1; text-decoration: none; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none;
264
433
  transition: color var(--bento-transition-fast), background var(--bento-transition-fast), border-color var(--bento-transition-fast), box-shadow var(--bento-transition-fast), transform var(--bento-transition-fast);
265
434
  }
266
- .bento-button:hover, .bento-icon-button:hover { transform: translateY(-1px); border-color: var(--bento-primary); }
267
- .bento-button:active, .bento-icon-button:active, .bento-button[aria-pressed="true"], .bento-icon-button[aria-pressed="true"], .bento-button.is-active, .bento-icon-button.is-active { transform: translateY(1px); box-shadow: inset 0 3px 10px rgb(0 0 0 / .18); }
435
+ .bento-button:hover, .bento-icon-button:hover { transform: translateY(-1px); background: var(--bento-surface-soft); border-color: rgb(var(--bento-primary-rgb) / .48); }
436
+ .bento-button:active, .bento-icon-button:active, .bento-button[aria-pressed="true"], .bento-icon-button[aria-pressed="true"], .bento-button.is-active, .bento-icon-button.is-active { transform: translateY(1px); box-shadow: inset 0 2px 6px rgb(var(--bento-text-rgb) / .14); }
268
437
  .bento-button-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
269
438
  .bento-button-primary:hover { background: var(--bento-primary-hover); border-color: var(--bento-primary-hover); }
270
- .bento-button-secondary { background: var(--bento-secondary); color: var(--bento-on-secondary); border-color: var(--bento-secondary); }
271
- .bento-button-secondary:hover { background: var(--bento-secondary-hover); border-color: var(--bento-secondary-hover); }
439
+ .bento-button-secondary { background: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); color: var(--bento-primary); border-color: rgb(var(--bento-primary-rgb) / .32); box-shadow: none; }
440
+ .bento-button-secondary:hover { background: rgb(var(--bento-primary-rgb) / .06); border-color: rgb(var(--bento-primary-rgb) / .52); }
272
441
  .bento-button-danger { background: var(--bento-danger); color: var(--bento-on-danger); border-color: var(--bento-danger); }
273
- .bento-button-ghost { background: transparent; color: var(--bento-text); box-shadow: none; }
274
- .bento-icon-button { width: 2.75rem; padding: 0; border-radius: var(--bento-radius-pill); }
442
+ .bento-button-ghost { background: transparent; color: var(--bento-primary); border-color: transparent; box-shadow: none; }
443
+ .bento-icon-button { width: 2.75rem; padding: 0; border-radius: var(--bento-control-radius); }
275
444
  .bento-button:disabled, .bento-icon-button:disabled, .bento-disabled { opacity: .55; cursor: not-allowed; transform: none; }
276
445
 
277
446
  /* Theme-responsive component defaults */
278
447
  .bento-card, .bento-panel { background: var(--bento-card-bg); }
279
448
  .bento-toolbar, .bento-table-wrap { background: var(--bento-control-bg); }
280
- .bento-button:not(.bento-button-primary):not(.bento-button-secondary):not(.bento-button-danger):not(.bento-button-ghost), .bento-icon-button { background: var(--bento-control-bg); }
449
+ .bento-button:where(:not(.bento-button-primary):not(.bento-button-secondary):not(.bento-button-danger):not(.bento-button-warning):not(.bento-button-ghost):not(.is-primary):not(.is-secondary):not(.is-danger):not(.is-ghost):not(.is-hover):not(.is-busy)), .bento-icon-button { background: var(--bento-control-bg); }
281
450
  .bento-button, .bento-icon-button, .bento-badge, .bento-nav-link { font-family: var(--bento-font-control); }
282
451
 
283
452
 
@@ -286,77 +455,77 @@
286
455
  ========================================================= */
287
456
 
288
457
  .bento-field { display: flex; flex-direction: column; gap: var(--bento-space-2); }
289
- .bento-label { color: var(--bento-text); font-size: .925rem; font-weight: 800; }
458
+ .bento-label { color: var(--bento-text); font-size: .9rem; font-weight: 750; }
290
459
  .bento-input, .bento-textarea, .bento-select {
291
- width: 100%; min-height: 2.875rem; padding: .75rem 1rem; background: var(--bento-surface-soft); color: var(--bento-text);
292
- border: 1px solid var(--bento-border); border-radius: var(--bento-radius-md); font: inherit; outline: none;
460
+ width: 100%; min-height: 2.75rem; padding: .68rem 1rem; background: var(--bento-control-bg); color: var(--bento-text);
461
+ border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-control-radius); box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .72); font: inherit; outline: none;
293
462
  transition: background var(--bento-transition-fast), border-color var(--bento-transition-fast), box-shadow var(--bento-transition-fast);
294
463
  }
295
- .bento-textarea { min-height: 8rem; resize: vertical; }
464
+ .bento-textarea { min-height: 7rem; resize: vertical; }
296
465
  .bento-input::placeholder, .bento-textarea::placeholder { color: var(--bento-text-muted); opacity: .82; }
297
- .bento-input:hover, .bento-textarea:hover, .bento-select:hover { border-color: rgb(var(--bento-primary-rgb) / .58); }
466
+ .bento-input:hover, .bento-textarea:hover, .bento-select:hover { border-color: rgb(var(--bento-primary-rgb) / .42); }
298
467
  .bento-input:focus, .bento-textarea:focus, .bento-select:focus { border-color: var(--bento-focus); box-shadow: var(--bento-focus-ring); }
299
468
  .bento-help-text { color: var(--bento-text-muted); font-size: .875rem; line-height: 1.45; }
300
469
 
301
470
  /* Checkbox / Radio */
302
471
  .bento-check, .bento-radio { display: inline-flex; align-items: center; gap: var(--bento-space-2); color: var(--bento-text); cursor: pointer; }
303
472
  .bento-check input, .bento-radio input { position: absolute; opacity: 0; pointer-events: none; }
304
- .bento-check-control, .bento-radio-control { display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; background: var(--bento-surface-soft); border: 1px solid var(--bento-border); transition: background var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
473
+ .bento-check-control, .bento-radio-control { display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; background: var(--bento-control-bg); border: 1px solid var(--bento-tile-edge); box-shadow: var(--bento-shadow-sm); transition: background var(--bento-transition-fast), border-color var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
305
474
  .bento-check-control { border-radius: var(--bento-radius-xs); }
306
475
  .bento-radio-control { border-radius: 50%; }
307
- .bento-check input:checked + .bento-check-control, .bento-radio input:checked + .bento-radio-control { background: var(--bento-primary); border-color: var(--bento-primary); box-shadow: var(--bento-focus-ring); }
308
- .bento-check input:checked + .bento-check-control::after { content: "✓"; color: var(--bento-on-primary); font-size: .9rem; font-weight: 900; }
309
- .bento-radio input:checked + .bento-radio-control::after { content: ""; width: .55rem; height: .55rem; background: var(--bento-on-primary); border-radius: 50%; }
476
+ .bento-check input:checked + .bento-check-control, .bento-radio input:checked + .bento-radio-control { background: var(--bento-primary); border-color: var(--bento-primary); box-shadow: 0 0 0 .16rem rgb(var(--bento-primary-rgb) / .18); }
477
+ .bento-check input:checked + .bento-check-control::after { content: "✓"; color: var(--bento-on-primary); font-size: .78rem; font-weight: 900; line-height: 1; }
478
+ .bento-radio input:checked + .bento-radio-control::after { content: ""; width: .48rem; height: .48rem; background: var(--bento-on-primary); border-radius: 50%; }
310
479
 
311
480
  /* Switch */
312
481
  .bento-switch { display: inline-flex; align-items: center; gap: var(--bento-space-3); color: var(--bento-text); cursor: pointer; }
313
482
  .bento-switch input { position: absolute; opacity: 0; pointer-events: none; }
314
- .bento-switch-track { position: relative; width: 3.5rem; height: 1.9rem; background: var(--bento-surface-soft); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-pill); transition: background var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
315
- .bento-switch-thumb { position: absolute; top: .22rem; left: .22rem; width: 1.34rem; height: 1.34rem; background: var(--bento-surface-strong); border: 1px solid var(--bento-border); border-radius: 50%; box-shadow: 0 4px 12px rgb(0 0 0 / var(--bento-shadow-alpha)); transition: left var(--bento-transition-fast), background var(--bento-transition-fast); }
483
+ .bento-switch-track { position: relative; width: 3rem; height: 1.6rem; background: var(--bento-surface-soft); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-pill); box-shadow: inset 0 1px 3px rgb(var(--bento-text-rgb) / .12); transition: background var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
484
+ .bento-switch-thumb { position: absolute; top: .16rem; left: .16rem; width: 1.15rem; height: 1.15rem; background: var(--bento-surface-strong); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-sm); box-shadow: var(--bento-shadow-sm); transition: left var(--bento-transition-fast), background var(--bento-transition-fast); }
316
485
  .bento-switch input:checked + .bento-switch-track { background: var(--bento-primary); border-color: var(--bento-primary); }
317
- .bento-switch input:checked + .bento-switch-track .bento-switch-thumb { left: calc(100% - 1.34rem - .22rem); background: var(--bento-on-primary); }
486
+ .bento-switch input:checked + .bento-switch-track .bento-switch-thumb { left: calc(100% - 1.15rem - .16rem); background: var(--bento-on-primary); }
318
487
 
319
488
  /* =========================================================
320
489
  Badges / Nav / Progress / Alerts / Tables
321
490
  ========================================================= */
322
491
 
323
- .bento-badge { display: inline-flex; align-items: center; gap: var(--bento-space-1); min-height: 1.75rem; padding: .35rem .7rem; background: var(--bento-surface-soft); color: var(--bento-text); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-pill); font-size: .8125rem; font-weight: 850; line-height: 1; }
492
+ .bento-badge { display: inline-flex; align-items: center; gap: var(--bento-space-1); min-height: 1.75rem; padding: .38rem .72rem; background: var(--bento-tile-secondary-bg); color: var(--bento-text); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-sm); box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .62); font-size: .8125rem; font-weight: 800; line-height: 1; }
324
493
  .bento-badge-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
325
- .bento-badge-secondary { background: var(--bento-secondary); color: var(--bento-on-secondary); border-color: var(--bento-secondary); }
326
- .bento-badge-success { background: var(--bento-success); color: var(--bento-on-success); border-color: var(--bento-success); }
327
- .bento-badge-warning { background: var(--bento-warning); color: var(--bento-on-warning); border-color: var(--bento-warning); }
328
- .bento-badge-danger { background: var(--bento-danger); color: var(--bento-on-danger); border-color: var(--bento-danger); }
494
+ .bento-badge-secondary { background: rgb(var(--bento-primary-rgb) / .10); color: var(--bento-primary); border-color: transparent; }
495
+ .bento-badge-success { background: rgb(var(--bento-success-rgb) / .14); color: var(--bento-success); border-color: transparent; }
496
+ .bento-badge-warning { background: rgb(var(--bento-warning-rgb) / .14); color: var(--bento-warning); border-color: transparent; }
497
+ .bento-badge-danger { background: rgb(var(--bento-danger-rgb) / .14); color: var(--bento-danger); border-color: transparent; }
329
498
 
330
- .bento-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bento-space-2); padding: var(--bento-space-2); background: var(--bento-surface); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-xl); box-shadow: 0 10px 30px rgb(0 0 0 / var(--bento-shadow-alpha)); }
331
- .bento-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: .65rem 1rem; color: var(--bento-text-muted); border-radius: var(--bento-radius-pill); text-decoration: none; font-weight: 850; transition: color var(--bento-transition-fast), background var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
499
+ .bento-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bento-space-2); padding: var(--bento-space-2); background: var(--bento-card-bg); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-tile-radius); box-shadow: var(--bento-tile-shadow); }
500
+ .bento-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: .6rem 1rem; color: var(--bento-text-muted); border-radius: var(--bento-control-radius); text-decoration: none; font-weight: 800; transition: color var(--bento-transition-fast), background var(--bento-transition-fast), box-shadow var(--bento-transition-fast); }
332
501
  .bento-nav-link:hover { color: var(--bento-text); background: var(--bento-surface-soft); }
333
502
  .bento-nav-link[aria-current="page"], .bento-nav-link.is-active { color: var(--bento-on-primary); background: var(--bento-primary); }
334
503
 
335
504
  /* Tooltips use compact contrast surfaces that stay readable across theme modes. */
336
505
  .bento-tooltip, [data-ui="bento"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) {
337
506
  display: inline-flex; align-items: center; gap: .45rem; max-inline-size: 16rem; padding: .6rem .8rem;
338
- background: linear-gradient(135deg, rgb(var(--bento-primary-rgb) / .18), transparent 52%), var(--bento-surface-strong);
339
- color: var(--bento-text); border: 1px solid rgb(var(--bento-border-rgb) / .7); border-radius: var(--bento-radius-sm);
340
- box-shadow: 0 .65rem 1.35rem rgb(0 0 0 / var(--bento-shadow-alpha)); font-size: .82rem; font-weight: 850; line-height: 1.35;
507
+ background: var(--bento-text); color: var(--bento-bg); border: 1px solid rgb(var(--bento-border-rgb) / .7); border-radius: var(--bento-radius-md);
508
+ box-shadow: 0 .75rem 1.6rem rgb(var(--bento-text-rgb) / .24); font-size: .82rem; font-weight: 800; line-height: 1.35;
341
509
  }
342
- .bento-tooltip-arrow { inline-size: .6rem; block-size: .6rem; flex: 0 0 auto; background: var(--bento-primary); border-radius: var(--bento-radius-xs); transform: rotate(45deg); }
510
+ .bento-tooltip-arrow { inline-size: .6rem; block-size: .6rem; flex: 0 0 auto; background: currentColor; border-radius: var(--bento-radius-xs); opacity: .9; transform: rotate(45deg); }
343
511
 
344
- .bento-progress { width: 100%; height: .9rem; overflow: hidden; background: var(--bento-surface-soft); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-pill); }
345
- .bento-progress-bar { height: 100%; width: var(--bento-progress-value, 50%); background: linear-gradient(90deg, var(--bento-primary), var(--bento-accent)); border-radius: inherit; }
512
+ .bento-progress { width: 100%; height: .6rem; overflow: hidden; background: linear-gradient(90deg, rgb(var(--bento-surface-soft-rgb) / .86), rgb(var(--bento-primary-rgb) / .08)); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-pill); box-shadow: inset 0 1px 2px rgb(var(--bento-text-rgb) / .12); }
513
+ .bento-progress-bar { height: 100%; width: var(--bento-progress-value, 50%); background: var(--bento-primary); border-radius: inherit; }
346
514
 
347
- .bento-alert { display: grid; gap: var(--bento-space-2); padding: var(--bento-space-4); background: var(--bento-surface); color: var(--bento-text); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-lg); box-shadow: 0 10px 30px rgb(0 0 0 / var(--bento-shadow-alpha)); }
348
- .bento-alert-success { border-left-color: var(--bento-success); }
349
- .bento-alert-warning { border-left-color: var(--bento-warning); }
350
- .bento-alert-danger { border-left-color: var(--bento-danger); }
515
+ .bento-alert { display: grid; gap: var(--bento-space-2); padding: var(--bento-space-5); background: var(--bento-tile-primary-bg); color: var(--bento-text); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-tile-radius); box-shadow: var(--bento-shadow-sm); }
516
+ .bento-alert-success { background: linear-gradient(145deg, rgb(var(--bento-success-rgb) / .18), rgb(var(--bento-primary-rgb) / .04)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); border-color: rgb(var(--bento-success-rgb) / .28); }
517
+ .bento-alert-warning { background: linear-gradient(145deg, rgb(var(--bento-warning-rgb) / .2), rgb(var(--bento-accent-rgb) / .04)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); border-color: rgb(var(--bento-warning-rgb) / .28); }
518
+ .bento-alert-danger { background: linear-gradient(145deg, rgb(var(--bento-danger-rgb) / .18), rgb(var(--bento-accent-rgb) / .04)), rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); border-color: rgb(var(--bento-danger-rgb) / .28); }
351
519
  .bento-alert-title { margin: 0; font-weight: 900; }
352
520
  .bento-alert-body { margin: 0; color: var(--bento-text-muted); line-height: 1.55; }
353
521
 
354
522
  .bento-table-wrap { overflow: auto; }
355
- .bento-table { width: 100%; border-collapse: collapse; }
356
- .bento-table th, .bento-table td { padding: .95rem 1rem; text-align: left; border-bottom: 1px solid var(--bento-border); }
357
- .bento-table th { color: var(--bento-text); font-size: .82rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; background: rgb(var(--bento-primary-rgb) / .08); }
523
+ .bento-table { width: 100%; border-collapse: separate; border-spacing: 0; }
524
+ .bento-table th, .bento-table td { padding: .95rem 1.1rem; text-align: left; border-bottom: 1px solid var(--bento-tile-edge); }
525
+ .bento-table th { color: var(--bento-text); font-size: .82rem; font-weight: 800; text-transform: none; letter-spacing: 0; background: rgb(var(--bento-primary-rgb) / .08); }
358
526
  .bento-table td { color: var(--bento-text-muted); }
359
- .bento-table tr:hover td { background: rgb(var(--bento-primary-rgb) / .045); }
527
+ .bento-table tbody tr:nth-child(even) td { background: rgb(var(--bento-accent-rgb) / .035); }
528
+ .bento-table tr:hover td { background: rgb(var(--bento-primary-rgb) / .08); }
360
529
 
361
530
  /* =========================================================
362
531
  Utilities
@@ -370,11 +539,34 @@
370
539
  .bento-skip-link:focus { transform: translateY(0); }
371
540
 
372
541
  /* Bento-specific layout helpers */
373
- .bento-grid-feature { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(8rem, auto); gap: var(--bento-space-5); }
374
- .bento-tile { min-height: 12rem; padding: var(--bento-space-6); background: linear-gradient(135deg, rgb(var(--bento-primary-rgb) / .1), transparent 48%), var(--bento-surface); border: 1px solid var(--bento-border); border-radius: var(--bento-radius-xl); box-shadow: 0 16px 40px rgb(0 0 0 / var(--bento-shadow-alpha)); }
375
- .bento-tile-lg { grid-column: span 4; grid-row: span 2; } .bento-tile-md { grid-column: span 3; } .bento-tile-sm { grid-column: span 2; }
376
- .bento-stat { display: grid; gap: .25rem; } .bento-stat-value { color: var(--bento-primary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 950; line-height: 1; } .bento-stat-label { color: var(--bento-text-muted); font-weight: 750; }
377
- @media (max-width: 760px) { .bento-grid-feature { grid-template-columns: 1fr; } .bento-tile-lg, .bento-tile-md, .bento-tile-sm { grid-column: auto; grid-row: auto; } }
542
+ .bento-grid-feature {
543
+ container-type: inline-size;
544
+ display: grid;
545
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
546
+ grid-auto-rows: minmax(9rem, auto);
547
+ gap: var(--bento-space-5);
548
+ }
549
+ .bento-tile { min-height: 12rem; padding: var(--bento-space-6); background: var(--bento-tile-primary-bg); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-tile-radius); box-shadow: var(--bento-tile-shadow); }
550
+ .bento-tile:nth-child(3n + 2) { background: var(--bento-tile-accent-bg); }
551
+ .bento-tile:nth-child(3n) { background: var(--bento-tile-secondary-bg); }
552
+ .bento-tile,
553
+ .bento-tile-lg,
554
+ .bento-tile-md,
555
+ .bento-tile-sm {
556
+ min-inline-size: 0;
557
+ grid-column: auto;
558
+ grid-row: auto;
559
+ }
560
+ .bento-stat { display: grid; gap: .25rem; }
561
+ .bento-stat-value { color: var(--bento-primary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 950; line-height: 1; }
562
+ .bento-stat-label { color: var(--bento-text-muted); font-weight: 750; overflow-wrap: normal; word-break: normal; }
563
+
564
+ @container (min-width: 34rem) {
565
+ .bento-tile-lg {
566
+ grid-column: span 2;
567
+ grid-row: span 2;
568
+ }
569
+ }
378
570
 
379
571
  /* Spinner geometry follows the bento preset's compact tile language. */
380
572
  .bento-spinner, .bento-loading-spinner, [data-ui="bento"] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) {
@@ -406,6 +598,271 @@
406
598
  @keyframes bento-spin { to { transform: rotate(360deg); } }
407
599
 
408
600
 
601
+
602
+ /* =========================================================
603
+ Marketing / Commercial Component Modifiers
604
+ Reusable visual patterns derived from service-oriented brand systems.
605
+ ========================================================= */
606
+
607
+ .bento-card-media {
608
+ display: block;
609
+ inline-size: 100%;
610
+ aspect-ratio: 16 / 9;
611
+ object-fit: cover;
612
+ border: 1px solid rgb(var(--bento-border-rgb) / .72);
613
+ border-radius: var(--bento-radius-lg);
614
+ }
615
+
616
+ .bento-card-service {
617
+ position: relative;
618
+ display: grid;
619
+ gap: var(--bento-space-3);
620
+ align-content: start;
621
+ text-align: center;
622
+ overflow: visible;
623
+ }
624
+ .bento-card-service > .bento-icon-medallion {
625
+ justify-self: center;
626
+ margin-block-start: -2.15rem;
627
+ position: relative;
628
+ z-index: 2;
629
+ }
630
+ .bento-card-service > .bento-card-media + .bento-icon-medallion { margin-block-start: -2.15rem; }
631
+
632
+ .bento-card-feature {
633
+ display: grid;
634
+ grid-template-columns: auto minmax(0, 1fr);
635
+ gap: var(--bento-space-4);
636
+ align-items: start;
637
+ }
638
+
639
+ .bento-card-accent-edge {
640
+ border-inline-start: .35rem solid var(--bento-primary);
641
+ }
642
+
643
+ .bento-icon-medallion {
644
+ display: inline-grid;
645
+ place-items: center;
646
+ inline-size: 3.75rem;
647
+ block-size: 3.75rem;
648
+ flex: 0 0 auto;
649
+ padding: .7rem;
650
+ background: var(--bento-primary);
651
+ color: var(--bento-on-primary);
652
+ border: 2px solid rgb(var(--bento-border-rgb) / .82);
653
+ border-radius: 50%;
654
+ line-height: 1;
655
+ }
656
+ .bento-icon-medallion > :where(svg, img) { inline-size: 100%; block-size: 100%; object-fit: contain; }
657
+
658
+ .bento-button.bento-button-cut,
659
+ .bento-button-cut {
660
+ border-radius: 0;
661
+ clip-path: polygon(.6rem 0, 100% 0, 100% calc(100% - .6rem), calc(100% - .6rem) 100%, 0 100%, 0 .6rem);
662
+ }
663
+ .bento-button.bento-button-cut:focus-visible,
664
+ .bento-button-cut:focus-visible { outline-offset: -3px; }
665
+
666
+ .bento-button.bento-button-outline-heavy,
667
+ .bento-button-outline-heavy {
668
+ background: transparent;
669
+ color: var(--bento-primary);
670
+ border-style: solid;
671
+ border-width: 2px;
672
+ border-color: var(--bento-primary);
673
+ box-shadow: none;
674
+ }
675
+ .bento-button.bento-button-outline-heavy:hover,
676
+ .bento-button-outline-heavy:hover {
677
+ background: var(--bento-primary);
678
+ color: var(--bento-on-primary);
679
+ border-color: var(--bento-primary-hover);
680
+ }
681
+
682
+ .bento-badge-seal {
683
+ display: inline-grid;
684
+ place-items: center;
685
+ align-content: center;
686
+ inline-size: 5rem;
687
+ min-inline-size: 5rem;
688
+ aspect-ratio: 1;
689
+ padding: .65rem;
690
+ background: var(--bento-surface-strong);
691
+ color: var(--bento-text);
692
+ border: 2px solid var(--bento-primary);
693
+ border-radius: 50%;
694
+ text-align: center;
695
+ font-family: var(--bento-font-heading);
696
+ font-size: .72rem;
697
+ font-weight: 900;
698
+ line-height: 1.05;
699
+ letter-spacing: .04em;
700
+ }
701
+
702
+ .bento-feature-strip {
703
+ display: grid;
704
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
705
+ background: var(--bento-card-bg);
706
+ color: var(--bento-text);
707
+ border: 1px solid var(--bento-border);
708
+ border-radius: var(--bento-radius-lg);
709
+ }
710
+
711
+ .bento-feature-item {
712
+ display: grid;
713
+ grid-template-columns: auto minmax(0, 1fr);
714
+ align-items: center;
715
+ gap: var(--bento-space-3);
716
+ min-inline-size: 0;
717
+ padding: var(--bento-space-4);
718
+ border-inline-end: 1px solid rgb(var(--bento-border-rgb) / .62);
719
+ }
720
+ .bento-feature-item:last-child { border-inline-end: 0; }
721
+ .bento-feature-item > :where(p, small) { margin: 0; color: var(--bento-text-muted); }
722
+
723
+ .bento-callout-bar {
724
+ display: grid;
725
+ grid-template-columns: auto minmax(0, 1fr) auto;
726
+ align-items: center;
727
+ gap: var(--bento-space-4);
728
+ padding: var(--bento-space-4) var(--bento-space-5);
729
+ background: var(--bento-card-bg);
730
+ color: var(--bento-text);
731
+ border: 1px solid var(--bento-border);
732
+ border-radius: var(--bento-radius-lg);
733
+ }
734
+ .bento-callout-bar > :where(p, div) { min-inline-size: 0; }
735
+ .bento-callout-bar > :where(.bento-button, a, button):last-child { justify-self: end; }
736
+
737
+ .bento-eyebrow {
738
+ margin: 0;
739
+ color: var(--bento-primary);
740
+ font-family: var(--bento-font-heading);
741
+ font-size: .76rem;
742
+ font-weight: 900;
743
+ line-height: 1.2;
744
+ letter-spacing: .14em;
745
+ text-transform: uppercase;
746
+ }
747
+
748
+ .bento-media-scrim {
749
+ position: relative;
750
+ overflow: hidden;
751
+ isolation: isolate;
752
+ min-block-size: 12rem;
753
+ background: var(--bento-surface-soft);
754
+ border: 1px solid var(--bento-border);
755
+ border-radius: var(--bento-radius-lg);
756
+ }
757
+ .bento-media-scrim > :where(img, picture, video) {
758
+ display: block;
759
+ inline-size: 100%;
760
+ block-size: 100%;
761
+ min-block-size: inherit;
762
+ object-fit: cover;
763
+ }
764
+ .bento-media-scrim > :where(figcaption, [data-media-caption]) {
765
+ position: absolute;
766
+ z-index: 1;
767
+ inset-inline: 0;
768
+ inset-block-end: 0;
769
+ padding: clamp(1rem, 4vw, 2rem);
770
+ color: #fff;
771
+ background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .58) 56%, transparent);
772
+ }
773
+ .bento-media-scrim > :where(figcaption, [data-media-caption]) * {
774
+ color: inherit;
775
+ }
776
+
777
+ @media (max-width: 42rem) {
778
+ .bento-callout-bar { grid-template-columns: 1fr; align-items: start; }
779
+ .bento-callout-bar > :where(.bento-button, a, button):last-child { justify-self: stretch; }
780
+ .bento-feature-item { border-inline-end: 0; border-block-end: 1px solid rgb(var(--bento-border-rgb) / .62); }
781
+ .bento-feature-item:last-child { border-block-end: 0; }
782
+ }
783
+
784
+ .bento-card-service { background: var(--bento-tile-primary-bg); border-radius: var(--bento-tile-radius); }
785
+ .bento-card-feature { background: var(--bento-tile-accent-bg); border-radius: var(--bento-tile-radius); }
786
+ .bento-icon-medallion {
787
+ background: rgb(var(--bento-primary-rgb) / .10);
788
+ color: var(--bento-primary);
789
+ border: 1px solid rgb(var(--bento-primary-rgb) / .20);
790
+ border-radius: var(--bento-radius-md);
791
+ box-shadow: var(--bento-shadow-sm);
792
+ }
793
+ .bento-feature-strip { gap: var(--bento-space-3); padding: var(--bento-space-3); }
794
+ .bento-feature-item { background: var(--bento-tile-primary-bg); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-lg); box-shadow: var(--bento-shadow-sm); }
795
+ .bento-feature-item:nth-child(3n + 2) { background: var(--bento-tile-accent-bg); }
796
+ .bento-feature-item:nth-child(3n) { background: var(--bento-tile-secondary-bg); }
797
+
798
+ /* Filled and framed actions behave as bounded, friendly tiles. */
799
+ .bento-button.bento-button-cut, .bento-button-cut {
800
+ min-block-size: 2.75rem;
801
+ inline-size: min(100%, 14rem);
802
+ min-inline-size: 6rem;
803
+ max-inline-size: 100%;
804
+ justify-self: center;
805
+ justify-content: center;
806
+ border-radius: var(--bento-control-radius);
807
+ clip-path: none;
808
+ }
809
+ .bento-button.bento-button-outline-heavy, .bento-button-outline-heavy {
810
+ background: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
811
+ color: var(--bento-primary);
812
+ border-width: 1px;
813
+ border-color: rgb(var(--bento-primary-rgb) / .32);
814
+ border-radius: var(--bento-control-radius);
815
+ clip-path: none;
816
+ box-shadow: var(--bento-shadow-sm);
817
+ }
818
+
819
+ /* Cards, strips, and native surfaces use soft mosaic tiles instead of hard blocks. */
820
+ .bento-card-service, .bento-media-scrim, .bento-feature-strip, .bento-callout-bar {
821
+ border: 1px solid var(--bento-tile-edge);
822
+ border-radius: var(--bento-tile-radius);
823
+ box-shadow: var(--bento-tile-shadow);
824
+ }
825
+ .bento-feature-strip { background: var(--bento-card-bg); }
826
+ .bento-callout-bar { background: var(--bento-tile-secondary-bg); }
827
+ .bento-grid-feature {
828
+ padding: var(--bento-space-3);
829
+ background: rgb(var(--bento-primary-rgb) / .055);
830
+ border: 1px solid var(--bento-tile-edge);
831
+ border-radius: var(--bento-tile-radius);
832
+ box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .55);
833
+ }
834
+ [data-ui="bento"][data-mode] :where(fieldset, article, aside) {
835
+ background: var(--bento-card-bg);
836
+ border: 1px solid var(--bento-tile-edge);
837
+ border-radius: var(--bento-tile-radius);
838
+ box-shadow: var(--bento-tile-shadow);
839
+ }
840
+ [data-ui="bento"][data-mode] :where(legend) { font-family: var(--bento-font-heading); font-weight: 800; }
841
+ [data-ui="bento"][data-mode] :where(label) { font-weight: 750; }
842
+ [data-ui="bento"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
843
+ min-block-size: var(--usk-native-control-min-block-size);
844
+ padding: .7rem 1.1rem;
845
+ background-color: var(--bento-surface-strong);
846
+ background-image: var(--bento-control-bg);
847
+ color: var(--bento-text);
848
+ border: 1px solid var(--bento-tile-edge);
849
+ border-radius: var(--bento-control-radius);
850
+ box-shadow: var(--bento-shadow-sm);
851
+ font-family: var(--bento-font-control);
852
+ font-weight: 800;
853
+ }
854
+ [data-ui="bento"][data-mode] :where(dialog) {
855
+ background: var(--bento-card-bg);
856
+ border: 1px solid var(--bento-tile-edge);
857
+ border-radius: var(--bento-tile-radius);
858
+ box-shadow: var(--bento-tile-shadow);
859
+ }
860
+
861
+ /* Busy indicators rotate as compact mosaic tiles. */
862
+ .bento-button[aria-busy="true"]::after, .bento-icon-button[aria-busy="true"]::after, [data-ui="bento"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
863
+ border: .12em solid currentColor; border-radius: .24em; background: conic-gradient(currentColor 0 25%, transparent 0 50%, currentColor 0 75%, transparent 0); box-shadow: inset 0 0 0 .12em rgb(var(--bento-surface-rgb) / .72); clip-path: inset(0 round .24em); animation: bento-spin .86s steps(4, end) infinite;
864
+ }
865
+
409
866
  @media (prefers-reduced-motion: reduce) {
410
867
  [data-ui="bento"] *, [data-ui="bento"] *::before, [data-ui="bento"] *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
411
868
  }
@@ -413,7 +870,7 @@
413
870
  [data-ui="bento"] { --bento-border-alpha: 1; --bento-focus-alpha: .75; }
414
871
  }
415
872
  @media (forced-colors: active) {
416
- [data-ui="bento"] * { forced-color-adjust: auto; }
873
+ @supports (forced-color-adjust: auto) { [data-ui="bento"] * { forced-color-adjust: auto; } }
417
874
  [data-ui="bento"] :where(:focus-visible) { outline: 3px solid CanvasText; }
418
875
  }
419
876
  @media print {
@@ -422,3 +879,873 @@
422
879
  [data-ui="bento"] a { color: #000 !important; text-decoration: underline; }
423
880
  }
424
881
  }
882
+
883
+ @layer ui-style-kit.bento {
884
+ /* Keeps semantic field states above preset-specific material paint. */
885
+ .bento-input[aria-invalid="true"], .bento-textarea[aria-invalid="true"], .bento-select[aria-invalid="true"] { border-color: var(--bento-danger); box-shadow: 0 0 0 2px rgb(var(--bento-danger-rgb) / .18); }
886
+ .bento-input[readonly], .bento-textarea[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
887
+ }
888
+
889
+ @layer ui-style-kit.bento {
890
+ /**
891
+ * Locks Bento controls to the spacious rounded mosaic tile system.
892
+ * Tinted depth, inset highlights, and soft elevation echo the reference tiles.
893
+ */
894
+ [data-ui="bento"][data-mode] {
895
+ --usk-native-control-padding-block: .68rem;
896
+ --usk-native-control-padding-inline: 1.05rem;
897
+ --usk-native-radius-sm: .625rem;
898
+ --usk-native-radius: .75rem;
899
+ --usk-native-radius-lg: 1.5rem;
900
+ --usk-native-shadow: 0 .3rem .85rem rgb(var(--bento-text-rgb) / .1), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .68);
901
+ --usk-native-shadow-md: 0 .85rem 2.2rem rgb(var(--bento-text-rgb) / .14), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .72);
902
+ --usk-native-focus-ring: 0 0 0 .2rem rgb(var(--bento-focus-rgb) / .28);
903
+ --usk-native-subcontrol-padding-block: .54rem;
904
+ --usk-native-subcontrol-padding-inline: .84rem;
905
+ --usk-native-choice-size: 1.25rem;
906
+ --usk-native-choice-background: linear-gradient(145deg, rgb(var(--bento-primary-rgb) / .08), rgb(var(--bento-surface-strong-rgb) / .96));
907
+ --usk-native-choice-border: 1px solid rgb(var(--bento-border-rgb) / .54);
908
+ --usk-native-checkbox-radius: .375rem;
909
+ --usk-native-choice-shadow: 0 .2rem .55rem rgb(var(--bento-text-rgb) / .12), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .78);
910
+ --usk-native-choice-checked-background: linear-gradient(145deg, var(--bento-primary), var(--bento-primary-hover));
911
+ --usk-native-select-indicator-size: .38rem .38rem, .38rem .38rem;
912
+ --usk-native-select-indicator-position: calc(100% - 1.08rem) 50%, calc(100% - .78rem) 50%;
913
+ --usk-native-select-padding-inline-end: 2.4rem;
914
+ --usk-native-range-track-size: .6rem;
915
+ --usk-native-range-track-background: linear-gradient(90deg, rgb(var(--bento-surface-soft-rgb) / .9), rgb(var(--bento-primary-rgb) / .12));
916
+ --usk-native-range-track-border: 0 solid transparent;
917
+ --usk-native-range-track-shadow: inset 0 1px 2px rgb(var(--bento-text-rgb) / .12);
918
+ --usk-native-range-progress-background: linear-gradient(90deg, var(--bento-primary), var(--bento-accent));
919
+ --usk-native-range-thumb-size: 1.35rem;
920
+ --usk-native-range-thumb-border: 1px solid rgb(var(--bento-primary-rgb) / .28);
921
+ --usk-native-range-thumb-radius: .5rem;
922
+ --usk-native-range-thumb-shadow: 0 .35rem .8rem rgb(var(--bento-text-rgb) / .18), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .78);
923
+ --usk-native-progress-size: .6rem;
924
+ --usk-native-progress-track-background: linear-gradient(90deg, rgb(var(--bento-surface-soft-rgb) / .92), rgb(var(--bento-primary-rgb) / .08));
925
+ --usk-native-progress-track-border: 0 solid transparent;
926
+ --usk-native-progress-track-shadow: inset 0 1px 2px rgb(var(--bento-text-rgb) / .12);
927
+ --usk-native-progress-value-background: linear-gradient(90deg, var(--bento-primary), var(--bento-accent));
928
+ --usk-native-progress-value-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .32);
929
+ --usk-native-scrollbar-size: .8rem;
930
+ --usk-native-scrollbar-track: rgb(var(--bento-surface-soft-rgb) / .74);
931
+ --usk-native-scrollbar-thumb: linear-gradient(180deg, var(--bento-primary), var(--bento-primary-hover));
932
+ --usk-native-scrollbar-radius: 999px;
933
+ }
934
+
935
+ /** Carries the friendly tile grammar through authored components and feedback states. */
936
+ .bento-title { margin-block: .75rem; font-weight: 800; letter-spacing: max(.018em, .5px); }
937
+ .bento-label { font-size: .9rem; font-weight: 750; }
938
+ .bento-button, .bento-icon-button {
939
+ min-height: 2.75rem;
940
+ padding: .68rem 1.05rem;
941
+ background: var(--bento-control-bg);
942
+ border-radius: .75rem;
943
+ box-shadow: var(--bento-shadow-sm);
944
+ font-weight: 800;
945
+ }
946
+ .bento-icon-button { padding: 0; }
947
+ .bento-input, .bento-textarea, .bento-select {
948
+ min-height: 2.75rem;
949
+ padding: .68rem 1rem;
950
+ border-radius: .75rem;
951
+ box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .72);
952
+ }
953
+ .bento-surface, .bento-card, .bento-panel, .bento-toolbar, .bento-table-wrap {
954
+ background: var(--bento-card-bg);
955
+ border: 1px solid var(--bento-tile-edge);
956
+ border-radius: 1.5rem;
957
+ box-shadow: var(--bento-tile-shadow);
958
+ }
959
+ .bento-card, .bento-panel { padding: 1.5rem; }
960
+ .bento-card:nth-of-type(3n + 2), .bento-panel:nth-of-type(3n + 2) { background: var(--bento-tile-accent-bg); }
961
+ .bento-card:nth-of-type(3n), .bento-panel:nth-of-type(3n) { background: var(--bento-tile-secondary-bg); }
962
+ .bento-well, .bento-inset {
963
+ padding: 1.25rem;
964
+ background: var(--bento-tile-secondary-bg);
965
+ border: 1px solid var(--bento-tile-edge);
966
+ border-radius: 1.125rem;
967
+ box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .74), inset 0 -1px 2px rgb(var(--bento-text-rgb) / .08);
968
+ }
969
+ .bento-badge { min-height: 1.7rem; padding: .3rem .7rem; border-radius: .625rem; }
970
+ .bento-alert {
971
+ background: linear-gradient(145deg, rgb(var(--bento-primary-rgb) / .1), rgb(var(--bento-accent-rgb) / .055)), var(--bento-surface-strong);
972
+ border: 1px solid var(--bento-tile-edge);
973
+ border-radius: 1.25rem;
974
+ box-shadow: var(--bento-shadow-sm);
975
+ }
976
+ .bento-progress { height: .6rem; background: rgb(var(--bento-surface-soft-rgb) / .88); }
977
+ .bento-progress-bar { background: linear-gradient(90deg, var(--bento-primary), var(--bento-accent)); }
978
+ .bento-table-wrap { background: var(--bento-card-bg); border-radius: 1.5rem; box-shadow: var(--bento-tile-shadow); }
979
+ .bento-table th { padding: .95rem 1.1rem; background: rgb(var(--bento-primary-rgb) / .08); font-weight: 800; }
980
+ .bento-table td { padding: .95rem 1.1rem; }
981
+ .bento-nav { padding: .35rem; border-radius: 1rem; box-shadow: var(--bento-shadow-sm); }
982
+ .bento-nav-link { min-height: 2.5rem; padding: .6rem .9rem; border-radius: .75rem; }
983
+ .bento-tooltip, [data-ui="bento"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) { border-radius: .75rem; box-shadow: var(--bento-shadow-md); }
984
+ .bento-card-service, .bento-card-feature, .bento-feature-strip, .bento-callout-bar {
985
+ padding: 1.5rem;
986
+ border-radius: 1.5rem;
987
+ box-shadow: var(--bento-tile-shadow);
988
+ }
989
+ .bento-feature-item { padding: 1rem; border-radius: 1rem; }
990
+ [data-ui="bento"][data-mode] :where(dialog) {
991
+ background: var(--bento-card-bg);
992
+ border-radius: 1.5rem;
993
+ box-shadow: 0 1.25rem 3rem rgb(var(--bento-text-rgb) / .2), inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .72);
994
+ }
995
+ }
996
+
997
+ @layer ui-style-kit.bento {
998
+ /* Restores semantic action paint after identity-specific geometry. */
999
+ .bento-button-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
1000
+ .bento-button-secondary { background: var(--bento-secondary); color: var(--bento-on-secondary); border-color: var(--bento-secondary); }
1001
+ .bento-button-danger { background: var(--bento-danger); color: var(--bento-on-danger); border-color: var(--bento-danger); }
1002
+ .bento-button-ghost { background: transparent; color: var(--bento-primary); border-color: transparent; }
1003
+ }
1004
+
1005
+ @layer ui-style-kit.bento {
1006
+ /* Shared annotation fidelity: readable display rhythm and appropriately scaled text icons. */
1007
+ .bento-feature-item > .bento-icon-medallion { font-size: 1.5rem; line-height: 1; }
1008
+ .bento-callout-bar > .bento-icon-medallion { min-inline-size: 4.5rem; min-block-size: 4.5rem; font-size: 2rem; font-weight: 800; line-height: 1; }
1009
+ /** Warning actions inherit preset geometry and use the paired semantic warning colors. */
1010
+ [data-ui="bento"][data-mode] .bento-button.bento-button-warning {
1011
+ background: var(--bento-warning);
1012
+ color: var(--bento-on-warning);
1013
+ border-color: var(--bento-warning);
1014
+ text-shadow: none;
1015
+ }
1016
+
1017
+ }
1018
+
1019
+ /* Soft Mosaic source component geometry; adapted from the retained September 2026 template. */
1020
+ @layer ui-style-kit.bento {
1021
+ [data-ui=bento][data-mode] .bento-sheet *,
1022
+ [data-ui=bento][data-mode] .bento-sheet *::before,
1023
+ [data-ui=bento][data-mode] .bento-sheet *::after { box-sizing: border-box; }
1024
+
1025
+ [data-ui=bento][data-mode] .bento-sheet button,
1026
+ [data-ui=bento][data-mode] .bento-sheet input,
1027
+ [data-ui=bento][data-mode] .bento-sheet select,
1028
+ [data-ui=bento][data-mode] .bento-sheet textarea { font: inherit; }
1029
+
1030
+ [data-ui=bento][data-mode] .bento-sheet button { color: inherit; cursor: pointer; }
1031
+
1032
+ [data-ui=bento][data-mode] .bento-sheet button:focus-visible,
1033
+ [data-ui=bento][data-mode] .bento-sheet input:focus-visible,
1034
+ [data-ui=bento][data-mode] .bento-sheet select:focus-visible,
1035
+ [data-ui=bento][data-mode] .bento-sheet textarea:focus-visible,
1036
+ [data-ui=bento][data-mode] .bento-sheet summary:focus-visible { outline: 2px solid var(--bento-mosaic-violet); outline-offset: 2px; }
1037
+
1038
+ [data-ui=bento][data-mode] .bento-sheet h1,
1039
+ [data-ui=bento][data-mode] .bento-sheet h2,
1040
+ [data-ui=bento][data-mode] .bento-sheet p { margin: 0; }
1041
+
1042
+ [data-ui=bento][data-mode] .bento-sheet h2 { font-size: 13px; font-weight: 800; letter-spacing: 0; }
1043
+ [data-ui=bento][data-mode] .bento-sheet svg { display: block; flex: 0 0 auto; }
1044
+
1045
+ [data-ui=bento][data-mode] .bento-stage { margin: 0 auto; overflow: hidden; position: relative; }
1046
+ [data-ui=bento][data-mode] .bento-stage.is-export,
1047
+ [data-ui=bento][data-mode] .bento-stage.is-export * { cursor: none !important; pointer-events: none !important; }
1048
+
1049
+ [data-ui=bento][data-mode] .bento-stage.is-export *,
1050
+ [data-ui=bento][data-mode] .bento-stage.is-export *::before,
1051
+ [data-ui=bento][data-mode] .bento-stage.is-export *::after {
1052
+ animation: none !important;
1053
+ transition: none !important;
1054
+ }
1055
+
1056
+ [data-ui=bento][data-mode] .bento-panel {
1057
+ background: var(--bento-mosaic-panel);
1058
+ border: 1px solid var(--bento-mosaic-line);
1059
+ border-radius: 17px;
1060
+ box-shadow: var(--bento-mosaic-shadow);
1061
+ min-height: 0;
1062
+ overflow: visible;
1063
+ padding: 15px;
1064
+ }
1065
+
1066
+ [data-ui=bento][data-mode] .bento-panel > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 11px; }
1067
+ [data-ui=bento][data-mode] .bento-panel > header > svg { color: var(--bento-mosaic-primary); height: 17px; width: 17px; }
1068
+
1069
+ [data-ui=bento][data-mode] .bento-sidebar {
1070
+ background: var(--bento-mosaic-panel);
1071
+ border: 1px solid var(--bento-mosaic-line);
1072
+ border-radius: 0 18px 18px 0;
1073
+ display: flex;
1074
+ flex-direction: column;
1075
+ height: calc(100% - 12px);
1076
+ margin-block: 6px;
1077
+ overflow: hidden;
1078
+ padding: 20px 12px 12px;
1079
+ }
1080
+
1081
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-sidebar { background: var(--bento-surface); }
1082
+
1083
+ [data-ui=bento][data-mode] .bento-brand { align-items: center; display: flex; gap: 10px; padding: 0 8px 24px; }
1084
+ [data-ui=bento][data-mode] .bento-brand-mark {
1085
+ align-items: center;
1086
+ background: var(--bento-mosaic-primary-soft);
1087
+ border: 1px solid var(--bento-mosaic-primary);
1088
+ border-radius: 8px;
1089
+ color: var(--bento-mosaic-primary);
1090
+ display: flex;
1091
+ height: 30px;
1092
+ justify-content: center;
1093
+ width: 30px;
1094
+ }
1095
+ [data-ui=bento][data-mode] .bento-brand-mark svg { height: 18px; width: 18px; }
1096
+ [data-ui=bento][data-mode] .bento-brand > span:last-child { display: grid; }
1097
+ [data-ui=bento][data-mode] .bento-brand strong { font-size: 14px; font-weight: 800; }
1098
+ [data-ui=bento][data-mode] .bento-brand small { color: var(--bento-mosaic-muted); font-size: 12px; font-weight: 800; letter-spacing: 0; }
1099
+
1100
+ [data-ui=bento][data-mode] .bento-sidebar nav { display: grid; gap: 5px; }
1101
+ [data-ui=bento][data-mode] .bento-sidebar nav button {
1102
+ align-items: center;
1103
+ background: transparent;
1104
+ border: 0;
1105
+ border-radius: 9px;
1106
+ color: var(--bento-mosaic-muted);
1107
+ display: flex;
1108
+ font-size: 12px;
1109
+ font-weight: 650;
1110
+ gap: 10px;
1111
+ min-height: 40px;
1112
+ padding: 0 11px;
1113
+ text-align: left;
1114
+ transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
1115
+ width: 100%;
1116
+ }
1117
+ [data-ui=bento][data-mode] .bento-sidebar nav button svg { height: 17px; width: 17px; }
1118
+ [data-ui=bento][data-mode] .bento-sidebar nav button:hover { background: var(--bento-mosaic-panel-soft); color: var(--bento-mosaic-text); transform: translateX(2px); }
1119
+ [data-ui=bento][data-mode] .bento-sidebar nav button.is-active { background: var(--bento-mosaic-primary); box-shadow: 0 8px 20px var(--bento-mosaic-primary); color: var(--bento-on-primary); }
1120
+ [data-ui=bento][data-mode] .bento-sidebar-spacer { flex: 1; }
1121
+
1122
+ [data-ui=bento][data-mode] .bento-sidebar-note {
1123
+ background: var(--bento-mosaic-primary-soft);
1124
+ border: 1px solid var(--bento-mosaic-primary);
1125
+ border-radius: 13px;
1126
+ min-height: 197px;
1127
+ overflow: hidden;
1128
+ padding: 18px 15px 8px;
1129
+ position: relative;
1130
+ }
1131
+ [data-ui=bento][data-mode] .bento-sidebar-note strong { font-size: 12px; line-height: 1.55; }
1132
+ [data-ui=bento][data-mode] .bento-sidebar-note p { color: var(--bento-mosaic-muted); font-size: 12px; line-height: 1.55; margin-top: 8px; max-width: 112px; }
1133
+ [data-ui=bento][data-mode] .bento-sidebar-note img { bottom: -24px; height: 108px; object-fit: contain; position: absolute; right: -24px; width: 132px; }
1134
+
1135
+ [data-ui=bento][data-mode] .bento-theme-toggle {
1136
+ align-items: center;
1137
+ background: var(--bento-mosaic-panel-soft);
1138
+ border: 1px solid var(--bento-mosaic-line);
1139
+ border-radius: 12px;
1140
+ display: grid;
1141
+ font-size: 12px;
1142
+ font-weight: 700;
1143
+ gap: 8px;
1144
+ grid-template-columns: auto 1fr auto;
1145
+ margin-top: 10px;
1146
+ min-height: 50px;
1147
+ padding: 0 11px;
1148
+ width: 100%;
1149
+ }
1150
+ [data-ui=bento][data-mode] .bento-theme-toggle > svg { height: 18px; width: 18px; }
1151
+
1152
+ /** Compact switches are controls, not the label wrapper used by the public checkbox API. */
1153
+ [data-ui=bento][data-mode] .bento-switch:where(button, span) {
1154
+ background: var(--bento-mosaic-line-strong);
1155
+ border: 1px solid var(--bento-mosaic-line-strong);
1156
+ border-radius: 999px;
1157
+ display: inline-flex;
1158
+ height: 20px;
1159
+ padding: 2px;
1160
+ transition: background-color 160ms ease;
1161
+ width: 37px;
1162
+ }
1163
+ [data-ui=bento][data-mode] .bento-switch:where(button, span) > span { background: var(--bento-on-primary); border-radius: 50%; box-shadow: 0 1px 4px rgba(19, 29, 64, 0.25); display: block; height: 14px; transform: translateX(0); transition: transform 160ms ease; width: 14px; }
1164
+ [data-ui=bento][data-mode] .bento-switch:where(button, span)[aria-checked="true"] { background: var(--bento-mosaic-primary); border-color: var(--bento-mosaic-primary); }
1165
+ [data-ui=bento][data-mode] .bento-switch:where(button, span)[aria-checked="true"] > span { transform: translateX(17px); }
1166
+
1167
+ [data-ui=bento][data-mode] .bento-switch:where(button, span).is-on { background: var(--bento-mosaic-primary); border-color: var(--bento-mosaic-primary); }
1168
+ [data-ui=bento][data-mode] .bento-switch:where(button, span).is-on > span { transform: translateX(17px); }
1169
+
1170
+ /** Labeled checkbox switches retain an intrinsic text lane beside the fixed-size track. */
1171
+ [data-ui=bento][data-mode] .bento-switch:where(label) { position: relative; display: inline-flex; align-items: center; gap: 8px; max-width: 100%; }
1172
+ [data-ui=bento][data-mode] .bento-switch:where(label) > span:last-child { overflow-wrap: normal; word-break: normal; }
1173
+ [data-ui=bento][data-mode] .bento-switch-track { flex: 0 0 37px; width: 37px; height: 20px; background: var(--bento-border); box-shadow: none; }
1174
+ [data-ui=bento][data-mode] .bento-switch-thumb { top: 2px; left: 2px; width: 14px; height: 14px; border: 0; border-radius: 50%; background: var(--bento-surface-strong); box-shadow: none; }
1175
+ [data-ui=bento][data-mode] .bento-switch input:checked + .bento-switch-track { background: var(--bento-primary); border-color: var(--bento-primary); }
1176
+ [data-ui=bento][data-mode] .bento-switch input:checked + .bento-switch-track .bento-switch-thumb { left: calc(100% - 16px); background: var(--bento-on-primary); }
1177
+ [data-ui=bento][data-mode] .bento-switch input:focus-visible + .bento-switch-track { outline: 2px solid var(--bento-focus); outline-offset: 3px; }
1178
+ [data-ui=bento][data-mode] .bento-switch input:disabled + .bento-switch-track { opacity: .5; }
1179
+
1180
+ [data-ui=bento][data-mode] .bento-canvas { display: grid; gap: 8px; grid-template-rows: 388px 286px 322px; height: 1024px; padding: 6px 8px 6px 10px; }
1181
+ [data-ui=bento][data-mode] .bento-top-grid,
1182
+ [data-ui=bento][data-mode] .bento-middle-grid,
1183
+ [data-ui=bento][data-mode] .bento-bottom-grid { display: grid; gap: 8px; min-height: 0; }
1184
+ [data-ui=bento][data-mode] .bento-top-grid { grid-template-columns: 4.8fr 1.95fr 2.2fr 2.25fr; }
1185
+ [data-ui=bento][data-mode] .bento-middle-grid { grid-template-columns: 4.25fr 2.15fr 2.7fr 2.3fr 1.55fr; }
1186
+ [data-ui=bento][data-mode] .bento-bottom-grid { grid-template-columns: 5.6fr 2.05fr 4.15fr; }
1187
+
1188
+ [data-ui=bento][data-mode] .bento-hero { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-border); padding: 0; position: relative; }
1189
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-border); }
1190
+ [data-ui=bento][data-mode] .bento-hero-copy { left: 40px; position: absolute; top: 55px; z-index: 2; }
1191
+ [data-ui=bento][data-mode] .bento-eyebrow { color: var(--bento-mosaic-primary); font-size: 12px; font-weight: 800; letter-spacing: 0; }
1192
+ [data-ui=bento][data-mode] .bento-hero h1 { font-size: 50px; font-weight: 850; letter-spacing: 0; line-height: 1.08; margin: 11px 0 14px; }
1193
+ [data-ui=bento][data-mode] .bento-hero h1 span { color: var(--bento-mosaic-primary); }
1194
+ [data-ui=bento][data-mode] .bento-hero p { color: var(--bento-mosaic-muted); font-size: 13px; max-width: 270px; }
1195
+ [data-ui=bento][data-mode] .bento-inline-actions { display: flex; gap: 10px; margin-top: 20px; }
1196
+ [data-ui=bento][data-mode] .bento-hero-art { height: 345px; object-fit: contain; object-position: center; position: absolute; right: -30px; top: 20px; transform: rotate(-3deg); width: 420px; z-index: 1; }
1197
+ [data-ui=bento][data-mode] .bento-hero-art.is-dark,
1198
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-light { display: none; }
1199
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { display: block; }
1200
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { height: 300px; right: -10px; top: 40px; width: 300px; }
1201
+
1202
+ [data-ui=bento][data-mode] .bento-button {
1203
+ align-items: center;
1204
+ background: var(--bento-mosaic-panel-soft);
1205
+ border: 1px solid var(--bento-mosaic-line);
1206
+ border-radius: 8px;
1207
+ display: inline-flex;
1208
+ font-weight: 750;
1209
+ gap: 7px;
1210
+ justify-content: center;
1211
+ min-height: 44px;
1212
+ padding: 0 16px;
1213
+ transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
1214
+ }
1215
+ [data-ui=bento][data-mode] .bento-button:hover:not(:disabled) { transform: translateY(-1px); }
1216
+ [data-ui=bento][data-mode] .bento-button:active:not(:disabled) { transform: translateY(1px); }
1217
+ [data-ui=bento][data-mode] .bento-button.is-primary,
1218
+ [data-ui=bento][data-mode] .bento-button.is-hover,
1219
+ [data-ui=bento][data-mode] .bento-button.is-busy { background: var(--bento-mosaic-primary); border-color: var(--bento-mosaic-primary); color: var(--bento-on-primary); }
1220
+ [data-ui=bento][data-mode] .bento-button.is-hover { background: var(--bento-mosaic-primary-hover); box-shadow: 0 8px 18px var(--bento-mosaic-primary); }
1221
+ [data-ui=bento][data-mode] .bento-button.is-secondary { background: transparent; border-color: var(--bento-mosaic-primary); color: var(--bento-mosaic-primary); }
1222
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-button.is-secondary { border-color: var(--bento-border); color: var(--bento-link); }
1223
+ [data-ui=bento][data-mode] .bento-button.is-danger { background: var(--bento-mosaic-danger-soft); border-color: var(--bento-mosaic-danger); color: var(--bento-mosaic-danger); }
1224
+ [data-ui=bento][data-mode] .bento-button.is-ghost { background: transparent; border-color: transparent; color: var(--bento-mosaic-primary); }
1225
+ [data-ui=bento][data-mode] .bento-button:disabled { color: var(--bento-mosaic-faint); cursor: not-allowed; opacity: 0.62; }
1226
+
1227
+ [data-ui=bento][data-mode] .bento-actions { display: grid; gap: 5px; grid-template-rows: auto repeat(7, 1fr); }
1228
+ [data-ui=bento][data-mode] .bento-actions header { margin-bottom: 2px; }
1229
+ [data-ui=bento][data-mode] .bento-actions .bento-button { font-size: 12px; min-height: 0; padding-block: 0; width: 100%; }
1230
+
1231
+ [data-ui=bento][data-mode] .bento-system { background: var(--bento-primary); border-color: var(--bento-primary); color: var(--bento-on-primary); }
1232
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-system { background: var(--bento-primary); border-color: var(--bento-primary); }
1233
+ [data-ui=bento][data-mode] .bento-system > header { margin-bottom: 5px; }
1234
+ [data-ui=bento][data-mode] .bento-system > header > svg { color: var(--bento-on-primary); }
1235
+ [data-ui=bento][data-mode] .bento-system > p { align-items: center; display: flex; font-size: 12px; gap: 7px; margin-bottom: 8px; }
1236
+ [data-ui=bento][data-mode] .bento-live-dot { background: var(--bento-success); border-radius: 50%; display: inline-block; height: 7px; width: 7px; }
1237
+ [data-ui=bento][data-mode] .bento-service-row { align-items: center; background: rgba(255, 255, 255, 0.09); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; display: grid; gap: 8px; grid-template-columns: 1fr 64px; margin-bottom: 8px; min-height: 61px; padding: 9px; }
1238
+ [data-ui=bento][data-mode] .bento-service-row span { display: grid; gap: 2px; }
1239
+ [data-ui=bento][data-mode] .bento-service-row strong,
1240
+ [data-ui=bento][data-mode] .bento-service-row small { font-size: 12px; }
1241
+ [data-ui=bento][data-mode] .bento-service-row small { color: var(--bento-on-primary); font-weight: 700; }
1242
+ [data-ui=bento][data-mode] .bento-system > small { color: var(--bento-on-primary); font-size: 12px; }
1243
+ [data-ui=bento][data-mode] .bento-system > button { align-items: center; background: transparent; border: 0; color: var(--bento-on-primary); display: flex; font-size: 12px; font-weight: 750; gap: 6px; margin-top: 5px; padding: 0; }
1244
+ [data-ui=bento][data-mode] .bento-system > button svg { height: 13px; width: 13px; }
1245
+
1246
+ [data-ui=bento][data-mode] .bento-system progress,
1247
+ [data-ui=bento][data-mode] .bento-usage progress,
1248
+ [data-ui=bento][data-mode] .bento-usage-cell progress,
1249
+ [data-ui=bento][data-mode] .bento-sliders progress { appearance: none; background: var(--bento-mosaic-line); border: 0; border-radius: 999px; height: 6px; overflow: hidden; width: 100%; }
1250
+ [data-ui=bento][data-mode] .bento-system progress { background: rgba(255, 255, 255, 0.16); }
1251
+ [data-ui=bento][data-mode] .bento-system progress::-webkit-progress-bar,
1252
+ [data-ui=bento][data-mode] .bento-usage progress::-webkit-progress-bar,
1253
+ [data-ui=bento][data-mode] .bento-usage-cell progress::-webkit-progress-bar,
1254
+ [data-ui=bento][data-mode] .bento-sliders progress::-webkit-progress-bar { background: inherit; border-radius: inherit; }
1255
+ [data-ui=bento][data-mode] .bento-system progress::-webkit-progress-value { background: var(--bento-success); border-radius: inherit; }
1256
+ [data-ui=bento][data-mode] .bento-system progress::-moz-progress-bar { background: var(--bento-success); border-radius: inherit; }
1257
+
1258
+ [data-ui=bento][data-mode] .bento-metrics-stack,
1259
+ [data-ui=bento][data-mode] .bento-utility-stack { display: grid; gap: 8px; min-height: 0; }
1260
+ [data-ui=bento][data-mode] .bento-metrics-stack { grid-template-rows: 1.55fr 0.95fr; }
1261
+ [data-ui=bento][data-mode] .bento-usage { background: var(--bento-mosaic-warning-soft); border-color: var(--bento-warning); }
1262
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-usage { background: var(--bento-mosaic-warning-soft); border-color: var(--bento-warning); }
1263
+ [data-ui=bento][data-mode] .bento-usage > header { margin-bottom: 3px; }
1264
+ [data-ui=bento][data-mode] .bento-usage > header > svg { color: var(--bento-mosaic-warning); }
1265
+ [data-ui=bento][data-mode] .bento-usage > strong { display: block; font-size: 33px; letter-spacing: 0; line-height: 1.1; margin-top: 4px; }
1266
+ [data-ui=bento][data-mode] .bento-usage > span { color: var(--bento-mosaic-muted); display: block; font-size: 12px; font-weight: 700; }
1267
+ [data-ui=bento][data-mode] .bento-usage > div { align-items: center; display: flex; gap: 8px; margin: 12px 0 10px; }
1268
+ [data-ui=bento][data-mode] .bento-usage > div small { color: var(--bento-mosaic-muted); font-size: 12px; }
1269
+ [data-ui=bento][data-mode] .bento-usage progress::-webkit-progress-value,
1270
+ [data-ui=bento][data-mode] .bento-usage-cell progress::-webkit-progress-value,
1271
+ [data-ui=bento][data-mode] .bento-sliders progress::-webkit-progress-value { background: var(--bento-mosaic-primary); border-radius: inherit; }
1272
+ [data-ui=bento][data-mode] .bento-usage progress::-moz-progress-bar,
1273
+ [data-ui=bento][data-mode] .bento-usage-cell progress::-moz-progress-bar,
1274
+ [data-ui=bento][data-mode] .bento-sliders progress::-moz-progress-bar { background: var(--bento-mosaic-primary); border-radius: inherit; }
1275
+
1276
+ [data-ui=bento][data-mode] .bento-quota { align-items: center; background: var(--bento-mosaic-success-soft); border-color: var(--bento-success); display: grid; grid-template-columns: 1fr 98px; }
1277
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-quota { background: var(--bento-mosaic-success-soft); border-color: var(--bento-success); }
1278
+ [data-ui=bento][data-mode] .bento-quota-copy { display: grid; gap: 3px; }
1279
+ [data-ui=bento][data-mode] .bento-quota-copy strong { color: var(--bento-mosaic-success); font-size: 24px; letter-spacing: 0; }
1280
+ [data-ui=bento][data-mode] .bento-quota-copy span { color: var(--bento-mosaic-muted); font-size: 12px; }
1281
+ [data-ui=bento][data-mode] .bento-quota meter,
1282
+ [data-ui=bento][data-mode] .bento-sliders meter { accent-color: var(--bento-mosaic-success); height: 13px; width: 100%; }
1283
+
1284
+ [data-ui=bento][data-mode] .bento-form-panel > header > span { color: var(--bento-mosaic-muted); font-size: 12px; }
1285
+ [data-ui=bento][data-mode] .bento-form-grid { display: grid; gap: 5px 6px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
1286
+ [data-ui=bento][data-mode] .bento-field { display: grid; gap: 3px; min-width: 0; position: relative; }
1287
+ [data-ui=bento][data-mode] .bento-field.is-wide { width: 100%; }
1288
+ [data-ui=bento][data-mode] .bento-field > span:first-child { color: var(--bento-mosaic-muted); font-size: 12px; font-weight: 750; }
1289
+ [data-ui=bento][data-mode] .bento-field input,
1290
+ [data-ui=bento][data-mode] .bento-field select,
1291
+ [data-ui=bento][data-mode] .bento-field textarea,
1292
+ [data-ui=bento][data-mode] .bento-table-tools input { background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line-strong); border-radius: 6px; color: var(--bento-mosaic-text); height: 26px; min-width: 0; padding: 0 7px; width: 100%; }
1293
+ [data-ui=bento][data-mode] .bento-field input::placeholder,
1294
+ [data-ui=bento][data-mode] .bento-field textarea::placeholder,
1295
+ [data-ui=bento][data-mode] .bento-table-tools input::placeholder { color: var(--bento-mosaic-faint); }
1296
+ [data-ui=bento][data-mode] .bento-field textarea { height: 32px; padding-top: 6px; resize: none; }
1297
+ [data-ui=bento][data-mode] .bento-input-icon { display: block; position: relative; }
1298
+ [data-ui=bento][data-mode] .bento-input-icon > svg { color: var(--bento-mosaic-muted); height: 12px; left: 7px; pointer-events: none; position: absolute; top: 7px; width: 12px; z-index: 1; }
1299
+ [data-ui=bento][data-mode] .bento-input-icon > input { padding-left: 24px; }
1300
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > input { padding-left: 7px; padding-right: 26px; }
1301
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > button { background: transparent; border: 0; padding: 0; position: absolute; right: 7px; top: 7px; z-index: 2; }
1302
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > button svg { height: 12px; width: 12px; }
1303
+ [data-ui=bento][data-mode] .bento-field input[type="color"] { padding: 2px; }
1304
+ [data-ui=bento][data-mode] .bento-file input { height: 26px; opacity: 0; position: absolute; top: 12px; z-index: 2; }
1305
+ [data-ui=bento][data-mode] .bento-file > span:last-child { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px dashed var(--bento-mosaic-line-strong); border-radius: 6px; color: var(--bento-mosaic-primary); display: flex; font-size: 12px; font-weight: 750; gap: 5px; height: 26px; justify-content: center; }
1306
+ [data-ui=bento][data-mode] .bento-file > span:last-child svg { height: 12px; width: 12px; }
1307
+
1308
+ [data-ui=bento][data-mode] .bento-choices fieldset { border: 0; margin: 0 0 7px; padding: 0; }
1309
+ [data-ui=bento][data-mode] .bento-choices legend { font-size: 12px; font-weight: 800; margin-bottom: 4px; }
1310
+ [data-ui=bento][data-mode] .bento-choices fieldset > label,
1311
+ [data-ui=bento][data-mode] .bento-switch-row { align-items: center; color: var(--bento-mosaic-muted); display: flex; font-size: 12px; gap: 7px; margin-bottom: 5px; }
1312
+ [data-ui=bento][data-mode] .bento-choices input[type="checkbox"],
1313
+ [data-ui=bento][data-mode] .bento-choices input[type="radio"] { accent-color: var(--bento-mosaic-primary); height: 15px; margin: 0; width: 15px; }
1314
+ [data-ui=bento][data-mode] .bento-switch-row { background: transparent; border: 0; justify-content: space-between; padding: 0; width: 100%; }
1315
+ [data-ui=bento][data-mode] .bento-switch-row:disabled { opacity: 0.48; }
1316
+
1317
+ [data-ui=bento][data-mode] .bento-sliders > label { display: grid; gap: 5px; margin-bottom: 13px; }
1318
+ [data-ui=bento][data-mode] .bento-sliders > label > span { color: var(--bento-mosaic-muted); display: flex; font-size: 12px; font-weight: 700; justify-content: space-between; }
1319
+ [data-ui=bento][data-mode] .bento-sliders output { color: var(--bento-mosaic-text); }
1320
+ [data-ui=bento][data-mode] .bento-sliders input[type="range"] { accent-color: var(--bento-mosaic-primary); height: 7px; margin: 0; width: 100%; }
1321
+ [data-ui=bento][data-mode] .bento-stepper { align-items: center; display: flex; justify-content: space-between; margin: 3px 0 13px; }
1322
+ [data-ui=bento][data-mode] .bento-stepper > span { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line-strong); border-radius: 50%; display: flex; font-size: 12px; height: 20px; justify-content: center; width: 20px; }
1323
+ [data-ui=bento][data-mode] .bento-stepper > span.is-complete,
1324
+ [data-ui=bento][data-mode] .bento-stepper > span.is-current { background: var(--bento-mosaic-primary); border-color: var(--bento-mosaic-primary); color: var(--bento-on-primary); }
1325
+ [data-ui=bento][data-mode] .bento-stepper > span svg { height: 10px; width: 10px; }
1326
+ [data-ui=bento][data-mode] .bento-stepper > i { background: var(--bento-mosaic-line-strong); height: 2px; width: 23px; }
1327
+
1328
+ [data-ui=bento][data-mode] .bento-segment { background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 7px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 2px; }
1329
+ [data-ui=bento][data-mode] .bento-segment button { background: transparent; border: 0; border-radius: 5px; color: var(--bento-mosaic-muted); font-size: 12px; min-height: 24px; }
1330
+ [data-ui=bento][data-mode] .bento-segment button.is-active { background: var(--bento-mosaic-panel-raised); box-shadow: 0 2px 8px rgba(24, 35, 72, 0.1); color: var(--bento-mosaic-primary); font-weight: 800; }
1331
+
1332
+ [data-ui=bento][data-mode] .bento-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
1333
+ [data-ui=bento][data-mode] .bento-status { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 5px; color: var(--bento-mosaic-primary); display: inline-flex; font-size: 12px; font-weight: 800; min-height: 22px; padding: 0 8px; white-space: nowrap; }
1334
+ [data-ui=bento][data-mode] .bento-status.is-violet { background: var(--bento-mosaic-violet-soft); color: var(--bento-mosaic-violet); }
1335
+ [data-ui=bento][data-mode] .bento-status.is-success { background: var(--bento-mosaic-success-soft); color: var(--bento-mosaic-success); }
1336
+ [data-ui=bento][data-mode] .bento-status.is-warning { background: var(--bento-mosaic-warning-soft); color: var(--bento-mosaic-warning); }
1337
+ [data-ui=bento][data-mode] .bento-status.is-danger { background: var(--bento-mosaic-danger-soft); color: var(--bento-mosaic-danger); }
1338
+ [data-ui=bento][data-mode] .bento-status.is-info { background: var(--bento-mosaic-info-soft); color: var(--bento-mosaic-info); }
1339
+
1340
+ [data-ui=bento][data-mode] .bento-alert,
1341
+ [data-ui=bento][data-mode] .bento-toast { align-items: flex-start; border: 1px solid; border-radius: 9px; display: flex; gap: 8px; margin-bottom: 7px; min-height: 66px; padding: 10px; }
1342
+ [data-ui=bento][data-mode] .bento-alert { background: var(--bento-mosaic-danger-soft); border-color: var(--bento-mosaic-danger); color: var(--bento-mosaic-danger); }
1343
+ [data-ui=bento][data-mode] .bento-toast { background: var(--bento-mosaic-success-soft); border-color: var(--bento-mosaic-success); color: var(--bento-mosaic-success); }
1344
+ [data-ui=bento][data-mode] .bento-alert > svg,
1345
+ [data-ui=bento][data-mode] .bento-toast > svg { height: 16px; margin-top: 1px; width: 16px; }
1346
+ [data-ui=bento][data-mode] .bento-alert > span,
1347
+ [data-ui=bento][data-mode] .bento-toast > span { display: grid; gap: 3px; flex: 1; }
1348
+ [data-ui=bento][data-mode] .bento-alert strong,
1349
+ [data-ui=bento][data-mode] .bento-toast strong { color: var(--bento-mosaic-text); font-size: 12px; }
1350
+ [data-ui=bento][data-mode] .bento-alert small,
1351
+ [data-ui=bento][data-mode] .bento-toast small { color: var(--bento-mosaic-muted); font-size: 12px; }
1352
+ [data-ui=bento][data-mode] .bento-alert button,
1353
+ [data-ui=bento][data-mode] .bento-toast button { background: transparent; border: 0; color: var(--bento-mosaic-muted); padding: 0; }
1354
+ [data-ui=bento][data-mode] .bento-alert button svg,
1355
+ [data-ui=bento][data-mode] .bento-toast button svg { height: 13px; width: 13px; }
1356
+
1357
+ [data-ui=bento][data-mode] .bento-utility-stack { grid-template-rows: 1fr 1fr; }
1358
+ [data-ui=bento][data-mode] .bento-tooltip,
1359
+ [data-ui=bento][data-mode] .ui-tooltip,
1360
+ [data-ui=bento][data-mode] .bento-loading { padding: 13px; }
1361
+ [data-ui=bento][data-mode] .bento-tooltip > header,
1362
+ [data-ui=bento][data-mode] .bento-loading > header { margin-bottom: 7px; }
1363
+ [data-ui=bento][data-mode] .bento-tooltip { overflow: visible; position: relative; z-index: 4; }
1364
+ [data-ui=bento][data-mode] .bento-tooltip > button { align-items: center; background: var(--bento-mosaic-primary-soft); border: 0; border-radius: 50%; color: var(--bento-mosaic-primary); display: flex; height: 23px; justify-content: center; width: 23px; }
1365
+ [data-ui=bento][data-mode] .bento-tooltip > button svg { height: 13px; width: 13px; }
1366
+ [data-ui=bento][data-mode] .bento-tooltip [role="tooltip"] { background: var(--bento-tooltip-bg); border: 1px solid var(--bento-border); border-radius: 7px; bottom: 11px; color: var(--bento-on-primary); font-size: 12px; left: 41px; line-height: 1.5; padding: 9px; position: absolute; width: 102px; }
1367
+
1368
+ [data-ui=bento][data-mode] .bento-loading { align-items: center; display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto 1fr; }
1369
+ [data-ui=bento][data-mode] .bento-loading > header { width: 100%; }
1370
+ [data-ui=bento][data-mode] .bento-spinner { color: var(--bento-mosaic-primary); height: 31px; width: 31px; }
1371
+ [data-ui=bento][data-mode] .bento-spin { animation: bento-mosaic-spin 1s linear infinite; }
1372
+ @keyframes bento-mosaic-spin { to { transform: rotate(360deg); } }
1373
+ [data-ui=bento][data-mode] .bento-skeleton { display: grid; gap: 5px; }
1374
+ [data-ui=bento][data-mode] .bento-skeleton span { animation: bento-mosaic-pulse 1.5s ease-in-out infinite; background: var(--bento-mosaic-line); border-radius: 999px; display: block; height: 6px; }
1375
+ [data-ui=bento][data-mode] .bento-skeleton span:nth-child(2) { width: 76%; }
1376
+ [data-ui=bento][data-mode] .bento-skeleton span:nth-child(3) { width: 54%; }
1377
+ @keyframes bento-mosaic-pulse { 50% { opacity: 0.45; } }
1378
+
1379
+ [data-ui=bento][data-mode] .bento-table-panel { display: grid; grid-template-rows: auto 1fr auto; }
1380
+ [data-ui=bento][data-mode] .bento-table-panel > header { margin-bottom: 9px; }
1381
+ [data-ui=bento][data-mode] .bento-table-panel > header > div:first-child { display: grid; }
1382
+ [data-ui=bento][data-mode] .bento-table-panel > header > div:first-child > span { color: var(--bento-mosaic-muted); font-size: 12px; }
1383
+ [data-ui=bento][data-mode] .bento-table-tools { align-items: center; display: flex; gap: 6px; }
1384
+ [data-ui=bento][data-mode] .bento-table-tools label { position: relative; }
1385
+ [data-ui=bento][data-mode] .bento-table-tools label > svg { color: var(--bento-mosaic-muted); height: 11px; left: 7px; position: absolute; top: 7px; width: 11px; }
1386
+ [data-ui=bento][data-mode] .bento-table-tools input { font-size: 12px; height: 25px; padding-left: 23px; width: 92px; }
1387
+ [data-ui=bento][data-mode] .bento-table-tools > button,
1388
+ [data-ui=bento][data-mode] .bento-table-panel td > button { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 6px; display: flex; height: 25px; justify-content: center; padding: 0; width: 25px; }
1389
+ [data-ui=bento][data-mode] .bento-table-tools > button svg,
1390
+ [data-ui=bento][data-mode] .bento-table-panel td > button svg { height: 13px; width: 13px; }
1391
+ [data-ui=bento][data-mode] .bento-table-wrap { border: 1px solid var(--bento-mosaic-line); border-radius: 9px; overflow: hidden; }
1392
+ [data-ui=bento][data-mode] .bento-table-panel table { border-collapse: collapse; font-size: 12px; table-layout: fixed; width: 100%; }
1393
+ [data-ui=bento][data-mode] .bento-table-panel thead { background: var(--bento-mosaic-panel-soft); }
1394
+ [data-ui=bento][data-mode] .bento-table-panel th,
1395
+ [data-ui=bento][data-mode] .bento-table-panel td { border-bottom: 1px solid var(--bento-mosaic-line); height: 43px; overflow: hidden; padding: 0 8px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
1396
+ [data-ui=bento][data-mode] .bento-table-panel th { color: var(--bento-mosaic-muted); font-size: 12px; font-weight: 800; height: 32px; text-transform: uppercase; }
1397
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(1) { width: 68px; }
1398
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(3) { width: 58px; }
1399
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(4) { width: 80px; }
1400
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(5) { width: 118px; }
1401
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(6) { width: 94px; }
1402
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(7) { width: 30px; }
1403
+ [data-ui=bento][data-mode] .bento-table-panel tbody tr:last-child td { border-bottom: 0; }
1404
+ [data-ui=bento][data-mode] .bento-table-panel .bento-status { min-height: 20px; padding-inline: 6px; }
1405
+ [data-ui=bento][data-mode] .bento-usage-cell { align-items: center; display: grid; gap: 7px; grid-template-columns: 27px 1fr; }
1406
+ [data-ui=bento][data-mode] .bento-usage-cell b { font-size: 12px; }
1407
+ [data-ui=bento][data-mode] .bento-table-panel > footer { align-items: center; color: var(--bento-mosaic-muted); display: flex; font-size: 12px; justify-content: space-between; padding-top: 9px; }
1408
+ [data-ui=bento][data-mode] .bento-table-panel > footer nav { display: flex; gap: 4px; }
1409
+ [data-ui=bento][data-mode] .bento-table-panel > footer nav button { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 6px; display: flex; font-size: 12px; height: 26px; justify-content: center; padding: 0; width: 26px; }
1410
+ [data-ui=bento][data-mode] .bento-table-panel > footer nav button.is-active { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-mosaic-primary); color: var(--bento-mosaic-primary); font-weight: 800; }
1411
+
1412
+ [data-ui=bento][data-mode] .bento-service-card { display: flex; flex-direction: column; }
1413
+ [data-ui=bento][data-mode] .bento-service-card > header { align-items: center; justify-content: flex-start; }
1414
+ [data-ui=bento][data-mode] .bento-service-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 9px; color: var(--bento-mosaic-primary); display: flex; height: 38px; justify-content: center; width: 38px; }
1415
+ [data-ui=bento][data-mode] .bento-service-icon svg { height: 22px; width: 22px; }
1416
+ [data-ui=bento][data-mode] .bento-service-card > header > div { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; }
1417
+ [data-ui=bento][data-mode] .bento-service-card > header .bento-status { min-height: 18px; padding-inline: 5px; }
1418
+ [data-ui=bento][data-mode] .bento-service-card > p { color: var(--bento-mosaic-muted); font-size: 12px; line-height: 1.55; margin-bottom: 10px; }
1419
+ [data-ui=bento][data-mode] .bento-service-card dl { border-block: 1px solid var(--bento-mosaic-line); margin: 0 0 8px; padding: 8px 0; }
1420
+ [data-ui=bento][data-mode] .bento-service-card dl > div { display: flex; font-size: 12px; justify-content: space-between; margin-bottom: 4px; }
1421
+ [data-ui=bento][data-mode] .bento-service-card dl > div:last-child { margin-bottom: 0; }
1422
+ [data-ui=bento][data-mode] .bento-service-card dt { color: var(--bento-mosaic-muted); }
1423
+ [data-ui=bento][data-mode] .bento-service-card dd { margin: 0; }
1424
+ [data-ui=bento][data-mode] .bento-listbox { background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 8px; display: grid; margin-bottom: 8px; overflow: hidden; }
1425
+ [data-ui=bento][data-mode] .bento-listbox button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--bento-mosaic-line); display: flex; font-size: 12px; justify-content: space-between; min-height: 27px; padding: 0 8px; text-align: left; }
1426
+ [data-ui=bento][data-mode] .bento-listbox button:last-child { border-bottom: 0; }
1427
+ [data-ui=bento][data-mode] .bento-listbox button[aria-selected="true"] { color: var(--bento-mosaic-primary); font-weight: 800; }
1428
+ [data-ui=bento][data-mode] .bento-listbox button svg { height: 12px; width: 12px; }
1429
+ [data-ui=bento][data-mode] .bento-service-card details { color: var(--bento-mosaic-muted); font-size: 12px; margin-bottom: 8px; }
1430
+ [data-ui=bento][data-mode] .bento-service-card summary { align-items: center; color: var(--bento-mosaic-text); cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; }
1431
+ [data-ui=bento][data-mode] .bento-service-card summary svg { height: 12px; width: 12px; }
1432
+ [data-ui=bento][data-mode] .bento-service-card details p { margin-top: 4px; }
1433
+ [data-ui=bento][data-mode] .bento-service-card > .bento-button { margin-top: auto; min-height: 30px; width: 100%; }
1434
+
1435
+ [data-ui=bento][data-mode] .bento-dialog-zone { background: var(--bento-primary); border-color: var(--bento-primary); display: grid; grid-template-rows: auto 1fr; padding: 0; }
1436
+ [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-dialog-zone { background: var(--bento-primary); border-color: var(--bento-border); }
1437
+ [data-ui=bento][data-mode] .bento-dialog-toolbar { align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.15); display: flex; justify-content: space-between; padding: 7px 11px; }
1438
+ [data-ui=bento][data-mode] .bento-tabs { display: flex; gap: 3px; }
1439
+ [data-ui=bento][data-mode] .bento-tabs button,
1440
+ [data-ui=bento][data-mode] .bento-dialog-toolbar > button { background: transparent; border: 0; border-radius: 6px; color: var(--bento-on-primary); font-size: 12px; min-height: 26px; padding: 0 8px; }
1441
+ [data-ui=bento][data-mode] .bento-tabs button.is-active { background: rgba(255, 255, 255, 0.13); color: var(--bento-on-primary); font-weight: 800; }
1442
+ [data-ui=bento][data-mode] .bento-dialog-surface { align-items: center; display: flex; justify-content: center; padding: 16px; }
1443
+ [data-ui=bento][data-mode] .bento-dialog-surface dialog { background: var(--bento-mosaic-panel-raised); border: 1px solid var(--bento-mosaic-line); border-radius: 14px; box-shadow: var(--bento-mosaic-shadow-raised); color: var(--bento-mosaic-text); display: block; margin: 0; max-width: 315px; padding: 26px; position: relative; width: 100%; }
1444
+ [data-ui=bento][data-mode] .bento-dialog-surface dialog:not([open]) { display: none; }
1445
+ [data-ui=bento][data-mode] .bento-dialog-close { background: transparent; border: 0; color: var(--bento-mosaic-muted); padding: 0; position: absolute; right: 13px; top: 13px; }
1446
+ [data-ui=bento][data-mode] .bento-dialog-close svg { height: 15px; width: 15px; }
1447
+ [data-ui=bento][data-mode] .bento-dialog-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border-radius: 9px; color: var(--bento-mosaic-primary); display: flex; height: 38px; justify-content: center; margin-bottom: 13px; width: 38px; }
1448
+ [data-ui=bento][data-mode] .bento-dialog-icon svg { height: 21px; width: 21px; }
1449
+ [data-ui=bento][data-mode] .bento-dialog-surface h2 { font-size: 15px; }
1450
+ [data-ui=bento][data-mode] .bento-dialog-surface p { color: var(--bento-mosaic-muted); font-size: 12px; margin: 9px 0 18px; }
1451
+ [data-ui=bento][data-mode] .bento-dialog-surface dialog > div { display: flex; gap: 8px; justify-content: flex-end; }
1452
+ [data-ui=bento][data-mode] .bento-dialog-surface .bento-button { font-size: 12px; min-height: 33px; }
1453
+
1454
+ [data-ui=bento][data-mode] .bento-live-status,
1455
+ [data-ui=bento][data-mode] .bento-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
1456
+
1457
+ @media (prefers-reduced-motion: reduce) {
1458
+ [data-ui=bento][data-mode] .bento-sheet *,
1459
+ [data-ui=bento][data-mode] .bento-sheet *::before,
1460
+ [data-ui=bento][data-mode] .bento-sheet *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
1461
+ }
1462
+
1463
+
1464
+ }
1465
+
1466
+ /**
1467
+ * Adapts the retained Soft Mosaic components to the library role contract.
1468
+ * Explicit --usk-* theme roles always take precedence over reference fallbacks.
1469
+ */
1470
+ @layer ui-style-kit.bento {
1471
+ [data-ui="bento"][data-mode="light"] {
1472
+ --bento-fallback-bg-rgb: 248 249 253;
1473
+ --bento-fallback-surface-rgb: 255 255 255;
1474
+ --bento-fallback-surface-strong-rgb: 255 255 255;
1475
+ --bento-fallback-surface-soft-rgb: 242 244 251;
1476
+ --bento-fallback-text-rgb: 17 20 62;
1477
+ --bento-fallback-text-muted-rgb: 97 105 128;
1478
+ --bento-fallback-border-rgb: 223 228 239;
1479
+ --bento-fallback-primary-rgb: 49 87 220;
1480
+ --bento-fallback-primary-hover-rgb: 70 99 212;
1481
+ --bento-fallback-primary-text-rgb: 255 255 255;
1482
+ --bento-fallback-secondary-rgb: 117 108 228;
1483
+ --bento-fallback-secondary-hover-rgb: 91 82 201;
1484
+ --bento-fallback-secondary-text-rgb: 255 255 255;
1485
+ --bento-fallback-accent-rgb: 117 108 228;
1486
+ --bento-fallback-accent-text-rgb: 255 255 255;
1487
+ --bento-fallback-success-rgb: 53 168 103;
1488
+ --bento-fallback-success-text-rgb: 0 0 0;
1489
+ --bento-fallback-warning-rgb: 215 144 15;
1490
+ --bento-fallback-warning-text-rgb: 0 0 0;
1491
+ --bento-fallback-danger-rgb: 223 77 74;
1492
+ --bento-fallback-danger-text-rgb: 0 0 0;
1493
+ --bento-fallback-link-rgb: 49 87 220;
1494
+ --bento-fallback-focus-rgb: 49 87 220;
1495
+ --bento-success-ink: rgb(var(--usk-success-rgb, 30 122 72));
1496
+ }
1497
+ [data-ui="bento"][data-mode="dark"] {
1498
+ --bento-fallback-bg-rgb: 7 17 31;
1499
+ --bento-fallback-surface-rgb: 12 26 43;
1500
+ --bento-fallback-surface-strong-rgb: 19 36 58;
1501
+ --bento-fallback-surface-soft-rgb: 16 34 56;
1502
+ --bento-fallback-text-rgb: 244 245 244;
1503
+ --bento-fallback-text-muted-rgb: 173 184 205;
1504
+ --bento-fallback-border-rgb: 32 54 76;
1505
+ --bento-fallback-primary-rgb: 43 94 226;
1506
+ --bento-fallback-primary-hover-rgb: 70 103 210;
1507
+ --bento-fallback-primary-text-rgb: 255 255 255;
1508
+ --bento-fallback-secondary-rgb: 122 107 233;
1509
+ --bento-fallback-secondary-hover-rgb: 148 136 248;
1510
+ --bento-fallback-secondary-text-rgb: 0 0 0;
1511
+ --bento-fallback-accent-rgb: 122 107 233;
1512
+ --bento-fallback-accent-text-rgb: 0 0 0;
1513
+ --bento-fallback-success-rgb: 84 196 123;
1514
+ --bento-fallback-success-text-rgb: 0 0 0;
1515
+ --bento-fallback-warning-rgb: 228 166 38;
1516
+ --bento-fallback-warning-text-rgb: 0 0 0;
1517
+ --bento-fallback-danger-rgb: 240 100 100;
1518
+ --bento-fallback-danger-text-rgb: 0 0 0;
1519
+ --bento-fallback-link-rgb: 105 169 240;
1520
+ --bento-fallback-focus-rgb: 122 107 233;
1521
+ --bento-success-ink: var(--bento-success);
1522
+ }
1523
+ [data-ui="bento"][data-mode] {
1524
+ --bento-panel-alpha: 1;
1525
+ --bento-panel-soft-alpha: 1;
1526
+ --bento-border-alpha: 1;
1527
+ --bento-tile-radius: 17px;
1528
+ --bento-control-radius: 8px;
1529
+ --bento-card-bg: var(--bento-surface);
1530
+ --bento-control-bg: var(--bento-surface-soft);
1531
+ --bento-tile-accent-bg: var(--bento-surface);
1532
+ --bento-tile-secondary-bg: var(--bento-surface);
1533
+ --bento-tile-edge: var(--bento-border);
1534
+ --bento-tile-shadow: 0 3px 12px rgb(var(--bento-text-rgb) / .04);
1535
+ --bento-mosaic-panel: var(--bento-surface);
1536
+ --bento-mosaic-panel-soft: var(--bento-surface-soft);
1537
+ --bento-mosaic-panel-raised: var(--bento-surface-strong);
1538
+ --bento-mosaic-line: var(--bento-border);
1539
+ --bento-mosaic-line-strong: var(--bento-border);
1540
+ --bento-mosaic-text: var(--bento-text);
1541
+ --bento-mosaic-muted: var(--bento-text-muted);
1542
+ --bento-mosaic-faint: var(--bento-text-muted);
1543
+ --bento-mosaic-primary: var(--bento-primary);
1544
+ --bento-mosaic-primary-hover: var(--bento-primary-hover);
1545
+ --bento-mosaic-primary-soft: rgb(var(--bento-primary-rgb) / .1);
1546
+ --bento-mosaic-violet: var(--bento-secondary);
1547
+ --bento-mosaic-violet-soft: rgb(var(--bento-secondary-rgb) / .1);
1548
+ --bento-mosaic-success: var(--bento-success);
1549
+ --bento-mosaic-success-soft: rgb(var(--bento-success-rgb) / .1);
1550
+ --bento-mosaic-warning: var(--bento-warning);
1551
+ --bento-mosaic-warning-soft: rgb(var(--bento-warning-rgb) / .1);
1552
+ --bento-mosaic-danger: var(--bento-danger);
1553
+ --bento-mosaic-danger-soft: rgb(var(--bento-danger-rgb) / .1);
1554
+ --bento-mosaic-info: var(--bento-link);
1555
+ --bento-mosaic-info-soft: rgb(var(--bento-link-rgb) / .1);
1556
+ --bento-mosaic-shadow: var(--bento-tile-shadow);
1557
+ --bento-mosaic-shadow-raised: 0 12px 32px rgb(var(--bento-text-rgb) / .12);
1558
+ --bento-tooltip-bg: var(--bento-text);
1559
+ --bento-tooltip-text: var(--bento-surface);
1560
+ --usk-native-radius-sm: 6px;
1561
+ --usk-native-radius: 8px;
1562
+ --usk-native-radius-lg: 17px;
1563
+ --usk-native-shadow: var(--bento-mosaic-shadow);
1564
+ --usk-native-shadow-md: var(--bento-mosaic-shadow-raised);
1565
+ --usk-native-choice-background: var(--bento-surface-soft);
1566
+ --usk-native-choice-shadow: none;
1567
+ --usk-native-choice-checked-background: var(--bento-primary);
1568
+ --usk-native-checkbox-radius: 4px;
1569
+ --usk-native-range-thumb-radius: 50%;
1570
+ --usk-native-range-track-background: var(--bento-border);
1571
+ --usk-native-range-progress-background: var(--bento-primary);
1572
+ --usk-native-progress-track-background: var(--bento-border);
1573
+ --usk-native-progress-value-background: var(--bento-primary);
1574
+ }
1575
+ [data-ui=bento][data-mode] .bento-title, [data-ui=bento][data-mode] .bento-heading, [data-ui=bento][data-mode] .bento-kicker { letter-spacing: 0; }
1576
+ [data-ui=bento][data-mode] .bento-card, [data-ui=bento][data-mode] .bento-surface, [data-ui=bento][data-mode] .bento-toolbar, [data-ui=bento][data-mode] .bento-card-service, [data-ui=bento][data-mode] .bento-card-feature,
1577
+ [data-ui=bento][data-mode] .bento-feature-strip, [data-ui=bento][data-mode] .bento-callout-bar { border-radius: 17px; box-shadow: var(--bento-mosaic-shadow); }
1578
+ [data-ui=bento][data-mode] .bento-card, [data-ui=bento][data-mode] .bento-panel { padding: 16px; }
1579
+ [data-ui=bento][data-mode] .bento-button, [data-ui=bento][data-mode] .bento-icon-button { border-radius: 8px; box-shadow: none; font-weight: 750; text-shadow: none; }
1580
+ [data-ui=bento][data-mode] .bento-button:not(.bento-button-primary):not(.bento-button-secondary):not(.bento-button-danger):not(.bento-button-warning):not(.bento-button-ghost):not(.is-primary):not(.is-secondary):not(.is-danger):not(.is-ghost):not(.is-busy):not(.is-hover) { background: var(--bento-surface-soft); }
1581
+ [data-ui=bento][data-mode] .bento-button.bento-button-primary, [data-ui=bento][data-mode] .bento-button.is-primary, [data-ui=bento][data-mode] .bento-button.is-busy { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
1582
+ [data-ui=bento][data-mode] .bento-button.bento-button-secondary, [data-ui=bento][data-mode] .bento-button.is-secondary { background: transparent; color: var(--bento-link); border-color: var(--bento-primary); }
1583
+ [data-ui=bento][data-mode] .bento-button.bento-button-danger, [data-ui=bento][data-mode] .bento-button.is-danger { background: var(--bento-mosaic-danger-soft); color: var(--bento-text); border-color: var(--bento-danger); }
1584
+ [data-ui=bento][data-mode] .bento-button.bento-button-ghost, [data-ui=bento][data-mode] .bento-button.is-ghost { background: transparent; border-color: transparent; color: var(--bento-link); }
1585
+ [data-ui=bento][data-mode] .bento-button.is-hover { background: var(--bento-primary-hover); color: var(--bento-on-primary); box-shadow: 0 3px 10px rgb(var(--bento-primary-rgb) / .2); }
1586
+ [data-ui=bento][data-mode] .bento-input, [data-ui=bento][data-mode] .bento-textarea, [data-ui=bento][data-mode] .bento-select { border-radius: 6px; background-color: var(--bento-surface-soft); box-shadow: none; }
1587
+ [data-ui=bento][data-mode] .bento-badge { border-radius: 5px; box-shadow: none; }
1588
+ [data-ui=bento][data-mode] .bento-alert, [data-ui=bento][data-mode] .bento-toast { border-radius: 9px; box-shadow: none; color: var(--bento-text); }
1589
+ /** Wrap feedback at word boundaries; title/body siblings must not compete for a narrow text lane. */
1590
+ [data-ui=bento][data-mode] .bento-alert { flex-wrap: wrap; }
1591
+ [data-ui=bento][data-mode] .bento-alert :is(p, strong, small) { overflow-wrap: normal; word-break: normal; hyphens: none; }
1592
+ [data-ui=bento][data-mode] .bento-alert-title { flex: 0 0 auto; max-width: 100%; }
1593
+ [data-ui=bento][data-mode] .bento-alert-body { flex: 1 1 12rem; min-width: 0; }
1594
+ [data-ui=bento][data-mode] .bento-card-service > .bento-icon-medallion { font-size: 32px; line-height: 1; }
1595
+ [data-ui=bento][data-mode] .bento-alert-success { background: var(--bento-mosaic-success-soft); border-color: var(--bento-success); }
1596
+ [data-ui=bento][data-mode] .bento-alert-warning { background: var(--bento-mosaic-warning-soft); border-color: var(--bento-warning); }
1597
+ [data-ui=bento][data-mode] .bento-alert-danger { background: var(--bento-mosaic-danger-soft); border-color: var(--bento-danger); }
1598
+ [data-ui=bento][data-mode] .bento-alert-info { background: var(--bento-mosaic-info-soft); border-color: var(--bento-link); }
1599
+ [data-ui=bento][data-mode] .bento-status { color: var(--bento-text); }
1600
+ [data-ui=bento][data-mode] .bento-status.is-success, [data-ui=bento][data-mode] .bento-status.is-warning, [data-ui=bento][data-mode] .bento-status.is-danger,
1601
+ [data-ui=bento][data-mode] .bento-status.is-info, [data-ui=bento][data-mode] .bento-status.is-violet { color: var(--bento-text); border-color: currentColor; }
1602
+ [data-ui=bento][data-mode] .bento-progress-bar { background: var(--bento-primary); }
1603
+ [data-ui=bento][data-mode] .bento-table-wrap { border-radius: 9px; box-shadow: none; }
1604
+ [data-ui=bento][data-mode] .bento-table th { background: var(--bento-surface-soft); }
1605
+ [data-ui=bento][data-mode] .bento-table :is(th, td) { padding: 12px; border-bottom: 1px solid var(--bento-border); }
1606
+ [data-ui=bento][data-mode] .bento-nav-link { border-radius: 9px; }
1607
+ [data-ui=bento][data-mode] .bento-well, [data-ui=bento][data-mode] .bento-inset { border-radius: 9px; box-shadow: none; }
1608
+ [data-ui="bento"][data-mode] :where(dialog) { border-radius: 14px; box-shadow: var(--bento-mosaic-shadow-raised); }
1609
+
1610
+ /** Intrinsic tracks preserve the board hierarchy without shrinking its controls. */
1611
+ [data-ui=bento][data-mode] .bento-sheet { display: grid; grid-template-columns: 184px minmax(0, 1fr); gap: 10px; font: 14px/1.5 var(--bento-font-sans); color: var(--bento-text); background: var(--bento-bg); min-width: 0; padding: 8px; }
1612
+ [data-ui=bento][data-mode] .bento-sheet :is(h1, h2, h3, p, span, label, button) { letter-spacing: 0; }
1613
+ [data-ui=bento][data-mode] .bento-sheet :is(h2, h3) { font-size: 16px; font-weight: 800; margin: 0; }
1614
+ [data-ui=bento][data-mode] .bento-sheet svg { width: 18px; height: 18px; }
1615
+ [data-ui=bento][data-mode] .bento-sheet :is(button, a, input, select, textarea) { font-family: inherit; }
1616
+ [data-ui=bento][data-mode] .bento-sheet button { box-shadow: none; }
1617
+ [data-ui=bento][data-mode] .bento-sheet :is(button, input, select, textarea):focus-visible { outline: 2px solid var(--bento-focus); outline-offset: 3px; }
1618
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar { height: auto; margin: 0; border-radius: 18px; gap: 16px; }
1619
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar-note { min-height: 0; }
1620
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar-note p { max-width: none; }
1621
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar nav button.is-active { box-shadow: none; }
1622
+ [data-ui=bento][data-mode] .bento-canvas { height: auto; grid-template-rows: auto; padding: 0; min-width: 0; }
1623
+ [data-ui=bento][data-mode] .bento-top-grid { grid-template-columns: minmax(0, 2fr) minmax(160px, 1fr) minmax(180px, 1fr); }
1624
+ [data-ui=bento][data-mode] .bento-middle-grid { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
1625
+ [data-ui=bento][data-mode] .bento-bottom-grid { grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(0, 1.4fr); }
1626
+ [data-ui=bento][data-mode] .bento-canvas :is(.bento-panel, .bento-metrics-stack, .bento-utility-stack) { min-width: 0; }
1627
+ [data-ui=bento][data-mode] .bento-sheet .bento-panel { color: var(--bento-text); }
1628
+ [data-ui=bento][data-mode] .bento-sheet .bento-actions { background: var(--bento-surface); grid-template-rows: auto; }
1629
+ [data-ui=bento][data-mode] .bento-sheet .bento-button { min-height: 36px; padding: 8px 12px; font-size: 12px; }
1630
+ [data-ui=bento][data-mode] .bento-sheet .bento-system { background: var(--bento-primary); color: var(--bento-on-primary); }
1631
+ [data-ui=bento][data-mode] .bento-sheet .bento-system :is(header, h2, p, strong, small) { color: var(--bento-on-primary); }
1632
+ [data-ui=bento][data-mode] .bento-metrics-stack { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
1633
+ [data-ui=bento][data-mode] .bento-sheet .bento-usage { background: var(--bento-mosaic-warning-soft); }
1634
+ [data-ui=bento][data-mode] .bento-sheet .bento-quota { background: var(--bento-mosaic-success-soft); }
1635
+ [data-ui=bento][data-mode] .bento-quota-copy strong { color: var(--bento-success-ink, var(--bento-success)); }
1636
+ [data-ui=bento][data-mode] .bento-sheet .bento-hero { background: var(--bento-mosaic-primary-soft); display: flex; flex-direction: column; min-height: 360px; padding: 24px; }
1637
+ [data-ui=bento][data-mode] .bento-hero-copy { position: static; }
1638
+ [data-ui=bento][data-mode] .bento-hero h1 { font-size: 32px; }
1639
+ [data-ui=bento][data-mode] .bento-hero p { max-width: none; }
1640
+ [data-ui=bento][data-mode] .bento-inline-actions { flex-wrap: wrap; }
1641
+ [data-ui=bento][data-mode] .bento-sheet .bento-hero-art { position: relative; inset: auto; transform: none; width: 175px; height: 190px; margin: 12px auto 0; overflow: hidden; flex: 0 0 190px; }
1642
+ [data-ui=bento][data-mode] .bento-sheet .bento-hero-art img { position: absolute; width: 1160px; max-width: none; height: auto; left: -380px; top: -55px; }
1643
+ [data-ui=bento][data-mode] .bento-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
1644
+ [data-ui=bento][data-mode] .bento-field :is(input, select, textarea), [data-ui=bento][data-mode] .bento-table-tools input { min-height: 36px; height: auto; font-size: 13px; }
1645
+ [data-ui=bento][data-mode] .bento-field textarea { min-height: 72px; resize: vertical; padding: 8px; }
1646
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > button { top: 9px; }
1647
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > button svg { width: 18px; height: 18px; }
1648
+ [data-ui=bento][data-mode] .bento-file { min-height: 60px; }
1649
+ [data-ui=bento][data-mode] .bento-file input { top: 22px; height: 36px; cursor: pointer; }
1650
+ [data-ui=bento][data-mode] .bento-file > span:last-child { height: 36px; }
1651
+ [data-ui=bento][data-mode] .bento-file:focus-within { outline: 2px solid var(--bento-focus); outline-offset: 2px; }
1652
+ [data-ui=bento][data-mode] .bento-choices fieldset > label { min-height: 28px; }
1653
+ [data-ui=bento][data-mode] .bento-choices fieldset { border-radius: 0; background: transparent; box-shadow: none; }
1654
+ [data-ui=bento][data-mode] .bento-choices input:is([type="checkbox"], [type="radio"]) { appearance: auto; background: none; box-shadow: none; }
1655
+ [data-ui=bento][data-mode] .bento-choices input:is([type="checkbox"], [type="radio"])::before,
1656
+ [data-ui=bento][data-mode] .bento-choices input:is([type="checkbox"], [type="radio"])::after { content: none; }
1657
+ [data-ui=bento][data-mode] .bento-input-icon.is-end > button { min-height: 24px; width: 24px; height: 24px; top: 6px; right: 6px; padding: 3px; }
1658
+ [data-ui=bento][data-mode] :is(.bento-alert, .bento-toast) button { min-height: 24px; height: 24px; width: 24px; display: inline-flex; justify-content: center; align-items: center; flex: 0 0 24px; }
1659
+ [data-ui=bento][data-mode] .bento-eyebrow,
1660
+ [data-ui=bento][data-mode] .bento-file > span:last-child,
1661
+ [data-ui=bento][data-mode] .bento-segment button.is-active,
1662
+ [data-ui=bento][data-mode] .bento-listbox button[aria-selected="true"] { color: var(--bento-link); }
1663
+ [data-ui=bento][data-mode] .bento-media-scrim > :where(figcaption, [data-media-caption]) * { color: inherit; }
1664
+ [data-ui=bento][data-mode] .bento-tabs button.is-active { background: var(--bento-surface); color: var(--bento-text); }
1665
+ [data-ui=bento][data-mode] .bento-switch-row { min-height: 32px; }
1666
+ [data-ui=bento][data-mode] .bento-sheet .bento-switch:where(button, span) { flex: 0 0 37px; padding: 2px; min-height: 20px; }
1667
+ [data-ui=bento][data-mode] .bento-segment button { min-height: 36px; padding: 4px; }
1668
+ [data-ui=bento][data-mode] .bento-sheet .bento-tooltip { background: var(--bento-surface); color: var(--bento-text); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; min-height: 100px; }
1669
+ [data-ui=bento][data-mode] .bento-sheet .bento-tooltip [role="tooltip"] { position: static; transform: none; background: var(--bento-tooltip-bg); color: var(--bento-tooltip-text); border-radius: 7px; padding: 8px; }
1670
+ [data-ui=bento][data-mode] .bento-sheet .bento-tooltip [role="tooltip"]::after { display: none; }
1671
+ [data-ui=bento][data-mode] .bento-sheet .bento-loading { display: flex; flex-wrap: wrap; align-content: start; align-items: center; gap: 12px; min-height: 100px; }
1672
+ [data-ui=bento][data-mode] .bento-sheet :is(.bento-loading, .bento-tooltip) > header { flex: 0 0 100%; }
1673
+ [data-ui=bento][data-mode] .bento-sheet .bento-tooltip > button { min-height: 24px; width: 24px; height: 24px; padding: 0; }
1674
+ [data-ui=bento][data-mode] .bento-spinner,
1675
+ [data-ui=bento][data-mode] .bento-loading-spinner,
1676
+ [data-ui=bento][data-mode] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]),
1677
+ [data-ui=bento][data-mode] .bento-sheet .bento-spinner { border: 2px solid currentColor; border-top-color: transparent; background: transparent; clip-path: none; border-radius: 50%; box-shadow: none; animation: bento-mosaic-spin 1s linear infinite; width: 28px; height: 28px; inline-size: 28px; block-size: 28px; flex: 0 0 auto; }
1678
+ [data-ui=bento][data-mode] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) { color: var(--bento-spinner-stroke); }
1679
+ [data-ui=bento][data-mode] .bento-spinner-sm { width: 16px; height: 16px; inline-size: 16px; block-size: 16px; }
1680
+ [data-ui=bento][data-mode] .bento-spinner-lg { width: 40px; height: 40px; inline-size: 40px; block-size: 40px; }
1681
+ /** Keeps native busy controls on the same Soft Mosaic ring as authored button aliases. */
1682
+ [data-ui=bento][data-mode] :is(.bento-button, .bento-icon-button)[aria-busy="true"]::after,
1683
+ [data-ui=bento][data-mode] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after { background: transparent; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; box-shadow: none; clip-path: none; animation: bento-mosaic-spin 1s linear infinite; }
1684
+ [data-ui=bento][data-mode] .bento-sheet .bento-spinner::before, [data-ui=bento][data-mode] .bento-sheet .bento-spinner::after { content: none; }
1685
+ [data-ui=bento][data-mode] .bento-sheet .bento-skeleton { flex: 1; min-width: 40px; width: auto; height: auto; background: transparent; }
1686
+ [data-ui=bento][data-mode] .bento-sheet .bento-skeleton::after { content: none; }
1687
+ [data-ui=bento][data-mode] .bento-sheet .bento-table-panel { grid-column: 1; }
1688
+ [data-ui=bento][data-mode] .bento-sheet .bento-table-wrap { overflow: auto; background: var(--bento-surface); }
1689
+ [data-ui=bento][data-mode] .bento-table-panel table { min-width: 500px; table-layout: auto; }
1690
+ [data-ui=bento][data-mode] .bento-table-panel :is(th, td) { padding: 10px; }
1691
+ [data-ui=bento][data-mode] .bento-table-panel th { background: var(--bento-surface-soft); color: var(--bento-text); }
1692
+ [data-ui=bento][data-mode] .bento-table-panel th:nth-child(n) { width: auto; }
1693
+ [data-ui=bento][data-mode] .bento-table-panel > header { flex-wrap: wrap; gap: 12px; }
1694
+ [data-ui=bento][data-mode] .bento-table-tools { width: 100%; }
1695
+ [data-ui=bento][data-mode] .bento-table-tools input { width: 100%; }
1696
+ [data-ui=bento][data-mode] .bento-listbox button { min-height: 36px; color: var(--bento-text); }
1697
+ [data-ui=bento][data-mode] .bento-sheet .bento-dialog-zone { background: var(--bento-primary); padding: 0; }
1698
+ [data-ui=bento][data-mode] .bento-dialog-toolbar { flex-wrap: wrap; gap: 8px; }
1699
+ [data-ui=bento][data-mode] .bento-dialog-surface { min-height: 280px; padding: 14px; }
1700
+ [data-ui=bento][data-mode] .bento-dialog-surface dialog { padding: 20px; }
1701
+ [data-ui=bento][data-mode] .bento-dialog-surface dialog > div { flex-wrap: wrap; }
1702
+ [data-ui=bento][data-mode] .bento-sheet [hidden] { display: none; }
1703
+ @media (min-width: 1800px) {
1704
+ [data-ui=bento][data-mode] .bento-top-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
1705
+ [data-ui=bento][data-mode] .bento-metrics-stack { grid-column: auto; grid-template-columns: 1fr; }
1706
+ }
1707
+ @media (max-width: 1250px) {
1708
+ [data-ui=bento][data-mode] .bento-sheet { grid-template-columns: 1fr; }
1709
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px; }
1710
+ [data-ui=bento][data-mode] .bento-brand { padding: 0; }
1711
+ [data-ui=bento][data-mode] .bento-sidebar nav { display: flex; flex-wrap: wrap; }
1712
+ [data-ui=bento][data-mode] .bento-sidebar-spacer, [data-ui=bento][data-mode] .bento-sidebar-note { display: none; }
1713
+ [data-ui=bento][data-mode] .bento-theme-toggle { width: auto; margin: 0; }
1714
+ [data-ui=bento][data-mode] .bento-bottom-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1715
+ [data-ui=bento][data-mode] .bento-sheet .bento-table-panel { grid-column: 1 / -1; }
1716
+ }
1717
+ @media (max-width: 800px) {
1718
+ [data-ui=bento][data-mode] .bento-top-grid, [data-ui=bento][data-mode] .bento-middle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1719
+ [data-ui=bento][data-mode] .bento-hero, [data-ui=bento][data-mode] .bento-form-panel { grid-column: 1 / -1; }
1720
+ [data-ui=bento][data-mode] .bento-sheet .bento-hero { min-height: 0; }
1721
+ }
1722
+ @media (max-width: 520px) {
1723
+ [data-ui=bento][data-mode] .bento-top-grid, [data-ui=bento][data-mode] .bento-middle-grid, [data-ui=bento][data-mode] .bento-bottom-grid, [data-ui=bento][data-mode] .bento-metrics-stack { grid-template-columns: minmax(0, 1fr); }
1724
+ [data-ui=bento][data-mode] .bento-form-grid { grid-template-columns: minmax(0, 1fr); }
1725
+ [data-ui=bento][data-mode] .bento-sheet .bento-hero { padding: 16px; }
1726
+ [data-ui=bento][data-mode] .bento-sheet { padding: 4px; }
1727
+ [data-ui=bento][data-mode] .bento-sheet .bento-sidebar nav button { width: auto; }
1728
+ }
1729
+ }
1730
+
1731
+ /**
1732
+ * Preserves shared annotation fixture spacing and icon weight after reference
1733
+ * overrides append their compact source rules.
1734
+ */
1735
+ [data-ui="bento"][data-mode] .bento-title {
1736
+ margin-block: max(.75rem, 12px);
1737
+ letter-spacing: max(.018em, .5px);
1738
+ }
1739
+
1740
+ [data-ui="bento"][data-mode] .bento-feature-item > .bento-icon-medallion {
1741
+ font-size: 1.5rem;
1742
+ line-height: 1;
1743
+ }
1744
+
1745
+ [data-ui="bento"][data-mode] .bento-callout-bar > .bento-icon-medallion {
1746
+ min-inline-size: 4.5rem;
1747
+ min-block-size: 4.5rem;
1748
+ font-size: 2rem;
1749
+ font-weight: 800;
1750
+ line-height: 1;
1751
+ }