ui-style-kit-css 2.3.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 (120) hide show
  1. package/CHANGELOG.md +40 -2
  2. package/CONTRIBUTING.md +8 -1
  3. package/README.md +91 -42
  4. package/STYLE-MAP.md +9 -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 +47483 -15117
  26. package/dist/ui-style-kit.min.css +2 -2
  27. package/dist/ui-style-kit.visual.css +47344 -15106
  28. package/dist/ui-style-kit.visual.min.css +2 -2
  29. package/dist/ui-style-kit.with-bridge.css +47510 -15134
  30. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  31. package/dist/visual/art-deco.css +2821 -279
  32. package/dist/visual/bauhaus.css +2 -4692
  33. package/dist/visual/bento.css +2 -4708
  34. package/dist/visual/brutalism.css +812 -224
  35. package/dist/visual/clay.css +2 -4786
  36. package/dist/visual/cyberpunk.css +2238 -267
  37. package/dist/visual/data-terminal.css +1671 -293
  38. package/dist/visual/editorial-luxe.css +1889 -243
  39. package/dist/visual/industrial-utility.css +2717 -255
  40. package/dist/visual/maximalist.css +1768 -447
  41. package/dist/visual/minimal-saas.css +1076 -382
  42. package/dist/visual/neo-noir.css +2 -4787
  43. package/dist/visual/neumorphism.css +1266 -388
  44. package/dist/visual/organic-modern.css +2 -4764
  45. package/dist/visual/paper-editorial.css +2551 -276
  46. package/dist/visual/retro-glass.css +2235 -319
  47. package/dist/visual/retrofuturism.css +1460 -382
  48. package/dist/visual/tactile.css +2251 -443
  49. package/dist/visual/technical-blueprint.css +2207 -285
  50. package/dist/visual/y2k.css +1481 -294
  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 +4 -4
  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 +31 -10
  64. package/docs/RELEASE-2.4.0.md +88 -0
  65. package/docs/RETRO-GLASS.md +105 -0
  66. package/docs/STYLE-GUIDE.md +40 -25
  67. package/docs/TACTILE.md +38 -0
  68. package/docs/TECHNICAL-BLUEPRINT.md +60 -0
  69. package/docs/TOKENS.md +80 -3
  70. package/docs/superpowers/plans/2026-09-04-library-wide-theme-fallback-and-fidelity.md +331 -0
  71. package/docs/superpowers/specs/2026-09-04-library-wide-theme-fallback-and-fidelity-design.md +113 -0
  72. package/manifest.json +618 -27
  73. package/package.json +18 -10
  74. package/styles/art-deco.css +1397 -12
  75. package/styles/assets/bauhaus-barlow-OFL.txt +93 -0
  76. package/styles/assets/bauhaus-barlow-semibold.ttf +0 -0
  77. package/styles/assets/bauhaus-barlow.ttf +0 -0
  78. package/styles/assets/bauhaus-condensed-OFL.txt +93 -0
  79. package/styles/assets/bauhaus-condensed-bold.ttf +0 -0
  80. package/styles/assets/bauhaus-condensed-extrabold.ttf +0 -0
  81. package/styles/assets/bento-manrope-OFL.txt +93 -0
  82. package/styles/assets/bento-manrope.ttf +0 -0
  83. package/styles/assets/clay-grain.png +0 -0
  84. package/styles/assets/clay-rounded-OFL.txt +93 -0
  85. package/styles/assets/clay-rounded.ttf +0 -0
  86. package/styles/assets/neo-noir-corner-dark.png +0 -0
  87. package/styles/assets/neo-noir-corner-light.png +0 -0
  88. package/styles/assets/neo-noir-texture-dark.png +0 -0
  89. package/styles/assets/neo-noir-texture-light.png +0 -0
  90. package/styles/assets/organic-display-OFL.txt +93 -0
  91. package/styles/assets/organic-display.ttf +0 -0
  92. package/styles/assets/organic-icons-LICENSE.txt +21 -0
  93. package/styles/assets/organic-sans-OFL.txt +93 -0
  94. package/styles/assets/organic-sans.ttf +0 -0
  95. package/styles/bauhaus.css +878 -107
  96. package/styles/bento.css +1176 -108
  97. package/styles/brutalism.css +262 -11
  98. package/styles/clay.css +1303 -68
  99. package/styles/compat-layout.css +1 -2
  100. package/styles/components.css +105 -34
  101. package/styles/content-overflow.css +11 -5
  102. package/styles/cyberpunk.css +1852 -47
  103. package/styles/data-terminal.css +1116 -12
  104. package/styles/editorial-luxe.css +576 -12
  105. package/styles/industrial-utility.css +1771 -12
  106. package/styles/interactive-surface-bridge.css +30 -20
  107. package/styles/interactive-surface-theme.css +21 -11
  108. package/styles/maximalist.css +1214 -132
  109. package/styles/minimal-saas.css +459 -88
  110. package/styles/native-elements.css +347 -171
  111. package/styles/neo-noir.css +656 -14
  112. package/styles/neumorphism.css +1018 -146
  113. package/styles/organic-modern.css +688 -18
  114. package/styles/paper-editorial.css +1048 -12
  115. package/styles/retro-glass.css +635 -46
  116. package/styles/retrofuturism.css +944 -56
  117. package/styles/tactile.css +1810 -108
  118. package/styles/technical-blueprint.css +668 -17
  119. package/styles/theme-colors.css +2 -2
  120. package/styles/y2k.css +950 -42
@@ -15,20 +15,33 @@
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
17
 
18
+ /** Locally bundled OFL fonts keep workshop typography independent of network access. */
19
+ @font-face { font-family: "Bauhaus Barlow"; src: url("./assets/bauhaus-barlow.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
20
+ @font-face { font-family: "Bauhaus Barlow"; src: url("./assets/bauhaus-barlow-semibold.ttf") format("truetype"); font-style: normal; font-weight: 600 900; font-display: swap; }
21
+ @font-face { font-family: "Bauhaus Condensed"; src: url("./assets/bauhaus-condensed-bold.ttf") format("truetype"); font-style: normal; font-weight: 400 700; font-display: swap; }
22
+ @font-face { font-family: "Bauhaus Condensed"; src: url("./assets/bauhaus-condensed-extrabold.ttf") format("truetype"); font-style: normal; font-weight: 800 900; font-display: swap; }
23
+
18
24
  @layer ui-style-kit.bauhaus {
19
25
  :root {
20
- --bau-font-sans: Helvetica Neue, Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
21
- --bau-font-display: Helvetica Neue, Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
26
+ --bau-font-sans: "Bauhaus Barlow", Arial, sans-serif;
27
+ --bau-font-display: "Bauhaus Condensed", "Arial Narrow", Arial, sans-serif;
22
28
  --bau-font-body: var(--bau-font-sans);
23
29
  --bau-font-heading: var(--bau-font-display);
24
30
  --bau-font-control: var(--bau-font-display);
25
31
  --bau-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
26
- --bau-radius-xs: .25rem;
27
- --bau-radius-sm: .5rem;
28
- --bau-radius-md: 0.125rem;
29
- --bau-radius-lg: 0.125rem;
30
- --bau-radius-xl: calc(0.125rem + .5rem);
32
+ --bau-radius-xs: 0;
33
+ --bau-radius-sm: 0;
34
+ --bau-radius-md: 0;
35
+ --bau-radius-lg: 0;
36
+ --bau-radius-xl: 0;
31
37
  --bau-radius-pill: 999px;
38
+ --bau-rule-width: .16rem;
39
+ --bau-rule-heavy: .28rem;
40
+ --bau-grid-step: 3rem;
41
+ --bau-panel-shadow: .48rem .48rem 0 rgb(var(--bau-text-rgb) / .84);
42
+ --bau-control-shadow: .26rem .26rem 0 rgb(var(--bau-text-rgb) / .88);
43
+ --bau-control-shadow-hover: .42rem .42rem 0 rgb(var(--bau-text-rgb) / .9);
44
+ --bau-control-shadow-pressed: .08rem .08rem 0 rgb(var(--bau-text-rgb) / .9);
32
45
  --bau-space-1: .25rem;
33
46
  --bau-space-2: .5rem;
34
47
  --bau-space-3: .75rem;
@@ -42,24 +55,93 @@
42
55
 
43
56
  [data-ui="bauhaus"][data-mode="light"] {
44
57
  color-scheme: light;
58
+ --bau-fallback-bg-rgb: 238 233 221;
59
+ --bau-fallback-surface-rgb: 255 253 247;
60
+ --bau-fallback-surface-strong-rgb: 255 253 247;
61
+ --bau-fallback-surface-soft-rgb: 238 233 221;
62
+ --bau-fallback-text-rgb: 9 9 9;
63
+ --bau-fallback-text-muted-rgb: 85 81 73;
64
+ --bau-fallback-border-rgb: 9 9 9;
65
+ --bau-fallback-primary-rgb: 6 75 196;
66
+ --bau-fallback-primary-hover-rgb: 15 94 233;
67
+ --bau-fallback-primary-text-rgb: 255 255 255;
68
+ --bau-fallback-secondary-rgb: 9 9 9;
69
+ --bau-fallback-secondary-hover-rgb: 40 40 40;
70
+ --bau-fallback-secondary-text-rgb: 255 253 247;
71
+ --bau-fallback-accent-rgb: 255 202 8;
72
+ --bau-fallback-accent-text-rgb: 9 9 9;
73
+ --bau-fallback-success-rgb: 22 123 78;
74
+ --bau-fallback-success-text-rgb: 255 255 255;
75
+ --bau-fallback-warning-rgb: 255 202 8;
76
+ --bau-fallback-warning-text-rgb: 9 9 9;
77
+ --bau-fallback-danger-rgb: 214 32 20;
78
+ --bau-fallback-danger-text-rgb: 255 255 255;
79
+ --bau-fallback-link-rgb: 6 75 196;
80
+ --bau-fallback-focus-rgb: 154 101 0;
45
81
  --bau-panel-alpha: .98;
46
82
  --bau-panel-soft-alpha: .78;
47
- --bau-border-alpha: .58;
48
- --bau-shadow-alpha: .12;
83
+ --bau-border-alpha: .78;
84
+ --bau-shadow-alpha: .18;
49
85
  --bau-focus-alpha: .34;
50
86
  }
51
87
 
52
88
  [data-ui="bauhaus"][data-mode="dark"] {
53
89
  color-scheme: dark;
90
+ --bau-fallback-bg-rgb: 5 5 5;
91
+ --bau-fallback-surface-rgb: 8 8 8;
92
+ --bau-fallback-surface-strong-rgb: 12 12 12;
93
+ --bau-fallback-surface-soft-rgb: 21 21 21;
94
+ --bau-fallback-text-rgb: 247 244 236;
95
+ --bau-fallback-text-muted-rgb: 185 180 169;
96
+ --bau-fallback-border-rgb: 244 241 232;
97
+ --bau-fallback-primary-rgb: 10 84 232;
98
+ --bau-fallback-primary-hover-rgb: 28 100 238;
99
+ --bau-fallback-primary-text-rgb: 255 255 255;
100
+ --bau-fallback-secondary-rgb: 247 244 236;
101
+ --bau-fallback-secondary-hover-rgb: 255 255 255;
102
+ --bau-fallback-secondary-text-rgb: 5 5 5;
103
+ --bau-fallback-accent-rgb: 255 208 20;
104
+ --bau-fallback-accent-text-rgb: 9 9 9;
105
+ --bau-fallback-success-rgb: 85 200 136;
106
+ --bau-fallback-success-text-rgb: 5 5 5;
107
+ --bau-fallback-warning-rgb: 255 208 20;
108
+ --bau-fallback-warning-text-rgb: 9 9 9;
109
+ --bau-fallback-danger-rgb: 255 59 47;
110
+ --bau-fallback-danger-text-rgb: 5 5 5;
111
+ --bau-fallback-link-rgb: 111 161 255;
112
+ --bau-fallback-focus-rgb: 255 208 20;
54
113
  --bau-panel-alpha: .92;
55
114
  --bau-panel-soft-alpha: .64;
56
- --bau-border-alpha: .52;
57
- --bau-shadow-alpha: .34;
115
+ --bau-border-alpha: .68;
116
+ --bau-shadow-alpha: .38;
58
117
  --bau-focus-alpha: .42;
59
118
  }
60
119
 
61
120
  [data-ui="bauhaus"][data-mode="contrast"] {
62
121
  color-scheme: dark;
122
+ --bau-fallback-bg-rgb: 0 0 0;
123
+ --bau-fallback-surface-rgb: 6 16 26;
124
+ --bau-fallback-surface-strong-rgb: 10 29 48;
125
+ --bau-fallback-surface-soft-rgb: 0 0 0;
126
+ --bau-fallback-text-rgb: 255 255 255;
127
+ --bau-fallback-text-muted-rgb: 238 244 255;
128
+ --bau-fallback-border-rgb: 255 255 255;
129
+ --bau-fallback-primary-rgb: 102 181 255;
130
+ --bau-fallback-primary-hover-rgb: 255 255 255;
131
+ --bau-fallback-primary-text-rgb: 0 0 0;
132
+ --bau-fallback-secondary-rgb: 255 102 102;
133
+ --bau-fallback-secondary-hover-rgb: 255 255 255;
134
+ --bau-fallback-secondary-text-rgb: 0 0 0;
135
+ --bau-fallback-accent-rgb: 255 170 170;
136
+ --bau-fallback-accent-text-rgb: 0 0 0;
137
+ --bau-fallback-success-rgb: 0 255 144;
138
+ --bau-fallback-success-text-rgb: 0 0 0;
139
+ --bau-fallback-warning-rgb: 255 212 0;
140
+ --bau-fallback-warning-text-rgb: 0 0 0;
141
+ --bau-fallback-danger-rgb: 255 92 92;
142
+ --bau-fallback-danger-text-rgb: 0 0 0;
143
+ --bau-fallback-link-rgb: 140 198 255;
144
+ --bau-fallback-focus-rgb: 255 255 255;
63
145
  --bau-panel-alpha: 1;
64
146
  --bau-panel-soft-alpha: .92;
65
147
  --bau-border-alpha: 1;
@@ -67,8 +149,8 @@
67
149
  --bau-focus-alpha: .72;
68
150
  }
69
151
 
152
+ /** Preserves direct aliases for static extraction when a scheme is selected. */
70
153
  [data-ui="bauhaus"][data-theme][data-mode] {
71
- /* Shared scheme aliases preserve the existing prefixed token API. */
72
154
  --bau-bg-rgb: var(--usk-bg-rgb);
73
155
  --bau-surface-rgb: var(--usk-surface-rgb);
74
156
  --bau-surface-strong-rgb: var(--usk-surface-strong-rgb);
@@ -83,15 +165,43 @@
83
165
  --bau-secondary-hover-rgb: var(--usk-secondary-hover-rgb);
84
166
  --bau-secondary-text-rgb: var(--usk-secondary-text-rgb);
85
167
  --bau-accent-rgb: var(--usk-accent-rgb);
86
- --bau-success-rgb: var(--usk-success-rgb);
87
- --bau-warning-rgb: var(--usk-warning-rgb);
88
- --bau-danger-rgb: var(--usk-danger-rgb);
89
- --bau-link-rgb: var(--usk-link-rgb);
90
168
  --bau-accent-text-rgb: var(--usk-accent-text-rgb);
169
+ --bau-success-rgb: var(--usk-success-rgb);
91
170
  --bau-success-text-rgb: var(--usk-success-text-rgb);
171
+ --bau-warning-rgb: var(--usk-warning-rgb);
92
172
  --bau-warning-text-rgb: var(--usk-warning-text-rgb);
173
+ --bau-danger-rgb: var(--usk-danger-rgb);
93
174
  --bau-danger-text-rgb: var(--usk-danger-text-rgb);
175
+ --bau-link-rgb: var(--usk-link-rgb);
94
176
  --bau-focus-rgb: var(--usk-focus-rgb);
177
+ }
178
+
179
+ [data-ui="bauhaus"][data-mode] {
180
+ --usk-native-bg: var(--bau-bg);
181
+ /* Explicit schemes win; reference colors are used only when no scheme exists. */
182
+ --bau-bg-rgb: var(--usk-bg-rgb, var(--bau-fallback-bg-rgb));
183
+ --bau-surface-rgb: var(--usk-surface-rgb, var(--bau-fallback-surface-rgb));
184
+ --bau-surface-strong-rgb: var(--usk-surface-strong-rgb, var(--bau-fallback-surface-strong-rgb));
185
+ --bau-surface-soft-rgb: var(--usk-surface-soft-rgb, var(--bau-fallback-surface-soft-rgb));
186
+ --bau-text-rgb: var(--usk-text-rgb, var(--bau-fallback-text-rgb));
187
+ --bau-text-muted-rgb: var(--usk-text-muted-rgb, var(--bau-fallback-text-muted-rgb));
188
+ --bau-border-rgb: var(--usk-border-rgb, var(--bau-fallback-border-rgb));
189
+ --bau-primary-rgb: var(--usk-primary-rgb, var(--bau-fallback-primary-rgb));
190
+ --bau-primary-hover-rgb: var(--usk-primary-hover-rgb, var(--bau-fallback-primary-hover-rgb));
191
+ --bau-primary-text-rgb: var(--usk-primary-text-rgb, var(--bau-fallback-primary-text-rgb));
192
+ --bau-secondary-rgb: var(--usk-secondary-rgb, var(--bau-fallback-secondary-rgb));
193
+ --bau-secondary-hover-rgb: var(--usk-secondary-hover-rgb, var(--bau-fallback-secondary-hover-rgb));
194
+ --bau-secondary-text-rgb: var(--usk-secondary-text-rgb, var(--bau-fallback-secondary-text-rgb));
195
+ --bau-accent-rgb: var(--usk-accent-rgb, var(--bau-fallback-accent-rgb));
196
+ --bau-accent-text-rgb: var(--usk-accent-text-rgb, var(--bau-fallback-accent-text-rgb));
197
+ --bau-success-rgb: var(--usk-success-rgb, var(--bau-fallback-success-rgb));
198
+ --bau-success-text-rgb: var(--usk-success-text-rgb, var(--bau-fallback-success-text-rgb));
199
+ --bau-warning-rgb: var(--usk-warning-rgb, var(--bau-fallback-warning-rgb));
200
+ --bau-warning-text-rgb: var(--usk-warning-text-rgb, var(--bau-fallback-warning-text-rgb));
201
+ --bau-danger-rgb: var(--usk-danger-rgb, var(--bau-fallback-danger-rgb));
202
+ --bau-danger-text-rgb: var(--usk-danger-text-rgb, var(--bau-fallback-danger-text-rgb));
203
+ --bau-link-rgb: var(--usk-link-rgb, var(--bau-fallback-link-rgb));
204
+ --bau-focus-rgb: var(--usk-focus-rgb, var(--bau-fallback-focus-rgb));
95
205
  /* Native fallback selectors inherit visual identity through shared tokens. */
96
206
  --usk-native-surface: var(--bau-surface);
97
207
  --usk-native-surface-strong: var(--bau-surface-strong);
@@ -113,15 +223,66 @@
113
223
  --usk-native-font-heading: var(--bau-font-heading);
114
224
  --usk-native-font-control: var(--bau-font-control);
115
225
  --usk-native-font-mono: var(--bau-font-mono);
116
- --usk-native-radius-sm: var(--bau-radius-sm);
117
- --usk-native-radius: var(--bau-radius-md);
118
- --usk-native-radius-lg: var(--bau-radius-lg);
119
- --usk-native-shadow: var(--bau-shadow-sm, none);
226
+ --usk-native-radius-sm: 0;
227
+ --usk-native-radius: 0;
228
+ --usk-native-radius-lg: 0;
229
+ --usk-native-shadow: var(--bau-control-shadow);
120
230
  --usk-native-shadow-md: var(--bau-shadow-md, var(--usk-native-shadow));
121
231
  --usk-native-focus-ring: var(--bau-focus-ring, 0 0 0 3px rgb(var(--bau-focus-rgb) / .28));
122
- --usk-native-border-width: 1px;
232
+ --usk-native-border-width: 2px;
123
233
  --usk-native-field-gap: .5rem;
124
234
  --usk-native-panel-padding: var(--bau-space-5);
235
+ --usk-native-control-min-block-size: 3.125rem;
236
+ --usk-native-control-padding-block: .75rem;
237
+ --usk-native-control-padding-inline: 1.05rem;
238
+ --usk-native-subcontrol-padding-block: .5rem;
239
+ --usk-native-subcontrol-padding-inline: .8rem;
240
+ --usk-native-choice-size: 1.5rem;
241
+ --usk-native-choice-background: var(--bau-control-bg);
242
+ --usk-native-choice-border: 2px solid var(--bau-border);
243
+ --usk-native-checkbox-radius: 0;
244
+ --usk-native-radio-radius: 50%;
245
+ --usk-native-choice-shadow: var(--bau-control-shadow-pressed);
246
+ --usk-native-choice-checked-background: var(--bau-primary);
247
+ --usk-native-choice-mark-color: var(--bau-on-primary);
248
+ --usk-native-select-indicator-image: linear-gradient(45deg, transparent 50%, var(--bau-text) 50%), linear-gradient(135deg, var(--bau-text) 50%, transparent 50%);
249
+ --usk-native-select-indicator-size: .58rem .58rem, .58rem .58rem;
250
+ --usk-native-select-indicator-position: calc(100% - 1.45rem) 50%, calc(100% - 1.04rem) 50%;
251
+ --usk-native-select-padding-inline-end: 3rem;
252
+ --usk-native-range-track-size: .24rem;
253
+ --usk-native-range-track-background: var(--bau-border);
254
+ --usk-native-range-track-border: 0 solid transparent;
255
+ --usk-native-range-track-radius: 0;
256
+ --usk-native-range-track-shadow: none;
257
+ --usk-native-range-progress-background: var(--bau-primary);
258
+ --usk-native-range-thumb-size: 1.55rem;
259
+ --usk-native-range-thumb-background: var(--bau-primary);
260
+ --usk-native-range-thumb-border: 2px solid var(--bau-border);
261
+ --usk-native-range-thumb-radius: 50%;
262
+ --usk-native-range-thumb-shadow: var(--bau-control-shadow-pressed);
263
+ --usk-native-progress-size: .95rem;
264
+ --usk-native-progress-track-background: repeating-linear-gradient(90deg, var(--bau-surface-soft) 0 1.15rem, rgb(var(--bau-border-rgb) / .7) 1.15rem calc(1.15rem + 2px));
265
+ --usk-native-progress-track-border: 2px solid var(--bau-border);
266
+ --usk-native-progress-track-radius: 0;
267
+ --usk-native-progress-track-shadow: none;
268
+ --usk-native-progress-value-background: repeating-linear-gradient(90deg, var(--bau-primary) 0 1.15rem, var(--bau-accent) 1.15rem 1.3rem);
269
+ --usk-native-progress-value-radius: 0;
270
+ --usk-native-progress-value-shadow: none;
271
+ --usk-native-meter-optimum-background: var(--bau-success);
272
+ --usk-native-meter-suboptimum-background: var(--bau-warning);
273
+ --usk-native-meter-critical-background: var(--bau-danger);
274
+ --usk-native-file-button-background: var(--bau-primary);
275
+ --usk-native-file-button-border: 2px solid var(--bau-border);
276
+ --usk-native-file-button-radius: 0;
277
+ --usk-native-file-button-shadow: var(--bau-control-shadow);
278
+ --usk-native-color-swatch-border: 2px solid var(--bau-border);
279
+ --usk-native-color-swatch-radius: 0;
280
+ --usk-native-indicator-opacity: 1;
281
+ --usk-native-indicator-filter: none;
282
+ --usk-native-scrollbar-size: 1rem;
283
+ --usk-native-scrollbar-track: var(--bau-surface-soft);
284
+ --usk-native-scrollbar-thumb: var(--bau-primary);
285
+ --usk-native-scrollbar-radius: 0;
125
286
  --bau-bg: rgb(var(--bau-bg-rgb));
126
287
  --bau-surface: rgb(var(--bau-surface-rgb) / var(--bau-panel-alpha));
127
288
  --bau-surface-strong: rgb(var(--bau-surface-strong-rgb) / var(--bau-panel-alpha));
@@ -131,7 +292,8 @@
131
292
  --bau-fg: var(--bau-text);
132
293
  --bau-surface-fg: var(--bau-text);
133
294
  --bau-muted: var(--bau-text-muted);
134
- --bau-border: rgb(var(--bau-border-rgb) / max(var(--bau-border-alpha), var(--usk-border-min-alpha)));
295
+ --bau-structural-ink: rgb(var(--bau-text-rgb));
296
+ --bau-border: rgb(var(--bau-text-rgb) / .94);
135
297
  --bau-control-fg: var(--bau-text);
136
298
  --bau-primary: rgb(var(--bau-primary-rgb));
137
299
  --bau-primary-hover: rgb(var(--bau-primary-hover-rgb));
@@ -152,17 +314,17 @@
152
314
  --bau-link: rgb(var(--bau-link-rgb));
153
315
  --bau-focus: rgb(var(--bau-focus-rgb));
154
316
  --bau-focus-ring: 0 0 0 3px rgb(var(--bau-focus-rgb) / var(--bau-focus-alpha));
155
- --bau-theme-bg-size: auto, auto, 48px 48px, 48px 48px, auto;
156
- --bau-theme-bg: radial-gradient(circle at 0% 0%, rgb(var(--bau-primary-rgb) / .13), transparent 30rem), radial-gradient(circle at 100% 0%, rgb(var(--bau-accent-rgb) / .10), transparent 28rem), linear-gradient(90deg, rgb(var(--bau-border-rgb) / .10) 1px, transparent 1px), linear-gradient(rgb(var(--bau-border-rgb) / .10) 1px, transparent 1px), var(--bau-bg);
157
- --bau-card-bg: linear-gradient(135deg, rgb(var(--bau-primary-rgb) / .10), rgb(var(--bau-accent-rgb) / .055) 42%, rgb(var(--bau-surface-strong-rgb) / var(--bau-panel-alpha)) 100%), var(--bau-surface);
158
- --bau-control-bg: linear-gradient(180deg, rgb(var(--bau-surface-strong-rgb) / var(--bau-panel-alpha)), rgb(var(--bau-surface-soft-rgb) / var(--bau-panel-soft-alpha)));
317
+ --bau-theme-bg-size: auto, auto, var(--bau-grid-step) var(--bau-grid-step), var(--bau-grid-step) var(--bau-grid-step), auto;
318
+ --bau-theme-bg: radial-gradient(circle at 78% 7rem, rgb(var(--bau-danger-rgb) / .24) 0 4.2rem, transparent 4.3rem), linear-gradient(90deg, transparent 0 72%, rgb(var(--bau-primary-rgb) / .16) 72% 100%), linear-gradient(90deg, rgb(var(--bau-text-rgb) / .12) var(--bau-rule-width), transparent var(--bau-rule-width)), linear-gradient(rgb(var(--bau-text-rgb) / .12) var(--bau-rule-width), transparent var(--bau-rule-width)), var(--bau-bg);
319
+ --bau-card-bg: linear-gradient(90deg, var(--bau-primary) 0 .9rem, transparent .9rem), linear-gradient(180deg, rgb(var(--bau-text-rgb) / .12) 0 var(--bau-rule-width), transparent var(--bau-rule-width)), var(--bau-surface);
320
+ --bau-control-bg: rgb(var(--bau-surface-strong-rgb) / var(--bau-panel-alpha));
159
321
  --bau-spinner-track: rgb(var(--bau-border-rgb) / max(.28, calc(var(--bau-border-alpha) * .7)));
160
322
  --bau-spinner-stroke: var(--bau-primary);
161
323
  --bau-spinner-accent: var(--bau-accent);
162
324
  }
163
325
 
164
326
  @supports (color: color-mix(in srgb, black, white)) {
165
- [data-ui="bauhaus"][data-theme][data-mode] { --bau-border: color-mix(in srgb, rgb(var(--bau-border-rgb) / max(var(--bau-border-alpha), var(--usk-border-min-alpha))), var(--bau-text) var(--usk-border-text-mix)); }
327
+ [data-ui="bauhaus"][data-mode] { --bau-border: color-mix(in srgb, var(--bau-structural-ink) 94%, var(--bau-bg)); }
166
328
  }
167
329
 
168
330
 
@@ -214,7 +376,7 @@
214
376
  [data-ui="bauhaus"] *::before,
215
377
  [data-ui="bauhaus"] *::after { box-sizing: border-box; }
216
378
 
217
- [data-ui="bauhaus"][data-theme][data-mode] { background: var(--bau-theme-bg); background-size: var(--bau-theme-bg-size); }
379
+ [data-ui="bauhaus"][data-mode] { background: var(--bau-theme-bg); background-size: var(--bau-theme-bg-size); }
218
380
 
219
381
  .bau-page { min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); }
220
382
  .bau-container { width: min(100% - 2rem, 1200px); margin-inline: auto; }
@@ -229,12 +391,12 @@
229
391
  ========================================================= */
230
392
 
231
393
  .bau-title, .bau-heading, .bau-kicker, .bau-button, .bau-badge, .bau-nav-link { font-family: var(--bau-font-heading); }
232
- .bau-title { margin: 0; color: var(--bau-text); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -0.06em; text-transform: uppercase; }
233
- .bau-heading { margin: 0; color: var(--bau-text); font-size: clamp(1.2rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -0.03em; }
234
- .bau-kicker { margin: 0; color: var(--bau-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
394
+ .bau-title { margin: 0; color: var(--bau-text); font-size: clamp(2.35rem, 6vw, 4.65rem); font-stretch: condensed; font-weight: 950; line-height: .94; letter-spacing: -0.075em; text-transform: uppercase; }
395
+ .bau-heading { margin: 0; color: var(--bau-text); font-size: clamp(1.15rem, 2.4vw, 2rem); font-stretch: condensed; font-weight: 950; line-height: 1.05; letter-spacing: .02em; text-transform: uppercase; }
396
+ .bau-kicker { margin: 0; color: var(--bau-primary); font-size: .82rem; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
235
397
  .bau-subtitle, .bau-copy { margin: 0; color: var(--bau-text-muted); line-height: 1.65; }
236
398
  .bau-text-muted { color: var(--bau-text-muted); }
237
- .bau-divider { width: 100%; height: 2px; border: 0; background: var(--bau-border); }
399
+ .bau-divider { width: 100%; height: var(--bau-rule-width); border: 0; background: var(--bau-text); }
238
400
 
239
401
  /* =========================================================
240
402
  Surfaces
@@ -242,19 +404,31 @@
242
404
 
243
405
  .bau-surface, .bau-card, .bau-panel, .bau-toolbar, .bau-table-wrap {
244
406
  position: relative;
245
- background: linear-gradient(90deg, rgb(var(--bau-primary-rgb) / .1) 0 .5rem, transparent .5rem), var(--bau-surface);
407
+ background: var(--bau-card-bg);
246
408
  color: var(--bau-text);
247
- border: 2px solid var(--bau-border);
248
- border-radius: var(--bau-radius-lg);
249
- box-shadow: 6px 6px 0 rgb(var(--bau-primary-rgb) / .55);
409
+ border: var(--bau-rule-width) solid var(--bau-border);
410
+ border-radius: 0;
411
+ box-shadow: var(--bau-panel-shadow);
250
412
  transition: transform var(--bau-transition-base), box-shadow var(--bau-transition-base), border-color var(--bau-transition-base), background var(--bau-transition-base);
251
413
  }
414
+ .bau-surface::before, .bau-card::before, .bau-panel::before {
415
+ content: "";
416
+ position: absolute;
417
+ inset-block-start: 0;
418
+ inset-inline-end: 0;
419
+ inline-size: clamp(2.75rem, 16%, 7rem);
420
+ block-size: .75rem;
421
+ background: var(--bau-accent);
422
+ border-block-end: var(--bau-rule-width) solid var(--bau-border);
423
+ border-inline-start: var(--bau-rule-width) solid var(--bau-border);
424
+ pointer-events: none;
425
+ }
252
426
  .bau-card, .bau-panel { padding: var(--bau-space-6); }
253
427
  .bau-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--bau-space-4); padding: var(--bau-space-4); }
254
- .bau-surface-sm { border-radius: var(--bau-radius-md); box-shadow: 0 6px 18px rgb(0 0 0 / calc(var(--bau-shadow-alpha) * .72)); }
255
- .bau-surface-lg { border-radius: var(--bau-radius-xl); box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--bau-shadow-alpha) + .08)); }
256
- .bau-well, .bau-inset { background: var(--bau-surface-soft); color: var(--bau-text); border: 2px solid rgb(var(--bau-border-rgb) / calc(var(--bau-border-alpha) * .7)); border-radius: var(--bau-radius-md); padding: var(--bau-space-5); box-shadow: inset 0 1px 3px rgb(0 0 0 / .08); }
257
- .bau-hover-lift:hover { transform: translate(-3px, -3px); box-shadow: 0 22px 60px rgb(0 0 0 / calc(var(--bau-shadow-alpha) + .12)); }
428
+ .bau-surface-sm { border-radius: 0; box-shadow: var(--bau-control-shadow); }
429
+ .bau-surface-lg { border-radius: 0; box-shadow: var(--bau-panel-shadow); }
430
+ .bau-well, .bau-inset { background: var(--bau-surface-soft); color: var(--bau-text); border: var(--bau-rule-width) solid rgb(var(--bau-border-rgb) / calc(var(--bau-border-alpha) * .9)); border-block-start-width: var(--bau-rule-heavy); border-radius: 0; padding: var(--bau-space-5); box-shadow: inset .65rem 0 0 rgb(var(--bau-primary-rgb) / .18); }
431
+ .bau-hover-lift:hover { transform: translate(-.2rem, -.2rem); box-shadow: .7rem .7rem 0 rgb(var(--bau-text-rgb) / .88); }
258
432
 
259
433
  /* =========================================================
260
434
  Buttons
@@ -262,26 +436,26 @@
262
436
 
263
437
  .bau-button, .bau-icon-button {
264
438
  appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: var(--bau-space-2);
265
- min-height: 2.75rem; padding: .75rem 1.1rem; background: var(--bau-surface); color: var(--bau-text);
266
- border: 2px solid var(--bau-border); border-radius: var(--bau-radius-md); box-shadow: 0 6px 18px rgb(0 0 0 / var(--bau-shadow-alpha));
267
- font: inherit; font-weight: 800; line-height: 1; text-decoration: none; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none;
439
+ min-height: 3rem; padding: .84rem 1.25rem; background: var(--bau-surface); color: var(--bau-text);
440
+ border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; box-shadow: var(--bau-control-shadow);
441
+ font: inherit; font-weight: 950; line-height: 1; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none;
268
442
  transition: color var(--bau-transition-fast), background var(--bau-transition-fast), border-color var(--bau-transition-fast), box-shadow var(--bau-transition-fast), transform var(--bau-transition-fast);
269
443
  }
270
- .bau-button:hover, .bau-icon-button:hover { transform: translateY(-1px); border-color: var(--bau-primary); }
271
- .bau-button:active, .bau-icon-button:active, .bau-button[aria-pressed="true"], .bau-icon-button[aria-pressed="true"], .bau-button.is-active, .bau-icon-button.is-active { transform: translateY(1px); box-shadow: inset 0 3px 10px rgb(0 0 0 / .18); }
272
- .bau-button-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
273
- .bau-button-primary:hover { background: var(--bau-primary-hover); border-color: var(--bau-primary-hover); }
274
- .bau-button-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-secondary); }
275
- .bau-button-secondary:hover { background: var(--bau-secondary-hover); border-color: var(--bau-secondary-hover); }
276
- .bau-button-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-danger); }
444
+ .bau-button:hover, .bau-icon-button:hover { transform: translate(-.16rem, -.16rem); border-color: var(--bau-border); box-shadow: var(--bau-control-shadow-hover); }
445
+ .bau-button:active, .bau-icon-button:active, .bau-button[aria-pressed="true"], .bau-icon-button[aria-pressed="true"], .bau-button.is-active, .bau-icon-button.is-active { transform: translate(.12rem, .12rem); box-shadow: var(--bau-control-shadow-pressed); }
446
+ .bau-button-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-border); }
447
+ .bau-button-primary:hover { background: var(--bau-primary-hover); border-color: var(--bau-border); }
448
+ .bau-button-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-border); }
449
+ .bau-button-secondary:hover { background: var(--bau-secondary-hover); border-color: var(--bau-border); }
450
+ .bau-button-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-border); }
277
451
  .bau-button-ghost { background: transparent; color: var(--bau-text); box-shadow: none; }
278
- .bau-icon-button { width: 2.75rem; padding: 0; border-radius: var(--bau-radius-pill); }
279
- .bau-button:disabled, .bau-icon-button:disabled, .bau-disabled { opacity: .55; cursor: not-allowed; transform: none; }
452
+ .bau-icon-button { width: 3rem; padding: 0; border-radius: 0; }
453
+ .bau-button:disabled, .bau-icon-button:disabled, .bau-disabled { opacity: .62; cursor: not-allowed; transform: none; box-shadow: none; }
280
454
 
281
455
  /* Theme-responsive component defaults */
282
456
  .bau-card, .bau-panel { background: var(--bau-card-bg); }
283
457
  .bau-toolbar, .bau-table-wrap { background: var(--bau-control-bg); }
284
- .bau-button:not(.bau-button-primary):not(.bau-button-secondary):not(.bau-button-danger):not(.bau-button-ghost), .bau-icon-button { background: var(--bau-control-bg); }
458
+ .bau-button:not(.bau-button-primary):not(.bau-button-secondary):not(.bau-button-danger):not(.bau-button-warning):not(.bau-button-ghost):not(.is-primary):not(.is-secondary):not(.is-danger):not(.is-ghost):not(.is-busy):not(.is-hover), .bau-icon-button { background: var(--bau-control-bg); }
285
459
  .bau-button, .bau-icon-button, .bau-badge, .bau-nav-link { font-family: var(--bau-font-control); }
286
460
 
287
461
 
@@ -290,50 +464,50 @@
290
464
  ========================================================= */
291
465
 
292
466
  .bau-field { display: flex; flex-direction: column; gap: var(--bau-space-2); }
293
- .bau-label { color: var(--bau-text); font-size: .925rem; font-weight: 800; }
467
+ .bau-label { color: var(--bau-text); font-size: .82rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
294
468
  .bau-input, .bau-textarea, .bau-select {
295
- width: 100%; min-height: 2.875rem; padding: .75rem 1rem; background: var(--bau-surface-soft); color: var(--bau-text);
296
- border: 2px solid var(--bau-border); border-radius: var(--bau-radius-md); font: inherit; outline: none;
469
+ width: 100%; min-height: 3.125rem; padding: .78rem 1rem; background: var(--bau-control-bg); color: var(--bau-text);
470
+ border: var(--bau-rule-width) solid var(--bau-border); border-block-end-width: var(--bau-rule-heavy); border-radius: 0; box-shadow: none; font: inherit; outline: none;
297
471
  transition: background var(--bau-transition-fast), border-color var(--bau-transition-fast), box-shadow var(--bau-transition-fast);
298
472
  }
299
473
  .bau-textarea { min-height: 8rem; resize: vertical; }
300
474
  .bau-input::placeholder, .bau-textarea::placeholder { color: var(--bau-text-muted); opacity: .82; }
301
- .bau-input:hover, .bau-textarea:hover, .bau-select:hover { border-color: rgb(var(--bau-primary-rgb) / .58); }
302
- .bau-input:focus, .bau-textarea:focus, .bau-select:focus { border-color: var(--bau-focus); box-shadow: var(--bau-focus-ring); }
475
+ .bau-input:hover, .bau-textarea:hover, .bau-select:hover { box-shadow: inset .5rem 0 0 rgb(var(--bau-primary-rgb) / .2); }
476
+ .bau-input:focus, .bau-textarea:focus, .bau-select:focus { border-color: var(--bau-focus); box-shadow: var(--bau-focus-ring), inset .5rem 0 0 rgb(var(--bau-primary-rgb) / .26); }
303
477
  .bau-help-text { color: var(--bau-text-muted); font-size: .875rem; line-height: 1.45; }
304
478
 
305
479
  /* Checkbox / Radio */
306
480
  .bau-check, .bau-radio { display: inline-flex; align-items: center; gap: var(--bau-space-2); color: var(--bau-text); cursor: pointer; }
307
481
  .bau-check input, .bau-radio input { position: absolute; opacity: 0; pointer-events: none; }
308
- .bau-check-control, .bau-radio-control { display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; background: var(--bau-surface-soft); border: 2px solid var(--bau-border); transition: background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
309
- .bau-check-control { border-radius: var(--bau-radius-xs); }
482
+ .bau-check-control, .bau-radio-control { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; background: var(--bau-control-bg); border: var(--bau-rule-width) solid var(--bau-border); box-shadow: var(--bau-control-shadow-pressed); transition: background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
483
+ .bau-check-control { border-radius: 0; }
310
484
  .bau-radio-control { border-radius: 50%; }
311
- .bau-check input:checked + .bau-check-control, .bau-radio input:checked + .bau-radio-control { background: var(--bau-primary); border-color: var(--bau-primary); box-shadow: var(--bau-focus-ring); }
312
- .bau-check input:checked + .bau-check-control::after { content: "✓"; color: var(--bau-on-primary); font-size: .9rem; font-weight: 900; }
485
+ .bau-check input:checked + .bau-check-control, .bau-radio input:checked + .bau-radio-control { background: var(--bau-primary); border-color: var(--bau-border); box-shadow: var(--bau-control-shadow); }
486
+ .bau-check input:checked + .bau-check-control::after { content: ""; width: .7rem; height: .42rem; border: solid var(--bau-on-primary); border-width: 0 0 .18rem .18rem; transform: rotate(-45deg) translate(.03rem, -.03rem); }
313
487
  .bau-radio input:checked + .bau-radio-control::after { content: ""; width: .55rem; height: .55rem; background: var(--bau-on-primary); border-radius: 50%; }
314
488
 
315
489
  /* Switch */
316
490
  .bau-switch { display: inline-flex; align-items: center; gap: var(--bau-space-3); color: var(--bau-text); cursor: pointer; }
317
491
  .bau-switch input { position: absolute; opacity: 0; pointer-events: none; }
318
- .bau-switch-track { position: relative; width: 3.5rem; height: 1.9rem; background: var(--bau-surface-soft); border: 2px solid var(--bau-border); border-radius: var(--bau-radius-pill); transition: background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
319
- .bau-switch-thumb { position: absolute; top: .22rem; left: .22rem; width: 1.34rem; height: 1.34rem; background: var(--bau-surface-strong); border: 2px solid var(--bau-border); border-radius: 50%; box-shadow: 0 4px 12px rgb(0 0 0 / var(--bau-shadow-alpha)); transition: left var(--bau-transition-fast), background var(--bau-transition-fast); }
320
- .bau-switch input:checked + .bau-switch-track { background: var(--bau-primary); border-color: var(--bau-primary); }
321
- .bau-switch input:checked + .bau-switch-track .bau-switch-thumb { left: calc(100% - 1.34rem - .22rem); background: var(--bau-on-primary); }
492
+ .bau-switch-track { position: relative; width: 3.75rem; height: 1.9rem; background: var(--bau-text); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; box-shadow: var(--bau-control-shadow-pressed); transition: background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
493
+ .bau-switch-thumb { position: absolute; top: .22rem; left: .22rem; width: 1.18rem; height: 1.18rem; background: var(--bau-bg); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; box-shadow: none; transition: left var(--bau-transition-fast), background var(--bau-transition-fast); }
494
+ .bau-switch input:checked + .bau-switch-track { background: var(--bau-primary); border-color: var(--bau-border); box-shadow: var(--bau-control-shadow); }
495
+ .bau-switch input:checked + .bau-switch-track .bau-switch-thumb { left: calc(100% - 1.18rem - .22rem); background: var(--bau-on-primary); }
322
496
 
323
497
  /* =========================================================
324
498
  Badges / Nav / Progress / Alerts / Tables
325
499
  ========================================================= */
326
500
 
327
- .bau-badge { display: inline-flex; align-items: center; gap: var(--bau-space-1); min-height: 1.75rem; padding: .35rem .7rem; background: var(--bau-surface-soft); color: var(--bau-text); border: 2px solid var(--bau-border); border-radius: var(--bau-radius-pill); font-size: .8125rem; font-weight: 850; line-height: 1; }
328
- .bau-badge-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
329
- .bau-badge-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-secondary); }
330
- .bau-badge-success { background: var(--bau-success); color: var(--bau-on-success); border-color: var(--bau-success); }
331
- .bau-badge-warning { background: var(--bau-warning); color: var(--bau-on-warning); border-color: var(--bau-warning); }
332
- .bau-badge-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-danger); }
501
+ .bau-badge { display: inline-flex; align-items: center; gap: var(--bau-space-1); min-height: 1.85rem; padding: .42rem .72rem; background: var(--bau-control-bg); color: var(--bau-text); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; box-shadow: var(--bau-control-shadow-pressed); font-size: .76rem; font-weight: 950; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
502
+ .bau-badge-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-border); }
503
+ .bau-badge-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-border); }
504
+ .bau-badge-success { background: var(--bau-success); color: var(--bau-on-success); border-color: var(--bau-border); }
505
+ .bau-badge-warning { background: var(--bau-warning); color: var(--bau-on-warning); border-color: var(--bau-border); }
506
+ .bau-badge-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-border); }
333
507
 
334
- .bau-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bau-space-2); padding: var(--bau-space-2); background: var(--bau-surface); border: 2px solid var(--bau-border); border-radius: var(--bau-radius-xl); box-shadow: 0 10px 30px rgb(0 0 0 / var(--bau-shadow-alpha)); }
335
- .bau-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: .65rem 1rem; color: var(--bau-text-muted); border-radius: var(--bau-radius-pill); text-decoration: none; font-weight: 850; transition: color var(--bau-transition-fast), background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
336
- .bau-nav-link:hover { color: var(--bau-text); background: var(--bau-surface-soft); }
508
+ .bau-nav { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; padding: 0; background: var(--bau-text); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; box-shadow: var(--bau-panel-shadow); }
509
+ .bau-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1rem; color: var(--bau-bg); border-inline-end: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; text-decoration: none; font-size: .82rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; transition: color var(--bau-transition-fast), background var(--bau-transition-fast), box-shadow var(--bau-transition-fast); }
510
+ .bau-nav-link:hover { color: var(--bau-text); background: var(--bau-surface-strong); box-shadow: inset 0 -.45rem 0 var(--bau-accent); }
337
511
  .bau-nav-link[aria-current="page"], .bau-nav-link.is-active { color: var(--bau-on-primary); background: var(--bau-primary); }
338
512
 
339
513
  /* Tooltips use compact contrast surfaces that stay readable across theme modes. */
@@ -345,22 +519,22 @@
345
519
  }
346
520
  .bau-tooltip-arrow { inline-size: .6rem; block-size: .6rem; flex: 0 0 auto; background: var(--bau-accent); transform: rotate(45deg); }
347
521
 
348
- .bau-progress { width: 100%; height: .9rem; overflow: hidden; background: var(--bau-surface-soft); border: 2px solid var(--bau-border); border-radius: var(--bau-radius-pill); }
349
- .bau-progress-bar { height: 100%; width: var(--bau-progress-value, 50%); background: linear-gradient(90deg, var(--bau-primary), var(--bau-accent)); border-radius: inherit; }
522
+ .bau-progress { width: 100%; height: 1rem; overflow: hidden; background: repeating-linear-gradient(90deg, var(--bau-surface-soft) 0 1.15rem, rgb(var(--bau-border-rgb) / .7) 1.15rem calc(1.15rem + 2px)); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 0; }
523
+ .bau-progress-bar { height: 100%; width: var(--bau-progress-value, 50%); background: repeating-linear-gradient(90deg, var(--bau-primary) 0 1.15rem, var(--bau-accent) 1.15rem 1.3rem); border-radius: 0; }
350
524
 
351
- .bau-alert { display: grid; gap: var(--bau-space-2); padding: var(--bau-space-4); background: var(--bau-surface); color: var(--bau-text); border: 2px solid var(--bau-border); border-radius: var(--bau-radius-lg); box-shadow: 0 10px 30px rgb(0 0 0 / var(--bau-shadow-alpha)); }
525
+ .bau-alert { display: grid; gap: var(--bau-space-2); padding: var(--bau-space-4); background: var(--bau-card-bg); color: var(--bau-text); border: var(--bau-rule-width) solid var(--bau-border); border-inline-start-width: .7rem; border-radius: 0; box-shadow: var(--bau-control-shadow); }
352
526
  .bau-alert-success { border-left-color: var(--bau-success); }
353
527
  .bau-alert-warning { border-left-color: var(--bau-warning); }
354
528
  .bau-alert-danger { border-left-color: var(--bau-danger); }
355
- .bau-alert-title { margin: 0; font-weight: 900; }
529
+ .bau-alert-title { margin: 0; font-weight: 950; letter-spacing: .05em; text-transform: uppercase; }
356
530
  .bau-alert-body { margin: 0; color: var(--bau-text-muted); line-height: 1.55; }
357
531
 
358
532
  .bau-table-wrap { overflow: auto; }
359
533
  .bau-table { width: 100%; border-collapse: collapse; }
360
- .bau-table th, .bau-table td { padding: .95rem 1rem; text-align: left; border-bottom: 2px solid var(--bau-border); }
361
- .bau-table th { color: var(--bau-text); font-size: .82rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; background: rgb(var(--bau-primary-rgb) / .08); }
534
+ .bau-table th, .bau-table td { padding: .95rem 1rem; text-align: left; border-bottom: var(--bau-rule-width) solid var(--bau-border); border-inline-end: 1px solid rgb(var(--bau-border-rgb) / .55); }
535
+ .bau-table th { color: var(--bau-on-primary); font-size: .82rem; font-weight: 950; text-transform: uppercase; letter-spacing: .09em; background: var(--bau-primary); }
362
536
  .bau-table td { color: var(--bau-text-muted); }
363
- .bau-table tr:hover td { background: rgb(var(--bau-primary-rgb) / .045); }
537
+ .bau-table tr:hover td { color: var(--bau-text); background: rgb(var(--bau-primary-rgb) / .1); }
364
538
 
365
539
  /* =========================================================
366
540
  Utilities
@@ -374,10 +548,11 @@
374
548
  .bau-skip-link:focus { transform: translateY(0); }
375
549
 
376
550
  /* Bauhaus-specific geometric helpers */
377
- .bau-composition { position: relative; overflow: hidden; }
378
- .bau-composition::after { content: ""; position: absolute; inline-size: 7rem; block-size: 7rem; right: -2rem; top: -2rem; background: var(--bau-primary); border-radius: 50%; opacity: .22; }
379
- .bau-block { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 4rem; min-block-size: 4rem; background: var(--bau-primary); color: var(--bau-on-primary); border: 2px solid var(--bau-border); font-weight: 950; }
380
- .bau-rail { border-left: .75rem solid var(--bau-primary); padding-left: var(--bau-space-4); }
551
+ .bau-composition { position: relative; overflow: hidden; isolation: isolate; }
552
+ .bau-composition::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 28%; border-inline-start: var(--bau-rule-width) solid rgb(var(--bau-text-rgb) / .62); pointer-events: none; }
553
+ .bau-composition::after { content: ""; position: absolute; inline-size: 7rem; block-size: 7rem; right: -2rem; top: -2rem; background: var(--bau-danger); border: var(--bau-rule-width) solid var(--bau-border); border-radius: 50%; opacity: .9; pointer-events: none; }
554
+ .bau-block { display: inline-flex; align-items: center; justify-content: center; min-inline-size: 4rem; min-block-size: 4rem; background: var(--bau-primary); color: var(--bau-on-primary); border: var(--bau-rule-width) solid var(--bau-border); box-shadow: var(--bau-control-shadow); font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
555
+ .bau-rail { border-left: .9rem solid var(--bau-primary); padding-left: var(--bau-space-4); box-shadow: inset var(--bau-rule-width) 0 0 var(--bau-border); }
381
556
 
382
557
  /* Spinner geometry follows the bauhaus preset's hard-edged composition. */
383
558
  .bau-spinner, .bau-loading-spinner, [data-ui="bauhaus"] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) {
@@ -419,8 +594,9 @@
419
594
  inline-size: 100%;
420
595
  aspect-ratio: 16 / 9;
421
596
  object-fit: cover;
422
- border: 1px solid rgb(var(--bau-border-rgb) / .72);
423
- border-radius: var(--bau-radius-lg);
597
+ border: var(--bau-rule-width) solid rgb(var(--bau-border-rgb) / .86);
598
+ border-radius: 0;
599
+ filter: saturate(1.08) contrast(1.08);
424
600
  }
425
601
 
426
602
  .bau-card-service {
@@ -428,11 +604,11 @@
428
604
  display: grid;
429
605
  gap: var(--bau-space-3);
430
606
  align-content: start;
431
- text-align: center;
607
+ text-align: left;
432
608
  overflow: visible;
433
609
  }
434
610
  .bau-card-service > .bau-icon-medallion {
435
- justify-self: center;
611
+ justify-self: start;
436
612
  margin-block-start: -2.15rem;
437
613
  position: relative;
438
614
  z-index: 2;
@@ -459,8 +635,9 @@
459
635
  padding: .7rem;
460
636
  background: var(--bau-primary);
461
637
  color: var(--bau-on-primary);
462
- border: 2px solid rgb(var(--bau-border-rgb) / .82);
463
- border-radius: 50%;
638
+ border: var(--bau-rule-width) solid rgb(var(--bau-border-rgb) / .82);
639
+ border-radius: 0;
640
+ box-shadow: var(--bau-control-shadow);
464
641
  line-height: 1;
465
642
  }
466
643
  .bau-icon-medallion > :where(svg, img) { inline-size: 100%; block-size: 100%; object-fit: contain; }
@@ -497,10 +674,11 @@
497
674
  min-inline-size: 5rem;
498
675
  aspect-ratio: 1;
499
676
  padding: .65rem;
500
- background: var(--bau-surface-strong);
501
- color: var(--bau-text);
502
- border: 2px solid var(--bau-primary);
503
- border-radius: 50%;
677
+ background: var(--bau-warning);
678
+ color: var(--bau-on-warning);
679
+ border: var(--bau-rule-width) solid var(--bau-border);
680
+ border-radius: 0;
681
+ box-shadow: var(--bau-control-shadow);
504
682
  text-align: center;
505
683
  font-family: var(--bau-font-heading);
506
684
  font-size: .72rem;
@@ -512,11 +690,10 @@
512
690
  .bau-feature-strip {
513
691
  display: grid;
514
692
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
515
- overflow: hidden;
516
693
  background: var(--bau-card-bg);
517
694
  color: var(--bau-text);
518
- border: 1px solid var(--bau-border);
519
- border-radius: var(--bau-radius-lg);
695
+ border: var(--bau-rule-width) solid var(--bau-border);
696
+ border-radius: 0;
520
697
  }
521
698
 
522
699
  .bau-feature-item {
@@ -539,8 +716,9 @@
539
716
  padding: var(--bau-space-4) var(--bau-space-5);
540
717
  background: var(--bau-card-bg);
541
718
  color: var(--bau-text);
542
- border: 1px solid var(--bau-border);
543
- border-radius: var(--bau-radius-lg);
719
+ border: var(--bau-rule-width) solid var(--bau-border);
720
+ border-radius: 0;
721
+ box-shadow: var(--bau-control-shadow);
544
722
  }
545
723
  .bau-callout-bar > :where(p, div) { min-inline-size: 0; }
546
724
  .bau-callout-bar > :where(.bau-button, a, button):last-child { justify-self: end; }
@@ -561,9 +739,9 @@
561
739
  overflow: hidden;
562
740
  isolation: isolate;
563
741
  min-block-size: 12rem;
564
- background: var(--bau-surface-soft);
565
- border: 1px solid var(--bau-border);
566
- border-radius: var(--bau-radius-lg);
742
+ background: linear-gradient(135deg, var(--bau-primary) 0 35%, var(--bau-warning) 35% 48%, var(--bau-danger) 48% 100%);
743
+ border: var(--bau-rule-width) solid var(--bau-border);
744
+ border-radius: 0;
567
745
  }
568
746
  .bau-media-scrim > :where(img, picture, video) {
569
747
  display: block;
@@ -579,7 +757,8 @@
579
757
  inset-block-end: 0;
580
758
  padding: clamp(1rem, 4vw, 2rem);
581
759
  color: #fff;
582
- background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .58) 56%, transparent);
760
+ background: linear-gradient(to top, rgb(0 0 0 / .92), rgb(0 0 0 / .64) 58%, transparent);
761
+ border-block-start: var(--bau-rule-width) solid var(--bau-warning);
583
762
  }
584
763
  .bau-media-scrim > :where(figcaption, [data-media-caption]) * {
585
764
  color: inherit;
@@ -599,6 +778,7 @@
599
778
 
600
779
  /* Filled and framed actions oppose their cuts to preserve asymmetric composition. */
601
780
  .bau-button.bau-button-cut, .bau-button-cut {
781
+ min-block-size: 2.75rem;
602
782
  inline-size: min(100%, 12rem);
603
783
  min-inline-size: 6rem;
604
784
  max-inline-size: 100%;
@@ -621,12 +801,12 @@
621
801
  border-radius: 0;
622
802
  box-shadow: none;
623
803
  }
624
- [data-ui="bauhaus"][data-theme][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
804
+ [data-ui="bauhaus"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
625
805
  border: 2px solid var(--bau-primary);
626
806
  border-radius: 0;
627
807
  box-shadow: .22rem .22rem 0 rgb(var(--bau-text-rgb) / .72);
628
808
  }
629
- [data-ui="bauhaus"][data-theme][data-mode] :where(dialog) {
809
+ [data-ui="bauhaus"][data-mode] :where(dialog) {
630
810
  border: 2px solid var(--bau-border);
631
811
  border-inline-start-width: .48rem;
632
812
  border-radius: 0;
@@ -638,6 +818,104 @@
638
818
  border: .12em double currentColor; border-radius: 0; background: conic-gradient(currentColor 0 25%, transparent 0 50%, currentColor 0 75%, transparent 0); box-shadow: none; clip-path: inset(0); animation: bau-spin .78s steps(4, end) infinite;
639
819
  }
640
820
 
821
+ /**
822
+ * Carries the Bauhaus construction grid through native controls, flat panels,
823
+ * primary geometry, and heavy rule-based data presentation.
824
+ */
825
+ [data-ui="bauhaus"][data-mode] {
826
+ --usk-native-font-control: var(--bau-font-heading);
827
+ --usk-native-control-min-block-size: 3.125rem;
828
+ --usk-native-control-padding-block: .72rem;
829
+ --usk-native-control-padding-inline: 1.15rem;
830
+ --usk-native-border-width: 2px;
831
+ --usk-native-radius-sm: 0;
832
+ --usk-native-radius: 0;
833
+ --usk-native-radius-lg: 0;
834
+ --usk-native-shadow: .22rem .22rem 0 rgb(var(--bau-text-rgb) / .78);
835
+ --usk-native-shadow-md: .46rem .46rem 0 rgb(var(--bau-text-rgb) / .28);
836
+ --usk-native-focus-ring: 0 0 0 2px var(--bau-surface-strong), 0 0 0 5px var(--bau-primary);
837
+ --usk-native-subcontrol-padding-block: .49rem;
838
+ --usk-native-subcontrol-padding-inline: .84rem;
839
+ --usk-native-choice-size: 1.52rem;
840
+ --usk-native-choice-background: var(--bau-control-bg);
841
+ --usk-native-choice-border: 2px solid var(--bau-border);
842
+ --usk-native-checkbox-radius: 0;
843
+ --usk-native-radio-radius: 50%;
844
+ --usk-native-choice-shadow: inset 0 0 0 2px var(--bau-surface-strong);
845
+ --usk-native-choice-checked-background: var(--bau-primary);
846
+ --usk-native-choice-mark-color: var(--bau-on-primary);
847
+ --usk-native-select-indicator-image: linear-gradient(45deg, transparent 48%, var(--bau-text) 49%), linear-gradient(135deg, var(--bau-text) 51%, transparent 52%);
848
+ --usk-native-select-indicator-size: .62rem .62rem, .62rem .62rem;
849
+ --usk-native-select-indicator-position: calc(100% - 1.5rem) 50%, calc(100% - 1.05rem) 50%;
850
+ --usk-native-select-padding-inline-end: 3.2rem;
851
+ --usk-native-range-track-size: .3rem;
852
+ --usk-native-range-track-background: linear-gradient(90deg, var(--bau-warning) 0 34%, var(--bau-border) 34% 68%, var(--bau-primary) 68%);
853
+ --usk-native-range-track-border: 0 solid transparent;
854
+ --usk-native-range-track-radius: 0;
855
+ --usk-native-range-track-shadow: inset 0 -2px 0 rgb(var(--bau-text-rgb) / .3);
856
+ --usk-native-range-progress-background: var(--bau-primary);
857
+ --usk-native-range-thumb-size: 1.58rem;
858
+ --usk-native-range-thumb-background: var(--bau-primary);
859
+ --usk-native-range-thumb-border: 2px solid var(--bau-border);
860
+ --usk-native-range-thumb-radius: 50%;
861
+ --usk-native-range-thumb-shadow: .16rem .16rem 0 rgb(var(--bau-text-rgb) / .7);
862
+ --usk-native-progress-size: .98rem;
863
+ --usk-native-progress-track-background: repeating-linear-gradient(90deg, var(--bau-surface-soft) 0 1.18rem, var(--bau-border) 1.18rem 1.3rem);
864
+ --usk-native-progress-track-border: 2px solid var(--bau-border);
865
+ --usk-native-progress-track-radius: 0;
866
+ --usk-native-progress-track-shadow: none;
867
+ --usk-native-progress-value-background: repeating-linear-gradient(90deg, var(--bau-primary) 0 1.18rem, var(--bau-warning) 1.18rem 1.3rem);
868
+ --usk-native-progress-value-radius: 0;
869
+ --usk-native-progress-value-shadow: inset -2px 0 0 var(--bau-border);
870
+ --usk-native-scrollbar-size: 1rem;
871
+ --usk-native-scrollbar-track: var(--bau-surface-soft);
872
+ --usk-native-scrollbar-thumb: linear-gradient(180deg, var(--bau-primary) 0 64%, var(--bau-warning) 64%);
873
+ --usk-native-scrollbar-radius: 0;
874
+ }
875
+
876
+ .bau-title { margin-block: .75rem; font-weight: 900; letter-spacing: max(.035em, .5px); }
877
+ .bau-label { font-size: .7rem; font-weight: 850; }
878
+ .bau-button { min-height: 3.125rem; padding: .72rem 1.15rem; background: var(--bau-primary); border-radius: 0; box-shadow: .22rem .22rem 0 rgb(var(--bau-text-rgb) / .78); font-weight: 900; }
879
+ .bau-input { min-height: 3rem; padding: .68rem 1rem; border-radius: 0; }
880
+ .bau-card { padding: 1.5rem; background: linear-gradient(90deg, rgb(var(--bau-primary-rgb) / .1) 0 .5rem, transparent .5rem), var(--bau-card-bg); border: 2px solid var(--bau-border); border-radius: 0 4rem 0 0; box-shadow: none; }
881
+ .bau-well { background: linear-gradient(135deg, rgb(var(--bau-warning-rgb) / .16) 0 25%, transparent 25%), var(--bau-surface-soft); border: 2px solid var(--bau-border); box-shadow: inset .5rem 0 0 var(--bau-primary); }
882
+ .bau-badge { min-height: 1.82rem; padding: .28rem .68rem; border-radius: 0; }
883
+ .bau-alert { background: linear-gradient(90deg, var(--bau-warning) 0 .58rem, var(--bau-card-bg) .58rem); border: 2px solid var(--bau-border); border-radius: 0 0 0 2rem; box-shadow: none; }
884
+ .bau-progress { height: .98rem; background: repeating-linear-gradient(90deg, var(--bau-surface-soft) 0 1.18rem, var(--bau-border) 1.18rem 1.3rem); }
885
+ .bau-table-wrap { background: linear-gradient(90deg, rgb(var(--bau-primary-rgb) / .08) 0 .5rem, transparent .5rem), var(--bau-card-bg); border-radius: 0; box-shadow: none; }
886
+ .bau-table th { padding: .82rem 1rem; background: var(--bau-border); font-weight: 900; }
887
+ .bau-table td { padding: .78rem .98rem; }
888
+
889
+ .bau-nav, .bau-panel, .bau-toolbar, .bau-tooltip,
890
+ [data-ui="bauhaus"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]),
891
+ .bau-card-service, .bau-feature-strip, .bau-callout-bar {
892
+ border: 2px solid var(--bau-border);
893
+ border-radius: 0;
894
+ box-shadow: none;
895
+ }
896
+ .bau-nav-link[aria-current="page"], .bau-nav-link.is-active { box-shadow: inset 0 -.42rem 0 var(--bau-warning); }
897
+ .bau-check-control { border-radius: 0; }
898
+ .bau-switch-track { border-radius: 0; }
899
+ .bau-progress-bar { background: repeating-linear-gradient(90deg, var(--bau-primary) 0 1.18rem, var(--bau-warning) 1.18rem 1.3rem); }
900
+ .bau-card { border-radius: 0 4rem 0 0; }
901
+
902
+ /* Broad primary construction bands keep the workshop grid unmistakably flat. */
903
+ @supports (color: color-mix(in srgb, black, white)) {
904
+ .bau-panel,
905
+ .bau-card-service,
906
+ .bau-feature-strip,
907
+ .bau-callout-bar {
908
+ background:
909
+ linear-gradient(
910
+ 90deg,
911
+ color-mix(in srgb, var(--bau-surface) 68%, var(--bau-primary)) 0 18%,
912
+ transparent 18% 78%,
913
+ color-mix(in srgb, var(--bau-surface) 64%, var(--bau-warning)) 78%
914
+ ),
915
+ var(--bau-card-bg);
916
+ }
917
+ }
918
+
641
919
  @media (prefers-reduced-motion: reduce) {
642
920
  [data-ui="bauhaus"] *, [data-ui="bauhaus"] *::before, [data-ui="bauhaus"] *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
643
921
  }
@@ -654,3 +932,496 @@
654
932
  [data-ui="bauhaus"] a { color: #000 !important; text-decoration: underline; }
655
933
  }
656
934
  }
935
+
936
+ @layer ui-style-kit.bauhaus {
937
+ /* Keeps semantic field states above preset-specific material paint. */
938
+ .bau-input[aria-invalid="true"], .bau-textarea[aria-invalid="true"], .bau-select[aria-invalid="true"] { border-color: var(--bau-danger); box-shadow: 3px 3px 0 rgb(var(--bau-danger-rgb) / .38); }
939
+ .bau-input[readonly], .bau-textarea[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
940
+ /* Restores semantic action paint after identity-specific geometry. */
941
+ .bau-button-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
942
+ .bau-button-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-secondary); }
943
+ .bau-button-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-danger); }
944
+ .bau-button-ghost { background: transparent; color: var(--bau-primary); border-color: transparent; }
945
+ }
946
+
947
+ @layer ui-style-kit.bauhaus {
948
+ /* Shared annotation fidelity: readable display rhythm and appropriately scaled text icons. */
949
+ .bau-feature-item > .bau-icon-medallion { font-size: 1.5rem; line-height: 1; }
950
+ .bau-callout-bar > .bau-icon-medallion { min-inline-size: 4.5rem; min-block-size: 4.5rem; font-size: 2rem; font-weight: 800; line-height: 1; }
951
+ /** Warning actions inherit preset geometry and use the paired semantic warning colors. */
952
+ [data-ui="bauhaus"][data-mode] .bau-button.bau-button-warning {
953
+ background: var(--bau-warning);
954
+ color: var(--bau-on-warning);
955
+ border-color: var(--bau-warning);
956
+ text-shadow: none;
957
+ }
958
+
959
+ }
960
+
961
+ /** Retained Bauhaus workshop components, adapted to inherited library colors. */
962
+ @layer ui-style-kit.bauhaus {
963
+ [data-ui="bauhaus"][data-mode] .bau-sheet *,[data-ui="bauhaus"][data-mode] .bau-sheet *::before,[data-ui="bauhaus"][data-mode] .bau-sheet *::after { box-sizing:border-box }
964
+ [data-ui="bauhaus"][data-mode] .bau-sheet button,[data-ui="bauhaus"][data-mode] .bau-sheet input,[data-ui="bauhaus"][data-mode] .bau-sheet select,[data-ui="bauhaus"][data-mode] .bau-sheet textarea { font:inherit }
965
+ [data-ui="bauhaus"][data-mode] .bau-sheet button { color:inherit; cursor:pointer }
966
+ [data-ui="bauhaus"][data-mode] .bau-sheet button:focus-visible,[data-ui="bauhaus"][data-mode] .bau-sheet input:focus-visible,[data-ui="bauhaus"][data-mode] .bau-sheet select:focus-visible,[data-ui="bauhaus"][data-mode] .bau-sheet textarea:focus-visible,[data-ui="bauhaus"][data-mode] .bau-sheet summary:focus-visible { outline:3px solid var(--bau-warning); outline-offset:2px }
967
+ [data-ui="bauhaus"][data-mode] .bau-sheet h1,[data-ui="bauhaus"][data-mode] .bau-sheet h2,[data-ui="bauhaus"][data-mode] .bau-sheet p { margin:0 }
968
+ [data-ui="bauhaus"][data-mode] .bau-sheet h2,[data-ui="bauhaus"][data-mode] .bau-sheet legend,[data-ui="bauhaus"][data-mode] .bau-sheet th { font-family:var(--bau-font-heading); letter-spacing:0; text-transform:uppercase }
969
+ [data-ui="bauhaus"][data-mode] .bau-sheet h2 { font-size:15px; font-weight:800 }
970
+ [data-ui="bauhaus"][data-mode] .bau-sheet svg { display:block; flex:0 0 auto }
971
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-panel { background:var(--bau-surface); border:2px solid var(--bau-border); border-radius:0; box-shadow:none; min-height:0; overflow:hidden; padding:14px }
972
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-panel>header { align-items:center; border-bottom:2px solid currentColor; display:flex; justify-content:space-between; margin-bottom:10px; padding-bottom:6px }
973
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-panel>header>svg { color:var(--bau-primary); height:18px; width:18px }
974
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar { background:var(--bau-workshop-rail-bg); border-right:3px solid var(--bau-workshop-rail-text); color:var(--bau-workshop-rail-text); display:flex; flex-direction:column; height:100%; overflow:hidden; padding:24px 0 14px }
975
+ [data-ui="bauhaus"][data-mode] .bau-sheet[data-mode="light"] .bau-sidebar { border-right-color:var(--bau-on-warning) }
976
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand { align-items:center; display:flex; gap:10px; padding:0 18px 24px }
977
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand-mark { align-items:center; border:2px solid var(--bau-workshop-rail-text); color:var(--bau-workshop-rail-text); display:flex; height:34px; justify-content:center; width:34px }
978
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand-mark svg { height:20px; width:20px }
979
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand>span:last-child { display:grid }
980
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand strong { font-family:var(--bau-font-heading); font-size:21px; font-weight:800; letter-spacing:0; line-height:0.95 }
981
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand small { font-size:12px; font-weight:700; letter-spacing:0; margin-top:5px }
982
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav { border-block:2px solid var(--bau-workshop-rail-text); display:grid }
983
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav button { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--bau-workshop-rail-bg); color:var(--bau-workshop-rail-text); display:flex; font-family:var(--bau-font-heading); font-size:13px; font-weight:700; gap:11px; min-height:42px; padding:0 18px; text-align:left; text-transform:uppercase; transition:background-color 120ms linear,color 120ms linear; width:100% }
984
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav button:last-child { border-bottom:0 }
985
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav button svg { height:17px; width:17px }
986
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav button:hover { background:var(--bau-warning); color:var(--bau-on-warning) }
987
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar nav button.is-active { background:var(--bau-primary); color:var(--bau-on-primary) }
988
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-spacer { flex:1 }
989
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note { background:var(--bau-workshop-rail-bg); border:2px solid var(--bau-workshop-rail-text); color:var(--bau-workshop-rail-text); margin:0 14px; min-height:202px; overflow:hidden; padding:15px; position:relative }
990
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note strong { font-family:var(--bau-font-heading); font-size:15px; letter-spacing:0; line-height:1.05 }
991
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note p { color:var(--bau-workshop-rail-text); font-size:12px; line-height:1.35; margin-top:8px; max-width:130px }
992
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note img { bottom:-10px; height:125px; object-fit:contain; position:absolute; right:-4px; width:180px }
993
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-theme-toggle { align-items:center; background:var(--bau-workshop-rail-bg); border:2px solid var(--bau-workshop-rail-text); color:var(--bau-workshop-rail-text); display:grid; font-family:var(--bau-font-heading); font-size:12px; font-weight:700; gap:8px; grid-template-columns:auto 1fr auto; margin:10px 14px 0; min-height:48px; padding:0 10px; text-transform:uppercase }
994
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-theme-toggle>svg { height:18px; width:18px }
995
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch { background:transparent; border:2px solid var(--bau-border); display:inline-flex; height:20px; padding:1px; transition:background-color 120ms linear; width:38px }
996
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-theme-toggle .bau-compact-switch { border-color:var(--bau-workshop-rail-text) }
997
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch>span { background:var(--bau-border); display:block; height:14px; transform:translateX(0); transition:transform 120ms linear; width:14px }
998
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-theme-toggle .bau-compact-switch>span { background:var(--bau-workshop-rail-text) }
999
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch[aria-checked="true"],[data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch.is-on { background:var(--bau-primary); border-color:var(--bau-primary) }
1000
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch[aria-checked="true"]>span,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch.is-on>span { background:var(--bau-on-primary); transform:translateX(18px) }
1001
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-canvas { background:var(--bau-border); display:grid; gap:6px; grid-template-rows:388px 286px 322px; height:1024px; padding:0 }
1002
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-top-grid,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-middle-grid,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-bottom-grid { display:grid; gap:6px; min-height:0 }
1003
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-top-grid { grid-template-columns:4.7fr 1.95fr 2.25fr 2.3fr }
1004
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-middle-grid { grid-template-columns:4.25fr 2.15fr 2.7fr 2.3fr 1.55fr }
1005
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-bottom-grid { grid-template-columns:5.6fr 2.05fr 4.15fr }
1006
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero { background:var(--bau-surface); padding:0; position:relative }
1007
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero-copy { left:34px; position:absolute; top:48px; z-index:2 }
1008
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-eyebrow { color:var(--bau-primary); font-family:var(--bau-font-heading); font-size:12px; font-weight:700; letter-spacing:0 }
1009
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 { font-family:var(--bau-font-heading); font-size:57px; font-weight:800; letter-spacing:0; line-height:0.83; margin:14px 0 17px; max-width:490px; text-transform:uppercase }
1010
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 span { color:var(--bau-primary); font-size:37px; letter-spacing:0 }
1011
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero p { font-size:12px; font-weight:600; letter-spacing:0; max-width:350px }
1012
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-inline-actions { display:flex; gap:8px; margin-top:24px }
1013
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button { align-items:center; background:var(--bau-surface); border:2px solid var(--bau-border); border-radius:0; display:inline-flex; font-family:var(--bau-font-heading); font-size:12px; font-weight:700; gap:7px; justify-content:center; letter-spacing:0; min-height:35px; padding:0 15px; text-transform:uppercase; transition:background-color 100ms linear,color 100ms linear,transform 100ms linear }
1014
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button:hover:not(:disabled) { background:var(--bau-warning); color:var(--bau-on-warning); transform:translate(-2px,-2px) }
1015
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button:active:not(:disabled) { transform:translate(1px,1px) }
1016
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-primary,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-hover,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-busy { background:var(--bau-primary); border-color:var(--bau-primary); color:var(--bau-on-primary) }
1017
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-hover { background:var(--bau-primary-hover); transform:translate(-2px,-2px) }
1018
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-secondary { background:transparent; border-color:var(--bau-border); color:var(--bau-text) }
1019
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-danger { background:var(--bau-danger); border-color:var(--bau-danger); color:var(--bau-on-primary) }
1020
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-ghost { background:transparent; border-color:transparent; color:var(--bau-primary) }
1021
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button:disabled { background:var(--bau-surface-soft); border-color:var(--bau-surface-soft); color:var(--bau-on-primary); cursor:not-allowed; opacity:0.7 }
1022
+ [data-ui="bauhaus"][data-mode] .bau-sheet[data-mode="dark"] .bau-button:disabled { background:var(--bau-surface-soft); border-color:var(--bau-surface-soft); color:var(--bau-text-muted) }
1023
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-actions { display:grid; gap:6px; grid-template-rows:auto repeat(7,1fr) }
1024
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-actions header { margin-bottom:2px }
1025
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-actions .bau-button { min-height:0; padding-block:0; width:100% }
1026
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system { background:var(--bau-primary); border-color:var(--bau-border); color:var(--bau-on-primary) }
1027
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>header { margin-bottom:7px }
1028
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>header>svg { color:var(--bau-on-primary) }
1029
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>p { align-items:center; display:flex; font-size:12px; font-weight:600; gap:7px; margin-bottom:8px; text-transform:uppercase }
1030
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-live-dot { background:var(--bau-warning); border:1px solid currentColor; display:inline-block; height:8px; width:8px }
1031
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row { align-items:center; border:1px solid currentColor; display:grid; gap:8px; grid-template-columns:1fr 64px; margin-bottom:8px; min-height:60px; padding:9px }
1032
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row span { display:grid; gap:1px }
1033
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row strong,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row small { font-size:12px }
1034
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row strong { letter-spacing:0; text-transform:uppercase }
1035
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-row small { color:var(--bau-on-primary); font-weight:600 }
1036
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>small { color:var(--bau-on-primary); font-size:12px; letter-spacing:0; text-transform:uppercase }
1037
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>button { align-items:center; background:transparent; border:0; color:var(--bau-on-primary); display:flex; font-size:12px; font-weight:700; gap:6px; margin-top:5px; padding:0; text-transform:uppercase }
1038
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system>button svg { height:13px; width:13px }
1039
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system progress,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage progress,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell progress,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders progress { appearance:none; background:var(--bau-surface-soft); border:1px solid currentColor; border-radius:0; height:8px; overflow:hidden; width:100% }
1040
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system progress { background:var(--bau-surface-soft) }
1041
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system progress::-webkit-progress-bar,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage progress::-webkit-progress-bar,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell progress::-webkit-progress-bar,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders progress::-webkit-progress-bar { background:inherit }
1042
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system progress::-webkit-progress-value { background:var(--bau-warning) }
1043
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system progress::-moz-progress-bar { background:var(--bau-warning) }
1044
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage progress::-webkit-progress-value,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell progress::-webkit-progress-value,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders progress::-webkit-progress-value { background:var(--bau-primary) }
1045
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage progress::-moz-progress-bar,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell progress::-moz-progress-bar,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders progress::-moz-progress-bar { background:var(--bau-primary) }
1046
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-metrics-stack,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-utility-stack { display:grid; gap:6px; min-height:0 }
1047
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-metrics-stack { grid-template-rows:1.55fr 0.95fr }
1048
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage { background:var(--bau-warning); color:var(--bau-on-warning) }
1049
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>header { margin-bottom:4px }
1050
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>header>svg { color:var(--bau-on-warning) }
1051
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>strong { display:block; font-family:var(--bau-font-heading); font-size:37px; line-height:1; margin-top:6px }
1052
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>span { display:block; font-size:12px; font-weight:700; letter-spacing:0 }
1053
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>div { align-items:center; display:flex; gap:8px; margin:14px 0 10px }
1054
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage>div small { font-size:12px }
1055
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota { align-items:center; background:var(--bau-danger); color:var(--bau-on-primary); display:grid; grid-template-columns:1fr 92px }
1056
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota-copy { display:grid; gap:2px }
1057
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota-copy strong { font-family:var(--bau-font-heading); font-size:29px; line-height:1 }
1058
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota-copy span { font-size:12px; font-weight:600; letter-spacing:0 }
1059
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota meter,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders meter { accent-color:var(--bau-warning); height:15px; width:100% }
1060
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-panel>header>span { color:var(--bau-text-muted); font-size:12px; font-weight:600; letter-spacing:0 }
1061
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-grid { display:grid; gap:5px 6px; grid-template-columns:repeat(4,minmax(0,1fr)) }
1062
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field { display:grid; gap:3px; min-width:0; position:relative }
1063
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field>span:first-child { color:var(--bau-text-muted); font-family:var(--bau-font-heading); font-size:12px; font-weight:700; letter-spacing:0; text-transform:uppercase }
1064
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field input,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-field select,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-field textarea,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools input { background:var(--bau-surface); border:1px solid var(--bau-border); border-radius:0; color:var(--bau-text); height:27px; min-width:0; padding:0 7px; width:100% }
1065
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field input::placeholder,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-field textarea::placeholder,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools input::placeholder { color:var(--bau-text-muted) }
1066
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field textarea { height:33px; padding-top:6px; resize:none }
1067
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon { display:block; position:relative }
1068
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon>svg { color:var(--bau-text-muted); height:12px; left:7px; pointer-events:none; position:absolute; top:7px; width:12px; z-index:1 }
1069
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon>input { padding-left:24px }
1070
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end>input { padding-left:7px; padding-right:26px }
1071
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end>button { background:transparent; border:0; padding:0; position:absolute; right:7px; top:7px; z-index:2 }
1072
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end>button svg { height:12px; width:12px }
1073
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field input[type="color"] { padding:2px }
1074
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file input { height:27px; opacity:0; position:absolute; top:13px; z-index:2 }
1075
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file>span:last-child { align-items:center; background:var(--bau-surface); border:1px dashed var(--bau-border); color:var(--bau-primary); display:flex; font-size:12px; font-weight:700; gap:5px; height:27px; justify-content:center; text-transform:uppercase }
1076
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file>span:last-child svg { height:12px; width:12px }
1077
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices fieldset { border:0; margin:0 0 7px; padding:0 }
1078
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices legend { font-size:12px; font-weight:800; margin-bottom:4px }
1079
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices fieldset>label,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-switch-row { align-items:center; color:var(--bau-text-muted); display:flex; font-size:12px; gap:7px; margin-bottom:5px }
1080
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices input[type="checkbox"],[data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices input[type="radio"] { accent-color:var(--bau-primary); height:15px; margin:0; width:15px }
1081
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-switch-row { background:transparent; border:0; justify-content:space-between; padding:0; width:100% }
1082
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-switch-row:disabled { opacity:0.48 }
1083
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders>label { display:grid; gap:5px; margin-bottom:13px }
1084
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders>label>span { color:var(--bau-text-muted); display:flex; font-family:var(--bau-font-heading); font-size:12px; font-weight:700; justify-content:space-between; text-transform:uppercase }
1085
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders output { color:var(--bau-text) }
1086
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sliders input[type="range"] { accent-color:var(--bau-primary); height:7px; margin:0; width:100% }
1087
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper { align-items:center; display:flex; justify-content:space-between; margin:3px 0 13px }
1088
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper>span { align-items:center; background:var(--bau-surface); border:1px solid var(--bau-border); display:flex; font-size:12px; height:20px; justify-content:center; width:20px }
1089
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper>span.is-complete { background:var(--bau-primary); border-color:var(--bau-primary); color:var(--bau-on-primary) }
1090
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper>span.is-current { background:var(--bau-warning); border-color:var(--bau-border); color:var(--bau-on-warning) }
1091
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper>span svg { height:10px; width:10px }
1092
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-stepper>i { background:var(--bau-border); height:2px; width:23px }
1093
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-segment { border:1px solid var(--bau-border); display:grid; grid-template-columns:repeat(3,1fr) }
1094
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-segment button { background:transparent; border:0; border-right:1px solid var(--bau-border); color:var(--bau-text-muted); font-family:var(--bau-font-heading); font-size:12px; min-height:27px; text-transform:uppercase }
1095
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-segment button:last-child { border-right:0 }
1096
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-segment button.is-active { background:var(--bau-primary); color:var(--bau-on-primary); font-weight:800 }
1097
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-badges { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:11px }
1098
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status { align-items:center; background:var(--bau-primary); border:1px solid var(--bau-border); border-radius:0; color:var(--bau-on-primary); display:inline-flex; font-family:var(--bau-font-heading); font-size:12px; font-weight:700; letter-spacing:0; min-height:22px; padding:0 8px; text-transform:uppercase; white-space:nowrap }
1099
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-violet,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-info { background:var(--bau-primary); color:var(--bau-on-primary) }
1100
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-success { background:var(--bau-success); color:var(--bau-on-primary) }
1101
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-warning { background:var(--bau-warning); color:var(--bau-on-warning) }
1102
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-danger { background:var(--bau-danger); color:var(--bau-on-primary) }
1103
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast { align-items:flex-start; border:2px solid var(--bau-border); display:flex; gap:8px; margin-bottom:7px; min-height:66px; padding:9px }
1104
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert { background:var(--bau-danger); color:var(--bau-on-primary) }
1105
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast { background:var(--bau-warning); color:var(--bau-on-warning) }
1106
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert>svg,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast>svg { height:16px; margin-top:1px; width:16px }
1107
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert>span,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast>span { display:grid; gap:3px }
1108
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert strong,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast strong { color:currentColor; font-size:12px; text-transform:uppercase }
1109
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert small,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast small { color:currentColor; font-size:12px }
1110
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert button,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast button { background:transparent; border:0; color:currentColor; padding:0 }
1111
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert button svg,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast button svg { height:13px; width:13px }
1112
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-utility-stack { grid-template-rows:1fr 1fr }
1113
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-loading { padding:12px }
1114
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel>header,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-loading>header { margin-bottom:7px }
1115
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel { overflow:visible; position:relative; z-index:4 }
1116
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel>button { align-items:center; background:var(--bau-primary); border:0; color:var(--bau-on-primary); display:flex; height:24px; justify-content:center; width:24px }
1117
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel>button svg { height:13px; width:13px }
1118
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel [role="tooltip"] { background:var(--bau-workshop-rail-bg); border:2px solid var(--bau-warning); bottom:9px; color:var(--bau-on-primary); font-size:12px; left:39px; line-height:1.45; padding:8px; position:absolute; width:105px }
1119
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-loading { align-items:center; display:flex; flex-wrap:wrap; gap:.75rem }
1120
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-loading>header { flex:1 0 100% }
1121
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-spinner { color:var(--bau-primary); height:31px; width:31px }
1122
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-spin { animation:bau-spin 1s linear infinite }
1123
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton { display:grid; gap:5px }
1124
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton span { animation:bau-workshop-pulse 1.5s steps(2,end) infinite; background:var(--bau-border); display:block; height:7px }
1125
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton span:nth-child(2) { background:var(--bau-primary); width:76% }
1126
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton span:nth-child(3) { background:var(--bau-warning); width:54% }
1127
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel { display:grid; grid-template-rows:auto 1fr auto }
1128
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>header { margin-bottom:8px }
1129
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>header>div:first-child { display:grid }
1130
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>header>div:first-child>span { color:var(--bau-text-muted); font-size:12px; font-weight:600; letter-spacing:0 }
1131
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools { align-items:center; display:flex; gap:6px }
1132
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools label { position:relative }
1133
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools label>svg { color:var(--bau-text-muted); height:11px; left:7px; position:absolute; top:7px; width:11px }
1134
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools input { font-size:12px; height:26px; padding-left:23px; width:92px }
1135
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools>button,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel td>button { align-items:center; background:var(--bau-surface); border:1px solid var(--bau-border); display:flex; height:26px; justify-content:center; padding:0; width:26px }
1136
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools>button svg,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel td>button svg { height:13px; width:13px }
1137
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-wrap { border:1px solid var(--bau-border); overflow:hidden }
1138
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel table { border-collapse:collapse; font-size:12px; table-layout:fixed; width:100% }
1139
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel thead { background:var(--bau-border); color:var(--bau-surface) }
1140
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel td { border-bottom:1px solid var(--bau-border); height:35px; overflow:hidden; padding:0 8px; text-align:left; text-overflow:ellipsis; white-space:nowrap }
1141
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th { border-bottom:1px solid var(--bau-border); font-size:12px; font-weight:700; height:28px; overflow:hidden; padding:0 8px; text-align:left; text-overflow:ellipsis; white-space:nowrap }
1142
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(1) { width:58px }
1143
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(3) { width:63px }
1144
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(4) { width:72px }
1145
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(5) { width:104px }
1146
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(6) { width:88px }
1147
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(7) { width:30px }
1148
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel tbody tr:last-child td { border-bottom:0 }
1149
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel tbody tr:nth-child(even) { background:var(--bau-surface-soft) }
1150
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel .bau-status { min-height:20px; padding-inline:6px }
1151
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell { align-items:center; display:grid; gap:7px; grid-template-columns:27px 1fr }
1152
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage-cell b { font-size:12px }
1153
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>footer { align-items:center; color:var(--bau-text-muted); display:flex; font-size:12px; justify-content:space-between; padding-top:8px }
1154
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>footer nav { display:flex; gap:4px }
1155
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>footer nav button { align-items:center; background:var(--bau-surface); border:1px solid var(--bau-border); display:flex; font-size:12px; height:26px; justify-content:center; padding:0; width:26px }
1156
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel>footer nav button.is-active { background:var(--bau-warning); color:var(--bau-on-warning); font-weight:800 }
1157
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card { display:flex; flex-direction:column }
1158
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card>header { align-items:center; justify-content:flex-start }
1159
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-icon { align-items:center; background:var(--bau-primary); border:1px solid var(--bau-border); color:var(--bau-on-primary); display:flex; height:39px; justify-content:center; width:39px }
1160
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-icon svg { height:22px; width:22px }
1161
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card>header>div { align-items:center; display:flex; flex-wrap:wrap; gap:5px }
1162
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card>header .bau-status { min-height:18px; padding-inline:5px }
1163
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card>p { color:var(--bau-text-muted); font-size:12px; line-height:1.45; margin-bottom:9px }
1164
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card dl { border-block:1px solid var(--bau-border); margin:0 0 8px; padding:8px 0 }
1165
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card dl>div { display:flex; font-size:12px; justify-content:space-between; margin-bottom:4px }
1166
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card dl>div:last-child { margin-bottom:0 }
1167
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card dt { color:var(--bau-text-muted); text-transform:uppercase }
1168
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card dd { margin:0 }
1169
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox { border:1px solid var(--bau-border); display:grid; margin-bottom:8px; overflow:hidden }
1170
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox button { align-items:center; background:transparent; border:0; border-bottom:1px solid var(--bau-border); display:flex; font-size:12px; justify-content:space-between; min-height:27px; padding:0 8px; text-align:left }
1171
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox button:last-child { border-bottom:0 }
1172
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox button[aria-selected="true"] { background:var(--bau-primary); color:var(--bau-on-primary); font-weight:700 }
1173
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox button svg { height:12px; width:12px }
1174
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card details { color:var(--bau-text-muted); font-size:12px; margin-bottom:8px }
1175
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card summary { align-items:center; color:var(--bau-text); cursor:pointer; display:flex; font-family:var(--bau-font-heading); font-weight:700; justify-content:space-between; list-style:none; text-transform:uppercase }
1176
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card summary svg { height:12px; width:12px }
1177
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card details p { margin-top:4px }
1178
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-service-card>.bau-button { margin-top:auto; min-height:30px; width:100% }
1179
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-zone { background:var(--bau-primary); border-color:var(--bau-border); display:grid; grid-template-rows:42px 1fr; padding:0 }
1180
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-toolbar { align-items:center; border-bottom:2px solid var(--bau-on-primary); display:flex; justify-content:space-between; padding:7px 11px }
1181
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tabs { display:flex }
1182
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tabs button,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-toolbar>button { background:transparent; border:1px solid transparent; color:var(--bau-on-primary); font-family:var(--bau-font-heading); font-size:12px; min-height:27px; padding:0 8px; text-transform:uppercase }
1183
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tabs button.is-active { background:var(--bau-warning); border-color:var(--bau-on-warning); color:var(--bau-on-warning); font-weight:800 }
1184
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface { align-items:center; display:flex; justify-content:center; padding:14px }
1185
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface dialog { background:var(--bau-surface-strong); border:2px solid var(--bau-border); box-shadow:9px 9px 0 var(--bau-warning); color:var(--bau-text); display:block; margin:0; max-width:315px; padding:24px; position:relative; width:100% }
1186
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface dialog:not([open]) { display:none }
1187
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-close { background:transparent; border:0; color:var(--bau-text-muted); padding:0; position:absolute; right:11px; top:11px }
1188
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-close svg { height:15px; width:15px }
1189
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-icon { align-items:center; background:var(--bau-danger); color:var(--bau-on-primary); display:flex; height:39px; justify-content:center; margin-bottom:12px; width:39px }
1190
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-icon svg { height:21px; width:21px }
1191
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface h2 { font-size:17px }
1192
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface p { color:var(--bau-text-muted); font-size:12px; margin:8px 0 17px }
1193
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface dialog>div { display:flex; gap:8px; justify-content:flex-end }
1194
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface .bau-button { font-size:12px; min-height:33px }
1195
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-live-status,[data-ui="bauhaus"][data-mode] .bau-sheet .bau-visually-hidden { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px }
1196
+ }
1197
+
1198
+ /**
1199
+ * Applies the workshop reference to the public, semantic, and native APIs.
1200
+ * Paint remains derived from --usk roles, including inherited ancestor themes.
1201
+ */
1202
+ @layer ui-style-kit.bauhaus {
1203
+ [data-ui="bauhaus"][data-mode] {
1204
+ --bau-font-body: var(--bau-font-sans);
1205
+ --bau-font-heading: var(--bau-font-display);
1206
+ --bau-font-control: var(--bau-font-heading);
1207
+ --bau-panel-alpha: 1;
1208
+ --bau-panel-soft-alpha: 1;
1209
+ --bau-panel-shadow: none;
1210
+ --bau-control-shadow: none;
1211
+ --bau-control-shadow-hover: none;
1212
+ --bau-control-shadow-pressed: none;
1213
+ --bau-rule-width: 2px;
1214
+ --bau-rule-heavy: 3px;
1215
+ --bau-transition-fast: 120ms linear;
1216
+ --bau-transition-base: 120ms linear;
1217
+ --bau-theme-bg: var(--bau-bg);
1218
+ --bau-card-bg: var(--bau-surface);
1219
+ --bau-control-bg: var(--bau-surface);
1220
+ --bau-workshop-rail-bg: rgb(var(--usk-surface-strong-rgb, 5 5 5));
1221
+ --bau-workshop-rail-text: rgb(var(--usk-text-rgb, 247 244 236));
1222
+ --usk-native-shadow: none;
1223
+ --usk-native-shadow-md: none;
1224
+ --usk-native-choice-shadow: none;
1225
+ --usk-native-control-min-block-size: 2.75rem;
1226
+ --usk-native-control-padding-block: .5rem;
1227
+ --usk-native-control-padding-inline: .75rem;
1228
+ --usk-native-range-track-background: var(--bau-surface-soft);
1229
+ --usk-native-range-track-shadow: none;
1230
+ --usk-native-range-thumb-shadow: none;
1231
+ --usk-native-progress-track-background: var(--bau-surface-soft);
1232
+ --usk-native-progress-value-background: var(--bau-primary);
1233
+ --usk-native-progress-value-shadow: none;
1234
+ --usk-native-scrollbar-thumb: var(--bau-primary);
1235
+ --usk-native-focus-ring: 0 0 0 3px var(--bau-focus);
1236
+ background: var(--bau-bg);
1237
+ }
1238
+ .bau-title { font-size: 3rem; font-weight: 800; line-height: 1.05; letter-spacing: 0; }
1239
+ .bau-heading { font-size: 1.5rem; font-weight: 800; line-height: 1.15; letter-spacing: 0; }
1240
+ .bau-kicker, .bau-label, .bau-badge, .bau-nav-link, .bau-button { letter-spacing: 0; }
1241
+ .bau-label { font-family: var(--bau-font-heading); font-size: .875rem; }
1242
+ .bau-card, .bau-panel, .bau-surface, .bau-toolbar, .bau-table-wrap,
1243
+ .bau-card-service, .bau-card-feature, .bau-feature-strip, .bau-callout-bar, .bau-well, .bau-inset {
1244
+ background: var(--bau-surface); border: 2px solid var(--bau-border); border-radius: 0; box-shadow: none;
1245
+ }
1246
+ .bau-card::before, .bau-panel::before, .bau-surface::before { content: none; }
1247
+ .bau-card, .bau-panel { padding: 1rem; }
1248
+ .bau-hover-lift:hover { transform: none; box-shadow: none; }
1249
+ .bau-button, .bau-icon-button { min-height: 2.75rem; padding: .5rem 1rem; box-shadow: none; font-weight: 700; }
1250
+ .bau-button:hover, .bau-icon-button:hover { transform: none; box-shadow: none; }
1251
+ .bau-button:active, .bau-button.is-active, .bau-button[aria-pressed="true"], .bau-icon-button:active { transform: translateY(1px); box-shadow: none; }
1252
+ .bau-button.bau-button-secondary { background: transparent; border-color: var(--bau-border); color: var(--bau-text); }
1253
+ .bau-button.bau-button-secondary:hover { background: var(--bau-warning); color: var(--bau-on-warning); }
1254
+ .bau-button.bau-button-cut, .bau-button-cut, .bau-button.bau-button-outline-heavy, .bau-button-outline-heavy { clip-path: none; box-shadow: none; }
1255
+ .bau-input, .bau-select, .bau-textarea { border: 2px solid var(--bau-border); min-height: 2.75rem; padding: .5rem .75rem; }
1256
+ .bau-input:hover, .bau-select:hover, .bau-textarea:hover { box-shadow: none; }
1257
+ .bau-input:focus, .bau-select:focus, .bau-textarea:focus { box-shadow: none; outline: 3px solid var(--bau-focus); outline-offset: 2px; }
1258
+ .bau-input[aria-invalid="true"], .bau-textarea[aria-invalid="true"], .bau-select[aria-invalid="true"] { border-color: var(--bau-danger); box-shadow: none; }
1259
+ .bau-input[readonly], .bau-textarea[readonly] { border-style: solid; opacity: 1; filter: none; background: var(--bau-surface-soft); }
1260
+ .bau-check-control, .bau-radio-control { flex: 0 0 auto; box-shadow: none; }
1261
+ /** A single checkmark replaces the shared crossed-gradient mark in native choices. */
1262
+ [data-ui="bauhaus"][data-mode] :where(input[type="checkbox"]:checked:not(:indeterminate)) { position: relative; background-image: none; }
1263
+ [data-ui="bauhaus"][data-mode] :where(input[type="checkbox"]:checked:not(:indeterminate))::after { content: ""; position: absolute; left: 18%; top: 18%; width: 65%; height: 38%; border: solid var(--bau-on-primary); border-width: 0 0 2px 2px; transform: rotate(-45deg); }
1264
+ .bau-switch { min-inline-size: max-content; flex: 0 0 auto; }
1265
+ .bau-switch-track { width: 2.75rem; height: 1.5rem; flex: 0 0 auto; background: var(--bau-surface-soft); }
1266
+ .bau-switch-thumb { width: 1rem; height: 1rem; top: .125rem; left: .125rem; border: 0; background: var(--bau-text); }
1267
+ .bau-switch input:checked + .bau-switch-track .bau-switch-thumb { left: calc(100% - 1rem - .125rem); }
1268
+ .bau-check:has(input:focus-visible) .bau-check-control, .bau-radio:has(input:focus-visible) .bau-radio-control, .bau-switch:has(input:focus-visible) .bau-switch-track { outline: 3px solid var(--bau-focus); outline-offset: 2px; }
1269
+ .bau-nav { background: var(--bau-workshop-rail-bg); }
1270
+ .bau-nav-link { color: var(--bau-workshop-rail-text); }
1271
+ .bau-nav-link:hover { background: var(--bau-warning); color: var(--bau-on-warning); box-shadow: none; }
1272
+ .bau-nav-link[aria-current="page"], .bau-nav-link.is-active { box-shadow: none; }
1273
+ .bau-alert { display: flex; flex-wrap: wrap; gap: .5rem .75rem; border-radius: 0; background: var(--bau-surface); }
1274
+ .bau-alert-title { flex: 0 0 auto; word-break: normal; overflow-wrap: normal; }
1275
+ .bau-alert-text { flex: 1 1 12rem; word-break: normal; overflow-wrap: normal; }
1276
+ .bau-alert-success { border-inline-start-color: var(--bau-success); }
1277
+ .bau-alert-warning { border-inline-start-color: var(--bau-warning); }
1278
+ .bau-alert-danger { border-inline-start-color: var(--bau-danger); }
1279
+ .bau-progress { background: var(--bau-surface-soft); height: .75rem; }
1280
+ .bau-progress-bar { background: var(--bau-primary); }
1281
+ .bau-table th { color: var(--bau-bg); background: var(--bau-text); }
1282
+ .bau-icon-medallion, .bau-badge-seal { box-shadow: none; }
1283
+ .bau-card-service > .bau-icon-medallion { font-size: 2rem; }
1284
+ .bau-tooltip, [data-ui="bauhaus"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) { background: var(--bau-workshop-rail-bg); color: var(--bau-workshop-rail-text); border: 2px solid var(--bau-warning); letter-spacing: 0; }
1285
+ [data-ui="bauhaus"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) { box-shadow: none; border-color: var(--bau-border); }
1286
+ [data-ui="bauhaus"][data-mode] :where(dialog) { background: var(--bau-surface-strong); color: var(--bau-text); border: 2px solid var(--bau-border); box-shadow: .5rem .5rem 0 var(--bau-warning); }
1287
+ .bau-spinner, [data-ui="bauhaus"] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) {
1288
+ display: inline-block; flex: 0 0 auto; inline-size: 1.75rem; block-size: 1.75rem; border: 2px solid currentColor; border-block-start-color: transparent; border-radius: 50%; background: none; color: var(--bau-primary); box-shadow: none; clip-path: none; animation: bau-spin 1s linear infinite;
1289
+ }
1290
+ .bau-spinner-sm { inline-size: 1rem; block-size: 1rem; }
1291
+ .bau-spinner-lg { inline-size: 2.5rem; block-size: 2.5rem; }
1292
+ .bau-button[aria-busy="true"]::after, .bau-icon-button[aria-busy="true"]::after, [data-ui="bauhaus"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
1293
+ content: ""; display: inline-block; flex: 0 0 auto; inline-size: 1em; block-size: 1em; border: 2px solid currentColor; border-block-start-color: transparent; border-radius: 50%; background: none; box-shadow: none; clip-path: none; animation: bau-spin 1s linear infinite;
1294
+ }
1295
+
1296
+ /** Responsive specimen composition uses the same public components as consumers. */
1297
+ [data-ui="bauhaus"][data-mode] .bau-sheet { display: grid; grid-template-columns: 12rem minmax(0, 1fr); background: var(--bau-border); border: 2px solid var(--bau-border); color: var(--bau-text); font-family: var(--bau-font-body); font-size: .875rem; line-height: 1.4; }
1298
+ [data-ui="bauhaus"][data-mode] .bau-sheet [hidden] { display: none; }
1299
+ [data-ui="bauhaus"][data-mode] .bau-sheet :where(h1, h2, h3, p, span, strong, small, button) { overflow-wrap: normal; word-break: normal; letter-spacing: 0; }
1300
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-panel { overflow: visible; padding: 1rem; border-radius: 0; }
1301
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-canvas { height: auto; grid-template-rows: auto; gap: 6px; }
1302
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-top-grid { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); }
1303
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-middle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1304
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-bottom-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
1305
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-metrics-stack { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
1306
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-panel { grid-column: span 2; }
1307
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-grid { gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
1308
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-zone { grid-column: 1 / -1; padding: 0; }
1309
+ [data-ui="bauhaus"][data-mode] .bau-sheet h2 { font-size: 1.25rem; line-height: 1.2; }
1310
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero { display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
1311
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero-copy { position: static; }
1312
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-eyebrow { color: var(--bau-link); }
1313
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 { font-size: 3rem; line-height: 1; }
1314
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 span { display: block; font-size: 2rem; }
1315
+ .bau-hero-art { display: block; inline-size: 100%; block-size: auto; object-fit: contain; }
1316
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-inline-actions { flex-wrap: wrap; }
1317
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button { font-family: var(--bau-font-heading); min-height: 2.75rem; font-size: .9375rem; padding: .5rem .75rem; line-height: 1.15; }
1318
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
1319
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button-secondary { background: transparent; color: var(--bau-text); border-color: var(--bau-border); }
1320
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button-danger { background: var(--bau-danger); color: var(--bau-on-danger); border-color: var(--bau-danger); }
1321
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button-warning { background: var(--bau-warning); color: var(--bau-on-warning); border-color: var(--bau-warning); }
1322
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button-ghost { background: transparent; color: var(--bau-link); border-color: transparent; }
1323
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button:disabled { color: var(--bau-text-muted); background: var(--bau-surface-soft); border-color: var(--bau-border); opacity: 1; transform: none; }
1324
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-busy { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
1325
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button:hover:not(:disabled) { transform: none; }
1326
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar { height: auto; border-color: var(--bau-border); overflow: visible; }
1327
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar .bau-button-secondary { color: var(--bau-workshop-rail-text); border-color: currentColor; margin: .75rem; transition: none; }
1328
+ /** Keeps sidebar reference actions legible when Firefox preserves click hover. */
1329
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar .bau-button-secondary:hover:not(:disabled),
1330
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar .bau-button-secondary:focus-visible {
1331
+ background: var(--bau-warning);
1332
+ color: var(--bau-on-warning);
1333
+ border-color: var(--bau-on-warning);
1334
+ }
1335
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note { min-height: 0; }
1336
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand-mark { flex: 0 0 auto; }
1337
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand strong,
1338
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand small,
1339
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-note strong { color: var(--bau-workshop-rail-text); }
1340
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system > header,
1341
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage > header { color: inherit; }
1342
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota { color: var(--bau-on-danger); }
1343
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage { color: var(--bau-on-warning); }
1344
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-system :where(p, small, strong, h2, button, svg),
1345
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-usage :where(p, small, strong, h2, span, svg),
1346
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-quota :where(p, small, strong, h2, span) { color: inherit; }
1347
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field :where(input, select, textarea),
1348
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools input { height: auto; min-height: 2.75rem; font: inherit; padding: .5rem .65rem; }
1349
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field textarea { min-height: 5rem; resize: vertical; }
1350
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end > input { padding-right: 3rem; }
1351
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end > button { top: 0; right: 0; min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; }
1352
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file input { position: static; opacity: 1; }
1353
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file > span:last-child:not(:first-child) { display: none; }
1354
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices fieldset { border: 0; padding: 0; }
1355
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices fieldset > label { min-height: 2.75rem; font-size: .875rem; }
1356
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices input:is([type="checkbox"], [type="radio"]) { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
1357
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch { flex: 0 0 auto; position: relative; width: 44px; height: 24px; min-height: 0; max-height: 24px; padding: 2px; border-radius: 0; box-shadow: none; }
1358
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch > span { height: 16px; width: 16px; }
1359
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-compact-switch::before { content: ""; position: absolute; inset: -12px 0; }
1360
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-switch-row { min-height: 44px; font-size: .875rem; }
1361
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert { background: var(--bau-danger); color: var(--bau-on-danger); border-radius: 0; }
1362
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast { background: var(--bau-warning); color: var(--bau-on-warning); }
1363
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-success { color: var(--bau-on-success); }
1364
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-status.is-danger, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-icon { color: var(--bau-on-danger); }
1365
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert button, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast button { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; }
1366
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-alert > span, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-toast > span { flex: 1 1 8rem; }
1367
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel > button { color: var(--bau-on-primary); min-width: 2.75rem; min-height: 2.75rem; }
1368
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tooltip-panel [role="tooltip"] { position: static; display: block; width: auto; margin-top: .75rem; color: var(--bau-workshop-rail-text); }
1369
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-spinner { inline-size: 1.75rem; block-size: 1.75rem; width: 1.75rem; height: 1.75rem; }
1370
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton { flex: 1; }
1371
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-wrap { overflow: auto; padding: 0; }
1372
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel table { min-width: 28rem; font-size: .875rem; table-layout: auto; }
1373
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th:nth-child(n) { width: auto; }
1374
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel :where(th, td) { height: auto; font-size: .8125rem; padding: .75rem .5rem; }
1375
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-panel th { color: var(--bau-bg); }
1376
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-table-tools input { width: 100%; }
1377
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface { padding: 1.25rem; }
1378
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface dialog { max-width: 32rem; padding: 1.5rem; }
1379
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-surface dialog > div { flex-wrap: wrap; }
1380
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-close { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-items: center; top: 0; right: 0; }
1381
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-tabs button, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-toolbar > button, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-segment button, [data-ui="bauhaus"][data-mode] .bau-sheet .bau-listbox button { min-height: 2.75rem; font-size: .875rem; }
1382
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-dialog-toolbar { height: auto; flex-wrap: wrap; }
1383
+ .bau-spin { animation: bau-spin 1s linear infinite; }
1384
+ .bau-reference { background: var(--bau-surface); color: var(--bau-text); padding: 1rem; }
1385
+ @keyframes bau-workshop-pulse { 50% { opacity: .45; } }
1386
+ @media (max-width: 75rem) {
1387
+ [data-ui="bauhaus"][data-mode] .bau-sheet { grid-template-columns: 1fr; }
1388
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar { display: grid; grid-template-columns: 1fr 1fr; padding: 1rem; gap: .75rem; border-right: 0; }
1389
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar-spacer { display: none; }
1390
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand { padding: 0; }
1391
+ }
1392
+ @media (max-width: 48rem) {
1393
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-top-grid,
1394
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-middle-grid,
1395
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-bottom-grid,
1396
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-metrics-stack { grid-template-columns: 1fr; }
1397
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-panel { grid-column: auto; }
1398
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-sidebar { grid-template-columns: 1fr; }
1399
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 { font-size: 2.5rem; }
1400
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-form-grid { grid-template-columns: 1fr; }
1401
+ }
1402
+ @media (prefers-reduced-motion: reduce) {
1403
+ [data-ui="bauhaus"] *, [data-ui="bauhaus"] *::before, [data-ui="bauhaus"] *::after { animation: none !important; transition: none !important; }
1404
+ }
1405
+ }
1406
+
1407
+ /**
1408
+ * Preserves shared annotation fixture spacing and icon weight after reference
1409
+ * overrides append their compact source rules.
1410
+ */
1411
+ [data-ui="bauhaus"][data-mode] .bau-title {
1412
+ margin-block: max(.75rem, 12px);
1413
+ letter-spacing: max(.03em, .5px);
1414
+ }
1415
+
1416
+ [data-ui="bauhaus"][data-mode] .bau-feature-item > .bau-icon-medallion {
1417
+ font-size: 1.5rem;
1418
+ line-height: 1;
1419
+ }
1420
+
1421
+ [data-ui="bauhaus"][data-mode] .bau-callout-bar > .bau-icon-medallion {
1422
+ min-inline-size: 4.5rem;
1423
+ min-block-size: 4.5rem;
1424
+ font-size: 2rem;
1425
+ font-weight: 800;
1426
+ line-height: 1;
1427
+ }