ui-style-kit-css 2.4.0 → 2.5.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 (65) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +47 -19
  3. package/STYLE-MAP.md +5 -0
  4. package/dist/ui-style-kit.css +1102 -616
  5. package/dist/ui-style-kit.min.css +2 -2
  6. package/dist/ui-style-kit.visual.css +1102 -616
  7. package/dist/ui-style-kit.visual.min.css +2 -2
  8. package/dist/ui-style-kit.with-bridge.css +1102 -616
  9. package/dist/ui-style-kit.with-bridge.min.css +2 -2
  10. package/dist/visual/art-deco.css +539 -65
  11. package/dist/visual/bauhaus.css +2 -2
  12. package/dist/visual/bento.css +2 -2
  13. package/dist/visual/brutalism.css +499 -10
  14. package/dist/visual/clay.css +2 -2
  15. package/dist/visual/cyberpunk.css +535 -46
  16. package/dist/visual/data-terminal.css +516 -27
  17. package/dist/visual/editorial-luxe.css +526 -37
  18. package/dist/visual/industrial-utility.css +531 -42
  19. package/dist/visual/maximalist.css +496 -7
  20. package/dist/visual/minimal-saas.css +511 -21
  21. package/dist/visual/neo-noir.css +2 -2
  22. package/dist/visual/neumorphism.css +500 -11
  23. package/dist/visual/organic-modern.css +2 -2
  24. package/dist/visual/paper-editorial.css +537 -48
  25. package/dist/visual/retro-glass.css +534 -45
  26. package/dist/visual/retrofuturism.css +500 -11
  27. package/dist/visual/tactile.css +499 -10
  28. package/dist/visual/technical-blueprint.css +552 -63
  29. package/dist/visual/y2k.css +514 -13
  30. package/docs/BAUHAUS.md +1 -1
  31. package/docs/BRIDGE-MIGRATION.md +38 -0
  32. package/docs/CLAY.md +1 -1
  33. package/docs/COLOR-THEMES.md +63 -0
  34. package/docs/ECOSYSTEM.md +7 -7
  35. package/docs/ORGANIC-MODERN.md +1 -1
  36. package/docs/PUBLISHING.md +13 -13
  37. package/docs/RELEASE-2.4.1.md +35 -0
  38. package/docs/RELEASE-2.4.2.md +37 -0
  39. package/docs/RELEASE-2.5.0.md +34 -0
  40. package/docs/STYLE-GUIDE.md +1 -1
  41. package/manifest.json +358 -160
  42. package/package.json +6 -5
  43. package/styles/art-deco.css +10 -27
  44. package/styles/bauhaus.css +12 -12
  45. package/styles/bento.css +37 -31
  46. package/styles/brutalism.css +5 -5
  47. package/styles/clay.css +5 -5
  48. package/styles/components.css +81 -2
  49. package/styles/cyberpunk.css +14 -14
  50. package/styles/data-terminal.css +12 -12
  51. package/styles/editorial-luxe.css +6 -6
  52. package/styles/industrial-utility.css +5 -5
  53. package/styles/maximalist.css +2 -2
  54. package/styles/minimal-saas.css +13 -12
  55. package/styles/native-elements.css +1 -1
  56. package/styles/neo-noir.css +8 -8
  57. package/styles/neumorphism.css +6 -6
  58. package/styles/organic-modern.css +8 -9
  59. package/styles/paper-editorial.css +6 -6
  60. package/styles/retro-glass.css +5 -5
  61. package/styles/retrofuturism.css +6 -6
  62. package/styles/tactile.css +7 -7
  63. package/styles/technical-blueprint.css +18 -18
  64. package/styles/theme-colors.css +410 -0
  65. package/styles/y2k.css +22 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ui-style-kit-css",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "CSS theme and UI style preset library for accessible websites, dashboards, admin interfaces, and client-facing pages.",
5
5
  "style": "dist/ui-style-kit.css",
6
6
  "main": "dist/ui-style-kit.css",
@@ -219,8 +219,9 @@
219
219
  "stylelint": "~17.14.1"
220
220
  },
221
221
  "overrides": {
222
+ "colord": "2.9.4",
222
223
  "fast-uri": "3.1.6",
223
- "js-yaml": "4.3.1",
224
+ "js-yaml": "4.3.2",
224
225
  "nanoid": "3.3.18",
225
226
  "postcss": "8.5.23"
226
227
  },
@@ -250,12 +251,12 @@
250
251
  "check:ecosystem:minimum": "node scripts/check-ecosystem-packs.mjs --matrix minimum --skip-docs",
251
252
  "check:ecosystem:packs": "npm run check:ecosystem:current && npm run check:ecosystem:minimum",
252
253
  "test:ecosystem:clean-install": "node --test tests/clean-install-ecosystem-contract.integration.mjs",
253
- "release:preflight": "npm run build && node scripts/release-preflight.mjs --layout-repo ../Layout-Style-CSS --interactive-spec interactive-surface-css@1.7.0 --layout-docs-repo ../Layout-Style-CSS",
254
+ "release:preflight": "npm run build && node scripts/release-preflight.mjs --layout-repo ../Layout-Style-CSS --interactive-repo ../Interactive-Surface-CSS --layout-docs-repo ../Layout-Style-CSS --interactive-docs-repo ../Interactive-Surface-CSS",
254
255
  "check": "npm run build && npm run lint && npm run test:unit && npm run check:contrast && npm run check:compat && npm run check:ownership && npm run check:package",
255
256
  "pack:dry-run": "npm pack --dry-run --ignore-scripts",
256
257
  "prepack": "npm run check",
257
- "release:verify": "npm run check && npm run test:e2e && npm run release:preflight -- --candidate-package ui-style-kit-css --skip-clean-install && npm audit --audit-level=moderate && npm run pack:dry-run",
258
- "release:verify:full": "npm run check && npm run test:e2e:full && npm run test:axe:full && npm run test:visual:full && npm run test:matrix && npm run release:preflight -- --candidate-package ui-style-kit-css && npm audit --audit-level=moderate && npm run pack:dry-run",
258
+ "release:verify": "npm run check && npm run test:e2e && npm run release:preflight -- --candidate-package ui-style-kit-css --companion-candidate-root ../Layout-Style-CSS --companion-candidate-root ../Interactive-Surface-CSS --skip-clean-install && npm audit --audit-level=moderate && npm run pack:dry-run",
259
+ "release:verify:full": "npm run check && npm run test:e2e:full && npm run test:axe:full && npm run test:visual:full && npm run test:matrix && npm run release:preflight -- --candidate-package ui-style-kit-css --companion-candidate-root ../Layout-Style-CSS --companion-candidate-root ../Interactive-Surface-CSS && npm audit --audit-level=moderate && npm run pack:dry-run",
259
260
  "prepublishOnly": "npm run release:verify",
260
261
  "release:patch": "npm version patch && npm publish",
261
262
  "release:minor": "npm version minor && npm publish",
@@ -379,7 +379,7 @@
379
379
  .deco-title, .deco-heading, .deco-kicker, .deco-button, .deco-badge, .deco-nav-link { font-family: var(--deco-font-heading); }
380
380
  .deco-title { margin: 0; color: var(--deco-text); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -0.045em; }
381
381
  .deco-heading { margin: 0; color: var(--deco-text); font-size: clamp(1.2rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -0.03em; }
382
- .deco-kicker { margin: 0; color: var(--deco-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
382
+ .deco-kicker { margin: 0; color: var(--usk-primary-ink, var(--deco-primary)); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
383
383
  .deco-subtitle, .deco-copy { margin: 0; color: var(--deco-text-muted); line-height: 1.65; }
384
384
  .deco-text-muted { color: var(--deco-text-muted); }
385
385
  .deco-divider { width: 100%; height: 1px; border: 0; background: var(--deco-border); }
@@ -448,7 +448,7 @@
448
448
  .deco-input::placeholder, .deco-textarea::placeholder { color: var(--deco-text-muted); opacity: .82; }
449
449
  .deco-input:hover, .deco-textarea:hover, .deco-select:hover { border-color: rgb(var(--deco-primary-rgb) / .58); }
450
450
  .deco-input:focus, .deco-textarea:focus, .deco-select:focus { border-color: var(--deco-focus); box-shadow: var(--deco-focus-ring); }
451
- .deco-help-text { color: var(--deco-text-muted); font-size: .875rem; line-height: 1.45; }
451
+ .deco-help-text { color: var(--deco-text); font-size: .875rem; line-height: 1.45; }
452
452
 
453
453
  /* Checkbox / Radio */
454
454
  .deco-check, .deco-radio { display: inline-flex; align-items: center; gap: var(--deco-space-2); color: var(--deco-text); cursor: pointer; }
@@ -513,7 +513,7 @@
513
513
  Utilities
514
514
  ========================================================= */
515
515
 
516
- .deco-text-primary { color: var(--deco-primary); } .deco-text-secondary { color: var(--deco-secondary); } .deco-text-accent { color: var(--deco-accent); } .deco-text-success { color: var(--deco-success); } .deco-text-warning { color: var(--deco-warning); } .deco-text-danger { color: var(--deco-danger); }
516
+ .deco-text-primary { color: var(--usk-primary-ink, var(--deco-primary)); } .deco-text-secondary { color: var(--deco-secondary); } .deco-text-accent { color: var(--usk-accent-ink, var(--deco-accent)); } .deco-text-success { color: var(--deco-success); } .deco-text-warning { color: var(--deco-warning); } .deco-text-danger { color: var(--deco-danger); }
517
517
  .deco-bg-primary { background: var(--deco-primary); color: var(--deco-on-primary); } .deco-bg-secondary { background: var(--deco-secondary); color: var(--deco-on-secondary); }
518
518
  .deco-border { border: 1px solid var(--deco-border); } .deco-rounded { border-radius: var(--deco-radius-md); } .deco-rounded-lg { border-radius: var(--deco-radius-lg); } .deco-rounded-xl { border-radius: var(--deco-radius-xl); } .deco-pill { border-radius: var(--deco-radius-pill); }
519
519
  .deco-sr-only, .deco-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@@ -621,7 +621,7 @@
621
621
  .deco-button.deco-button-outline-heavy,
622
622
  .deco-button-outline-heavy {
623
623
  background: transparent;
624
- color: var(--deco-primary);
624
+ color: var(--usk-primary-ink, var(--deco-primary));
625
625
  border-style: solid;
626
626
  border-width: 2px;
627
627
  border-color: var(--deco-primary);
@@ -691,7 +691,7 @@
691
691
 
692
692
  .deco-eyebrow {
693
693
  margin: 0;
694
- color: var(--deco-primary);
694
+ color: var(--usk-primary-ink, var(--deco-primary));
695
695
  font-family: var(--deco-font-heading);
696
696
  font-size: .76rem;
697
697
  font-weight: 900;
@@ -767,7 +767,7 @@
767
767
  .deco-nav-link { border-radius: 0; text-transform: uppercase; letter-spacing: .08em; }
768
768
  .deco-input, .deco-textarea, .deco-select { border-radius: 0; }
769
769
  .deco-card-media, .deco-media-scrim, .deco-feature-strip, .deco-callout-bar { border-radius: 0; border-style: double; border-width: 3px; }
770
- .deco-icon-medallion, .deco-badge-seal { border-style: double; border-width: 4px; background: transparent; color: var(--deco-primary); box-shadow: 0 0 0 .25rem rgb(var(--deco-primary-rgb) / .07); }
770
+ .deco-icon-medallion, .deco-badge-seal { border-style: double; border-width: 4px; background: transparent; color: var(--usk-primary-ink, var(--deco-primary)); box-shadow: 0 0 0 .25rem rgb(var(--deco-primary-rgb) / .07); }
771
771
  .deco-feature-item { text-align: center; grid-template-columns: 1fr; justify-items: center; }
772
772
  .deco-card-accent-edge { border-inline-start-width: 3px; }
773
773
 
@@ -943,7 +943,7 @@
943
943
  .deco-button-primary { background: linear-gradient(135deg, var(--deco-primary), var(--deco-success)); color: var(--deco-on-primary); border-color: var(--deco-border); }
944
944
  .deco-button-secondary { background: linear-gradient(135deg, var(--deco-secondary), var(--deco-warning)); color: var(--deco-on-secondary); border-color: var(--deco-border); }
945
945
  .deco-button-danger { background: linear-gradient(135deg, var(--deco-danger), rgb(var(--deco-danger-rgb) / .72)); color: var(--deco-on-danger); border-color: var(--deco-border); }
946
- .deco-button-ghost { background: transparent; color: var(--deco-primary); border-color: transparent; }
946
+ .deco-button-ghost { background: transparent; color: var(--usk-primary-ink, var(--deco-primary)); border-color: transparent; }
947
947
  }
948
948
 
949
949
  @layer ui-style-kit.art_deco {
@@ -1402,7 +1402,7 @@
1402
1402
  border-block-end: 2px solid currentColor;
1403
1403
  border-inline-start: 2px solid currentColor;
1404
1404
  color: var(--deco-jewel-on);
1405
- transform: translate(calc(-50% - 5px), calc(-62% - 5px)) rotate(-45deg);
1405
+ transform: translate(-50%, -50%) rotate(-45deg);
1406
1406
  transform-origin: center;
1407
1407
  }
1408
1408
 
@@ -1877,7 +1877,8 @@
1877
1877
  .deco-button, .deco-icon-button { position: relative; isolation: isolate; min-height: 36px; min-block-size: 36px; min-inline-size: 0; padding: 8px 14px; border: 0; border-radius: 0; clip-path: none; background: var(--deco-surface); color: var(--deco-text); box-shadow: none; font: 500 12px/1.2 var(--deco-font-control); letter-spacing: 0; text-transform: uppercase; gap: 8px; }
1878
1878
  .deco-button::before, .deco-icon-button::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--deco-metal); border: 0; pointer-events: none; clip-path: polygon(evenodd, 7px 0, calc(100% - 7px) 0, calc(100% - 7px) 3px, 100% 3px, 100% calc(100% - 3px), calc(100% - 7px) calc(100% - 3px), calc(100% - 7px) 100%, 7px 100%, 7px calc(100% - 3px), 0 calc(100% - 3px), 0 3px, 7px 3px, 7px 0, 8px 1px, 8px 4px, 1px 4px, 1px calc(100% - 4px), 8px calc(100% - 4px), 8px calc(100% - 1px), calc(100% - 8px) calc(100% - 1px), calc(100% - 8px) calc(100% - 4px), calc(100% - 1px) calc(100% - 4px), calc(100% - 1px) 4px, calc(100% - 8px) 4px, calc(100% - 8px) 1px, 8px 1px, 7px 0); }
1879
1879
  .deco-button, .deco-icon-button { background-color: transparent; clip-path: var(--deco-step-sm); }
1880
- .deco-button { min-inline-size: 12rem; }
1880
+ /** Caps the 12rem Deco action measure when text zoom leaves a narrower flex line. */
1881
+ .deco-button { min-inline-size: min(100%, 12rem); max-inline-size: 100%; }
1881
1882
  .deco-button:focus-visible, .deco-icon-button:focus-visible { outline-offset: -6px; }
1882
1883
  .deco-button-primary { background-color: var(--deco-jewel-primary); color: var(--deco-jewel-on); }
1883
1884
  .deco-button-secondary { background-color: var(--deco-jewel-secondary); color: var(--deco-jewel-on); }
@@ -1915,24 +1916,6 @@
1915
1916
  .deco-check, .deco-radio { min-height: 32px; font-size: 12px; gap: 8px; }
1916
1917
  .deco-check input:checked + .deco-check-control, .deco-radio input:checked + .deco-radio-control, .deco-switch input:checked + .deco-switch-track { background: var(--deco-secondary); }
1917
1918
  .deco-check input:checked + .deco-check-control::after { color: var(--deco-on-secondary); }
1918
- /** Keeps prefixed checkbox rasterization centered without generating semantic aliases. */
1919
- :is([class="deco-check"], [class^="deco-check "], [class*=" deco-check "], [class$=" deco-check"]) input:checked + :is([class="deco-check-control"], [class^="deco-check-control "], [class*=" deco-check-control "], [class$=" deco-check-control"])::after { transform: translate(calc(-50% - 5px), calc(-62% + 4px)) rotate(-45deg); }
1920
-
1921
- /**
1922
- * Aligns the stroked checkbox mark with Firefox and WebKit rasterization while
1923
- * preserving Chromium's established pixel center.
1924
- */
1925
- @supports (-moz-appearance: none) {
1926
- :is([class="deco-check"], [class^="deco-check "], [class*=" deco-check "], [class$=" deco-check"]) input:checked + :is([class="deco-check-control"], [class^="deco-check-control "], [class*=" deco-check-control "], [class$=" deco-check-control"])::after {
1927
- transform: translate(calc(-50% - 5px), calc(-62% - 5px)) rotate(-45deg);
1928
- }
1929
- }
1930
-
1931
- @supports (-webkit-hyphens: none) {
1932
- .deco-check input:checked + .deco-check-control::after {
1933
- transform: translate(calc(-50% - 5px), calc(-62% + 3px)) rotate(-45deg);
1934
- }
1935
- }
1936
1919
  .deco-radio input:checked + .deco-radio-control::after { background: var(--deco-on-secondary); }
1937
1920
  .deco-switch { min-height: 32px; }
1938
1921
  .deco-switch-track { width: 40px; height: 22px; inline-size: 40px; block-size: 22px; border-width: 3px; }
@@ -393,7 +393,7 @@
393
393
  .bau-title, .bau-heading, .bau-kicker, .bau-button, .bau-badge, .bau-nav-link { font-family: var(--bau-font-heading); }
394
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
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; }
396
+ .bau-kicker { margin: 0; color: var(--usk-primary-ink, var(--bau-primary)); font-size: .82rem; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
397
397
  .bau-subtitle, .bau-copy { margin: 0; color: var(--bau-text-muted); line-height: 1.65; }
398
398
  .bau-text-muted { color: var(--bau-text-muted); }
399
399
  .bau-divider { width: 100%; height: var(--bau-rule-width); border: 0; background: var(--bau-text); }
@@ -540,7 +540,7 @@
540
540
  Utilities
541
541
  ========================================================= */
542
542
 
543
- .bau-text-primary { color: var(--bau-primary); } .bau-text-secondary { color: var(--bau-secondary); } .bau-text-accent { color: var(--bau-accent); } .bau-text-success { color: var(--bau-success); } .bau-text-warning { color: var(--bau-warning); } .bau-text-danger { color: var(--bau-danger); }
543
+ .bau-text-primary { color: var(--usk-primary-ink, var(--bau-primary)); } .bau-text-secondary { color: var(--bau-secondary); } .bau-text-accent { color: var(--usk-accent-ink, var(--bau-accent)); } .bau-text-success { color: var(--bau-success); } .bau-text-warning { color: var(--bau-warning); } .bau-text-danger { color: var(--bau-danger); }
544
544
  .bau-bg-primary { background: var(--bau-primary); color: var(--bau-on-primary); } .bau-bg-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); }
545
545
  .bau-border { border: 2px solid var(--bau-border); } .bau-rounded { border-radius: var(--bau-radius-md); } .bau-rounded-lg { border-radius: var(--bau-radius-lg); } .bau-rounded-xl { border-radius: var(--bau-radius-xl); } .bau-pill { border-radius: var(--bau-radius-pill); }
546
546
  .bau-sr-only, .bau-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@@ -653,7 +653,7 @@
653
653
  .bau-button.bau-button-outline-heavy,
654
654
  .bau-button-outline-heavy {
655
655
  background: transparent;
656
- color: var(--bau-primary);
656
+ color: var(--usk-primary-ink, var(--bau-primary));
657
657
  border-style: solid;
658
658
  border-width: 2px;
659
659
  border-color: var(--bau-primary);
@@ -725,7 +725,7 @@
725
725
 
726
726
  .bau-eyebrow {
727
727
  margin: 0;
728
- color: var(--bau-primary);
728
+ color: var(--usk-primary-ink, var(--bau-primary));
729
729
  font-family: var(--bau-font-heading);
730
730
  font-size: .76rem;
731
731
  font-weight: 900;
@@ -941,7 +941,7 @@
941
941
  .bau-button-primary { background: var(--bau-primary); color: var(--bau-on-primary); border-color: var(--bau-primary); }
942
942
  .bau-button-secondary { background: var(--bau-secondary); color: var(--bau-on-secondary); border-color: var(--bau-secondary); }
943
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; }
944
+ .bau-button-ghost { background: transparent; color: var(--usk-primary-ink, var(--bau-primary)); border-color: transparent; }
945
945
  }
946
946
 
947
947
  @layer ui-style-kit.bauhaus {
@@ -970,7 +970,7 @@
970
970
  [data-ui="bauhaus"][data-mode] .bau-sheet svg { display:block; flex:0 0 auto }
971
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
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 }
973
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-panel>header>svg { color:var(--usk-primary-ink, var(--bau-primary)); height:18px; width:18px }
974
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
975
  [data-ui="bauhaus"][data-mode] .bau-sheet[data-mode="light"] .bau-sidebar { border-right-color:var(--bau-on-warning) }
976
976
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-brand { align-items:center; display:flex; gap:10px; padding:0 18px 24px }
@@ -1005,9 +1005,9 @@
1005
1005
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-bottom-grid { grid-template-columns:5.6fr 2.05fr 4.15fr }
1006
1006
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero { background:var(--bau-surface); padding:0; position:relative }
1007
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 }
1008
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-eyebrow { color:var(--usk-primary-ink, var(--bau-primary)); font-family:var(--bau-font-heading); font-size:12px; font-weight:700; letter-spacing:0 }
1009
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 }
1010
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero h1 span { color:var(--usk-primary-ink, var(--bau-primary)); font-size:37px; letter-spacing:0 }
1011
1011
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-hero p { font-size:12px; font-weight:600; letter-spacing:0; max-width:350px }
1012
1012
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-inline-actions { display:flex; gap:8px; margin-top:24px }
1013
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 }
@@ -1017,7 +1017,7 @@
1017
1017
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-hover { background:var(--bau-primary-hover); transform:translate(-2px,-2px) }
1018
1018
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-secondary { background:transparent; border-color:var(--bau-border); color:var(--bau-text) }
1019
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) }
1020
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-button.is-ghost { background:transparent; border-color:transparent; color:var(--usk-primary-ink, var(--bau-primary)) }
1021
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
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
1023
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-actions { display:grid; gap:6px; grid-template-rows:auto repeat(7,1fr) }
@@ -1072,7 +1072,7 @@
1072
1072
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-input-icon.is-end>button svg { height:12px; width:12px }
1073
1073
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-field input[type="color"] { padding:2px }
1074
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 }
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(--usk-primary-ink, var(--bau-primary)); display:flex; font-size:12px; font-weight:700; gap:5px; height:27px; justify-content:center; text-transform:uppercase }
1076
1076
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-file>span:last-child svg { height:12px; width:12px }
1077
1077
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices fieldset { border:0; margin:0 0 7px; padding:0 }
1078
1078
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-choices legend { font-size:12px; font-weight:800; margin-bottom:4px }
@@ -1118,7 +1118,7 @@
1118
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
1119
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-loading { align-items:center; display:flex; flex-wrap:wrap; gap:.75rem }
1120
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 }
1121
+ [data-ui="bauhaus"][data-mode] .bau-sheet .bau-spinner { color:var(--usk-primary-ink, var(--bau-primary)); height:31px; width:31px }
1122
1122
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-spin { animation:bau-spin 1s linear infinite }
1123
1123
  [data-ui="bauhaus"][data-mode] .bau-sheet .bau-skeleton { display:grid; gap:5px }
1124
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 }
@@ -1285,7 +1285,7 @@
1285
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
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
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;
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(--usk-primary-ink, var(--bau-primary)); box-shadow: none; clip-path: none; animation: bau-spin 1s linear infinite;
1289
1289
  }
1290
1290
  .bau-spinner-sm { inline-size: 1rem; block-size: 1rem; }
1291
1291
  .bau-spinner-lg { inline-size: 2.5rem; block-size: 2.5rem; }
package/styles/bento.css CHANGED
@@ -396,7 +396,7 @@
396
396
  .bento-title, .bento-heading, .bento-kicker, .bento-button, .bento-badge, .bento-nav-link { font-family: var(--bento-font-heading); }
397
397
  .bento-title { margin: 0; color: var(--bento-text); font-size: clamp(2.1rem, 5.5vw, 3.9rem); font-weight: 800; line-height: 1.02; letter-spacing: -.045em; }
398
398
  .bento-heading { margin: 0; color: var(--bento-text); font-size: clamp(1.25rem, 2.75vw, 2.1rem); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; }
399
- .bento-kicker { margin: 0; color: var(--bento-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
399
+ .bento-kicker { margin: 0; color: var(--usk-primary-ink, var(--bento-primary)); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
400
400
  .bento-subtitle, .bento-copy { margin: 0; color: var(--bento-text-muted); line-height: 1.55; }
401
401
  .bento-text-muted { color: var(--bento-text-muted); }
402
402
  .bento-divider { width: 100%; height: 1px; border: 0; background: var(--bento-border); }
@@ -436,10 +436,10 @@
436
436
  .bento-button:active, .bento-icon-button:active, .bento-button[aria-pressed="true"], .bento-icon-button[aria-pressed="true"], .bento-button.is-active, .bento-icon-button.is-active { transform: translateY(1px); box-shadow: inset 0 2px 6px rgb(var(--bento-text-rgb) / .14); }
437
437
  .bento-button-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
438
438
  .bento-button-primary:hover { background: var(--bento-primary-hover); border-color: var(--bento-primary-hover); }
439
- .bento-button-secondary { background: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); color: var(--bento-primary); border-color: rgb(var(--bento-primary-rgb) / .32); box-shadow: none; }
439
+ .bento-button-secondary { background: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha)); color: var(--usk-primary-ink, var(--bento-primary)); border-color: rgb(var(--bento-primary-rgb) / .32); box-shadow: none; }
440
440
  .bento-button-secondary:hover { background: rgb(var(--bento-primary-rgb) / .06); border-color: rgb(var(--bento-primary-rgb) / .52); }
441
441
  .bento-button-danger { background: var(--bento-danger); color: var(--bento-on-danger); border-color: var(--bento-danger); }
442
- .bento-button-ghost { background: transparent; color: var(--bento-primary); border-color: transparent; box-shadow: none; }
442
+ .bento-button-ghost { background: transparent; color: var(--usk-primary-ink, var(--bento-primary)); border-color: transparent; box-shadow: none; }
443
443
  .bento-icon-button { width: 2.75rem; padding: 0; border-radius: var(--bento-control-radius); }
444
444
  .bento-button:disabled, .bento-icon-button:disabled, .bento-disabled { opacity: .55; cursor: not-allowed; transform: none; }
445
445
 
@@ -491,7 +491,7 @@
491
491
 
492
492
  .bento-badge { display: inline-flex; align-items: center; gap: var(--bento-space-1); min-height: 1.75rem; padding: .38rem .72rem; background: var(--bento-tile-secondary-bg); color: var(--bento-text); border: 1px solid var(--bento-tile-edge); border-radius: var(--bento-radius-sm); box-shadow: inset 0 1px 0 rgb(var(--bento-surface-strong-rgb) / .62); font-size: .8125rem; font-weight: 800; line-height: 1; }
493
493
  .bento-badge-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
494
- .bento-badge-secondary { background: rgb(var(--bento-primary-rgb) / .10); color: var(--bento-primary); border-color: transparent; }
494
+ .bento-badge-secondary { background: rgb(var(--bento-primary-rgb) / .10); color: var(--usk-primary-ink, var(--bento-primary)); border-color: transparent; }
495
495
  .bento-badge-success { background: rgb(var(--bento-success-rgb) / .14); color: var(--bento-success); border-color: transparent; }
496
496
  .bento-badge-warning { background: rgb(var(--bento-warning-rgb) / .14); color: var(--bento-warning); border-color: transparent; }
497
497
  .bento-badge-danger { background: rgb(var(--bento-danger-rgb) / .14); color: var(--bento-danger); border-color: transparent; }
@@ -531,7 +531,7 @@
531
531
  Utilities
532
532
  ========================================================= */
533
533
 
534
- .bento-text-primary { color: var(--bento-primary); } .bento-text-secondary { color: var(--bento-secondary); } .bento-text-accent { color: var(--bento-accent); } .bento-text-success { color: var(--bento-success); } .bento-text-warning { color: var(--bento-warning); } .bento-text-danger { color: var(--bento-danger); }
534
+ .bento-text-primary { color: var(--usk-primary-ink, var(--bento-primary)); } .bento-text-secondary { color: var(--bento-secondary); } .bento-text-accent { color: var(--usk-accent-ink, var(--bento-accent)); } .bento-text-success { color: var(--bento-success); } .bento-text-warning { color: var(--bento-warning); } .bento-text-danger { color: var(--bento-danger); }
535
535
  .bento-bg-primary { background: var(--bento-primary); color: var(--bento-on-primary); } .bento-bg-secondary { background: var(--bento-secondary); color: var(--bento-on-secondary); }
536
536
  .bento-border { border: 1px solid var(--bento-border); } .bento-rounded { border-radius: var(--bento-radius-md); } .bento-rounded-lg { border-radius: var(--bento-radius-lg); } .bento-rounded-xl { border-radius: var(--bento-radius-xl); } .bento-pill { border-radius: var(--bento-radius-pill); }
537
537
  .bento-sr-only, .bento-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@@ -558,7 +558,7 @@
558
558
  grid-row: auto;
559
559
  }
560
560
  .bento-stat { display: grid; gap: .25rem; }
561
- .bento-stat-value { color: var(--bento-primary); font-size: clamp(2rem, 4vw, 3rem); font-weight: 950; line-height: 1; }
561
+ .bento-stat-value { color: var(--usk-primary-ink, var(--bento-primary)); font-size: clamp(2rem, 4vw, 3rem); font-weight: 950; line-height: 1; }
562
562
  .bento-stat-label { color: var(--bento-text-muted); font-weight: 750; overflow-wrap: normal; word-break: normal; }
563
563
 
564
564
  @container (min-width: 34rem) {
@@ -666,7 +666,7 @@
666
666
  .bento-button.bento-button-outline-heavy,
667
667
  .bento-button-outline-heavy {
668
668
  background: transparent;
669
- color: var(--bento-primary);
669
+ color: var(--usk-primary-ink, var(--bento-primary));
670
670
  border-style: solid;
671
671
  border-width: 2px;
672
672
  border-color: var(--bento-primary);
@@ -736,7 +736,7 @@
736
736
 
737
737
  .bento-eyebrow {
738
738
  margin: 0;
739
- color: var(--bento-primary);
739
+ color: var(--usk-primary-ink, var(--bento-primary));
740
740
  font-family: var(--bento-font-heading);
741
741
  font-size: .76rem;
742
742
  font-weight: 900;
@@ -785,7 +785,7 @@
785
785
  .bento-card-feature { background: var(--bento-tile-accent-bg); border-radius: var(--bento-tile-radius); }
786
786
  .bento-icon-medallion {
787
787
  background: rgb(var(--bento-primary-rgb) / .10);
788
- color: var(--bento-primary);
788
+ color: var(--usk-primary-ink, var(--bento-primary));
789
789
  border: 1px solid rgb(var(--bento-primary-rgb) / .20);
790
790
  border-radius: var(--bento-radius-md);
791
791
  box-shadow: var(--bento-shadow-sm);
@@ -808,7 +808,7 @@
808
808
  }
809
809
  .bento-button.bento-button-outline-heavy, .bento-button-outline-heavy {
810
810
  background: rgb(var(--bento-surface-strong-rgb) / var(--bento-panel-alpha));
811
- color: var(--bento-primary);
811
+ color: var(--usk-primary-ink, var(--bento-primary));
812
812
  border-width: 1px;
813
813
  border-color: rgb(var(--bento-primary-rgb) / .32);
814
814
  border-radius: var(--bento-control-radius);
@@ -882,8 +882,8 @@
882
882
 
883
883
  @layer ui-style-kit.bento {
884
884
  /* Keeps semantic field states above preset-specific material paint. */
885
- .bento-input[aria-invalid="true"], .bento-textarea[aria-invalid="true"], .bento-select[aria-invalid="true"] { border-color: var(--bento-danger); box-shadow: 0 0 0 2px rgb(var(--bento-danger-rgb) / .18); }
886
- .bento-input[readonly], .bento-textarea[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
885
+ [data-ui="bento"][data-mode] :is(.bento-input, .bento-textarea, .bento-select)[aria-invalid="true"] { border-color: var(--bento-danger); box-shadow: 0 0 0 2px rgb(var(--bento-danger-rgb) / .18); }
886
+ [data-ui="bento"][data-mode] :is(.bento-input, .bento-textarea)[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
887
887
  }
888
888
 
889
889
  @layer ui-style-kit.bento {
@@ -999,7 +999,7 @@
999
999
  .bento-button-primary { background: var(--bento-primary); color: var(--bento-on-primary); border-color: var(--bento-primary); }
1000
1000
  .bento-button-secondary { background: var(--bento-secondary); color: var(--bento-on-secondary); border-color: var(--bento-secondary); }
1001
1001
  .bento-button-danger { background: var(--bento-danger); color: var(--bento-on-danger); border-color: var(--bento-danger); }
1002
- .bento-button-ghost { background: transparent; color: var(--bento-primary); border-color: transparent; }
1002
+ .bento-button-ghost { background: transparent; color: var(--usk-primary-ink, var(--bento-primary)); border-color: transparent; }
1003
1003
  }
1004
1004
 
1005
1005
  @layer ui-style-kit.bento {
@@ -1064,7 +1064,7 @@
1064
1064
  }
1065
1065
 
1066
1066
  [data-ui=bento][data-mode] .bento-panel > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 11px; }
1067
- [data-ui=bento][data-mode] .bento-panel > header > svg { color: var(--bento-mosaic-primary); height: 17px; width: 17px; }
1067
+ [data-ui=bento][data-mode] .bento-panel > header > svg { color: var(--usk-primary-ink, var(--bento-mosaic-primary)); height: 17px; width: 17px; }
1068
1068
 
1069
1069
  [data-ui=bento][data-mode] .bento-sidebar {
1070
1070
  background: var(--bento-mosaic-panel);
@@ -1086,7 +1086,7 @@
1086
1086
  background: var(--bento-mosaic-primary-soft);
1087
1087
  border: 1px solid var(--bento-mosaic-primary);
1088
1088
  border-radius: 8px;
1089
- color: var(--bento-mosaic-primary);
1089
+ color: var(--usk-primary-ink, var(--bento-mosaic-primary));
1090
1090
  display: flex;
1091
1091
  height: 30px;
1092
1092
  justify-content: center;
@@ -1188,9 +1188,9 @@
1188
1188
  [data-ui=bento][data-mode] .bento-hero { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-border); padding: 0; position: relative; }
1189
1189
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-border); }
1190
1190
  [data-ui=bento][data-mode] .bento-hero-copy { left: 40px; position: absolute; top: 55px; z-index: 2; }
1191
- [data-ui=bento][data-mode] .bento-eyebrow { color: var(--bento-mosaic-primary); font-size: 12px; font-weight: 800; letter-spacing: 0; }
1191
+ [data-ui=bento][data-mode] .bento-eyebrow { color: var(--usk-primary-ink, var(--bento-mosaic-primary)); font-size: 12px; font-weight: 800; letter-spacing: 0; }
1192
1192
  [data-ui=bento][data-mode] .bento-hero h1 { font-size: 50px; font-weight: 850; letter-spacing: 0; line-height: 1.08; margin: 11px 0 14px; }
1193
- [data-ui=bento][data-mode] .bento-hero h1 span { color: var(--bento-mosaic-primary); }
1193
+ [data-ui=bento][data-mode] .bento-hero h1 span { color: var(--usk-primary-ink, var(--bento-mosaic-primary)); }
1194
1194
  [data-ui=bento][data-mode] .bento-hero p { color: var(--bento-mosaic-muted); font-size: 13px; max-width: 270px; }
1195
1195
  [data-ui=bento][data-mode] .bento-inline-actions { display: flex; gap: 10px; margin-top: 20px; }
1196
1196
  [data-ui=bento][data-mode] .bento-hero-art { height: 345px; object-fit: contain; object-position: center; position: absolute; right: -30px; top: 20px; transform: rotate(-3deg); width: 420px; z-index: 1; }
@@ -1199,7 +1199,7 @@
1199
1199
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { display: block; }
1200
1200
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { height: 300px; right: -10px; top: 40px; width: 300px; }
1201
1201
 
1202
- [data-ui=bento][data-mode] .bento-button {
1202
+ [data-ui=bento][data-mode] :is(.bento-button, .bento-icon-button) {
1203
1203
  align-items: center;
1204
1204
  background: var(--bento-mosaic-panel-soft);
1205
1205
  border: 1px solid var(--bento-mosaic-line);
@@ -1218,10 +1218,10 @@
1218
1218
  [data-ui=bento][data-mode] .bento-button.is-hover,
1219
1219
  [data-ui=bento][data-mode] .bento-button.is-busy { background: var(--bento-mosaic-primary); border-color: var(--bento-mosaic-primary); color: var(--bento-on-primary); }
1220
1220
  [data-ui=bento][data-mode] .bento-button.is-hover { background: var(--bento-mosaic-primary-hover); box-shadow: 0 8px 18px var(--bento-mosaic-primary); }
1221
- [data-ui=bento][data-mode] .bento-button.is-secondary { background: transparent; border-color: var(--bento-mosaic-primary); color: var(--bento-mosaic-primary); }
1221
+ [data-ui=bento][data-mode] .bento-button.is-secondary { background: transparent; border-color: var(--bento-mosaic-primary); color: var(--usk-primary-ink, var(--bento-mosaic-primary)); }
1222
1222
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-button.is-secondary { border-color: var(--bento-border); color: var(--bento-link); }
1223
1223
  [data-ui=bento][data-mode] .bento-button.is-danger { background: var(--bento-mosaic-danger-soft); border-color: var(--bento-mosaic-danger); color: var(--bento-mosaic-danger); }
1224
- [data-ui=bento][data-mode] .bento-button.is-ghost { background: transparent; border-color: transparent; color: var(--bento-mosaic-primary); }
1224
+ [data-ui=bento][data-mode] .bento-button.is-ghost { background: transparent; border-color: transparent; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); }
1225
1225
  [data-ui=bento][data-mode] .bento-button:disabled { color: var(--bento-mosaic-faint); cursor: not-allowed; opacity: 0.62; }
1226
1226
 
1227
1227
  [data-ui=bento][data-mode] .bento-actions { display: grid; gap: 5px; grid-template-rows: auto repeat(7, 1fr); }
@@ -1302,7 +1302,7 @@
1302
1302
  [data-ui=bento][data-mode] .bento-input-icon.is-end > button svg { height: 12px; width: 12px; }
1303
1303
  [data-ui=bento][data-mode] .bento-field input[type="color"] { padding: 2px; }
1304
1304
  [data-ui=bento][data-mode] .bento-file input { height: 26px; opacity: 0; position: absolute; top: 12px; z-index: 2; }
1305
- [data-ui=bento][data-mode] .bento-file > span:last-child { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px dashed var(--bento-mosaic-line-strong); border-radius: 6px; color: var(--bento-mosaic-primary); display: flex; font-size: 12px; font-weight: 750; gap: 5px; height: 26px; justify-content: center; }
1305
+ [data-ui=bento][data-mode] .bento-file > span:last-child { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px dashed var(--bento-mosaic-line-strong); border-radius: 6px; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); display: flex; font-size: 12px; font-weight: 750; gap: 5px; height: 26px; justify-content: center; }
1306
1306
  [data-ui=bento][data-mode] .bento-file > span:last-child svg { height: 12px; width: 12px; }
1307
1307
 
1308
1308
  [data-ui=bento][data-mode] .bento-choices fieldset { border: 0; margin: 0 0 7px; padding: 0; }
@@ -1327,10 +1327,10 @@
1327
1327
 
1328
1328
  [data-ui=bento][data-mode] .bento-segment { background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 7px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 2px; }
1329
1329
  [data-ui=bento][data-mode] .bento-segment button { background: transparent; border: 0; border-radius: 5px; color: var(--bento-mosaic-muted); font-size: 12px; min-height: 24px; }
1330
- [data-ui=bento][data-mode] .bento-segment button.is-active { background: var(--bento-mosaic-panel-raised); box-shadow: 0 2px 8px rgba(24, 35, 72, 0.1); color: var(--bento-mosaic-primary); font-weight: 800; }
1330
+ [data-ui=bento][data-mode] .bento-segment button.is-active { background: var(--bento-mosaic-panel-raised); box-shadow: 0 2px 8px rgba(24, 35, 72, 0.1); color: var(--usk-primary-ink, var(--bento-mosaic-primary)); font-weight: 800; }
1331
1331
 
1332
1332
  [data-ui=bento][data-mode] .bento-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 11px; }
1333
- [data-ui=bento][data-mode] .bento-status { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 5px; color: var(--bento-mosaic-primary); display: inline-flex; font-size: 12px; font-weight: 800; min-height: 22px; padding: 0 8px; white-space: nowrap; }
1333
+ [data-ui=bento][data-mode] .bento-status { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 5px; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); display: inline-flex; font-size: 12px; font-weight: 800; min-height: 22px; padding: 0 8px; white-space: nowrap; }
1334
1334
  [data-ui=bento][data-mode] .bento-status.is-violet { background: var(--bento-mosaic-violet-soft); color: var(--bento-mosaic-violet); }
1335
1335
  [data-ui=bento][data-mode] .bento-status.is-success { background: var(--bento-mosaic-success-soft); color: var(--bento-mosaic-success); }
1336
1336
  [data-ui=bento][data-mode] .bento-status.is-warning { background: var(--bento-mosaic-warning-soft); color: var(--bento-mosaic-warning); }
@@ -1361,13 +1361,13 @@
1361
1361
  [data-ui=bento][data-mode] .bento-tooltip > header,
1362
1362
  [data-ui=bento][data-mode] .bento-loading > header { margin-bottom: 7px; }
1363
1363
  [data-ui=bento][data-mode] .bento-tooltip { overflow: visible; position: relative; z-index: 4; }
1364
- [data-ui=bento][data-mode] .bento-tooltip > button { align-items: center; background: var(--bento-mosaic-primary-soft); border: 0; border-radius: 50%; color: var(--bento-mosaic-primary); display: flex; height: 23px; justify-content: center; width: 23px; }
1364
+ [data-ui=bento][data-mode] .bento-tooltip > button { align-items: center; background: var(--bento-mosaic-primary-soft); border: 0; border-radius: 50%; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); display: flex; height: 23px; justify-content: center; width: 23px; }
1365
1365
  [data-ui=bento][data-mode] .bento-tooltip > button svg { height: 13px; width: 13px; }
1366
1366
  [data-ui=bento][data-mode] .bento-tooltip [role="tooltip"] { background: var(--bento-tooltip-bg); border: 1px solid var(--bento-border); border-radius: 7px; bottom: 11px; color: var(--bento-on-primary); font-size: 12px; left: 41px; line-height: 1.5; padding: 9px; position: absolute; width: 102px; }
1367
1367
 
1368
1368
  [data-ui=bento][data-mode] .bento-loading { align-items: center; display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto 1fr; }
1369
1369
  [data-ui=bento][data-mode] .bento-loading > header { width: 100%; }
1370
- [data-ui=bento][data-mode] .bento-spinner { color: var(--bento-mosaic-primary); height: 31px; width: 31px; }
1370
+ [data-ui=bento][data-mode] .bento-spinner { color: var(--usk-primary-ink, var(--bento-mosaic-primary)); height: 31px; width: 31px; }
1371
1371
  [data-ui=bento][data-mode] .bento-spin { animation: bento-mosaic-spin 1s linear infinite; }
1372
1372
  @keyframes bento-mosaic-spin { to { transform: rotate(360deg); } }
1373
1373
  [data-ui=bento][data-mode] .bento-skeleton { display: grid; gap: 5px; }
@@ -1407,11 +1407,11 @@
1407
1407
  [data-ui=bento][data-mode] .bento-table-panel > footer { align-items: center; color: var(--bento-mosaic-muted); display: flex; font-size: 12px; justify-content: space-between; padding-top: 9px; }
1408
1408
  [data-ui=bento][data-mode] .bento-table-panel > footer nav { display: flex; gap: 4px; }
1409
1409
  [data-ui=bento][data-mode] .bento-table-panel > footer nav button { align-items: center; background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 6px; display: flex; font-size: 12px; height: 26px; justify-content: center; padding: 0; width: 26px; }
1410
- [data-ui=bento][data-mode] .bento-table-panel > footer nav button.is-active { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-mosaic-primary); color: var(--bento-mosaic-primary); font-weight: 800; }
1410
+ [data-ui=bento][data-mode] .bento-table-panel > footer nav button.is-active { background: var(--bento-mosaic-primary-soft); border-color: var(--bento-mosaic-primary); color: var(--usk-primary-ink, var(--bento-mosaic-primary)); font-weight: 800; }
1411
1411
 
1412
1412
  [data-ui=bento][data-mode] .bento-service-card { display: flex; flex-direction: column; }
1413
1413
  [data-ui=bento][data-mode] .bento-service-card > header { align-items: center; justify-content: flex-start; }
1414
- [data-ui=bento][data-mode] .bento-service-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 9px; color: var(--bento-mosaic-primary); display: flex; height: 38px; justify-content: center; width: 38px; }
1414
+ [data-ui=bento][data-mode] .bento-service-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border: 1px solid var(--bento-mosaic-primary); border-radius: 9px; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); display: flex; height: 38px; justify-content: center; width: 38px; }
1415
1415
  [data-ui=bento][data-mode] .bento-service-icon svg { height: 22px; width: 22px; }
1416
1416
  [data-ui=bento][data-mode] .bento-service-card > header > div { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; }
1417
1417
  [data-ui=bento][data-mode] .bento-service-card > header .bento-status { min-height: 18px; padding-inline: 5px; }
@@ -1424,7 +1424,7 @@
1424
1424
  [data-ui=bento][data-mode] .bento-listbox { background: var(--bento-mosaic-panel-soft); border: 1px solid var(--bento-mosaic-line); border-radius: 8px; display: grid; margin-bottom: 8px; overflow: hidden; }
1425
1425
  [data-ui=bento][data-mode] .bento-listbox button { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--bento-mosaic-line); display: flex; font-size: 12px; justify-content: space-between; min-height: 27px; padding: 0 8px; text-align: left; }
1426
1426
  [data-ui=bento][data-mode] .bento-listbox button:last-child { border-bottom: 0; }
1427
- [data-ui=bento][data-mode] .bento-listbox button[aria-selected="true"] { color: var(--bento-mosaic-primary); font-weight: 800; }
1427
+ [data-ui=bento][data-mode] .bento-listbox button[aria-selected="true"] { color: var(--usk-primary-ink, var(--bento-mosaic-primary)); font-weight: 800; }
1428
1428
  [data-ui=bento][data-mode] .bento-listbox button svg { height: 12px; width: 12px; }
1429
1429
  [data-ui=bento][data-mode] .bento-service-card details { color: var(--bento-mosaic-muted); font-size: 12px; margin-bottom: 8px; }
1430
1430
  [data-ui=bento][data-mode] .bento-service-card summary { align-items: center; color: var(--bento-mosaic-text); cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; }
@@ -1444,7 +1444,7 @@
1444
1444
  [data-ui=bento][data-mode] .bento-dialog-surface dialog:not([open]) { display: none; }
1445
1445
  [data-ui=bento][data-mode] .bento-dialog-close { background: transparent; border: 0; color: var(--bento-mosaic-muted); padding: 0; position: absolute; right: 13px; top: 13px; }
1446
1446
  [data-ui=bento][data-mode] .bento-dialog-close svg { height: 15px; width: 15px; }
1447
- [data-ui=bento][data-mode] .bento-dialog-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border-radius: 9px; color: var(--bento-mosaic-primary); display: flex; height: 38px; justify-content: center; margin-bottom: 13px; width: 38px; }
1447
+ [data-ui=bento][data-mode] .bento-dialog-icon { align-items: center; background: var(--bento-mosaic-primary-soft); border-radius: 9px; color: var(--usk-primary-ink, var(--bento-mosaic-primary)); display: flex; height: 38px; justify-content: center; margin-bottom: 13px; width: 38px; }
1448
1448
  [data-ui=bento][data-mode] .bento-dialog-icon svg { height: 21px; width: 21px; }
1449
1449
  [data-ui=bento][data-mode] .bento-dialog-surface h2 { font-size: 15px; }
1450
1450
  [data-ui=bento][data-mode] .bento-dialog-surface p { color: var(--bento-mosaic-muted); font-size: 12px; margin: 9px 0 18px; }
@@ -1520,7 +1520,12 @@
1520
1520
  --bento-fallback-focus-rgb: 122 107 233;
1521
1521
  --bento-success-ink: var(--bento-success);
1522
1522
  }
1523
- [data-ui="bento"][data-mode] {
1523
+ /**
1524
+ * Keeps Soft Mosaic reference overrides inside the retained reference sheet.
1525
+ * The canonical Bento and native-element tokens continue to use the public
1526
+ * preset material outside that specimen.
1527
+ */
1528
+ [data-ui="bento"][data-mode] .bento-sheet {
1524
1529
  --bento-panel-alpha: 1;
1525
1530
  --bento-panel-soft-alpha: 1;
1526
1531
  --bento-border-alpha: 1;
@@ -1675,7 +1680,8 @@
1675
1680
  [data-ui=bento][data-mode] .bento-loading-spinner,
1676
1681
  [data-ui=bento][data-mode] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]),
1677
1682
  [data-ui=bento][data-mode] .bento-sheet .bento-spinner { border: 2px solid currentColor; border-top-color: transparent; background: transparent; clip-path: none; border-radius: 50%; box-shadow: none; animation: bento-mosaic-spin 1s linear infinite; width: 28px; height: 28px; inline-size: 28px; block-size: 28px; flex: 0 0 auto; }
1678
- [data-ui=bento][data-mode] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) { color: var(--bento-spinner-stroke); }
1683
+ /** Keeps semantic spinner paint aligned with the prefixed readable ink treatment. */
1684
+ [data-ui=bento][data-mode] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) { color: var(--usk-primary-ink, var(--bento-spinner-stroke)); }
1679
1685
  [data-ui=bento][data-mode] .bento-spinner-sm { width: 16px; height: 16px; inline-size: 16px; block-size: 16px; }
1680
1686
  [data-ui=bento][data-mode] .bento-spinner-lg { width: 40px; height: 40px; inline-size: 40px; block-size: 40px; }
1681
1687
  /** Keeps native busy controls on the same Soft Mosaic ring as authored button aliases. */
@@ -472,7 +472,7 @@
472
472
 
473
473
  .brutal-title { margin: 0; font-size: clamp(2rem, 6vw, 4.25rem); line-height: 0.95; letter-spacing: -0.04em; color: var(--brutal-text); text-shadow: 4px 4px 0 var(--brutal-accent); }
474
474
  .brutal-heading { margin: 0; font-size: clamp(1.25rem, 3vw, 2rem); line-height: 1.05; letter-spacing: -0.02em; }
475
- .brutal-kicker { margin: 0; color: var(--brutal-primary); font-size: 0.85rem; font-weight: 900; letter-spacing: 0.12em; }
475
+ .brutal-kicker { margin: 0; color: var(--usk-primary-ink, var(--brutal-primary)); font-size: 0.85rem; font-weight: 900; letter-spacing: 0.12em; }
476
476
  .brutal-subtitle, .brutal-copy { margin: 0; color: var(--brutal-text-muted); line-height: 1.6; }
477
477
  .brutal-text-muted { color: var(--brutal-text-muted); }
478
478
 
@@ -556,7 +556,7 @@
556
556
  .brutal-table-wrap { overflow: auto; box-shadow: 8px 8px 0 var(--brutal-primary); }
557
557
  .brutal-table { width: 100%; border-collapse: collapse; } .brutal-table th, .brutal-table td { padding: 0.9rem 1rem; border: 2px solid var(--brutal-border); text-align: left; } .brutal-table th { background: var(--brutal-primary); color: var(--brutal-on-primary); text-transform: uppercase; }
558
558
 
559
- .brutal-text-primary { color: var(--brutal-primary); } .brutal-text-secondary { color: var(--brutal-secondary); } .brutal-text-accent { color: var(--brutal-accent); } .brutal-text-success { color: var(--brutal-success); } .brutal-text-warning { color: var(--brutal-warning); } .brutal-text-danger { color: var(--brutal-danger); }
559
+ .brutal-text-primary { color: var(--usk-primary-ink, var(--brutal-primary)); } .brutal-text-secondary { color: var(--brutal-secondary); } .brutal-text-accent { color: var(--usk-accent-ink, var(--brutal-accent)); } .brutal-text-success { color: var(--brutal-success); } .brutal-text-warning { color: var(--brutal-warning); } .brutal-text-danger { color: var(--brutal-danger); }
560
560
  .brutal-bg-primary { background: var(--brutal-primary); color: var(--brutal-on-primary); } .brutal-bg-secondary { background: var(--brutal-secondary); color: var(--brutal-on-secondary); }
561
561
 
562
562
  [data-ui="brutalism"] :focus-visible { outline: 4px solid var(--brutal-focus); outline-offset: 3px; }
@@ -630,7 +630,7 @@
630
630
  .brutal-button.brutal-button-outline-heavy,
631
631
  .brutal-button-outline-heavy {
632
632
  background: transparent;
633
- color: var(--brutal-primary);
633
+ color: var(--usk-primary-ink, var(--brutal-primary));
634
634
  border-style: solid;
635
635
  border-width: 2px;
636
636
  border-color: var(--brutal-primary);
@@ -700,7 +700,7 @@
700
700
 
701
701
  .brutal-eyebrow {
702
702
  margin: 0;
703
- color: var(--brutal-primary);
703
+ color: var(--usk-primary-ink, var(--brutal-primary));
704
704
  font-family: var(--brutal-font-heading);
705
705
  font-size: .76rem;
706
706
  font-weight: 900;
@@ -893,7 +893,7 @@
893
893
  .brutal-button-primary { background: var(--brutal-primary); color: var(--brutal-on-primary); border-color: var(--brutal-primary); }
894
894
  .brutal-button-secondary { background: var(--brutal-secondary); color: var(--brutal-on-secondary); border-color: var(--brutal-secondary); }
895
895
  .brutal-button-danger { background: var(--brutal-danger); color: var(--brutal-on-danger); border-color: var(--brutal-danger); }
896
- .brutal-button-ghost { background: transparent; color: var(--brutal-primary); border-color: transparent; }
896
+ .brutal-button-ghost { background: transparent; color: var(--usk-primary-ink, var(--brutal-primary)); border-color: transparent; }
897
897
  }
898
898
 
899
899
  @layer ui-style-kit.brutalism {
package/styles/clay.css CHANGED
@@ -387,7 +387,7 @@
387
387
  .clay-title, .clay-heading, .clay-kicker, .clay-button, .clay-badge, .clay-nav-link { font-family: var(--clay-font-heading); }
388
388
  .clay-title { margin: 0; color: var(--clay-text); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -0.045em; }
389
389
  .clay-heading { margin: 0; color: var(--clay-text); font-size: clamp(1.2rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -0.03em; }
390
- .clay-kicker { margin: 0; color: var(--clay-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
390
+ .clay-kicker { margin: 0; color: var(--usk-primary-ink, var(--clay-primary)); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
391
391
  .clay-subtitle, .clay-copy { margin: 0; color: var(--clay-text-muted); line-height: 1.65; }
392
392
  .clay-text-muted { color: var(--clay-text-muted); }
393
393
  .clay-divider { width: 100%; height: 1px; border: 0; background: var(--clay-border); }
@@ -521,7 +521,7 @@
521
521
  Utilities
522
522
  ========================================================= */
523
523
 
524
- .clay-text-primary { color: var(--clay-primary); } .clay-text-secondary { color: var(--clay-secondary); } .clay-text-accent { color: var(--clay-accent); } .clay-text-success { color: var(--clay-success); } .clay-text-warning { color: var(--clay-warning); } .clay-text-danger { color: var(--clay-danger); }
524
+ .clay-text-primary { color: var(--usk-primary-ink, var(--clay-primary)); } .clay-text-secondary { color: var(--clay-secondary); } .clay-text-accent { color: var(--usk-accent-ink, var(--clay-accent)); } .clay-text-success { color: var(--clay-success); } .clay-text-warning { color: var(--clay-warning); } .clay-text-danger { color: var(--clay-danger); }
525
525
  .clay-bg-primary { background: var(--clay-primary); color: var(--clay-on-primary); } .clay-bg-secondary { background: var(--clay-secondary); color: var(--clay-on-secondary); }
526
526
  .clay-border { border: 1px solid var(--clay-border); } .clay-rounded { border-radius: var(--clay-radius-md); } .clay-rounded-lg { border-radius: var(--clay-radius-lg); } .clay-rounded-xl { border-radius: var(--clay-radius-xl); } .clay-pill { border-radius: var(--clay-radius-pill); }
527
527
  .clay-sr-only, .clay-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@@ -629,7 +629,7 @@
629
629
  .clay-button.clay-button-outline-heavy,
630
630
  .clay-button-outline-heavy {
631
631
  background: transparent;
632
- color: var(--clay-primary);
632
+ color: var(--usk-primary-ink, var(--clay-primary));
633
633
  border-style: solid;
634
634
  border-width: 2px;
635
635
  border-color: var(--clay-primary);
@@ -699,7 +699,7 @@
699
699
 
700
700
  .clay-eyebrow {
701
701
  margin: 0;
702
- color: var(--clay-primary);
702
+ color: var(--usk-primary-ink, var(--clay-primary));
703
703
  font-family: var(--clay-font-heading);
704
704
  font-size: .76rem;
705
705
  font-weight: 900;
@@ -1118,7 +1118,7 @@
1118
1118
  }
1119
1119
  .clay-button.clay-button-outline-heavy, .clay-button-outline-heavy {
1120
1120
  background-color: var(--clay-material-raised);
1121
- color: var(--clay-primary);
1121
+ color: var(--usk-primary-ink, var(--clay-primary));
1122
1122
  border: 2px solid var(--clay-primary);
1123
1123
  clip-path: var(--clay-chip-clip);
1124
1124
  }